From d38ea124bda806ef957ea4736d27ced4e1a3d9d4 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Tue, 23 Sep 2025 16:27:21 +0200 Subject: [PATCH] WIP: switch to open modules --- flake.nix | 191 ++++++++++++++---------------------------------------- 1 file changed, 48 insertions(+), 143 deletions(-) diff --git a/flake.nix b/flake.nix index f7b34ea..3842bcc 100644 --- a/flake.nix +++ b/flake.nix @@ -167,14 +167,7 @@ nixosModules = { basic = { - nixpkgs = { - config = nix-config; - overlays = [ - # packages - inputs.self.overlays.packages - inputs.self.overlays.overrides - ]; - }; + nixpkgs = { config = nix-config; overlays = [ inputs.self.overlays.packages inputs.self.overlays.overrides ]; }; nix = { inherit (nix-config) extraOptions; registry = { @@ -191,10 +184,7 @@ home-manager = { useGlobalPkgs = true; useUserPackages = true; - extraSpecialArgs = { - stable = inputs.nixpkgs; - unstable = inputs.nixpkgs-u; - }; + extraSpecialArgs = { stable = inputs.nixpkgs; unstable = inputs.nixpkgs-u; }; }; }; @@ -207,23 +197,25 @@ inputs.nix-rice.modules.default ./nixos/rice.nix - # # S3 cache read - # ./nixos/s3_cache_read.nix - - # Agenix configuration + # (R)Agenix configuration inputs.ragenix.nixosModules.default # inputs.agenix.nixosModules.default + # Users # { services.userborn.enable = true; } - ./nixos/users/bertof.nix + self.nixosModules.bertof # Some basic defaults ./nixos/basics + + # Home manager + self.nixosModules.homeManagerUModules ]; }; mainModules = { imports = [ + self.nixosModules.commonModules ./nixos/pro_audio.nix ./nixos/kdeconnect.nix ./nixos/steam.nix @@ -234,99 +226,70 @@ home-manager.users.bertof.imports = [ ./hm/hyprland.nix ]; }; + server = { + imports = [ + self.nixosModules.commonModules + ./nixos/server + ]; + }; + installerModules = { imports = [ self.nixosModules.commonModules ./nixos/installer.nix ]; }; + + bertof = { + imports = [ ./nixos/users/bertof.nix ]; + age.secrets.rclone_bertof = { file = ./secrets/rclone_bertof.age; owner = "bertof"; }; + }; + + tiziano = { + imports = [ ./nixos/users/tiziano.nix ]; + age.secrets.rclone_tiziano = { file = ./secrets/rclone_tiziano.age; owner = "tiziano"; }; + }; }; nixosConfigurations = { thor = inputs.nixpkgs-u.lib.nixosSystem { system = "x86_64-linux"; modules = [ - self.nixosModules.commonModules - self.nixosModules.mainModules - ./instances/thor/hardware-configuration.nix inputs.nixos-hardware.nixosModules.common-cpu-amd inputs.nixos-hardware.nixosModules.common-pc-ssd + self.nixosModules.mainModules + ./instances/thor/hardware-configuration.nix ./instances/thor/configuration.nix - # # S3 cache write - # ./nixos/s3_cache_write.nix - - # ./nixos/plasma6.nix - # ./nixos/cuda_support.nix - # ./nixos/ollama.nix - # ./nixos/minio_local.nix - - ./nixos/hyprland.nix - { home-manager.users.bertof.imports = [ ./hm/hyprland.nix ]; } - - ./nixos/musa.nix - self.nixosModules.homeManagerUModules - - { - age.secrets = { - rclone_bertof = { file = ./secrets/rclone_bertof.age; owner = "bertof"; }; - }; - home-manager.users.bertof = import ./instances/thor/hm.nix; - } + { home-manager.users.bertof = import ./instances/thor/hm.nix; } ]; }; sif = inputs.nixpkgs-u.lib.nixosSystem { system = "x86_64-linux"; modules = [ - self.nixosModules.commonModules - self.nixosModules.mainModules - ./instances/sif/hardware-configuration.nix - inputs.nixos-hardware.nixosModules.common-cpu-intel inputs.nixos-hardware.nixosModules.common-cpu-intel inputs.nixos-hardware.nixosModules.common-pc-ssd + self.nixosModules.mainModules + ./instances/sif/hardware-configuration.nix ./instances/sif/configuration.nix - # S3 cache write - # ./nixos/s3_cache_write.nix - # { age.secrets.s3_sif = { file = ./secrets/s3_sif.age; owner = "bertof"; }; } - - # ./nixos/plasma6.nix - # ./nixos/ollama.nix - # ./nixos/minio_local.nix - - # ./nixos/musa.nix - self.nixosModules.homeManagerUModules - - { - age.secrets = { - rclone_bertof = { file = ./secrets/rclone_bertof.age; owner = "bertof"; }; - }; - home-manager.users.bertof = import ./instances/sif/hm.nix; - } + { home-manager.users.bertof = import ./instances/sif/hm.nix; } ]; }; odin = inputs.nixpkgs-u.lib.nixosSystem { system = "x86_64-linux"; modules = [ - self.nixosModules.commonModules inputs.nixos-hardware.nixosModules.common-cpu-intel inputs.nixos-hardware.nixosModules.common-pc-laptop inputs.nixos-hardware.nixosModules.common-pc-laptop-ssd + self.nixosModules.server ./instances/odin/hardware-configuration.nix ./instances/odin/configuration.nix - ./nixos/users/tiziano.nix - - ./nixos/server ./nixos/ip_forwarding.nix - # ./nixos/plasma6.nix ./nixos/steam.nix - self.nixosModules.homeManagerUModules + self.nixosModules.tiziano { home-manager.users.bertof = import ./instances/odin/hm.nix; home-manager.users.tiziano = import ./instances/odin/hm_tiziano.nix; - age.secrets = { - rclone_bertof = { file = ./secrets/rclone_bertof.age; owner = "bertof"; }; - rclone_tiziano = { file = ./secrets/rclone_tiziano.age; owner = "tiziano"; }; - }; } ]; }; @@ -334,16 +297,15 @@ heimdall = inputs.nixpkgs-u.lib.nixosSystem { system = "x86_64-linux"; modules = [ - self.nixosModules.commonModules inputs.nixos-hardware.nixosModules.common-cpu-amd inputs.nixos-hardware.nixosModules.common-gpu-amd inputs.nixos-hardware.nixosModules.common-pc-ssd - ./nixos/server + self.nixosModules.server ./instances/heimdall/hardware-configuration.nix ./instances/heimdall/configuration.nix - ./nixos/users/tiziano.nix + self.nixosModules.tiziano ./nixos/ip_forwarding.nix ./nixos/torrentbox.nix @@ -351,22 +313,14 @@ ./nixos/nextcloud.nix ./nixos/immich.nix ./nixos/forgejo.nix - # cute-api.nixosModules.default - # { services.cute-api = { enable = true; host = "0.0.0.0"; }; } - # ./nixos/garage.nix - # ./nixos/ntfy.nix - # S3 cache read - # ./nixos/s3_cache_read.nix - self.nixosModules.homeManagerUModules { + home-manager.users.bertof = import ./instances/heimdall/hm.nix; age.secrets = { - rclone_bertof = { file = ./secrets/rclone_bertof.age; owner = "bertof"; }; heimdall-gitlab-runner-nix.file = ./secrets/heimdall-gitlab-runner-nix.age; heimdall-gitlab-runner-docker-images.file = ./secrets/heimdall-gitlab-runner-docker-images.age; heimdall-gitlab-runner-default.file = ./secrets/heimdall-gitlab-runner-default.age; }; - home-manager.users.bertof = import ./instances/heimdall/hm.nix; } ]; }; @@ -374,72 +328,34 @@ freya = inputs.nixpkgs.lib.nixosSystem { system = "aarch64-linux"; modules = [ - self.nixosModules.commonModules inputs.nixos-hardware.nixosModules.raspberry-pi-4 - ({ lib, ... }: { - boot.supportedFilesystems = lib.mkForce [ - "btrfs" - "reiserfs" - "vfat" - "f2fs" - "xfs" - "ntfs" - "cifs" - ]; - }) - ./nixos/server - + ({ lib, ... }: { boot.supportedFilesystems = lib.mkForce [ "btrfs" "reiserfs" "vfat" "f2fs" "xfs" "ntfs" "cifs" ]; }) + self.nixosModules.server ./instances/freya/hardware-configuration.nix ./instances/freya/configuration.nix - ./nixos/users/tiziano.nix - ./nixos/torrentbox.nix ./nixos/minio_server.nix - # ./nixos/nextcloud.nix - ./nixos/ntfy.nix - # S3 cache read - # ./nixos/s3_cache_read.nix - self.nixosModules.homeManagerUModules + # ./nixos/ntfy.nix - { - home-manager.users.bertof = import ./instances/freya/hm.nix; - - - - age.secrets = { - rclone_bertof = { file = ./secrets/rclone_bertof.age; owner = "bertof"; }; - rclone_tiziano = { file = ./secrets/rclone_tiziano.age; owner = "tiziano"; }; - }; - - } + self.nixosModules.tiziano + { home-manager.users.bertof = import ./instances/freya/hm.nix; } ]; }; baldur = inputs.nixpkgs-u.lib.nixosSystem { system = "x86_64-linux"; modules = [ - self.nixosModules.commonModules - ./nixos/server + inputs.nixos-hardware.nixosModules.common-cpu-intel + inputs.nixos-hardware.nixosModules.common-pc-ssd + self.nixosModules.server ./instances/baldur/hardware-configuration.nix ./instances/baldur/configuration.nix - # ./nixos/digitalocean.nix - - ./nixos/users/tiziano.nix - - # ./nixos/users/tiziano.nix - # S3 cache read - # ./nixos/s3_cache_read.nix - self.nixosModules.homeManagerUModules + self.nixosModules.tiziano { home-manager.users.bertof = import ./instances/baldur/hm.nix; home-manager.users.tiziano = import ./instances/baldur/hm_tiziano.nix; - - age.secrets = { - rclone_bertof = { file = ./secrets/rclone_bertof.age; owner = "bertof"; }; - rclone_tiziano = { file = ./secrets/rclone_tiziano.age; owner = "tiziano"; }; - }; } ]; }; @@ -447,27 +363,16 @@ loki = inputs.nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ - self.nixosModules.commonModules - ./nixos/server - inputs.nixos-hardware.nixosModules.common-cpu-intel inputs.nixos-hardware.nixosModules.common-pc-ssd + self.nixosModules.server ./instances/loki/hardware-configuration.nix ./instances/loki/configuration.nix - ./nixos/users/tiziano.nix - # S3 cache read - # ./nixos/s3_cache_read.nix - self.nixosModules.homeManagerUModules - + self.nixosModules.tiziano { home-manager.users.bertof = import ./instances/odin/hm.nix; home-manager.users.tiziano = import ./instances/odin/hm_tiziano.nix; - - age.secrets = { - rclone_bertof = { file = ./secrets/rclone_bertof.age; owner = "bertof"; }; - rclone_tiziano = { file = ./secrets/rclone_tiziano.age; owner = "tiziano"; }; - }; } ]; };