hosts split in folders
This commit is contained in:
parent
9b88efa1fd
commit
c029483b12
13 changed files with 565 additions and 237 deletions
74
flake.nix
74
flake.nix
|
|
@ -5,7 +5,7 @@
|
|||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
|
||||
authentik = {
|
||||
url = "github:MarcelCoding/authentik-nix";
|
||||
url = "github:nix-community/authentik-nix";
|
||||
};
|
||||
mailserver = {
|
||||
url = "git+https://gitlab.com/simple-nixos-mailserver/nixos-mailserver?ref=nixos-25.05";
|
||||
|
|
@ -33,30 +33,58 @@
|
|||
disko,
|
||||
sops,
|
||||
}:
|
||||
{
|
||||
rec {
|
||||
formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt-rfc-style;
|
||||
packages.x86_64-linux =
|
||||
builtins.foldl'
|
||||
(
|
||||
result: name:
|
||||
result
|
||||
// {
|
||||
iso = nixosConfigurations.${name}.config.system.build.isoImage;
|
||||
}
|
||||
)
|
||||
{ }
|
||||
( # filter all nixos configs containing installer
|
||||
builtins.filter (item: nixpkgs.lib.hasInfix "installer" item) (
|
||||
builtins.attrNames nixosConfigurations
|
||||
)
|
||||
);
|
||||
|
||||
devShells.x86_64-linux = {
|
||||
default = nixpkgs.legacyPackages.x86_64-linux.mkShell {
|
||||
packages = with nixpkgs.legacyPackages.x86_64-linux; [
|
||||
ssh-to-age
|
||||
sops
|
||||
];
|
||||
};
|
||||
};
|
||||
nixosConfigurations = {
|
||||
authentik = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
modules = [
|
||||
./configuration.nix
|
||||
./hetzner-disk.nix
|
||||
disko.nixosModules.disko
|
||||
authentik.nixosModules.default
|
||||
mailserver.nixosModules.mailserver
|
||||
sops.nixosModules.sops
|
||||
];
|
||||
};
|
||||
};
|
||||
nixosConfigurations = builtins.foldl' (
|
||||
result: input:
|
||||
result
|
||||
// {
|
||||
"${input}" = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
modules = [
|
||||
./hosts/${input}
|
||||
./hosts/${input}/hetzner-disk.nix
|
||||
./default.nix
|
||||
disko.nixosModules.disko
|
||||
authentik.nixosModules.default
|
||||
mailserver.nixosModules.mailserver
|
||||
];
|
||||
};
|
||||
|
||||
# build iso image vor every config
|
||||
"${input}-installer" = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
modules = [
|
||||
./hosts/${input}
|
||||
./default.nix
|
||||
disko.nixosModules.disko
|
||||
authentik.nixosModules.default
|
||||
mailserver.nixosModules.mailserver
|
||||
"${nixpkgs}/nixos/modules/installer/cd-dvd/iso-image.nix"
|
||||
{
|
||||
users.users.administration.password = "test";
|
||||
users.users.root.password = "test";
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
) { } (builtins.attrNames (builtins.readDir ./hosts));
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue