Release v1.0
This commit is contained in:
@@ -1,97 +1,28 @@
|
||||
# Minimal Dotfiles
|
||||
# dotfiles
|
||||
|
||||
A deliberately minimal dotfile configuration.
|
||||
A minimal, stable Linux development environment.
|
||||
|
||||
## Philosophy
|
||||
|
||||
Over the years I have grown tired of tweaking config files for every component of my desktop.
|
||||
This repository contains only the essentials.
|
||||
* Prefer simplicity over customisation.
|
||||
* Prefer native tools over plugins.
|
||||
* Change configuration only to remove recurring friction.
|
||||
* If a workaround exists, use it before changing the 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
|
||||
│ ├── 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
|
||||
## Install
|
||||
|
||||
```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
|
||||
## Structure
|
||||
|
||||
The script enables `void-repo-nonfree` (and `void-repo-multilib-nonfree` on x86_64), then installs
|
||||
packages via `xbps-install`:
|
||||
* `config/` — Application configuration
|
||||
* `scripts/` — Installation and utility scripts
|
||||
* `install.sh` — Creates symbolic links
|
||||
|
||||
- **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`
|
||||
## Versioning
|
||||
|
||||
## Symlinks Created
|
||||
Releases are tagged.
|
||||
|
||||
| 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.
|
||||
The goal is to keep the environment stable. New features should solve real issues rather than my curiosity.
|
||||
|
||||
Reference in New Issue
Block a user