Shell
debian-bootstrap
Bootstrap a new Debian/Ubuntu system with your standard configuration. Portable dotfiles, SSH config, shell setup, and SOPS secrets - no Nix required. Use when setting up a new machine or migrating away from NixOS.
$ Installieren
git clone https://github.com/cptfinch/dotfiles ~/.claude/skills/dotfiles// tip: Run this command in your terminal to install the skill
SKILL.md
name: debian-bootstrap description: Bootstrap a new Debian/Ubuntu system with your standard configuration. Portable dotfiles, SSH config, shell setup, and SOPS secrets - no Nix required. Use when setting up a new machine or migrating away from NixOS.
Debian Bootstrap
Recreate your development environment on any Debian/Ubuntu system.
Quick Start
cd ~/.claude/skills/debian-bootstrap
just # See all commands
just setup-all # Full setup (packages + tools + dotfiles + secrets)
First time? See BOOTSTRAP.md for the complete checklist including manual steps (age key, secrets.yaml).
Architecture
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â debian-bootstrap â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ€
â apt (packages.txt) â System packages (git, curl, htop) â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ€
â mise (mise.toml) â Everything else: â
â â - Languages: node, python â
â â - CLI: bat, fd, rg, delta, lazygit â
â â - Cloud: gh, hcloud, awscli â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ€
â uv â Python package management â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ€
â SOPS/Age â Encrypted secrets â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
Two bootstrappers, one config file:
misemanages all dev tools viamise.tomluvhandles Python packages (10-100x faster than pip)
What's Included
| Component | Source | Target |
|---|---|---|
| Dev tools | mise.toml | ~/.config/mise/config.toml |
| SSH config | dotfiles/ssh_config | ~/.ssh/config |
| Bash config | dotfiles/bashrc | ~/.bashrc |
| Git config | dotfiles/gitconfig | ~/.gitconfig |
| Starship prompt | dotfiles/starship.toml | ~/.config/starship.toml |
| System packages | packages.txt | via apt |
| SOPS setup | scripts/setup-sops.sh | ~/.config/sops/ |
Commands
# Full setup
just setup-all # Everything in order
# Individual components
just install-packages # apt packages only
just install-extras # mise + uv + all dev tools
just install-dotfiles # All dotfiles
just setup-sops # SOPS/Age encryption
# Secrets & Auth
just decrypt-ssh-keys # Extract SSH keys + add to agent
just setup-gh-auth # Authenticate GitHub CLI
just setup-glab-auth # Authenticate GitLab CLI
# Tool management (after setup)
mise install # Install tools from mise.toml
mise upgrade # Update all tools
mise list # Show installed tools
File Structure
debian-bootstrap/
âââ SKILL.md # This file
âââ BOOTSTRAP.md # Step-by-step first-time setup guide
âââ justfile # All commands
âââ mise.toml # Dev tools (the source of truth)
âââ packages.txt # apt packages (system only)
âââ dotfiles/
â âââ ssh_config
â âââ bashrc
â âââ gitconfig
â âââ starship.toml
âââ scripts/
âââ install-extras.sh # Installs mise, uv, then mise install
âââ setup-sops.sh # SOPS/Age setup
Adding Tools
Edit mise.toml and run mise install:
[tools]
# Languages
node = "lts"
python = "3.12"
go = "latest"
# CLI tools via ubi (GitHub releases)
"ubi:sharkdp/bat" = "latest"
"ubi:jesseduffield/lazygit" = "latest"
Secrets Management
Uses SOPS with Age encryption (same as NixOS setup):
# Decrypt secrets
sops -d ~/.claude/secrets.yaml
# Edit secrets
sops ~/.claude/secrets.yaml
# Extract single secret
sops -d --extract '["github_token"]' ~/.claude/secrets.yaml
Migration from NixOS
This skill was generated from your NixOS/Home Manager config. All Nix-specific paths have been converted to standard locations.
