From 1b640675b3a1260eb7acff36d49fb8b1a50965df Mon Sep 17 00:00:00 2001 From: Ahwx Date: Mon, 26 Jan 2026 22:51:44 +0100 Subject: [PATCH 01/13] chore(mpd): stable isn't this far yet --- modules/services/mpd.nix | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/modules/services/mpd.nix b/modules/services/mpd.nix index e43b7fa..f0051b3 100644 --- a/modules/services/mpd.nix +++ b/modules/services/mpd.nix @@ -14,19 +14,17 @@ services.mpd = { enable = true; - settings = { - playlist_directory = "/home/${username}/Music/.playlists"; - music_directory = "/home/${username}/Music"; - restore_paused = "yes"; - auto_update = "yes"; + playlistDirectory = "/home/${username}/Music/.playlists"; + musicDirectory = "/home/${username}/Music"; + extraConfig = '' + restore_paused "yes" + auto_update "yes" - audio_output = [ - { - type = "pipewire"; - name = "pipewire"; - } - ]; - }; + audio_output { + type "pipewire" + name "pipewire" + } + ''; user = "${username}"; # PipeWire requires this as it runs as the normal user and mpd normally runs as a system user. # Optional: From 829d90549e9933bbef6c69d74f424135d4439181 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Tue, 27 Jan 2026 10:53:24 +0100 Subject: [PATCH 02/13] fix: `$mainMod` --> `ALT` (stable hyprland does not do variables?) --- modules/home/hyprland/config.nix | 150 +++++++++++++++---------------- 1 file changed, 75 insertions(+), 75 deletions(-) diff --git a/modules/home/hyprland/config.nix b/modules/home/hyprland/config.nix index 94ce71a..c517b8f 100644 --- a/modules/home/hyprland/config.nix +++ b/modules/home/hyprland/config.nix @@ -143,7 +143,7 @@ # "f[1], gapsout:0, gapsin:0" #]; general = { - "$mainMod" = "ALT"; + # "ALT" = "ALT"; layout = "dwindle"; gaps_in = 0; gaps_out = "0,0,68,0"; @@ -257,95 +257,95 @@ bind = [ # keybindings - "$mainMod, Return, exec, footclient" - "$mainMod SHIFT, Return, exec, [float; center; size 950 650] footclient --title 'float_foot'" - "$mainMod, Q, killactive," - "$mainMod, F, fullscreen, 0" # set 1 to 0 to set full screen without waybar - "$mainMod, Space, togglefloating," - # "$mainMod, D, exec, bemenu-run -l 5 --ignorecase" - "$mainMod, D, exec, vicinae toggle" + "ALT, Return, exec, footclient" + "ALT SHIFT, Return, exec, [float; center; size 950 650] footclient --title 'float_foot'" + "ALT, Q, killactive," + "ALT, F, fullscreen, 0" # set 1 to 0 to set full screen without waybar + "ALT, Space, togglefloating," + # "ALT, D, exec, bemenu-run -l 5 --ignorecase" + "ALT, D, exec, vicinae toggle" "SUPER SHIFT, L, exec, swaylock --image /home/${username}/.local/share/bg.png" "SUPER, L, exec, swaylock --image /home/${username}/.local/share/bg.png" - "$mainMod, E, exec, nautilus" - "$mainMod SHIFT, B, exec, pkill -SIGUSR1 .waybar-wrapped" - "$mainMod, C,exec, hyprpicker -a" - "$mainMod, W,exec, wallpaper-picker" - "$mainMod, G, togglegroup," + "ALT, E, exec, nautilus" + "ALT SHIFT, B, exec, pkill -SIGUSR1 .waybar-wrapped" + "ALT, C,exec, hyprpicker -a" + "ALT, W,exec, wallpaper-picker" + "ALT, G, togglegroup," "SUPER, N, changegroupactive, f" "SUPER, P, changegroupactive, b" - "$mainMod, Tab, changegroupactive, f" - "$mainMod SHIFT, Tab, changegroupactive, b" + "ALT, Tab, changegroupactive, f" + "ALT SHIFT, Tab, changegroupactive, b" # password manager - "$mainMod SHIFT, X, exec, footclient --title 'float_foot' zsh -c 'bash ~/.local/src/bw-fzf/bw-fzf.sh" + "ALT SHIFT, X, exec, footclient --title 'float_foot' zsh -c 'bash ~/.local/src/bw-fzf/bw-fzf.sh" # clipboard manager - # "$mainMod SHIFT, V, exec, cliphist list | bemenu -l 5 --ignorecase | cliphist decode | wl-copy" - "$mainMod SHIFT, V, exec, vicinae vicinae://extensions/vicinae/clipboard/history" + # "ALT SHIFT, V, exec, cliphist list | bemenu -l 5 --ignorecase | cliphist decode | wl-copy" + "ALT SHIFT, V, exec, vicinae vicinae://extensions/vicinae/clipboard/history" - "$mainMod SHIFT, F, exec, librewolf" - "$mainMod SHIFT, C, exec, chromium" - "$mainMod SHIFT, Q, exec, qutebrowser" - "$mainMod SHIFT, W, exec, wdisplays" - "$mainMod SHIFT, T, exec, thunderbird" - "$mainMod SHIFT, E, exec, element-desktop" - "$mainMod SHIFT, P, exec, pavucontrol-qt" - "$mainMod SHIFT, N, exec, notes" - "$mainMod , N, exec, swaync-client -t" + "ALT SHIFT, F, exec, librewolf" + "ALT SHIFT, C, exec, chromium" + "ALT SHIFT, Q, exec, qutebrowser" + "ALT SHIFT, W, exec, wdisplays" + "ALT SHIFT, T, exec, thunderbird" + "ALT SHIFT, E, exec, element-desktop" + "ALT SHIFT, P, exec, pavucontrol-qt" + "ALT SHIFT, N, exec, notes" + "ALT , N, exec, swaync-client -t" # screenshot "SUPER SHIFT, S, exec, grimblast save area ~/Pictures/$(date +'%Y-%m-%d-At-%Ih%Mm%Ss').png" - "$mainMod SHIFT, S, exec, grimblast copy area" - "$mainMod SHIFT, G, exec, grabtext" + "ALT SHIFT, S, exec, grimblast copy area" + "ALT SHIFT, G, exec, grabtext" # switch focus - "$mainMod, H, movefocus, l" - "$mainMod, L, movefocus, r" - "$mainMod, K, movefocus, u" - "$mainMod, J, movefocus, d" + "ALT, H, movefocus, l" + "ALT, L, movefocus, r" + "ALT, K, movefocus, u" + "ALT, J, movefocus, d" - "$mainMod SHIFT, H, movewindow, l" - "$mainMod SHIFT, L, movewindow, r" - "$mainMod SHIFT, K, movewindow, u" - "$mainMod SHIFT, J, movewindow, d" + "ALT SHIFT, H, movewindow, l" + "ALT SHIFT, L, movewindow, r" + "ALT SHIFT, K, movewindow, u" + "ALT SHIFT, J, movewindow, d" # switch to workspace - "$mainMod, 1, workspace, 1" - "$mainMod, 2, workspace, 2" - "$mainMod, 3, workspace, 3" - "$mainMod, 4, workspace, 4" - "$mainMod, 5, workspace, 5" - "$mainMod, 6, workspace, 6" - "$mainMod, 7, workspace, 7" - "$mainMod, 8, workspace, 8" - "$mainMod, 9, workspace, 9" - "$mainMod, 0, workspace, 10" + "ALT, 1, workspace, 1" + "ALT, 2, workspace, 2" + "ALT, 3, workspace, 3" + "ALT, 4, workspace, 4" + "ALT, 5, workspace, 5" + "ALT, 6, workspace, 6" + "ALT, 7, workspace, 7" + "ALT, 8, workspace, 8" + "ALT, 9, workspace, 9" + "ALT, 0, workspace, 10" # move to workspace - "$mainMod SHIFT, 1, movetoworkspacesilent, 1" - "$mainMod SHIFT, 2, movetoworkspacesilent, 2" - "$mainMod SHIFT, 3, movetoworkspacesilent, 3" - "$mainMod SHIFT, 4, movetoworkspacesilent, 4" - "$mainMod SHIFT, 5, movetoworkspacesilent, 5" - "$mainMod SHIFT, 6, movetoworkspacesilent, 6" - "$mainMod SHIFT, 7, movetoworkspacesilent, 7" - "$mainMod SHIFT, 8, movetoworkspacesilent, 8" - "$mainMod SHIFT, 9, movetoworkspacesilent, 9" - "$mainMod SHIFT, 0, movetoworkspacesilent, 10" + "ALT SHIFT, 1, movetoworkspacesilent, 1" + "ALT SHIFT, 2, movetoworkspacesilent, 2" + "ALT SHIFT, 3, movetoworkspacesilent, 3" + "ALT SHIFT, 4, movetoworkspacesilent, 4" + "ALT SHIFT, 5, movetoworkspacesilent, 5" + "ALT SHIFT, 6, movetoworkspacesilent, 6" + "ALT SHIFT, 7, movetoworkspacesilent, 7" + "ALT SHIFT, 8, movetoworkspacesilent, 8" + "ALT SHIFT, 9, movetoworkspacesilent, 9" + "ALT SHIFT, 0, movetoworkspacesilent, 10" # window control - # "$mainMod SHIFT, left, movewindow, l" - # "$mainMod SHIFT, right, movewindow, r" - # "$mainMod SHIFT, up, movewindow, u" - # "$mainMod SHIFT, down, movewindow, d" - # "$mainMod CTRL, left, resizeactive, -80 0" - # "$mainMod CTRL, right, resizeactive, 80 0" - # "$mainMod CTRL, up, resizeactive, 0 -80" - # "$mainMod CTRL, down, resizeactive, 0 80" - # "$mainMod ALT, left, moveactive, -80 0" - # "$mainMod ALT, right, moveactive, 80 0" - # "$mainMod ALT, up, moveactive, 0 -80" - # "$mainMod ALT, down, moveactive, 0 80" + # "ALT SHIFT, left, movewindow, l" + # "ALT SHIFT, right, movewindow, r" + # "ALT SHIFT, up, movewindow, u" + # "ALT SHIFT, down, movewindow, d" + # "ALT CTRL, left, resizeactive, -80 0" + # "ALT CTRL, right, resizeactive, 80 0" + # "ALT CTRL, up, resizeactive, 0 -80" + # "ALT CTRL, down, resizeactive, 0 80" + # "ALT ALT, left, moveactive, -80 0" + # "ALT ALT, right, moveactive, 80 0" + # "ALT ALT, up, moveactive, 0 -80" + # "ALT ALT, down, moveactive, 0 80" # media and volume controls ",XF86AudioRaiseVolume,exec, pamixer -i 2" @@ -355,14 +355,14 @@ ",XF86AudioNext,exec, playerctl next" ",XF86AudioPrev,exec, playerctl previous" ",XF86AudioStop, exec, playerctl stop" - "$mainMod, mouse_down, workspace, e-1" - "$mainMod, mouse_up, workspace, e+1" + "ALT, mouse_down, workspace, e-1" + "ALT, mouse_up, workspace, e+1" # laptop brigthness ",XF86MonBrightnessUp, exec, brightnessctl set 5%+" ",XF86MonBrightnessDown, exec, brightnessctl set 5%-" - "$mainMod, XF86MonBrightnessUp, exec, brightnessctl set 100%+" - "$mainMod, XF86MonBrightnessDown, exec, brightnessctl set 100%-" + "ALT, XF86MonBrightnessUp, exec, brightnessctl set 100%+" + "ALT, XF86MonBrightnessDown, exec, brightnessctl set 100%-" ]; bindl = [ @@ -371,8 +371,8 @@ # mouse binding bindm = [ - "$mainMod, mouse:272, movewindow" - "$mainMod, mouse:273, resizewindow" + "ALT, mouse:272, movewindow" + "ALT, mouse:273, resizewindow" ]; # windowrule From cda4f0f5c2da908ede04acb0fad42c8aaa464e7a Mon Sep 17 00:00:00 2001 From: Ahwx Date: Wed, 28 Jan 2026 20:08:25 +0100 Subject: [PATCH 03/13] feat: `zinnia` is retired now --- modules/core/sshd.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/core/sshd.nix b/modules/core/sshd.nix index 40edffe..e0c20da 100644 --- a/modules/core/sshd.nix +++ b/modules/core/sshd.nix @@ -16,7 +16,7 @@ users.users.liv.openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGXi00z/rxVrWLKgYr+tWIsbHsSQO75hUMSTThNm5wUw liv@sakura" # sakura "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHv2zxCy22KU1tZOH2hA1p8fWVpOSrTYF68+3E5r330O liv@ichiyo" # ichiyo - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEDltZ7vfyrLrl32TIWCC3iUx40TrCtIz6Ssi/SZvikg liv@zinnia" # zinnia + # "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEDltZ7vfyrLrl32TIWCC3iUx40TrCtIz6Ssi/SZvikg liv@zinnia" # zinnia; retired "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKQtG69zrMFsoHForwZEi66y1tPvctqg1OgjQFrF3OI+ liv@iris" # iris "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINKI2KQn97mykFLIaMUWMftA1txJec9qW56hAMj5/MhE liv@dandelion" # dandelion "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILwDS8tXjGjUtk3eQAaPf0S0f9JgwEGPlNYQ7OvACX1Z liv@imilia" # imilia From 16262c2f192798bc3ec929ee77eac82312ad2d8c Mon Sep 17 00:00:00 2001 From: Ahwx Date: Wed, 4 Feb 2026 17:42:21 +0100 Subject: [PATCH 04/13] feat: write very basic example for `azalea` prior to getting it :) --- hosts/azalea/default.nix | 42 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 hosts/azalea/default.nix diff --git a/hosts/azalea/default.nix b/hosts/azalea/default.nix new file mode 100644 index 0000000..fab7d42 --- /dev/null +++ b/hosts/azalea/default.nix @@ -0,0 +1,42 @@ +{ username, ... }: +{ + imports = [ + #./hardware-configuration.nix + #./../../modules/core + #./../../modules/core/virtualization.nix + #./../../modules/services/tailscale.nix + #./../../modules/services/mpd.nix + #./../../modules/services/smart-monitoring.nix + #./../../modules/services/mullvad.nix + #./../../modules/home/steam.nix + #./../../modules/services/ollama.nix + #./../../modules/services/automount.nix + ]; + + security.pam.enableSudoTouchIdAuth = true; + system.primaryUser = username; + homebrew = { + enable = true; + onActivation = { + autoUpdate = true; + cleanup = "uninstall"; + upgrade = true; + }; + brewPrefix = "/opt/homebrew/bin"; + caskArgs = { + no_quarantine = true; + }; + casks = [ + # "steam" + "libreoffice" + "signal" + "handbrake" + "tailscale" + "ungoogled-chromium" + # "orca-slicer" + "element" + "raycast" + "anki" + ]; + }; +} From ef52a0fad8d4abb9e5e36368522c024ec9820be6 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Wed, 4 Feb 2026 17:42:31 +0100 Subject: [PATCH 05/13] feat: enable shadow and swayosd --- modules/home/hyprland/config.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/modules/home/hyprland/config.nix b/modules/home/hyprland/config.nix index c517b8f..f91dedb 100644 --- a/modules/home/hyprland/config.nix +++ b/modules/home/hyprland/config.nix @@ -89,6 +89,8 @@ } ''; + services.swayosd.enable = true; + wayland.windowManager.hyprland = { settings = { @@ -198,6 +200,13 @@ inactive_opacity = 0.75; # fullscreen_opacity = 1.0; + shadow = { + enabled = true; + render_power = 4; + ignore_window = true; + # offset = [ ]; + }; + blur = { enabled = true; size = 7; From b4df433504903761a5a73790ab1309ce18b9925b Mon Sep 17 00:00:00 2001 From: Ahwx Date: Wed, 4 Feb 2026 17:42:44 +0100 Subject: [PATCH 06/13] fix: remove more icons --- modules/home/waybar/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/home/waybar/default.nix b/modules/home/waybar/default.nix index 8dfb270..e1e507c 100644 --- a/modules/home/waybar/default.nix +++ b/modules/home/waybar/default.nix @@ -311,8 +311,8 @@ "format-discharging-warning": "BATT: {capacity}%", "format-discharging-critical": "BATT: {capacity}%", "format-charging": "BATT: {capacity}% @ {power:2.0f}W", - "format-full": "BATT: 󱐥 {capacity}%", - "format-not-charging": "BATT: 󱐤 {capacity}%", + "format-full": "BATT: {capacity}%", + "format-not-charging": "BATT: !!! {capacity}%", // "format-icons": [" ", " ", " ", " ", " "], // use {icon} }, From f66a76d2f40d63e4b5e0b5be16b5a8f67c94fc8f Mon Sep 17 00:00:00 2001 From: Ahwx Date: Wed, 4 Feb 2026 17:42:59 +0100 Subject: [PATCH 07/13] feat: install `libgnome-keyring` for nextcloud --- roles/gui.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/roles/gui.nix b/roles/gui.nix index 5e323a8..43eebda 100644 --- a/roles/gui.nix +++ b/roles/gui.nix @@ -81,6 +81,7 @@ in lxqt.pavucontrol-qt mpv kdePackages.kdeconnect-kde + libgnome-keyring # Gaming lunar-client From ca12a9389b806619210f620c8a219072935f24b8 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Wed, 4 Feb 2026 17:43:21 +0100 Subject: [PATCH 08/13] feat: adds `nix-darwin` modules; refactor a little bit --- flake.nix | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/flake.nix b/flake.nix index caffa19..f996697 100644 --- a/flake.nix +++ b/flake.nix @@ -5,7 +5,7 @@ alejandra.url = "github:kamadorueda/alejandra/3.0.0"; home-manager.url = "github:nix-community/home-manager"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; - hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; + hyprland.url = "github:hyprwm/Hyprland"; hyprland.inputs.nixpkgs.follows = "nixpkgs"; hyprland-plugins.url = "github:hyprwm/hyprland-plugins"; hyprland-plugins.inputs.hyprland.follows = "hyprland"; @@ -22,15 +22,16 @@ nixocaine.url = "https://git.madhouse-project.org/iocaine/nixocaine/archive/stable.tar.gz"; ai-robots-txt.url = "github:ai-robots-txt/ai.robots.txt"; ai-robots-txt.flake = false; + nix-darwin.url = "github:nix-darwin/nix-darwin/master"; + nix-darwin.inputs.nixpkgs.follows = "nixpkgs"; + nix-homebrew.url = "github:zhaofengli/nix-homebrew"; }; outputs = { self, nixpkgs, - sops-nix, - disko, - oisd, + nix-darwin, ... }@inputs: let @@ -44,6 +45,16 @@ in { overlays.default = overlays.addition; + darwinConfigurations = { + azalea = nix-darwin.lib.darwinSystem { + system = "aarch64-darwin"; + modules = [ + (import ./hosts/azalea) + ]; + host = "azalea"; + inherit self inputs username; + }; + }; nixosConfigurations = { sakura = nixpkgs.lib.nixosSystem { inherit system; From e9210fe13aef8ac42f51a6c20ad53bf36e0ef88f Mon Sep 17 00:00:00 2001 From: Ahwx Date: Wed, 4 Feb 2026 17:43:25 +0100 Subject: [PATCH 09/13] flake: update lock --- flake.lock | 146 ++++++++++++++++++++++++++--------------------------- 1 file changed, 72 insertions(+), 74 deletions(-) diff --git a/flake.lock b/flake.lock index 6b68155..2cca3fb 100644 --- a/flake.lock +++ b/flake.lock @@ -57,11 +57,11 @@ ] }, "locked": { - "lastModified": 1767024902, - "narHash": "sha256-sMdk6QkMDhIOnvULXKUM8WW8iyi551SWw2i6KQHbrrU=", + "lastModified": 1769428758, + "narHash": "sha256-0G/GzF7lkWs/yl82bXuisSqPn6sf8YGTnbEdFOXvOfU=", "owner": "hyprwm", "repo": "aquamarine", - "rev": "b8a0c5ba5a9fbd2c660be7dd98bdde0ff3798556", + "rev": "def5e74c97370f15949a67c62e61f1459fcb0e15", "type": "github" }, "original": { @@ -109,11 +109,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1746728054, - "narHash": "sha256-eDoSOhxGEm2PykZFa/x9QG5eTH0MJdiJ9aR00VAofXE=", + "lastModified": 1768920986, + "narHash": "sha256-CNzzBsRhq7gg4BMBuTDObiWDH/rFYHEuDRVOwCcwXw4=", "owner": "nix-community", "repo": "disko", - "rev": "ff442f5d1425feb86344c028298548024f21256d", + "rev": "de5708739256238fb912c62f03988815db89ec9a", "type": "github" }, "original": { @@ -323,11 +323,11 @@ ] }, "locked": { - "lastModified": 1768018810, - "narHash": "sha256-WREj1ZQ2wSGtyPAhQJ3SX/7PJ29PNKv04h/7NgqUS+M=", + "lastModified": 1769776025, + "narHash": "sha256-70a1kVC08AMTvPc7iqQsJbbD4Y1fukakMVudz4oY9SM=", "owner": "nix-community", "repo": "home-manager", - "rev": "7c5d9345ad7cc38832cd4007f5cd03daad64d75b", + "rev": "0fba737f8d5571d41467f3d99a878e11b8c0f0f0", "type": "github" }, "original": { @@ -341,11 +341,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1766066098, - "narHash": "sha256-d3HmUbmfTDIt9mXEHszqyo2byqQMoyJtUJCZ9U1IqHQ=", + "lastModified": 1768426687, + "narHash": "sha256-CopNx3j//gZ2mE0ggEK9dZ474UcbDhpTw+KMor8mSxI=", "owner": "hyprwm", "repo": "contrib", - "rev": "41dbcac8183bb1b3a4ade0d8276b2f2df6ae4690", + "rev": "541628cebe42792ddf5063c4abd6402c2f1bd68f", "type": "github" }, "original": { @@ -399,11 +399,11 @@ ] }, "locked": { - "lastModified": 1766946335, - "narHash": "sha256-MRD+Jr2bY11MzNDfenENhiK6pvN+nHygxdHoHbZ1HtE=", + "lastModified": 1769284023, + "narHash": "sha256-xG34vwYJ79rA2wVC8KFuM8r36urJTG6/csXx7LiiSYU=", "owner": "hyprwm", "repo": "hyprgraphics", - "rev": "4af02a3925b454deb1c36603843da528b67ded6c", + "rev": "13c536659d46893596412d180449353a900a1d31", "type": "github" }, "original": { @@ -431,19 +431,17 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1768000181, - "narHash": "sha256-7p4kVQGlhlt6em/yDV787uSKs9C8WzkvtjwXHWZ34Ok=", - "ref": "refs/heads/main", - "rev": "81e7498ec27156ee97aabba6fe4993412d98d1ab", - "revCount": 6803, - "submodules": true, - "type": "git", - "url": "https://github.com/hyprwm/Hyprland" + "lastModified": 1769694617, + "narHash": "sha256-h8+Wqc4x68mN2qOLX45HsO6Z4eQOfrdtSKiSzcBrCVg=", + "owner": "hyprwm", + "repo": "Hyprland", + "rev": "c92fb5e85f4a5fd3a0f5ffb5892f6a61cfe1be2b", + "type": "github" }, "original": { - "submodules": true, - "type": "git", - "url": "https://github.com/hyprwm/Hyprland" + "owner": "hyprwm", + "repo": "Hyprland", + "type": "github" } }, "hyprland-guiutils": { @@ -509,11 +507,11 @@ ] }, "locked": { - "lastModified": 1767723101, - "narHash": "sha256-jObY8O7OI+91hoE137APsDxm0235/Yx+HhFIip187zM=", + "lastModified": 1769285097, + "narHash": "sha256-eVD4U3Oqzz0VU9ylJ5wo76xDcYKv2CpiiRXq4Is4QdA=", "owner": "hyprwm", "repo": "hyprland-plugins", - "rev": "fef398ed5e4faf59bc43b915e46a75cfe8b16697", + "rev": "06c0749a0dac978d89b1a76ae6adc76a3c15dbfa", "type": "github" }, "original": { @@ -563,11 +561,11 @@ ] }, "locked": { - "lastModified": 1764612430, - "narHash": "sha256-54ltTSbI6W+qYGMchAgCR6QnC1kOdKXN6X6pJhOWxFg=", + "lastModified": 1767983607, + "narHash": "sha256-8C2co8NYfR4oMOUEsPROOJ9JHrv9/ktbJJ6X1WsTbXc=", "owner": "hyprwm", "repo": "hyprlang", - "rev": "0d00dc118981531aa731150b6ea551ef037acddd", + "rev": "d4037379e6057246b408bbcf796cf3e9838af5b2", "type": "github" }, "original": { @@ -694,11 +692,11 @@ ] }, "locked": { - "lastModified": 1767473322, - "narHash": "sha256-RGOeG+wQHeJ6BKcsSB8r0ZU77g9mDvoQzoTKj2dFHwA=", + "lastModified": 1769202094, + "narHash": "sha256-gdJr/vWWLRW85ucatSjoBULPB2dqBJd/53CZmQ9t91Q=", "owner": "hyprwm", "repo": "hyprwire", - "rev": "d5e7d6b49fe780353c1cf9a1cf39fa8970bd9d11", + "rev": "a45ca05050d22629b3c7969a926d37870d7dd75c", "type": "github" }, "original": { @@ -786,11 +784,11 @@ ] }, "locked": { - "lastModified": 1766487857, - "narHash": "sha256-Inkx0g6Dvn/lAC2bQh/rNKvoP8NGpm/YqPDiagfAdKQ=", - "rev": "9e333811b45c7245b8744c0d9f292912513459b0", + "lastModified": 1769188530, + "narHash": "sha256-7IbDO2kdQ203SrMFrmitaClED16TJeB+T+f7dXqIZo0=", + "rev": "72b01b4b39e9a54bcf75003d07a6f2bb3104737a", "type": "tarball", - "url": "https://git.madhouse-project.org/api/v1/repos/iocaine/nam-shub-of-enki/archive/9e333811b45c7245b8744c0d9f292912513459b0.tar.gz?rev=9e333811b45c7245b8744c0d9f292912513459b0" + "url": "https://git.madhouse-project.org/api/v1/repos/iocaine/nam-shub-of-enki/archive/72b01b4b39e9a54bcf75003d07a6f2bb3104737a.tar.gz?rev=72b01b4b39e9a54bcf75003d07a6f2bb3104737a" }, "original": { "type": "tarball", @@ -807,11 +805,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1766487985, - "narHash": "sha256-1lf9iyBmFrDdoH1r5h56FvximUHs+PQktU/S5EFGlrI=", - "rev": "1e607be339fd1864328708dc80ec9b266a2bd7f5", + "lastModified": 1769188713, + "narHash": "sha256-Amw9yroFzMRaaZa5bjMZHXtWNVrdbidx1c7JqscfkVg=", + "rev": "528a816e0b4b5e3999b4d0c8ace7fd488a4366d8", "type": "tarball", - "url": "https://git.madhouse-project.org/api/v1/repos/iocaine/nixocaine/archive/1e607be339fd1864328708dc80ec9b266a2bd7f5.tar.gz" + "url": "https://git.madhouse-project.org/api/v1/repos/iocaine/nixocaine/archive/528a816e0b4b5e3999b4d0c8ace7fd488a4366d8.tar.gz" }, "original": { "type": "tarball", @@ -820,11 +818,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1767185284, - "narHash": "sha256-ljDBUDpD1Cg5n3mJI81Hz5qeZAwCGxon4kQW3Ho3+6Q=", + "lastModified": 1769302137, + "narHash": "sha256-QEDtctEkOsbx8nlFh4yqPEOtr4tif6KTqWwJ37IM2ds=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "40b1a28dce561bea34858287fbb23052c3ee63fe", + "rev": "a351494b0e35fd7c0b7a1aae82f0afddf4907aa8", "type": "github" }, "original": { @@ -882,11 +880,11 @@ }, "nixpkgs_10": { "locked": { - "lastModified": 1767379071, - "narHash": "sha256-EgE0pxsrW9jp9YFMkHL9JMXxcqi/OoumPJYwf+Okucw=", + "lastModified": 1769018530, + "narHash": "sha256-MJ27Cy2NtBEV5tsK+YraYr2g851f3Fl1LpNHDzDX15c=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fb7944c166a3b630f177938e478f0378e64ce108", + "rev": "88d3861acdd3d2f0e361767018218e51810df8a1", "type": "github" }, "original": { @@ -898,11 +896,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1746576598, - "narHash": "sha256-FshoQvr6Aor5SnORVvh/ZdJ1Sa2U4ZrIMwKBX5k2wu0=", + "lastModified": 1768661221, + "narHash": "sha256-MJwOjrIISfOpdI9x4C+5WFQXvHtOuj5mqLZ4TMEtk1M=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b3582c75c7f21ce0b429898980eddbbf05c68e55", + "rev": "3327b113f2ef698d380df83fbccefad7e83d7769", "type": "github" }, "original": { @@ -946,11 +944,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1767799921, - "narHash": "sha256-r4GVX+FToWVE2My8VVZH4V0pTIpnu2ZE8/Z4uxGEMBE=", + "lastModified": 1769598131, + "narHash": "sha256-e7VO/kGLgRMbWtpBqdWl0uFg8Y2XWFMdz0uUJvlML8o=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d351d0653aeb7877273920cd3e823994e7579b0b", + "rev": "fa83fd837f3098e3e678e6cf017b2b36102c7211", "type": "github" }, "original": { @@ -994,11 +992,11 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1767892417, - "narHash": "sha256-dhhvQY67aboBk8b0/u0XB6vwHdgbROZT3fJAjyNh5Ww=", + "lastModified": 1769461804, + "narHash": "sha256-msG8SU5WsBUfVVa/9RPLaymvi5bI8edTavbIq3vRlhI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3497aa5c9457a9d88d71fa93a4a8368816fbeeba", + "rev": "bfc1b8a4574108ceef22f02bafcf6611380c100d", "type": "github" }, "original": { @@ -1010,11 +1008,11 @@ }, "nixpkgs_9": { "locked": { - "lastModified": 1767364772, - "narHash": "sha256-fFUnEYMla8b7UKjijLnMe+oVFOz6HjijGGNS1l7dYaQ=", + "lastModified": 1769268028, + "narHash": "sha256-mAdJpV0e5IGZjnE4f/8uf0E4hQR7ptRP00gnZKUOdMo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "16c7794d0a28b5a37904d55bcca36003b9109aaa", + "rev": "ab9fbbcf4858bd6d40ba2bbec37ceb4ab6e1f562", "type": "github" }, "original": { @@ -1070,11 +1068,11 @@ "nixpkgs": "nixpkgs_8" }, "locked": { - "lastModified": 1768038731, - "narHash": "sha256-1M1EhmredaBSkT/IsHWEVDXJjNyvsM6slDBiNfDj+HA=", + "lastModified": 1769768855, + "narHash": "sha256-OuUk+skANEQBNDKLiXvZOcdv2vfWsrbxvwNPSw0iKjE=", "owner": "nix-community", "repo": "NUR", - "rev": "3cb7022a0e5b669bc765dcb9c280b6653730362c", + "rev": "cf3ece1c8c4108d7e5940ba7f1b01048407fff10", "type": "github" }, "original": { @@ -1110,7 +1108,7 @@ "oisd": { "flake": false, "locked": { - "narHash": "sha256-wEkqluvwxLyfwqhKKn0d4NohXzenTZjX3gJGxtDes74=", + "narHash": "sha256-vW0GHUShUrTXa6qwEcJNhD/m5kbSlpzOIMj1/Kv77uk=", "type": "file", "url": "https://big.oisd.nl/domainswild" }, @@ -1129,11 +1127,11 @@ ] }, "locked": { - "lastModified": 1767281941, - "narHash": "sha256-6MkqajPICgugsuZ92OMoQcgSHnD6sJHwk8AxvMcIgTE=", + "lastModified": 1769069492, + "narHash": "sha256-Efs3VUPelRduf3PpfPP2ovEB4CXT7vHf8W+xc49RL/U=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "f0927703b7b1c8d97511c4116eb9b4ec6645a0fa", + "rev": "a1ef738813b15cf8ec759bdff5761b027e3e1d23", "type": "github" }, "original": { @@ -1206,11 +1204,11 @@ "nixpkgs": "nixpkgs_9" }, "locked": { - "lastModified": 1768032389, - "narHash": "sha256-BVpTd93G0XmAK1iXiBdhUA5Uvt+WmM1YL0mA4REcT68=", + "lastModified": 1769469829, + "narHash": "sha256-wFcr32ZqspCxk4+FvIxIL0AZktRs6DuF8oOsLt59YBU=", "owner": "Mic92", "repo": "sops-nix", - "rev": "a8cfe238b93166f9f96c0df67a94e572554ee624", + "rev": "c5eebd4eb2e3372fe12a8d70a248a6ee9dd02eff", "type": "github" }, "original": { @@ -1225,11 +1223,11 @@ "systems": "systems_6" }, "locked": { - "lastModified": 1767502559, - "narHash": "sha256-om0IPjW850vhhIrNZ5tiXjsYuqyoI44IdE+I9AwZ96I=", + "lastModified": 1769316930, + "narHash": "sha256-4EOGHYLpIscwr+6drHE28Qj7NDjjowp2Vd8QkXjdBBE=", "owner": "Gerg-L", "repo": "spicetify-nix", - "rev": "806c1fdeb7af3e013215d14f5d9f06685fa6650f", + "rev": "b2ce438f386943ef611e196a178af2d79042903b", "type": "github" }, "original": { From ec8d4b8ce76dfa9749a06e321d1340dc898629cf Mon Sep 17 00:00:00 2001 From: ahwx Date: Wed, 4 Feb 2026 23:23:32 +0100 Subject: [PATCH 10/13] flake: nix-darwin installations --- flake.lock | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/flake.lock b/flake.lock index 2cca3fb..bd89cb7 100644 --- a/flake.lock +++ b/flake.lock @@ -104,6 +104,23 @@ "url": "https://git.madhouse-project.org/algernon/avalanche.git" } }, + "brew-src": { + "flake": false, + "locked": { + "lastModified": 1769363988, + "narHash": "sha256-BiGPeulrDVetXP+tjxhMcGLUROZAtZIhU5m4MqawCfM=", + "owner": "Homebrew", + "repo": "brew", + "rev": "d01011cac6d72032c75fd2cd9489909e95d9faf2", + "type": "github" + }, + "original": { + "owner": "Homebrew", + "ref": "5.0.12", + "repo": "brew", + "type": "github" + } + }, "disko": { "inputs": { "nixpkgs": "nixpkgs_2" @@ -795,6 +812,45 @@ "url": "https://git.madhouse-project.org/iocaine/nam-shub-of-enki/archive/iocaine-3.x.tar.gz" } }, + "nix-darwin": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1770184146, + "narHash": "sha256-DsqnN6LvXmohTRaal7tVZO/AKBuZ02kPBiZKSU4qa/k=", + "owner": "nix-darwin", + "repo": "nix-darwin", + "rev": "0d7874ef7e3ba02d58bebb871e6e29da36fa1b37", + "type": "github" + }, + "original": { + "owner": "nix-darwin", + "ref": "master", + "repo": "nix-darwin", + "type": "github" + } + }, + "nix-homebrew": { + "inputs": { + "brew-src": "brew-src" + }, + "locked": { + "lastModified": 1769437432, + "narHash": "sha256-8d7KnCpT2LweRvSzZYEGd9IM3eFX+A78opcnDM0+ndk=", + "owner": "zhaofengli", + "repo": "nix-homebrew", + "rev": "a5409abd0d5013d79775d3419bcac10eacb9d8c5", + "type": "github" + }, + "original": { + "owner": "zhaofengli", + "repo": "nix-homebrew", + "type": "github" + } + }, "nixocaine": { "inputs": { "iocaine-stable": "iocaine-stable", @@ -1172,6 +1228,8 @@ "hypr-contrib": "hypr-contrib", "hyprland": "hyprland", "hyprland-plugins": "hyprland-plugins", + "nix-darwin": "nix-darwin", + "nix-homebrew": "nix-homebrew", "nixocaine": "nixocaine", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs_5", From 125c6ef98f3205ff9f7d474b07f982420e0bd4d2 Mon Sep 17 00:00:00 2001 From: ahwx Date: Wed, 4 Feb 2026 23:24:15 +0100 Subject: [PATCH 11/13] feat: copy over some more things from the default darwin flake --- hosts/azalea/default.nix | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/hosts/azalea/default.nix b/hosts/azalea/default.nix index fab7d42..5517758 100644 --- a/hosts/azalea/default.nix +++ b/hosts/azalea/default.nix @@ -13,8 +13,21 @@ #./../../modules/services/automount.nix ]; + environment.systemPackages = [ + pkgs.vim + ]; + security.pam.enableSudoTouchIdAuth = true; system.primaryUser = username; + + nix.settings.experimental-features = "nix-command flakes"; + + system.configurationRevision = self.rev or self.dirtyRev or null; + + system.stateVersion = 6; + + nixpkgs.hostPlatform = "aarch64-darwin"; + homebrew = { enable = true; onActivation = { @@ -27,7 +40,6 @@ no_quarantine = true; }; casks = [ - # "steam" "libreoffice" "signal" "handbrake" From 4965bf7ebf076154f87877d738890da9d34541b5 Mon Sep 17 00:00:00 2001 From: ahwx Date: Thu, 5 Feb 2026 13:21:41 +0100 Subject: [PATCH 12/13] flake: adds `homebrew-core` and `homebrew-cask` --- flake.lock | 34 ++++++++++++++++++++++++++++++++++ flake.nix | 12 +++++++++++- 2 files changed, 45 insertions(+), 1 deletion(-) diff --git a/flake.lock b/flake.lock index bd89cb7..172f7c2 100644 --- a/flake.lock +++ b/flake.lock @@ -353,6 +353,38 @@ "type": "github" } }, + "homebrew-cask": { + "flake": false, + "locked": { + "lastModified": 1770245750, + "narHash": "sha256-hWGcDAhwloJK0MGvu9v1aIY3tUphAYMYkbc3whaCHTY=", + "owner": "homebrew", + "repo": "homebrew-cask", + "rev": "e4f2be7badec7ede6128614daaa7a0ca8155d183", + "type": "github" + }, + "original": { + "owner": "homebrew", + "repo": "homebrew-cask", + "type": "github" + } + }, + "homebrew-core": { + "flake": false, + "locked": { + "lastModified": 1770252071, + "narHash": "sha256-d3ci+aTB1k5HyCTIoX/JmrhKgbXZVjE/aggVl6xYdFE=", + "owner": "homebrew", + "repo": "homebrew-core", + "rev": "520f413dc530506af8e624f9cbbedbb3b5e01677", + "type": "github" + }, + "original": { + "owner": "homebrew", + "repo": "homebrew-core", + "type": "github" + } + }, "hypr-contrib": { "inputs": { "nixpkgs": "nixpkgs_3" @@ -1225,6 +1257,8 @@ "alejandra": "alejandra", "disko": "disko", "home-manager": "home-manager", + "homebrew-cask": "homebrew-cask", + "homebrew-core": "homebrew-core", "hypr-contrib": "hypr-contrib", "hyprland": "hyprland", "hyprland-plugins": "hyprland-plugins", diff --git a/flake.nix b/flake.nix index f996697..7838d46 100644 --- a/flake.nix +++ b/flake.nix @@ -1,5 +1,5 @@ { - description = "liv's NixOS configuration"; + description = "liv's Nix configuration"; inputs = { alejandra.url = "github:kamadorueda/alejandra/3.0.0"; @@ -25,6 +25,16 @@ nix-darwin.url = "github:nix-darwin/nix-darwin/master"; nix-darwin.inputs.nixpkgs.follows = "nixpkgs"; nix-homebrew.url = "github:zhaofengli/nix-homebrew"; + + homebrew-core = { + url = "github:homebrew/homebrew-core"; + flake = false; + }; + + homebrew-cask = { + url = "github:homebrew/homebrew-cask"; + flake = false; + }; }; outputs = From f3564284d7b7f3b3c01c311de8b53b54eece56de Mon Sep 17 00:00:00 2001 From: ahwx Date: Thu, 5 Feb 2026 16:27:25 +0100 Subject: [PATCH 13/13] flake: fix inputs for darwin --- flake.lock | 14 +++++++------- flake.nix | 10 ++++++---- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/flake.lock b/flake.lock index 172f7c2..51d7eb9 100644 --- a/flake.lock +++ b/flake.lock @@ -851,16 +851,16 @@ ] }, "locked": { - "lastModified": 1770184146, - "narHash": "sha256-DsqnN6LvXmohTRaal7tVZO/AKBuZ02kPBiZKSU4qa/k=", + "lastModified": 1767634391, + "narHash": "sha256-owcSz2ICqTSvhBbhPP+1eWzi88e54rRZtfCNE5E/wwg=", "owner": "nix-darwin", "repo": "nix-darwin", - "rev": "0d7874ef7e3ba02d58bebb871e6e29da36fa1b37", + "rev": "08585aacc3d6d6c280a02da195fdbd4b9cf083c2", "type": "github" }, "original": { "owner": "nix-darwin", - "ref": "master", + "ref": "nix-darwin-25.11", "repo": "nix-darwin", "type": "github" } @@ -1117,11 +1117,11 @@ "nixvim": "nixvim_2" }, "locked": { - "lastModified": 1767307820, - "narHash": "sha256-5L9VbYzjeaq1npMXyAFFak9G/+c9akZoFummW7Een9c=", + "lastModified": 1770252550, + "narHash": "sha256-Yl6KsoJNONPQ4Q838wfF8wiNpppjaD1OrGnWwRxTrXU=", "owner": "ahwxorg", "repo": "nixvim-config", - "rev": "a0ff3802e67a281acc7ab957d716a994660bb3f9", + "rev": "de02f4a71a460e21fbfdf2e76b5cebe38635dfff", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 7838d46..69dea20 100644 --- a/flake.nix +++ b/flake.nix @@ -22,7 +22,7 @@ nixocaine.url = "https://git.madhouse-project.org/iocaine/nixocaine/archive/stable.tar.gz"; ai-robots-txt.url = "github:ai-robots-txt/ai.robots.txt"; ai-robots-txt.flake = false; - nix-darwin.url = "github:nix-darwin/nix-darwin/master"; + nix-darwin.url = "github:nix-darwin/nix-darwin/nix-darwin-25.11"; nix-darwin.inputs.nixpkgs.follows = "nixpkgs"; nix-homebrew.url = "github:zhaofengli/nix-homebrew"; @@ -56,13 +56,15 @@ { overlays.default = overlays.addition; darwinConfigurations = { - azalea = nix-darwin.lib.darwinSystem { + "azalea" = nix-darwin.lib.darwinSystem { system = "aarch64-darwin"; modules = [ (import ./hosts/azalea) ]; - host = "azalea"; - inherit self inputs username; + specialArgs = { + host = "sakura"; + inherit self inputs username; + }; }; }; nixosConfigurations = {