WIP: switch to open modules
This commit is contained in:
parent
2d93d5c465
commit
5eb4de6380
1 changed files with 139 additions and 117 deletions
180
flake.nix
180
flake.nix
|
|
@ -29,7 +29,7 @@
|
|||
# emanote.url = "github:srid/emanote";
|
||||
};
|
||||
|
||||
outputs = inputs:
|
||||
outputs = { self, ... }@inputs:
|
||||
let
|
||||
nix-config = {
|
||||
allowUnfree = true;
|
||||
|
|
@ -45,61 +45,6 @@
|
|||
|
||||
# cute-api = builtins.getFlake "gitlab:bertof/cute-api/0.2.1-3";
|
||||
|
||||
basic_module = {
|
||||
nixpkgs = {
|
||||
config = nix-config;
|
||||
overlays = [
|
||||
# packages
|
||||
inputs.self.overlays.packages
|
||||
inputs.self.overlays.overrides
|
||||
];
|
||||
};
|
||||
nix = {
|
||||
inherit (nix-config) extraOptions;
|
||||
registry = {
|
||||
stable = { from = { id = "stable"; type = "indirect"; }; flake = inputs.nixpkgs; };
|
||||
unstable = { from = { id = "unstable"; type = "indirect"; }; flake = inputs.nixpkgs-u; };
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# Home manager configuration
|
||||
homeManagerUModules = [
|
||||
inputs.home-manager-u.nixosModules.default
|
||||
{
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
extraSpecialArgs = {
|
||||
stable = inputs.nixpkgs;
|
||||
unstable = inputs.nixpkgs-u;
|
||||
};
|
||||
};
|
||||
}
|
||||
];
|
||||
|
||||
commonModules = [
|
||||
# Nix configuration
|
||||
basic_module
|
||||
|
||||
# Nix rice
|
||||
inputs.nix-rice.modules.default
|
||||
./nixos/rice.nix
|
||||
|
||||
# # S3 cache read
|
||||
# ./nixos/s3_cache_read.nix
|
||||
|
||||
# Agenix configuration
|
||||
inputs.ragenix.nixosModules.default
|
||||
# inputs.agenix.nixosModules.default
|
||||
|
||||
# { services.userborn.enable = true; }
|
||||
./nixos/users/bertof.nix
|
||||
|
||||
# Some basic defaults
|
||||
./nixos/basics
|
||||
];
|
||||
|
||||
mainModules = [
|
||||
./nixos/pro_audio.nix
|
||||
./nixos/kdeconnect.nix
|
||||
|
|
@ -110,7 +55,7 @@
|
|||
{ home-manager.users.bertof.imports = [ ./hm/hyprland.nix ]; }
|
||||
];
|
||||
|
||||
installerModules = commonModules ++ [ ./nixos/installer.nix ];
|
||||
installerModules = [ self.nixosModules.commonModules ./nixos/installer.nix ];
|
||||
in
|
||||
inputs.flake-parts.lib.mkFlake { inherit inputs; } {
|
||||
systems = import inputs.systems;
|
||||
|
|
@ -233,12 +178,68 @@
|
|||
};
|
||||
};
|
||||
|
||||
nixosModules = { };
|
||||
nixosModules = {
|
||||
basic = {
|
||||
nixpkgs = {
|
||||
config = nix-config;
|
||||
overlays = [
|
||||
# packages
|
||||
inputs.self.overlays.packages
|
||||
inputs.self.overlays.overrides
|
||||
];
|
||||
};
|
||||
nix = {
|
||||
inherit (nix-config) extraOptions;
|
||||
registry = {
|
||||
stable = { from = { id = "stable"; type = "indirect"; }; flake = inputs.nixpkgs; };
|
||||
unstable = { from = { id = "unstable"; type = "indirect"; }; flake = inputs.nixpkgs-u; };
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# Home manager configuration
|
||||
homeManagerUModules = {
|
||||
imports = [ inputs.home-manager-u.nixosModules.default ];
|
||||
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
extraSpecialArgs = {
|
||||
stable = inputs.nixpkgs;
|
||||
unstable = inputs.nixpkgs-u;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
commonModules = {
|
||||
imports = [
|
||||
# Nix configuration
|
||||
self.nixosModules.basic
|
||||
|
||||
# Nix rice
|
||||
inputs.nix-rice.modules.default
|
||||
./nixos/rice.nix
|
||||
|
||||
# # S3 cache read
|
||||
# ./nixos/s3_cache_read.nix
|
||||
|
||||
# Agenix configuration
|
||||
inputs.ragenix.nixosModules.default
|
||||
# inputs.agenix.nixosModules.default
|
||||
|
||||
# { services.userborn.enable = true; }
|
||||
./nixos/users/bertof.nix
|
||||
|
||||
# Some basic defaults
|
||||
./nixos/basics
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
nixosConfigurations = {
|
||||
thor = inputs.nixpkgs-u.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
modules = commonModules ++ mainModules ++ [
|
||||
modules = [ self.nixosModules.commonModules ] ++ mainModules ++ [
|
||||
./instances/thor/hardware-configuration.nix
|
||||
inputs.nixos-hardware.nixosModules.common-cpu-amd
|
||||
inputs.nixos-hardware.nixosModules.common-pc-ssd
|
||||
|
|
@ -256,17 +257,20 @@
|
|||
{ home-manager.users.bertof.imports = [ ./hm/hyprland.nix ]; }
|
||||
|
||||
./nixos/musa.nix
|
||||
] ++ homeManagerUModules ++ [{
|
||||
self.nixosModules.homeManagerUModules
|
||||
|
||||
{
|
||||
age.secrets = {
|
||||
rclone_bertof = { file = ./secrets/rclone_bertof.age; owner = "bertof"; };
|
||||
};
|
||||
home-manager.users.bertof = import ./instances/thor/hm.nix;
|
||||
}];
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
sif = inputs.nixpkgs-u.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
modules = commonModules ++ mainModules ++ [
|
||||
modules = [ self.nixosModules.commonModules ] ++ mainModules ++ [
|
||||
./instances/sif/hardware-configuration.nix
|
||||
inputs.nixos-hardware.nixosModules.common-cpu-intel
|
||||
inputs.nixos-hardware.nixosModules.common-cpu-intel
|
||||
|
|
@ -282,17 +286,20 @@
|
|||
# ./nixos/minio_local.nix
|
||||
|
||||
# ./nixos/musa.nix
|
||||
] ++ homeManagerUModules ++ [{
|
||||
self.nixosModules.homeManagerUModules
|
||||
|
||||
{
|
||||
age.secrets = {
|
||||
rclone_bertof = { file = ./secrets/rclone_bertof.age; owner = "bertof"; };
|
||||
};
|
||||
home-manager.users.bertof = import ./instances/sif/hm.nix;
|
||||
}];
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
odin = inputs.nixpkgs-u.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
modules = commonModules ++ [
|
||||
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
|
||||
|
|
@ -305,19 +312,22 @@
|
|||
./nixos/ip_forwarding.nix
|
||||
# ./nixos/plasma6.nix
|
||||
./nixos/steam.nix
|
||||
] ++ homeManagerUModules ++ [{
|
||||
self.nixosModules.homeManagerUModules
|
||||
|
||||
{
|
||||
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"; };
|
||||
};
|
||||
}];
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
heimdall = inputs.nixpkgs-u.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
modules = commonModules ++ [
|
||||
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
|
||||
|
|
@ -340,7 +350,9 @@
|
|||
# ./nixos/ntfy.nix
|
||||
# S3 cache read
|
||||
# ./nixos/s3_cache_read.nix
|
||||
] ++ homeManagerUModules ++ [{
|
||||
self.nixosModules.homeManagerUModules
|
||||
|
||||
{
|
||||
age.secrets = {
|
||||
rclone_bertof = { file = ./secrets/rclone_bertof.age; owner = "bertof"; };
|
||||
heimdall-gitlab-runner-nix.file = ./secrets/heimdall-gitlab-runner-nix.age;
|
||||
|
|
@ -348,12 +360,13 @@
|
|||
heimdall-gitlab-runner-default.file = ./secrets/heimdall-gitlab-runner-default.age;
|
||||
};
|
||||
home-manager.users.bertof = import ./instances/heimdall/hm.nix;
|
||||
}];
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
freya = inputs.nixpkgs.lib.nixosSystem {
|
||||
system = "aarch64-linux";
|
||||
modules = commonModules ++ [
|
||||
modules = [ self.nixosModules.commonModules ] ++ [
|
||||
inputs.nixos-hardware.nixosModules.raspberry-pi-4
|
||||
({ lib, ... }: {
|
||||
boot.supportedFilesystems = lib.mkForce [
|
||||
|
|
@ -379,7 +392,9 @@
|
|||
./nixos/ntfy.nix
|
||||
# S3 cache read
|
||||
# ./nixos/s3_cache_read.nix
|
||||
] ++ homeManagerUModules ++ [{
|
||||
self.nixosModules.homeManagerUModules
|
||||
|
||||
{
|
||||
home-manager.users.bertof = import ./instances/freya/hm.nix;
|
||||
|
||||
|
||||
|
|
@ -389,12 +404,13 @@
|
|||
rclone_tiziano = { file = ./secrets/rclone_tiziano.age; owner = "tiziano"; };
|
||||
};
|
||||
|
||||
}];
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
baldur = inputs.nixpkgs-u.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
modules = commonModules ++ [
|
||||
modules = [ self.nixosModules.commonModules ] ++ [
|
||||
./nixos/server
|
||||
./instances/baldur/hardware-configuration.nix
|
||||
./instances/baldur/configuration.nix
|
||||
|
|
@ -405,7 +421,9 @@
|
|||
# ./nixos/users/tiziano.nix
|
||||
# S3 cache read
|
||||
# ./nixos/s3_cache_read.nix
|
||||
] ++ homeManagerUModules ++ [{
|
||||
self.nixosModules.homeManagerUModules
|
||||
|
||||
{
|
||||
home-manager.users.bertof = import ./instances/baldur/hm.nix;
|
||||
home-manager.users.tiziano = import ./instances/baldur/hm_tiziano.nix;
|
||||
|
||||
|
|
@ -413,12 +431,13 @@
|
|||
rclone_bertof = { file = ./secrets/rclone_bertof.age; owner = "bertof"; };
|
||||
rclone_tiziano = { file = ./secrets/rclone_tiziano.age; owner = "tiziano"; };
|
||||
};
|
||||
}];
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
loki = inputs.nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
modules = commonModules ++ [
|
||||
modules = [ self.nixosModules.commonModules ] ++ [
|
||||
./nixos/server
|
||||
|
||||
inputs.nixos-hardware.nixosModules.common-cpu-intel
|
||||
|
|
@ -429,7 +448,9 @@
|
|||
./nixos/users/tiziano.nix
|
||||
# S3 cache read
|
||||
# ./nixos/s3_cache_read.nix
|
||||
] ++ homeManagerUModules ++ [{
|
||||
self.nixosModules.homeManagerUModules
|
||||
|
||||
{
|
||||
home-manager.users.bertof = import ./instances/odin/hm.nix;
|
||||
home-manager.users.tiziano = import ./instances/odin/hm_tiziano.nix;
|
||||
|
||||
|
|
@ -437,7 +458,8 @@
|
|||
rclone_bertof = { file = ./secrets/rclone_bertof.age; owner = "bertof"; };
|
||||
rclone_tiziano = { file = ./secrets/rclone_tiziano.age; owner = "tiziano"; };
|
||||
};
|
||||
}];
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue