2025-10-29 00:06:12 +01:00
2025-10-29 00:06:12 +01:00
2025-10-29 00:06:12 +01:00
2025-10-29 00:06:12 +01:00
2025-10-29 00:06:12 +01:00
2025-10-29 00:06:12 +01:00
2025-10-29 00:06:12 +01:00
2025-10-29 00:06:12 +01:00

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

    __________  ____  ____________
   / ____/ __ \/ __ \/ ____/ ____/
  / /_  / / / / /_/ / / __/ __/
 / __/ / /_/ / _, _/ /_/ / /___
/_/    \____/_/ |_|\____/_____/

🔥 WHERE CODE MEETS CHAOS 🔥

Debian Powered by Metal Built with Blood License: MIT

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           │
│  ⚔️  GO         │  Managed by gvm              │
│  ⚔️  DOCKER     │  Containerized destruction   │
│  ⚔️  POSTGRES   │  Version 18 database engine  │
└─────────────────────────────────────────────────┘

🩸 QUICK START RITUAL 🩸

Summoning the Environment

# 1. Clone this unholy repository
git init && git remote add origin git@github.com:valknarogg/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. Install essential packages using arty scripts
arty debian/install    # Base packages (curl, zsh, fzf, davfs2, etc.)
arty rust/install      # Rust toolchain via rustup
arty zed/install       # Zed editor
arty claude/install    # Claude CLI

# 4. Sync shell configuration and version managers
arty sync

# 5. Source the shell configuration
source ~/.zshrc

Available Installation Scripts

Arty provides installation scripts for various tools:

arty debian/install      # curl, zsh, fzf, davfs2, krusader, make, imagemagick, ffmpeg, yt-dlp
arty rust/install        # Rust toolchain via rustup
arty zed/install         # Zed code editor
arty claude/install      # Claude AI CLI
arty mattermost/install  # Mattermost desktop client
arty joplin/install      # Joplin note-taking app
arty yq/install          # yq YAML processor

🎯 ARTY - REPOSITORY ORCHESTRATION 🎯

What is Arty?

Arty.sh is a bash-based dependency and repository manager that orchestrates git subrepositories like a conductor of chaos. It's part of the butter.sh ecosystem - a suite of bash development tools.

Installing Arty

Arty is already installed globally at /usr/local/bin/arty. If you need to install/update it:

# Clone butter.sh ecosystem
git clone https://github.com/butter-sh/butter-sh.github.io.git ~/Projects/butter-sh

# Install arty globally (requires sudo)
cd ~/Projects/butter-sh/projects/arty.sh
sudo ./arty.sh install

The arty.yml Configuration

The root ~/arty.yml defines your repository dependencies and installation scripts:

name: "Valknar's home"
version: '1.0.0'
description: "Valknar's home repository"
author: 'valknar@pivoine.art'
license: 'MIT'

references:
  # Custom scripts and binaries
  - url: git@github.com:valknarogg/bin.git
    into: bin

  # Version managers
  - url: https://github.com/nvm-sh/nvm.git
    into: .nvm
  - url: https://github.com/rbenv/rbenv.git
    into: .rbenv
  - url: https://github.com/pyenv/pyenv.git
    into: .pyenv
  - url: https://github.com/moovweb/gvm.git
    into: .gvm

  # Shell configuration
  - url: https://github.com/ohmyzsh/ohmyzsh.git
    into: .oh-my-zsh
  - url: https://github.com/romkatv/powerlevel10k.git
    into: .oh-my-zsh/custom/themes/powerlevel10k

scripts:
  debian/install: sudo apt install curl zsh fzf davfs2 krusader make imagemagick ffmpeg yt-dlp
  rust/install: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  zed/install: curl -f https://zed.dev/install.sh | sh
  claude/install: curl -fsSL https://claude.ai/install.sh | bash

Using Arty

# Sync all repositories defined in arty.yml
arty sync

# Run installation scripts
arty debian/install
arty rust/install
arty zed/install

# Update all references
arty update

# Show configuration info
arty info

What Arty Manages:

  • Version managers (nvm, rbenv, pyenv, gvm)
  • Shell configuration (Oh-My-Zsh, Powerlevel10k, plugins)
  • Custom binaries (from valknarogg/bin repository)
  • Installation scripts (system packages, development tools)

Simplified Repository Management

The configuration has been streamlined to focus on essential tooling and version managers. Project-specific repositories should be managed separately in their respective locations (e.g., ~/Projects/), while arty handles the core development environment setup.


🔥 COMMAND LINE BRUTALITY 🔥

Git Operations

g0                  # Stage all changes and verify clean state
g1                  # Nuclear reset to single commit
g2                  # Show last commit message
git add -A && git commit -m "$(g2)"  # Reuse last commit message

Media Processing

# Convert all images in directory to WebP
batch_image_webp

# Rename files with sequence numbers
batch_file_sequence artwork webp

# Optimize video
_video_optimize input.mov

# Download YouTube video as MP3
yt "https://youtube.com/watch?v=..."

Development Servers

# Serve current directory on port 8000
ss

# Run Jekyll site with livereload
cd ~/Projects/pivoine.art && bundle exec jekyll serve --livereload

# Run Node.js dev server
cd ~/Projects/node.js/awesome && pnpm dev

Rsync Power

# Sync to remote with sudo
rs /local/path/ user@host:/remote/path/

📁 ENVIRONMENT STRUCTURE 📁

~/
├── bin/                    # Custom scripts and executables
├── .nvm/                   # Node Version Manager
├── .rbenv/                 # Ruby Version Manager
├── .pyenv/                 # Python Version Manager
├── .gvm/                   # Go Version Manager
├── .oh-my-zsh/             # Oh-My-Zsh framework
│   └── custom/
│       ├── themes/
│       │   └── powerlevel10k/
│       └── plugins/
│           ├── zsh-autosuggestions/
│           └── zsh-syntax-highlighting/
├── Projects/               # Development projects (managed separately)
├── Documents/              # → /mnt/hidrive/users/valknar/Documents
├── Pictures/               # → /mnt/hidrive/users/valknar/Pictures
├── Videos/                 # → /mnt/hidrive/users/valknar/Videos
└── Music/                  # → /mnt/hidrive/users/valknar/Music

🛠️ DOTFILE HIGHLIGHTS 🛠️

Shell Configuration

  • .zshrc - Oh-My-Zsh with Powerlevel10k theme
  • .zlogin - Login script (mounts HiDrive, creates symbolic links)
  • .p10k.zsh - Powerlevel10k configuration
  • .bashrc - Bash configuration (fallback)

Version Files

  • .nvmrc - Node.js version
  • .ruby-version - Ruby version
  • .python-version - Python version

Code Quality

  • .pre-commit-config.yaml - Pre-commit hooks (Python)
  • .rubocop.yml - Ruby style enforcement
  • eslint.config.mts - JavaScript/TypeScript linting
  • .prettierrc - Code formatting rules
  • biome.json - Fast linter/formatter

Package Management

  • requirements.txt - Python packages (pip)
  • Gemfile - Ruby gems (bundler)

Git Configuration

  • .gitignore - INVERTED PATTERN (ignore all, allow specific files)
  • .gitconfig - Git user configuration

Orchestration

  • arty.yml - Repository and dependency management with installation scripts

Personal

  • signature.txt - ASCII art email signature with contact information

🔗 HIDRIVE INTEGRATION 🔗

The .zlogin script automatically:

  • Mounts HiDrive storage at /mnt/hidrive on shell login
  • Creates symbolic links from HiDrive to home directory:
    • ~/Documents/mnt/hidrive/users/valknar/Documents
    • ~/Pictures/mnt/hidrive/users/valknar/Pictures
    • ~/Videos/mnt/hidrive/users/valknar/Videos
    • ~/Music/mnt/hidrive/users/valknar/Music

This provides seamless access to cloud-stored media and documents from your home directory.


⚙️ GIT SELECTIVE TRACKING ⚙️

This repository uses an inverted .gitignore pattern:

# Ignore everything
*

# Allow specific files
!CLAUDE.md
!README.md
!.gitignore
!.zshrc
!.zlogin
!arty.yml
...

Why? To track only essential dotfiles and configurations while ignoring cache, logs, and user data. Your home directory becomes a git repository without the chaos.

Note: The .init/ directory is NOT tracked in git - it exists locally only for shell initialization. This keeps your shell configuration private and machine-specific.


🎸 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
  • gvm - Go Version Manager
  • rustup - Rust Toolchain Manager

Orchestration


🖤 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 ⚔️

Description
No description provided
Readme 604 MiB
Languages
Markdown 100%