Update README.md

This commit is contained in:
2026-06-15 11:03:17 +02:00
parent bb3d06a857
commit e314363e8b
+60 -49
View File
@@ -7,82 +7,93 @@ A deliberately minimal dotfile configuration.
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 Debian 13 (Trixie) install — SSH server and system essentials only, no desktop environment.
Start with a minimal **Void Linux** install using the XFCE4 base image.
## What's Inside
.
├── config/
│ ├── alacritty/ # Alacritty terminal configuration
│ ├── fish/ # Fish shell configuration
│ ├── gitu/ # Git TUI settings
│ ├── kanata/ # Keyboard remapping
│ ├── lf/ # Terminal file manager
│ ├── nvim/ # Neovim setup
── tmux/ # Tmux configuration
── scripts/
│ ├── setup_docker # Docker install recipe
│ ├── setup_golang # Golang + go tools install recipe
── setup_kanata # Kanata + systemd service setup
├── bootstrap.sh # Fresh system setup (run once, before install.sh)
└── install.sh # Dotfile symlinks and package installation
```
.
├── config/
│ ├── alacritty/ # Alacritty terminal configuration
│ ├── fish/ # Fish shell configuration
│ ├── gitu/ # Git TUI settings
│ ├── 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
## Desktop Bootstrap
Before running `install.sh`, take care of the following manually:
The bootstrap script to set up DMS essentiallys, networking, audio, Helium, and GTK theming:
./bootstrap.sh
Once complete, restore personal files from backup drive (SSH keys, documents, projects, fonts, wallpapers), then continue with the steps below.
- `sudo xbps-install -Su` — sync and update
- Set up SSH keys
- Clone this repo
- Install a Nerd Font
## Software Installation
This will install, setup config files for my personal choices of software to use on top of the desktop
Installs packages and creates config symlinks on top of the XFCE4 base image.
### Install Options
# Interactive mode (with confirmations)
./install.sh
```sh
# Interactive mode (prompts for confirmation at each step)
./install.sh
# Only create symlinks
./install.sh -l
# Only create symlinks
./install.sh -l
# Only install packages
./install.sh -i
# Only install packages
./install.sh -i
```
## What Gets Installed
The script installs essential development tools via `apt`:
The script enables `void-repo-nonfree` (and `void-repo-multilib-nonfree` on x86_64), then installs
packages via `xbps-install`:
- **CLI Tools**: `wget`, `curl`, `fzf`, `fd-find`, `ripgrep`, `tree`, `btop`, `direnv`, `bat`, `jq`, `lf`, `unzip`
- **Development**: `build-essential`, `make`, `bear`, `valgrind`
- **Shell**: `fish`
- **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`
- **Multiplexer**: `tmux`
- **Other**: `ca-certificates`, `gnupg`, `libfuse2`
- **Keyboard**: `kanata`
- **Desktop**: `polybar`, `rofi`, `xdotool`, `wmctrl`
- **Fonts**: `noto-fonts-ttf`, `noto-fonts-emoji`
- **Other**: `ca-certificates`, `gnupg`, `fuse`, `gitu`
## Symlinks Created
- `~/.tmux.conf``./config/tmux/.tmux.conf`
- `~/.config/alacritty``./config/alacritty`
- `~/.config/fish` `./config/fish`
- `~/.config/kanata` `./config/kanata`
- `~/.config/nvim` `./config/nvim`
- `~/.config/gitu` `./config/gitu`
- `~/.config/lf` `./config/lf`
| Symlink | Target |
|---|---|
| `~/.config/alacritty` | `./config/alacritty` |
| `~/.config/fish` | `./config/fish` |
| `~/.config/kanata` | `./config/kanata` |
| `~/.config/nvim` | `./config/nvim` |
| `~/.config/gitu` | `./config/gitu` |
| `~/.config/lf` | `./config/lf` |
## Scripts
Self-contained recipes for tooling that goes beyond the core install. Each script can be run independently as needed:
Self-contained recipes for tooling that goes beyond the core install. Each can be run independently:
./scripts/setup_docker
./scripts/setup_golang
./scripts/setup_kanata
```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 prioritizes **stability** and **simplicity** over customization. DankMaterialShell with niri handles the heavy lifting for tiling and aesthetics.
This setup prioritises **stability** and **simplicity** over customisation. Void Linux + XFCE4 + X11
provides a fast, predictable base with minimal moving parts.