Add syncthing base

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2024-07-08 15:56:42 +03:00
parent 47325206d0
commit 9dfbe1203d
103 changed files with 1285 additions and 951 deletions

View File

@@ -1,5 +1,9 @@
{ config, inputs, lib, ... }:
{
config,
inputs,
lib,
...
}:
let
users = lib.attrsets.filterAttrs (_: config: config.isNormalUser) config.users.users;
in
@@ -10,19 +14,17 @@ in
[
"d /persist/home 0755 root root -"
"d /cache/home 0755 root root -"
] ++
lib.attrsets.mapAttrsToList (user: config: "d /persist${config.home} 0700 ${user} users -") users ++
lib.attrsets.mapAttrsToList (user: config: "d /cache${config.home} 0700 ${user} users -") users
]
++ lib.attrsets.mapAttrsToList (user: config: "d /persist${config.home} 0700 ${user} users -") users
++ lib.attrsets.mapAttrsToList (user: config: "d /cache${config.home} 0700 ${user} users -") users
);
home-manager.users = lib.attrsets.mapAttrs
(user: config: ({
imports = [ inputs.impermanence.nixosModules.home-manager.impermanence ];
home-manager.users = lib.attrsets.mapAttrs (user: config: {
imports = [ inputs.impermanence.nixosModules.home-manager.impermanence ];
home.persistence = {
"/persist${config.home}".allowOther = true;
"/cache${config.home}".allowOther = true;
};
}))
users;
home.persistence = {
"/persist${config.home}".allowOther = true;
"/cache${config.home}".allowOther = true;
};
}) users;
}

View File

@@ -1,20 +1,22 @@
{ config, inputs, lib, ... }:
{
config,
inputs,
lib,
...
}:
let
users = lib.attrsets.filterAttrs (_: config: config.isNormalUser) config.users.users;
sopsKeyPath = ".config/sops-nix/key.txt";
in
{
home-manager.users = lib.attrsets.mapAttrs
(user: config: ({
imports = [ inputs.sops-nix.homeManagerModules.sops ];
home-manager.users = lib.attrsets.mapAttrs (user: config: {
imports = [ inputs.sops-nix.homeManagerModules.sops ];
sops.age.keyFile = "/persist${config.home}/${sopsKeyPath}";
sops.age.keyFile = "/persist${config.home}/${sopsKeyPath}";
home = {
persistence."/persist${config.home}".files = [ sopsKeyPath ];
sessionVariables.SOPS_AGE_KEY_FILE = "${config.home}/${sopsKeyPath}";
};
}))
users;
home = {
persistence."/persist${config.home}".files = [ sopsKeyPath ];
sessionVariables.SOPS_AGE_KEY_FILE = "${config.home}/${sopsKeyPath}";
};
}) users;
}

View File

@@ -1,35 +1,32 @@
{ config, lib, ... }:
let
users = lib.attrsets.filterAttrs (_: config: config.isNormalUser) config.users.users;
in
{
home-manager.users = lib.attrsets.mapAttrs
(user: cfg: ({
xdg = {
enable = true;
mimeApps.enable = true;
home-manager.users = lib.attrsets.mapAttrs (user: cfg: {
xdg = {
enable = true;
mimeApps.enable = true;
userDirs = {
enable = true;
extraConfig = {
XDG_VM_DIR = "${cfg.home}/VMs";
XDG_GIT_DIR = "${cfg.home}/git";
};
userDirs = {
enable = true;
extraConfig = {
XDG_VM_DIR = "${cfg.home}/VMs";
XDG_GIT_DIR = "${cfg.home}/git";
};
};
};
home.persistence."/persist${cfg.home}".directories = [
"Desktop" # userDirs.desktop
"Documents" # userDirs.documents
"Downloads" # userDirs.download
"Music" # userDirs.music
"Pictures" # userDirs.pictures
"Templates" # userDirs.templates
"Videos" # userDirs.videos
"VMs"
"git"
];
}))
users;
home.persistence."/persist${cfg.home}".directories = [
"Desktop" # userDirs.desktop
"Documents" # userDirs.documents
"Downloads" # userDirs.download
"Music" # userDirs.music
"Pictures" # userDirs.pictures
"Templates" # userDirs.templates
"Videos" # userDirs.videos
"VMs"
"git"
];
}) users;
}