Files
dotfiles/README.md
T
2026-06-18 14:31:10 +02:00

98 lines
2.7 KiB
Markdown

# Minimal Dotfiles
A deliberately minimal dotfile configuration.
## Philosophy
Over the years I have grown tired of tweaking config files for every component of my desktop.
This repository contains only the essentials.
Start with a minimal **Void Linux** install using the XFCE4 base image.
## What's Inside
```
.
├── config/
│ ├── alacritty/ # Alacritty terminal configuration
│ ├── fish/ # Fish shell configuration
│ ├── kanata/ # Keyboard remapping
│ ├── lf/ # Terminal file manager
│ ├── nvim/ # Neovim setup
│ └── tmux/ # Tmux configuration
├── scripts/
│ ├── install_odin # Odin compiler install recipe
│ ├── install_php # PHP install recipe
│ ├── install_raylib_deps # Raylib dependencies
│ └── install_theme # XFCE4 theme setup
└── install.sh # Dotfile symlinks and package installation
```
## Prerequisites
Before running `install.sh`, take care of the following manually:
- `sudo xbps-install -Su` — sync and update
- Set up SSH keys
- Clone this repo
- Install a Nerd Font
## Software Installation
Installs packages and creates config symlinks on top of the XFCE4 base image.
### Install Options
```sh
# Interactive mode (prompts for confirmation at each step)
./install.sh
# Only create symlinks
./install.sh -l
# Only install packages
./install.sh -i
```
## What Gets Installed
The script enables `void-repo-nonfree` (and `void-repo-multilib-nonfree` on x86_64), then installs
packages via `xbps-install`:
- **CLI Tools**: `wget`, `curl`, `git`, `unzip`, `fzf`, `fd`, `ripgrep`, `bat`, `direnv`, `tree`, `jq`, `lf`, `rsync`, `pfetch`
- **Development**: `base-devel`, `make`, `valgrind`, `tree-sitter-cli`, `go`
- **Shell**: `fish-shell`
- **Terminal**: `alacritty`
- **Keyboard**: `kanata`
- **Desktop**: `polybar`, `rofi`, `xdotool`, `wmctrl`
- **Fonts**: `noto-fonts-ttf`, `noto-fonts-emoji`
- **Other**: `ca-certificates`, `gnupg`, `fuse`
## Symlinks Created
| Symlink | Target |
|---|---|
| `~/.config/alacritty` | `./config/alacritty` |
| `~/.config/fish` | `./config/fish` |
| `~/.config/kanata` | `./config/kanata` |
| `~/.config/nvim` | `./config/nvim` |
| `~/.config/lf` | `./config/lf` |
## Scripts
Self-contained recipes for tooling that goes beyond the core install. Each can be run independently:
```sh
./scripts/install_odin
./scripts/install_php
./scripts/install_raylib_deps
./scripts/install_theme
```
These are not run automatically by `install.sh` — they are opt-in.
---
This setup prioritises **stability** and **simplicity** over customisation. Void Linux + XFCE4 + X11
provides a fast, predictable base with minimal moving parts.