diff --git a/fish/.gitignore b/.config/fish/.gitignore similarity index 100% rename from fish/.gitignore rename to .config/fish/.gitignore diff --git a/fish/completions/fisher.fish b/.config/fish/completions/fisher.fish similarity index 100% rename from fish/completions/fisher.fish rename to .config/fish/completions/fisher.fish diff --git a/fish/completions/license.fish b/.config/fish/completions/license.fish similarity index 100% rename from fish/completions/license.fish rename to .config/fish/completions/license.fish diff --git a/fish/completions/replay.fish b/.config/fish/completions/replay.fish similarity index 100% rename from fish/completions/replay.fish rename to .config/fish/completions/replay.fish diff --git a/fish/completions/sdk.fish b/.config/fish/completions/sdk.fish similarity index 100% rename from fish/completions/sdk.fish rename to .config/fish/completions/sdk.fish diff --git a/fish/completions/set_cursor.fish b/.config/fish/completions/set_cursor.fish similarity index 100% rename from fish/completions/set_cursor.fish rename to .config/fish/completions/set_cursor.fish diff --git a/fish/conf.d/fzf.fish b/.config/fish/conf.d/fzf.fish similarity index 100% rename from fish/conf.d/fzf.fish rename to .config/fish/conf.d/fzf.fish diff --git a/fish/conf.d/nix-env.fish b/.config/fish/conf.d/nix-env.fish similarity index 100% rename from fish/conf.d/nix-env.fish rename to .config/fish/conf.d/nix-env.fish diff --git a/fish/conf.d/sdk.fish b/.config/fish/conf.d/sdk.fish similarity index 100% rename from fish/conf.d/sdk.fish rename to .config/fish/conf.d/sdk.fish diff --git a/fish/conf.d/xdg.fish b/.config/fish/conf.d/xdg.fish similarity index 100% rename from fish/conf.d/xdg.fish rename to .config/fish/conf.d/xdg.fish diff --git a/fish/config.fish b/.config/fish/config.fish similarity index 100% rename from fish/config.fish rename to .config/fish/config.fish diff --git a/fish/fish_plugins b/.config/fish/fish_plugins similarity index 100% rename from fish/fish_plugins rename to .config/fish/fish_plugins diff --git a/fish/functions/battery.fish b/.config/fish/functions/battery.fish similarity index 100% rename from fish/functions/battery.fish rename to .config/fish/functions/battery.fish diff --git a/fish/functions/broken_symlinks.fish b/.config/fish/functions/broken_symlinks.fish similarity index 100% rename from fish/functions/broken_symlinks.fish rename to .config/fish/functions/broken_symlinks.fish diff --git a/fish/functions/class_version.fish b/.config/fish/functions/class_version.fish similarity index 100% rename from fish/functions/class_version.fish rename to .config/fish/functions/class_version.fish diff --git a/fish/functions/confirm.fish b/.config/fish/functions/confirm.fish similarity index 100% rename from fish/functions/confirm.fish rename to .config/fish/functions/confirm.fish diff --git a/fish/functions/diff.fish b/.config/fish/functions/diff.fish similarity index 100% rename from fish/functions/diff.fish rename to .config/fish/functions/diff.fish diff --git a/fish/functions/dns_flush.fish b/.config/fish/functions/dns_flush.fish similarity index 100% rename from fish/functions/dns_flush.fish rename to .config/fish/functions/dns_flush.fish diff --git a/fish/functions/expand_dots.fish b/.config/fish/functions/expand_dots.fish similarity index 100% rename from fish/functions/expand_dots.fish rename to .config/fish/functions/expand_dots.fish diff --git a/fish/functions/fbrew.fish b/.config/fish/functions/fbrew.fish similarity index 100% rename from fish/functions/fbrew.fish rename to .config/fish/functions/fbrew.fish diff --git a/fish/functions/fish_colors.fish b/.config/fish/functions/fish_colors.fish similarity index 100% rename from fish/functions/fish_colors.fish rename to .config/fish/functions/fish_colors.fish diff --git a/fish/functions/fish_colors_check.fish b/.config/fish/functions/fish_colors_check.fish similarity index 100% rename from fish/functions/fish_colors_check.fish rename to .config/fish/functions/fish_colors_check.fish diff --git a/fish/functions/fish_vars.fish b/.config/fish/functions/fish_vars.fish similarity index 100% rename from fish/functions/fish_vars.fish rename to .config/fish/functions/fish_vars.fish diff --git a/fish/functions/fisher.fish b/.config/fish/functions/fisher.fish similarity index 100% rename from fish/functions/fisher.fish rename to .config/fish/functions/fisher.fish diff --git a/fish/functions/fishy.fish b/.config/fish/functions/fishy.fish similarity index 100% rename from fish/functions/fishy.fish rename to .config/fish/functions/fishy.fish diff --git a/fish/functions/fkill.fish b/.config/fish/functions/fkill.fish similarity index 100% rename from fish/functions/fkill.fish rename to .config/fish/functions/fkill.fish diff --git a/fish/functions/forget.fish b/.config/fish/functions/forget.fish similarity index 100% rename from fish/functions/forget.fish rename to .config/fish/functions/forget.fish diff --git a/fish/functions/hbrake.fish b/.config/fish/functions/hbrake.fish similarity index 100% rename from fish/functions/hbrake.fish rename to .config/fish/functions/hbrake.fish diff --git a/fish/functions/hr.fish b/.config/fish/functions/hr.fish similarity index 100% rename from fish/functions/hr.fish rename to .config/fish/functions/hr.fish diff --git a/fish/functions/license.fish b/.config/fish/functions/license.fish similarity index 100% rename from fish/functions/license.fish rename to .config/fish/functions/license.fish diff --git a/fish/functions/man.fish b/.config/fish/functions/man.fish similarity index 100% rename from fish/functions/man.fish rename to .config/fish/functions/man.fish diff --git a/fish/functions/manifest.fish b/.config/fish/functions/manifest.fish similarity index 100% rename from fish/functions/manifest.fish rename to .config/fish/functions/manifest.fish diff --git a/fish/functions/mansearch.fish b/.config/fish/functions/mansearch.fish similarity index 100% rename from fish/functions/mansearch.fish rename to .config/fish/functions/mansearch.fish diff --git a/fish/functions/md5sum.fish b/.config/fish/functions/md5sum.fish similarity index 100% rename from fish/functions/md5sum.fish rename to .config/fish/functions/md5sum.fish diff --git a/fish/functions/mkcd.fish b/.config/fish/functions/mkcd.fish similarity index 100% rename from fish/functions/mkcd.fish rename to .config/fish/functions/mkcd.fish diff --git a/fish/functions/motd.fish b/.config/fish/functions/motd.fish similarity index 100% rename from fish/functions/motd.fish rename to .config/fish/functions/motd.fish diff --git a/fish/functions/nix_upgrade.fish b/.config/fish/functions/nix_upgrade.fish similarity index 100% rename from fish/functions/nix_upgrade.fish rename to .config/fish/functions/nix_upgrade.fish diff --git a/fish/functions/npm_upgrade.fish b/.config/fish/functions/npm_upgrade.fish similarity index 100% rename from fish/functions/npm_upgrade.fish rename to .config/fish/functions/npm_upgrade.fish diff --git a/fish/functions/pip_upgrade.fish b/.config/fish/functions/pip_upgrade.fish similarity index 100% rename from fish/functions/pip_upgrade.fish rename to .config/fish/functions/pip_upgrade.fish diff --git a/fish/functions/port_listener.fish b/.config/fish/functions/port_listener.fish similarity index 100% rename from fish/functions/port_listener.fish rename to .config/fish/functions/port_listener.fish diff --git a/fish/functions/replay.fish b/.config/fish/functions/replay.fish similarity index 100% rename from fish/functions/replay.fish rename to .config/fish/functions/replay.fish diff --git a/fish/functions/sbt_clean.fish b/.config/fish/functions/sbt_clean.fish similarity index 100% rename from fish/functions/sbt_clean.fish rename to .config/fish/functions/sbt_clean.fish diff --git a/fish/functions/sdk.fish b/.config/fish/functions/sdk.fish similarity index 100% rename from fish/functions/sdk.fish rename to .config/fish/functions/sdk.fish diff --git a/fish/functions/set_cursor.fish b/.config/fish/functions/set_cursor.fish similarity index 100% rename from fish/functions/set_cursor.fish rename to .config/fish/functions/set_cursor.fish diff --git a/fish/functions/sha256sum.fish b/.config/fish/functions/sha256sum.fish similarity index 100% rename from fish/functions/sha256sum.fish rename to .config/fish/functions/sha256sum.fish diff --git a/fish/functions/which.fish b/.config/fish/functions/which.fish similarity index 100% rename from fish/functions/which.fish rename to .config/fish/functions/which.fish diff --git a/git/config b/.config/git/config similarity index 100% rename from git/config rename to .config/git/config diff --git a/git/ignore b/.config/git/ignore similarity index 100% rename from git/ignore rename to .config/git/ignore diff --git a/nix/nix.conf b/.config/nix/nix.conf similarity index 100% rename from nix/nix.conf rename to .config/nix/nix.conf diff --git a/nix/packages.nix b/.config/nix/packages.nix similarity index 100% rename from nix/packages.nix rename to .config/nix/packages.nix diff --git a/nvim/.gitignore b/.config/nvim/.gitignore similarity index 100% rename from nvim/.gitignore rename to .config/nvim/.gitignore diff --git a/nvim/init.vim b/.config/nvim/init.vim similarity index 100% rename from nvim/init.vim rename to .config/nvim/init.vim diff --git a/sbt/plugins/.gitignore b/.config/sbt/plugins/.gitignore similarity index 100% rename from sbt/plugins/.gitignore rename to .config/sbt/plugins/.gitignore diff --git a/sbt/plugins/plugins.sbt b/.config/sbt/plugins/plugins.sbt similarity index 100% rename from sbt/plugins/plugins.sbt rename to .config/sbt/plugins/plugins.sbt diff --git a/sbt/settings/aliases.sbt b/.config/sbt/settings/aliases.sbt similarity index 100% rename from sbt/settings/aliases.sbt rename to .config/sbt/settings/aliases.sbt diff --git a/sbt/settings/prompt.sbt b/.config/sbt/settings/prompt.sbt similarity index 100% rename from sbt/settings/prompt.sbt rename to .config/sbt/settings/prompt.sbt diff --git a/bash/.bashrc b/bash/.bashrc deleted file mode 100644 index f8ca365..0000000 --- a/bash/.bashrc +++ /dev/null @@ -1,16 +0,0 @@ -# Path -export PATH="$HOME/bin" -export PATH="$PATH:/usr/local/bin" -export PATH="$PATH:/usr/bin" -export PATH="$PATH:/bin" -export PATH="$PATH:/usr/local/sbin" -export PATH="$PATH:/usr/sbin" -export PATH="$PATH:/sbin" - -# Do not save lines which begin with a space character -# Do not save lines which match the previous history entry -# Remove from history all previous lines matching the current line -export HISTCONTROL=ignoreboth:erasedups - -[ -f /usr/local/etc/bash_completion ] && source /usr/local/etc/bash_completion -[ -f $HOME/.sdkman/bin/sdkman-init.sh ] && source $HOME/.sdkman/bin/sdkman-init.sh diff --git a/install/install-nix-packages.sh b/install/install-nix-packages.sh index ce080d5..f7707de 100755 --- a/install/install-nix-packages.sh +++ b/install/install-nix-packages.sh @@ -9,7 +9,7 @@ found_nix_command=0 for profile in "$HOME/.nix-profile" "/nix/var/nix/profiles/default" do if test -x "$profile/bin/nix-env"; then - "$profile/bin/nix-env" --install --remove-all --file "$ROOTDIR/nix/packages.nix" + "$profile/bin/nix-env" --install --remove-all --file "$ROOTDIR/.config/nix/packages.nix" found_nix_command=1 break fi diff --git a/install/install-symlinks.sh b/install/install-symlinks.sh index a16c607..7f9a24c 100755 --- a/install/install-symlinks.sh +++ b/install/install-symlinks.sh @@ -4,31 +4,19 @@ echo "***** INSTALL SYMLINKS *****" ROOTDIR=$(cd "$(dirname "$0")/.." && pwd) -backup_existing() { - if [ -e "$1" ]; then - if [ ! -L "$1" ]; then - mv -v "$1" "$1.backup" - fi - fi -} - -# Backup configs that are not already symlinked -backup_existing "$HOME/.bashrc" -backup_existing "$HOME/.config/fish" -backup_existing "$HOME/.config/git" -backup_existing "$HOME/.config/nix" -backup_existing "$HOME/.config/nvim" -backup_existing "$HOME/.config/sbt" - # Create config directory if not present mkdir -p "$HOME/.config" -# Create symlinks, forcing updates -ln -fnsv "$ROOTDIR/bash/.bashrc" "$HOME/.bashrc" # Bash does not support XDG config -ln -fnsv "$ROOTDIR/fish" "$HOME/.config/fish" -ln -fnsv "$ROOTDIR/git" "$HOME/.config/git" -ln -fnsv "$ROOTDIR/nix" "$HOME/.config/nix" -ln -fnsv "$ROOTDIR/nvim" "$HOME/.config/nvim" -ln -fnsv "$ROOTDIR/sbt" "$HOME/.config/sbt" +for srcdir in $(find "$ROOTDIR/.config" -mindepth 1 -maxdepth 1 -type d); do + dstdir="$HOME/.config/$(basename $srcdir)" + + # Backup configs that are not already symlinked + if [ -e "$dstdir" ] && [ ! -L "$dstdir" ]; then + mv -v "$dstdir" "$dstdir.backup" + fi + + # Create symlinks, forcing updates + ln -fnsv "$srcdir" "$dstdir" +done echo