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 }