Add custom impermanence module
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
@@ -1,92 +1,97 @@
|
||||
{ config, ... }:
|
||||
let
|
||||
username = "nick";
|
||||
userConfig = config.users.users.${username};
|
||||
hmConfig = config.home-manager.users.${username};
|
||||
# https://github.com/NixOS/nixpkgs/issues/24570
|
||||
# https://github.com/NixOS/nixpkgs/issues/305643
|
||||
user = "nick";
|
||||
home = "/home/nick";
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
../common/user/configs/options.nix
|
||||
(import ../common/user/configs/console/android { inherit username; })
|
||||
(import ../common/user/configs/console/bluetooth { inherit username; })
|
||||
(import ../common/user/configs/console/brightnessctl { inherit username; })
|
||||
(import ../common/user/configs/console/btop { inherit username; })
|
||||
(import ../common/user/configs/console/docker { inherit username; })
|
||||
(import ../common/user/configs/console/fastfetch { inherit username; })
|
||||
(import ../common/user/configs/console/ffmpeg { inherit username; })
|
||||
(import ../common/user/configs/console/git { inherit username; })
|
||||
(import ../common/user/configs/console/gpg-agent { inherit username; })
|
||||
(import ../common/user/configs/console/home-manager { inherit username; })
|
||||
(import ../common/user/configs/console/imagemagick { inherit username; })
|
||||
(import ../common/user/configs/console/ncdu { inherit username; })
|
||||
(import ../common/user/configs/console/neovim { inherit username; })
|
||||
(import ../common/user/configs/console/nixpkgs { inherit username; })
|
||||
(import ../common/user/configs/console/pipewire { inherit username; })
|
||||
(import ../common/user/configs/console/ranger { inherit username; })
|
||||
(import ../common/user/configs/console/sops { inherit username; })
|
||||
(import ../common/user/configs/console/syncthing { inherit username; })
|
||||
(import ../common/user/configs/console/tmux { inherit username; })
|
||||
(import ../common/user/configs/console/tree { inherit username; })
|
||||
(import ../common/user/configs/console/wget { inherit username; })
|
||||
(import ../common/user/configs/console/xdg { inherit username; })
|
||||
(import ../common/user/configs/console/zsh { inherit username; })
|
||||
(import ../common/user/configs/gui/ags { inherit username; })
|
||||
(import ../common/user/configs/gui/bluetooth { inherit username; })
|
||||
(import ../common/user/configs/gui/brightnessctl { inherit username; })
|
||||
(import ../common/user/configs/gui/btop { inherit username; })
|
||||
# (import ../common/user/configs/gui/cbatticon { inherit username; })
|
||||
(import ../common/user/configs/gui/chromium { inherit username; })
|
||||
(import ../common/user/configs/gui/cliphist { inherit username; })
|
||||
(import ../common/user/configs/gui/firefox { inherit username; })
|
||||
(import ../common/user/configs/gui/gtk { inherit username; })
|
||||
(import ../common/user/configs/gui/hyprland { inherit username; })
|
||||
(import ../common/user/configs/gui/hyprshot { inherit username; })
|
||||
(import ../common/user/configs/gui/kitty { inherit username; })
|
||||
(import ../common/user/configs/gui/libreoffice { inherit username; })
|
||||
(import ../common/user/configs/gui/networking { inherit username; })
|
||||
(import ../common/user/configs/gui/obsidian { inherit username; })
|
||||
(import ../common/user/configs/gui/pipewire { inherit username; })
|
||||
(import ../common/user/configs/gui/qalculate { inherit username; })
|
||||
(import ../common/user/configs/gui/qt { inherit username; })
|
||||
(import ../common/user/configs/gui/rofi { inherit username; })
|
||||
(import ../common/user/configs/gui/spicetify { inherit username; })
|
||||
(import ../common/user/configs/gui/swww { inherit username; })
|
||||
(import ../common/user/configs/gui/theme { inherit username; })
|
||||
(import ../common/user/configs/gui/vscode { inherit username; })
|
||||
(import ../common/user/configs/gui/wev { inherit username; })
|
||||
(import ../common/user/configs/gui/x11 { inherit username; })
|
||||
(import ../common/user/configs/console/android { inherit user home; })
|
||||
(import ../common/user/configs/console/bluetooth { inherit user home; })
|
||||
(import ../common/user/configs/console/brightnessctl { inherit user home; })
|
||||
(import ../common/user/configs/console/btop { inherit user home; })
|
||||
(import ../common/user/configs/console/docker { inherit user home; })
|
||||
(import ../common/user/configs/console/fastfetch { inherit user home; })
|
||||
(import ../common/user/configs/console/ffmpeg { inherit user home; })
|
||||
(import ../common/user/configs/console/git { inherit user home; })
|
||||
(import ../common/user/configs/console/gpg-agent { inherit user home; })
|
||||
(import ../common/user/configs/console/home-manager { inherit user home; })
|
||||
(import ../common/user/configs/console/imagemagick { inherit user home; })
|
||||
(import ../common/user/configs/console/ncdu { inherit user home; })
|
||||
(import ../common/user/configs/console/neovim { inherit user home; })
|
||||
(import ../common/user/configs/console/nixpkgs { inherit user home; })
|
||||
(import ../common/user/configs/console/pipewire { inherit user home; })
|
||||
(import ../common/user/configs/console/ranger { inherit user home; })
|
||||
(import ../common/user/configs/console/sops { inherit user home; })
|
||||
(import ../common/user/configs/console/syncthing { inherit user home; })
|
||||
(import ../common/user/configs/console/tmux { inherit user home; })
|
||||
(import ../common/user/configs/console/tree { inherit user home; })
|
||||
(import ../common/user/configs/console/wget { inherit user home; })
|
||||
(import ../common/user/configs/console/xdg { inherit user home; })
|
||||
(import ../common/user/configs/console/zsh { inherit user home; })
|
||||
(import ../common/user/configs/gui/ags { inherit user home; })
|
||||
(import ../common/user/configs/gui/bluetooth { inherit user home; })
|
||||
(import ../common/user/configs/gui/brightnessctl { inherit user home; })
|
||||
(import ../common/user/configs/gui/btop { inherit user home; })
|
||||
(import ../common/user/configs/gui/chromium { inherit user home; })
|
||||
(import ../common/user/configs/gui/cliphist { inherit user home; })
|
||||
(import ../common/user/configs/gui/firefox { inherit user home; })
|
||||
(import ../common/user/configs/gui/gtk { inherit user home; })
|
||||
(import ../common/user/configs/gui/hyprland { inherit user home; })
|
||||
(import ../common/user/configs/gui/hyprshot { inherit user home; })
|
||||
(import ../common/user/configs/gui/kitty { inherit user home; })
|
||||
(import ../common/user/configs/gui/libreoffice { inherit user home; })
|
||||
(import ../common/user/configs/gui/networking { inherit user home; })
|
||||
(import ../common/user/configs/gui/obsidian { inherit user home; })
|
||||
(import ../common/user/configs/gui/pipewire { inherit user home; })
|
||||
(import ../common/user/configs/gui/qalculate { inherit user home; })
|
||||
(import ../common/user/configs/gui/qt { inherit user home; })
|
||||
(import ../common/user/configs/gui/rofi { inherit user home; })
|
||||
(import ../common/user/configs/gui/spicetify { inherit user home; })
|
||||
(import ../common/user/configs/gui/swww { inherit user home; })
|
||||
(import ../common/user/configs/gui/theme { inherit user home; })
|
||||
(import ../common/user/configs/gui/vscode { inherit user home; })
|
||||
(import ../common/user/configs/gui/wev { inherit user home; })
|
||||
(import ../common/user/configs/gui/x11 { inherit user home; })
|
||||
];
|
||||
|
||||
sops.secrets."${username}-password" = {
|
||||
sopsFile = ../../users/${username}/secrets/secrets.yaml;
|
||||
sops.secrets."${user}-password" = {
|
||||
sopsFile = ../../users/${user}/secrets/secrets.yaml;
|
||||
key = "password";
|
||||
neededForUsers = true;
|
||||
};
|
||||
|
||||
users.users.${username} = {
|
||||
users.users.${user} = {
|
||||
inherit home;
|
||||
isNormalUser = true;
|
||||
email = "nick@karaolidis.com";
|
||||
fullName = "Nikolaos Karaolidis";
|
||||
description = userConfig.fullName;
|
||||
hashedPasswordFile = config.sops.secrets."${username}-password".path;
|
||||
description = "Nikolaos Karaolidis";
|
||||
hashedPasswordFile = config.sops.secrets."${user}-password".path;
|
||||
extraGroups = [ "wheel" ];
|
||||
linger = true;
|
||||
uid = 1000;
|
||||
};
|
||||
|
||||
services.getty.autologinUser = userConfig.name;
|
||||
services.getty.autologinUser = user;
|
||||
|
||||
home-manager.users.${username} = {
|
||||
home.homeDirectory = userConfig.home;
|
||||
sops.defaultSopsFile = ../../users/${username}/secrets/secrets.yaml;
|
||||
theme.wallpaper = ../../users/${username}/secrets/wallpapers/clouds.png;
|
||||
home-manager.users.${user} = {
|
||||
home = {
|
||||
username = user;
|
||||
homeDirectory = home;
|
||||
};
|
||||
|
||||
programs.obsidian.vaults."${hmConfig.xdg.userDirs.relativeDocuments}/Obsidian/master".enable = true;
|
||||
sops.defaultSopsFile = ../../users/${user}/secrets/secrets.yaml;
|
||||
theme.wallpaper = ../../users/${user}/secrets/wallpapers/clouds.png;
|
||||
|
||||
programs.obsidian.vaults."Documents/Obsidian/master".enable = true;
|
||||
|
||||
services.syncthing.settings.folders = {
|
||||
obsidian = {
|
||||
label = "Obsidian";
|
||||
path = "${hmConfig.xdg.userDirs.documents}/Obsidian";
|
||||
path = "Documents/Obsidian";
|
||||
devices = [
|
||||
"amalthea"
|
||||
"ganymede"
|
||||
@@ -94,7 +99,7 @@ in
|
||||
};
|
||||
official = {
|
||||
label = "Official";
|
||||
path = "${hmConfig.xdg.userDirs.documents}/Official";
|
||||
path = "Documents/Official";
|
||||
devices = [
|
||||
"amalthea"
|
||||
"ganymede"
|
||||
@@ -102,6 +107,6 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
home.file."${hmConfig.xdg.userDirs.documents}/Obsidian/.stignore".source = ../common/user/configs/gui/obsidian/config/.stignore;
|
||||
home.file."Documents/Obsidian/.stignore".source = ../common/user/configs/gui/obsidian/config/.stignore;
|
||||
};
|
||||
}
|
||||
|
Reference in New Issue
Block a user