diff --git a/flake.lock b/flake.lock index 41cba8a..bab3cae 100644 --- a/flake.lock +++ b/flake.lock @@ -8,11 +8,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1712079060, - "narHash": "sha256-/JdiT9t+zzjChc5qQiF+jhrVhRt8figYH29rZO7pFe4=", + "lastModified": 1714136352, + "narHash": "sha256-BtWQ2Th/jamO1SlD+2ASSW5Jaf7JhA/JLpQHk0Goqpg=", "owner": "ryantm", "repo": "agenix", - "rev": "1381a759b205dff7a6818733118d02253340fd5e", + "rev": "24a7ea390564ccd5b39b7884f597cfc8d7f6f44e", "type": "github" }, "original": { @@ -186,11 +186,11 @@ "rust-analyzer-src": "rust-analyzer-src" }, "locked": { - "lastModified": 1713680591, - "narHash": "sha256-3pbv7UgAgetwz9YdjzIT/lZ6Rgj6wj6MR4mphBLyDjU=", + "lastModified": 1714890282, + "narHash": "sha256-0dRK2ChvkhWrLM6H3d4r+rXP/UDxTJ6Vkdr22uGb1H0=", "owner": "nix-community", "repo": "fenix", - "rev": "19aaa94a73cc670a4d87e84f0909966cd8f8cd79", + "rev": "24d83329e95a3bc48cbe9f3cd23813c210a25ea6", "type": "github" }, "original": { @@ -260,11 +260,11 @@ ] }, "locked": { - "lastModified": 1712014858, - "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", + "lastModified": 1714641030, + "narHash": "sha256-yzcRNDoyVP7+SCNX0wmuDju1NUCt8Dz9+lyUXEI0dbI=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", + "rev": "e5d10a24b66c3ea8f150e47dfdb0416ab7c3390e", "type": "github" }, "original": { @@ -282,11 +282,11 @@ ] }, "locked": { - "lastModified": 1709336216, - "narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=", + "lastModified": 1712014858, + "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2", + "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", "type": "github" }, "original": { @@ -354,11 +354,11 @@ ] }, "locked": { - "lastModified": 1710478346, - "narHash": "sha256-Xjf8BdnQG0tLhPMlqQdwCIjOp7Teox0DP3N/jjyiGM4=", + "lastModified": 1713898448, + "narHash": "sha256-6q6ojsp/Z9P2goqnxyfCSzFOD92T3Uobmj8oVAicUOs=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "64e7763d72c1e4c1e5e6472640615b6ae2d40fbf", + "rev": "c0302ec12d569532a6b6bd218f698bc402e93adc", "type": "github" }, "original": { @@ -395,11 +395,11 @@ ] }, "locked": { - "lastModified": 1713682182, - "narHash": "sha256-2RSqVmQMFmn6OjQ21SXnWC+HuSeqDLWLftRv/ZhEDZE=", + "lastModified": 1714900398, + "narHash": "sha256-H7XYHpjk1G6dkA3AnbYrKtaTFjcCE7ul6nUVlVQxtsA=", "owner": "nix-community", "repo": "home-manager", - "rev": "4cec20dbf5c0a716115745ae32531e34816ecbbe", + "rev": "fdaaf543bad047639ef0b356ea2e6caec2f1215c", "type": "github" }, "original": { @@ -461,26 +461,26 @@ "hyprland": { "inputs": { "hyprcursor": "hyprcursor", - "hyprland-protocols": "hyprland-protocols", "hyprlang": "hyprlang", "hyprwayland-scanner": "hyprwayland-scanner", "nixpkgs": "nixpkgs_2", "systems": "systems_2", - "wlroots": "wlroots", "xdph": "xdph" }, "locked": { - "lastModified": 1714822562, - "narHash": "sha256-1rSle8rxT6sf6vFa5HYIp5y/S187R7Uxwr5Wd0/kh3Q=", - "owner": "hyprwm", - "repo": "Hyprland", - "rev": "25964e5a2b633aed191915efa0de0489bf94dbb9", - "type": "github" + "lastModified": 1714915839, + "narHash": "sha256-HwrMGeMtYD2AXanipPSSzmc8IGZQsFVDotScXYztHNg=", + "ref": "refs/heads/main", + "rev": "589f758d947cb4e8b888d2da00076a9fb0a6d521", + "revCount": 4614, + "submodules": true, + "type": "git", + "url": "https://github.com/hyprwm/Hyprland" }, "original": { - "owner": "hyprwm", - "repo": "Hyprland", - "type": "github" + "submodules": true, + "type": "git", + "url": "https://github.com/hyprwm/Hyprland" } }, "hyprland-plugins": { @@ -495,11 +495,11 @@ ] }, "locked": { - "lastModified": 1714613493, - "narHash": "sha256-OhEh+iBiDRMnMNTWz5cHhfg+63+F71DKM2Xj9a21rw0=", + "lastModified": 1714916173, + "narHash": "sha256-XP9v42PdSBkP/JlllfZR/0FDD1PMAVqw+LhOi79g0MA=", "owner": "hyprwm", "repo": "hyprland-plugins", - "rev": "18daf37b7c4e6e51ca2bf8953ce4cff1c38ca725", + "rev": "d716d1221348b5bef9d13161876caa91a3e33705", "type": "github" }, "original": { @@ -512,19 +512,21 @@ "inputs": { "nixpkgs": [ "hyprland", + "xdph", "nixpkgs" ], "systems": [ "hyprland", + "xdph", "systems" ] }, "locked": { - "lastModified": 1691753796, - "narHash": "sha256-zOEwiWoXk3j3+EoF3ySUJmberFewWlagvewDRuWYAso=", + "lastModified": 1714869498, + "narHash": "sha256-vbLVOWvQqo4n1yvkg/Q70VTlPbMmTiCQfNTgcWDCfJM=", "owner": "hyprwm", "repo": "hyprland-protocols", - "rev": "0c2ce70625cb30aef199cb388f99e19a61a6ce03", + "rev": "e06482e0e611130cd1929f75e8c1cf679e57d161", "type": "github" }, "original": { @@ -593,11 +595,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1713650988, - "narHash": "sha256-YAbwiZkKxpbM+fdTVcXmp49XtHMDYQNng/wc9L85eZs=", + "lastModified": 1714860497, + "narHash": "sha256-o6iRn6GLH9GwA9opgUmqoqIvpfuUAhqrzt1ydxi2Pt4=", "owner": "neovim", "repo": "neovim", - "rev": "9e1bbb9813e0ea4e37f6325fe00e8f43617ef912", + "rev": "efb44e0cad294f51e330d57d7590d38de5cec62c", "type": "github" }, "original": { @@ -616,11 +618,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1713657840, - "narHash": "sha256-O99sOWro/5J4qWyIFZ3vEw+abLnzOv4jrfA7FaRoyrI=", + "lastModified": 1714867424, + "narHash": "sha256-tekhS8C242DvAWupClnda3ymXVRHGAwMIDIE06t8f50=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "3ad9c1eae733e9ba5cc73c6833e3d62dbc12df9e", + "rev": "71b2e5cde3307497ad57529083cc677eca33abba", "type": "github" }, "original": { @@ -678,11 +680,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1713596654, - "narHash": "sha256-LJbHQQ5aX1LVth2ST+Kkse/DRzgxlVhTL1rxthvyhZc=", + "lastModified": 1714750952, + "narHash": "sha256-oOUdvPrO8CbupgDSaPou+Jv6GL+uQA2QlE33D7OLzkM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fd16bb6d3bcca96039b11aa52038fafeb6e4f4be", + "rev": "5fd8536a9a5932d4ae8de52b7dc08d92041237fc", "type": "github" }, "original": { @@ -694,11 +696,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1713537308, - "narHash": "sha256-XtTSSIB2DA6tOv+l0FhvfDMiyCmhoRbNB+0SeInZkbk=", + "lastModified": 1714763106, + "narHash": "sha256-DrDHo74uTycfpAF+/qxZAMlP/Cpe04BVioJb6fdI0YY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5c24cf2f0a12ad855f444c30b2421d044120c66f", + "rev": "e9be42459999a253a9f92559b1f5b72e1b44c13d", "type": "github" }, "original": { @@ -726,11 +728,11 @@ }, "nur": { "locked": { - "lastModified": 1713692778, - "narHash": "sha256-F5rAsavZtY2epAl4DAz2KmYWii4gQ39uB8sqrLSWuO8=", + "lastModified": 1714905988, + "narHash": "sha256-mzrMNxQ/DXuwJEOeG+hn+o+SXBMTbJgGKSxcoHV11P4=", "owner": "nix-community", "repo": "NUR", - "rev": "5edf97f8cb76f16b6d7f3a53cfac7d2e3f40c510", + "rev": "57486a778b5614bbdfc96aad2b3585ef60f18c96", "type": "github" }, "original": { @@ -757,11 +759,11 @@ "rust-analyzer-src": { "flake": false, "locked": { - "lastModified": 1713628977, - "narHash": "sha256-iN5QUlUq527lswmBC+RopfXdu6Xx7mmTaBSH2l59FtM=", + "lastModified": 1714757194, + "narHash": "sha256-5PuPbEIUfXrW3u3wZqct22hcoc3K6XOhV3iEIp/wZTg=", "owner": "rust-lang", "repo": "rust-analyzer", - "rev": "55d9a533b309119c8acd13061581b43ae8840823", + "rev": "1a5bb27c018c947dab01ab70ffe1d267b0481a17", "type": "github" }, "original": { @@ -779,11 +781,11 @@ "nix-filter": "nix-filter" }, "locked": { - "lastModified": 1714562723, - "narHash": "sha256-eQi3ha6UCoLm8ioYpu191uqU9+/CnEO73Q/2Vn1h1Z4=", + "lastModified": 1714916397, + "narHash": "sha256-QbNRiHxo9VN+8pgeFuYjipvc/xsgn+Nh8ZqmKihvnX4=", "owner": "Duckonaut", "repo": "split-monitor-workspaces", - "rev": "d5754698402b6016035e75348a86169587980c96", + "rev": "b40147d96d62a9e9bbc56b18ea421211ee598357", "type": "github" }, "original": { @@ -865,29 +867,9 @@ "type": "github" } }, - "wlroots": { - "flake": false, - "locked": { - "lastModified": 1713731601, - "narHash": "sha256-bdcKdtLkusvv85DNuJsajZLFeq7bXp+x5AGP1Sd4wD8=", - "owner": "hyprwm", - "repo": "wlroots-hyprland", - "rev": "5c1d51c5a2793480f5b6c4341ad0797052aec2ea", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "wlroots-hyprland", - "rev": "5c1d51c5a2793480f5b6c4341ad0797052aec2ea", - "type": "github" - } - }, "xdph": { "inputs": { - "hyprland-protocols": [ - "hyprland", - "hyprland-protocols" - ], + "hyprland-protocols": "hyprland-protocols", "hyprlang": [ "hyprland", "hyprlang" diff --git a/flake.nix b/flake.nix index 1a656a2..92c8ee9 100644 --- a/flake.nix +++ b/flake.nix @@ -7,7 +7,7 @@ }; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; - hyprland.url = "github:hyprwm/Hyprland"; + hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; hyprland-plugins = { url = "github:hyprwm/hyprland-plugins"; diff --git a/hosts/vali/mars/configuration.nix b/hosts/vali/mars/configuration.nix index e75dde8..7fa6e3c 100644 --- a/hosts/vali/mars/configuration.nix +++ b/hosts/vali/mars/configuration.nix @@ -24,62 +24,11 @@ keep-derivations = true ''; }; - /* - stylix = { - image = ./2024-04-21-14-50.png; - polarity = "dark"; - autoEnable = true; - base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-soft.yaml"; - opacity = { - applications = 0.9; - popups = 0.9; - desktop = 0.9; - }; - targets = { - fish.enable = true; - grub.enable = true; - gtk.enable = true; - nixos-icons.enable = true; - plymouth.enable = true; - #emacs.enable = true; - firefox.enable = true; - kitty.enable = true; - lazygit.enable = true; - rofi.enable = true; - tmux.enable = true; - vim.enable = true; - zathura.enable = true; - }; - fonts = { - sizes = { - terminal = 14; - }; - sansSerif = { - package = pkgs.dejavu_fonts; - name = "DejaVu Sans"; - }; - monospace = { - package = (pkgs.nerdfonts.override {fonts = ["JetBrainsMono"];}); - name = "JetBrainsMono"; - }; - emoji = { - package = pkgs.noto-fonts-emoji; - name = "Noto Color Emoji"; - }; - }; - cursor = { - package = pkgs.bibata-cursors; - name = "Bibata-Modern-Classic"; - size = 24; - }; - }; - */ - security.sudo.package = pkgs.sudo.override { withInsults = true; }; security.polkit.enable = true; programs.kdeconnect.enable = true; programs.dconf.enable = true; - services.picom.enable = true; +# services.picom.enable = true; modules = { other = { system = { @@ -98,7 +47,7 @@ btop.enable = true; mpv.enable = true; kitty.enable = true; - awesome.enable = true; +# awesome.enable = true; hyprland.enable = true; newsboat.enable = true; emacs.enable = true; diff --git a/hosts/vali/mars/hyprland/hyprland.nix b/hosts/vali/mars/hyprland/hyprland.nix index 27eb565..5fcc4a8 100644 --- a/hosts/vali/mars/hyprland/hyprland.nix +++ b/hosts/vali/mars/hyprland/hyprland.nix @@ -44,9 +44,42 @@ in { "DP-2,1920x1080,0x0,1" "HDMI-A-2,1920x1080,1920x0,1" "DP-1,1920x1080,3480x0,1" + "Unknown-1,disable" ]; workspace = [ + "1, monitor:DP-2, default:true" + "2, monitor:DP-2" + "3, monitor:DP-2" + "4, monitor:DP-2" + "5, monitor:DP-2" + "6, monitor:DP-2" + "7, monitor:DP-2" + "8, monitor:DP-2" + "9, monitor:DP-2" + "10, monitor:DP-2" + "11, monitor:HDMI-A-2, default:true" + "12, monitor:HDMI-A-2" + "13, monitor:HDMI-A-2" + "14, monitor:HDMI-A-2" + "15, monitor:HDMI-A-2" + "16, monitor:HDMI-A-2" + "17, monitor:HDMI-A-2" + "18, monitor:HDMI-A-2" + "19, monitor:HDMI-A-2" + "20, monitor:HDMI-A-2" + + + "21, monitor:DP-1, default:true" + "22, monitor:DP-1" + "23, monitor:DP-1" + "24, monitor:DP-1" + "25, monitor:DP-1" + "26, monitor:DP-1" + "27, monitor:DP-1" + "28, monitor:DP-1" + "29, monitor:DP-1" + "30, monitor:DP-1" ]; input = { kb_layout = "de"; @@ -89,20 +122,26 @@ in { }; bezier = [ "dupa, 0.1, 0..9, 0.1, 1.05" + "apf,0.76,0,0.24,1" + "fast,0.34,1.56,0.64,1" ]; animations = { enabled = true; animation = [ "windows, 1, 4, dupa, popin" - "windowsOut, 1, 7, dupa, slide" + "windowsIn, 1, 4, fast, popin" + "windowsOut, 1, 4, fast, popin" "border, 1, 15, default" "fade, 1, 10, default" - "workspaces, 1, 5, dupa, slidevert" + "workspaces, 1, 5, dupa, slidefadevert" ]; }; dwindle = { no_gaps_when_only = true; }; + debug = { + disable_logs =false; + }; misc = { enable_swallow = false; swallow_regex = "kitty"; @@ -116,6 +155,7 @@ in { bind = [ "$mainMod, RETURN, exec, ${pkgs.kitty}/bin/kitty" "$mainMod, Q, killactive" + "$mainMod, F, fullscreen, 0" "$mainMod, D, exec, ${pkgs.procps}/bin/pkill anyrun || ${anyrun}/bin/anyrun" "$mainMod, SPACE, togglefloating, active" # workspaces @@ -128,7 +168,7 @@ in { "$mainMod, 7, split-workspace, 7" "$mainMod, 8, split-workspace, 8" "$mainMod, 9, split-workspace, 9" - "$mainMod, 10, split-workspace, 10" + "$mainMod, 0, split-workspace, 10" "$mainMod SHIFT, 1, split-movetoworkspacesilent, 1" "$mainMod SHIFT, 2, split-movetoworkspacesilent, 2" "$mainMod SHIFT, 3, split-movetoworkspacesilent, 3" @@ -138,8 +178,8 @@ in { "$mainMod SHIFT, 7, split-movetoworkspacesilent, 7" "$mainMod SHIFT, 8, split-movetoworkspacesilent, 8" "$mainMod SHIFT, 9, split-movetoworkspacesilent, 9" - "$mainMod SHIFT, 10, split-movetoworkspacesilent, 10" - ]; + "$mainMod SHIFT, 0, split-movetoworkspacesilent, 10" + ]; binde = [ # window focus "$mainMod, H, movefocus, l" @@ -159,7 +199,8 @@ in { plugin = { split-monitor-workspaces = { count = 10; - keep_focused = true; + keep_focused = 0; + enable_notifications = 0; }; }; }; @@ -191,7 +232,6 @@ in { dunst libnotify hyprpaper - rofi-wayland ]; }; } diff --git a/modules/gui/anyrun.nix b/modules/gui/anyrun.nix index a728c9b..c909c97 100644 --- a/modules/gui/anyrun.nix +++ b/modules/gui/anyrun.nix @@ -24,13 +24,72 @@ in { hideIcons = false; ignoreExclusiveZones = false; layer = "overlay"; - hidePluginInfo = false; + hidePluginInfo = true; closeOnClick = true; showResultsImmediately = true; maxEntries = 50; - width.fraction = 0.3; + width.fraction = 0.5; y.absolute = 15; }; + + extraCss = '' + @define-color bg-col rgba(30, 30, 46, 0.7); + @define-color bg-col-light rgba(150, 220, 235, 0.7); + @define-color border-col rgba(30, 30, 46, 0.7); + @define-color selected-col rgba(150, 205, 251, 0.7); + @define-color fg-col #D9E0EE; + @define-color fg-col2 #F28FAD; + + * { + transition: 200ms ease; + font-family: "JetBrainsMono Nerd Font"; + font-size: 1.0rem; + } + + #window { + background: transparent; + } + + #plugin, + #main { + border: 3px solid @border-col; + color: @fg-col; + background-color: @bg-col; + } + /* anyrun's input window - Text */ + #entry { + color: @fg-col; + background-color: @bg-col; + } + + /* anyrun's ouput matches entries - Base */ + #match { + color: @fg-col; + background: @bg-col; + } + + /* anyrun's selected entry - Red */ + #match:selected { + color: @fg-col2; + background: @selected-col; + } + + #match { + padding: 3px; + border-radius: 16px; + } + + #entry, #plugin:hover { + border-radius: 16px; + } + + box#main { + background: rgba(30, 30, 46, 0.7); + border: 1px solid @border-col; + border-radius: 15px; + padding: 5px; + } + ''; }; }; }; diff --git a/modules/gui/stylix.nix b/modules/gui/stylix.nix index a902d53..596f7cf 100644 --- a/modules/gui/stylix.nix +++ b/modules/gui/stylix.nix @@ -8,9 +8,6 @@ in { config = mkIf cfg.enable { home-manager.users.${username} = { stylix = { - autoEnable = true; - base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-soft.yaml"; - polarity = "dark"; targets = { btop.enable = true; fish.enable = true; @@ -26,35 +23,11 @@ in { hyprland.enable = true; }; - opacity = { - applications = 0.9; - popups = 0.9; - desktop = 0.9; - }; - - fonts = { - sizes = { - terminal = 14; - popups = 14; - - }; - sansSerif = { - package = pkgs.dejavu_fonts; - name = "DejaVu Sans"; - }; - monospace = { - package = (pkgs.nerdfonts.override {fonts = ["JetBrainsMono"];}); - name = "JetBrainsMono"; - }; - emoji = { - package = pkgs.noto-fonts-emoji; - name = "Noto Color Emoji"; - }; - }; - }; }; stylix = { + autoEnable = true; + base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-soft.yaml"; polarity = "dark"; image = ../../hosts/vali/mars/2024-04-21-14-50.png; cursor = { @@ -62,6 +35,31 @@ in { name = "Bibata-Modern-Classic"; size = 24; }; + opacity = { + applications = 0.7; + popups = 0.7; + desktop = 0.7; + }; + fonts = { + sizes = { + terminal = 14; + popups = 14; + + }; + sansSerif = { + package = pkgs.dejavu_fonts; + name = "DejaVu Sans"; + }; + monospace = { + package = (pkgs.nerdfonts.override {fonts = ["JetBrainsMono"];}); + name = "JetBrainsMono"; + }; + emoji = { + package = pkgs.noto-fonts-emoji; + name = "Noto Color Emoji"; + }; + }; + }; }; } diff --git a/modules/gui/vesktop.nix b/modules/gui/vesktop.nix index d6df275..e1a652a 100644 --- a/modules/gui/vesktop.nix +++ b/modules/gui/vesktop.nix @@ -267,7 +267,6 @@ in { theme = "https://raw.githubusercontent.com/shikijs/shiki/0b28ad8ccfbf2615f2d9d38ea8255416b8ac3043/packages/shiki/themes/dark-plus.json"; tryHljs = "SECONDARY"; uesDevIcon = "GREYSCALE"; - bgOpacity = 100; }; ShowAllMessageButtons.enabled = true; ShowConnections = { diff --git a/modules/services/default.nix b/modules/services/default.nix index 433a36b..bb236b3 100644 --- a/modules/services/default.nix +++ b/modules/services/default.nix @@ -2,5 +2,6 @@ _: { imports = [ ./pipewire.nix ./ssh.nix + ./greetd.nix ]; } diff --git a/modules/services/greetd.nix b/modules/services/greetd.nix new file mode 100644 index 0000000..297500c --- /dev/null +++ b/modules/services/greetd.nix @@ -0,0 +1,46 @@ +{ config, inputs, lib, pkgs, ... }: +with lib; let + cfg = config.modules.services.greetd; + inherit (config.modules.other.system) username; + + hyprlandConfig = pkgs.writeText "greetd-hyprland-config" '' + misc { + force_default_wallpaper=0 + focus_on_activate=1 + } + + animations { + enabled=0 + first_launch_animation=0 + } + + workspace=1,default:true,gapsout:0,gapsin:0,border:false,decorate:false + + #exec-once=[workspace 1;fullscreen;noanim] ${pkgs.greetd.${cfg.greeter}}/bin/${cfg.greeter} -l; ${inputs.hyprland.packages.${pkgs.system}.hyprland}/bin/hyprctl dispatch exit + #exec-once=${inputs.hyprland.packages.${pkgs.system}.hyprland}/bin/hyprctl dispatch focuswindow ${cfg.greeter} + ''; +in { + options.modules.services.greetd = { + enable = mkEnableOption "greetd"; + greeter = mkOption { + description = "greetd frontend to use"; + type = types.str; + }; + launchOptions = mkOption { + description = "/etc/greetd/environments as list of strings"; + type = with types; listOf str; + }; + }; + + config = mkIf cfg.enable { + services.greetd = { + enable = true; + settings.default_session = { + command = "${inputs.hyprland.packages.${pkgs.system}.hyprland}/bin/Hyprland --config ${hyprlandConfig}"; + user = username; + }; + }; + + environment.etc."greetd/environments".text = concatStringsSep "\n" cfg.launchOptions; + }; +}