Dotfiles are used to customize and automate you daily work on the terminal using scripts and aliases.
The "dotfiles" name is derived from the configuration files in Unix-like systems that start with a dot.
.bash_aliases.gitconfig
Clone the repository:
git clone https://github.com/carlos-algms/dotfiles.git
cd dotfilesThe bootstrapper script will create symbolic links in the home folder replacing existing files, so remember to backup.
Files to backup:
~/.bashrc~/.bash_profile~/.zshrc
./bootstrap.shbootstrap.bat- Entry point:
./bootstrap.sh- Orchestrates all installation scripts - Architecture: Iterates through subdirectories running individual
install.shscripts - Logging: All scripts source
shell/common/01_logging.shfor consistent output (e_header, e_success, e_error, e_arrow) - OS Detection: Scripts source
shell/common/00_os.shwhich exportsIS_WIN,IS_MAC,IS_LINUXenvironment variables
Each major component has its own install.sh:
shell/install.sh- Shell configuration (detects OS and delegates to platform-specific installers)neovim/install.sh- Neovim setup (installs via brew/apt, creates symlink fromneovim/nvimto~/.config/nvim)kitty/install.sh- Kitty terminal (macOS only, symlinks config files)
- Scripts create symlinks to this repository rather than copying files
- Existing files are backed up with timestamp suffix before linking
- Platform-specific installers in
shell/[linux|macos|windows]/install-*.sh
# Install/update all configurations
./bootstrap.sh
# OR Install individual components
./shell/install.sh
./neovim/install.sh
./kitty/install.sh
# Sync neovim config via SSH
# Like a shared host like HostGator, GoDaddy, etc..
./neovim/sync-via-ssh.sh| Carlos A. Gomes |