{ config, flake, pkgs, ... }: let inherit (flake.config.people) user0; inherit (flake.config.people.user.${user0}) name git; hostname = config.networking.hostName; in { users = { users.${user0} = { description = name; isNormalUser = true; shell = pkgs.nushell; extraGroups = [ "adbusers" "caddy" "disk" "jellyfin" "libvirtd" "minecraft" "navidrome" "netdev" "networkmanager" "nextcloud" "ollama" "postgres" "redis-mastodon" "samba" "syncthing" "vaultwarden" "vboxusers" "wheel" ]; }; }; home-manager.users = { ${user0} = { home = { username = user0; homeDirectory = "/home/${user0}"; file = { "./justfile" = { source = ./files/justfile; }; "./Files/Scripts/list.sh" = { source = ./files/list.sh; executable = true; }; "./Files/Scripts/loop.sh" = { source = ./files/loop.sh; executable = true; }; }; sessionVariables = {}; }; imports = [ {home.stateVersion = config.system.stateVersion;} ( import ./configs/${hostname}.nix {flake = flake;} ) ]; }; }; systemd.tmpfiles = let directoriesAddedToHome = [ "Downloads/Nicotine" "Downloads/Nicotine/Downloads" "Downloads/Nicotine/Incomplete" "Downloads/Nicotine/Received" "Downloads/Qbittorent" "Downloads/Qbittorent/Movies" "Downloads/Qbittorent/Music" "Downloads/Qbittorent/Shows" "Files" "Files/Scripts" "Files/Games" ]; directoriesRemovedFromHome = [ "Desktop" "Documents" "Music" "Pictures" "Public" "Templates" "Videos" ]; in { rules = ["d ${git.path0} 0755 ${user0} users -"] ++ (map (path: "d /home/${user0}/${path} 0755 ${user0} users -") directoriesAddedToHome) ++ (map (path: "R /home/${user0}/${path} 0755 ${user0} users - -") directoriesRemovedFromHome); }; }