Personal Nix setup

New keyring

+19
home/base/assets/pubring.asc
···
+
-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+
mDMEaLwUnBYJKwYBBAHaRw8BAQdAjIduCpO4m5t7737VkE5zRcKGmb/1nqJY5sXp
+
R9lRfCm0H1BoaWwgUGx1Y2t0aHVuIDxwaGlsQGtpdHRlbi5zaD6IjgQTFgoANhYh
+
BAP1bdhjM/hCAa+HXjrukEBCZX1MBQJovBScAhsBBAsJCAcEFQoJCAUWAgMBAAIe
+
AQIXgAAKCRA67pBAQmV9TMGOAQDYC102wxnv+KzJoWHXo8cr7ZdT84MMfNGLPC58
+
AjMbzwEAjR3G+WGp21K1xLNln363H36OcP6zfpYOg9OIku4SNQa4MwRovBTgFgkr
+
BgEEAdpHDwEBB0BoDZcMUBUXGY5zsqDUPRw5IRqxElPCeX8HdB3hegomIIjvBBgW
+
CgAgFiEEA/Vt2GMz+EIBr4deOu6QQEJlfUwFAmi8FOACGyIAgQkQOu6QQEJlfUx2
+
IAQZFgoAHRYhBAIBz21/LJMaNn2X806vPUPNuwHJBQJovBTgAAoJEE6vPUPNuwHJ
+
G5gBAIHuYg8gDdxe4/kJRokngEHB18NwB9dA/POXFR3wKhMUAP9Z5jGCn8Upxya8
+
orsxbsqksPNude8HpUYioGktx0uCAZ97AQCHMAL/oqKzYNsCXdPZzAQf21vs8WX0
+
7MBPJ7nrPdyVkwD/ciAeY+p5m1A2nlvN5hr9zE3Z8+4ns09Z6lECMpzs4QG4OARo
+
vBUwEgorBgEEAZdVAQUBAQdAofLCbLA4tzpxpVRrrYDaXGwmJKhl14KXeYGpLk+K
+
WHYDAQgHiHgEGBYKACAWIQQD9W3YYzP4QgGvh1467pBAQmV9TAUCaLwVMAIbDAAK
+
CRA67pBAQmV9TB0QAP9nlXKcrofKiV/B5GL8ypbFOOpd9HNIbRFaEESrAn/NKAEA
+
vsGuiF1jCMUVlJT+n1V9zlmEbrylkLniLf+NNKrZGAI=
+
=Nqex
+
-----END PGP PUBLIC KEY BLOCK-----
home/base/encrypt/147CBD801C5E0D0C27DD006653D3D96FF952F652.key.age

This is a binary file and will not be displayed.

home/base/encrypt/75EF1DBB30A59CFB56BCE06A88CCF363DA63B1A7.key.age

This is a binary file and will not be displayed.

home/base/encrypt/CA84692E3CC846C8EC7272468E962B63FC599E49.key.age

This is a binary file and will not be displayed.

home/base/encrypt/DDA4674BEB2FBE8A1EFB6F542FA66EDC2BFD54F5.key.age

This is a binary file and will not be displayed.

home/base/encrypt/E2BFF19637FDC25A02F45583176FAD1ED1F6BDD6.key.age

This is a binary file and will not be displayed.

home/base/encrypt/F6BECEF8FA360886C588883F90AD03CBE7B6450A.key.age

This is a binary file and will not be displayed.

home/base/encrypt/pubring.kbx.age

This is a binary file and will not be displayed.

+29 -22
home/base/gpg.nix
···
-
{ lib, helpers, config, ... }:
+
{ lib, helpers, config, pkgs, ... }:
with lib;
let
···
enable = true;
homedir = home;
mutableKeys = true;
+
mutableTrust = true;
+
publicKeys = [
+
{ source = ./assets/pubring.asc; trust = "ultimate"; }
+
];
+
settings = {
+
default-key = "DDA4674BEB2FBE8A1EFB6F542FA66EDC2BFD54F5";
+
keyserver = "hkps://keys.openpgp.org";
+
keyserver-options = "auto-key-retrieve";
+
};
+
scdaemonSettings = {
+
disable-ccid = true;
+
};
};
services.gpg-agent = {
enable = true;
enableSshSupport = true;
verbose = true;
-
sshKeys = [
-
"E2BFF19637FDC25A02F45583176FAD1ED1F6BDD6"
-
"75EF1DBB30A59CFB56BCE06A88CCF363DA63B1A7"
-
];
+
pinentry.package = pkgs.pinentry_mac;
+
sshKeys = [ "DDA4674BEB2FBE8A1EFB6F542FA66EDC2BFD54F5" ];
};
systemd.user.services.gpg-agent.Service.Slice = "session.slice";
-
modules.git.signingKey = mkDefault "303B6A9A312AA035";
+
modules.git.signingKey = mkDefault "4EAF3D43CDBB01C9";
-
age.secrets."pubring.kbx" = {
-
symlink = true;
-
path = "${home}/pubring.kbx";
-
file = ./encrypt/pubring.kbx.age;
-
};
+
home.file."${home}/sshcontrol".text = "DDA4674BEB2FBE8A1EFB6F542FA66EDC2BFD54F5";
-
age.secrets."75EF1DBB30A59CFB56BCE06A88CCF363DA63B1A7.key" = {
+
# ed25519 2025-09-06 [C]
+
age.secrets."147CBD801C5E0D0C27DD006653D3D96FF952F652.key" = {
symlink = true;
-
path = "${home}/private-keys-v1.d/75EF1DBB30A59CFB56BCE06A88CCF363DA63B1A7.key";
-
file = ./encrypt/75EF1DBB30A59CFB56BCE06A88CCF363DA63B1A7.key.age;
+
path = "${home}/private-keys-v1.d/147CBD801C5E0D0C27DD006653D3D96FF952F652.key";
+
file = ./encrypt/147CBD801C5E0D0C27DD006653D3D96FF952F652.key.age;
};
-
-
age.secrets."E2BFF19637FDC25A02F45583176FAD1ED1F6BDD6.key" = {
+
# ed25519 2025-09-06 [SA]
+
age.secrets."DDA4674BEB2FBE8A1EFB6F542FA66EDC2BFD54F5.key" = {
symlink = true;
-
path = "${home}/private-keys-v1.d/E2BFF19637FDC25A02F45583176FAD1ED1F6BDD6.key";
-
file = ./encrypt/E2BFF19637FDC25A02F45583176FAD1ED1F6BDD6.key.age;
+
path = "${home}/private-keys-v1.d/DDA4674BEB2FBE8A1EFB6F542FA66EDC2BFD54F5.key";
+
file = ./encrypt/DDA4674BEB2FBE8A1EFB6F542FA66EDC2BFD54F5.key.age;
};
-
-
age.secrets."CA84692E3CC846C8EC7272468E962B63FC599E49.key" = {
+
# cv25519 2025-09-06 [E]
+
age.secrets."F6BECEF8FA360886C588883F90AD03CBE7B6450A.key" = {
symlink = true;
-
path = "${home}/private-keys-v1.d/CA84692E3CC846C8EC7272468E962B63FC599E49.key";
-
file = ./encrypt/CA84692E3CC846C8EC7272468E962B63FC599E49.key.age;
+
path = "${home}/private-keys-v1.d/F6BECEF8FA360886C588883F90AD03CBE7B6450A.key";
+
file = ./encrypt/F6BECEF8FA360886C588883F90AD03CBE7B6450A.key.age;
};
};
}
+1 -1
modules/server/sshd.nix
···
config = mkIf cfg.sshd.enable {
users.users."${user}".openssh.authorizedKeys.keys = [
-
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDZVcY+kkbEtIiYjSyIMeIJNZjUpK+kgpMQEIOqtG5GIkTV5rb9DOoruAYy1/2HPpAaDUl7ISorBc4g0v/98cEaF04PIOWpm+HctLhPNyI0f7TClQIFNU8PLO5bMzAvIdJQmJavd42cVZmz44N8C12nL3mzCIaLGsVW/iAc2H2viHoOT3ZYxhq1f0kaDhLYjaserNgLqX12E3q5f3z1HkAg2ivRt5NHs4t4N5L6dqS/GnLAaK9rT1yCuIPQT4+XvKycaos/dMLWSPzz3ROV9mATg2uzQx9DiQd7s0pQ4UjUNL/XHlVj0TnQAS6fioVlkfb6dAxzIm9D+O4NI6b2m23Jo2XXoChKkRtVbBX/bJH8YZS2QdIlwlm57yyEbipCFjha8/GH2LUSqEkAZpbDFkIl77aSDX/D+l5svXIZke3PUmL9VX31UglP6/1hqFjMNvZHMbf+bjpjw2UILPph3QogMw8LeSfndFDDtkCDuP25MyjWi4h2QGVc8ibtQnDu3Lj8HhdQ2dOXPuHgMnty9YZXWfGaStIIsS26ZiXbkvRG5e8rlIXQbz8V1aS9851ODOeoXAU87aAG8MKiWJgtrcJRtBcZJHTZHk/I/fSKsyARWz8xtfrIOsCLSWWiY0lpCUYTCrZ4uh9jFEkYda9S8efh7QmOLXraqn6Gw+psKiU9Fw=="
+
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGgNlwxQFRcZjnOyoNQ9HDkhGrESU8J5fwd0HeF6CiYg"
];
services.openssh = {
+88
pubring.asc
···
+
-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+
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
+
brylkLniLf+NNKrZGAI=
+
=X7nn
+
-----END PGP PUBLIC KEY BLOCK-----
+3 -4
secrets.nix
···
"./home/fonts/encrypt/codicon.otf.age".publicKeys = keys;
"./home/fonts/encrypt/faicon.ttf.age".publicKeys = keys;
-
"./home/base/encrypt/pubring.kbx.age".publicKeys = keys;
-
"./home/base/encrypt/75EF1DBB30A59CFB56BCE06A88CCF363DA63B1A7.key.age".publicKeys = keys;
-
"./home/base/encrypt/E2BFF19637FDC25A02F45583176FAD1ED1F6BDD6.key.age".publicKeys = keys;
-
"./home/base/encrypt/CA84692E3CC846C8EC7272468E962B63FC599E49.key.age".publicKeys = keys;
+
"./home/base/encrypt/147CBD801C5E0D0C27DD006653D3D96FF952F652.key.age".publicKeys = keys;
+
"./home/base/encrypt/DDA4674BEB2FBE8A1EFB6F542FA66EDC2BFD54F5.key.age".publicKeys = keys;
+
"./home/base/encrypt/F6BECEF8FA360886C588883F90AD03CBE7B6450A.key.age".publicKeys = keys;
"./home/development/encrypt/npmrc.age".publicKeys = keys;