summary refs log tree commit diff stats
path: root/user/settings/base.nix
blob: 49ff04bf2e19143d408f6bd61a815549a97bbc5a (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
84
85
86
87
88
89
90
{ config
, lib
, pkgs
, ...
}: {
  imports = [
    ./neovim.nix
    ./shell.nix
  ];
  # Let Home Manager install and manage itself.
  programs.home-manager.enable = true;
  manual = {
    html.enable = true;
  };
  home.sessionVariables = {
    EMAIL = "alan@alanpearce.eu";
    MANPAGER = "sh -c 'col -bx | bat -l man -p'";
  };
  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";
  };

  home.shellAliases = {
    make = "remake";
  };
  programs.htop = {
    enable = true;
    settings = {
      header_margin = 0;
      tree_view = 1;
      hide_kernel_threads = 1;
      hide_userland_threads = 1;
    };
  };
  programs.bat = {
    enable = true;
    extraPackages = with pkgs.bat-extras; [
      batdiff
      batman
      batgrep
      batpipe
    ];
    config = {
      theme = "gruvbox-light";
    };
  };
  programs.nix-index-database.comma.enable = true;
  programs.ripgrep = {
    enable = true;
    package = pkgs.ripgrep.override { withPCRE2 = true; };
    arguments = [
      "--smart-case"
    ];
  };
  home.packages = with pkgs;
    [
      pv
      fd
      sd
      knot-dns
      dateutils
      moreutils
      mtr
      gping
      tree
      remake
      abduco
      dvtm
      tere
      (aspellWithDicts (d: [ d.en d.en-computers d.en-science d.de ]))
    ]
    ++ (
      if !stdenv.isDarwin
      then [
        file
        lsof
        unar
        zip
      ]
      else [
      ]
    );
}