diff --git a/README.md b/README.md new file mode 100644 index 0000000..ac21630 --- /dev/null +++ b/README.md @@ -0,0 +1,42 @@ +# Dotfiles + +## Install + +```bash +git clone --recurse-submodules +cd new-dotfiles +./install.sh +``` + +The install script detects your package manager (pacman/apt/dnf), installs dependencies, symlinks configs, and sets up `/etc/zsh/zshenv`. + +See [DEPENDENCIES.md](DEPENDENCIES.md) for the full package list per distro. + +## Structure + +``` +config/ → user configs, each subfolder is symlinked to ~/.config/ +system/ → system-wide configs, installed with sudo +install.sh → package installation + symlinks + system config +``` + +## Adding a new config + +1. Copy or create the config directory under `config/`: + ```bash + cp -r ~/.config/foo config/foo + ``` +2. The install script's `for` loop will automatically symlink `config/foo` to `~/.config/foo` on next run. + +## Adding system-level config + +1. Place the file under `system/` with a meaningful path or name. +2. Add an `install` line to the system config section of `install.sh`: + ```bash + sudo install -Dm644 "$DOTFILES/system/foo.conf" /etc/foo.conf + ``` + +## Adding dependencies + +1. Add the package to the appropriate distro block in `install.sh`. +2. Update the table in [DEPENDENCIES.md](DEPENDENCIES.md).