Update README.md
This commit is contained in:
@@ -7,10 +7,11 @@ 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
|
||||
@@ -21,28 +22,30 @@ Start with a minimal Debian 13 (Trixie) install — SSH server and system essent
|
||||
│ ├── 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_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)
|
||||
```sh
|
||||
# Interactive mode (prompts for confirmation at each step)
|
||||
./install.sh
|
||||
|
||||
# Only create symlinks
|
||||
@@ -50,39 +53,47 @@ This will install, setup config files for my personal choices of software to use
|
||||
|
||||
# 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.
|
||||
Reference in New Issue
Block a user