A collection of Smallstep software packaged for NixOS/nixpkgs
Flakes is the suggested way to install the packages available on this repository, following are quick instructions to get it working.
- Ensure flakes and experimental features are enabled in
/etc/nixos/configuration.nix:
nix.settings.experimental-features = [ "nix-command" "flakes" ];
- Ensure Git is installed: Flakes require git to clone dependencies:
environment.systemPackages = with pkgs; [
git
];
- Rebuild: Run the following command to apply the changes:
sudo nixos-rebuild switch
- Initialize flakes:
cd /etc/nixos
sudo nix flake init
- Add smallstep repository to flake.nix, this example also installs the latest step-agent-plugin.
Important:
- Update
<host>to match your NixOS configured host name, as listed innetworking.hostNamein configuration.nix. - Update
"x86_64-linux"to your CPU architecture, e.g."aarch64-linux". It will autodetect by default if builtins are available.
{
inputs = {
# Or change to your preferred NixOS channel
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
smallstep = {
url = "github:smallstep/nur";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { self, nixpkgs, smallstep, ... }:
let
system = if builtins ? currentSystem
then builtins.currentSystem
else "x86_64-linux";
in
{
nixosConfigurations.<host> = nixpkgs.lib.nixosSystem {
inherit system;
modules = [ ./configuration.nix
({ pkgs, ... }: {
programs.nix-ld.enable = true;
environment.systemPackages = with pkgs; [
smallstep.packages.${pkgs.system}.step-agent-plugin
];
})
];
};
};
}
- Update flakes and install packages:
sudo nix flake update
sudo nixos-rebuild switch