66 lines
2.2 KiB
Fish
66 lines
2.2 KiB
Fish
# Install dotfiles (and optionally tools) to the current macOS host,
|
|
# for example when provisioning within a VM.
|
|
|
|
set -f DEFAULT_FULL_NAME 'Brent Schroeter'
|
|
|
|
argparse -S 'email=' 'full-name=' ghostty install-mise overwrite -- $argv
|
|
|
|
if not set -ql _flag_full_name
|
|
set -f _flag_full_name "$DEFAULT_FULL_NAME"
|
|
end
|
|
if not set -ql _flag_email
|
|
echo '--email is required for VCS configuration' >&2
|
|
return 1
|
|
end
|
|
|
|
mkdir -p ~/.config
|
|
|
|
if set -ql _flag_overwrite; or not test -e ~/.gitconfig
|
|
cp ./assets/git/gitconfig ~/.gitconfig
|
|
sed -i '' "s/{{ VCS_EMAIL }}/$_flag_email/" ~/.gitconfig
|
|
sed -i '' "s/{{ VCS_NAME }}/$_flag_full_name/" ~/.gitconfig
|
|
else
|
|
echo 'Git config already exists. Use --overwrite to replace it.' >&2
|
|
end
|
|
|
|
if set -ql _flag_overwrite; or not test -e ~/.config/jj/config.toml
|
|
mkdir -p ~/.config/jj
|
|
cp ./assets/jj/config.toml ~/.config/jj/
|
|
sed -i '' "s/{{ VCS_EMAIL }}/$_flag_email/" ~/.config/jj/config.toml
|
|
sed -i '' "s/{{ VCS_NAME }}/$_flag_full_name/" ~/.config/jj/config.toml
|
|
else
|
|
echo 'JJ config already exists. Use --overwrite to replace it.' >&2
|
|
end
|
|
|
|
if set -ql _flag_overwrite; or not test -e ~/.config/helix
|
|
if test -e ~/.config/helix
|
|
rm -r ~/.config/helix
|
|
end
|
|
cp -r ./assets/helix ~/.config/helix
|
|
else
|
|
echo 'Helix configs already exist. Use --overwrite to replace them.' >&2
|
|
end
|
|
|
|
if set -ql _flag_install_mise
|
|
brew install mise
|
|
if set -ql _flag_overwrite; or not test -e ~/.config/mise/config.toml
|
|
mkdir -p ~/.config/mise
|
|
cp ./assets/mise/config.toml ~/.config/mise/
|
|
else
|
|
echo 'Mise config already exists. Use --overwrite to replace it.' >&2
|
|
end
|
|
mise install
|
|
end
|
|
|
|
if set -ql _flag_ghostty
|
|
if [ "$(uname)" = Darwin ]
|
|
if set -ql _flag_overwrite; or not test -e ~/Library/Application\ Support/com.mitchellh.ghostty/config
|
|
mkdir -p ~/Library/Application\ Support/com.mitchellh.ghostty
|
|
cp ./assets/ghostty/config ~/Library/Application\ Support/com.mitchellh.ghostty/config
|
|
else
|
|
echo 'Ghostty config already exists. Use --overwrite to replace it.' >&2
|
|
end
|
|
else
|
|
echo 'Ghostty setup on Linux is not yet supported. Skipping.' >&2
|
|
end
|
|
end
|