Alisa/nix/infra/users/root.nix
2024-07-11 20:23:04 +02:00

88 lines
2.1 KiB
Nix

{ pkgs, config, ... }:
let
name = "root";
home = config.home-manager.users.${name};
user = config.users.users.${name};
in
{
users.users = {
${name} = {
shell = pkgs.nushell;
};
};
home-manager.users.${name} = {
home = {
username = user.name;
homeDirectory = user.home;
stateVersion = config.system.stateVersion;
};
programs = {
nushell = {
enable = true;
};
carapace.enable = true;
carapace.enableNushellIntegration = true;
starship = {
enable = true;
settings = {
add_newline = true;
character = {
success_symbol = "[](bold green)";
error_symbol = "[](bold red)";
};
};
};
direnv = {
enable = true;
nix-direnv.enable = true;
};
neovim = {
enable = true;
defaultEditor = true;
};
git = {
enable = true;
package = pkgs.git;
userEmail = "root@alisa";
userName = "root";
extraConfig = {
core = {
whitespace = [
"blank-at-eol"
"blank-at-eof"
"space-before-tab"
];
};
};
};
};
xdg = {
enable = true;
mime.enable = true;
cacheHome = "${home.home.homeDirectory}/.cache";
configHome = "${home.home.homeDirectory}/.config";
dataHome = "${home.home.homeDirectory}/.local/share";
stateHome = "${home.home.homeDirectory}/.local/state";
userDirs = {
enable = true;
createDirectories = true;
desktop = "${home.home.homeDirectory}/Desktop";
documents = "${home.home.homeDirectory}/Documents";
download = "${home.home.homeDirectory}/Downloads";
music = "${home.home.homeDirectory}/Music";
pictures = "${home.home.homeDirectory}/Pictures";
publicShare = "${home.home.homeDirectory}/Public";
templates = "${home.home.homeDirectory}/Templates";
videos = "${home.home.homeDirectory}/Videos";
};
};
};
}