From cda9a02a629a9b11d277e432515397e833cea90d Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 21 Aug 2023 18:40:42 +0200 Subject: [PATCH] Configure root --- flake.nix | 2 + modules/users/root/default.nix | 13 ++++++ modules/users/root/home.nix | 83 ++++++++++++++++++++++++++++++++++ 3 files changed, 98 insertions(+) create mode 100644 modules/users/root/default.nix create mode 100644 modules/users/root/home.nix diff --git a/flake.nix b/flake.nix index 280d9d9..459a60b 100644 --- a/flake.nix +++ b/flake.nix @@ -54,6 +54,7 @@ ./modules/minecraft-server ./modules/editor ./modules/users/jopejoe1 + ./modules/users/root ./overlays nixos-hardware.nixosModules.common-cpu-intel nixos-hardware.nixosModules.common-gpu-intel @@ -78,6 +79,7 @@ ./modules/printing #./modules/ssh ./modules/users/jopejoe1 + ./modules/users/root ./overlays nixos-hardware.nixosModules.pine64-pinebook-pro nur.nixosModules.nur diff --git a/modules/users/root/default.nix b/modules/users/root/default.nix new file mode 100644 index 0000000..b349ff6 --- /dev/null +++ b/modules/users/root/default.nix @@ -0,0 +1,13 @@ +{ ... }: + +{ + imports = [ + ./home.nix + ]; + + users.users.root = { + description = "root"; + initialPassword = "password"; + }; +} + diff --git a/modules/users/root/home.nix b/modules/users/root/home.nix new file mode 100644 index 0000000..52012d4 --- /dev/null +++ b/modules/users/root/home.nix @@ -0,0 +1,83 @@ +{ config, pkgs, ... }: + +let hcfg = config.home-manager.users.root; +in { + home-manager.users.root = { + home = { + # Basic information for home-manager + username = "root"; + homeDirectory = "/${hcfg.home.username}"; + + # Enviroment variables + sessionVariables = { + XCOMPOSECACHE = "${hcfg.xdg.cacheHome}/X11/xcompos"; + XAUTHORITY = "$XDG_RUNTIME_DIR/Xauthority"; + ANDROID_HOME = "${hcfg.xdg.dataHome}/android"; + CUDA_CACHE_PATH = "${hcfg.xdg.cacheHome}/nv"; + GRADLE_USER_HOME = "${hcfg.xdg.dataHome}/gradle"; + KODI_DATA = "${hcfg.xdg.dataHome}/kodi"; + _JAVA_OPTIONS = "-Djava.util.prefs.userRoot=${hcfg.xdg.configHome}/java"; + WINEPREFIX = "${hcfg.xdg.dataHome}/wine"; + }; + + stateVersion = config.system.stateVersion; + }; + + accounts.email.accounts = { + main = { + address = "johannes@joens.email"; + flavor = "gmail.com"; + primary = true; + realName = "Johannes Joens"; + thunderbird.enable = true; + }; + }; + + # XDG base dirs + xdg = { + enable = true; + mime.enable = true; + cacheHome = "${hcfg.home.homeDirectory}/.cache"; + configHome = "${hcfg.home.homeDirectory}/.config"; + dataHome = "${hcfg.home.homeDirectory}/.local/share"; + stateHome = "${hcfg.home.homeDirectory}/.local/state"; + userDirs = { + enable = true; + createDirectories = true; + desktop = "${hcfg.home.homeDirectory}/Desktop"; + documents = "${hcfg.home.homeDirectory}/Documents"; + download = "${hcfg.home.homeDirectory}/Downloads"; + music = "${hcfg.home.homeDirectory}/Music"; + pictures = "${hcfg.home.homeDirectory}/Pictures"; + publicShare = "${hcfg.home.homeDirectory}/Public"; + templates = "${hcfg.home.homeDirectory}/Templates"; + videos = "${hcfg.home.homeDirectory}/Videos"; + }; + }; + + programs = { + home-manager.enable = true; + git = { + enable = true; + package = pkgs.gitAndTools.gitFull; + userEmail = "johannes@joens.email"; + userName = "jopejoe1"; + }; + direnv = { + enable = true; + nix-direnv.enable = true; + }; + bash = { + enable = true; + historyFile = "${hcfg.xdg.stateHome}/bash/history"; + shellAliases = { + gc = "nix store gc"; + rb = "git -C /etc/nixos pull && nix flake update /etc/nixos/ && sudo nixos-rebuild switch --impure && git -C /etc/nixos add . && git -C /etc/nixos commit -m 'Updated flake.lock' && git -C /etc/nixos push"; + }; + }; + zsh.shellAliases = hcfg.programs.bash.shellAliases; + fish.shellAbbrs = hcfg.programs.bash.shellAliases; + + }; + }; +}