# 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.