Setting up a Development System
We recommend a set of Nix settings on your development system to ease development with Cyberus Linux. The most important step is enabling the Cyberus Linux binary cache to avoid spending a lot of time compiling software that our internal CI has already built.
Everywhere: Per-Project Setup
As mentioned in First Steps, our binary cache can be enabled on a per-project basis. This avoids touching global configuration and is a great way to try things out.
To enable our cache, add the following Nix configuration to your flake.nix:
nixConfig = {
extra-substituters = [ "https://cache.cyberus-linux.com" ];
extra-trusted-public-keys = [ "ctrl-os:baPzGxj33zp/P+GAIJXsr8ss9Law+qEEFViX1+flbv8=" ];
};
If you instead want a system-wide setting, read on.
On NixOS: Using the Cyberus Linux Developer Module
If your development system runs NixOS, you can use our
cyberus-linux.profiles module set it up for Cyberus Linux
development. If you run NixOS, we trust you already know how to use
modules. For a reference of the module, check its
documentation.
Info
The best NixOS version for your development system is the latest NixOS release (or unstable if you dare). Cyberus Linux is not meant to be used for desktop systems for now!
On a Flakes system, add github:cyberus-linux/cyberus-linux-modules as a
flake input. You can then find the module as
cyberus-linux-modules.nixosModules.profiles.
Without Flakes, you can just import the module directly in your NixOS configuration:
imports = let
cyberus-linux-modules-src = builtins.fetchTarball {
url = "https://github.com/cyberus-linux/cyberus-linux-modules/archive/refs/heads/main.zip";
};
modules = import "${cyberus-linux-modules-src}/modules";
in [ modules.profiles ];
Once you have imported the module, you have to enable it in your configuration:
cyberus-linux.profiles.developer.enable = true;
Once you have rebuilt your system, Nix uses our binary cache.
Other Systems: Configuring the Binary Cache Manually
To configure the binary cache, add it as one of the substituters and
add the corresponding public key in your nix.conf. On Linux,
nix.conf is typically located in your home directory in
.config/nix/nix.conf.
Add the end, add:
extra-substituters = https://cache.cyberus-linux.com/
extra-trusted-public-keys = ctrl-os:baPzGxj33zp/P+GAIJXsr8ss9Law+qEEFViX1+flbv8=
After editing nix.conf, you are ready to go.