Files

43 lines
1.2 KiB
Markdown

# Dotfiles
## Install
```bash
git clone --recurse-submodules ssh://git@git.alxczl.fr:7878/alexandre/dotfiles.git
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/<name>
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).