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).