From 771c3618bc22a17d3bbaaeeb17970efe9cab8c17 Mon Sep 17 00:00:00 2001 From: Drew Haven Date: Thu, 24 Apr 2025 10:56:32 -0700 Subject: [PATCH] [hyprland] Uses mainline packages, updates config as necessary --- flake.lock | 474 +----------------- flake.nix | 35 +- .../eww/config/primary-statusbar.yuck | 2 +- .../features/eww/config/scripts/workspaces.sh | 6 +- .../eww/config/secondary-statusbar.yuck | 2 +- home-manager/features/hyprland.nix | 93 ++-- system/hosts/altair/configuration.nix | 5 +- system/hosts/altair/drew.nix | 2 +- system/hosts/mcp/default.nix | 36 +- system/hosts/vega/drew.nix | 22 +- 10 files changed, 104 insertions(+), 573 deletions(-) diff --git a/flake.lock b/flake.lock index b2a8547..9d0f73a 100644 --- a/flake.lock +++ b/flake.lock @@ -1,80 +1,9 @@ { "nodes": { - "aquamarine": { - "inputs": { - "hyprutils": [ - "hyprland", - "hyprutils" - ], - "hyprwayland-scanner": [ - "hyprland", - "hyprwayland-scanner" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1743265529, - "narHash": "sha256-QbjP15/2N+VJl0b5jxrrTc+VOt39aU4XrDvtP0Lz5ik=", - "owner": "hyprwm", - "repo": "aquamarine", - "rev": "1d2dbd72c2bbaceab031c592d4810f744741d203", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "aquamarine", - "type": "github" - } - }, - "flake-compat": { - "flake": false, - "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "gitignore": { - "inputs": { - "nixpkgs": [ - "hyprland", - "pre-commit-hooks", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, "home-manager": { "inputs": { "nixpkgs": [ - "nixpkgs-unstable" + "nixpkgs-stable" ] }, "locked": { @@ -92,302 +21,6 @@ "type": "github" } }, - "hy3": { - "inputs": { - "hyprland": [ - "hyprland" - ] - }, - "locked": { - "lastModified": 1743128724, - "narHash": "sha256-CUlxc2u1Y8gpeAl7NKrZxxpeZjyU2DBxOYb8b0haM2M=", - "owner": "outfoxxed", - "repo": "hy3", - "rev": "4014433d1c3d1bf36c6684cff14c23d538337070", - "type": "github" - }, - "original": { - "owner": "outfoxxed", - "repo": "hy3", - "type": "github" - } - }, - "hyprcursor": { - "inputs": { - "hyprlang": [ - "hyprland", - "hyprlang" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1742215578, - "narHash": "sha256-zfs71PXVVPEe56WEyNi2TJQPs0wabU4WAlq0XV7GcdE=", - "owner": "hyprwm", - "repo": "hyprcursor", - "rev": "2fd36421c21aa87e2fe3bee11067540ae612f719", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprcursor", - "type": "github" - } - }, - "hyprgraphics": { - "inputs": { - "hyprutils": [ - "hyprland", - "hyprutils" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1739049071, - "narHash": "sha256-3+7TpXMrbsUXSwgr5VAKAnmkzMb6JO+Rvc9XRb5NMg4=", - "owner": "hyprwm", - "repo": "hyprgraphics", - "rev": "175c6b29b6ff82100539e7c4363a35a02c74dd73", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprgraphics", - "type": "github" - } - }, - "hyprland": { - "inputs": { - "aquamarine": "aquamarine", - "hyprcursor": "hyprcursor", - "hyprgraphics": "hyprgraphics", - "hyprland-protocols": "hyprland-protocols", - "hyprland-qtutils": "hyprland-qtutils", - "hyprlang": "hyprlang", - "hyprutils": "hyprutils", - "hyprwayland-scanner": "hyprwayland-scanner", - "nixpkgs": [ - "nixpkgs-unstable" - ], - "pre-commit-hooks": "pre-commit-hooks", - "systems": "systems", - "xdph": "xdph" - }, - "locked": { - "lastModified": 1743809433, - "narHash": "sha256-tCOlE2zMXfd+KNG5ETr2VxhbniDMD7jBbD0JQhYBrlc=", - "owner": "hyprwm", - "repo": "Hyprland", - "rev": "8ba20fcae124591718bddadd94c5e8c381d02097", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "Hyprland", - "type": "github" - } - }, - "hyprland-protocols": { - "inputs": { - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1743549251, - "narHash": "sha256-yf+AXt0RkAkCyF6iSnJt6EJAnNG/l6qv70CVzhRP6Bg=", - "owner": "hyprwm", - "repo": "hyprland-protocols", - "rev": "4ab17ccac08456cb5e00e8bd323de2efd30612be", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprland-protocols", - "type": "github" - } - }, - "hyprland-qt-support": { - "inputs": { - "hyprlang": [ - "hyprland", - "hyprland-qtutils", - "hyprlang" - ], - "nixpkgs": [ - "hyprland", - "hyprland-qtutils", - "nixpkgs" - ], - "systems": [ - "hyprland", - "hyprland-qtutils", - "systems" - ] - }, - "locked": { - "lastModified": 1737634706, - "narHash": "sha256-nGCibkfsXz7ARx5R+SnisRtMq21IQIhazp6viBU8I/A=", - "owner": "hyprwm", - "repo": "hyprland-qt-support", - "rev": "8810df502cdee755993cb803eba7b23f189db795", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprland-qt-support", - "type": "github" - } - }, - "hyprland-qtutils": { - "inputs": { - "hyprland-qt-support": "hyprland-qt-support", - "hyprlang": [ - "hyprland", - "hyprlang" - ], - "hyprutils": [ - "hyprland", - "hyprland-qtutils", - "hyprlang", - "hyprutils" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1739048983, - "narHash": "sha256-REhTcXq4qs3B3cCDtLlYDz0GZvmsBSh947Ub6pQWGTQ=", - "owner": "hyprwm", - "repo": "hyprland-qtutils", - "rev": "3504a293c8f8db4127cb0f7cfc1a318ffb4316f8", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprland-qtutils", - "type": "github" - } - }, - "hyprlang": { - "inputs": { - "hyprutils": [ - "hyprland", - "hyprutils" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1741191527, - "narHash": "sha256-kM+11Nch47Xwfgtw2EpRitJuORy4miwoMuRi5tyMBDY=", - "owner": "hyprwm", - "repo": "hyprlang", - "rev": "72df3861f1197e41b078faa3e38eedd60e00018d", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprlang", - "type": "github" - } - }, - "hyprutils": { - "inputs": { - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1742984269, - "narHash": "sha256-uz9FaCIbga/gQ5ZG1Hb4HVVjTWT1qjjCAFlCXiaefxg=", - "owner": "hyprwm", - "repo": "hyprutils", - "rev": "7248194a2ce0106ae647b70d0526a96dc9d6ad60", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprutils", - "type": "github" - } - }, - "hyprwayland-scanner": { - "inputs": { - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1739870480, - "narHash": "sha256-SiDN5BGxa/1hAsqhgJsS03C3t2QrLgBT8u+ENJ0Qzwc=", - "owner": "hyprwm", - "repo": "hyprwayland-scanner", - "rev": "206367a08dc5ac4ba7ad31bdca391d098082e64b", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprwayland-scanner", - "type": "github" - } - }, - "nix-filter": { - "locked": { - "lastModified": 1693833173, - "narHash": "sha256-hlMABKrGbEiJD5dwUSfnw1CQ3bG7KKwDV+Nx3bEZd7U=", - "owner": "numtide", - "repo": "nix-filter", - "rev": "ac030bd9ba98e318e1f4c4328d60766ade8ebe8b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "nix-filter", - "type": "github" - } - }, "nixpkgs": { "locked": { "lastModified": 0, @@ -432,39 +65,13 @@ "type": "github" } }, - "pre-commit-hooks": { - "inputs": { - "flake-compat": "flake-compat", - "gitignore": "gitignore", - "nixpkgs": [ - "hyprland", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1742649964, - "narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=", - "owner": "cachix", - "repo": "git-hooks.nix", - "rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "git-hooks.nix", - "type": "github" - } - }, "root": { "inputs": { "home-manager": "home-manager", - "hy3": "hy3", - "hyprland": "hyprland", "nixpkgs": "nixpkgs", "nixpkgs-stable": "nixpkgs-stable", "nixpkgs-unstable": "nixpkgs-unstable", - "sops-nix": "sops-nix", - "split-monitor-workspaces": "split-monitor-workspaces" + "sops-nix": "sops-nix" } }, "sops-nix": { @@ -486,83 +93,6 @@ "repo": "sops-nix", "type": "github" } - }, - "split-monitor-workspaces": { - "inputs": { - "hyprland": [ - "hyprland" - ], - "nix-filter": "nix-filter" - }, - "locked": { - "lastModified": 1743247927, - "narHash": "sha256-za6nKSilGOUpTDLho1LK8elyImLNNIUGixDLW/n6f84=", - "owner": "Duckonaut", - "repo": "split-monitor-workspaces", - "rev": "a8e39ff10dfb5ff451416a791a30388a8517e038", - "type": "github" - }, - "original": { - "owner": "Duckonaut", - "repo": "split-monitor-workspaces", - "type": "github" - } - }, - "systems": { - "locked": { - "lastModified": 1689347949, - "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", - "owner": "nix-systems", - "repo": "default-linux", - "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default-linux", - "type": "github" - } - }, - "xdph": { - "inputs": { - "hyprland-protocols": [ - "hyprland", - "hyprland-protocols" - ], - "hyprlang": [ - "hyprland", - "hyprlang" - ], - "hyprutils": [ - "hyprland", - "hyprutils" - ], - "hyprwayland-scanner": [ - "hyprland", - "hyprwayland-scanner" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1741934139, - "narHash": "sha256-ZhTcTH9FoeAtbPfWGrhkH7RjLJZ7GeF18nygLAMR+WE=", - "owner": "hyprwm", - "repo": "xdg-desktop-portal-hyprland", - "rev": "150b0b6f52bb422a1b232a53698606fe0320dde0", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "xdg-desktop-portal-hyprland", - "type": "github" - } } }, "root": "root", diff --git a/flake.nix b/flake.nix index e727081..7d4caca 100644 --- a/flake.nix +++ b/flake.nix @@ -10,20 +10,20 @@ }; home-manager = { url = "github:nix-community/home-manager/master"; - inputs.nixpkgs.follows = "nixpkgs-unstable"; - }; - hyprland = { - url = "github:hyprwm/Hyprland"; - inputs.nixpkgs.follows = "nixpkgs-unstable"; - }; - hy3 = { - url = "github:outfoxxed/hy3"; - inputs.hyprland.follows = "hyprland"; - }; - split-monitor-workspaces = { - url = "github:Duckonaut/split-monitor-workspaces"; - inputs.hyprland.follows = "hyprland"; + inputs.nixpkgs.follows = "nixpkgs-stable"; }; + # hyprland = { + # url = "github:hyprwm/Hyprland"; + # inputs.nixpkgs.follows = "nixpkgs-stable"; + # }; + # hy3 = { + # url = "github:outfoxxed/hy3"; + # inputs.hyprland.follows = "hyprland"; + # }; + # split-monitor-workspaces = { + # url = "github:Duckonaut/split-monitor-workspaces"; + # inputs.hyprland.follows = "hyprland"; + # }; sops-nix = { url = "github:Mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs-stable"; @@ -39,7 +39,7 @@ { path, system ? "x86_64-linux", - nixpkgs ? inputs.nixpkgs-unstable, + nixpkgs ? inputs.nixpkgs-stable, }: nixpkgs.lib.nixosSystem { inherit system; @@ -66,12 +66,9 @@ }; vega = mkNixosConfig { path = ./system/hosts/vega; - nixpkgs = inputs.nixpkgs-stable; }; - mcp = (import ./system/hosts/mcp) { - inherit inputs; - inherit self; - nixpkgs = inputs.nixpkgs-stable; + mcp = mkNixosConfig { + path = ./system/hosts/mcp; }; }; features = { diff --git a/home-manager/features/eww/config/primary-statusbar.yuck b/home-manager/features/eww/config/primary-statusbar.yuck index 2623031..15c00b7 100644 --- a/home-manager/features/eww/config/primary-statusbar.yuck +++ b/home-manager/features/eww/config/primary-statusbar.yuck @@ -30,7 +30,7 @@ ) (defwindow primary-statusbar - :monitor '[ "", "DP-2", 0 ]' + :monitor '[ "", "DP-2", 1 ]' :geometry (geometry :x "0%" :y "0%" diff --git a/home-manager/features/eww/config/scripts/workspaces.sh b/home-manager/features/eww/config/scripts/workspaces.sh index 441e50f..ea08098 100755 --- a/home-manager/features/eww/config/scripts/workspaces.sh +++ b/home-manager/features/eww/config/scripts/workspaces.sh @@ -18,15 +18,17 @@ list_workspaces() { # 1. Select only workspaces on the current monitor. # 2. Remove duplicates (might be a bug with split-monitor-workspaces # 3. Create the output structure - # 4. Select interesting entries, ones that are focused, active or have windows # 5. Sort hyprctl workspaces -j | jq --compact-output --monochrome-output " map( select( .monitor | contains(\"${monitor}\") ) ) | reduce .[] as \$item ( []; if any( .[]; .id == \$item.id ) then . else . + [\$item] end ) | map( { id: .id, name, active: (.id == ${active}), focused: (.id == ${focused}), has_windows: (.lastwindowtitle != \"\") } ) | - map( select (.active or .focused or .has_windows)) | sort_by(.id) " + + # Other lines that may be useful in the future + # - Select interesting entries, ones that are focused, active or have windows + # map( select (.active or .focused or .has_windows)) } monitor=$1 diff --git a/home-manager/features/eww/config/secondary-statusbar.yuck b/home-manager/features/eww/config/secondary-statusbar.yuck index 48a0056..658776f 100644 --- a/home-manager/features/eww/config/secondary-statusbar.yuck +++ b/home-manager/features/eww/config/secondary-statusbar.yuck @@ -47,7 +47,7 @@ ) (defwindow secondary-statusbar - :monitor '[ "", "DP-1" ]' + :monitor '[ "", "DP-1", "0" ]' :geometry (geometry :x "0px" :y "0px" diff --git a/home-manager/features/hyprland.nix b/home-manager/features/hyprland.nix index 6636300..14fbd90 100644 --- a/home-manager/features/hyprland.nix +++ b/home-manager/features/hyprland.nix @@ -1,4 +1,4 @@ -{ pkgs, inputs, ... }: +{ pkgs, ... }: { home.packages = with pkgs; [ hyprlock # lock screen @@ -12,8 +12,10 @@ wayland.windowManager.hyprland = { enable = true; plugins = [ - inputs.hy3.packages.${pkgs.system}.hy3 - inputs.split-monitor-workspaces.packages.${pkgs.system}.split-monitor-workspaces + # https://github.com/outfoxxed/hy3 + pkgs.hyprlandPlugins.hy3 + # https://github.com/shezdy/hyprsplit + pkgs.hyprlandPlugins.hyprsplit ]; # Disable systemd because it conflicts with UWSM @@ -246,12 +248,9 @@ }; }; - split-monitor-workspaces = { - # Keep the focus when reloading. - keep_focused = true; - # Allocate persistent workspaces. If this is off there are some bugs - # when trying to move to a new workspace if it doesn't already exist. - enable_persistent_workspaces = true; + hyprsplit = { + num_workspaces = 10; + persistent_workspaces = true; }; }; @@ -326,35 +325,39 @@ "$mainMod, right, hy3:movefocus, r" "$mainMod, up, hy3:movefocus, u" "$mainMod, down, hy3:movefocus, d" + "$mainMod, r, focusmonitor, l" + "$mainMod, s, focusmonitor, r" "$mainMod + SHIFT, left, hy3:movewindow, l" "$mainMod + SHIFT, right, hy3:movewindow, r" "$mainMod + SHIFT, up, hy3:movewindow, u" "$mainMod + SHIFT, down, hy3:movewindow, d" # Switch workspaces with mainMod + [0-9] - "$mainMod, 1, split-workspace, 1" - "$mainMod, 2, split-workspace, 2" - "$mainMod, 3, split-workspace, 3" - "$mainMod, 4, split-workspace, 4" - "$mainMod, 5, split-workspace, 5" - "$mainMod, 6, split-workspace, 6" - "$mainMod, 7, split-workspace, 7" - "$mainMod, 8, split-workspace, 8" - "$mainMod, 9, split-workspace, 9" - "$mainMod, 0, split-workspace, 10" + "$mainMod, 1, split:workspace, 1" + "$mainMod, 2, split:workspace, 2" + "$mainMod, 3, split:workspace, 3" + "$mainMod, 4, split:workspace, 4" + "$mainMod, 5, split:workspace, 5" + "$mainMod, 6, split:workspace, 6" + "$mainMod, 7, split:workspace, 7" + "$mainMod, 8, split:workspace, 8" + "$mainMod, 9, split:workspace, 9" + "$mainMod, 0, split:workspace, 10" # Move active window to a workspace with mainMod + SHIFT + [0-9] - "$mainMod SHIFT, 1, split-movetoworkspace, 1, follow" - "$mainMod SHIFT, 2, split-movetoworkspace, 2, follow" - "$mainMod SHIFT, 3, split-movetoworkspace, 3, follow" - "$mainMod SHIFT, 4, split-movetoworkspace, 4, follow" - "$mainMod SHIFT, 5, split-movetoworkspace, 5, follow" - "$mainMod SHIFT, 6, split-movetoworkspace, 6, follow" - "$mainMod SHIFT, 7, split-movetoworkspace, 7, follow" - "$mainMod SHIFT, 8, split-movetoworkspace, 8, follow" - "$mainMod SHIFT, 9, split-movetoworkspace, 9, follow" - "$mainMod SHIFT, 0, split-movetoworkspace, 10, follow" + # Note: using hy3:movetoworkspace instead of split:movetoworkspace. + # The plugins are compatible. + "$mainMod SHIFT, 1, hy3:movetoworkspace, 1, follow" + "$mainMod SHIFT, 2, hy3:movetoworkspace, 2, follow" + "$mainMod SHIFT, 3, hy3:movetoworkspace, 3, follow" + "$mainMod SHIFT, 4, hy3:movetoworkspace, 4, follow" + "$mainMod SHIFT, 5, hy3:movetoworkspace, 5, follow" + "$mainMod SHIFT, 6, hy3:movetoworkspace, 6, follow" + "$mainMod SHIFT, 7, hy3:movetoworkspace, 7, follow" + "$mainMod SHIFT, 8, hy3:movetoworkspace, 8, follow" + "$mainMod SHIFT, 9, hy3:movetoworkspace, 9, follow" + "$mainMod SHIFT, 0, hy3:movetoworkspace, 10, follow" # These don't take monitor numbers, but rather differences. It's next/prev but # it'll always just move it to the other monitor - "$mainMod SHIFT, r, split-changemonitor, prev" + "$mainMod SHIFT, r, movewindow, mon:+1" ]; # m = mouse bindings @@ -416,16 +419,26 @@ # See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules workspace = [ - "11, defaultName:1" - "12, defaultName:2" - "13, defaultName:3" - "14, defaultName:4" - "15, defaultName:5" - "16, defaultName:6" - "17, defaultName:7" - "18, defaultName:8" - "19, defaultName:9" - "20, defaultName:10" + "1, defaultName:L1" + "2, defaultName:L2" + "3, defaultName:L3" + "4, defaultName:L4" + "5, defaultName:L5" + "6, defaultName:L6" + "7, defaultName:L7" + "8, defaultName:L8" + "9, defaultName:L9" + "10, defaultName:L10" + "11, defaultName:R1" + "12, defaultName:R2" + "13, defaultName:R3" + "14, defaultName:R4" + "15, defaultName:R5" + "16, defaultName:R6" + "17, defaultName:R7" + "18, defaultName:R8" + "19, defaultName:R9" + "20, defaultName:R10" ]; }; }; diff --git a/system/hosts/altair/configuration.nix b/system/hosts/altair/configuration.nix index f23de92..37ecefc 100644 --- a/system/hosts/altair/configuration.nix +++ b/system/hosts/altair/configuration.nix @@ -75,9 +75,6 @@ programs.hyprland = { enable = true; withUWSM = true; - package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland; - portalPackage = - inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland; xwayland.enable = true; }; @@ -105,7 +102,7 @@ services.gnome.gnome-keyring.enable = true; # Enable sound with pipewire. - services.pulseaudio.enable = false; + hardware.pulseaudio.enable = false; security.rtkit.enable = true; services.pipewire = { enable = true; diff --git a/system/hosts/altair/drew.nix b/system/hosts/altair/drew.nix index 7db431e..92a70e1 100644 --- a/system/hosts/altair/drew.nix +++ b/system/hosts/altair/drew.nix @@ -31,7 +31,7 @@ in # Set up eww here because it's based on the monitor configuration # Eww is idempotent, so it's fine to just run it on every reload to make sure things are open - wayland.windowManager.hyprland.settings.execr-once = [ + wayland.windowManager.hyprland.settings.exec = [ "eww open-many primary-statusbar secondary-statusbar launcher" ]; } diff --git a/system/hosts/mcp/default.nix b/system/hosts/mcp/default.nix index aae84b4..af5aff3 100644 --- a/system/hosts/mcp/default.nix +++ b/system/hosts/mcp/default.nix @@ -1,29 +1,19 @@ -{ nixpkgs, inputs, ... }: -nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - modules = [ +{ inputs, ... }: +{ + imports = [ ./configuration.nix ./hardware-configuration.nix ../../authorized-keys.nix - inputs.home-manager.nixosModules.home-manager inputs.sops-nix.nixosModules.sops - { - nixpkgs.config.allowUnfree = true; - home-manager.users.drew = - { ... }: - { - imports = [ - ./drew.nix - ]; - }; - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.extraSpecialArgs = { - inherit inputs; - }; - } ]; - specialArgs = { - inherit inputs; - }; + + nixpkgs.config.allowUnfree = true; + + home-manager.users.drew = + { ... }: + { + imports = [ + ./drew.nix + ]; + }; } diff --git a/system/hosts/vega/drew.nix b/system/hosts/vega/drew.nix index de618b7..3d39292 100644 --- a/system/hosts/vega/drew.nix +++ b/system/hosts/vega/drew.nix @@ -1,14 +1,16 @@ { ... }: { - imports = map (x: ../../../home-manager + x) [ - "/features/development/development.nix" - "/features/development/haskell.nix" - "/features/linux-desktop.nix" - "/features/notes.nix" - "/features/eww" - ] ++ [ - (import ../../../home-manager/features/wallpaper.nix [ "HDMI-A-1" ]) - ]; + imports = + map (x: ../../../home-manager + x) [ + "/features/development/development.nix" + "/features/development/haskell.nix" + "/features/linux-desktop.nix" + "/features/notes.nix" + "/features/eww" + ] + ++ [ + (import ../../../home-manager/features/wallpaper.nix [ "HDMI-A-1" ]) + ]; home.stateVersion = "24.11"; @@ -22,7 +24,7 @@ # Set up eww here because it's based on the monitor configuration # Eww is idempotent, so it's fine to just run it on every reload to make sure things are open - wayland.windowManager.hyprland.settings.execr-once = [ + wayland.windowManager.hyprland.settings.exec = [ "eww daemon && eww open-many vertical-statusbar" ]; }