7d7f85f3e1415cfacb1a6794e453ad93ea3bddb2
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
_ _____ __ __ __ _ _____ ____ _ _____
| | / / | / / / //_// | / / | / __ ( ) ___/
| | / / /| | / / / ,< / |/ / /| | / /_/ //\__ \
| |/ / ___ |/ /___/ /| |/ /| / ___ |/ _, _/ ___/ /
|___/_/ |_/_____/_/ |_/_/ |_/_/ |_/_/ |_| /____/
__________ ____ ____________
/ ____/ __ \/ __ \/ ____/ ____/
/ /_ / / / / /_/ / / __/ __/
/ __/ / /_/ / _, _/ /_/ / /___
/_/ \____/_/ |_|\____/_____/
WHERE CODE MEETS CHAOS
My Debian home directory - forged in the fires of chaos, tempered with configuration files, and wielded with the fury of a thousand riffs.
This is where dotfiles headbang and shell scripts scream.
THE ARSENAL
WEAPONS OF MASS DEVELOPMENT
+-----------------------------------------------------+
| NODE.JS | Managed by nvm |
| PYTHON | Managed by pyenv |
| RUBY | Managed by rbenv |
| RUST | Managed by rustup |
| DOCKER | Containerized destruction |
+-----------------------------------------------------+
QUICK START RITUAL
Summoning the Environment
# 1. Clone this unholy repository
git init && git remote add origin ssh://git@dev.pivoine.art:2222/valknar/home.git
git fetch && git reset --hard origin/main
git branch --set-upstream-to=origin/main main
# 2. Configure git
git config --global init.defaultBranch main
git config --global --add safe.directory /home/$USER
# 3. Enable contrib/non-free repos and install base packages
arty debian:setup:contrib
arty debian:upgrade
arty debian:install:base
arty debian:install:libs
arty debian:install:tools
# 4. Sync all dependencies (version managers, shell config, etc.)
arty deps
# 5. Install development tools
arty rust:install
arty node:install && arty node:install:base
arty ruby:install && arty ruby:install:base
arty python:install
arty go:install && arty go:install:tools
arty docker:install
# 6. Source the shell configuration
source ~/.zshrc
arty - REPOSITORY ORCHESTRATION
Available Scripts
# System setup
arty debian:setup:contrib # Enable contrib/non-free repos
arty debian:upgrade # apt update && apt upgrade
arty debian:install:base # build-essential, curl, wget, git, zsh, bat, fzf, make...
arty debian:install:libs # dev libs: libffi, zlib, libyaml, libssl, libsqlite3...
arty debian:install:tools # imagemagick, rsvg-convert, ffmpeg, yt-dlp
# Development tools
arty rust:install # Rust toolchain via rustup
arty node:install # Node.js via nvm
arty node:install:base # npm + pnpm globally
arty ruby:install # Ruby via rbenv
arty ruby:install:base # bundler gem
arty python:install # Python via pyenv
arty go:install # Go via apt
arty go:install:tools # hugo (extended) + yq via go install
arty go:clean # Clear go build and module cache
arty docker:install # Docker Engine with user group
What arty Manages
- Version managers (nvm, rbenv, pyenv)
- Shell configuration (Oh-My-Zsh, Powerlevel10k, zsh plugins)
COMMAND LINE BRUTALITY
Custom Scripts
Scripts in ~/scripts/ are loaded via PATH. They live in their own repo: git@dev.pivoine.art:valknar/scripts.git.
Available scripts: stacks.sh (Docker Compose stack manager), arty.sh (repository orchestration).
ENVIRONMENT STRUCTURE
~/
+-- .nvm/ # Node Version Manager
+-- .rbenv/ # Ruby Version Manager
| +-- plugins/ruby-build/
+-- .pyenv/ # Python Version Manager
+-- .oh-my-zsh/ # Oh-My-Zsh framework
+-- .zsh/
| +-- themes/
| | +-- powerlevel10k/
| +-- plugins/
| +-- zsh-autocomplete/
| +-- zsh-autosuggestions/
| +-- zsh-syntax-highlighting/
DOTFILE HIGHLIGHTS
Shell Configuration
.zshrc- Oh-My-Zsh with Powerlevel10k theme.zlogin- Login script (mounts HiDrive, creates symbolic links).p10k.zsh- Powerlevel10k configuration.zprofile,.zlogout,.zshenv- Zsh startup files
Version Files
.nvmrc- Node.js version.ruby-version- Ruby version.python-version- Python version
Git Configuration
.gitignore- INVERTED PATTERN (ignore all, allow specific files).gitconfig- Git user configuration
Personal
signature.txt- ASCII art email signature.hushlogin- Suppress login banners
GIT SELECTIVE TRACKING
This repository uses an inverted .gitignore pattern:
# Ignore everything
*
# But not these files.
!.gitignore
!.gitconfig
!.editorconfig
!.nvmrc
!.ruby-version
!.python-version
!.p10k.zsh
!.zprofile
!.zlogout
!.zlogin
!.zshrc
!.zshenv
!.hushlogin
!arty.yml
!signature.txt
!LICENSE
!README.md
Why? To track only essential dotfiles and configurations while ignoring cache, logs, and user data.
SHELL PLUGIN POWER
Oh-My-Zsh Plugins Loaded:
git pm2 gh sudo ssh ruby rust python node github
rsync nvm rbenv pyenv docker docker-compose qrcode
zsh-autosuggestions zsh-syntax-highlighting
zsh-interactive-cd zsh-navigation-tools
USEFUL RESOURCES
System & Shell
Language Managers
- nvm - Node Version Manager
- rbenv - Ruby Version Manager
- pyenv - Python Version Manager
- rustup - Rust Toolchain Manager
CLI Tools
- GitHub CLI
- Tailscale
- Ollama
- yq - YAML processor
LICENSE
MIT License - Do whatever the hell you want with it.
=================================================================
__________ ____ ______ _________
/ ____/ __ \/ __ \/ ____/ / _/ ___/
/ / / / / / / / / __/ / / \__ \
/ /___/ /_/ / /_/ / /___ _/ / ___/ /
\____/\____/_____/_____/ /___//____/
______________ _______ ____ ____ ___ ______ __
/_ __/ ____/ |/ / __ \/ __ \/ __ \/ | / __ \ \/ /
/ / / __/ / /|_/ / /_/ / / / / /_/ / /| | / /_/ /\ /
/ / / /___/ / / / ____/ /_/ / _, _/ ___ |/ _, _/ / /
/_/ /_____/_/ /_/_/ \____/_/ |_/_/ |_/_/ |_| /_/
__ __________________ __ _________
/ |/ / ____/_ __/ | / / / _/ ___/
/ /|_/ / __/ / / / /| | / / / / \__ \
/ / / / /___ / / / ___ |/ /___ _/ / ___/ /
/_/ /_/_____/ /_/ /_/ |_/_____/ /___//____/
______________________ _ _____ __
/ ____/_ __/ ____/ __ \/ | / / | / /
/ __/ / / / __/ / /_/ / |/ / /| | / /
/ /___ / / / /___/ _, _/ /| / ___ |/ /___
/_____/ /_/ /_____/_/ |_/_/ |_/_/ |_/_____/
=================================================================
FORGED BY VALKNAR
valknar@pivoine.art
Powered by Debian | Fueled by Metal
Languages
Shell
85.1%
Lua
14.9%