Overcomplicated agenix setup done!
This commit is contained in:
parent
a7a0869dbe
commit
1c125ab3b2
4 changed files with 17 additions and 13 deletions
|
@ -26,9 +26,10 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs: let
|
outputs = inputs: let
|
||||||
|
lib = inputs.nixpkgs.lib;
|
||||||
dirUtils = {
|
dirUtils = {
|
||||||
opt = inputs.nixpkgs.lib.optionals;
|
opt = inputs.nixpkgs.lib.optionals;
|
||||||
dirFiles = dir: map (file: "${dir}/${file}") (builtins.attrNames (builtins.readDir dir));
|
dirFiles = type: dir: lib.filter (lib.hasSuffix type) (lib.filesystem.listFilesRecursive dir);
|
||||||
};
|
};
|
||||||
system = hostname: isDesktop:
|
system = hostname: isDesktop:
|
||||||
inputs.nixpkgs.lib.nixosSystem {
|
inputs.nixpkgs.lib.nixosSystem {
|
||||||
|
@ -43,10 +44,10 @@
|
||||||
inputs.agenix.nixosModules.default
|
inputs.agenix.nixosModules.default
|
||||||
inputs.nix-gaming.nixosModules.pipewireLowLatency
|
inputs.nix-gaming.nixosModules.pipewireLowLatency
|
||||||
]
|
]
|
||||||
++ dirFiles "${inputs.self}/${hostname}"
|
++ dirFiles ".nix" "${inputs.self}/${hostname}"
|
||||||
++ dirFiles ./modules/common
|
++ dirFiles ".nix" ./modules/common
|
||||||
++ opt isDesktop (
|
++ opt isDesktop (
|
||||||
(dirFiles ./modules/common-desktop)
|
(dirFiles ".nix" ./modules/common-desktop)
|
||||||
++ [
|
++ [
|
||||||
inputs.stylix.nixosModules.stylix
|
inputs.stylix.nixosModules.stylix
|
||||||
./stylix.nix
|
./stylix.nix
|
||||||
|
|
|
@ -13,6 +13,6 @@
|
||||||
};
|
};
|
||||||
sharedModules =
|
sharedModules =
|
||||||
[{home.stateVersion = "23.11";}]
|
[{home.stateVersion = "23.11";}]
|
||||||
++ dirUtils.dirFiles ./home-manager;
|
++ dirUtils.dirFiles ".nix" ./home-manager;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,13 +3,16 @@
|
||||||
inputs,
|
inputs,
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}: let
|
}: {
|
||||||
secretsPath = ../../secrets;
|
|
||||||
in {
|
|
||||||
environment.systemPackages = [inputs.agenix.packages.x86_64-linux.default]; # TODO: USE WRAPPER
|
environment.systemPackages = [inputs.agenix.packages.x86_64-linux.default]; # TODO: USE WRAPPER
|
||||||
|
|
||||||
age.secrets = lib.listToAttrs (map (name: _: {
|
age = {
|
||||||
name = name;
|
identityPaths = [
|
||||||
value.file = "${secretsPath}/${name}";
|
"/home/quadradical/.ssh/id_ed25519"
|
||||||
}) (lib.filter (name: lib.hasSuffix ".age" name) (dirUtils.dirFiles secretsPath)));
|
];
|
||||||
|
secrets = lib.listToAttrs (map (path: {
|
||||||
|
name = lib.last (builtins.split "/" (toString path));
|
||||||
|
value.file = path;
|
||||||
|
}) (dirUtils.dirFiles ".age" ../../secrets));
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
environment.systemPackages = with dirUtils; [
|
environment.systemPackages = with dirUtils; [
|
||||||
(inputs.wrapper-manager.lib.build {
|
(inputs.wrapper-manager.lib.build {
|
||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
modules = dirFiles ./common ++ opt isDesktop (dirFiles ./common-desktop);
|
modules = dirFiles ".nix" ./common ++ opt isDesktop (dirFiles ".nix" ./common-desktop);
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue