aboutsummaryrefslogtreecommitdiff
path: root/share/home/default.nix
blob: 8e2fa08f0a0f61afad4b30eeba4793b8b18c5e84 (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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# Minimal home configuration containing everything that I want on all of
# my machines
{ pkgs, config, ... }: {
  imports = [ ./helix.nix ./zsh.nix ];

  home.packages = with pkgs; [
    xclip
    wget
    hunspell
    hunspellDicts.en_US
    hunspellDicts.hr_HR
    ripgrep
    git
    age
    gnupg
    xh
    fd
    sd
    bc # CLI calculator
    ffmpeg
    amfora # Gemini CLI browser
    trashy # Trash CLI 
    git-annex
    git-remote-gcrypt

    # tools for dealing with all sorts archives
    atool
    unzip
    gnutar

    # Useful nix tooling
    nix-tree
  ];

  programs.direnv = {
    enable = true;
    nix-direnv.enable = true;
  };

  xdg = {
    enable = true;
    systemDirs.data =
      let
        gds = pkgs.gsettings-desktop-schemas;
        gtk3 = pkgs.gtk3;
      in
      [
        "${gds}/share/gsettings-schemas/${gds.name}"
        "${gtk3}/share/gsettings-schemas/${gtk3.name}"
      ];
    userDirs = {
      enable = true;
      createDirectories = true;
    };
  };

  # Lots of these are courtesy of xdg-ninja
  # https://github.com/b3nj5m1n/xdg-ninja
  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";
    # shell
    HISTFILE = "${stateHome}/shell/history";
    ZDOTDIR = "${configHome}/zsh";
  };
}