···5151 # Bootloader.
5252 boot.loader.systemd-boot.enable = true;
5353 boot.loader.efi.canTouchEfiVariables = true;
5454+5455 # we're not using the TPM at the moment
5556 systemd.tpm2.enable = false;
5657 boot.initrd.systemd.tpm2.enable = false;
···9697 live-restore = true;
9798 };
9899 };
100100+101101+ # agenix stuff
102102+ age.reky.hostPubkey = with import ../../shared/ssh-keys.nix; hosts.stellapent-cier;
99103}
+3
hosts/stellapent-cier/configuration.nix
···116116 # Some programs need SUID wrappers, can be configured further or are
117117 # started in user sessions.
118118 programs.mtr.enable = true;
119119+120120+ # agenix stuff
121121+ age.reky.hostPubkey = with import ../../shared/ssh-keys.nix; hosts.stellapent-cier;
119122}
+29
shared/agenix.nix
···11+# This is my agenix setup for all things SecretOps on my NixOS and home-manager
22+# configurations.
33+{ lib, pkgs, config, self, ... }:
44+55+let
66+ pubkeys = import ../shared/ssh-keys.nix;
77+88+ # the you do you part
99+ main = pubkeys.personal.y2022;
1010+ work = pubkeys.work.recaptime-dev.crew;
1111+ hackclub_yk = pubkeys.fido2Keys.hackclub_yubikey;
1212+in
1313+{
1414+ age.rekey = {
1515+ # Master identity - private key used for decryption (must exist on machine running rekey)
1616+ masterIdentities = [
1717+ main
1818+ work
1919+ hackclub_yk.main
2020+ ];
2121+2222+ # Store rekeyed secrets locally per-host
2323+ storageMode = "local";
2424+ localStorageDir = lib.mkDefault (self + "/secrets/rekeyed/${config.networking.hostName}");
2525+2626+ # Host pubkey must be set per-host in configurations/nixos/<host>/default.nix:
2727+ # age.rekey.hostPubkey = "ssh-ed25519 AAAA...";
2828+ };
2929+}
+1
shared/meta.nix
···2222 ./vscode/main.nix
2323 ./server/ssh.nix
2424 ./server/tailscale.nix
2525+ ./agenix.nix
2526 ];
26272728 # and then the base packages itself
+7-5
shared/networking.nix
···1212 "45.90.30.0#c393f6.dns.nextdns.io"
1313 ];
14141515- services.resolved = {
1616- enable = true;
1717- dnssec = "false"; # https://superuser.com/a/1493674
1515+ # systemd-resolved related settings
1616+ boot.initrd.services.resolved.enable = true;
1717+ services.resolved.enable = true;
1818+ services.resolved.settings.Resolve = {
1919+ DNSSEC = "false"; # https://superuser.com/a/1493674
1820 # Commented this out since Tailscale do thee heavy work for MagicDNS
1921 #domains = [ "~." "fawn-cod.ts.net" ];
2022 # Use Cloudflare DNS resolver as fallback if things go wrong.
2121- fallbackDns = [
2323+ FallbackDNS = [
2224 "172.64.36.1#y24o2ptvff.cloudflare-gateway.com"
2325 ];
2424- dnsovertls = "true";
2626+ DNSOverTLS = "true";
2527 };
26282729 networking.networkmanager.wifi.powersave = false;