dot

NixOS dotfiles
git clone https://git.echoz.io/dot.git
Log | Files | Refs

default.nix (2653B)


      1 {
      2   lib,
      3   config,
      4   pkgs,
      5 
      6   style,
      7   user,
      8   ...
      9 }:
     10 let
     11   hmUserCfg = config.home-manager.users.${user};
     12 in
     13 {
     14   config = {
     15     users.users.greeter = {
     16       createHome = true;
     17       home = "/var/greeter";
     18     };
     19 
     20     home-manager.users.greeter = {
     21       home = {
     22         stateVersion = config.system.stateVersion;
     23         pointerCursor = hmUserCfg.home.pointerCursor;
     24       };
     25 
     26       wayland.windowManager.hyprland = {
     27         enable = true;
     28         package = null;
     29         portalPackage = null;
     30         settings = {
     31           inherit (hmUserCfg.wayland.windowManager.hyprland.settings)
     32             monitor
     33             input
     34             general
     35             misc
     36             ecosystem
     37             decoration
     38             animations
     39             ;
     40           windowrule = "float on, match:class ^gtkgreet$";
     41           layerrule = "blur on, match:namespace waybar";
     42           exec-once = "${lib.getExe pkgs.gtkgreet} -s ${pkgs.writeText "gtkgreet-style.css" ''
     43             window, button, entry {
     44               background: ${style.colors.bg.rgba};
     45               border: none;
     46               box-shadow: none;
     47               text-shadow: none;
     48             }
     49             label, window, button, entry {
     50               color: #${style.colors.fg.hex};
     51             }
     52             #command-selector arrow {
     53               opacity: 0;
     54             }
     55             #clock {
     56               margin-bottom: -48px;
     57               opacity: 0;
     58             }
     59           ''} -c 'uwsm start hyprland-uwsm.desktop'; hyprctl dispatch exit";
     60         };
     61       };
     62 
     63       services.hyprpaper = {
     64         enable = true;
     65         settings = hmUserCfg.services.hyprpaper.settings;
     66       };
     67 
     68       programs.waybar = {
     69         enable = true;
     70         systemd.enable = true;
     71 
     72         inherit (hmUserCfg.programs.waybar) style;
     73 
     74         settings = {
     75           mainBar = {
     76             inherit (hmUserCfg.programs.waybar.settings.mainBar)
     77               layer
     78               position
     79               margin-left
     80               margin-right
     81               margin-top
     82               height
     83               "clock#date"
     84               "clock"
     85               "clock#utc"
     86               battery
     87               cpu
     88               memory
     89               disk
     90               ;
     91             modules-center = [
     92               "clock#date"
     93               "clock"
     94               "clock#utc"
     95             ];
     96             modules-right = [
     97               "battery"
     98               "cpu"
     99               "memory"
    100               "disk"
    101             ];
    102           };
    103         };
    104       };
    105     };
    106 
    107     services.greetd = {
    108       enable = true;
    109       settings = {
    110         default_session.command = "uwsm start hyprland-uwsm.desktop";
    111       };
    112     };
    113   };
    114 }