Add basic theme config

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2024-06-23 14:50:50 +03:00
parent 48f391e3ad
commit e7d328cab5
23 changed files with 554 additions and 188 deletions

View File

@@ -2,7 +2,8 @@
let
users = lib.attrsets.filterAttrs (name: config: config.isNormalUser) config.users.users;
in {
in
{
programs.fuse.userAllowOther = lib.mkIf (users != [ ]) true;
systemd.tmpfiles.rules = lib.mkIf (users != [ ]) (
@@ -14,12 +15,14 @@ in {
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

@@ -3,15 +3,18 @@
let
users = lib.attrsets.filterAttrs (name: 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 ];
in
{
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

@@ -2,43 +2,49 @@
let
users = lib.attrsets.filterAttrs (name: config: config.isNormalUser) config.users.users;
in {
home-manager.users = lib.attrsets.mapAttrs (user: cfg: (let
cacheHome = "${cfg.home}/.cache";
configHome = "${cfg.home}/.config";
dataHome = "${cfg.home}/.local/share";
stateHome = "${cfg.home}/.local/state";
xdgVmDir = "${cfg.home}/VMs";
xdgGitDir = "${cfg.home}/git";
in {
xdg = {
enable = true;
mimeApps.enable = true;
in
{
home-manager.users = lib.attrsets.mapAttrs
(user: cfg: (
let
cacheHome = "${cfg.home}/.cache";
configHome = "${cfg.home}/.config";
dataHome = "${cfg.home}/.local/share";
stateHome = "${cfg.home}/.local/state";
xdgVmDir = "${cfg.home}/VMs";
xdgGitDir = "${cfg.home}/git";
in
{
xdg = {
enable = true;
mimeApps.enable = true;
inherit cacheHome;
inherit configHome;
inherit dataHome;
inherit stateHome;
inherit cacheHome;
inherit configHome;
inherit dataHome;
inherit stateHome;
userDirs = {
enable = true;
extraConfig = {
XDG_VM_DIR = xdgVmDir;
XDG_GIT_DIR = xdgGitDir;
userDirs = {
enable = true;
extraConfig = {
XDG_VM_DIR = xdgVmDir;
XDG_GIT_DIR = xdgGitDir;
};
};
};
};
};
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" # xdgVmDir
"git" # xdgGitDir
];
})) 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" # xdgVmDir
"git" # xdgGitDir
];
}
))
users;
}