[{"data":1,"prerenderedAt":319},["ShallowReactive",2],{"navigation":3,"uses":51},[4],{"title":5,"path":6,"stem":7,"children":8,"page":34},"Blog","/blog","blog",[9,13,35,39,43,47],{"title":10,"path":11,"stem":12},"Using the official exchange rate in Venezuela's e-commerce","/blog/bcv-scraper","blog/bcv-scraper",{"title":14,"path":15,"stem":16,"children":17,"page":34},"Case Studies","/blog/case-studies","blog/case-studies",[18,22,26,30],{"title":19,"path":20,"stem":21},"Rebuilding an e-commerce platform on NestJS + Next.js + Medusa in three months","/blog/case-studies/retail-ecommerce-rebuild","blog/case-studies/retail-ecommerce-rebuild",{"title":23,"path":24,"stem":25},"Stabilizing an inherited e-commerce platform on NestJS + Strapi","/blog/case-studies/retail-ecommerce-recovery","blog/case-studies/retail-ecommerce-recovery",{"title":27,"path":28,"stem":29},"A nationwide mobile sales-quotation app, integrated with SAP","/blog/case-studies/retail-sap-quotation-app","blog/case-studies/retail-sap-quotation-app",{"title":31,"path":32,"stem":33},"Shipping a high-scale PWA from an inherited e-commerce project","/blog/case-studies/supermarket-pwa-recovery","blog/case-studies/supermarket-pwa-recovery",false,{"title":36,"path":37,"stem":38},"From Nuxt to Hugo and Back Again","/blog/from-nuxt-to-hugo","blog/from-nuxt-to-hugo",{"title":40,"path":41,"stem":42},"The Intern is downloading movies again","/blog/intern-movie-torrent","blog/intern-movie-torrent",{"title":44,"path":45,"stem":46},"Japanese input in openSUSE Tumbleweed's KDE","/blog/japanese-input","blog/japanese-input",{"title":48,"path":49,"stem":50},"Jhey Pi: an official landing site for an aspiring musician","/blog/jp-landing","blog/jp-landing",{"id":52,"title":53,"body":54,"description":311,"extension":312,"links":313,"meta":314,"navigation":315,"ogImage":313,"path":316,"seo":317,"stem":60,"updated":313,"__hash__":318},"pages/uses.md","Uses",{"type":55,"value":56,"toc":297},"minimark",[57,61,73,79,84,89,105,109,122,126,145,149,168,172,186,189,261,265,285,289],[58,59,53],"h1",{"id":60},"uses",[62,63,64,65,72],"p",{},"What I actually use to ship software — hardware, OS, editor, terminal, and the cloud tooling that comes up most often. The real source of truth is ",[66,67,71],"a",{"href":68,"rel":69},"https://github.com/ivanovertime/nixos",[70],"nofollow","my NixOS configuration",".",[62,74,75],{},[76,77,78],"em",{},"Last updated: May 15, 2026.",[80,81,83],"h2",{"id":82},"hardware","Hardware",[85,86,88],"h3",{"id":87},"lenovo-v15-g4-abp-daily-driver","Lenovo V15 G4 ABP — daily driver",[90,91,92,96,99,102],"ul",{},[93,94,95],"li",{},"CPU: AMD Ryzen 7 7730U (16 threads) with Radeon Graphics",[93,97,98],{},"Memory: 16GB",[93,100,101],{},"Disk: 256GB",[93,103,104],{},"OS: NixOS 25.11 (Xantusia), GNOME 49 on Wayland, kernel 6.12",[85,106,108],{"id":107},"asus-n550lf-proxmox-node","ASUS N550LF — Proxmox node",[90,110,111,114,117,120],{},[93,112,113],{},"Joined to the homelab cluster as a worker node",[93,115,116],{},"CPU: Intel i7-4500U (4 threads) @ 3.00GHz",[93,118,119],{},"GPU: NVIDIA GeForce GT 745M",[93,121,98],{},[85,123,125],{"id":124},"hp-prodesk-homelab","HP ProDesk — homelab",[90,127,128,139,142],{},[93,129,130,131],{},"Proxmox VE 8\n",[90,132,133,136],{},[93,134,135],{},"Ubuntu Server as the control plane for self-hosted services",[93,137,138],{},"Windows Server 2019 for workloads that require Windows",[93,140,141],{},"CPU: Intel i5-4570 (4 threads) @ 3.20GHz",[93,143,144],{},"Memory: 32GB",[80,146,148],{"id":147},"os-shell","OS & shell",[90,150,151,162],{},[93,152,153,157,158,72],{},[154,155,156],"strong",{},"OS:"," NixOS 25.11 (Xantusia) — declarative system config, fully reproducible. Everything below that's installed on the machine lives in the ",[66,159,161],{"href":68,"rel":160},[70],"dotfiles repo",[93,163,164,167],{},[154,165,166],{},"Desktop:"," GNOME 49 on Wayland.",[80,169,171],{"id":170},"editor","Editor",[90,173,174,180],{},[93,175,176,179],{},[154,177,178],{},"VS Code"," — primary editor.",[93,181,182,185],{},[154,183,184],{},"Notes / PKM:"," Obsidian.",[62,187,188],{},"What I reach for from the terminal, beyond the editor:",[90,190,191,206,221,238,251],{},[93,192,193,196,197,201,202,205],{},[154,194,195],{},"Languages & runtimes:"," Node.js (via ",[198,199,200],"code",{},"pnpm"," / ",[198,203,204],{},"corepack","), PHP, Python — pinned per-project through Nix flakes when it matters.",[93,207,208,211,212,214,215,214,218,72],{},[154,209,210],{},"Package managers:"," ",[198,213,200],{},", ",[198,216,217],{},"composer",[198,219,220],{},"nix",[93,222,223,211,226,214,229,214,232,214,235,72],{},[154,224,225],{},"Containers & orchestration:",[198,227,228],{},"docker",[198,230,231],{},"docker compose",[198,233,234],{},"kubectl",[198,236,237],{},"helm",[93,239,240,211,243,246,247,250],{},[154,241,242],{},"Cloud CLIs:",[198,244,245],{},"gcloud"," (current focus), ",[198,248,249],{},"wrangler"," (Cloudflare Pages / Workers).",[93,252,253,256,257,260],{},[154,254,255],{},"Version control:"," Git, with the GitHub CLI (",[198,258,259],{},"gh",") for PR/issue work.",[80,262,264],{"id":263},"hosting-ci","Hosting & CI",[90,266,267,273,279],{},[93,268,269,272],{},[154,270,271],{},"Self-hosted:"," Coolify and Portainer on the homelab Proxmox cluster.",[93,274,275,278],{},[154,276,277],{},"Static / edge:"," Cloudflare Pages (this site runs on it).",[93,280,281,284],{},[154,282,283],{},"CI/CD:"," GitHub Actions.",[80,286,288],{"id":287},"source-of-truth","Source of truth",[62,290,291,292,296],{},"If a tool isn't listed here but you spot it in a screencast or screenshot, it's almost certainly defined in ",[66,293,295],{"href":68,"rel":294},[70],"github.com/ivanovertime/nixos"," — that repo is the canonical \"what's on my machine\".",{"title":298,"searchDepth":299,"depth":299,"links":300},"",2,[301,307,308,309,310],{"id":82,"depth":299,"text":83,"children":302},[303,305,306],{"id":87,"depth":304,"text":88},3,{"id":107,"depth":304,"text":108},{"id":124,"depth":304,"text":125},{"id":147,"depth":299,"text":148},{"id":170,"depth":299,"text":171},{"id":263,"depth":299,"text":264},{"id":287,"depth":299,"text":288},"The hardware, OS, and software I actually use day to day.","md",null,{},true,"/uses",{"title":53,"description":311},"rhhJMsHJIzWFbKKp3txXmC8X91SD7hrXfa2VnPjy3yU",1779739958179]