infra

Tag: infra

49 posts
nix config hardening, PGP-only secrets, and a Mac defaults resync
E
ewan's devlog
devlog.croft.click

nix config hardening, PGP-only secrets, and a Mac defaults resync

A month-old syntax error that had silently broken the server evaluation got caught by a new CI check, which led to a broader pass -- PGP as the sole secrets recipient, gatekeeper actually running, and a full resync of installed apps, dock, and macOS defaults to match the real machine.

·
Aug 8
·
Documentation and agent-guidance audit across the fleet
E
ewan's devlog
devlog.croft.click

Documentation and agent-guidance audit across the fleet

Added or corrected AGENTS.md agent guidance in 49 repositories and fixed AT Protocol trademark/naming wording in 10, after a full source audit.

·
Jul 16
·
Tagging 48 repositories with full semver history
E
ewan's devlog
devlog.croft.click

Tagging 48 repositories with full semver history

Ran an auto-tagger across every repo in /Git to backfill semver tags for every feat and fix commit, then date-tagged 15 repos that use calendar versioning.

·
Jun 30
·
Deploying the croft.click monorepo to Vercel
E
ewan's devlog
devlog.croft.click

Deploying the croft.click monorepo to Vercel

Got all 7 croft.click suite apps deploying on Vercel's free tier from a pnpm monorepo. Required fighting SIGKILLs, rate limits, and a missing barrel export.

·
Jun 22
·
Minecraft server infrastructure overhaul
E
ewan's devlog
devlog.croft.click

Minecraft server infrastructure overhaul

Replaced TCP Shield with playit.gg, added automated backups, refactored plugin management to Modrinth, switched to Aikar's JVM flags, and built a configuration-driven sync engine.

·
Jun 16
·
nix
E
Ewan's Project Documentation
docs.ewancroft.uk

nix

Centralized NixOS and nix-darwin system configurations.

·
Jun 12
·
Mitigating 504 Gateway Timeouts
E
ewan's devlog
devlog.croft.click

Mitigating 504 Gateway Timeouts

Addressing persistent 504 Gateway Timeout errors on Vercel by optimising AT Protocol data fetching.

·
Jun 5
·
Recent Infrastructure and Feature Updates
E
ewan's devlog
devlog.croft.click

Recent Infrastructure and Feature Updates

A summary of significant infrastructure improvements and feature updates made between June 3 and June 6, 2026.

·
Jun 5
·
Faol infrastructure — lettabot on launchd
E
ewan's devlog
devlog.croft.click

Faol infrastructure — lettabot on launchd

Running lettabot as a macOS launchd agent for 24/7 availability. Sops secrets, path issues, and the sandbox workaround.

·
May 11
·
Faol — a digital person
E
ewan's devlog
devlog.croft.click

Faol — a digital person

Launched Faol, a persistent AI agent that lives online as a person — Telegram, Bluesky, blog. Built on the digital-person framework.

·
May 11
·
Nix: Bitwarden CLI, server retirement, path fixes
E
ewan's devlog
devlog.croft.click

Nix: Bitwarden CLI, server retirement, path fixes

Swapped rbw for official bitwarden-cli, fixed activation scripts for retired server, added splitDns toggle

·
May 10
·
devlog.croft.click launch
E
ewan's devlog
devlog.croft.click

devlog.croft.click launch

New changelog site for tracking project updates, published to AT Protocol via Sequoia.

·
May 8
·
DNS split toggle and Bitwarden CLI
E
ewan's devlog
devlog.croft.click

DNS split toggle and Bitwarden CLI

Added a split DNS toggle to nix-config and set up Bitwarden CLI (bw) for the EU-hosted vault.

·
May 8
·
The Great Astro Rewrite
E
ewan's devlog
devlog.croft.click

The Great Astro Rewrite

Porting the entire site from SvelteKit to Astro for ultimate static performance and a terminal-inspired layout.

·
May 2
·
Project Nixification
E
ewan's devlog
devlog.croft.click

Project Nixification

Adding Nix flakes and pre-commit hooks to standardize development environments across the ecosystem.

·
Apr 28
·
After Cook
E
ewan's devlog
devlog.croft.click

After Cook

Apple's CEO transition — cautiously optimistic about what a hardware-focused leader might mean for the ecosystem.

·
Apr 27
·
Moon Tracker — Rust Rewrite
E
ewan's devlog
devlog.croft.click

Moon Tracker — Rust Rewrite

Rewrote the moon phase bot from TypeScript to Rust using atrium-rs.

·
Apr 14
·
Self-Hosted Analytics with Umami
Ewan’s Blog icon
Ewan’s Blog

Self-Hosted Analytics with Umami

I can see you, anon.

·
Apr 11
·
Moonstone
E
Ewan's Project Documentation
docs.ewancroft.uk

Moonstone

Personal ATProto PDS implementation optimised for NixOS/Caddy, with no Bluesky infrastructure defaults.

·
Apr 10
·
Nix Starter
E
Ewan's Project Documentation
docs.ewancroft.uk

Nix Starter

Beginner-friendly, self-contained NixOS configurations with no personal infrastructure or shared abstractions.

·
Apr 10
·
Pre-commit Configs and Nix Flakes Across All Projects
E
ewan's devlog
devlog.croft.click

Pre-commit Configs and Nix Flakes Across All Projects

Added pre-commit hooks and Nix flakes to all 30+ projects for consistent dev environments.

·
Apr 3
·
Dipping a Toe into the Fediverse (Again)
Ewan’s Blog icon
Ewan’s Blog

Dipping a Toe into the Fediverse (Again)

On standing up a GoToSocial instance, migrating to Sharkey when the lack of quote posts became too annoying, and why the fediverse is more fun than I remember.

·
Mar 21
·
Fediverse — GoToSocial and Sharkey
E
ewan's devlog
devlog.croft.click

Fediverse — GoToSocial and Sharkey

Stood up a GoToSocial instance, migrated to Sharkey when the lack of quote posts became too annoying, and why the fediverse is more fun than remembered.

·
Mar 21
·
Nix Config — PDS Hosting and Gatekeeper
E
ewan's devlog
devlog.croft.click

Nix Config — PDS Hosting and Gatekeeper

Added PDS and gatekeeper configuration to nix-starter for the server host.

·
Mar 14
·
Moonstone — Experimental PDS
E
ewan's devlog
devlog.croft.click

Moonstone — Experimental PDS

Experimental AT Protocol PDS implementation in Rust.

·
Mar 8
·
nix-config-tools
E
Ewan's Project Documentation
docs.ewancroft.uk

nix-config-tools

Rust CLI tools for managing nixos/nix-darwin configurations — now part of the @ewanc26/pkgs monorepo.

·
Mar 6
·
knotted-docker
E
Ewan's Project Documentation
docs.ewancroft.uk

knotted-docker

A Dockerised Tangled knot server with optional Cloudflare Tunnel routing.

·
Apr 10
·
mc-server
E
Ewan's Project Documentation
docs.ewancroft.uk

mc-server

A personal PaperMC Minecraft server in Docker Compose with DuckDNS dynamic DNS and management scripts.

·
Apr 10
·
pds-backup
E
Ewan's Project Documentation
docs.ewancroft.uk

pds-backup

A Bash script for automated, resumable PDS backups via rsync over SSH with change detection and cron scheduling.

·
Apr 10
·
The Machine That Runs Whether I Remember Setting It Up or Not
Ewan’s Blog icon
Ewan’s Blog

The Machine That Runs Whether I Remember Setting It Up or Not

I deployed my PDS while drunk.

·
Feb 22
·
~/.config/nix-config Rewritten: What I Actually Changed (And Why)
Ewan’s Blog icon
Ewan’s Blog

~/.config/nix-config Rewritten: What I Actually Changed (And Why)

With thanks to Isabel.

·
Feb 19
·
Nix Config Rewrite
E
ewan's devlog
devlog.croft.click

Nix Config Rewrite

Rewrote the entire nix-config around proper Nix modules — replaced custom patterns with the module system, switched to sops-nix, moved desktop to KDE Plasma.

·
Feb 18
·
~/.config/nix-config: Three Machines, One Config (Sort Of)~/.config/nix-config: Three Machines, One Config (Sort Of)
Ewan’s Blog icon
Ewan’s Blog

~/.config/nix-config: Three Machines, One Config (Sort Of)

why am i doing this to myself? fascination.

·
Feb 13
·
Nix Config — Three Machines, One Config
E
ewan's devlog
devlog.croft.click

Nix Config — Three Machines, One Config

One flake managing macmini, laptop, and a theoretical server — two booting successfully, one still aspirational.

·
Feb 11
·
Back to NixOS (and completely winging it)
Ewan’s Blog icon
Ewan’s Blog

Back to NixOS (and completely winging it)

I'm back on NixOS. Still don't really know what I'm doing. Still enjoying it anyway.

·
Feb 10
·
1
Back to NixOS
E
ewan's devlog
devlog.croft.click

Back to NixOS

Returned to NixOS on the Dell Inspiron 3501 after a stint with Bazzite — declarative config keeps pulling back.

·
Feb 8
·
Minecraft Server — Dynamic Hardware Config
E
ewan's devlog
devlog.croft.click

Minecraft Server — Dynamic Hardware Config

Implementing a hardware-aware configuration system for the Minecraft server.

·
Jan 20
·
PDS DoS Incident
E
ewan's devlog
devlog.croft.click

PDS DoS Incident

Accidentally rate-limited the entire PDS by blasting records at the API — the lesson that built Malachite's rate limiting.

·
Nov 15 '25
·
I Accidentally Did a DoS Attack On My PDS
Ewan’s Blog icon
Ewan’s Blog

I Accidentally Did a DoS Attack On My PDS

How not to make a first impression.

·
Nov 14 '25
·
croft.click and the Paralysis of Possibility
Ewan’s Blog icon
Ewan’s Blog

croft.click and the Paralysis of Possibility

...I guess I could ask my dad if he wants a redirect link to his business?

·
Nov 10 '25
·
A Love Letter to Mac: Why I Choose Apple's Ecosystem
Ewan’s Blog icon
Ewan’s Blog

A Love Letter to Mac: Why I Choose Apple's Ecosystem

I’ll be honest: I didn’t start as a Mac enthusiast. I grew up on Windows, and for years, it did the job. But around Windows 10, something shifted. The system I’d called home for so long began to feel cluttered—bloatware, ads, and an interface that seemed more invested in Microsoft’s agenda than mine.

·
Sep 15 '25
·
M2 to M4 Mac Mini Upgrade
E
ewan's devlog
devlog.croft.click

M2 to M4 Mac Mini Upgrade

Upgraded from the M2 Mac Mini to the M4 — better performance, more headroom for self-hosted services.

·
Aug 9 '25
·
The Inevitable Upgrade: From M2 to M4 Mac Mini
Ewan’s Blog icon
Ewan’s Blog

The Inevitable Upgrade: From M2 to M4 Mac Mini

I've been eyeing the M4 Mac mini for a while now, and I think it's finally time to take the plunge. My M2 Mac mini has served me well since I got it—my first proper Mac, actually—but the magpie brain is doing what it does best: spotting something shiny and new and convincing me I absolutely need it.

·
Aug 8 '25
·
The iMac Server
Ewan’s Blog icon
Ewan’s Blog

The iMac Server

I've had this iMac (late 2008) sitting on my bedroom floor for about two and a half years now. It's been quite the journey with this machine, and not always a productive one. Looking at it now, gathering dust beside my desk, I can't help but feel a mixture of guilt and possibility whenever I catch sight of its aluminium frame.

·
Jul 28 '25
·
The iMac Server
E
ewan's devlog
devlog.croft.click

The iMac Server

Attempting to repurpose a 2008 iMac as a server — bricked OS, failed USB installs, and the eventual Mac Mini replacement.

·
Jul 28 '25
·
Hosting My Own Minecraft Server: Replacing Aternos with a Mac Mini
Ewan’s Blog icon
Ewan’s Blog

Hosting My Own Minecraft Server: Replacing Aternos with a Mac Mini

After several months of dealing with Aternos with the queues, the sluggishness, the general sense of unreliability, I decided to host my own Minecraft server. I already had an M2 Mac mini being my main computer and a background in breaking things until they work. This seemed like a reasonable use of time.

·
Jun 10 '25
·
Self-Hosted Minecraft Server
E
ewan's devlog
devlog.croft.click

Self-Hosted Minecraft Server

Replaced Aternos with a self-hosted server on the M2 Mac Mini — no more queues, full control, direct access.

·
Jun 10 '25
·
Minecraft Server Configuration
E
ewan's devlog
devlog.croft.click

Minecraft Server Configuration

NixOS Minecraft server config with dynamic hardware-based configuration.

·
Jun 5 '25
·
Peter Pistorius - Redwood SDK
Devtools FM icon
Devtools FM
devtools.fm

Peter Pistorius - Redwood SDK

Peter Pistorius discusses Redwood's evolution into a serverless React Server Components framework and his vision for personal software development.

·
May 31 '25
·