Getting Started
Ready to create your own clan and manage a fleet of machines? Follow these simple steps to get started.
By the end of this guide, you'll have a fresh NixOS configuration ready to push to one or more machines. You'll create a new git repository and a flake, and all you need is at least one machine to push to. This is the easiest way to begin, and we recommend you to copy your existing configuration into this new setup!
Prerequisites
Clan depends on nix installed on your system. Run the following command to install nix.
If you already have installed Nix, make sure you have the nix-command
and flakes
configuration enabled in your ~/.config/nix/nix.conf.
The determinate installer already comes with this configuration by default.
If you run NixOS the nix
binary is already installed.
You will also need to enable the flakes
and nix-commands
experimental features in your configuration.nix:
Clan doesn't offer dedicated support for other operating systems yet.
Step 1: Add Clan CLI to Your Shell
Add the Clan CLI into your development workflow:
You can find reference documentation for the clan
cli program here.
Alternatively you can check out the help pages directly:
Step 2: Initialize Your Project
If you want to migrate an existing project, follow this guide.
Set the foundation of your Clan project by initializing it as follows:
This command creates the flake.nix
and .clan-flake
files for your project.
It will also generate files from a default template, to help show general clan usage patterns.
Step 3: Verify the Project Structure
Ensure that all project files exist by running:
This should yield the following:
.
├── flake.nix
├── machines
│  ├── jon
│  │  ├── configuration.nix
│  │  └── hardware-configuration.nix
│  └── sara
│  ├── configuration.nix
│  └── hardware-configuration.nix
└── modules
└── shared.nix
5 directories, 9 files
Success
You just successfully bootstrapped your first clan directory.