This system is designed for a fast, automated, and consistent setup of development and terminal environment on any new Linux machine (primarily Debian/Ubuntu-based).
.
βββ install.sh # The main orchestrator that runs all module installers
βββ lib/
β βββ helpers.sh # A library of shared helper functions (linking, backups)
βββ tmux/ # Tmux Module
β βββ .tmux.conf # Tmux configuration file
β βββ install.sh # Installer script for Tmux ONLY
βββ zsh/ # Zsh Module
β βββ .zshrc # Zsh configuration file
β βββ install.sh # Installer script for Zsh ONLY
βββ README.md # This file
First, clone this repository to the target machine.
# Ensure git is installed: sudo apt update && sudo apt install git -y
git clone https://github.com/YOUR_USERNAME/dotfiles.git
cd dotfilesYou have two options: a full automated installation or installing modules individually.
This script will automatically find and run every install.sh script in the subdirectories. It's perfect for quickly setting up a new machine.
# Make the main script executable
chmod +x install.sh
# Run it!
./install.shDescription: This script will iterate through modules like tmux and zsh, executing their individual installers.
If you only need to set up a single program, like tmux, you can run its specific installer.
# Navigate to the desired module's directory
cd tmux
# Make the installer executable
chmod +x install.sh
# Run the installer for tmux only
./install.shDescription: This method allows you to apply configurations granularly without affecting the rest of the system.
- Create a new directory:
mkdir nvim - Place your configuration file(s) and an
install.shscript inside (e.g.,nvim/init.vimandnvim/install.sh). - Write the installation logic in
nvim/install.sh, following the existing examples.
That's it! The main install.sh orchestrator will automatically pick up your new module the next time it's run.