Copland OS is a Linux distribution built with Nix, using OpenRC for init and service management. It provides its own system modules and activation process, with ZFS storage, age secrets and Copland Home configured alongside the operating system.
A service, its account, persistent storage and credentials can all be described in the same configuration. Copland builds the system from that description and applies it during activation. Application data stays separate from the built system generation.
Authorship
Copland’s initial framework was built with the help of LLMs. Further development is my own.
I write and run the system myself and use LLMs for code review and research on specific questions.
What Copland provides
System configuration and services
Nix builds the selected packages and configuration into system generations. Copland turns service declarations into regular OpenRC scripts with explicit dependencies, runlevels and restart behavior. These scripts remain available to inspect and use with the OpenRC tools.
When activation or service startup fails during a switch, Copland switches back to the previous generation and starts its services again. Rolling back a system generation leaves persistent application data in place.
Storage and secrets
Services can declare ZFS datasets with their mountpoints, ownership and quotas. Copland prepares them during activation. WebZFS provides an optional browser interface for managing ZFS.
Native age support lets encrypted secrets live beside the configuration that uses them. Copland decrypts them during activation, manages their permissions and can restart the services affected by a secret update.
User environments
Copland Home manages user packages, configuration files and OpenRC user services. Configuration can be generated in the Nix store, linked to editable files or use an editable checkout with a stored fallback. Home activation is included in system switches.
Containers
Copland can run lightweight Alpine Linux containers with declared packages, networking and resource limits. OpenRC manages their lifecycle, and ZFS datasets hold their persistent state. They can host services or provide separate environments for trying things out.
Reading the documentation
- Getting started provides complete example configurations for a personal system with Mango and a VPS, followed by installation instructions.
- Installation explains the public Live ISO, gum installer, offline Minimal profile and recovery.
- Architecture explains system generations and how the main components work together.
- Hardware covers CPU and GPU adapters, VFIO, WLAN, laptop power and peripheral maintenance.
- The individual chapters cover services, storage, secrets, Copland Home, containers and system switches with configuration examples.
- Yggdrasil explains peer connections, local hostnames and service access over the mesh network.
- Project status tracks known implementation gaps, unfinished documentation and planned work.
The documentation is still taking shape. Its goal is to make the available mechanisms understandable and usable, while keeping the remaining work visible.
Links
- relic.copland.systems is the Fossil repository where Copland is developed, with its source code and full history of changes.
- cashmere.rs is my personal website.
- bbs.copland.systems is a small BBS-style forum. It is a separate project and not part of Copland, but may be of interest to readers.