Fix properties.nix path loading
This commit is contained in:
parent
0ef689b750
commit
38c2e5aece
@ -13,13 +13,6 @@ in
|
||||
];
|
||||
|
||||
options.machines = {
|
||||
# For some reason (presumably a bug), using the best value of "../../machines"
|
||||
# as the path causes nix to search for invalid paths for flake imports but *not*
|
||||
# secrets.nix for agenix.
|
||||
machinesPath = lib.mkOption {
|
||||
type = lib.types.path;
|
||||
default = ../..;
|
||||
};
|
||||
|
||||
hosts = lib.mkOption {
|
||||
type = lib.types.attrsOf
|
||||
@ -194,15 +187,14 @@ in
|
||||
})
|
||||
(propertiesFiles dir);
|
||||
propertiesFiles = dir:
|
||||
lib.foldl (lib.mergeAttrs) { } (propertiesFiles' dir "");
|
||||
propertiesFiles' = dir: dirName:
|
||||
lib.foldl (lib.mergeAttrs) { } (propertiesFiles' dir);
|
||||
propertiesFiles' = dir:
|
||||
let
|
||||
dirContents = builtins.readDir dir;
|
||||
dirPaths = lib.filter (path: dirContents.${path} == "directory") (lib.attrNames dirContents);
|
||||
propFiles = builtins.map (p: "${dir}/${p}") (lib.filter (path: path == "properties.nix") (lib.attrNames dirContents));
|
||||
propFiles = lib.filter (p: baseNameOf p == "properties.nix") (lib.filesystem.listFilesRecursive dir);
|
||||
dirName = path: builtins.baseNameOf (builtins.dirOf path);
|
||||
in
|
||||
lib.concatMap (d: propertiesFiles' "${dir}/${d}" d) dirPaths ++ builtins.map (p: { "${dirName}" = p; }) propFiles;
|
||||
builtins.map (p: { "${dirName p}" = p; }) propFiles;
|
||||
in
|
||||
properties config.machines.machinesPath;
|
||||
properties ../../machines;
|
||||
};
|
||||
}
|
||||
|
@ -2,7 +2,6 @@
|
||||
|
||||
{ nixpkgs ? import <nixpkgs> { }
|
||||
, assertionsModule ? <nixpkgs/nixos/modules/misc/assertions.nix>
|
||||
, machinesPath ? null
|
||||
}:
|
||||
|
||||
{
|
||||
@ -11,11 +10,6 @@
|
||||
modules = [
|
||||
./default.nix
|
||||
assertionsModule
|
||||
{
|
||||
config = nixpkgs.lib.mkIf (machinesPath != null) {
|
||||
machines.machinesPath = machinesPath;
|
||||
};
|
||||
}
|
||||
];
|
||||
}).config.machines;
|
||||
}
|
||||
|
@ -1,8 +1,6 @@
|
||||
let
|
||||
lib = (import <nixpkgs> { }).lib;
|
||||
sshKeys = (import ../common/machine-info/moduleless.nix {
|
||||
machinesPath = ../machines;
|
||||
}).machines.ssh;
|
||||
sshKeys = (import ../common/machine-info/moduleless.nix { }).machines.ssh;
|
||||
|
||||
# add userkeys to all roles so that I can r/w the secrets from my personal computers
|
||||
roles = lib.mapAttrs (role: hosts: hosts ++ sshKeys.userKeys) sshKeys.hostKeysByRole;
|
||||
|
Loading…
x
Reference in New Issue
Block a user