2026-03-14 22:03:54 +05:30
2026-03-14 22:03:54 +05:30
2026-03-12 12:35:37 +05:30
2026-03-14 21:51:44 +05:30
2026-03-14 21:49:23 +05:30
2026-03-14 21:51:44 +05:30
2026-03-14 21:56:11 +05:30
2026-03-14 21:51:44 +05:30
2026-03-14 21:49:23 +05:30

dotfiles

This repository contains my personal dotfiles, managed using GNU Stow.

Instead of a custom installation script, configurations are organized into logical "packages". Using stow ensures that all configuration files are cleanly symlinked into your home directory, mirroring the structure inside the package folder.

Requirements

To install Stow on macOS, use Homebrew:

brew install stow

To install Stow on Linux, use your distribution's package manager:

Ubuntu / Debian

sudo apt install stow

Arch Linux

sudo pacman -S stow

Installation

To install a specific package (e.g., nvim), navigate to the root of this repository and run:

stow nvim

To install all standard packages at once, run:

stow bash zsh nvim starship tmux

This will automatically create the necessary symlinks in your $HOME directory pointing to the files in this repository.

Removing a Package

If you want to remove the symlinks for a specific package, use the -D flag:

stow -D nvim

Directory Structure

To keep things modular and easy to manage, each folder acts as a "package" that represents an application or environment. The folder structure inside the package strictly mirrors its target destination relative to the home (~/) directory.

.
├── bash/
│   └── .bashrc                  # Symlinked to ~/.bashrc
├── nvim/
│   └── .config/
│       └── nvim/                # Symlinked to ~/.config/nvim/
├── starship/
│   └── .config/
│       └── starship.toml        # Symlinked to ~/.config/starship.toml
├── tmux/
│   ├── .tmux.conf               # Symlinked to ~/.tmux.conf
│   └── .tmux.conf.local         # Symlinked to ~/.tmux.conf.local
└── zsh/
    └── .zshrc                   # Symlinked to ~/.zshrc

Adding New Configurations

When you want to add a new tool:

  1. Create a new directory for it (e.g., wezterm).
  2. Replicate the target directory structure inside this new folder (e.g., wezterm/.config/wezterm/wezterm.lua).
  3. Run stow wezterm from the root of this repository.
Description
No description provided
Readme 109 MiB
Languages
Lua 72.9%
Shell 23.3%
Python 1.3%
CSS 1.2%
JavaScript 1.2%