Nix tooling to enable declarative management of non-volatile system state. [maintainer=@WilliButz] https://nix-community.github.io/preservation/
Find a file
2025-09-09 18:41:42 +02:00
.github/workflows ci: don't run test with repart on github ci 2025-08-09 18:10:09 +02:00
docs docs: fix wording 2025-09-08 14:35:45 +02:00
tests tests: switch to unittest assertions 2025-09-09 18:41:42 +02:00
.gitignore init docs 2024-09-02 15:48:57 +02:00
flake.nix use the module file directly instead of importing it 2025-06-27 19:18:24 +07:00
lib.nix add support for non-persisted user paths with user-specific ownership 2025-08-09 18:10:09 +02:00
LICENSE init 2024-05-07 20:54:08 +02:00
module.nix init docs 2024-09-02 15:48:57 +02:00
options.nix add support for non-persisted user paths with user-specific ownership 2025-08-09 18:10:09 +02:00
README.md treewide: move to nix-community 2024-12-27 15:13:35 +01:00
TODO.md update TODOs, add note about machine-id 2024-10-28 15:39:35 +01:00

Preservation

Nix tooling to enable declarative management of non-volatile system state.

Inspired and heavily influenced by impermanence but not meant to be a drop-in replacement.

Documentation

Docs are available at https://nix-community.github.io/preservation

Prerequisites

Requires at least nixos-24.11

Why?

This aims to provide a declarative state management solution for NixOS systems without resorting to interpreters to do the heavy lifting. This should enable impermanence-like state management on an "interpreter-less" NixOS system.

Related:

License

This project is released under the terms of the MIT License. See LICENSE.