Add custom impermanence module

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2024-08-08 22:03:15 +03:00
parent 5e57d63a54
commit 22e0150a65
69 changed files with 777 additions and 494 deletions

View File

@@ -1,7 +1,8 @@
{
username ? throw "username argument is required",
user ? throw "user argument is required",
home ? throw "home argument is required",
}:
{ config, ... }:
{ config, utils, ... }:
{
networking.firewall = {
allowedTCPPorts = [ 22000 ];
@@ -14,17 +15,17 @@
sops.secrets = {
# openssl genpkey -algorithm RSA -out key.pem -pkeyopt rsa_keygen_bits:3072
"syncthing/key" = {
owner = username;
owner = user;
group = "users";
};
# openssl req -new -x509 -key key.pem -out cert.pem -days 9999 -subj "/CN=syncthing"
"syncthing/cert" = {
owner = username;
owner = user;
group = "users";
};
};
home-manager.users.${username} = {
home-manager.users.${user} = {
services.syncthing = {
enable = true;
key = config.sops.secrets."syncthing/key".path;
@@ -40,6 +41,9 @@
};
};
systemd.user.services.syncthing.Unit.After = [ "sops-nix.service" ];
systemd.user.services.syncthing.Unit.After = [
"sops-nix.service"
"local-fs.target"
];
};
}