aboutsummaryrefslogtreecommitdiff
path: root/share/home/minimal.nix
blob: e78862d607b565495d73c503a3e629a0fe62305c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# 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";
  };
}