initial test config

This commit is contained in:
Dennis Frieberg 2025-05-04 13:08:12 +02:00
parent b5d6ec3bbe
commit cbbe1e1a59
Signed by: nerf
GPG key ID: 7C58AFED036072C5
13 changed files with 653 additions and 0 deletions

45
nixos/flake-module.nix Normal file
View file

@ -0,0 +1,45 @@
# copied and adopted from maralorns config
# This automatically searches for nixos configs in ./machines/${name}/configuration.nix
# and exposes them as outputs.nixosConfigurations.${name}
{
withSystem,
lib,
inputs,
...
}:
{
flake = {
nixosConfigurations = withSystem "x86_64-linux" (
{ pkgs, ... }:
let
machines = builtins.attrNames (builtins.readDir ./machines);
makeSystem =
name:
let
importedConfig = import (./. + "/machines/${name}/configuration.nix");
systemConfig =
if lib.isFunction importedConfig then
x:
importedConfig (
x
// {
flake-inputs = inputs;
inherit pkgs;
}
)
else
importedConfig;
in
pkgs.nixos {
imports = [
systemConfig
inputs.sops-nix.nixosModules.sops
inputs.impermanence.nixosModules.impermanence
inputs.home-manager.nixosModules.home-manager
];
};
in
lib.genAttrs machines makeSystem
);
};
}