srvos/README.md

76 lines
2.7 KiB
Markdown
Raw Normal View History

2023-04-02 19:37:45 +03:00
# SrvOS - NixOS profiles for servers
2022-12-01 19:32:37 +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
example to deploy a GitHub Action runner on Hetzner:
2022-12-19 17:00:06 +03:00
```nix
{
description = "My machines flakes";
2022-12-19 17:00:06 +03:00
inputs = {
srvos.url = "github:nix-community/srvos";
# 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
nixpkgs.follows = "srvos/nixpkgs";
2022-12-19 17:00:06 +03:00
};
outputs = { self, nixpkgs, srvos }: {
2022-12-19 17:00:06 +03:00
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
2022-12-19 17:00:06 +03:00
];
2022-12-19 18:13:10 +03:00
};
2022-12-19 17:00:06 +03:00
};
}
```
## Documentation
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
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!
2023-11-06 09:50:19 +03:00
## License
2023-11-06 09:50:19 +03:00
[MIT](LICENSE)
2023-11-06 09:50:19 +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-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.