https://github.com/nuschtos/pogo
https://github.com/nuschtos/pogo
Last synced: 5 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/nuschtos/pogo
- Owner: NuschtOS
- License: mit
- Created: 2025-05-08T22:27:34.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-10-15T21:51:01.000Z (9 months ago)
- Last Synced: 2025-10-16T23:21:01.391Z (9 months ago)
- Language: Nix
- Size: 57.6 KB
- Stars: 2
- Watchers: 3
- Forks: 1
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Pogo
Pogo is an opinionated module for NixOS building on top of [disko](http://github.com/nix-community/disko/).
Right now it offers a high level abstraction for ZFS including good defaults and a starter dataset layout.
## Design
This module is designed to be used to generate the `fileSystems` NixOS option and preserve compatibility with previously formatted systems on updates.
To ensure that there is a `stateVersion` option and every change that could cause a breakage for an existing system and render it unbootable must bump that version.
We use snapshot testing to ensure that compatibility. See [Checks](#checks).
With ever bump of `stateVersion` a new `synthetic-state-version-X.X` test must be created which tests that exact change.
We also have tests for our machines to make sure they do not break on updates. Those might be updated in the future.
If there are regressions, a specific test for those should be created to make sure we don't create the same bug twice.
## Checks
To run the snapshot tests open a nix dev shell with `nix develop` and run the following:
```
namaka check || namaka review
```
## Name
The name is not a silly joke of *Disco Pogo* from *Die Atzen*.
## Contact
For bugs and issues please open an issue in this repository.
If you want to chat about things or have ideas, feel free to join the [Matrix chat](https://matrix.to/#/#nuschtos:c3d2.de).