From 5f70161a1975096182518e5a8738d618465cf754 Mon Sep 17 00:00:00 2001 From: tux Date: Thu, 27 Feb 2025 16:12:22 +0530 Subject: [PATCH] feat: isolate awesomeWM config --- .sops.yaml | 55 - pkgs/awesome/default.nix => default.nix | 6 +- flake.lock | 1125 +---------------- flake.nix | 147 +-- hosts/alpha/default.nix | 103 -- hosts/alpha/hardware.nix | 33 - hosts/alpha/home.nix | 3 - hosts/alpha/secrets.yaml | 33 - hosts/arcturus/default.nix | 215 ---- hosts/arcturus/disko.nix | 53 - hosts/arcturus/home.nix | 15 - hosts/arcturus/secrets.yaml | 42 - hosts/canopus/default.nix | 332 ----- hosts/canopus/disko.nix | 48 - hosts/canopus/hardware.nix | 26 - hosts/canopus/home.nix | 102 -- hosts/canopus/secrets.yaml | 30 - hosts/capella/default.nix | 104 -- hosts/capella/disko.nix | 53 - hosts/capella/home.nix | 14 - hosts/common/default.nix | 58 - hosts/common/home.nix | 44 - hosts/common/secrets.yaml | 84 -- hosts/homelab/default.nix | 149 --- hosts/homelab/disko.nix | 48 - hosts/homelab/hardware.nix | 26 - hosts/homelab/home.nix | 21 - hosts/homelab/secrets.yaml | 30 - hosts/isoImage/default.nix | 84 -- hosts/isoImage/home.nix | 7 - hosts/rigel/default.nix | 62 - hosts/rigel/home.nix | 34 - hosts/sirius/default.nix | 57 - hosts/sirius/home.nix | 3 - hosts/vega/default.nix | 66 - hosts/vega/hardware.nix | 32 - hosts/vega/home.nix | 3 - hosts/vps/default.nix | 101 -- hosts/vps/disko.nix | 53 - hosts/vps/home.nix | 14 - modules/base/default.nix | 11 - modules/base/nh.nix | 16 - modules/base/nix.nix | 27 - 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/barrier/default.nix | 7 - modules/home/bitwarden/default.nix | 17 - modules/home/desktop/awesome/default.nix | 8 - modules/home/desktop/hyprland/default.nix | 273 ---- modules/home/desktop/rofi/default.nix | 317 ----- modules/home/desktop/waybar/default.nix | 338 ----- modules/home/firefox/default.nix | 73 -- modules/home/floorp/default.nix | 46 - modules/home/ghostty/default.nix | 39 - modules/home/git/default.nix | 20 - modules/home/helix/default.nix | 37 - modules/home/kdeconnect/default.nix | 6 - modules/home/librewolf/default.nix | 5 - modules/home/mopidy/default.nix | 39 - modules/home/nvim/default.nix | 40 - modules/home/picom/default.nix | 64 - modules/home/shell/default.nix | 79 -- modules/home/starship/default.nix | 48 - modules/home/thunderbird/default.nix | 9 - modules/home/tmux/default.nix | 38 - modules/home/vs-code/default.nix | 74 -- modules/home/wezterm/default.nix | 31 - modules/nixos/desktop/awesome/default.nix | 69 - modules/nixos/desktop/default.nix | 14 - modules/nixos/desktop/hyprland/default.nix | 3 - modules/nixos/fail2ban.nix | 32 - modules/nixos/networking/ssh.nix | 69 - modules/nixos/selfhosted/adguard.nix | 8 - modules/nixos/selfhosted/containers/cs2.nix | 61 - modules/nixos/selfhosted/cyber-tux.nix | 86 -- modules/nixos/selfhosted/gitea.nix | 29 - 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 | 48 - modules/nixos/selfhosted/ntfy-sh.nix | 28 - modules/nixos/selfhosted/open-webui.nix | 11 - 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/silver-bullet.nix | 28 - modules/nixos/selfhosted/tfolio.nix | 102 -- 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 | 23 - modules/nixos/virtualisation/waydroid.nix | 5 - overlays/default.nix | 27 - pkgs/astronvim/default.nix | 32 - pkgs/astronvim/user/init.lua | 209 --- pkgs/astronvim/user/mappings.lua | 18 - pkgs/astronvim/user/options.lua | 8 - pkgs/default.nix | 8 - pkgs/firefox-mod-blur/default.nix | 30 - pkgs/go-wol/default.nix | 27 - pkgs/nvim/default.nix | 22 - pkgs/nvim/nvim/init.lua | 54 - pkgs/nvim/nvim/lua/chadrc.lua | 28 - pkgs/nvim/nvim/lua/configs/avante.lua | 22 - pkgs/nvim/nvim/lua/configs/conform.lua | 29 - pkgs/nvim/nvim/lua/configs/dap.lua | 17 - pkgs/nvim/nvim/lua/configs/go.lua | 5 - pkgs/nvim/nvim/lua/configs/lazy.lua | 47 - pkgs/nvim/nvim/lua/configs/lspconfig.lua | 47 - pkgs/nvim/nvim/lua/configs/noice.lua | 27 - pkgs/nvim/nvim/lua/configs/null-ls.lua | 40 - pkgs/nvim/nvim/lua/configs/overrides.lua | 71 -- pkgs/nvim/nvim/lua/configs/rust.lua | 17 - pkgs/nvim/nvim/lua/configs/smart-yank.lua | 20 - pkgs/nvim/nvim/lua/configs/ts.lua | 5 - pkgs/nvim/nvim/lua/mappings.lua | 56 - pkgs/nvim/nvim/lua/neovide.lua | 21 - pkgs/nvim/nvim/lua/options.lua | 7 - pkgs/nvim/nvim/lua/plugins/init.lua | 216 ---- 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 .../awesome => src}/binds/client/init.lua | 0 .../awesome => src}/binds/client/keys.lua | 0 .../awesome => src}/binds/client/mouse.lua | 0 .../awesome => src}/binds/global/init.lua | 0 .../awesome => src}/binds/global/keys.lua | 0 .../awesome => src}/binds/global/mouse.lua | 0 {pkgs/awesome/awesome => src}/binds/init.lua | 0 {pkgs/awesome/awesome => src}/binds/mod.lua | 0 {pkgs/awesome/awesome => src}/config/apps.lua | 0 .../awesome/awesome => src}/config/rules.lua | 0 {pkgs/awesome/awesome => src}/config/user.lua | 0 {pkgs/awesome/awesome => src}/rc.lua | 0 .../awesome/awesome => src}/signal/client.lua | 0 {pkgs/awesome/awesome => src}/signal/init.lua | 0 .../awesome/awesome => src}/signal/screen.lua | 0 {pkgs/awesome/awesome => src}/signal/tag.lua | 0 {pkgs/awesome/awesome => src}/startup.lua | 0 .../awesome/awesome => src}/theme/default.lua | 0 .../awesome => src}/theme/icons/_blank.svg | 0 .../theme/icons/apple-keyboard-command.svg | 0 .../icons/application-variable-outline.svg | 0 .../theme/icons/application-variable.svg | 0 .../awesome => src}/theme/icons/apps.svg | 0 .../theme/icons/arrange-bring-forward.svg | 0 .../theme/icons/arrow-down-right-bold.svg | 0 .../theme/icons/arrow-u-left-top.svg | 0 .../awesome => src}/theme/icons/awesomewm.svg | 0 .../theme/icons/bluetooth-settings.svg | 0 .../theme/icons/book-clock-outline.svg | 0 .../theme/icons/book-clock.svg | 0 .../theme/icons/calculator.svg | 0 .../theme/icons/calendar-month.svg | 0 .../theme/icons/chart-line.svg | 0 .../theme/icons/check-bold.svg | 0 .../awesome => src}/theme/icons/check.svg | 0 .../theme/icons/checkbox-blank-outline.svg | 0 .../theme/icons/checkbox-blank.svg | 0 .../theme/icons/checkbox-marked.svg | 0 .../theme/icons/chevron-double-up.svg | 0 .../theme/icons/chevron-down.svg | 0 .../theme/icons/chevron-left.svg | 0 .../theme/icons/chevron-right.svg | 0 .../theme/icons/chevron-triple-up.svg | 0 .../theme/icons/chevron-up.svg | 0 .../theme/icons/circle-medium.svg | 0 .../theme/icons/circle-opacity.svg | 0 .../theme/icons/clock-fast.svg | 0 .../theme/icons/clock-time-1.svg | 0 .../theme/icons/clock-time-10.svg | 0 .../theme/icons/clock-time-11.svg | 0 .../theme/icons/clock-time-12.svg | 0 .../theme/icons/clock-time-2.svg | 0 .../theme/icons/clock-time-3.svg | 0 .../theme/icons/clock-time-4.svg | 0 .../theme/icons/clock-time-5.svg | 0 .../theme/icons/clock-time-6.svg | 0 .../theme/icons/clock-time-7.svg | 0 .../theme/icons/clock-time-8.svg | 0 .../theme/icons/clock-time-9.svg | 0 .../awesome => src}/theme/icons/close.svg | 0 .../awesome => src}/theme/icons/cogs.svg | 0 .../theme/icons/console-line.svg | 0 .../theme/icons/content-copy.svg | 0 .../theme/icons/delete-clock-outline.svg | 0 .../theme/icons/delete-clock.svg | 0 .../theme/icons/delete-forever.svg | 0 .../awesome => src}/theme/icons/dock-left.svg | 0 .../awesome => src}/theme/icons/dock-top.svg | 0 .../awesome => src}/theme/icons/download.svg | 0 .../theme/icons/emoticon-cool.svg | 0 .../awesome => src}/theme/icons/exit-run.svg | 0 .../awesome => src}/theme/icons/eye-off.svg | 0 .../theme/icons/file-document-edit.svg | 0 .../awesome => src}/theme/icons/firefox.svg | 0 .../theme/icons/folder-image.svg | 0 .../awesome => src}/theme/icons/folder.svg | 0 .../theme/icons/fullscreen.svg | 0 .../awesome => src}/theme/icons/help.svg | 0 .../theme/icons/home-thermometer.svg | 0 .../theme/icons/identifier.svg | 0 .../theme/icons/image-filter-center-focus.svg | 0 .../theme/icons/image-size-select-actual.svg | 0 .../awesome => src}/theme/icons/keyboard.svg | 0 .../theme/icons/lan-disconnect.svg | 0 .../theme/icons/lan-pending.svg | 0 .../theme/icons/layers-triple.svg | 0 .../theme/icons/layouts/floating.svg | 0 .../theme/icons/layouts/fullscreen.svg | 0 .../theme/icons/layouts/max.svg | 0 .../theme/icons/layouts/tiling.center.svg | 0 .../theme/icons/layouts/tiling.right.svg | 0 .../theme/icons/lightbulb-on.svg | 0 .../awesome => src}/theme/icons/lock.svg | 0 .../awesome => src}/theme/icons/logout.svg | 0 .../theme/icons/menu-right.svg | 0 .../awesome => src}/theme/icons/menu.svg | 0 .../awesome => src}/theme/icons/minus.svg | 0 .../awesome => src}/theme/icons/monitor.svg | 0 .../theme/icons/move-resize.svg | 0 .../awesome => src}/theme/icons/music.svg | 0 .../theme/icons/open-in-app.svg | 0 .../theme/icons/open-in-new.svg | 0 .../awesome => src}/theme/icons/pause.svg | 0 .../awesome => src}/theme/icons/pin-off.svg | 0 .../awesome => src}/theme/icons/pin.svg | 0 .../awesome => src}/theme/icons/pirate.svg | 0 .../awesome => src}/theme/icons/play.svg | 0 .../awesome => src}/theme/icons/plus.svg | 0 .../theme/icons/power-settings.svg | 0 .../awesome => src}/theme/icons/power.svg | 0 .../theme/icons/radiobox-blank.svg | 0 .../theme/icons/radiobox-marked.svg | 0 .../awesome => src}/theme/icons/refresh.svg | 0 .../awesome => src}/theme/icons/rename.svg | 0 .../awesome => src}/theme/icons/restart.svg | 0 .../theme/icons/shuffle-variant.svg | 0 .../awesome => src}/theme/icons/skip-next.svg | 0 .../theme/icons/skip-previous.svg | 0 .../awesome => src}/theme/icons/sleep.svg | 0 .../theme/icons/speedometer-slow.svg | 0 .../theme/icons/speedometer.svg | 0 .../awesome => src}/theme/icons/stop.svg | 0 .../theme/icons/tag-arrow-down.svg | 0 .../theme/icons/tag-multiple.svg | 0 .../awesome => src}/theme/icons/tag.svg | 0 .../awesome => src}/theme/icons/target.svg | 0 .../theme/icons/theme-light-dark.svg | 0 .../theme/icons/thermometer-lines.svg | 0 .../theme/icons/thermometer.svg | 0 .../theme/icons/timer-outline.svg | 0 .../theme/icons/timer-play.svg | 0 .../theme/icons/timer-sand.svg | 0 .../theme/icons/timer-settings.svg | 0 .../theme/icons/toggle-switch-off-outline.svg | 0 .../theme/icons/toggle-switch-off.svg | 0 .../theme/icons/toggle-switch-outline.svg | 0 .../theme/icons/toggle-switch.svg | 0 .../awesome => src}/theme/icons/toolbox.svg | 0 .../awesome => src}/theme/icons/tortoise.svg | 0 .../awesome => src}/theme/icons/tune.svg | 0 .../theme/icons/unfold-less-vertical.svg | 0 .../awesome => src}/theme/icons/upload.svg | 0 .../awesome => src}/theme/icons/video.svg | 0 .../awesome => src}/theme/icons/view-grid.svg | 0 .../awesome => src}/theme/icons/volume.svg | 0 .../theme/icons/water-thermometer.svg | 0 .../theme/icons/weather-pouring.svg | 0 .../theme/icons/weather-rainy.svg | 0 .../awesome => src}/theme/icons/web.svg | 0 .../theme/icons/window-close.svg | 0 .../theme/icons/window-maximize.svg | 0 .../theme/icons/window-minimize.svg | 0 {pkgs/awesome/awesome => src}/theme/init.lua | 0 {pkgs/awesome/awesome => src}/ui/init.lua | 0 .../awesome => src}/ui/notification/init.lua | 0 .../ui/notification/normal.lua | 0 .../awesome => src}/ui/titlebar/init.lua | 0 .../awesome => src}/ui/titlebar/normal.lua | 0 .../awesome/awesome => src}/ui/wibar/init.lua | 0 .../ui/wibar/module/battery.lua | 0 .../awesome => src}/ui/wibar/module/gpu.lua | 0 .../awesome => src}/ui/wibar/module/init.lua | 0 .../ui/wibar/module/launcher.lua | 0 .../ui/wibar/module/layoutbox.lua | 0 .../ui/wibar/module/profile.lua | 0 .../awesome => src}/ui/wibar/module/stats.lua | 0 .../ui/wibar/module/systray.lua | 0 .../ui/wibar/module/taglist.lua | 0 .../ui/wibar/module/tailscale.lua | 0 .../ui/wibar/module/tasklist.lua | 0 376 files changed, 18 insertions(+), 7933 deletions(-) delete mode 100644 .sops.yaml rename pkgs/awesome/default.nix => default.nix (73%) mode change 100755 => 100644 flake.lock delete mode 100644 hosts/alpha/default.nix delete mode 100644 hosts/alpha/hardware.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/disko.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 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/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 100755 modules/home/barrier/default.nix delete mode 100644 modules/home/bitwarden/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/rofi/default.nix delete mode 100644 modules/home/desktop/waybar/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/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 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 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/fail2ban.nix delete mode 100644 modules/nixos/networking/ssh.nix delete mode 100644 modules/nixos/selfhosted/adguard.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/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/silver-bullet.nix delete mode 100644 modules/nixos/selfhosted/tfolio.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 100644 pkgs/astronvim/default.nix delete mode 100644 pkgs/astronvim/user/init.lua delete mode 100644 pkgs/astronvim/user/mappings.lua delete mode 100644 pkgs/astronvim/user/options.lua 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/nvim/default.nix delete mode 100644 pkgs/nvim/nvim/init.lua delete mode 100644 pkgs/nvim/nvim/lua/chadrc.lua delete mode 100644 pkgs/nvim/nvim/lua/configs/avante.lua delete mode 100644 pkgs/nvim/nvim/lua/configs/conform.lua delete mode 100644 pkgs/nvim/nvim/lua/configs/dap.lua delete mode 100644 pkgs/nvim/nvim/lua/configs/go.lua delete mode 100644 pkgs/nvim/nvim/lua/configs/lazy.lua delete mode 100644 pkgs/nvim/nvim/lua/configs/lspconfig.lua delete mode 100644 pkgs/nvim/nvim/lua/configs/noice.lua delete mode 100644 pkgs/nvim/nvim/lua/configs/null-ls.lua delete mode 100644 pkgs/nvim/nvim/lua/configs/overrides.lua delete mode 100644 pkgs/nvim/nvim/lua/configs/rust.lua delete mode 100644 pkgs/nvim/nvim/lua/configs/smart-yank.lua delete mode 100644 pkgs/nvim/nvim/lua/configs/ts.lua delete mode 100644 pkgs/nvim/nvim/lua/mappings.lua delete mode 100644 pkgs/nvim/nvim/lua/neovide.lua delete mode 100644 pkgs/nvim/nvim/lua/options.lua delete mode 100644 pkgs/nvim/nvim/lua/plugins/init.lua 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 rename {pkgs/awesome/awesome => src}/binds/client/init.lua (100%) rename {pkgs/awesome/awesome => src}/binds/client/keys.lua (100%) rename {pkgs/awesome/awesome => src}/binds/client/mouse.lua (100%) rename {pkgs/awesome/awesome => src}/binds/global/init.lua (100%) rename {pkgs/awesome/awesome => src}/binds/global/keys.lua (100%) rename {pkgs/awesome/awesome => src}/binds/global/mouse.lua (100%) rename {pkgs/awesome/awesome => src}/binds/init.lua (100%) rename {pkgs/awesome/awesome => src}/binds/mod.lua (100%) rename {pkgs/awesome/awesome => src}/config/apps.lua (100%) rename {pkgs/awesome/awesome => src}/config/rules.lua (100%) rename {pkgs/awesome/awesome => src}/config/user.lua (100%) rename {pkgs/awesome/awesome => src}/rc.lua (100%) rename {pkgs/awesome/awesome => src}/signal/client.lua (100%) rename {pkgs/awesome/awesome => src}/signal/init.lua (100%) rename {pkgs/awesome/awesome => src}/signal/screen.lua (100%) rename {pkgs/awesome/awesome => src}/signal/tag.lua (100%) rename {pkgs/awesome/awesome => src}/startup.lua (100%) rename {pkgs/awesome/awesome => src}/theme/default.lua (100%) rename {pkgs/awesome/awesome => src}/theme/icons/_blank.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/apple-keyboard-command.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/application-variable-outline.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/application-variable.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/apps.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/arrange-bring-forward.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/arrow-down-right-bold.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/arrow-u-left-top.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/awesomewm.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/bluetooth-settings.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/book-clock-outline.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/book-clock.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/calculator.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/calendar-month.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/chart-line.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/check-bold.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/check.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/checkbox-blank-outline.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/checkbox-blank.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/checkbox-marked.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/chevron-double-up.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/chevron-down.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/chevron-left.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/chevron-right.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/chevron-triple-up.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/chevron-up.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/circle-medium.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/circle-opacity.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/clock-fast.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/clock-time-1.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/clock-time-10.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/clock-time-11.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/clock-time-12.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/clock-time-2.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/clock-time-3.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/clock-time-4.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/clock-time-5.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/clock-time-6.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/clock-time-7.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/clock-time-8.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/clock-time-9.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/close.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/cogs.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/console-line.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/content-copy.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/delete-clock-outline.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/delete-clock.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/delete-forever.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/dock-left.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/dock-top.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/download.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/emoticon-cool.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/exit-run.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/eye-off.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/file-document-edit.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/firefox.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/folder-image.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/folder.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/fullscreen.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/help.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/home-thermometer.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/identifier.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/image-filter-center-focus.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/image-size-select-actual.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/keyboard.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/lan-disconnect.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/lan-pending.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/layers-triple.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/layouts/floating.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/layouts/fullscreen.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/layouts/max.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/layouts/tiling.center.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/layouts/tiling.right.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/lightbulb-on.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/lock.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/logout.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/menu-right.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/menu.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/minus.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/monitor.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/move-resize.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/music.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/open-in-app.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/open-in-new.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/pause.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/pin-off.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/pin.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/pirate.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/play.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/plus.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/power-settings.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/power.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/radiobox-blank.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/radiobox-marked.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/refresh.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/rename.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/restart.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/shuffle-variant.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/skip-next.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/skip-previous.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/sleep.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/speedometer-slow.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/speedometer.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/stop.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/tag-arrow-down.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/tag-multiple.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/tag.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/target.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/theme-light-dark.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/thermometer-lines.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/thermometer.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/timer-outline.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/timer-play.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/timer-sand.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/timer-settings.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/toggle-switch-off-outline.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/toggle-switch-off.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/toggle-switch-outline.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/toggle-switch.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/toolbox.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/tortoise.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/tune.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/unfold-less-vertical.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/upload.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/video.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/view-grid.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/volume.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/water-thermometer.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/weather-pouring.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/weather-rainy.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/web.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/window-close.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/window-maximize.svg (100%) rename {pkgs/awesome/awesome => src}/theme/icons/window-minimize.svg (100%) rename {pkgs/awesome/awesome => src}/theme/init.lua (100%) rename {pkgs/awesome/awesome => src}/ui/init.lua (100%) rename {pkgs/awesome/awesome => src}/ui/notification/init.lua (100%) rename {pkgs/awesome/awesome => src}/ui/notification/normal.lua (100%) rename {pkgs/awesome/awesome => src}/ui/titlebar/init.lua (100%) rename {pkgs/awesome/awesome => src}/ui/titlebar/normal.lua (100%) rename {pkgs/awesome/awesome => src}/ui/wibar/init.lua (100%) rename {pkgs/awesome/awesome => src}/ui/wibar/module/battery.lua (100%) rename {pkgs/awesome/awesome => src}/ui/wibar/module/gpu.lua (100%) rename {pkgs/awesome/awesome => src}/ui/wibar/module/init.lua (100%) rename {pkgs/awesome/awesome => src}/ui/wibar/module/launcher.lua (100%) rename {pkgs/awesome/awesome => src}/ui/wibar/module/layoutbox.lua (100%) rename {pkgs/awesome/awesome => src}/ui/wibar/module/profile.lua (100%) rename {pkgs/awesome/awesome => src}/ui/wibar/module/stats.lua (100%) rename {pkgs/awesome/awesome => src}/ui/wibar/module/systray.lua (100%) rename {pkgs/awesome/awesome => src}/ui/wibar/module/taglist.lua (100%) rename {pkgs/awesome/awesome => src}/ui/wibar/module/tailscale.lua (100%) rename {pkgs/awesome/awesome => src}/ui/wibar/module/tasklist.lua (100%) diff --git a/.sops.yaml b/.sops.yaml deleted file mode 100644 index f803171..0000000 --- a/.sops.yaml +++ /dev/null @@ -1,55 +0,0 @@ -keys: - - &users - - &tux age14vktfes95f33vuefwnmuvryas7az04u76dsgyhfvsx73czkvmp2q7njkl4 - - - &hosts - - &sirius age1d3t78xlqd0erlqj2m9947l9eqwpge3zrperljw3xrshh0gjx4ghs8tuqcu - - &canopus age1udt3cssu7ahdrhsvckt8450rswrr6mknn36xpq74dkfp9lpajvnq84kdzj - - &homelab age1jg642q775gmnmxeu29gcf3lph8vem4xr8t84cxe809dpd0myrussh49h60 - - &arcturus age1zsl5d4vj6gl3h96y5p53sq5y4vr4vtlwp727h7rp9a4xfkxm53lqrh6r50 - - &alpha age145uq9emlxqzm3wqauy9zqj78wqx9e6h09xag6wust7jjgn4upfzsaemcvx - - &vega age1ydkclhk9kwqdq74utesqdfupt43lz64d5k65gz2z9uyljcqq9fcq3hv28l - - &capella age1sjnqsxdqyqngt52asc4cmrf0nkvmxvp8v4zrvrmtuftz3uffyskszjhqm5 - -creation_rules: - - path_regex: hosts/common/secrets.yaml$ - key_groups: - - age: - - *tux - - *sirius - - *canopus - - *homelab - - *arcturus - - *alpha - - *vega - - *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/pkgs/awesome/default.nix b/default.nix similarity index 73% rename from pkgs/awesome/default.nix rename to default.nix index 324b9f4..d383752 100644 --- a/pkgs/awesome/default.nix +++ b/default.nix @@ -2,10 +2,10 @@ stdenv, lib, }: let - awesome = ./awesome; + awesome = ./src; in stdenv.mkDerivation { - pname = "tux-awesome-wm-config"; + pname = "tawm"; version = "0.1.0"; buildCommand = '' @@ -14,7 +14,7 @@ in ''; meta = with lib; { - description = "tux's awesome-wm config"; + description = "tux's awesomeWM config"; homepage = "https://tux.rs"; platforms = platforms.all; license = licenses.gpl3; diff --git a/flake.lock b/flake.lock old mode 100755 new mode 100644 index e25238f..e604777 --- a/flake.lock +++ b/flake.lock @@ -1,525 +1,12 @@ { "nodes": { - "cyber-tux": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1739498566, - "narHash": "sha256-jKDn7/6o/ofpuGG6l4ZmXTgezAgquUjxzi+/kK83jzw=", - "ref": "refs/heads/main", - "rev": "388a7b8469a68c87a81610fdfa475e8102333db1", - "revCount": 6, - "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", - "nixpkgs": "nixpkgs", - "utils": "utils" - }, - "locked": { - "lastModified": 1727447169, - "narHash": "sha256-3KyjMPUKHkiWhwR91J1YchF6zb6gvckCAY1jOE+ne0U=", - "owner": "serokell", - "repo": "deploy-rs", - "rev": "aa07eb05537d4cd025e2310397a6adcedfe72c76", - "type": "github" - }, - "original": { - "owner": "serokell", - "repo": "deploy-rs", - "type": "github" - } - }, - "disko": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1738765162, - "narHash": "sha256-3Z40qHaFScWUCVQrGc4Y+RdoPsh1R/wIh+AN4cTXP0I=", - "owner": "nix-community", - "repo": "disko", - "rev": "ff3568858c54bd306e9e1f2886f0f781df307dff", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "disko", - "type": "github" - } - }, - "emacs": { - "inputs": { - "nixpkgs": "nixpkgs_3", - "nixpkgs-stable": "nixpkgs-stable_2" - }, - "locked": { - "lastModified": 1738809425, - "narHash": "sha256-bGRsRKHhHBrG8EcJgsRAkFqVzMm2zIS+yns7rdCzvu8=", - "owner": "nix-community", - "repo": "emacs-overlay", - "rev": "590d6ecac05c53ae8a87af317efa06f4a99ab116", - "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": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_2": { - "flake": false, - "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_3": { - "flake": false, - "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_4": { - "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-parts": { - "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": { - "inputs": { - "systems": "systems_2" - }, - "locked": { - "lastModified": 1705309234, - "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_2": { - "inputs": { - "systems": "systems_3" - }, - "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_3": { - "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_4": { - "inputs": { - "systems": "systems_4" - }, - "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_2", - "nixpkgs-stable": "nixpkgs-stable", - "nixpkgs-unstable": "nixpkgs-unstable", - "zig": "zig" - }, - "locked": { - "lastModified": 1738781852, - "narHash": "sha256-fTr3m5Ktg1vWeAbscpYS7BTjOIACXMjkG1xazeRGvAc=", - "owner": "ghostty-org", - "repo": "ghostty", - "rev": "4eb588501735e2df2910b54ed0dc8ad934b5d42f", - "type": "github" - }, - "original": { - "owner": "ghostty-org", - "repo": "ghostty", - "type": "github" - } - }, - "harfbuzz": { - "flake": false, - "locked": { - "lastModified": 1719502711, - "narHash": "sha256-2ieCf3ftNk851FZBDPVl+7QHWBqD729KiUxUyxi26Yg=", - "owner": "harfbuzz", - "repo": "harfbuzz", - "rev": "9c03576c49db6e7207d9bcdfe3abd170a809157f", - "type": "github" - }, - "original": { - "owner": "harfbuzz", - "ref": "9.0.0", - "repo": "harfbuzz", - "type": "github" - } - }, - "home-manager": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1738841109, - "narHash": "sha256-sEgE3nifaRU5gfAx33ds0tx/j+qM0/5/bHopv/w6c0c=", - "owner": "nix-community", - "repo": "home-manager", - "rev": "f99c704fe3a4cf8d72b2d568ec80bc38be1a9407", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "home-manager", - "type": "github" - } - }, - "impermanence": { - "locked": { - "lastModified": 1737831083, - "narHash": "sha256-LJggUHbpyeDvNagTUrdhe/pRVp4pnS6wVKALS782gRI=", - "owner": "nix-community", - "repo": "impermanence", - "rev": "4b3e914cdf97a5b536a889e939fb2fd2b043a170", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "impermanence", - "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" - } - }, - "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": 1740281615, - "narHash": "sha256-dZWcbAQ1sF8oVv+zjSKkPVY0ebwENQEkz5vc6muXbKY=", - "owner": "nix-community", - "repo": "nix-index-database", - "rev": "465792533d03e6bb9dc849d58ab9d5e31fac9023", - "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": 1738161919, - "narHash": "sha256-EKyY5XwFmgkEYElZEpNGEl6UsJO4jYvqtzZYtQPvD18=", - "ref": "refs/heads/main", - "rev": "5f6314b52859812eb877b54ddf158098cf21c8c0", - "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": { - "flake-compat": "flake-compat_3", - "flake-utils": "flake-utils_2", - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1738806509, - "narHash": "sha256-WvAgrkWYQOXKEkrhmbtQjgMPRhm1HCDbGgg/MCDHkQE=", - "owner": "nix-community", - "repo": "nix-vscode-extensions", - "rev": "d3354254f4d75d5ae5de58ee5b03c5bdbbb627c0", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nix-vscode-extensions", - "type": "github" - } - }, - "nixos-hardware": { - "locked": { - "lastModified": 1738816619, - "narHash": "sha256-5yRlg48XmpcX5b5HesdGMOte+YuCy9rzQkJz+imcu6I=", - "owner": "nixos", - "repo": "nixos-hardware", - "rev": "2eccff41bab80839b1d25b303b53d339fbb07087", - "type": "github" - }, - "original": { - "owner": "nixos", - "repo": "nixos-hardware", - "type": "github" - } - }, - "nixos-wsl": { - "inputs": { - "flake-compat": "flake-compat_4", - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1736095716, - "narHash": "sha256-csysw/Szu98QDiA2lhWk9seYOyCebeVEWL89zh1cduM=", - "owner": "nix-community", - "repo": "nixos-wsl", - "rev": "63c3b4ed1712a3a0621002cd59bfdc80875ecbb0", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixos-wsl", - "type": "github" - } - }, "nixpkgs": { "locked": { - "lastModified": 1702272962, - "narHash": "sha256-D+zHwkwPc6oYQ4G3A1HuadopqRwUY/JkMwHz1YF7j4Q=", + "lastModified": 1740547748, + "narHash": "sha256-Ly2fBL1LscV+KyCqPRufUBuiw+zmWrlJzpWOWbahplg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e97b3e4186bcadf0ef1b6be22b8558eab1cdeb5d", + "rev": "3a05eebede89661660945da1f151959900903b6a", "type": "github" }, "original": { @@ -529,613 +16,9 @@ "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", - "nixpkgs": "nixpkgs_4", - "nixpkgs-fmt": "nixpkgs-fmt", - "parts": "parts" - }, - "locked": { - "lastModified": 1738810169, - "narHash": "sha256-Q5xQXqV3u/8ISuItfhUlgpqn9UVotpmjSDh0FAtCyQM=", - "owner": "moni-dz", - "repo": "nixpkgs-f2k", - "rev": "4b928a68bc436d3bf4187bb2e1c7184b951ac9a8", - "type": "github" - }, - "original": { - "owner": "moni-dz", - "repo": "nixpkgs-f2k", - "type": "github" - } - }, - "nixpkgs-fmt": { - "inputs": { - "fenix": "fenix", - "flake-utils": "flake-utils_3", - "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": 1738452942, - "narHash": "sha256-vJzFZGaCpnmo7I6i416HaBLpC+hvcURh/BQwROcGIp8=", - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz" - }, - "original": { - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz" - } - }, - "nixpkgs-stable": { - "locked": { - "lastModified": 1733423277, - "narHash": "sha256-TxabjxEgkNbCGFRHgM/b9yZWlBj60gUOUnRT/wbVQR8=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "e36963a147267afc055f7cf65225958633e536bf", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "release-24.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-stable_2": { - "locked": { - "lastModified": 1738702386, - "narHash": "sha256-nJj8f78AYAxl/zqLiFGXn5Im1qjFKU8yBPKoWEeZN5M=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "030ba1976b7c0e1a67d9716b17308ccdab5b381e", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-24.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-stable_3": { - "locked": { - "lastModified": 1738849593, - "narHash": "sha256-6GcxEgw4MnMnJhhJN6W+bYI8T2FQyztOO3cr1eiFYUs=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "105c0fb69d91a878eaeccf22b9ecbb0a3db09758", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "release-24.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-unstable": { - "locked": { - "lastModified": 1733229606, - "narHash": "sha256-FLYY5M0rpa5C2QAE3CKLYAM6TwbKicdRK6qNrSHlNrE=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "566e53c2ad750c84f6d31f9ccb9d00f823165550", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_2": { - "locked": { - "lastModified": 1738680400, - "narHash": "sha256-ooLh+XW8jfa+91F1nhf9OF7qhuA/y1ChLx6lXDNeY5U=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "799ba5bffed04ced7067a91798353d360788b30d", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_3": { - "locked": { - "lastModified": 1738680400, - "narHash": "sha256-ooLh+XW8jfa+91F1nhf9OF7qhuA/y1ChLx6lXDNeY5U=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "799ba5bffed04ced7067a91798353d360788b30d", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_4": { - "locked": { - "lastModified": 1738806785, - "narHash": "sha256-OO2KdshE3sPEc/GHt7a8ccCQIK+rJQ2PeUwGgeUtew4=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "fca711ae287d4e2405f83b14c783fc7b094bffdd", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "master", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_5": { - "locked": { - "lastModified": 1738680400, - "narHash": "sha256-ooLh+XW8jfa+91F1nhf9OF7qhuA/y1ChLx6lXDNeY5U=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "799ba5bffed04ced7067a91798353d360788b30d", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_6": { - "locked": { - "lastModified": 1731763621, - "narHash": "sha256-ddcX4lQL0X05AYkrkV2LMFgGdRvgap7Ho8kgon3iWZk=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "c69a9bffbecde46b4b939465422ddc59493d3e4d", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-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", - "nixpkgs": "nixpkgs_5", - "treefmt-nix": "treefmt-nix" - }, - "locked": { - "lastModified": 1738847099, - "narHash": "sha256-xgra/fmOyFA1/4Ao9qpcoAz6keAdbLBcMqfxGyYNV1A=", - "owner": "nix-community", - "repo": "nur", - "rev": "b7bac25a408bfbe2b55b82b612ebf364e561568c", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nur", - "type": "github" - } - }, - "parts": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib" - }, - "locked": { - "lastModified": 1738453229, - "narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, "root": { "inputs": { - "cyber-tux": "cyber-tux", - "deploy-rs": "deploy-rs", - "disko": "disko", - "ghostty": "ghostty", - "home-manager": "home-manager", - "impermanence": "impermanence", - "nix-index-database": "nix-index-database", - "nix-on-droid": "nix-on-droid", - "nix-secrets": "nix-secrets", - "nix-vscode-extensions": "nix-vscode-extensions", - "nixos-hardware": "nixos-hardware", - "nixos-wsl": "nixos-wsl", - "nixpkgs": "nixpkgs_2", - "nixpkgs-f2k": "nixpkgs-f2k", - "nixpkgs-stable": "nixpkgs-stable_3", - "nur": "nur", - "sops-nix": "sops-nix", - "tfolio": "tfolio", - "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": [ - "wezterm-flake", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1735871325, - "narHash": "sha256-6Ta5E4mhSfCP6LdkzkG2+BciLOCPeLKuYTJ6lOHW+mI=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "a599f011db521766cbaf7c2f5874182485554f00", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "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_6" - }, - "locked": { - "lastModified": 1738291974, - "narHash": "sha256-wkwYJc8cKmmQWUloyS9KwttBnja2ONRuJQDEsmef320=", - "owner": "Mic92", - "repo": "sops-nix", - "rev": "4c1251904d8a08c86ac6bc0d72cc09975e89aef7", - "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": { - "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": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "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" - } - }, - "tfolio": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1740197906, - "narHash": "sha256-G4H/c91GlHhUG7joDXxmvtcWz1xepzwRR4J+gQGLH+k=", - "ref": "refs/heads/main", - "rev": "23cf45aa50e8db9533d8ca432bcd7b4d2bc2b421", - "revCount": 13, - "type": "git", - "url": "ssh://git@github.com/tuxdotrs/tfolio.git" - }, - "original": { - "type": "git", - "url": "ssh://git@github.com/tuxdotrs/tfolio.git" - } - }, - "treefmt-nix": { - "inputs": { - "nixpkgs": [ - "nur", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1733222881, - "narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "49717b5af6f80172275d47a418c9719a31a78b53", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "treefmt-nix", - "type": "github" - } - }, - "utils": { - "inputs": { - "systems": "systems" - }, - "locked": { - "lastModified": 1701680307, - "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "wezterm-flake": { - "inputs": { - "flake-utils": "flake-utils_4", - "freetype2": "freetype2", - "harfbuzz": "harfbuzz", - "libpng": "libpng", - "nixpkgs": [ - "nixpkgs" - ], - "rust-overlay": "rust-overlay", - "zlib": "zlib" - }, - "locked": { - "dir": "nix", - "lastModified": 1738379806, - "narHash": "sha256-3dkZt53Lr90wQOCPlDHAZn5t0G6n56t+JXW66+vviTE=", - "owner": "wez", - "repo": "wezterm", - "rev": "b28bbbc4c8345197e433590c9ce50a7bf3ea5bc7", - "type": "github" - }, - "original": { - "dir": "nix", - "owner": "wez", - "ref": "main", - "repo": "wezterm", - "type": "github" - } - }, - "zig": { - "inputs": { - "flake-compat": [ - "ghostty" - ], - "flake-utils": "flake-utils", - "nixpkgs": [ - "ghostty", - "nixpkgs-stable" - ] - }, - "locked": { - "lastModified": 1717848532, - "narHash": "sha256-d+xIUvSTreHl8pAmU1fnmkfDTGQYCn2Rb/zOwByxS2M=", - "owner": "mitchellh", - "repo": "zig-overlay", - "rev": "02fc5cc555fc14fda40c42d7c3250efa43812b43", - "type": "github" - }, - "original": { - "owner": "mitchellh", - "repo": "zig-overlay", - "type": "github" - } - }, - "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" + "nixpkgs": "nixpkgs" } } }, diff --git a/flake.nix b/flake.nix index 0658ad7..8d30aa5 100755 --- a/flake.nix +++ b/flake.nix @@ -1,148 +1,23 @@ { - description = "tux's Nix Flake"; + description = "tux's awesomeWM configuration"; + inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; 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 [ + }: let + systems = [ "x86_64-linux" "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" ]; - 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" "8022"]; - path = activateNixOnDroid self.nixOnDroidConfigurations.${hostname}; - }; - }; + forAllSystems = function: nixpkgs.lib.genAttrs systems (system: function nixpkgs.legacyPackages.${system}); 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"); - capella = nixosSystem (mkNixOSConfig "capella"); - vps = nixosSystem (mkNixOSConfig "vps"); - isoImage = nixosSystem (mkNixOSConfig "isoImage"); - homelab = nixosSystem (mkNixOSConfig "homelab"); - }; - - # NixOnDroid configuration entrypoint - # 'nix-on-droid switch --flake .#your-hostname' - nixOnDroidConfigurations = { - rigel = nixOnDroidConfiguration (mkDroidConfig "rigel"); - }; - - deploy = { - nodes = { - arcturus = mkNixOSNode "arcturus"; - canopus = mkNixOSNode "canopus"; - alpha = mkNixOSNode "alpha"; - sirius = mkNixOSNode "sirius"; - vega = mkNixOSNode "vega"; - capella = mkNixOSNode "capella"; - homelab = mkNixOSNode "homelab"; - 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"; - }; - 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"; - }; - 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"; + packages = forAllSystems (pkgs: rec { + default = tawm; + tawm = pkgs.callPackage ./default.nix {}; + }); }; } diff --git a/hosts/alpha/default.nix b/hosts/alpha/default.nix deleted file mode 100644 index af736fb..0000000 --- a/hosts/alpha/default.nix +++ /dev/null @@ -1,103 +0,0 @@ -{ - pkgs, - username, - config, - email, - inputs, - ... -}: { - imports = [ - ./hardware.nix - ../common - ../../modules/nixos/selfhosted/uptime-kuma.nix - ]; - - tux.services.openssh.enable = true; - tux.services.openssh.ports = [23]; - - tux.services.tfolio.enable = true; - - sops.secrets = { - borg_encryption_key = { - sopsFile = ./secrets.yaml; - }; - - "cloudflare_credentials/email" = { - sopsFile = ./secrets.yaml; - }; - - "cloudflare_credentials/dns_api_token" = { - sopsFile = ./secrets.yaml; - }; - }; - - boot = { - kernelPackages = pkgs.linuxPackages_zen; - initrd.systemd.enable = true; - - loader = { - grub.device = "/dev/sda"; - timeout = 1; - }; - }; - - networking = { - hostName = "alpha"; - - firewall = { - enable = true; - allowedTCPPorts = [80 443 22]; - }; - }; - - security = { - acme = { - acceptTerms = true; - defaults.email = "${email}"; - certs = { - "tux.rs" = { - 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"]; - - tux.services.nginxStreamProxy = { - enable = true; - upstreamServers = inputs.nix-secrets.proxy-servers; - }; - - services = { - nginx = { - recommendedGzipSettings = true; - recommendedOptimisation = true; - recommendedProxySettings = true; - recommendedTlsSettings = true; - }; - }; - - programs = { - zsh.enable = true; - dconf.enable = true; - }; - - environment.persistence."/persist" = { - enable = false; - }; - - home-manager.users.${username} = { - imports = [ - ./home.nix - ]; - }; - - system.stateVersion = "23.11"; -} diff --git a/hosts/alpha/hardware.nix b/hosts/alpha/hardware.nix deleted file mode 100644 index 81dbdd3..0000000 --- a/hosts/alpha/hardware.nix +++ /dev/null @@ -1,33 +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. -{ - lib, - modulesPath, - ... -}: { - imports = [ - (modulesPath + "/profiles/qemu-guest.nix") - ]; - - boot.initrd.availableKernelModules = ["ahci" "xhci_pci" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod"]; - boot.initrd.kernelModules = []; - boot.kernelModules = []; - boot.extraModulePackages = []; - - fileSystems."/" = { - device = "/dev/disk/by-uuid/471d0988-e57c-4767-a2b4-c93797a8c16f"; - 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.eth0.useDHCP = lib.mkDefault true; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; -} diff --git a/hosts/alpha/home.nix b/hosts/alpha/home.nix deleted file mode 100644 index 86ea8a7..0000000 --- a/hosts/alpha/home.nix +++ /dev/null @@ -1,3 +0,0 @@ -{...}: { - home.stateVersion = "23.11"; -} diff --git a/hosts/alpha/secrets.yaml b/hosts/alpha/secrets.yaml deleted file mode 100644 index 9880b41..0000000 --- a/hosts/alpha/secrets.yaml +++ /dev/null @@ -1,33 +0,0 @@ -borg_encryption_key: ENC[AES256_GCM,data:4rS4RVUbSErLEVJuUluYOrw0m2LlYP7zEeYTL4yTmc4=,iv:epNhm2nSDF4Lp+Iu/vZuDiTna+1q59lY7Ztmpcpmb5o=,tag:7o0MwZBdiDSPaL07qVOfWg==,type:str] -cloudflare_credentials: - email: ENC[AES256_GCM,data:Re656wFjQWWNO/k=,iv:NsRdtzMbkOPS9kN/y/IYzRrBr+xmDXp87DTiNwHKesc=,tag:4hGnmto08H2MKxk/7QkI5w==,type:str] - dns_api_token: ENC[AES256_GCM,data:703Nk1PaePWYuKNVJkSVTplAvsSTLrYrWdhZlTqlMNRa6m2j5neahg==,iv:RHpz1O1TgFsooYGIJiI8Owwmk5hzd+x+DFADvt+k9C0=,tag:zlDnKbLbSBVXMaHOnk0AuQ==,type:str] -sops: - kms: [] - gcp_kms: [] - azure_kv: [] - hc_vault: [] - age: - - recipient: age14vktfes95f33vuefwnmuvryas7az04u76dsgyhfvsx73czkvmp2q7njkl4 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBkTnRhZVg3MmNiOFpoeTE3 - SXdtRXN1VS82S3AveDFMRjFYQVJpMDdyQWowCjJrQlIwN2VHQUlUazNaMERnRDJR - dFQ2VUpDMlJENVU5cWtIY3pZZU9wSmcKLS0tIEF1NzRkSHJ5cTQrM3RWdUtrYzkw - VXI3QzE5UlBhS2g1RUl0TEtaS0NPTW8KAQ+9Hk3HNMhwm33T3mzgkavs6mx4zKqZ - xjfB5d5W5UI+7uYC+RQNNA/cVxAgkMiW4OL4HAt2hXD6lrsjNzxzpQ== - -----END AGE ENCRYPTED FILE----- - - recipient: age145uq9emlxqzm3wqauy9zqj78wqx9e6h09xag6wust7jjgn4upfzsaemcvx - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB4OHkvTk5JaWxLbmZ5VEtV - S2VkMVl0WGZOYk5WRTJISWMxU0tja0x6alFrCnJISFNTbDhNRXJjUDJDS1JmWmRK - aGhyaFBjNTlhanE3UGdQb0JFUWFCTWcKLS0tIDhVZ1JxcGJUcWsvWVFSWFZWYjdx - K2syUkFRb3F3aFFFeis3OFR4ZENielEKGrUQCi7xaPzJKypvy4tyoSG1a2/l5Le0 - dVcheJcRJvoo89WWrciMhZ/MCs5kffI464RVW7q9BxbJRDO2Obm2dw== - -----END AGE ENCRYPTED FILE----- - lastmodified: "2024-09-13T09:10:11Z" - mac: ENC[AES256_GCM,data:GTzDXeEzRFmrX0PU0GKPF5JwscZUrzUmB90ThHPZ7oqflOPpZBrotOo4MZCcU37HEPAXVeFUzVnsjN5bOp5RFqs70r9upj2jXiIsbx/yskcPOML3GAFmVc9HbjOK9TLyie2bJWaFhT+b7CgiJvyIu0QEh43dqSI4d3H1T8Hqn1o=,iv:kcV3Xz276+PKrztSIDB2SiJjDV2iqCn2A90AjEO326M=,tag:3xu3sQeRB15Os06i484GFw==,type:str] - pgp: [] - unencrypted_suffix: _unencrypted - version: 3.9.0 diff --git a/hosts/arcturus/default.nix b/hosts/arcturus/default.nix deleted file mode 100644 index 594ce29..0000000 --- a/hosts/arcturus/default.nix +++ /dev/null @@ -1,215 +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/sda";}) - - ../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/plausible.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/nextcloud.nix - ../../modules/nixos/selfhosted/silver-bullet.nix - ../../modules/nixos/selfhosted/rustdesk-server.nix - ../../modules/nixos/selfhosted/kasmweb.nix - ]; - - tux.services.openssh.enable = true; - - 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; - }; - - nextcloud_password = { - sopsFile = ./secrets.yaml; - owner = "nextcloud"; - }; - - 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; - }; - }; - - 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]; - }; - }; - - 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; - recommendedZstdSettings = 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" - ]; - 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" - ]; - }; - - 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 3d7ca38..0000000 --- a/hosts/arcturus/home.nix +++ /dev/null @@ -1,15 +0,0 @@ -{username, ...}: { - home.persistence."/persist/home/${username}" = { - directories = [ - "Projects" - "Stuff" - ".ssh" - ]; - files = [ - ".zsh_history" - ]; - allowOther = true; - }; - - home.stateVersion = "24.11"; -} diff --git a/hosts/arcturus/secrets.yaml b/hosts/arcturus/secrets.yaml deleted file mode 100644 index b8f6124..0000000 --- a/hosts/arcturus/secrets.yaml +++ /dev/null @@ -1,42 +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:waEPGskjkkdX98PKzgZG1bzS+NwL6GR8kok=,iv:8a8IeXla8XSHFzjKcVY3QYUK5aFk2kPHVIRvs1y7So0=,tag:p++o6wvLtG5DbDmUusRQLg==,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] -sops: - kms: [] - gcp_kms: [] - azure_kv: [] - hc_vault: [] - 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: "2025-01-24T12:59:25Z" - mac: ENC[AES256_GCM,data:WGWGvbqu07XZ5oU2HBGUbP/9oNCavPBXb2SIm10CG2s377QAWZmpdOC2AGAX8J3NfLtyWEHm8WUQSKjNKvKWARsXU24lNnY+BTSIkF8ymrAU/rRMX8VJi92IYjregAfVBIaYomxqJFhNuAhmsQ75ZYMpRBTusxiEFEdl/H9obiY=,iv:VXIVkpnOY2gZ/xDX/oFvZn08K5Gp49tpiJQGK20blro=,tag:Hkk92ZQWTRY9oQb3Mm6R3w==,type:str] - pgp: [] - unencrypted_suffix: _unencrypted - version: 3.9.3 diff --git a/hosts/canopus/default.nix b/hosts/canopus/default.nix deleted file mode 100755 index 1f5bd30..0000000 --- a/hosts/canopus/default.nix +++ /dev/null @@ -1,332 +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/awesome - ../../modules/nixos/desktop/hyprland - ../../modules/nixos/virtualisation - ../../modules/nixos/steam.nix - ]; - - tux.services.openssh.enable = true; - - nixpkgs.config.cudaSupport = true; - - sops.secrets = { - hyperbolic_api_key = { - 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]; - - 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.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 = 5; - }; - 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; - file-roller.enable = true; - thunar = { - enable = true; - plugins = with pkgs.xfce; [thunar-archive-plugin thunar-volman]; - }; - nix-ld = { - enable = true; - package = pkgs.nix-ld-rs; - }; - nm-applet.enable = true; - noisetorch.enable = true; - }; - - services = { - resolved.enable = true; - flatpak.enable = true; - - pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - }; - - logind = { - extraConfig = "HandlePowerKey=suspend"; - lidSwitch = "suspend"; - lidSwitchExternalPower = "suspend"; - }; - - xrdp = { - enable = true; - openFirewall = true; - defaultWindowManager = "awesome"; - audio.enable = true; - }; - - syncthing = { - enable = true; - user = "tux"; - dataDir = "/home/tux/"; - openDefaultPorts = true; - }; - - xserver = { - enable = true; - xkb = { - layout = "in"; - variant = "eng"; - }; - }; - - libinput.touchpad.naturalScrolling = true; - - # 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 = { - governor = "powersave"; - turbo = "never"; - scaling_min_freq = 400000; - scaling_max_freq = 3800000; - }; - charger = { - governor = "powersave"; - turbo = "never"; - scaling_max_freq = 3800000; - }; - }; - }; - - 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; - enableUserService = true; - asusdConfig.text = '' - ( - charge_control_end_threshold: 100, - panel_od: false, - mini_led_mode: false, - disable_nvidia_powerd_on_battery: true, - ac_command: "", - bat_command: "", - platform_policy_on_battery: Quiet, - platform_policy_on_ac: Quiet, - ppt_pl1_spl: None, - ppt_pl2_sppt: None, - ppt_fppt: None, - ppt_apu_sppt: None, - ppt_platform_sppt: None, - nv_dynamic_boost: None, - nv_temp_target: None, - ) - ''; - profileConfig.text = '' - ( - active_profile: Quiet, - ) - ''; - }; - - gvfs.enable = true; - tumbler.enable = true; - 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 - ]; - - 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" - "/etc/NetworkManager/system-connections" - ]; - files = [ - # "/etc/machine-id" - "/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 cb6eb32..0000000 --- a/hosts/canopus/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/canopus/hardware.nix b/hosts/canopus/hardware.nix deleted file mode 100755 index 60b5722..0000000 --- a/hosts/canopus/hardware.nix +++ /dev/null @@ -1,26 +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 e491b63..0000000 --- a/hosts/canopus/home.nix +++ /dev/null @@ -1,102 +0,0 @@ -{ - pkgs, - username, - ... -}: { - imports = [ - ../../modules/home/desktop/awesome - ../../modules/home/desktop/hyprland - ../../modules/home/desktop/waybar - ../../modules/home/picom - ../../modules/home/alacritty - ../../modules/home/wezterm - ../../modules/home/ghostty - ../../modules/home/desktop/rofi - ../../modules/home/barrier - ../../modules/home/firefox - ../../modules/home/librewolf - ../../modules/home/kdeconnect - ../../modules/home/vs-code - ../../modules/home/mopidy - ../../modules/home/thunderbird - ../../modules/home/floorp - ]; - - home.pointerCursor = { - package = pkgs.bibata-cursors; - name = "Bibata-Modern-Ice"; - }; - - qt.enable = true; - qt.platformTheme.name = "gtk"; - qt.style.name = "adwaita-dark"; - qt.style.package = pkgs.adwaita-qt; - - gtk = { - enable = true; - theme = { - name = "Materia-dark"; - package = pkgs.materia-theme; - }; - iconTheme = { - package = pkgs.tela-icon-theme; - name = "Tela-black"; - }; - }; - - home.packages = with pkgs; [ - discord - telegram-desktop - anydesk - rustdesk-flutter - rawtherapee - beekeeper-studio - obs-studio - flameshot - libreoffice-qt - spotify - stremio - galaxy-buds-client - copyq - vlc - tor-browser - ]; - - home.persistence."/persist/home/${username}" = { - directories = [ - "Downloads" - "Music" - "Wallpapers" - "Documents" - "Videos" - "Projects" - "Stuff" - ".mozilla" - ".ssh" - ".wakatime" - ".rustup" - ".cargo" - ".config/copyq" - ".config/discord" - ".config/Vencord" - ".config/sops" - ".config/obs-studio" - ".config/rustdesk" - ".config/spotify" - ".local/share/nvim" - ".local/share/zoxide" - ".local/share/Smart\ Code\ ltd" - ".local/share/GalaxyBudsClient" - ".local/share/TelegramDesktop" - ".local/state/lazygit" - ".cache/spotify" - ]; - files = [ - ".zsh_history" - ".wakatime.cfg" - ]; - allowOther = true; - }; - - home.stateVersion = "24.11"; -} diff --git a/hosts/canopus/secrets.yaml b/hosts/canopus/secrets.yaml deleted file mode 100644 index 02465bd..0000000 --- a/hosts/canopus/secrets.yaml +++ /dev/null @@ -1,30 +0,0 @@ -hyperbolic_api_key: ENC[AES256_GCM,data:FjDSbdutLa9hnVGRR+k2MznVfDGAx1/rNfjY/vaBuvKoBRj7aHqGpQ1cvhfxjyLMqPLqLnmimEtZeykvgkIIjKGzw5PewE23+lrN3oQyoYJvK+b8PRStjSaxOfzOnuLXi+YVnsU939nStLwnmSYKDabNWgFcWYsHwtHDafuWyovM9sVwasTn,iv:bxseG6GLKBL/CJOS8SrhgiLEyvMGSNQIMJSYLk2MqEo=,tag:4wxmkUwlcu23d7pMHbvIoQ==,type:str] -sops: - kms: [] - gcp_kms: [] - azure_kv: [] - hc_vault: [] - age: - - recipient: age14vktfes95f33vuefwnmuvryas7az04u76dsgyhfvsx73czkvmp2q7njkl4 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBwUnhkNzR0TnNzL29xV3cv - R3lqYUtVWWlNOVFTZHhTMWJZL1ZJUDIxaG0wCnIvQnkxSWJxWTZYVEkvS1ZWSEhk - YmhuK2JtS3lmUjV6MW50SGZrTnpkeDAKLS0tIDkvbk5abnhkNlA0dmgwV0Z0L1BS - UUduZUV3OGcvaFdBOFFsc0xzVCtQcUUKrmZvR2onMD0snqPw8okxaK6Tz5sA/cmR - 1ZczgwLslJA7kwGKYOslUGA7aGB4jyP+M74wBAVa71BqWatypp0RfA== - -----END AGE ENCRYPTED FILE----- - - recipient: age1udt3cssu7ahdrhsvckt8450rswrr6mknn36xpq74dkfp9lpajvnq84kdzj - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBEOE0xbDN0UmdVdE1DR1lo - dmNudDk2TjNQdHFGc0lJTSt0dVVRU3BPRlg0ClV1ZUdxRVNpSmhYQm80QjdhdFc5 - SVI4bi93WDBDWHQvejJIV21Bc2NsMjgKLS0tIEduZ2hHSnI3UXlGU2ZFZkpTRDJo - K0tiZ0swMmpuVW02OHMrRThlOXBWUjQKYHyJZuvQABh+gJ+THQ5SakVEqsKkyBMb - k6KnjRATpdZlmm0GjbD4aasF/j/V2fuH327Z72jPWQuI1y5ZfbDhSg== - -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-01-21T14:42:55Z" - mac: ENC[AES256_GCM,data:UoUa+ypzLAfl2dU7r0dPkddDKyL3d/jFYAUTBbo1828THBCIJPRxaBHmMI1+BjZ/TSvJsGFhJS6YbrQB0zKN/CrH/OGdZPpwJ3VXwFtBWcEc7v8VZCFeWoRnYA31j7uPBA/KxvxpijSEIyJDO4IO+885cyK+uI+5DY9OU9UkDrg=,iv:56K11zOXjZP2XWcz9Xe9Wzqu1XhTfm9Fqd4xNETs2vU=,tag:IssVEyR9AJDZ18+RBvR63Q==,type:str] - pgp: [] - unencrypted_suffix: _unencrypted - version: 3.9.3 diff --git a/hosts/capella/default.nix b/hosts/capella/default.nix deleted file mode 100644 index 2e89358..0000000 --- a/hosts/capella/default.nix +++ /dev/null @@ -1,104 +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/vda";}) - - ../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 = "capella"; - firewall.enable = false; - }; - - 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" - ]; - }; - - home-manager.users.${username} = { - imports = [ - ./home.nix - ]; - }; - - system.stateVersion = "24.11"; -} diff --git a/hosts/capella/disko.nix b/hosts/capella/disko.nix deleted file mode 100644 index 4a0c700..0000000 --- a/hosts/capella/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/capella/home.nix b/hosts/capella/home.nix deleted file mode 100644 index 1ae0bdd..0000000 --- a/hosts/capella/home.nix +++ /dev/null @@ -1,14 +0,0 @@ -{username, ...}: { - home.persistence."/persist/home/${username}" = { - directories = [ - "Projects" - ".ssh" - ]; - files = [ - ".zsh_history" - ]; - allowOther = true; - }; - - home.stateVersion = "24.11"; -} diff --git a/hosts/common/default.nix b/hosts/common/default.nix deleted file mode 100644 index b3bac8b..0000000 --- a/hosts/common/default.nix +++ /dev/null @@ -1,58 +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/networking/ssh.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 20a30f8..0000000 --- a/hosts/common/home.nix +++ /dev/null @@ -1,44 +0,0 @@ -{ - outputs, - username, - inputs, - ... -}: { - imports = [ - inputs.impermanence.nixosModules.home-manager.impermanence - inputs.nix-index-database.hmModules.nix-index - - ../../modules/home/shell - ../../modules/home/git - ../../modules/home/starship - ../../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 c907ffd..0000000 --- a/hosts/common/secrets.yaml +++ /dev/null @@ -1,84 +0,0 @@ -tux-password: ENC[AES256_GCM,data:znZPP7d0z0bfp6pxPUFwbjRk4orY5luGe0yXDSrGmYLLn6GJIlhzJ199sQfTG2T1u5/0AmRNkw7Ev7TZSDwyp/fZkmh53Mv5aQ==,iv:v7PbW34T987bj4uovtexyrfqTmCZbB3ZVr/hankwlq4=,tag:r4yqBVS+4T8AU9OCTzb0qQ==,type:str] -sops: - kms: [] - gcp_kms: [] - azure_kv: [] - hc_vault: [] - age: - - recipient: age14vktfes95f33vuefwnmuvryas7az04u76dsgyhfvsx73czkvmp2q7njkl4 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB1ODE2Sk8vWGZvUTdXaXJQ - NkxMZ2RwVWhRU2YwRmNZQkVITzN4SkxKL0JRCmJnM0M5ZDdFcW01dEpYQ2JLcFdV - aCs1RnNQcXFlQmRkR3ljQWNvejU5ODAKLS0tIFMyeWIyVUhsS1pjcXl4cWM1TXJH - OUdMd050ZWl5bEwzMjc2Q1h0ZTltOE0Kle5ASAQTtMX3Jx3B2z817MGhAi3EgzZj - Ef0QcB2ZH/VdBu4awdyL9XJQcdDGEb6IdLJcBd0hs2Sy1ZDB7pmvmA== - -----END AGE ENCRYPTED FILE----- - - recipient: age1d3t78xlqd0erlqj2m9947l9eqwpge3zrperljw3xrshh0gjx4ghs8tuqcu - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBUWGpkTWEwWUMxd04rcTJv - VU9tMUExS01uZ1FaSjJ2UmUyNXBTQ05jVXp3ClExZDVCZEo5WHl4L25UdjE4dkdz - N0NsRUVwQ0ExWW9HWHphRVpzYTBVY28KLS0tIGZyNXFGc3ZxYkZIb2RRcHlxcFZ0 - RnY4YVVCOFNubjk2R3BqMTMvcURpcHMK5wWDD91kf17SMHitd7ZcBnEYLpfvMBkz - 5QZRIEyS+KQWn5Rj0Yc5avV10zynDhC1827Hqcrpg8vk042cA3f8Mw== - -----END AGE ENCRYPTED FILE----- - - recipient: age1udt3cssu7ahdrhsvckt8450rswrr6mknn36xpq74dkfp9lpajvnq84kdzj - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBzSGhxaGhrdit3NGxudGhs - cHFNL002LzdKYUROL1pxRVFqQjY5SU5TOWtzCmZleUY0Q2E5TGVWL1I2Y0NhUVJM - c055VnJiTVdVQWYxblF1WjV4bXFzWXMKLS0tIFdZMy84VEFzbEhvbjVEQ1lOVm02 - aGFFcXY0c21RbzdrRk9TcFh0QUJTSUUKj9FoEOzasV+vUMYVzaY1g8/F0K6sAVFe - kjPEuMR5s6JUWCrc/fgi3h2LS7ujd3HOAjpg1Ue9RlxH66vWgiRIdA== - -----END AGE ENCRYPTED FILE----- - - recipient: age1jg642q775gmnmxeu29gcf3lph8vem4xr8t84cxe809dpd0myrussh49h60 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKb0pCNis1eWIvaFBqVzdC - QVhaTStCdWNSZHM0bWpjYlZTNDdFcThBWjFRCmk2OC9xaElUaUduNzFUWTROVDZm - b1RoTGh5aXNaR1dUbjFPekVRSXdhRTgKLS0tIHBndUlsTGJNbUlwRDJoeTJRcjky - NUxoVWI3VkxESU1aa0t0Q3RTeFJMR0kK63MYcs4X6ZIJtMYtpXdjfZWqoF2vU1TL - 4JO2d3PtAMbJDTShXU6LAIPAZkFS3alSLo7AemfaCJSEqfjm7p2J9A== - -----END AGE ENCRYPTED FILE----- - - recipient: age1zsl5d4vj6gl3h96y5p53sq5y4vr4vtlwp727h7rp9a4xfkxm53lqrh6r50 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB4TndxTWJxWFdHMm5mMmxL - bjRkbm03N1lDOW1oV2FybStJMFR0bVh5WTNvCnp4NXdnVGFnVU5oWG1DczFnVDFD - dUthOVZLL2xZY3NsMzdEdzkwZmpvWTAKLS0tIE1McFQ2S0srUjJMdmhlczVwVk0r - RllNaysxN3BJbGRTeEdSQ0ZCTWJLS3cKrQLzrigUgT6TAwLh497bGsj8RPes8daP - bN+1TckQXdHEC7nHdanCljnq/EVp3Ant0GbtR/Xj0H01y3/wgydAoQ== - -----END AGE ENCRYPTED FILE----- - - recipient: age145uq9emlxqzm3wqauy9zqj78wqx9e6h09xag6wust7jjgn4upfzsaemcvx - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0bGtlZkgwdzlNNXVKcEJr - V1lCRzljRlJka0g5SHRMNlNjVkRlQ0J0NjBvCnZtdVFuSlptb3Fkc0pFRm1xVDh5 - dHZqMzN2RGc1dzNxc3lMOVJxZTlPYnMKLS0tIDBYMDVVUDYzR3h6UDBaOUFUU0Zo - MG1mMEZycmc5Q0NyOWlvM0NpQ0RVQm8KXwBINuKj8yf/GlAnftFiPV/CTddn5Q9e - 6cfMXOUmu7maJ7ckftHh4McQn37KSRSvsUaDcfnJYi/+AP4xZVR2ew== - -----END AGE ENCRYPTED FILE----- - - recipient: age1ydkclhk9kwqdq74utesqdfupt43lz64d5k65gz2z9uyljcqq9fcq3hv28l - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBjM3U1TWRMcTBabFI0bzVP - cWE5eWZBQzk0MFdCQmd5UHpPaDdLbW8rVlJFCitOUkNoSDRkTnIyRDYzcmZTZXlS - ZldJckNncVBycjRNZ2gxc3NqYWtyUEUKLS0tIFNuTlVwR0tsSVE3bzhIeG5sbXhO - Q2VibU9DK0MvNm1sWjlZbE1RR1orU3MKMOM/nC+iCvWl6S1Deaj48PosHpICSGSq - E3rew2o2fDSorlEJQXQ1Hy5mU+QD6HUwD9Yf4Fj1avsWnfSUldbgLA== - -----END AGE ENCRYPTED FILE----- - - recipient: age1sjnqsxdqyqngt52asc4cmrf0nkvmxvp8v4zrvrmtuftz3uffyskszjhqm5 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBva0ZSd24xeXdFYi9MNEF1 - MW9JaG1mVzJ2bERyZ0l6SzNHbzBnSmx4YURRCklPemVENXFzU1o1Sng0L0FHbjVm - aFJSeVorWmR3ZmVLbHpEQjZMa2gzWkUKLS0tIHV6REZXREVXbEhTeGs2NmdlZ1d1 - R3k4cS9WN2d3ME95Y3dqZzdSdlkrVkEKefD2SOkoWUJLBJgMxs4/UhE9sgGbm7A7 - NzrHzIUOdjrkMIo/nAOrEO7vSI0CUwE1NHIc+q4LXyR1WHVY+ozI7g== - -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-02-25T21:19:20Z" - mac: ENC[AES256_GCM,data:gMrMUE0d6b0rNYUviNx7gwbrXW0S7YeKyUQTtKqfBICWdv2pr/pcf+Yad78x0YANKau4f5fri+HZvHDVAe8Wo43+udpEkQZO1UMv7iLpjXqrWMiTQ7xSC3sY27gnoKrq2l6vojUh6Z/HXvdwZFyZ+SEQOYOnHXLmugVuK5ACVvU=,iv:2Lqlp1O2SQLdU+h//WGizVVcV4VbxKzwbGABV6vspPE=,tag:oRqfQXcYrNZQkBMMuat/NQ==,type:str] - pgp: [] - unencrypted_suffix: _unencrypted - version: 3.9.4 diff --git a/hosts/homelab/default.nix b/hosts/homelab/default.nix deleted file mode 100755 index fda47c2..0000000 --- a/hosts/homelab/default.nix +++ /dev/null @@ -1,149 +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 - ../../modules/nixos/selfhosted/open-webui.nix - ]; - - tux.services.openssh.enable = true; - - sops.secrets = { - discord_token = { - sopsFile = ./secrets.yaml; - }; - }; - - 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 = 5; - }; - efi.canTouchEfiVariables = true; - timeout = 1; - }; - }; - - hardware = { - graphics.enable32Bit = true; - }; - - security = { - rtkit.enable = true; - }; - - programs = { - nix-ld = { - enable = true; - package = pkgs.nix-ld-rs; - }; - }; - - services = { - 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" - ]; - }; - - home-manager.users.${username} = { - imports = [ - ./home.nix - ]; - }; - - 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 60b5722..0000000 --- a/hosts/homelab/hardware.nix +++ /dev/null @@ -1,26 +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 84dbab2..0000000 --- a/hosts/homelab/home.nix +++ /dev/null @@ -1,21 +0,0 @@ -{username, ...}: { - home.persistence."/persist/home/${username}" = { - directories = [ - "Projects" - "Stuff" - ".ssh" - ".wakatime" - ".config/sops" - ".local/share/nvim" - ".local/share/zoxide" - ".local/state/lazygit" - ]; - files = [ - ".zsh_history" - ".wakatime.cfg" - ]; - allowOther = true; - }; - - home.stateVersion = "24.11"; -} diff --git a/hosts/homelab/secrets.yaml b/hosts/homelab/secrets.yaml deleted file mode 100644 index 89be44f..0000000 --- a/hosts/homelab/secrets.yaml +++ /dev/null @@ -1,30 +0,0 @@ -discord_token: ENC[AES256_GCM,data:fZqz6LD3+Svtton5gNCXO5ddWAqW1IyxP3M2DAIXZEIYRHUfAq8h9LES2IHWepjl5qKimxB35zacE/TYK2fitngWtRGVoMDBzzU6VTKNulNV3yFWrPA=,iv:YOplYld+c9vHVC0Srfm89qrh4yUygDiW67X2TdwHKMc=,tag:Ioc2wNLX818fRQ/2PSO7Sw==,type:str] -sops: - kms: [] - gcp_kms: [] - azure_kv: [] - hc_vault: [] - 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-02-15T12:45:59Z" - mac: ENC[AES256_GCM,data:NLGe7L/oiG62x4PmQ6FobnuisFmMxYoGhxfqQ4qZdy9emYL/+FnrtFsKTKqZ9IHjrNnCmbk7y+Cds/azC1xGVcaj50jEox87vtqIZ3z0XsD1mJjCAdHkBVzzpQGwHas/5y0Inyj+oKsvQrqVacqYHVA/ES+zMvou8nD+EWIH2LE=,iv:fBVOnwih+QFkYZ8IfMBpQiT1XwSZtzo3VYaBOL3I5o4=,tag:p+ePQsrmcLcnLr2fgWQXQg==,type:str] - pgp: [] - unencrypted_suffix: _unencrypted - version: 3.9.4 diff --git a/hosts/isoImage/default.nix b/hosts/isoImage/default.nix deleted file mode 100644 index 6a78d2a..0000000 --- a/hosts/isoImage/default.nix +++ /dev/null @@ -1,84 +0,0 @@ -{ - pkgs, - modulesPath, - inputs, - username, - ... -}: { - imports = [ - "${modulesPath}/installer/cd-dvd/installation-cd-minimal.nix" - inputs.home-manager.nixosModules.home-manager - - ../../modules/nixos/default.nix - ../../modules/nixos/desktop/awesome - ]; - - 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.xfce; [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 = { - extraConfig = "HandlePowerKey=suspend"; - lidSwitch = "suspend"; - lidSwitchExternalPower = "suspend"; - }; - - xserver = { - enable = true; - xkb = { - layout = "in"; - variant = "eng"; - }; - }; - - libinput.touchpad.naturalScrolling = true; - - blueman.enable = true; - - gvfs.enable = true; - tumbler.enable = true; - }; - - fonts.packages = with pkgs.nerd-fonts; [ - fira-code - jetbrains-mono - ]; - - home-manager.users.${username} = { - imports = [ - ./home.nix - ]; - }; - - system.stateVersion = "23.11"; -} diff --git a/hosts/isoImage/home.nix b/hosts/isoImage/home.nix deleted file mode 100644 index 6a6b363..0000000 --- a/hosts/isoImage/home.nix +++ /dev/null @@ -1,7 +0,0 @@ -{...}: { - imports = [ - ../common/home.nix - ]; - - home.stateVersion = "23.11"; -} diff --git a/hosts/rigel/default.nix b/hosts/rigel/default.nix deleted file mode 100644 index f07e6fe..0000000 --- a/hosts/rigel/default.nix +++ /dev/null @@ -1,62 +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 = [8022]; - authorizedKeys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL+OzPUe2ECPC929DqpkM39tl/vdNAXfsRnmrGfR+X3D ${email}" - ]; - }; - - user = { - uid = 10559; - gid = 10559; - shell = "${pkgs.zsh}/bin/zsh"; - }; - - environment.etcBackupExtension = ".backup"; - environment.motd = ''''; - environment.packages = with pkgs; [ - nano - git - neovim - openssh - ]; - - 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 5f2b98c..0000000 --- a/hosts/rigel/home.nix +++ /dev/null @@ -1,34 +0,0 @@ -{pkgs, ...}: { - imports = [ - ../../modules/home/git - ../../modules/home/starship - ]; - - programs = { - bat.enable = true; - zoxide = { - enable = true; - options = ["--cmd cd"]; - }; - zsh = { - enable = true; - shellAliases = { - ls = "lsd"; - }; - syntaxHighlighting.enable = true; - autosuggestion.enable = true; - initExtra = '' - 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 dbf821e..0000000 --- a/hosts/sirius/default.nix +++ /dev/null @@ -1,57 +0,0 @@ -{ - pkgs, - inputs, - username, - config, - ... -}: { - imports = [ - inputs.nixos-wsl.nixosModules.wsl - - ../common - ../../modules/nixos/virtualisation/docker.nix - ]; - - tux.services.openssh.enable = true; - - boot.binfmt.emulatedSystems = ["aarch64-linux"]; - - nixpkgs = { - config.cudaSupport = true; - hostPlatform = "x86_64-linux"; - }; - - wsl = { - enable = true; - defaultUser = "${username}"; - nativeSystemd = true; - useWindowsDriver = true; - }; - - networking.hostName = "sirius"; - - programs = { - ssh.startAgent = true; - zsh.enable = true; - - nix-ld = { - enable = true; - libraries = config.hardware.graphics.extraPackages; - package = pkgs.nix-ld-rs; - }; - - 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/vega/default.nix b/hosts/vega/default.nix deleted file mode 100644 index d1dcbac..0000000 --- a/hosts/vega/default.nix +++ /dev/null @@ -1,66 +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; - }; - - 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 3f13493..0000000 --- a/hosts/vega/hardware.nix +++ /dev/null @@ -1,32 +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 b533d6f..0000000 --- a/hosts/vps/default.nix +++ /dev/null @@ -1,101 +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" - ]; - }; - - 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 1ae0bdd..0000000 --- a/hosts/vps/home.nix +++ /dev/null @@ -1,14 +0,0 @@ -{username, ...}: { - home.persistence."/persist/home/${username}" = { - directories = [ - "Projects" - ".ssh" - ]; - files = [ - ".zsh_history" - ]; - allowOther = true; - }; - - 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 5be9b16..0000000 --- a/modules/base/nix.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ - pkgs, - username, - ... -}: { - nix = { - package = pkgs.lix; - - gc = { - automatic = true; - options = "--delete-older-than 3d"; - }; - - 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 d3ab490..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 = 16; - }; - - window = { - padding = { - x = 15; - y = 15; - }; - - decorations = "none"; - opacity = 1.0; - dynamic_title = true; - }; - - selection.save_to_clipboard = false; - - live_config_reload = true; - - colors = { - primary = { - background = "#0d0f18"; - 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/barrier/default.nix b/modules/home/barrier/default.nix deleted file mode 100755 index 0f3a8df..0000000 --- a/modules/home/barrier/default.nix +++ /dev/null @@ -1,7 +0,0 @@ -{pkgs, ...}: { - # services.barrier.client.enable = true; - - home.packages = with pkgs; [ - barrier - ]; -} 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/desktop/awesome/default.nix b/modules/home/desktop/awesome/default.nix deleted file mode 100644 index 15d1f22..0000000 --- a/modules/home/desktop/awesome/default.nix +++ /dev/null @@ -1,8 +0,0 @@ -{pkgs, ...}: { - home.file = { - ".config/awesome" = { - recursive = true; - source = "${pkgs.tux-awesome-wm-config}"; - }; - }; -} diff --git a/modules/home/desktop/hyprland/default.nix b/modules/home/desktop/hyprland/default.nix deleted file mode 100644 index 5552e34..0000000 --- a/modules/home/desktop/hyprland/default.nix +++ /dev/null @@ -1,273 +0,0 @@ -{pkgs, ...}: { - programs = { - waybar = { - enable = true; - }; - }; - - wayland.windowManager.hyprland = { - enable = true; - xwayland.enable = true; - settings = let - # Notify - notifycmd = "notify-send -h string:x-canonical-private-synchronous:hypr-cfg -u low"; - - # Elements - hypr_border_size = 2; - hypr_gaps_in = 5; - hypr_gaps_out = 10; - hypr_gaps_ws = -10; - hypr_rounding = 10; - groupbar_font_family = "Iosevka"; - groupbar_font_size = 10; - - # Colors - active_border_col = "rgba(90ceaaff) rgba(ecd3a0ff) 45deg"; - inactive_border_col = "rgba(86aaeccc) rgba(93cee9cc) 45deg"; - active_shadow_col = "0x66000000"; - inactive_shadow_col = "0x66000000"; - group_border_active_col = "rgba(90ceaaff) rgba(ecd3a0ff) 45deg"; - group_border_inactive_col = "rgba(86aaeccc) rgba(93cee9cc) 45deg"; - group_border_locked_active_col = "rgba(90ceaaff) rgba(ecd3a0ff) 45deg"; - group_border_locked_inactive_col = "rgba(86aaeccc) rgba(93cee9cc) 45deg"; - groupbar_text_color = "0xFFf1fcf9"; - in { - #-- General - general = { - border_size = hypr_border_size; - gaps_in = hypr_gaps_in; - gaps_out = hypr_gaps_out; - gaps_workspaces = hypr_gaps_ws; - "col.active_border" = active_border_col; - "col.inactive_border" = inactive_border_col; - layout = "master"; - resize_on_border = true; - }; - - #-- Decoration - decoration = { - rounding = hypr_rounding; - active_opacity = 0.75; - inactive_opacity = 0.75; - fullscreen_opacity = 1.0; - drop_shadow = true; - shadow_range = 25; - shadow_render_power = 3; - "col.shadow" = active_shadow_col; - "col.shadow_inactive" = inactive_shadow_col; - - blur = { - enabled = true; - size = 5; - passes = 4; - ignore_opacity = true; - xray = true; - special = true; - }; - }; - - #-- Animations - animations = { - enabled = true; - first_launch_animation = true; - animation = [ - "windowsIn,1,5,default,popin 0%" - "windowsOut,1,5,default,popin" - "windowsMove,1,5,default,slide" - "fadeIn,1,8,default" - "fadeOut,1,8,default" - "fadeSwitch,1,8,default" - "fadeShadow,1,8,default" - "fadeDim,1,8,default" - "border,1,10,default" - "borderangle,1,10,default" - "workspaces,1,5,default,slide" - "specialWorkspace,1,5,default,fade" - ]; - }; - - #-- Input: Keyboard, Mouse, Touchpad - input = { - sensitivity = 0.5; - scroll_method = "2 fg"; - natural_scroll = true; - touchpad = { - natural_scroll = true; - clickfinger_behavior = false; - }; - }; - - #-- Group - group = { - "col.border_active" = group_border_active_col; - "col.border_inactive" = group_border_inactive_col; - "col.border_locked_active" = group_border_locked_active_col; - "col.border_locked_inactive" = group_border_locked_inactive_col; - groupbar = { - enabled = true; - font_family = groupbar_font_family; - font_size = groupbar_font_size; - text_color = groupbar_text_color; - "col.active" = group_border_active_col; - "col.inactive" = group_border_inactive_col; - "col.locked_active" = group_border_locked_active_col; - "col.locked_inactive" = group_border_locked_inactive_col; - }; - }; - - #-- Miscellaneous - misc = { - disable_hyprland_logo = true; - force_default_wallpaper = 0; - focus_on_activate = true; - }; - - #-- Output - monitor = ",preferred,auto,1"; - - #-- Layout : Dwindle - dwindle = { - pseudotile = false; - force_split = 0; - preserve_split = false; - smart_split = false; - smart_resizing = true; - permanent_direction_override = false; - special_scale_factor = 0.8; - split_width_multiplier = 1.0; - no_gaps_when_only = false; - use_active_for_splits = true; - default_split_ratio = 1.0; - }; - - #-- Layout : Master - master = { - allow_small_split = false; - special_scale_factor = 0.8; - mfact = 0.5; - new_on_top = false; - no_gaps_when_only = false; - orientation = "left"; - inherit_fullscreen = true; - always_center_master = false; - smart_resizing = true; - drop_at_cursor = true; - }; - - #-- Window Rules - windowrule = []; - - #-- Keybindings - bind = let - terminal = "alacritty"; - browser = "firefox"; - filemanager = "thunar"; - editor = "geany"; - in [ - # groups - "SUPER, G, togglegroup" - "SUPER, G, exec, ${notifycmd} 'Toggled Group Mode'" - "SUPER, H, changegroupactive, b" - "SUPER, L, changegroupactive, f" - "SUPER_SHIFT, L, lockactivegroup, toggle" - "SUPER_SHIFT, L, exec, ${notifycmd} 'Toggled Group Lock'" - - # terminal - "SUPER, Return, exec, ${terminal}" - - # apps - "SUPER_SHIFT, F, exec, ${filemanager}" - "SUPER_SHIFT, E, exec, ${editor}" - "SUPER_SHIFT, B, exec, ${browser}" - - # hyprland - "SUPER, Q, killactive," - "SUPER, C, killactive," - "CTRL_ALT, Delete, exit," - "SUPER, F, fullscreen, 0" - "SUPER, F, exec, ${notifycmd} 'Fullscreen Mode'" - "SUPER, S, pseudo," - "SUPER, S, exec, ${notifycmd} 'Pseudo Mode'" - "SUPER, Space, togglefloating," - "SUPER, Space, centerwindow," - - # 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" - - # switch between windows - "SUPER,Tab,cyclenext," - "SUPER,Tab,bringactivetotop," - - # 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" - "SUPER, 8, workspace, 8" - - # send to workspaces - "SUPER_SHIFT, 1, movetoworkspace, 1" - "SUPER_SHIFT, 2, movetoworkspace, 2" - "SUPER_SHIFT, 3, movetoworkspace, 3" - "SUPER_SHIFT, 4, movetoworkspace, 4" - "SUPER_SHIFT, 5, movetoworkspace, 5" - "SUPER_SHIFT, 6, movetoworkspace, 6" - "SUPER_SHIFT, 7, movetoworkspace, 7" - "SUPER_SHIFT, 8, movetoworkspace, 8" - - # seamless workspace switching - "CTRL_ALT, left, workspace, e-1" - "CTRL_ALT, right, workspace, e+1" - "CTRL_ALT_SHIFT, left, movetoworkspace, e-1" - "CTRL_ALT_SHIFT, right, movetoworkspace, e+1" - - # change workspace mode - "SUPER_CTRL, F, workspaceopt, allfloat" - "SUPER_CTRL, F, exec, ${notifycmd} 'Toggled All Float Mode'" - "SUPER_CTRL, S, workspaceopt, allpseudo" - "SUPER_CTRL, S, exec, ${notifycmd} 'Toggled All Pseudo Mode'" - - # misc - "SUPER_SHIFT, P, pin," - "SUPER_SHIFT, P, exec, ${notifycmd} 'Toggled Pin'" - "SUPER_SHIFT, S, swapnext" - ]; - - 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" - - # 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" - ]; - bindm = [ - # mouse buttons - "SUPER, mouse:272, movewindow" - "SUPER, mouse:273, resizewindow" - ]; - - "exec-once" = [ - "${pkgs.swaybg}/bin/swaybg -i ~/Wallpapers/moments_before_desk.png" - "waybar" - ]; - }; - }; -} 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/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/firefox/default.nix b/modules/home/firefox/default.nix deleted file mode 100644 index 3f90e82..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 = 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 e365cad..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 = 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 c0e54cb..0000000 --- a/modules/home/ghostty/default.nix +++ /dev/null @@ -1,39 +0,0 @@ -{pkgs, ...}: { - home.file = { - ".config/ghostty/config" = { - text = '' - gtk-titlebar = false - window-padding-x = 10 - window-padding-y = 10 - background-opacity = 0.9 - font-size = 14 - - 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 5177c64..0000000 --- a/modules/home/git/default.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ - email, - username, - ... -}: { - programs.git = { - enable = true; - userName = "${username}"; - userEmail = "${email}"; - signing = { - key = "~/.ssh/id_ed25519.pub"; - signByDefault = true; - }; - extraConfig = { - 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/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 a260210..0000000 --- a/modules/home/mopidy/default.nix +++ /dev/null @@ -1,39 +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"; - visualizer_sync_interval = 0; - 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 c60e08e..0000000 --- a/modules/home/nvim/default.nix +++ /dev/null @@ -1,40 +0,0 @@ -{pkgs, ...}: { - home.file = { - ".config/nvim" = { - recursive = true; - source = "${pkgs.tux-nvim-config}"; - }; - }; - - 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 d3a298f..0000000 --- a/modules/home/picom/default.nix +++ /dev/null @@ -1,64 +0,0 @@ -{pkgs, ...}: { - services.picom = { - enable = true; - package = pkgs.picom-next; - - 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 410cfd5..0000000 --- a/modules/home/shell/default.nix +++ /dev/null @@ -1,79 +0,0 @@ -{pkgs, ...}: { - programs = { - bat.enable = true; - zsh = { - enable = true; - shellAliases = { - ls = "lsd"; - }; - syntaxHighlighting.enable = true; - autosuggestion.enable = true; - initExtra = '' - nitch - export WINIT_X11_SCALE_FACTOR=1 - bindkey "^A" vi-beginning-of-line - bindkey "^E" vi-end-of-line - PATH=$PATH:~/.cargo/bin:~/.local/bin - ''; - }; - lazygit.enable = true; - zoxide = { - enable = true; - options = ["--cmd cd"]; - }; - 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; - }; - }; - - home.packages = with pkgs; [ - service-wrapper - lsd - nitch - ranger - wget - portal - bore-cli - zip - unzip - pciutils - gnumake - nvtopPackages.full - zellij - nix-output-monitor - fzf - duf - jq - atac - termshark - solc - dig - - python312 - python312Packages.pipx - nodejs - nodePackages.pnpm - nodePackages.yarn - rustup - bun - nixpkgs-fmt - - hunspell - hunspellDicts.en_US - air - templ - ffmpeg - deploy-rs - ]; -} diff --git a/modules/home/starship/default.nix b/modules/home/starship/default.nix deleted file mode 100755 index 6b4602b..0000000 --- a/modules/home/starship/default.nix +++ /dev/null @@ -1,48 +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 = "󰊠"; - }; - 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 fe4aa26..0000000 --- a/modules/home/tmux/default.nix +++ /dev/null @@ -1,38 +0,0 @@ -{...}: { - programs.tmux = { - enable = true; - extraConfig = " - - set-option -sa terminal-overrides \",xterm*:Tc\" - set -g mouse on - set-option -g status-position top - set-option -g allow-rename off - 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 - - "; - }; -} diff --git a/modules/home/vs-code/default.nix b/modules/home/vs-code/default.nix deleted file mode 100644 index 811ba1e..0000000 --- a/modules/home/vs-code/default.nix +++ /dev/null @@ -1,74 +0,0 @@ -{pkgs, ...}: { - programs.vscode = { - enable = true; - package = pkgs.vscodium; - - 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 f907b1c..0000000 --- a/modules/home/wezterm/default.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ - inputs, - pkgs, - ... -}: { - programs.wezterm = { - enable = true; - package = inputs.wezterm-flake.packages."${pkgs.system}".default; - enableZshIntegration = false; - - extraConfig = '' - local wezterm = require 'wezterm' - local config = {} - - 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 = 14.0 - config.window_background_opacity = 1 - config.audible_bell = "Disabled" - - return config - ''; - }; -} diff --git a/modules/nixos/desktop/awesome/default.nix b/modules/nixos/desktop/awesome/default.nix deleted file mode 100755 index b81a7a0..0000000 --- a/modules/nixos/desktop/awesome/default.nix +++ /dev/null @@ -1,69 +0,0 @@ -{ - lib, - pkgs, - ... -}: { - services = { - displayManager = { - defaultSession = "none+awesome"; - sddm = { - package = pkgs.libsForQt5.sddm; - extraPackages = with pkgs; [libsForQt5.qt5.qtgraphicaleffects]; - enable = true; - theme = "sugar-dark"; - }; - }; - - 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 - xorg.xbacklight - stable.gpick - alsa-utils - pavucontrol - brightnessctl - libnotify - feh - maim - mpdris2 - python311Packages.mutagen - xdg-utils - playerctl - pulsemixer - 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 fbfa0c8..0000000 --- a/modules/nixos/desktop/default.nix +++ /dev/null @@ -1,14 +0,0 @@ -{...}: { - xdg.mime = { - enable = true; - defaultApplications = { - "application/pdf" = ["firefox.desktop"]; - "default-web-browser" = ["firefox.desktop"]; - "text/html" = ["firefox.desktop"]; - "x-scheme-handler/http" = ["firefox.desktop"]; - "x-scheme-handler/https" = ["firefox.desktop"]; - "x-scheme-handler/about" = ["firefox.desktop"]; - "x-scheme-handler/unknown" = ["firefox.desktop"]; - }; - }; -} diff --git a/modules/nixos/desktop/hyprland/default.nix b/modules/nixos/desktop/hyprland/default.nix deleted file mode 100644 index 5e80000..0000000 --- a/modules/nixos/desktop/hyprland/default.nix +++ /dev/null @@ -1,3 +0,0 @@ -{...}: { - programs.hyprland.enable = true; -} 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/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/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/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 4c011cb..0000000 --- a/modules/nixos/selfhosted/nextcloud.nix +++ /dev/null @@ -1,48 +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.nextcloud30; - 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; [nextcloud30]; -} 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 4ebbdd3..0000000 --- a/modules/nixos/selfhosted/open-webui.nix +++ /dev/null @@ -1,11 +0,0 @@ -{...}: { - services.open-webui = { - enable = true; - openFirewall = true; - host = "0.0.0.0"; - environment = { - ENABLE_OLLAMA_API = "True"; - OLLAMA_BASE_URL = "http://pc:11434"; - }; - }; -} 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/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/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 512ec17..0000000 --- a/modules/nixos/virtualisation/qemu.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ - pkgs, - username, - ... -}: { - virtualisation = { - libvirtd = { - enable = true; - qemu = { - swtpm.enable = true; - ovmf.enable = true; - ovmf.packages = [pkgs.OVMFFull.fd]; - }; - }; - }; - - 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 b6aa436..0000000 --- a/overlays/default.nix +++ /dev/null @@ -1,27 +0,0 @@ -{inputs, ...}: { - additions = final: _prev: import ../pkgs {pkgs = final;}; - - modifications = final: prev: { - awesome = inputs.nixpkgs-f2k.packages.${prev.system}.awesome-git; - ghostty = inputs.ghostty.packages.${prev.system}.default; - tfolio = inputs.tfolio.packages.${prev.system}.default; - cyber-tux = inputs.cyber-tux.packages.${prev.system}.default; - discord = prev.discord.override { - withOpenASAR = true; - withVencord = true; - }; - }; - - # 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.system; - config.allowUnfree = true; - }; - }; - - nur = inputs.nur.overlays.default; - - nix-vscode-extensions = inputs.nix-vscode-extensions.overlays.default; -} diff --git a/pkgs/astronvim/default.nix b/pkgs/astronvim/default.nix deleted file mode 100644 index db03bd1..0000000 --- a/pkgs/astronvim/default.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ - lib, - stdenv, - pkgs, -}: let - user = ./user; -in - stdenv.mkDerivation { - pname = "astronvim"; - version = "3.44.1"; - - src = pkgs.fetchFromGitHub { - owner = "AstroNvim"; - repo = "AstroNvim"; - rev = "refs/heads/main"; - sha256 = "sha256-1nfMx9XaTOfuz1IlvepJdEfrX539RRVN5RXzUR00tfk="; - }; - - installPhase = '' - mkdir $out - cp -r * "$out/" - mkdir -p "$out/lua/user" - cp -r ${user}/* "$out/lua/user/" - ''; - - meta = with lib; { - description = "AstroNvim"; - homepage = "https://github.com/AstroNvim/AstroNvim"; - platforms = platforms.all; - license = licenses.gpl3; - }; - } diff --git a/pkgs/astronvim/user/init.lua b/pkgs/astronvim/user/init.lua deleted file mode 100644 index 7f8dbdf..0000000 --- a/pkgs/astronvim/user/init.lua +++ /dev/null @@ -1,209 +0,0 @@ -local M = {} - -M.opt = { - guifont = "FiraCode Nerd Font:h8", - neovide_scale_factor = 0.6, -} - -M.colorscheme = "oxocarbon" -M.icons = { - VimIcon = "", - ScrollText = "", - GitBranch = "", - GitAdd = "", - GitChange = "", - GitDelete = "", -} -M.heirline = { - separators = { - left = { "", " " }, - right = { " ", "" }, - tab = { "", "" }, - }, - colors = function(hl) - local get_hlgroup = require("astronvim.utils").get_hlgroup - local comment_fg = get_hlgroup("Comment").fg - hl.git_branch_fg = comment_fg - hl.git_added = comment_fg - hl.git_changed = comment_fg - hl.git_removed = comment_fg - hl.blank_bg = get_hlgroup("Folded").fg - hl.file_info_bg = get_hlgroup("Visual").bg - hl.nav_icon_bg = get_hlgroup("String").fg - hl.nav_fg = hl.nav_icon_bg - hl.folder_icon_bg = get_hlgroup("Error").fg - return hl - end, - attributes = { - mode = { bold = true }, - }, - icon_highlights = { - file_icon = { - statusline = false, - }, - }, -} -M.plugins = { - { - "goolord/alpha-nvim", - opts = function(_, opts) - opts.section.header.val = { - "██████████████████████████████████████████████████", - "█░░░░░░░░░░░░░░█░░░░░░██░░░░░░█░░░░░░░░██░░░░░░░░█", - "█░░▄▀▄▀▄▀▄▀▄▀░░█░░▄▀░░██░░▄▀░░█░░▄▀▄▀░░██░░▄▀▄▀░░█", - "█░░░░░░▄▀░░░░░░█░░▄▀░░██░░▄▀░░█░░░░▄▀░░██░░▄▀░░░░█", - "█████░░▄▀░░█████░░▄▀░░██░░▄▀░░███░░░░▄▀▄▀▄▀░░░░███", - "█████░░▄▀░░█████░░▄▀░░██░░▄▀░░█████░░▄▀▄▀▄▀░░█████", - "█████░░▄▀░░█████░░▄▀░░██░░▄▀░░███░░░░▄▀▄▀▄▀░░░░███", - "█████░░▄▀░░█████░░▄▀░░░░░░▄▀░░█░░░░▄▀░░██░░▄▀░░░░█", - "█████░░▄▀░░█████░░▄▀▄▀▄▀▄▀▄▀░░█░░▄▀▄▀░░██░░▄▀▄▀░░█", - "█████░░░░░░█████░░░░░░░░░░░░░░█░░░░░░░░██░░░░░░░░█", - "██████████████████████████████████████████████████", - } - end, - }, - { "wakatime/vim-wakatime" }, - { "eandrju/cellular-automaton.nvim", event = "VeryLazy" }, - "AstroNvim/astrocommunity", - { import = "astrocommunity.utility.noice-nvim" }, - { import = "astrocommunity.pack.json" }, - { import = "astrocommunity.pack.tailwindcss" }, - { import = "astrocommunity.pack.bash" }, - { import = "astrocommunity.pack.lua" }, - { import = "astrocommunity.pack.python" }, - { import = "astrocommunity.pack.go" }, - { import = "astrocommunity.pack.nix" }, - { import = "astrocommunity.pack.typescript" }, - { import = "astrocommunity.pack.prisma" }, - { import = "astrocommunity.colorscheme.nightfox-nvim" }, - { import = "astrocommunity.colorscheme.gruvbox-baby" }, - { import = "astrocommunity.colorscheme.oxocarbon-nvim" }, - { - "gruvbox-baby", - config = function() - vim.g.gruvbox_baby_background_color = "dark" - vim.g.gruvbox_baby_transparent_mode = true - -- vim.g.gruvbox_baby_color_overrides = { - -- background = "#0f0f0f", - -- } - end, - }, - { - "nightfox.nvim", - opts = { - options = { - -- transparent = function() - -- if vim.g.neovide then - -- return false - -- end - -- return true - -- end, - }, - }, - }, - { - "David-Kunz/gen.nvim", - config = function() - require("gen").setup({ - model = "zephyr", - display_mode = "float", - show_prompt = true, - show_model = true, - no_auto_close = false, - init = function() - pcall(io.popen, "ollama serve > /dev/null 2>&1 &") - end, - debug = false, - }) - end, - }, - { - "rebelot/heirline.nvim", - opts = function(_, opts) - local status = require("astronvim.utils.status") - opts.statusline = { - hl = { fg = "fg", bg = "bg" }, - status.component.mode({ - mode_text = { icon = { kind = "VimIcon", padding = { right = 1, left = 1 } } }, - surround = { - separator = "left", - color = function() - return { main = status.hl.mode_bg(), right = "blank_bg" } - end, - }, - }), - status.component.builder({ - { provider = "" }, - surround = { separator = "left", color = { main = "blank_bg", right = "file_info_bg" } }, - }), - status.component.file_info({ - file_icon = { padding = { left = 0 } }, - filename = { fallback = "Empty" }, - padding = { right = 1 }, - surround = { separator = "left", condition = false }, - }), - status.component.git_branch({ surround = { separator = "none" } }), - status.component.git_diff({ padding = { left = 1 }, surround = { separator = "none" } }), - status.component.fill(), - status.component.lsp({ lsp_client_names = false, surround = { separator = "none", color = "bg" } }), - status.component.fill(), - status.component.diagnostics({ surround = { separator = "right" } }), - status.component.lsp({ lsp_progress = false, surround = { separator = "right" } }), - { - status.component.builder({ - { provider = require("astronvim.utils").get_icon("FolderClosed") }, - padding = { right = 1 }, - hl = { fg = "bg" }, - surround = { separator = "right", color = "folder_icon_bg" }, - }), - status.component.file_info({ - filename = { - fname = function(nr) - return vim.fn.getcwd(nr) - end, - padding = { left = 1 }, - }, - file_icon = false, - file_modified = false, - file_read_only = false, - surround = { separator = "none", color = "file_info_bg", condition = false }, - }), - }, - { - status.component.builder({ - { provider = require("astronvim.utils").get_icon("ScrollText") }, - padding = { right = 1 }, - hl = { fg = "bg" }, - surround = { separator = "right", color = { main = "nav_icon_bg", left = "file_info_bg" } }, - }), - status.component.nav({ - percentage = { padding = { right = 1 } }, - ruler = false, - scrollbar = false, - surround = { separator = "none", color = "file_info_bg" }, - }), - }, - } - return opts - end, - }, -} -M.lsp = { - config = { - lua_ls = function() - return { - settings = { - Lua = { - diagnostics = { - globals = { - "vim", - "require", - }, - }, - }, - }, - } - end, - }, -} -return M diff --git a/pkgs/astronvim/user/mappings.lua b/pkgs/astronvim/user/mappings.lua deleted file mode 100644 index eccd21a..0000000 --- a/pkgs/astronvim/user/mappings.lua +++ /dev/null @@ -1,18 +0,0 @@ -return { - n = { - [""] = { - function() - vim.g.neovide_scale_factor = vim.g.neovide_scale_factor + 0.1 - end, - desc = "Zoom In (Neovide)", - }, - [""] = { - function() - vim.g.neovide_scale_factor = vim.g.neovide_scale_factor - 0.1 - end, - desc = "Zoom Out (Neovide)", - }, - ["ai"] = { ":Gen", desc = "Run Ollama" }, - ["fml"] = { ":CellularAutomaton make_it_rain", desc = "FML" }, - }, -} diff --git a/pkgs/astronvim/user/options.lua b/pkgs/astronvim/user/options.lua deleted file mode 100644 index d45fe5b..0000000 --- a/pkgs/astronvim/user/options.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - g = { - -- neovide_background_color = "#0f0f0f", - }, - opt = { - guifont = "FiraCode Nerd Font:h12", - }, -} diff --git a/pkgs/default.nix b/pkgs/default.nix deleted file mode 100755 index b7ee681..0000000 --- a/pkgs/default.nix +++ /dev/null @@ -1,8 +0,0 @@ -{pkgs, ...}: { - tux-awesome-wm-config = pkgs.callPackage ./awesome {}; - tux-nvim-config = pkgs.callPackage ./nvim {}; - astronvim = pkgs.callPackage ./astronvim {}; - 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 3345b5c..0000000 --- a/pkgs/firefox-mod-blur/default.nix +++ /dev/null @@ -1,30 +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-vd+h2CzAcrh2u0+Y5hAJTQj6p/cXT3hWdxLhF+fViRU="; - }; - - 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/" - cp -r "$out/EXTRA MODS/Search Bar Mods/Search box - No search engine buttons/no_search_engines_in_url_bar.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/nvim/default.nix b/pkgs/nvim/default.nix deleted file mode 100644 index fc0144a..0000000 --- a/pkgs/nvim/default.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ - stdenv, - lib, -}: let - nvim = ./nvim; -in - stdenv.mkDerivation { - pname = "tux-nvim-config"; - version = "2.5.0"; - - buildCommand = '' - mkdir -p $out - cp -r ${nvim}/* "$out/" - ''; - - meta = with lib; { - description = "tux's nvim config"; - homepage = "https://tux.rs"; - platforms = platforms.all; - license = licenses.gpl3; - }; - } diff --git a/pkgs/nvim/nvim/init.lua b/pkgs/nvim/nvim/init.lua deleted file mode 100644 index 66d8848..0000000 --- a/pkgs/nvim/nvim/init.lua +++ /dev/null @@ -1,54 +0,0 @@ -vim.g.base46_cache = vim.fn.stdpath("data") .. "/base46/" -vim.g.mapleader = " " - --- bootstrap lazy and all plugins -local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" - -if not vim.loop.fs_stat(lazypath) then - local repo = "https://github.com/folke/lazy.nvim.git" - vim.fn.system({ "git", "clone", "--filter=blob:none", repo, "--branch=stable", lazypath }) -end - -vim.opt.rtp:prepend(lazypath) - -local lazy_config = require("configs.lazy") - --- load plugins -require("lazy").setup({ - { - "NvChad/NvChad", - lazy = false, - branch = "v2.5", - import = "nvchad.plugins", - config = function() - require("options") - end, - }, - - { import = "plugins" }, -}, lazy_config) - --- load theme -dofile(vim.g.base46_cache .. "defaults") -dofile(vim.g.base46_cache .. "statusline") - -require("nvchad.autocmds") - -vim.schedule(function() - require("mappings") -end) - --- hightlight on yank -vim.api.nvim_create_autocmd("TextYankPost", { - group = vim.api.nvim_create_augroup("highlight_yank", { clear = true }), - desc = "Hightlight selection on yank", - pattern = "*", - callback = function() - vim.highlight.on_yank() - end, -}) - --- load neovide -require("neovide") - -vim.filetype.add({ extension = { templ = "templ" } }) diff --git a/pkgs/nvim/nvim/lua/chadrc.lua b/pkgs/nvim/nvim/lua/chadrc.lua deleted file mode 100644 index 7ab9d43..0000000 --- a/pkgs/nvim/nvim/lua/chadrc.lua +++ /dev/null @@ -1,28 +0,0 @@ -local M = {} - -M.base46 = { - theme = "poimandres", - transparency = true, -} - -M.lsp = { - signature = false, -} - -M.nvdash = { - load_on_startup = true, - - header = { - " ", - " ", - "|------------------------|", - "| NOBODY FUX WITH TUX |", - "|------------------------|", - " \\ (•◡•) / ", - " \\ / ", - " ", - " ", - }, -} - -return M diff --git a/pkgs/nvim/nvim/lua/configs/avante.lua b/pkgs/nvim/nvim/lua/configs/avante.lua deleted file mode 100644 index 52b0a7e..0000000 --- a/pkgs/nvim/nvim/lua/configs/avante.lua +++ /dev/null @@ -1,22 +0,0 @@ -local opts = { - provider = "hyperbolic", - vendors = { - deepseek = { - __inherited_from = "openai", - api_key_name = "DEEPSEEK_API_KEY", - endpoint = "https://api.deepseek.com/v1", - model = "deepseek-chat", - }, - - hyperbolic = { - __inherited_from = "openai", - api_key_name = "cmd:cat /run/secrets/hyperbolic_api_key", - endpoint = "https://api.hyperbolic.xyz/v1", - model = "deepseek-ai/DeepSeek-R1", - temperature = 0, - max_tokens = 4096, - }, - }, -} - -return opts diff --git a/pkgs/nvim/nvim/lua/configs/conform.lua b/pkgs/nvim/nvim/lua/configs/conform.lua deleted file mode 100644 index 1f73e50..0000000 --- a/pkgs/nvim/nvim/lua/configs/conform.lua +++ /dev/null @@ -1,29 +0,0 @@ -local prettier = { "prettierd", "prettier" } - -local options = { - lsp_fallback = true, - - formatters_by_ft = { - lua = { "stylua" }, - javascript = prettier, - typescript = prettier, - javascriptreact = prettier, - typescriptreact = prettier, - json = prettier, - jsonc = prettier, - css = prettier, - html = prettier, - markdown = prettier, - nix = { "alejandra" }, - go = { "goimports", "gofumpt" }, - rust = { "rust_analyzer" }, - }, - - format_on_save = { - lsp_fallback = true, - async = false, - timeout_ms = 1000, - }, -} - -require("conform").setup(options) diff --git a/pkgs/nvim/nvim/lua/configs/dap.lua b/pkgs/nvim/nvim/lua/configs/dap.lua deleted file mode 100644 index c2f3ff1..0000000 --- a/pkgs/nvim/nvim/lua/configs/dap.lua +++ /dev/null @@ -1,17 +0,0 @@ -require("dapui").setup() -require("nvim-dap-virtual-text").setup() - -local dap, dapui = require("dap"), require("dapui") - -dap.listeners.before.attach.dapui_config = function() - dapui.open() -end -dap.listeners.before.launch.dapui_config = function() - dapui.open() -end -dap.listeners.before.event_terminated.dapui_config = function() - dapui.close() -end -dap.listeners.before.event_exited.dapui_config = function() - dapui.close() -end diff --git a/pkgs/nvim/nvim/lua/configs/go.lua b/pkgs/nvim/nvim/lua/configs/go.lua deleted file mode 100644 index 384b129..0000000 --- a/pkgs/nvim/nvim/lua/configs/go.lua +++ /dev/null @@ -1,5 +0,0 @@ -require("go").setup({ - trouble = true, - icons = { breakpoint = "", currentpos = "" }, - gocoverage_sign = "│", -}) diff --git a/pkgs/nvim/nvim/lua/configs/lazy.lua b/pkgs/nvim/nvim/lua/configs/lazy.lua deleted file mode 100644 index cd170bd..0000000 --- a/pkgs/nvim/nvim/lua/configs/lazy.lua +++ /dev/null @@ -1,47 +0,0 @@ -return { - defaults = { lazy = true }, - install = { colorscheme = { "nvchad" } }, - - ui = { - icons = { - ft = "", - lazy = "󰂠 ", - loaded = "", - not_loaded = "", - }, - }, - - performance = { - rtp = { - disabled_plugins = { - "2html_plugin", - "tohtml", - "getscript", - "getscriptPlugin", - "gzip", - "logipat", - "netrw", - "netrwPlugin", - "netrwSettings", - "netrwFileHandlers", - "matchit", - "tar", - "tarPlugin", - "rrhelper", - "spellfile_plugin", - "vimball", - "vimballPlugin", - "zip", - "zipPlugin", - "tutor", - "rplugin", - "syntax", - "synmenu", - "optwin", - "compiler", - "bugreport", - "ftplugin", - }, - }, - }, -} diff --git a/pkgs/nvim/nvim/lua/configs/lspconfig.lua b/pkgs/nvim/nvim/lua/configs/lspconfig.lua deleted file mode 100644 index c1e5119..0000000 --- a/pkgs/nvim/nvim/lua/configs/lspconfig.lua +++ /dev/null @@ -1,47 +0,0 @@ -local configs = require("nvchad.configs.lspconfig") -local on_attach = configs.on_attach -local capabilities = configs.capabilities - -local lspconfig = require("lspconfig") - -local servers = { "eslint", "gopls", "templ" } - -for _, lsp in ipairs(servers) do - lspconfig[lsp].setup({ - on_attach = on_attach, - capabilities = capabilities, - }) -end - -lspconfig.nil_ls.setup({ - on_attach = on_attach, - capabilities = capabilities, - filetypes = { "nix" }, - cmd = { "nil" }, - settings = { - ["nil"] = { - flake = { - autoArchive = true, - }, - }, - }, -}) - -lspconfig.html.setup({ - on_attach = on_attach, - capabilities = capabilities, - filetypes = { "html", "templ" }, -}) - -lspconfig.htmx.setup({ - on_attach = on_attach, - capabilities = capabilities, - filetypes = { "html", "templ" }, -}) - -lspconfig.tailwindcss.setup({ - on_attach = on_attach, - capabilities = capabilities, - filetypes = { "templ", "astro", "javascript", "typescript", "react", "typescriptreact" }, - init_options = { userLanguages = { templ = "html" } }, -}) diff --git a/pkgs/nvim/nvim/lua/configs/noice.lua b/pkgs/nvim/nvim/lua/configs/noice.lua deleted file mode 100644 index c18decf..0000000 --- a/pkgs/nvim/nvim/lua/configs/noice.lua +++ /dev/null @@ -1,27 +0,0 @@ -local opts = { - lsp = { - override = { - ["vim.lsp.util.convert_input_to_markdown_lines"] = true, - ["vim.lsp.util.stylize_markdown"] = true, - ["cmp.entry.get_documentation"] = true, - }, - }, - presets = { - long_message_to_split = true, - inc_rename = false, - lsp_doc_border = false, - }, - views = { - mini = { - win_options = { - winblend = 0, - }, - }, - }, -} - -require("notify").setup({ - background_colour = "#000", -}) - -return opts diff --git a/pkgs/nvim/nvim/lua/configs/null-ls.lua b/pkgs/nvim/nvim/lua/configs/null-ls.lua deleted file mode 100644 index beb6fd1..0000000 --- a/pkgs/nvim/nvim/lua/configs/null-ls.lua +++ /dev/null @@ -1,40 +0,0 @@ -local augroup = vim.api.nvim_create_augroup("LspFormatting", {}) -local null_ls = require("null-ls") - -local b = null_ls.builtins - -local opts = { - sources = { - b.formatting.prettierd, - b.formatting.stylua, - - -- nix - b.code_actions.statix, - b.formatting.alejandra, - b.diagnostics.deadnix, - - -- go - b.code_actions.gomodifytags, - b.code_actions.impl, - b.formatting.gofumpt, - b.formatting.goimports, - b.diagnostics.staticcheck, - }, - on_attach = function(client, bufnr) - if client.supports_method("textDocument/formatting") then - vim.api.nvim_clear_autocmds({ - group = augroup, - buffer = bufnr, - }) - vim.api.nvim_create_autocmd("BufWritePre", { - group = augroup, - buffer = bufnr, - callback = function() - vim.lsp.buf.format({ bufnr = bufnr }) - end, - }) - end - end, -} - -return opts diff --git a/pkgs/nvim/nvim/lua/configs/overrides.lua b/pkgs/nvim/nvim/lua/configs/overrides.lua deleted file mode 100644 index 833135d..0000000 --- a/pkgs/nvim/nvim/lua/configs/overrides.lua +++ /dev/null @@ -1,71 +0,0 @@ -local M = {} - -M.treesitter = { - ensure_installed = { - -- defaults - "vim", - "lua", - "regex", - "bash", - "markdown", - "markdown_inline", - - -- web dev - "html", - "css", - "javascript", - "typescript", - "tsx", - - -- nix - "nix", - - -- go - "go", - "gomod", - "gowork", - "gosum", - "templ", - - -- rust - "rust", - }, -} - -M.mason = { - ensure_installed = { - -- defaults - "lua-language-server", - "stylua", - "luacheck", - - -- web dev - "css-lsp", - "html-lsp", - "htmx-lsp", - "prettier", - "prettierd", - "eslint-lsp", - "eslint_d", - "tailwindcss-language-server", - - -- nix - "nil", - - -- go - "gopls", - "templ", - - -- rust - "codelldb", - }, -} - -M.telescope = { - defaults = { - winblend = 40, - pumblend = 40, - }, -} - -return M diff --git a/pkgs/nvim/nvim/lua/configs/rust.lua b/pkgs/nvim/nvim/lua/configs/rust.lua deleted file mode 100644 index 52ce836..0000000 --- a/pkgs/nvim/nvim/lua/configs/rust.lua +++ /dev/null @@ -1,17 +0,0 @@ -local configs = require("nvchad.configs.lspconfig") -local on_attach = configs.on_attach -local capabilities = configs.capabilities - -vim.g.rustaceanvim = { - server = { - on_attach = on_attach, - capabilities = capabilities, - default_settings = { - ["rust-analyzer"] = { - cargo = { - allFeatures = true, - }, - }, - }, - }, -} diff --git a/pkgs/nvim/nvim/lua/configs/smart-yank.lua b/pkgs/nvim/nvim/lua/configs/smart-yank.lua deleted file mode 100644 index f5624a4..0000000 --- a/pkgs/nvim/nvim/lua/configs/smart-yank.lua +++ /dev/null @@ -1,20 +0,0 @@ -require("smartyank").setup({ - highlight = { - enabled = true, - higroup = "IncSearch", - timeout = 2000, - }, - clipboard = { - enabled = true, - }, - tmux = { - enabled = true, - cmd = { "tmux", "set-buffer", "-w" }, - }, - osc52 = { - enabled = true, - ssh_only = false, - silent = false, - echo_hl = "Directory", - }, -}) diff --git a/pkgs/nvim/nvim/lua/configs/ts.lua b/pkgs/nvim/nvim/lua/configs/ts.lua deleted file mode 100644 index 2af2738..0000000 --- a/pkgs/nvim/nvim/lua/configs/ts.lua +++ /dev/null @@ -1,5 +0,0 @@ -local on_attach = require("nvchad.configs.lspconfig").on_attach - -require("typescript-tools").setup({ - on_attach = on_attach, -}) diff --git a/pkgs/nvim/nvim/lua/mappings.lua b/pkgs/nvim/nvim/lua/mappings.lua deleted file mode 100644 index 562273f..0000000 --- a/pkgs/nvim/nvim/lua/mappings.lua +++ /dev/null @@ -1,56 +0,0 @@ -require("nvchad.mappings") - -local map = vim.keymap.set - -local float_opts = { - relative = "editor", - row = 0.13, - col = 0.14, - width = 0.7, - height = 0.7, - border = "single", -} - -local toggleTerm = function() - require("nvchad.term").toggle({ pos = "float", id = "float", float_opts = float_opts }) -end - -local toggleLazygit = function() - require("nvchad.term").toggle({ pos = "float", id = "lazygit", float_opts = float_opts, cmd = "lazygit" }) -end - -local toggleTreesj = function() - require("treesj").toggle() -end - -local closeAllBuffer = function() - require("nvchad.tabufline").closeAllBufs() -end - -map({ "n", "t" }, "", toggleTerm, { desc = "Toggle Floating Terminal" }) -map({ "n", "t" }, "", toggleLazygit, { desc = "Toggle Lazygit" }) -map("n", "Sl", "SessionManager! load_last_session", { desc = "Load last session" }) -map("n", "Ss", "SessionManager! save_current_session", { desc = "Save this session" }) -map("n", "Sd", "SessionManager! delete_session", { desc = "Delete session" }) -map("n", "Sf", "SessionManager! load_session", { desc = "Search sessions" }) -map("n", "S.", "SessionManager! load_current_dir_session", { desc = "Load current directory session" }) -map("n", "tt", "TroubleToggle", { desc = "Toggle diagnostics" }) -map("n", "td", "TodoTelescope keywords=TODO,FIX,FIXME,BUG,TEST,NOTE", { desc = "Todo/Fix/Fixme" }) -map("n", "m", toggleTreesj, { desc = "Toggle Treesitter Join" }) -map("n", "o", "Outline", { desc = "Toggle Outline" }) -map("n", "tn", "Boole increment", { desc = "Increase value" }) -map("n", "tp", "Boole decrement", { desc = "Decrease value" }) -map("n", "X", closeAllBuffer, { desc = "Close all buffers" }) - --- DAP -map("n", "", "DapToggleBreakpoint", { desc = "Toggle break point" }) -map("n", "", "DapContinue", { desc = "Continue" }) -map("n", "", "DapTerminate", { desc = "Terminate" }) -map("n", "", "DapStepOver", { desc = "Step over" }) - --- Go To Tab -for i = 1, 9, 1 do - vim.keymap.set("n", string.format("", i), function() - vim.api.nvim_set_current_buf(vim.t.bufs[i]) - end) -end diff --git a/pkgs/nvim/nvim/lua/neovide.lua b/pkgs/nvim/nvim/lua/neovide.lua deleted file mode 100644 index 325fdf3..0000000 --- a/pkgs/nvim/nvim/lua/neovide.lua +++ /dev/null @@ -1,21 +0,0 @@ -local map = vim.keymap.set -local g = vim.g - -if g.neovide then - -- options - g.neovide_scale_factor = 0.7 - g.neovide_transparency = 0.9 - g.neovide_refresh_rate = 144 - - -- bindings - local zoomInNeovide = function() - g.neovide_scale_factor = g.neovide_scale_factor + 0.1 - end - - local zoomOutNeovide = function() - g.neovide_scale_factor = g.neovide_scale_factor - 0.1 - end - - map("n", "", zoomInNeovide, { desc = "Zoom In (Neovide)" }) - map("n", "", zoomOutNeovide, { desc = "Zoom Out (Neovide)" }) -end diff --git a/pkgs/nvim/nvim/lua/options.lua b/pkgs/nvim/nvim/lua/options.lua deleted file mode 100644 index cccaf41..0000000 --- a/pkgs/nvim/nvim/lua/options.lua +++ /dev/null @@ -1,7 +0,0 @@ -require("nvchad.options") - -local opt = vim.opt - -opt.relativenumber = true -opt.scrolloff = 5 -opt.guifont = "FiraCode Nerd Font:h12" diff --git a/pkgs/nvim/nvim/lua/plugins/init.lua b/pkgs/nvim/nvim/lua/plugins/init.lua deleted file mode 100644 index 612ee07..0000000 --- a/pkgs/nvim/nvim/lua/plugins/init.lua +++ /dev/null @@ -1,216 +0,0 @@ -local overrides = require("configs.overrides") - -local plugins = { - { - "stevearc/conform.nvim", - event = { "BufWritePre" }, - cmd = { "ConformInfo" }, - config = function() - require("configs.conform") - end, - }, - { - "nvim-treesitter/nvim-treesitter", - opts = overrides.treesitter, - }, - { - "williamboman/mason.nvim", - opts = overrides.mason, - }, - { - "nvim-telescope/telescope.nvim", - opts = { - defaults = { - winblend = 0, - }, - }, - }, - { - "yetone/avante.nvim", - event = "VeryLazy", - lazy = false, - version = false, - build = "make", - opts = function() - return require("configs.avante") - end, - dependencies = { - "nvim-treesitter/nvim-treesitter", - "stevearc/dressing.nvim", - "nvim-lua/plenary.nvim", - "MunifTanjim/nui.nvim", - "nvim-tree/nvim-web-devicons", - }, - }, - { - "Shatur/neovim-session-manager", - dependencies = { - "nvim-lua/plenary.nvim", - "stevearc/dressing.nvim", - }, - event = "BufWritePost", - cmd = "SessionManager", - }, - { - "folke/noice.nvim", - event = "VeryLazy", - dependencies = { - "MunifTanjim/nui.nvim", - "rcarriga/nvim-notify", - }, - opts = function() - return require("configs.noice") - end, - }, - { - "neovim/nvim-lspconfig", - config = function() - require("nvchad.configs.lspconfig").defaults() - require("configs.lspconfig") - end, - }, - { - "nvimtools/none-ls.nvim", - event = "VeryLazy", - opts = function() - return require("configs.null-ls") - end, - }, - { - "windwp/nvim-ts-autotag", - ft = { "javascript", "javascriptreact", "typescript", "typescriptreact" }, - config = function() - require("nvim-ts-autotag").setup() - end, - }, - { - "wakatime/vim-wakatime", - lazy = false, - }, - { - "nvim-treesitter/nvim-treesitter-context", - event = "BufReadPost", - }, - { - "Wansmer/treesj", - cmd = { "TSJToggle" }, - }, - { - "hedyhli/outline.nvim", - lazy = true, - cmd = { "Outline", "OutlineOpen" }, - opts = {}, - }, - { - "folke/trouble.nvim", - cmd = { "Trouble", "TroubleToggle" }, - }, - { - "folke/todo-comments.nvim", - cmd = { "TodoTrouble", "TodoTelescope" }, - config = true, - }, - { - "folke/neodev.nvim", - event = "VeryLazy", - config = function() - require("neodev").setup({ - library = { - plugins = { "nvim-dap-ui" }, - types = true, - }, - }) - end, - }, - { - "mfussenegger/nvim-dap", - config = function() - require("configs.dap") - end, - dependencies = { - "rcarriga/nvim-dap-ui", - "nvim-neotest/nvim-nio", - "theHamsta/nvim-dap-virtual-text", - }, - }, - { - "nat-418/boole.nvim", - event = "VeryLazy", - config = function() - require("boole").setup() - end, - }, - { - "norcalli/nvim-colorizer.lua", - event = "BufReadPost", - config = function() - require("colorizer").setup() - end, - }, - -- Language specific plugins - { - "pmizio/typescript-tools.nvim", - dependencies = { - "nvim-lua/plenary.nvim", - "neovim/nvim-lspconfig", - }, - config = function() - require("configs.ts") - end, - ft = { - "javascript", - "typescript", - "javascriptreact", - "typescriptreact", - }, - }, - { - "ray-x/go.nvim", - dependencies = { - "neovim/nvim-lspconfig", - "nvim-treesitter/nvim-treesitter", - "mfussenegger/nvim-dap", - "rcarriga/nvim-dap-ui", - }, - event = { "CmdlineEnter" }, - config = function() - require("configs.go") - end, - ft = { - "go", - "gomod", - "gosum", - "gowork", - "gotmpl", - }, - build = ':lua require("go.install").update_all_sync()', - }, - { - "mrcjkb/rustaceanvim", - config = function() - require("configs.rust") - end, - version = "^4", - dependencies = { - "mfussenegger/nvim-dap", - "rcarriga/nvim-dap-ui", - }, - ft = { "rust" }, - }, - { - "OXY2DEV/markview.nvim", - event = "VeryLazy", - dependencies = { - "nvim-treesitter/nvim-treesitter", - "nvim-tree/nvim-web-devicons", - }, - }, - { - "ibhagwan/smartyank.nvim", - event = "VeryLazy", - config = function() - require("configs.smart-yank") - end, - }, -} -return plugins 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 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|SG7iEBiOTV_rwgMLPSZmND(W^Qg`vVL(LDuaQ66%?7XE@=MFz`(!(l5;Cc1WB4NWXtJdU|;9LoUaeX;ecikNJZ#MeFMa#=ZIX(7 zm(J(9H(#f$zWrYKZru9ooi&e~9Tyae{OVOY-SP24>G2!iYEmw~e{O7K-sxbMQu6uJ z#f&Y7e)T>uD`1FWKi6!Wz+1!X$Jc(i_ufCHKj)NR@ZKokJieNzyutmz+XVg{JTY8r zj&S_p=6S;X!R$u^i=Xj350{x&{+wYGc;1&FX)9~b$H(~GYWJd#YzF?E&xFO|SmXmI zu6<*@-e*ELvqJV<8!kEK>VuXGbY{l0>WAw0+?3s)K2e5oePi(tsh9pn3Ym!vI`7in zW_}R3@KEf+LeU#6r`BZ_w{c&xTCLwK{-(F`Y}dUNyH4EsQ&%AVLv%&4<%b^K^?&pp zq=g;5$nd{^&8(9)o}tqxS58rHVmWYV?t{i<37cPjId3L)C;ot&HCr9Sy88@#&CUnf z=BnqP-~2%PL*B22y_e-264K5yuAh1R^b6Nh|1AHkeqdqYe?d9t60_M8-3O8%6e6xH zn6FgNv^&_d;)d&Ex3vBIGgi*j+krgA+?bAggQzugbaPS|Ju<)gvg0P__& z0xdT0|K>hw-o$t2k@*L)*|*t+pMSDFn_?;>^(F9w_xj5}q9wzxikH?IUGP1yI`wC1 z9>2ta_6I)m3wtJt@4UADv~%`@xj{4j{+yd>d-YW)|CUne0B>V6=F|C~=PLZ}6-%+q z;!~@+c42NzdXCQj*9Z1}@M!(LkIC=K&fo4-dFYH9=ba2fW@~-02pSpR?@T<}j|e>P4kn*rPwZixutiWnIAZN%#T( z1JhIC=NrP-I?OTDeScAi6;*%>BnlOOFXxH=Hz)JmUFGQn|c`_xG8Qqg$<-l8#+J zwmr_MSo@Lg2j36xuQ!Hi-iW*u=kcn8<&yRMty1j4j3wOmhmUWpRj>)r-XwqL?6chk zW*f8lvd+!&-QBciR&Ql(uD%FQ_GSKN8#gN}o*L2GI^ILy9o5;ASE)DpX3vjdin+Y< zbJ4ksr)gI6D?`2P70vZuF>U0!&pi7g?|CNqiTfM-FMUnWH;C>(@%Yk8$0hX%uWcm* z*5-Z-OLwx=t8FS|m2qA><-5W6{O!`a8zm(-_`N=SM%jRb_M=;)c88CCA_4SW=30rN%PNv=YA}Hm5yjOjGi{$Z{ z>PF(b6G{?xes9!nOmT?2xw>(0Vu95PgI_xyKLpO7k)1NwvjV&x#vl3Z-Wn)Jw=|Uo>Hwk-1Wnt^4WDJ?_5?M zm*s4mAMcqcdUWOFdFwk$w3hTdeEwV_{JqP)^HW{pW^etgboy7yo2floBF$$uml;-m j+0wmk(}$b-kL!2c-Szs-x{xpi1_lOCS3j3^P6LDuaQ66%<)am7kZ!z`(!(l5;Cc1W8&L?ktpMU|q!ud#C*~I9q!u$68d=m$lh9^hVEN_g;usRaSv$?Tdv2&m z+w(~ky+WpjJ%YTBf`(o>EhdY4!xlZ^zrn$^?H{YIYpY4q)C9?mK_ZDdM~*o$JyK;` zF1YyO0>kN&>Xwf`zuA00|Ju)IM_Av#*?K*$`tJVPw8Fx|!o=+CY{yCbuG4B`SI;Xd zT|M_j*xpsbm6KP>G}eTc=s&HwC%H*AW6`}7Bgu;I3-6r1XS!)xk<6Lk6-F|5PW)rA z;CaVh-Y9)QbpzWz=Jd`-NirMc=ft+(zu8oE)7#?S@lO&JY%+}657HKVPTjy+#>{NV z>er<2@kZu#fa6cEyXSKl3g2;+6+YCk;Nv;qP_k|RdaM1SI*mLNm`g=#nEe_;wTev3 zZk`u#JjdU#=4`<6^Uc)<*)IH)bug-qPGTtJvvwB0v6t13VfshYi}O<)F5O|UxO4cX z_5;lY%--1!pVGvShn;wn&vbopDc?Qj{2W4+~o<{xW)^P|iuz<b6tV@YQ`Amw4}dJ_OpGvp-@uCZ^6bB zQ|F`hLFF(G{?1fj zzihq0o}Pb|%oCzK?__lR72Lq|jd}Csj*H&v2XDWa$29##dUZ|A-t$?ie$Cep?oM#u zKhc(N-kX03oC|W^{5||YKOvsiLtW~ZNKMna^sO~{(vj!ndWt{t{g8+_=ymS!$A7I` z#kMHEk(%~5Z^7l_13h|8@dw-`rpwPc9j?_W(NSE?^e3*=>V1KHNceQ~CQCZ(MdOe3N!Y-Qhgf{$tzD z_I~oSihFOjT=xY#-@JCWH_T7&F|2cqJZu;j{AMp4^$fpnTv@t}|Pxi^T zsxarbimwDMYqAggdu>r`yuf)u>by6xhp%tmSR>Q(T=D#wO|CuyR)6Iz*saQc$?~*+ z3|v(r|2pPUz*#fD;|F{6tM9dKkh#HD&pgGNxsH`hv%W*2#>KC>SFT{SQ@-M(*3>7n zIo%waCQd(A-E`w$%M-(GP4|Q!h&_04L#p}He@13OyYtx&H|-P5H$=VqwSJ>juTamn zrG*U6tX>LM*4$^p*z1|?eWM>Qel+>*y@y+D*>1^f_IhIQQ9S5o%qqu)=4%_WJAP05 zs}aG-wo>`w`@>Jq{Z5&kY4rWfgSqlgw`Eq?-!S)L-Ly^di%Q_mZ$fq5H_RQ19L`>e z_q?5S^6%FzPM_EoC-0wep(w}g!7P{4yEdEeJh94AHZt$z-kUee|9cl@@E%C)wVA)( z@pji)i_7b3-kdgnAKK{cJmr(tcZZsuZ;e})us!zqQFntW_t%S@O?=xPnHYW7W%!@+ zIPu4tQ%+~xPOU!?@AF&li=k3g5r}n--`mUb$@!2OXu}2OvFfcH9y85}Sb4q9e0IdPm 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^ z1A_oaO-N>LDuaQ66$BYsEZ6+=gn@y910?5Gl$e{!U}VAEFFcchfk6-?=A4+DT9n8D zq4W$4jQ?D)2xeel5CusFC#UA6G9>0@<|dY8=I1FG8>AH!EAT&VVqjnp1}O+i%}Yrw zLfENiU~U(D`Vj*IgAhpCxiUE?wOAoIF}ENmwV1)s$f9nVgf;^M3!|rtV@L#N?X*t6 z+2I0i8ylzTWrj@oUVp$NkTo{w(4(4ko9EwuoJv`e`0Z<7Z~5-K?_L#H#4vtnvU=*d zT)wI%U9NWd{V##>R&zoR_`9b#{O-^Bk=Z`Kz;k_`z3f9>HT%@stDc_A_S?Ohvh-DF z>;8!|ISppW{JniU`snM`XH!z&*dOx>e7*mZ?)>`=jTaQ$KYD+7{vi9q{s*V)>i1bB zCuw^eK5{kcOKk0}udm$FmU1pQHUA*LV};N^xj!;BoMICq8sv?9-&9q%n+RRb-27{9 z|D~BiE&uF(xCh7!ZR)(=^u9^>IAcA-u5|6!!3yC;61^{b7`TkrdL9x}xPQY|>hY;r z_Lr|&g}KD!CU4z5-L%8}zeLHW4bla@|CP_WZ0>xqIwD3*wWVfvB!6ALfz$eVkFLAu z98mesVtIrqslic`%OiZA+O~r$Vx=2is`%8qUttRQrTs&7U+C3iA16P*aI25s*P!EU zzz(*<_m^ce>pnQpC@HY5A;st4jgzYt48@L}ZuyYevYe@NuCL3UUC$H}J7&r|OYJbR z?Ub{688(MS_*sZ^{OztiYxm|B+UISOdf}Ouyywfe_{H@zg}2u~xAN_m+kcO(H+n|r z!;7Nw@;@H)9$?9McIns7s(WJdBNHBPO`KnIWUa!&8`6);&V-v!Fn6?{@9eG-zgP6m z}ZAvotnw!t5Y`d`JL$>pK)$Y2yM>(&e4hwl)zwYDA z$bI(F<_|q@m(7(Ew((&0EHt?~uPXLWv*qh`Pj{=VZiwW$x6FerE8NfK^)j{$<_qDq zuew+4{@bQ#!I-{p&b{6JXRkjp6Z1Obe^AP3N(|qQ+}(WzIS1-DTXgw+Jg952QaB=F z=Ub7-$-JzYO*NOYT5h~rH{g44gSlAuhW$v#!FD|`d;=De2m48x7oCh~Ic5D^BX4&W#X`Brf8^ z1A_oaO-N>LDuaQ66$BYsUeG&J#K6G70g`hoO3Y1VFtRM^Q08Y~U=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@zT@fQ7!tu*JFPoN z+K|W9bHRm6*Z|O{Q#`Nj-L!Z1o3h<^uf8nV<+MSx_T27w zl|N3tEj{zL($>BHr^mI%yTUV-kJ)!kOqbbxdRqMbedm_I(Cp)TElvO1Ow)2YkPxwnuV_D0)^~TqVdLA1-R?L1T z{h-Q(Ig^Fuc&{(>t5fS`H+VFaoL{|7Ozhv;A9L?8iT51IGylN#vBM)pZfE6hHor^H zr=4+PDX>01@AeG_mn6+6g+AkLW-Z^I? zYbxXNvg2OAic-Ex8FeOnSE(_mKV@;C?1`^0)1xw><7N9?p3e-PUG*ZlC@cIGU(b=V z`A$g!Gu{`lUzjFQy5+du1E)P#Sm#yB+BO;;o4IDUI^XH=Zr)2j&hI*+Z?G{feEO2d z@#!1FK<>#$7tngjj%6N00Nd4bK8@WXsSX`Ww3W?UDYZiyYsA z4dM<4Ch4lkXmKcV#P1T9>$crt()${&Om<%MPB>IR44`lRjTt ztCpP{LuKEMD-PaE)^D_{kK_A$!${xo;TvaTA;k^*rcAC)x)tl)_DJZ_j<{_Ct%$B@-N#mT&S{eIiym`k zqc{u4tDI*Sul#)O4~v14#x|7;lKImw9NEfmZ?um&q=kjKVD~pCxx0A|E0=!RS?0QZ zQcBL6^S7(_zjIqtE-NfhqIPt~mp8W-95`pqSo>n@eM`ga97bXHf6VM>qbDzJfA*Mx 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 zcmeAS@N?(olHy`uVBq!ia0y~yU^HZ4U{K;{HMA7M6rPBdDZ6~?p-45GAj1W-{sx4>GWR}E8Slj{AZR6J5QPR z?C;B;C)l4{Sh)E4+jT3Q*6FvMvany*Z~w~hNFAHSr{fN{H>d8Acm68jRpU18_iroZ z=a0TwwO-Emo$t4|IHFbM@tT=F0bK5zV=k2SB}HuCCo{MA^sD99bDw`MuUKJJ^Jt>R z(b!*aQ+E}+p4;u?t*^Qz^K|g8>*j0<&Dm$PFZT>yy@x0in zJ(|yrR~{G9%$c$|UYnzAdr!)Vu5E8aCdk}gs(7p_=c7|rNC#uyq=4mK#usk%y7Ag^ z@ta*a(|dWEWrRqcgRf`UqLb6SUY!(V<6SsO;i=`}kFDQ!r1oDwVOXTT!swvH!qfkk zedxPXo_Vfyc1FJ7g5}a5?6@BsQ`+veqLJh5<`uide@wJvd%`%oA>g}_wOYjE(%Czv z)Ey1GwLtib$k)9)PyV`FFDcZswxCT&;E0c>X0S<`@*yWHhS08ao-Q3UP&o8IkTE6f$B-Q%QS=2=b6<`i=2Oj z@9O`@aLgr zQ;pc{J{s+OC${d&`_}^ZLu$@Xn98whW$Nn1ORYpxuLRm8=j|{Tb#(d7VzPR=chrNY zT1*l<79QT86fen^F=J6W0|R4Qrn7T^r?WFGlQA$<%&DDd?Qu9jr0xH*t6d>7ZxkL) zSZEdbp|xXj*g_6br?nSWHJ|j2zpzBnv#?MkhMUh$Y&DtHcB0&h(jyw~k0337);}VC8&^GhCazYW!@HF0ppX?_6i{ zqqq28YGZoa*^r`n7Ct)9ZbxJ$hZ&eY@_f{>>g5#uCDLn(?mb#FRclS9|Gz^4VeygA ztkyan+1R1#A+T^klakj4!KJb4N1Y~}OP2e`cwK*@w_>D2me3#p0oDO zkqTu^5oW76ndiwI9PgOEu6kS}Z|(P&<%2zQc-86nb&QwiFA0y1dcyJIE}P!E=vkZC zW8N|R^>52LweHDs)h9&`sf6E+qmE_qXj1(z5Y7$i$vBTAg}b8}PkN*J7rQWHy3QxwWGOEMJPJ$(bh z8~MZ;7#KY~T^vIyZoR#`F)O%GrtP75?sUDlHU++eYlFoc5AG~}zl5vF!eiaSY)5tW zh0f{6l~Qaul&)wxi!EGG_@RRT@8i!p`_J6}P*gN+^NeMg@(2EITfJ^o_p7R{_wL#L z`L*lszjAItX13zsxofZ8KKtqTZn4WIGg)@L?^~T(8n<^v-s<$#U(1w}4tVgbzWl1F zPRZJGMcge`i6iS@Ie%SQ6=eJOyI)SCbb^BV)#tDNHtIGo*3NuiEXeHkrFb8|3y;LC z4n`$5g(LU7gt2YYDeE+`szWnosyJ6|8zkYkS;?`|;i4$jKHk^I@KHqv1yFo*2 mX=rT7b&%Y}?dEUAzq0Qr^L%%IPs4RkOnJKcxvXJ4mJh`hKCF@W-u@?wq!ax2Y5O=D-;yvr)B1( zGB9XNtet4^ zxn#!a^&JbtTQ0hbx_YEdGt~CX{IPC*HOr5>=?^0Reg7A;H|t=MgM-Sv#I{V~^}_zS zx7eQ7K9bNrt@Y9J;|fn+A^W1(k3V{gPo_4eA3Kwi)@R|SGtDaEWkQ&l=_AiaJ664% zqW{Du%rd|5+A7m)uO{y|2)ZzR`VK$S77?)x9GprbR{|VG&4jkRUJ`NQLgl67_Ah>^ z7HK|N)i5zxPWpnv?z#{5KWw8{TNu7mb)Dq!z58(u5A(v<1(D@*-X|Z=oX2o5{ef5h zZ*!>wU({cI-6m$wwCMJMqovWo-x^NKCOkMf!T09WrVyu%9DC+pG=JLoFIr*GtFvoM z`!2I9cyIQ)&%oY(z@u~1^_qKkFI#S}f4}9~cjnKhi%J5!n|CoVFt84w>d97K-acWrJyR&ZA0gn))e`=zyIuh!OebluGjyw!hkk;(2C(=*&3U-Q$IShp%WxNu~mq=hbTx2LE;6|DF81@cmwIrU@E>i)@9X_)KP>ot$Gei^Y6^7^XC!|JpbFncrJg-za z{i)f08-q&MB8k%T9gAl0vpllU`=k~ZXFTPAL64jwi=fklLwm|x&^vq4r%K$I9Q#rkm^0QEw`S5fupIQ#qb<|`{8u`^%`DAKfaCkBRFZ@2Xs+UZX}ogNo=y|g^|yqE2k?xM9SYt~VIQs(&2uf6xP zw#xk%K2SI(LBVTfuc6o>xdp4TUfMTmEPZ@n(#&O*M5nt3?)(3!N&=TD{-g|EMUe{%g=m(Fid_Y*a4GTw7fJ<7nqz~JfX=d#Wzp$Py} 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 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|SG7iEBiOTV_rwgMLPSZmND(W^Qg`vVL(LDuaQ66%?7wS$WBqfq{VoBnSIW~`+TA3*{V#jWPx%+ertT|Fre1qKRz5ptJ@frDvktk6_m;)a&ipieK0BqXtgI}pzP{cqh|hI;>G^8w zueZL{CEdRL)$F49++%?n-`mzLeIvhh`P~eYSV~Byo=2xtrk!D+|QdFioDn`bP7A*0KZF z9|RY)Dnx&93|!}YOfqNLuL2&igRdWWe_;P%{>9v_p6PrHQ};*p`A3|EA3WfyVE@DS zPrLG)?goRIF1rj&8Tn+`;uJZYHU7u3d=rK3HD%pN&gHVBR9cvBq6yHajA8aZ(e@vYb zlEIvK+QM_uboTHA$BceR++o?SRo7fCdhhw~2Ra5HgcKZt%HApffG zF<80`TWY!b!Qstk6yT0b-yT8_=9bMm|4dD*N)xQ z>HOY{uDkPHpP#Z}!lv+~tEavkE!_>23QfVCOLNcer1X z_rKojo_wd5t~s6bXgS-}{qd7c+!d2MngoQ}(y2eY4UyVEewcmXTt z{aMpkKAnj%K3$X)R~e{pGe!&)1cmA81;b5DD~c6IvmX^l_n76#RbO|56$&RwR^Uhi1P^TQ`z z>3|Spv{LLsLEIv(KMkr3Z2RLIWjeq+mBvWHPdu29&9X%26yuyMk= zQwr}a{a@Ak>bg{N&uA!8Oy2f8VDX{I1>EyDT=}4xz?vj2almV>-@0DAmeAG4J95M9 z7=2zy-B>xly7TcJ4_!vlmrQN^9*>N_@or$7)N;q~$(%->oTN#?>(|WfyrEdQp8wpg zBdcouWT-GsJ$bIhLDuaQ66%?7iUiauW0|NsGNY1S&5hQ8q&%wKlfq_8~B<7r$n_85}0HO2@ z42-(3a~x%0U=RUG1}CTHr81Oc6y+x+r4}g|8>AH!Hw2yD$-uxM43ZB@%}YrwLRhJ1 zVCEU}yM%#(K?o%6T$!AcTC5P9m|KvOTFhW*WKlOwLYsks<&>w3V@L$&+-YaCVpB!h zCOd0voTjkQLt`o1M2#xeMHcI%tOQyXJvz|I{NBN355vL60LKqZbF?fpnr;QEe`R+O z`QsU_yL9WumTkv^{A=dv|Gpbp{e8;{?t5##uFe1Ze(U#>fByXWbLZT-b90u+bm=`m zwR&zyPBYa5C9H+7EP4H)GT~A4fk*1HI*-(Duq;2= z{y@Z2C+EVH=MyT~roXh4X?Fb}^MmUT>p$MVy%*;{Fy6rTO?6&PkF{9COR9{HXT>(fdM=_}_>v+AyncUdw)tm`#5lL{0Q96Rcs`$0*+5 zYRe(V?%yan!AVeB@^xkbQ_jrGHJ@5J2^T>0RIE^0=YS?`x~w|wwiPm*Bsu;n9uZG{fUx1 z``R0?qSX_Q`j>o^-75O}f!~dvoHBDgx@2_>4&IKGezM*0H=hmnn_tNVMSrHgsVSS! z+O90Im;28tPxFTE^oH=le`cOff~+#x|Mh&;nR~vD@4nfuk9*6{F5rIhX~u>1Gpnr2 zh2}T+s<`jVPI{X(`^Ybktq(+k-t7O8yJIhyy~8GMO3+|~W?)VmDtKGe=g`@1ZvIYAbmwi!wj|?x=H%v$m+U1@2!IkTK z@V&A#YDMA9TU6g@6*Gl5#70jz$@@V4rv~G#_q(>SO>%#>&)&WN)Jwk)n=6td8eS~V zn^Tr?DCNja;{WJgj>(^{Ls*`gO;0TmIkEUg9&sG_S9@ zx`Fl8pJ?^jH~tpH?_-%6CT*C$^V_W_(UUZ*_PO=Ve#WWz-ZuF7_0sP=Z2e8_2PzBn zH@rH1Abl67&o^xk!J_ZS7U>@N_}g@A@q4{S=_jl2ZojzbzH0Z!)yGBdu=2kBA-3b* z+^N2Ld(1a1>PBk{1Gk6!cSUPf_tks< z2uw(Ntnx+vO%I#d?T@hsj|480IPddVkf&CLy|J-n?z#rv1Yxyuty2ftK8YEwySC$$ zY2E2K-hx-$f!8D~PK6do=rHcyzT1jXzS-46mHUoL-u?p5u6;+p=frK;-V*mrDJHff zQ%5Pfq2SERYfp>0^k%J}StRcrxyn$PUoD{5WP(n>s&uZ8+^_7HzBPVbd+t=wo2l77 zCtfYR`-1DP%B*eH?$gvCSR9C$zu9hMsCZ=U(t3tP9;LDuaQ66%?5jE#I8Tz`(!(l5;Cc1WB4*V~mkuU|B?_@3&q*zWaLI_bqd0&YWqvVej5rheFv- z-QTNL&o8UZp7$ec|106@%`at|U%z@0ce2tp+4hj#$(ePNPo}i^#Dsg^iQ888be4)= zHEZAlgXiCyQVT@xa88jwz`B9WOu=y7$KPvz-xj=aO>r@w#|Dmh?DHG6ANYSLXTS0- z{sI37+X{XgX0fv?Rn7-|Z_mAGx$9b>;z^wfp*d{R8(WXmDH)#hC=)%Sc7KAy=I0lh zB3EE6p53D?wBA>E$$9~qj_g}<*-G3s$u70qa=cCNe<$r1(r)lI? zN*uoIP&CPK=M9#BTzO6W2Q3RYUlfbju*tFi{jjmm<4DSJnEk*};o~*i()Q*Tq952k%={))d{23`jq7U%#g78%+6TUA*)>Wu ze?J)g<6q0W^yM`b$F}_7?%T8SZWW_WgO*sl(s3)7D8Bt^Z(qBAuxVF!xRtj$cdz+h zi9K=M>Wtsi-l;a9H|1G=V7G#Jrrn>1H?QVI`Iu$gw7c+j??#pu$Nb4LcO#@Nro^~d z@8espV#ofhDC6y&*$3X;scXu)aJ*4?_2#4Rn1p_Casol`18mOT<@6Y zH*TJg9qZ{cw^7;RM&8ZSQSK*W7|erB8a0pI3<*zKK4If)o43{(+ZO94PgbvcYutHR z$M4($eXH^fsi)GWuQ_|FFY|f+*++~|K!*!fz@Ws#bLr*XP5f? zeH6=5c3}SE{VelO@LyhBlBl;P_&{yf6CJ7g=PUmj=e}4TYq-tUG5XD)oO221->%;< z?F#P(9=VAuRnsNpm42LAW?`mploUUISO4?~Stouy#@!Dl-(j@*zxMK^8R|Eezj*yK zbJh}(3-@Pt+ayY-{T1my#aO8)J! zXEvL+y6#|b=E?2B^I9rszDO`cJg z%(-B8MDVt~85_37&epBsS+Td*wV$E=ivF@kGnH0~Y@ASLz3oP3^6{@Xjg0>m99eMe zqEh<7>1<5Gzr?4ss_H7{ud2AlwLmq=uif9!?f%-RJIwmGU*0_&cp@T4Qige*@0vK~ za%OIifRD%C1=lohJ(9O{N2TtZKkK5uZdl3AVs?>D#^`pXOoj9P>q+c(%AZ zUOC^s;AHP!^@|)o+S{idxsW#DP)>z)bo}x-p?h&2$Nnqa`nGb<;o7w~yUKIEygr#C zTXa+Sjc)b+UF$2q1g_G39ru36ojmWm>1(HLOiGx#(DwJM)wvSWW&ShRM_&H>c(pqt 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 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 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 diff --git a/pkgs/awesome/awesome/binds/client/init.lua b/src/binds/client/init.lua similarity index 100% rename from pkgs/awesome/awesome/binds/client/init.lua rename to src/binds/client/init.lua diff --git a/pkgs/awesome/awesome/binds/client/keys.lua b/src/binds/client/keys.lua similarity index 100% rename from pkgs/awesome/awesome/binds/client/keys.lua rename to src/binds/client/keys.lua diff --git a/pkgs/awesome/awesome/binds/client/mouse.lua b/src/binds/client/mouse.lua similarity index 100% rename from pkgs/awesome/awesome/binds/client/mouse.lua rename to src/binds/client/mouse.lua diff --git a/pkgs/awesome/awesome/binds/global/init.lua b/src/binds/global/init.lua similarity index 100% rename from pkgs/awesome/awesome/binds/global/init.lua rename to src/binds/global/init.lua diff --git a/pkgs/awesome/awesome/binds/global/keys.lua b/src/binds/global/keys.lua similarity index 100% rename from pkgs/awesome/awesome/binds/global/keys.lua rename to src/binds/global/keys.lua diff --git a/pkgs/awesome/awesome/binds/global/mouse.lua b/src/binds/global/mouse.lua similarity index 100% rename from pkgs/awesome/awesome/binds/global/mouse.lua rename to src/binds/global/mouse.lua diff --git a/pkgs/awesome/awesome/binds/init.lua b/src/binds/init.lua similarity index 100% rename from pkgs/awesome/awesome/binds/init.lua rename to src/binds/init.lua diff --git a/pkgs/awesome/awesome/binds/mod.lua b/src/binds/mod.lua similarity index 100% rename from pkgs/awesome/awesome/binds/mod.lua rename to src/binds/mod.lua diff --git a/pkgs/awesome/awesome/config/apps.lua b/src/config/apps.lua similarity index 100% rename from pkgs/awesome/awesome/config/apps.lua rename to src/config/apps.lua diff --git a/pkgs/awesome/awesome/config/rules.lua b/src/config/rules.lua similarity index 100% rename from pkgs/awesome/awesome/config/rules.lua rename to src/config/rules.lua diff --git a/pkgs/awesome/awesome/config/user.lua b/src/config/user.lua similarity index 100% rename from pkgs/awesome/awesome/config/user.lua rename to src/config/user.lua diff --git a/pkgs/awesome/awesome/rc.lua b/src/rc.lua similarity index 100% rename from pkgs/awesome/awesome/rc.lua rename to src/rc.lua diff --git a/pkgs/awesome/awesome/signal/client.lua b/src/signal/client.lua similarity index 100% rename from pkgs/awesome/awesome/signal/client.lua rename to src/signal/client.lua diff --git a/pkgs/awesome/awesome/signal/init.lua b/src/signal/init.lua similarity index 100% rename from pkgs/awesome/awesome/signal/init.lua rename to src/signal/init.lua diff --git a/pkgs/awesome/awesome/signal/screen.lua b/src/signal/screen.lua similarity index 100% rename from pkgs/awesome/awesome/signal/screen.lua rename to src/signal/screen.lua diff --git a/pkgs/awesome/awesome/signal/tag.lua b/src/signal/tag.lua similarity index 100% rename from pkgs/awesome/awesome/signal/tag.lua rename to src/signal/tag.lua diff --git a/pkgs/awesome/awesome/startup.lua b/src/startup.lua similarity index 100% rename from pkgs/awesome/awesome/startup.lua rename to src/startup.lua diff --git a/pkgs/awesome/awesome/theme/default.lua b/src/theme/default.lua similarity index 100% rename from pkgs/awesome/awesome/theme/default.lua rename to src/theme/default.lua diff --git a/pkgs/awesome/awesome/theme/icons/_blank.svg b/src/theme/icons/_blank.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/_blank.svg rename to src/theme/icons/_blank.svg diff --git a/pkgs/awesome/awesome/theme/icons/apple-keyboard-command.svg b/src/theme/icons/apple-keyboard-command.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/apple-keyboard-command.svg rename to src/theme/icons/apple-keyboard-command.svg diff --git a/pkgs/awesome/awesome/theme/icons/application-variable-outline.svg b/src/theme/icons/application-variable-outline.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/application-variable-outline.svg rename to src/theme/icons/application-variable-outline.svg diff --git a/pkgs/awesome/awesome/theme/icons/application-variable.svg b/src/theme/icons/application-variable.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/application-variable.svg rename to src/theme/icons/application-variable.svg diff --git a/pkgs/awesome/awesome/theme/icons/apps.svg b/src/theme/icons/apps.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/apps.svg rename to src/theme/icons/apps.svg diff --git a/pkgs/awesome/awesome/theme/icons/arrange-bring-forward.svg b/src/theme/icons/arrange-bring-forward.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/arrange-bring-forward.svg rename to src/theme/icons/arrange-bring-forward.svg diff --git a/pkgs/awesome/awesome/theme/icons/arrow-down-right-bold.svg b/src/theme/icons/arrow-down-right-bold.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/arrow-down-right-bold.svg rename to src/theme/icons/arrow-down-right-bold.svg diff --git a/pkgs/awesome/awesome/theme/icons/arrow-u-left-top.svg b/src/theme/icons/arrow-u-left-top.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/arrow-u-left-top.svg rename to src/theme/icons/arrow-u-left-top.svg diff --git a/pkgs/awesome/awesome/theme/icons/awesomewm.svg b/src/theme/icons/awesomewm.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/awesomewm.svg rename to src/theme/icons/awesomewm.svg diff --git a/pkgs/awesome/awesome/theme/icons/bluetooth-settings.svg b/src/theme/icons/bluetooth-settings.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/bluetooth-settings.svg rename to src/theme/icons/bluetooth-settings.svg diff --git a/pkgs/awesome/awesome/theme/icons/book-clock-outline.svg b/src/theme/icons/book-clock-outline.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/book-clock-outline.svg rename to src/theme/icons/book-clock-outline.svg diff --git a/pkgs/awesome/awesome/theme/icons/book-clock.svg b/src/theme/icons/book-clock.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/book-clock.svg rename to src/theme/icons/book-clock.svg diff --git a/pkgs/awesome/awesome/theme/icons/calculator.svg b/src/theme/icons/calculator.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/calculator.svg rename to src/theme/icons/calculator.svg diff --git a/pkgs/awesome/awesome/theme/icons/calendar-month.svg b/src/theme/icons/calendar-month.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/calendar-month.svg rename to src/theme/icons/calendar-month.svg diff --git a/pkgs/awesome/awesome/theme/icons/chart-line.svg b/src/theme/icons/chart-line.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/chart-line.svg rename to src/theme/icons/chart-line.svg diff --git a/pkgs/awesome/awesome/theme/icons/check-bold.svg b/src/theme/icons/check-bold.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/check-bold.svg rename to src/theme/icons/check-bold.svg diff --git a/pkgs/awesome/awesome/theme/icons/check.svg b/src/theme/icons/check.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/check.svg rename to src/theme/icons/check.svg diff --git a/pkgs/awesome/awesome/theme/icons/checkbox-blank-outline.svg b/src/theme/icons/checkbox-blank-outline.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/checkbox-blank-outline.svg rename to src/theme/icons/checkbox-blank-outline.svg diff --git a/pkgs/awesome/awesome/theme/icons/checkbox-blank.svg b/src/theme/icons/checkbox-blank.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/checkbox-blank.svg rename to src/theme/icons/checkbox-blank.svg diff --git a/pkgs/awesome/awesome/theme/icons/checkbox-marked.svg b/src/theme/icons/checkbox-marked.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/checkbox-marked.svg rename to src/theme/icons/checkbox-marked.svg diff --git a/pkgs/awesome/awesome/theme/icons/chevron-double-up.svg b/src/theme/icons/chevron-double-up.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/chevron-double-up.svg rename to src/theme/icons/chevron-double-up.svg diff --git a/pkgs/awesome/awesome/theme/icons/chevron-down.svg b/src/theme/icons/chevron-down.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/chevron-down.svg rename to src/theme/icons/chevron-down.svg diff --git a/pkgs/awesome/awesome/theme/icons/chevron-left.svg b/src/theme/icons/chevron-left.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/chevron-left.svg rename to src/theme/icons/chevron-left.svg diff --git a/pkgs/awesome/awesome/theme/icons/chevron-right.svg b/src/theme/icons/chevron-right.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/chevron-right.svg rename to src/theme/icons/chevron-right.svg diff --git a/pkgs/awesome/awesome/theme/icons/chevron-triple-up.svg b/src/theme/icons/chevron-triple-up.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/chevron-triple-up.svg rename to src/theme/icons/chevron-triple-up.svg diff --git a/pkgs/awesome/awesome/theme/icons/chevron-up.svg b/src/theme/icons/chevron-up.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/chevron-up.svg rename to src/theme/icons/chevron-up.svg diff --git a/pkgs/awesome/awesome/theme/icons/circle-medium.svg b/src/theme/icons/circle-medium.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/circle-medium.svg rename to src/theme/icons/circle-medium.svg diff --git a/pkgs/awesome/awesome/theme/icons/circle-opacity.svg b/src/theme/icons/circle-opacity.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/circle-opacity.svg rename to src/theme/icons/circle-opacity.svg diff --git a/pkgs/awesome/awesome/theme/icons/clock-fast.svg b/src/theme/icons/clock-fast.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/clock-fast.svg rename to src/theme/icons/clock-fast.svg diff --git a/pkgs/awesome/awesome/theme/icons/clock-time-1.svg b/src/theme/icons/clock-time-1.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/clock-time-1.svg rename to src/theme/icons/clock-time-1.svg diff --git a/pkgs/awesome/awesome/theme/icons/clock-time-10.svg b/src/theme/icons/clock-time-10.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/clock-time-10.svg rename to src/theme/icons/clock-time-10.svg diff --git a/pkgs/awesome/awesome/theme/icons/clock-time-11.svg b/src/theme/icons/clock-time-11.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/clock-time-11.svg rename to src/theme/icons/clock-time-11.svg diff --git a/pkgs/awesome/awesome/theme/icons/clock-time-12.svg b/src/theme/icons/clock-time-12.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/clock-time-12.svg rename to src/theme/icons/clock-time-12.svg diff --git a/pkgs/awesome/awesome/theme/icons/clock-time-2.svg b/src/theme/icons/clock-time-2.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/clock-time-2.svg rename to src/theme/icons/clock-time-2.svg diff --git a/pkgs/awesome/awesome/theme/icons/clock-time-3.svg b/src/theme/icons/clock-time-3.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/clock-time-3.svg rename to src/theme/icons/clock-time-3.svg diff --git a/pkgs/awesome/awesome/theme/icons/clock-time-4.svg b/src/theme/icons/clock-time-4.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/clock-time-4.svg rename to src/theme/icons/clock-time-4.svg diff --git a/pkgs/awesome/awesome/theme/icons/clock-time-5.svg b/src/theme/icons/clock-time-5.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/clock-time-5.svg rename to src/theme/icons/clock-time-5.svg diff --git a/pkgs/awesome/awesome/theme/icons/clock-time-6.svg b/src/theme/icons/clock-time-6.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/clock-time-6.svg rename to src/theme/icons/clock-time-6.svg diff --git a/pkgs/awesome/awesome/theme/icons/clock-time-7.svg b/src/theme/icons/clock-time-7.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/clock-time-7.svg rename to src/theme/icons/clock-time-7.svg diff --git a/pkgs/awesome/awesome/theme/icons/clock-time-8.svg b/src/theme/icons/clock-time-8.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/clock-time-8.svg rename to src/theme/icons/clock-time-8.svg diff --git a/pkgs/awesome/awesome/theme/icons/clock-time-9.svg b/src/theme/icons/clock-time-9.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/clock-time-9.svg rename to src/theme/icons/clock-time-9.svg diff --git a/pkgs/awesome/awesome/theme/icons/close.svg b/src/theme/icons/close.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/close.svg rename to src/theme/icons/close.svg diff --git a/pkgs/awesome/awesome/theme/icons/cogs.svg b/src/theme/icons/cogs.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/cogs.svg rename to src/theme/icons/cogs.svg diff --git a/pkgs/awesome/awesome/theme/icons/console-line.svg b/src/theme/icons/console-line.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/console-line.svg rename to src/theme/icons/console-line.svg diff --git a/pkgs/awesome/awesome/theme/icons/content-copy.svg b/src/theme/icons/content-copy.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/content-copy.svg rename to src/theme/icons/content-copy.svg diff --git a/pkgs/awesome/awesome/theme/icons/delete-clock-outline.svg b/src/theme/icons/delete-clock-outline.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/delete-clock-outline.svg rename to src/theme/icons/delete-clock-outline.svg diff --git a/pkgs/awesome/awesome/theme/icons/delete-clock.svg b/src/theme/icons/delete-clock.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/delete-clock.svg rename to src/theme/icons/delete-clock.svg diff --git a/pkgs/awesome/awesome/theme/icons/delete-forever.svg b/src/theme/icons/delete-forever.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/delete-forever.svg rename to src/theme/icons/delete-forever.svg diff --git a/pkgs/awesome/awesome/theme/icons/dock-left.svg b/src/theme/icons/dock-left.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/dock-left.svg rename to src/theme/icons/dock-left.svg diff --git a/pkgs/awesome/awesome/theme/icons/dock-top.svg b/src/theme/icons/dock-top.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/dock-top.svg rename to src/theme/icons/dock-top.svg diff --git a/pkgs/awesome/awesome/theme/icons/download.svg b/src/theme/icons/download.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/download.svg rename to src/theme/icons/download.svg diff --git a/pkgs/awesome/awesome/theme/icons/emoticon-cool.svg b/src/theme/icons/emoticon-cool.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/emoticon-cool.svg rename to src/theme/icons/emoticon-cool.svg diff --git a/pkgs/awesome/awesome/theme/icons/exit-run.svg b/src/theme/icons/exit-run.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/exit-run.svg rename to src/theme/icons/exit-run.svg diff --git a/pkgs/awesome/awesome/theme/icons/eye-off.svg b/src/theme/icons/eye-off.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/eye-off.svg rename to src/theme/icons/eye-off.svg diff --git a/pkgs/awesome/awesome/theme/icons/file-document-edit.svg b/src/theme/icons/file-document-edit.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/file-document-edit.svg rename to src/theme/icons/file-document-edit.svg diff --git a/pkgs/awesome/awesome/theme/icons/firefox.svg b/src/theme/icons/firefox.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/firefox.svg rename to src/theme/icons/firefox.svg diff --git a/pkgs/awesome/awesome/theme/icons/folder-image.svg b/src/theme/icons/folder-image.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/folder-image.svg rename to src/theme/icons/folder-image.svg diff --git a/pkgs/awesome/awesome/theme/icons/folder.svg b/src/theme/icons/folder.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/folder.svg rename to src/theme/icons/folder.svg diff --git a/pkgs/awesome/awesome/theme/icons/fullscreen.svg b/src/theme/icons/fullscreen.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/fullscreen.svg rename to src/theme/icons/fullscreen.svg diff --git a/pkgs/awesome/awesome/theme/icons/help.svg b/src/theme/icons/help.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/help.svg rename to src/theme/icons/help.svg diff --git a/pkgs/awesome/awesome/theme/icons/home-thermometer.svg b/src/theme/icons/home-thermometer.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/home-thermometer.svg rename to src/theme/icons/home-thermometer.svg diff --git a/pkgs/awesome/awesome/theme/icons/identifier.svg b/src/theme/icons/identifier.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/identifier.svg rename to src/theme/icons/identifier.svg diff --git a/pkgs/awesome/awesome/theme/icons/image-filter-center-focus.svg b/src/theme/icons/image-filter-center-focus.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/image-filter-center-focus.svg rename to src/theme/icons/image-filter-center-focus.svg diff --git a/pkgs/awesome/awesome/theme/icons/image-size-select-actual.svg b/src/theme/icons/image-size-select-actual.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/image-size-select-actual.svg rename to src/theme/icons/image-size-select-actual.svg diff --git a/pkgs/awesome/awesome/theme/icons/keyboard.svg b/src/theme/icons/keyboard.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/keyboard.svg rename to src/theme/icons/keyboard.svg diff --git a/pkgs/awesome/awesome/theme/icons/lan-disconnect.svg b/src/theme/icons/lan-disconnect.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/lan-disconnect.svg rename to src/theme/icons/lan-disconnect.svg diff --git a/pkgs/awesome/awesome/theme/icons/lan-pending.svg b/src/theme/icons/lan-pending.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/lan-pending.svg rename to src/theme/icons/lan-pending.svg diff --git a/pkgs/awesome/awesome/theme/icons/layers-triple.svg b/src/theme/icons/layers-triple.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/layers-triple.svg rename to src/theme/icons/layers-triple.svg diff --git a/pkgs/awesome/awesome/theme/icons/layouts/floating.svg b/src/theme/icons/layouts/floating.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/layouts/floating.svg rename to src/theme/icons/layouts/floating.svg diff --git a/pkgs/awesome/awesome/theme/icons/layouts/fullscreen.svg b/src/theme/icons/layouts/fullscreen.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/layouts/fullscreen.svg rename to src/theme/icons/layouts/fullscreen.svg diff --git a/pkgs/awesome/awesome/theme/icons/layouts/max.svg b/src/theme/icons/layouts/max.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/layouts/max.svg rename to src/theme/icons/layouts/max.svg diff --git a/pkgs/awesome/awesome/theme/icons/layouts/tiling.center.svg b/src/theme/icons/layouts/tiling.center.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/layouts/tiling.center.svg rename to src/theme/icons/layouts/tiling.center.svg diff --git a/pkgs/awesome/awesome/theme/icons/layouts/tiling.right.svg b/src/theme/icons/layouts/tiling.right.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/layouts/tiling.right.svg rename to src/theme/icons/layouts/tiling.right.svg diff --git a/pkgs/awesome/awesome/theme/icons/lightbulb-on.svg b/src/theme/icons/lightbulb-on.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/lightbulb-on.svg rename to src/theme/icons/lightbulb-on.svg diff --git a/pkgs/awesome/awesome/theme/icons/lock.svg b/src/theme/icons/lock.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/lock.svg rename to src/theme/icons/lock.svg diff --git a/pkgs/awesome/awesome/theme/icons/logout.svg b/src/theme/icons/logout.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/logout.svg rename to src/theme/icons/logout.svg diff --git a/pkgs/awesome/awesome/theme/icons/menu-right.svg b/src/theme/icons/menu-right.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/menu-right.svg rename to src/theme/icons/menu-right.svg diff --git a/pkgs/awesome/awesome/theme/icons/menu.svg b/src/theme/icons/menu.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/menu.svg rename to src/theme/icons/menu.svg diff --git a/pkgs/awesome/awesome/theme/icons/minus.svg b/src/theme/icons/minus.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/minus.svg rename to src/theme/icons/minus.svg diff --git a/pkgs/awesome/awesome/theme/icons/monitor.svg b/src/theme/icons/monitor.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/monitor.svg rename to src/theme/icons/monitor.svg diff --git a/pkgs/awesome/awesome/theme/icons/move-resize.svg b/src/theme/icons/move-resize.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/move-resize.svg rename to src/theme/icons/move-resize.svg diff --git a/pkgs/awesome/awesome/theme/icons/music.svg b/src/theme/icons/music.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/music.svg rename to src/theme/icons/music.svg diff --git a/pkgs/awesome/awesome/theme/icons/open-in-app.svg b/src/theme/icons/open-in-app.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/open-in-app.svg rename to src/theme/icons/open-in-app.svg diff --git a/pkgs/awesome/awesome/theme/icons/open-in-new.svg b/src/theme/icons/open-in-new.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/open-in-new.svg rename to src/theme/icons/open-in-new.svg diff --git a/pkgs/awesome/awesome/theme/icons/pause.svg b/src/theme/icons/pause.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/pause.svg rename to src/theme/icons/pause.svg diff --git a/pkgs/awesome/awesome/theme/icons/pin-off.svg b/src/theme/icons/pin-off.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/pin-off.svg rename to src/theme/icons/pin-off.svg diff --git a/pkgs/awesome/awesome/theme/icons/pin.svg b/src/theme/icons/pin.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/pin.svg rename to src/theme/icons/pin.svg diff --git a/pkgs/awesome/awesome/theme/icons/pirate.svg b/src/theme/icons/pirate.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/pirate.svg rename to src/theme/icons/pirate.svg diff --git a/pkgs/awesome/awesome/theme/icons/play.svg b/src/theme/icons/play.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/play.svg rename to src/theme/icons/play.svg diff --git a/pkgs/awesome/awesome/theme/icons/plus.svg b/src/theme/icons/plus.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/plus.svg rename to src/theme/icons/plus.svg diff --git a/pkgs/awesome/awesome/theme/icons/power-settings.svg b/src/theme/icons/power-settings.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/power-settings.svg rename to src/theme/icons/power-settings.svg diff --git a/pkgs/awesome/awesome/theme/icons/power.svg b/src/theme/icons/power.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/power.svg rename to src/theme/icons/power.svg diff --git a/pkgs/awesome/awesome/theme/icons/radiobox-blank.svg b/src/theme/icons/radiobox-blank.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/radiobox-blank.svg rename to src/theme/icons/radiobox-blank.svg diff --git a/pkgs/awesome/awesome/theme/icons/radiobox-marked.svg b/src/theme/icons/radiobox-marked.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/radiobox-marked.svg rename to src/theme/icons/radiobox-marked.svg diff --git a/pkgs/awesome/awesome/theme/icons/refresh.svg b/src/theme/icons/refresh.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/refresh.svg rename to src/theme/icons/refresh.svg diff --git a/pkgs/awesome/awesome/theme/icons/rename.svg b/src/theme/icons/rename.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/rename.svg rename to src/theme/icons/rename.svg diff --git a/pkgs/awesome/awesome/theme/icons/restart.svg b/src/theme/icons/restart.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/restart.svg rename to src/theme/icons/restart.svg diff --git a/pkgs/awesome/awesome/theme/icons/shuffle-variant.svg b/src/theme/icons/shuffle-variant.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/shuffle-variant.svg rename to src/theme/icons/shuffle-variant.svg diff --git a/pkgs/awesome/awesome/theme/icons/skip-next.svg b/src/theme/icons/skip-next.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/skip-next.svg rename to src/theme/icons/skip-next.svg diff --git a/pkgs/awesome/awesome/theme/icons/skip-previous.svg b/src/theme/icons/skip-previous.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/skip-previous.svg rename to src/theme/icons/skip-previous.svg diff --git a/pkgs/awesome/awesome/theme/icons/sleep.svg b/src/theme/icons/sleep.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/sleep.svg rename to src/theme/icons/sleep.svg diff --git a/pkgs/awesome/awesome/theme/icons/speedometer-slow.svg b/src/theme/icons/speedometer-slow.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/speedometer-slow.svg rename to src/theme/icons/speedometer-slow.svg diff --git a/pkgs/awesome/awesome/theme/icons/speedometer.svg b/src/theme/icons/speedometer.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/speedometer.svg rename to src/theme/icons/speedometer.svg diff --git a/pkgs/awesome/awesome/theme/icons/stop.svg b/src/theme/icons/stop.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/stop.svg rename to src/theme/icons/stop.svg diff --git a/pkgs/awesome/awesome/theme/icons/tag-arrow-down.svg b/src/theme/icons/tag-arrow-down.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/tag-arrow-down.svg rename to src/theme/icons/tag-arrow-down.svg diff --git a/pkgs/awesome/awesome/theme/icons/tag-multiple.svg b/src/theme/icons/tag-multiple.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/tag-multiple.svg rename to src/theme/icons/tag-multiple.svg diff --git a/pkgs/awesome/awesome/theme/icons/tag.svg b/src/theme/icons/tag.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/tag.svg rename to src/theme/icons/tag.svg diff --git a/pkgs/awesome/awesome/theme/icons/target.svg b/src/theme/icons/target.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/target.svg rename to src/theme/icons/target.svg diff --git a/pkgs/awesome/awesome/theme/icons/theme-light-dark.svg b/src/theme/icons/theme-light-dark.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/theme-light-dark.svg rename to src/theme/icons/theme-light-dark.svg diff --git a/pkgs/awesome/awesome/theme/icons/thermometer-lines.svg b/src/theme/icons/thermometer-lines.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/thermometer-lines.svg rename to src/theme/icons/thermometer-lines.svg diff --git a/pkgs/awesome/awesome/theme/icons/thermometer.svg b/src/theme/icons/thermometer.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/thermometer.svg rename to src/theme/icons/thermometer.svg diff --git a/pkgs/awesome/awesome/theme/icons/timer-outline.svg b/src/theme/icons/timer-outline.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/timer-outline.svg rename to src/theme/icons/timer-outline.svg diff --git a/pkgs/awesome/awesome/theme/icons/timer-play.svg b/src/theme/icons/timer-play.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/timer-play.svg rename to src/theme/icons/timer-play.svg diff --git a/pkgs/awesome/awesome/theme/icons/timer-sand.svg b/src/theme/icons/timer-sand.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/timer-sand.svg rename to src/theme/icons/timer-sand.svg diff --git a/pkgs/awesome/awesome/theme/icons/timer-settings.svg b/src/theme/icons/timer-settings.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/timer-settings.svg rename to src/theme/icons/timer-settings.svg diff --git a/pkgs/awesome/awesome/theme/icons/toggle-switch-off-outline.svg b/src/theme/icons/toggle-switch-off-outline.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/toggle-switch-off-outline.svg rename to src/theme/icons/toggle-switch-off-outline.svg diff --git a/pkgs/awesome/awesome/theme/icons/toggle-switch-off.svg b/src/theme/icons/toggle-switch-off.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/toggle-switch-off.svg rename to src/theme/icons/toggle-switch-off.svg diff --git a/pkgs/awesome/awesome/theme/icons/toggle-switch-outline.svg b/src/theme/icons/toggle-switch-outline.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/toggle-switch-outline.svg rename to src/theme/icons/toggle-switch-outline.svg diff --git a/pkgs/awesome/awesome/theme/icons/toggle-switch.svg b/src/theme/icons/toggle-switch.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/toggle-switch.svg rename to src/theme/icons/toggle-switch.svg diff --git a/pkgs/awesome/awesome/theme/icons/toolbox.svg b/src/theme/icons/toolbox.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/toolbox.svg rename to src/theme/icons/toolbox.svg diff --git a/pkgs/awesome/awesome/theme/icons/tortoise.svg b/src/theme/icons/tortoise.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/tortoise.svg rename to src/theme/icons/tortoise.svg diff --git a/pkgs/awesome/awesome/theme/icons/tune.svg b/src/theme/icons/tune.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/tune.svg rename to src/theme/icons/tune.svg diff --git a/pkgs/awesome/awesome/theme/icons/unfold-less-vertical.svg b/src/theme/icons/unfold-less-vertical.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/unfold-less-vertical.svg rename to src/theme/icons/unfold-less-vertical.svg diff --git a/pkgs/awesome/awesome/theme/icons/upload.svg b/src/theme/icons/upload.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/upload.svg rename to src/theme/icons/upload.svg diff --git a/pkgs/awesome/awesome/theme/icons/video.svg b/src/theme/icons/video.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/video.svg rename to src/theme/icons/video.svg diff --git a/pkgs/awesome/awesome/theme/icons/view-grid.svg b/src/theme/icons/view-grid.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/view-grid.svg rename to src/theme/icons/view-grid.svg diff --git a/pkgs/awesome/awesome/theme/icons/volume.svg b/src/theme/icons/volume.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/volume.svg rename to src/theme/icons/volume.svg diff --git a/pkgs/awesome/awesome/theme/icons/water-thermometer.svg b/src/theme/icons/water-thermometer.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/water-thermometer.svg rename to src/theme/icons/water-thermometer.svg diff --git a/pkgs/awesome/awesome/theme/icons/weather-pouring.svg b/src/theme/icons/weather-pouring.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/weather-pouring.svg rename to src/theme/icons/weather-pouring.svg diff --git a/pkgs/awesome/awesome/theme/icons/weather-rainy.svg b/src/theme/icons/weather-rainy.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/weather-rainy.svg rename to src/theme/icons/weather-rainy.svg diff --git a/pkgs/awesome/awesome/theme/icons/web.svg b/src/theme/icons/web.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/web.svg rename to src/theme/icons/web.svg diff --git a/pkgs/awesome/awesome/theme/icons/window-close.svg b/src/theme/icons/window-close.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/window-close.svg rename to src/theme/icons/window-close.svg diff --git a/pkgs/awesome/awesome/theme/icons/window-maximize.svg b/src/theme/icons/window-maximize.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/window-maximize.svg rename to src/theme/icons/window-maximize.svg diff --git a/pkgs/awesome/awesome/theme/icons/window-minimize.svg b/src/theme/icons/window-minimize.svg similarity index 100% rename from pkgs/awesome/awesome/theme/icons/window-minimize.svg rename to src/theme/icons/window-minimize.svg diff --git a/pkgs/awesome/awesome/theme/init.lua b/src/theme/init.lua similarity index 100% rename from pkgs/awesome/awesome/theme/init.lua rename to src/theme/init.lua diff --git a/pkgs/awesome/awesome/ui/init.lua b/src/ui/init.lua similarity index 100% rename from pkgs/awesome/awesome/ui/init.lua rename to src/ui/init.lua diff --git a/pkgs/awesome/awesome/ui/notification/init.lua b/src/ui/notification/init.lua similarity index 100% rename from pkgs/awesome/awesome/ui/notification/init.lua rename to src/ui/notification/init.lua diff --git a/pkgs/awesome/awesome/ui/notification/normal.lua b/src/ui/notification/normal.lua similarity index 100% rename from pkgs/awesome/awesome/ui/notification/normal.lua rename to src/ui/notification/normal.lua diff --git a/pkgs/awesome/awesome/ui/titlebar/init.lua b/src/ui/titlebar/init.lua similarity index 100% rename from pkgs/awesome/awesome/ui/titlebar/init.lua rename to src/ui/titlebar/init.lua diff --git a/pkgs/awesome/awesome/ui/titlebar/normal.lua b/src/ui/titlebar/normal.lua similarity index 100% rename from pkgs/awesome/awesome/ui/titlebar/normal.lua rename to src/ui/titlebar/normal.lua diff --git a/pkgs/awesome/awesome/ui/wibar/init.lua b/src/ui/wibar/init.lua similarity index 100% rename from pkgs/awesome/awesome/ui/wibar/init.lua rename to src/ui/wibar/init.lua diff --git a/pkgs/awesome/awesome/ui/wibar/module/battery.lua b/src/ui/wibar/module/battery.lua similarity index 100% rename from pkgs/awesome/awesome/ui/wibar/module/battery.lua rename to src/ui/wibar/module/battery.lua diff --git a/pkgs/awesome/awesome/ui/wibar/module/gpu.lua b/src/ui/wibar/module/gpu.lua similarity index 100% rename from pkgs/awesome/awesome/ui/wibar/module/gpu.lua rename to src/ui/wibar/module/gpu.lua diff --git a/pkgs/awesome/awesome/ui/wibar/module/init.lua b/src/ui/wibar/module/init.lua similarity index 100% rename from pkgs/awesome/awesome/ui/wibar/module/init.lua rename to src/ui/wibar/module/init.lua diff --git a/pkgs/awesome/awesome/ui/wibar/module/launcher.lua b/src/ui/wibar/module/launcher.lua similarity index 100% rename from pkgs/awesome/awesome/ui/wibar/module/launcher.lua rename to src/ui/wibar/module/launcher.lua diff --git a/pkgs/awesome/awesome/ui/wibar/module/layoutbox.lua b/src/ui/wibar/module/layoutbox.lua similarity index 100% rename from pkgs/awesome/awesome/ui/wibar/module/layoutbox.lua rename to src/ui/wibar/module/layoutbox.lua diff --git a/pkgs/awesome/awesome/ui/wibar/module/profile.lua b/src/ui/wibar/module/profile.lua similarity index 100% rename from pkgs/awesome/awesome/ui/wibar/module/profile.lua rename to src/ui/wibar/module/profile.lua diff --git a/pkgs/awesome/awesome/ui/wibar/module/stats.lua b/src/ui/wibar/module/stats.lua similarity index 100% rename from pkgs/awesome/awesome/ui/wibar/module/stats.lua rename to src/ui/wibar/module/stats.lua diff --git a/pkgs/awesome/awesome/ui/wibar/module/systray.lua b/src/ui/wibar/module/systray.lua similarity index 100% rename from pkgs/awesome/awesome/ui/wibar/module/systray.lua rename to src/ui/wibar/module/systray.lua diff --git a/pkgs/awesome/awesome/ui/wibar/module/taglist.lua b/src/ui/wibar/module/taglist.lua similarity index 100% rename from pkgs/awesome/awesome/ui/wibar/module/taglist.lua rename to src/ui/wibar/module/taglist.lua diff --git a/pkgs/awesome/awesome/ui/wibar/module/tailscale.lua b/src/ui/wibar/module/tailscale.lua similarity index 100% rename from pkgs/awesome/awesome/ui/wibar/module/tailscale.lua rename to src/ui/wibar/module/tailscale.lua diff --git a/pkgs/awesome/awesome/ui/wibar/module/tasklist.lua b/src/ui/wibar/module/tasklist.lua similarity index 100% rename from pkgs/awesome/awesome/ui/wibar/module/tasklist.lua rename to src/ui/wibar/module/tasklist.lua