WIP: switch to open modules

This commit is contained in:
Filippo Berto 2025-09-23 16:27:21 +02:00
parent 5672131186
commit d38ea124bd
Signed by: bertof
GPG key ID: 9DBF7E6A1D2CE9ED

191
flake.nix
View file

@ -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"; };
};
}
];
};