About
Hi, I'm Petr — nice to meet you
Projects
-
Shell, editor and terminal setup in one repo — a fresh machine gets to a working development environment in a single pass.
-
The homelab as code — servers, services and backups defined so any machine can be rebuilt from scratch instead of remembered.
-
A self-hosted digital business card. Runs my own card at petr.nzrv.dev.
-
A world clock and group scheduler for picking a meeting time across timezones. Self-hosted, no accounts.
Latest writing
-
Containerizing your development environment end to end: devcontainer.json decisions, forwarding ssh-agent instead of keys, dotfiles and agent auth inside the container, docker-outside-of-docker, lifecycle hooks, and the remote and solo cases.
-
Using git worktree to keep several branches checked out at once: the layout convention, relative paths, copying untracked files, three shell aliases, and running several Claude Code sessions in parallel without them stepping on each other.
-
Summary of a lecture i gave on the software design patterns: Factory, Singleton, Strategy, Controller–Service–Repository, Dependency Injection.
-
An opinionated, full IaC stack: provisioning machines with Pulumi (and Terraform/OpenTofu), configuring them with Ansible, keeping secrets in a public repo with SOPS, deploying workloads via Docker Swarm + Jinja2, and smoothing it all out with just and Dagger.
-
A practical guide to home lab setup: media servers, reverse proxies, SSO, private DNS, VPN, NAS storage, photo libraries, and low-code automation — built and refined over two years