-
Notifications
You must be signed in to change notification settings - Fork 1
/
packages.nix
173 lines (160 loc) · 4.94 KB
/
packages.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
173
{ pkgs, ... }:
let
python = import ./python.nix { inherit pkgs; };
rust = with pkgs; [
cargo # build system
rust-analyzer # LSP
rustfmt # formatter
clippy # linter
];
latex = with pkgs; [
texlive.combined.scheme-full
texlab # latex LSP
bibtex-tidy # bibtex file formatter
];
languages = with pkgs;
[
gap-full # compute algebra system
gcc
julia-bin
nil # nix LSP
nixfmt # nix formatter
taplo # TOML formatter
] ++ python ++ rust ++ latex;
console-utilities = with pkgs; [
bat # better 'cat': cat with wings
choose # better awk '{print $...}'
cmake
gnumake # build system
du-dust # better 'du', disk space analyzer
git # version control system
external.helix
vim # text editors
fd # better 'find'
fzf # command-line fuzzy finder
gnupg
pinentry-gtk2 # encryption tools
htop # process viewer
ispell # spell checker
jq # json parsing
killall # kill processes by name
mosh # better than ssh
external.nps # nix package search
pciutils
dmidecode # inspect hardware devices
pandoc # converter between markup formats
pdftk # pdf editor
pdf2svg # convert 'pdf' to 'svg'
poppler_utils # convert 'pdf' to 'png' with 'pdftoppm -png input.pdf output'
pulseaudio # provides pactl for audio control
ripgrep # faster grep
stable.ripgrep-all # faster grep, now also for pdf, docx, etc. files
sd # better 'sed'
sshfs # mounting remote filesystems
starship # customizable shell prompt
external.trashy # trash management, replacing "rm"
tree # list directories
udevil # sudo-free mounting
udiskie # automounting removable media
watch # repeat a command and watch output
wget # retrieve files from the web
woof # secure network file sharing
# xpdf # pdf manipulation
zip
unzip # zipping/unzipping
];
fonts-icons-themes = with pkgs; [
dracula-theme
nerdfonts
nerd-font-patcher
noto-fonts
noto-fonts-emoji
noto-fonts-extra
papirus-icon-theme
];
applications = with pkgs; [
alacritty
kitty
kitty-themes
xfce.xfce4-terminal # terminal emulators
blueberry # bluetooth tool
chromium
firefox # web browsers
brightnessctl # screen brightness
gimp # image editor
eog # image viewer
gparted # graphical disk partitioning
gpick # color picker
imagemagick # mainpulate images, e.g. with 'convert'
inkscape # vector graphics (SVG) editor
kmag # color blindness filter/simulator
maxima
meld # file comparison tool
pamixer # command-line volume control
pavucontrol # GUI volume control
qpdfview
zathura
okular # pdf viewers
rofi # application launcher
unfree.spotify # music
vlc # for watching videos
xfce.thunar # file browser
unfree.wpsoffice # office suite (like Word, Excel, etc.)
unfree.zoom-us # video conferencing app
zotero # bibliography/reference manager
];
sway-utilities = with pkgs; [
i3 # parent to sway, incuded for 'i3-msg' command
autotiling-rs # sane tiling defaults
grim
slurp # for screenshots
networkmanagerapplet # apparently needed for nm-applet
swaybg # set background image
swaylock-effects # screen locker
swayidle # lock or turn off screen when idling
swaynotificationcenter
libnotify # notification daemon
swaytools # get window properties with swayinfo
waybar # info bar / panel
wdisplays # display settings
wev # event logger
wl-clipboard # CLI copy/paste tool
];
i3-utilities = with pkgs; [
arandr # for display management
autotiling # sane tiling defaults
i3lock-fancy-rapid # lock screen management
i3-wk-switch # XMonad-like workspace switching
feh # set background image
lxappearance # set GTK themes
maim
scrot # screenshots
notify-osd-customizable # noitification daemon
picom # window compositor
polybarFull # info bar / panel
wmctrl # CLI to interact with windows; needed for i3-scratchpad
xclip # CLI copy/paste tool
xdotool # simulate keyboard/mouse input, manipulate windows
xidlehook # lock or turn off screen when idling
xorg.xev # event logger
xorg.xkill # kill applications with the mouse
xorg.xprop # get window properties
xss-lock # idle screen manager
];
misc-work = with pkgs; [
unfree.citrix_workspace # remote console
unfree.slack # work chat
];
mathematica = pkgs.unfree.mathematica.override { version = "13.3.1"; };
misc-other = with pkgs; [
mathematica
external.simple-completion-language-server
];
in {
home.packages = console-utilities ++ languages ++ fonts-icons-themes
++ applications ++ sway-utilities ++ i3-utilities ++ misc-work
++ misc-other;
# override refusal to install zotero...
# https://github.com/NixOS/nixpkgs/commit/9438baa49d527dd7f748e90bdfea576cd1daa0db
nixpkgs.config.permittedInsecurePackages = [ "zotero-6.0.35" ];
}