blob: 6213e8ba50b8ddf09e0f3d4d5b0562fc87c80300 (
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
|
# Minimal home configuration containing everything that I want on all of
# my machines
{ pkgs, config, ... }: {
imports = [ ./helix.nix ./zsh.nix ];
home.packages = with pkgs; [
wget
git
age
gnupg
xh
# Modern unix
ripgrep # grep
fd # find
sd # sed
dua # du
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 =
let
home = config.home.homeDirectory;
in
{
enable = true;
createDirectories = true;
pictures = "${home}/Annex/Pictures";
music = "${home}/Annex/Music";
};
};
# 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";
};
}
|