The Wayback Machine - https://web.archive.org/web/20230810112449/https://github.com/numtide/srvos
Skip to content

numtide/srvos

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

216: flake.lock: Update r=numtide-bot a=numtide-bot



Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
b7407c2

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
dev
August 10, 2023 01:28
April 3, 2023 16:10
February 24, 2023 11:47
July 6, 2023 06:51
January 16, 2023 23:39
June 19, 2023 15:41
April 3, 2023 16:10
August 10, 2023 00:05
July 16, 2023 06:32
April 14, 2023 16:04
April 3, 2023 16:10

SrvOS - NixOS profiles for servers

STATUS: stable

SrvOS is a collection of opinionated and sharable NixOS configurations.

As we learn more about NixOS in various deployments, we end up re-writing the same modules and configs. This is a way for us to speed up and share our setups.

Instead of supporting everything, our goal is to target certain verticals and make the support super smooth there.

Quick Usage

Add srvos to your flake.nix to augment your NixOS configuration. For example to deploy a GitHub Action runner on Hetzner:

{
  description = "My machines flakes";
  inputs = {
    srvos.url = "github:numtide/srvos";
    # Use the version of nixpkgs that has been tested to work with SrvOS
    # Alternativly we also support the latest nixos release and unstable
    nixpkgs.follows = "srvos/nixpkgs";
  };
  outputs = { self, nixpkgs, srvos }: {
    nixosConfigurations.myHost = nixpkgs.lib.nixosSystem {
      system = "x86_64-linux";
      modules = [
        # This machine is a server
        srvos.nixosModules.server
        # Deployed on the AMD Hetzner hardware
        srvos.nixosModules.hardware-hetzner-amd
        # Configured with extra terminfos
        srvos.nixosModules.mixins-terminfo
        # And designed to run the GitHub Actions runners
        srvos.nixosModules.roles-github-actions-runner
        # Finally add your configuration here
        ./myHost.nix
      ];
    };
  };
}

Documentation

The Documentation website shows more general usage, how to install SrvOS, etc...

To improve the documentation, take a look at the ./docs folder. You can also run nix run .#docs.serve to start a preview server on http://localhost:3000.

Contributing

Contributions are always welcome!

License

MIT


This is a Numtide project.

NumTide Logo