1
Fork 0
mirror of https://github.com/Steffo99/config-fish.git synced 2024-10-16 14:27:34 +00:00
config-fish/functions/dotfish.fish

48 lines
1.3 KiB
Fish
Raw Normal View History

2021-07-15 00:22:16 +00:00
function dotfish
if test (count $argv) -ge 1
set -g TARGET $argv[1]
else
set -g TARGET (whoami)
end
echo_progress "Updating fish config for: "
echo_highlight "$TARGET" \n
2021-07-15 00:32:00 +00:00
if test -z $TARGET
2021-07-15 00:49:45 +00:00
echo_progress "Couldn't detect target, exiting..." \n
return 1
2021-07-15 00:32:00 +00:00
end
set -g FISHCONFIG ~(echo $TARGET)/.config/fish
echo_progress "Destination directory is: "
echo_highlight "$FISHCONFIG" \n
2021-07-15 00:49:45 +00:00
if not test -e "$FISHCONFIG/.DOTFISHED"
echo_progress "Conflicting config detected, confirm deletion?" \n
if confirm
echo_progress "Deleting old config..." \n
2021-07-15 01:02:47 +00:00
rm -rf "$FISHCONFIG"
2021-07-15 00:49:45 +00:00
else
echo_progress "Deletion was refused, exiting..." \n
return 2
end
end
2021-07-15 01:02:47 +00:00
if test -d "$FISHCONFIG"
2021-07-15 00:49:45 +00:00
echo_progress "Existing config detected, pulling from Git..." \n
2021-07-15 01:02:47 +00:00
git -C "$FISHCONFIG" pull
2021-07-15 00:27:19 +00:00
else
2021-07-15 00:49:45 +00:00
echo_progress "No config detected, cloning from Git..." \n
2021-07-15 01:02:47 +00:00
git clone "https://github.com/Steffo99/.config-fish" "$FISHCONFIG"
2021-07-15 00:27:19 +00:00
end
2021-07-15 00:22:16 +00:00
echo_progress "Fixing permissions..." \n
2021-07-15 01:02:47 +00:00
chown -R "$TARGET:" "$FISHCONFIG"
echo_progress "Changing login shell..." \n
chsh -s "/usr/bin/fish" "$TARGET"
2021-07-15 00:22:16 +00:00
2021-07-15 00:49:45 +00:00
echo_progress "Update complete!" \n
2021-07-15 00:22:16 +00:00
end