# This module contains a bunch of things that make up a minimal environment that # I want on ALL of my machines. { pkgs, config, ... }: { home.packages = with pkgs; [ curl git age gnupg neovim # Modern unix ripgrep # grep fd # find sd # sed dua # du ]; xdg.enable = true; home.shellAliases = { ip = ''ip --color=auto''; tempdir = "cd $(mktemp -d)"; }; # Lots of these are courtesy of xdg-ninja # https://github.com/b3nj5m1n/xdg-ninja # # Even though these tools may or may not be installed on any particular system # having these variables here is a preventative measure to make sure that # $HOME doesn't get polluted home.sessionVariables = with config.xdg; { CARGO_HOME = "${dataHome}/cargo"; GOPATH = "${dataHome}/go"; WINEPREFIX = "${dataHome}/wine"; XCOMPOSECACHE = "${cacheHome}/X11/xcompose"; GTK2_RC_FILES = "${configHome}/gtk-2.0/gtkrc"; NODE_REPL_HISTORY = "${dataHome}/node_repl_history"; NPM_CONFIG_USERCONFIG = "${configHome}/npm/npmrc"; W3M_DIR = "${dataHome}/w3m"; RENPY_PATH_TO_SAVES = "${dataHome}"; PSQL_HISTORY = "${dataHome}/psql_history"; _JAVA_OPTIONS = ''-Djava.util.prefs.userRoot=${configHome}/java''; OMNISHARPHOME = "${configHome}/omnisharp"; DOTNET_CLI_HOME = "${dataHome}/dotnet"; # shell HISTFILE = "${stateHome}/shell/history"; ZDOTDIR = "${configHome}/zsh"; }; }