Skip to content

Dotfiles installation

Set up user configurations including Git configurations (name and email), along with configuring several user preferences such as .aliases, .bash_aliases, and other configurations. It provides options for interactive input or automated setup.

Quickstart

git clone https://www.github.com/athackst/workstation_setup
cd workstation_setup
./install.sh

Usage:

./install.sh [-i] [-e EMAIL] [-n NAME] [-m symlink|copy] [-h]
  -i            Interactive mode (prompts before actions)
  -e EMAIL      Set git user.email
  -n NAME       Set git user.name
  -m MODE       Install mode: 'symlink' (default) or 'copy'
  -h            Help

Modes

  • symlink (default): Creates/refreshes symlinks in $HOME. Fast and idempotent.
  • copy: Copies files/dirs and creates a timestamped backup in ~/bak/config_backup_YYYYmmdd_HHMMSS before overwriting.

The script also ensures ~/.local/bin exists and is on your PATH.

Git identity (~/.gitconfig.user)

This script will also set up the git identity of the user

  • Non-interactive: Only fills missing user.name / user.email (does not override existing values).
  • Interactive: You’ll be asked once whether to update; if yes, values are written.

In either case, if the file is changed, it’s backed up first.

Uses git config --file ~/.gitconfig.user to update keys (no full-file overwrite).