Avoid possible infinite recursion

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2024-07-16 17:46:58 +03:00
parent df781012fd
commit 566b4e0157
38 changed files with 216 additions and 187 deletions

View File

@@ -1,72 +1,73 @@
{ config, ... }:
let
user = config.users.users.nick;
hmConfig = config.home-manager.users.${user.name};
username = "nick";
userConfig = config.users.users.${username};
hmConfig = config.home-manager.users.${username};
in
{
imports = [
../common/user/configs/options.nix
(import ../common/user/configs/console/bluetooth { inherit user; })
(import ../common/user/configs/console/brightnessctl { inherit user; })
(import ../common/user/configs/console/btop { inherit user; })
(import ../common/user/configs/console/git { inherit user; })
(import ../common/user/configs/console/gpg-agent { inherit user; })
(import ../common/user/configs/console/home-manager { inherit user; })
(import ../common/user/configs/console/neovim { inherit user; })
(import ../common/user/configs/console/persist { inherit user; })
(import ../common/user/configs/console/pipewire { inherit user; })
(import ../common/user/configs/console/sops { inherit user; })
(import ../common/user/configs/console/syncthing { inherit user; })
(import ../common/user/configs/console/xdg { inherit user; })
(import ../common/user/configs/console/zsh { inherit user; })
(import ../common/user/configs/gui/ags { inherit user; })
(import ../common/user/configs/gui/bluetooth { inherit user; })
(import ../common/user/configs/gui/brightnessctl { inherit user; })
(import ../common/user/configs/gui/btop { inherit user; })
# (import ../common/user/configs/gui/cbatticon { inherit user; })
(import ../common/user/configs/gui/cliphist { inherit user; })
(import ../common/user/configs/gui/firefox { inherit user; })
(import ../common/user/configs/gui/gtk { inherit user; })
(import ../common/user/configs/gui/hyprland { inherit user; })
(import ../common/user/configs/gui/hyprshot { inherit user; })
(import ../common/user/configs/gui/kitty { inherit user; })
(import ../common/user/configs/gui/matugen { inherit user; })
(import ../common/user/configs/gui/networking { inherit user; })
(import ../common/user/configs/gui/obsidian { inherit user; })
(import ../common/user/configs/gui/pipewire { inherit user; })
(import ../common/user/configs/gui/qalculate { inherit user; })
(import ../common/user/configs/gui/qt { inherit user; })
(import ../common/user/configs/gui/rofi { inherit user; })
(import ../common/user/configs/gui/swww { inherit user; })
(import ../common/user/configs/gui/theme { inherit user; })
(import ../common/user/configs/gui/vscode { inherit user; })
(import ../common/user/configs/gui/wev { inherit user; })
(import ../common/user/configs/gui/x11 { inherit user; })
(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/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/neovim { inherit username; })
(import ../common/user/configs/console/persist { inherit username; })
(import ../common/user/configs/console/pipewire { inherit username; })
(import ../common/user/configs/console/sops { inherit username; })
(import ../common/user/configs/console/syncthing { 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/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/matugen { 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/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; })
];
sops.secrets.nick-password = {
sopsFile = ../../users/nick/secrets/secrets.yaml;
sops.secrets."${username}-password" = {
sopsFile = ../../users/${username}/secrets/secrets.yaml;
key = "password";
neededForUsers = true;
};
users.users.nick = {
users.users.${username} = {
isNormalUser = true;
email = "nick@karaolidis.com";
fullName = "Nikolaos Karaolidis";
description = user.fullName;
hashedPasswordFile = config.sops.secrets.nick-password.path;
description = userConfig.fullName;
hashedPasswordFile = config.sops.secrets."${username}-password".path;
extraGroups = [ "wheel" ];
linger = true;
uid = 1000;
};
services.getty.autologinUser = user.name;
services.getty.autologinUser = userConfig.name;
home-manager.users.${user.name} = {
home.homeDirectory = user.home;
sops.defaultSopsFile = ../../users/nick/secrets/secrets.yaml;
theme.wallpaper = ../../users/nick/secrets/wallpapers/clouds.png;
home-manager.users.${username} = {
home.homeDirectory = userConfig.home;
sops.defaultSopsFile = ../../users/${username}/secrets/secrets.yaml;
theme.wallpaper = ../../users/${username}/secrets/wallpapers/clouds.png;
services.syncthing.settings.folders = {
obsidian = {