Skip to content
View bolens's full-sized avatar
  • Open to connecting
  • Lakewood, CO
  • 04:53 (UTC -06:00)

Organizations

@Moxie-Solar

Block or report bolens

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
bolens/README.md

Hi, I'm Michael 👋

I build practical tools for Linux desktops, self-hosted infrastructure, and the small annoyances between them.

Most of my work lives close to the system: dynamic DNS, shell environments, game-launch pipelines, desktop automation, and incident-response utilities. I care about tools that are easy to inspect, safe to run, and pleasant to use.

📍 Lakewood, Colorado · formerly Milwaukee, Wisconsin

What I'm working on

  • Building uDDNS, a small multi-provider dynamic DNS updater in TypeScript
  • Developing aur-response-toolkit, Rust-based incident-response tooling for Arch Linux supply-chain threats
  • Improving Linux gaming and desktop workflows across Steam, Gamescope, Proton, KDE Plasma, Hyprland, Waybar, and Rofi
  • Running a Docker Compose homelab with Caddy, secure remote access, monitoring, and automation

Featured projects

Project Built with What it does
uDDNS TypeScript Updates DNS records across multiple providers from one small service
aur-response-toolkit Rust · Shell Detects and helps recover from known AUR malware campaigns
launch-layer Shell · TypeScript · Python Composes preflight checks, per-game environments, and wrapper chains for Steam on Linux
millennium-helpers Go · Shell Manages, upgrades, diagnoses, and controls Millennium across Linux, Windows, and macOS
appicon Go Resolves desktop and brand icons for Waybar, Rofi, scripts, and MCP clients
arch-config Shell Keeps my Arch/CachyOS workstation reproducible, tuned, and documented

Tools I reach for

Linux · Arch Linux · CachyOS · TypeScript · Rust · Go · PowerShell · Bash · Fish · Docker Compose · Caddy · MCP

I also maintain a modular PowerShell profile, my Fish configuration, a Waybar setup for Plasma and Hyprland, and the homelab configuration behind my self-hosted services.

When I'm away from a keyboard, you'll usually find me camping, hiking, cycling, playing disc golf, or exploring Colorado's craft beer scene.

Pinned Loading

  1. uddns uddns Public

    Small multi-provider dynamic DNS updater with CLI, Docker, and MCP interfaces.

    TypeScript 3

  2. aur-response-toolkit aur-response-toolkit Public

    Incident response for Arch AUR malware—Atomic Arch (2026) by default, plus opt-in Chaos RAT, Shai-Hulud, and xeactor campaigns.

    Rust 1

  3. launch-layer launch-layer Public

    Layered launch orchestration for Steam games on Linux with preflight checks, per-game environments, and composable wrapper chains.

    Shell 1

  4. millennium-helpers millennium-helpers Public

    Cross-platform CLI and MCP server for installing, upgrading, diagnosing, and managing Millennium on Linux, macOS, and Windows.

    Go 1

  5. appicon appicon Public

    Resolve desktop and brand icons to local file paths — CLI and MCP for Waybar, Rofi, scripts, and agents.

    Go 1

  6. arch-config arch-config Public

    Arch/CachyOS workstation configuration with Zen 4, Btrfs, gaming, and systemd tuning

    Shell 2