root.nix (1655B)
1 { 2 lib, 3 isDarwin ? false, 4 ... 5 }: 6 let 7 inherit (import ../modules/dotfiles.nix) dotfiles; 8 in 9 { 10 environment.pathsToLink = 11 if (!isDarwin) then 12 [ 13 "/share/applications" 14 "/share/xdg-desktop-portal" 15 ] 16 else 17 [ ]; 18 19 home-manager = { 20 useGlobalPkgs = true; 21 useUserPackages = true; 22 23 users.root = 24 { pkgs, config, ... }: 25 { 26 27 home = { 28 username = "root"; 29 stateVersion = if isDarwin then "25.05" else "25.11"; 30 file = 31 let 32 mkDotfileLink = path: { 33 source = config.lib.file.mkOutOfStoreSymlink "${dotfiles}/${path}"; 34 recursive = true; 35 force = true; 36 }; 37 in 38 { 39 # zsh no plugins 40 ".zshenv" = mkDotfileLink ".zshenv"; 41 ".config/zsh/.zshrc" = mkDotfileLink ".config/zsh/.zshrc"; 42 ".config/shell/bindings" = mkDotfileLink ".config/shell/bindings"; 43 ".config/shell/profile" = mkDotfileLink ".config/shell/profile"; 44 ".config/shell/aliases" = mkDotfileLink ".config/shell/aliases"; 45 ".config/git" = mkDotfileLink ".config/git"; 46 47 ".local/bin/.keep".text = ""; 48 49 # nvim no plugins 50 ".config/nvim/init.lua" = mkDotfileLink ".config/nvim/init.lua"; 51 ".config/nvim/after" = mkDotfileLink ".config/nvim/after"; 52 ".config/nvim/lua/config" = mkDotfileLink ".config/nvim/lua/config"; 53 }; 54 } 55 // lib.optionalAttrs (!isDarwin) { 56 homeDirectory = "/root"; 57 }; 58 }; 59 }; 60 }