From e314363e8b4d67f0b36dda85075c2521f9962108 Mon Sep 17 00:00:00 2001 From: jasonhilder Date: Mon, 15 Jun 2026 11:03:17 +0200 Subject: [PATCH] Update README.md --- README.md | 109 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 60 insertions(+), 49 deletions(-) diff --git a/README.md b/README.md index 90c9de5..8a757c4 100644 --- a/README.md +++ b/README.md @@ -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. \ No newline at end of file