Nest

A personal cloud operating system

Nest is the informal name I give to my Linux distribution based on Gentoo. Though I don’t distribute it publicly, it is a distribution in its own right, complete with a custom bootable installer, hardware-optimized binary packages, configuration management, and a unique graphical interface.

It is centered around a global filesystem mounted at /nest, securely accessible from anywhere in the world with a mandatory VPN. The mandatory VPN introduces some interesting new ways to think about personal computing. All of my systems and data are securely at my fingertips whether I’m at home, work, or on a public wifi; and I can move between networks without dropping connections. That eliminates a lot of the pain of mobile computing. I can even spread work out across all of my computers, which means I can use smaller cloud instances and cheaper ARM-based computers without compromise.

My distribution is fully managed with Puppet. I’ve written automation to take care of everything from the initial installation to desktop configuration and beyond to services like Plex and WordPress. It runs periodically to keep things in check, and hosts report back so I know what they’re up to, even if they’re in some far off cloud. The coverage is comprehensive, meaning I can rebuild any one of my systems without losing a configuration. Data loss is no concern either between the global filesystem and automatic, replicated ZFS snapshots.

Nest is a productivity monster. I designed a keyboard-driven tiling text and graphical user interface tailored to my workflow. I spent months writing dynamic application themes that work from the primitive VT100 terminal to the newest HiDPI X11 or Wayland display so that I have a 100% consistent theme that is easy to look at all day.

Ultimately, Nest is a leading-edge, but stable, playground for me to experiment with new and upcoming technologies. Through it I’ve experienced the latest developments to the Linux kernel, systemd, ZFS, and more, years before they hit enterprise distributions like RHEL and Ubuntu. Automating the new technologies with Puppet means I get to know them intimately.

This is my favorite project to work on because it never ends and it makes a difference in my life every day.

Supported Platforms

Advanced Features

  • Managed by Puppet
  • Hardware-optimized binaries
  • VPN — secure by default
  • ZFS storage

Target Applications

  • Minimal servers
  • Fully-featured workstations