-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTaskfile.yml
327 lines (327 loc) · 16.7 KB
/
Taskfile.yml
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
---
# .SYNOPSIS
# Uses go-task to setup a system
# .INSTALL
# dnf install go-task
# brew install go-task
# .USAGE
# Listing tasks: go-task -l
# Default Install: go-task
# MacOS uses task rather than go-task
# .HELP
# see https://taskfile.dev/
version: "3"
vars:
tasks:
default:
desc: Choose Wisely?
deps: []
simple:
desc: Installs Starship, LazyVIM, Fonts, hiSHtory, and GRML ZSH - It could be your daily driver if you wanted it to be
deps: [fonts, hishtory, grml, lazyvim, starship]
fresh:
env:
FRESH_LOCAL_SOURCE: hsmalley/dotfiles
deps: [vimfresh]
cmds:
- FRESH_LOCAL_SOURCE=hsmalley/dotfiles bash <(curl -sL https://get.freshshell.com)
- fresh update
status:
- test -d ~/.dotfiles
cache_creds:
desc: Runs sudo -v
cmds:
- sudo -v
rocky8:
desc: Bootstrap Rocky 8 (EL) system
deps: [cache_creds, el-repos]
cmds:
- sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d -b ~/.local/bin
- sudo dnf config-manager -y --set-enabled powertools extras plus
- sudo dnf config-manager -y --set-enabled elrepo-extras elrepo-kernel
- sudo dnf install -y epel-release
- sudo dnf makecache -y
- sudo dnf install -y restic python-pip python-pip-wheel
- sudo dnf install -y mkfontscale cpan global cargo util-linux-user pcp-system-tools openssl-devel sqlite
- sudo dnf install -y vim zsh tmux powerline powerline-docs powerline-fonts tmux-powerline vim-powerline
- pip install --user -U pip wheel
el-repos:
desc: Installs RPM Fusion & EL Repo on Rocky 8 (EL)
deps: [cache_creds]
cmds:
- sudo dnf install -y --nogpgcheck https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(rpm -E %rhel).noarch.rpm
- sudo dnf install -y --nogpgcheck https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm
- sudo dnf install -y --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm
- sudo dnf install -y --nogpgcheckhttps://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-$(rpm -E %rhel).noarch.rpm
rhel_full_update:
desc: Update System
deps: [cache_creds]
cmds:
- sudo dnf makecache -y
- sudo dnf distrosync --best -y
fedora:
desc: Bootstrap Fedora system
deps: [cache_creds, terra_repo, rpm_fusion]
cmds:
- sudo dnf makecache -y
- sudo dnf install -y go-task restic python-pip python-pip-wheel
- sudo dnf install -y cockpit cockpit-selinux podman podman-tui sqlite
- sudo dnf install -y mkfontscale cpan global cargo util-linux-user pcp-system-tools openssl-devel
- sudo dnf install -y vim zsh tmux powerline tmux-powerline vim-powerline
- pip install --user -U pip wheel
status:
# This is a hack, ugly... but effective
- which go-task restic python-pip python-pip-wheel cockpit cockpit-selinux podman podman-tui sqlite mkfontscale cpan global cargo util-linux-user pcp-system-tools openssl-devel vim zsh tmux powerline tmux-powerline vim-powerline | while IFS= read -r line; do test -x "${line}"; done
fedora_update:
desc: Update System & Reboot
deps: [cache_creds]
cmds:
- sudo dnf offline-distrosync download -y
- sudo dnf offline-distrosync reboot -y
terra_repo:
desc: Installs the Terra Repo
deps: [cache_creds]
cmds:
- sudo dnf config-manager -y --add-repo https://github.com/terrapkg/subatomic-repos/raw/main/terra.repo
status:
- test -f /etc/yum.repos.d/terra.repo
rpm_fusion:
desc: Installs the RPM Fusion Repo
deps: [cache_creds]
cmds:
- sudo dnf install -y https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
- sudo dnf groupupdate core -yuzu_emu
fonts:
desc: Install Nerd Fonts - FiraCode for IDE, IBM Plex for everything else. Backup fonts are JetBrainsMono & Source Code Pro
cmds:
- mkdir -p ~/.local/share/fonts; git clone --filter=blob:none --sparse https://github.com/ryanoasis/nerd-fonts.git ~/.local/share/fonts/nerd-fonts
- cd ~/.local/share/fonts/nerd-fonts; git sparse-checkout add patched-fonts/JetBrainsMono
- cd ~/.local/share/fonts/nerd-fonts; git sparse-checkout add patched-fonts/IBMPlexMono
- cd ~/.local/share/fonts/nerd-fonts; git sparse-checkout add patched-fonts/SourceCodePro
- cd ~/.local/share/fonts/nerd-fonts; git sparse-checkout add patched-fonts/FiraCode
- fc-cache
status:
- test -d ~/.local/share/fonts/nerd-fonts
starship:
desc: Install Starship.rs - https://starship.rs/
deps: [fonts]
cmds:
- curl -sS https://starship.rs/install.sh | sh
- echo 'eval "$(starship init zsh)"' | tee -a ~/.zshrc
- starship preset nerd-font-symbols -o ~/.config/starship.toml
status:
- test -f $(which starship)
spacevim:
desc: Install SpaceVIM - https://spacevim.org/
deps: [vimprep]
cmds:
- curl -sLf https://spacevim.org/install.sh | bash
status:
- test -d ~/.SpaceVim
lazyvim:
desc: Install LazyVIM, if you don't want SpaceVIM, run :checkhealth after installing
deps: [vimprep]
cmds:
- git clone https://github.com/LazyVim/starter ~/.config/nvim
- rm -rf ~/.config/nvim/.git
status:
- test -e ~/.config/nvim/lua/config/lazy.lua
- test ! -d ~/.config/nvim/.git
vimprep:
desc: Cleanup/Backup existing vim files to make way new install
cmds:
- mv ~/.SpaceVim.d{.,bak} 2>/dev/null || echo "Skipping Backup"
- mv ~/.config/nvim{,.bak} 2>/dev/null || echo "Skipping Backup"
- mv ~/.local/share/nvim{,.bak} 2>/dev/null || echo "Skipping Backup"
- mv ~/.local/state/nvim{,.bak} 2>/dev/null || echo "Skipping Backup"
- mv ~/.cache/nvim{,.bak} 2>/dev/null || echo "Skipping Backup"
vimfresh:
desc: Removes files so Fresh can install the needed stuff
cmds:
- rm -f ~/.config/nvim/lua/config/lazy.lua 2>/dev/null || echo "No lazy.lua found"
- rm -fr ~/.SpaceVim.d 2>/dev/null || echo "No SpaceVim.d found"
status:
- test ! -e ~/.SpaceVim.d
- test ! -e ~/.config/nvim/lua/config/lazy.lua
oh-my-tmux:
desc: Installs Oh My Tmux
dir: ~
cmds:
- git clone https://github.com/gpakosz/.tmux.git ~/.tmux
- ln -s ~/.tmux/.tmux.conf ~/.tmux.conf
status:
- test -L ~/.tmux.conf
- test -d ~/.tmux
rust_tools:
desc: Install some rust tools
cmds:
- cargo install cargo-update cargo-cache
- cargo install topgrade bat bottom broot tokei difftastic shellharden
status:
- test -x $(which topgrade)
- test -x $(which bat)
- test -x $(which bottom)
- test -x $(which broot)
- test -x $(which difftastic)
- test -x $(which tokei)
- test -x $(which shellharden)
grml:
desc: Installs GRML ZSH - https://grml.org/zsh/
cmds:
- wget -O ~/.zshrc https://git.grml.org/f/grml-etc-core/etc/zsh/zshrc
- wget -O ~/.zshrc.local https://git.grml.org/f/grml-etc-core/etc/skel/.zshrc
status:
- test -f ~/.zshrc
p10k:
desc: Make sure you configure Powerlevel 10k after you run zsh to install everything
cmds:
- p10k configure
hishtory:
desc: Installs hiSHtory (offline mode) - http://hishtory.dev - if you want to sync RTFM
cmds:
- curl https://hishtory.dev/install.py | python3 -
- $HOME/.hishtory/hishtory init --offline
radssh:
desc: Installs Radssh (sans LN Plugins)
cmds:
- pip install -U --user paramiko
- pip install -U --user --use-pep517 git+https://github.com/radssh/radssh.git
macos_fonts:
desc: Install Nerd Fonts for MacOS
deps: [fonts]
cmds:
- find ~/.config/fonts -type f -name "*.ttf" -exec cp {} ~/Library/Fonts/ \;
macos:
desc: Sets what I like on MacOS (Reboot Required)
cmds:
- defaults write NSGlobalDomain NSNavPanelExpandedStateForSaveMode -bool true
- defaults write NSGlobalDomain PMPrintingExpandedStateForPrint -bool true
- defaults write com.apple.print.PrintingPrefs "Quit When Finished" -bool true
- defaults write com.apple.screencapture location -string "${HOME}/Downloads"
- defaults write com.apple.screencapture type -string "png"
- defaults write com.apple.finder NewWindowTarget -string "PfDe"
- defaults write com.apple.finder NewWindowTargetPath -string "file://${HOME}/"
- defaults write com.apple.finder ShowExternalHardDrivesOnDesktop -bool true
- defaults write com.apple.finder ShowHardDrivesOnDesktop -bool true
- defaults write com.apple.finder ShowMountedServersOnDesktop -bool true
- defaults write com.apple.finder ShowRemovableMediaOnDesktop -bool true
- defaults write NSGlobalDomain AppleShowAllExtensions -bool true
- defaults write com.apple.finder ShowStatusBar -bool true
- defaults write com.apple.finder QLEnableTextSelection -bool true
- defaults write com.apple.finder _FXShowPosixPathInTitle -bool true
- defaults write com.apple.finder FXDefaultSearchScope -string "SCcf"
- defaults write com.apple.finder FXEnableExtensionChangeWarning -bool false
- defaults write NSGlobalDomain com.apple.springing.enabled -bool true
- defaults write NSGlobalDomain com.apple.springing.delay -float 0.1
- defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true
- /usr/libexec/PlistBuddy -c "Set :DesktopViewSettings:IconViewSettings:arrangeBy grid" ~/Library/Preferences/com.apple.finder.plist
- /usr/libexec/PlistBuddy -c "Set :FK_StandardViewSettings:IconViewSettings:arrangeBy grid" ~/Library/Preferences/com.apple.finder.plist
- /usr/libexec/PlistBuddy -c "Set :StandardViewSettings:IconViewSettings:arrangeBy grid" ~/Library/Preferences/com.apple.finder.plist
- /usr/libexec/PlistBuddy -c "Set :DesktopViewSettings:IconViewSettings:iconSize 64" ~/Library/Preferences/com.apple.finder.plist
- /usr/libexec/PlistBuddy -c "Set :FK_StandardViewSettings:IconViewSettings:iconSize 64" ~/Library/Preferences/com.apple.finder.plist
- /usr/libexec/PlistBuddy -c "Set :StandardViewSettings:IconViewSettings:iconSize 64" ~/Library/Preferences/com.apple.finder.plist
- defaults write com.apple.finder FXPreferredViewStyle -string "clmv"
- chflags nohidden ~/Library
- defaults write com.apple.dock tilesize -int 60
- defaults write com.apple.dock expose-animation-duration -float 0.15
- defaults write com.apple.dock showhidden -bool true
- defaults write com.apple.universalaccess reduceTransparency -bool true
- defaults write com.apple.dock wvous-br-corner -int 0
- defaults write com.apple.dock wvous-br-modifier -int 0
- defaults write com.apple.dock wvous-tr-corner -int 13
- defaults write com.apple.dock wvous-tr-modifier -int 0
- defaults write com.apple.dock wvous-br-corner -int 14
- defaults write com.apple.dock wvous-br-modifier -int 0
- defaults write com.apple.dock wvous-bl-corner -int 4
- defaults write com.apple.dock wvous-bl-modifier -int 0
- defaults write com.apple.Safari IncludeDevelopMenu -bool true
- defaults write com.apple.Safari WebKitDeveloperExtrasEnabledPreferenceKey -bool true
- defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2DeveloperExtrasEnabled -bool true
- defaults write NSGlobalDomain WebKitDeveloperExtras -bool true
- defaults write com.apple.mail AddressesIncludeNameOnPasteboard -bool false
- defaults write com.apple.ActivityMonitor OpenMainWindow -bool true
- defaults write com.apple.ActivityMonitor ShowCategory -int 0
flathub:
desc: Setup Flathub
cmds:
- flatpak --user remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
flatpaks:
desc: Install come flatpacks, user context
deps: [flathub]
cmds:
- flatpak --user install -y app.getclipboard.Clipboard
- flatpak --user install -y com.bitwarden.desktop
- flatpak --user install -y com.bitwarden.desktop.Locale
- flatpak --user install -y com.dosbox.DOSBox
- flatpak --user install -y com.github.k4zmu2a.spacecadetpinball
- flatpak --user install -y com.github.marhkb.Pods
- flatpak --user install -y com.github.marhkb.Pods.Locale
- flatpak --user install -y com.github.Matoking.protontricks
- flatpak --user install -y com.github.mtkennerly.ludusavi
- flatpak --user install -y com.github.tchx84.Flatseal
- flatpak --user install -y com.jetbrains.PyCharm-Professional
- flatpak --user install -y com.moonlight_stream.Moonlight
- flatpak --user install -y com.obsproject.Studio
- flatpak --user install -y com.obsproject.Studio.Locale
- flatpak --user install -y com.obsproject.Studio.Plugin.Gstreamer
- flatpak --user install -y com.obsproject.Studio.Plugin.InputOverlay
- flatpak --user install -y com.obsproject.Studio.Plugin.MoveTransition
- flatpak --user install -y com.obsproject.Studio.Plugin.NVFBC
- flatpak --user install -y com.obsproject.Studio.Plugin.OBSVkCapture
- flatpak --user install -y com.obsproject.Studio.Plugin.ScaleToSound
- flatpak --user install -y com.obsproject.Studio.Plugin.SceneSwitcher
- flatpak --user install -y com.obsproject.Studio.Plugin.TransitionTable
- flatpak --user install -y com.obsproject.Studio.Plugin.WebSocket
- flatpak --user install -y com.play0ad.zeroad
- flatpak --user install -y com.play0ad.zeroad.Locale
- flatpak --user install -y com.redis.RedisInsight
- flatpak --user install -y com.steamgriddb.SGDBoop
- flatpak --user install -y com.usebottles.bottles
- flatpak --user install -y com.usebottles.bottles.Locale
- flatpak --user install -y com.valvesoftware.Steam
- flatpak --user install -y com.valvesoftware.Steam.CompatibilityTool.Boxtron
- flatpak --user install -y com.valvesoftware.Steam.CompatibilityTool.Proton
- flatpak --user install -y com.valvesoftware.Steam.CompatibilityTool.Proton-GE
- flatpak --user install -y fr.handbrake.ghb
- flatpak --user install -y fr.handbrake.ghb.Locale
- flatpak --user install -y fr.handbrake.ghb.Plugin.IntelMediaSDK
- flatpak --user install -y im.riot.Riot
- flatpak --user install -y info.beyondallreason.bar
- flatpak --user install -y info.beyondallreason.bar.Locale
- flatpak --user install -y io.crow_translate.CrowTranslate
- flatpak --user install -y io.dbeaver.DBeaverCommunity
- flatpak --user install -y io.github.flattool.Warehouse
- flatpak --user install -y io.github.flattool.Warehouse.Locale
- flatpak --user install -y io.github.prateekmedia.appimagepool
- flatpak --user install -y io.podman_desktop.PodmanDesktop
- flatpak --user install -y md.obsidian.Obsidian
- flatpak --user install -y md.obsidian.Obsidian.Locale
- flatpak --user install -y net.lutris.Lutris
- flatpak --user install -y net.lutris.Lutris.Locale
- flatpak --user install -y org.freedesktop.fwupd
- flatpak --user install -y org.freedesktop.fwupd.Locale
- flatpak --user install -y org.freedesktop.Platform.Compat.i386
- flatpak --user install -y org.freedesktop.Platform.ffmpeg-full
- flatpak --user install -y org.freedesktop.Platform.ffmpeg_full.i386
- flatpak --user install -y org.freedesktop.Platform.GL32.default
- flatpak --user install -y org.freedesktop.Platform.GL.default
- flatpak --user install -y org.freedesktop.Platform.GStreamer.gstreamer-vaapi
- flatpak --user install -y org.freedesktop.Platform.Locale
- flatpak --user install -y org.freedesktop.Platform.openh264
- flatpak --user install -y org.freedesktop.Platform.VulkanLayer.gamescope
- flatpak --user install -y org.freedesktop.Platform.VulkanLayer.MangoHud
- flatpak --user install -y org.freedesktop.Platform.VulkanLayer.OBSVkCapture
- flatpak --user install -y org.freedesktop.Platform.VulkanLayer.vkBasalt
- flatpak --user install -y org.kiwix.desktop
- flatpak --user install -y org.kiwix.desktop.Locale
- flatpak --user install -y org.onlyoffice.desktopeditors
- flatpak --user install -y org.pipewire.Helvum
- flatpak --user install -y org.prismlauncher.PrismLauncher
- flatpak --user install -y org.telegram.desktop
- flatpak --user install -y org.telegram.desktop.Locale
- flatpak --user install -y org.telegram.desktop.webview
- flatpak --user install -y org.telegram.desktop.webview.Locale
- flatpak --user install -y org.winehq.Wine.DLLs.dxvk
- flatpak --user install -y org.winehq.Wine.gecko
- flatpak --user install -y org.winehq.Wine.mono
- flatpak --user install -y org.yuzu_emu.yuzu