refactor: reduce duplication and improve consistency across hosts
- Centralize home-manager _module.args in profiles/nixos.nix via sharedModules - Add lib/secrets.nix with mkSyncthingSecrets helper for DRY secret definitions - Move syncthing device IDs to lib/constants.nix - Standardize hostname handling (Darwin hosts now use hostname arg) - Add missing networking.hostName to tahani - Fix redundant string interpolations
This commit is contained in:
@@ -11,4 +11,10 @@
|
||||
nixos = "25.11";
|
||||
homeManager = "25.11";
|
||||
};
|
||||
|
||||
syncthingDeviceIds = {
|
||||
tahani = "6B7OZZF-TEAMUGO-FBOELXP-Z4OY7EU-5ZHLB5T-V6Z3UDB-Q2DYR43-QBYW6QM";
|
||||
jason = "42II2VO-QYPJG26-ZS3MB2I-AOPVZ67-JJNSE76-U54CO5Y-634A5OG-ECU4YQA";
|
||||
chidi = "N7W6SUT-QO6J4BE-T3Y65SM-OFGYGNV-TGYBJPX-JVN4Z72-AENZ247-KWXOQA6";
|
||||
};
|
||||
}
|
||||
|
||||
25
lib/secrets.nix
Normal file
25
lib/secrets.nix
Normal file
@@ -0,0 +1,25 @@
|
||||
{
|
||||
mkSyncthingSecrets = {
|
||||
hostname,
|
||||
user,
|
||||
isDarwin,
|
||||
}: let
|
||||
homeDir =
|
||||
if isDarwin
|
||||
then "/Users/${user}"
|
||||
else "/home/${user}";
|
||||
in {
|
||||
"${hostname}-syncthing-cert" = {
|
||||
sopsFile = ../secrets/${hostname}-syncthing-cert;
|
||||
format = "binary";
|
||||
owner = user;
|
||||
path = "${homeDir}/.config/syncthing/cert.pem";
|
||||
};
|
||||
"${hostname}-syncthing-key" = {
|
||||
sopsFile = ../secrets/${hostname}-syncthing-key;
|
||||
format = "binary";
|
||||
owner = user;
|
||||
path = "${homeDir}/.config/syncthing/key.pem";
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user