Generated by Rank Math SEO, this is an llms.txt file designed to help LLMs better understand and index this website. # Cameron Eagans: Engineering leader and full-stack software engineer ## Sitemaps [XML Sitemap](https://www.cweagans.net/sitemap_index.xml): Includes all crawlable and indexable pages. ## Posts - [Authentication with Pocket ID](https://www.cweagans.net/2026/03/authentication-with-pocket-id/): The problem with running a bunch of self-hosted services is that you end up with a bunch of separate login systems. Separate passwords (or worse, the same password everywhere), separate session management, separate "forgot password" flows for things that may not even have email configured. It gets messy fast. The right answer is a single identity provider that everything delegates to: one login, one session, and one place to revoke access. - [25 Years of Drupal](https://www.cweagans.net/2026/01/25-years-of-drupal/): Drupal turned 25. A personal thank-you to the project and community that shaped my career, values, and understanding of good software. - [Announcing n8n-oidc](https://www.cweagans.net/2025/12/announcing-n8n-oidc/): If you self-host n8n and want single sign-on, you've probably discovered the harsh reality: SSO requires a Startup license that starts at $400/mo (billed annually). That's a very significant cost, just to use your existing identity provider. This is the SSO Tax, and n8n is one of the worst offenders on the Wall of Shame at a 1567% markup over the base plan (and an obvious infinite markup over the self-hosted community edition). - [30 Little Thank-Yous](https://www.cweagans.net/2025/10/30-little-thank-yous/): Software is about people. This November, write a LinkedIn recommendation to thank those who made your work better. It's a small act of gratitude that can make a big difference. - [Announcing Composer Patches 2.0.0](https://www.cweagans.net/2025/10/announcing-composer-patches-2-0-0/): Composer Patches 2.0.0 brings Git-based patching, reproducible builds, and new APIs for easier, more reliable patch management. - [MX Master 4: An Extension of My Hand in Mouse Form](https://www.cweagans.net/2025/10/mx-master-4-an-extension-of-my-hand-in-mouse-form/): A hands-on review of Logitech’s MX Master 4 — quiet clicks, haptic feedback, per-app customization, and design refinements that make it feel like an extension of your hand. - [Leveling Up My Homelab](https://www.cweagans.net/2025/09/leveling-up-my-homelab/): How I rebuilt my homelab into a reliable, Kubernetes-powered system for real workloads, automation, and growth—starting from a simple rack and NAS. - [The Only Four GitHub PR Filters You Need](https://www.cweagans.net/2024/09/the-only-four-github-pr-filters-you-need/): Streamline your GitHub workflow with four essential PR filters. Manage pull requests, reduce WIP time, and keep your team focused on priorities. - [Update on dependency patch resolution](https://www.cweagans.net/2024/02/update-on-dependency-patch-resolution/): I've found a new path forward with dependency patch resolution. A new beta release of Composer Patches is available with the functionality re-added. - [Application-specific terminals](https://www.cweagans.net/2023/09/application-specific-terminals/): Make Neovim, Mutt, and other terminal applications more useful in a macOS environment by wrapping them in a simple app bundle. - [Dependency patch resolution](https://www.cweagans.net/2023/07/dependency-patch-resolution/): An update on the dependency patch resolution functionality in Composer Patches 2.x, some burnout, and a bit about the future. - [Seeking feedback on the dev version of Composer Patches](https://www.cweagans.net/2023/02/seeking-feedback-on-the-dev-version-of-composer-patches/): Composer Patches 2.0.0 is right around the corner. I need your feedback and testing to help work out any showstopping bugs. - [Dane Powell is comaintaining composer-patches](https://www.cweagans.net/2022/12/dane-powell-is-comaintaining-composer-patches/): Keeping Composer Patches maintained is important. Dane Powell now has commit access and has agreed to help with the project maintenance. - [Fast local development on macOS with ddev and mutagen](https://www.cweagans.net/2020/04/fast-local-development-on-macos-with-ddev-and-mutagen/): Docker for Mac users know: osxfs is just plain slow. NFS is a step forward, albeit with some tradeoffs. I’ve been experimenting with some different file mounting strategies in ddev, and I think I’ve found a winner. ## Pages - [Hire Me](https://www.cweagans.net/hire-me/): I'm an experienced engineering leader and full-stack software engineer with over 18 years of experience. I've worked on a handful of the largest properties on the Internet, and my open source projects have been downloaded over 90 million times. - [License](https://www.cweagans.net/license/): Unless otherwise noted, all text and graphics on this site are licensed under CC BY-SA 4.0. - [Colophon](https://www.cweagans.net/colophon/): This website was created with Wordpress, Tailwind CSS, and the Spotlight template from Tailwind UI. It is hosted on Dreamhost, cached with WP Super Cache, and served through Cloudflare for speed and security. Although it is a relatively simple website, there are a number of different custom post types that allowed me to build data-driven lists in various places in the site. - [Uses](https://www.cweagans.net/uses/): I occasionally get asked about the things I use on a day-to-day basis to stay productive or comfortable. Here's a big list of some of my favorite things. - [Writing](https://www.cweagans.net/writing/): My long-form thoughts on programming, leadership, open-source maintenance and contribution, society, and more. - [About](https://www.cweagans.net/about-me/): I’ve loved making things for as long as I can remember. At 11 years old, my dad taught me enough Visual Basic to write a simple calculator and I was immediately hooked. I’ve always been a curious person, and that curiosity has led me down many paths over the years. Alongside my interest in programming, I also found myself interested in electronics and volunteer work. This led to getting my amateur radio license, which I later used to help local elementary schools contact the International Space Station. - [Projects](https://www.cweagans.net/projects/): I've worked on many projects over the years. Below is a selection of them which you might find interesting. Many of them are open-source, so if you see something of interest, check out the code and contribute if you have ideas for how it can be improved. - [Home](https://www.cweagans.net/): I’m Cameron, an experienced engineering leader and full-stack software engineer based in Boise, Idaho. I've worked on a handful of the largest websites on the Internet, and my open source projects have been downloaded over 90 million times. Read more » ## Projects - [Documentation Portal](https://www.cweagans.net/project/documentation-portal/): A website for hosting the documentation for my various open-source projects. - [ddev-mutagen](https://www.cweagans.net/project/ddev-mutagen/): My attempt at fixing the chronic Docker for Mac performance problems for ddev users. - [NASA.gov](https://www.cweagans.net/project/nasa-gov/): NASA.gov - you know the one. It's the agency with the spaceships. - [VA.gov](https://www.cweagans.net/project/va-gov/): While working at Agile Six, my primary responsibility was working on VA.gov. I spent a lot of time on devops-related things. - [Aegir](https://www.cweagans.net/project/aegir/): An open-source hosting system for Drupal websites and more, used heavily by NASA and SLAC National Accelerator Laboratory. - [SAML Authentication](https://www.cweagans.net/project/saml-authentication/): A Drupal module that provides SAML authentication capabilities in a simple, efficient way. - [Spam Detect](https://www.cweagans.net/project/spam-detect/): A set of Drupal modules that can analyze text (mostly comments) to determine whether or not they are spammy. - [Phone](https://www.cweagans.net/project/phone/): A Drupal module providing localized phone number input, validation, and formatting based on Google's libphonenumber. - [Complex Field](https://www.cweagans.net/project/complex-field/): A proof-of-concept for a longstanding Drupal issue to provide "fieldable fields". - [Chip8 Emulator](https://www.cweagans.net/project/chip8-emulator/): A simple (partial) emulator for the Chip8 architecture written in Go. - [Awesome DIY Software](https://www.cweagans.net/project/awesome-diy-software/): A list of project- or tutorial-based learning where the reader builds a piece of software from beginning to end. - [Semantic UI Laminar Theme](https://www.cweagans.net/project/semantic-ui-laminar-theme/): A proof-of-concept theme for the custom UI theme functionality that I contributed to Laminar CI. - [ddev](https://www.cweagans.net/project/ddev/): A fast, simple, docker-based local development environment for Drupal, Wordpress, and more. - [Comparinator](https://www.cweagans.net/project/comparinator/): Dead-simple visual regression testing for websites. BYOW (bring your own WebDriver). - [Laminar Webform](https://www.cweagans.net/project/laminar-webform/): Configurable, parameterized builds through a web interface for Laminar CI. - [Composer Configurable Plugin](https://www.cweagans.net/project/composer-configurable-plugin/): A library for Composer plugin authors to handle configuration in a predictable way. - [Dotfiles](https://www.cweagans.net/project/dotfiles/): My environment configuration for any workstation (as long as it's a Mac). - [Composer Patches](https://www.cweagans.net/project/composer-patches/): A simple plugin that allows users to apply patches to their Composer dependencies. Downloaded over 80 million times and counting. ## Series - [Running Real Infrastructure at Home](https://www.cweagans.net/series/running-real-infrastructure-at-home/): This series is a technical deep dive into how I’ve built and operate a homelab that supports real workloads, focusing on running real infrastructure at home. It covers the architecture, decisions, and trade-offs behind everything from orchestration and identity to automation, observability, remote access, and disaster recovery.