WIP: switch to open modules
This commit is contained in:
parent
2d93d5c465
commit
5eb4de6380
1 changed files with 139 additions and 117 deletions
256
flake.nix
256
flake.nix
|
|
@ -29,7 +29,7 @@
|
||||||
# emanote.url = "github:srid/emanote";
|
# emanote.url = "github:srid/emanote";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs:
|
outputs = { self, ... }@inputs:
|
||||||
let
|
let
|
||||||
nix-config = {
|
nix-config = {
|
||||||
allowUnfree = true;
|
allowUnfree = true;
|
||||||
|
|
@ -45,61 +45,6 @@
|
||||||
|
|
||||||
# cute-api = builtins.getFlake "gitlab:bertof/cute-api/0.2.1-3";
|
# 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 = [
|
mainModules = [
|
||||||
./nixos/pro_audio.nix
|
./nixos/pro_audio.nix
|
||||||
./nixos/kdeconnect.nix
|
./nixos/kdeconnect.nix
|
||||||
|
|
@ -110,7 +55,7 @@
|
||||||
{ home-manager.users.bertof.imports = [ ./hm/hyprland.nix ]; }
|
{ home-manager.users.bertof.imports = [ ./hm/hyprland.nix ]; }
|
||||||
];
|
];
|
||||||
|
|
||||||
installerModules = commonModules ++ [ ./nixos/installer.nix ];
|
installerModules = [ self.nixosModules.commonModules ./nixos/installer.nix ];
|
||||||
in
|
in
|
||||||
inputs.flake-parts.lib.mkFlake { inherit inputs; } {
|
inputs.flake-parts.lib.mkFlake { inherit inputs; } {
|
||||||
systems = import inputs.systems;
|
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 = {
|
nixosConfigurations = {
|
||||||
thor = inputs.nixpkgs-u.lib.nixosSystem {
|
thor = inputs.nixpkgs-u.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = commonModules ++ mainModules ++ [
|
modules = [ self.nixosModules.commonModules ] ++ mainModules ++ [
|
||||||
./instances/thor/hardware-configuration.nix
|
./instances/thor/hardware-configuration.nix
|
||||||
inputs.nixos-hardware.nixosModules.common-cpu-amd
|
inputs.nixos-hardware.nixosModules.common-cpu-amd
|
||||||
inputs.nixos-hardware.nixosModules.common-pc-ssd
|
inputs.nixos-hardware.nixosModules.common-pc-ssd
|
||||||
|
|
@ -256,17 +257,20 @@
|
||||||
{ home-manager.users.bertof.imports = [ ./hm/hyprland.nix ]; }
|
{ home-manager.users.bertof.imports = [ ./hm/hyprland.nix ]; }
|
||||||
|
|
||||||
./nixos/musa.nix
|
./nixos/musa.nix
|
||||||
] ++ homeManagerUModules ++ [{
|
self.nixosModules.homeManagerUModules
|
||||||
age.secrets = {
|
|
||||||
rclone_bertof = { file = ./secrets/rclone_bertof.age; owner = "bertof"; };
|
{
|
||||||
};
|
age.secrets = {
|
||||||
home-manager.users.bertof = import ./instances/thor/hm.nix;
|
rclone_bertof = { file = ./secrets/rclone_bertof.age; owner = "bertof"; };
|
||||||
}];
|
};
|
||||||
|
home-manager.users.bertof = import ./instances/thor/hm.nix;
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
sif = inputs.nixpkgs-u.lib.nixosSystem {
|
sif = inputs.nixpkgs-u.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = commonModules ++ mainModules ++ [
|
modules = [ self.nixosModules.commonModules ] ++ mainModules ++ [
|
||||||
./instances/sif/hardware-configuration.nix
|
./instances/sif/hardware-configuration.nix
|
||||||
inputs.nixos-hardware.nixosModules.common-cpu-intel
|
inputs.nixos-hardware.nixosModules.common-cpu-intel
|
||||||
inputs.nixos-hardware.nixosModules.common-cpu-intel
|
inputs.nixos-hardware.nixosModules.common-cpu-intel
|
||||||
|
|
@ -282,17 +286,20 @@
|
||||||
# ./nixos/minio_local.nix
|
# ./nixos/minio_local.nix
|
||||||
|
|
||||||
# ./nixos/musa.nix
|
# ./nixos/musa.nix
|
||||||
] ++ homeManagerUModules ++ [{
|
self.nixosModules.homeManagerUModules
|
||||||
age.secrets = {
|
|
||||||
rclone_bertof = { file = ./secrets/rclone_bertof.age; owner = "bertof"; };
|
{
|
||||||
};
|
age.secrets = {
|
||||||
home-manager.users.bertof = import ./instances/sif/hm.nix;
|
rclone_bertof = { file = ./secrets/rclone_bertof.age; owner = "bertof"; };
|
||||||
}];
|
};
|
||||||
|
home-manager.users.bertof = import ./instances/sif/hm.nix;
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
odin = inputs.nixpkgs-u.lib.nixosSystem {
|
odin = inputs.nixpkgs-u.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = commonModules ++ [
|
modules = [ self.nixosModules.commonModules ] ++ [
|
||||||
inputs.nixos-hardware.nixosModules.common-cpu-intel
|
inputs.nixos-hardware.nixosModules.common-cpu-intel
|
||||||
inputs.nixos-hardware.nixosModules.common-pc-laptop
|
inputs.nixos-hardware.nixosModules.common-pc-laptop
|
||||||
inputs.nixos-hardware.nixosModules.common-pc-laptop-ssd
|
inputs.nixos-hardware.nixosModules.common-pc-laptop-ssd
|
||||||
|
|
@ -305,19 +312,22 @@
|
||||||
./nixos/ip_forwarding.nix
|
./nixos/ip_forwarding.nix
|
||||||
# ./nixos/plasma6.nix
|
# ./nixos/plasma6.nix
|
||||||
./nixos/steam.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 = {
|
home-manager.users.bertof = import ./instances/odin/hm.nix;
|
||||||
rclone_bertof = { file = ./secrets/rclone_bertof.age; owner = "bertof"; };
|
home-manager.users.tiziano = import ./instances/odin/hm_tiziano.nix;
|
||||||
rclone_tiziano = { file = ./secrets/rclone_tiziano.age; owner = "tiziano"; };
|
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 {
|
heimdall = inputs.nixpkgs-u.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = commonModules ++ [
|
modules = [ self.nixosModules.commonModules ] ++ [
|
||||||
inputs.nixos-hardware.nixosModules.common-cpu-amd
|
inputs.nixos-hardware.nixosModules.common-cpu-amd
|
||||||
inputs.nixos-hardware.nixosModules.common-gpu-amd
|
inputs.nixos-hardware.nixosModules.common-gpu-amd
|
||||||
inputs.nixos-hardware.nixosModules.common-pc-ssd
|
inputs.nixos-hardware.nixosModules.common-pc-ssd
|
||||||
|
|
@ -340,20 +350,23 @@
|
||||||
# ./nixos/ntfy.nix
|
# ./nixos/ntfy.nix
|
||||||
# S3 cache read
|
# S3 cache read
|
||||||
# ./nixos/s3_cache_read.nix
|
# ./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;
|
age.secrets = {
|
||||||
heimdall-gitlab-runner-docker-images.file = ./secrets/heimdall-gitlab-runner-docker-images.age;
|
rclone_bertof = { file = ./secrets/rclone_bertof.age; owner = "bertof"; };
|
||||||
heimdall-gitlab-runner-default.file = ./secrets/heimdall-gitlab-runner-default.age;
|
heimdall-gitlab-runner-nix.file = ./secrets/heimdall-gitlab-runner-nix.age;
|
||||||
};
|
heimdall-gitlab-runner-docker-images.file = ./secrets/heimdall-gitlab-runner-docker-images.age;
|
||||||
home-manager.users.bertof = import ./instances/heimdall/hm.nix;
|
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 {
|
freya = inputs.nixpkgs.lib.nixosSystem {
|
||||||
system = "aarch64-linux";
|
system = "aarch64-linux";
|
||||||
modules = commonModules ++ [
|
modules = [ self.nixosModules.commonModules ] ++ [
|
||||||
inputs.nixos-hardware.nixosModules.raspberry-pi-4
|
inputs.nixos-hardware.nixosModules.raspberry-pi-4
|
||||||
({ lib, ... }: {
|
({ lib, ... }: {
|
||||||
boot.supportedFilesystems = lib.mkForce [
|
boot.supportedFilesystems = lib.mkForce [
|
||||||
|
|
@ -379,22 +392,25 @@
|
||||||
./nixos/ntfy.nix
|
./nixos/ntfy.nix
|
||||||
# S3 cache read
|
# S3 cache read
|
||||||
# ./nixos/s3_cache_read.nix
|
# ./nixos/s3_cache_read.nix
|
||||||
] ++ homeManagerUModules ++ [{
|
self.nixosModules.homeManagerUModules
|
||||||
home-manager.users.bertof = import ./instances/freya/hm.nix;
|
|
||||||
|
{
|
||||||
|
home-manager.users.bertof = import ./instances/freya/hm.nix;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
age.secrets = {
|
age.secrets = {
|
||||||
rclone_bertof = { file = ./secrets/rclone_bertof.age; owner = "bertof"; };
|
rclone_bertof = { file = ./secrets/rclone_bertof.age; owner = "bertof"; };
|
||||||
rclone_tiziano = { file = ./secrets/rclone_tiziano.age; owner = "tiziano"; };
|
rclone_tiziano = { file = ./secrets/rclone_tiziano.age; owner = "tiziano"; };
|
||||||
};
|
};
|
||||||
|
|
||||||
}];
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
baldur = inputs.nixpkgs-u.lib.nixosSystem {
|
baldur = inputs.nixpkgs-u.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = commonModules ++ [
|
modules = [ self.nixosModules.commonModules ] ++ [
|
||||||
./nixos/server
|
./nixos/server
|
||||||
./instances/baldur/hardware-configuration.nix
|
./instances/baldur/hardware-configuration.nix
|
||||||
./instances/baldur/configuration.nix
|
./instances/baldur/configuration.nix
|
||||||
|
|
@ -405,20 +421,23 @@
|
||||||
# ./nixos/users/tiziano.nix
|
# ./nixos/users/tiziano.nix
|
||||||
# S3 cache read
|
# S3 cache read
|
||||||
# ./nixos/s3_cache_read.nix
|
# ./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;
|
|
||||||
|
|
||||||
age.secrets = {
|
{
|
||||||
rclone_bertof = { file = ./secrets/rclone_bertof.age; owner = "bertof"; };
|
home-manager.users.bertof = import ./instances/baldur/hm.nix;
|
||||||
rclone_tiziano = { file = ./secrets/rclone_tiziano.age; owner = "tiziano"; };
|
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"; };
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
loki = inputs.nixpkgs.lib.nixosSystem {
|
loki = inputs.nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = commonModules ++ [
|
modules = [ self.nixosModules.commonModules ] ++ [
|
||||||
./nixos/server
|
./nixos/server
|
||||||
|
|
||||||
inputs.nixos-hardware.nixosModules.common-cpu-intel
|
inputs.nixos-hardware.nixosModules.common-cpu-intel
|
||||||
|
|
@ -429,15 +448,18 @@
|
||||||
./nixos/users/tiziano.nix
|
./nixos/users/tiziano.nix
|
||||||
# S3 cache read
|
# S3 cache read
|
||||||
# ./nixos/s3_cache_read.nix
|
# ./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;
|
|
||||||
|
|
||||||
age.secrets = {
|
{
|
||||||
rclone_bertof = { file = ./secrets/rclone_bertof.age; owner = "bertof"; };
|
home-manager.users.bertof = import ./instances/odin/hm.nix;
|
||||||
rclone_tiziano = { file = ./secrets/rclone_tiziano.age; owner = "tiziano"; };
|
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"; };
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue