nixos-dots

nixos dots
git clone git://popovic.xyz/nixos-dots.git
Log | Files | Refs

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 }