nixos/hosts/default.nix

52 lines
1.5 KiB
Nix
Raw Normal View History

2025-02-03 07:55:17 +01:00
{
inputs,
withSystem,
...
2025-12-13 21:41:52 +01:00
}: let
2025-02-03 07:55:17 +01:00
mkSystem = {
2025-12-13 21:41:52 +01:00
host,
2025-02-03 07:55:17 +01:00
modules ? [],
2025-02-18 20:17:57 +01:00
system ? "x86_64-linux",
2025-02-03 07:55:17 +01:00
}:
2025-02-18 20:17:57 +01:00
withSystem system (
{system, ...}: let
pkgsUnstable = import inputs.nixpkgs-unstable {
inherit system;
config.allowUnfree = true;
};
in
2025-02-03 07:55:17 +01:00
inputs.nixpkgs.lib.nixosSystem {
inherit system;
2025-12-13 21:41:52 +01:00
specialArgs = {inherit inputs pkgsUnstable;};
2025-02-03 07:55:17 +01:00
modules =
[
inputs.disko.nixosModules.disko
2025-02-18 20:17:57 +01:00
inputs.nixos-generators.nixosModules.all-formats
2025-02-03 07:55:17 +01:00
inputs.home-manager.nixosModules.home-manager
inputs.agenix.nixosModules.default
inputs.agenix-rekey.nixosModules.default
2025-02-20 00:02:02 +01:00
inputs.nix-index-database.nixosModules.nix-index
2025-02-18 20:17:57 +01:00
inputs.nixos-facter-modules.nixosModules.facter
inputs.dankMaterialShell.nixosModules.dankMaterialShell
2025-04-27 23:58:02 +02:00
inputs.niri.nixosModules.niri
2025-12-13 21:09:32 +01:00
inputs.determinate.nixosModules.default
../modules/base
2025-12-12 04:17:02 +01:00
../modules/system
../modules/programs
2025-12-12 04:02:55 +01:00
../modules/desktop
../modules/homelab
2025-12-13 21:41:52 +01:00
host
2025-02-03 07:55:17 +01:00
]
2025-12-13 21:41:52 +01:00
++ modules;
2025-02-03 07:55:17 +01:00
}
);
in {
2025-02-18 20:17:57 +01:00
config.flake.nixosConfigurations = {
2025-12-13 21:41:52 +01:00
laptop = mkSystem {host = ./laptop;};
desktop = mkSystem {host = ./desktop;};
work = mkSystem {host = ./work;};
homelab = mkSystem {host = ./homelab;};
bootstrap = mkSystem {host = ./bootstrap;};
2025-02-03 07:55:17 +01:00
};
}