dotfiles/profiles/user0/default.nix

101 lines
2.2 KiB
Nix
Raw Normal View History

2024-10-06 15:25:05 -05:00
{
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 = {
"./.steam/steam/steam_dev.cfg" = {
source = ../../nixos/modules/steam/steam_dev.cfg;
};
"./justfile" = {
source = ./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
createDir = [
"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"
];
removeDir = [
"Desktop"
"Documents"
"Music"
"Pictures"
"Public"
"Templates"
"Videos"
];
in {
rules =
["d ${git.path0} 0755 ${user0} users -"]
++ (map (path: "d /home/${user0}/${path} 0755 ${user0} users -") createDir)
++ (map (path: "R /home/${user0}/${path} 0755 ${user0} users - -") removeDir);
};
}