_    _____    __    __ __ _   _____    ____ _ _____
| |  / /   |  / /   / //_// | / /   |  / __ ( ) ___/
| | / / /| | / /   / ,<  /  |/ / /| | / /_/ //\__ \
| |/ / ___ |/ /___/ /| |/ /|  / ___ |/ _, _/ ___/ /
|___/_/  |_/_____/_/ |_/_/ |_/_/  |_/_/ |_| /____/

    __________  ____  ____________
   / ____/ __ \/ __ \/ ____/ ____/
  / /_  / / / / /_/ / / __/ __/
 / __/ / /_/ / _, _/ /_/ / /___
/_/    \____/_/ |_|\____/_____/
# WHERE CODE MEETS CHAOS [![Debian](https://img.shields.io/badge/Debian-Trixie-A81D33?style=for-the-badge&logo=debian&logoColor=white)](https://www.debian.org/) [![Powered by Metal](https://img.shields.io/badge/POWERED%20BY-METAL-FF0000?style=for-the-badge)](https://www.slayer.net/) [![Built with Blood](https://img.shields.io/badge/BUILT%20WITH-BLOOD%20%26%20SWEAT-8B0000?style=for-the-badge)](/) [![License: MIT](https://img.shields.io/badge/License-MIT-990000?style=for-the-badge)](LICENSE) **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 | +-----------------------------------------------------+ ``` --- ## INSTALLATION ### One-liner bootstrap ```bash curl https://dev.pivoine.art/valknar/home/raw/branch/main/bin/setup -sSf | sh ``` **Prerequisites:** `curl` or `wget` · `sh`/`bash` · `sudo` *(for installing git/zsh if missing)* ### What the setup script does | Step | Action | |------|--------| | 1 | Detects OS (Debian/Ubuntu, macOS, other Linux) | | 2 | Installs `git` if missing — `apt-get` on Debian/Ubuntu, `xcode-select` on macOS | | 3 | Installs `zsh` if missing, sets it as the default shell via `chsh` | | 4 | Clones this repo into `~` via HTTPS — or `git pull` if already present *(idempotent)* | | 5 | Runs `arty deps` — clones nvm, rbenv, pyenv, oh-my-zsh, powerlevel10k, zsh plugins | | 6 | Installs `arty` zsh completion via `arty completion zsh --install` | | 7 | Drops into a zsh login shell | ### After installation ```bash p10k configure # first time: configure the Powerlevel10k prompt arty ssh:keygen # generate an SSH key, then add it at https://dev.pivoine.art # switch the dotfiles remote from HTTPS to SSH (after key is set up) git -C ~ remote set-url origin ssh://git@dev.pivoine.art/valknar/home.git ``` --- ## arty - REPOSITORY ORCHESTRATION ### Available Scripts ```bash # 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 live in `~/bin/` and are tracked in this repo. - **`arty`** — repository orchestration, reads `arty.yml` - **`stacks`** — Docker Compose stack manager (runs in current directory, or set `STACKS_DIR`) --- ## 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: ```gitignore # 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 gh sudo ssh ruby rust python node rsync nvm rbenv pyenv docker docker-compose qrcode zsh-autosuggestions zsh-syntax-highlighting zsh-interactive-cd zsh-navigation-tools ``` --- ## USEFUL RESOURCES ### System & Shell - [Oh-My-Zsh](https://ohmyz.sh/) - [Powerlevel10k](https://github.com/romkatv/powerlevel10k) ### Language Managers - [nvm](https://github.com/nvm-sh/nvm) - Node Version Manager - [rbenv](https://github.com/rbenv/rbenv) - Ruby Version Manager - [pyenv](https://github.com/pyenv/pyenv) - Python Version Manager - [rustup](https://rustup.rs/) - Rust Toolchain Manager ### CLI Tools - [yq](https://github.com/mikefarah/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

**[BACK TO THE TOP](#)**