Files
nixos-server/flake.nix
T
2026-01-19 20:33:18 -05:00

57 lines
1.2 KiB
Nix

{
description = "NixOS server base system configuration";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
agenix.url = "github:ryantm/agenix";
disko = {
url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = {
self,
nixpkgs,
home-manager,
agenix,
disko,
} @ inputs: let
system = "x86_64-linux";
# hostnames
# hosts = ["s1901" "s1902" "s1903" "s1904" "s1905" "s1906" ];
hosts = ["s1901"];
baseModule = {lib, ...}: {
imports = [
home-manager.nixosModules.default
agenix.nixosModules.default
disko.nixosModules.disko
];
system.configurationRevision = lib.mkIf (self ? rev) self.rev;
environment.systemPackages = [
agenix.packages.${system}.default
];
};
mkHost = name: {
name = name;
value = nixpkgs.lib.nixosSystem {
modules = [
baseModule
./hosts/${name}/configuration.nix
];
};
};
in {
nixosConfigurations = builtins.listToAttrs (map mkHost hosts);
};
}