get secrets workinggit add ../../modules/system/age.nix
This commit is contained in:
@@ -30,7 +30,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
# age
|
# age
|
||||||
age.keyFile = ../../.keyring/age/keys.txt;
|
#config.age.keyFile = "/home/blake/.nix/.keyring/age/keys.txt";
|
||||||
|
|
||||||
# passwordless rebuild
|
# passwordless rebuild
|
||||||
security.sudo.extraRules = [
|
security.sudo.extraRules = [
|
||||||
|
|||||||
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 = [
|
imports = [
|
||||||
./ssh.nix
|
./ssh.nix
|
||||||
|
./age.nix
|
||||||
./docker.nix
|
./docker.nix
|
||||||
./tailscale.nix
|
./tailscale.nix
|
||||||
./syncthing.nix
|
./syncthing.nix
|
||||||
@@ -10,6 +11,7 @@
|
|||||||
];
|
];
|
||||||
|
|
||||||
modules.system.ssh.enable = lib.mkDefault true;
|
modules.system.ssh.enable = lib.mkDefault true;
|
||||||
|
modules.secrets.enable = lib.mkDefault true;
|
||||||
modules.system.docker.enable = lib.mkDefault true;
|
modules.system.docker.enable = lib.mkDefault true;
|
||||||
modules.system.tailscale.enable = lib.mkDefault true;
|
modules.system.tailscale.enable = lib.mkDefault true;
|
||||||
modules.system.syncthing.enable = lib.mkDefault true;
|
modules.system.syncthing.enable = lib.mkDefault true;
|
||||||
|
|||||||
@@ -1,24 +1,23 @@
|
|||||||
{ pkgs, config, lib, ... }:
|
{ pkgs, config, lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
age.secrets."tailscale_authkey" = {
|
#imports = [ agenix.nixosModules.default ];
|
||||||
file = ../../secrets/tailscale_authkey.txt.age;
|
|
||||||
owner = "blake";
|
|
||||||
group = "blake";
|
|
||||||
mode = "0400";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
options = {
|
options = {
|
||||||
modules.system.tailscale.enable = lib.mkEnableOption "enables tailscale";
|
modules.system.tailscale.enable = lib.mkEnableOption "enables tailscale";
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf config.modules.system.tailscale.enable {
|
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 = {
|
services.tailscale = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
};
|
||||||
useRoutingFeatures = "both";
|
useRoutingFeatures = "both";
|
||||||
authKeyFile = "/run/agenix/tailscale_authkey";
|
authKeyFile = "/run/agenix/tailscale_authkey";
|
||||||
};
|
};
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user