2025-10-07 16:51:26 +00:00
|
|
|
{ configFiles, configuration, disko, home-manager, inputs, nixpkgs, nixvim, roles, sops-nix, system, timecard-bot, ... }:
|
2025-08-15 16:35:41 +00:00
|
|
|
let
|
|
|
|
|
allowed-unfree-packages = [
|
|
|
|
|
"corefonts"
|
|
|
|
|
"mongodb"
|
|
|
|
|
];
|
|
|
|
|
in nixpkgs.lib.nixosSystem {
|
|
|
|
|
modules = [
|
2025-10-07 16:51:26 +00:00
|
|
|
inputs.authentik-nix.nixosModules.default
|
2025-09-08 20:36:59 +00:00
|
|
|
disko.nixosModules.disko
|
2025-08-15 16:35:41 +00:00
|
|
|
home-manager.nixosModules.home-manager
|
|
|
|
|
{
|
2025-10-07 16:51:26 +00:00
|
|
|
home-manager.extraSpecialArgs = { inherit configFiles inputs; };
|
2025-08-15 16:35:41 +00:00
|
|
|
home-manager.sharedModules = [
|
2026-01-07 03:25:55 +00:00
|
|
|
nixvim.homeModules.nixvim
|
2025-08-15 16:35:41 +00:00
|
|
|
./modules/home/nixvim.nix
|
|
|
|
|
];
|
|
|
|
|
home-manager.useGlobalPkgs = true;
|
|
|
|
|
home-manager.useUserPackages = true;
|
|
|
|
|
}
|
|
|
|
|
configuration
|
|
|
|
|
./modules
|
|
|
|
|
sops-nix.nixosModules.sops {
|
|
|
|
|
sops = {
|
|
|
|
|
age.generateKey = true;
|
|
|
|
|
age.keyFile = "/var/libs/sops-nix/key.txt";
|
|
|
|
|
age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
|
|
|
|
defaultSopsFile = ./secrets/secrets.yaml;
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
./users
|
2025-10-07 16:35:12 +00:00
|
|
|
] ++ roles;
|
2025-08-15 16:35:41 +00:00
|
|
|
pkgs = import nixpkgs {
|
|
|
|
|
config = {
|
|
|
|
|
allowUnfreePredicate = pkg: builtins.elem (nixpkgs.lib.getName pkg) allowed-unfree-packages;
|
|
|
|
|
};
|
|
|
|
|
system = "${system}";
|
|
|
|
|
};
|
|
|
|
|
specialArgs = {
|
2025-10-07 16:51:26 +00:00
|
|
|
inherit configFiles inputs timecard-bot;
|
2025-08-15 16:35:41 +00:00
|
|
|
};
|
|
|
|
|
system = "${system}";
|
|
|
|
|
}
|