2023-04-02 19:37:45 +03:00
# SrvOS - NixOS profiles for servers
2022-12-01 19:32:37 +03:00
2023-07-16 10:33:55 +03:00
STATUS: stable
2022-12-01 19:32:37 +03:00
2023-02-07 20:30:25 +03:00
SrvOS is a collection of opinionated and sharable NixOS configurations.
2022-12-01 19:32:37 +03:00
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.
2023-02-07 20:30:25 +03:00
Instead of supporting everything, our goal is to target certain verticals and make the support super smooth there.
2023-02-13 19:17:55 +03:00
## Quick Usage
2022-12-19 17:00:06 +03:00
2023-02-13 19:17:55 +03:00
Add `srvos` to your `flake.nix` to augment your NixOS configuration. For
2023-01-17 01:53:50 +03:00
example to deploy a GitHub Action runner on Hetzner:
2022-12-19 17:00:06 +03:00
```nix
{
2023-04-14 17:04:41 +03:00
description = "My machines flakes";
2022-12-19 17:00:06 +03:00
inputs = {
2023-11-04 12:17:06 +03:00
srvos.url = "github:nix-community/srvos";
2023-04-14 17:04:41 +03:00
# Use the version of nixpkgs that has been tested to work with SrvOS
2024-03-20 20:29:05 +03:00
# Alternatively we also support the latest nixos release and unstable
2023-04-14 17:04:41 +03:00
nixpkgs.follows = "srvos/nixpkgs";
2022-12-19 17:00:06 +03:00
};
2023-04-14 17:04:41 +03:00
outputs = { self, nixpkgs, srvos }: {
2022-12-19 17:00:06 +03:00
nixosConfigurations.myHost = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
2023-04-14 17:04:41 +03:00
# This machine is a server
srvos.nixosModules.server
# Deployed on the AMD Hetzner hardware
2023-01-17 01:53:50 +03:00
srvos.nixosModules.hardware-hetzner-amd
2023-04-14 17:04:41 +03:00
# Configured with extra terminfos
srvos.nixosModules.mixins-terminfo
# And designed to run the GitHub Actions runners
2023-01-17 01:53:50 +03:00
srvos.nixosModules.roles-github-actions-runner
2023-04-14 17:04:41 +03:00
# Finally add your configuration here
./myHost.nix
2022-12-19 17:00:06 +03:00
];
2022-12-19 18:13:10 +03:00
};
2022-12-19 17:00:06 +03:00
};
}
```
2023-02-15 12:35:52 +03:00
## Documentation
2022-12-31 18:26:51 +03:00
2023-11-04 01:02:25 +03:00
The [Documentation ](https://nix-community.github.io/srvos/ ) website shows more general usage, how to install SrvOS, etc...
2023-01-02 11:22:32 +03:00
2023-02-15 12:35:52 +03:00
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
2023-04-14 17:04:41 +03:00
Contributions are always welcome!
2023-01-17 01:53:50 +03:00
2023-11-06 09:50:19 +03:00
## License
2023-01-17 01:53:50 +03:00
2023-11-06 09:50:19 +03:00
[MIT ](LICENSE )
2023-01-17 01:53:50 +03:00
2023-11-06 09:50:19 +03:00
---
2023-01-17 01:53:50 +03:00
2023-11-06 09:50:19 +03:00
This project is supported by [Numtide ](https://numtide.com/ ).
![Untitledpng ](https://codahosted.io/docs/6FCIMTRM0p/blobs/bl-sgSunaXYWX/077f3f9d7d76d6a228a937afa0658292584dedb5b852a8ca370b6c61dabb7872b7f617e603f1793928dc5410c74b3e77af21a89e435fa71a681a868d21fd1f599dd10a647dd855e14043979f1df7956f67c3260c0442e24b34662307204b83ea34de929d )
2023-01-17 01:53:50 +03:00
2023-11-06 09:50:19 +03:00
We are a team of independent freelancers that love open source. We help our
customers make their project lifecycles more efficient by:
- Providing and supporting useful tools such as this one
- Building and deploying infrastructure, and offering dedicated DevOps support
- Building their in-house Nix skills, and integrating Nix with their workflows
- Developing additional features and tools
- Carrying out custom research and development.
[Contact us ](https://numtide.com/contact ) if you have a project in mind, or if
you need help with any of our supported tools, including this one. We'd love to
hear from you.