summary refs log tree commit diff stats
path: root/user/settings/base.nix
blob: 9f36dae06cdcf842aebcd23ef81a74afdcb525f9 (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
72
73
74
75
76
77
78
79
80
81
82
83
{ config
, pkgs
, ...
}: {
  imports = [
    ./neovim.nix
    ./shell.nix
  ];

  # Let Home Manager install and manage itself.
  programs.home-manager.enable = true;
  home.preferXdgDirectories = true;
  nix.settings.use-xdg-base-directories = true;
  home.shell = {
    enableShellIntegration = false;
  };
  home.sessionVariables =
    let
      conf = config.xdg.configHome;
      data = config.xdg.dataHome;
      cache = config.xdg.cacheHome;
      state = config.xdg.stateHome;
    in
    {
      EMAIL = "alan@alanpearce.eu";
      ABDUCO_SOCKET_DIR = "${state}/abduco";
      SOLARGRAPH_CACHE = "${cache}/solargraph";
      ELECTRUMDIR = "${data}/electrum";
      DOCKER_CONFIG = "${conf}/docker";
      npm_config_userconfig = "${conf}/npm/config";
      PASSWORD_STORE_HOME = "${data}/password-store";
      WGETRC = pkgs.writeText "wgetrc" ''
        hsts-file = ${cache}/wget-hsts
      '';
      SQLITE_HISTORY = "${data}/sqlite_history";
    };
  xdg = {
    enable = true;
    cacheHome =
      if pkgs.stdenv.isDarwin
      then "${config.home.homeDirectory}/Library/Caches/XDG"
      else "${config.home.homeDirectory}/.cache";
    configHome = "${config.home.homeDirectory}/.config";
    dataHome = "${config.home.homeDirectory}/.local/share";
    stateHome = "${config.home.homeDirectory}/.local/state";
  };

  programs.htop = {
    enable = true;
    settings = {
      header_margin = 0;
      tree_view = 1;
      hide_kernel_threads = 1;
      hide_userland_threads = 1;
    };
  };
  programs.ripgrep = {
    enable = true;
    arguments = [
      "--smart-case"
    ];
  };
  home.packages = with pkgs;
    [
      pv
      fd
      bfs
      sd
      knot-dns
      dateutils
      moreutils
      tree
      abduco
    ] ++ (
      if !stdenv.isDarwin
      then [
        file
        lsof
        unar
        zip
      ] else [ ]
    );
}