blob: 85b6a7053a6c0241e6f2eb768bdd474e4b83dede (
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
{ lib, config, pkgs, ... }:
{
home = {
activation.startup-files = lib.hm.dag.entryAfter [ "installPackages" ] ''
if [ ! -d "/home/${config.monorepo.vars.userName}/email/ret2pop/" ]; then
mkdir -p /home/${config.monorepo.vars.userName}/email/ret2pop/
fi
if [ ! -d "/home/${config.monorepo.vars.userName}/music" ]; then
mkdir -p /home/${config.monorepo.vars.userName}/music
fi
if [ ! -d /home/${config.monorepo.vars.userName}/org ]; then
mkdir -p /home/${config.monorepo.vars.userName}/org
fi
if [ ! -d /home/${config.monorepo.vars.userName}/src ]; then
mkdir -p /home/${config.monorepo.vars.userName}/src
fi
touch /home/${config.monorepo.vars.userName}/org/agenda.org
touch /home/${config.monorepo.vars.userName}/org/notes.org
'';
enableNixpkgsReleaseCheck = false;
username = config.monorepo.vars.userName;
homeDirectory = "/home/${config.monorepo.vars.userName}";
stateVersion = "24.11";
packages = with pkgs; (if config.monorepo.profiles.graphics.enable then [
# wikipedia
kiwix kiwix-tools
# passwords
age sops
# formatting
ghostscript texliveFull pandoc
# Emacs Deps
graphviz jq
# Apps
octaveFull vesktop grim swww vim
# Sound/media
pavucontrol alsa-utils imagemagick ffmpeg helvum
# Net
curl rsync git
# Tor
torsocks tor-browser
# fonts
noto-fonts noto-fonts-cjk-sans noto-fonts-emoji fira-code font-awesome_6
(aspellWithDicts
(dicts: with dicts; [ en en-computers en-science ]))
(nerdfonts.override { fonts = [ "Iosevka" ]; })
# Misc.
pinentry
x11_ssh_askpass
xdg-utils
acpilight
pfetch
libnotify
htop
(writeShellScriptBin "remote-build"
''
#!/bin/bash
nixos-rebuild --target-host "$1" switch --flake .#spontaneity
''
)
(writeShellScriptBin "install-vps"
''
#!/bin/bash
nix run github:nix-community/nixos-anywhere -- --generate-hardware-config nixos-generate-config ./systems/spontaneity/hardware-configuration.nix --flake .#spontaneity --target-host "$1"
'')
] else [
pfetch
# net
curl
torsocks
rsync
]);
};
services = {
gpg-agent = {
pinentryPackage = pkgs.pinentry-emacs;
enable = true;
extraConfig = ''
allow-emacs-pinentry
allow-loopback-pinentry
'';
};
};
programs.bash.enable = true;
gtk = {
enable = lib.mkDefault config.monorepo.profiles.graphics.enable;
theme = null;
iconTheme = null;
};
fonts.fontconfig.enable = true;
nixpkgs.config.cudaSupport = lib.mkDefault config.monorepo.profiles.cuda.enable;
}
|