-
Notifications
You must be signed in to change notification settings - Fork 13
/
config.yaml
256 lines (256 loc) · 6.56 KB
/
config.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
# https://wiki.archlinux.org/index.php/XDG_Base_Directory
# https://github.com/grawity/dotfiles/blob/master/.dotfiles.notes
# https://github.com/davla/dotfiles
actions:
pre:
# https://github.com/deadc0de6/dotdrop/issues/315
# Unfortunately this logs an error in each case
has_command: 'command -v "{0}" >/dev/null'
ln: 'ln -sf "{0}" "{1}"'
mkdir: 'mkdir -p "{0}"'
disable_autostart: |
mkdir -p "{{@@ xdg_config_home @@}}/autostart"
cat > "{{@@ xdg_config_home @@}}/autostart/{0}" << EOF
[Desktop Entry]
Hidden=true
EOF
alacritty_gen: |
if ! [ -e "{{@@ xdg_config_home @@}}/alacritty/alacritty.toml" ]; then
mkdir -p "{{@@ xdg_config_home @@}}/alacritty"
cat > "{{@@ xdg_config_home @@}}/alacritty/alacritty.toml" << EOF
import = ["{{@@ xdg_config_home @@}}/alacritty/base.toml", "{{@@ xdg_config_home @@}}/alacritty/theme.toml"]
EOF
cat > "{{@@ xdg_config_home @@}}/alacritty/theme.toml" << EOF
import = ["{{@@ xdg_config_home @@}}/alacritty/material-theme.toml"]
EOF
fi
build_bat_cache: 'bat cache --build'
systemd_setup: |
if command -v systemctl >/dev/null; then
systemctl --user daemon-reload
systemctl --user enable --now daily.timer
systemctl --user enable daily-cleanup.service
systemctl --user enable --now weekly.timer
fi
tmux_plugin_install: |
if ! [ -d {{@@ xdg_state_home @@}}/tmux/plugins/tpm/.git ]; then
git clone https://github.com/tmux-plugins/tpm.git "{{@@ xdg_state_home @@}}/tmux/plugins/tpm"
fi
if command -v tmux >/dev/null; then
if tmux server-info >/dev/null 2>&1; then
"{{@@ xdg_state_home @@}}/tmux/plugins/tpm/scripts/install_plugins.sh"
else
tmux start-server
tmux new-session -d
"{{@@ xdg_state_home @@}}/tmux/plugins/tpm/scripts/install_plugins.sh"
tmux kill-server
fi
fi
yazi_package_install: 'yazi-package install'
zinit_clone: |
if ! [ -d "{{@@ xdg_state_home @@}}/zsh/zinit" ]; then
git clone https://github.com/zdharma-continuum/zinit.git "{{@@ xdg_state_home @@}}/zsh/zinit/bin"
fi
gnome_settings: |
if command -v gsettings >/dev/null; then
gsettings set org.gtk.Settings.FileChooser startup-mode cwd
gsettings set org.gnome.desktop.interface gtk-key-theme "Emacs"
gsettings set org.gnome.desktop.interface overlay-scrolling false
fi
systemd_env: |
mkdir -p "{{@@ xdg_config_home @@}}/environment.d"
cat > "{{@@ xdg_config_home @@}}/environment.d/00-dotdrop.conf" <<EOF
XDG_CONFIG_HOME={{@@ xdg_config_home @@}}
XDG_STATE_HOME={{@@ xdg_state_home @@}}
XDG_DATA_HOME={{@@ xdg_data_home @@}}
XDG_CACHE_HOME={{@@ xdg_cache_home @@}}
DOTFILES={{@@ _dotdrop_dotpath @@}}
PATH=\$PATH:\$HOME/.local/bin:\$HOME/bin:\$HOME/.bin
EOF
config:
backup: true
banner: false
create: true
dotpath: dotfiles
keepdot: false
link_dotfile_default: absolute
link_on_import: absolute
longkey: true
dynvariables:
xdg_config_home: "echo ${XDG_CONFIG_HOME:-$HOME/.config}"
xdg_state_home: "echo ${XDG_STATE_HOME:-$HOME/.local/state}"
xdg_data_home: "echo ${XDG_DATA_HOME:-$HOME/.local/share}"
xdg_cache_home: "echo ${XDG_CACHE_HOME:-$HOME/.cache}"
mozpath: find ~/.mozilla/firefox -name '*.default'
dotfiles:
d_alacritty:
src: alacritty
dst: ~/.config/alacritty
link: link_children
actions:
- alacritty_gen
d_atuin:
src: atuin
dst: ~/.config/atuin
d_awesome:
src: awesome
dst: ~/.config/awesome
d_bat:
src: bat
dst: ~/.config/bat
actions:
- build_bat_cache
d_git:
src: git
dst: ~/.config/git
d_hg:
src: hg
dst: ~/.config/hg
d_icons:
src: icons
dst: ~/.local/share/icons
link: link_children
d_kitty:
src: kitty
dst: ~/.config/kitty
actions:
- ln "$HOME/.config/kitty/theme-desert.conf" "$HOME/.config/kitty/current-theme.conf"
d_latexmk:
src: latexmk
dst: ~/.config/latexmk
d_ncdu:
src: ncdu
dst: ~/.config/ncdu
d_ncmpcpp:
src: ncmpcpp
dst: ~/.config/ncmpcpp
d_offlineimap:
src: offlineimap
dst: ~/.config/offlineimap
d_ranger:
src: ranger
dst: ~/.config/ranger
d_rofi:
src: rofi
dst: ~/.config/rofi
d_systemd:
src: systemd
dst: ~/.config/systemd/user
link: link_children
actions:
- systemd_setup
d_tmux:
src: tmux
dst: ~/.config/tmux
actions:
- tmux_plugin_install
d_yazi:
src: yazi
dst: ~/.config/yazi
actions:
- yazi_package_install
f_ctags:
src: ctags
dst: ~/.config/ctags/default.ctags
f_digrc:
src: digrc
dst: ~/.digrc
f_gdbinit:
src: gdbinit
dst: ~/.config/gdb/gdbinit
f_gnuplot:
src: gnuplot/gnuplot
dst: ~/.gnuplot
link: nolink
f_gtkrc2:
src: gtk/gtkrc-2.0
dst: ~/.config/gtk-2.0/gtkrc
f_gtk3:
src: gtk/gtk-3.0/gtk.css
dst: ~/.config/gtk-3.0/gtk.css
f_ideavimrc:
src: idea/ideavimrc
dst: ~/.config/ideavim/ideavimrc
f_inputrc:
src: inputrc
dst: ~/.config/inputrc
f_irbrc:
src: irbrc
dst: ~/.irbrc
f_profile:
src: shell-common/profile
dst: ~/.profile
link: nolink
f_psqlrc:
src: psqlrc
dst: ~/.config/psqlrc
f_redshift:
src: redshift.conf
dst: ~/.config/redshift.conf
f_shellcheck:
src: shellcheckrc
dst: ~/.config/shellcheckrc
f_sshconfig:
src: ssh_config
dst: ~/.ssh/config
actions:
- mkdir "$HOME/.ssh/sock"
f_zathura:
src: zathurarc
dst: ~/.config/zathura/zathurarc
f_zshenv:
src: zsh/zshenv
dst: ~/.zshenv
link: nolink
actions:
- zinit_clone
# Bash
f_bashrc:
src: bash/bashrc
dst: ~/.bashrc
f_bash_profile:
src: bash/bash_profile
dst: ~/.bash_profile
f_bash_logout:
src: bash/bash_logout
dst: ~/.bash_logout
# Firefox
f_user_js:
src: mozilla/user.js
dst: "{{@@ mozpath @@}}/user.js"
f_userchrome_css:
src: mozilla/userChrome.css
dst: "{{@@ mozpath @@}}/chrome/userChrome.css"
# Python
d_ruff:
src: ruff
dst: ~/.config/ruff
f_mypy:
src: python/mypy.ini
dst: ~/.config/mypy/config
# Vim
d_nvim:
src: vim
dst: ~/.config/nvim
# X/Wayland
d_fontconfig:
src: fontconfig
dst: ~/.config/fontconfig
# actions:
# - has_command X
d_xkb:
src: xkb
dst: ~/.config/xkb
f_xsession:
src: xorg/xsession
dst: ~/.xsession
f_xsessionrc:
src: xorg/xsessionrc
dst: ~/.xsessionrc
profiles:
default:
dotfiles:
- ALL
actions:
- systemd_env
- gnome_settings