root.nix (1869B)
1 { 2 lib, 3 isDarwin ? false, 4 ... 5 }: 6 let 7 inherit (import ../modules/dotfiles.nix) dotfiles nvim-config; 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 mkNvimfileLink = path: { 38 source = config.lib.file.mkOutOfStoreSymlink "${nvim-config}"; 39 recursive = true; 40 force = true; 41 }; 42 in 43 { 44 # zsh no plugins 45 ".zshenv" = mkDotfileLink ".zshenv"; 46 ".config/zsh/.zshrc" = mkDotfileLink ".config/zsh/.zshrc"; 47 ".config/shell/bindings" = mkDotfileLink ".config/shell/bindings"; 48 ".config/shell/profile" = mkDotfileLink ".config/shell/profile"; 49 ".config/shell/aliases" = mkDotfileLink ".config/shell/aliases"; 50 ".config/git" = mkDotfileLink ".config/git"; 51 52 ".local/bin/.keep".text = ""; 53 54 # nvim no plugins 55 ".config/nvim/init.lua" = mkNvimfileLink ".config/nvim/init.lua"; 56 ".config/nvim/after" = mkNvimfileLink ".config/nvim/after"; 57 ".config/nvim/lua/config" = mkNvimfileLink ".config/nvim/lua/config"; 58 }; 59 } 60 // lib.optionalAttrs (!isDarwin) { 61 homeDirectory = "/root"; 62 }; 63 }; 64 }; 65 }