initial test config
This commit is contained in:
parent
b5d6ec3bbe
commit
cbbe1e1a59
13 changed files with 653 additions and 0 deletions
45
nixos/flake-module.nix
Normal file
45
nixos/flake-module.nix
Normal 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
|
||||
);
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue