-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtaskfile.yml
77 lines (65 loc) · 1.92 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
version: '3'
env:
CONFIG_PATH: '{{.PWD}}/config'
BREWFILE_PATH: '{{.CONFIG_PATH}}/brew/Brewfile'
dotenv: ['.env', '{{.ENV}}/.env.', '{{.HOME}}/.env']
tasks:
default:
desc: List tasks (default)
cmds:
- cmd: task -l
silent: true
brew:install:
desc: Installs brew (https://brew.sh/)
cmds:
- /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew:freeze:
desc: Creates/overwrites a brewfile based on current brew config (like pip freeze)
cmds:
- brew bundle dump --force --file='{{.BREWFILE_PATH}}'
brew:bundle:check:
desc: Installs everything specified in a Brewfile and uninstall what's installed but not listed in the file
cmds:
- brew bundle check --file='{{.BREWFILE_PATH}}'
brew:bundle:install:
desc: Installs everything specified in a Brewfile
cmds:
- brew bundle install --file='{{.BREWFILE_PATH}}'
brew:bundle:cleanup:
desc: Uninstall all dependencies not listed from the Brewfile.
cmds:
- brew bundle cleanup --force --file='{{.BREWFILE_PATH}}'
stow:stow:
desc: Stows the dotfiles in the local home dir
cmds:
- for:
- aichat
- nano
- yabai
- borders
- skhd
- zsh
- kitty
- nvim
- lsd
- code
- task
- tmux
- git
- alacritty
- ghostty
cmd: stow {{.CLI_ARGS}} --dir={{.CONFIG_PATH}} --target=$HOME {{ .ITEM }}
stow:simulate:
desc: Simulates the stowing of dotfiles in the local home dir (no harm done)
cmds:
- task: stow:stow
vars: { CLI_ARGS: '-nSv' }
stow:unstow:
desc: Unstows the dotfiles in the local home dir
cmds:
- task: stow:stow
vars: { CLI_ARGS: '-D' }
git:submodules:update:
desc: Initialize submodules
cmds:
- git submodule update --init --recursive