├── .chezmoi.yaml.tmpl
├── Documents
└── WindowsPowerShell
│ └── Microsoft.PowerShell_profile.ps1
├── README.md
├── dot_aliases.tmpl
├── dot_antigenrc
├── dot_dateifier.yaml.tmpl
├── dot_gitconfig.tmpl
├── dot_gitignore_global
├── dot_local
└── bin
│ └── executable_code
├── dot_zshrc.tmpl
├── run_once_before_install-packages-darwin.sh.tmpl
└── run_once_before_install-packages-windows.bat.tmpl
/.chezmoi.yaml.tmpl:
--------------------------------------------------------------------------------
1 | diff:
2 | exclude:
3 | - scripts
4 |
5 | data:
6 | name: "Steve Francia"
7 | email: "steve.francia@gmail.com"
8 | editor: "code --wait"
9 |
--------------------------------------------------------------------------------
/Documents/WindowsPowerShell/Microsoft.PowerShell_profile.ps1:
--------------------------------------------------------------------------------
1 | #
2 | # This file is managed by chezmoi. Always edit it with the command
3 | # chezmoi edit $profile
4 | # chezmoi diff
5 | # chezmoi -v apply
6 |
7 | $ENV:STARSHIP_CONFIG = "$HOME\config\starship\config.toml"
8 |
9 | if (Get-Command starship -errorAction SilentlyContinue) {
10 | Invoke-Expression (&starship init powershell)
11 | }
12 |
13 | Invoke-Expression (& {
14 | $hook = if ($PSVersionTable.PSVersion.Major -lt 6) { 'prompt' } else { 'pwd' }
15 | (zoxide init --hook $hook powershell) -join "`n"
16 | })
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 | ~/. 📂
Cross-platform, cross-shell dotfiles
powered by chezmoi 🏠
3 |
4 |
5 | ## Installation
6 |
7 | `sh -c "$(curl -fsLS git.io/chezmoi)" -- init --apply spf13`
8 |
9 | ## Update any machine
10 |
11 | `chezmoi update`
12 |
13 | ## Status
14 |
15 | I am using [chezmoi](https://www.chezmoi.io/) to manage my dotfiles.
16 |
17 | This is still very much a work in progress.
18 |
19 | It is intended to provide me a nice way to manage my dotfiles and have
20 | a consistent experience across my Windows & Mac machines.
21 |
22 | I'll add Linux support later, I don't really develop on Linux much and the defaults are pretty good for me for adminsitration tasks.
23 |
24 |
25 | My primary shell environment on Windows is git-bash with zsh installed.
26 |
27 | I also used [zsh](https://www.zsh.org/) on my Mac (but that's the default).
28 |
29 | There are two initialization scripts that install a bunch of software I use on both platforms. They are intended to run on new machines, but there shouldn't be any harm in running them on existing machines.
30 |
--------------------------------------------------------------------------------
/dot_aliases.tmpl:
--------------------------------------------------------------------------------
1 | #
2 | # This file is managed by chezmoi. Always edit it with the command
3 | # chezmoi edit ~/.zshrc
4 | # chezmoi diff
5 | # chezmoi -v apply
6 | #
7 |
8 | # MODERN APPLICATIONS
9 | eza_params=('--git' '--icons' '--classify' '--group-directories-first' '--time-style=long-iso' '--group' '--color-scale')
10 |
11 | {{- if ne .chezmoi.os "windows" }}
12 | alias ls='eza ${eza_params}'
13 | alias l='eza --git-ignore ${eza_params}'
14 | alias ll='eza --all --header --long ${eza_params}'
15 | alias llm='eza --all --header --long --sort=modified ${eza_params}'
16 | alias la='eza -lbhHigUmuSa'
17 | alias lx='eza -lbhHigUmuSa@'
18 | alias lt='eza --tree'
19 | alias tree='eza --tree'
20 | {{- end }}
21 |
22 | {{- if eq .chezmoi.os "windows" }}
23 | alias ls='ls -h --color=auto'
24 | alias l='ls -l'
25 | alias la='ls -a'
26 | alias ll='ls -la'
27 | {{- end }}
28 |
29 | alias cat='bat --paging=never'
30 | alias less='bat'
31 | alias more='bat'
32 |
33 | # CONVENIENCE
34 |
35 | # show path broken into lines
36 | alias path='echo -e ${PATH//:/\\n}' # nice path printing
37 | alias cz='chezmoi'
38 | alias cze='chezmoi edit'
39 | alias cza='chezmoi apply'
40 |
--------------------------------------------------------------------------------
/dot_antigenrc:
--------------------------------------------------------------------------------
1 | #
2 | # This file is managed by chezmoi. Always edit it with the command
3 | # chezmoi edit ~/.zshrc
4 | # chezmoi diff
5 | # chezmoi -v apply
6 | #
7 |
8 | # Awesome Zsh Plugins: https://github.com/unixorn/awesome-zsh-plugins
9 | # Antigen: https://github.com/zsh-users/antigen
10 | # Oh My Zsh: https://github.com/ohmyzsh/ohmyzsh
11 |
12 | MAGIC_ENTER_GIT_COMMAND='git status -u .'
13 | MAGIC_ENTER_OTHER_COMMAND='k -ah'
14 |
15 | # Load the oh-my-zsh's library.
16 | antigen use oh-my-zsh
17 |
18 | # Bundles from the default repo (robbyrussell's oh-my-zsh).
19 | antigen bundle colorize
20 | antigen bundle command-not-found
21 | antigen bundle docker
22 | antigen bundle git
23 | antigen bundle golang
24 | antigen bundle magic-enter
25 | antigen bundle safe-paste
26 |
27 | # Additional bundles
28 | antigen bundle zsh-users/zsh-syntax-highlighting
29 | antigen bundle zsh-users/zsh-autosuggestions
30 | antigen bundle zsh-users/zsh-completions
31 | antigen bundle zsh-users/zsh-history-substring-search
32 |
33 | antigen bundle jeffreytse/zsh-vi-mode
34 | antigen bundle ael-code/zsh-colored-man-pages
35 | antigen bundle kennethreitz/autoenv
36 | antigen bundle b4b4r07/enhancd
37 | # antigen bundle supercrabtree/k
38 |
39 | # Load the theme.
40 | # antigen theme romkatv/powerlevel10k
41 |
42 | # Tell Antigen that you're done.
43 | antigen apply
--------------------------------------------------------------------------------
/dot_dateifier.yaml.tmpl:
--------------------------------------------------------------------------------
1 | #
2 | # This file is managed by chezmoi. Always edit it with the command
3 | # chezmoi edit ~/.dateifier.yaml
4 | # chezmoi diff
5 | # chezmoi -v apply
6 | #
7 |
8 | {{- if eq .chezmoi.os "windows" }}
9 | media_repo: P:\
10 | {{- end }}
11 |
12 | {{ if eq .chezmoi.os "darwin" -}}
13 | media_repo: /Volumes/Photo/
14 | {{- end }}
15 |
--------------------------------------------------------------------------------
/dot_gitconfig.tmpl:
--------------------------------------------------------------------------------
1 | ;
2 | ; This file is managed by chezmoi. Always edit it with the command
3 | ; chezmoi edit ~/.zshrc
4 | ; chezmoi diff
5 | ; chezmoi -v apply
6 | ;
7 |
8 | [user]
9 | name = {{ .name }}
10 | email = {{ .email }}
11 |
12 | [pull]
13 | rebase = true
14 |
15 | [color]
16 | ui = true
17 |
18 | [core]
19 | pager = delta
20 | excludesfile = {{ joinPath .chezmoi.homeDir ".gitignore_global" }}
21 |
22 | [interactive]
23 | diffFilter = delta --color-only --features=interactive
24 |
25 | [delta]
26 | features = decorations
27 |
28 | [delta "interactive"]
29 | keep-plus-minus-markers = false
30 |
31 | [delta "decorations"]
32 | commit-decoration-style = blue ol
33 | commit-style = raw
34 | file-style = omit
35 | hunk-header-decoration-style = blue box
36 | hunk-header-file-style = red
37 | hunk-header-line-number-style = "#067a00"
38 | hunk-header-style = file line-number syntax
39 |
--------------------------------------------------------------------------------
/dot_gitignore_global:
--------------------------------------------------------------------------------
1 | .DS_Store
2 |
--------------------------------------------------------------------------------
/dot_local/bin/executable_code:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | set -eu
4 |
5 | get_in_path_except_current() {
6 | entries=$(which -a "$1") &&
7 | echo "${entries}" | grep -A1 "$0" | grep -v "$0" | head -1 | grep .
8 | }
9 |
10 | is_path_from_windows() {
11 | echo "${1}" | grep -q '^/mnt/.*$'
12 | }
13 |
14 | get_in_path_from_windows() {
15 | entries=$(which -a "$1") &&
16 | echo "${entries}" | grep -v -A99 "$0" | grep -v "$0" | grep -m1 '^/mnt/.*$' | grep .
17 | }
18 |
19 | is_first_arg_a_folder() {
20 | for arg; do
21 | shift
22 | # Skip options like --wait
23 | if [ "${arg#-}" = "${arg}" ]; then
24 | if [ -d "${arg}" ]; then
25 | return 0
26 | else
27 | return 1
28 | fi
29 | fi
30 | done
31 | return 1
32 | }
33 |
34 | if [ -n "${DEBUG:-}" ]; then
35 | set -x
36 | fi
37 |
38 | # shellcheck disable=SC2310
39 | if code="$(get_in_path_except_current code)"; then
40 | # shellcheck disable=SC2310
41 | if { [ -n "${WSL_DISTRO_NAME:-}" ] || [ -n "${IS_WSL:-}" ]; } &&
42 | ! is_path_from_windows "${code}"; then
43 | echo >&2
44 | if get_in_path_from_windows code >/dev/null && [ -z "${USE_CODE_FROM_LINUX:-}" ]; then
45 | echo "using code from Windows (set USE_CODE_FROM_LINUX=1 to use code from Linux)" >&2
46 | code="$(get_in_path_from_windows code)"
47 | else
48 | echo "using code from Linux (unset USE_CODE_FROM_LINUX to use code from Windows)" >&2
49 | export DONT_PROMPT_WSL_INSTALL=1
50 | fi
51 | fi
52 |
53 | # Used to work around https://github.com/twpayne/chezmoi/issues/1068
54 | # code duplication here is required because there is no way to set
55 | # script level args inside of functions in POSIX (on Bash we can use arrays)
56 | if is_first_arg_a_folder "$@"; then
57 | # Removes -w and --wait flags
58 | for arg; do
59 | shift
60 | if [ "${arg}" = "--wait" ] || [ "${arg}" = "-w" ]; then
61 | echo "removing --wait or -w flag" >&2
62 | continue
63 | fi
64 | set -- "$@" "${arg}"
65 | done
66 | fi
67 |
68 | exec "${code}" "$@"
69 | fi
70 |
71 | # Check if we are running in SSH
72 | if who | grep -q .; then
73 | # We will try to find an existing connection and reuse it.
74 | # This allows opening VS Code windows from a SSH remote
75 | # session even out of the VS Code integrated terminal.
76 | echo >&2
77 | printf "searching for remote ssh session..." >&2
78 | if [ -d "${HOME}/.vscode-server/bin" ]; then
79 |
80 | # Find most recent folder inside of ~/.vscode-server/bin
81 | if bin_folder=$(find "${HOME}/.vscode-server/bin" \
82 | -mindepth 1 -maxdepth 1 -type d -printf "%T@ %p\n" |
83 | sort -n | cut -d' ' -f 2- | tail -n 1 | grep .); then
84 |
85 | # Ensure code binary is executable
86 | if [ -x "${bin_folder}/bin/code" ]; then
87 |
88 | # Find most recent sock
89 | uid=$(id -u)
90 | if sock_paths=$(find "/run/user/${uid}/" \
91 | -mindepth 1 -maxdepth 1 -type s -name "vscode-ipc-*.sock" -printf "%T@ %p\n" |
92 | sort -n | cut -d' ' -f 2- | grep .); then
93 |
94 | sockets_count=$(echo "${sock_paths}" | wc -l)
95 | echo " ${sockets_count} sockets found." >&2
96 | echo "trying to connect..." >&2
97 | for sock_path in ${sock_paths}; do
98 | export VSCODE_IPC_HOOK_CLI="${sock_path}"
99 | if "${bin_folder}/bin/code" "$@"; then
100 | exit 0
101 | else
102 | echo "trying next socket..." >&2
103 | fi
104 | done
105 | fi
106 | fi
107 | fi
108 | fi
109 | echo " not found." >&2
110 | fi
111 |
112 | echo >&2
113 | printf "code is not available, " >&2
114 | if command -v code-insiders >/dev/null 2>&1; then
115 | echo "using code-insiders instead" >&2
116 |
117 | # Used to work around https://github.com/twpayne/chezmoi/issues/1068
118 | # code duplication here is required because there is no way to set
119 | # script level args inside of functions in POSIX (on Bash we can use arrays)
120 | # shellcheck disable=SC2310
121 | if is_first_arg_a_folder "$@"; then
122 | # Removes -w and --wait flags
123 | for arg; do
124 | shift
125 | if [ "${arg}" = "--wait" ] || [ "${arg}" = "-w" ]; then
126 | echo "removing --wait or -w flag" >&2
127 | continue
128 | fi
129 | set -- "$@" "${arg}"
130 | done
131 | fi
132 |
133 | exec code-insiders "$@"
134 | fi
135 |
136 | if command -v nano >/dev/null 2>&1; then
137 | editor="nano"
138 | elif command -v vim >/dev/null 2>&1; then
139 | editor="vim"
140 | elif command -v vi >/dev/null 2>&1; then
141 | editor="vi"
142 | else
143 | echo "and neither code-insiders, nano, vim or vi." >&2
144 | exit 127
145 | fi
146 |
147 | echo "using ${editor} instead" >&2
148 |
149 | # Removes -w and --wait flags
150 | # code duplication here is required because there is no way to set
151 | # script level args inside of functions in POSIX (on Bash we can use arrays)
152 | for arg; do
153 | shift
154 | if [ "${arg}" = "--wait" ] || [ "${arg}" = "-w" ]; then
155 | echo "removing --wait or -w flag" >&2
156 | continue
157 | fi
158 | set -- "$@" "${arg}"
159 | done
160 |
161 | exec "${editor}" "$@"
162 |
--------------------------------------------------------------------------------
/dot_zshrc.tmpl:
--------------------------------------------------------------------------------
1 | #
2 | # This file is managed by chezmoi. Always edit it with the command
3 | # chezmoi edit ~/.zshrc
4 | # chezmoi diff
5 | # chezmoi -v apply
6 | #
7 |
8 | #
9 | # Executes commands at the start of an interactive session.
10 | #
11 | # Authors:
12 | # Steve Francia
13 |
14 | ## PATHS
15 | path+=($HOME/go/bin)
16 | path+=($HOME/bin)
17 |
18 | ## CONFIGURATIONS
19 |
20 | # Uncomment the following line to use hyphen-insensitive completion. Case
21 | # sensitive completion must be off. _ and - will be interchangeable.
22 | HYPHEN_INSENSITIVE="true"
23 |
24 | # Uncomment the following line to enable command auto-correction.
25 | ENABLE_CORRECTION="true"
26 |
27 | HISTFILE=${ZDOTDIR:-$HOME}/.zsh_history
28 | SAVEHIST=5000
29 | HISTSIZE=2000
30 |
31 | ## OPTIONS
32 | setopt NO_CASE_GLOB # Globbing and tab-completion to be case-insensitive.
33 | setopt GLOB_COMPLETE
34 | setopt AUTO_CD # Enable changing to directories without typing cd first.
35 |
36 | setopt CORRECT # enable command auto-correction
37 | setopt CORRECT_ALL
38 |
39 | # HISTORY
40 | setopt EXTENDED_HISTORY # enable more detailed history (time, command, etc.)
41 | setopt SHARE_HISTORY # share history across multiple zsh sessions
42 | setopt APPEND_HISTORY # append to history
43 | setopt INC_APPEND_HISTORY # adds commands as they are typed, not at shell exit
44 | setopt HIST_VERIFY # let you edit !$, !! and !* before executing the command
45 | setopt HIST_IGNORE_DUPS # do not store duplications
46 | setopt HIST_REDUCE_BLANKS # removes blank lines from history
47 |
48 | eval "$(starship init zsh)"
49 |
50 | if [ -f ${HOME}/.aliases ]; then
51 | . ${HOME}/.aliases
52 | fi
53 |
54 | zstyle ':completion:*' matcher-list '' 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
55 |
56 | # pasting with tabs doesn't perform completion
57 | zstyle ':completion:*' insert-tab pending
58 |
59 | # default to file completion
60 | zstyle ':completion:*' completer _expand _complete _files _correct _approximate
61 |
62 | source ~/.antigen.zsh
63 | antigen init ~/.antigenrc
64 |
65 | {{ if eq .chezmoi.os "darwin" -}}
66 | # macOS .zshrc contents
67 | if type brew &>/dev/null; then
68 | FPATH=$(brew --prefix)/share/zsh-completions:$FPATH
69 |
70 | autoload -Uz compinit
71 | compinit
72 | fi
73 |
74 | eval "$(zoxide init zsh)"
75 |
76 | {{ else if eq .chezmoi.os "linux" -}}
77 | # Linux .zshrc contents
78 |
79 | {{ else if eq .chezmoi.os "windows" -}}
80 | # Windows .zshrc contents
81 |
82 | eval "$(zoxide init zsh | dos2unix)"
83 |
84 | {{ end -}}
85 |
--------------------------------------------------------------------------------
/run_once_before_install-packages-darwin.sh.tmpl:
--------------------------------------------------------------------------------
1 | {{- if (eq .chezmoi.os "darwin") -}}
2 | #!/bin/bash -x
3 |
4 | PACKAGES=(
5 | node
6 | gh
7 | go
8 | hugo
9 | mas
10 | shellcheck
11 | the_silver_searcher
12 | starship
13 | neovim
14 | exa
15 | tre-command
16 | bat
17 | git-delta
18 | fzf
19 | zoxide
20 | )
21 |
22 | CASKS=(
23 | 1password
24 | 1password-cli
25 | font-fira-code
26 | font-hack-nerd-font
27 | google-drive
28 | steam
29 | syncthing
30 | visual-studio-code
31 | symboliclinker
32 | epic-games
33 | xnviewmp
34 | )
35 |
36 | MASPACKAGES=(
37 | # 824171161 # "Affinity Designer"
38 | # 824183456 # "Affinity Photo"
39 | 411643860 # "DaisyDisk"
40 | # 486626129 # "Folder Tidy"
41 | 682658836 # "GarageBand"
42 | 1099568401 # "Home Assistant"
43 | 408981434 # "iMovie"
44 | # 498944723 # "JPEGmini"
45 | # 409183694 # "Keynote"
46 | # 405399194 # "Kindle"
47 | 441258766 # "Magnet"
48 | 409203825 # "Numbers"
49 | 409201541 # "Pages"
50 | # 445189367 # "PopClip"
51 | # 413965349 # "Soulver 2"
52 | # 1062679359 # "Typeface"
53 | )
54 |
55 | GOAPPS=(
56 | github.com/Crosse/font-install
57 | )
58 |
59 | # If Homebrew is not installed on the system, it will be installed here
60 | if test ! $(which brew); then
61 | printf '\n\n\e[33mHomebrew not found. \e[0mInstalling Homebrew...'
62 | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
63 | else
64 | printf '\n\n\e[0mHomebrew found. Continuing...'
65 | fi
66 |
67 | # Update homebrew packages
68 | printf '\nInitiating Homebrew update...\n'
69 | brew update
70 |
71 | printf '\nInstalling packages...\n'
72 | brew install ${PACKAGES[@]}
73 |
74 | printf '\n\nRemoving out of date packages...\n'
75 | brew cleanup
76 |
77 | printf '\n\nInstalling cask...\n'
78 | brew install cask
79 |
80 | printf '\n\nInstalling cask apps...\n'
81 | brew install --cask ${CASKS[@]}
82 |
83 | printf '\nInstalling MacAppStore apps...\n'
84 | for app in ${MASPACKAGES[@]}; do
85 | mas install ${app}
86 | done
87 |
88 | printf '\n\nInstalling go programs...\n'
89 | for app in "${GOAPPS[@]}"; do
90 | go install "${app}@latest"
91 | done
92 |
93 | printf '\n\nUpdating npm...\n'
94 | npm install -g npm
95 |
96 | printf '\n\nInstalling global npm packages...\n'
97 | npm install -g sass
98 |
99 | printf '\n\nSetting Global Mac Settings...\n'
100 | # better key repeat
101 | defaults write NSGlobalDomain InitialKeyRepeat -int 15
102 | defaults write NSGlobalDomain KeyRepeat -int 1
103 | # no delay for dock hiding
104 | defaults write com.apple.dock autohide-delay -float 0
105 | dscacheutil -flushcache
106 |
107 | printf '\n\nSetup autocomplete...\n'
108 | sudo mkdir -p /usr/local/share/zsh/site-functions/
109 | sudo chown -R $(whoami) /usr/local/share/zsh/site-functions/
110 | hugo completion zsh > /usr/local/share/zsh/site-functions/_hugo
111 |
112 | printf '\n\nSetting up antigen...\n'
113 | curl -L git.io/antigen > ${HOME}/.antigen.zsh
114 |
115 | {{ end -}}
116 |
117 |
--------------------------------------------------------------------------------
/run_once_before_install-packages-windows.bat.tmpl:
--------------------------------------------------------------------------------
1 | {{- if eq .chezmoi.os "windows" }}
2 | :: upgrade choco .exe and add choco to PATH
3 | @powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/upgrade.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
4 | choco feature enable -n allowGlobalConfirmation
5 |
6 | :: install scoop
7 | @powershell -NoProfile -ExecutionPolicy Bypass -Command "iwr -useb get.scoop.sh | iex"
8 |
9 | :: upgrade all the packages
10 |
11 | :::: BROWSERS
12 | choco upgrade googlechrome -y
13 | choco upgrade firefox -y
14 | choco upgrade vivaldi -y
15 |
16 | :::: DEV TOOLS
17 | choco upgrade git -y
18 | choco upgrade conemu -y
19 | choco upgrade sourcetree -y
20 | choco upgrade golang -y
21 | choco upgrade microsoft-windows-terminal -y
22 | choco upgrade vscode -y
23 |
24 | :::: MEDIA
25 | choco upgrade itunes -y
26 | choco upgrade exiftool -y
27 | choco upgrade potplayer -y
28 | choco upgrade kindle -y
29 | choco upgrade hugin.upgrade -y
30 | choco upgrade spotify -y
31 |
32 | :::: CREATIVE
33 | choco upgrade foxitreader -y
34 | choco upgrade hugo -y
35 |
36 | :::: CLI TOOLS
37 | choco upgrade ag -y
38 | choco upgrade starship -y
39 | choco upgrade bat -y
40 | choco upgrade syncthing -y
41 | choco upgrade fzf -y
42 | choco upgrade zoxide -y
43 | choco upgrade zstandard -y
44 | choco upgrade delta -y
45 |
46 | :::: UTILS
47 | choco upgrade dropbox -y
48 | choco upgrade googledrive -y
49 | choco upgrade coretemp -y
50 | choco upgrade directoryopus -y
51 | choco upgrade autoruns -y
52 | choco upgrade unchecky -y
53 | choco upgrade powertoys -y
54 | choco upgrade treesizefree -y
55 | choco upgrade bleachbit -y
56 | choco upgrade revo-uninstaller -y
57 | choco upgrade shutup10 -y
58 | choco upgrade linkshellextension -y
59 |
60 | :::: FONTS
61 | choco upgrade firacode -y
62 | choco upgrade fontbase -y
63 | choco upgrade sourcecodepro -y
64 | choco upgrade hackfont -y
65 | choco upgrade cascadiamono -y
66 | choco upgrade cascadiacode -y
67 | choco upgrade cascadiafonts -y
68 | choco upgrade cascadiamonopl -y
69 | choco upgrade cascadiacodepl -y
70 |
71 | :::: GAMES
72 | choco upgrade goggalaxy -y
73 | choco upgrade steam -y
74 | choco upgrade origin -y
75 | choco upgrade epicgameslauncher -y
76 |
77 | :::: Drivers
78 | choco upgrade geforce-experience -y
79 | choco upgrade geforce-game-ready-driver -y
80 | :: choco upgrade intel-dsa -y
81 |
82 | IF NOT EXIST "c:\Program Files\Git\usr\bin\zsh.exe" (
83 | curl -L https://mirror.msys2.org/msys/x86_64/zsh-5.8-5-x86_64.pkg.tar.zst > %TEMP%/zsh.pkg.tar.zst
84 | zstd -d %TEMP%/zsh.pkg.tar.zst
85 | move %TEMP%\zsh.pkg "C:\Program Files\Git\zsh.pkg.tar"
86 | cd "C:\Program Files\Git\"
87 | tar -xvf zsh.pkg.tar
88 | del %TEMP%\zsh.pkg.tar.zst
89 | del "C:\Program Files\Git\zsh.pkg.tar"
90 | )
91 |
92 | IF NOT EXIST %HOMEPATH%/.antigen.zsh (
93 | curl -L git.io/antigen > %HOMEPATH%/.antigen.zsh
94 | )
95 |
96 | {{- end }}
97 |
--------------------------------------------------------------------------------