default.nix (2702B)
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 configType = "hyprlang"; 31 settings = { 32 inherit (hmUserCfg.wayland.windowManager.hyprland.settings) 33 monitor 34 input 35 general 36 misc 37 ecosystem 38 decoration 39 animations 40 ; 41 windowrule = "float on, match:class ^gtkgreet$"; 42 layerrule = "blur on, match:namespace waybar"; 43 exec-once = "${lib.getExe pkgs.gtkgreet} -s ${pkgs.writeText "gtkgreet-style.css" '' 44 window, button, entry { 45 background: ${style.colors.bg.rgba}; 46 border: none; 47 box-shadow: none; 48 text-shadow: none; 49 } 50 label, window, button, entry { 51 color: #${style.colors.fg.hex}; 52 } 53 #command-selector arrow { 54 opacity: 0; 55 } 56 #clock { 57 margin-bottom: -48px; 58 opacity: 0; 59 } 60 ''} -c 'uwsm start hyprland-uwsm.desktop'; hyprctl dispatch exit"; 61 }; 62 }; 63 64 services.hyprpaper = { 65 enable = true; 66 settings = hmUserCfg.services.hyprpaper.settings; 67 }; 68 69 programs.waybar = { 70 enable = true; 71 systemd.enable = true; 72 73 inherit (hmUserCfg.programs.waybar) style; 74 75 settings = { 76 mainBar = { 77 inherit (hmUserCfg.programs.waybar.settings.mainBar) 78 layer 79 position 80 margin-left 81 margin-right 82 margin-top 83 height 84 "clock#date" 85 "clock" 86 "clock#utc" 87 battery 88 cpu 89 memory 90 "custom/disk" 91 ; 92 modules-center = [ 93 "clock#date" 94 "clock" 95 "clock#utc" 96 ]; 97 modules-right = [ 98 "battery" 99 "cpu" 100 "memory" 101 "custom/disk" 102 ]; 103 }; 104 }; 105 }; 106 }; 107 108 services.greetd = { 109 enable = true; 110 settings = { 111 default_session.command = "uwsm start hyprland-uwsm.desktop"; 112 }; 113 }; 114 }; 115 }