From a62346367f85cca911aedd2b1f49492ca65e3d4f Mon Sep 17 00:00:00 2001 From: tux Date: Sat, 2 May 2026 14:47:06 +0530 Subject: [PATCH] start fresh rewrite --- .sops.yaml | 57 - flake.lock | 2203 ----------------- flake.nix | 183 -- hosts/alpha/default.nix | 164 -- hosts/alpha/disko.nix | 53 - hosts/alpha/home.nix | 11 - hosts/alpha/secrets.yaml | 28 - hosts/arcturus/default.nix | 240 -- hosts/arcturus/disko.nix | 53 - hosts/arcturus/home.nix | 12 - hosts/arcturus/secrets.yaml | 39 - hosts/canopus/default.nix | 432 ---- hosts/canopus/disko.nix | 69 - hosts/canopus/hardware.nix | 30 - hosts/canopus/home.nix | 138 -- hosts/canopus/secrets.yaml | 28 - hosts/capella/default.nix | 63 - hosts/capella/home.nix | 35 - hosts/common/default.nix | 67 - hosts/common/home.nix | 44 - hosts/common/secrets.yaml | 88 - hosts/homelab/default.nix | 169 -- hosts/homelab/disko.nix | 48 - hosts/homelab/hardware.nix | 30 - hosts/homelab/home.nix | 21 - hosts/homelab/secrets.yaml | 28 - hosts/isoImage/default.nix | 91 - hosts/isoImage/home.nix | 19 - hosts/node/default.nix | 54 - hosts/node/disko.nix | 87 - hosts/node/hardware.nix | 29 - hosts/node/home.nix | 3 - hosts/rigel/default.nix | 63 - hosts/rigel/home.nix | 35 - hosts/sirius/default.nix | 79 - hosts/sirius/home.nix | 3 - hosts/sirius/secrets.yaml | 27 - hosts/vega/default.nix | 67 - hosts/vega/hardware.nix | 36 - hosts/vega/home.nix | 3 - hosts/vps/default.nix | 102 - hosts/vps/disko.nix | 53 - hosts/vps/home.nix | 11 - modules/base/default.nix | 11 - modules/base/nh.nix | 16 - modules/base/nix.nix | 37 - modules/base/nixpkgs.nix | 8 - modules/base/overlays.nix | 9 - modules/base/sops.nix | 20 - modules/base/substituters.nix | 27 - modules/base/user.nix | 20 - modules/droid/sshd.nix | 106 - modules/home/alacritty/default.nix | 69 - modules/home/aria2/default.nix | 44 - modules/home/bitwarden/default.nix | 17 - modules/home/brave/default.nix | 33 - modules/home/desktop/awesome/default.nix | 8 - modules/home/desktop/hyprland/default.nix | 306 --- modules/home/desktop/hyprland/hyprlock.nix | 47 - modules/home/desktop/hyprland/hyprpaper.nix | 19 - modules/home/desktop/mango/default.nix | 225 -- modules/home/desktop/rofi/default.nix | 317 --- modules/home/desktop/utils/default.nix | 32 - modules/home/desktop/vicinae/default.nix | 70 - modules/home/desktop/waybar/default.nix | 338 --- modules/home/discord/default.nix | 40 - modules/home/easyeffects/default.nix | 3 - modules/home/fastfetch/default.nix | 69 - modules/home/firefox/default.nix | 73 - modules/home/floorp/default.nix | 46 - modules/home/ghostty/default.nix | 40 - modules/home/git/default.nix | 22 - modules/home/helix/default.nix | 37 - modules/home/kdeconnect/default.nix | 6 - modules/home/lan-mouse/default.nix | 19 - modules/home/librewolf/default.nix | 5 - modules/home/mopidy/default.nix | 38 - modules/home/nvim/default.nix | 40 - modules/home/picom/default.nix | 64 - modules/home/shell/default.nix | 100 - modules/home/shell/lazygit.nix | 171 -- modules/home/shell/open-code.nix | 22 - modules/home/shell/superfile.nix | 41 - modules/home/spotify/default.nix | 32 - modules/home/starship/default.nix | 50 - modules/home/thunderbird/default.nix | 9 - modules/home/tmux/default.nix | 136 - modules/home/vs-code/default.nix | 76 - modules/home/wezterm/default.nix | 29 - modules/home/zed/default.nix | 28 - modules/nixos/desktop/awesome/default.nix | 70 - modules/nixos/desktop/default.nix | 55 - modules/nixos/desktop/hyprland/default.nix | 28 - modules/nixos/desktop/mango/default.nix | 26 - modules/nixos/distrobox.nix | 112 - modules/nixos/fail2ban.nix | 32 - modules/nixos/networking/ssh.nix | 69 - modules/nixos/obs-studio.nix | 7 - modules/nixos/selfhosted/adguard.nix | 8 - .../selfhosted/containers/aiostreams.nix | 61 - modules/nixos/selfhosted/containers/cs2.nix | 61 - modules/nixos/selfhosted/cyber-tux.nix | 86 - modules/nixos/selfhosted/gitea.nix | 29 - modules/nixos/selfhosted/glance/default.nix | 43 - modules/nixos/selfhosted/glance/home.nix | 86 - modules/nixos/selfhosted/headscale.nix | 65 - modules/nixos/selfhosted/kasmweb.nix | 24 - .../nixos/selfhosted/monitoring/grafana.nix | 45 - modules/nixos/selfhosted/monitoring/loki.nix | 77 - .../nixos/selfhosted/monitoring/promtail.nix | 55 - modules/nixos/selfhosted/nextcloud.nix | 50 - modules/nixos/selfhosted/ntfy-sh.nix | 28 - modules/nixos/selfhosted/open-webui.nix | 35 - modules/nixos/selfhosted/plausible.nix | 39 - modules/nixos/selfhosted/postgresql.nix | 97 - modules/nixos/selfhosted/rustdesk-server.nix | 9 - modules/nixos/selfhosted/searx.nix | 43 - modules/nixos/selfhosted/send.nix | 33 - modules/nixos/selfhosted/silver-bullet.nix | 28 - modules/nixos/selfhosted/tfolio.nix | 102 - modules/nixos/selfhosted/umami.nix | 32 - modules/nixos/selfhosted/upstream-proxy.nix | 60 - modules/nixos/selfhosted/uptime-kuma.nix | 22 - modules/nixos/selfhosted/vaultwarden.nix | 29 - modules/nixos/selfhosted/wakapi.nix | 50 - modules/nixos/steam.nix | 7 - modules/nixos/virtualisation/default.nix | 7 - modules/nixos/virtualisation/docker.nix | 14 - modules/nixos/virtualisation/qemu.nix | 22 - modules/nixos/virtualisation/waydroid.nix | 5 - overlays/default.nix | 33 - pkgs/default.nix | 5 - pkgs/firefox-mod-blur/default.nix | 29 - pkgs/go-wol/default.nix | 27 - pkgs/plymouth-spinner-monochrome/default.nix | 23 - .../src/animation-0001.png | Bin 1579 -> 0 bytes .../src/animation-0002.png | Bin 1573 -> 0 bytes .../src/animation-0003.png | Bin 1591 -> 0 bytes .../src/animation-0004.png | Bin 1594 -> 0 bytes .../src/animation-0005.png | Bin 1624 -> 0 bytes .../src/animation-0006.png | Bin 1646 -> 0 bytes .../src/animation-0007.png | Bin 1666 -> 0 bytes .../src/animation-0008.png | Bin 1634 -> 0 bytes .../src/animation-0009.png | Bin 1640 -> 0 bytes .../src/animation-0010.png | Bin 1613 -> 0 bytes .../src/animation-0011.png | Bin 1621 -> 0 bytes .../src/animation-0012.png | Bin 1619 -> 0 bytes .../src/animation-0013.png | Bin 1617 -> 0 bytes .../src/animation-0014.png | Bin 1618 -> 0 bytes .../src/animation-0015.png | Bin 1615 -> 0 bytes .../src/animation-0016.png | Bin 1605 -> 0 bytes .../src/animation-0017.png | Bin 1581 -> 0 bytes .../src/animation-0018.png | Bin 1582 -> 0 bytes .../src/animation-0019.png | Bin 1578 -> 0 bytes .../src/animation-0020.png | Bin 1558 -> 0 bytes .../src/animation-0021.png | Bin 1545 -> 0 bytes .../src/animation-0022.png | Bin 1541 -> 0 bytes .../src/animation-0023.png | Bin 1481 -> 0 bytes .../src/animation-0024.png | Bin 1492 -> 0 bytes .../src/animation-0025.png | Bin 1455 -> 0 bytes .../src/animation-0026.png | Bin 1427 -> 0 bytes .../src/animation-0027.png | Bin 1407 -> 0 bytes .../src/animation-0028.png | Bin 1385 -> 0 bytes .../src/animation-0029.png | Bin 1348 -> 0 bytes .../src/animation-0030.png | Bin 1316 -> 0 bytes .../src/animation-0031.png | Bin 1245 -> 0 bytes .../src/animation-0032.png | Bin 1185 -> 0 bytes .../src/animation-0033.png | Bin 1111 -> 0 bytes .../src/animation-0034.png | Bin 1061 -> 0 bytes .../src/animation-0035.png | Bin 981 -> 0 bytes .../src/animation-0036.png | Bin 989 -> 0 bytes .../src/bullet.png | Bin 616 -> 0 bytes .../src/capslock.png | Bin 960 -> 0 bytes .../plymouth-spinner-monochrome/src/entry.png | Bin 1751 -> 0 bytes .../src/keyboard.png | Bin 946 -> 0 bytes .../src/keymap-render.png | Bin 26362 -> 0 bytes pkgs/plymouth-spinner-monochrome/src/lock.png | Bin 917 -> 0 bytes .../src/spinner-monochrome.plymouth | 79 - .../src/throbber-0001.png | Bin 1578 -> 0 bytes .../src/throbber-0002.png | Bin 1568 -> 0 bytes .../src/throbber-0003.png | Bin 1561 -> 0 bytes .../src/throbber-0004.png | Bin 1570 -> 0 bytes .../src/throbber-0005.png | Bin 1585 -> 0 bytes .../src/throbber-0006.png | Bin 1597 -> 0 bytes .../src/throbber-0007.png | Bin 1629 -> 0 bytes .../src/throbber-0008.png | Bin 1604 -> 0 bytes .../src/throbber-0009.png | Bin 1605 -> 0 bytes .../src/throbber-0010.png | Bin 1601 -> 0 bytes .../src/throbber-0011.png | Bin 1595 -> 0 bytes .../src/throbber-0012.png | Bin 1602 -> 0 bytes .../src/throbber-0013.png | Bin 1612 -> 0 bytes .../src/throbber-0014.png | Bin 1601 -> 0 bytes .../src/throbber-0015.png | Bin 1588 -> 0 bytes .../src/throbber-0016.png | Bin 1577 -> 0 bytes .../src/throbber-0017.png | Bin 1572 -> 0 bytes .../src/throbber-0018.png | Bin 1601 -> 0 bytes .../src/throbber-0019.png | Bin 1608 -> 0 bytes .../src/throbber-0020.png | Bin 1583 -> 0 bytes .../src/throbber-0021.png | Bin 1602 -> 0 bytes .../src/throbber-0022.png | Bin 1595 -> 0 bytes .../src/throbber-0023.png | Bin 1603 -> 0 bytes .../src/throbber-0024.png | Bin 1605 -> 0 bytes .../src/throbber-0025.png | Bin 1604 -> 0 bytes .../src/throbber-0026.png | Bin 1605 -> 0 bytes .../src/throbber-0027.png | Bin 1615 -> 0 bytes .../src/throbber-0028.png | Bin 1614 -> 0 bytes .../src/throbber-0029.png | Bin 1588 -> 0 bytes .../src/throbber-0030.png | Bin 1580 -> 0 bytes 208 files changed, 10017 deletions(-) delete mode 100644 .sops.yaml delete mode 100755 flake.lock delete mode 100755 flake.nix delete mode 100644 hosts/alpha/default.nix delete mode 100644 hosts/alpha/disko.nix delete mode 100644 hosts/alpha/home.nix delete mode 100644 hosts/alpha/secrets.yaml delete mode 100644 hosts/arcturus/default.nix delete mode 100644 hosts/arcturus/disko.nix delete mode 100644 hosts/arcturus/home.nix delete mode 100644 hosts/arcturus/secrets.yaml delete mode 100755 hosts/canopus/default.nix delete mode 100644 hosts/canopus/disko.nix delete mode 100755 hosts/canopus/hardware.nix delete mode 100644 hosts/canopus/home.nix delete mode 100644 hosts/canopus/secrets.yaml delete mode 100644 hosts/capella/default.nix delete mode 100644 hosts/capella/home.nix delete mode 100644 hosts/common/default.nix delete mode 100644 hosts/common/home.nix delete mode 100644 hosts/common/secrets.yaml delete mode 100755 hosts/homelab/default.nix delete mode 100644 hosts/homelab/disko.nix delete mode 100755 hosts/homelab/hardware.nix delete mode 100644 hosts/homelab/home.nix delete mode 100644 hosts/homelab/secrets.yaml delete mode 100644 hosts/isoImage/default.nix delete mode 100644 hosts/isoImage/home.nix delete mode 100755 hosts/node/default.nix delete mode 100644 hosts/node/disko.nix delete mode 100644 hosts/node/hardware.nix delete mode 100644 hosts/node/home.nix delete mode 100644 hosts/rigel/default.nix delete mode 100644 hosts/rigel/home.nix delete mode 100644 hosts/sirius/default.nix delete mode 100644 hosts/sirius/home.nix delete mode 100644 hosts/sirius/secrets.yaml delete mode 100644 hosts/vega/default.nix delete mode 100644 hosts/vega/hardware.nix delete mode 100644 hosts/vega/home.nix delete mode 100644 hosts/vps/default.nix delete mode 100644 hosts/vps/disko.nix delete mode 100644 hosts/vps/home.nix delete mode 100644 modules/base/default.nix delete mode 100644 modules/base/nh.nix delete mode 100644 modules/base/nix.nix delete mode 100644 modules/base/nixpkgs.nix delete mode 100644 modules/base/overlays.nix delete mode 100644 modules/base/sops.nix delete mode 100644 modules/base/substituters.nix delete mode 100644 modules/base/user.nix delete mode 100644 modules/droid/sshd.nix delete mode 100755 modules/home/alacritty/default.nix delete mode 100644 modules/home/aria2/default.nix delete mode 100644 modules/home/bitwarden/default.nix delete mode 100644 modules/home/brave/default.nix delete mode 100644 modules/home/desktop/awesome/default.nix delete mode 100644 modules/home/desktop/hyprland/default.nix delete mode 100644 modules/home/desktop/hyprland/hyprlock.nix delete mode 100644 modules/home/desktop/hyprland/hyprpaper.nix delete mode 100644 modules/home/desktop/mango/default.nix delete mode 100644 modules/home/desktop/rofi/default.nix delete mode 100644 modules/home/desktop/utils/default.nix delete mode 100644 modules/home/desktop/vicinae/default.nix delete mode 100644 modules/home/desktop/waybar/default.nix delete mode 100644 modules/home/discord/default.nix delete mode 100644 modules/home/easyeffects/default.nix delete mode 100644 modules/home/fastfetch/default.nix delete mode 100644 modules/home/firefox/default.nix delete mode 100644 modules/home/floorp/default.nix delete mode 100644 modules/home/ghostty/default.nix delete mode 100755 modules/home/git/default.nix delete mode 100644 modules/home/helix/default.nix delete mode 100644 modules/home/kdeconnect/default.nix delete mode 100644 modules/home/lan-mouse/default.nix delete mode 100644 modules/home/librewolf/default.nix delete mode 100644 modules/home/mopidy/default.nix delete mode 100755 modules/home/nvim/default.nix delete mode 100644 modules/home/picom/default.nix delete mode 100755 modules/home/shell/default.nix delete mode 100644 modules/home/shell/lazygit.nix delete mode 100644 modules/home/shell/open-code.nix delete mode 100644 modules/home/shell/superfile.nix delete mode 100644 modules/home/spotify/default.nix delete mode 100755 modules/home/starship/default.nix delete mode 100644 modules/home/thunderbird/default.nix delete mode 100644 modules/home/tmux/default.nix delete mode 100644 modules/home/vs-code/default.nix delete mode 100644 modules/home/wezterm/default.nix delete mode 100644 modules/home/zed/default.nix delete mode 100755 modules/nixos/desktop/awesome/default.nix delete mode 100644 modules/nixos/desktop/default.nix delete mode 100644 modules/nixos/desktop/hyprland/default.nix delete mode 100644 modules/nixos/desktop/mango/default.nix delete mode 100644 modules/nixos/distrobox.nix delete mode 100644 modules/nixos/fail2ban.nix delete mode 100644 modules/nixos/networking/ssh.nix delete mode 100644 modules/nixos/obs-studio.nix delete mode 100644 modules/nixos/selfhosted/adguard.nix delete mode 100644 modules/nixos/selfhosted/containers/aiostreams.nix delete mode 100644 modules/nixos/selfhosted/containers/cs2.nix delete mode 100644 modules/nixos/selfhosted/cyber-tux.nix delete mode 100644 modules/nixos/selfhosted/gitea.nix delete mode 100644 modules/nixos/selfhosted/glance/default.nix delete mode 100644 modules/nixos/selfhosted/glance/home.nix delete mode 100644 modules/nixos/selfhosted/headscale.nix delete mode 100644 modules/nixos/selfhosted/kasmweb.nix delete mode 100644 modules/nixos/selfhosted/monitoring/grafana.nix delete mode 100644 modules/nixos/selfhosted/monitoring/loki.nix delete mode 100644 modules/nixos/selfhosted/monitoring/promtail.nix delete mode 100644 modules/nixos/selfhosted/nextcloud.nix delete mode 100644 modules/nixos/selfhosted/ntfy-sh.nix delete mode 100644 modules/nixos/selfhosted/open-webui.nix delete mode 100644 modules/nixos/selfhosted/plausible.nix delete mode 100644 modules/nixos/selfhosted/postgresql.nix delete mode 100644 modules/nixos/selfhosted/rustdesk-server.nix delete mode 100644 modules/nixos/selfhosted/searx.nix delete mode 100644 modules/nixos/selfhosted/send.nix delete mode 100644 modules/nixos/selfhosted/silver-bullet.nix delete mode 100644 modules/nixos/selfhosted/tfolio.nix delete mode 100644 modules/nixos/selfhosted/umami.nix delete mode 100644 modules/nixos/selfhosted/upstream-proxy.nix delete mode 100644 modules/nixos/selfhosted/uptime-kuma.nix delete mode 100644 modules/nixos/selfhosted/vaultwarden.nix delete mode 100644 modules/nixos/selfhosted/wakapi.nix delete mode 100644 modules/nixos/steam.nix delete mode 100755 modules/nixos/virtualisation/default.nix delete mode 100755 modules/nixos/virtualisation/docker.nix delete mode 100755 modules/nixos/virtualisation/qemu.nix delete mode 100755 modules/nixos/virtualisation/waydroid.nix delete mode 100755 overlays/default.nix delete mode 100755 pkgs/default.nix delete mode 100644 pkgs/firefox-mod-blur/default.nix delete mode 100644 pkgs/go-wol/default.nix delete mode 100644 pkgs/plymouth-spinner-monochrome/default.nix delete mode 100644 pkgs/plymouth-spinner-monochrome/src/animation-0001.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/animation-0002.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/animation-0003.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/animation-0004.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/animation-0005.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/animation-0006.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/animation-0007.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/animation-0008.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/animation-0009.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/animation-0010.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/animation-0011.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/animation-0012.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/animation-0013.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/animation-0014.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/animation-0015.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/animation-0016.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/animation-0017.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/animation-0018.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/animation-0019.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/animation-0020.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/animation-0021.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/animation-0022.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/animation-0023.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/animation-0024.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/animation-0025.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/animation-0026.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/animation-0027.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/animation-0028.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/animation-0029.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/animation-0030.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/animation-0031.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/animation-0032.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/animation-0033.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/animation-0034.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/animation-0035.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/animation-0036.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/bullet.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/capslock.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/entry.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/keyboard.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/keymap-render.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/lock.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/spinner-monochrome.plymouth delete mode 100644 pkgs/plymouth-spinner-monochrome/src/throbber-0001.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/throbber-0002.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/throbber-0003.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/throbber-0004.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/throbber-0005.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/throbber-0006.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/throbber-0007.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/throbber-0008.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/throbber-0009.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/throbber-0010.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/throbber-0011.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/throbber-0012.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/throbber-0013.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/throbber-0014.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/throbber-0015.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/throbber-0016.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/throbber-0017.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/throbber-0018.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/throbber-0019.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/throbber-0020.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/throbber-0021.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/throbber-0022.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/throbber-0023.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/throbber-0024.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/throbber-0025.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/throbber-0026.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/throbber-0027.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/throbber-0028.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/throbber-0029.png delete mode 100644 pkgs/plymouth-spinner-monochrome/src/throbber-0030.png diff --git a/.sops.yaml b/.sops.yaml deleted file mode 100644 index bc47ed3..0000000 --- a/.sops.yaml +++ /dev/null @@ -1,57 +0,0 @@ -keys: - - &users - - &tux age14vktfes95f33vuefwnmuvryas7az04u76dsgyhfvsx73czkvmp2q7njkl4 - - - &hosts - - &sirius age1f860dfewlx5jtt9ejr47gywx70p3dmyc8mat29gpr75psljwjv8q5xyxkq - - &canopus age1x36yr8h993srfj29sfpzt4wyz52nztvncpmhgmfs0j26qvfecq3qvcm0an - - &homelab age1jg642q775gmnmxeu29gcf3lph8vem4xr8t84cxe809dpd0myrussh49h60 - - &arcturus age1zsl5d4vj6gl3h96y5p53sq5y4vr4vtlwp727h7rp9a4xfkxm53lqrh6r50 - - &alpha age1zujp5gxy7suv8ysnygv43cmzuvv36nxfg0ch7r3xg2emc6fz3vmqqujheq - - &vega age1ydkclhk9kwqdq74utesqdfupt43lz64d5k65gz2z9uyljcqq9fcq3hv28l - - &node age1put942dyhly8nk9c8n0h8tq0x6xplrg3uw5q0d2jmvwez3zq79qsapl7he - - &capella age1y4luzn2jls7rvgphej23srvdlx563lxq29tvf66vhwwzaf7c3f3qzvresh - -creation_rules: - - path_regex: hosts/common/secrets.yaml$ - key_groups: - - age: - - *tux - - *sirius - - *canopus - - *homelab - - *arcturus - - *alpha - - *vega - - *node - - *capella - - path_regex: hosts/sirius/secrets.yaml$ - key_groups: - - age: - - *tux - - *sirius - - path_regex: hosts/canopus/secrets.yaml$ - key_groups: - - age: - - *tux - - *canopus - - path_regex: hosts/arcturus/secrets.yaml$ - key_groups: - - age: - - *tux - - *arcturus - - path_regex: hosts/alpha/secrets.yaml$ - key_groups: - - age: - - *tux - - *alpha - - path_regex: hosts/capella/secrets.yaml$ - key_groups: - - age: - - *tux - - *capella - - path_regex: hosts/homelab/secrets.yaml$ - key_groups: - - age: - - *tux - - *homelab diff --git a/flake.lock b/flake.lock deleted file mode 100755 index 6a1ac9f..0000000 --- a/flake.lock +++ /dev/null @@ -1,2203 +0,0 @@ -{ - "nodes": { - "ags": { - "inputs": { - "astal": "astal", - "nixpkgs": [ - "tpanel", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1764289441, - "narHash": "sha256-ak+lgFiYE5PHByN1/BRkO5JP498hno6Ix24C1Qf/vec=", - "owner": "aylur", - "repo": "ags", - "rev": "e169694390548dfd38ff40f1ef2163d6c3ffe3ea", - "type": "github" - }, - "original": { - "owner": "aylur", - "repo": "ags", - "type": "github" - } - }, - "aquamarine": { - "inputs": { - "hyprutils": [ - "hyprland", - "hyprutils" - ], - "hyprwayland-scanner": [ - "hyprland", - "hyprwayland-scanner" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1776876344, - "narHash": "sha256-Ubqb/agkuMJK+k19gjQgHux/eOYRc1sRGoOZOho8+VY=", - "owner": "hyprwm", - "repo": "aquamarine", - "rev": "648a13d0ee1e03a843b3e145b8ece15393058701", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "aquamarine", - "type": "github" - } - }, - "astal": { - "inputs": { - "nixpkgs": [ - "tpanel", - "ags", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1764173295, - "narHash": "sha256-Jh4VtPcK2Ov+RTcV9FtyQRsxiJmXFQGfqX6jjM7/mgc=", - "owner": "aylur", - "repo": "astal", - "rev": "7d1fac8a4b2a14954843a978d2ddde86168c75ef", - "type": "github" - }, - "original": { - "owner": "aylur", - "repo": "astal", - "type": "github" - } - }, - "awww": { - "inputs": { - "flake-compat": "flake-compat", - "nixpkgs": "nixpkgs", - "rust-overlay": "rust-overlay" - }, - "locked": { - "lastModified": 1777136912, - "narHash": "sha256-owyQdC2vi0kYC119fzyVQp0J4G0t1n4xXUwryhlBbqA=", - "ref": "refs/heads/main", - "rev": "f66e12a76dbc4c669b2f1375f78bce49f5b19d66", - "revCount": 1363, - "type": "git", - "url": "https://codeberg.org/LGFae/awww" - }, - "original": { - "type": "git", - "url": "https://codeberg.org/LGFae/awww" - } - }, - "cyber-tux": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1739652548, - "narHash": "sha256-J4mL4DyRFTsEKlratZsbC9tm2i6Mzr6dEhetKk4jABM=", - "ref": "refs/heads/main", - "rev": "4ada9e2f0d3b6639627601d3f06128c953c2b446", - "revCount": 11, - "type": "git", - "url": "ssh://git@github.com/tuxdotrs/cyber-tux.git" - }, - "original": { - "type": "git", - "url": "ssh://git@github.com/tuxdotrs/cyber-tux.git" - } - }, - "deploy-rs": { - "inputs": { - "flake-compat": "flake-compat_2", - "nixpkgs": "nixpkgs_2", - "utils": "utils" - }, - "locked": { - "lastModified": 1770019181, - "narHash": "sha256-hwsYgDnby50JNVpTRYlF3UR/Rrpt01OrxVuryF40CFY=", - "owner": "serokell", - "repo": "deploy-rs", - "rev": "77c906c0ba56aabdbc72041bf9111b565cdd6171", - "type": "github" - }, - "original": { - "owner": "serokell", - "repo": "deploy-rs", - "type": "github" - } - }, - "disko": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1776613567, - "narHash": "sha256-gC9Cp5ibBmGD5awCA9z7xy6MW6iJufhazTYJOiGlCUI=", - "owner": "nix-community", - "repo": "disko", - "rev": "32f4236bfc141ae930b5ba2fb604f561fed5219d", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "disko", - "type": "github" - } - }, - "emacs": { - "inputs": { - "nixpkgs": "nixpkgs_9", - "nixpkgs-stable": "nixpkgs-stable" - }, - "locked": { - "lastModified": 1777171226, - "narHash": "sha256-nEH9cLA1CRj5JAIjNHBqIam3SCetPNNVCqs8pc1SRao=", - "owner": "nix-community", - "repo": "emacs-overlay", - "rev": "ef37c2288f4e1f709f0317757527f52c8563651b", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "emacs-overlay", - "type": "github" - } - }, - "fenix": { - "inputs": { - "nixpkgs": [ - "nixpkgs-f2k", - "nixpkgs-fmt", - "nixpkgs" - ], - "rust-analyzer-src": "rust-analyzer-src" - }, - "locked": { - "lastModified": 1637475807, - "narHash": "sha256-E3nzOvlzZXwyo8Stp5upKsTCDcqUTYAFj4EC060A31c=", - "owner": "nix-community", - "repo": "fenix", - "rev": "960e7fef45692a4fffc6df6d6b613b0399bbdfd5", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "fenix", - "type": "github" - } - }, - "flake-compat": { - "flake": false, - "locked": { - "lastModified": 1761588595, - "narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_2": { - "flake": false, - "locked": { - "lastModified": 1733328505, - "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_3": { - "flake": false, - "locked": { - "lastModified": 1761588595, - "narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_4": { - "flake": false, - "locked": { - "lastModified": 1767039857, - "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", - "owner": "NixOS", - "repo": "flake-compat", - "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", - "type": "github" - }, - "original": { - "owner": "NixOS", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_5": { - "locked": { - "lastModified": 1733328505, - "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", - "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", - "revCount": 69, - "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz" - }, - "original": { - "type": "tarball", - "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" - } - }, - "flake-compat_6": { - "flake": false, - "locked": { - "lastModified": 1767039857, - "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_7": { - "flake": false, - "locked": { - "lastModified": 1767039857, - "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", - "owner": "NixOS", - "repo": "flake-compat", - "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", - "type": "github" - }, - "original": { - "owner": "NixOS", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-parts": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib" - }, - "locked": { - "lastModified": 1749398372, - "narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-parts_2": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib_2" - }, - "locked": { - "lastModified": 1775087534, - "narHash": "sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-parts_3": { - "inputs": { - "nixpkgs-lib": [ - "nur", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1733312601, - "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-utils": { - "locked": { - "lastModified": 1637014545, - "narHash": "sha256-26IZAc5yzlD9FlDT54io1oqG/bBoyka+FJk5guaX4x4=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "bba5dcc8e0b20ab664967ad83d24d64cb64ec4f4", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_2": { - "inputs": { - "systems": "systems_5" - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "freetype2": { - "flake": false, - "locked": { - "lastModified": 1723459814, - "narHash": "sha256-4l90lDtpgm5xlh2m7ifrqNy373DTRTULRkAzicrM93c=", - "owner": "freetype", - "repo": "freetype", - "rev": "42608f77f20749dd6ddc9e0536788eaad70ea4b5", - "type": "github" - }, - "original": { - "owner": "freetype", - "ref": "VER-2-13-3", - "repo": "freetype", - "type": "github" - } - }, - "ghostty": { - "inputs": { - "flake-compat": "flake-compat_3", - "home-manager": "home-manager", - "nixpkgs": "nixpkgs_3", - "systems": "systems_2", - "zig": "zig", - "zon2nix": "zon2nix" - }, - "locked": { - "lastModified": 1777175394, - "narHash": "sha256-O85asIMCDEZotzFUzgQ+6neoIxEgotjOKvmfNg1fkq0=", - "owner": "ghostty-org", - "repo": "ghostty", - "rev": "c74f6d56d1feef473033057bc0ff7e3f00cf6421", - "type": "github" - }, - "original": { - "owner": "ghostty-org", - "repo": "ghostty", - "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" - } - }, - "harfbuzz": { - "flake": false, - "locked": { - "lastModified": 1747068667, - "narHash": "sha256-VxN0lsFnW0vHnIXZ806Lg2NU0/ESnE6z249mXPhfas8=", - "owner": "harfbuzz", - "repo": "harfbuzz", - "rev": "33a3f8de60dcad7535f14f07d6710144548853ac", - "type": "github" - }, - "original": { - "owner": "harfbuzz", - "ref": "11.2.1", - "repo": "harfbuzz", - "type": "github" - } - }, - "home-manager": { - "inputs": { - "nixpkgs": [ - "ghostty", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1770586272, - "narHash": "sha256-Ucci8mu8QfxwzyfER2DQDbvW9t1BnTUJhBmY7ybralo=", - "owner": "nix-community", - "repo": "home-manager", - "rev": "b1f916ba052341edc1f80d4b2399f1092a4873ca", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "home-manager", - "type": "github" - } - }, - "home-manager_2": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1777218285, - "narHash": "sha256-d2FY71SBVKVbT1PsfXA71jz0vD520NijS4lrcvUMeGk=", - "owner": "nix-community", - "repo": "home-manager", - "rev": "c55c498c9aa205b16cca78b57a7275625726d532", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "home-manager", - "type": "github" - } - }, - "home-manager_3": { - "inputs": { - "nixpkgs": [ - "impermanence", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1768598210, - "narHash": "sha256-kkgA32s/f4jaa4UG+2f8C225Qvclxnqs76mf8zvTVPg=", - "owner": "nix-community", - "repo": "home-manager", - "rev": "c47b2cc64a629f8e075de52e4742de688f930dc6", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "home-manager", - "type": "github" - } - }, - "hyprcursor": { - "inputs": { - "hyprlang": [ - "hyprland", - "hyprlang" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1776511930, - "narHash": "sha256-fCpwFiTW0rT7oKJqr3cqHMnkwypSwQKpbtUEtxdkgrM=", - "owner": "hyprwm", - "repo": "hyprcursor", - "rev": "39435900785d0c560c6ae8777d29f28617d031ef", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprcursor", - "type": "github" - } - }, - "hyprgraphics": { - "inputs": { - "hyprutils": [ - "hyprland", - "hyprutils" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1776426399, - "narHash": "sha256-RUESLKNikIeEq9ymGJ6nmcDXiSFQpUW1IhJ245nL3xM=", - "owner": "hyprwm", - "repo": "hyprgraphics", - "rev": "68d064434787cf1ed4a2fe257c03c5f52f33cf84", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprgraphics", - "type": "github" - } - }, - "hyprland": { - "inputs": { - "aquamarine": "aquamarine", - "hyprcursor": "hyprcursor", - "hyprgraphics": "hyprgraphics", - "hyprland-guiutils": "hyprland-guiutils", - "hyprland-protocols": "hyprland-protocols", - "hyprlang": "hyprlang", - "hyprutils": "hyprutils", - "hyprwayland-scanner": "hyprwayland-scanner", - "hyprwire": "hyprwire", - "nixpkgs": "nixpkgs_4", - "pre-commit-hooks": "pre-commit-hooks", - "systems": "systems_3", - "xdph": "xdph" - }, - "locked": { - "lastModified": 1777227673, - "narHash": "sha256-nORN5YGU0T2PnvgpMc7ukPWza27oVtTTquCGOhpEV+A=", - "owner": "hyprwm", - "repo": "Hyprland", - "rev": "84d45bd13acce0b16c8f86e83144f22b18d9398e", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "Hyprland", - "type": "github" - } - }, - "hyprland-guiutils": { - "inputs": { - "aquamarine": [ - "hyprland", - "aquamarine" - ], - "hyprgraphics": [ - "hyprland", - "hyprgraphics" - ], - "hyprlang": [ - "hyprland", - "hyprlang" - ], - "hyprtoolkit": "hyprtoolkit", - "hyprutils": [ - "hyprland", - "hyprutils" - ], - "hyprwayland-scanner": [ - "hyprland", - "hyprwayland-scanner" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1776426575, - "narHash": "sha256-KI6nIfVihn/DPaeB5Et46Xg3dkNHrrEtUd5LBBVomB0=", - "owner": "hyprwm", - "repo": "hyprland-guiutils", - "rev": "a968d211048e3ed538e47b84cb3649299578f19d", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprland-guiutils", - "type": "github" - } - }, - "hyprland-plugins": { - "inputs": { - "hyprland": [ - "hyprland" - ], - "nixpkgs": [ - "hyprland-plugins", - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland-plugins", - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1777220105, - "narHash": "sha256-M9JZK+8GVKAIVdQpcCG/49zBF3ylxO8zxW+hVjM5QpE=", - "owner": "hyprwm", - "repo": "hyprland-plugins", - "rev": "dbe221941a5095e1b381ac460a152cf173b108b8", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprland-plugins", - "type": "github" - } - }, - "hyprland-protocols": { - "inputs": { - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1772460177, - "narHash": "sha256-/6G/MsPvtn7bc4Y32pserBT/Z4SUUdBd4XYJpOEKVR4=", - "owner": "hyprwm", - "repo": "hyprland-protocols", - "rev": "1cb6db5fd6bb8aee419f4457402fa18293ace917", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprland-protocols", - "type": "github" - } - }, - "hyprlang": { - "inputs": { - "hyprutils": [ - "hyprland", - "hyprutils" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1776426736, - "narHash": "sha256-rl7i4aY+9p8LysJp7o8uRWahCkpFznCgGHXszlTw7b0=", - "owner": "hyprwm", - "repo": "hyprlang", - "rev": "7833ff33b2e82d3406337b5dcf0d1cec595d83e9", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprlang", - "type": "github" - } - }, - "hyprtoolkit": { - "inputs": { - "aquamarine": [ - "hyprland", - "hyprland-guiutils", - "aquamarine" - ], - "hyprgraphics": [ - "hyprland", - "hyprland-guiutils", - "hyprgraphics" - ], - "hyprlang": [ - "hyprland", - "hyprland-guiutils", - "hyprlang" - ], - "hyprutils": [ - "hyprland", - "hyprland-guiutils", - "hyprutils" - ], - "hyprwayland-scanner": [ - "hyprland", - "hyprland-guiutils", - "hyprwayland-scanner" - ], - "nixpkgs": [ - "hyprland", - "hyprland-guiutils", - "nixpkgs" - ], - "systems": [ - "hyprland", - "hyprland-guiutils", - "systems" - ] - }, - "locked": { - "lastModified": 1772462885, - "narHash": "sha256-5pHXrQK9zasMnIo6yME6EOXmWGFMSnCITcfKshhKJ9I=", - "owner": "hyprwm", - "repo": "hyprtoolkit", - "rev": "9af245a69fa6b286b88ddfc340afd288e00a6998", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprtoolkit", - "type": "github" - } - }, - "hyprutils": { - "inputs": { - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1777148223, - "narHash": "sha256-PTf7kRFFzCW6rIYxLH2fWfVJmj86FSYe3k6L8B+IM9o=", - "owner": "hyprwm", - "repo": "hyprutils", - "rev": "fa3992be2dfebe4ab06d753c6ca59bea298e798f", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprutils", - "type": "github" - } - }, - "hyprwayland-scanner": { - "inputs": { - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1777148232, - "narHash": "sha256-Uv0WZLhu89SafuSOmYDA7akrPt4wBRmsa1ucasO5aXg=", - "owner": "hyprwm", - "repo": "hyprwayland-scanner", - "rev": "fec9cf1abcc1011e46f0a0986f46bf93c6bf8b92", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprwayland-scanner", - "type": "github" - } - }, - "hyprwire": { - "inputs": { - "hyprutils": [ - "hyprland", - "hyprutils" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1776728575, - "narHash": "sha256-z9eGphrArEBpl1O/GCH0wlY6z4K9vA6yWh2gAS6qytU=", - "owner": "hyprwm", - "repo": "hyprwire", - "rev": "f3a80888783702a39691b684d099e16b83ed4702", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprwire", - "type": "github" - } - }, - "impermanence": { - "inputs": { - "home-manager": "home-manager_3", - "nixpkgs": "nixpkgs_5" - }, - "locked": { - "lastModified": 1769548169, - "narHash": "sha256-03+JxvzmfwRu+5JafM0DLbxgHttOQZkUtDWBmeUkN8Y=", - "owner": "nix-community", - "repo": "impermanence", - "rev": "7b1d382faf603b6d264f58627330f9faa5cba149", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "impermanence", - "type": "github" - } - }, - "infuse": { - "flake": false, - "locked": { - "lastModified": 1768766368, - "narHash": "sha256-GW7S5dsFiQChSbGESrkFyNSzDLKGNH3H0EMeY+NLefY=", - "ref": "refs/heads/trunk", - "rev": "e837ece1b9de6ebcb7abd261f54a09bad3a2f820", - "revCount": 49, - "type": "git", - "url": "https://codeberg.org/amjoseph/infuse.nix.git" - }, - "original": { - "type": "git", - "url": "https://codeberg.org/amjoseph/infuse.nix.git" - } - }, - "lan-mouse": { - "inputs": { - "nixpkgs": "nixpkgs_6", - "rust-overlay": "rust-overlay_2" - }, - "locked": { - "lastModified": 1775729061, - "narHash": "sha256-3MotJ2seD7IXvyGpvBhzgEbERBHrWxeCrtGtOcdjEGQ=", - "owner": "feschber", - "repo": "lan-mouse", - "rev": "a878c985f0633a12b00a363883fd56385c2368e7", - "type": "github" - }, - "original": { - "owner": "feschber", - "repo": "lan-mouse", - "type": "github" - } - }, - "libpng": { - "flake": false, - "locked": { - "lastModified": 1726173884, - "narHash": "sha256-gBfHgGaqVYdmhWXoNKZzPyGzyw2rr3zp+DjWmfC41jk=", - "owner": "pnggroup", - "repo": "libpng", - "rev": "f5e92d76973a7a53f517579bc95d61483bf108c0", - "type": "github" - }, - "original": { - "owner": "pnggroup", - "ref": "v1.6.44", - "repo": "libpng", - "type": "github" - } - }, - "mango": { - "inputs": { - "flake-parts": "flake-parts", - "nixpkgs": [ - "nixpkgs" - ], - "scenefx": "scenefx" - }, - "locked": { - "lastModified": 1776999768, - "narHash": "sha256-RP7eVqbnQ/uNCXh0HH8SXRIerMlkyHco+wpI9oxon0U=", - "owner": "DreamMaoMao", - "repo": "mango", - "rev": "b9c6a2c1964cb59536c5d3e02d2ff981a7eb36d2", - "type": "github" - }, - "original": { - "owner": "DreamMaoMao", - "repo": "mango", - "type": "github" - } - }, - "nix-formatter-pack": { - "inputs": { - "nixpkgs": [ - "nix-on-droid", - "nixpkgs" - ], - "nmd": "nmd", - "nmt": "nmt" - }, - "locked": { - "lastModified": 1705252799, - "narHash": "sha256-HgSTREh7VoXjGgNDwKQUYcYo13rPkltW7IitHrTPA5c=", - "owner": "Gerschtli", - "repo": "nix-formatter-pack", - "rev": "2de39dedd79aab14c01b9e2934842051a160ffa5", - "type": "github" - }, - "original": { - "owner": "Gerschtli", - "repo": "nix-formatter-pack", - "type": "github" - } - }, - "nix-index-database": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1777181277, - "narHash": "sha256-yVJbd07ortDRAttDFmDV5p220aOLTHgVAx//0nW/xW8=", - "owner": "nix-community", - "repo": "nix-index-database", - "rev": "b8eb7acee0f7604fe1bf6a5b3dcf5254369180fa", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nix-index-database", - "type": "github" - } - }, - "nix-on-droid": { - "inputs": { - "home-manager": [ - "home-manager" - ], - "nix-formatter-pack": "nix-formatter-pack", - "nixpkgs": [ - "nixpkgs" - ], - "nixpkgs-docs": "nixpkgs-docs", - "nixpkgs-for-bootstrap": "nixpkgs-for-bootstrap", - "nmd": "nmd_2" - }, - "locked": { - "lastModified": 1720396533, - "narHash": "sha256-UFzk/hZWO1VkciIO5UPaSpJN8s765wsngUSvtJM6d5Q=", - "owner": "nix-community", - "repo": "nix-on-droid", - "rev": "f3d3b8294039f2f9a8fb7ea82c320f29c6b0fe25", - "type": "github" - }, - "original": { - "owner": "nix-community", - "ref": "release-24.05", - "repo": "nix-on-droid", - "type": "github" - } - }, - "nix-secrets": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1741040419, - "narHash": "sha256-BqBIfzYFs8zGvMpxXYt1yWRIH3nVBvTrWkk2RXCA0To=", - "ref": "refs/heads/main", - "rev": "6f7627cee3da9490f2f29afae3c223b8ac2f565f", - "shallow": true, - "type": "git", - "url": "ssh://git@github.com/tuxdotrs/nix-secrets.git" - }, - "original": { - "shallow": true, - "type": "git", - "url": "ssh://git@github.com/tuxdotrs/nix-secrets.git" - } - }, - "nix-vscode-extensions": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1777226942, - "narHash": "sha256-R7spsiBBO++he+uhvKCTKwWtCJR02mOqTvU3EEBemb0=", - "owner": "nix-community", - "repo": "nix-vscode-extensions", - "rev": "ec41b109469c7061fab246ee94712f44fda8156f", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nix-vscode-extensions", - "type": "github" - } - }, - "nixcord": { - "inputs": { - "flake-compat": "flake-compat_5", - "flake-parts": "flake-parts_2", - "nixpkgs": "nixpkgs_7", - "nixpkgs-nixcord": "nixpkgs-nixcord" - }, - "locked": { - "lastModified": 1777125640, - "narHash": "sha256-jKmRu5PknoI0pk3WEqMhVReosUubUCq3M/izEQWzb+4=", - "owner": "kaylorben", - "repo": "nixcord", - "rev": "0e738683dd7551a9cbfa343397b1592dfd785b7e", - "type": "github" - }, - "original": { - "owner": "kaylorben", - "repo": "nixcord", - "type": "github" - } - }, - "nixos-hardware": { - "locked": { - "lastModified": 1776983936, - "narHash": "sha256-ZOQyNqSvJ8UdrrqU1p7vaFcdL53idK+LOM8oRWEWh6o=", - "owner": "nixos", - "repo": "nixos-hardware", - "rev": "2096f3f411ce46e88a79ae4eafcfc9df8ed41c61", - "type": "github" - }, - "original": { - "owner": "nixos", - "repo": "nixos-hardware", - "type": "github" - } - }, - "nixos-wsl": { - "inputs": { - "flake-compat": "flake-compat_6", - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1776910211, - "narHash": "sha256-0ku3gW8bZ9TTpEU2fQw86oU6ZLT2vF6pacF+cLaf7VY=", - "owner": "nix-community", - "repo": "nixos-wsl", - "rev": "4e6cad241baa0115a7aae8c55b04c166da4997c9", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixos-wsl", - "type": "github" - } - }, - "nixpkgs": { - "locked": { - "lastModified": 1763934636, - "narHash": "sha256-9glbI7f1uU+yzQCq5LwLgdZqx6svOhZWkd4JRY265fc=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "ee09932cedcef15aaf476f9343d1dea2cb77e261", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-docs": { - "locked": { - "lastModified": 1705957679, - "narHash": "sha256-Q8LJaVZGJ9wo33wBafvZSzapYsjOaNjP/pOnSiKVGHY=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "9a333eaa80901efe01df07eade2c16d183761fa3", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "release-23.05", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-f2k": { - "inputs": { - "emacs": "emacs", - "infuse": "infuse", - "nixpkgs": "nixpkgs_10", - "nixpkgs-fmt": "nixpkgs-fmt", - "parts": "parts" - }, - "locked": { - "lastModified": 1777180539, - "narHash": "sha256-y6gBux0av65/ydC8iM6s/DFPs1wm2d4+26MvGZTJT1I=", - "owner": "moni-dz", - "repo": "nixpkgs-f2k", - "rev": "2e1d7fc8f7f9405d926b54df3503f114e6b5daed", - "type": "github" - }, - "original": { - "owner": "moni-dz", - "repo": "nixpkgs-f2k", - "type": "github" - } - }, - "nixpkgs-fmt": { - "inputs": { - "fenix": "fenix", - "flake-utils": "flake-utils", - "nixpkgs": [ - "nixpkgs-f2k", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1721822211, - "narHash": "sha256-zacOgNv3qM3AbSG3p5PT/Bfc4c7NoIqoLII8/jIUsOQ=", - "owner": "nix-community", - "repo": "nixpkgs-fmt", - "rev": "bdb15b4c7e0cb49ae091dd43113d0a938afae02c", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixpkgs-fmt", - "type": "github" - } - }, - "nixpkgs-for-bootstrap": { - "locked": { - "lastModified": 1720244366, - "narHash": "sha256-WrDV0FPMVd2Sq9hkR5LNHudS3OSMmUrs90JUTN+MXpA=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "49ee0e94463abada1de470c9c07bfc12b36dcf40", - "type": "github" - }, - "original": { - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "49ee0e94463abada1de470c9c07bfc12b36dcf40", - "type": "github" - } - }, - "nixpkgs-lib": { - "locked": { - "lastModified": 1748740939, - "narHash": "sha256-rQaysilft1aVMwF14xIdGS3sj1yHlI6oKQNBRTF40cc=", - "owner": "nix-community", - "repo": "nixpkgs.lib", - "rev": "656a64127e9d791a334452c6b6606d17539476e2", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixpkgs.lib", - "type": "github" - } - }, - "nixpkgs-lib_2": { - "locked": { - "lastModified": 1774748309, - "narHash": "sha256-+U7gF3qxzwD5TZuANzZPeJTZRHS29OFQgkQ2kiTJBIQ=", - "owner": "nix-community", - "repo": "nixpkgs.lib", - "rev": "333c4e0545a6da976206c74db8773a1645b5870a", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixpkgs.lib", - "type": "github" - } - }, - "nixpkgs-lib_3": { - "locked": { - "lastModified": 1774748309, - "narHash": "sha256-+U7gF3qxzwD5TZuANzZPeJTZRHS29OFQgkQ2kiTJBIQ=", - "owner": "nix-community", - "repo": "nixpkgs.lib", - "rev": "333c4e0545a6da976206c74db8773a1645b5870a", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixpkgs.lib", - "type": "github" - } - }, - "nixpkgs-nixcord": { - "locked": { - "lastModified": 1776734388, - "narHash": "sha256-vl3dkhlE5gzsItuHoEMVe+DlonsK+0836LIRDnm6MXQ=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "10e7ad5bbcb421fe07e3a4ad53a634b0cd57ffac", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-25.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-stable": { - "locked": { - "lastModified": 1776734388, - "narHash": "sha256-vl3dkhlE5gzsItuHoEMVe+DlonsK+0836LIRDnm6MXQ=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "10e7ad5bbcb421fe07e3a4ad53a634b0cd57ffac", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-25.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-stable_2": { - "locked": { - "lastModified": 1751290243, - "narHash": "sha256-kNf+obkpJZWar7HZymXZbW+Rlk3HTEIMlpc6FCNz0Ds=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "5ab036a8d97cb9476fbe81b09076e6e91d15e1b6", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "release-24.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_10": { - "locked": { - "lastModified": 1777179511, - "narHash": "sha256-GCqyVuDsIavHaoFa1dGHAPGKkMbjMhexYN9wBZQNH8U=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "e56e56311fc951877e3fda0dac432554ce2d21c5", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "master", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_11": { - "locked": { - "lastModified": 1776877367, - "narHash": "sha256-EHq1/OX139R1RvBzOJ0aMRT3xnWyqtHBRUBuO1gFzjI=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "0726a0ecb6d4e08f6adced58726b95db924cef57", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_12": { - "locked": { - "lastModified": 1775888245, - "narHash": "sha256-nwASzrRDD1JBEu/o8ekKYEXm/oJW6EMCzCRdrwcLe90=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "13043924aaa7375ce482ebe2494338e058282925", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_2": { - "locked": { - "lastModified": 1743014863, - "narHash": "sha256-jAIUqsiN2r3hCuHji80U7NNEafpIMBXiwKlSrjWMlpg=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "bd3bac8bfb542dbde7ffffb6987a1a1f9d41699f", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_3": { - "locked": { - "lastModified": 1770537093, - "narHash": "sha256-XV30uo8tXuxdzuV8l3sojmlPRLd/8tpMsOp4lNzLGUo=", - "rev": "fef9403a3e4d31b0a23f0bacebbec52c248fbb51", - "type": "tarball", - "url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.05pre942631.fef9403a3e4d/nixexprs.tar.xz" - }, - "original": { - "type": "tarball", - "url": "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz" - } - }, - "nixpkgs_4": { - "locked": { - "lastModified": 1776877367, - "narHash": "sha256-EHq1/OX139R1RvBzOJ0aMRT3xnWyqtHBRUBuO1gFzjI=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "0726a0ecb6d4e08f6adced58726b95db924cef57", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_5": { - "locked": { - "lastModified": 1768564909, - "narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "e4bae1bd10c9c57b2cf517953ab70060a828ee6f", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_6": { - "locked": { - "lastModified": 1772963539, - "narHash": "sha256-9jVDGZnvCckTGdYT53d/EfznygLskyLQXYwJLKMPsZs=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "9dcb002ca1690658be4a04645215baea8b95f31d", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_7": { - "locked": { - "lastModified": 1776734388, - "narHash": "sha256-vl3dkhlE5gzsItuHoEMVe+DlonsK+0836LIRDnm6MXQ=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "10e7ad5bbcb421fe07e3a4ad53a634b0cd57ffac", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-25.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_8": { - "locked": { - "lastModified": 1776877367, - "narHash": "sha256-EHq1/OX139R1RvBzOJ0aMRT3xnWyqtHBRUBuO1gFzjI=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "0726a0ecb6d4e08f6adced58726b95db924cef57", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_9": { - "locked": { - "lastModified": 1776877367, - "narHash": "sha256-EHq1/OX139R1RvBzOJ0aMRT3xnWyqtHBRUBuO1gFzjI=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "0726a0ecb6d4e08f6adced58726b95db924cef57", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nmd": { - "flake": false, - "locked": { - "lastModified": 1666190571, - "narHash": "sha256-Z1hc7M9X6L+H83o9vOprijpzhTfOBjd0KmUTnpHAVjA=", - "owner": "rycee", - "repo": "nmd", - "rev": "b75d312b4f33bd3294cd8ae5c2ca8c6da2afc169", - "type": "gitlab" - }, - "original": { - "owner": "rycee", - "repo": "nmd", - "type": "gitlab" - } - }, - "nmd_2": { - "inputs": { - "nixpkgs": [ - "nix-on-droid", - "nixpkgs-docs" - ], - "scss-reset": "scss-reset" - }, - "locked": { - "lastModified": 1705050560, - "narHash": "sha256-x3zzcdvhJpodsmdjqB4t5mkVW22V3wqHLOun0KRBzUI=", - "owner": "~rycee", - "repo": "nmd", - "rev": "66d9334933119c36f91a78d565c152a4fdc8d3d3", - "type": "sourcehut" - }, - "original": { - "owner": "~rycee", - "repo": "nmd", - "type": "sourcehut" - } - }, - "nmt": { - "flake": false, - "locked": { - "lastModified": 1648075362, - "narHash": "sha256-u36WgzoA84dMVsGXzml4wZ5ckGgfnvS0ryzo/3zn/Pc=", - "owner": "rycee", - "repo": "nmt", - "rev": "d83601002c99b78c89ea80e5e6ba21addcfe12ae", - "type": "gitlab" - }, - "original": { - "owner": "rycee", - "repo": "nmt", - "type": "gitlab" - } - }, - "nur": { - "inputs": { - "flake-parts": "flake-parts_3", - "nixpkgs": "nixpkgs_11" - }, - "locked": { - "lastModified": 1777233693, - "narHash": "sha256-ZqKJHMCQb6VHg8m/BMMgckuVwA7DEpD7o9cNB8XtciA=", - "owner": "nix-community", - "repo": "nur", - "rev": "36560e47f05a6413371627ee954523886fd2a87b", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nur", - "type": "github" - } - }, - "parts": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib_3" - }, - "locked": { - "lastModified": 1775087534, - "narHash": "sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "pre-commit-hooks": { - "inputs": { - "flake-compat": "flake-compat_4", - "gitignore": "gitignore", - "nixpkgs": [ - "hyprland", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1776796298, - "narHash": "sha256-PcRvlWayisPSjd0UcRQbhG8Oqw78AcPE6x872cPRHN8=", - "owner": "cachix", - "repo": "git-hooks.nix", - "rev": "3cfd774b0a530725a077e17354fbdb87ea1c4aad", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "git-hooks.nix", - "type": "github" - } - }, - "root": { - "inputs": { - "awww": "awww", - "cyber-tux": "cyber-tux", - "deploy-rs": "deploy-rs", - "disko": "disko", - "ghostty": "ghostty", - "home-manager": "home-manager_2", - "hyprland": "hyprland", - "hyprland-plugins": "hyprland-plugins", - "impermanence": "impermanence", - "lan-mouse": "lan-mouse", - "mango": "mango", - "nix-index-database": "nix-index-database", - "nix-on-droid": "nix-on-droid", - "nix-secrets": "nix-secrets", - "nix-vscode-extensions": "nix-vscode-extensions", - "nixcord": "nixcord", - "nixos-hardware": "nixos-hardware", - "nixos-wsl": "nixos-wsl", - "nixpkgs": "nixpkgs_8", - "nixpkgs-f2k": "nixpkgs-f2k", - "nixpkgs-stable": "nixpkgs-stable_2", - "nur": "nur", - "sops-nix": "sops-nix", - "tawm": "tawm", - "tfolio": "tfolio", - "tnvim": "tnvim", - "tpanel": "tpanel", - "trok": "trok", - "vicinae-extensions": "vicinae-extensions", - "wezterm-flake": "wezterm-flake" - } - }, - "rust-analyzer-src": { - "flake": false, - "locked": { - "lastModified": 1637439871, - "narHash": "sha256-2awQ/obzl7zqYgLwbQL0zT58gN8Xq7n+81GcMiS595I=", - "owner": "rust-analyzer", - "repo": "rust-analyzer", - "rev": "4566414789310acb2617543f4b50beab4bb48e06", - "type": "github" - }, - "original": { - "owner": "rust-analyzer", - "ref": "nightly", - "repo": "rust-analyzer", - "type": "github" - } - }, - "rust-overlay": { - "inputs": { - "nixpkgs": [ - "awww", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1764038373, - "narHash": "sha256-M6w2wNBRelcavoDAyFL2iO4NeWknD40ASkH1S3C0YGM=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "ab3536fe850211a96673c6ffb2cb88aab8071cc9", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "type": "github" - } - }, - "rust-overlay_2": { - "inputs": { - "nixpkgs": [ - "lan-mouse", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1773025773, - "narHash": "sha256-Wik8+xApNfldpUFjPmJkPdg0RrvUPSWGIZis+A/0N1w=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "3c06fdbbd36ff60386a1e590ee0cd52dcd1892bf", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "type": "github" - } - }, - "rust-overlay_3": { - "inputs": { - "nixpkgs": [ - "wezterm-flake", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1764470739, - "narHash": "sha256-sa9f81B1dWO16QtgDTWHX8DQbiHKzHndpaunY5EQtwE=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "3bfa664055e1a09c6aedab5533c5fc8d6ca5741a", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "type": "github" - } - }, - "scenefx": { - "inputs": { - "nixpkgs": [ - "mango", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1750785057, - "narHash": "sha256-tGX6j4W91rcb+glXJo43sjPI9zQvPotonknG1BdihR4=", - "owner": "wlrfx", - "repo": "scenefx", - "rev": "3a6cfb12e4ba97b43326357d14f7b3e40897adfc", - "type": "github" - }, - "original": { - "owner": "wlrfx", - "repo": "scenefx", - "type": "github" - } - }, - "scss-reset": { - "flake": false, - "locked": { - "lastModified": 1631450058, - "narHash": "sha256-muDlZJPtXDIGevSEWkicPP0HQ6VtucbkMNygpGlBEUM=", - "owner": "andreymatin", - "repo": "scss-reset", - "rev": "0cf50e27a4e95e9bb5b1715eedf9c54dee1a5a91", - "type": "github" - }, - "original": { - "owner": "andreymatin", - "repo": "scss-reset", - "type": "github" - } - }, - "sops-nix": { - "inputs": { - "nixpkgs": "nixpkgs_12" - }, - "locked": { - "lastModified": 1776771786, - "narHash": "sha256-DRFGPfFV6hbrfO9a1PH1FkCi7qR5FgjSqsQGGvk1rdI=", - "owner": "Mic92", - "repo": "sops-nix", - "rev": "bef289e2248991f7afeb95965c82fbcd8ff72598", - "type": "github" - }, - "original": { - "owner": "Mic92", - "repo": "sops-nix", - "type": "github" - } - }, - "systems": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_2": { - "flake": false, - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_3": { - "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" - } - }, - "systems_4": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_5": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "tawm": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1756904097, - "narHash": "sha256-niQjPQi2tdbKHtWuEe5dRiB+wXcXu/qlEbRzgsBbxtE=", - "owner": "tuxdotrs", - "repo": "tawm", - "rev": "1424e3718d9298addb30664dbc23dbd932fa44d6", - "type": "github" - }, - "original": { - "owner": "tuxdotrs", - "repo": "tawm", - "type": "github" - } - }, - "tfolio": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1740818426, - "narHash": "sha256-Ew6I/vG06yekJoVqB6RmXjgJj+9OIQhTCaawX5q/mu0=", - "ref": "refs/heads/main", - "rev": "b4037d1b1fd36e0d81845bb0744b1a9a390fd66e", - "revCount": 15, - "type": "git", - "url": "ssh://git@github.com/tuxdotrs/tfolio.git" - }, - "original": { - "type": "git", - "url": "ssh://git@github.com/tuxdotrs/tfolio.git" - } - }, - "tnvim": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1772111181, - "narHash": "sha256-cHBFhVspigIEfCIA3lteRYrBkXTT6j9A8eyypZOOTNI=", - "owner": "tuxdotrs", - "repo": "tnvim", - "rev": "476698308f1568aa1aaa07ed5fb65dc6d92f5f2d", - "type": "github" - }, - "original": { - "owner": "tuxdotrs", - "repo": "tnvim", - "type": "github" - } - }, - "tpanel": { - "inputs": { - "ags": "ags", - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1771924703, - "narHash": "sha256-FdXguczx6AcfEnEPhKm76CdjsvAKQ88H4CHt43bhO6s=", - "owner": "tuxdotrs", - "repo": "tpanel", - "rev": "9b8c4df5961eb541fd60e8ea424266790c3969a1", - "type": "github" - }, - "original": { - "owner": "tuxdotrs", - "repo": "tpanel", - "type": "github" - } - }, - "trok": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1771501010, - "narHash": "sha256-AvEVcS9/3/9zFGJqCjdnDGqyJSXTEAEGyR8q3Wfq1gU=", - "owner": "tuxdotrs", - "repo": "trok", - "rev": "e451f17df0356a8ff25eaf97f5c4503205d2750f", - "type": "github" - }, - "original": { - "owner": "tuxdotrs", - "repo": "trok", - "type": "github" - } - }, - "utils": { - "inputs": { - "systems": "systems" - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "vicinae": { - "inputs": { - "nixpkgs": [ - "vicinae-extensions", - "nixpkgs" - ], - "systems": [ - "vicinae-extensions", - "systems" - ] - }, - "locked": { - "lastModified": 1768856963, - "narHash": "sha256-u5bWDuwk6oieTnvm1YjNotcYK8iJSddH5+S68+X4TSc=", - "owner": "vicinaehq", - "repo": "vicinae", - "rev": "934bc0ad47be6dbd6498a0dac655c4613fd0ab27", - "type": "github" - }, - "original": { - "owner": "vicinaehq", - "repo": "vicinae", - "type": "github" - } - }, - "vicinae-extensions": { - "inputs": { - "flake-compat": "flake-compat_7", - "nixpkgs": [ - "nixpkgs" - ], - "systems": "systems_4", - "vicinae": "vicinae" - }, - "locked": { - "lastModified": 1777139402, - "narHash": "sha256-NfO+rYviCA6Nr3B/qEHpjM+9KRal61PmLKyOtrJPP2g=", - "owner": "vicinaehq", - "repo": "extensions", - "rev": "bedd4c9f180ca2c83bb73a4474fb41194bc23873", - "type": "github" - }, - "original": { - "owner": "vicinaehq", - "repo": "extensions", - "type": "github" - } - }, - "wezterm-flake": { - "inputs": { - "flake-utils": "flake-utils_2", - "freetype2": "freetype2", - "harfbuzz": "harfbuzz", - "libpng": "libpng", - "nixpkgs": [ - "nixpkgs" - ], - "rust-overlay": "rust-overlay_3", - "zlib": "zlib" - }, - "locked": { - "dir": "nix", - "lastModified": 1774954828, - "narHash": "sha256-F6qDnwdVlX/JJhM7XYkgU2QtBfN1EQ9UysP2xVKAA6I=", - "owner": "wez", - "repo": "wezterm", - "rev": "577474d89ee61aef4a48145cdec82a638d874751", - "type": "github" - }, - "original": { - "dir": "nix", - "owner": "wez", - "ref": "main", - "repo": "wezterm", - "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": 1777035886, - "narHash": "sha256-m1TNuBoSXUBSKhD9UVMkU90M0wFTPTfvIOOltO8IM8A=", - "owner": "hyprwm", - "repo": "xdg-desktop-portal-hyprland", - "rev": "ecfcdcc781f48821d83e1e2a0e30d7beca0eeb5e", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "xdg-desktop-portal-hyprland", - "type": "github" - } - }, - "zig": { - "inputs": { - "flake-compat": [ - "ghostty", - "flake-compat" - ], - "nixpkgs": [ - "ghostty", - "nixpkgs" - ], - "systems": [ - "ghostty", - "systems" - ] - }, - "locked": { - "lastModified": 1776789209, - "narHash": "sha256-G6B7Q4TXn7MZ1mB+f9rymjsYF5PLWoSvmbxijb/99bw=", - "owner": "mitchellh", - "repo": "zig-overlay", - "rev": "14fe971844e841297ddd2ce9783d6892b467af39", - "type": "github" - }, - "original": { - "owner": "mitchellh", - "repo": "zig-overlay", - "type": "github" - } - }, - "zig_2": { - "inputs": { - "nixpkgs": [ - "ghostty", - "zon2nix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1776888758, - "narHash": "sha256-OlQexlc8pMXAPhGrT89MtDcPCJv8MsFJcxFPMibRBho=", - "ref": "refs/heads/main", - "rev": "a380ec6969faf5fae32f08b96f8529a3bca55d42", - "revCount": 1672, - "type": "git", - "url": "https://codeberg.org/jcollie/zig-overlay.git" - }, - "original": { - "type": "git", - "url": "https://codeberg.org/jcollie/zig-overlay.git" - } - }, - "zlib": { - "flake": false, - "locked": { - "lastModified": 1705948357, - "narHash": "sha256-TkPLWSN5QcPlL9D0kc/yhH0/puE9bFND24aj5NVDKYs=", - "owner": "madler", - "repo": "zlib", - "rev": "51b7f2abdade71cd9bb0e7a373ef2610ec6f9daf", - "type": "github" - }, - "original": { - "owner": "madler", - "ref": "v1.3.1", - "repo": "zlib", - "type": "github" - } - }, - "zon2nix": { - "inputs": { - "nixpkgs": [ - "ghostty", - "nixpkgs" - ], - "zig": "zig_2" - }, - "locked": { - "lastModified": 1776999674, - "narHash": "sha256-dEuWd2li80+H7f0k7RA25/Od49G91Pn3El3TcbEpONw=", - "owner": "jcollie", - "repo": "zon2nix", - "rev": "fe860f11b076bba30708d1efb4830459ecf85f0d", - "type": "github" - }, - "original": { - "owner": "jcollie", - "ref": "main", - "repo": "zon2nix", - "type": "github" - } - } - }, - "root": "root", - "version": 7 -} diff --git a/flake.nix b/flake.nix deleted file mode 100755 index 70cab36..0000000 --- a/flake.nix +++ /dev/null @@ -1,183 +0,0 @@ -{ - description = "tux's Nix Flake"; - - outputs = { - self, - nixpkgs, - deploy-rs, - ... - } @ inputs: let - inherit (self) outputs; - inherit (inputs.nixpkgs.lib) nixosSystem; - inherit (inputs.nix-on-droid.lib) nixOnDroidConfiguration; - forAllSystems = nixpkgs.lib.genAttrs [ - "x86_64-linux" - "aarch64-linux" - ]; - username = "tux"; - email = "t@tux.rs"; - - mkNixOSConfig = host: { - specialArgs = {inherit inputs outputs username email;}; - modules = [./hosts/${host}]; - }; - - mkDroidConfig = host: { - pkgs = import nixpkgs {system = "aarch64-linux";}; - extraSpecialArgs = {inherit inputs outputs username email;}; - modules = [./hosts/${host}]; - }; - - mkNixOSNode = hostname: { - inherit hostname; - profiles.system = { - user = "root"; - path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.${hostname}; - }; - }; - - activateNixOnDroid = configuration: - deploy-rs.lib.aarch64-linux.activate.custom - configuration.activationPackage - "${configuration.activationPackage}/activate"; - - mkDroidNode = hostname: { - inherit hostname; - profiles.system = { - sshUser = "nix-on-droid"; - user = "nix-on-droid"; - magicRollback = true; - sshOpts = ["-p" "8033"]; - path = activateNixOnDroid self.nixOnDroidConfigurations.${hostname}; - }; - }; - in { - packages = forAllSystems (system: import ./pkgs nixpkgs.legacyPackages.${system}); - formatter = forAllSystems (system: nixpkgs.legacyPackages.${system}.alejandra); - - # Custom packages and modifications, exported as overlays - overlays = import ./overlays {inherit inputs;}; - - # NixOS configuration entrypoint - # 'nixos-rebuild switch --flake .#your-hostname' - nixosConfigurations = { - arcturus = nixosSystem (mkNixOSConfig "arcturus"); - canopus = nixosSystem (mkNixOSConfig "canopus"); - alpha = nixosSystem (mkNixOSConfig "alpha"); - sirius = nixosSystem (mkNixOSConfig "sirius"); - vega = nixosSystem (mkNixOSConfig "vega"); - node = nixosSystem (mkNixOSConfig "node"); - vps = nixosSystem (mkNixOSConfig "vps"); - isoImage = nixosSystem (mkNixOSConfig "isoImage"); - homelab = nixosSystem (mkNixOSConfig "homelab"); - }; - - # NixOnDroid configuration entrypoint - # 'nix-on-droid switch --flake .#your-hostname' - nixOnDroidConfigurations = { - capella = nixOnDroidConfiguration (mkDroidConfig "capella"); - rigel = nixOnDroidConfiguration (mkDroidConfig "rigel"); - }; - - deploy = { - nodes = { - arcturus = mkNixOSNode "arcturus"; - canopus = mkNixOSNode "canopus"; - alpha = mkNixOSNode "alpha"; - sirius = mkNixOSNode "sirius"; - vega = mkNixOSNode "vega"; - node = mkNixOSNode "node"; - homelab = mkNixOSNode "homelab"; - capella = mkDroidNode "capella"; - rigel = mkDroidNode "rigel"; - }; - }; - checks = builtins.mapAttrs (system: deployLib: deployLib.deployChecks self.deploy) deploy-rs.lib; - }; - - inputs = { - nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; - nixpkgs-stable.url = "github:nixos/nixpkgs/release-24.11"; - nixos-wsl = { - url = "github:nix-community/nixos-wsl"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - home-manager = { - url = "github:nix-community/home-manager"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - nix-vscode-extensions = { - url = "github:nix-community/nix-vscode-extensions"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - wezterm-flake = { - url = "github:wez/wezterm/main?dir=nix"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - disko = { - url = "github:nix-community/disko"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - nix-secrets = { - url = "git+ssh://git@github.com/tuxdotrs/nix-secrets.git?shallow=1"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - nix-on-droid = { - url = "github:nix-community/nix-on-droid/release-24.05"; - inputs.nixpkgs.follows = "nixpkgs"; - inputs.home-manager.follows = "home-manager"; - }; - tawm = { - url = "github:tuxdotrs/tawm"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - tnvim = { - url = "github:tuxdotrs/tnvim"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - trok = { - url = "github:tuxdotrs/trok"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - tpanel = { - url = "github:tuxdotrs/tpanel"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - tfolio = { - url = "git+ssh://git@github.com/tuxdotrs/tfolio.git"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - cyber-tux = { - url = "git+ssh://git@github.com/tuxdotrs/cyber-tux.git"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - nix-index-database = { - url = "github:nix-community/nix-index-database"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - hyprland.url = "github:hyprwm/Hyprland"; - hyprland-plugins = { - url = "github:hyprwm/hyprland-plugins"; - inputs.hyprland.follows = "hyprland"; - }; - mango = { - url = "github:DreamMaoMao/mango"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - vicinae-extensions = { - url = "github:vicinaehq/extensions"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - - awww.url = "git+https://codeberg.org/LGFae/awww"; - ghostty.url = "github:ghostty-org/ghostty"; - nixos-hardware.url = "github:nixos/nixos-hardware"; - nixpkgs-f2k.url = "github:moni-dz/nixpkgs-f2k"; - nur.url = "github:nix-community/nur"; - sops-nix.url = "github:Mic92/sops-nix"; - impermanence.url = "github:nix-community/impermanence"; - deploy-rs.url = "github:serokell/deploy-rs"; - nixcord.url = "github:kaylorben/nixcord"; - lan-mouse.url = "github:feschber/lan-mouse"; - }; -} diff --git a/hosts/alpha/default.nix b/hosts/alpha/default.nix deleted file mode 100644 index b1771d4..0000000 --- a/hosts/alpha/default.nix +++ /dev/null @@ -1,164 +0,0 @@ -{ - modulesPath, - inputs, - username, - lib, - email, - config, - ... -}: { - imports = [ - (modulesPath + "/installer/scan/not-detected.nix") - (modulesPath + "/profiles/qemu-guest.nix") - inputs.disko.nixosModules.default - (import ./disko.nix {device = "/dev/vda";}) - - ../common - ../../modules/nixos/selfhosted/uptime-kuma.nix - ]; - - tux.services.openssh.enable = true; - tux.services.openssh.ports = [23]; - - tux.services.tfolio.enable = true; - - tux.services.nginxStreamProxy = { - enable = true; - upstreamServers = inputs.nix-secrets.proxy-servers; - }; - - sops.secrets = { - borg_encryption_key = { - sopsFile = ./secrets.yaml; - }; - - "cloudflare_credentials/email" = { - sopsFile = ./secrets.yaml; - }; - - "cloudflare_credentials/dns_api_token" = { - sopsFile = ./secrets.yaml; - }; - }; - - nixpkgs = { - hostPlatform = "x86_64-linux"; - }; - - boot = { - initrd.systemd = { - enable = lib.mkForce true; - - services.wipe-my-fs = { - wantedBy = ["initrd.target"]; - after = ["initrd-root-device.target"]; - before = ["sysroot.mount"]; - unitConfig.DefaultDependencies = "no"; - serviceConfig.Type = "oneshot"; - script = '' - mkdir /btrfs_tmp - mount /dev/disk/by-partlabel/disk-primary-root /btrfs_tmp - - if [[ -e /btrfs_tmp/root ]]; then - mkdir -p /btrfs_tmp/old_roots - timestamp=$(date --date="@$(stat -c %Y /btrfs_tmp/root)" "+%Y-%m-%-d_%H:%M:%S") - mv /btrfs_tmp/root "/btrfs_tmp/old_roots/$timestamp" - fi - - delete_subvolume_recursively() { - IFS=$'\n' - for i in $(btrfs subvolume list -o "$1" | cut -f 9- -d ' '); do - delete_subvolume_recursively "/btrfs_tmp/$i" - done - btrfs subvolume delete "$1" - } - - for i in $(find /btrfs_tmp/old_roots/ -maxdepth 1 -mtime +30); do - delete_subvolume_recursively "$i" - done - - btrfs subvolume create /btrfs_tmp/root - umount /btrfs_tmp - ''; - }; - }; - - loader = { - grub = { - efiSupport = true; - efiInstallAsRemovable = true; - }; - }; - }; - - networking = { - hostName = "alpha"; - - firewall = { - enable = true; - allowedTCPPorts = [80 443 22 23]; - }; - }; - - security = { - acme = { - acceptTerms = true; - defaults.email = "${email}"; - certs = { - "tux.rs" = { - group = "nginx"; - domain = "*.tux.rs"; - extraDomainNames = ["tux.rs"]; - dnsProvider = "cloudflare"; - credentialFiles = { - CLOUDFLARE_EMAIL_FILE = config.sops.secrets."cloudflare_credentials/email".path; - CLOUDFLARE_DNS_API_TOKEN_FILE = config.sops.secrets."cloudflare_credentials/dns_api_token".path; - }; - }; - }; - }; - }; - - users.users.nginx.extraGroups = ["acme"]; - - services = { - nginx = { - recommendedGzipSettings = true; - recommendedOptimisation = true; - recommendedProxySettings = true; - recommendedTlsSettings = true; - }; - }; - - programs = { - zsh.enable = true; - dconf.enable = true; - }; - - programs.fuse.userAllowOther = true; - fileSystems."/persist".neededForBoot = true; - environment.persistence."/persist" = { - hideMounts = true; - directories = [ - "/var/log" - "/var/lib/acme" - "/var/lib/nixos" - "/var/lib/private" - ]; - files = [ - "/etc/ssh/ssh_host_ed25519_key" - "/etc/ssh/ssh_host_ed25519_key.pub" - "/etc/ssh/ssh_host_rsa_key" - "/etc/ssh/ssh_host_rsa_key.pub" - ]; - }; - - users.users.${username} = {linger = true;}; - home-manager.users.${username} = { - imports = [ - ./home.nix - ]; - }; - - system.stateVersion = "24.11"; -} diff --git a/hosts/alpha/disko.nix b/hosts/alpha/disko.nix deleted file mode 100644 index 4a0c700..0000000 --- a/hosts/alpha/disko.nix +++ /dev/null @@ -1,53 +0,0 @@ -{device ? throw "Set this to the disk device, e.g. /dev/nvme0n1", ...}: { - disko.devices.disk.primary = { - inherit device; - type = "disk"; - content = { - type = "gpt"; # GPT partitioning scheme - partitions = { - boot = { - name = "boot"; - size = "1M"; - type = "EF02"; - }; - # EFI Partition - ESP = { - size = "512M"; - type = "EF00"; - content = { - type = "filesystem"; - format = "vfat"; - mountpoint = "/boot"; - mountOptions = ["defaults" "umask=0077"]; - }; - }; - # Btrfs Root Partition - root = { - size = "100%"; # Use remaining space - type = "8300"; # Linux filesystem type - content = { - type = "btrfs"; - subvolumes = { - "/root" = { - mountOptions = ["compress=zstd"]; # Compression for better performance - mountpoint = "/"; # Root subvolume - }; - "/persist" = { - mountOptions = ["compress=zstd"]; # Compression for persistent data - mountpoint = "/persist"; # Persistent subvolume - }; - "/nix" = { - mountOptions = [ - "compress=zstd" - "noatime" - "noacl" - ]; # Optimize for Nix store - mountpoint = "/nix"; # Nix subvolume - }; - }; - }; - }; - }; - }; - }; -} diff --git a/hosts/alpha/home.nix b/hosts/alpha/home.nix deleted file mode 100644 index 4fd1caf..0000000 --- a/hosts/alpha/home.nix +++ /dev/null @@ -1,11 +0,0 @@ -{...}: { - home.persistence."/persist" = { - directories = [ - "Projects" - ".ssh" - ".local/share/zsh" - ]; - }; - - home.stateVersion = "24.11"; -} diff --git a/hosts/alpha/secrets.yaml b/hosts/alpha/secrets.yaml deleted file mode 100644 index 82ac079..0000000 --- a/hosts/alpha/secrets.yaml +++ /dev/null @@ -1,28 +0,0 @@ -borg_encryption_key: ENC[AES256_GCM,data:EK1f7J4ea80K7LO16pPmkh246xmXoJEiCKzPbiRCmjQ=,iv:3vae+IAAgDx+0NPgml07kbT9kc4RpzDd1oj2Qb6ZqdM=,tag:aXj3IwzfeQ8+tGjSpq76bw==,type:str] -cloudflare_credentials: - email: ENC[AES256_GCM,data:w9ghChGxgV7OVeM=,iv:Qtl/pMmXGjhZ9dMRkxeyEDncGfY/YPy51eJrZ6mOgGg=,tag:oi7OoTf4TnUknblZ3lPDzQ==,type:str] - dns_api_token: ENC[AES256_GCM,data:lMoqQs9MZ646ESJUxN2dtIopNS8P55JARk6wyfaJ8ad9ABvk268oWQ==,iv:Ez4y/kKPsRuIH9mEcpS3IU4j3kK8F6iBBFOnIf9Ck60=,tag:7I0eE8PoohH9KtiHziagrg==,type:str] -sops: - age: - - recipient: age14vktfes95f33vuefwnmuvryas7az04u76dsgyhfvsx73czkvmp2q7njkl4 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3NjIrVVlPVW9qTU9vMlMw - K3BtRHZaS0h0WmlmMjF3YjhHSFZtNmFzdjNZCjRKQ0UwWTc2L3NOY1AyZnR2K2hF - QkQ4blQvd0paRHd6c3dWaU5XbmV4S28KLS0tIExtWnR0djB5WU9lajVJeU5udlBQ - eDlMemQ1c1FkazlRaDhPUzNBcVh2bWsK544MNSGooJPKL7hxQ+yvPRROw3RER7p8 - jbUVxMp4ZD/0ut/qFrKdyvfSPDcDkUR5eBoeaeUBkMAAPL+YeIxKhQ== - -----END AGE ENCRYPTED FILE----- - - recipient: age1zujp5gxy7suv8ysnygv43cmzuvv36nxfg0ch7r3xg2emc6fz3vmqqujheq - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBvWlN0bWNMZTlMM3Mvdmdn - M2M1RzBaNUl3Qkc4Sm5QbmE3cFpuODBNakZzCk9SbjBvM25pK2pGdmRqMXd4eTJu - ZU8vTmtSN1RYK2RmQ01QempKUG43eHMKLS0tIHVINVgvNTluS1grSm1YSHkzalMx - SGM4ditJZFducVNEaDlJSkhuUnpxQzAKvvHbDuTQUpW+O/qtgjAFZlYc4iRRj4G1 - BP/QyzuTnpP6PuAG9pJYHx164+uS2Ftog/QnCFD0YAJdJtxaoUHzOw== - -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-07-09T19:44:56Z" - mac: ENC[AES256_GCM,data:1sXY3aEfbsit5hGBdE7x0pbdSLnW67NRNNDTEjS1fI85TaPpMmcgrxxvEDsg1A6psRMdBwFMUIVHH/rf4rkZ9tXSmHZBFTZrTQGn09bPF9yNC0MnJXKkcNcQiQJveg986LMWFwT/WE8PWbeDh7o+ASJF+IgT+5ikq8DMBgoyK/E=,iv:Ssy66et65Oq2WwbF12ubLGk87bSv/KSruf49T7v04NY=,tag:Y89PxwRFlJUBZniS2clybw==,type:str] - unencrypted_suffix: _unencrypted - version: 3.10.2 diff --git a/hosts/arcturus/default.nix b/hosts/arcturus/default.nix deleted file mode 100644 index b0e5d80..0000000 --- a/hosts/arcturus/default.nix +++ /dev/null @@ -1,240 +0,0 @@ -{ - modulesPath, - inputs, - username, - lib, - email, - config, - ... -}: { - imports = [ - (modulesPath + "/installer/scan/not-detected.nix") - (modulesPath + "/profiles/qemu-guest.nix") - inputs.disko.nixosModules.default - (import ./disko.nix {device = "/dev/vda";}) - - ../common - ../../modules/nixos/virtualisation/docker.nix - ../../modules/nixos/selfhosted/postgresql.nix - ../../modules/nixos/selfhosted/headscale.nix - ../../modules/nixos/selfhosted/vaultwarden.nix - ../../modules/nixos/selfhosted/gitea.nix - ../../modules/nixos/selfhosted/umami.nix - ../../modules/nixos/selfhosted/monitoring/grafana.nix - ../../modules/nixos/selfhosted/monitoring/loki.nix - ../../modules/nixos/selfhosted/monitoring/promtail.nix - ../../modules/nixos/selfhosted/ntfy-sh.nix - ../../modules/nixos/selfhosted/searx.nix - ../../modules/nixos/selfhosted/wakapi.nix - ../../modules/nixos/selfhosted/silver-bullet.nix - ../../modules/nixos/selfhosted/rustdesk-server.nix - ../../modules/nixos/selfhosted/open-webui.nix - ../../modules/nixos/selfhosted/glance - ]; - - tux.services.openssh.enable = true; - tux.containers.aiostreams = { - enable = true; - port = 4567; - environment = { - ADDON_ID = "aiostreams.tux.rs"; - BASE_URL = "https://aiostreams.tux.rs"; - }; - - environmentFiles = [ - config.sops.secrets."aiostreams".path - ]; - }; - - sops.secrets = { - borg_encryption_key = { - sopsFile = ./secrets.yaml; - }; - - searx_secret_key = { - sopsFile = ./secrets.yaml; - }; - - "cloudflare_credentials/email" = { - sopsFile = ./secrets.yaml; - }; - - "cloudflare_credentials/dns_api_token" = { - sopsFile = ./secrets.yaml; - }; - - plausible_key = { - sopsFile = ./secrets.yaml; - }; - - wakapi_salt = { - sopsFile = ./secrets.yaml; - }; - - silver_bullet = { - sopsFile = ./secrets.yaml; - }; - - "cs2_secrets/SRCDS_TOKEN" = { - sopsFile = ./secrets.yaml; - }; - - "cs2_secrets/CS2_RCONPW" = { - sopsFile = ./secrets.yaml; - }; - - "cs2_secrets/CS2_PW" = { - sopsFile = ./secrets.yaml; - }; - - aiostreams = { - sopsFile = ./secrets.yaml; - }; - - umami = { - sopsFile = ./secrets.yaml; - }; - }; - - nixpkgs = { - hostPlatform = "x86_64-linux"; - }; - - boot = { - kernel.sysctl = { - "vm.swappiness" = 10; - }; - - initrd.systemd = { - enable = lib.mkForce true; - - services.wipe-my-fs = { - wantedBy = ["initrd.target"]; - after = ["initrd-root-device.target"]; - before = ["sysroot.mount"]; - unitConfig.DefaultDependencies = "no"; - serviceConfig.Type = "oneshot"; - script = '' - mkdir /btrfs_tmp - mount /dev/disk/by-partlabel/disk-primary-root /btrfs_tmp - - if [[ -e /btrfs_tmp/root ]]; then - mkdir -p /btrfs_tmp/old_roots - timestamp=$(date --date="@$(stat -c %Y /btrfs_tmp/root)" "+%Y-%m-%-d_%H:%M:%S") - mv /btrfs_tmp/root "/btrfs_tmp/old_roots/$timestamp" - fi - - delete_subvolume_recursively() { - IFS=$'\n' - for i in $(btrfs subvolume list -o "$1" | cut -f 9- -d ' '); do - delete_subvolume_recursively "/btrfs_tmp/$i" - done - btrfs subvolume delete "$1" - } - - for i in $(find /btrfs_tmp/old_roots/ -maxdepth 1 -mtime +30); do - delete_subvolume_recursively "$i" - done - - btrfs subvolume create /btrfs_tmp/root - umount /btrfs_tmp - ''; - }; - }; - - loader = { - grub = { - efiSupport = true; - efiInstallAsRemovable = true; - configurationLimit = 10; - }; - timeout = 1; - }; - }; - - networking = { - hostName = "arcturus"; - - firewall = { - enable = true; - allowedTCPPorts = [ - 80 - 443 - 22 - 3333 - 8081 - ]; - }; - }; - - security = { - acme = { - acceptTerms = true; - defaults.email = "${email}"; - certs = { - "tux.rs" = { - group = "nginx"; - domain = "*.tux.rs"; - extraDomainNames = ["tux.rs"]; - dnsProvider = "cloudflare"; - credentialFiles = { - CLOUDFLARE_EMAIL_FILE = config.sops.secrets."cloudflare_credentials/email".path; - CLOUDFLARE_DNS_API_TOKEN_FILE = config.sops.secrets."cloudflare_credentials/dns_api_token".path; - }; - }; - }; - }; - }; - - users.users.nginx.extraGroups = ["acme"]; - - services = { - nginx = { - recommendedTlsSettings = true; - recommendedBrotliSettings = true; - recommendedOptimisation = true; - recommendedGzipSettings = true; - recommendedProxySettings = true; - }; - }; - - programs.fuse.userAllowOther = true; - fileSystems."/persist".neededForBoot = true; - environment.persistence."/persist" = { - hideMounts = true; - directories = [ - "/var/log" - "/var/lib/nixos" - "/var/lib/acme" - "/var/lib/postgresql" - "/var/lib/headscale" - "/var/lib/vaultwarden" - "/var/lib/gitea" - "/var/lib/clickhouse" - "/var/lib/grafana" - "/var/lib/promtail" - "/var/lib/private" - "/var/lib/nextcloud" - "/var/lib/silverbullet" - "/var/lib/kasmweb" - "/var/lib/aiostreams" - ]; - files = [ - "/etc/ssh/ssh_host_ed25519_key" - "/etc/ssh/ssh_host_ed25519_key.pub" - "/etc/ssh/ssh_host_rsa_key" - "/etc/ssh/ssh_host_rsa_key.pub" - ]; - }; - - users.users.${username} = { - linger = true; - }; - home-manager.users.${username} = { - imports = [ - ./home.nix - ]; - }; - - system.stateVersion = "24.11"; -} diff --git a/hosts/arcturus/disko.nix b/hosts/arcturus/disko.nix deleted file mode 100644 index 4a0c700..0000000 --- a/hosts/arcturus/disko.nix +++ /dev/null @@ -1,53 +0,0 @@ -{device ? throw "Set this to the disk device, e.g. /dev/nvme0n1", ...}: { - disko.devices.disk.primary = { - inherit device; - type = "disk"; - content = { - type = "gpt"; # GPT partitioning scheme - partitions = { - boot = { - name = "boot"; - size = "1M"; - type = "EF02"; - }; - # EFI Partition - ESP = { - size = "512M"; - type = "EF00"; - content = { - type = "filesystem"; - format = "vfat"; - mountpoint = "/boot"; - mountOptions = ["defaults" "umask=0077"]; - }; - }; - # Btrfs Root Partition - root = { - size = "100%"; # Use remaining space - type = "8300"; # Linux filesystem type - content = { - type = "btrfs"; - subvolumes = { - "/root" = { - mountOptions = ["compress=zstd"]; # Compression for better performance - mountpoint = "/"; # Root subvolume - }; - "/persist" = { - mountOptions = ["compress=zstd"]; # Compression for persistent data - mountpoint = "/persist"; # Persistent subvolume - }; - "/nix" = { - mountOptions = [ - "compress=zstd" - "noatime" - "noacl" - ]; # Optimize for Nix store - mountpoint = "/nix"; # Nix subvolume - }; - }; - }; - }; - }; - }; - }; -} diff --git a/hosts/arcturus/home.nix b/hosts/arcturus/home.nix deleted file mode 100644 index 0ea57f5..0000000 --- a/hosts/arcturus/home.nix +++ /dev/null @@ -1,12 +0,0 @@ -{...}: { - home.persistence."/persist" = { - directories = [ - "Projects" - "Stuff" - ".ssh" - ".local/share/zsh" - ]; - }; - - home.stateVersion = "24.11"; -} diff --git a/hosts/arcturus/secrets.yaml b/hosts/arcturus/secrets.yaml deleted file mode 100644 index c77b130..0000000 --- a/hosts/arcturus/secrets.yaml +++ /dev/null @@ -1,39 +0,0 @@ -borg_encryption_key: ENC[AES256_GCM,data:7DZQaoS2a5mPjTej25vr1aO1yAAPyXT2tf/VxKrLxF0=,iv:it8JlyEj4r4Z+qDvoEWMQlGkbVh08M/BCkGLVzRCVKQ=,tag:81gRhru8J3hkQhIbgUOgBg==,type:str] -searx_secret_key: ENC[AES256_GCM,data:Z49PJ2gNI5CI0IfzOta+r67VNUvjoPpMVv5lajGhUMPzSy1KWZC5wIM3d02jWwCOsNjXdU5hE3j9W0rkoy5ZhFPXBJRUEv5b6IcaLA==,iv:364zGZkD2LO189nkvizl8yjedi1IgYEEQMA67SexSSI=,tag:qPqefG6jUaBOpUy6d7E++w==,type:str] -plausible_key: ENC[AES256_GCM,data:Ynf2aJ6RLRdAkT9ltLpCXTl8zg/VESDchlf67PmKjc93rSfDgq9tFqv1q55Km2lDo7y9iLu5WyLLg24CSSwy8Q==,iv:yW5hgP4dhfkvunv3iYmXGEH9w29OOmrG4ourPagslVg=,tag:C5PVfEseP5gJdoQQL4gERQ==,type:str] -wakapi_salt: ENC[AES256_GCM,data:Vk5Lezv0f/0ehHqXXBCsQxWFYE2KFujTfII0r7Gd1BXFrwiPEdX62aZ+9LQx7s1RTHh0n+LP/5t0cmHO/fJhGw==,iv:ZUlRwNXUCQ53Lymi9fO4qoBWjLpHVWfTnYM0Z1I6F5o=,tag:dadkEKV7paH4+qAz7Bxxqg==,type:str] -cloudflare_credentials: - email: ENC[AES256_GCM,data:qesgxkzUglKdYPI=,iv:2XDEoQzmtagSiILWZzJPswdhkQ+qjdZfNd+LL1nHPx8=,tag:K1F23Za2Zq78tzf0fl5zEw==,type:str] - dns_api_token: ENC[AES256_GCM,data:ibSL4KWYhqgHjo27fiSqB1iN9NWU3/qGGuLpmiMpBf+qCuh8uxR7Yw==,iv:NapMvfUSm5rgeROK7KuxGyog8s2PW9CCKtjRG87FoCQ=,tag:/Oah7PRCe4XPts0IYt83zw==,type:str] -nextcloud_password: ENC[AES256_GCM,data:o37mq4YHQT5pbi+cXrk=,iv:8HiDwdHTozNM2lHpgqVhdsspuifppsL2I6Z31xEnYFI=,tag:xTnfn8HcubfiQwLYIkpxjw==,type:str] -silver_bullet: ENC[AES256_GCM,data:tI3Anq2V0Bttw/kN0DYtjdLUB24Q+JiymJt001ie3HfhEVcV3aQhQACTKJ2DbikCZWiet3ve9yqqktudlNTkXk2tk7D1/HQ30ToPzFLSPq6ZY0cxRCMFha9a,iv:gdG59nXnCA7x24vh1xqxocLfAi2/wpFGodCZTJb6Uvg=,tag:Ib1QpryROo6PKWohvLiMVQ==,type:str] -cs2_secrets: - SRCDS_TOKEN: ENC[AES256_GCM,data:SzPz4sHDgEoioX8ylLFM6AUUS60gWYpR3ifxUD8A8IQga24t6GM0dyGDryc=,iv:XefIn9yCLPLKVRA+rZiSGUH3l6ZANIJoGRuM/3vFLIw=,tag:flEjl9c7i3XBlHJaq41QYQ==,type:str] - CS2_RCONPW: ENC[AES256_GCM,data:ZyVeoOngZjxKR/ObYo5yJC1ViCNufuA=,iv:+fJK0sY39V/iH7OjT0AzQq6RefVzLZCDETYcAMFnZNU=,tag:IOhRUQRdffNMXa2cKZvi/w==,type:str] - CS2_PW: ENC[AES256_GCM,data:W1Cur7YT1F/+45vmqif2JbpjVURfnfo=,iv:sBNDM2N+QWDAMculBBZtYZcM7ILEfpwkwOd7ErORQhI=,tag:XFsxTUjctZKU38RQUfJ8HQ==,type:str] -aiostreams: ENC[AES256_GCM,data:2U2EoRUsKr4OIkqrudmIUEp2bABNlSlNUTzR3vtvTfSJVemIGK31iu0SG8aR4tLSQFEZyhIP9M22zZJVWY5hX1UcMEJ1rmtXnaRjTiurRSpTj76pT9plnrjp0NWDcSWY+uhDrAsEko4oPPJEECTT3qMYLXipnzqpPeWsTrNYiuxmfDPcZw==,iv:tHKbtnLMNfY7B2ssE8x0dri9XhA2M6jIj2KOxOsmG2o=,tag:8hjqmniL/P+PfwfYiAdAwA==,type:str] -umami: ENC[AES256_GCM,data:BJN9VpwknBaX+mz6xjq1GX9epM2bukplraPw67TttnLhM9JTmZiela5oFWZiaGjG3Oss3n4WPsPvhC4m28Ah+TQLCoiDFCFqervk228=,iv:YwbJ2/1hXs5Jbqx1dNj1t4ExFS27PWbA4NT9h8/tyU8=,tag:+R1aRF/TaMSGbLDi9GnYwA==,type:str] -sops: - age: - - recipient: age14vktfes95f33vuefwnmuvryas7az04u76dsgyhfvsx73czkvmp2q7njkl4 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB6TGpVMzNDZjNQSkNDQmM3 - eXpvZDRPZW9Kbm81Z2VVUVZIckFNUC9zTEZzCmliUkNWS01YMHVRaUoxTS84VmxQ - UDZtbkhmZmdZVWVsaHN3djkwSERGQ1kKLS0tIEh0ckhDTkQvcEM0UFI2MUVXVHI5 - WnhEdnRqazdZWmczYXYxNy9BMHdwdEUKYgB34OOezF3iF706pIfDmQ0FJEHXBbGF - EJRNmA4Zl1AwyzkN3NSlctzvxx201T1GWL4qZeyVafRv5jQ9oSfK7g== - -----END AGE ENCRYPTED FILE----- - - recipient: age1zsl5d4vj6gl3h96y5p53sq5y4vr4vtlwp727h7rp9a4xfkxm53lqrh6r50 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHeXNrT3c1bENOK0lNZWNT - eFBqYm1BRHBhakFQMVVIKzR0SDRDOW9jUXdBCmFIQWZRSnBlOFBralVFakQ2clNY - Q1Nma0pRVHh4L3IwQm1GbTdqb1BUcWsKLS0tIFRQOVIxb1FRc29WSVVERWsxSDhq - NGprRGVyZ2plWVNrM3drM3JSUjM2L0UKuNk5DqYn2DIfRpY72zDRP5BKoVAXtNv9 - uLI//8wc7f4I3uBdARQdpRE1fapY1UOJOn3i0yndrZARPEbdohRK1Q== - -----END AGE ENCRYPTED FILE----- - lastmodified: "2026-02-17T13:21:46Z" - mac: ENC[AES256_GCM,data:7OcwTCe7MMFPUlqOIs0PxiJndtcWR1LbgSQ+69VXCCkewiee8suDuSMxn6sF+zb402uqSUitKWWySMEyL42ym0uyKB7+fi46sBj8O7T9uYM6F/wiH7S9Q7nuNaGP6zxj5TlvB//Dkp4n31Oqtg8xCTK+xGsV9mR17Ai0fjCxUBI=,iv:WvnNPF76Oi9vE2fgocvnOJmhuAdKjsoQeVZuFa0KU6Q=,tag:UHA+FhQr+BASkSyPTWHpaQ==,type:str] - unencrypted_suffix: _unencrypted - version: 3.11.0 diff --git a/hosts/canopus/default.nix b/hosts/canopus/default.nix deleted file mode 100755 index 180cbaa..0000000 --- a/hosts/canopus/default.nix +++ /dev/null @@ -1,432 +0,0 @@ -{ - inputs, - username, - pkgs, - lib, - config, - ... -}: { - imports = [ - inputs.nixos-hardware.nixosModules.asus-zephyrus-ga503 - inputs.disko.nixosModules.default - - (import ./disko.nix {device = "/dev/nvme0n1";}) - ./hardware.nix - - ../common - ../../modules/nixos/desktop - ../../modules/nixos/desktop/hyprland - ../../modules/nixos/desktop/mango - ../../modules/nixos/virtualisation - ../../modules/nixos/steam.nix - ../../modules/nixos/obs-studio.nix - ]; - - hardware.nvidia-container-toolkit.enable = true; - tux.services.openssh.enable = true; - tux.packages.distrobox.enable = true; - nixpkgs.config.cudaSupport = true; - - sops.secrets = { - hyperbolic_api_key = { - sopsFile = ./secrets.yaml; - owner = "${username}"; - }; - - gemini_api_key = { - sopsFile = ./secrets.yaml; - owner = "${username}"; - }; - - open_router_api_key = { - sopsFile = ./secrets.yaml; - owner = "${username}"; - }; - - "vicinae.json" = { - sopsFile = ./secrets.yaml; - owner = username; - }; - }; - - networking = { - hostName = "canopus"; - networkmanager = { - enable = true; - wifi.powersave = false; - }; - firewall = { - enable = true; - allowedTCPPorts = [ - 80 - 443 - 22 - 3000 - 6666 - 8081 - ]; - - # Facilitate firewall punching - allowedUDPPorts = [ - 41641 - 4242 - ]; - - allowedTCPPortRanges = [ - { - from = 1714; - to = 1764; - } - ]; - allowedUDPPortRanges = [ - { - from = 1714; - to = 1764; - } - ]; - }; - }; - - boot = { - binfmt.emulatedSystems = ["aarch64-linux"]; - - plymouth = { - enable = true; - theme = "spinner-monochrome"; - themePackages = [ - (pkgs.plymouth-spinner-monochrome.override {inherit (config.boot.plymouth) logo;}) - ]; - }; - - kernelParams = [ - "quiet" - "loglevel=3" - "systemd.show_status=auto" - "udev.log_level=3" - "rd.udev.log_level=3" - "vt.global_cursor_default=0" - ]; - consoleLogLevel = 0; - initrd.verbose = false; - - kernelPackages = pkgs.linuxPackages_zen; - supportedFilesystems = ["ntfs"]; - - initrd = { - kernelModules = [ - "vfio_pci" - "vfio" - "vfio_iommu_type1" - ]; - - systemd = { - enable = lib.mkForce true; - - services.wipe-my-fs = { - wantedBy = ["initrd.target"]; - after = ["initrd-root-device.target"]; - before = ["sysroot.mount"]; - unitConfig.DefaultDependencies = "no"; - serviceConfig.Type = "oneshot"; - script = '' - mkdir /btrfs_tmp - mount /dev/disk/by-partlabel/disk-primary-root /btrfs_tmp - - if [[ -e /btrfs_tmp/root ]]; then - mkdir -p /btrfs_tmp/old_roots - timestamp=$(date --date="@$(stat -c %Y /btrfs_tmp/root)" "+%Y-%m-%-d_%H:%M:%S") - mv /btrfs_tmp/root "/btrfs_tmp/old_roots/$timestamp" - fi - - delete_subvolume_recursively() { - IFS=$'\n' - for i in $(btrfs subvolume list -o "$1" | cut -f 9- -d ' '); do - delete_subvolume_recursively "/btrfs_tmp/$i" - done - btrfs subvolume delete "$1" - } - - for i in $(find /btrfs_tmp/old_roots/ -maxdepth 1 -mtime +30); do - delete_subvolume_recursively "$i" - done - - btrfs subvolume create /btrfs_tmp/root - umount /btrfs_tmp - ''; - }; - }; - }; - - loader = { - systemd-boot = { - enable = true; - configurationLimit = 10; - }; - efi.canTouchEfiVariables = true; - timeout = 1; - }; - }; - - hardware = { - bluetooth.enable = true; - bluetooth.powerOnBoot = true; - graphics.enable32Bit = true; - }; - - security = { - polkit.enable = true; - rtkit.enable = true; - }; - - systemd = { - enableEmergencyMode = false; - - user = { - services.polkit-gnome-authentication-agent-1 = { - description = "polkit-gnome-authentication-agent-1"; - wantedBy = ["graphical-session.target"]; - wants = ["graphical-session.target"]; - after = ["graphical-session.target"]; - serviceConfig = { - Type = "simple"; - ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"; - Restart = "on-failure"; - RestartSec = 1; - TimeoutStopSec = 10; - }; - }; - }; - }; - - programs = { - ssh.startAgent = true; - xfconf.enable = true; - thunar = { - enable = true; - plugins = with pkgs; [ - thunar-archive-plugin - thunar-volman - ]; - }; - nix-ld = { - enable = true; - package = pkgs.nix-ld; - }; - nm-applet.enable = true; - noisetorch.enable = true; - }; - - services = { - fwupd.enable = true; - fstrim.enable = true; - resolved.enable = true; - flatpak.enable = true; - - pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - wireplumber.enable = true; - }; - - logind = { - settings.Login = { - HandlePowerKey = "suspend"; - HanldeLidSwitch = "suspend"; - HandleLidSwitchExternalPower = "suspend"; - }; - }; - - xrdp = { - enable = true; - openFirewall = true; - defaultWindowManager = "awesome"; - audio.enable = true; - }; - - syncthing = { - enable = true; - user = "tux"; - dataDir = "/home/tux/"; - openDefaultPorts = true; - }; - - libinput.touchpad.naturalScrolling = true; - libinput.mouse.accelProfile = "flat"; - - # To use Auto-cpufreq we need to - # disable TLP because it's enabled by nixos-hardware - tlp.enable = false; - auto-cpufreq = { - enable = true; - settings = { - battery = { - platform_profile = "balanced"; - governor = "powersave"; - energy_performance_preference = "performance"; - turbo = "never"; - scaling_min_freq = 400000; - scaling_max_freq = 3800000; - }; - charger = { - platform_profile = "performance"; - governor = "performance"; - energy_performance_preference = "performance"; - turbo = "auto"; - scaling_min_freq = 400000; - scaling_max_freq = 4600000; - }; - }; - }; - - blueman.enable = true; - - supergfxd = { - enable = true; - settings = { - mode = "Integrated"; - vfio_enable = false; - vfio_save = false; - always_reboot = false; - no_logind = false; - logout_timeout_s = 180; - hotplug_type = "None"; - }; - }; - - asusd = { - enable = true; - asusdConfig.text = '' - ( - charge_control_end_threshold: 80, - disable_nvidia_powerd_on_battery: true, - ac_command: "", - bat_command: "", - - platform_profile_linked_epp: true, - platform_profile_on_battery: Quiet, - platform_profile_on_ac: Performance, - - change_platform_profile_on_battery: true, - change_platform_profile_on_ac: true, - - profile_quiet_epp: Power, - profile_balanced_epp: BalancePower, - profile_custom_epp: Performance, - profile_performance_epp: Performance, - - ac_profile_tunings: {}, - dc_profile_tunings: {}, - armoury_settings: {}, - ) - ''; - profileConfig.text = '' - ( - active_profile: Quiet, - ) - ''; - fanCurvesConfig.text = '' - ( - profiles: ( - balanced: [ - ( - fan: CPU, - pwm: (2, 22, 45, 68, 91, 153, 153, 153), - temp: (55, 62, 66, 70, 74, 78, 78, 78), - enabled: false, - ), - ( - fan: GPU, - pwm: (2, 25, 48, 71, 94, 165, 165, 165), - temp: (55, 62, 66, 70, 74, 78, 78, 78), - enabled: false, - ), - ], - performance: [ - ( - fan: CPU, - pwm: (35, 68, 79, 91, 114, 175, 175, 175), - temp: (58, 62, 66, 70, 74, 78, 78, 78), - enabled: false, - ), - ( - fan: GPU, - pwm: (35, 71, 84, 94, 119, 188, 188, 188), - temp: (58, 62, 66, 70, 74, 78, 78, 78), - enabled: false, - ), - ], - quiet: [ - ( - fan: CPU, - pwm: (2, 12, 22, 35, 45, 58, 79, 79), - temp: (55, 62, 66, 70, 74, 78, 82, 82), - enabled: true, - ), - ( - fan: GPU, - pwm: (2, 12, 25, 35, 48, 61, 84, 84), - temp: (55, 62, 66, 70, 74, 78, 82, 82), - enabled: true, - ), - ], - custom: [], - ), - ) - ''; - }; - - gvfs.enable = true; - tumbler.enable = true; - # @FIX gnome gcr agent conflicts with programs.ssh.startAgent; - # gnome.gnome-keyring.enable = true; - tailscale = { - enable = true; - extraUpFlags = ["--login-server https://hs.tux.rs"]; - }; - mullvad-vpn = { - enable = true; - package = pkgs.mullvad-vpn; - }; - }; - - fonts.packages = with pkgs.nerd-fonts; [ - fira-code - jetbrains-mono - bigblue-terminal - ]; - - programs.fuse.userAllowOther = true; - fileSystems."/persist".neededForBoot = true; - environment.persistence."/persist" = { - hideMounts = true; - directories = [ - "/var/log" - "/var/lib/bluetooth" - "/var/lib/tailscale" - "/var/lib/nixos" - "/var/lib/docker" - "/var/lib/waydroid" - "/var/lib/iwd" - "/var/lib/libvirt" - "/etc/NetworkManager/system-connections" - ]; - files = [ - # "/etc/machine-id" - "/etc/ly/save.ini" - "/etc/ssh/ssh_host_ed25519_key" - "/etc/ssh/ssh_host_ed25519_key.pub" - "/etc/ssh/ssh_host_rsa_key" - "/etc/ssh/ssh_host_rsa_key.pub" - ]; - }; - - home-manager.users.${username} = { - imports = [ - ./home.nix - ]; - }; - - system.stateVersion = "24.11"; -} diff --git a/hosts/canopus/disko.nix b/hosts/canopus/disko.nix deleted file mode 100644 index 24c9cd2..0000000 --- a/hosts/canopus/disko.nix +++ /dev/null @@ -1,69 +0,0 @@ -{device ? throw "Set this to the disk device, e.g. /dev/nvme0n1", ...}: { - disko.devices.disk.primary = { - inherit device; - type = "disk"; - content = { - type = "gpt"; # GPT partitioning scheme - partitions = { - # EFI Partition - ESP = { - size = "1G"; - type = "EF00"; - content = { - type = "filesystem"; - format = "vfat"; - mountpoint = "/boot"; - mountOptions = [ - "defaults" - "umask=0077" - ]; - }; - }; - # Swap Partition - swap = { - size = "32G"; - content = { - type = "swap"; - discardPolicy = "both"; - resumeDevice = true; # Enable hibernation - }; - }; - # Btrfs Root Partition - root = { - size = "100%"; # Use remaining space - type = "8300"; # Linux filesystem type - content = { - type = "btrfs"; - subvolumes = { - "/root" = { - mountOptions = [ - "compress=zstd" - "noatime" - "space_cache=v2" - ]; # Compression for better performance - mountpoint = "/"; # Root subvolume - }; - "/persist" = { - mountOptions = [ - "compress=zstd" - "noatime" - "space_cache=v2" - ]; # Compression for persistent data - mountpoint = "/persist"; # Persistent subvolume - }; - "/nix" = { - mountOptions = [ - "compress=zstd" - "noatime" - "noacl" - "space_cache=v2" - ]; # Optimize for Nix store - mountpoint = "/nix"; # Nix subvolume - }; - }; - }; - }; - }; - }; - }; -} diff --git a/hosts/canopus/hardware.nix b/hosts/canopus/hardware.nix deleted file mode 100755 index 89fe563..0000000 --- a/hosts/canopus/hardware.nix +++ /dev/null @@ -1,30 +0,0 @@ -# Do not modify this file! It was generated by ‘nixos-generate-config’ -# and may be overwritten by future invocations. Please make changes -# to /etc/nixos/configuration.nix instead. -{ - config, - lib, - pkgs, - modulesPath, - ... -}: { - imports = [ - (modulesPath + "/installer/scan/not-detected.nix") - ]; - - boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "usbhid" "usb_storage" "sd_mod" "sdhci_pci"]; - boot.initrd.kernelModules = []; - boot.kernelModules = ["kvm-amd"]; - boot.extraModulePackages = []; - - # Enables DHCP on each ethernet and wireless interface. In case of scripted networking - # (the default) this is the recommended approach. When using systemd-networkd it's - # still possible to use this option, but it's recommended to use it in conjunction - # with explicit per-interface declarations with `networking.interfaces..useDHCP`. - networking.useDHCP = lib.mkDefault true; - # networking.interfaces.enp3s0.useDHCP = lib.mkDefault true; - # networking.interfaces.wlp4s0.useDHCP = lib.mkDefault true; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; -} diff --git a/hosts/canopus/home.nix b/hosts/canopus/home.nix deleted file mode 100644 index b9995c9..0000000 --- a/hosts/canopus/home.nix +++ /dev/null @@ -1,138 +0,0 @@ -{pkgs, ...}: { - imports = [ - ../../modules/home/desktop/hyprland - ../../modules/home/desktop/mango - ../../modules/home/desktop/vicinae - ../../modules/home/desktop/utils - ../../modules/home/alacritty - ../../modules/home/wezterm - ../../modules/home/ghostty - ../../modules/home/desktop/rofi - ../../modules/home/lan-mouse - ../../modules/home/firefox - ../../modules/home/brave - ../../modules/home/vs-code - ../../modules/home/zed - ../../modules/home/mopidy - ../../modules/home/thunderbird - ../../modules/home/easyeffects - ../../modules/home/discord - ../../modules/home/kdeconnect - ../../modules/home/spotify - ]; - - home.pointerCursor = { - package = pkgs.bibata-cursors; - name = "Bibata-Modern-Ice"; - size = 28; - }; - - qt = { - enable = true; - platformTheme.name = "gtk"; - style = { - name = "adwaita-dark"; - package = pkgs.adwaita-qt; - }; - }; - - gtk = { - enable = true; - theme = { - name = "Materia-dark"; - package = pkgs.materia-theme; - }; - iconTheme = { - package = pkgs.tela-icon-theme; - name = "Tela-black"; - }; - }; - - services.flameshot = { - enable = true; - package = pkgs.flameshot.override {enableWlrSupport = true;}; - settings = { - General = { - useGrimAdapter = true; - }; - }; - }; - - home.packages = with pkgs; [ - antigravity - davinci-resolve - telegram-desktop - anydesk - rustdesk-flutter - moonlight-qt - rawtherapee - stable.beekeeper-studio - libreoffice-qt - spotify - # @TODO Enable when qt5 webengine patched - # https://github.com/NixOS/nixpkgs/blob/b599843bad24621dcaa5ab60dac98f9b0eb1cabe/pkgs/development/libraries/qt-5/modules/qtwebengine.nix#L466 - # stremio - galaxy-buds-client - copyq - vlc - tor-browser - vivaldi - bluetui - impala - pulseaudio - ]; - - home.persistence."/persist" = { - directories = [ - "Downloads" - "Music" - "Wallpapers" - "Documents" - "Videos" - "Projects" - "Stuff" - "Distrobox" - "go" - ".ssh" - ".wakatime" - ".rustup" - ".cargo" - ".steam" - ".mozilla" - ".cache/awww" - ".cache/spotifyd" - ".cache/spotify-player" - ".config/BraveSoftware" - ".config/vivaldi" - ".config/Antigravity" - ".config/zed" - ".config/copyq" - ".config/discord" - ".config/Vencord" - ".config/vesktop" - ".config/sops" - ".config/obs-studio" - ".config/easyeffects" - ".config/rustdesk" - ".config/kdeconnect" - ".config/Moonlight\ Game\ Streaming\ Project" - ".local/lib/vivaldi" - ".local/share/nvim" - ".local/share/opencode" - ".local/share/zsh" - ".local/share/zoxide" - ".local/share/Smart\ Code\ ltd" - ".local/share/GalaxyBudsClient" - ".local/share/TelegramDesktop" - ".local/state/lazygit" - ".local/share/Steam" - ".local/share/vicinae" - ]; - files = [ - ".wakatime.cfg" - ".config/aichat/.env" - ]; - }; - - home.stateVersion = "24.11"; -} diff --git a/hosts/canopus/secrets.yaml b/hosts/canopus/secrets.yaml deleted file mode 100644 index 4b7dc73..0000000 --- a/hosts/canopus/secrets.yaml +++ /dev/null @@ -1,28 +0,0 @@ -hyperbolic_api_key: ENC[AES256_GCM,data:WGvF0PPbMd7zWiO8GfmgluV7dW+ZpzLMO31uI5xo+nekvTBkXiAuHFDK/SXKEUFDMEboNkA/a6JUNsCRhuA4N7qhIZgyQ2bc1iafsj7c4F4X/py63Z4bMx8+byScOSoW+RKAvSFOLDGXQ4s9dKc3XNW7G15QyzTRYUFDbXxsSQ6n6DMJk4jr,iv:o+Shbpl3tXmefpdQB5sod3bNQHHsBnEEP0Bk3C1H5Yo=,tag:fi+7K3nAjVoavqy2Mt8W3Q==,type:str] -gemini_api_key: ENC[AES256_GCM,data:ToQn6NiBpebcSPIHbnAyTJm092Xv24pb7Q09hW/Qb0qZC0ORJGG5,iv:/VIw5hTKlZLaWYdEyaEvIv/ZPTBhq5OkguPL6wFs8A8=,tag:44tNJTBeHYW1ug+z+yKTrw==,type:str] -open_router_api_key: ENC[AES256_GCM,data:QLXIEqsUe8HQobJMvqh8fZi7azXjnz7B524kDPWB8Dk5tAv6EVvM0KHAa6aTGmeMB8LJiUPcLmPU0ifU07s2OyB3Q9w+IFvlfQ==,iv:pBr8SJG8FHP1oYrXrHG0gRMPfdXXoBNPGcYEXF3IJGg=,tag:Yf2FuncT3/9pcBIEN+irGQ==,type:str] -vicinae.json: ENC[AES256_GCM,data:VZ3Z3Q3/KSmqE20Jt91y7XnO8LjKKFg8PUFiFuj2aW3kf/dl40lNWATQxa5AmggGViOf2R+1Q2r4cyGQFUWiOww5gcUT3Op+Z+zqPTE+Heu8/Sst0Vi7ZjL8vvmc6HYpT4t6JvYCEr4jjnBwLIvaxNwxCArEfga5lMgOzDQqhnZeOkBCTGdCp4nN7eBaWBFK4Jsm905mm+N2yMD4/rlkFNA6EBEJ4j5A5DnFF3ooZKSqi0VUhvagZ0JsaGdHpn124hnKkVwLejcWlKYpmXu+5gYRh1F5sADR8BpubMeCoEnGB5zUuxd7v/8m8siYbYzJEMtoBLNVlFcfgdI7/tGfd5aj5S+/ZEHbL9UrSLpKiw==,iv:xayL9aZgak0y3hxwcijMSMslaLCMsVvkXm1Fefs652k=,tag:BE804jVdu1poJmoGPjwsqA==,type:str] -sops: - age: - - recipient: age14vktfes95f33vuefwnmuvryas7az04u76dsgyhfvsx73czkvmp2q7njkl4 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwZ1V0UE0vT3FoZDhKYXBi - ODRvNGRmZzZQY2t0VDNYTzgzUW5TMlFRQzBnCm9sZEJ1WmY0QU1KR1AwS3R0NXlh - cHhYNjA2TWM3Z1JZM2E1UHluNzdBYXcKLS0tIFRwQm10VlJEUVFyemRGYXpUNHhq - eWNJdzc2dlNlR1N1THAzSVlDNEZZMUUK7kacPvAuwbl0hggMuKJS/hjy0j+i1Oeh - tw7bdZ6do30sf9uY8TWDCeOiK1uOJGATLcDd14VhHl968By8n/5pDw== - -----END AGE ENCRYPTED FILE----- - - recipient: age1x36yr8h993srfj29sfpzt4wyz52nztvncpmhgmfs0j26qvfecq3qvcm0an - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSByZk42NzVUMXV0ZDVWR3Q2 - N3NUN1B3blNZS1lKbEU1VmhaTDVOMmFESm1FCi9VeEFXVkRjUnFxYUxERUg0ODY4 - eFhFMXhOek1wWTRwOEd6Zk82Sm9VM0UKLS0tIGVBMHpQSWJzMVUxU09XeS8yVXFW - UVM3a1VIMWZGRGNxaUNwbStKekd4N28KvouH73cSd9xMUzDX3ib5tsR8deXGaGTB - N36MxnZcv9AhX7YErc18OkUv+lHZf2MoJ+x5+XOMCjhlUOlvqcBrAg== - -----END AGE ENCRYPTED FILE----- - lastmodified: "2026-02-17T13:38:15Z" - mac: ENC[AES256_GCM,data:KYa/c921oDF2JKEEO0Fdvh8J1qkuQDH2biaS79v1qRr4AUd1yRpyZ75NvHmeIrYNsXgcgzqCi7vtaCF7v/ucirruf20ZeNmCpVb0BfesNko+0PrjWpwnNbabVCVIJFZiGbe35ENcM0DPECvb7vBJ2QKvqMCot6Zys9TgeXRcmGk=,iv:BPEE3KEg7y0BvVkd+aNMRK8xk4JNKgk8R+AR94rCFiM=,tag:y7rrugvI7XmjDP0Dj7GwBQ==,type:str] - unencrypted_suffix: _unencrypted - version: 3.11.0 diff --git a/hosts/capella/default.nix b/hosts/capella/default.nix deleted file mode 100644 index 3d8f235..0000000 --- a/hosts/capella/default.nix +++ /dev/null @@ -1,63 +0,0 @@ -{ - pkgs, - username, - outputs, - inputs, - email, - ... -}: { - imports = [ - ../../modules/droid/sshd.nix - ]; - - android-integration.am.enable = true; - android-integration.termux-open-url.enable = true; - android-integration.xdg-open.enable = true; - android-integration.termux-setup-storage.enable = true; - android-integration.termux-reload-settings.enable = true; - - terminal.font = let - firacode = pkgs.nerd-fonts.fira-code; - fontPath = "share/fonts/truetype/NerdFonts/FiraCode/FiraCodeNerdFont-Regular.ttf"; - in "${firacode}/${fontPath}"; - - time.timeZone = "Asia/Kolkata"; - - tux.services.openssh = { - enable = true; - ports = [8033]; - authorizedKeys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL+OzPUe2ECPC929DqpkM39tl/vdNAXfsRnmrGfR+X3D ${email}" - ]; - }; - - user = { - uid = 10479; - gid = 10479; - shell = "${pkgs.zsh}/bin/zsh"; - }; - - environment.etcBackupExtension = ".backup"; - environment.motd = ''''; - environment.packages = with pkgs; [ - nano - git - neovim - openssh - inputs.trok.packages."aarch64-linux".default - ]; - - home-manager = { - config = ./home.nix; - backupFileExtension = "backup"; - extraSpecialArgs = {inherit inputs outputs username email;}; - useGlobalPkgs = true; - }; - - # Set up nix for flakes - nix.extraOptions = '' - experimental-features = nix-command flakes - ''; - - system.stateVersion = "24.05"; -} diff --git a/hosts/capella/home.nix b/hosts/capella/home.nix deleted file mode 100644 index a952cec..0000000 --- a/hosts/capella/home.nix +++ /dev/null @@ -1,35 +0,0 @@ -{pkgs, ...}: { - imports = [ - ../../modules/home/git - ../../modules/home/starship - ../../modules/home/fastfetch - ]; - - programs = { - bat.enable = true; - zoxide = { - enable = true; - options = ["--cmd cd"]; - }; - zsh = { - enable = true; - shellAliases = { - ls = "lsd"; - }; - syntaxHighlighting.enable = true; - autosuggestion.enable = true; - initContent = '' - fastfetch - ''; - }; - }; - - home.packages = with pkgs; [ - neovim - busybox - lsd - fastfetch - ]; - - home.stateVersion = "24.05"; -} diff --git a/hosts/common/default.nix b/hosts/common/default.nix deleted file mode 100644 index 1c02596..0000000 --- a/hosts/common/default.nix +++ /dev/null @@ -1,67 +0,0 @@ -{ - username, - outputs, - inputs, - email, - ... -}: { - imports = [ - inputs.impermanence.nixosModules.impermanence - inputs.home-manager.nixosModules.home-manager - inputs.nix-index-database.nixosModules.nix-index - - ../../modules/base - ../../modules/nixos/fail2ban.nix - ../../modules/nixos/selfhosted/upstream-proxy.nix - ../../modules/nixos/selfhosted/tfolio.nix - ../../modules/nixos/selfhosted/cyber-tux.nix - ../../modules/nixos/selfhosted/containers/aiostreams.nix - ../../modules/nixos/networking/ssh.nix - ../../modules/nixos/distrobox.nix - ]; - - sops.secrets.tux-password = { - sopsFile = ./secrets.yaml; - neededForUsers = true; - }; - - time.timeZone = "Asia/Kolkata"; - i18n = { - defaultLocale = "en_US.UTF-8"; - extraLocaleSettings = { - LC_ADDRESS = "en_IN"; - LC_IDENTIFICATION = "en_IN"; - LC_MEASUREMENT = "en_IN"; - LC_MONETARY = "en_IN"; - LC_NAME = "en_IN"; - LC_NUMERIC = "en_IN"; - LC_PAPER = "en_IN"; - LC_TELEPHONE = "en_IN"; - LC_TIME = "en_IN"; - }; - }; - - security.sudo.wheelNeedsPassword = false; - - programs = { - zsh.enable = true; - }; - - home-manager = { - backupFileExtension = "hm-backup"; - useUserPackages = true; - extraSpecialArgs = { - inherit - inputs - outputs - username - email - ; - }; - users.${username} = { - imports = [ - ./home.nix - ]; - }; - }; -} diff --git a/hosts/common/home.nix b/hosts/common/home.nix deleted file mode 100644 index b129d48..0000000 --- a/hosts/common/home.nix +++ /dev/null @@ -1,44 +0,0 @@ -{ - outputs, - username, - inputs, - ... -}: { - imports = [ - inputs.nix-index-database.homeModules.nix-index - - ../../modules/home/shell - ../../modules/home/git - ../../modules/home/starship - ../../modules/home/fastfetch - ../../modules/home/nvim - ../../modules/home/tmux - ../../modules/home/helix - ../../modules/home/aria2 - ]; - - nixpkgs = { - overlays = [ - outputs.overlays.additions - outputs.overlays.modifications - outputs.overlays.stable-packages - outputs.overlays.nur - outputs.overlays.nix-vscode-extensions - ]; - - config = { - allowUnfree = true; - allowUnfreePredicate = _: true; - joypixels.acceptLicense = true; - }; - }; - - home = { - username = "${username}"; - homeDirectory = "/home/${username}"; - }; - - programs.home-manager.enable = true; - - systemd.user.startServices = "sd-switch"; -} diff --git a/hosts/common/secrets.yaml b/hosts/common/secrets.yaml deleted file mode 100644 index 5c14937..0000000 --- a/hosts/common/secrets.yaml +++ /dev/null @@ -1,88 +0,0 @@ -tux-password: ENC[AES256_GCM,data:yAqMKsk7uz0F0k32PdYnqAmn+tdLyXl2krvMstdgFCvIUZH8TlATWCUMPUtnxQiTQqCUY+Q8LE+yYcFFGC3r5TskbF98igZTDA==,iv:hkE/21gdD2bCEdIITrhm9lhKRTHhCPeo8YaYS61/dEM=,tag:/tz2Xvy2ro9gGwKHrJuuzw==,type:str] -sops: - age: - - recipient: age14vktfes95f33vuefwnmuvryas7az04u76dsgyhfvsx73czkvmp2q7njkl4 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBXaTFZSENQZDcvczUrVFF6 - Mm1GV3pqSzVPd2pQaUp3ZGRJS0kzMExXSmtJCkVwR1VxbUhCTTlKVHlLR0kvWkFO - R2VmQWhzSEsya3I4b1JRWnFSbXdUanMKLS0tIFR5bkU3cEVHL3BlUFRjL2l2ZDBK - WUVaZzFCQkc0KzRNQlRRdGNvWFdQNkUKhxAV3VavBzjSQHJPNn+Ghspi1scCq7dS - Qu81Q24kMK9sL7ddTjB7UqCgZ3LHq+Izzw5cSYVy+nq150oCBURnoA== - -----END AGE ENCRYPTED FILE----- - - recipient: age1f860dfewlx5jtt9ejr47gywx70p3dmyc8mat29gpr75psljwjv8q5xyxkq - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBNVGdJQTdBVHAxTmFoeThj - RWE0QjBiQUt5UkdDZzBRQm5vTUtGZmRxQ2xvCkRiUDIxUkV3ZW5Jd1ZoZWRzeE03 - T0VPZE9pYXJGclVZSTJRM1JaVjM3VU0KLS0tIGFXQ3pRWXFYYWkrYngyZDJST2Jr - UlAzTFdxMENxckVpL05ReENjZHk3b1UK1NEgbZ5AMf9h6zlfIHL7ugNSyQ156T5r - x3l7nFrvxAWE9aTzn03hFjgRP72If6k/3pHJmT8h2494+K20qAmx6g== - -----END AGE ENCRYPTED FILE----- - - recipient: age1x36yr8h993srfj29sfpzt4wyz52nztvncpmhgmfs0j26qvfecq3qvcm0an - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBwZE16cm5vNzhVSkY5K2hV - MWRaMHNIL1Q2cDZ0eHozbTJJWklKb09BK213CkFSazJGdnBWQnRvQ2Zlc1JQazZV - VWVMb1FpcUZMeURQSXJBTkJGeVdCeUkKLS0tIG1uRDJ4T2pRaVY1aERQOWhZdGl0 - b3JVbHNpY1B5ekpodHp3ZXlrZFplNFEKiRPqPKh3g33a2/fQVrj8qGOcXheVaLgA - CAShzomubIQNFZUnl12hjH+ZcKlAwYFXzCrHUNdkEUWRIASqGa5oMA== - -----END AGE ENCRYPTED FILE----- - - recipient: age1jg642q775gmnmxeu29gcf3lph8vem4xr8t84cxe809dpd0myrussh49h60 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAvQ3UybGxJaUU5ckdDak5F - d3RJdlR3VHNHZTJ0UXhXc08wSVVXZVFZb2lvClZGSzV6QmhqL01rYjhjdjNKT2RT - V3k1QUF4VXBNb2d6dnA0N2lNNnpXS00KLS0tICs3bWRHMGZiMmM4S3YyY0ttRWZ1 - Snd1QTlRUndzK0RSUld1TlRkNU13cHMKTZsBN/4nBfEndip/vCUNtFZF89MKT8uA - C/hKD33ycaLNzmgxz3VRSCxeALMspeobeOLfRHJLflusD9xGgXn73A== - -----END AGE ENCRYPTED FILE----- - - recipient: age1zsl5d4vj6gl3h96y5p53sq5y4vr4vtlwp727h7rp9a4xfkxm53lqrh6r50 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQWmkrNXJvUjR5anlUcFVE - NExQTnAwZDVmWEl3c3B2bis1N00wQzF6MFFvCnpENVNJU1JWLyswNnZoUTBZNE16 - V2ZtLzIzanZEOWhkYXFxaWVLaDZoUDAKLS0tIEs3SXRZU283dERkZEFabmtFZTEx - aUIwRTgzQklUZmlnS05MQ2o5QmJSQk0KVrx1ZHqnS3KQ9jB7yqVIWbrQAdqDt/c4 - i3mst4a/rKjgZGUYugHMctJppPIpqqVZTpBHPgY5OiAGESMrUZE+Ig== - -----END AGE ENCRYPTED FILE----- - - recipient: age1zujp5gxy7suv8ysnygv43cmzuvv36nxfg0ch7r3xg2emc6fz3vmqqujheq - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBvdUhKNU5BYmNEdllkWU1R - QVIxMExuYit6ekNwVHFmd2dGNEJtTTlHd0IwCkxiZnAvSURQY2RyWnRVVGxtdlUv - bmNpNFB6OENqOFJSakQ2NGJ0cVJTQlkKLS0tIEt5QXBXNC9WaDdIdklTeTA3ZEp6 - Y212bDZSRkttWjBqTEdkbjY4WHd5RTgK1Y779ogFUcr89gosqh7rra7Wg6G/Ez1o - /+48kxF2DTKZLJYX2AFEP5H0JjBDtt+isiO7H1644LjdAwO/sgFMSQ== - -----END AGE ENCRYPTED FILE----- - - recipient: age1ydkclhk9kwqdq74utesqdfupt43lz64d5k65gz2z9uyljcqq9fcq3hv28l - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBwQXFScVBqUDZHc3BDK3N4 - T3BnSWk5SElzZllYRHdlMStPS2ZyMDZoZ3pnCm5KVnBYb1R6anRWd04rNllPSW1G - ZVMwMTQ5NjQvaEYwZUhOOE56ckJHb00KLS0tIEpCWmNQZzFlK3ZrRGFPMFVwZndG - ZStueWovUmtKdTk2enRJa3NSbFpJL1UKtzKYPJ6vy6+VjPkrsRvNTwUtV198oglr - cMqBSuwkqzgjDC09sRMnW5PRfJo8hG+5gkd6EPZ8uAbUhGC+kAyLrg== - -----END AGE ENCRYPTED FILE----- - - recipient: age1put942dyhly8nk9c8n0h8tq0x6xplrg3uw5q0d2jmvwez3zq79qsapl7he - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0ZU93NCtxODQ2YjA4TUcr - aWEyaW4zREZtVUpuZWhZSUw3TWhpMXBYWEVVCitDNGx1eWZQZGsvUDl0UzNCd0Zp - QndpMys5OVg1WXMrdXRDUkFZWDErcjAKLS0tIDBOZTBxM09INTIxZm9tQk10ZUc2 - emExUmJZZk00WmxYK2Y3WCtmQXhSUmsKwMxI9I6kQYkvZ4TzJtv/MdGLwTbQdePx - XB+oFbc9Rp3IAEZfH1+VEtJRjyKk5hE7HQoIh92XxJvmbDIswOe/Rg== - -----END AGE ENCRYPTED FILE----- - - recipient: age1y4luzn2jls7rvgphej23srvdlx563lxq29tvf66vhwwzaf7c3f3qzvresh - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBwNUhPQThmWjJROW95SWsw - aFk4dGR3c0RJZTkwSHFXaWp2UCtQWS9xYjFnCnAxa0RMV0xsNnZ2cnVMbmRzRFYv - QmRZQVY1ME9zTmZtT1RxUmFQc2JYc2cKLS0tIGxUTjYwYXZUMU9FY3BFS04zQk1G - bFJwRno1a0pwVHpaV0haZjlZazNtZDAKxTvzsmLtx50sI2bZ3fFcB6j9ZLas4KmL - 5bu9Z75hFi+N1sjvMpcK7oIFypGLIWU3xpTP//jv6RuiyjGuR2Dq2w== - -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-11-04T09:28:17Z" - mac: ENC[AES256_GCM,data:A+xfYhnoq/JWYGZOleieF5vjrsPOtkKnXPbd94iBAbnuuBKx8Vgkpuum+hJzVIBdDSCVm8hl2Tpcw7NqWLSkXtBR/NKixzk6eIwFvOZz4h7Qe1Zue10pB25IkIzR34sLnWSHtsxuRRG6fZnf0CNtp7baf4XU3doyDwy5A384Jf0=,iv:i0y0UEY7SSCOBIBc+97qIiq4obpUJYb3gFo1yEc5eUI=,tag:c5zONd6zTv3sq4bPqT73OQ==,type:str] - unencrypted_suffix: _unencrypted - version: 3.11.0 diff --git a/hosts/homelab/default.nix b/hosts/homelab/default.nix deleted file mode 100755 index afde133..0000000 --- a/hosts/homelab/default.nix +++ /dev/null @@ -1,169 +0,0 @@ -{ - inputs, - username, - pkgs, - lib, - config, - ... -}: { - imports = [ - inputs.disko.nixosModules.default - - (import ./disko.nix {device = "/dev/nvme0n1";}) - ./hardware.nix - - ../common - ../../modules/nixos/desktop - ../../modules/nixos/virtualisation/docker.nix - ]; - - tux.services.openssh.enable = true; - - sops.secrets = { - discord_token = { - sopsFile = ./secrets.yaml; - }; - - hyperbolic_api_key = { - sopsFile = ./secrets.yaml; - owner = "${username}"; - }; - - gemini_api_key = { - sopsFile = ./secrets.yaml; - owner = "${username}"; - }; - - open_router_api_key = { - sopsFile = ./secrets.yaml; - owner = "${username}"; - }; - }; - - tux.services.cyber-tux = { - enable = true; - environmentFile = config.sops.secrets.discord_token.path; - }; - - networking = { - hostName = "homelab"; - networkmanager = { - enable = true; - wifi.powersave = false; - }; - firewall = { - enable = true; - allowedTCPPorts = [22]; - - # Facilitate firewall punching - allowedUDPPorts = [41641]; - }; - }; - - boot = { - consoleLogLevel = 0; - initrd.verbose = false; - - kernelPackages = pkgs.linuxPackages_zen; - - initrd.systemd = { - enable = lib.mkForce true; - - services.wipe-my-fs = { - wantedBy = ["initrd.target"]; - after = ["initrd-root-device.target"]; - before = ["sysroot.mount"]; - unitConfig.DefaultDependencies = "no"; - serviceConfig.Type = "oneshot"; - script = '' - mkdir /btrfs_tmp - mount /dev/disk/by-partlabel/disk-primary-root /btrfs_tmp - - if [[ -e /btrfs_tmp/root ]]; then - mkdir -p /btrfs_tmp/old_roots - timestamp=$(date --date="@$(stat -c %Y /btrfs_tmp/root)" "+%Y-%m-%-d_%H:%M:%S") - mv /btrfs_tmp/root "/btrfs_tmp/old_roots/$timestamp" - fi - - delete_subvolume_recursively() { - IFS=$'\n' - for i in $(btrfs subvolume list -o "$1" | cut -f 9- -d ' '); do - delete_subvolume_recursively "/btrfs_tmp/$i" - done - btrfs subvolume delete "$1" - } - - for i in $(find /btrfs_tmp/old_roots/ -maxdepth 1 -mtime +30); do - delete_subvolume_recursively "$i" - done - - btrfs subvolume create /btrfs_tmp/root - umount /btrfs_tmp - ''; - }; - }; - - loader = { - systemd-boot = { - enable = true; - configurationLimit = 10; - }; - efi.canTouchEfiVariables = true; - timeout = 1; - }; - }; - - hardware = { - graphics.enable32Bit = true; - }; - - security = { - rtkit.enable = true; - }; - - programs = { - nix-ld = { - enable = true; - package = pkgs.nix-ld; - }; - }; - - services = { - fwupd.enable = true; - fstrim.enable = true; - - tailscale = { - enable = true; - extraUpFlags = ["--login-server https://hs.tux.rs"]; - }; - }; - - programs.fuse.userAllowOther = true; - fileSystems."/persist".neededForBoot = true; - environment.persistence."/persist" = { - hideMounts = true; - directories = [ - "/var/log" - "/var/lib/tailscale" - "/var/lib/nixos" - "/etc/NetworkManager/system-connections" - ]; - files = [ - "/etc/ssh/ssh_host_ed25519_key" - "/etc/ssh/ssh_host_ed25519_key.pub" - "/etc/ssh/ssh_host_rsa_key" - "/etc/ssh/ssh_host_rsa_key.pub" - ]; - }; - - users.users.${username} = {linger = true;}; - home-manager.users.${username} = { - imports = [ - ./home.nix - ]; - }; - - environment.systemPackages = with pkgs; [go-wol]; - - system.stateVersion = "24.11"; -} diff --git a/hosts/homelab/disko.nix b/hosts/homelab/disko.nix deleted file mode 100644 index cb6eb32..0000000 --- a/hosts/homelab/disko.nix +++ /dev/null @@ -1,48 +0,0 @@ -{device ? throw "Set this to the disk device, e.g. /dev/nvme0n1", ...}: { - disko.devices.disk.primary = { - inherit device; - type = "disk"; - content = { - type = "gpt"; # GPT partitioning scheme - partitions = { - # EFI Partition - ESP = { - size = "512M"; - type = "EF00"; - content = { - type = "filesystem"; - format = "vfat"; - mountpoint = "/boot"; - mountOptions = ["defaults" "umask=0077"]; - }; - }; - # Btrfs Root Partition - root = { - size = "100%"; # Use remaining space - type = "8300"; # Linux filesystem type - content = { - type = "btrfs"; - subvolumes = { - "/root" = { - mountOptions = ["compress=zstd"]; # Compression for better performance - mountpoint = "/"; # Root subvolume - }; - "/persist" = { - mountOptions = ["compress=zstd"]; # Compression for persistent data - mountpoint = "/persist"; # Persistent subvolume - }; - "/nix" = { - mountOptions = [ - "compress=zstd" - "noatime" - "noacl" - ]; # Optimize for Nix store - mountpoint = "/nix"; # Nix subvolume - }; - }; - }; - }; - }; - }; - }; -} diff --git a/hosts/homelab/hardware.nix b/hosts/homelab/hardware.nix deleted file mode 100755 index 89fe563..0000000 --- a/hosts/homelab/hardware.nix +++ /dev/null @@ -1,30 +0,0 @@ -# Do not modify this file! It was generated by ‘nixos-generate-config’ -# and may be overwritten by future invocations. Please make changes -# to /etc/nixos/configuration.nix instead. -{ - config, - lib, - pkgs, - modulesPath, - ... -}: { - imports = [ - (modulesPath + "/installer/scan/not-detected.nix") - ]; - - boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "usbhid" "usb_storage" "sd_mod" "sdhci_pci"]; - boot.initrd.kernelModules = []; - boot.kernelModules = ["kvm-amd"]; - boot.extraModulePackages = []; - - # Enables DHCP on each ethernet and wireless interface. In case of scripted networking - # (the default) this is the recommended approach. When using systemd-networkd it's - # still possible to use this option, but it's recommended to use it in conjunction - # with explicit per-interface declarations with `networking.interfaces..useDHCP`. - networking.useDHCP = lib.mkDefault true; - # networking.interfaces.enp3s0.useDHCP = lib.mkDefault true; - # networking.interfaces.wlp4s0.useDHCP = lib.mkDefault true; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; -} diff --git a/hosts/homelab/home.nix b/hosts/homelab/home.nix deleted file mode 100644 index 69d3e89..0000000 --- a/hosts/homelab/home.nix +++ /dev/null @@ -1,21 +0,0 @@ -{...}: { - home.persistence."/persist" = { - directories = [ - "Projects" - "Stuff" - ".ssh" - ".wakatime" - ".config/sops" - ".config/go-wol" - ".local/share/nvim" - ".local/share/zsh" - ".local/share/zoxide" - ".local/state/lazygit" - ]; - files = [ - ".wakatime.cfg" - ]; - }; - - home.stateVersion = "24.11"; -} diff --git a/hosts/homelab/secrets.yaml b/hosts/homelab/secrets.yaml deleted file mode 100644 index ce9e143..0000000 --- a/hosts/homelab/secrets.yaml +++ /dev/null @@ -1,28 +0,0 @@ -discord_token: ENC[AES256_GCM,data:fZqz6LD3+Svtton5gNCXO5ddWAqW1IyxP3M2DAIXZEIYRHUfAq8h9LES2IHWepjl5qKimxB35zacE/TYK2fitngWtRGVoMDBzzU6VTKNulNV3yFWrPA=,iv:YOplYld+c9vHVC0Srfm89qrh4yUygDiW67X2TdwHKMc=,tag:Ioc2wNLX818fRQ/2PSO7Sw==,type:str] -hyperbolic_api_key: ENC[AES256_GCM,data:t8xjjzhgvM9BXiB5jDc2RR384d+mL5zXr+/obDLMm2J+IN+Xw9fr4iz50CTQ5ZMWWMoPjxzY5vgiJ+h71BsDRM0TvBMWuXd2ihKOIZOVo6OQmCX/SeKUgkjunFqz+YKcxsLsF7ZG/tOgWGqMmxom8iGV7LELKG/8MLDCF50YgJNO568MJMUU,iv:Cf+mSG2dxsRclDy8k7gK+hi+Qd5J7wqfS9SQztRob80=,tag:Io4aAFa29SUsfuPFI2/+DA==,type:str] -gemini_api_key: ENC[AES256_GCM,data:GJWo7dXSaUbl2Q9h+Sc1sRF0g+82LyHk3mKFqDaBmRdalvyGwMvp,iv:odLpACXHVqxWIj7e/u6AY1pxjYX+e10Lezne1BlHl60=,tag:qO3zcz/93eHuEzG66zwwdA==,type:str] -open_router_api_key: ENC[AES256_GCM,data:ETiZEngQRnOrJtDXSDfBanzbUyThTAu9BSQCL1tuVv07CCWJaXUui9Y0kS9oIO5to655FON3C0RxovTGx6rWQwOMKeEn5bHUHA==,iv:ePJzHKFWddkLGfydPi6uEzvksm7Djln/DBV88Jc1ugA=,tag:Eb7eYPMC0DlqtT7OFK4UuA==,type:str] -sops: - age: - - recipient: age14vktfes95f33vuefwnmuvryas7az04u76dsgyhfvsx73czkvmp2q7njkl4 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2YktFRE9KS0h0T0hDTlpF - ZEk0VzNTcVE0ampsWVRtSzJ3UHBXL2NlUUh3Cjk5ZnFKVENmTTJHQjgrVWlyOUE1 - THUrTUFzdWhKejNUNXpsNVpvZVdJWm8KLS0tIDZ5bmYzSVBUVlVORHAzSGtCQmVo - a2JuSWVtMi9FMkova3BCd2F0U2VCRzQKonG/AkEn2X2l3vyr0UlJprGW2ZSwrczq - xHafyGiU/I1AO/HoB3BXyP8t/Sgn/dy42lspqZ3MoLLlmx7dQeTd+g== - -----END AGE ENCRYPTED FILE----- - - recipient: age1jg642q775gmnmxeu29gcf3lph8vem4xr8t84cxe809dpd0myrussh49h60 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxWUowUlB2cWVOclpRMENn - TU5za0Y2UHZ5eFNZMEdQWm9xdTZFYkVwS2hNCnRBUU1ndFdiQ09sQjBDb1greC93 - ejl2OVZTTEtIcWpxUk5RRngrbjRWREEKLS0tIDVrSHhxbmJFdWwyQS9xeWlFZitJ - Y1RHaFdXaE9DODJtSTFCSVZWb0xVeUEK4qeBKg3u+vhBIM1dQ7BaOWi/C7Q8hk60 - vu9Zr075n0+kb5Ab+RH24ZmEoP5PJXjwEfbAnmRTjn0reYn1nfcNYA== - -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-10-14T06:52:16Z" - mac: ENC[AES256_GCM,data:/p5Mbonr1YcrDgBIi+wFFPnNKsn74kuWf/EloNDnVWg59LuBy3nhrfXHUvbwlX7vLbSLozbuAHKTDcQ0+OUXJTYvMRApAGVh9HrvQFEQuOPOkwN8/qtdvwduInetX3t7PLWu4vbCVhl1v2BzJyEVQ9tzn7+8zEJhDDS7cPsZ9Is=,iv:GPJxjmOQPAqh0TulLhhX4UX+5FrZizCtDOkQa9xxaXY=,tag:Vv33D3wubWBDVOxdKOMENQ==,type:str] - unencrypted_suffix: _unencrypted - version: 3.10.2 diff --git a/hosts/isoImage/default.nix b/hosts/isoImage/default.nix deleted file mode 100644 index f1a01a1..0000000 --- a/hosts/isoImage/default.nix +++ /dev/null @@ -1,91 +0,0 @@ -{ - pkgs, - modulesPath, - inputs, - username, - lib, - ... -}: { - imports = [ - "${modulesPath}/installer/cd-dvd/installation-cd-minimal.nix" - inputs.home-manager.nixosModules.home-manager - - ../common - ../../modules/nixos/desktop - ../../modules/nixos/desktop/awesome - ../../modules/nixos/desktop/hyprland - ]; - - nixpkgs.hostPlatform = "x86_64-linux"; - - networking = { - hostName = "iso"; - }; - - hardware = { - bluetooth.enable = true; - bluetooth.powerOnBoot = true; - }; - - security = { - rtkit.enable = true; - }; - - programs = { - ssh.startAgent = true; - thunar = { - enable = true; - plugins = with pkgs; [ - thunar-archive-plugin - thunar-volman - ]; - }; - nm-applet.enable = true; - }; - - services = { - resolved.enable = true; - - pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - }; - - logind = { - settings.Login = { - HandlePowerKey = "suspend"; - HanldeLidSwitch = "suspend"; - HandleLidSwitchExternalPower = "suspend"; - }; - }; - - libinput.touchpad.naturalScrolling = true; - libinput.mouse.accelProfile = "flat"; - - blueman.enable = true; - - gvfs.enable = true; - tumbler.enable = true; - }; - - fonts.packages = with pkgs.nerd-fonts; [ - fira-code - jetbrains-mono - bigblue-terminal - ]; - - home-manager.users.${username} = { - imports = [ - ./home.nix - ]; - }; - - users.users.${username} = { - hashedPasswordFile = lib.mkForce null; - initialPassword = username; - }; - - system.stateVersion = "23.11"; -} diff --git a/hosts/isoImage/home.nix b/hosts/isoImage/home.nix deleted file mode 100644 index 9d7c6fa..0000000 --- a/hosts/isoImage/home.nix +++ /dev/null @@ -1,19 +0,0 @@ -{pkgs, ...}: { - imports = [ - ../../modules/home/desktop/awesome - ../../modules/home/desktop/hyprland - ../../modules/home/picom - ../../modules/home/wezterm - ../../modules/home/desktop/rofi - ../../modules/home/firefox - ../../modules/home/brave - ]; - - home.pointerCursor = { - package = pkgs.bibata-cursors; - name = "Bibata-Modern-Ice"; - size = 28; - }; - - home.stateVersion = "24.11"; -} diff --git a/hosts/node/default.nix b/hosts/node/default.nix deleted file mode 100755 index 8cf5bb2..0000000 --- a/hosts/node/default.nix +++ /dev/null @@ -1,54 +0,0 @@ -{ - inputs, - username, - ... -}: { - imports = [ - inputs.disko.nixosModules.default - - (import ./disko.nix { - device = "/dev/nvme0n1"; - device2 = "/dev/nvme1n1"; - device3 = "/dev/sda"; - }) - ./hardware.nix - - ../common - ]; - - tux.services.openssh.enable = true; - - boot.loader.grub.enable = true; - - networking = { - hostName = "node"; - networkmanager = { - enable = true; - wifi.powersave = false; - }; - firewall = { - enable = true; - allowedTCPPorts = [ - 22 - 8545 - 8546 - 9545 - 9546 - ]; - }; - }; - - security.rtkit.enable = true; - - environment.persistence."/persist" = { - enable = false; - }; - - home-manager.users.${username} = { - imports = [ - ./home.nix - ]; - }; - - system.stateVersion = "25.05"; -} diff --git a/hosts/node/disko.nix b/hosts/node/disko.nix deleted file mode 100644 index ee51714..0000000 --- a/hosts/node/disko.nix +++ /dev/null @@ -1,87 +0,0 @@ -{ - device ? throw "Set this to the disk device, e.g. /dev/nvme0n1", - device2 ? throw "Set this to the disk device2, e.g. /dev/nvme1n1", - device3 ? throw "Set this to the disk device3, e.g. /dev/nvme1n1", - ... -}: { - disko.devices = { - disk = { - disk1 = { - type = "disk"; - device = "${device}"; - content = { - type = "gpt"; - partitions = { - boot = { - size = "1M"; - type = "EF02"; # for grub MBR - }; - mdadm = { - size = "100%"; - content = { - type = "mdraid"; - name = "raid0"; - }; - }; - }; - }; - }; - disk2 = { - type = "disk"; - device = "${device2}"; - content = { - type = "gpt"; - partitions = { - boot = { - size = "1M"; - type = "EF02"; # for grub MBR - }; - mdadm = { - size = "100%"; - content = { - type = "mdraid"; - name = "raid0"; - }; - }; - }; - }; - }; - hdd = { - type = "disk"; - device = "${device3}"; - content = { - type = "gpt"; - partitions = { - data = { - size = "100%"; - content = { - type = "filesystem"; - format = "ext4"; - mountpoint = "/mnt/hdd"; - }; - }; - }; - }; - }; - }; - mdadm = { - raid0 = { - type = "mdadm"; - level = 0; - content = { - type = "gpt"; - partitions = { - primary = { - size = "100%"; - content = { - type = "filesystem"; - format = "ext4"; - mountpoint = "/"; - }; - }; - }; - }; - }; - }; - }; -} diff --git a/hosts/node/hardware.nix b/hosts/node/hardware.nix deleted file mode 100644 index 3a5dbf1..0000000 --- a/hosts/node/hardware.nix +++ /dev/null @@ -1,29 +0,0 @@ -# Do not modify this file! It was generated by ‘nixos-generate-config’ -# and may be overwritten by future invocations. Please make changes -# to /etc/nixos/configuration.nix instead. -{ - config, - lib, - pkgs, - modulesPath, - ... -}: { - imports = [ - (modulesPath + "/installer/scan/not-detected.nix") - ]; - - boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "nvme" "usbhid"]; - boot.initrd.kernelModules = []; - boot.kernelModules = ["kvm-amd"]; - boot.extraModulePackages = []; - - # Enables DHCP on each ethernet and wireless interface. In case of scripted networking - # (the default) this is the recommended approach. When using systemd-networkd it's - # still possible to use this option, but it's recommended to use it in conjunction - # with explicit per-interface declarations with `networking.interfaces..useDHCP`. - networking.useDHCP = lib.mkDefault true; - # networking.interfaces.enp41s0.useDHCP = lib.mkDefault true; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; -} diff --git a/hosts/node/home.nix b/hosts/node/home.nix deleted file mode 100644 index 3443cad..0000000 --- a/hosts/node/home.nix +++ /dev/null @@ -1,3 +0,0 @@ -{...}: { - home.stateVersion = "25.05"; -} diff --git a/hosts/rigel/default.nix b/hosts/rigel/default.nix deleted file mode 100644 index 1591f04..0000000 --- a/hosts/rigel/default.nix +++ /dev/null @@ -1,63 +0,0 @@ -{ - pkgs, - username, - outputs, - inputs, - email, - ... -}: { - imports = [ - ../../modules/droid/sshd.nix - ]; - - android-integration.am.enable = true; - android-integration.termux-open-url.enable = true; - android-integration.xdg-open.enable = true; - android-integration.termux-setup-storage.enable = true; - android-integration.termux-reload-settings.enable = true; - - terminal.font = let - firacode = pkgs.nerd-fonts.fira-code; - fontPath = "share/fonts/truetype/NerdFonts/FiraCode/FiraCodeNerdFont-Regular.ttf"; - in "${firacode}/${fontPath}"; - - time.timeZone = "Asia/Kolkata"; - - tux.services.openssh = { - enable = true; - ports = [8033]; - authorizedKeys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL+OzPUe2ECPC929DqpkM39tl/vdNAXfsRnmrGfR+X3D ${email}" - ]; - }; - - user = { - uid = 10225; - gid = 10225; - shell = "${pkgs.zsh}/bin/zsh"; - }; - - environment.etcBackupExtension = ".backup"; - environment.motd = ''''; - environment.packages = with pkgs; [ - nano - git - neovim - openssh - inputs.trok.packages."aarch64-linux".default - ]; - - home-manager = { - config = ./home.nix; - backupFileExtension = "backup"; - extraSpecialArgs = {inherit inputs outputs username email;}; - useGlobalPkgs = true; - }; - - # Set up nix for flakes - nix.extraOptions = '' - experimental-features = nix-command flakes - ''; - - system.stateVersion = "24.05"; -} diff --git a/hosts/rigel/home.nix b/hosts/rigel/home.nix deleted file mode 100644 index a952cec..0000000 --- a/hosts/rigel/home.nix +++ /dev/null @@ -1,35 +0,0 @@ -{pkgs, ...}: { - imports = [ - ../../modules/home/git - ../../modules/home/starship - ../../modules/home/fastfetch - ]; - - programs = { - bat.enable = true; - zoxide = { - enable = true; - options = ["--cmd cd"]; - }; - zsh = { - enable = true; - shellAliases = { - ls = "lsd"; - }; - syntaxHighlighting.enable = true; - autosuggestion.enable = true; - initContent = '' - fastfetch - ''; - }; - }; - - home.packages = with pkgs; [ - neovim - busybox - lsd - fastfetch - ]; - - home.stateVersion = "24.05"; -} diff --git a/hosts/sirius/default.nix b/hosts/sirius/default.nix deleted file mode 100644 index 5433902..0000000 --- a/hosts/sirius/default.nix +++ /dev/null @@ -1,79 +0,0 @@ -{ - pkgs, - inputs, - username, - config, - ... -}: { - imports = [ - inputs.nixos-wsl.nixosModules.wsl - - ../common - ../../modules/nixos/virtualisation/docker.nix - ]; - - hardware.nvidia-container-toolkit = { - enable = true; - suppressNvidiaDriverAssertion = true; - }; - - tux.services.openssh.enable = true; - - sops.secrets = { - hyperbolic_api_key = { - sopsFile = ./secrets.yaml; - owner = "${username}"; - }; - - gemini_api_key = { - sopsFile = ./secrets.yaml; - owner = "${username}"; - }; - - open_router_api_key = { - sopsFile = ./secrets.yaml; - owner = "${username}"; - }; - }; - - boot.binfmt.emulatedSystems = ["aarch64-linux"]; - - nixpkgs = { - config.cudaSupport = true; - hostPlatform = "x86_64-linux"; - }; - - wsl = { - enable = true; - defaultUser = "${username}"; - useWindowsDriver = true; - interop.register = true; - }; - - networking.hostName = "sirius"; - - programs = { - ssh.startAgent = true; - zsh.enable = true; - - nix-ld = { - enable = true; - libraries = config.hardware.graphics.extraPackages; - package = pkgs.nix-ld; - }; - - dconf.enable = true; - }; - - environment.persistence."/persist" = { - enable = false; - }; - - home-manager.users.${username} = { - imports = [ - ./home.nix - ]; - }; - - system.stateVersion = "23.11"; -} diff --git a/hosts/sirius/home.nix b/hosts/sirius/home.nix deleted file mode 100644 index 86ea8a7..0000000 --- a/hosts/sirius/home.nix +++ /dev/null @@ -1,3 +0,0 @@ -{...}: { - home.stateVersion = "23.11"; -} diff --git a/hosts/sirius/secrets.yaml b/hosts/sirius/secrets.yaml deleted file mode 100644 index 32ff925..0000000 --- a/hosts/sirius/secrets.yaml +++ /dev/null @@ -1,27 +0,0 @@ -hyperbolic_api_key: ENC[AES256_GCM,data:3E4oWt65AU3anVUEU52r7vpRddDgXdqKgvc/URQmJGbA0nu6sbRmw3lD44SG0L5tMubi20+gkKlyFV3i8q2U148eo582Sxh8eXshvvjZ+gr9W9Eg0Tk9kQWycrE+N3r3g1AC+CWtbkRFDxQLuVAYf9W4mTw2Yg1VLV7H3BUCSYv3Rg5EPb9c,iv:Z+72Bk+5ZnHVR+SHXgM5mwfsIp4zZf9Iv8cAaZQB3Mg=,tag:phqWkpOCKnfiCBvR/f3flw==,type:str] -gemini_api_key: ENC[AES256_GCM,data:S9DEgF4xIDXaOqs+3vdRbFb4Z8eAV1hVg8PwEfasWu9XGH3CTXV8,iv:LvUFg6dzlzC3feGh//d2rmxvVq5TJQDEBQWfxNa259Y=,tag:juLXnsiXz7OmYvyKfAv66Q==,type:str] -open_router_api_key: ENC[AES256_GCM,data:tUtkVER9ZlhSeb0bDbA1nRi1lkRX/ofosV+mcHnaNQmAZXWXiyn8WDfemxxNuvU86YctURxL4TckfsQv7RmMjY7esB1Pmmwf9Q==,iv:elT8JJu48cgu4Q1YWxiL4ePNkP+EGhI8blqfUB/nmz8=,tag:bMvUXUegE+GJ6WdypTxLyw==,type:str] -sops: - age: - - recipient: age14vktfes95f33vuefwnmuvryas7az04u76dsgyhfvsx73czkvmp2q7njkl4 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtVUx5VWlHekQ1ZlBWb1cv - aWpXQ0NUaDVudENNRWhPdXlhekhwZW9zbjNNCkRzTlVOZm53MnJmckp6d3FsTU9D - M2pZYUs2aHJzWjQzM01BMUVaZHlsdm8KLS0tIG04Rjc3VXM1eFhvTGhpMVlJdE9K - dkYwdGZMRmZ1MFFTVlI4T0MrNytsV00KmdCXJ/EBZhLN/NXuOf36LjwmGTze46Ou - kQtKSpdzLdo/bdS6sbUGVHqDLeS7GwGtVciMh9zBHCsGBCAAkQHxIA== - -----END AGE ENCRYPTED FILE----- - - recipient: age1f860dfewlx5jtt9ejr47gywx70p3dmyc8mat29gpr75psljwjv8q5xyxkq - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBiSXhQdEpJZHBGbjlZTnhD - U0Zwc1pwbGtHdkRFbWJRVzRNWUdqakhzM2pJCmYyYlMwQVZEbzkxcnRKVERyeExB - Z0hXcTdyMHMwREExdlJmR3JHTldvRnMKLS0tIFNMczN6QmI3cUR6clBDU2dKQTVF - U1dpRkttaURwSkgySVdiR25iZk50b2cKrrNfeAV73W3+kWM0diIFj08+koBVySVx - U3tYYrePi7qQxDSrNo4a14yOopjktj/ABKpxI5cfza6aS5NQxErq2Q== - -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-10-10T21:30:12Z" - mac: ENC[AES256_GCM,data:IxGSaYj3PLV+RA4G+A3yep0RkcPr9xd6X7yKJP3QVthzGinm0KRNs8wyMdDgdSrK/e0AlzN594VOMTRRgxLV9oPqEPqufWDGGCpiKuW+q2mJSv3i3f1dUbO/l+OSTEFqeeKb8rWEhbJ3qcjEhI/eFB+RNkDtJvSzDlJsS4uDB9A=,iv:VlvTI3AHyBKpwr9b29YqN8V1Tjq2E8oAOAPA7LuAKps=,tag:+BFt/T4ep66WFz9Y2a7a9w==,type:str] - unencrypted_suffix: _unencrypted - version: 3.10.2 diff --git a/hosts/vega/default.nix b/hosts/vega/default.nix deleted file mode 100644 index 07bae60..0000000 --- a/hosts/vega/default.nix +++ /dev/null @@ -1,67 +0,0 @@ -{ - pkgs, - username, - ... -}: { - imports = [ - ./hardware.nix - ../common - - ../../modules/nixos/selfhosted/adguard.nix - ]; - - tux.services.openssh.enable = true; - - boot.initrd.availableKernelModules = [ - "usbhid" - "usb_storage" - "vc4" - "pcie_brcmstb" # required for the pcie bus to work - "reset-raspberrypi" # required for vl805 firmware to load - ]; - - # Use the extlinux boot loader. (NixOS wants to enable GRUB by default) - boot.loader.grub.enable = false; - # Enables the generation of /boot/extlinux/extlinux.conf - boot.loader.generic-extlinux-compatible.enable = true; - - hardware.enableRedistributableFirmware = true; - powerManagement.cpuFreqGovernor = "ondemand"; - - networking = { - hostName = "vega"; - networkmanager = { - enable = true; - wifi.powersave = false; - }; - firewall = { - enable = true; - allowedTCPPorts = [22]; - - # Facilitate firewall punching - allowedUDPPorts = [41641]; - }; - }; - - services = { - tailscale = { - enable = true; - extraUpFlags = ["--login-server https://hs.tux.rs"]; - }; - }; - - environment.systemPackages = with pkgs; [go-wol]; - - environment.persistence."/persist" = { - enable = false; - }; - - users.users.${username} = {linger = true;}; - home-manager.users.${username} = { - imports = [ - ./home.nix - ]; - }; - - system.stateVersion = "24.11"; -} diff --git a/hosts/vega/hardware.nix b/hosts/vega/hardware.nix deleted file mode 100644 index 9f89204..0000000 --- a/hosts/vega/hardware.nix +++ /dev/null @@ -1,36 +0,0 @@ -# Do not modify this file! It was generated by ‘nixos-generate-config’ -# and may be overwritten by future invocations. Please make changes -# to /etc/nixos/configuration.nix instead. -{ - config, - lib, - pkgs, - modulesPath, - ... -}: { - imports = [ - (modulesPath + "/installer/scan/not-detected.nix") - ]; - - boot.initrd.availableKernelModules = []; - boot.initrd.kernelModules = []; - boot.kernelModules = []; - boot.extraModulePackages = []; - - fileSystems."/" = { - device = "/dev/disk/by-uuid/44444444-4444-4444-8888-888888888888"; - fsType = "ext4"; - }; - - swapDevices = []; - - # Enables DHCP on each ethernet and wireless interface. In case of scripted networking - # (the default) this is the recommended approach. When using systemd-networkd it's - # still possible to use this option, but it's recommended to use it in conjunction - # with explicit per-interface declarations with `networking.interfaces..useDHCP`. - networking.useDHCP = lib.mkDefault true; - # networking.interfaces.enu1u1.useDHCP = lib.mkDefault true; - # networking.interfaces.wlan0.useDHCP = lib.mkDefault true; - - nixpkgs.hostPlatform = lib.mkDefault "aarch64-linux"; -} diff --git a/hosts/vega/home.nix b/hosts/vega/home.nix deleted file mode 100644 index 06e725e..0000000 --- a/hosts/vega/home.nix +++ /dev/null @@ -1,3 +0,0 @@ -{...}: { - home.stateVersion = "24.11"; -} diff --git a/hosts/vps/default.nix b/hosts/vps/default.nix deleted file mode 100644 index 353c09e..0000000 --- a/hosts/vps/default.nix +++ /dev/null @@ -1,102 +0,0 @@ -{ - modulesPath, - inputs, - username, - lib, - ... -}: { - imports = [ - (modulesPath + "/installer/scan/not-detected.nix") - (modulesPath + "/profiles/qemu-guest.nix") - inputs.disko.nixosModules.default - (import ./disko.nix {device = "/dev/sda";}) - - ../common - ]; - - tux.services.openssh.enable = true; - - nixpkgs = { - hostPlatform = "x86_64-linux"; - }; - - boot = { - initrd.systemd = { - enable = lib.mkForce true; - - services.wipe-my-fs = { - wantedBy = ["initrd.target"]; - after = ["initrd-root-device.target"]; - before = ["sysroot.mount"]; - unitConfig.DefaultDependencies = "no"; - serviceConfig.Type = "oneshot"; - script = '' - mkdir /btrfs_tmp - mount /dev/disk/by-partlabel/disk-primary-root /btrfs_tmp - - if [[ -e /btrfs_tmp/root ]]; then - mkdir -p /btrfs_tmp/old_roots - timestamp=$(date --date="@$(stat -c %Y /btrfs_tmp/root)" "+%Y-%m-%-d_%H:%M:%S") - mv /btrfs_tmp/root "/btrfs_tmp/old_roots/$timestamp" - fi - - delete_subvolume_recursively() { - IFS=$'\n' - for i in $(btrfs subvolume list -o "$1" | cut -f 9- -d ' '); do - delete_subvolume_recursively "/btrfs_tmp/$i" - done - btrfs subvolume delete "$1" - } - - for i in $(find /btrfs_tmp/old_roots/ -maxdepth 1 -mtime +30); do - delete_subvolume_recursively "$i" - done - - btrfs subvolume create /btrfs_tmp/root - umount /btrfs_tmp - ''; - }; - }; - - loader = { - grub = { - efiSupport = true; - efiInstallAsRemovable = true; - }; - }; - }; - - networking.hostName = "vps"; - - users = { - users.${username} = { - password = "${username}"; - hashedPasswordFile = lib.mkForce null; - }; - }; - - programs.fuse.userAllowOther = true; - fileSystems."/persist".neededForBoot = true; - environment.persistence."/persist" = { - hideMounts = true; - directories = [ - "/var/log" - "/var/lib/nixos" - ]; - files = [ - "/etc/ssh/ssh_host_ed25519_key" - "/etc/ssh/ssh_host_ed25519_key.pub" - "/etc/ssh/ssh_host_rsa_key" - "/etc/ssh/ssh_host_rsa_key.pub" - ]; - }; - - users.users.${username} = {linger = true;}; - home-manager.users.${username} = { - imports = [ - ./home.nix - ]; - }; - - system.stateVersion = "24.11"; -} diff --git a/hosts/vps/disko.nix b/hosts/vps/disko.nix deleted file mode 100644 index 4a0c700..0000000 --- a/hosts/vps/disko.nix +++ /dev/null @@ -1,53 +0,0 @@ -{device ? throw "Set this to the disk device, e.g. /dev/nvme0n1", ...}: { - disko.devices.disk.primary = { - inherit device; - type = "disk"; - content = { - type = "gpt"; # GPT partitioning scheme - partitions = { - boot = { - name = "boot"; - size = "1M"; - type = "EF02"; - }; - # EFI Partition - ESP = { - size = "512M"; - type = "EF00"; - content = { - type = "filesystem"; - format = "vfat"; - mountpoint = "/boot"; - mountOptions = ["defaults" "umask=0077"]; - }; - }; - # Btrfs Root Partition - root = { - size = "100%"; # Use remaining space - type = "8300"; # Linux filesystem type - content = { - type = "btrfs"; - subvolumes = { - "/root" = { - mountOptions = ["compress=zstd"]; # Compression for better performance - mountpoint = "/"; # Root subvolume - }; - "/persist" = { - mountOptions = ["compress=zstd"]; # Compression for persistent data - mountpoint = "/persist"; # Persistent subvolume - }; - "/nix" = { - mountOptions = [ - "compress=zstd" - "noatime" - "noacl" - ]; # Optimize for Nix store - mountpoint = "/nix"; # Nix subvolume - }; - }; - }; - }; - }; - }; - }; -} diff --git a/hosts/vps/home.nix b/hosts/vps/home.nix deleted file mode 100644 index 4fd1caf..0000000 --- a/hosts/vps/home.nix +++ /dev/null @@ -1,11 +0,0 @@ -{...}: { - home.persistence."/persist" = { - directories = [ - "Projects" - ".ssh" - ".local/share/zsh" - ]; - }; - - home.stateVersion = "24.11"; -} diff --git a/modules/base/default.nix b/modules/base/default.nix deleted file mode 100644 index e5d0cf6..0000000 --- a/modules/base/default.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ - imports = [ - ./nix.nix - ./nixpkgs.nix - ./nh.nix - ./overlays.nix - ./sops.nix - ./substituters.nix - ./user.nix - ]; -} diff --git a/modules/base/nh.nix b/modules/base/nh.nix deleted file mode 100644 index 1f099a0..0000000 --- a/modules/base/nh.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ - config, - username, - ... -}: { - programs.nh = { - enable = true; - - clean = { - enable = !config.nix.gc.automatic; - dates = "weekly"; - }; - - flake = "/home/${username}/Projects/nixos-config"; - }; -} diff --git a/modules/base/nix.nix b/modules/base/nix.nix deleted file mode 100644 index 7c096fc..0000000 --- a/modules/base/nix.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ - pkgs, - username, - ... -}: { - nix = { - # @TODO enable when lix is patched - # package = pkgs.lix; - - gc = { - automatic = true; - dates = "weekly"; - options = "--delete-older-than 7d"; - }; - - optimise = { - automatic = true; - dates = ["weekly"]; - }; - - channel.enable = false; - - settings = { - extra-platforms = [ - "aarch64-linux" - "arm-linux" - ]; - auto-optimise-store = true; - allowed-users = ["${username}"]; - trusted-users = ["${username}"]; - experimental-features = "nix-command flakes"; - keep-going = true; - warn-dirty = false; - http-connections = 50; - }; - }; -} diff --git a/modules/base/nixpkgs.nix b/modules/base/nixpkgs.nix deleted file mode 100644 index 9915423..0000000 --- a/modules/base/nixpkgs.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ - nixpkgs = { - config = { - allowUnfree = true; - joypixels.acceptLicense = true; - }; - }; -} diff --git a/modules/base/overlays.nix b/modules/base/overlays.nix deleted file mode 100644 index 7ff88b8..0000000 --- a/modules/base/overlays.nix +++ /dev/null @@ -1,9 +0,0 @@ -{outputs, ...}: { - nixpkgs.overlays = [ - outputs.overlays.additions - outputs.overlays.modifications - outputs.overlays.stable-packages - outputs.overlays.nur - outputs.overlays.nix-vscode-extensions - ]; -} diff --git a/modules/base/sops.nix b/modules/base/sops.nix deleted file mode 100644 index 6dd1e38..0000000 --- a/modules/base/sops.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ - inputs, - config, - pkgs, - ... -}: let - isEd25519 = k: k.type == "ed25519"; - getKeyPath = k: k.path; - keys = builtins.filter isEd25519 config.services.openssh.hostKeys; -in { - imports = [inputs.sops-nix.nixosModules.sops]; - - sops.age = { - sshKeyPaths = map getKeyPath keys; - keyFile = "/var/lib/sops-nix/key.txt"; - generateKey = true; - }; - - environment.systemPackages = with pkgs; [sops]; -} diff --git a/modules/base/substituters.nix b/modules/base/substituters.nix deleted file mode 100644 index 4e8a664..0000000 --- a/modules/base/substituters.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ - nix.settings = { - substituters = [ - "https://cache.nixos.org?priority=10" - "https://anyrun.cachix.org" - "https://fufexan.cachix.org" - "https://helix.cachix.org" - "https://hyprland.cachix.org" - "https://nix-community.cachix.org" - "https://nix-gaming.cachix.org" - "https://yazi.cachix.org" - "https://nix-on-droid.cachix.org" - ]; - trusted-substituters = ["https://nix-on-droid.cachix.org"]; - trusted-public-keys = [ - "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" - "anyrun.cachix.org-1:pqBobmOjI7nKlsUMV25u9QHa9btJK65/C8vnO3p346s=" - "fufexan.cachix.org-1:LwCDjCJNJQf5XD2BV+yamQIMZfcKWR9ISIFy5curUsY=" - "helix.cachix.org-1:ejp9KQpR1FBI2onstMQ34yogDm4OgU2ru6lIwPvuCVs=" - "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" - "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" - "nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4=" - "yazi.cachix.org-1:Dcdz63NZKfvUCbDGngQDAZq6kOroIrFoyO064uvLh8k=" - "nix-on-droid.cachix.org-1:56snoMJTXmDRC1Ei24CmKoUqvHJ9XCp+nidK7qkMQrU=" - ]; - }; -} diff --git a/modules/base/user.nix b/modules/base/user.nix deleted file mode 100644 index c63052e..0000000 --- a/modules/base/user.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ - config, - pkgs, - username, - email, - ... -}: { - users = { - mutableUsers = false; - defaultUserShell = pkgs.zsh; - users.${username} = { - hashedPasswordFile = config.sops.secrets.tux-password.path; - isNormalUser = true; - extraGroups = ["networkmanager" "wheel" "storage"]; - openssh.authorizedKeys.keys = [ - ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL+OzPUe2ECPC929DqpkM39tl/vdNAXfsRnmrGfR+X3D ${email}'' - ]; - }; - }; -} diff --git a/modules/droid/sshd.nix b/modules/droid/sshd.nix deleted file mode 100644 index 43a7dba..0000000 --- a/modules/droid/sshd.nix +++ /dev/null @@ -1,106 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: let - # utility functions - concatLines = list: builtins.concatStringsSep "\n" list; - - prefixLines = mapper: list: concatLines (map mapper list); - - # could be put in the config - configPath = "ssh/sshd_config"; - - keysFolder = "/etc/ssh"; - - authorizedKeysFolder = "/etc/ssh/authorized_keys.d"; - - supportedKeysTypes = [ - "rsa" - "ed25519" - ]; - - sshd-start-bin = "sshd-start"; - - # real config - cfg = config.tux.services.openssh; - - pathOfKeyOf = type: "${keysFolder}/ssh_host_${type}_key"; - - generateKeyOf = type: '' - ${lib.getExe' pkgs.openssh "ssh-keygen"} \ - -t "${type}" \ - -f "${pathOfKeyOf type}" \ - -N "" - ''; - - generateKeyWhenNeededOf = type: '' - if [ ! -f ${pathOfKeyOf type} ]; then - mkdir --parents ${keysFolder} - ${generateKeyOf type} - fi - ''; - - sshd-start = pkgs.writeScriptBin sshd-start-bin '' - #!${pkgs.runtimeShell} - ${prefixLines generateKeyWhenNeededOf supportedKeysTypes} - - mkdir --parents "${authorizedKeysFolder}" - echo "${lib.concatStringsSep "\n" cfg.authorizedKeys}" > ${authorizedKeysFolder}/${config.user.userName} - - echo "Starting sshd in non-daemonized way on port ${lib.concatMapStrings toString cfg.ports}" - ${lib.getExe' pkgs.openssh "sshd"} \ - -f "/etc/${configPath}" \ - -D # don't detach into a daemon process - ''; -in { - options = { - tux.services.openssh = { - enable = lib.mkEnableOption '' - Whether to enable the OpenSSH secure shell daemon, which - allows secure remote logins. - ''; - - ports = lib.mkOption { - type = lib.types.listOf lib.types.port; - default = [22]; - description = '' - Specifies on which ports the SSH daemon listens. - ''; - }; - - authorizedKeys = lib.mkOption { - type = lib.types.listOf lib.types.str; - default = []; - description = '' - Specify a list of public keys to be added to the authorized_keys file. - ''; - }; - }; - }; - - config = lib.mkIf cfg.enable { - environment.etc = { - "${configPath}".text = '' - ${prefixLines (port: "Port ${toString port}") cfg.ports} - - AuthorizedKeysFile ${authorizedKeysFolder}/%u - - LogLevel VERBOSE - ''; - }; - - environment.packages = [ - sshd-start - pkgs.openssh - ]; - - build.activationAfter.sshd = '' - SERVER_PID=$(${lib.getExe' pkgs.procps "ps"} -a | ${lib.getExe' pkgs.toybox "grep"} sshd || true) - if [ -z "$SERVER_PID" ]; then - $DRY_RUN_CMD ${lib.getExe sshd-start} - fi - ''; - }; -} diff --git a/modules/home/alacritty/default.nix b/modules/home/alacritty/default.nix deleted file mode 100755 index e5986b1..0000000 --- a/modules/home/alacritty/default.nix +++ /dev/null @@ -1,69 +0,0 @@ -{...}: { - programs.alacritty = { - enable = true; - - settings = { - font = { - normal.family = "JetBrainsMono Nerd Font"; - bold.family = "JetBrainsMono Nerd Font"; - italic.family = "JetBrainsMono Nerd Font"; - bold_italic.family = "JetBrainsMono Nerd Font"; - size = 12; - }; - - window = { - padding = { - x = 15; - y = 15; - }; - - decorations = "none"; - opacity = 1.0; - dynamic_title = true; - }; - - selection.save_to_clipboard = false; - - general.live_config_reload = true; - - colors = { - primary = { - background = "#0f0f0f"; - foreground = "#a5b6cf"; - }; - normal = { - black = "#1c1e27"; - blue = "#8baff1"; - cyan = "#98d3ee"; - green = "#95d3af"; - magenta = "#c79bf0"; - red = "#e26c7c"; - white = "#d0d3d8"; - yellow = "#f1d8a5"; - }; - bright = { - black = "#151720"; - blue = "#86aaec"; - cyan = "#93cee9"; - green = "#90ceaa"; - magenta = "#c296eb"; - red = "#dd6777"; - white = "#cbced3"; - yellow = "#ecd3a0"; - }; - cursor = { - cursor = "#a5b6cf"; - text = "CellForeground"; - }; - selection = { - text = "CellForeground"; - background = "0x303340"; - }; - vi_mode_cursor = { - text = "CellBackground"; - cursor = "CellForeground"; - }; - }; - }; - }; -} diff --git a/modules/home/aria2/default.nix b/modules/home/aria2/default.nix deleted file mode 100644 index 752dd96..0000000 --- a/modules/home/aria2/default.nix +++ /dev/null @@ -1,44 +0,0 @@ -{...}: { - programs.aria2 = { - enable = true; - settings = { - file-allocation = "none"; - log-level = "warn"; - max-connection-per-server = 16; - min-split-size = "1M"; - human-readable = true; - reuse-uri = true; - rpc-save-upload-metadata = true; - max-file-not-found = 0; - remote-time = true; - async-dns = true; - stop = 0; - allow-piece-length-change = true; - optimize-concurrent-downloads = true; - deferred-input = true; - continue = true; - check-integrity = true; - realtime-chunk-checksum = true; - piece-length = "1M"; - split = 16; - # Seconds: - save-session-interval = 60; - # Caches in memory - disk-cache = "32M"; - save-not-found = true; - download-result = "full"; - truncate-console-readout = true; - retry-wait = 30; - max-tries = 15; - enable-color = true; - enable-http-keep-alive = true; - enable-http-pipelining = true; - http-accept-gzip = true; - follow-torrent = true; - bt-save-metadata = true; - seed-time = 0; - bt-load-saved-metadata = true; - metalink-preferred-protocol = "https"; - }; - }; -} diff --git a/modules/home/bitwarden/default.nix b/modules/home/bitwarden/default.nix deleted file mode 100644 index ba0f39b..0000000 --- a/modules/home/bitwarden/default.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ - pkgs, - email, - ... -}: { - programs.rbw = { - enable = true; - settings = { - base_url = "https://bw.tux.rs"; - email = "${email}"; - }; - }; - - home.packages = with pkgs; [ - bitwarden - ]; -} diff --git a/modules/home/brave/default.nix b/modules/home/brave/default.nix deleted file mode 100644 index d1127d0..0000000 --- a/modules/home/brave/default.nix +++ /dev/null @@ -1,33 +0,0 @@ -{ - pkgs, - config, - ... -}: let - configDir = "${config.xdg.configHome}/BraveSoftware/Brave-Browser"; - - extensionJson = ext: { - name = "${configDir}/External Extensions/${ext.id}.json"; - value.text = builtins.toJSON { - external_update_url = "https://clients2.google.com/service/update2/crx"; - }; - }; - - extensions = [ - {id = "nkbihfbeogaeaoehlefnkodbefgpgknn";} # Metamask - {id = "gppongmhjkpfnbhagpmjfkannfbllamg";} # Wappalyzer - {id = "nngceckbapebfimnlniiiahkandclblb";} # Bitwarden - {id = "bfnaelmomeimhlpmgjnjophhpkkoljpa";} # Phantom - {id = "eimadpbcbfnmbkopoojfekhnkhdbieeh";} # DarkReader - ]; -in { - programs.chromium = { - enable = true; - package = pkgs.brave; - commandLineArgs = [ - "--disable-features=WebRtcAllowInputVolumeAdjustment" - "--force-device-scale-factor=1.0" - ]; - }; - - home.file = builtins.listToAttrs (map extensionJson extensions); -} diff --git a/modules/home/desktop/awesome/default.nix b/modules/home/desktop/awesome/default.nix deleted file mode 100644 index 6f8ccc3..0000000 --- a/modules/home/desktop/awesome/default.nix +++ /dev/null @@ -1,8 +0,0 @@ -{pkgs, ...}: { - home.file = { - ".config/awesome" = { - recursive = true; - source = "${pkgs.tawm}"; - }; - }; -} diff --git a/modules/home/desktop/hyprland/default.nix b/modules/home/desktop/hyprland/default.nix deleted file mode 100644 index 15b7cf4..0000000 --- a/modules/home/desktop/hyprland/default.nix +++ /dev/null @@ -1,306 +0,0 @@ -{pkgs, ...}: { - imports = [ - ./hyprlock.nix - ]; - - home.packages = with pkgs; [ - ags - awww - ]; - - wayland.windowManager.hyprland = { - enable = true; - package = null; - portalPackage = null; - xwayland.enable = true; - systemd.variables = ["--all"]; - - plugins = with pkgs.hyprland-plugins; [ - # hyprexpo - ]; - - settings = let - # Hyprland - border_size = 0; - gaps_in = 5; - gaps_out = 10; - gaps_ws = -10; - rounding = 8; - active_border_col = "rgba(90ceaaff) rgba(ecd3a0ff) 45deg"; - inactive_border_col = "rgba(86aaeccc) rgba(93cee9cc) 45deg"; - - # Apps - terminal = "wezterm"; - floating_terminal = "wezterm start --class wezterm-floating"; - editor = "wezterm -e nvim"; - browser = "brave --new-window"; - spotify = "wezterm start --class wezterm-floating -e spotify_player"; - filemanager = "wezterm -e superfile"; - in { - # See https://wiki.hyprland.org/Configuring/Multi-GPU - env = "AQ_DRM_DEVICES,/dev/dri/card2"; - - #-- Output - # See https://wiki.hyprland.org/Configuring/Monitors - monitor = [ - "eDP-1,2560x1440@90,0x0,1" - "HDMI-A-1,preferred,0x-1440,1" - ]; - - #-- Input: Keyboard, Mouse, Touchpad - input = { - sensitivity = -0.7; - scroll_method = "2 fg"; - touchpad = { - natural_scroll = true; - clickfinger_behavior = false; - }; - }; - - device = { - name = "asue1209:00-04f3:319f-touchpad"; - sensitivity = 0; - }; - - #-- General - # See https://wiki.hyprland.org/Configuring/Variables - general = { - border_size = border_size; - gaps_in = gaps_in; - gaps_out = gaps_out; - gaps_workspaces = gaps_ws; - layout = "master"; - resize_on_border = true; - - "col.active_border" = active_border_col; - "col.inactive_border" = inactive_border_col; - }; - - misc = { - disable_hyprland_logo = true; - force_default_wallpaper = 1; - vrr = 0; - }; - - cursor = { - no_hardware_cursors = 1; - }; - - ecosystem = { - no_update_news = true; - no_donation_nag = true; - }; - - #-- Decoration - # See https://wiki.hyprland.org/Configuring/Variables/#decoration - decoration = { - rounding = rounding; - active_opacity = 1.0; - inactive_opacity = 1.0; - fullscreen_opacity = 1.0; - - blur = { - enabled = false; - size = 4; - passes = 3; - new_optimizations = true; - xray = false; - special = true; - brightness = 1; - noise = 0.02; - contrast = 1; - popups = true; - popups_ignorealpha = 0.6; - }; - - shadow = { - enabled = false; - }; - }; - - #-- Animations - # See https://wiki.hyprland.org/Configuring/Animations - animations = { - enabled = true; - - bezier = [ - "zoom, 0.05, 0.7, 0.1, 1.0" - ]; - - animation = [ - "windows, 1, 1, zoom, slide" - "windowsIn, 1, 1, zoom, slide" - "windowsOut, 1, 1, zoom, slidevert" - "windowsMove, 1, 1, zoom, slide" - "fade, 1, 2, zoom" - "workspaces, 1, 1, zoom, slide" - ]; - }; - - #-- Layout : Master - # See https://wiki.hyprland.org/Configuring/Master-Layout - master = { - allow_small_split = false; - special_scale_factor = 0.8; - mfact = 0.5; - new_on_top = false; - orientation = "left"; - smart_resizing = true; - drop_at_cursor = true; - }; - - #-- Window Rules - # See https://wiki.hyprland.org/Configuring/Window-Rules - windowrule = [ - "float on, center on, size 800 600, match:class org.pulseaudio.pavucontrol" - - # Wezterm and Ghostty floating terminal - "float on, center on, size 1200 800, match:class (com.ghostty.floating|wezterm-floating)" - - "float on, center on, size 900 700, match:class GalaxyBudsClient" - - # KDE Connect - "float on, center on, size 900 700, match:class (org.kde.kdeconnect.sms|org.kde.kdeconnect.app)" - - "workspace 7 silent, match:class (discord|org.telegram.desktop)" - ]; - - # plugin = { - # hyprexpo = { - # columns = 3; - # gap_size = 5; - # bg_col = "rgb(111111)"; - # workspace_method = "first 1"; - # gesture_distance = 300; - # }; - # }; - - gesture = [ - "3, horizontal, workspace" - "3, up, dispatcher, exec, brightnessctl s +20%" - "3, down, dispatcher, exec, brightnessctl s +20%-" - ]; - - bindm = [ - "SUPER,mouse:273,resizewindow" - "SUPER,mouse:272,movewindow" - ]; - - bind = [ - # apps - "SUPER, Return, exec, ${terminal}" - "SUPER, Space, exec, vicinae toggle" - "SUPER, F, exec, ${filemanager}" - "SUPER, E, exec, ${editor}" - "SUPER, B, exec, ${browser}" - "SUPER, G, exec, GalaxyBudsClient" - "SUPER, D, exec, discord" - "SUPER, T, exec, Telegram" - "SUPER, S, exec, ${spotify}" - "SUPER, V, exec, vicinae vicinae://extensions/vicinae/clipboard/history" - - "SUPER_SHIFT, Return, exec, ${floating_terminal}" - "SUPER_SHIFT, S, exec, hypr-screenshot" - "SUPER_SHIFT, W, exec, vicinae vicinae://extensions/sovereign/awww-switcher/wpgrid" - - # tpanel - "SUPER_SHIFT, B, exec, ags toggle bar" - "SUPER_SHIFT, C, exec, ags toggle control-center" - "SUPER_SHIFT, R, exec, ags quit; ${pkgs.tpanel}/bin/tpanel" - - # hyprland - "SUPER, Q, killactive" - # "SUPER, grave, hyprexpo:expo, toggle" - "SUPER_SHIFT, Q, forcekillactive" - "SUPER_SHIFT, F, fullscreen, 0" - "SUPER_SHIFT, Space, exec, hyprctl dispatch togglefloating; hyprctl dispatch resizeactive exact 1200 800; hyprctl dispatch centerwindow;" - "SUPER_SHIFT, P, exec, hyprctl dispatch pin" - - # lock - "SUPER_SHIFT, L, exec, hyprlock" - - # change focus - "SUPER, left, movefocus, l" - "SUPER, right, movefocus, r" - "SUPER, up, movefocus, u" - "SUPER, down, movefocus, d" - - # move active - "SUPER_SHIFT, left, movewindow, l" - "SUPER_SHIFT, right, movewindow, r" - "SUPER_SHIFT, up, movewindow, u" - "SUPER_SHIFT, down, movewindow, d" - - # workspaces - "SUPER, 1, workspace, 1" - "SUPER, 2, workspace, 2" - "SUPER, 3, workspace, 3" - "SUPER, 4, workspace, 4" - "SUPER, 5, workspace, 5" - "SUPER, 6, workspace, 6" - "SUPER, 7, workspace, 7" - - # send to workspaces - "SUPER_SHIFT, 1, movetoworkspacesilent, 1" - "SUPER_SHIFT, 2, movetoworkspacesilent, 2" - "SUPER_SHIFT, 3, movetoworkspacesilent, 3" - "SUPER_SHIFT, 4, movetoworkspacesilent, 4" - "SUPER_SHIFT, 5, movetoworkspacesilent, 5" - "SUPER_SHIFT, 6, movetoworkspacesilent, 6" - "SUPER_SHIFT, 7, movetoworkspacesilent, 7" - ]; - - workspace = [ - "1, monitor:HDMI-A-1, default:true" - "2, monitor:HDMI-A-1" - "3, monitor:HDMI-A-1" - "4, monitor:HDMI-A-1" - "5, monitor:HDMI-A-1" - "6, monitor:eDP-1" - "7, monitor:eDP-1" - ]; - - binde = [ - # resize active - "SUPER_CTRL, left, resizeactive, -20 0" - "SUPER_CTRL, right, resizeactive, 20 0" - "SUPER_CTRL, up, resizeactive, 0 -20" - "SUPER_CTRL, down, resizeactive, 0 20" - "SUPER_CTRL, equal, exec, hyprctl dispatch layoutmsg mfact exact 0.5;" - - # move active (Floating Only) - "SUPER_ALT, left, moveactive, -20 0" - "SUPER_ALT, right, moveactive, 20 0" - "SUPER_ALT, up, moveactive, 0 -20" - "SUPER_ALT, down, moveactive, 0 20" - "SUPER_ALT, equal, exec, hyprctl dispatch centerwindow;" - - # speaker and mic volume control - " , XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 10%+" - " , XF86AudioLowerVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 10%-" - " , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" - " , XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle" - - # display and keyboard brightness control - " , XF86MonBrightnessUp, exec, brightnessctl s +20%" - " , XF86MonBrightnessDown, exec, brightnessctl s 20%-" - " , XF86KbdBrightnessUp, exec, asusctl -n" - " , XF86KbdBrightnessDown, exec, asusctl -p" - - # performance - " , XF86Launch4, exec, asusctl profile -n" - ]; - - "exec-once" = [ - # load hyprland plugins - # "hyprctl plugin load '$HYPR_PLUGIN_DIR/lib/libhyprexpo.so'" - - "easyeffects --w" - "awww-daemon" - "${pkgs.tpanel}/bin/tpanel" - "kdeconnectd" - "kdeconnect-indicator" - ]; - }; - }; -} diff --git a/modules/home/desktop/hyprland/hyprlock.nix b/modules/home/desktop/hyprland/hyprlock.nix deleted file mode 100644 index b7c76f9..0000000 --- a/modules/home/desktop/hyprland/hyprlock.nix +++ /dev/null @@ -1,47 +0,0 @@ -{ - programs.hyprlock = { - enable = true; - settings = { - general = { - hide_cursor = true; - ignore_empty_input = true; - }; - - animations = { - enabled = true; - fade_in = { - duration = 300; - bezier = "easeOutQuint"; - }; - fade_out = { - duration = 300; - bezier = "easeOutQuint"; - }; - }; - - background = [ - { - path = "screenshot"; - blur_passes = 3; - blur_size = 8; - } - ]; - - input-field = [ - { - size = "200, 50"; - position = "0, -80"; - monitor = ""; - dots_center = true; - fade_on_empty = false; - font_color = "rgb(202, 211, 245)"; - inner_color = "rgb(91, 96, 120)"; - outer_color = "rgb(24, 25, 38)"; - outline_thickness = 5; - placeholder_text = "Password"; - shadow_passes = 2; - } - ]; - }; - }; -} diff --git a/modules/home/desktop/hyprland/hyprpaper.nix b/modules/home/desktop/hyprland/hyprpaper.nix deleted file mode 100644 index 4d9ddc8..0000000 --- a/modules/home/desktop/hyprland/hyprpaper.nix +++ /dev/null @@ -1,19 +0,0 @@ -{pkgs, ...}: { - services.hyprpaper = { - enable = true; - - settings = { - ipc = "on"; - splash = false; - splash_offset = 20; - - wallpaper = { - monitor = ""; - path = "~/Wallpapers/new/sunset-pixel.png"; - fit_mode = ""; - }; - }; - }; - - home.packages = with pkgs; [hyprpaper]; -} diff --git a/modules/home/desktop/mango/default.nix b/modules/home/desktop/mango/default.nix deleted file mode 100644 index d86ec77..0000000 --- a/modules/home/desktop/mango/default.nix +++ /dev/null @@ -1,225 +0,0 @@ -{inputs, ...}: { - imports = [ - inputs.mango.hmModules.mango - ]; - - wayland.windowManager.mango = { - enable = true; - settings = { - # Monitors - monitorrule = [ - "name:eDP-1, width:2560, height:1440, refresh:165, x:0, y:10, vrr:1" - "name:HDMI-A-1, width:2560, height:1440, refresh:100, x:0, y:-1440, vrr:1" - ]; - - # Keyboard - repeat_rate = 25; - repeat_delay = 600; - numlockon = 0; - xkb_rules_layout = "us"; - - # Trackpad - disable_trackpad = 0; - tap_to_click = 1; - tap_and_drag = 1; - drag_lock = 1; - trackpad_natural_scrolling = 1; - disable_while_typing = 1; - left_handed = 0; - middle_button_emulation = 0; - swipe_min_threshold = 1; - - # Mouse - mouse_natural_scrolling = 0; - accel_profile = 0; - - # Theme - border_radius = 8; - no_radius_when_single = 0; - focused_opacity = 1.0; - unfocused_opacity = 1.0; - - # Scroller Layout Setting - scroller_structs = 0; - scroller_default_proportion = 0.5; - scroller_ignore_proportion_single = 0; - scroller_default_proportion_single = 1.0; - - # Master-Stack Layout Setting - new_is_master = 0; - default_mfact = 0.5; - default_nmaster = 1; - smartgaps = 0; - - # Overview Setting - hotarea_size = 10; - enable_hotarea = 1; - ov_tab_mode = 0; - overviewgappi = 15; - overviewgappo = 15; - - # layouts - tagrule = [ - "id:1, layout_name:tile" - "id:2, layout_name:tile" - "id:3, layout_name:tile" - "id:4, layout_name:tile" - "id:5, layout_name:tile" - "id:6, layout_name:scroller" - ]; - - # Keybindings - mousebind = [ - "SUPER, btn_left, moveresize, curmove" - "SUPER, btn_right, moveresize, curresize" - ]; - - gesturebind = [ - "none, right, 3, viewtoleft_have_client" - "none, up, 3, toggleoverview" - "none, down, 3, toggleoverview" - ]; - - bind = [ - # apps - "SUPER, Return, spawn, wezterm" - "SUPER, Space, spawn, vicinae toggle" - "SUPER, B, spawn, brave" - "SUPER, V, spawn, vicinae vicinae://extensions/vicinae/clipboard/history" - "SUPER+SHIFT, W, spawn, vicinae vicinae://extensions/sovereign/awww-switcher/wpgrid" - - # WM - "SUPER, Q, killclient" - "SUPER+SHIFT, R, reload_config" - "SUPER+SHIFT, F, togglefullscreen" - "SUPER+SHIFT, Space, togglefloating" - - "ALT, Tab, toggleoverview" - "ALT+SHIFT, minus, incgaps, -1" - "ALT+SHIFT, equal, incgaps, 1" - "ALT+SHIFT, R, togglegaps" - - # switch layout - "SUPER+SHIFT, H, setlayout, tile" - "SUPER+SHIFT, V, setlayout, vertical_tile" - "SUPER+SHIFT, S, setlayout, scroller" - - # resize client - "SUPER+CTRL, Up, resizewin, +0, -50" - "SUPER+CTRL, Down, resizewin, +0, +50" - "SUPER+CTRL, Left, resizewin, -50, +0" - "SUPER+CTRL, Right, resizewin, +50, +0" - - # swap client - "SUPER+SHIFT, Up, exchange_client, up" - "SUPER+SHIFT, Down, exchange_client, down" - "SUPER+SHIFT, Left, exchange_client, left" - "SUPER+SHIFT, Right, exchange_client, right" - - # switch client focus - "SUPER, Tab, focusstack, next" - "SUPER, Left, focusdir, left" - "SUPER, Right, focusdir, right" - "SUPER, Up, focusdir, up" - "SUPER, Down, focusdir, down" - - # switch view - "SUPER, 1, view, 1, 0" - "SUPER, 2, view, 2, 0" - "SUPER, 3, view, 3, 0" - "SUPER, 4, view, 4, 0" - "SUPER, 5, view, 5, 0" - "SUPER, 6, view, 6, 0" - - # move client to the tag with focus - "SUPER+SHIFT, 1, tagsilent, 1, 0" - "SUPER+SHIFT, 2, tagsilent, 2, 0" - "SUPER+SHIFT, 3, tagsilent, 3, 0" - "SUPER+SHIFT, 4, tagsilent, 4, 0" - "SUPER+SHIFT, 5, tagsilent, 5, 0" - "SUPER+SHIFT, 6, tagsilent, 6, 0" - - # move client to the tag without focus - "SUPER+ALT, 1, tag, 1, 0" - "SUPER+ALT, 2, tag, 2, 0" - "SUPER+ALT, 3, tag, 3, 0" - "SUPER+ALT, 4, tag, 4, 0" - "SUPER+ALT, 5, tag, 5, 0" - "SUPER+ALT, 6, tag, 6, 0" - ]; - - # Window effect - blur = 0; - blur_layer = 0; - blur_optimized = 1; - blur_params_num_passes = 2; - blur_params_radius = 5; - blur_params_noise = 0.02; - blur_params_brightness = 0.9; - blur_params_contrast = 0.9; - blur_params_saturation = 1.2; - - shadows = 0; - layer_shadows = 0; - shadow_only_floating = 1; - shadows_size = 10; - shadows_blur = 15; - shadows_position_x = 0; - shadows_position_y = 0; - shadowscolor = "0x000000ff"; - - # Animation - animations = 1; - layer_animations = 1; - animation_type_open = "slide"; - animation_type_close = "fade"; - animation_fade_in = 1; - animation_fade_out = 1; - tag_animation_direction = 1; - zoom_initial_ratio = 0.3; - zoom_end_ratio = 0.8; - fadein_begin_opacity = 0.5; - fadeout_begin_opacity = 0.8; - - animation_duration_move = 100; - animation_duration_open = 100; - animation_duration_close = 100; - animation_duration_tag = 200; - animation_duration_focus = 0; - - animation_curve_open = "0.46, 1.0, 0.29, 1"; - animation_curve_move = "0.46, 1.0, 0.29, 1"; - animation_curve_tag = "0.46, 1.0, 0.29, 1"; - animation_curve_close = "0.08, 0.92, 0, 1"; - animation_curve_focus = "0.46, 1.0, 0.29, 1"; - animation_curve_opafadeout = "0.5, 0.5, 0.5, 0.5"; - animation_curve_opafadein = "0.46, 1.0, 0.29, 1"; - - # Appearance - borderpx = 0; - gappih = 10; - gappiv = 10; - gappoh = 10; - gappov = 10; - - rootcolor = "0x201b14ff"; - bordercolor = "0x444444ff"; - focuscolor = "0xc9b890ff"; - maximizescreencolor = "0x89aa61ff"; - urgentcolor = "0xad401fff"; - scratchpadcolor = "0x516c93ff"; - globalcolor = "0xb153a7ff"; - overlaycolor = "0x14a57cff"; - - # Misc - syncobj_enable = 1; - - exec-once = [ - "awww-daemon" - "kdeconnectd" - "kdeconnect-indicator" - "dbus-update-activation-environment --systemd --all; systemctl --user reset-failed && systemctl --user start mango-session.target" - ]; - }; - }; -} diff --git a/modules/home/desktop/rofi/default.nix b/modules/home/desktop/rofi/default.nix deleted file mode 100644 index 8d72dfb..0000000 --- a/modules/home/desktop/rofi/default.nix +++ /dev/null @@ -1,317 +0,0 @@ -{config, ...}: { - programs.rofi = { - enable = true; - extraConfig = { - terminal = "alacritty"; - - modes = "combi,keys"; - - display-window = "window"; - display-drun = "run"; - display-windowcd = "windowcd"; - display-run = "run"; - display-ssh = "ssh"; - display-combi = "combi"; - display-keys = "keys"; - display-filebrowser = "filebrowser"; - - combi-modes = "window,drun"; - combi-hide-mode-prefix = false; - combi-display-format = "{mode} {text}"; - - window-format = "[{w=-1}] {c=-1} {t=-1}"; - window-thumbnail = false; - - drun-url-launcher = "xdg-open"; - drun-match-fields = "name,generic,exec,categories,keywords"; - drun-display-format = "{name}[ ({generic})][ {exec}]"; - drun-show-actions = true; - - run-command = "{cmd}"; - run-list-command = ""; - run-shell-command = "{terminal} -e {cmd}"; - - matching = "normal"; - font = "JetBrains Mono 11"; - show-icons = true; - scroll-method = 0; - cycle = false; - fixed-num-lines = false; - }; - theme = let - inherit (config.lib.formats.rasi) mkLiteral; - in { - "*" = { - font = "JetBrains Mono 11"; - - black = mkLiteral "#1d1f21"; - white = mkLiteral "#c5c8c6"; - red = mkLiteral "#cc6666"; - orange = mkLiteral "#de935f"; - yellow = mkLiteral "#f0c674"; - green = mkLiteral "#7cb36b"; - cyan = mkLiteral "#78bab9"; - blue = mkLiteral "#81a2be"; - magenta = mkLiteral "#b294bb"; - - black-bright = mkLiteral "#3c4044"; - white-bright = mkLiteral "#eaeaea"; - red-bright = mkLiteral "#d54e53"; - orange-bright = mkLiteral "#e78c45"; - yellow-bright = mkLiteral "#e7c547"; - green-bright = mkLiteral "#71c464"; - cyan-bright = mkLiteral "#6acdcc"; - blue-bright = mkLiteral "#7aa6da"; - magenta-bright = mkLiteral "#c397d8"; - - black-66 = mkLiteral "#131415"; - white-66 = mkLiteral "#828382"; - red-66 = mkLiteral "#864343"; - orange-66 = mkLiteral "#92613e"; - yellow-66 = mkLiteral "#9e824c"; - green-66 = mkLiteral "#517646"; - cyan-66 = mkLiteral "#4f7a7a"; - blue-66 = mkLiteral "#556a7d"; - magenta-66 = mkLiteral "#75617b"; - - black-33 = mkLiteral "#090a0a"; - white-33 = mkLiteral "#414141"; - red-33 = mkLiteral "#432121"; - orange-33 = mkLiteral "#49301f"; - yellow-33 = mkLiteral "#4f4126"; - green-33 = mkLiteral "#283b23"; - cyan-33 = mkLiteral "#273d3d"; - blue-33 = mkLiteral "#2a353e"; - magenta-33 = mkLiteral "#3a303d"; - - common-background = mkLiteral "@black"; - common-background-bright = mkLiteral "@black-bright"; - common-background-66 = " @black-66"; - common-foreground = mkLiteral "@white"; - common-foreground-bright = mkLiteral "@white-bright"; - common-foreground-66 = mkLiteral "@white-66"; - common-primary = mkLiteral "@yellow"; - common-primary-bright = mkLiteral "@yellow-bright"; - common-primary-66 = mkLiteral "@yellow-66"; - common-primary-33 = mkLiteral "@yellow-33"; - common-secondary = mkLiteral "@blue"; - common-secondary-bright = mkLiteral "@blue-bright"; - common-secondary-66 = mkLiteral "@blue-66"; - common-secondary-33 = mkLiteral "@blue-33"; - common-urgent = mkLiteral "@red"; - common-urgent-bright = mkLiteral "@red-bright"; - common-urgent-66 = mkLiteral "@red-66"; - common-urgent-33 = mkLiteral "@red-33"; - - background-color = mkLiteral "transparent"; - - normal-normal-background = mkLiteral "transparent"; - normal-normal-foreground = mkLiteral "@common-foreground"; - normal-normal-border-color = mkLiteral "transparent"; - normal-active-background = mkLiteral "transparent"; - normal-active-foreground = mkLiteral "@common-secondary-bright"; - normal-active-border-color = mkLiteral "transparent"; - normal-urgent-background = mkLiteral "transparent"; - normal-urgent-foreground = mkLiteral "@common-urgent-bright"; - normal-urgent-border-color = mkLiteral "transparent"; - - selected-normal-background = mkLiteral "@common-primary-33"; - selected-normal-foreground = mkLiteral "@common-primary-bright"; - selected-normal-border-color = mkLiteral "@common-primary-66"; - selected-active-background = mkLiteral "@common-secondary-33"; - selected-active-foreground = mkLiteral "@common-secondary-bright"; - selected-active-border-color = mkLiteral "@common-secondary-66"; - selected-urgent-background = mkLiteral "@common-urgent-33"; - selected-urgent-foreground = mkLiteral "@common-urgent-bright"; - selected-urgent-border-color = mkLiteral "@common-urgent-66"; - - alternate-normal-background = mkLiteral "@normal-normal-background"; - alternate-normal-foreground = mkLiteral "@normal-normal-foreground"; - alternate-normal-border-color = mkLiteral "@normal-normal-border-color"; - alternate-active-background = mkLiteral "@normal-active-background"; - alternate-active-foreground = mkLiteral "@normal-active-foreground"; - alternate-active-border-color = mkLiteral "@normal-active-border-color"; - alternate-urgent-background = mkLiteral "@normal-urgent-background"; - alternate-urgent-foreground = mkLiteral "@normal-urgent-foreground"; - alternate-urgent-border-color = mkLiteral "@normal-urgent-border-color"; - }; - - "window" = { - background-color = mkLiteral "#1d1f21e6"; #// @black + 0.85 alpha - border = 3; - border-color = mkLiteral "@black-bright"; - border-radius = 16; - width = 1024; - height = 460; - }; - - "mainbox" = { - padding = 16; - spacing = 16; - }; - - "inputbar" = { - background-color = mkLiteral "#333537"; #// @black-110 - border = 1; - border-color = mkLiteral "#606263"; #// @black-130 - border-radius = 8; - padding = mkLiteral "12 16"; - spacing = 0; - text-color = mkLiteral "@common-foreground"; - children = mkLiteral "[ entry, case-indicator, num-filtered-rows, textbox-num-sep, num-rows ]"; - }; - - "prompt" = { - background-color = mkLiteral "transparent"; - text-color = mkLiteral "@common-foreground-bright"; - spacing = 0; - text-transform = mkLiteral "bold"; - }; - - "textbox-prompt-colon" = { - background-color = mkLiteral "transparent"; - text-color = mkLiteral "inherit"; - margin = mkLiteral "0 0.3em 0 0"; - expand = false; - str = "="; - }; - - "entry" = { - background-color = mkLiteral "transparent"; - text-color = mkLiteral "@common-foreground-bright"; - cursor = "text"; - placeholder-color = mkLiteral "@common-foreground-66"; - placeholder = "Type to filter"; - }; - - "case-indicator" = { - background-color = mkLiteral "transparent"; - text-color = mkLiteral "inherit"; - }; - - "num-filtered-rows" = { - background-color = mkLiteral "transparent"; - text-color = mkLiteral "inherit"; - expand = false; - }; - - "textbox-num-sep" = { - background-color = mkLiteral "transparent"; - text-color = mkLiteral "inherit"; - expand = false; - str = "/"; - }; - - "num-rows" = { - background-color = mkLiteral "transparent"; - text-color = mkLiteral "inherit"; - expand = false; - }; - - "message" = { - background-color = mkLiteral "@cyan-33"; - border = 1; - border-color = mkLiteral "@cyan-66"; - border-radius = 8; - padding = 16; - }; - - "textbox" = { - background-color = mkLiteral "transparent"; - text-color = mkLiteral "@cyan-bright"; - }; - - "listview" = { - dynamic = true; - scrollbar = true; - spacing = 0; - }; - - "scrollbar" = { - background-color = mkLiteral "transparent"; - padding = 0; - margin = mkLiteral "0 0 0 4"; - handle-width = 8; - border = 0; - handle-color = mkLiteral "#626463"; #// @white-50 - }; - - "element" = { - border = 1; - border-radius = 8; - padding = mkLiteral "6 12"; - margin = mkLiteral "1 0"; - spacing = 12; - children = mkLiteral "[ element-icon, element-text ]"; - }; - - "element-icon" = { - background-color = mkLiteral "transparent"; - text-color = mkLiteral "inherit"; - size = mkLiteral "1.0em"; - cursor = mkLiteral "inherit"; - }; - - "element-text" = { - background-color = mkLiteral "transparent"; - text-color = mkLiteral "inherit"; - highlight = mkLiteral "inherit"; - cursor = mkLiteral "inherit"; - }; - - "element normal.normal" = { - background-color = mkLiteral "@normal-normal-background"; - text-color = mkLiteral "@normal-normal-foreground"; - border-color = mkLiteral "@normal-normal-border-color"; - }; - - "element normal.urgent" = { - background-color = mkLiteral "@normal-urgent-background"; - text-color = mkLiteral "@normal-urgent-foreground"; - border-color = mkLiteral "@normal-urgent-border-color"; - }; - - "element normal.active" = { - background-color = mkLiteral "@normal-active-background"; - text-color = mkLiteral "@normal-active-foreground"; - border-color = mkLiteral "@normal-active-border-color"; - }; - - "element selected.normal" = { - background-color = mkLiteral "@selected-normal-background"; - text-color = mkLiteral "@selected-normal-foreground"; - border-color = mkLiteral "@selected-normal-border-color"; - }; - - "element selected.urgent" = { - background-color = mkLiteral "@selected-urgent-background"; - text-color = mkLiteral "@selected-urgent-foreground"; - border-color = mkLiteral "@selected-urgent-border-color"; - }; - - "element selected.active" = { - background-color = mkLiteral "@selected-active-background"; - text-color = mkLiteral "@selected-active-foreground"; - border-color = mkLiteral "@selected-active-border-color"; - }; - - "element alternate.normal" = { - background-color = mkLiteral "@alternate-normal-background"; - text-color = mkLiteral "@alternate-normal-foreground"; - border-color = mkLiteral "@alternate-normal-border-color"; - }; - - "element alternate.urgent" = { - background-color = mkLiteral "@alternate-urgent-background"; - text-color = mkLiteral "@alternate-urgent-foreground"; - border-color = mkLiteral "@alternate-urgent-border-color"; - }; - - "element alternate.active" = { - background-color = mkLiteral "@alternate-active-background"; - text-color = mkLiteral "@alternate-active-foreground"; - border-color = mkLiteral "@alternate-active-border-color"; - }; - }; - }; -} diff --git a/modules/home/desktop/utils/default.nix b/modules/home/desktop/utils/default.nix deleted file mode 100644 index dc2c39a..0000000 --- a/modules/home/desktop/utils/default.nix +++ /dev/null @@ -1,32 +0,0 @@ -{pkgs, ...}: { - programs.satty = { - enable = true; - settings = { - general = { - corner-roundness = 12; - initial-tool = "arrow"; - early-exit = true; - copy-command = "wl-copy"; - }; - - font = { - family = "JetBrainsMono NerdFont"; - }; - }; - }; - - home.packages = with pkgs; [ - grim - slurp - hyprshot - wl-clipboard - wl-screenrec - (writeShellScriptBin "hypr-screenshot" '' - hyprshot -m region -r ppm - | satty --filename - - '') - - (writeShellScriptBin "hypr-screenrecord" '' - wl-screenrec -g "$(slurp)" - '') - ]; -} diff --git a/modules/home/desktop/vicinae/default.nix b/modules/home/desktop/vicinae/default.nix deleted file mode 100644 index 6dab11d..0000000 --- a/modules/home/desktop/vicinae/default.nix +++ /dev/null @@ -1,70 +0,0 @@ -{ - pkgs, - config, - ... -}: { - programs.vicinae = { - enable = true; - systemd = { - enable = true; - autoStart = true; - }; - useLayerShell = true; - - extensions = with pkgs.vicinae-extensions; [ - bluetooth - nix - ssh - awww-switcher - process-manager - pulseaudio - wifi-commander - port-killer - silverbullet - ]; - - settings = { - close_on_focus_loss = false; - consider_preedit = true; - pop_to_root_on_close = true; - favicon_service = "twenty"; - search_files_in_root = true; - font = { - normal = { - size = 10; - family = "JetBrainsMono Nerd Font"; - }; - }; - theme = { - light = { - name = "vicinae-light"; - icon_theme = "default"; - }; - dark = { - name = "vicinae-dark"; - icon_theme = "default"; - }; - }; - launcher_window = { - opacity = 0.98; - }; - - imports = ["/run/secrets/vicinae.json"]; - - providers = { - "@samlinville/store.raycast.tailscale" = { - "preferences" = { - "tailscalePath" = "${pkgs.tailscale}/bin/tailscale"; - }; - }; - "@sovereign/vicinae-extension-awww-switcher-0" = { - "preferences" = { - "transitionDuration" = "1"; - "transitionType" = "center"; - "wallpaperPath" = "/home/tux/Wallpapers/"; - }; - }; - }; - }; - }; -} diff --git a/modules/home/desktop/waybar/default.nix b/modules/home/desktop/waybar/default.nix deleted file mode 100644 index 49b760e..0000000 --- a/modules/home/desktop/waybar/default.nix +++ /dev/null @@ -1,338 +0,0 @@ -{...}: { - programs = { - waybar = { - enable = true; - settings = { - mainBar = { - position = "top"; - layer = "top"; - height = 35; - margin-top = 0; - margin-bottom = 0; - margin-left = 0; - margin-right = 0; - exclusive = true; - passthrough = false; - - modules-left = [ - "custom/l_end" - "cpu" - "memory" - "custom/r_end" - ]; - modules-center = [ - "custom/l_end" - "hyprland/workspaces" - "custom/r_end" - ]; - modules-right = [ - "custom/l_end" - "network" - "bluetooth" - "battery" - "tray" - "custom/r_end" - ]; - - "hyprland/workspaces" = { - "disable-scroll" = true; - "all-outputs" = true; - "active-only" = false; - "on-click" = "activate"; - "persistent-workspaces" = { - "1" = []; - "2" = []; - "3" = []; - "4" = []; - }; - }; - - "network" = { - "tooltip" = true; - "format-wifi" = "  {bandwidthDownBytes}  {bandwidthUpBytes}"; - "format-ethernet" = "󰈀  {bandwidthDownBytes}  {bandwidthUpBytes}"; - "tooltip-format" = "Network= {essid}\nSignal strength= {signaldBm}dBm ({signalStrength}%)\nFrequency= {frequency}MHz\nInterface= {ifname}\nIP= {ipaddr}/{cidr}\nGateway= {gwaddr}\nNetmask= {netmask}"; - "format-linked" = "󰈀 {ifname} (No IP)"; - "format-disconnected" = "󰖪 "; - "tooltip-format-disconnected" = "Disconnected"; - "interval" = 2; - }; - - "battery" = { - "states" = { - "good" = 95; - "warning" = 30; - "critical" = 20; - }; - "format" = "{icon} {capacity}%"; - "format-charging" = " {capacity}%"; - "format-plugged" = " {capacity}%"; - "format-alt" = "{time} {icon}"; - "format-icons" = ["󰂎" "󰁺" "󰁻" "󰁼" "󰁽" "󰁾" "󰁿" "󰂀" "󰂁" "󰂂" "󰁹"]; - }; - - "bluetooth" = { - "format" = ""; - "format-disabled" = ""; - "format-connected" = " {num_connections}"; - "format-connected-battery" = "{icon} {num_connections}"; - # "format-connected-battery"= "{icon} {device_alias}-{device_battery_percentage}%"; - "format-icons" = ["󰥇" "󰤾" "󰤿" "󰥀" "󰥁" "󰥂" "󰥃" "󰥄" "󰥅" "󰥆" "󰥈"]; - # "format-device-preference"= [ "device1"; "device2" ]; // preference list deciding the displayed device If this config option is not defined or none of the devices in the list are connected; it will fall back to showing the last connected device. - "tooltip-format" = "{controller_alias}\n{num_connections} connected"; - "tooltip-format-connected" = "{controller_alias}\n{num_connections} connected\n\n{device_enumerate}"; - "tooltip-format-enumerate-connected" = "{device_alias}"; - "tooltip-format-enumerate-connected-battery" = "{device_alias}\t{icon} {device_battery_percentage}%"; - }; - - "memory" = { - "states" = { - "c" = 90; # critical - "h" = 60; # high - "m" = 30; # medium - }; - "interval" = 30; - "format" = "󰾆 {used}GB"; - "format-m" = "󰾅 {used}GB"; - "format-h" = "󰓅 {used}GB"; - "format-c" = " {used}GB"; - "format-alt" = "󰾆 {percentage}%"; - "max-length" = 10; - "tooltip" = true; - "tooltip-format" = "󰾆 {percentage}%\n {used=0.1f}GB/{total=0.1f}GB"; - }; - - "cpu" = { - "interval" = 10; - "format" = "󰍛 {usage}%"; - "format-alt" = "{icon0}{icon1}{icon2}{icon3}"; - "format-icons" = ["▁" "▂" "▃" "▄" "▅" "▆" "▇" "█"]; - }; - - "tray" = { - "icon-size" = 14; - "spacing" = 5; - }; - - "custom/l_end" = { - "format" = " "; - "interval" = "once"; - "tooltip" = false; - }; - - "custom/r_end" = { - "format" = " "; - "interval" = "once"; - "tooltip" = false; - }; - - "custom/sl_end" = { - "format" = " "; - "interval" = "once"; - "tooltip" = false; - }; - - "custom/sr_end" = { - "format" = " "; - "interval" = "once"; - "tooltip" = false; - }; - - "custom/rl_end" = { - "format" = " "; - "interval" = "once"; - "tooltip" = false; - }; - - "custom/rr_end" = { - "format" = " "; - "interval" = "once"; - "tooltip" = false; - }; - - "custom/padd" = { - "format" = " "; - "interval" = "once"; - "tooltip" = false; - }; - }; - }; - style = let - bar_bg = "rgba(23, 28, 34, 0.95)"; - main_bg = "#101419"; - main_fg = "#93cee9"; - - wb_act_bg = "#90ceaa"; - wb_act_fg = "#1f2328"; - - wb_hvr_bg = "#90ceaa"; - wb_hvr_fg = "#1f2328"; - in '' - * { - border: none; - border-radius: 0px; - font-family: "JetBrainsMono Nerd Font"; - font-weight: bold; - font-size: 20px; - min-height: 10px; - } - - window#waybar { - background: ${bar_bg}; - } - - tooltip { - background: ${main_bg}; - color: ${main_fg}; - border-radius: 7px; - border-width: 0px; - } - - #workspaces button { - box-shadow: none; - text-shadow: none; - padding: 0px; - border-radius: 9px; - margin-top: 3px; - margin-bottom: 3px; - margin-left: 0px; - padding-left: 3px; - padding-right: 3px; - margin-right: 0px; - color: ${main_fg}; - animation: ws_normal 20s ease-in-out 1; - } - - #workspaces button.active { - background: ${wb_act_bg}; - color: ${wb_act_fg}; - margin-left: 3px; - padding-left: 12px; - padding-right: 12px; - margin-right: 3px; - animation: ws_active 20s ease-in-out 1; - transition: all 0.4s cubic-bezier(.55,-0.68,.48,1.682); - } - - #workspaces button:hover { - background: ${wb_hvr_bg}; - color: ${wb_hvr_fg}; - animation: ws_hover 20s ease-in-out 1; - transition: all 0.3s cubic-bezier(.55,-0.68,.48,1.682); - } - - #taskbar button { - box-shadow: none; - text-shadow: none; - padding: 0px; - border-radius: 9px; - margin-top: 3px; - margin-bottom: 3px; - margin-left: 0px; - padding-left: 3px; - padding-right: 3px; - margin-right: 0px; - color: @wb-color; - animation: tb_normal 20s ease-in-out 1; - } - - #taskbar button.active { - background: ${wb_act_bg}; - color: @wb-act-color; - margin-left: 3px; - padding-left: 12px; - padding-right: 12px; - margin-right: 3px; - animation: tb_active 20s ease-in-out 1; - transition: all 0.4s cubic-bezier(.55,-0.68,.48,1.682); - } - - #taskbar button:hover { - background: ${wb_hvr_bg}; - color: @wb-hvr-color; - animation: tb_hover 20s ease-in-out 1; - transition: all 0.3s cubic-bezier(.55,-0.68,.48,1.682); - } - - #backlight, - #battery, - #bluetooth, - #custom-cliphist, - #clock, - #custom-cpuinfo, - #cpu, - #custom-gpuinfo, - #idle_inhibitor, - #language, - #memory, - #custom-mode, - #mpris, - #network, - #custom-power, - #pulseaudio, - #custom-spotify, - #taskbar, - #tray, - #custom-updates, - #custom-wallchange, - #custom-wbar, - #window, - #workspaces, - #custom-l_end, - #custom-r_end, - #custom-sl_end, - #custom-sr_end, - #custom-rl_end, - #custom-rr_end { - color: ${main_fg}; - background: ${main_bg}; - opacity: 1; - margin: 4px 0px 4px 0px; - padding-left: 4px; - padding-right: 4px; - } - - #workspaces, - #taskbar { - padding: 0px; - } - - #custom-r_end { - border-radius: 0px 21px 21px 0px; - margin-right: 9px; - padding-right: 3px; - } - - #custom-l_end { - border-radius: 21px 0px 0px 21px; - margin-left: 9px; - padding-left: 3px; - } - - #custom-sr_end { - border-radius: 0px; - margin-right: 9px; - padding-right: 3px; - } - - #custom-sl_end { - border-radius: 0px; - margin-left: 9px; - padding-left: 3px; - } - - #custom-rr_end { - border-radius: 0px 7px 7px 0px; - margin-right: 9px; - padding-right: 3px; - } - - #custom-rl_end { - border-radius: 7px 0px 0px 7px; - margin-left: 9px; - padding-left: 3px; - } - ''; - }; - }; -} diff --git a/modules/home/discord/default.nix b/modules/home/discord/default.nix deleted file mode 100644 index bba4060..0000000 --- a/modules/home/discord/default.nix +++ /dev/null @@ -1,40 +0,0 @@ -{inputs, ...}: { - imports = [ - inputs.nixcord.homeModules.nixcord - ]; - - programs.nixcord = { - enable = true; - vesktop.enable = true; - dorion.enable = true; - config = { - themeLinks = [ - "https://raw.githubusercontent.com/refact0r/system24/refs/heads/main/archive/flavors/spotify-text.theme.css" - ]; - frameless = true; - plugins = { - hideMedia.enable = true; - ignoreActivities = { - enable = true; - ignorePlaying = true; - ignoreWatching = true; - }; - }; - }; - dorion = { - theme = "dark"; - zoom = "1.1"; - blur = "acrylic"; - sysTray = true; - openOnStartup = true; - autoClearCache = true; - disableHardwareAccel = false; - rpcServer = true; - rpcProcessScanner = true; - pushToTalk = true; - pushToTalkKeys = ["RControl"]; - desktopNotifications = true; - unreadBadge = true; - }; - }; -} diff --git a/modules/home/easyeffects/default.nix b/modules/home/easyeffects/default.nix deleted file mode 100644 index 22bfd00..0000000 --- a/modules/home/easyeffects/default.nix +++ /dev/null @@ -1,3 +0,0 @@ -{...}: { - services.easyeffects.enable = true; -} diff --git a/modules/home/fastfetch/default.nix b/modules/home/fastfetch/default.nix deleted file mode 100644 index 596e562..0000000 --- a/modules/home/fastfetch/default.nix +++ /dev/null @@ -1,69 +0,0 @@ -{...}: { - home.file.".config/fastfetch/config.jsonc".text = '' - { - "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json", - "logo": { - "type": "none", - }, - "display": { - "separator": " ", - "key": { - "width": 18, - }, - }, - "modules": [ - { - "key": " ╭───────────╮", - "type": "custom", - }, - { - "key": " │ │\u001b[11D{#31} user", - "type": "title", - "format": "{1}", - }, - { - "key": " │ │\u001b[11D{#34} hname", - "type": "command", - "text": "hostname", - }, - { - "key": " │ │\u001b[11D{#34}󰻀 distro", - "type": "os", - }, - { - "key": " │ │\u001b[11D{#35}󰌢 kernel", - "type": "kernel", - }, - { - "key": " │ │\u001b[11D{#31} uptime", - "type": "uptime", - }, - { - "key": " │ │\u001b[11D{#32} shell", - "type": "shell", - }, - { - "key": " │ │\u001b[11D{#35} memory", - "type": "memory", - }, - { - "key": " ├───────────┤", - "type": "custom", - }, - { - "key": " │ │\u001b[11D{#39} colors", - "type": "colors", - "symbol": "circle", - }, - { - "key": " ╰───────────╯", - "type": "custom", - }, - ], - } - ''; - - programs.fastfetch = { - enable = true; - }; -} diff --git a/modules/home/firefox/default.nix b/modules/home/firefox/default.nix deleted file mode 100644 index 7a2390a..0000000 --- a/modules/home/firefox/default.nix +++ /dev/null @@ -1,73 +0,0 @@ -{ - pkgs, - username, - ... -}: { - home.file.".mozilla/firefox/${username}/chrome".source = pkgs.firefox-mod-blur; - - programs.firefox = { - enable = true; - - package = pkgs.firefox.override { - extraPolicies = { - CaptivePortal = false; - DisableFirefoxStudies = true; - DisablePocket = true; - DisableTelemetry = true; - DisableFirefoxAccounts = false; - NoDefaultBookmarks = true; - OfferToSaveLogins = false; - OfferToSaveLoginsDefault = false; - PasswordManagerEnabled = false; - FirefoxHome = { - Search = true; - Pocket = false; - Snippets = false; - TopSites = false; - Highlights = false; - }; - UserMessaging = { - ExtensionRecommendations = false; - SkipOnboarding = true; - }; - }; - }; - - profiles = { - ${username} = { - id = 0; - name = "tux"; - search = { - force = true; - default = "google"; - }; - settings = { - "general.smoothScroll" = true; - "extensions.activeThemeID" = "firefox-compact-dark@mozilla.org"; - "layout.css.prefers-color-scheme.content-override" = 0; - "browser.compactmode.show" = true; - "browser.tabs.firefox-view" = false; - "browser.bookmarks.addedImportButton" = false; - "extensions.pocket.enabled" = false; - "browser.fullscreen.autohide" = false; - }; - extraConfig = '' - user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true); - user_pref("full-screen-api.ignore-widgets", true); - user_pref("media.ffmpeg.vaapi.enabled", true); - user_pref("media.rdd-vpx.enabled", true); - ''; - - extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; [ - ublock-origin - facebook-container - metamask - darkreader - bitwarden - wappalyzer - clearurls - ]; - }; - }; - }; -} diff --git a/modules/home/floorp/default.nix b/modules/home/floorp/default.nix deleted file mode 100644 index 8b0a785..0000000 --- a/modules/home/floorp/default.nix +++ /dev/null @@ -1,46 +0,0 @@ -{ - username, - pkgs, - ... -}: { - programs.floorp = { - enable = true; - - profiles = { - ${username} = { - id = 0; - name = "${username}"; - search = { - force = true; - default = "Google"; - }; - settings = { - "general.smoothScroll" = true; - "extensions.activeThemeID" = "firefox-compact-dark@mozilla.org"; - "layout.css.prefers-color-scheme.content-override" = 0; - "browser.compactmode.show" = true; - "browser.tabs.firefox-view" = false; - "browser.bookmarks.addedImportButton" = false; - "extensions.pocket.enabled" = false; - "browser.fullscreen.autohide" = false; - }; - extraConfig = '' - user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true); - user_pref("full-screen-api.ignore-widgets", true); - user_pref("media.ffmpeg.vaapi.enabled", true); - user_pref("media.rdd-vpx.enabled", true); - ''; - - extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; [ - ublock-origin - facebook-container - metamask - darkreader - bitwarden - wappalyzer - clearurls - ]; - }; - }; - }; -} diff --git a/modules/home/ghostty/default.nix b/modules/home/ghostty/default.nix deleted file mode 100644 index d7e0b87..0000000 --- a/modules/home/ghostty/default.nix +++ /dev/null @@ -1,40 +0,0 @@ -{pkgs, ...}: { - home.file = { - ".config/ghostty/config" = { - text = '' - confirm-close-surface = false - gtk-titlebar = false - window-padding-x = 10 - window-padding-y = 10 - background-opacity = 0.9 - font-size = 12 - - palette = 0=#252b37 - palette = 1=#d0679d - palette = 2=#5de4c7 - palette = 3=#fffac2 - palette = 4=#89ddff - palette = 5=#fae4fc - palette = 6=#add7ff - palette = 7=#ffffff - palette = 8=#a6accd - palette = 9=#d0679d - palette = 10=#5de4c7 - palette = 11=#fffac2 - palette = 12=#add7ff - palette = 13=#89ddff - palette = 14=#fcc5e9 - palette = 15=#ffffff - background = #0f0f0f - foreground = #a6accd - cursor-color = #f2eacf - selection-background = #1a1a1a - selection-foreground = #f1f1f1 - ''; - }; - }; - - home.packages = with pkgs; [ - ghostty - ]; -} diff --git a/modules/home/git/default.nix b/modules/home/git/default.nix deleted file mode 100755 index 2f45121..0000000 --- a/modules/home/git/default.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ - email, - username, - ... -}: { - programs.git = { - enable = true; - signing = { - key = "~/.ssh/id_ed25519.pub"; - signByDefault = true; - }; - settings = { - user = { - name = "${username}"; - email = "${email}"; - }; - init.defaultBranch = "main"; - commit.gpgSign = true; - gpg.format = "ssh"; - }; - }; -} diff --git a/modules/home/helix/default.nix b/modules/home/helix/default.nix deleted file mode 100644 index 28268f8..0000000 --- a/modules/home/helix/default.nix +++ /dev/null @@ -1,37 +0,0 @@ -{pkgs, ...}: { - programs.helix = { - enable = true; - settings = { - theme = "gruvbox"; - editor = { - line-number = "relative"; - cursorline = true; - color-modes = true; - bufferline = "multiple"; - - "cursor-shape" = { - insert = "bar"; - normal = "block"; - select = "underline"; - }; - }; - }; - languages = { - language = [ - { - name = "nix"; - auto-format = true; - } - ]; - - language-server = { - nil = { - command = "${pkgs.nil}/bin/nil"; - config.nil.formatting = { - command = "${pkgs.alejandra}/bin/alejandra"; - }; - }; - }; - }; - }; -} diff --git a/modules/home/kdeconnect/default.nix b/modules/home/kdeconnect/default.nix deleted file mode 100644 index cff771e..0000000 --- a/modules/home/kdeconnect/default.nix +++ /dev/null @@ -1,6 +0,0 @@ -{...}: { - services.kdeconnect = { - enable = true; - indicator = true; - }; -} diff --git a/modules/home/lan-mouse/default.nix b/modules/home/lan-mouse/default.nix deleted file mode 100644 index b65685f..0000000 --- a/modules/home/lan-mouse/default.nix +++ /dev/null @@ -1,19 +0,0 @@ -{inputs, ...}: { - imports = [ - inputs.lan-mouse.homeManagerModules.default - ]; - - programs.lan-mouse = { - enable = true; - systemd = true; - settings = { - # release_bind = ["KeyA" "KeyS" "KeyD" "KeyF"]; - - port = 4242; - - authorized_fingerprints = { - "30:66:b3:95:dc:6b:55:a4:9f:30:31:9c:3e:4d:70:03:33:c3:f0:6f:df:31:35:58:36:6e:80:2f:32:b2:ce:48" = "pc"; - }; - }; - }; -} diff --git a/modules/home/librewolf/default.nix b/modules/home/librewolf/default.nix deleted file mode 100644 index 299adaf..0000000 --- a/modules/home/librewolf/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -{...}: { - programs.librewolf = { - enable = true; - }; -} diff --git a/modules/home/mopidy/default.nix b/modules/home/mopidy/default.nix deleted file mode 100644 index fb3deda..0000000 --- a/modules/home/mopidy/default.nix +++ /dev/null @@ -1,38 +0,0 @@ -{pkgs, ...}: { - programs.ncmpcpp = { - enable = true; - package = pkgs.ncmpcpp.override { - visualizerSupport = true; - clockSupport = true; - }; - mpdMusicDir = "~/Music/"; - - settings = { - mpd_host = "127.0.0.1"; - mpd_port = 6600; - mpd_connection_timeout = 20; - visualizer_data_source = "localhost:5555"; - visualizer_fps = 60; - visualizer_output_name = "feed"; - visualizer_in_stereo = "yes"; - visualizer_type = "spectrum"; - visualizer_look = "▄▍"; - visualizer_spectrum_smooth_look = "yes"; - song_status_format = "$b$7♫ $2%a $4⟫$3⟫ $8%t $4⟫$3⟫ $5%b "; - header_visibility = "no"; - color1 = "white"; - color2 = "green"; - }; - }; - - services.mopidy = { - enable = true; - - extensionPackages = with pkgs; [ - mopidy-mpd - mopidy-spotify - mopidy-soundcloud - mopidy-iris - ]; - }; -} diff --git a/modules/home/nvim/default.nix b/modules/home/nvim/default.nix deleted file mode 100755 index 274b4e9..0000000 --- a/modules/home/nvim/default.nix +++ /dev/null @@ -1,40 +0,0 @@ -{pkgs, ...}: { - home.file = { - ".config/nvim" = { - recursive = true; - source = "${pkgs.tnvim}"; - }; - }; - - programs = { - neovim = { - enable = true; - defaultEditor = true; - vimAlias = true; - withPython3 = true; - withNodeJs = true; - }; - }; - - home = { - packages = with pkgs; [ - gcc - neovide - - # nix - nil # Language Server - statix # Lints and suggestions - deadnix # Find and remove unused - alejandra # Code Formatter - - # lua - luarocks - - # ts - typescript - - gdu - ripgrep - ]; - }; -} diff --git a/modules/home/picom/default.nix b/modules/home/picom/default.nix deleted file mode 100644 index 04dfeab..0000000 --- a/modules/home/picom/default.nix +++ /dev/null @@ -1,64 +0,0 @@ -{pkgs, ...}: { - services.picom = { - enable = true; - package = pkgs.picom; - - backend = "glx"; - vSync = true; - - fade = true; - fadeDelta = 10; - fadeSteps = [0.05 0.05]; - fadeExclude = [ - "window_type *= 'menu'" - ]; - - activeOpacity = 1; - inactiveOpacity = 1; - opacityRules = [ - "90:class_g = 'rofi'" - "90:class_g = 'thunar'" - "90:class_g = 'spotify'" - "90:class_g = 'discord'" - "90:class_g = 'code'" - "90:class_g = 'org.wezfurlong.wezterm'" - "90:class_g = 'wezterm-floating'" - ]; - - settings = { - glx-no-stencil = true; - glx-copy-from-font = false; - use-damage = false; - - frame-opacity = 1; - blur-background = true; - blur-method = "dual_kawase"; - blur-strength = 10; - - corner-radius = 8; - - rounded-corners-exclude = [ - "window_type = 'dock'" - ]; - - # pijulius specifics - animations = true; - animation-stiffness = 500; - animation-window-mass = 1.0; - animation-dampening = 26; - animation-delta = 10; - animation-force_steps = false; - animation-clamping = true; - - animation-for-open-window = "slide-up"; - animation-for-menu-window = "slide-down"; - animation-for-transient-window = "slide-down"; - animation-for-unmap-window = "slide-up"; - - animation-for-next-tag = "slide-right"; - animation-for-prev-tag = "slide-left"; - enable-fading-next-tag = true; - enable-fading-prev-tag = true; - }; - }; -} diff --git a/modules/home/shell/default.nix b/modules/home/shell/default.nix deleted file mode 100755 index 617d760..0000000 --- a/modules/home/shell/default.nix +++ /dev/null @@ -1,100 +0,0 @@ -{pkgs, ...}: { - imports = [ - ./lazygit.nix - ./superfile.nix - ./open-code.nix - ]; - - programs = { - bat.enable = true; - zsh = { - enable = true; - history = { - append = true; - share = true; - expireDuplicatesFirst = true; - ignoreDups = true; - size = 1000000; - save = 1000000; - path = "$HOME/.local/share/zsh/.zsh_history"; - }; - syntaxHighlighting.enable = true; - autosuggestion.enable = true; - initContent = '' - fastfetch - export WINIT_X11_SCALE_FACTOR=1 - PATH=$PATH:~/.cargo/bin:~/.local/bin - - bindkey "^A" vi-beginning-of-line - bindkey "^E" vi-end-of-line - bindkey '^R' fzf-history-widget - ''; - }; - zoxide = { - enable = true; - options = ["--cmd cd"]; - enableZshIntegration = true; - }; - ripgrep.enable = true; - btop = { - enable = true; - settings = { - theme_background = false; - update_ms = 1000; - presets = "cpu:0:default mem:0:default net:0:default"; - }; - }; - go.enable = true; - yazi = { - enable = true; - enableZshIntegration = true; - }; - fzf = { - enable = true; - enableZshIntegration = true; - }; - lsd = { - enable = true; - enableZshIntegration = true; - }; - }; - - home.packages = with pkgs; [ - systemctl-tui - ranger - wget - portal - bore-cli - zip - unzip - pciutils - gnumake - nvtopPackages.full - zellij - nix-output-monitor - duf - jq - atac - termshark - solc - dig - lsof - - python312 - python312Packages.pipx - nodejs - pnpm - yarn - rustup - bun - nixpkgs-fmt - - hunspell - hunspellDicts.en_US - air - templ - ffmpeg - deploy-rs - trok - ]; -} diff --git a/modules/home/shell/lazygit.nix b/modules/home/shell/lazygit.nix deleted file mode 100644 index f215527..0000000 --- a/modules/home/shell/lazygit.nix +++ /dev/null @@ -1,171 +0,0 @@ -{...}: { - programs.lazygit = { - enable = true; - settings = { - gui = { - showIcons = true; - nerdFontsVersion = "3"; - }; - customCommands = [ - { - key = ""; - description = "AI-powered conventional commit"; - context = "global"; - command = "git commit -m \"{{.Form.CommitMsg}}\""; - loadingText = "Generating commit messages..."; - prompts = [ - { - type = "menu"; - key = "Type"; - title = "Type of change"; - options = [ - { - name = "AI defined"; - description = "Let AI analyze and determine the best commit type"; - value = "ai-defined"; - } - { - name = "build"; - description = "Changes that affect the build system or external dependencies"; - value = "build"; - } - { - name = "feat"; - description = "A new feature"; - value = "feat"; - } - { - name = "fix"; - description = "A bug fix"; - value = "fix"; - } - { - name = "chore"; - description = "Other changes that don't modify src or test files"; - value = "chore"; - } - { - name = "ci"; - description = "Changes to CI configuration files and scripts"; - value = "ci"; - } - { - name = "docs"; - description = "Documentation only changes"; - value = "docs"; - } - { - name = "perf"; - description = "A code change that improves performance"; - value = "perf"; - } - { - name = "refactor"; - description = "A code change that neither fixes a bug nor adds a feature"; - value = "refactor"; - } - { - name = "revert"; - description = "Reverts a previous commit"; - value = "revert"; - } - { - name = "style"; - description = "Changes that do not affect the meaning of the code"; - value = "style"; - } - { - name = "test"; - description = "Adding missing tests or correcting existing tests"; - value = "test"; - } - ]; - } - { - type = "menuFromCommand"; - title = "AI Generated Commit Messages"; - key = "CommitMsg"; - command = '' - bash -c " - # Check for staged changes - diff=\$(git diff --cached | head -n 10) - if [ -z \"\$diff\" ]; then - echo \"No changes in staging. Add changes first.\" - exit 1 - fi - - SELECTED_TYPE=\"{{.Form.Type}}\" - COMMITS_TO_SUGGEST=8 - - opencode run -m \"google/gemini-2.5-flash-lite\" \" - You are an expert at writing Git commits. Your job is to write commit messages that follow the Conventional Commits format. - - The user has selected: \$SELECTED_TYPE - - Your task is to: - 1. Analyze the code changes - 2. Determine the most appropriate commit type (if user selected 'ai-defined') - 3. Determine an appropriate scope (component/area affected) - 4. Decide if this is a breaking change - 5. Write clear, concise commit messages - - Available commit types: - - feat: A new feature - - fix: A bug fix - - docs: Documentation only changes - - style: Changes that do not affect the meaning of the code - - refactor: A code change that neither fixes a bug nor adds a feature - - perf: A code change that improves performance - - test: Adding missing tests or correcting existing tests - - build: Changes that affect the build system or external dependencies - - ci: Changes to CI configuration files and scripts - - chore: Other changes that don't modify src or test files - - revert: Reverts a previous commit - - Follow these guidelines: - - Structure: (): - - If user selected 'ai-defined', analyze the changes and pick the most suitable type - - If user selected a specific type, use that type: \$SELECTED_TYPE - - Add scope in parentheses if applicable (e.g., auth, api, ui, config) - - Use exclamation mark (!) after type/scope for breaking changes: type(scope)!: description - - Use lowercase for description (except proper nouns) - - Use imperative mood (\\\"add\\\", not \\\"added\\\") - - Keep description under 50 characters when possible - - No period at the end of subject line - - Examples: - - feat(auth): add OAuth login support - - fix(api): handle null response in user endpoint - - docs(readme): update installation instructions - - style(ui): improve button spacing consistency - - refactor(database): simplify query builder logic - - test(auth): add unit tests for login flow - - build(deps): upgrade React to version 18 - - ci(github): fix deployment workflow - - chore(config): update ESLint rules - - perf(api)!: optimize database queries - - IMPORTANT: - - Generate exactly \$COMMITS_TO_SUGGEST different commit message options - - If user selected 'ai-defined', you can use different types for different options - - If user selected a specific type, all messages must use that type - - Only return commit messages, no explanations - - Do not use markdown code blocks - - One message per line - - Previous commits for context: - \$(git log --oneline -10) - - Changes to analyze: - \$(git diff --cached --stat) - \$(git diff --cached) - \" - " - ''; - } - ]; - } - ]; - }; - }; -} diff --git a/modules/home/shell/open-code.nix b/modules/home/shell/open-code.nix deleted file mode 100644 index 8042242..0000000 --- a/modules/home/shell/open-code.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ - programs.opencode = { - enable = true; - tui = { - theme = "system"; - }; - settings = { - provider = { - google = { - options = { - apiKey = "{file:/run/secrets/gemini_api_key}"; - }; - }; - openrouter = { - options = { - apiKey = "{file:/run/secrets/open_router_api_key}"; - }; - }; - }; - }; - }; -} diff --git a/modules/home/shell/superfile.nix b/modules/home/shell/superfile.nix deleted file mode 100644 index ed3b9fe..0000000 --- a/modules/home/shell/superfile.nix +++ /dev/null @@ -1,41 +0,0 @@ -{ - programs.superfile = { - enable = true; - settings = { - theme = "poimandres"; - editor = ""; - dir_editor = ""; - auto_check_update = false; - cd_on_quit = false; - default_open_file_preview = true; - show_image_preview = true; - show_panel_footer_info = true; - default_directory = "~"; - file_size_use_si = false; - default_sort_type = 0; - sort_order_reversed = false; - case_sensitive_sort = false; - shell_close_on_success = false; - debug = false; - ignore_missing_fields = false; - nerdfont = true; - transparent_background = true; - file_preview_width = 0; - code_previewer = "bat"; - sidebar_width = 20; - border_top = "─"; - border_bottom = "─"; - border_left = "│"; - border_right = "│"; - border_top_left = "╭"; - border_top_right = "╮"; - border_bottom_left = "╰"; - border_bottom_right = "╯"; - border_middle_left = "├"; - border_middle_right = "┤"; - metadata = true; - zoxide_support = true; - enable_md5_checksum = false; - }; - }; -} diff --git a/modules/home/spotify/default.nix b/modules/home/spotify/default.nix deleted file mode 100644 index 504651f..0000000 --- a/modules/home/spotify/default.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ - services.spotifyd = { - enable = true; - settings = { - global = { - device_name = "canopus"; - device_type = "computer"; - bitrate = 320; - initial_volume = 100; - autoplay = true; - }; - }; - }; - - programs.spotify-player = { - enable = true; - settings = { - theme = "default"; - client_id = "c54c06bacd3642c68d981474dadd3a53"; - login_redirect_uri = "http://127.0.0.1:8989/login"; - device = { - name = "spotify-player"; - device_type = "speaker"; - volume = 100; - bitrate = 320; - audio_cache = false; - normalization = false; - autoplay = false; - }; - }; - }; -} diff --git a/modules/home/starship/default.nix b/modules/home/starship/default.nix deleted file mode 100755 index 9c86af5..0000000 --- a/modules/home/starship/default.nix +++ /dev/null @@ -1,50 +0,0 @@ -{...}: { - programs.starship = { - enable = true; - settings = { - format = ''$os$hostname$directory$rust$golang$solidity$nodejs(bold blue)$git_branch$git_status[❯](bold yellow)[❯](bold purple)[❯](bold blue) ''; - scan_timeout = 60; - add_newline = false; - line_break.disabled = true; - - os = { - format = "[$symbol  ]($style)"; - style = "bold green"; - disabled = false; - symbols.NixOS = "󰊠"; - symbols.Linux = "󰊠"; - symbols.Arch = "󰣇"; - symbols.Ubuntu = "󰕈"; - }; - directory = { - format = "[$path]($style)[$read_only ]($read_only_style)"; - read_only = " 󰌾"; - style = "bold blue"; - }; - git_branch.format = "[$symbol$branch]($style) "; - hostname = { - ssh_only = false; - format = "[$ssh_symbol$hostname]($style) "; - style = "bold green"; - ssh_symbol = "󰇧 "; - disabled = false; - }; - rust = { - format = "[$symbol]($style)"; - symbol = " "; - }; - golang = { - format = "[$symbol]($style)"; - symbol = " "; - }; - solidity = { - format = "[$symbol]($style)"; - symbol = "󰡪 "; - }; - nodejs = { - format = "[$symbol]($style)"; - symbol = "󰎙 "; - }; - }; - }; -} diff --git a/modules/home/thunderbird/default.nix b/modules/home/thunderbird/default.nix deleted file mode 100644 index 902ca16..0000000 --- a/modules/home/thunderbird/default.nix +++ /dev/null @@ -1,9 +0,0 @@ -{username, ...}: { - programs.thunderbird = { - enable = true; - - profiles."${username}" = { - isDefault = true; - }; - }; -} diff --git a/modules/home/tmux/default.nix b/modules/home/tmux/default.nix deleted file mode 100644 index e651c08..0000000 --- a/modules/home/tmux/default.nix +++ /dev/null @@ -1,136 +0,0 @@ -{pkgs, ...}: let - bg = "default"; - fg = "default"; - bg2 = "brightblack"; - fg2 = "white"; - color = c: "#{@${c}}"; - - indicator = let - accent = color "indicator_color"; - content = "  "; - in "#[reverse,fg=${accent}]#{?client_prefix,${content},}"; - - current_window = let - accent = color "main_accent"; - index = "#[reverse,fg=${accent},bg=${fg}] #I "; - name = "#[fg=${bg2},bg=${fg2}] #W "; - # flags = "#{?window_flags,#{window_flags}, }"; - in "${index}${name}"; - - window_status = let - accent = color "window_color"; - index = "#[reverse,fg=${accent},bg=${fg}] #I "; - name = "#[fg=${bg2},bg=${fg2}] #W "; - # flags = "#{?window_flags,#{window_flags}, }"; - in "${index}${name}"; - - battery = let - percentage = pkgs.writeShellScript "percentage" ( - if pkgs.stdenv.isDarwin - then '' - echo $(pmset -g batt | grep -o "[0-9]\+%" | tr '%' ' ') - '' - else '' - path="/org/freedesktop/UPower/devices/DisplayDevice" - echo $(${pkgs.upower}/bin/upower -i $path | grep -o "[0-9]\+%" | tr '%' ' ') - '' - ); - state = pkgs.writeShellScript "state" ( - if pkgs.stdenv.isDarwin - then '' - echo $(pmset -g batt | awk '{print $4}') - '' - else '' - path="/org/freedesktop/UPower/devices/DisplayDevice" - echo $(${pkgs.upower}/bin/upower -i $path | grep state | awk '{print $2}') - '' - ); - icon = pkgs.writeShellScript "icon" '' - percentage=$(${percentage}) - state=$(${state}) - if [ "$state" == "charging" ] || [ "$state" == "fully-charged" ]; then echo "󰂄" - elif [ $percentage -ge 75 ]; then echo "󱊣" - elif [ $percentage -ge 50 ]; then echo "󱊢" - elif [ $percentage -ge 25 ]; then echo "󱊡" - elif [ $percentage -ge 0 ]; then echo "󰂎" - fi - ''; - color = pkgs.writeShellScript "color" '' - percentage=$(${percentage}) - state=$(${state}) - if [ "$state" == "charging" ] || [ "$state" == "fully-charged" ]; then echo "green" - elif [ $percentage -ge 75 ]; then echo "green" - elif [ $percentage -ge 50 ]; then echo "${fg2}" - elif [ $percentage -ge 30 ]; then echo "yellow" - elif [ $percentage -ge 0 ]; then echo "red" - fi - ''; - in "#[fg=#(${color})]#(${icon}) #[fg=${fg}]#(${percentage})%"; - - pwd = let - accent = color "main_accent"; - icon = "#[fg=${accent}] "; - format = "#[fg=${fg}]#{b:pane_current_path}"; - in "${icon}${format}"; - - git = let - icon = pkgs.writeShellScript "branch" '' - git -C "$1" branch && echo " " - ''; - branch = pkgs.writeShellScript "branch" '' - git -C "$1" rev-parse --abbrev-ref HEAD - ''; - in "#[fg=magenta]#(${icon} #{pane_current_path})#(${branch} #{pane_current_path})"; - - separator = "#[fg=${fg}]|"; -in { - programs.tmux = { - enable = true; - baseIndex = 1; - escapeTime = 0; - mouse = true; - extraConfig = '' - set-option -sa terminal-overrides ",xterm*:Tc" - set-option -g status-position top - unbind r - bind r source-file ~/.config/tmux/tmux.conf - - # remap prefix from C-b to C-Space - # unbind C-b - # set -g prefix C-Space - # bind C-Space send-prefix - - # split panes using | and - - unbind '"' - unbind % - bind | split-window -h - bind - split-window -v - - # Start windows and panes at 1, not 0 - set -g base-index 1 - set -g pane-base-index 1 - set-window-option -g pane-base-index 1 - set-option -g renumber-windows on - - # switch panes using Alt-arrow without prefix - bind -n M-Left select-pane -L - bind -n M-Right select-pane -R - bind -n M-Up select-pane -U - bind -n M-Down select-pane -D - - set-option -g default-terminal "screen-256color" - set-option -g status-right-length 100 - set-option -g @indicator_color "yellow" - set-option -g @window_color "magenta" - set-option -g @main_accent "blue" - set-option -g pane-active-border fg=black - set-option -g pane-border-style fg=black - set-option -g status-style "bg=${bg} fg=${fg}" - set-option -g status-left "${indicator}" - set-option -g status-right "${git} ${pwd} ${separator} ${battery}" - set-option -g window-status-current-format "${current_window}" - set-option -g window-status-format "${window_status}" - set-option -g window-status-separator "" - ''; - }; -} diff --git a/modules/home/vs-code/default.nix b/modules/home/vs-code/default.nix deleted file mode 100644 index 21a20b1..0000000 --- a/modules/home/vs-code/default.nix +++ /dev/null @@ -1,76 +0,0 @@ -{pkgs, ...}: { - programs.vscode = { - enable = true; - package = pkgs.vscodium; - - profiles.default = { - keybindings = [ - { - "key" = "f7"; - "command" = "-editor.action.wordHighlight.next"; - "when" = "editorTextFocus && hasWordHighlights"; - } - { - "key" = "f7"; - "command" = "-editor.action.accessibleDiffViewer.next"; - "when" = "isInDiffEditor"; - } - { - "key" = "f7"; - "command" = "workbench.action.terminal.toggleTerminal"; - "when" = "terminal.active"; - } - { - "key" = "ctrl+`"; - "command" = "-workbench.action.terminal.toggleTerminal"; - "when" = "terminal.active"; - } - ]; - - userSettings = { - "window.zoomLevel" = 2; - "window.menuBarVisibility" = "toggle"; - - "workbench.colorTheme" = "Poimandres Alternate"; - "workbench.startupEditor" = "none"; - - "editor.fontFamily" = "FiraCode NF, FiraCode Nerd Font"; - "editor.fontLigatures" = true; - "editor.cursorBlinking" = "smooth"; - "editor.minimap.enabled" = false; - - "terminal.integrated.fontFamily" = "FiraCode NF, FiraCode Nerd Font , FiraCode"; - }; - - extensions = - (with pkgs.vscode-extensions; [ - wakatime.vscode-wakatime - ms-dotnettools.csharp - naumovs.color-highlight - ms-vscode-remote.remote-containers - ms-azuretools.vscode-docker - mikestead.dotenv - golang.go - wix.vscode-import-cost - sumneko.lua - yzhang.markdown-all-in-one - jnoortheen.nix-ide - esbenp.prettier-vscode - prisma.prisma - ms-python.python - ms-vscode-remote.remote-ssh - humao.rest-client - bradlc.vscode-tailwindcss - gruntfuggly.todo-tree - ]) - ++ (with pkgs.vscode-marketplace; [ - danielpriestley.poimandres-alternate - pufferbommy.pretty-poimandres - yoavbls.pretty-ts-errors - formulahendry.auto-rename-tag - chakrounanas.turbo-console-log - streetsidesoftware.code-spell-checker - ]); - }; - }; -} diff --git a/modules/home/wezterm/default.nix b/modules/home/wezterm/default.nix deleted file mode 100644 index e681030..0000000 --- a/modules/home/wezterm/default.nix +++ /dev/null @@ -1,29 +0,0 @@ -{pkgs, ...}: { - programs.wezterm = { - enable = true; - package = pkgs.wezterm-git; - enableZshIntegration = false; - - extraConfig = '' - local wezterm = require 'wezterm' - local config = {} - - config.check_for_updates = false - - config.window_close_confirmation = 'NeverPrompt' - config.color_scheme = 'Poimandres' - config.colors = { - background = "#0f0f0f" - } - config.enable_tab_bar = false - config.font = wezterm.font_with_fallback { - 'JetBrainsMono Nerd Font', - } - config.font_size = 12.0 - config.window_background_opacity = 1 - config.audible_bell = "Disabled" - - return config - ''; - }; -} diff --git a/modules/home/zed/default.nix b/modules/home/zed/default.nix deleted file mode 100644 index c58e55e..0000000 --- a/modules/home/zed/default.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ - programs.zed-editor = { - enable = true; - extensions = ["lua" "nix" "C#" "solidity"]; - userKeymaps = [ - { - context = "Workspace"; - bindings = { - F7 = "workspace::NewTerminal"; - }; - } - ]; - userSettings = { - ui_font_size = 18; - buffer_font_size = 18; - theme = { - mode = "dark"; - light = "Ayu Light"; - dark = "Ayu Dark"; - }; - vim_mode = true; - telemetry = { - diagnostics = false; - metrics = false; - }; - }; - }; -} diff --git a/modules/nixos/desktop/awesome/default.nix b/modules/nixos/desktop/awesome/default.nix deleted file mode 100755 index d79543e..0000000 --- a/modules/nixos/desktop/awesome/default.nix +++ /dev/null @@ -1,70 +0,0 @@ -{ - lib, - pkgs, - ... -}: { - services = { - displayManager = { - defaultSession = "none+awesome"; - ly = { - enable = true; - settings = { - session_log = "null"; - }; - }; - }; - - xserver = { - enable = true; - windowManager.awesome = { - enable = true; - luaModules = lib.attrValues { - inherit - (pkgs.luajitPackages) - lgi - ldbus - luadbi-mysql - luaposix - dkjson - ; - }; - }; - }; - - acpid.enable = true; - picom.enable = true; - upower.enable = true; - blueman.enable = true; - }; - - programs.dconf.enable = true; - - environment.systemPackages = with pkgs; [ - luajit - acpi - linuxKernel.packages.linux_zen.acpi_call - lxappearance - inotify-tools - polkit_gnome - xdotool - xclip - xbacklight - gpick - alsa-utils - pavucontrol - brightnessctl - libnotify - feh - maim - mpdris2 - python311Packages.mutagen - xdg-utils - playerctl - pulsemixer - easyeffects - procps - sct - slop - sddm-sugar-dark - ]; -} diff --git a/modules/nixos/desktop/default.nix b/modules/nixos/desktop/default.nix deleted file mode 100644 index b62351a..0000000 --- a/modules/nixos/desktop/default.nix +++ /dev/null @@ -1,55 +0,0 @@ -{pkgs, ...}: { - services = { - displayManager = { - defaultSession = "none+awesome"; - ly = { - enable = true; - settings = { - session_log = "null"; - }; - }; - }; - - acpid.enable = true; - picom.enable = true; - upower.enable = true; - blueman.enable = true; - }; - - programs.dconf.enable = true; - - xdg.mime = { - enable = true; - defaultApplications = { - "application/pdf" = ["brave-browser.desktop"]; - "text/html" = ["brave-browser.desktop"]; - "x-scheme-handler/http" = ["brave-browser.desktop"]; - "x-scheme-handler/https" = ["brave-browser.desktop"]; - "x-scheme-handler/about" = ["brave-browser.desktop"]; - "x-scheme-handler/unknown" = ["brave-browser.desktop"]; - }; - }; - - environment.systemPackages = with pkgs; [ - acpi - linuxKernel.packages.linux_zen.acpi_call - inotify-tools - polkit_gnome - xdotool - xclip - xbacklight - gpick - alsa-utils - pavucontrol - brightnessctl - libnotify - feh - maim - mpdris2 - xdg-utils - playerctl - pulsemixer - easyeffects - procps - ]; -} diff --git a/modules/nixos/desktop/hyprland/default.nix b/modules/nixos/desktop/hyprland/default.nix deleted file mode 100644 index 13b3756..0000000 --- a/modules/nixos/desktop/hyprland/default.nix +++ /dev/null @@ -1,28 +0,0 @@ -{pkgs, ...}: { - programs.hyprland = { - enable = true; - package = pkgs.hyprland-git.hyprland; - portalPackage = pkgs.hyprland-git.xdg-desktop-portal-hyprland; - }; - - environment.systemPackages = [ - (pkgs.writeShellScriptBin "mirror-display" '' - hyprctl keyword monitor "eDP-1,2560x1440@90,0x0,1" \ - && hyprctl keyword monitor "HDMI-A-1,preferred,0x0,1,mirror,eDP-1" \ - && ags quit \ - && ${pkgs.tpanel}/bin/tpanel & - '') - (pkgs.writeShellScriptBin "extend-display" '' - hyprctl keyword monitor "eDP-1,2560x1440@90,0x0,1" \ - && hyprctl keyword monitor "HDMI-A-1,preferred,0x-1440,1" \ - && ags quit \ - && ${pkgs.tpanel}/bin/tpanel & - '') - (pkgs.writeShellScriptBin "dock-display" '' - hyprctl keyword monitor "eDP-1,disable" \ - && hyprctl keyword monitor "HDMI-A-1,preferred,0x0,1" \ - && ags quit \ - && ${pkgs.tpanel}/bin/tpanel & - '') - ]; -} diff --git a/modules/nixos/desktop/mango/default.nix b/modules/nixos/desktop/mango/default.nix deleted file mode 100644 index 120de56..0000000 --- a/modules/nixos/desktop/mango/default.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ - inputs, - pkgs, - lib, - ... -}: { - imports = [ - inputs.mango.nixosModules.mango - ]; - - programs.mango.enable = true; - - xdg.portal = { - enable = lib.mkDefault true; - extraPortals = with pkgs; [ - hyprland-git.xdg-desktop-portal-hyprland - xdg-desktop-portal-wlr - xdg-desktop-portal-gtk - ]; - config.mango = { - default = lib.mkForce ["hyprland" "gtk"]; - "org.freedesktop.impl.portal.ScreenCast" = lib.mkForce ["hyprland"]; - "org.freedesktop.impl.portal.ScreenShot" = lib.mkForce ["hyprland"]; - }; - }; -} diff --git a/modules/nixos/distrobox.nix b/modules/nixos/distrobox.nix deleted file mode 100644 index 8d3f74e..0000000 --- a/modules/nixos/distrobox.nix +++ /dev/null @@ -1,112 +0,0 @@ -{ - config, - pkgs, - lib, - ... -}: -with lib; let - cfg = config.tux.packages.distrobox; -in { - options.tux.packages.distrobox = { - enable = mkEnableOption "Enable DistroBox"; - }; - - config = mkIf cfg.enable { - environment.systemPackages = with pkgs; [ - distrobox - - (writeShellScriptBin "dbox-create" '' - #!/usr/bin/env bash - - # 1. Initialize variables - IMAGE="" - NAME="" - - # Array to hold optional arguments (like volumes) - declare -a EXTRA_ARGS - - # 2. Parse arguments - while [[ $# -gt 0 ]]; do - case $1 in - -i|--image) - IMAGE="$2" - shift 2 - ;; - -n|--name) - NAME="$2" - shift 2 - ;; - -p|--profile) - echo ":: Profile mode enabled: Mounting Nix store and user profiles (Read-Only)" - # Add volume flags to the array - EXTRA_ARGS+=( "--volume" "/nix/store:/nix/store:ro" ) - EXTRA_ARGS+=( "--volume" "/etc/profiles/per-user:/etc/profiles/per-user:ro" ) - EXTRA_ARGS+=( "--volume" "/etc/static/profiles/per-user:/etc/static/profiles/per-user:ro" ) - shift 1 - ;; - *) - echo "Unknown option $1" - exit 1 - ;; - esac - done - - if [ -z "$IMAGE" ] || [ -z "$NAME" ]; then - echo "Usage: dbox-create -i -n [-p]" - exit 1 - fi - - # 3. Define the custom home path - CUSTOM_HOME="$HOME/Distrobox/$NAME" - - echo "------------------------------------------------" - echo "Creating Distrobox: $NAME" - echo "Location: $CUSTOM_HOME" - echo "------------------------------------------------" - - # 4. Run Distrobox Create - # We expand "''${EXTRA_ARGS[@]}" to properly pass the volume arguments - ${pkgs.distrobox}/bin/distrobox create \ - --image "$IMAGE" \ - --name "$NAME" \ - --home "$CUSTOM_HOME" \ - "''${EXTRA_ARGS[@]}" - - # Check exit code - if [ $? -ne 0 ]; then - echo "Error: Distrobox creation failed." - exit 1 - fi - - # 5. Post-Creation: Symlink Config Files - echo "--> Linking configurations to $NAME..." - - # Helper function to symlink - link_config() { - SRC="$1" - DEST="$2" - DEST_DIR=$(dirname "$DEST") - - # Create parent directory if it doesn't exist - mkdir -p "$DEST_DIR" - - if [ -e "$SRC" ]; then - # ln -sf: symbolic link, force overwrite - ln -sf "$SRC" "$DEST" - echo " [LINK] $DEST -> $SRC" - else - echo " [SKIP] $SRC not found on host" - fi - } - - # Create Symlinks - link_config "$HOME/.zshrc" "$CUSTOM_HOME/.zshrc" - link_config "$HOME/.zshenv" "$CUSTOM_HOME/.zshenv" - link_config "$HOME/.config/fastfetch" "$CUSTOM_HOME/.config/fastfetch" - link_config "$HOME/.config/starship.toml" "$CUSTOM_HOME/.config/starship.toml" - - echo "--> Done! Enter via: distrobox enter $NAME" - '') - ]; - }; -} diff --git a/modules/nixos/fail2ban.nix b/modules/nixos/fail2ban.nix deleted file mode 100644 index 802e938..0000000 --- a/modules/nixos/fail2ban.nix +++ /dev/null @@ -1,32 +0,0 @@ -{config, ...}: let - isFirewallEnabled = config.networking.firewall.enable; -in { - services.fail2ban = { - enable = isFirewallEnabled; - maxretry = 5; - banaction = "iptables-multiport[blocktype=DROP]"; - ignoreIP = [ - "127.0.0.0/8" - "10.0.0.0/8" - "192.168.0.0/16" - ]; - bantime = "24h"; - - bantime-increment = { - enable = true; - rndtime = "12m"; - overalljails = true; - multipliers = "4 8 16 32 64 128 256 512 1024 2048"; - maxtime = "192h"; - }; - - jails = { - sshd.settings = { - enabled = true; - port = toString config.services.openssh.ports; - mode = "aggressive"; - filter = "sshd"; - }; - }; - }; -} diff --git a/modules/nixos/networking/ssh.nix b/modules/nixos/networking/ssh.nix deleted file mode 100644 index 4914000..0000000 --- a/modules/nixos/networking/ssh.nix +++ /dev/null @@ -1,69 +0,0 @@ -{ - config, - lib, - ... -}: -with lib; let - cfg = config.tux.services.openssh; - - # Sops needs acess to the keys before the persist dirs are even mounted; so - # just persisting the keys won't work, we must point at /persist - hasOptinPersistence = config.environment.persistence."/persist".enable; -in { - options.tux.services.openssh = { - enable = mkEnableOption "Enable OpenSSH server"; - - ports = mkOption { - type = types.listOf types.port; - default = [22]; - description = '' - Specifies on which ports the SSH daemon listens. - ''; - }; - }; - - config = mkIf cfg.enable { - services.openssh = { - enable = true; - startWhenNeeded = true; - allowSFTP = true; - ports = cfg.ports; - - settings = { - PermitRootLogin = "no"; - PasswordAuthentication = false; - KbdInteractiveAuthentication = false; - AuthenticationMethods = "publickey"; - PubkeyAuthentication = "yes"; - ChallengeResponseAuthentication = "no"; - UsePAM = false; - UseDns = false; - X11Forwarding = false; - KexAlgorithms = [ - "curve25519-sha256" - "curve25519-sha256@libssh.org" - "diffie-hellman-group16-sha512" - "diffie-hellman-group18-sha512" - "sntrup761x25519-sha512@openssh.com" - "diffie-hellman-group-exchange-sha256" - "mlkem768x25519-sha256" - "sntrup761x25519-sha512" - ]; - Macs = [ - "hmac-sha2-512-etm@openssh.com" - "hmac-sha2-256-etm@openssh.com" - "umac-128-etm@openssh.com" - ]; - ClientAliveCountMax = 5; - ClientAliveInterval = 60; - }; - - hostKeys = [ - { - path = "${lib.optionalString hasOptinPersistence "/persist"}/etc/ssh/ssh_host_ed25519_key"; - type = "ed25519"; - } - ]; - }; - }; -} diff --git a/modules/nixos/obs-studio.nix b/modules/nixos/obs-studio.nix deleted file mode 100644 index f4e745a..0000000 --- a/modules/nixos/obs-studio.nix +++ /dev/null @@ -1,7 +0,0 @@ -{pkgs, ...}: { - programs.obs-studio = { - enable = true; - enableVirtualCamera = true; - plugins = with pkgs.obs-studio-plugins; [obs-vaapi wlrobs obs-source-record]; - }; -} diff --git a/modules/nixos/selfhosted/adguard.nix b/modules/nixos/selfhosted/adguard.nix deleted file mode 100644 index b2a489c..0000000 --- a/modules/nixos/selfhosted/adguard.nix +++ /dev/null @@ -1,8 +0,0 @@ -{...}: { - services = { - adguardhome = { - enable = true; - openFirewall = true; - }; - }; -} diff --git a/modules/nixos/selfhosted/containers/aiostreams.nix b/modules/nixos/selfhosted/containers/aiostreams.nix deleted file mode 100644 index 6b429e8..0000000 --- a/modules/nixos/selfhosted/containers/aiostreams.nix +++ /dev/null @@ -1,61 +0,0 @@ -{ - config, - lib, - ... -}: -with lib; let - cfg = config.tux.containers.aiostreams; -in { - options.tux.containers.aiostreams = { - enable = mkEnableOption "Enable AIOStreams"; - - port = mkOption { - type = types.int; - default = 3000; - }; - - dataDir = mkOption { - type = types.path; - default = "/var/lib/aiostreams"; - description = "Directory to store persistent AIOStreams data"; - }; - - environment = mkOption { - type = with types; attrsOf str; - default = {}; - }; - - environmentFiles = mkOption { - type = with types; listOf path; - default = []; - }; - }; - - config = mkIf cfg.enable { - virtualisation.oci-containers.containers.aiostreams = { - autoStart = true; - image = "ghcr.io/viren070/aiostreams:latest"; - ports = [ - "${toString cfg.port}:3000" - ]; - - environment = cfg.environment; - environmentFiles = cfg.environmentFiles; - volumes = [ - "${cfg.dataDir}:/app/data" - ]; - }; - - services.nginx.virtualHosts = { - "${cfg.environment.ADDON_ID}" = { - forceSSL = true; - useACMEHost = "tux.rs"; - locations = { - "/" = { - proxyPass = "http://localhost:${toString cfg.port}"; - }; - }; - }; - }; - }; -} diff --git a/modules/nixos/selfhosted/containers/cs2.nix b/modules/nixos/selfhosted/containers/cs2.nix deleted file mode 100644 index da5cb8e..0000000 --- a/modules/nixos/selfhosted/containers/cs2.nix +++ /dev/null @@ -1,61 +0,0 @@ -{config, ...}: { - virtualisation.oci-containers.containers.cs2-server = { - image = "joedwards32/cs2"; - environmentFiles = [ - config.sops.secrets."cs2_secrets/SRCDS_TOKEN".path - config.sops.secrets."cs2_secrets/CS2_RCONPW".path - config.sops.secrets."cs2_secrets/CS2_PW".path - ]; - - environment = { - # Server configuration - STEAMAPPVALIDATE = "0"; - CS2_SERVERNAME = "tux's CS-2 Server"; - CS2_CHEATS = "0"; - CS2_PORT = "27015"; - CS2_SERVER_HIBERNATE = "1"; - CS2_RCON_PORT = ""; - CS2_LAN = "0"; - CS2_MAXPLAYERS = "10"; - CS2_ADDITIONAL_ARGS = ""; - CS2_CFG_URL = ""; - # Game modes - CS2_GAMEALIAS = "competitive"; - CS2_GAMETYPE = "0"; - CS2_GAMEMODE = "1"; - CS2_MAPGROUP = "mg_active"; - CS2_STARTMAP = "de_mirage"; - # Workshop Maps - CS2_HOST_WORKSHOP_COLLECTION = ""; - CS2_HOST_WORKSHOP_MAP = ""; - # Bots - CS2_BOT_DIFFICULTY = "3"; - CS2_BOT_QUOTA = ""; - CS2_BOT_QUOTA_MODE = ""; - # TV - TV_AUTORECORD = "0"; - TV_ENABLE = "0"; - TV_PORT = "27020"; - TV_PW = "changeme"; - TV_RELAY_PW = "changeme"; - TV_MAXRATE = "0"; - TV_DELAY = "0"; - # Logs - CS2_LOG = "on"; - CS2_LOG_MONEY = "0"; - CS2_LOG_DETAIL = "0"; - CS2_LOG_ITEMS = "0"; - }; - volumes = [ - "cs2:/home/steam/cs2-dedicated" - ]; - ports = [ - "27015:27015/tcp" - "27015:27015/udp" - "27020:27020/udp" - ]; - extraOptions = [ - "--interactive" - ]; - }; -} diff --git a/modules/nixos/selfhosted/cyber-tux.nix b/modules/nixos/selfhosted/cyber-tux.nix deleted file mode 100644 index 5f3ebc2..0000000 --- a/modules/nixos/selfhosted/cyber-tux.nix +++ /dev/null @@ -1,86 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: -with lib; let - cfg = config.tux.services.cyber-tux; -in { - options.tux.services.cyber-tux = { - enable = mkEnableOption "Enable CyberTux Discord bot"; - - user = mkOption { - type = types.str; - default = "cyber-tux"; - description = "User under which the CyberTux service runs."; - }; - - group = mkOption { - type = types.str; - default = "cyber-tux"; - description = "Group under which the CyberTux service runs."; - }; - - environmentFile = mkOption { - type = types.path; - description = "Environment file containing DISCORD_TOKEN"; - }; - }; - - config = mkIf cfg.enable { - systemd.services = { - cyber-tux = { - description = "A discord bot for my server"; - after = ["network.target"]; - wantedBy = ["multi-user.target"]; - - serviceConfig = { - Type = "simple"; - User = "cyber-tux"; - Group = "cyber-tux"; - EnvironmentFile = cfg.environmentFile; - ExecStart = getExe pkgs.cyber-tux; - Restart = "always"; - - LockPersonality = true; - MemoryDenyWriteExecute = true; - NoNewPrivileges = true; - PrivateDevices = true; - PrivateIPC = true; - PrivateTmp = true; - PrivateUsers = true; - ProtectClock = true; - ProtectControlGroups = true; - ProtectHome = true; - ProtectHostname = true; - ProtectKernelLogs = true; - ProtectKernelModules = true; - ProtectKernelTunables = true; - ProtectProc = "invisible"; - ProtectSystem = "strict"; - RestrictNamespaces = "uts ipc pid user cgroup"; - RestrictRealtime = true; - RestrictSUIDSGID = true; - SystemCallArchitectures = "native"; - SystemCallFilter = ["@system-service"]; - UMask = "0077"; - }; - }; - }; - # Ensure the user and group exist - users.users = mkIf (cfg.user == "cyber-tux") { - ${cfg.user} = { - isSystemUser = true; - group = cfg.group; - description = "CyberTux service user"; - home = "/var/lib/cyber-tux"; - createHome = true; - }; - }; - - users.groups = mkIf (cfg.group == "cyber-tux") { - ${cfg.group} = {}; - }; - }; -} diff --git a/modules/nixos/selfhosted/gitea.nix b/modules/nixos/selfhosted/gitea.nix deleted file mode 100644 index 40c3e52..0000000 --- a/modules/nixos/selfhosted/gitea.nix +++ /dev/null @@ -1,29 +0,0 @@ -{lib, ...}: { - services = { - gitea = { - enable = true; - settings = { - service.DISABLE_REGISTRATION = true; - server = { - DOMAIN = "git.tux.rs"; - ROOT_URL = "https://git.tux.rs"; - }; - }; - }; - - nginx = { - enable = lib.mkForce true; - virtualHosts = { - "git.tux.rs" = { - forceSSL = true; - useACMEHost = "tux.rs"; - locations = { - "/" = { - proxyPass = "http://localhost:3000"; - }; - }; - }; - }; - }; - }; -} diff --git a/modules/nixos/selfhosted/glance/default.nix b/modules/nixos/selfhosted/glance/default.nix deleted file mode 100644 index b9bccb9..0000000 --- a/modules/nixos/selfhosted/glance/default.nix +++ /dev/null @@ -1,43 +0,0 @@ -{ - username, - lib, - config, - ... -}: let - home = import ./home.nix; -in { - services = { - glance = { - enable = true; - openFirewall = true; - settings = { - server = { - host = "0.0.0.0"; - port = 5678; - }; - branding = { - custom-footer = "

${username}

"; - }; - pages = [ - home.page - ]; - }; - }; - - nginx = { - enable = lib.mkForce true; - virtualHosts = { - "home.tux.rs" = { - forceSSL = true; - useACMEHost = "tux.rs"; - locations = { - "/" = { - proxyPass = "http://${config.services.glance.settings.server.host}:${toString config.services.glance.settings.server.port}"; - proxyWebsockets = true; - }; - }; - }; - }; - }; - }; -} diff --git a/modules/nixos/selfhosted/glance/home.nix b/modules/nixos/selfhosted/glance/home.nix deleted file mode 100644 index 2b7bdb9..0000000 --- a/modules/nixos/selfhosted/glance/home.nix +++ /dev/null @@ -1,86 +0,0 @@ -{ - page = { - name = "Dashboard - tux"; - width = "slim"; - hide-desktop-navigation = true; - center-vertically = true; - columns = [ - { - size = "full"; - widgets = [ - { - type = "search"; - autofocus = true; - } - { - type = "markets"; - markets = [ - { - symbol = "BTC-USD"; - name = "Bitcoin"; - chart-link = "https://www.tradingview.com/chart/?symbol=INDEX:BTCUSD"; - } - { - symbol = "ETH-USD"; - name = "Ethereum"; - chart-link = "https://www.tradingview.com/chart/?symbol=INDEX:ETHUSD"; - } - { - symbol = "SOL-USD"; - name = "Solana"; - chart-link = "https://www.tradingview.com/chart/?symbol=INDEX:SOLUSD"; - } - ]; - } - { - type = "monitor"; - cache = "1m"; - title = "Services"; - sites = [ - { - title = "Gitea"; - url = "https://git.tux.rs"; - icon = "si:gitea"; - } - { - title = "Vaultwarden"; - url = "https://bw.tux.rs"; - icon = "si:vaultwarden"; - } - { - title = "Ntfy"; - url = "https://ntfy.tux.rs"; - icon = "si:ntfy"; - } - { - title = "Grafana"; - url = "https://grafana.tux.rs"; - icon = "si:grafana"; - } - { - title = "SearXNG"; - url = "https://sx.tux.rs"; - icon = "si:searxng"; - } - { - title = "Wakapi"; - url = "https://wakapi.tux.rs"; - icon = "si:wakatime"; - } - ]; - } - { - type = "reddit"; - subreddit = "selfhosted"; - style = "horizontal-cards"; - } - { - type = "reddit"; - subreddit = "homelab"; - style = "horizontal-cards"; - } - ]; - } - ]; - }; -} diff --git a/modules/nixos/selfhosted/headscale.nix b/modules/nixos/selfhosted/headscale.nix deleted file mode 100644 index 154c3e0..0000000 --- a/modules/nixos/selfhosted/headscale.nix +++ /dev/null @@ -1,65 +0,0 @@ -{ - config, - pkgs, - lib, - email, - ... -}: { - security = { - acme = { - defaults.email = "${email}"; - acceptTerms = true; - }; - }; - - services = { - headscale = { - enable = true; - port = 8080; - address = "0.0.0.0"; - settings = { - dns = { - base_domain = "hs.tux.rs"; - search_domains = ["tux.rs"]; - magic_dns = true; - nameservers.global = [ - "9.9.9.9" - ]; - }; - # server_url = "https://hs.tux.rs:443"; - metrics_listen_addr = "0.0.0.0:8095"; - logtail = { - enabled = false; - }; - log = { - level = "warn"; - }; - ip_prefixes = [ - "100.64.0.0/10" - "fd7a:115c:a1e0::/48" - ]; - }; - }; - - nginx = { - enable = lib.mkForce true; - virtualHosts = { - "hs.tux.rs" = { - forceSSL = true; - useACMEHost = "tux.rs"; - locations = { - "/" = { - proxyPass = "http://localhost:${toString config.services.headscale.port}"; - proxyWebsockets = true; - }; - "/metrics" = { - proxyPass = "http://${config.services.headscale.settings.metrics_listen_addr}/metrics"; - }; - }; - }; - }; - }; - }; - - environment.systemPackages = with pkgs; [headscale]; -} diff --git a/modules/nixos/selfhosted/kasmweb.nix b/modules/nixos/selfhosted/kasmweb.nix deleted file mode 100644 index a756a25..0000000 --- a/modules/nixos/selfhosted/kasmweb.nix +++ /dev/null @@ -1,24 +0,0 @@ -{lib, ...}: { - services = { - kasmweb = { - enable = true; - listenPort = 8843; - }; - - nginx = { - enable = lib.mkForce true; - virtualHosts = { - "kasm.tux.rs" = { - forceSSL = true; - useACMEHost = "tux.rs"; - locations = { - "/" = { - proxyPass = "https://127.0.0.1:8843"; - proxyWebsockets = true; - }; - }; - }; - }; - }; - }; -} diff --git a/modules/nixos/selfhosted/monitoring/grafana.nix b/modules/nixos/selfhosted/monitoring/grafana.nix deleted file mode 100644 index fc18920..0000000 --- a/modules/nixos/selfhosted/monitoring/grafana.nix +++ /dev/null @@ -1,45 +0,0 @@ -{ - lib, - username, - email, - ... -}: { - services = { - grafana = { - enable = true; - settings = { - server.http_port = 8888; - security = { - admin_user = "${username}"; - admin_email = "${email}"; - }; - }; - }; - - nginx = { - enable = lib.mkForce true; - virtualHosts = { - "grafana.tux.rs" = { - forceSSL = true; - useACMEHost = "tux.rs"; - locations = { - "/" = { - proxyPass = "http://localhost:8888"; - proxyWebsockets = true; - }; - - "/api/live/" = { - proxyPass = "http://localhost:8888"; - extraConfig = '' - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection $connection_upgrade; - proxy_set_header Host $host; - ''; - }; - }; - }; - }; - }; - }; -} diff --git a/modules/nixos/selfhosted/monitoring/loki.nix b/modules/nixos/selfhosted/monitoring/loki.nix deleted file mode 100644 index eadac07..0000000 --- a/modules/nixos/selfhosted/monitoring/loki.nix +++ /dev/null @@ -1,77 +0,0 @@ -{lib, ...}: { - services = { - loki = { - enable = true; - configuration = { - auth_enabled = false; - server = { - http_listen_port = 3100; - }; - common = { - ring = { - instance_addr = "127.0.0.1"; - kvstore = { - store = "inmemory"; - }; - }; - replication_factor = 1; - path_prefix = "/tmp/loki"; - }; - schema_config = { - configs = [ - { - from = "2020-05-15"; - store = "tsdb"; - object_store = "filesystem"; - schema = "v13"; - index = { - prefix = "index_"; - period = "24h"; - }; - } - ]; - }; - storage_config = { - filesystem = { - directory = "/tmp/loki/chunks"; - }; - }; - }; - }; - - nginx = { - enable = lib.mkForce true; - virtualHosts = { - "loki.tux.rs" = { - forceSSL = true; - useACMEHost = "tux.rs"; - locations = { - "/" = { - proxyPass = "http://localhost:3100"; - extraConfig = '' - proxy_http_version 1.1; - proxy_read_timeout 1800s; - proxy_connect_timeout 1600s; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection $connection_upgrade; - proxy_set_header Connection "Keep-Alive"; - proxy_set_header Proxy-Connection "Keep-Alive"; - proxy_redirect off; - ''; - }; - - "/ready" = { - proxyPass = "http://localhost:3100"; - extraConfig = '' - proxy_http_version 1.1; - proxy_set_header Connection "Keep-Alive"; - proxy_set_header Proxy-Connection "Keep-Alive"; - proxy_redirect off; - ''; - }; - }; - }; - }; - }; - }; -} diff --git a/modules/nixos/selfhosted/monitoring/promtail.nix b/modules/nixos/selfhosted/monitoring/promtail.nix deleted file mode 100644 index 4a31bbe..0000000 --- a/modules/nixos/selfhosted/monitoring/promtail.nix +++ /dev/null @@ -1,55 +0,0 @@ -{lib, ...}: { - services = { - promtail = { - enable = true; - configuration = { - server = { - http_listen_port = 9080; - grpc_listen_port = 0; - }; - positions = { - filename = "/var/lib/promtail/positions.yaml"; - }; - clients = [ - { - url = "https://loki.tux.rs/loki/api/v1/push"; - } - ]; - scrape_configs = [ - { - job_name = "journal"; - journal = { - max_age = "12h"; - labels = { - job = "systemd-journal"; - }; - }; - relabel_configs = [ - { - source_labels = [ - "__journal__systemd_unit" - ]; - target_label = "unit"; - } - ]; - } - ]; - }; - }; - - nginx = { - enable = lib.mkForce true; - virtualHosts = { - "promtail.tux.rs" = { - forceSSL = true; - useACMEHost = "tux.rs"; - locations = { - "/" = { - proxyPass = "http://localhost:9080"; - }; - }; - }; - }; - }; - }; -} diff --git a/modules/nixos/selfhosted/nextcloud.nix b/modules/nixos/selfhosted/nextcloud.nix deleted file mode 100644 index b2c0850..0000000 --- a/modules/nixos/selfhosted/nextcloud.nix +++ /dev/null @@ -1,50 +0,0 @@ -{ - config, - pkgs, - lib, - username, - ... -}: { - services = { - nginx = { - enable = lib.mkForce true; - virtualHosts = { - "cloud.tux.rs" = { - forceSSL = true; - useACMEHost = "tux.rs"; - }; - }; - }; - - nextcloud = { - enable = true; - hostName = "cloud.tux.rs"; - package = pkgs.nextcloud32; - database.createLocally = true; - configureRedis = true; - maxUploadSize = "16G"; - https = true; - - autoUpdateApps.enable = true; - extraAppsEnable = true; - extraApps = with config.services.nextcloud.package.packages.apps; { - inherit mail spreed; - }; - - config = { - dbtype = "sqlite"; - adminuser = "${username}"; - adminpassFile = config.sops.secrets.nextcloud_password.path; - }; - - settings = { - overwriteProtocol = "https"; - default_phone_region = "IN"; - }; - }; - }; - - environment.systemPackages = with pkgs; [ - nextcloud32 - ]; -} diff --git a/modules/nixos/selfhosted/ntfy-sh.nix b/modules/nixos/selfhosted/ntfy-sh.nix deleted file mode 100644 index fcb19e1..0000000 --- a/modules/nixos/selfhosted/ntfy-sh.nix +++ /dev/null @@ -1,28 +0,0 @@ -{lib, ...}: { - services = { - ntfy-sh = { - enable = true; - settings = { - listen-http = ":7070"; - base-url = "https://ntfy.tux.rs"; - behind-proxy = true; - }; - }; - - nginx = { - enable = lib.mkForce true; - virtualHosts = { - "ntfy.tux.rs" = { - forceSSL = true; - useACMEHost = "tux.rs"; - locations = { - "/" = { - proxyPass = "http://localhost:7070"; - proxyWebsockets = true; - }; - }; - }; - }; - }; - }; -} diff --git a/modules/nixos/selfhosted/open-webui.nix b/modules/nixos/selfhosted/open-webui.nix deleted file mode 100644 index ab69d7e..0000000 --- a/modules/nixos/selfhosted/open-webui.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ - lib, - config, - ... -}: { - services = { - open-webui = { - enable = true; - openFirewall = true; - host = "0.0.0.0"; - port = 1111; - environment = { - WEBUI_URL = "https://chat.tux.rs"; - ENABLE_OLLAMA_API = "True"; - OLLAMA_BASE_URL = "http://pc:11434"; - }; - }; - - nginx = { - enable = lib.mkForce true; - virtualHosts = { - "chat.tux.rs" = { - forceSSL = true; - useACMEHost = "tux.rs"; - locations = { - "/" = { - proxyPass = "http://${config.services.open-webui.host}:${toString config.services.open-webui.port}"; - proxyWebsockets = true; - }; - }; - }; - }; - }; - }; -} diff --git a/modules/nixos/selfhosted/plausible.nix b/modules/nixos/selfhosted/plausible.nix deleted file mode 100644 index 1f62556..0000000 --- a/modules/nixos/selfhosted/plausible.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ - config, - lib, - ... -}: { - services = { - plausible = { - enable = true; - - server = { - baseUrl = "https://plausible.tux.rs"; - port = 2100; - disableRegistration = true; - secretKeybaseFile = config.sops.secrets.plausible_key.path; - }; - - database.postgres = { - dbname = "plausible"; - socket = "/run/postgresql"; - }; - }; - - nginx = { - enable = lib.mkForce true; - virtualHosts = { - "plausible.tux.rs" = { - forceSSL = true; - useACMEHost = "tux.rs"; - locations = { - "/" = { - proxyPass = "http://localhost:2100"; - proxyWebsockets = true; - }; - }; - }; - }; - }; - }; -} diff --git a/modules/nixos/selfhosted/postgresql.nix b/modules/nixos/selfhosted/postgresql.nix deleted file mode 100644 index f79085b..0000000 --- a/modules/nixos/selfhosted/postgresql.nix +++ /dev/null @@ -1,97 +0,0 @@ -{ - lib, - pkgs, - ... -}: { - services.postgresql = { - enable = true; - package = pkgs.postgresql_16; - - ensureDatabases = [ - "plausible" - "wakapi" - ]; - ensureUsers = [ - { - name = "postgres"; - ensureClauses = { - superuser = true; - login = true; - createrole = true; - createdb = true; - replication = true; - }; - } - { - name = "plausible"; - ensureDBOwnership = true; - } - { - name = "wakapi"; - ensureDBOwnership = true; - } - ]; - - checkConfig = true; - enableTCPIP = false; - - settings = { - max_connections = 100; - superuser_reserved_connections = 3; - - shared_buffers = "1024 MB"; - work_mem = "32 MB"; - maintenance_work_mem = "320 MB"; - huge_pages = "off"; - effective_cache_size = "3 GB"; - effective_io_concurrency = 100; - random_page_cost = 1.25; - - shared_preload_libraries = "pg_stat_statements"; - track_io_timing = "on"; - track_functions = "pl"; - - wal_level = "replica"; - max_wal_senders = 0; - synchronous_commit = "on"; - - checkpoint_timeout = "15 min"; - checkpoint_completion_target = 0.9; - max_wal_size = "1024 MB"; - min_wal_size = "512 MB"; - - wal_compression = "on"; - wal_buffers = -1; - wal_writer_delay = "200ms"; - wal_writer_flush_after = "1MB"; - - bgwriter_delay = "200ms"; - bgwriter_lru_maxpages = 100; - bgwriter_lru_multiplier = 2.0; - bgwriter_flush_after = 0; - - max_worker_processes = 3; - max_parallel_workers_per_gather = 2; - max_parallel_maintenance_workers = 2; - max_parallel_workers = 3; - parallel_leader_participation = "on"; - - enable_partitionwise_join = "on"; - enable_partitionwise_aggregate = "on"; - jit = "on"; - - jit_above_cost = 100000; - jit_inline_above_cost = 150000; - jit_optimize_above_cost = 500000; - - log_min_duration_statement = 100; - "auto_explain.log_min_duration" = 100; - - log_connections = true; - log_statement = "all"; - logging_collector = true; - log_disconnections = true; - log_destination = lib.mkForce "syslog"; - }; - }; -} diff --git a/modules/nixos/selfhosted/rustdesk-server.nix b/modules/nixos/selfhosted/rustdesk-server.nix deleted file mode 100644 index 4a85453..0000000 --- a/modules/nixos/selfhosted/rustdesk-server.nix +++ /dev/null @@ -1,9 +0,0 @@ -{...}: { - services = { - rustdesk-server = { - enable = true; - openFirewall = true; - signal.relayHosts = ["156.67.105.203"]; - }; - }; -} diff --git a/modules/nixos/selfhosted/searx.nix b/modules/nixos/selfhosted/searx.nix deleted file mode 100644 index aa89895..0000000 --- a/modules/nixos/selfhosted/searx.nix +++ /dev/null @@ -1,43 +0,0 @@ -{ - pkgs, - lib, - config, - ... -}: { - services = { - searx = { - enable = true; - package = pkgs.searxng; - environmentFile = config.sops.secrets.searx_secret_key.path; - settings = { - general = { - instance_name = "SearXNG"; - }; - server = { - bind_address = "0.0.0.0"; - port = 3415; - base_url = "https://sx.tux.rs"; - secret_key = "@secret_key@"; - }; - search = { - autocomplete = "google"; - }; - }; - }; - - nginx = { - enable = lib.mkForce true; - virtualHosts = { - "sx.tux.rs" = { - forceSSL = true; - useACMEHost = "tux.rs"; - locations = { - "/" = { - proxyPass = "http://localhost:3415"; - }; - }; - }; - }; - }; - }; -} diff --git a/modules/nixos/selfhosted/send.nix b/modules/nixos/selfhosted/send.nix deleted file mode 100644 index 093a993..0000000 --- a/modules/nixos/selfhosted/send.nix +++ /dev/null @@ -1,33 +0,0 @@ -{ - lib, - config, - ... -}: { - services = { - send = { - enable = true; - port = 1443; - - environment = { - DEFAULT_DOWNLOADS = 5; - DETECT_BASE_URL = true; - }; - }; - - nginx = { - enable = lib.mkForce true; - virtualHosts = { - "share.tux.rs" = { - forceSSL = true; - useACMEHost = "tux.rs"; - locations = { - "/" = { - proxyPass = "http://${config.services.send.host}:${toString config.services.send.port}"; - proxyWebsockets = true; - }; - }; - }; - }; - }; - }; -} diff --git a/modules/nixos/selfhosted/silver-bullet.nix b/modules/nixos/selfhosted/silver-bullet.nix deleted file mode 100644 index 89aae56..0000000 --- a/modules/nixos/selfhosted/silver-bullet.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ - lib, - config, - ... -}: { - services = { - silverbullet = { - enable = true; - listenPort = 9876; - envFile = config.sops.secrets.silver_bullet.path; - }; - - nginx = { - enable = lib.mkForce true; - virtualHosts = { - "notes.tux.rs" = { - forceSSL = true; - useACMEHost = "tux.rs"; - locations = { - "/" = { - proxyPass = "http://localhost:9876"; - }; - }; - }; - }; - }; - }; -} diff --git a/modules/nixos/selfhosted/tfolio.nix b/modules/nixos/selfhosted/tfolio.nix deleted file mode 100644 index 9669acf..0000000 --- a/modules/nixos/selfhosted/tfolio.nix +++ /dev/null @@ -1,102 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: -with lib; let - cfg = config.tux.services.tfolio; -in { - options.tux.services.tfolio = { - enable = mkEnableOption "Enable tfolio"; - - host = mkOption { - type = lib.types.str; - default = "0.0.0.0"; - description = "IP address or hostname on which the tfolio service will listen."; - }; - - port = mkOption { - type = lib.types.port; - default = 22; - description = "Port number on which the tfolio service will listen."; - }; - - dataDir = mkOption { - type = lib.types.str; - default = "/var/lib/tfolio/"; - description = "Directory where tfolio will store its data files."; - }; - - user = mkOption { - type = types.str; - default = "tfolio"; - description = "User under which the tfolio service runs."; - }; - - group = mkOption { - type = types.str; - default = "tfolio"; - description = "Group under which the tfolio service runs."; - }; - }; - - config = mkIf cfg.enable { - systemd.services = { - tfolio = { - description = "my portfolio in a ssh session"; - after = ["network.target"]; - wantedBy = ["multi-user.target"]; - - serviceConfig = { - Type = "simple"; - User = cfg.user; - Group = cfg.group; - ExecStart = "${getExe pkgs.tfolio} -l ${cfg.host} -p ${toString cfg.port} -d ${cfg.dataDir}"; - Restart = "always"; - StateDirectory = "tfolio"; - - # Allow binding to privileged ports - AmbientCapabilities = "CAP_NET_BIND_SERVICE"; - CapabilityBoundingSet = "CAP_NET_BIND_SERVICE"; - - LockPersonality = true; - MemoryDenyWriteExecute = true; - NoNewPrivileges = true; - PrivateDevices = true; - PrivateIPC = true; - PrivateTmp = true; - ProtectClock = true; - ProtectControlGroups = true; - ProtectHome = "read-only"; - ProtectHostname = true; - ProtectKernelLogs = true; - ProtectKernelModules = true; - ProtectKernelTunables = true; - ProtectProc = "invisible"; - ProtectSystem = "full"; - RestrictNamespaces = "uts ipc pid user cgroup"; - RestrictRealtime = true; - RestrictSUIDSGID = true; - SystemCallArchitectures = "native"; - SystemCallFilter = ["@system-service"]; - UMask = "0077"; - }; - }; - }; - # Ensure the user and group exist - users.users = mkIf (cfg.user == "tfolio") { - ${cfg.user} = { - isSystemUser = true; - group = cfg.group; - description = "tfolio service user"; - home = "/var/lib/tfolio"; - createHome = true; - }; - }; - - users.groups = mkIf (cfg.group == "tfolio") { - ${cfg.group} = {}; - }; - }; -} diff --git a/modules/nixos/selfhosted/umami.nix b/modules/nixos/selfhosted/umami.nix deleted file mode 100644 index 7f815f8..0000000 --- a/modules/nixos/selfhosted/umami.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ - lib, - config, - ... -}: { - services = { - umami = { - enable = true; - settings = { - APP_SECRET_FILE = config.sops.secrets.umami.path; - PORT = 4645; - }; - createPostgresqlDatabase = true; - }; - - nginx = { - enable = lib.mkForce true; - virtualHosts = { - "umami.tux.rs" = { - forceSSL = true; - useACMEHost = "tux.rs"; - locations = { - "/" = { - proxyPass = "http://localhost:${toString config.services.umami.settings.PORT}"; - proxyWebsockets = true; - }; - }; - }; - }; - }; - }; -} diff --git a/modules/nixos/selfhosted/upstream-proxy.nix b/modules/nixos/selfhosted/upstream-proxy.nix deleted file mode 100644 index 7ca136e..0000000 --- a/modules/nixos/selfhosted/upstream-proxy.nix +++ /dev/null @@ -1,60 +0,0 @@ -{ - lib, - config, - pkgs, - ... -}: let - cfg = config.tux.services.nginxStreamProxy; - - upstreamServerType = lib.types.submodule ({config, ...}: { - options = { - address = lib.mkOption { - type = lib.types.str; - description = "IP address or hostname of the upstream server"; - }; - port = lib.mkOption { - type = lib.types.port; - default = 9999; - description = "Port number of the upstream server"; - }; - listenPort = lib.mkOption { - type = lib.types.port; - default = config.port; - defaultText = lib.literalExpression "port"; - description = "Local port to listen for incoming connections (defaults to port)"; - }; - }; - }); -in { - options.tux.services.nginxStreamProxy = { - enable = lib.mkEnableOption "Enable nginx TCP stream proxy"; - - upstreamServers = lib.mkOption { - type = lib.types.listOf upstreamServerType; - default = [ - { - address = "0.0.0.0"; - port = 9999; - } - ]; - description = "List of upstream servers to proxy to, each with its own listen port"; - }; - }; - - config = lib.mkIf cfg.enable { - networking.firewall.allowedTCPPorts = map (server: server.listenPort) cfg.upstreamServers; - - services.nginx = { - enable = lib.mkForce true; - package = pkgs.nginx.override {withStream = true;}; - streamConfig = - lib.concatMapStringsSep "\n" (server: '' - server { - listen ${toString server.listenPort}; - proxy_pass ${server.address}:${toString server.port}; - } - '') - cfg.upstreamServers; - }; - }; -} diff --git a/modules/nixos/selfhosted/uptime-kuma.nix b/modules/nixos/selfhosted/uptime-kuma.nix deleted file mode 100644 index ba33ffd..0000000 --- a/modules/nixos/selfhosted/uptime-kuma.nix +++ /dev/null @@ -1,22 +0,0 @@ -{lib, ...}: { - services = { - uptime-kuma = { - enable = true; - }; - - nginx = { - enable = lib.mkForce true; - virtualHosts = { - "uptime.tux.rs" = { - forceSSL = true; - useACMEHost = "tux.rs"; - locations = { - "/" = { - proxyPass = "http://localhost:3001"; - }; - }; - }; - }; - }; - }; -} diff --git a/modules/nixos/selfhosted/vaultwarden.nix b/modules/nixos/selfhosted/vaultwarden.nix deleted file mode 100644 index d518e16..0000000 --- a/modules/nixos/selfhosted/vaultwarden.nix +++ /dev/null @@ -1,29 +0,0 @@ -{lib, ...}: { - services = { - vaultwarden = { - enable = true; - config = { - domain = "https://bw.tux.rs"; - enableWebsocket = true; - signupsAllowed = true; - disableIconDownload = true; - }; - }; - - nginx = { - enable = lib.mkForce true; - virtualHosts = { - "bw.tux.rs" = { - forceSSL = true; - useACMEHost = "tux.rs"; - locations = { - "/" = { - proxyPass = "http://localhost:8000"; - proxyWebsockets = true; - }; - }; - }; - }; - }; - }; -} diff --git a/modules/nixos/selfhosted/wakapi.nix b/modules/nixos/selfhosted/wakapi.nix deleted file mode 100644 index 60e4a9a..0000000 --- a/modules/nixos/selfhosted/wakapi.nix +++ /dev/null @@ -1,50 +0,0 @@ -{ - lib, - config, - ... -}: { - services = { - wakapi = { - enable = true; - passwordSaltFile = config.sops.secrets.wakapi_salt.path; - database.createLocally = true; - settings = { - app.avatar_url_template = "https://www.gravatar.com/avatar/{email_hash}.png"; - - server = { - port = 15999; - public_url = "https://wakapi.tux.rs"; - }; - - db = { - dialect = "postgres"; - host = "/run/postgresql"; - port = 5432; - name = "wakapi"; - user = "wakapi"; - }; - - security = { - allow_signup = false; - disable_frontpage = true; - }; - }; - }; - - nginx = { - enable = lib.mkForce true; - virtualHosts = { - "wakapi.tux.rs" = { - forceSSL = true; - useACMEHost = "tux.rs"; - locations = { - "/" = { - proxyPass = "http://localhost:15999"; - proxyWebsockets = true; - }; - }; - }; - }; - }; - }; -} diff --git a/modules/nixos/steam.nix b/modules/nixos/steam.nix deleted file mode 100644 index 1931b0d..0000000 --- a/modules/nixos/steam.nix +++ /dev/null @@ -1,7 +0,0 @@ -{...}: { - programs.steam = { - enable = true; - }; - - hardware.graphics.enable32Bit = true; -} diff --git a/modules/nixos/virtualisation/default.nix b/modules/nixos/virtualisation/default.nix deleted file mode 100755 index bbae769..0000000 --- a/modules/nixos/virtualisation/default.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ - imports = [ - ./docker.nix - ./waydroid.nix - ./qemu.nix - ]; -} diff --git a/modules/nixos/virtualisation/docker.nix b/modules/nixos/virtualisation/docker.nix deleted file mode 100755 index d93f20a..0000000 --- a/modules/nixos/virtualisation/docker.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ - username, - pkgs, - ... -}: { - virtualisation = { - oci-containers.backend = "docker"; - docker.enable = true; - }; - - environment.systemPackages = with pkgs; [lazydocker]; - - users.users.${username}.extraGroups = ["docker"]; -} diff --git a/modules/nixos/virtualisation/qemu.nix b/modules/nixos/virtualisation/qemu.nix deleted file mode 100755 index 50ba010..0000000 --- a/modules/nixos/virtualisation/qemu.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ - pkgs, - username, - ... -}: { - virtualisation = { - libvirtd = { - enable = true; - qemu = { - swtpm.enable = true; - }; - }; - spiceUSBRedirection.enable = true; - }; - - users.users.${username}.extraGroups = ["libvirtd"]; - - environment.systemPackages = with pkgs; [ - virt-manager - virt-viewer - ]; -} diff --git a/modules/nixos/virtualisation/waydroid.nix b/modules/nixos/virtualisation/waydroid.nix deleted file mode 100755 index 1e2080a..0000000 --- a/modules/nixos/virtualisation/waydroid.nix +++ /dev/null @@ -1,5 +0,0 @@ -{...}: { - virtualisation = { - waydroid.enable = true; - }; -} diff --git a/overlays/default.nix b/overlays/default.nix deleted file mode 100755 index 12d16cc..0000000 --- a/overlays/default.nix +++ /dev/null @@ -1,33 +0,0 @@ -{inputs, ...}: { - additions = final: _prev: import ../pkgs {pkgs = final;}; - - modifications = final: prev: { - awesome = inputs.nixpkgs-f2k.packages.${prev.stdenv.hostPlatform.system}.awesome-git; - ghostty = inputs.ghostty.packages.${prev.stdenv.hostPlatform.system}.default; - tawm = inputs.tawm.packages.${prev.stdenv.hostPlatform.system}.default; - tnvim = inputs.tnvim.packages.${prev.stdenv.hostPlatform.system}.default; - tpanel = inputs.tpanel.packages.${prev.stdenv.hostPlatform.system}.default; - ags = inputs.tpanel.packages.${prev.stdenv.hostPlatform.system}.ags.default; - tfolio = inputs.tfolio.packages.${prev.stdenv.hostPlatform.system}.default; - trok = inputs.trok.packages.${prev.stdenv.hostPlatform.system}.default; - cyber-tux = inputs.cyber-tux.packages.${prev.stdenv.hostPlatform.system}.default; - hyprland-git = inputs.hyprland.packages.${prev.stdenv.hostPlatform.system}; - hyprland-plugins = inputs.hyprland-plugins.packages.${prev.stdenv.hostPlatform.system}; - wezterm-git = inputs.wezterm-flake.packages.${prev.stdenv.hostPlatform.system}.default; - awww = inputs.awww.packages.${prev.stdenv.hostPlatform.system}.awww; - vicinae-extensions = inputs.vicinae-extensions.packages.${prev.stdenv.hostPlatform.system}; - }; - - # When applied, the stable nixpkgs set (declared in the flake inputs) will - # be accessible through 'pkgs.stable' - stable-packages = final: _prev: { - stable = import inputs.nixpkgs-stable { - system = final.stdenv.hostPlatform.system; - config.allowUnfree = true; - }; - }; - - nur = inputs.nur.overlays.default; - - nix-vscode-extensions = inputs.nix-vscode-extensions.overlays.default; -} diff --git a/pkgs/default.nix b/pkgs/default.nix deleted file mode 100755 index 9ad3acd..0000000 --- a/pkgs/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -{pkgs, ...}: { - firefox-mod-blur = pkgs.callPackage ./firefox-mod-blur {}; - plymouth-spinner-monochrome = pkgs.callPackage ./plymouth-spinner-monochrome {}; - go-wol = pkgs.callPackage ./go-wol {}; -} diff --git a/pkgs/firefox-mod-blur/default.nix b/pkgs/firefox-mod-blur/default.nix deleted file mode 100644 index fe7e6eb..0000000 --- a/pkgs/firefox-mod-blur/default.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ - lib, - stdenv, - pkgs, -}: -stdenv.mkDerivation { - pname = "firefox-mod-blur"; - version = "v2.14"; - - src = pkgs.fetchFromGitHub { - owner = "datguypiko"; - repo = "Firefox-Mod-Blur"; - rev = "refs/heads/master"; - sha256 = "sha256-PX26cPYKU5ERgmcMrpCyFGwLE2a2w80z2zPn28xJq/U="; - }; - - installPhase = '' - mkdir $out - cp -r * "$out/" - cp -r "$out/EXTRA MODS/Bookmarks Bar Mods/Bookmarks bar same color as toolbar/bookmarks_bar_same_color_as_toolbar.css" "$out/" - ''; - - meta = with lib; { - description = "Firefox Mod Blur"; - homepage = "https://github.com/datguypiko/Firefox-Mod-Blur"; - platforms = platforms.all; - license = licenses.gpl3; - }; -} diff --git a/pkgs/go-wol/default.nix b/pkgs/go-wol/default.nix deleted file mode 100644 index 01977ce..0000000 --- a/pkgs/go-wol/default.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ - lib, - buildGoModule, - fetchFromGitHub, - ... -}: let - version = "2.0.1"; -in - buildGoModule { - pname = "go-wol"; - inherit version; - - src = fetchFromGitHub { - owner = "sabhiram"; - repo = "go-wol"; - rev = "v${version}"; - hash = "sha256-iV3p0PjRK0ItfOaRJoS30iZC+O3lNPWfcRb3pfv60RY="; - }; - - vendorHash = "sha256-Ze928UnuvScA32fglTYkQx+XE15BxSB6vNa9OSyhN3w="; - - meta = with lib; { - homepage = "https://github.com/sabhiram/go-wol"; - description = "Simple wake on LAN magic packet generator for golang"; - license = licenses.mit; - }; - } diff --git a/pkgs/plymouth-spinner-monochrome/default.nix b/pkgs/plymouth-spinner-monochrome/default.nix deleted file mode 100644 index 78f2a92..0000000 --- a/pkgs/plymouth-spinner-monochrome/default.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ - stdenv, - logo ? null, - lib, - ... -}: -stdenv.mkDerivation { - pname = "plymouth-spinner-monochrome"; - version = "1.0"; - src = ./src; - - buildPhase = lib.optionalString (logo != null) '' - ln -s ${logo} watermark.png - ''; - installPhase = '' - mkdir -p $out/share/plymouth/themes - cp -rT . $out/share/plymouth/themes/spinner-monochrome - ''; - - meta = { - platforms = lib.platforms.all; - }; -} diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0001.png b/pkgs/plymouth-spinner-monochrome/src/animation-0001.png deleted file mode 100644 index 6bd823976167325046fb5759916e6883936461a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1579 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|SG7iEBiOTV_rwgMLPSZmND(W^Qg`vVL(=f0FV5*r*)>@x zpzDZ)iHmmVZ>8L_dcm)D77r_wzDwjc=pVTL!2N@D#ADW+Ko`~bQuj54 zUIn{FD>q%fUB@b;a_^7-0qz5OXYc&D#k+Ho{^JRzeTA_}!Dnqe@3RQ`KGhSRexOJw zwXkE+^19<|jJNB*TJa+LcvqneyPf&`5b=}t43E8Ea9S14pMJyeb(e^(SVL^A!7}j= zJbm#8L;jqYGgIySEfInG`RQ}5zwc;~wqcy+PlcY@S>(~Xan%XB7PPnmu9 zf#HI=+rkASjn^Bp*t<-S7pf0%`p5pwN`rG_^UAp`zqV*bDRFxUmO0(liw@}&p14~= zPiSvPF1JadhsyOnvx8UC=E&;5bbr$Imd#t}$$`6VcbIIrj{AG*HD2lra;XtD_;c`i zl>JMg-PNA9^A3XnYB&*nj=Nanf z8oT9KtLE>pYZWNwnWOrmGJ$V*CZkg9))`i2>bql7H?ZZ*^*`#AGds4DcaGZ6_7}dp zo}JU;EY5S;@!0sl=Iv+KZ5I|(+IcjGNA~!dubb^Bs#H(>>HYMs_93OcbMEm9uWNeW zc+@K?sk>IB;+@zdzSiTbcKCe~?aMfv+?8;@{=Boc?+2?2$r&a`_Hr!qu6y{N_kp|5 zq4|xjIZU5-9OGNlZ2CdA=BnkJzwQZ!+t`0{>_7fN#$aQtfLiGu#v+$Vw_Eo&KAKp` za;&06Y$sRUi{sO*lMhYuS;4tw>-$FS11({>+}j)9ifDSxf0EUCcBXN7y!ewV>tg-C z+^h7+VV@G#V{OeJ$K>BIVVAZ39Nm4aF)som7P!bYA92!Ec@S~o{Ir3U3 z&oyx$m}|$XQoOzFnfZjW+Z#nUaOF9@o7g-1l39J%!F~1~4@%Bew(eH!%#CAvcd1&T z(Y4~^mFUcJj~Uu8AKx&RHPGVQnq=rDpWVF6{>R^ipSrF7MSZJyJ5PDr=TmWIy$gj+ tt$UJJS2MPsRX;alf~ENG^;iG#D+*W4s%@Xj$-uzC;OXk;vd$@?2>`;uv@rkx diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0002.png b/pkgs/plymouth-spinner-monochrome/src/animation-0002.png deleted file mode 100644 index ef8ff54a5ba88688b91eeb3eba6753e9dc28a169..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1573 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|SG7iEBiOTV_rwgMLPSZmND(W^Qg`vVL()Q#(2?#0qw6zx2y} zyX?xProRriBrXTsn$-5;*lVlWcgrWM=U?KxGtbhv_}RRf#q-Qdi;9YhlCrb2odWxh zOskE}o>P{bJ@3f19a6&8n)hph6hS&43X!W(Sa7D9@!|V}u?DLuA@8)glOqTue>U*>1 z2mK#HYns%asikLM30+z9w_RR&{SV=!eQfN!ave+lHyS?(FW|Ld&}Zbf=hvH@ZG7ZS z^~!B=;hg~wnSSv0NPlI1bH7owfZ@i*yIZ$y}|FbTN4Ch znEx%{*k64zzrj`b%8wVGGWA=-ZR?7Bo6ACPy$b&@i(Mf8oAU>r8w|@2l=6K&swVkO z?U%^gSDmR}Yri~Dzja6W=gP3{vsCJ){@wh*?!(sKyKMhh-{4sJ(d)#wOR7$Pru_A} ze(|jR*(}96&BbP1JVLho@0jL(Z+K*0ciSb;$w}X@tE#SqXg9EwWjtrQx%bH1+70^>3OHi4cmDp- z@pkFvR+}U14!Pe;3T~La`hnU83GN7HvEm-iGd-^_soZK-d7E@LS8sOFqJM2aG|j8e z{dj!&pK9}Cp$*yU6FGlK^fy&*Sl)7H>*d;td%sWLJ@}+dOYG_r+e7c{!Zyxfom6#$ zedW7@{4)>z3(c;BF zHqTY&GymK5O1N^#+q+*_Uu@uTKkczUJ^Rq&TN6cu?sDGPDIA#AIC~12_Q{)Q z!Mnd+*r}YmyTmF?Shw-;1KtPsoN8{Cz15l+p78xwcth*6_P13h4p02^$@H6I;Ww3& z+}j_QAGm!W^Tx{6Pn?RvkH1&>$0XkPfBmzTU!1FF+aFzEe@~?#F{bwl~AeblF<8RjjvWDcilBT`tUpNj_>?a_peZ{ojB)x(yYkn-pqY67YyG8 s{Q1Z$%=7l<_9wB9x7wah`d**=s&B%*v%wb`7#J8lUHx3vIVCg!04fgAS^xk5 diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0003.png b/pkgs/plymouth-spinner-monochrome/src/animation-0003.png deleted file mode 100644 index 205380b1ca8e000f19adb89243a71cd48bfa579b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1591 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 P3=9mOu6{1-oD!MfK`7)*-gDLrhTj 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 N;OXk;vd$@?2>_M$-CqCz diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0007.png b/pkgs/plymouth-spinner-monochrome/src/animation-0007.png deleted file mode 100644 index d2ccac920882325a265fe11365dcf170461cefb7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1666 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 A>;M1& diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0009.png b/pkgs/plymouth-spinner-monochrome/src/animation-0009.png deleted file mode 100644 index 3e79b9bcdd7c337bb0de3db1fa15ea8c05e38917..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1640 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|SG7iEBiOTV_rwgMLPSZmND(W^Qg`vVL(LDuaQ66%<)Ml34eFfq{VoBO)W}ffKYk{ z2F8CbSOhaLFo=RAgOgM9QW+BSGIJA4GV}8kj1AHXiWT@DH!(0U2!j*^rRJri79s4^ zGcdOcKK+P+fk6l)?Od6hlUl40oS0jXlUmGRXk<}0O+uT2ftA72#W5s;vv!(ocWkIg zTXFiLWBn43+4+pb1Opun5|(>7uxu1MXw<487WR)rTUz>}m!fN(1J}W03p6$gN^`rq zstdU&e^fq}B9nebc7FQVy7O;}pBZuA+x;!B`t8@+b2~TR%qdH#uKwNd#7ZRco9+9r zQ&!);-I=%k`fHasqp8XTceQs-FWPs1X4U7PHJr0{ztj9Kc9QR#)Ad5L*xko3@NTF+ zSo^@Sfa4BN9sBeHQjRf79jm+N6xpe)n7?fEcGkf<=b0yg@Y~z?|`= zR0Okp!)A+}9P+A9?Y0;+SWIW`ef>l7gMdNxOS1*R?a$l_xD6ycZ37=#t~HOd*V%j8UpmBK zv1O0?!Nm!zISna)^|PA`Z@gnXH}Ut=W5Jx;T>pQlmfGX08q>dGO7E)fGdlBFzc)uW zGONwp>Q}m?k8!8D!p<31?jgJM5BdjPU7GT)vBaQ>rQwa?2bK$+UvIIrH$L4W6#XFi z1G9m}_pmoC6i%3tmhFo_a9!{)GFrX6k#P?D`)2M0X652{ zI;MHjVFyn?aGjvu{M2Fo#wy;wr`Z%jJ@1$__Rp}rK7%=Z=hZ7eB|n%|-Ea81r{KxG z(o2nu`#Aj=qm7py7qnTq@20m~y!5ZfCiXl!nc|A#=3pu z`ymi2k$FJ~Q7`iZZh`ulTOZ@%TG=fRiGZ?qBooBWW0%kw$g!t$wQ3)IDhjG6bxc?ZWuxEGaJJO^sjM{Mhw1%Zr(> zpB?yS865m+rPizT13j`m?@B6idY1NM@qF)&`3V!f0 zwjVm3bTj9X!#(Tr`Nk#eSw?gHYgcTZXizEeEilKVZ=rc-|Z1QS}EsajxRyrOPx)2|aXoxJ*+VnX((DKPE$|GMVOoBDgq?|4t0 zvPoEKU~%X2iMp!>3tpTMR@l}x;VoC}WiQAUl)U#SG zd7^RR#G_(uHT~Y@O#gFk2(5m=ewx2$rnl7=FSh6yX)C{Jf2HOwda*;&bRl{#$ds zf8F;*##=AGzB1E3NNeNf+of}AdHi^Np58pZEav8yxHtd!iwn2p)b95D$-uzC;OXk; Jvd$@?2>_f2-^Bm` diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0010.png b/pkgs/plymouth-spinner-monochrome/src/animation-0010.png deleted file mode 100644 index 1f64875a17c6ac9bea646cbfc133dfe5013ea639..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1613 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|SG7iEBiOTV_rwgMLPSZmND(W^Qg`vVL(LDuaQ66$BX?G~HJhWnf_70Li%(CFZ6w7#gTmp2%QeU=Rd}IVa|(79}!3 zC_MuM<3ATHf*BYXL_w0l$*Fm%42gM}xrrs2`FRS)25AMw3jB|o7#J9YK?;IW^HNfa z5O(Srn0bc$E@5C`5CTa%S0?AA7ApiN<`(3n7Bd(cS=3FF&}Lv@dFtun7!twRI?cB` z)>WV_U2XA4lQoT1${nMnCGL5g}F7BQ3`S#qE=JU^AU$FD_yrTS>IeW!-^=*E6%eL*?K{>Ym z21yHsYX?FW^M_4d^{L$!lLm|F%)NH}aZH6d$G$Uo*Rt=}UD$k!U*)`B)AxhVx3A`K?9-mW za3V@wpLy+B!1Ui)9_-(teRr~5Pef#wI6 zAKVfL_B$BuNLllFu9~sL^Fs)!TGM&GNO`9yw4;}?CW z-C+w?L|wQRYJQDx)^r({`Pag@3qpQbOzDnhnVw=`JfV~C@@@77$?bYqPjKJJ-}%Vl zo^|>B%?DY##lEn4N8g&<8FzMWsecK>&HUeaS5BS1ck=#&H|e)0c%NWf&Z)L3q-AfU z9OJE*Cr`zl+ADP^?Z)#o(V8|pu`d>`1JUg>ld|~}(&ccgb5$_}m=4Q=sY&yk$DlY1tEbp;Qi%&}5 zC)F)^`O_dqi-Gs&`Sz(77K(nzoYi`c=g4N>2eI`PHBRPH+&A?!`Zm9>JohEic*0?! z5BjFRix2R${(tIWWxU|T<+d$ZC-fq-{JGYjO|fU0u;R&Dckv6R)v~XTL~dZJoW~aY zy>P>q=|*N3r8N$g)a2(E39b`9{XS;K&PZ)zj_3#Ot~-kZL{G-1Ox^k0;+QE*e0^n?&WGc@fvwBjioVr(r*czaRcHTw6M)#m@R6sD5DZboFyt=akR{03jvKm;e9( diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0011.png b/pkgs/plymouth-spinner-monochrome/src/animation-0011.png deleted file mode 100644 index 57bec05fc7977fc6273d76a97de0ac8454ef6706..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1621 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|SG7iEBiOTV_rwgMLPSZmND(W^Qg`vVL(LDuaQ66$BX?e!U^y%)r3F0g`hoO3Y1VFf0@<|dY8=I1FG8>AH!EAT&VVqjnp1}O+i%}Yrw zLfENiVCEU}yM%#(K?o%6T$!AcTC5P9m|KvOTFhW*WKlOwLYsks<*lcSV@L#N?X>gV z(?Ug#r^mUkT{FXD`KFc=Ld{vpj?#(+7Z;_@j`_yEbzSKLwG2&l11umcO23%N56>&v5jj66BjYi~H5dUaWJa)rc+qx}z(KUm7%?1{g|?J}ub zwnH)W{lQNb6|y!=JSEFN@2x$rvSqXM>;u{t-S+-|<@-ovhwqw|A5|WEcndqMTrB)R z)WzZ&*Z%Jeo*;A;lqR<;xk&D zR|KDr+WK2f(I(qy(x#Iq{2L~hl$L9y-_6jK_H4MDelYt0gVp3}*4qaf{QguvxbmO( z&9%CO?R|~v4V~K_J(zU2g1v^@&Uo3!C)t8A40B}}Io~;I|KOH*qx3`Q4_DfpxkYM? z=QflJ?BTt~G^w-Y&4t}J>W}Zdf5+t8kpo;zRcuR|>L;wd)pb<-0Z&=@!7@3S%HwK( zgv{g{`Wra=PdomRNiQ|wOvRr~8@&l~sF3xC+B-%xy`iq-kIjdYjuw>Q_?9|S-6 z>BaYU_FwL7&n2}|EAKG)?eyDIuf3mV-$JYQT#j`ynyow9*Iu2^wD#&dQLCOBhw6($ z0S!I}6uupMptkUj@Q#_Qo$}a!OHN-qY1R9?KP0bSKb!FJe6kMz#n!UFZ~d>YKRmbW z-PzjFa0MYy@ppRCUWk{J6olgRRVb9n3Jso{C_b>J8xKLvNGB-d}`fyzrBa2OHNq- zTIXP-`6b6mLE&F*9o2t}KDZio>G{?9(T`hrqNldT*#`(+F?h(2ja_*j!c#ODJ-=CC7_dOj2 zcU$YC6jqmTtB~9;d@r!g3ZkTc5hAI5VVz3i@7$Zq3Wp4?d6qHc6(MNGyiWj zT2L%tv>-cr=X{qk!32x+3#xNJuHMC9bfu%W?!o(=QAZw}I1^a$fa}A&D?jxl{z!e; zeyIJ_HakD1YKPhrZH{jk&n1;hS@{3@A-9MBi>1KH^S8zPl(zlNOmK)dj@Of2BK*oX z=&~GzilXp@O{F^nR9(Xa{a}` z+ZwMwv}#{)a?M|8?-Z8XdT)QHisF7A`4tPLt~ozFHEG|ml%}AEpLy(>?A_CrU%HJ2 zTr2oa{?3`P<>ZaJSq2}YqMmX-i<0`i;`Iq`*%j?36CQ0@cl^_ijvtwPZg!9IFYr3O ucZqeMc74J3+x>IRIG@EmsS5jPztnvH=eg2Hs~8v<7(8A5T-G@yGywpglHrU1 diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0012.png b/pkgs/plymouth-spinner-monochrome/src/animation-0012.png deleted file mode 100644 index cdefdc78205460aac77e50eed3ac35b2f2c15456..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1619 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 o_p-lCe!la@s&1M3hyNLmziGP}ai>aqyPW_ diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0014.png b/pkgs/plymouth-spinner-monochrome/src/animation-0014.png deleted file mode 100644 index a0199041fce991f918eac5776b9baf7a1cf10287..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1618 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 diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0016.png b/pkgs/plymouth-spinner-monochrome/src/animation-0016.png deleted file mode 100644 index f72a577c023379bf99ea2b7fb77fba843bc9e37c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1605 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|SG7iEBiOTV_rwgMLPSZmND(W^Qg`vVL(LDuaQ66$BZYW$$SMIhF$?=T?-Mo62Blc3vtsmVtpm5G3ZDn44OZ$N-`A z3=E9_T(AgcU|kds=>U}$7fH%&sDfq~_&r;B4q1ZV4X@BA27 zfmYk*#t%Fi5e@-jVG|-68Wc93oW!bg#y=#}B?XP>*^UkJiUORd6WZk2cD!bPFzVY@-_U*q%w%snB{la^B zp~$)23$s;!f4_A(Z)3!nXPNsCT?5_7HZVs81;&lA?3k1ftP_d#QaybbHS+0V=+ z^Bb9)EL1uc3oMA9_~PlzXXV=!+$=jU3%pxUEjHt+@_~7hEfpMh81^^IAGA}cH(sam z)M}Gq!vt$4V>@=0S|%F?u?L)VZ)W6A)!Ax~OM~TkCk0!Ue zloL|VG3{NsnYF4!Z)bMymCAp?A3DpM3tdfC$!$HMa-TJA)sAT%>GcfWYtL=vlWm=T zd6mZuF55GA65`mWuXtrMbF<#fJ|)HlrpBIitX3P=v>(`=P|1H_{()70jC;dQRVVG{ zd1sj5P|w)BsdaiIXUx>#eVKcT*#k2En0#o6jP^TvJE!tLt37jdwY2)xV57@n5+||` zIQSgNdU2Ucazpz4r*{&C)=kd3 zPJiy(_S@#h(?2^}KJQDo%%HRISlav(yie3~V!wadsgt?Zm6&Gy~J`y)` z@1!@EyQYeJ^6C3_R{gxB)&6Q(R!s6Q?hbw73;RRweY}@(U7maKhqucX9tk@fov$hu zJfWHA?u>N**x9$c-Zxy`uxlqfTS=c*sP*>SjX@h;W=OkL2mSjpb8pJaEzi!L-?T+w z!qfbm=*agC28MrswM<#^MDNVC4B5RlX$yAfadtLZoPY65^K(qb$*(UnT30{sIX&+- z|FcQi4;IEX8u2;0<+ur)yPo>#rTgjprqCCicQ5q^rTW=NEdO8mt@g6ymDm(34}&me z(ayE*2e=)Io~upkl7DihLUgm{&eZ7_x+h)IcWQYT;^`)7Xu}`JGS$Iaqka9)NngD) zVsl!jT6(4Sgq^&>e9ET!R$$%cI_93!%j$$q?wu2QFsso|ZBrJ{Ii5vzk1e%yH!ofE zw^aZ4gx_=a^XfH!y6E z^)fK`ZL|Ky?RQm`8Rjm3a&wAD?Q|B#h2K-y=On&c{!6KXHR9XXGl5sN|Ju6QzjbzF zP&~cD^~COTmMud2ndh;8yPbY#Q;w2btZM!IkJ;z?d%l=5UGQ?17k1EGUVB2dT6hna zpK?leNB(~8gnq8yb(-^j$T2S2B57*l%99}eM}BARx7(i>e+Yak{20-nqRn9J@AA61 zcj~h18|7D2cc$EDs{Y5jqTFlJ>zJ=fmnxMdE*2Kt`BV0S?X&GRJ%;*(2u{v7Yxj55 zF~~D_{?%VuHScp@cFb&hEyE)xC%o9f9w(On*ZaUU8HW9T{~0F`*Fct$Bsqkcg^wdTzR_gPwF53 Xvc=QH?lCEXictnnS3j3^P66giQ diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0017.png b/pkgs/plymouth-spinner-monochrome/src/animation-0017.png deleted file mode 100644 index 02926e7137b875d477182dacbf0a3f457bd34ac1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1581 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|SG7iEBiOTV_rwgMLPSZmND(W^Qg`vVL(LDuaQ66$BZY%k18?je&uI10?5Gl$e{!U}(NWHuf|F1A`z)%sDYPwJ4DR zLg^V882`Co5zN5AAPSNUPEO5BWk}4+%uOuG%+FIWHb^TdR^Wf!#K6EH3{nu3nwOGV zgs@Z3z|1q`cL@UngAhpCxiUE?wOAoIF}ENmwV1)s$f9nVgf;^M%TZ4k$B+ol-s`9P z!(0VeKg?vDuc5Wbt-$rrq3c2BZn3*Q+LtX<%QFdF%pIAisRR5gP{aRMjqM*>k>Vw7yPd?cBAWUJRdvkL`?^c&Oo;tpDDktiGxCLHYTCH~B zL50Ewulc+o|3f~Mf4Fc+p7Z*r<4h&S6P~<%kX2y#Lr->R?Ec97fJt}WIPeDVeBjS^ zp1pL{q0I;L8y{S&uof(Qe$aub`^uLEpU_;#f;-FzcEzwaz_W6G9UF;zB9 z`MWOGX5ZZ<=)v=`RPl$=+#k(JYV5~leP>?ee6#L&oyDUU>mR&4P+NX0G~0jrEzajE z%cP$@t@+@!t7^^EblVpdqP_}Ielpk6`sQ=2(~a5ip1Jwh#+Hy;rGij>mUEuR&TP28 z)3|ZToWE{9AI0j@*%l=%apEkvpyjhUWy=KNgLj|rxct;}V#fh}Hl|%n&aZn^O5O&2 zNIZ9U0>iCrvu>xaOy}SJHO;=ti%6SL9OC{!hj%S$^P|1CX(f_LDW&yiN6Yeh1V0DtIsFAs5 zH+A=CN8Wp-KiBwgN_)K7L9mPIAFG+V`pv^04I6UIq7SM*e5YEtI$X5!@yd+HVU@qbnu9$D=YL((+aQTs=0D&F~hoZ37>U2-?QGC$|E&X_a?_Py%2k* z_Syd?X8v${EiKUgwq@C(A74avaD^xARWo4Ax74{H(N?g@#qH@sWe4W72cI8!v+YFf z`S6tqum8@I=G5V1%|5!=IP(3Mby9Qqt~yR$d9LcB=ChauZ&z)<7Fn|Q`7r^#a}p*S zs`tw-zW9$#+Wr0Kx;fi z=)Ip}uKX)W%S*_^v2M+exE`0|qE|Z0im#Y1zO=XGv)s*_EanCIEbG}1?_bMMxx}9L z%=HcH8^0U8~KobZjZd!}(+IwyWC zXsJH<#rOI5=0_5#o(%)tJI?& zwDsG+_@I^fr`a1Hync|nSIk-{<3XOu?zJv8ckjg4#~AFF=Pc7KcrMQTd6Ql2=KmKz zv&}M>ad_(^r(gc3=tJIv^x2I%E3chC_PN&b!-`tjKkqK`-LF^`WgwSh_nkN5U4f=2 zN0pX^bjA7aiyvkF$UOAp=AS z$;z~JfX=d#Wzp$P!? CGszkN diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0018.png b/pkgs/plymouth-spinner-monochrome/src/animation-0018.png deleted file mode 100644 index 667cd7d4ad375878eb731326ad70a12f5536d389..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1582 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|SG7iEBiOTV_rwgMLPSZmND(W^Qg`vVL(LDuaQ66$BYt^suZ~XJBC90Li%(CFZ6w7+Pp7a)@GJU=Rd}IVa|(79}!3 zC_MuM<3ATHf*BYXL_w0l$*Fm%42gM}xrrs2`FRS)25AMw3jB|o7#J9YK?;IW^HNfa z5O(Srn0bc$E@5C`5CTa%S0?AA7ApiN<`(3n7Bd(cS=3FF&}Lv@Ip*o&7!tub^_q8n zjH>|agBvr-4=D>waS?Dd;}9&gH6*XaBvGbx>QIy2`PM>@%if+ z$?rGZ+9sV_`|8!Js?xjGo40P=TAEc~|6fFD`l{De&o;~2-oELdo4)(zvR|bC?B_WK2N>I4*55%_3H}CtE;V# z^PiiqAiuZir^B3iUJu@G*nCj<;LHP2N_&kz`4#B@(A*(<$A@u}RS<`4)X|$h3l4sC zSm55=-N?Y};__&LGo&A;V>czH8Nmu_ZSDMGSCCZ4&Mr?)5 z3o%CfZ#QOUScqHHE6e`Ts?oRO^*NII)q>sK<1}-7wCVGD_Ba2zwp`o$S*_8!v9__) zC%vTmPf@|qT?du>nbtO^x=qn&)MUASik+#^Lg>J~;zkyg^!o{3Z$38Y&Mp0}%6z>^ zU-p;D|We+EB~;oP`pqVJK=grt;igxR)wBK!W zmrV`UmVNivRpzS1A?1T}bw4Uje8KX|=7(a!0%<1Y>tBL|p4J};eY#+3(AQ07FHe+Y z-_Lz-baY|MO187VZhZQjxnQzT!Q7)qPo&>C?9m|bDdTBRsP2m0`>#)Pm17T2*Ri&D zzF)e-sYdjt)4J(8=U$5JG2Lah)&7^@7U$=2tkaJiV_%Y9Fk|w}l;^4s_E-k2Ik%(F zc=gW6a}FXW7>~UZVBfN$kU3ax+VTUZuj#R0ez2?Q;-iB2t9<20Qct%}a96MQDUo@n z+MyVGrLuCh-tz|==4@RMbx!|XmGkFq^-Y&ad`F&Sf^Q#5FuSTvf=`#Mf?m)EaG%bovsN5!lSmOo@l?#<8D`s|`t6t*>=TyBulWSDySo@I&6CpS$>ksvmP{1pHi8)%;}po`db3?kCj0sR;d<{9x~vI+o}AUDpZE zSe?)GFz~&!jNd=~my;@gT2$B{{A;ncJG*D%fjJiwEz|3G?6`flI{wyAIklhLj$UP-B;5MFIBC;geVuPCc5jm7!tcFskjYU=sEsL?;j1e9%fEfw z*XG5qq)S%D+OmdKI;Vst E06%ufMgRZ+ diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0019.png b/pkgs/plymouth-spinner-monochrome/src/animation-0019.png deleted file mode 100644 index 760868a01e3f03eed0b521bad6279d4a38bd5965..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1578 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|SG7iEBiOTV_rwgMLPSZmND(W^Qg`vVL(LDuaQ66$BYt{$`%Pk%57M10?5Gl$e{!U}zb?wBQT_1A`z)%sDYPwJ4DR zLg^V882`Co5zN5AAPSNUPEO5BWk}4+%uOuG%+FIWHb^TdR^Wf!#K6EH3{nu3nwOGV zgs@Z3z}znQ^dkla1|g8Nb7gW)YOz9aVs1fBYB7VMkwx7!32g=jmP4K{jv*18bFZK7 z4{;S?`!G}N{sZGh6I&gV9v!-VXovZ~r+KcA4jt*3B_WccsHE{p;<)7g_^*Fwy-I89 zRR8&Gj#cTs(C^>o{{8#+@7~9cAKSXD2MRm(N3HEk`~QD} zylvA>MaJ)wBAUdT(woGYUoU5BwXpxR@`2-r^aV3!XCC-9(e1^BN$I;A)Q&UD+DY4p zzld3+&djRuY`#O%ufwUeX%FjL;`!_D&-EygepI8R`&j(UirHT@Ha+nu`m`qbx>H;y zPq^_x?KeV~TRV5Wlam+kGzgXnYdpu={<|^IyGq|6>bbA_vHOhH*{sUP7a#n5ur=Z8 zlZnSSM)Y%@k(S&o)EmQiOsC@Hyxj{L%CgT3e%P4L)aRX;BeJxEJ@Zvmk?gsjewNuL znyk#7r7tgeo(L#Nuhur`eN^&fdh=$+po+U-&zd0askK-PX&jh~C)eG)7d4JritskWuTEfJmnsI#6AJGf1 zqaOX9WbRN>z4PhuyegM%_N+oP#V(!DFuU`&V($7q88JP2o5H5O`xs|5wR+wAqlI_c z*=BSLI4fTK_*-v>X|EMrI zCHbChyWZPVy~*=+9Cz)Ry|mBLifPHgd!1heFBDm6zF3od*~QrYWckiu+w$psYXm;+ zXnFXWY1R_Q+$pP8^Tx#rm#?=I{(kL?N=3VZzRunIE6=Z3!WbEn_u;Oo^c9A?>(5nP zw9M95dE$36^^e|mcPpJ!Y*MTLY;+7~{&lxBH~pT))0>}n>=pIM;nG`>{9?6DlG*GP zo@JJcZ%w&=Ebi&Mi%zuys0pS>FjHk&%Pgm4!jJ@+wQlm z!}gJMb^dPt=I_k1($(_zpZHH#-PpeC#kDI56$N&;&NI0d?3=?9-*P`sapTM8{@)Bg zRVvJ9$lGqpjNz_(XRYul&1UvG>r+c7`zJrvnf+w(3GpWFoBQS7v3m*UeZP5NUeZnP zRT-OO7#yXp9UKLD*gJJ`*~n-j(OAiX8Gpbdq4V0-SxPWG%5S{&i8JX>{~=0 znf*=+X_=kBmZNj;!#yd-_Gc6yzsNf)IqcpnhShlwR$QKOed=LTgZhVj^7UEH^O8fB zxywFG)5-qoynLN>f%$=T`(6wFY59G%;^}{;`_u9(E4t3DWME)m@O1TaS?83{1OSYN B)q?;4 diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0020.png b/pkgs/plymouth-spinner-monochrome/src/animation-0020.png deleted file mode 100644 index d228ed84fbddcab44ada03bb79b5c3d842e58a24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1558 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|SG7iEBiOTV_rwgMLPSZmND(W^Qg`vVL(rf8^ z1A_oaO-N>LDuaQ66$BX>to&4Rje&uI10?5Gl$Z-LfH!3JY6b=dL6DepVs2_tA_Iid zGcYjzbHO5*fq_93BpIBXnwQFun3tKGSdy8ar(kT5R#2?K|G0^Pfk7CgASg92CAA1) zr=EeiUGV8g3=9lHAZh2yN``H_PM4|1l&u3GbZ=J~QGIqCLW=e|vweX6~ukoDT;g|@5euBG11 zDK9H8|9&$x-}Z9hr&E4s+ph6$+q>=j!pS~N&;9gk%IoXv&0p_t-rv;jnX#U6)BOdf zjz(VVk8|v;GGb(@HLFmv5MJ?P<$=4NY$sGItanJ?@f7gP6-kY^GHYZz&ODX#ONqh^ zmWDMh|6)EAFwRXWdHnssH0@RQ-4Q^& zvg{r|vH9%X_b>iC(Pp^MF-mTQNZ}uUg$-F-znw5Oxyz{>9 z5c_?xF>+$qR-y8~5ay^J`^^Pqz8(P=bnRv{yz^4oFn!TF)oFey)gH_5@Xl({5`A&L zA=tUSsw>8Q!V(Jummjg|NmbLN0#Y z=bE&}8kL2%&C~qeR3EkA6rZtq^3D6t=PXA<&T}vQ6F+Nq`}JFuY1+lT#R;-kCkF4mRLW*yaqgu~ zcDl-qhN)-EF3+mJdfqsJf&YC`;F`wQCZDEitq$H}bZ6hLuK{B3EZ+QdIJ#>=6|?8R z1?d{$?Vop@+uppmM>nD3@&Cjecn}fVp{vN zwK{XB?pRfL{lV!EbNKCfw#gdR8UHZ(aJpTOZT``ZPgM-#oDT)9p5~JCM`N%29`O~k z?9cC9G-t1nM@mVhN`kTA;qoT7<)0dAgywiR=pV{ApU5K4@Gx#CKhxFQxwU(oB}T8{deT7v;25WCa`O-U_-*f(+}^ntS%IdzEjF*Z`*U5 zJBN*BzfjF>#d(iB9=%|FBjqo?t82cL89yZEb0g7b!tvB9-& zAJgef&83O~Zy!&1mCq8-X3tj5w%)K{$%Tt%+$P#>3iX#bz4%XLAH03=r-Qpnam9xh z=W6epH@|P5-@JS7k6(Q`EO|zYnePUa#rm~Pb77f!=5%A`_sof$Z(2X|Yun7wK38|) z&F0s=d>d9VxgRfGzN>(>MfTGztMJ*m@|(|I_}Q${XI-+wwrI!O1?gJv_t_P0di8q! bpZJM-m36;7gMKkEFfe$!`njxgN@xNA6YRc( diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0021.png b/pkgs/plymouth-spinner-monochrome/src/animation-0021.png deleted file mode 100644 index e7bd0f5ca29b11e6f3f14f5b14ffbfc53dc2c6f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1545 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|SG7iEBiOTV_rwgMLPSZmND(W^Qg`vVL(rf8^ z1A_oaO-N>LDuaQ66$BX>-uvp}z`(%30g`hoO3Y1VFfyzPUTw?3z#s?`b56`nElOm7 zP-Dq! zp{@d~A7&PYu=KL@#7}e)a|;xA6W8GJO2=>z(5G^T`rg zmg`sVTD{sY^!wiTd+*-8dw1^Q#fxQ~)|agNW^=CY+0S!@udIKcwVNwnJjdE`zU<8< zuRlk9@p+$SaqI5w+tQ*Xe=Dv(`@H4nx!y^$6E>$hr_8gqvANUD`{ZdteTKEQeu~SZ zx&jHO{@Dk96@OXYpKwpXK}fkuZ^E63-+?7644j|xKPc>&erU~l*(K*UJ+bs$aI&|t zg=s#&9DB}GY1PoL-raRGJ|-3@8uTA|`(U1O)}0&bM=blqX0FYPSvAdtsj1`CO^zut zNt5~>pXu+;$7gKxZjVm0UU*4)>wos-W#W8D^c zpsdk%dt1n4>uKT4S1&iNxA+ss`HwSC?dRN{&xQH#9K@$7Cu|d1Tgs!A_2{e5bZ+gL zdV56oh$$S<^Zfo~{e$HbDsJfY@Lf6aNPyAvSlGcQzg6~eoDnq$kF@%crzRli!BZ`A z_@AZ!QOEgRwkKyBbgO@{SoO#A*ztplH%~G@_NZ9<_dgz$cDe4pm>7?~m%*xFHe~#KYLmKui0FY(gF&qfq#>xaQ{gZSaEQ1kkK`d++W-FZ>^jw_c7|wNstyssU48TC*9Tv|G}ko}C;H=CKY+rG|J zsr7tNdZ)Zuui^KG`|7!SnTuTuBdiV8A6<6&TyZPTQ0dmaYpN=E%lTtv6Pp- z-tyJ(+WOAj$M$aud2#d#Uqlg4PX6JGMaQHj%uASak55niM7?A_+xM*{ej$5P9&Ikm zof&*!=>q>oamk4{v@0bZ3-O)xs=J%=L*s|ehJ)1)vOf40m{%;D5^&sNpIl6&S;y^f z+NXq#QeqBmI@xpmsk-CMr2l<8OOofydly{sS680fSBHuUk z3U=PT6shy#)Yb_zRNS>Ke@{PXb_jCMn8GgjzSaI0Uq|1OXS*FXoQdV#$7OI& z?BJg_zf6DVe#ma$@iw33J?pA<8Ky!mh4VNVnWKn+Kf?bBs zU!Jk!jXCh|-0OXt-B`B>3)RWTHK~2X5X5A-7Hn!A!#$g;<40h zy}FYw_a#d2%ro9EF!9Pog@;S8F8)|n{Icf%ecvGQLSH9!U#r*ZRtEYx<;mM#I(~PP zec$xe-~F*fXH!S*)#EO9ec>A3>epIRgL7w}ENgiC^Va6~nVs$%YX0zFy4<>2>axd0 Q1_lNOPgg&ebxsLQ0Qh6R-T(jq diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0022.png b/pkgs/plymouth-spinner-monochrome/src/animation-0022.png deleted file mode 100644 index 4c7728223e991497f28174a8789626155cb762be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1541 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|SG7iEBiOTV_rwgMLPSZmND(W^Qg`vVL(rf8^ z1A_oaO-N>LDuaQ66$BX>x&IOU#lXP80g`hoO3Y1VFfw`^^{btMfk6-?=A4+DT9n8D zq4W$4jQ?D)2xeel5CusFC#UA6G9>0@<|dY8=I1FG8>AH!EAT&VVqjnp1}O+i%}Yrw zLfENiVCEU}yM%#(K?o%6T$!AcTC5P9m|KvOTFhW*WKlOwLYsksWv-`-V@L#N?e*yV zSW^Mk2PzKSsvKNQox1}xotTa&|M@TekC9)2(MfAnfPRaUexu5o^T%HwvGkP8Gj(*tIYO$tgN<^@!zZrAFKMSF-gDK z+1ZoX=iXmq^}jlF&qnd{m(Ai1_JrM+kdU_Q*e7CYXJKpGd(-)mq)OpNV zxAo_fAa)jCx3ii~eT$FXI;|D+VaM&h6Tu{n1>J88DH^zDzmiKkUt8YbFv)P*Gik@&c^1=tBqyDHn*L5FYx?)a4ZlhhQkgyWh}llL|BL;# z!sOeWb>1l~|1CSDR{kqu$H&@u3$8==X2jl-E_c}C`ZL9@YWBfDyPv)J8lvuDZN$cK+w0`^Me%O7 zn}zKA>cnleB65?Wh5p3Ol-*LDe((4MQ@Q!CZ+!Nakk??+nfT(^J+F=0^4BL_>@7QT zs7&kK?7)22t+%SAYcH8T7Sa;A$m_W};z!*T?kDxB*D}nXMtzREq8+IoB|Ss`$%KuY zPey#W*t7oF_rKeI2VQ%9j{A=h2B(*No?Q(|3D+x6Co z3U$Q_wR)vIJMmv-)xNJCFB;D8+Ww?MX@V?^(25x~Hx4E})%=yqkjHkWkhgQbRr2+H zKi{3XezAX%o?!yZlh3uAM4Ngi|*auy(pu+ag8`{k>0zrD~#FQ zN`(}-??iw6{bH{+=M)ZUp?H;vdF4|7wF2)f-Q@k`2S*h99`_IKf2=RY2h~>}*`O!W zcwmZra(zeMWb2K|jF!=*Z#L!jTOav#{9^UR_~*9K@|RD$KQKD0x1(VD;`y%eop%1m zjOTcYcPlym*p*;x&t4O==ZCmT#Ozq{8#?t-li$19_wSS4dU`dBMnf6ThHbAG$!jb> zw^w2+`<=yOMOM=l^$VF_x3DzvL>~W>as8O= z`zCJt?N39lNqya39Gza4BzrwQx?uZ(ygkX;v$VtFYo`8Zkefd*X76(r2L=WP22WQ% Jmvv4FO#qPht=a$p diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0023.png b/pkgs/plymouth-spinner-monochrome/src/animation-0023.png deleted file mode 100644 index 8e77aa140cd3f80f32987569cc3938742b68961a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1481 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|SG7iEBiOTV_rwgMLPSZmND(W^Qg`vVL(rf8^ z1A_oaO-N>LDuaQ66$BX>8~j$yVPIh30Li%(CFZ6w7#UBAJtfG%z#s?`b56`nElOm7 zP8)LHPo<9QmDw)en0-eo`1c0Rb&dPjq89(k|J=EH{=Q3g z)w##B74|0Vu6n#~-MTHD^14CXH}wv&ySuxGvu=o6S!NMj|CviFnD_MS+IoVSGo%E$v^K}WO zx0cM!dC9VK_6D7~j@y*~`$_LU7nAn-^PJ+Bd*TX(Z`m4rG(WsWeaH7TXFEbF-!>Rd zTEp_r|7YGL3%!aQWx>}I8B*s5Kj35BkiK1d(#6K=M90hH>_+oDy?2DpadIMfqOb za?B~#U8w$W`NLx-o}cD_i2Sx^6Thrz%R)E4ZAN?OHC04we zSey1}-d@|!8L>SpSaOGwgTo z(`V&d&%1|<|2p!*Y5mK@FTx)yR4%kGezxS^#HU&Jef!oQ+5YRL;^9~45;@G4M1=RL zpF3E=C38%m{ozlYoUZ>pZ`(sQOU}4qR-S&I<<_fHS^hs(7YHlZ?pyb;?%ZGPPYJb_ zHs^lb{;+sMiXD%=htPf1iY=QOHs&8#yW{e3Z%c>t1*couFC$@ z;+t~=GaJJ^|IdHIkZjDby5cscPlKIa=j{n)wt>EkCq(b;+IM!H#%G`3)(sA48(!~y zF>j(^gM_c{&PiLp|G0O2>q(D{w@$)m;)L(Nn)_PnL*@4#@r!4|nA*~oo@-jYb83{J zW$Ar}>#usk^d(($3*1sSGt13<{xG)aLbzuUPmXpjE9<+eUyXGFY%89wog>>f{fb9P zOr!IpmIap!;^mUO|0Km%`1;bUzL~CGJbebDL>;u?5n?j zg^uSx+@J2Szd`5%<6P0#xg8~sTz?$@aPuC^v%9_9R66yAew5xgcH1K~;;YtD=4lSv z{Z>L#zho91`)hni#yFu-LhY}NW;FXfx9H!(FB;VD@|EoH5B|vzUyzU&-`JQm`|y`a zz9ah{|6XyGdGYS#U#IL-d24v$zUWGEZV=h=Yl_wr diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0024.png b/pkgs/plymouth-spinner-monochrome/src/animation-0024.png deleted file mode 100644 index ed52d3d40d594dc4ff4c0f9b796b3d0243a9aa81..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1492 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|SG7iEBiOTV_rwgMLPSZmND(W^Qg`vVL(rf8^ z1A_oaO-N>LDuaQ66$BZXted~#JOcv*2T0DXC^0vc!N`QmGJX>S1A`z)%sDYPwJ4DR zLg^V882`Co5zN5AAPSNUPEO5BWk}4+%uOuG%+FIWHb^TdR^Wf!#K6EH3{nu3nwOGV zgs@Z3z|1q`cL@UngAhpCxiUE?wOAoIF}ENmwV1)s$f9nVgf;^MOOB_DV@L#N>-5`s z!j3#`<(Iz*9Fk-a64xy_%KHAlOf3^1lZr@ThUUU8nZp0hTmN5Y9D86=xy`oY``>=d zyR|L%cG~8fCIXvITD|`~>+glfvmf6u|D7uT+PQtR=!u&XZBweZc~0APbyKGLWY3U< z>hi3LzL#seC-EA{ND8eiwX&GFE<5tFf^*z@)qIZ=3=;p9@9$}$!8r895tq09U-$LDw_t&>YQ(80(d+vt0v z?C6d6>#x6F$$gknvX5oYL58c!#l4x28(nx)-0)dvPUWX(!5uSc5DyV z8~eR*sN&n<{o>ln%hrsE<9s*OdcYa@(+z!1+TTG|EhAXYdclT`#02p`;xoOEg=`l-{CarO?VPpX&w}?qCNnhr6PUVH<;{^qY` zCGwv8!Q5-brMjyYB)!}a%p<>E{n4GOFVBK9UatC2egw&cFWIW5rMN-Zq3!QwZ+8!- zqNm&^xsM)K=UAi5Aku1=(Q5g}TuI>hPB)30|4vx06n-nd%I1LZxd{#JD|l3H?ibxJ z{(XHW*i|+eZv@Qe~4i85)JSC)LfkvD+wRyNp9hPTb70 zcQu{!s?FK7S>hI4KXC7Hh}xXS6pQ(t`JIvmi*`Ic!?f{-G=syt-|at6F{cN-WV&&Z zBm2jOge?cPtyZWUie)}`rf8^ z1A_oaO-N>LDuaQ66$BZX-ki}8$-uzC0g`hoO3Y1VFfy&R%U5AwU=Rd}IVa|(79}!3 zC_MuM<3ATHf*BYXL_w0l$*Fm%42gM}xrrs2`FRS)25AMw3jB|o7#J9YK?;IW^HNfa z5O(SrnA-)Pe#F4QAOw@1eLI>}h>{E#DqIc<^A- z-Z*`Q6wkT8_m$ay`SH!>SK0n|i}#gStafcc=FjzKg9QK zVhHD%d&2txAEzDr(N34mDSi!8V;GEktsg#qVqw&u{Y6^o`c|ebNhTfv-w(S7ShdeM z_ST@9%aSWxab{Rh&S%&7ohP>^&#>Njedg6#&CipMlyEaXGuaW&a_GkExD?xHz3C#` zoI@S1_pI7=>U5CR@(G~=;av%f-bHG5DP5S~dY*a5yWWCW^TmCK+gO4g?qfgB#-QA; ze|Undwcvq`^IP)EZJsy_otx70p@PM5+uW|j`iq2F9u(CufE5GLDpU zUtE85DwsDWdna*Q`OC~Tsw;B5*RLGM+STPKaYUG@CaW|^=*tO)khKp^CjTk3Jude3 zexlPd4)wsx2j$rgtgiLw%pW9(>`l#5SqPb{fW;_J(86>FHHEk{M%xUM3v;2(uxW`r3W(# zIS<@Acr)90#aagA$cTWVbv-Xx3le2Qk0{M~E&As5rKAm|zcnUAH2(asVY+_LN^gr} zU)A~Q{FL)vB&yi?m`{@3$T!p5SI5_gQ(~rOwWau1MJe-1<-d(>)S2R!pZK&j*jnJm z-fu_l@c;hvV$RD=?92OR-LPsBTGr1#|K88}K27smW*W=L!`bCi*WJ12?hA|S3)??A?MN_)cZ=g(yo^In>cE=mebEzMbp48} zOlPXdOlZ|$dsY49r<{H5Zu?DDNmDL52bZ-Nc3$e+Yn08t$8){BUDI1;v*Y!*wwAVT UbYhBUU|?YIboFyt=akR{0E+u@761SM diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0026.png b/pkgs/plymouth-spinner-monochrome/src/animation-0026.png deleted file mode 100644 index 1bfd5dcaa6cfebe4fa8fbe8a4c53a2650e039182..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1427 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|SG7iEBiOTV_rwgMLPSZmND(W^Qg`vVL(rf8^ z1A_oaO-N>LDuaQ66$BZXIZV9xn1O+T10?5Gl$e{!U}W~h+-@EN1A`z)%sDYPwJ4DR zLg^V882`Co5zN5AAPSNUPEO5BWk}4+%uOuG%+FIWHb^TdR^Wf!#K6EH3{nu3nwOGV zgs@Z3z}znQ^dkla1|g8Nb7gW)YOz9aVs1fBYB7VMkwx7!32g=j7Hv-#$B+ol+G#h7 zgdKTYlZ6!=Zj@{N|DSGifH_gU<;XL+o&N5UJ|U{xqh3$lm40mX)vVGDck}oaQatDW z-dAS-<;ORhUuFB>E#6mRvD)EX-y6lZ<~KiF?z@vYKkn`>Yo%zPo$tSfx=%WrwwY^s z=9}ef>f=8)o-lOyQ_XVN;4x27qQUPQ7Unn7$};%)%$Q1#?!O$zAXcu*Ao(kPkvke_19Z@oA>(JewekiJTtMed{w^k$H;S`WB{%52 z+4tL=p(OjcSy}auyvdV2D{P8qoz(m=SNo`Q`JwW|(;sgBapv3G zx@XinU;N4ap}~{&?fhZ?w>FU=+#wQo{?Gt&t{B^tj^u7h%8z)V-t>LcUu}P_A$JaQe zZvq|rTh3P>XM4<$_`2+gfN(<5z2;R@YZ(oey>pl%@O<-|c|P`+FV>Xss5n%bG-Tat zH*Bq1wpi@QoI?ziUqyJ-i*z~##UziUX})J}jJ|PhBBMe_NBFT@Ptq+JzkJTV?w;>h z>g}MMs2{Od-ZbpqN+v^zEVdcbh7^wid@LdkmK8C2}SFXk|=v+%u=b_@0NDc*LB_RW)m7wp?By zvHr)RD$)MW3x4!3e9yi9{B*|1eT#SRjlCV}aAEKI;uJOS#ASx+yf-S@nV8xyKb(;& z#Q8%`q+?~S)9YF9Ip-Rg&WNyfU-tR_;xN-dhDB5Mx!y2mZMxs$AM`+jHGPio!q+z> zeor=7U$RTJ@7>hQN#;*fE{I;Wxc0hR<);Lzyh^T0gXcG$8kv7$_6@%-9u$9e=Hu6% z&PIka(I2ZN1SVfP@TdIMS+y6jKSFQ#aVlw6KkX>Z)V%Ta#NUa>-u?YGt4f$*tFFNO zEgeeh?{>%^ntw>dlp#LHz$&byFFd-|a`AG(H%}h)pSWK4?WXwBXIDS3Ju^$N_;-A} zr1eRbMLGgsUdUKieVb!?{Lt|?R~}7VAIRu%Sa!jNPZ2L41paWHVXxY>A>)4Vjqe;) zY6q7-yR)6qAUlA2QCw(@SXqCt+CeAv7`p>MYMA*JE4-Q2{qk~&W8#TLC!TD7cp_X{ zcDmIUW{#T{#mg8qIu6Y(I8?ca0f@$&rd?qU8tMpYTp vWfOfCZAo5#<`(z8CD-}oyWeW(^zAphU7j3O!hVT?fq}u()z4*}Q$iB}B}jTQ diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0027.png b/pkgs/plymouth-spinner-monochrome/src/animation-0027.png deleted file mode 100644 index 6f4d83b64257460a12311fe7c4b1c31a2b34ee64..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1407 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|SG7iEBiOTV_rwgMLPSZmND(W^Qg`vVL(rf8^ z1A_oaO-N>LDuaQ66$BZXn@@XK%D}+D0g`hoO3Y1VFfyNPz{kPBz#s?`b56`nElOm7 zP|L>MP=dl^0wbT`>^1K!;49FZ}qBW z>XNEuldEI;FUH$7l`i=1kaObm|G9$CEvuFn*VXQp>&P?ynkT*5-_!7M@5SY7ulT=X zD6C?Ad|(dO95<24*Z2LctKV~2$ED$vT)*G^$-FmYcB*kj`ozw@aW~Ih$n;_Nl^c=n zlK)kT{23~|oYZ#lyRScaPW0gN`WyyX9awzAAGDF=fc_la=nOTC&P5SwgDyo?ERXn{CfOwLME0`X-;Z`6A$&Aa%>) zRa@h>oE6WD0?M}(+4atEs}1S0J9fR{Sd2%!&Mc>^21PSh#msKMQOoefnzebtk?V<1 zX5~HJ;5e6a50@_gg69qI-=y7mwubk^ErwGX-&7cVcBygIbH2~LwQSyXgL(Yd>W#TB zLvk;Bv(-CxJIK;PC9HVm zMU|s=OEr#WMa|wiqqy#q!l$fH9u9X7v)S|ndL3#0ut)w+a|LUD#;YS<%q%VPwKq)4 z-g;zR7nm4R%Qz=~l?CGkbD_;#e_U>DF`aSNM%l5}hCi?ISwq8XEw&S9ZH0>p@_y|w zH`jDqG6>#!b(e79;+L`wzN{h6q78v( zN=s#0XO%{Y+?<_UeNC7>;=3(;!<8r-(#lo#m(%Pes!O$)(7WH?WT{D zFGLr=Qk2Q4??2pOePsDe_AmQWiW^mDeE%Ofqx0#CtrK^?t&%@3eERxpaY5}x7gjgS zd9UX?=fJUBCw|N*`5X3=ZNtl|7bn(gYou0Q`gv#GZnnBPaZE~|T28btJYt|bzu4|I zL!+Xq{Yz1v8>I(VvlNL6IL`e!@z(@4{>wSfE>`&X7B72N&#{hIh~eW4pMUB$nmdoT zbKAPcJ^4~Q!*klkX)av_~A^ua7mHQ_s@pse*K)=e!QtEsj5WH z^_ECy|FRs`+2?CslsnYvnjp`5t{rG<>$*8 z#T>3g8Jj6oe2B0-Q-4VC_^lUtdl^a&AK1$OpTSA^zz2S{@DOH~rb)}^WG~2ESoY{g z*RHj3tQi`W4J|gW&3@fdI~VcECjR;h!_s5&9nHm_r(bS-u&crH*VeV2N1pHeI;Ebm Z%prf8^ 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 Pfq}u()z4*}Q$iB}krf8^ z1A_oaO-N>LDuaQ66$lwx85k&66dE!xFmQn6+=>!&QyGj6MEqC1Vqjnp1c^B(=B5@U zGC(Lj0|Vnf7c7Dq7#KuBlEKNTd8rJEd6~J1C7Jno3dRO$1;q;dkDC}67=%Fzf>QHR zQi~9F>KT~Z1)qMzz`!5`l6J04&Pgp+2u{o`$Vn|`Ff_8LnsSi(!~5+&c`~x6cr3s5=zW;n@7vZ1Og}sr zK77~Nao~uP!k+ZMR&ugjud0pSUn?qSu~K0$Xo!qXxO?HeOjFOH)y1WLw=!QCH=pG= zf5P*R@@w7Kf)zfl^Hod@XX)wdP5r#o-*dj!0p4>fc^n%4v!DC1levDA+RcqzMavi7 zx>b7I`mKiTXZN|2c?0G(^p}MCJ1RbDe(eBiY~Z=<)Y#9xbYnUY(dtmfHeJ=yz?@u}r{K~B95e;VZij`wGa9t>`?U(Myf z!I(Go&C>mX=j24anoAE{dwb&XMCLncXL+AH=?ObXv@G^}Wl(ha^|wVP8%{4~4Efx2 zHSO=qo!l2@>|%brXH5xj^pdBFeRsO{PWJWin0`~pD(pt?WZ9CwMV8agiF0=P-n0C) z_>lw8)f>|Ks`h&stWqO8Y}5vK0y_9(9vT3iL zE?e~W-SVC%G&Qf!J+wZ~WpPy8+UE~5zvon1eiZyP#fC{;$glYCMzNTa|5Y z&toSc7r`}te#{Pz)rqm~`er{YA3SxR9PqfCDPd}@%VWP9@1DB?3L1M(`>DQqdgfu7 zp4<8O7u5$+8jkTE@Be*h=l6-_1vNGOKZ16beYnwmVDpR)o#kzZep|8Vm{Y!YNokcJkK%Z)z|swhOllZ6uNAn*Ig|<>&?VC h`!~PdF-rgE&uMp9rf8^ z1A_oaO-N>LDuaQ66$lwx85oAtJ1%EnVBi4BxfLbmrZN~CCVR}PVPIeo1c^B(=B5@U zGC(Lj0|Vnf7c7Dq7#KuBlEKNTd8rJEd6~J1C7Jno3dRO$1;q;dkDC}67=%Fzf>QHR zQi~9F>KT}MhWsvJU|AHOA8f86}}buZhx(31v1$JJJ{Y>WAR`|Y>TefiRi zDvVWKby@s>YdBeEMzF+4&#GOmx-;=x^xE%H^F_85(nnjEJy+Zqd>)U*AZnf3ms z-uJSq2cCUzIZK(Pn6lHe`o7d(YGHk(_Gd$%^~o2LtV@r@oBOT*X%ocN>hLSFyL0Ey z4e!6QoOv03sOx`*(&MXV9&4^(SW=(8cfuCI4*M*}dzWX<5B6kmn`@i-68unZj};>4nfzyR64qjQPpoyzb(_TpZs58yTi}uNjGM_OS+TWF-PS| zuMW3lvJv=QV;nTcb!tS3m7c{b%E~wjaINx&PNv1jX)P$mE#Gb8OxlYZV zdD{N_A15`LyWf@IU8#Rr*h}-q#qj&g%stEHS33OLpsKd-m6%GKot@8>GglMqMEYvg zJG`Hb zD(Ur!v+hnYbJlsh(Ere?$yJXJe(lcixsbnIL4Rwj`((HN*9AZP_RnjoW>hG#6sY`> zwss%qaZZLu6N5MS)_fM3(-%9JCAT~#S8(ZIw=eCF9nRd3%&90Unk}GHCTDAND(Aqu8?U7%n*6Vrk|+3W zuFdD>x87!1-zHe(E|R`r;2`{TGpFBS<(e)3{#4!Ov97E+b8EWus&Yr^8Rsk(6}C4o zj(p#pv*eC%3%^q5?#%ZU+01SHv-e&*tdMa)c7D)V4mB+42b-t9a=V*+*Bv>mF!#!hh{Owt9e)L42|11AugHyGKW~4O(0|SGn LtDnm{r-UW|%<~xE diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0032.png b/pkgs/plymouth-spinner-monochrome/src/animation-0032.png deleted file mode 100644 index 097916423d6c42f03f07781a8ca380ebc91a6e36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1185 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|SG7iEBiOTV_rwgMLPSZmND(W^Qg`vVL(rf8^ z1A_oaO-N>LDuaQ66$lwx85o@{6Od(KVBi4BxfLbmrZN~C{c=2gjDdkc5G3ZDn44OZ z$N-`A3=E9_T(AgcU|kds=>U}$7fH%&sDfq~i5)5S3)f^+G# z+hw;6cvzH=zy1F|UudVq4CnP3H!C&HB{DwR#ND*zQts_-{kPwKYfRAob!YiGn?Fy~ z`gYEoZu#rB`zF3OJ}LbY_2SC;_rLd_e%e$i@cPoq_p|(RPKM34bye-*6x*V#d|;K_ zH)&swfPKv`+S6~G4^Nmhl~wCy`cD<}IkVLEW&Pb_-NE|7#@C_9WHn3Br+Mk#Uo=d9 zEx#7WTe2~+@b2QwPpTQB9N)GV#XnO`xN$qca!i2L_aMsT?z2 zrvG)0gKE=}ALp0&$F=I8RAiIzY%(^ey|U)9o!s+zoG-&`@A5rqTA>>I-Kwf3?0eOxKE)$pi|-8WnL8)_T6wI#Q^oK6qa{0^HEaKWD00QijpwAWcgO4- z73tDZ_qbV=9sK$wm0cCOJJyy7WqVs}_*Aw0Z`PZW^_v|VSp9qVnoVIywC^}R|81Vb z1`nU&)7H%=YC0$1IrMOL%dhrzA8K#hWGH_t`b2t%0pm#)riRx0sxM|mo0=_}XByrp zR#bVx#B<@3{N0#EbH-k3V!XR^-)V(NKyLwW{Q+YK9Z9CjZ+=dQhQ*CE|&=V}XO{%uwY+*i~P`IhaYmWFG&k`@{UdIg|eyHT&!joAW>I+4gDc8MZfBl@m6v7p!)0Mc+bw= zau-*{p0w1t#Jl5Qqp$E%##A92D=9~nsIRLfN_Ri0^mvyQ^-$z`(%3;OXk;vd$@?2>{2^ B{pA1v diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0033.png b/pkgs/plymouth-spinner-monochrome/src/animation-0033.png deleted file mode 100644 index c9ec0e5e62b10de61c6d8f00e456d2bc8b2fff1e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1111 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|SG7iEBiOTV_rwgMLPSZmND(W^Qg`vVL(rf8^ z1A_oaO-N>LDuaQ66$lwx85r*>ROn`4VBi4BxfLbmrZN~C_qzQKU|?Vn1c^B(=B5@U zGC(Lj0|Vnf7c7Dq7#KuBlEKNTd8rJEd6~J1C7Jno3dRO$1;q;dkDC}67=%Fzf>QHR zQi~9F>KT~Z1)qMzz`!5`l6J04&Pgp+2u{o`$Vn|`Ff_8Lnrna}!`+$0YV~)!Jq2qie;EU6Y$|e7%e1+QQnE^YyAG2}dmcH+4^b`qS>t ze=1j==&DzTe*9D`R>LCq_wlTna`xF3^?c{bSR^)I|1@V_(@c&zOIF9cUR#;5D)8ilVs;#&T?X4UdieczyHR|T{o_r;n4TgVOiv` z=*o?oF}KV&y!+r6%G{(o$^3r$qlVe~AA1U(dDlGtsrl`U@%o%Hh1mx*8_vE+KKpo` z=z))qWq03MsqP?~bCsdhW_88E+Y^30SQFnFdB-4Xv-_U%GvNl@TnqnRQNK~#d}P;_ z^G_c0^PH9x`}a9M_%5S^m4%B}8TSRVo7YY)oyXoer~kUu&78O&9*%t{O%sq7HiozO?uz#EH zJ#PB!6x8>)zBYDO*v4Cjrp8bD-qF6iO{%~5!p(-*g^!)qb+|EgPOnn=F0qPHJS6$D z%lEZqi`1ev#WH_A_3)J9)@&hZi@AlKA4=_aT3UX~Y5y{{tY~AVN_)F_Y8vN{_ksoLMPh&(RopQLvV|kKx*ja$Pm4 e`Gp^^*fXvBRCK$0-A)Du1_n=8KbLh*2~7ZK3FeUi diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0034.png b/pkgs/plymouth-spinner-monochrome/src/animation-0034.png deleted file mode 100644 index 2851ef3b109f69058707a6400a094ee5f2d4c16a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1061 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|SG7iEBiOTV_rwgMLPSZmND(W^Qg`vVL(!&QyGj+gq89>GcYg+g2bE?b5n~F z86cFNfr0U#3l_l)3=E8MFyi|t7yv*FhlFa-(1!IG>f?@^!$4v|j48kAEaj?!MSvL z$doY6AS0e z_k4-!TYpG@vbY^KVeMCA=_f*`+g)!8To9l3-c^ZbQq1g#*KAHpo;*OTeZm{wCdVA*kSVt}^L^{Az$o@jxiUXJXIU~^rRa>0D_6el>wB`~-SOCC@to^E zS}oruZ}?8&)~C2RYfHbrQQBDBb9eUZrmzP-yH2e&E#&6ex0%UFZQ;J`E9v_mMNa?x zPGpJr@@q%##P8q<`0KOA{`5)11Fx+OL>D+Tu$~vQXMQc69+xcSyT2>;$}@T42BVz^ zo@E)YG&DaH)AOQ1*KA`H*WKQ1A%X9KJrACpTVu-K7$ubd`<2u=13$x)t8G<%)qGFv zXw%VOpY&RYDcK<@_FL@vwPw@S$}TtSQ<(Gmeo^y;M{K*+HmrR9vNCc1&jjJGs#8ql zTMZ2a1&hlQ)zuyyII%U@ckRC&PCsNl7;i~l(D|lk&vM}4V+q+4PBA%UZjU}SCOz4( z&iA#go`rwBi(tiG?#qXm|1Wm8<#!S>{+E72R)Q&{_3iWD-5j2xO3yO(D>*d?e{1dM z$k|`DpM$Yz!gJqO?Ln+P300mQlJ4;eb^kanJ_yV4>TJAuy`QsNFQd~^EWGz=@bo>4 zM3v8fef*v=)N6_ANkgtn;$rSsvX18|o_lg7jc4PAqP}TDCr+wGJh`=eN9D|xh_%As Yzopr0Npsed;kCd diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0035.png b/pkgs/plymouth-spinner-monochrome/src/animation-0035.png deleted file mode 100644 index 2bd3b0dcbd17f182023d4d609f1103a8b128c7e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 981 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|SG7iEBiOTV_rwgMLPSZmND(W^Qg`vVL(!&QyGj+Q&i(p85kG@L1NB{xv52o z3=m4sz`*#=1&d$?1_n`(WN>n7UMfRkUS@7$NoIbYg0VqbL9qh=<0b|M24RqbpwzsS z)FOnPdIsip!KWWFFfa&#q@631b5e^Hf)jHKa#D*K42>-6rb%csFfiqMx;TbJaIT%k zU9{Lhz=e0}Z~2>Xwhx!*@-xlhTGjRZ`eoZm1|K)+oPPYZ$~NMMUh%O^VRyNlPaVE7 zNoT&xBnbcDR7s1pU)@-3H^09$w$OfB?M##JlRayWuJZS}e6@&!RqLLORepUvYg0~} z$+iF0T`4<~z04Q$`jlV1Ik(|a#J{9iPHxfbx3<@j0x31n}@$1N>%hUaT^SiH`yZ1{f&q4+U1_n=8KbLh*2~7aKTAo7y diff --git a/pkgs/plymouth-spinner-monochrome/src/animation-0036.png b/pkgs/plymouth-spinner-monochrome/src/animation-0036.png deleted file mode 100644 index fbe48ff5750ff99b6ace4c5c726a018892b8d455..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 989 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|SG7iEBiOTV_rwgMLPSZmND(W^Qg`vVL()-$J&n}jKyVPP^8{KL=(3GC6M!WBy%o^`XrCKWpas`#qa;wKze)bY|9!b+2B{t=;(`JT7B`CKr-n}$!#`IO^tEM+U|5){x>D2;T@eSXEHvTR8Z5?Abi+5RKY~Bf}Gw%iK z_dY$>7`(jhr^uB(k9jK8$}@j`n!8-;-dFPn!3sqNe!aIoJo-}ExhwL?s)LrtnPe@V zKKIwZw3&PJ_c>Pb4)4#r5aR#$M>&V#4nwKF6yvt|KgDG;|0(H}w4S*=dAnJBZc_RS z+qmb}4~_}*>b!E)o-ddE?!fVnb{4ljmfjIKYnnAr%4+$;r|I8sZWlXQz2~0&VX3ko z`@LVhK0ML<^;g3;&-l7yUFJt+|M|?Mf7QNF_dx+W&wHh(6>DAf6RuU7Zrr<-!PnVg zr}MY+g;@&4izF9CuD#C0dvS+z``7Ev>#KI!JwKYv$nDc+z_WdM-*LG)i=VGKH~(_; zE2jm23cf3`WH%o@{O9s@^;d$g?`EEpz2BA>{P@b7#xGIAW~RSmk9c1_@YO!ib*Fd0 z^zHM0&Dr~E_k&+*pHA{zNXWeqzsv5~mqjPf3jb%!T&2nV`06xJ>SgeB^>bP0l+XkK Dje)S@ diff --git a/pkgs/plymouth-spinner-monochrome/src/bullet.png b/pkgs/plymouth-spinner-monochrome/src/bullet.png deleted file mode 100644 index 5799dda51fa02c12c6895faaf846bca64a232859..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 616 zcmeAS@N?(olHy`uVBq!ia0y~yU;weXIM^5%7lSUb_yKhud&{eYqL<<(nI1tgGOX8| zn&rDg*~QaiWn)+!KQJFTde!rytJk0SpbWvs2Mg`*-L1Z}m-)|Equ{fBg$`GBl&5xZ z&wR5=pvINM_Qhd?Bq8IkmVrKpifis3K7M_-#Q9Hl-=Dt-D^g>wVfv_ZnYX*5xuWXw zCCm51?h%1O9p^ib^XyXisC+$j`h5#=nQx!ZbWHR+E9~CU>Lh(S_e@utmyN4TXh`p; zzmn5M&qdF+U`^GkDb%zI%J1#~2 z^OBwMQ)Tb9ON-nc-kTK^-o5n1_CXQ5M8zdl=b|MHzV&wed*)v>Pi_1ct+3_Uw`+Hf zzhs`UY~3XD0|yliq87X21sKjz{SP&e+6xFgHJz>wQ8yfU%q^*P+BD0A4Ld3sWZwGFneDFD8@hhH(czHgJk8`F`gQ5NZI9H~Y5sG`I+}6xrHpX>-t-y5vw|h~1iuSP RGcYhPc)I$ztaD0e0sv`k1y}$8 diff --git a/pkgs/plymouth-spinner-monochrome/src/capslock.png b/pkgs/plymouth-spinner-monochrome/src/capslock.png deleted file mode 100644 index 9d775f60bc838416ff3cf8add676c09252d70da9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 960 zcmeAS@N?(olHy`uVBq!ia0y~yV31&7V36TpV_;yYepdgEfq}6l)7d$|)7e>}peR2r zGbfdSL1SX=L|c!;4l+mMgI#q)*|j??Qdanhxw^`1<#JsikkuL{>!bI#NsZUDt9$W- zsDcm48(%$mv}SelY6XtEh8;VsGt#cg=)1 zu9)GqzDssJ#{%|P3FrN1bdvohJ<71$_wM22*Rd_>TkXC-e-UOZ#$2QHQODS4c13eV z)nzk__rmQFabcb3JKcSEDSTAEF4}+J;(3f%McN4;wP&5qN0QccPE|{*3|5|}#J75u z-%qDg$x}azrLT=h`&#`;oXz;xDWmI|e2Q(ZI*v^otf?XaExjCTtu)1iw#er`lrQ-! zv{R%=^uURY4MHX-*2(|juPe_^Raf7$BtayjzHm-|;(}!H6`?ZEf8Qv~Qg8S#x#N=b zzaY^WKUMZ#x^T$d;k{Ww;oS>UY#$V{OH>%81edAW`zp?6y?6e_>`M;!bp;|mSFL{k z_zR;)Q20mb2M+`!P6mFf>Mk!g`~L0y%&L0(6#k-xvbT6E85kJYlDyqr82*Fcg1yTp zGcYi47I;J!GcfR82Vq7hjoB3p3=Hfgp1!W^kGc3bO)Xja?&>ozFz)qqaSZV|{&tFC zwuqxd+x_yg?^`-#%%lUha49Y-3wv~`Z;4@(isq%3DNSqZ51g`3Pz)2YHf#yGwd2j5 zxA$7J*G>GKRewPCdQ4Z$rZee_ixSSAxhK2iWN_VQUjEOu`pi=fNNi5)iPSD`U)Q@e z>Mi5Rd zL#bZAOD20QCoj1DR*#3R*;a68{jrZ-?|)Z&P6}Br)X{PM{dfD06OaFYvEgZYki7dY zpBJY~OXRe@;uCe-4cGIxAC47VxLM)!CUb^33-^h4&VBx~HQ48~O?~Ft+UK)2d~C0t z_g$-N(RN|huT{0o2hr@7BAA+$FL&FtdGH_|M8A*;R!uE zS5NU`)Jd}YVtYQichL*$$tpW#Ssb|%IE!1J_%FS(Dt=|iwl!PZ8TgL#P3^d&tm$`K zRPm&|Qqu7(h7Bh<{cOkBy)8FM*G-uLUxvxk;Gi21X*D^X(Jm#V#YKZeW^_7rV< z$f?)lX}H(xQ}#^pjuXafzizzTQFnd*ggKRW#5bofu%2A=q=PHQh<86j&+N_bw!~c7 R$-uzC;OXk;vd$@?2>=WHt#beX diff --git a/pkgs/plymouth-spinner-monochrome/src/entry.png b/pkgs/plymouth-spinner-monochrome/src/entry.png deleted file mode 100644 index 81cf2101865005b3024f70f0e64b151c21fec18f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1751 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 CxUcX4 diff --git a/pkgs/plymouth-spinner-monochrome/src/keymap-render.png b/pkgs/plymouth-spinner-monochrome/src/keymap-render.png deleted file mode 100644 index 4aaed5abb487524c3a2ac064cbeba1eb6656a89a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26362 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 UQEYdZdKqMxr>mdKI;Vst0PvV)vj6}9 diff --git a/pkgs/plymouth-spinner-monochrome/src/lock.png b/pkgs/plymouth-spinner-monochrome/src/lock.png deleted file mode 100644 index 2de24c458b69a9d66231ea59ccba03038d3db3eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 917 zcmeAS@N?(olHy`uVBq!ia0y~yU{GdYU{K;}peR2r zGbfdSL1SX=L~D=30U~YxmtE}&k$I!=Xu?9P$PcX@lfxErh&rvku&Vi_Z~TQNik^jq zA~D>2c4Djf^v>OuThO z`bhBXZ3ipoTb$wA0Gkh zKgR3&6TKC~1$$(;HJqE@{5tsm!S|fCcaBsjYl<*i#mPKR=HPh8^mWza8hLBKzbqf@ znZv72$FF0&Jby`ebkq}$7kAn8)`&NOn7GukTs3YnFfd4#xJHyX z=jZ08=9Mrw7o{eaq^2m8XO?6rxO@5rgg5euGcYh_d%8G=L>zuQW54%d2a)6U<((mp z)B8jZ=KYj*>3VeO(ieY$SGTs#-f!k8c>Ua?cOvZK)7Sa=Z9B2nPf1qh)*{>K+$pP$ zP1(&+DNxb)~TETXqvzf!~Ff&{D|g2FV+LiflJuuFs|2|GEvQ4%Z)W%!9m4$QTLMXo_=VHgOldcWc#DlRuBCd@7LTo zb4OqO`;WJ?jFM+8KfwE7rmyV-A&LKASQnE=2zj7 UYbTp4?gK@pr>mdKI;Vst0I!^lyZ`_I diff --git a/pkgs/plymouth-spinner-monochrome/src/spinner-monochrome.plymouth b/pkgs/plymouth-spinner-monochrome/src/spinner-monochrome.plymouth deleted file mode 100644 index b40d928..0000000 --- a/pkgs/plymouth-spinner-monochrome/src/spinner-monochrome.plymouth +++ /dev/null @@ -1,79 +0,0 @@ -[Plymouth Theme] -Name[be]=Круцёлка -Name[cs]=Točítko -Name[da]=Snurre -Name[de]=Spinner -Name[eo]=Turnilo -Name[es]=Spinner -Name[eu]=Spinner -Name[fr]=Roulette -Name[fur]=Roulette -Name[hu]=Forgó -Name[id]=Spinner -Name[it]=Spinner -Name[nl]=Spinner -Name[pa]=ਸਪਿੱਨਰ -Name[pl]=Spinner -Name[pt_BR]=Spinner -Name[ru]=Числовое поле с кнопками -Name[sr]=Предилица -Name[sv]=Spinnare -Name[uk]=Крутний індикатор -Name[zh_CN]=Spinner -Name[ms]=Spinner -Name[he]=שבשבת טעינה -Name[fa]=چرخنده -Name[fi]=Spinneri -Name=Spinner -Description=A theme designed by jimmac that features a simple spinner. -ModuleName=two-step - -[two-step] -Font=Fira Sans 12 -TitleFont=Fira Sans 30 -ImageDir=/etc/plymouth/themes/spinner-monochrome -DialogHorizontalAlignment=.5 -DialogVerticalAlignment=.382 -TitleHorizontalAlignment=.5 -TitleVerticalAlignment=.382 -HorizontalAlignment=.5 -VerticalAlignment=.7 -WatermarkHorizontalAlignment=.5 -WatermarkVerticalAlignment=.96 -Transition=none -TransitionDuration=0.0 -BackgroundStartColor=0x000000 -BackgroundEndColor=0x000000 -ProgressBarBackgroundColor=0x606060 -ProgressBarForegroundColor=0xffffff -MessageBelowAnimation=true - -[boot-up] -UseEndAnimation=false - -[shutdown] -UseEndAnimation=false - -[reboot] -UseEndAnimation=false - -[updates] -SuppressMessages=true -ProgressBarShowPercentComplete=true -UseProgressBar=true -Title=Installing Updates... -SubTitle=Do not turn off your computer - -[system-upgrade] -SuppressMessages=true -ProgressBarShowPercentComplete=true -UseProgressBar=true -Title=Upgrading System... -SubTitle=Do not turn off your computer - -[firmware-upgrade] -SuppressMessages=true -ProgressBarShowPercentComplete=true -UseProgressBar=true -Title=Upgrading Firmware... -SubTitle=Do not turn off your computer diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0001.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0001.png deleted file mode 100644 index 6a64683c32c8e2258a59d2168e4d56a7b6ca86af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1578 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 diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0003.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0003.png deleted file mode 100644 index 9fe95aa2734b499cd3df6e65de24b90aeadd2716..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1561 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|SG7iEBiOTV_rwgMLPSZmND(W^Qg`vVL(LDuaQ66%-jWoppc5z`(!(l5;Cc1W6h%%U&^=fq_8~B<7r$n_85}0HO2@ z42-(3a~x%0U=RUG1}CTHr81Oc6y+x+r4}g|8>AH!Hw2yD$-uxM43ZB@%}YrwLRhJ1 zU~U(D`Vj*IgAhpCxiUE?wOAoIF}ENmwV1)s$f9nVgf;^M%O+13$B+olxzoL~=Z1>3 zO)lUFa^ehi(md+OE?aTfQBYQsk$sUx@R3G~@9HHAd@e`kKZxlHR(Ddj5=sy9S{UHO zp?V}EJNk0e?TSaA-@N;N+A6-!b=QNpyWVWQp8Gz3eo0|rVd29E4-y=M_>PM0{q$;i z?0qTqeOK52I&v?^>iB{f*{e&}*ys7~e_67N#doT9>V2ErOQfbw&e2&doFVy5$Kv)+ z&K)JfIUHR#7Iy5d^epYUYZGf%#Zp+*>~dl9hSCpm6`U)g&jcN}i@C!z{XqExCeOO| z^CnB>jLx4)+QonTp+tpv3`>3EfA9LoKTIPG!ydV=tBKgM>eY#7p&wXx@Xl+gOTN7G z$l8s{yUU*NWu!dG-f;e)`+-1vPTQl)67`Sr@Ji{pZed!qqv3Jkjmi&<5=;vHn$OqW z-JPIQ`9kW@w2hNv^sd%Swmeq;;irTQbF$G(z8{Q#c+48j_P1R>Abo(lO0vdl(d!Rx zTRXJQha5g6^+T}Y;T{iu#}|4{;;&^Q7}wrDG<~9fl^H?w@;{V_+$LwqsggfEL`&I-KSr-y%;@}B`lsXzv=gZ&F2O0IQ|o>ac!`z;C?cX z(==Pnsct%S1YCS?w^?) zxPD6Q9%JvDm)|w8$%Hp{`p$ZP|6_dmpIdE5K0je8(Jks@wvt zMeMV-H!jFzy4_i{!|%W1>>Dygv$J{+@MiQqOZ0)c_X@P5oR^-~kUp?(>FfjF4>;sAzdy|S!?wv{p_ohG-LyBq zObVFP?y|@&Eqs*{C@&~n{l#*nmhcPFBmNDJIu|wz`yJCOI~e+b`-9Kdi`SLjM#cX% zYjoYIR(a(1lO3t^1U^0de#iagGya3o2Ofmw2b^qKC;cNlA&||i)2{LO^8P#fMZer; zvVM~NyuaoPht9E!My>e~=0Cd?78`ed%1v;%epUCxf>(a(X5An4B2KW~Seu@|`I157 zIv#x~*9!h?jjk2j)TZ)Oh|f6Dxng;7uGpnxci)OV{V#fJuH(FgVGUy1MNAW|x4)i# zaP@=C1$o=e8|F%zT;3q@{$Sbj=-7LH&rb&KiqDWd-nm$Kf#@+d^$#)@%sPi&Ml{Tg zZkfw{{*Kcg^XU!w`@V^}>q*)lRgl-xOH+)A?npL#skI?kfBG&?nVm;(eEmDC{6 diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0004.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0004.png deleted file mode 100644 index 687aa8bba7e7c470034487c5818c825a6a6e2407..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1570 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 Q0|Nttr>mdKI;Vst09@qKI{*Lx diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0007.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0007.png deleted file mode 100644 index 14d8b45c0084ce927e17130790c7328e8018b91b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1629 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 Tb?tKu3=9mOu6{1-oD!M<>hQpk diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0009.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0009.png deleted file mode 100644 index b366daa8f009ccc64fa2356234e45d09e544486f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1605 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|SG7iEBiOTV_rwgMLPSZmND(W^Qg`vVL(LDuaQ66%<)Ml34eFfq{VoBO)W}ffKYk{ z21ec2IgT|^Qi~Lf4blpV8-h;nWME(r2FVAd=B1<-A*|Fh zF!K!gUBbY?AOwAGl|L^ex}LtizP_xyyuRkEi8nUA zzkbhu_rBUWKfcxN^?#Fk*^=$+y^DJ%eYT$a(tP&Wun9A(^mlGQvF(=h)yX-lcB@~A z)!}dA{h+a9`$MbOdNo)dv70E|>D4dLKJm~vJr-CP9ZxPcB6P9<`R^B)JBKEVtZ{jX_Vo-Rq zpJmcxz9SP?<-Y&?z%_yCK?b={Xocli%SmpIj`Jk?pdHIJsitiL2cFHg=k!T(5T0?SEb5@*53xTiD$norSuXHz z<~0zV|D3mgHO6H5&s$a5YzBAw55GR3u+l?lTNIOhv;Tq60*48b`RyX}%U0p%U-q%Z*IrnkOSXrA- zRX4C%y8o*7ruDq?7k_yo zHopBY{fF6S9p8Q>i>z9qU0o%t|Kqlw%49G3sIC2yGvf#I9cG!Xn7FO8R0`fs-hE!O zoGsHV*{Ar$=lpk960@(bm${+m`G>W}IeLE@yI5%EgpvjJ{EqLe?8BpErcH|d7k6f_ z)S+X?{N0=qbBgTUmtTATy>C)ijCInvE2|$AZ(!cX_)n#t-AlpfzhUP4KRnlXCwx1< zciJ?)i%aDX8N9!xs<)L z$F4&~r2A!Q?yqFyjS|n)t8TrG`&c`t?*9FjS584?&jhVq4?K*!H)(V0-3b9TRZYLN zZya0WxuNf`&W0j;@$hbL5yzFRO|Li=R$>09%8Wj6><6wB!TE46{!u2a-~dW_xWRrB_y z@Gpxsh?KYfy+-*Miv*j{)y6GJ=?)u%Zohxvbzo;fs7kVq`cAg!#h%NAj3Q6p^qsSK z^SvYAxEa^{F`3XIyCLaetnlt{+mzp3{Xa>l`?FB-7qhRgc6VKxtl_*_QsC> zZu(Smo^k8nb8RheCUvTqZn58(%q{un+12kV%gppOw_N9&q2Zq}$)>qV^?bhTqy+t! z-!Hn$UeIP==jE^S``?=H{p;&Ko}7E5YQELy{z1ZYoKzM!PC{xWt~$(696gY+ARP8 diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0010.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0010.png deleted file mode 100644 index 0312f62688976e840bdd3cbd28a0dbab0913913f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1601 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 R7#J8BJYD@<);T3K0RZQH&>a8( diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0012.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0012.png deleted file mode 100644 index ca4f0172ae9d1cd41986c14896e8e7717b3e7d0d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1602 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|SG7iEBiOTV_rwgMLPSZmND(W^Qg`vVL(39K?EcjoSd4M%21L~l%JH8TBKlXkXBIK5OjJc0|SFFNIobvFD11I zVWpmdxn1z-M+^)MLLh19%H*8XVuj$u+=86cVg^Gai@IqN+6)XVw>@1PLn1g^r=9Pf z7AkT)z0Fa_`H8Db%8b?>8)l@6aimM^AX-JTW!? zde-uo+fwS=uCBY~axX>7T_K+LuJ^@o**`*`GD~jxF2Agrp%t%L_c>+lQz;d<&vQHq znD$!mo@)wk{KAvdSp7iJ^-b9S=^xtr7gz~gIM=s%O(XXM*$pfzPtX6}wT2;zeSgDk zlW#4hGZxe=otGZtFljfF@Loo}#_NrqG9OvqG$=pFIG(-c)fDa94CV)N)izDu@y6X{ z;%Dv!+08L5`ONO`cKl~dZo>{Y>X>&Nr#~p~LHLK@@!tvC?JPbW;Qpz; zgKZz{R3E*$?C)pWxIfIkW>)gBGIDF9%ud&eP~9ZvHObk5Yj23Wiz~`kyz$~c>kqys zMTg9cj=S4l-{&8`!{X4K`OjawerEc|`cB}Evc#m*;a02s#Y#9yKVE9t_9Bm^53|BTjwR`NgaS3~RLia@UFP1Im`$`X4yp~k5^6{K^XoCg&J?5>R+umN@qp!TReMR`2 z%IFsH<4t$k!)z|!%6w{i>fThPKRxT4F2734X#Ts*s5|$nXQ zvGaqnR_t$A%TK2tBpX=QN&jKn@-phpn+loQy#4c+d_S1!ahk>cor;IWkEO-DIxL@d ztYff$9Qlj)VAVZ_sm`snT(?zjxV*EqVC8xAbc)c0k5MtNo$R|O{90wV&G%k?&O7f1 zRu@)GzSo$%-9UKD`3=#pGm^e4+ke$$3Y$N_(S6p-llNJ+Z^)isa=z4naf&X-x|~UZlgbZWR6oJTXdL&Ic_{5(x%`@fY$<QP@td?Bx5k%ocARsD4l>SaWYN zi;8j`>-2`Bwo7DO(%;>DD^>6$pXvN57nO&Vvmcm#GF!8{N2@#LAj|ykY0Ec-`-q4i zn647XT>bA_r1(WPzYN(L9y|89Uc*VjbGmxxZrV{g^^<7v!@nEmF}UXxUe7xI-S|WK z+l8$;9lOI~yjvvJKUFS>vrqc&cj)t#{44Ht6PlHi6r1N95ZjP_GN<8vc6)4LjqS@) zQz_3c!U~ezT7FJ8%xcHFjpTTb2&VqISM8?X7@d3E^H}_my=C#zAFcElvMpLWdgVUf zl?eZLMYcPR-S6Nz-%nh13xD7B+9a}y)ylg1$h37=o-NR8+M{~6>-oCMSiMuyE7n`^ zy9udr)~X7`a;=&=p~JSDr8@5Ega*yJ_^v71D{^#HUW=){4{2JuTO@1iw+R7fHJ?xS z`fFdlNr%z&#{7x>$M5e;E_$yf;cdWrCAaYUP31BTVHsy3vt3i?d@GE2!?A-+2FF?wm7d7GI{TM;hMpjmFt#w)^wz#2FCB}5BwqVRo__g?Qbuupzz<3LVgVo zSzk&4py&D#%bs6PK?zQ}CdmiF(;jK|-xpUiJev2j@|alcl$ zIc6-v~Tlqu6SkgVM=fb_#+GPhfnKLHGF&sX}`}xfI1FEm4%r9A6 zI=vyVRghKVk@%VFQ=%0I`i@RMv1{_N@7Cwmt(1CTnSOBjliM!kxwrPVvOIbmP`{|} z&TEP6-SR4V6CQ7^<(^{wK>mZGgnE9PorYI{yIZv5^4W_#?|p7C+s1Ou-o|Nt9#b4^ ze}nb|n;Xl18~u9n`1Px=yH2^y*tKlIf1fgW@| zG f=();^|CyIOIBKsWQ(VEoz`)??>gTe~DWM4fjIYO` diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0014.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0014.png deleted file mode 100644 index 6c43a9d54d3561507136cc7990d60e91a51f2286..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1601 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|SG7iEBiOTV_rwgMLPSZmND(W^Qg`vVL(eA)fE=B(+fcJ12rDx~!O^fPIjZ#Le&dzZPZOl9Ai z>bu8Znr}Nl`G(!P{?7e1Y{wVgW#1LHX@3s?eJ&&OJiGb*+g^K|OI_QyKFY5#m2q!B z)9N+vnT{XeEMVWksZt;s!+1TRP?tz zw#VKZ9Fwn?>SYJiuiosTaCEU|UDu7v58?_WELgw#HM_)cFMn9YUBhn2aNlU++$YI< z6(&UcH5@7{WwT)lJCOT8zQBG5Tc7#csTPVyEfg&~Gxqb_G2Om0D_u$`i06i~$oARl z2b&KZVsCtWZQG7d;v05+*MD=1(?ciN=s))Z(+$%e-6+*vcks+t4Uz3P4)eNSytnw5 zUxMP~WxIQ1!Uap>7x_8dKKZ0}PiyVGD(l*_S9=x}|GKfKeDdw3M{6=}sr{ABG5d3^ zM(E328#bK^^AnZQm%a<_V6i)2o$>3M^Z~`k>J6N>GY*T1g&$;_aKP8&`dlN^N+Fdw)(IBD{wIRpK$c^ z#_$h12J?@cS!}~HPwDvanTNWL#unUYPiF5@@p;4|(jE7vTix;Pr{h~)IzFEDc*LC` zr=I?O(u512uUxX9b1@@ng36nFg3))ZxBXx{IoG2!Z{x}(f`5-xJ#$`QmVacKU-RT+ z+{Y&uwk_1_thlkLuWt2wi}sJxcU*sO-ZcH@ACVcS)7Gd;-an?fY(rAa--8Qf*seD! zZ{Cn|^n31>8HaB~HEP`wFN-howW((GaJX{g;v`E>uP}9Xoi~evRfL{B^+*&C-hJA* zXWI7$3)|vlJKU$<&h=Wn?m%He^>;RH#U$~Mp^rpfZT&VSAXV~H_`+>{t9I$RG2eEo zXSm-~cl_DZDN7o5>A$n8?hM_&?3&@+MR_$x=W(ed0s?kd^EZFfvKZ+8nhy-NGNxLE8<@V5!`xA{)H z!XKEd%*g%w^U5ERZm$HFT62Hd<`}v9W_i?`m1JKs(4h4tIqZ+p-E zK4AU8-(c$hf*Q8Iug^avR0*|nOgbWUVcG#Fb#6|JllzXuv)MP)A2j;O`uuXjp0dw9 zELnysn}xY&UpdEpbb@_tVeYqHd+s{c-zV?q?BRRW{i^uw%QNvB6Z|i2-2JUFtZ>qk znk|;+8dCYsNxc7U`$4ZV@2)Lh>YqJ6cdSl@{8?Tq{aR$EbQ7dH(udu8V^LUZ%nx+4H z@BLc4{iWZ|HL@SL{y=zx=X1ZLGi&G8xGsoSDR^~xy-zpay@%_o54;xIH@otY@b&e{ zzYmF9`EA&B|MEN4>WlBT=80Rq`~Lg0*-D;z)3)6@>A71PESwbBzkgO=cYdQhXYxPx ZNm(j4&g9B6y!&U(5yhD31IPW8=> z4HapdEa9c;n$)@RNI;fgi_%iDz=B1>))+JoJ$wHA`SY^!^5-h&7rsym zkNbP&b@b;W+kb`5e=*zdxrR-+d#dI)>ziL@`>1hWI8way$k|J}VN0KjNY9_@x#Yj% z2BvEbpBOjrnjLhVwZls|dUIEjJlht(?>ql;9XqJ9clM2B+5Q9h4b_dj79SlqFfZZ# zp!;K<()7?P3#T|6OM4VrZa5(LLBfLTTl4M%LN}QF_A}&M*u3Oze1TjI$GMFY=RR?r zr!;H!JqMYYx02Kk9zL+-)b)dZ4`k|Q2;a&%kmf2Cy!<}<1LcCbQIm5HTU|QCX0Yp$ zul`!`ZO=sgLI7I4(cBi7WM`;{z4(#`SkObsw4deNg`)o6}_9 zaP~#9kPTlS!*zYV^1NjIrqT~nO>-B0j?QOj{r*$KV4*Jucf^gC_3sQmnt9%uJB#DR zcD8wp{!PgT&R^C&v2^{x>?65p+_}tx2DeI=eSPQiYRV=51OBU3wGDHn;;ppr9e8g0 z;0WJlu02ejPu#sEe5CHu^7+vQ6P=bXE|}Y@ZSG<5v3zTV(1QFWKEioNa&I1qe883) z@s928vCV(EvrFf067-Uvc$xcs`0UHo&!2ndIUl}Txh{nL;PoBG4}=PYcLtf)aIJZ% zAH^)EV14Bx=bMPU!0T3DFV9N&(mQ8g-Vx(1eCHU~AGRtwsXHg(LF=}y@9yaQDU7Juyex@@;SbF+XtdQp5Gcf1&HS?Y2iWl@`6))3|!h+goZGnibu@UQof&brN$Z?EL7%$s|t{iRXqj%~K*o|SWOw?`Sr zG5Y%J2yL3NIy`;)q2pI-j0$z1TsgJzq4fk-fiTB+c4q9mk_tt2EBEu8FR0;+xT7oa zM(_Ci*8w-wnoJh)SiZbGSG)a8t)k&!|HAEAXT%fQ^A4!_EX(!x`dA>--+XxiZzR*% zopO~GEhSI>=WKuQB(B}{Guy3Qzfz3fTbm`-1lOI@Zx($j__yIt_pWO>Oiwkwm99B3 z{XnDM?v-V{SMAd$d)gj1+PA*>|A86n7FNjJIW<+q_J%w=w>*p3cdKO{`y&rrzw!7% zZNfssyAB^!Bi4O9ygYU4y(4vVZmCU45A^=7X0lS}LnQP3#`*(st%h5B_b|=Bm2rCZ6HlqW&$+xI@oyi57A!wBqx?TxUi!*o z=@Ri($}&cwkAJT1v$gS@&|AyF(|c@r@qU^58~0f9C!W_|^K{)F(}W=Dj)n7PPqP2W z>HbvxSMu}23MVGb{}lOw?FZ9~+gVe7ESy<(LEw|jiq+e+F2B(FA@PT`hJAnI`Gds| z3?$@Yimv~Nd;IK+rc;2nL>%*C?(4_;&ne!}RM^j8*6{z3`c?kB8yc(fl9yMQO6VL7 zd-^eQe&o@prog@@(m970?qM!XJ|1Oa_-Uivrfp9o%$Mtav5$KixBAA{O>-C+7#KWV L{an^LB{Ts5$AQhl diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0016.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0016.png deleted file mode 100644 index fac163b65acebaa4031760aecd456ef52602b964..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1577 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 diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0018.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0018.png deleted file mode 100644 index 6423b95104fd1fb81420f5cc0cb5b1baebc90726..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1601 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|SG7iEBiOTV_rwgMLPSZmND(W^Qg`vVL(ixFy zzt`5tguDFnntVT~S8!ZoZ$7x<>wo^b=Ym`KSmr2xlsTRhz}W{D54-rM;p$OMf%3(bsn1KOne)@m*u~12N&7UNKKJ zjSj90IbJ`-*ShS>ty>dWZ|)4(&Z=|jiQLH*k1SqiKVTF7(^fip#$uV(te%pIf}aYW z9C*UEEnE2Z)Nk`PZ+gBihq1oF{lF8kA2Ki0>*e;WpY!Cy(}*btpIj|&KEh_Yv*3+d z(HYGI&U;Kc=l=RU53R_(YB}>wwdc|A541no<`$nz73sZ{!e-i8B5{Yky`k}4!|nr3 zQ+!JVDje@KiEZTQ*~m8M0_TFeTtC-MTrJbO^SO^saN_sAb65RjRx)_qNWaG~~ zJVe;j)}OV|U0x9s|Jm!Qwix40@5P1Z__viLJ8G+iO=QRwJhnlg zMD3T*9Tu^~V7ZA~7|t0OKAx^*q7gFHDthbVX?5(U*KIwlXSqw$D^P3W*Ax2~3vM60?b{n(6B$eC+#_Zmmt8UL&oOqHCAR^wOuh$NJ!A@knV+ z#!d2bi>^xk_D$Fxmm+K(J3FR7{=24I8i6He*5o2LFvQmmdf{eaL1?(e!)_4ltgy#L8$!F!JBerc`B^$-8%)iC|p ztn=7i>`6!S_Z@MPH8DJ-7Y8TiJiZ7x(__g$t#ryzOdUY|CvFbVFQiay{R( z+cBC6#|0B^_%gEpzyJI1x4X50pT7M*{Y&yk$NO&g>&L?8-1%oGKa=TOvw!2`+7y= zl)Yio*q?q)+W)&zopr0RBVFJOBUy diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0019.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0019.png deleted file mode 100644 index 45e935927623eb5ebd3bbd1f5f6aed9207a55c88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1608 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|SG7iEBiOTV_rwgMLPSZmND(W^Qg`vVL(6y!9(uYshD30-PTQNk zBvhn*vZBuEO)ETNQX-tV1V47WimVY0VTl&Z(fM+J!)B43EgQFp3c9ceMsA1@)XfpG z=TP+EDeN_5>y=WsJAd-;-r{tl-PI4wpWi7y|9$U!-)YmQPoM7R=QmB|X+TNj_dVN# z*XPQsZ`&K2FZ_3cv+IIlo?i|ZTOaRvWLG0{Kdw*j+utg;^a&bMoWso5&-YP#eq%rH z9QNrAu02v^57-mxO{8SM|Jy#{yqx2EhXblYvr~BQFkWkX-F=`*O~Li8a=v+uKeJfL zGQrZI)5g&blTJ6vt}~nA62l;tVECV5`NDtax9z+0L+p?DhsS?hF7Ucc?B>4Ebnbd$ z->p1ft(g&Cim!A(30MenZ`yFXv4ppVtM8<#;rx{5pr&g|_9}6V<(usCZZuoJQeN;T z!*|6wP0j4rzw{KA&QPB?pHH{vvCi=u2 zJ+xOo{EO-Oko6H_>l#l!*_pz2gRR=)TCGRJK91xF4y(WS*zFnm559XkNw{iG=gQSe zMvH9B)HW1-HO<-)D=Q%rH~AG;Sm=~RF$vjozBe45ap&;{!~SoK2G`<37`bwTnT4wh zc^wqIEOd@{$4)0}qmeWW!RH_6X^z07zU|D-2Jw`KPqI$dj9cR09b z(}~`F-cvun4nBSJzKF=Vcg+tt6OxucVErPo?SPtwlwRVbGsSCzaw~G~bkDIZowJ`a zo~6(3dG2$+qfBLvKd%X@be#IhDe%VVRcV22PQmWCDQ#b-e>r+D`oB>H=Z%fY-#N}K z{iC=-BD6$ny8E#O9S8gy*B@N}ApL{d4)HnNwww67K3KeG&u_keK>tDh2lfm1zp^Ko z?(6lpU$~FKYNv~+e53Y(aGy=h^ACi65WT_BSHUC4be=(d+1~kcz8%^sT*F#3$DQNn zo1e=#v}#5E@a4JHZ`Ay^w{fCy!F|p>Tz^>Djl!+8Qzx0fi_W`huDn~kbh?;C75kZw zdKJy*YHy|YTY3KGEe)xb+ryS;%IYI_sXpUtt?Zfk)uMqr|9T4U&2hAdV>#b^{y^`s zGuI?9eUqwSjA8g%?|wh!$uI6nOa>wLB1_JsmbBDG#cg=r@V}_iQMR`40{8RfTiN$9 zzHjh9kf#@uw0QN8b&KfNDxDCeXlL-xc6-O3*J6oD`}=%1@bdZE$S;m}pEr}C z@9^nmjaxFTZZ=!r`e%RV(?@l)Q?)%OUM+ptzeBovj^Ej3jL(^msQ+4{ZDFWddQ;!^ c`)7M~hq#LP{kz>67#J8lUHx3vIVCg!0P_FBvH$=8 diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0020.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0020.png deleted file mode 100644 index b84b04dd859b199729c63df17ebf7cbffe8f3185..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1583 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|SG7iEBiOTV_rwgMLPSZmND(W^Qg`vVL(g$1!IG>g5rjt(>oa$7=%IcL8*BusYM7Y z^$g7If=@qUU|1n>Eaj?!8v#8+3u^M z635f^j7|hxHksklu|qRu!Gr?gjtN^PCZ*b8`b*z+FGSWxdOVkLbhZoJ8cyb zJQ%kjQ^0U;&ZZe}(k{=nn_qnX`6;ym&{?mf3WUwQAm<$h}r*t~VCsj_DKqSL#c z@10wf``cpU+qYG-Uv&FD)|gW5d_CyfZ`&saE6URta<$U;zmlH4tUu3x^D3uFJKv;U zw>W$7%S~>vgL__I%vkbHZwGUmh=~u=HEWHk}A{5A4(BRa4KD=y3>{Splw2;*k-nMP1$mRk2c+N zv^*~BC0_ccuaeQCYWL;1yi30oQk=eTxgJ)%m*^8JUU8Cbe4%dIMI05>sC&K zO4*ve8%lSImBb#f+$qkwdHK0Ug=cO3@+qyyUWQ#scBsb>P7D#zuaolMR=66PB;@&6{*bcz5Y}COOt) zh4&ZrH%32LWqCII=Qr&Ycde_e%eJURvdA@NAK%0GPWZq9U4eaK*^1|zQ$I))XuZqvoMQZ@vW=aL%~lG-uUDz9!{;TtCi*Cos%0 z|JxtB0PkKwQHJHsbQcD*$o)qz&$ntI)~F7{CnU-riT zR(7yM6o2DZ7t6zS!4)CfQ_T@Ps)lKGpPXk!iGMn<2L4dgf#o z+xgG3eNJpPcduvHS@2ZXX_ATtTkoRoUYlJi=i-W;KJ+BEAFwIl+NYqu6L9)bHu$JA4=G; z_ca$iE118e{;GC@s7TiTfY=~zgO8^lh$cLpZ*WOpi3yj=d}ee;F)9Qh4u_kkzd53Ud0CQvHh==!&*i1TejZ;agWr)%e` z>`z+XJo!QPu|J|Uq83s6^UgN~KVaCw{b~KH_7lpHtnVA`514%w4v5}uXYpWytUWx=$kBu?kMivFSxwe{?FZ1bCE|7=h-+a+|rbnc07)6bvH zX<0q_)%Lqf#EL~KZts0rx5Z}<)4K4S85Kru``6d=&PSU3v7y z?&Is+t~=6^p&ERV>F*tX-FPV;T{=-%|BwA=nfvoRn_0ve7#J8lUHx3vIVCg!02Us@ AO#lD@ diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0021.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0021.png deleted file mode 100644 index a64932df50150f1ac1e29b1d181b80430f802459..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1602 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|SG7iEBiOTV_rwgMLPSZmND(W^Qg`vVL(EI1_nWpm~&!oYEdEs zgwiuGFzUX}ag>39K?EcjoSd4M%21L~l%JH8TBKlXkXBIK5OjJc0|SFFNIobvFD11I zVWpmdnPoXOn)e^8Rf@|IF`6Xv-`h`gmOws~T-pr48-+1hP!7hPO>U%)31Jil)D$!^mC!teD zJJ^5ayvdiHY_?+mx5_CFvsO3q>eex=VJzRjKkM(iTU)=eO}OB=fm3B8N8R_1py^+g znRcFJd9`l7T6KKwAz3R<>1P^WJkKmUCerC)@^jJ-KC_pmCrnh9L}d766?5-!mae!b z7P~%sw&$4{Dt9*;&bHQlZ1>){{q?WtSodwv?OvR*pY7RM@m2@1G#961GbU~Qmhn%c^7;wg55gaM z3$(KC3+-Q0e9!pvDR~)JojGnBdAIOh_NmW#Jn`7K9ls7_S}-2h=QNC8ZnB5j!prdM z<0EYo19xZI$h`d^@lWNxwZfdH4|->w`A+r~M6}-}!Qy;-ID?=e_eo$w{vweQ~jP_CbOi%4Tyxzv~%Ouvd|7u3|F}=@u<#QUM zJlDi#Gpi@xxzFK#=kIdo`cK(?Sv>)rQ#tB$OkOTLBFw#T?w^y!^I~c@evbL_zwmPC WM!ri&+Zh-b7(8A5T-G@yGywp%Ys5PM diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0022.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0022.png deleted file mode 100644 index 4b57e234270c5b3810796a93de9e85e008f446ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1595 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|SG7iEBiOTV_rwgMLPSZmND(W^Qg`vVL(TUP@{a z!b&{@GtZFUB@7GNRx-Z4nUR?jmp&VN_>;N?tXeDvtiqeBM|9&B19 z*Qxt^*ENf`$FA9Qt}QfG`<7;G!S+?^MOV|K(Jr!Q+ZD8p1tuw#Dc*=J{t*B0OyTXn`yFA^$sjR+x z^xn4{YSsbFirWu7b_mK}uGhJJzi`9^*NB88#)r}`?&s7CJd$^I?K+v44Q_KCntp7* zP#hgD{5m*X=UiXJoaZ_xLJMUJXO?z-sGPM#x>sTLE0rBvx0Nf(8XQ?Ja4%ru4I9mG zBD>Nr>wceiU+uc+j&EA`KRi4>!|bbGK>N|{n&&Ufj0jqor+BD5p7Gv|tG8cmH#ncy zy#C?OsayBfKew9GsOc_yL_l)WYuykLZvTxrwUaJC;0aLq9$8~#{n2>Gftk7IH5cEB zaPG0%;=W8K42+O$H}*NyZzII>SceM7j|||*4WkOC1LdT z;#c>scfl4P_wDsp6uCb2-qKbx<|yB=rS(-;O$377sRn6SgD$2t{Ee>@+pk60hLmXmFgK-yJv_wSvp+qVh7dgf(*jI~1Ihu`{!^2YmX z*y9-V8&4~q=vpiKq;A?5zF(7b;_RI}W9K%`owIq-9iL0#jjNL$WPUI@*>`iH%%zoj zTi8GDc0cpiB7*VRrmsI8Z=aZH*7A43Tk{oN?DHA3uUdHX@65h#`&r~e@D|~dx$0() zlg(Q8KC<5s^Y+`WHJd8${`9yi6ms{$o7j)lm!CJRezM(4#>4VSR_iu(1I6aFrSlvA zR7fnA_$*b?ujEtUVxvDrF8NRQ0VbRI@A4MMv%Kxza3hSN?F8$TuQ{h)1<&{*%puo$ zrp5Qd=i+z&dF2oOu&a=>I3o5yKuSNaY5phahP>x|?cQ@${FDDn=tvu=?z=Cx;X?jF z(}Y64cgYWACY(5bW}EkmRk_SH4EyFsI&i&o-Q)Yf`atu4b-U@VmEQSl@@CtrZ!Ftg zBU!^~r~d!Lks?Whjy65{P4}4ZG2Kg>x5VM3>ZCi{+*LMn+c)X|nzOa>?3n|WKUu7{ zd`+xsZq9FFKWK9@-s+@`-tGmyv7h=6ET8av`HWn_lPy7|-}xjg*!7y~57_(^KYstg z_rCau^Ua$dSV;VP){_08`x0ktTho=7Eo*H#=dqk`GCt7v_-CKUMfBF2tdc)Ml z#T?s`H*$Rcd#GLdZehyX^q`K<8+iWQxpv_10jGaV;f;sCN#B@QVdZ|;J%8`|+|I+H zo$KFSZ8X2Ge^Kc5k^1ez_H&hgZqYt`mX`KGqkWr_QSl?uJ81_nWpm~&!oYEdEs zgwiuGFzUX}ag>39K?EcjoSd4M%21L~l%JH8TBKlXkXBIK5OjJc0|SFFNIobvFD11I zVWpmdnPk*rQq@BIdi_3y>qwv@a@b@@n(ymPpUud}F}&ywjpDyi_%GilAncQV%mcN^zWdGUqhgW6bSs}nDgiz>-o2<7%n|y|7~}lY>iFdK4DHiAPHfKV z4>)>&;ij}l^!?cy6cpvvYahYc@~F=(x!IcH*kXmrtzLXEuBDK{M>& z`vhT+dCNb|J70KecW0*QV&3-Ts&h`$yeEIF>NkF#%zC3v*h8r7Kzh`&mI4htt(R9kp2SFv`t--TsVYITjymWzQ^5i+nrzWTn{0HS<<0 z*G=MYbk^uU{L`jDL423zwfjq5~q=kH^j z$9n9W=9@Fz4@?TLM?4qvQhk2oKgYQ&_V*3ODjyBct(~fP#7?O{?vc!vX$M{AFyFtO zqEc=ux%;Zr*+%lF8KG(% zCE5;bowWOWPaFA=qe{UMXTIbX5< zAaMF_-umvwbrYW?ZJM^^l~wxtQ#-H5vkLtxcMST!Ci}nmn}%ygzp=2XaLWGS`t*2V z|DyA|A9zpt5It{F(ALjO&bvRbO?WzK_b(Ba#?W@+yvFv;nyZEX*!|#Z znyy%K|45c~UqPARW77|c8@yJZ|8O$(_4_YJ+Lm@xuKVwB@(3&*nKP+{O z^^DB(nb$Xk9}qHdtli$2#Qv^1|G;`<;TQSW?@dy%JN%LR!O_S`>yJL)G?#Cd=;xsAwIqz$>LD4zKcwQZqNd}ymo1eaW+u&(&=lcO)t^AK% z{jB}=jm%4X^(=hmGyON4!!}u|^QyPj%w73w=CNGa&wBm$gvEW{-VVVXi@#rekl%d% zpy~v9kt>Em(ev|WcG#P(K44yc_w(Ju4_8HGyx!Rr#6PRC{zZ$YPUGqa%ms{d7`(K~ zzgqrd`F@bMfITPmfsk~xvY*jf=9?7~wyVvSsz2K7@lPs(?L6b^zwB!oOFx+3SSz|Y zKPcHv{&ho~WkG0K>2meS#nHF_EtZPsFN(MQcI29v)UL7*zkU>3^^D d=+1xnu*3z^`z{EqVqjok@O1TaS?83{1OVg_+|mF5 diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0024.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0024.png deleted file mode 100644 index 196e987d28e849a9ece451ca45bdcaec8cede1e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1605 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|SG7iEBiOTV_rwgMLPSZmND(W^Qg`vVL(6y!?s>X6hD31oPB+Y$ z7b?;=Sz@sp?^X{DrKiiCIklo>tV#k!mSj7+#Kg$9^zE|Pt<|){!qS3+Rb5ldgZ-eZ zRYys|gawK%5?&fxJ$^j?eCN*h*C(g*e?0Jee(`zR@AJOTseUiMX~&KoI|?c)b}Yzn ze{_1sE2-u8Z|w3<%8u#n-2aoO&v`eSRhUuy^9|EKoWFYF&WnG5Fx$bvst-PID2u``YgB&EVX2m6}Yu`Rl)a z<>~J`TF8BE#;lx)f0v)}K2RE##xAn^p{)h0%Ch@2bU&DUh%i&wILXf_Z_|{l#~pI) zX>-)w=UlBiXDvH#`;)T9soqXOmYa%i7=O#O+!#H5`r0*8V-~+x{a0rEhz)*wZ>IH@pXS#hzfL~TB519&Q}^1t zRR8^Hhuz#Z9n4fqUl2Qs#cKK5lwPZ#XM7*-GRgH$wP&jlEOV)T7VEJ6Z%(N29PbCZ zZ1)@9ADrH!Z#DDm*2yuuy}n-N?avU7DAilN)27Y%!IY1O8e|Ttp6PFNWSh^tT4le} zgIv!Y4xM?-bxr~M%jADIeiF4|uaSNCQuS-ny1+YnA3r~IdsHK-VwpBs{HN{vW1dk$ zJSUBwcO}g}b2{y|?w7(33Lh-4eV%nocEeu_dDi5M?{AuVF6BE`=6T2C3(Gym$=&;7 z+2k1C@-2vtzS5PRdPpnx4(GPs$t$wn8ZO*->}%O0MFq~SDs79Rn9K}b=r358v^y0L0jX4><{KQg*T?>7p|tKVaPpR|aCD33+CO3MEz*<=|8wq?oV};*Klg)28zat&{ospXugjPs zSs|9gaQ^oGhHba=W<}gr`yq2@hROx)%-qH!zgg-SVk}g{lxD_GcvW*qt;FxXU4TsY z`h%vQBrYGB!^XF0@#*voLzeVKuT>^5c>YHCb3{+M-+mV1@50|qweo*YwfW9jF;T>{ zF>V_FLH7jqkiy{Gul5G4xgyd1ai(UNj$&sGx1FpyKj)Xgt7_}ax>X)8Ti?9;fs(<> zld22fM$Yz`zb$n2-0$0}pY3l-{=a5P#OJMV9v_k1e8F3@v$Q~R5AQkV=y`rC_HqmT zVxDo~^FPTqPYuD%SseDLJoe3E$!Bbf%NO+}uhwq-|4IGa43*hlb8P>y ZPBl7E_4NE_K?Vi}22WQ%mvv4FO#n#c&fow5 diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0025.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0025.png deleted file mode 100644 index 3905e00eeb09a3546eab2dec2158fa9bc5f280f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1604 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|SG7iEBiOTV_rwgMLPSZmND(W^Qg`vVL(LCRRGk*&^wP^EMx*0_SD-+ls$R_Q!iCX-|Cz+!-Qmb{4ba#jsJ9B2{&$M$pJvVRKw8_ZY&TgLOtBE%@ zta+j@-4*O#jQ~rj~K!318=! zcj?3#ziBE*m%H*B1$sWax%=;i)h#-IG;XkopV-J5)f@at*Z;r)k(sYlWNUp6ynA~` zPySt%$A-DN4ayI;#>|iN<_LUU$0U;x)R}Rj?%~o;1`!cAS!TAizP)As(BvQEq&-}m zCv`llTP`2DyjMMmyEsfep?%%<#@4wFmd*~pBNNWZa>!45uCa5&*=K4#LA(=J>i#ae zu}&)v$c>f~4KRN2COtyg^Q46dTU zb}zx*J2~5K74oV3#eZF`YVwe)3eRbcD+Bg(rlg#@LarOe&B-ofm}zI!XL1U_54WyZayE0%9)Ta^CB&d*io)-ku+ zqAwixtlo9~S>0CQoX*L6*1ZaLvOHY**^cjxMXTziC88>ge(`H%!#^IVJU*3a-PRqy zf4n-l?ziesHaSK+hoi48&de0Ju#r6_+I4^Y!CRiOZ9V&5y=Sp~t^R}I1DDDI-#1Tv zs#|Jf>K}eM>i@KoXZrGEFYRP^metOl@w}mR?xExdiW4#yA97Rs>-ui<|D}=B{}=YW zcl_iNas6DdgzOg5tJA4P zVt1|V9+pp!YNK!QAIQHl$!GUAw*$V@-$&M;Teha}BlCmzZQdfMv(MeFo?53X-dQQU zWQS|(DKKVUw1S!AiqdzYnbb-1qi_*oWggS?)+LUw8lhhWNnc zz4Ci~{f}!*njrhh&`te=*oyCYhDVM227Syx%a(J?8^1=9nQ>(sL8e3Y}Dao>& zx@G-eTUP@{a z!b&{@GtZFUB@7Gq6e+K%0dar+`kgB`ey?WnVXtv|+PNCz;&*#9#X+E~yj)!5t4Gew z>syayns0mNnbW)4aHIL`gN7@vJAC*0^Z&WAUfox%_M6GGuQ+_2;JW_zkz;O?PUe_J zGwJ%@clZBsM{8qJU)+&{+AsPZCh#4daQNLv-HkGg+7C2uob@p+ zt5ZwvnLTai^w67GA*Rz@-^gk^&qrfr-wsJ;!(N zdnkIf=EiNy^HmQTzA$e#Ed2JB!Shm!>y6rF4|ZKkEoWl=}wIw$Lx<~v(Bl8_c3!J zlv{J-?X%fE`$c5xqgU@ee(%`BFLI2tKh6B$b<3qkyw`{ICd<8GQSE&^%eFq2@msL( zRk(YN!FvYj%?#a!^M7reBRS8bNBZtbqmIXa=Ju6UP3&DE%u`h}uj}6O2h2HrA`e+~ zQd(u!{#+_^z~Y@;u=Sf-GtP~(H^zP9aTQ2A-WOxU{ZVR8L#v78{qKptAFiLPqPS}H zuN?~}-Jc`mm1DTJ!zMVd=!as~sw-6N?6-Zqgao5A$5#%zRdFJKw3}W3CnVIY#&Q;uo6!-1x(r zcWFb++gDMHdAnj#ZF9KndgPnWE8b|yspzdb9=A0AwD*x1hWutxg^hRJzwa)P<~j89 zZ@9-?mG_VSGX3}%P*ddl=*E@zP4f@rCvfE?iAwy}GAP^qe(thr_3!FCc=Dczx|DNO zv!*N+Uj2`yhU3!8Cv}(aTHA3>VLz}}HfytUa?Ob?(J^wn;xF!RU*0RfH@30dq{B5} z?*E!!Jd0&x8IH|3q4&nkV@d4n7C$$Sw7`wh$%gd}@~`hcpV?UakE#B8#yLVxZrn>Wna|thV|2uziFwQOL_ClZU>u6 zor>Y>3DLH}<*dK?6Pb>iz1=I|+25qQVU?ss-f{h%M|~8xZrHi9@B2)*?9f9VGNnG2 zZ)QFEU@iH*@0$Lr5C1vdTHa5N;S;%1bM~;m(DmAq>nbMePTiQd*Rb=d*xq@e|M~ak X>|sw`6(7pLz`)??>gTe~DWM4fg>}vs diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0027.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0027.png deleted file mode 100644 index 9ab5b001001812149bc0a637b8e9b5d5c96f9ae8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1615 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|SG7iEBiOTV_rwgMLPSZmND(W^Qg`vVL(5kcR zLj~IM^|rPNbhik2aV~68irf(#!s2?twQ#Amqo7V+Oy_>bn2sF+ANhA&j91WG;uIRQ zVzyG3f>x-vfTm)GrsObqBJ>BtpPZ?F`T$WlfFX`fIn~fV&O(Gu& z3r9bbOfJt=FZ{%@OF290fq~=6M;mj^X3srl#=QJM?xQQ>W>0N4O>yW-H;ITn*>`)% zpDPg_ccNq5Uzjhy{Bq4Pk^fJQ2p&1vqsgD=_b*Ue;=Ao%XhPG*I|m;8a3sLcHvrrHtTBTNa*m zNt?ENWF6XeTV%DPVrWkNqH3M8^V@FozMnKdb+`Ar%%i{j^d5ZR3n@G<-&ouIZHJkg zc|`oz@+Prq4Rg0{;GgpK%u8{@_YVBW%x)U1yb_ zi@i{GC7X|BgYUYR0h&qaatb$JrtapEti8IvZ^yOG+js2#&bMOs#lved`2*8`>+;#p z-57J^fq0R-r?{7US>y+W58t>?KGFE+kbg;TQC;%)jWKV(S-ml+WSx|q7+XH?&_~Op z&oACFzq{iXVIlj2bMIcwbyshm6A)tiamT9fsVmQPg~UU`Ns9y&kKMInlw&S$+}-%- zr}q=7t+xWbw+UXj{nY4jd93+~^c#VD*zPSp@K;2-W5ILF@BA}jljbq{GZl01F7%hT zt+zJdQ2F<}<%;JgrnvtSh3aC{w*H?`(U`|@{yo|)e-nJdqh8uTnXz<*-<=rWNpV?1j_!}zMF`GY{SvWJ@!5f5iOr|ES(O;)pcHMP;^#@)qAKs20=EuM7 ks~?@2d?U3r_<8(3vCDH`?akL`U|?YIboFyt=akR{0H!U?jsO4v diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0028.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0028.png deleted file mode 100644 index fa8584b36dd7a50553e3143c6f2ea272a72e20fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1614 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|SG7iEBiOTV_rwgMLPSZmND(W^Qg`vVL(39K?EcjoSd4M%21L~l%JH8TBKlXkXBIK5OjJc0|SFFNIobvFD11I zVWpmdxn1z-M+^)MLLh19%H*8XVuj$u+=86cVg^Gai@IqN+6)XV&pllnLn1h9ryb0` z>ndSZ}2Y-{eW9y@Z%j2RCPL?~;9k-?GqrbpQ*MN_&0tKqRge+O1 zD`)d1U`fVAfi91OK}lD)w20f!ul-#+^ZVngjrnQiX=TrLZ~lFI`qHIKmtH)0@SsPb zOsDSWRoQdOlC$R>xwb<}xO%gsO!H%@7crgx|JNKl`hLeLrRto=QZFoy8m;?$|RWhWffnD zeh}KhypPfP@y8viX?IkzjoLpLJrGeA8rA?!Kn(2l@;CaIb3;{?)8<>fDF^ zgGLdIt7Wx6@?Y0gIj|`CLGcHMkivhClT=o!7=;NZ7n*NiGdrMGv1Z+Ai*#%61cjgX z*w#0T1|0nveB?}yri}B~#A=Rjjh5kiyqW)>2zzLKhw-rSgW3WSo~L$gtEFP6Ke~AL z-QJA}e-Ei_G?jeidR@qXZ%BlOAj`KOht3CC}} zyWMp0g+x@7@0z<&mu~JjaCiQ^UC;l$GyKg_vqn^ipM4v0mqZ`N`KNY_mP7`RbX>?cUgIA@jcz4+@;LOkG!ZgLB&v z&5*5+-6t5&-!NJ6QQ92y&WoMXo!nIwZpi5)rX0b#?q-fon;_JVD{Ve6|KfoLL+3(tx_7$7=E@XD`QTV+1 zK}t{mB}MV17rIIFneAR~yZb1s^A4-;E$1uNAFQWEA2`Ies`jecf!P!0{GD}m?(%}N zE7pk&p7Pjc=Q>0jEky4ey?xU5-MA&un%ubh_FH=mvIpOu1qFfHlD} zKBBln=Gh+3Gq?Lz2^L&>D)dWgLd))ggS82liXS9%%~=$oH~r}6Ir@*Q+h$yEI69xf z((O8T@!dDF={G!N>YTRqtE6wNXUv(+c_jBiUYYei=X!n{v+~WXJ@xy}2l~o=FpvGB zy_=^l(qqB=xzrdXQ;`6F6XZgo-qWT-x{^QN~FKom4kL~(_{ws#@ z!r4uk>{kSLJ&25F$Y4^30~Ldn`OPUhOT>f%U+=#DeE*{L4bcn!nq9e@y*X~Roz9${j(SXDlTUO%V7b90 z=F5I(?vt{H=l__0NWOV?Xr_A7zX^#o7KRFaFLZ*6&2!#bZII4BaBX+C{&TY(yzhdp z{M4DAy!6?bignDUCm2-kt|&f!;PJ)x{8Q~;|Fd7Q((}>WBkOb@XNv5*xuAT}IpZ+( ohXw~P%-fkQw0p&dx~KMmBKL1EJ#g5bfq{X+)78&qol`;+02FcM{{R30 diff --git a/pkgs/plymouth-spinner-monochrome/src/throbber-0029.png b/pkgs/plymouth-spinner-monochrome/src/throbber-0029.png deleted file mode 100644 index d9931e1ecbf2708841134a846f9d36d9cdbd20f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1588 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 E0Oh~Z5dZ)H