-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdotm-arch.yaml
383 lines (324 loc) · 9.42 KB
/
dotm-arch.yaml
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
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
conf:
shell: bash
backup_dir: ./dotm-backups
pkg_managers:
install_cmds:
pacman: sudo pacman -S --needed --noconfirm %pkg
brew: /home/linuxbrew/.linuxbrew/bin/brew install %pkg
gem: gem install %pkg
pip: pip3 install %pkg
stack: stack install %pkg
npm: sudo npm install -g %pkg
cargo: cargo install %pkg
flatpak: flatpak install -y %pkg
aur: ./bin/aur_build %pkg
raco: raco pkg install --auto --skip-installed -- %pkg
deps:
brew: brew
gem: ruby
pip: python
stack: haskell
npm: nodejs
cargo: cargo
flatpak: flatpak
aur: base_pkgs git
raco: racket
rules:
base_pkgs:
- pkgs: { pacman: base base-devel wget }
- shell: sudo ldconfig
default:
- deps: lts_kernel DE pr_langs texlive android_dev
lts_kernel:
- pkgs: { pacman: linux-lts }
DE:
- deps: >-
WM utils DE_apps fish bluetooth network time_setup CUPS audio
input_method
WM:
- deps: xorg sxhkd rofi polybar fonts theme kitty
- pkgs:
pacman: >-
bspwm xdo playerctl xclip xorg-xsetroot xsecurelock feh
zenity unclutter maim gnome-control-center mutter
dmenu
- links:
bspwm: ~/.config/bspwm
DE_apps:
- deps: >-
zathura kitty keynav zoom qutebrowser spotify sabaki
kgs virtualbox anki pinta
- pkgs:
pacman: >-
qalculate-gtk libreoffice-fresh libreoffice-fresh-ru
gnome-mplayer rogue nethack cmus deluge deluge-gtk
opera chromium firefox gcolor2 gimp pcmanfm
aur: teams
utils:
- deps: broot git nvim brew tmux
- pkgs:
pacman: >-
curl htop ranger lm_sensors mlocate tree jq pdftk
imagemagick neofetch cmatrix cmus dosfstools pass unrar
pkgfile gnugo bind-tools irssi rlwrap ripgrep figlet
id3v2 android-file-transfer yt-dlp
npm: add-gitignore
pip: pylatexenc fasttyper
input_method:
- pkgs: { pacman: ibus ibus-anthy ibus-skk ibus-table }
- pkgs: { aur: ibus-table-others }
pr_langs:
- deps: >-
rust clojure haskell ruby python nodejs
typescript racket c++
- pkgs:
pacman: clisp php go dotnet-sdk guile scala gnu-apl
xorg:
- pkgs: { pacman: xorg xorg-xinit }
- links:
Xresources: ~/.Xresources
xinitrc: ~/.xinitrc
sxhkd:
- pkgs: { pacman: sxhkd }
- links:
sxhkd: ~/.config/sxhkd
rofi:
- pkgs: { pacman: rofi }
- links:
rofi: ~/.config/rofi
polybar:
- pkgs: { aur: polybar }
- links:
polybar: ~/.config/polybar
fonts:
- pkgs:
pacman: >-
noto-fonts noto-fonts-cjk
adobe-source-code-pro-fonts
ttf-dejavu
theme:
- pkgs:
pacman: papirus-icon-theme
aur:
- breeze-default-cursor-theme
- plata-theme
keynav:
- links:
keynavrc: ~/.keynavrc
- pkgs: { pacman: keynav }
network:
- pkgs: { pacman: networkmanager wireless_tools }
- shell: |
sudo systemctl enable NetworkManager
sudo systemctl start NetworkManager
time_setup:
- pkgs: { pacman: ntp }
- shell: sudo systemctl enable ntpd.service
broot:
- links:
broot: ~/.config/broot
- pkgs: { pacman: broot }
- shell: |
broot --install
git:
- pkgs: { pacman: git }
- links:
gitconfig: ~/.gitconfig
bluetooth:
- pkgs: { pacman: bluez bluez-utils }
- shell: |
sudo systemctl enable bluetooth
sudo systemctl start bluetooth
CUPS:
- pkgs: { pacman: cups cups-pdf }
- shell: |
sudo systemctl enable cups.service
sudo systemctl start cups.service
anki:
- pkgs: { aur: anki-bin }
- pkgs:
pip: genanki pydantic # tex_to_anki's dependecies
npm: svgo # for optimizing latex's svgs
pacman: optipng # for optimizing latex's pngs
pinta:
- pkgs: { pacman: pinta }
- shell: |
xdg-mime default pinta.desktop image/\*
zathura:
- links: { zathura: ~/.config/zathura }
- pkgs: { pacman: zathura zathura-pdf-mupdf zathura-djvu }
- shell: |
xdg-mime default org.pwmt.zathura.desktop application/pdf
kitty:
- pkgs:
pacman: kitty ttf-fira-code
- links:
kitty: ~/.config/kitty
- shell: |
xdg-mime default kitty.desktop application/x-shellscript
xdg-mime default kitty.desktop application/x-sharedlib
fish:
- pkgs: { pacman: fish }
- links:
fish: ~/.config/fish
omf: ~/.config/omf
- in_temp: |
wget https://get.oh-my.fish -O get-omf.fish
fish get-omf.fish --noninteractive
fish -c "omf install sashimi"
- shell: |
sudo usermod -s $(grep fish /etc/shells | head -1) $USER
audio:
- pkgs:
pacman: pulseaudio pulseaudio-bluetooth pulseaudio-alsa alsa-utils
- shell: |
systemctl --user enable pulseaudio.service
systemctl --user start pulseaudio.service
nvim:
- links:
nvim: ~/.config/nvim
- pkgs: { pacman: neovim }
- pkgs:
pip: >-
pynvim unidecode jedi-language-server autopep8 yapf
flake8 hacking bandit pylint proselint
npm: neovim
gem: neovim
- shell: nvim -u nvim/plugins.vim -c qa
- shell: nvim -c ":call InstallCocExtensions() | :qa!"
- shell: |
for m in \
text/english text/plain text/x-makefile text/x-c++hdr text/x-c++src \
text/x-chdr text/x-csrc text/x-java text/x-moc text/x-pascal \
text/x-tcl text/x-tex application/x-shellscript text/x-c text/x-c++ \
text/markdown application/json
do
xdg-mime default nvim.desktop "$m"
done
texlive:
- shell: |
cd sources
test -f texlive.tar.gz || \
wget http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz \
-O texlive.tar.gz
tar -xf texlive.tar.gz
cd `ls | grep install-tl-*` && sudo ./install-tl -profile ../../texlive.profile
- shell: |
tlmgr install collection-langcyrillic
zoom:
- pkgs:
flatpak: https://flathub.org/repo/appstream/us.zoom.Zoom.flatpakref
brew:
- in_temp: |
wget https://raw.githubusercontent.com/Homebrew/install/master/install.sh \
-O install.sh
echo | bash ./install.sh
qutebrowser:
- links:
qutebrowser: ~/.config/qutebrowser
- pkgs: { pacman: qutebrowser }
- shell: |
xdg-mime default org.qutebrowser.qutebrowser.desktop x-scheme-handler/http
xdg-mime default org.qutebrowser.qutebrowser.desktop x-scheme-handler/https
xdg-mime default org.qutebrowser.qutebrowser.desktop text/html
spotify:
- shell: |
curl -sS https://download.spotify.com/debian/pubkey.gpg | gpg --import -
- pkgs: { aur: spotify }
sabaki:
- pkgs: { aur: sabaki }
lizzie:
- pkgs: { aur: lizzie-improve }
kgs:
- pkgs: { aur: cgoban }
rocketchat:
- pkgs: { aur: rocketchat-client-bin }
virtualbox:
- pkgs:
pacman: >-
virtualbox virtualbox-host-dkms virtualbox-guest-iso virtualbox-sdk
virtualbox-guest-utils virtualbox-guest-dkms linux-headers linux-lts-headers
- pkgs: { aur: virtualbox-ext-oracle }
- shell: |
modprobe vboxdrv vboxpci vboxnetflt
sudo gpasswd -a $USER vboxusers
sudo rcvboxdrv
sudo depmod -a
tmux:
- links:
tmux.conf: ~/.tmux.conf
- pkgs: { pacman: tmux }
cargo:
- pkgs: { pacman: rustup cargo }
- shell: |
rustup default nightly
rust:
- deps: cargo
- links:
rustfmt.toml: ~/.rustfmt.toml
- pkgs:
cargo: trunk wasm-bindgen-cli
- shell: |
rustup target add wasm32-unknown-unknown
rust_analyzer:
- deps: cargo
- pkgs: { pacman: rust-analyzer }
c++:
- pkgs: { pacman: cmake clang gdb ccls }
- links: { clang-format: ~/.clang-format }
Qt:
- deps: c++
- pkgs: { pacman: qt5-base qt6-base qtcreator }
clojure:
- pkgs: { pacman: clojure }
- links:
profiles.clj: ~/.lein/profiles.clj
cljstyle: ~/.cljstyle
- shell: |
wget https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein \
-O ~/.local/bin/lein
chmod +x ~/.local/bin/lein
~/.local/bin/lein
haskell:
- pkgs: { pacman: stack ghc-libs ghc-static }
- shell: cd ~; stack setup
ruby:
- pkgs: { pacman: ruby }
- shell: gem install irb
python:
- pkgs: { pacman: python3 python-pip }
tensorflow:
- deps: python
- pkgs:
pip: tensorflow-cpu
nodejs:
- pkgs: { pacman: nodejs npm yarn }
chicken:
- pkgs: { pacman: chicken }
- shell: |
chicken-install -s apropos chicken-doc srfi-18 srfi-1
cd `chicken-csi -R chicken.platform -p '(chicken-home)'`
curl https://3e8.org/pub/chicken-doc/chicken-doc-repo-5.tgz | sudo tar zx
racket:
- pkgs: { pacman: racket }
- shell: |
raco pkg install --auto --skip-installed -- \
racket-langserver sicp
typescript:
- deps: nodejs
- pkgs: { npm: typescript ts-node }
react:
- deps: nodejs
- pkgs: { npm: react }
android_dev:
- deps: react
- pkgs:
pacman: android-tools
aur: android-studio
brew: watchman
j_lang:
- pkgs: { aur: j9-git }
dyalog:
- pkgs: { aur: ncurses5-compat-libs dyalog-bin }
flatpak:
- pkgs: { pacman: flatpak }