2026-05-26 08:07:51 +02:00
2026-05-26 08:07:51 +02:00
2026-05-07 09:48:12 +02:00
2026-05-26 08:07:24 +02:00
2026-05-06 10:31:08 +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.

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

Desktop Bootstrap

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.

Software Installation

This will install, setup config files for my personal choices of software to use on top of the desktop

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%