Skip to content

Fast, automated, and consistent setup of development and terminal environment on any new Linux machine.

Notifications You must be signed in to change notification settings

denlove/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

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

πŸ“‚ Structure

.
β”œβ”€β”€ 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

πŸ› οΈ How to Use

Step 1: Clone the Repository

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 dotfiles

Step 2: Run the Installation

You have two options: a full automated installation or installing modules individually.

Option A: Full Automated Install

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

Description: This script will iterate through modules like tmux and zsh, executing their individual installers.


Option B: Install a Specific Module

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

Description: This method allows you to apply configurations granularly without affecting the rest of the system.

πŸ“ˆ How to Add a New Module (e.g. for nvim)

  1. Create a new directory: mkdir nvim
  2. Place your configuration file(s) and an install.sh script inside (e.g., nvim/init.vim and nvim/install.sh).
  3. 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.

About

Fast, automated, and consistent setup of development and terminal environment on any new Linux machine.

Resources

Stars

Watchers

Forks

Languages