Modify README

This commit is contained in:
2026-03-15 10:43:56 +05:30
parent d2c5b35cc7
commit 0cb38447fc

View File

@@ -2,7 +2,7 @@
This repository contains my personal dotfiles, managed using [GNU Stow](https://www.gnu.org/software/stow/). This repository contains my personal dotfiles, managed using [GNU Stow](https://www.gnu.org/software/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. Using `stow` ensures that all configuration files are cleanly symlinked into your home directory, mirroring the structure of this repository.
## Requirements ## Requirements
@@ -27,52 +27,47 @@ sudo pacman -S stow
## Installation ## Installation
To install a specific package (e.g., `nvim`), navigate to the root of this repository and run: To install all configurations at once, navigate to the root of this repository and run:
```bash ```bash
stow nvim stow .
```
To install all standard packages at once, run:
```bash
stow bash zsh nvim starship tmux
``` ```
This will automatically create the necessary symlinks in your `$HOME` directory pointing to the files in this repository. This will automatically create the necessary symlinks in your `$HOME` directory pointing to the files in this repository.
### Removing a Package ### Removing Configurations
If you want to remove the symlinks for a specific package, use the `-D` flag: If you want to remove the symlinks created by Stow, use the `-D` flag:
```bash ```bash
stow -D nvim stow -D .
``` ```
## Directory Structure ## 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. The folder structure directly mirrors its target destination relative to the home (`~/`) directory.
```text ```text
. .
├── bash/ ├── .bashrc # Symlinked to ~/.bashrc
│ └── .bashrc # Symlinked to ~/.bashrc ├── .config/ # Symlinked to ~/.config/
├── nvim/ │ ├── alacritty/
── .config/ ── kitty/
└── nvim/ # Symlinked to ~/.config/nvim/ ├── nvim/
├── starship/ ├── starship.toml
│ └── .config/ │ └── ...
│ └── starship.toml # Symlinked to ~/.config/starship.toml ├── .fonts/ # Symlinked to ~/.fonts/
├── tmux/ ├── .tmux.conf # Symlinked to ~/.tmux.conf
├── .tmux.conf # Symlinked to ~/.tmux.conf ├── .tmux.conf.local # Symlinked to ~/.tmux.conf.local
│ └── .tmux.conf.local # Symlinked to ~/.tmux.conf.local ├── .vimrc # Symlinked to ~/.vimrc
── zsh/ ── .zshrc # Symlinked to ~/.zshrc
└── .zshrc # Symlinked to ~/.zshrc ├── scripts/ # Symlinked to ~/scripts/
├── shell/ # Symlinked to ~/shell/
└── wezterm.lua # Symlinked to ~/wezterm.lua
``` ```
### Adding New Configurations ### Adding New Configurations
When you want to add a new tool: When you want to add a new tool:
1. Create a new directory for it (e.g., `wezterm`). 1. Replicate the target directory structure inside this repository (e.g., `.config/new_tool/config.toml`).
2. Replicate the target directory structure inside this new folder (e.g., `wezterm/.config/wezterm/wezterm.lua`). 2. Run `stow .` from the root of this repository to link the new files.
3. Run `stow wezterm` from the root of this repository.