jasonhilder 7ba67a2655 Updated install options.
Bootstrap - sets up the Desktop
Install   - sets up my software
scripts/  - specific software setups
2026-05-06 10:25:33 +02:00
2026-05-06 10:25:33 +02:00
2026-03-05 07:57:41 +02:00
2026-05-06 10:25:33 +02:00
2026-05-06 10:25:33 +02:00
2026-05-06 10:25:33 +02:00

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 Debian 13 (Trixie) install — SSH server and system essentials only, no desktop environment. Run bootstrap.sh followed by install.sh to get up and running. For additional tooling, see the scripts/ folder.

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
├── bootstrap.sh       # Fresh system setup (run once, before install.sh)
└── install.sh         # Dotfile symlinks and package installation

Desktop Bootstrap

Start with a minimal Debian 13 (Trixie) install — SSH server and system essentials only, no desktop environment.

Then run the bootstrap script to set up DMS, Helium, and GTK theming:

./bootstrap.sh

Once complete, restore personal files from backup (SSH keys, documents, projects, fonts, wallpapers, local binaries/scripts), then continue with the steps below.

Software Installation

Clone this repository and run the install script:

Install Options

# Interactive mode (with confirmations)
./install.sh

# Only create symlinks
./install.sh -l

# Only install packages
./install.sh -i

What Gets Installed

The script installs essential development tools via apt:

  • CLI Tools: wget, curl, fzf, fd-find, ripgrep, tree, btop, direnv, bat, jq, lf, unzip
  • Development: build-essential, make, bear, valgrind
  • Shell: fish
  • Terminal: alacritty
  • Multiplexer: tmux
  • Other: ca-certificates, gnupg, libfuse2
  • ~/.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

Scripts

Self-contained recipes for tooling that goes beyond the core install. Each script can be run independently as needed:

./scripts/setup_docker
./scripts/setup_golang
./scripts/setup_kanata

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.

S
Description
No description provided
Readme 365 KiB
Languages
Lua 58.5%
Shell 41.5%