-
Notifications
You must be signed in to change notification settings - Fork 0
/
.chezmoi.toml.tmpl
221 lines (164 loc) · 12.8 KB
/
.chezmoi.toml.tmpl
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
# chezmoi:template: left-delimiter=@'{# right-delimiter=#}'@
@'{#- if false -#}'@
# {{{ Variable initialization
@'{#- end -#}'@
@'{#- $desktopRigName := "saturn" -#}'@
@'{#- $oldLaptopName := "antares" -#}'@
@'{#- $privatePCs := list $desktopRigName $oldLaptopName -#}'@
@'{#- $personalUsername := "victor" -#}'@
@'{#- $defaultBaseDataDir := "/home" -#}'@
@'{#- $localCache := ".cache" -#}'@
@'{#- $isBrandsPrivate := and (has .chezmoi.hostname $privatePCs) (eq .chezmoi.username $personalUsername) -#}'@
@'{#- if false -#}'@
# }}}
@'{#- end -#}'@
# {{{ General chezmoi config
# Redefine the temporary directory for scripts in case of /tmp is mounted with the noexec option
# See: https://www.chezmoi.io/user-guide/frequently-asked-questions/troubleshooting/#chezmoi-reports-chezmoi-forkexec-tmpxxxxxxxxxxxx-permission-denied-when-executing-a-script
scriptTempDir = @'{# joinPath "/run/user" (toString .chezmoi.uid) "chezmoi-scripts" | quote #}'@
# Set chezmoi cache to be on disk in case of system cache is in memory
cacheDir = @'{# joinPath .chezmoi.homeDir $localCache "chezmoi" | quote #}'@
[scriptEnv]
TMPDIR = @'{# joinPath "/run/user" (toString .chezmoi.uid) | quote #}'@
[diff]
scriptContents = false
# }}}
# {{{ theSystem
[data.theSystem]
#
# These settings are automatically configured. No need to change them in chezmoi.toml, edit .chezmoi.toml.tmpl instead.
#
@'{# $isDebianBased := or (eq .chezmoi.osRelease.id "debian") (and (hasKey .chezmoi.osRelease "idLike") (eq .chezmoi.osRelease.idLike "debian")) -#}'@
@'{# $isUbuntuBased := or (eq .chezmoi.osRelease.id "ubuntu") (and (hasKey .chezmoi.osRelease "idLike") (eq .chezmoi.osRelease.idLike "ubuntu")) -#}'@
@'{# $isDebBased := or $isDebianBased $isUbuntuBased -#}'@
@'{# $isDesktopRig := eq .chezmoi.hostname $desktopRigName -#}'@
@'{# $isOldLaptop := eq .chezmoi.hostname $oldLaptopName -#}'@
isDebianBased = @'{# $isDebianBased #}'@
isUbuntuBased = @'{# $isUbuntuBased #}'@
isDebBased = @'{# $isDebBased #}'@
isVoid = @'{# eq .chezmoi.osRelease.id "void" #}'@
isGentoo = @'{# eq .chezmoi.osRelease.id "gentoo" #}'@
hasSystemd = @'{# lookPath "systemctl" | not | not #}'@
isDesktopRig = @'{# $isDesktopRig #}'@
isOldLaptop = @'{# $isOldLaptop #}'@
# True if this is Victor Brand's private PC
isBrandsPrivate = @'{# $isBrandsPrivate #}'@
# }}}
# {{{ Personal data
[data.personal]
# These settings are automatically configured in .chezmoi.toml.tmpl
desktopRigName = @'{# $desktopRigName | quote #}'@
oldLaptopName = @'{# $oldLaptopName | quote #}'@
privatePCs = @'{# $privatePCs | toToml #}'@
username = @'{# $personalUsername | quote #}'@
@'{# if $isBrandsPrivate #}'@
gitFullName = @'{# if and (hasKey . "personal") (hasKey .personal "gitFullName" ) -#}'@ @'{# .personal.gitFullName | quote #}'@ @'{#- else -#}'@ "Victor Brand" @'{#- end #}'@
gitEmail = @'{# if and (hasKey . "personal") (hasKey .personal "gitEmail" ) -#}'@ @'{# .personal.gitEmail | quote #}'@ @'{#- else -#}'@ "[email protected]" @'{#- end #}'@
@'{#- else -#}'@
@'{#- $gitFullName := promptStringOnce . "personal.gitFullName" "Your full name to be displayed in git" #}'@
gitFullName = @'{# $gitFullName | quote #}'@
@'{#- $gitEmail := promptStringOnce . "personal.gitEmail" "Your git Email" #}'@
gitEmail = @'{# $gitEmail | quote #}'@
@'{#- end #}'@
# }}}
# {{{ sysDirs
[data.sysDirs]
# Default for baseDataDir is /home
@'{#- $baseHomeDir := promptStringOnce . "sysDirs.baseDataDir" "Where your personal data partition is mounted, is it /home or another directory" $defaultBaseDataDir #}'@
baseDataDir = @'{# $baseHomeDir | quote #}'@
defaultBaseDataDir = @'{# $defaultBaseDataDir | quote #}'@
localCache = @'{# joinPath .chezmoi.homeDir $localCache | quote #}'@
localBin = @'{# joinPath .chezmoi.homeDir ".local/Bin" | quote #}'@
scripts = @'{# joinPath .chezmoi.homeDir ".local/Scripti" | quote #}'@
obPipemenus = @'{# joinPath .chezmoi.homeDir ".local/Scripti/openbox-pipemenus" | quote #}'@
localBackgrounds = @'{# joinPath .chezmoi.homeDir ".local/share/backgrounds" | quote #}'@
# This directory is inside the source dir of chezmoi
symlinked = @'{# joinPath .chezmoi.sourceDir ".symlinked" | quote #}'@
# }}}
# {{{ apps
[data.apps]
# If a non-deb-based distro has doas in its $PATH, then "doas", else "sudo"
suApp = @'{# if and (not $isDebianBased) (lookPath "doas" | not | not) -#}'@ "doas" @'{#- else -#}'@ "sudo" @'{#- end #}'@
terminalEmulator = @'{# if and (hasKey . "apps") (hasKey .apps "terminalEmulator" ) -#}'@ @'{# .apps.terminalEmulator | quote #}'@ @'{#- else -#}'@ "lxterminal" @'{#- end #}'@
# Whether to autostart emacs daemon or not
emacsDaemon = @'{# if and (hasKey . "apps") (hasKey .apps "emacsDaemon" ) -#}'@ @'{# .apps.emacsDaemon | not | not #}'@ @'{#- else -#}'@ true @'{#- end #}'@
# }}}
# {{{ gtk (Graphical settings: theme, font, icons, etc.)
[data.gtk]
# General theming
fontName = @'{# if and (hasKey . "gtk") (hasKey .gtk "fontName" ) -#}'@ @'{# .gtk.fontName | quote #}'@ @'{#- else -#}'@ "Roboto Regular 11" @'{#- end #}'@
themeName = @'{# if and (hasKey . "gtk") (hasKey .gtk "themeName" ) -#}'@ @'{# .gtk.themeName | quote #}'@ @'{#- else -#}'@ "Greylooks" @'{#- end #}'@
iconTheme = @'{# if and (hasKey . "gtk") (hasKey .gtk "iconTheme" ) -#}'@ @'{# .gtk.iconTheme | quote #}'@ @'{#- else -#}'@ "Papirus-Light" @'{#- end #}'@
# Mouse cursor
cursorTheme = @'{# if and (hasKey . "gtk") (hasKey .gtk "cursorTheme" ) -#}'@ @'{# .gtk.cursorTheme | quote #}'@ @'{#- else -#}'@ @'{# if eq .chezmoi.osRelease.id "void" "arch" "artix" -#}'@ "Vanilla-DMZ" @'{#- else -#}'@ "DMZ-White" @'{#- end #}'@ @'{#- end #}'@
cursorSize = @'{# if and (hasKey . "gtk") (hasKey .gtk "cursorSize" ) -#}'@ @'{# int .gtk.cursorSize #}'@ @'{#- else -#}'@ 24 @'{#- end #}'@
# Various GTK settings
decorationLayout = @'{# if and (hasKey . "gtk") (hasKey .gtk "decorationLayout" ) -#}'@ @'{# .gtk.decorationLayout | quote #}'@ @'{#- else -#}'@ "menu:minimize,maximize,close" @'{#- end #}'@
buttonImages = @'{# if and (hasKey . "gtk") (hasKey .gtk "buttonImages" ) -#}'@ @'{# .gtk.buttonImages | not | not #}'@ @'{#- else -#}'@ true @'{#- end #}'@
menuImages = @'{# if and (hasKey . "gtk") (hasKey .gtk "menuImages" ) -#}'@ @'{# .gtk.menuImages | not | not #}'@ @'{#- else -#}'@ true @'{#- end #}'@
enableEventSounds = @'{# if and (hasKey . "gtk") (hasKey .gtk "enableEventSounds" ) -#}'@ @'{# .gtk.enableEventSounds | not | not #}'@ @'{#- else -#}'@ false @'{#- end #}'@
enableInputFeedbackSounds = @'{# if and (hasKey . "gtk") (hasKey .gtk "enableInputFeedbackSounds" ) -#}'@ @'{# .gtk.enableInputFeedbackSounds | not | not #}'@ @'{#- else -#}'@ false @'{#- end #}'@
# See: https://docs.gtk.org/gtk3/enum.IconSize.html
toolbarIconSize = @'{# if and (hasKey . "gtk") (hasKey .gtk "toolbarIconSize" ) -#}'@ @'{# .gtk.toolbarIconSize | quote #}'@ @'{#- else -#}'@ "GTK_ICON_SIZE_SMALL_TOOLBAR" @'{#- end #}'@
# See: https://docs.gtk.org/gtk3/enum.ToolbarStyle.html
toolbarStyle = @'{# if and (hasKey . "gtk") (hasKey .gtk "toolbarStyle" ) -#}'@ @'{# .gtk.toolbarStyle | quote #}'@ @'{#- else -#}'@ "GTK_TOOLBAR_BOTH_HORIZ" @'{#- end #}'@
# }}}
# {{{ fontConfig (fontconfig options: hinting, antialias, lcdfilter, etc.)
[data.fontConfig]
dpi = @'{# if and (hasKey . "fontConfig") (hasKey .fontConfig "dpi" ) -#}'@ @'{# int .fontConfig.dpi #}'@ @'{#- else -#}'@ 96 @'{#- end #}'@
autohint = @'{# if and (hasKey . "fontConfig") (hasKey .fontConfig "autohint" ) -#}'@ @'{# .fontConfig.autohint | not | not #}'@ @'{#- else -#}'@ false @'{#- end #}'@
antialias = @'{# if and (hasKey . "fontConfig") (hasKey .fontConfig "antialias" ) -#}'@ @'{# .fontConfig.antialias | not | not #}'@ @'{#- else -#}'@ true @'{#- end #}'@
hinting = @'{# if and (hasKey . "fontConfig") (hasKey .fontConfig "hinting" ) -#}'@ @'{# .fontConfig.hinting | not | not #}'@ @'{#- else -#}'@ true @'{#- end #}'@
hintStyle = @'{# if and (hasKey . "fontConfig") (hasKey .fontConfig "hintstyle" ) -#}'@ @'{# .fontConfig.hintstyle | quote #}'@ @'{#- else -#}'@ "hintslight" @'{#- end #}'@
rgba = @'{# if and (hasKey . "fontConfig") (hasKey .fontConfig "rgba" ) -#}'@ @'{# .fontConfig.rgba | quote #}'@ @'{#- else -#}'@ "rgb" @'{#- end #}'@
lcdfilter = @'{# if and (hasKey . "fontConfig") (hasKey .fontConfig "lcdfilter" ) -#}'@ @'{# .fontConfig.lcdfilter | quote #}'@ @'{#- else -#}'@ "lcdlight" @'{#- end #}'@
# }}}
# {{{ varia (Various settings)
[data.varia]
# Font for gvim
gvimFont = @'{# if and (hasKey . "varia") (hasKey .varia "gvimFont" ) -#}'@ @'{# .varia.gvimFont | quote #}'@ @'{#- else -#}'@ "JetBrains Mono Medium @'{# if $isOldLaptop -#}'@ 12 @'{#- else -#}'@ 13 @'{#- end #}'@" @'{#- end #}'@
# Icon sizes for various applications
# These values MUST be strings, although they are technically integers
# The thing is, they are passed as string arguments to template functions
obmenuIconSize = @'{# if and (hasKey . "varia") (hasKey .varia "obmenuIconSize" ) -#}'@ @'{# .varia.obmenuIconSize | quote #}'@ @'{#- else -#}'@ "24" @'{#- end #}'@
dunstIconSize = @'{# if and (hasKey . "varia") (hasKey .varia "dunstIconSize" ) -#}'@ @'{# .varia.dunstIconSize | quote #}'@ @'{#- else -#}'@ "48" @'{#- end #}'@
# Keyboard settings
kbdDelay = @'{# if and (hasKey . "varia") (hasKey .varia "kbdDelay" ) -#}'@ @'{# int .varia.kbdDelay #}'@ @'{#- else -#}'@ 200 @'{#- end #}'@
kbdRepeat = @'{# if and (hasKey . "varia") (hasKey .varia "kbdRepeat" ) -#}'@ @'{# int .varia.kbdRepeat #}'@ @'{#- else -#}'@ 35 @'{#- end #}'@
# }}}
# {{{ redshift
[data.redshift]
# See redshift(1), look at ~/.config/redshift.conf
fade = @'{# if and (hasKey . "redshift") (hasKey .redshift "fade" ) -#}'@ @'{# .redshift.fade #}'@ @'{#- else -#}'@ false @'{#- end #}'@
# See: redshift -m list
adjustmentMethod = @'{# if and (hasKey . "redshift") (hasKey .redshift "adjustmentMethod" ) -#}'@ @'{# .redshift.adjustmentMethod | quote #}'@ @'{#- else -#}'@ "randr" @'{#- end #}'@
# See: redshift -l list
provider = @'{# if and (hasKey . "redshift") (hasKey .redshift "provider" ) -#}'@ @'{# .redshift.provider | quote #}'@ @'{#- else -#}'@ "manual" @'{#- end #}'@
# Latitude and longitude of your location for redshift
lat = @'{# if and (hasKey . "redshift") (hasKey .redshift "lat" ) -#}'@ @'{# float64 .redshift.lat #}'@ @'{#- else -#}'@ 60 @'{#- end #}'@
lon = @'{# if and (hasKey . "redshift") (hasKey .redshift "lon" ) -#}'@ @'{# float64 .redshift.lon #}'@ @'{#- else -#}'@ 30 @'{#- end #}'@
# Day temperature in K, default 6500
tempDay = @'{# if and (hasKey . "redshift") (hasKey .redshift "tempDay" ) -#}'@ @'{# int .redshift.tempDay #}'@ @'{#- else -#}'@ 6500 @'{#- end #}'@
# Night temperature in K, default 4500
tempNight = @'{# if and (hasKey . "redshift") (hasKey .redshift "tempNight" ) -#}'@ @'{# int .redshift.tempNight #}'@ @'{#- else -#}'@ 4500 @'{#- end #}'@
# }}}
# {{{ rofi
[data.rofi]
font = @'{# if and (hasKey . "rofi") (hasKey .rofi "font" ) -#}'@ @'{# .rofi.font | quote #}'@ @'{#- else -#}'@ "JetBrains Mono Medium @'{# if $isOldLaptop -#}'@ 13 @'{#- else -#}'@ 14 @'{#- end #}'@" @'{#- end #}'@
theme = @'{# if and (hasKey . "rofi") (hasKey .rofi "theme" ) -#}'@ @'{# .rofi.theme | quote #}'@ @'{#- else -#}'@ "/usr/share/rofi/themes/gruvbox-dark-soft.rasi" @'{#- end #}'@
# }}}
# {{{ conky
[data.conky]
# Startup delay in autostart script, seconds. It's the value of conky's "--pause=" argument
# Mind that there is a delay of 1 sec before loading conky in Openbox autostart script
startupDelay = @'{# if and (hasKey . "conky") (hasKey .conky "startupDelay" ) -#}'@ @'{# int .conky.startupDelay #}'@ @'{#- else -#}'@ @'{# if and (eq .chezmoi.hostname $desktopRigName $oldLaptopName) (eq $baseHomeDir $defaultBaseDataDir) -#}'@ 7 @'{#- else -#}'@ 3 @'{#- end #}'@ @'{#- end #}'@
# Will conky be fully transparent, semi-transparent or non-transparent
# Possible values: "Full", "Semi", "None"
currentTransparency = @'{# if and (hasKey . "conky") (hasKey .conky "currentTransparency" ) -#}'@ @'{# .conky.currentTransparency | quote #}'@ @'{#- else -#}'@ "Full" @'{#- end #}'@
# ARGB value is only used when conky is semi-transparent.
# It has range 0 to 255. The more this value is, the less transparent is conky
argbValue = @'{# if and (hasKey . "conky") (hasKey .conky "argbValue" ) -#}'@ @'{# int .conky.argbValue #}'@ @'{#- else -#}'@ 160 @'{#- end #}'@
# Palette to use with conky
# Available default palettes: Catpuccin, Everforest, Gruvbox-Bright, Mixed
currentPalette = @'{# if and (hasKey . "conky") (hasKey .conky "currentPalette" ) -#}'@ @'{# .conky.currentPalette | quote #}'@ @'{#- else -#}'@ "Mixed" @'{#- end #}'@
# }}}