-
Notifications
You must be signed in to change notification settings - Fork 0
/
desktop.nix
172 lines (159 loc) · 3.75 KB
/
desktop.nix
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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
{ config, pkgs, nixpkgs, options, lib, ... }:
{
imports = [ ./standard.nix ./dev.nix ];
environment.systemPackages = with pkgs; [
gkrellm
gnupg
wireshark # openssh_with_kerberos
kismet
xscreensaver
rxvt-unicode
terminus_font
geeqie
mplayer
vlc
mpv
xorg.xinit
xorg.xdpyinfo
xorg.xbacklight
xorg.xdriinfo
xorg.xev
xorg.xmodmap
xfontsel
x2x
barrier # Fancier x2x / fork of Synergy
xcompmgr
read-edid
edid-decode
xrestop
glxinfo
xclip
xdotool
chromium
#firefox #google-chrome # chromiumDev
notmuch
offlineimap
msmtp
muchsync
lieer
evince
gphoto2
gphoto2fs
gthumb
digikam
darktable
imagemagick
obs-studio # Screen recorder
gnumeric
abiword
libmtp # Transfer files from Android over MTP
# pdfmod gnome3.gconf # hack: pdfmod needed gconf, but was later broken anyway
gimp-with-plugins
inkscape
# enlightenment.rage enlightenment.terminology
trayer
haskellPackages.xmobar # TODO: Remove after fully switching to taffybar.
# taffybar Broken in unstable :(
audacity
exif
# exiftags # CVE-2023-50671, CVE-2024-42851
keepassxc
(pass.withExtensions (ext: with ext; [ pass-import pass-otp ]))
browserpass
bitwarden
bitwarden-cli
# androidsdk TODO: Where'd it go?
graphviz
sshfs-fuse
ansible
colmena
lsdvd
cdrkit
dvdplusrwtools
dvdbackup # Tool to backup DVDs
yt-dlp
signal-desktop
element-desktop
(pidgin.override {
plugins = [ purple-plugin-pack ];
})
# jitsi # video conferencing alternative to Hangouts / Zoom
tetex
ghostscriptX
rclone
google-drive-ocamlfuse
# For getting pulseaudio to do something sane with sound https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/DefaultDevice/
pavucontrol
];
nixpkgs.config.android_sdk.accept_license = true;
services.displayManager.defaultSession = "none+xmonad";
services.xserver = {
enable = true;
enableCtrlAltBackspace = true;
displayManager.startx.enable = true;
windowManager = {
xmonad = {
enable = true;
enableContribAndExtras = true;
# extraPackages = p: [ p.taffybar ];
};
};
logFile = null; # use default instead of /dev/null
};
programs.browserpass.enable = true;
programs.firefox.enable = true;
programs.gnupg.agent = {
enable = true;
pinentryPackage = pkgs.pinentry-qt;
};
programs.ssh.startAgent = true;
programs.sway = {
enable = true;
extraPackages = with pkgs; [
dmenu # Launcher (mod-X)
waybar
swayidle
swaylock-effects # swaylock with more features
alacritty
foot
xwayland
wev
grim
wl-clipboard
slurp
wf-recorder
mako
libnotify # for notify-send
];
};
# Firefox 72 broke ALSA support. :(
services.pipewire = {
enable = true;
alsa.enable = true;
jack.enable = true;
pulse.enable = true;
};
fonts = {
enableGhostscriptFonts = true;
enableDefaultPackages = true;
fontDir.enable = true;
packages = with pkgs; [
terminus_font # For urxvt / xterm
font-awesome # For waybar
];
};
# Options for nixos-rebuild build-vm
# (The default 384MB RAM is not enough to run Firefox)
virtualisation =
lib.optionalAttrs (builtins.hasAttr "qemu" options.virtualisation) {
memorySize = 4096;
cores = 4;
# qemu.options = [ "-soundhw ac97" ];
};
# Needed by nixops. https://github.com/NixOS/nixops/issues/1242
nixpkgs.config.permittedInsecurePackages = [
"python2.7-cryptography-2.9.2"
"python3.10-certifi-2022.9.24"
"python3.10-certifi-2022.12.7"
];
}