get secrets workinggit add ../../modules/system/age.nix
This commit is contained in:
23
modules/system/age.nix
Normal file
23
modules/system/age.nix
Normal file
@@ -0,0 +1,23 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
# Central list of secrets
|
||||
secret_names = [
|
||||
"tailscale_authkey"
|
||||
];
|
||||
|
||||
# Map the list into age.secrets definitions
|
||||
secrets = builtins.listToAttrs (map
|
||||
(name: {
|
||||
name = name;
|
||||
value.file = ../../secrets/${name}.age;
|
||||
})
|
||||
secret_names);
|
||||
in {
|
||||
options.secrets.enable = lib.mkEnableOption "Enable system secrets";
|
||||
|
||||
config = lib.mkIf config.modules.secrets.enable {
|
||||
age.keyFile = "/home/blake/.keyring/age/keys.txt";
|
||||
age.secrets = secrets;
|
||||
};
|
||||
}
|
||||
@@ -3,6 +3,7 @@
|
||||
{
|
||||
imports = [
|
||||
./ssh.nix
|
||||
./age.nix
|
||||
./docker.nix
|
||||
./tailscale.nix
|
||||
./syncthing.nix
|
||||
@@ -10,6 +11,7 @@
|
||||
];
|
||||
|
||||
modules.system.ssh.enable = lib.mkDefault true;
|
||||
modules.secrets.enable = lib.mkDefault true;
|
||||
modules.system.docker.enable = lib.mkDefault true;
|
||||
modules.system.tailscale.enable = lib.mkDefault true;
|
||||
modules.system.syncthing.enable = lib.mkDefault true;
|
||||
|
||||
@@ -1,24 +1,23 @@
|
||||
{ pkgs, config, lib, ... }:
|
||||
|
||||
{
|
||||
age.secrets."tailscale_authkey" = {
|
||||
file = ../../secrets/tailscale_authkey.txt.age;
|
||||
owner = "blake";
|
||||
group = "blake";
|
||||
mode = "0400";
|
||||
};
|
||||
|
||||
#imports = [ agenix.nixosModules.default ];
|
||||
|
||||
options = {
|
||||
modules.system.tailscale.enable = lib.mkEnableOption "enables tailscale";
|
||||
};
|
||||
|
||||
config = lib.mkIf config.modules.system.tailscale.enable {
|
||||
age.secrets."tailscale_authkey" = {
|
||||
file = ../../secrets/tailscale_authkey.txt.age;
|
||||
owner = "blake";
|
||||
group = "blake";
|
||||
mode = "0400";
|
||||
};
|
||||
services.tailscale = {
|
||||
enable = true;
|
||||
|
||||
};
|
||||
useRoutingFeatures = "both";
|
||||
authKeyFile = "/run/agenix/tailscale_authkey";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user