From 208f9e573021c6e33cdbb3cf6fd9f2bb8a8f6eb0 Mon Sep 17 00:00:00 2001 From: mjallen18 Date: Mon, 3 Mar 2025 15:37:18 -0600 Subject: [PATCH] nix-serve maybe --- .gitignore | 0 .sops.yaml | 0 .vscode/tasks.json | 0 README.md | 0 automations.yaml | 0 flake.lock | 0 flake.nix | 111 ++++++++++++++++++ hosts/deck/boot.nix | 0 hosts/deck/configuration.nix | 0 hosts/deck/hardware-configuration.nix | 0 hosts/deck/home.nix | 0 hosts/deck/jovian.nix | 0 hosts/default.nix | 0 hosts/desktop/boot.nix | 0 hosts/desktop/configuration.nix | 27 ++++- hosts/desktop/cosmic/default.nix | 0 hosts/desktop/filesystems.nix | 0 hosts/desktop/hardware-configuration.nix | 0 hosts/desktop/home.nix | 0 hosts/desktop/hyprland/config.nix | 0 .../desktop/hyprland/config/btop/default.nix | 0 .../btop/themes/catppuccin_macchiato.theme | 0 .../hyprland/config/btop/themes/nord.theme | 0 .../desktop/hyprland/config/hypr/default.nix | 0 .../desktop/hyprland/config/kitty/default.nix | 0 .../hyprland/config/kitty/macchiato.conf | 0 hosts/desktop/hyprland/config/kitty/nord.conf | 0 .../desktop/hyprland/config/mako/default.nix | 0 .../hyprland/config/nwg-drawer/drawer.css | 0 .../hyprland/config/nwg-panel/excluded-dirs | 0 .../config/nwg-panel/preferred-apps.json | 0 .../hyprland/config/wallpapers/wall.png | Bin .../hyprland/config/waybar/default.nix | 0 .../hyprland/config/waybar/macchiato.css | 0 hosts/desktop/hyprland/config/waybar/nord.css | 0 .../hyprland/config/waybar/scripts/hass.nix | 0 .../hyprland/config/waybar/scripts/hass.py | 0 .../desktop/hyprland/config/waybar/waybar.css | 0 .../config/wlogout/icons/hibernate.png | Bin .../hyprland/config/wlogout/icons/lock.png | Bin .../hyprland/config/wlogout/icons/logout.png | Bin .../hyprland/config/wlogout/icons/reboot.png | Bin .../config/wlogout/icons/shutdown.png | Bin .../hyprland/config/wlogout/icons/suspend.png | Bin hosts/desktop/hyprland/config/wlogout/layout | 0 .../desktop/hyprland/config/wlogout/style.css | 0 .../desktop/hyprland/config/wofi/default.nix | 0 hosts/desktop/hyprland/default.nix | 0 hosts/desktop/hyprland/environment.nix | 0 hosts/desktop/hyprland/home.nix | 0 hosts/desktop/sops.nix | 0 hosts/homeassistant/automations.yaml | 0 hosts/homeassistant/automations.yaml.ori | 0 hosts/homeassistant/boot.nix | 0 hosts/homeassistant/configuration.nix | 0 .../homeassistant/hardware-configuration.nix | 0 hosts/homeassistant/home.nix | 0 hosts/homeassistant/homeassistant.nix | 0 hosts/homeassistant/impermanence.nix | 0 hosts/homeassistant/scenes.yaml | 0 hosts/homeassistant/scripts.yaml | 0 .../apple-silicon-support/default.nix | 0 .../modules/boot-m1n1/default.nix | 0 .../apple-silicon-support/modules/default.nix | 0 .../modules/kernel/default.nix | 0 .../modules/mesa/default.nix | 0 .../modules/peripheral-firmware/default.nix | 0 .../modules/sound/default.nix | 0 .../packages/alsa-ucm-conf-asahi/default.nix | 0 .../packages/asahi-audio/default.nix | 0 .../packages/bankstown-lv2/default.nix | 0 .../0001-check-in-new-alloc-for-1.75.0.patch | 0 ...-more-values-as-F_DUPFD_CLOEXEC-args.patch | 0 .../packages/linux-asahi/config | 0 .../packages/linux-asahi/default.nix | 0 .../packages/linux-asahi/rust_1_76_0.patch | 0 .../packages/m1n1/default.nix | 0 .../packages/mesa-asahi-edge/default.nix | 0 ...include-dri-driver-path-in-cache-key.patch | 0 .../packages/mesa-asahi-edge/opencl.patch | 0 .../packages/overlay.nix | 0 .../packages/speakersafetyd/default.nix | 0 .../packages/uboot-asahi/default.nix | 0 hosts/mac-nixos/configuration.nix | 0 hosts/mac-nixos/cosmic/default.nix | 0 hosts/mac-nixos/gnome/default.nix | 0 hosts/mac-nixos/gnome/home.nix | 0 hosts/mac-nixos/hardware-configuration.nix | 0 hosts/mac-nixos/home.nix | 0 hosts/mac-nixos/hyprland/config.nix | 0 .../hyprland/config/btop/default.nix | 0 .../btop/themes/catppuccin_macchiato.theme | 0 .../hyprland/config/hypr/default.nix | 0 .../hyprland/config/kitty/default.nix | 0 .../hyprland/config/kitty/macchiato.conf | 0 .../hyprland/config/mako/default.nix | 0 .../hyprland/config/nwg-drawer/drawer.css | 0 .../hyprland/config/nwg-panel/excluded-dirs | 0 .../config/nwg-panel/preferred-apps.json | 0 .../hyprland/config/wallpapers/wall.png | Bin .../hyprland/config/waybar/default.nix | 0 .../config/wlogout/icons/hibernate.png | Bin .../hyprland/config/wlogout/icons/lock.png | Bin .../hyprland/config/wlogout/icons/logout.png | Bin .../hyprland/config/wlogout/icons/reboot.png | Bin .../config/wlogout/icons/shutdown.png | Bin .../hyprland/config/wlogout/icons/suspend.png | Bin .../mac-nixos/hyprland/config/wlogout/layout | 0 .../hyprland/config/wlogout/style.css | 0 .../hyprland/config/wofi/default.nix | 0 hosts/mac-nixos/hyprland/default.nix | 0 hosts/mac-nixos/hyprland/environment.nix | 0 hosts/mac-nixos/hyprland/home.nix | 0 hosts/mac/configuration.nix | 0 hosts/mac/home.nix | 0 hosts/mac/trampoline-apps/default.nix | 0 .../lib-bash/trampoline-apps.sh | 0 hosts/nas/apps.nix | 0 hosts/nas/apps/arrs/default.nix | 0 hosts/nas/apps/collabora/default.nix | 0 hosts/nas/apps/crowdsec/default.nix | 0 hosts/nas/apps/jellyfin/default.nix | 0 hosts/nas/apps/jellyseerr/default.nix | 0 hosts/nas/apps/netdata/default.nix | 0 hosts/nas/apps/nextcloud/default.nix | 0 hosts/nas/apps/ollama/default.nix | 0 hosts/nas/apps/paperless-ai/default.nix | 0 hosts/nas/apps/paperless-ai/options.nix | 0 hosts/nas/apps/paperless/default.nix | 0 hosts/nas/apps/traefik/default.nix | 12 ++ hosts/nas/boot.nix | 0 hosts/nas/configuration.nix | 3 + hosts/nas/filesystems.nix | 0 hosts/nas/grafana.nix | 0 hosts/nas/hardware-configuration.nix | 0 hosts/nas/home.nix | 0 hosts/nas/impermanence.nix | 0 hosts/nas/machine-id | 0 hosts/nas/networking.nix | 0 hosts/nas/nix-serve.nix | 73 ++++++++++++ hosts/nas/samba.nix | 0 hosts/nas/sensors.txt | 0 hosts/nas/services.nix | 2 + hosts/nas/sops.nix | 0 hosts/nas/ups.nix | 0 hosts/pi4/adguard.nix | 0 hosts/pi4/boot.nix | 0 hosts/pi4/configuration.nix | 0 hosts/pi4/hardware-configuration.nix | 0 hosts/pi4/home.nix | 0 hosts/pi4/impermanence.nix | 0 hosts/pi4/sops.nix | 0 hosts/pi4/ups-monitor.nix | 0 modules/apps/deluge/default.nix | 0 modules/apps/deluge/options.nix | 0 modules/apps/discover-wrapped/default.nix | 0 modules/apps/discover-wrapped/options.nix | 0 modules/apps/free-games-claimer/default.nix | 0 modules/apps/free-games-claimer/options.nix | 0 modules/apps/jackett/default.nix | 0 modules/apps/jackett/options.nix | 0 modules/apps/manyfold/default.nix | 0 modules/apps/manyfold/options.nix | 0 modules/apps/mariadb/default.nix | 0 modules/apps/mariadb/options.nix | 0 modules/apps/mongodb/default.nix | 0 modules/apps/mongodb/options.nix | 0 modules/apps/netbootxyz/default.nix | 0 modules/apps/netbootxyz/options.nix | 0 modules/apps/ollama/default.nix | 0 modules/apps/ollama/options.nix | 0 modules/apps/open-webui/default.nix | 0 modules/apps/open-webui/options.nix | 0 modules/apps/tdarr/default.nix | 0 modules/apps/tdarr/options.nix | 0 modules/apps/your-spotify/default.nix | 0 modules/apps/your-spotify/options.nix | 0 modules/default.nix | 0 modules/samba/default-unstable.nix | 0 modules/samba/default.nix | 0 modules/samba/options.nix | 0 overlays/default.nix | 0 secrets/secrets.yaml | 0 share/amd/default.nix | 0 share/amd/options.nix | 0 share/default.nix | 0 share/gaming/default.nix | 0 share/gaming/options.nix | 0 share/impermanence/default.nix | 0 share/nvidia/default.nix | 0 share/nvidia/options.nix | 0 191 files changed, 224 insertions(+), 4 deletions(-) mode change 100644 => 100755 .gitignore mode change 100644 => 100755 .sops.yaml mode change 100644 => 100755 .vscode/tasks.json mode change 100644 => 100755 README.md mode change 100644 => 100755 automations.yaml mode change 100644 => 100755 flake.lock mode change 100644 => 100755 flake.nix mode change 100644 => 100755 hosts/deck/boot.nix mode change 100644 => 100755 hosts/deck/configuration.nix mode change 100644 => 100755 hosts/deck/hardware-configuration.nix mode change 100644 => 100755 hosts/deck/home.nix mode change 100644 => 100755 hosts/deck/jovian.nix mode change 100644 => 100755 hosts/default.nix mode change 100644 => 100755 hosts/desktop/boot.nix mode change 100644 => 100755 hosts/desktop/configuration.nix mode change 100644 => 100755 hosts/desktop/cosmic/default.nix mode change 100644 => 100755 hosts/desktop/filesystems.nix mode change 100644 => 100755 hosts/desktop/hardware-configuration.nix mode change 100644 => 100755 hosts/desktop/home.nix mode change 100644 => 100755 hosts/desktop/hyprland/config.nix mode change 100644 => 100755 hosts/desktop/hyprland/config/btop/default.nix mode change 100644 => 100755 hosts/desktop/hyprland/config/btop/themes/catppuccin_macchiato.theme mode change 100644 => 100755 hosts/desktop/hyprland/config/btop/themes/nord.theme mode change 100644 => 100755 hosts/desktop/hyprland/config/hypr/default.nix mode change 100644 => 100755 hosts/desktop/hyprland/config/kitty/default.nix mode change 100644 => 100755 hosts/desktop/hyprland/config/kitty/macchiato.conf mode change 100644 => 100755 hosts/desktop/hyprland/config/kitty/nord.conf mode change 100644 => 100755 hosts/desktop/hyprland/config/mako/default.nix mode change 100644 => 100755 hosts/desktop/hyprland/config/nwg-drawer/drawer.css mode change 100644 => 100755 hosts/desktop/hyprland/config/nwg-panel/excluded-dirs mode change 100644 => 100755 hosts/desktop/hyprland/config/nwg-panel/preferred-apps.json mode change 100644 => 100755 hosts/desktop/hyprland/config/wallpapers/wall.png mode change 100644 => 100755 hosts/desktop/hyprland/config/waybar/default.nix mode change 100644 => 100755 hosts/desktop/hyprland/config/waybar/macchiato.css mode change 100644 => 100755 hosts/desktop/hyprland/config/waybar/nord.css mode change 100644 => 100755 hosts/desktop/hyprland/config/waybar/scripts/hass.nix mode change 100644 => 100755 hosts/desktop/hyprland/config/waybar/scripts/hass.py mode change 100644 => 100755 hosts/desktop/hyprland/config/waybar/waybar.css mode change 100644 => 100755 hosts/desktop/hyprland/config/wlogout/icons/hibernate.png mode change 100644 => 100755 hosts/desktop/hyprland/config/wlogout/icons/lock.png mode change 100644 => 100755 hosts/desktop/hyprland/config/wlogout/icons/logout.png mode change 100644 => 100755 hosts/desktop/hyprland/config/wlogout/icons/reboot.png mode change 100644 => 100755 hosts/desktop/hyprland/config/wlogout/icons/shutdown.png mode change 100644 => 100755 hosts/desktop/hyprland/config/wlogout/icons/suspend.png mode change 100644 => 100755 hosts/desktop/hyprland/config/wlogout/layout mode change 100644 => 100755 hosts/desktop/hyprland/config/wlogout/style.css mode change 100644 => 100755 hosts/desktop/hyprland/config/wofi/default.nix mode change 100644 => 100755 hosts/desktop/hyprland/default.nix mode change 100644 => 100755 hosts/desktop/hyprland/environment.nix mode change 100644 => 100755 hosts/desktop/hyprland/home.nix mode change 100644 => 100755 hosts/desktop/sops.nix mode change 100644 => 100755 hosts/homeassistant/automations.yaml mode change 100644 => 100755 hosts/homeassistant/automations.yaml.ori mode change 100644 => 100755 hosts/homeassistant/boot.nix mode change 100644 => 100755 hosts/homeassistant/configuration.nix mode change 100644 => 100755 hosts/homeassistant/hardware-configuration.nix mode change 100644 => 100755 hosts/homeassistant/home.nix mode change 100644 => 100755 hosts/homeassistant/homeassistant.nix mode change 100644 => 100755 hosts/homeassistant/impermanence.nix mode change 100644 => 100755 hosts/homeassistant/scenes.yaml mode change 100644 => 100755 hosts/homeassistant/scripts.yaml mode change 100644 => 100755 hosts/mac-nixos/apple-silicon-support/default.nix mode change 100644 => 100755 hosts/mac-nixos/apple-silicon-support/modules/boot-m1n1/default.nix mode change 100644 => 100755 hosts/mac-nixos/apple-silicon-support/modules/default.nix mode change 100644 => 100755 hosts/mac-nixos/apple-silicon-support/modules/kernel/default.nix mode change 100644 => 100755 hosts/mac-nixos/apple-silicon-support/modules/mesa/default.nix mode change 100644 => 100755 hosts/mac-nixos/apple-silicon-support/modules/peripheral-firmware/default.nix mode change 100644 => 100755 hosts/mac-nixos/apple-silicon-support/modules/sound/default.nix mode change 100644 => 100755 hosts/mac-nixos/apple-silicon-support/packages/alsa-ucm-conf-asahi/default.nix mode change 100644 => 100755 hosts/mac-nixos/apple-silicon-support/packages/asahi-audio/default.nix mode change 100644 => 100755 hosts/mac-nixos/apple-silicon-support/packages/bankstown-lv2/default.nix mode change 100644 => 100755 hosts/mac-nixos/apple-silicon-support/packages/linux-asahi/0001-check-in-new-alloc-for-1.75.0.patch mode change 100644 => 100755 hosts/mac-nixos/apple-silicon-support/packages/linux-asahi/0001-fs-fcntl-accept-more-values-as-F_DUPFD_CLOEXEC-args.patch mode change 100644 => 100755 hosts/mac-nixos/apple-silicon-support/packages/linux-asahi/config mode change 100644 => 100755 hosts/mac-nixos/apple-silicon-support/packages/linux-asahi/default.nix mode change 100644 => 100755 hosts/mac-nixos/apple-silicon-support/packages/linux-asahi/rust_1_76_0.patch mode change 100644 => 100755 hosts/mac-nixos/apple-silicon-support/packages/m1n1/default.nix mode change 100644 => 100755 hosts/mac-nixos/apple-silicon-support/packages/mesa-asahi-edge/default.nix mode change 100644 => 100755 hosts/mac-nixos/apple-silicon-support/packages/mesa-asahi-edge/disk_cache-include-dri-driver-path-in-cache-key.patch mode change 100644 => 100755 hosts/mac-nixos/apple-silicon-support/packages/mesa-asahi-edge/opencl.patch mode change 100644 => 100755 hosts/mac-nixos/apple-silicon-support/packages/overlay.nix mode change 100644 => 100755 hosts/mac-nixos/apple-silicon-support/packages/speakersafetyd/default.nix mode change 100644 => 100755 hosts/mac-nixos/apple-silicon-support/packages/uboot-asahi/default.nix mode change 100644 => 100755 hosts/mac-nixos/configuration.nix mode change 100644 => 100755 hosts/mac-nixos/cosmic/default.nix mode change 100644 => 100755 hosts/mac-nixos/gnome/default.nix mode change 100644 => 100755 hosts/mac-nixos/gnome/home.nix mode change 100644 => 100755 hosts/mac-nixos/hardware-configuration.nix mode change 100644 => 100755 hosts/mac-nixos/home.nix mode change 100644 => 100755 hosts/mac-nixos/hyprland/config.nix mode change 100644 => 100755 hosts/mac-nixos/hyprland/config/btop/default.nix mode change 100644 => 100755 hosts/mac-nixos/hyprland/config/btop/themes/catppuccin_macchiato.theme mode change 100644 => 100755 hosts/mac-nixos/hyprland/config/hypr/default.nix mode change 100644 => 100755 hosts/mac-nixos/hyprland/config/kitty/default.nix mode change 100644 => 100755 hosts/mac-nixos/hyprland/config/kitty/macchiato.conf mode change 100644 => 100755 hosts/mac-nixos/hyprland/config/mako/default.nix mode change 100644 => 100755 hosts/mac-nixos/hyprland/config/nwg-drawer/drawer.css mode change 100644 => 100755 hosts/mac-nixos/hyprland/config/nwg-panel/excluded-dirs mode change 100644 => 100755 hosts/mac-nixos/hyprland/config/nwg-panel/preferred-apps.json mode change 100644 => 100755 hosts/mac-nixos/hyprland/config/wallpapers/wall.png mode change 100644 => 100755 hosts/mac-nixos/hyprland/config/waybar/default.nix mode change 100644 => 100755 hosts/mac-nixos/hyprland/config/wlogout/icons/hibernate.png mode change 100644 => 100755 hosts/mac-nixos/hyprland/config/wlogout/icons/lock.png mode change 100644 => 100755 hosts/mac-nixos/hyprland/config/wlogout/icons/logout.png mode change 100644 => 100755 hosts/mac-nixos/hyprland/config/wlogout/icons/reboot.png mode change 100644 => 100755 hosts/mac-nixos/hyprland/config/wlogout/icons/shutdown.png mode change 100644 => 100755 hosts/mac-nixos/hyprland/config/wlogout/icons/suspend.png mode change 100644 => 100755 hosts/mac-nixos/hyprland/config/wlogout/layout mode change 100644 => 100755 hosts/mac-nixos/hyprland/config/wlogout/style.css mode change 100644 => 100755 hosts/mac-nixos/hyprland/config/wofi/default.nix mode change 100644 => 100755 hosts/mac-nixos/hyprland/default.nix mode change 100644 => 100755 hosts/mac-nixos/hyprland/environment.nix mode change 100644 => 100755 hosts/mac-nixos/hyprland/home.nix mode change 100644 => 100755 hosts/mac/configuration.nix mode change 100644 => 100755 hosts/mac/home.nix mode change 100644 => 100755 hosts/mac/trampoline-apps/default.nix mode change 100644 => 100755 hosts/mac/trampoline-apps/lib-bash/trampoline-apps.sh mode change 100644 => 100755 hosts/nas/apps.nix mode change 100644 => 100755 hosts/nas/apps/arrs/default.nix mode change 100644 => 100755 hosts/nas/apps/collabora/default.nix mode change 100644 => 100755 hosts/nas/apps/crowdsec/default.nix mode change 100644 => 100755 hosts/nas/apps/jellyfin/default.nix mode change 100644 => 100755 hosts/nas/apps/jellyseerr/default.nix mode change 100644 => 100755 hosts/nas/apps/netdata/default.nix mode change 100644 => 100755 hosts/nas/apps/nextcloud/default.nix mode change 100644 => 100755 hosts/nas/apps/ollama/default.nix mode change 100644 => 100755 hosts/nas/apps/paperless-ai/default.nix mode change 100644 => 100755 hosts/nas/apps/paperless-ai/options.nix mode change 100644 => 100755 hosts/nas/apps/paperless/default.nix mode change 100644 => 100755 hosts/nas/apps/traefik/default.nix mode change 100644 => 100755 hosts/nas/boot.nix mode change 100644 => 100755 hosts/nas/filesystems.nix mode change 100644 => 100755 hosts/nas/grafana.nix mode change 100644 => 100755 hosts/nas/hardware-configuration.nix mode change 100644 => 100755 hosts/nas/home.nix mode change 100644 => 100755 hosts/nas/impermanence.nix mode change 100644 => 100755 hosts/nas/machine-id mode change 100644 => 100755 hosts/nas/networking.nix create mode 100755 hosts/nas/nix-serve.nix mode change 100644 => 100755 hosts/nas/samba.nix mode change 100644 => 100755 hosts/nas/sensors.txt mode change 100644 => 100755 hosts/nas/services.nix mode change 100644 => 100755 hosts/nas/sops.nix mode change 100644 => 100755 hosts/nas/ups.nix mode change 100644 => 100755 hosts/pi4/adguard.nix mode change 100644 => 100755 hosts/pi4/boot.nix mode change 100644 => 100755 hosts/pi4/configuration.nix mode change 100644 => 100755 hosts/pi4/hardware-configuration.nix mode change 100644 => 100755 hosts/pi4/home.nix mode change 100644 => 100755 hosts/pi4/impermanence.nix mode change 100644 => 100755 hosts/pi4/sops.nix mode change 100644 => 100755 hosts/pi4/ups-monitor.nix mode change 100644 => 100755 modules/apps/deluge/default.nix mode change 100644 => 100755 modules/apps/deluge/options.nix mode change 100644 => 100755 modules/apps/discover-wrapped/default.nix mode change 100644 => 100755 modules/apps/discover-wrapped/options.nix mode change 100644 => 100755 modules/apps/free-games-claimer/default.nix mode change 100644 => 100755 modules/apps/free-games-claimer/options.nix mode change 100644 => 100755 modules/apps/jackett/default.nix mode change 100644 => 100755 modules/apps/jackett/options.nix mode change 100644 => 100755 modules/apps/manyfold/default.nix mode change 100644 => 100755 modules/apps/manyfold/options.nix mode change 100644 => 100755 modules/apps/mariadb/default.nix mode change 100644 => 100755 modules/apps/mariadb/options.nix mode change 100644 => 100755 modules/apps/mongodb/default.nix mode change 100644 => 100755 modules/apps/mongodb/options.nix mode change 100644 => 100755 modules/apps/netbootxyz/default.nix mode change 100644 => 100755 modules/apps/netbootxyz/options.nix mode change 100644 => 100755 modules/apps/ollama/default.nix mode change 100644 => 100755 modules/apps/ollama/options.nix mode change 100644 => 100755 modules/apps/open-webui/default.nix mode change 100644 => 100755 modules/apps/open-webui/options.nix mode change 100644 => 100755 modules/apps/tdarr/default.nix mode change 100644 => 100755 modules/apps/tdarr/options.nix mode change 100644 => 100755 modules/apps/your-spotify/default.nix mode change 100644 => 100755 modules/apps/your-spotify/options.nix mode change 100644 => 100755 modules/default.nix mode change 100644 => 100755 modules/samba/default-unstable.nix mode change 100644 => 100755 modules/samba/default.nix mode change 100644 => 100755 modules/samba/options.nix mode change 100644 => 100755 overlays/default.nix mode change 100644 => 100755 secrets/secrets.yaml mode change 100644 => 100755 share/amd/default.nix mode change 100644 => 100755 share/amd/options.nix mode change 100644 => 100755 share/default.nix mode change 100644 => 100755 share/gaming/default.nix mode change 100644 => 100755 share/gaming/options.nix mode change 100644 => 100755 share/impermanence/default.nix mode change 100644 => 100755 share/nvidia/default.nix mode change 100644 => 100755 share/nvidia/options.nix diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 diff --git a/.sops.yaml b/.sops.yaml old mode 100644 new mode 100755 diff --git a/.vscode/tasks.json b/.vscode/tasks.json old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/automations.yaml b/automations.yaml old mode 100644 new mode 100755 diff --git a/flake.lock b/flake.lock old mode 100644 new mode 100755 diff --git a/flake.nix b/flake.nix old mode 100644 new mode 100755 index 257c42e..0d2c78b --- a/flake.nix +++ b/flake.nix @@ -279,6 +279,117 @@ ]; }; }; + + # Improved build-all app + apps.x86_64-linux.build-all = let + pkgs = nixpkgs-unstable.legacyPackages.x86_64-linux; + in { + type = "app"; + program = toString (pkgs.writeShellScript "build-all" '' + #!/usr/bin/env bash + set -euo pipefail + + # Get the list of system names directly from flake.nix + # This avoids JSON serialization issues + systems=($(grep -o '"[^"]*"[[:space:]]*=' flake.nix | grep -v '_\|#\|"\.\|\*' | sed 's/"//g' | sed 's/=//g' | xargs)) + + echo "Found systems: ''${systems[@]}" + echo "Building all compatible systems..." + + # Track success/failure + success=() + failure=() + + for system in "''${systems[@]}"; do + echo "Attempting to build $system..." + + # Detect system type without JSON evaluation + if nix eval --raw ".#nixosConfigurations.$system.pkgs.stdenv.hostPlatform.system" 2>/dev/null; then + system_type=$(nix eval --raw ".#nixosConfigurations.$system.pkgs.stdenv.hostPlatform.system" 2>/dev/null || echo "unknown") + + # Only build if we're on the same system type or can cross-compile + if [ "$system_type" = "x86_64-linux" ]; then + echo "Building $system (x86_64-linux)..." + if nix build ".#nixosConfigurations.$system.config.system.build.toplevel" --out-link "./result-$system" --no-link; then + echo "✅ Successfully built $system" + + # Copy to the binary cache + echo "Copying $system to binary cache..." + nix copy --to "http://localhost:5000?secret-key=/etc/nix/cache-priv-key.pem" ".#nixosConfigurations.$system.config.system.build.toplevel" + success+=("$system") + else + echo "❌ Failed to build $system" + failure+=("$system") + fi + elif [ "$system_type" = "aarch64-linux" ] && command -v qemu-aarch64-static >/dev/null 2>&1; then + echo "Cross-building $system (aarch64-linux)..." + if nix build ".#nixosConfigurations.$system.config.system.build.toplevel" --system aarch64-linux --out-link "./result-$system" --no-link; then + echo "✅ Successfully built $system" + nix copy --to "http://localhost:5000?secret-key=/etc/nix/cache-priv-key.pem" ".#nixosConfigurations.$system.config.system.build.toplevel" + success+=("$system") + else + echo "❌ Failed to build $system" + failure+=("$system") + fi + else + echo "⚠️ Skipping $system ($system_type) - incompatible with this host" + failure+=("$system (incompatible)") + fi + elif nix eval --raw ".#darwinConfigurations.$system.system" 2>/dev/null; then + echo "Found Darwin system $system, attempting to build packages..." + if nix build ".#darwinConfigurations.$system.system" --out-link "./result-darwin-$system" --no-link; then + echo "✅ Successfully built $system packages" + nix copy --to "http://localhost:5000?secret-key=/etc/nix/cache-priv-key.pem" ".#darwinConfigurations.$system.system" + success+=("$system (darwin)") + else + echo "❌ Failed to build $system packages" + failure+=("$system (darwin)") + fi + else + echo "⚠️ Skipping $system - could not determine system type" + failure+=("$system (unknown)") + fi + done + + # Summary + echo "" + echo "===== Build Summary =====" + echo "✅ Successfully built: ''${success[*]:-none}" + echo "❌ Failed to build: ''${failure[*]:-none}" + + # Return error code if any builds failed + if [ ''${#failure[@]} -gt 0 ]; then + exit 1 + fi + ''); + }; + + # You could also provide a separate script that only lists systems + apps.x86_64-linux.list-systems = let + pkgs = nixpkgs-unstable.legacyPackages.x86_64-linux; + in { + type = "app"; + program = toString (pkgs.writeShellScript "list-systems" '' + #!/usr/bin/env bash + set -euo pipefail + + # Get systems from flake.nix + systems=($(grep -o '"[^"]*"[[:space:]]*=' flake.nix | grep -v '_\|#\|"\.\|\*' | sed 's/"//g' | sed 's/=//g' | xargs)) + + echo "Found systems in flake.nix:" + for system in "''${systems[@]}"; do + # Try to determine if it's a NixOS or Darwin system + if nix eval --raw ".#nixosConfigurations.$system.pkgs.stdenv.hostPlatform.system" 2>/dev/null; then + system_type=$(nix eval --raw ".#nixosConfigurations.$system.pkgs.stdenv.hostPlatform.system" 2>/dev/null) + echo " - $system (NixOS, $system_type)" + elif nix eval --raw ".#darwinConfigurations.$system.system" 2>/dev/null; then + echo " - $system (Darwin)" + else + echo " - $system (unknown type)" + fi + done + ''); + }; # Expose the package set, including overlays, for convenience. darwinPackages = self.darwinConfigurations."MacBook-Pro".pkgs; diff --git a/hosts/deck/boot.nix b/hosts/deck/boot.nix old mode 100644 new mode 100755 diff --git a/hosts/deck/configuration.nix b/hosts/deck/configuration.nix old mode 100644 new mode 100755 diff --git a/hosts/deck/hardware-configuration.nix b/hosts/deck/hardware-configuration.nix old mode 100644 new mode 100755 diff --git a/hosts/deck/home.nix b/hosts/deck/home.nix old mode 100644 new mode 100755 diff --git a/hosts/deck/jovian.nix b/hosts/deck/jovian.nix old mode 100644 new mode 100755 diff --git a/hosts/default.nix b/hosts/default.nix old mode 100644 new mode 100755 diff --git a/hosts/desktop/boot.nix b/hosts/desktop/boot.nix old mode 100644 new mode 100755 diff --git a/hosts/desktop/configuration.nix b/hosts/desktop/configuration.nix old mode 100644 new mode 100755 index 8338075..1e80ad7 --- a/hosts/desktop/configuration.nix +++ b/hosts/desktop/configuration.nix @@ -108,10 +108,29 @@ in apps.discover-wrapped.enable = lib.mkDefault false; chaotic.mesa-git.enable = true; - nix.settings.trusted-users = lib.mkDefault [ - "root" - user - ]; + # Enable nix flakes and nix-command tools + nix = { + settings = { + substituters = [ + "https://cache.mjallen.dev" + "https://nix-community.cachix.org" + "https://cache.nixos.org/" + ]; + trusted-public-keys = [ + "cache.mjallen.dev-1:IzFmKCd8/gggI6lcCXsW65qQwiCLGFFN9t9s2iw7Lvc=" + "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" + ]; + warn-dirty = lib.mkForce false; + experimental-features = lib.mkForce [ + "nix-command" + "flakes" + ]; + }; + trusted-users = lib.mkDefault [ + "root" + user + ]; + }; services = { # Enable Desktop Environment. diff --git a/hosts/desktop/cosmic/default.nix b/hosts/desktop/cosmic/default.nix old mode 100644 new mode 100755 diff --git a/hosts/desktop/filesystems.nix b/hosts/desktop/filesystems.nix old mode 100644 new mode 100755 diff --git a/hosts/desktop/hardware-configuration.nix b/hosts/desktop/hardware-configuration.nix old mode 100644 new mode 100755 diff --git a/hosts/desktop/home.nix b/hosts/desktop/home.nix old mode 100644 new mode 100755 diff --git a/hosts/desktop/hyprland/config.nix b/hosts/desktop/hyprland/config.nix old mode 100644 new mode 100755 diff --git a/hosts/desktop/hyprland/config/btop/default.nix b/hosts/desktop/hyprland/config/btop/default.nix old mode 100644 new mode 100755 diff --git a/hosts/desktop/hyprland/config/btop/themes/catppuccin_macchiato.theme b/hosts/desktop/hyprland/config/btop/themes/catppuccin_macchiato.theme old mode 100644 new mode 100755 diff --git a/hosts/desktop/hyprland/config/btop/themes/nord.theme b/hosts/desktop/hyprland/config/btop/themes/nord.theme old mode 100644 new mode 100755 diff --git a/hosts/desktop/hyprland/config/hypr/default.nix b/hosts/desktop/hyprland/config/hypr/default.nix old mode 100644 new mode 100755 diff --git a/hosts/desktop/hyprland/config/kitty/default.nix b/hosts/desktop/hyprland/config/kitty/default.nix old mode 100644 new mode 100755 diff --git a/hosts/desktop/hyprland/config/kitty/macchiato.conf b/hosts/desktop/hyprland/config/kitty/macchiato.conf old mode 100644 new mode 100755 diff --git a/hosts/desktop/hyprland/config/kitty/nord.conf b/hosts/desktop/hyprland/config/kitty/nord.conf old mode 100644 new mode 100755 diff --git a/hosts/desktop/hyprland/config/mako/default.nix b/hosts/desktop/hyprland/config/mako/default.nix old mode 100644 new mode 100755 diff --git a/hosts/desktop/hyprland/config/nwg-drawer/drawer.css b/hosts/desktop/hyprland/config/nwg-drawer/drawer.css old mode 100644 new mode 100755 diff --git a/hosts/desktop/hyprland/config/nwg-panel/excluded-dirs b/hosts/desktop/hyprland/config/nwg-panel/excluded-dirs old mode 100644 new mode 100755 diff --git a/hosts/desktop/hyprland/config/nwg-panel/preferred-apps.json b/hosts/desktop/hyprland/config/nwg-panel/preferred-apps.json old mode 100644 new mode 100755 diff --git a/hosts/desktop/hyprland/config/wallpapers/wall.png b/hosts/desktop/hyprland/config/wallpapers/wall.png old mode 100644 new mode 100755 diff --git a/hosts/desktop/hyprland/config/waybar/default.nix b/hosts/desktop/hyprland/config/waybar/default.nix old mode 100644 new mode 100755 diff --git a/hosts/desktop/hyprland/config/waybar/macchiato.css b/hosts/desktop/hyprland/config/waybar/macchiato.css old mode 100644 new mode 100755 diff --git a/hosts/desktop/hyprland/config/waybar/nord.css b/hosts/desktop/hyprland/config/waybar/nord.css old mode 100644 new mode 100755 diff --git a/hosts/desktop/hyprland/config/waybar/scripts/hass.nix b/hosts/desktop/hyprland/config/waybar/scripts/hass.nix old mode 100644 new mode 100755 diff --git a/hosts/desktop/hyprland/config/waybar/scripts/hass.py b/hosts/desktop/hyprland/config/waybar/scripts/hass.py old mode 100644 new mode 100755 diff --git a/hosts/desktop/hyprland/config/waybar/waybar.css b/hosts/desktop/hyprland/config/waybar/waybar.css old mode 100644 new mode 100755 diff --git a/hosts/desktop/hyprland/config/wlogout/icons/hibernate.png b/hosts/desktop/hyprland/config/wlogout/icons/hibernate.png old mode 100644 new mode 100755 diff --git a/hosts/desktop/hyprland/config/wlogout/icons/lock.png b/hosts/desktop/hyprland/config/wlogout/icons/lock.png old mode 100644 new mode 100755 diff --git a/hosts/desktop/hyprland/config/wlogout/icons/logout.png b/hosts/desktop/hyprland/config/wlogout/icons/logout.png old mode 100644 new mode 100755 diff --git a/hosts/desktop/hyprland/config/wlogout/icons/reboot.png b/hosts/desktop/hyprland/config/wlogout/icons/reboot.png old mode 100644 new mode 100755 diff --git a/hosts/desktop/hyprland/config/wlogout/icons/shutdown.png b/hosts/desktop/hyprland/config/wlogout/icons/shutdown.png old mode 100644 new mode 100755 diff --git a/hosts/desktop/hyprland/config/wlogout/icons/suspend.png b/hosts/desktop/hyprland/config/wlogout/icons/suspend.png old mode 100644 new mode 100755 diff --git a/hosts/desktop/hyprland/config/wlogout/layout b/hosts/desktop/hyprland/config/wlogout/layout old mode 100644 new mode 100755 diff --git a/hosts/desktop/hyprland/config/wlogout/style.css b/hosts/desktop/hyprland/config/wlogout/style.css old mode 100644 new mode 100755 diff --git a/hosts/desktop/hyprland/config/wofi/default.nix b/hosts/desktop/hyprland/config/wofi/default.nix old mode 100644 new mode 100755 diff --git a/hosts/desktop/hyprland/default.nix b/hosts/desktop/hyprland/default.nix old mode 100644 new mode 100755 diff --git a/hosts/desktop/hyprland/environment.nix b/hosts/desktop/hyprland/environment.nix old mode 100644 new mode 100755 diff --git a/hosts/desktop/hyprland/home.nix b/hosts/desktop/hyprland/home.nix old mode 100644 new mode 100755 diff --git a/hosts/desktop/sops.nix b/hosts/desktop/sops.nix old mode 100644 new mode 100755 diff --git a/hosts/homeassistant/automations.yaml b/hosts/homeassistant/automations.yaml old mode 100644 new mode 100755 diff --git a/hosts/homeassistant/automations.yaml.ori b/hosts/homeassistant/automations.yaml.ori old mode 100644 new mode 100755 diff --git a/hosts/homeassistant/boot.nix b/hosts/homeassistant/boot.nix old mode 100644 new mode 100755 diff --git a/hosts/homeassistant/configuration.nix b/hosts/homeassistant/configuration.nix old mode 100644 new mode 100755 diff --git a/hosts/homeassistant/hardware-configuration.nix b/hosts/homeassistant/hardware-configuration.nix old mode 100644 new mode 100755 diff --git a/hosts/homeassistant/home.nix b/hosts/homeassistant/home.nix old mode 100644 new mode 100755 diff --git a/hosts/homeassistant/homeassistant.nix b/hosts/homeassistant/homeassistant.nix old mode 100644 new mode 100755 diff --git a/hosts/homeassistant/impermanence.nix b/hosts/homeassistant/impermanence.nix old mode 100644 new mode 100755 diff --git a/hosts/homeassistant/scenes.yaml b/hosts/homeassistant/scenes.yaml old mode 100644 new mode 100755 diff --git a/hosts/homeassistant/scripts.yaml b/hosts/homeassistant/scripts.yaml old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/apple-silicon-support/default.nix b/hosts/mac-nixos/apple-silicon-support/default.nix old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/apple-silicon-support/modules/boot-m1n1/default.nix b/hosts/mac-nixos/apple-silicon-support/modules/boot-m1n1/default.nix old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/apple-silicon-support/modules/default.nix b/hosts/mac-nixos/apple-silicon-support/modules/default.nix old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/apple-silicon-support/modules/kernel/default.nix b/hosts/mac-nixos/apple-silicon-support/modules/kernel/default.nix old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/apple-silicon-support/modules/mesa/default.nix b/hosts/mac-nixos/apple-silicon-support/modules/mesa/default.nix old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/apple-silicon-support/modules/peripheral-firmware/default.nix b/hosts/mac-nixos/apple-silicon-support/modules/peripheral-firmware/default.nix old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/apple-silicon-support/modules/sound/default.nix b/hosts/mac-nixos/apple-silicon-support/modules/sound/default.nix old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/apple-silicon-support/packages/alsa-ucm-conf-asahi/default.nix b/hosts/mac-nixos/apple-silicon-support/packages/alsa-ucm-conf-asahi/default.nix old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/apple-silicon-support/packages/asahi-audio/default.nix b/hosts/mac-nixos/apple-silicon-support/packages/asahi-audio/default.nix old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/apple-silicon-support/packages/bankstown-lv2/default.nix b/hosts/mac-nixos/apple-silicon-support/packages/bankstown-lv2/default.nix old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/apple-silicon-support/packages/linux-asahi/0001-check-in-new-alloc-for-1.75.0.patch b/hosts/mac-nixos/apple-silicon-support/packages/linux-asahi/0001-check-in-new-alloc-for-1.75.0.patch old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/apple-silicon-support/packages/linux-asahi/0001-fs-fcntl-accept-more-values-as-F_DUPFD_CLOEXEC-args.patch b/hosts/mac-nixos/apple-silicon-support/packages/linux-asahi/0001-fs-fcntl-accept-more-values-as-F_DUPFD_CLOEXEC-args.patch old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/apple-silicon-support/packages/linux-asahi/config b/hosts/mac-nixos/apple-silicon-support/packages/linux-asahi/config old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/apple-silicon-support/packages/linux-asahi/default.nix b/hosts/mac-nixos/apple-silicon-support/packages/linux-asahi/default.nix old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/apple-silicon-support/packages/linux-asahi/rust_1_76_0.patch b/hosts/mac-nixos/apple-silicon-support/packages/linux-asahi/rust_1_76_0.patch old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/apple-silicon-support/packages/m1n1/default.nix b/hosts/mac-nixos/apple-silicon-support/packages/m1n1/default.nix old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/apple-silicon-support/packages/mesa-asahi-edge/default.nix b/hosts/mac-nixos/apple-silicon-support/packages/mesa-asahi-edge/default.nix old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/apple-silicon-support/packages/mesa-asahi-edge/disk_cache-include-dri-driver-path-in-cache-key.patch b/hosts/mac-nixos/apple-silicon-support/packages/mesa-asahi-edge/disk_cache-include-dri-driver-path-in-cache-key.patch old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/apple-silicon-support/packages/mesa-asahi-edge/opencl.patch b/hosts/mac-nixos/apple-silicon-support/packages/mesa-asahi-edge/opencl.patch old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/apple-silicon-support/packages/overlay.nix b/hosts/mac-nixos/apple-silicon-support/packages/overlay.nix old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/apple-silicon-support/packages/speakersafetyd/default.nix b/hosts/mac-nixos/apple-silicon-support/packages/speakersafetyd/default.nix old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/apple-silicon-support/packages/uboot-asahi/default.nix b/hosts/mac-nixos/apple-silicon-support/packages/uboot-asahi/default.nix old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/configuration.nix b/hosts/mac-nixos/configuration.nix old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/cosmic/default.nix b/hosts/mac-nixos/cosmic/default.nix old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/gnome/default.nix b/hosts/mac-nixos/gnome/default.nix old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/gnome/home.nix b/hosts/mac-nixos/gnome/home.nix old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/hardware-configuration.nix b/hosts/mac-nixos/hardware-configuration.nix old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/home.nix b/hosts/mac-nixos/home.nix old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/hyprland/config.nix b/hosts/mac-nixos/hyprland/config.nix old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/hyprland/config/btop/default.nix b/hosts/mac-nixos/hyprland/config/btop/default.nix old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/hyprland/config/btop/themes/catppuccin_macchiato.theme b/hosts/mac-nixos/hyprland/config/btop/themes/catppuccin_macchiato.theme old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/hyprland/config/hypr/default.nix b/hosts/mac-nixos/hyprland/config/hypr/default.nix old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/hyprland/config/kitty/default.nix b/hosts/mac-nixos/hyprland/config/kitty/default.nix old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/hyprland/config/kitty/macchiato.conf b/hosts/mac-nixos/hyprland/config/kitty/macchiato.conf old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/hyprland/config/mako/default.nix b/hosts/mac-nixos/hyprland/config/mako/default.nix old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/hyprland/config/nwg-drawer/drawer.css b/hosts/mac-nixos/hyprland/config/nwg-drawer/drawer.css old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/hyprland/config/nwg-panel/excluded-dirs b/hosts/mac-nixos/hyprland/config/nwg-panel/excluded-dirs old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/hyprland/config/nwg-panel/preferred-apps.json b/hosts/mac-nixos/hyprland/config/nwg-panel/preferred-apps.json old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/hyprland/config/wallpapers/wall.png b/hosts/mac-nixos/hyprland/config/wallpapers/wall.png old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/hyprland/config/waybar/default.nix b/hosts/mac-nixos/hyprland/config/waybar/default.nix old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/hyprland/config/wlogout/icons/hibernate.png b/hosts/mac-nixos/hyprland/config/wlogout/icons/hibernate.png old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/hyprland/config/wlogout/icons/lock.png b/hosts/mac-nixos/hyprland/config/wlogout/icons/lock.png old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/hyprland/config/wlogout/icons/logout.png b/hosts/mac-nixos/hyprland/config/wlogout/icons/logout.png old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/hyprland/config/wlogout/icons/reboot.png b/hosts/mac-nixos/hyprland/config/wlogout/icons/reboot.png old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/hyprland/config/wlogout/icons/shutdown.png b/hosts/mac-nixos/hyprland/config/wlogout/icons/shutdown.png old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/hyprland/config/wlogout/icons/suspend.png b/hosts/mac-nixos/hyprland/config/wlogout/icons/suspend.png old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/hyprland/config/wlogout/layout b/hosts/mac-nixos/hyprland/config/wlogout/layout old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/hyprland/config/wlogout/style.css b/hosts/mac-nixos/hyprland/config/wlogout/style.css old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/hyprland/config/wofi/default.nix b/hosts/mac-nixos/hyprland/config/wofi/default.nix old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/hyprland/default.nix b/hosts/mac-nixos/hyprland/default.nix old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/hyprland/environment.nix b/hosts/mac-nixos/hyprland/environment.nix old mode 100644 new mode 100755 diff --git a/hosts/mac-nixos/hyprland/home.nix b/hosts/mac-nixos/hyprland/home.nix old mode 100644 new mode 100755 diff --git a/hosts/mac/configuration.nix b/hosts/mac/configuration.nix old mode 100644 new mode 100755 diff --git a/hosts/mac/home.nix b/hosts/mac/home.nix old mode 100644 new mode 100755 diff --git a/hosts/mac/trampoline-apps/default.nix b/hosts/mac/trampoline-apps/default.nix old mode 100644 new mode 100755 diff --git a/hosts/mac/trampoline-apps/lib-bash/trampoline-apps.sh b/hosts/mac/trampoline-apps/lib-bash/trampoline-apps.sh old mode 100644 new mode 100755 diff --git a/hosts/nas/apps.nix b/hosts/nas/apps.nix old mode 100644 new mode 100755 diff --git a/hosts/nas/apps/arrs/default.nix b/hosts/nas/apps/arrs/default.nix old mode 100644 new mode 100755 diff --git a/hosts/nas/apps/collabora/default.nix b/hosts/nas/apps/collabora/default.nix old mode 100644 new mode 100755 diff --git a/hosts/nas/apps/crowdsec/default.nix b/hosts/nas/apps/crowdsec/default.nix old mode 100644 new mode 100755 diff --git a/hosts/nas/apps/jellyfin/default.nix b/hosts/nas/apps/jellyfin/default.nix old mode 100644 new mode 100755 diff --git a/hosts/nas/apps/jellyseerr/default.nix b/hosts/nas/apps/jellyseerr/default.nix old mode 100644 new mode 100755 diff --git a/hosts/nas/apps/netdata/default.nix b/hosts/nas/apps/netdata/default.nix old mode 100644 new mode 100755 diff --git a/hosts/nas/apps/nextcloud/default.nix b/hosts/nas/apps/nextcloud/default.nix old mode 100644 new mode 100755 diff --git a/hosts/nas/apps/ollama/default.nix b/hosts/nas/apps/ollama/default.nix old mode 100644 new mode 100755 diff --git a/hosts/nas/apps/paperless-ai/default.nix b/hosts/nas/apps/paperless-ai/default.nix old mode 100644 new mode 100755 diff --git a/hosts/nas/apps/paperless-ai/options.nix b/hosts/nas/apps/paperless-ai/options.nix old mode 100644 new mode 100755 diff --git a/hosts/nas/apps/paperless/default.nix b/hosts/nas/apps/paperless/default.nix old mode 100644 new mode 100755 diff --git a/hosts/nas/apps/traefik/default.nix b/hosts/nas/apps/traefik/default.nix old mode 100644 new mode 100755 index 45e8ae4..f8b3bd1 --- a/hosts/nas/apps/traefik/default.nix +++ b/hosts/nas/apps/traefik/default.nix @@ -11,6 +11,7 @@ let hassUrl = "http://jallen-hass.local:8123"; openWebUIUrl = "http://10.0.1.18:8888"; paperlessUrl = "http://10.0.1.20:28981"; + cacheUrl = "http://10.0.1.18:5000"; in { networking.firewall = { @@ -166,6 +167,11 @@ in url = openWebUIUrl; } ]; + cache.loadBalancer.servers = [ + { + url = cacheUrl; + } + ]; paperless.loadBalancer.servers = [ { url = paperlessUrl; @@ -228,6 +234,12 @@ in priority = 10; tls.certResolver = "letsencrypt"; }; + cache = { + entryPoints = [ "websecure" ]; + rule = "Host(`cache.${domain}`)"; + service = "cache"; + tls.certResolver = "letsencrypt"; + }; # paperless = { # entryPoints = ["websecure"]; # rule = "Host(`paperless.${domain}`)"; diff --git a/hosts/nas/boot.nix b/hosts/nas/boot.nix old mode 100644 new mode 100755 diff --git a/hosts/nas/configuration.nix b/hosts/nas/configuration.nix index fe6524b..6a2f178 100755 --- a/hosts/nas/configuration.nix +++ b/hosts/nas/configuration.nix @@ -276,6 +276,9 @@ in ''; }; + # Enable binfmt emulation for ARM + boot.binfmt.emulatedSystems = [ "aarch64-linux" ]; + # Virtualisation virtualisation = { podman = { diff --git a/hosts/nas/filesystems.nix b/hosts/nas/filesystems.nix old mode 100644 new mode 100755 diff --git a/hosts/nas/grafana.nix b/hosts/nas/grafana.nix old mode 100644 new mode 100755 diff --git a/hosts/nas/hardware-configuration.nix b/hosts/nas/hardware-configuration.nix old mode 100644 new mode 100755 diff --git a/hosts/nas/home.nix b/hosts/nas/home.nix old mode 100644 new mode 100755 diff --git a/hosts/nas/impermanence.nix b/hosts/nas/impermanence.nix old mode 100644 new mode 100755 diff --git a/hosts/nas/machine-id b/hosts/nas/machine-id old mode 100644 new mode 100755 diff --git a/hosts/nas/networking.nix b/hosts/nas/networking.nix old mode 100644 new mode 100755 diff --git a/hosts/nas/nix-serve.nix b/hosts/nas/nix-serve.nix new file mode 100755 index 0000000..2b1b6a9 --- /dev/null +++ b/hosts/nas/nix-serve.nix @@ -0,0 +1,73 @@ +{ pkgs, ... }: +{ + # "https://cache.mjallen.dev" + # "cache.mjallen.dev-1:IzFmKCd8/gggI6lcCXsW65qQwiCLGFFN9t9s2iw7Lvc=" + services.nix-serve = { + enable = true; + secretKeyFile = "/etc/nix/cache-priv-key.pem"; + port = 5000; # Choose your preferred port + openFirewall = true; + }; + + # Improved systemd service with better error handling + systemd.services.nix-rebuild-cache = { + description = "Rebuild all NixOS configurations for cache"; + serviceConfig = { + Type = "oneshot"; + User = "root"; + WorkingDirectory = "/etc/nixos"; # Update this path + StandardOutput = "journal+console"; + StandardError = "journal+console"; + Restart = "no"; + # Increase timeout for large builds + TimeoutStartSec = "2h"; + }; + path = with pkgs; [ + nix + git + coreutils + gnugrep + gnused + ]; + script = '' + #!/usr/bin/env bash + set -euo pipefail + + # Pull latest changes if in a git repo + if [ -d .git ]; then + git pull || echo "Warning: Could not pull latest changes" + fi + + # Run the build-all script + echo "Starting build of all systems at $(date)" + if nix run .#build-all; then + echo "All systems built successfully at $(date)" + else + echo "Some systems failed to build at $(date)" + exit 1 + fi + ''; + # # Send an email on failure (optional) + # startPost = '' + # if [ $SERVICE_RESULT != "success" ]; then + # ${pkgs.mailutils}/bin/mail -s "NixOS cache rebuild failed" your-email@example.com <