{ description = "NixOS configs"; nixConfig = { extra-substituters = [ "https://binarycache.k3t.dev" "https://nix-community.cachix.org" ]; extra-trusted-public-keys = [ "binarycache.k3t.dev:cmIg4sWTZ729F1yEF2AYLtSbUXJGFYwM6tzYYF18qts=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" ]; }; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; impermanence.url = "github:nix-community/impermanence"; nixos-hardware.url = "github:NixOS/nixos-hardware/master"; home-manager.url = "github:nix-community/home-manager"; spicetify-nix.url = "github:Gerg-L/spicetify-nix"; nix-mineral.url = "github:cynicsketch/nix-mineral/"; }; outputs = { self, nixpkgs, impermanence, nixos-hardware, home-manager, spicetify-nix, nix-mineral, ... }: let mkHost = system: modules: nixpkgs.lib.nixosSystem { inherit system modules; specialArgs = { inherit impermanence nixos-hardware spicetify-nix nix-mineral; }; }; mkPiImage = modules: (nixpkgs.lib.nixosSystem { system = "aarch64-linux"; specialArgs = { inherit impermanence nixos-hardware home-manager; }; modules = [ "${nixpkgs}/nixos/modules/installer/sd-card/sd-image-aarch64.nix" impermanence.nixosModules.impermanence nixos-hardware.nixosModules.raspberry-pi-4 home-manager.nixosModules.home-manager ] ++ modules; }).config.system.build.sdImage; in { nixosConfigurations = { # repurposed for use as nas #"TheBlackBox" = mkHost "x86_64-linux" [ # ./modules/common.nix # ./modules/desktop-common.nix # ./hosts/desktop/configuration.nix # spicetify-nix.nixosModules.spicetify # home-manager.nixosModules.home-manager # { # home-manager.useGlobalPkgs = true; # home-manager.useUserPackages = true; # home-manager.users.k3t = ./home/desktop.nix; # } #]; "TheBlackBox" = mkHost "x86_64-linux" [ ./modules/audio/base.nix ./modules/audio/zeroconf.nix ./modules/bluetooth/desktop.nix ./modules/de/kde.nix ./modules/de/i3.nix ./modules/desktop-common.nix ./modules/gui/services/fcast.nix ./modules/gui/apps/firefox.nix ./modules/gui/apps/spicetify.nix ./modules/gui/apps/steam.nix ./modules/gui/fonts.nix ./modules/gui/services/flatpak.nix ./modules/gui/services/kdeconnect.nix ./modules/gui/services/kwallet.nix ./modules/gui/services/xdg.nix ./modules/net/services/avahi.nix ./modules/net/services/fail2ban.nix ./modules/net/services/networkmanager.nix ./modules/net/services/printing.nix ./modules/net/services/tailscale.nix ./modules/sys/compat.nix ./modules/sys/firewall.nix ./modules/sys/fs/btrfs.nix ./modules/sys/hw/boot.nix ./modules/sys/hw/cpu/amd64.nix ./modules/sys/hw/gpu/amd.nix ./modules/sys/nix.nix ./modules/sys/perf.nix ./modules/sys/pkgs.nix ./modules/sys/rc/openssh.nix ./modules/sys/rc/sunshine.nix ./modules/sys/rgb.nix ./modules/sys/security.nix ./modules/sys/shell.nix ./modules/sys/stateversion.nix ./modules/sys/sysctl.nix ./modules/sys/time.nix ./modules/sys/users.nix ./modules/sys/vm.nix ./hosts/TheBlackBox/configuration.nix spicetify-nix.nixosModules.spicetify home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.users.k3t = ./home/desktop.nix; } ]; "htpc" = mkHost "x86_64-linux" [ ./modules/audio/base.nix ./modules/audio/zeroconf.nix ./modules/bluetooth/desktop.nix ./modules/de/kde.nix ./modules/de/i3.nix ./modules/desktop-common.nix ./modules/gui/services/fcast.nix ./modules/gui/apps/firefox.nix ./modules/gui/apps/spicetify.nix ./modules/gui/apps/steam.nix ./modules/gui/fonts.nix ./modules/gui/services/flatpak.nix ./modules/gui/services/kdeconnect.nix ./modules/gui/services/kwallet.nix ./modules/gui/services/xdg.nix ./modules/net/services/avahi.nix ./modules/net/services/fail2ban.nix ./modules/net/services/networkmanager.nix ./modules/net/services/printing.nix ./modules/net/services/tailscale.nix ./modules/sys/compat.nix ./modules/sys/firewall.nix ./modules/sys/fs/btrfs.nix ./modules/sys/hw/boot.nix ./modules/sys/hw/cpu/amd64.nix ./modules/sys/hw/gpu/amd.nix ./modules/sys/nix.nix ./modules/sys/perf.nix ./modules/sys/pkgs.nix ./modules/sys/rc/openssh.nix ./modules/sys/rc/sunshine.nix ./modules/sys/rgb.nix ./modules/sys/security.nix ./modules/sys/shell.nix ./modules/sys/stateversion.nix ./modules/sys/sysctl.nix ./modules/sys/time.nix ./modules/sys/users.nix ./hosts/htpc/configuration.nix spicetify-nix.nixosModules.spicetify home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.users.k3t = ./home/desktop.nix; } ]; "T14" = mkHost "x86_64-linux" [ ./modules/audio/base.nix ./modules/audio/zeroconf.nix ./modules/bluetooth/desktop.nix ./modules/de/kde.nix ./modules/de/i3.nix ./modules/desktop-common.nix ./modules/gui/services/fcast.nix ./modules/gui/apps/firefox.nix ./modules/gui/apps/spicetify.nix ./modules/gui/apps/steam.nix ./modules/gui/fonts.nix ./modules/gui/services/flatpak.nix ./modules/gui/services/kdeconnect.nix ./modules/gui/services/kwallet.nix ./modules/gui/services/xdg.nix ./modules/net/services/avahi.nix ./modules/net/services/fail2ban.nix ./modules/net/services/networkmanager.nix ./modules/net/services/printing.nix ./modules/net/services/tailscale.nix ./modules/sys/compat.nix ./modules/sys/firewall.nix ./modules/sys/fs/btrfs.nix ./modules/sys/hw/boot.nix ./modules/sys/hw/cpu/amd64.nix ./modules/sys/hw/gpu/amd.nix ./modules/sys/nix.nix ./modules/sys/perf.nix ./modules/sys/pkgs.nix ./modules/sys/rc/openssh.nix ./modules/sys/rc/sunshine.nix ./modules/sys/rgb.nix ./modules/sys/security.nix ./modules/sys/shell.nix ./modules/sys/stateversion.nix ./modules/sys/sysctl.nix ./modules/sys/time.nix ./modules/sys/users.nix ./modules/sys/vm.nix ./hosts/laptop/configuration.nix spicetify-nix.nixosModules.spicetify home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.users.k3t = ./home/desktop.nix; } ]; #"pi-htpc" = mkHost "aarch64-linux" [ # nixos-hardware.nixosModules.raspberry-pi-4 # ./modules/net/services/networkmanager.nix # ./modules/net/services/tailscale.nix # ./modules/sys/compat.nix # ./modules/sys/firewall.nix # ./modules/sys/fs/btrfs.nix # ./modules/sys/hw/boot.nix # ./modules/sys/nix.nix # ./modules/sys/perf.nix # ./modules/sys/pkgs.nix # ./modules/sys/rc/openssh.nix # ./modules/sys/security.nix # ./modules/sys/shell.nix # ./modules/sys/stateversion.nix # ./modules/sys/time.nix # ./modules/sys/users.nix # ./modules/pi-common.nix # ./hosts/pi-htpc-old/configuration.nix # home-manager.nixosModules.home-manager # { # home-manager.useGlobalPkgs = true; # home-manager.useUserPackages = true; # home-manager.users.k3t = ./home/htpc.nix; # } #]; "nixcloud" = mkHost "x86_64-linux" [ ./modules/net/services/fail2ban.nix ./modules/net/services/networkmanager.nix ./modules/net/services/tailscale.nix ./modules/sys/compat.nix ./modules/sys/firewall.nix ./modules/sys/fs/btrfs.nix ./modules/sys/hw/boot.nix ./modules/sys/hw/cpu/arm64.nix ./modules/sys/nix.nix ./modules/sys/perf.nix ./modules/sys/pkgs.nix ./modules/sys/rc/openssh.nix ./modules/sys/security.nix ./modules/sys/shell.nix ./modules/sys/stateversion.nix ./modules/sys/sysctl.nix ./modules/sys/time.nix ./modules/sys/users.nix ./hosts/nixcloud/configuration.nix home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.users.k3t = ./home/server.nix; } ]; }; # SD card images #images = { # pi-htpc-old = mkPiImage [ # ./modules/net/services/networkmanager.nix # ./modules/net/services/tailscale.nix # ./modules/sys/compat.nix # ./modules/sys/firewall.nix # ./modules/sys/fs/btrfs.nix # ./modules/sys/hw/boot.nix # ./modules/sys/nix.nix # ./modules/sys/perf.nix # ./modules/sys/pkgs.nix # ./modules/sys/rc/openssh.nix # ./modules/sys/security.nix # ./modules/sys/shell.nix # ./modules/sys/stateversion.nix # ./modules/sys/time.nix # ./modules/sys/users.nix # ./modules/pi-common.nix # ./hosts/pi-htpc-old/configuration.nix # { # home-manager.useGlobalPkgs = true; # home-manager.useUserPackages = true; # home-manager.users.k3t = ./home/desktop.nix; # } # ]; #}; }; }