Updated install options.

Bootstrap - sets up the Desktop
Install   - sets up my software
scripts/  - specific software setups
This commit is contained in:
2026-05-06 10:25:33 +02:00
parent 60d7870095
commit 7ba67a2655
6 changed files with 301 additions and 61 deletions
+57 -37
View File
@@ -1,71 +1,91 @@
# Minimal Dotfiles
A deliberately minimal dotfile configuration.
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:
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.
- **Desktop Environment**: Gnome 48 with the Pop_Shell extension provides built-in tiling and sensible defaults—no ricing required
- **Configuration**: Only what's necessary for my daily workflow and a few small css changes to square gnomes ui
- **Maintenance**: Simple symlink management and package installation via a single script
## What's Inside
```
.
├── config/
│ ├── fish/ # Fish shell configuration
│ ├── foot/ # Foot terminal configuration
│ ├── gitu/ # Git TUI settings
│ ├── kanata/ # Keyboard remapping
│ ├── gtk3/ # gtk3 css for squared ui
── gtk4/ # gtk4 css for squared ui
── nvim/ # Neovim setup
└── install.sh # Automated setup script
```
.
├── 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
## 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
```bash
# Interactive mode (with confirmations)
./install.sh
# Interactive mode (with confirmations)
./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`:
- **CLI Tools**: `wget`, `curl`, `fzf`, `fd-find`, `ripgrep`, `tree`, `btop`, `direnv`
- **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`
## Symlinks Created
- `~/.tmux.conf``./config/tmux/.tmux.conf`
- `~/.config/alacritty``./config/alacritty`
- `~/.config/fish``./config/fish`
- `~/.config/foot``./config/foot`
- `~/.config/kanata``./config/kanata`
- `~/.config/nvim``./config/nvim`
- `~/.config/gitu``./config/gitu`
- `~/.config/gtk-3.0/gtk.css``./config/gtk3/gtk.css`
- `~/.config/gtk-4.0/gtk.css``./config/gtk4/gtk.css`
- `~/.config/lf``./config/lf`
This setup prioritizes **stability** and **simplicity** over customization, the Gnome Desktop with minimal extensions handles the heavy lifting for tiling and aesthetics.
## Extensions installed
- Pop Shell
- User Themes
- Arc Menu
- Disable workspace switcher
## 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.