main
1{
2 den,
3 inputs,
4 ...
5}: {
6 flake-file.inputs.impermanence = {
7 url = "github:nix-community/impermanence";
8 inputs.nixpkgs.follows = "nixpkgs";
9 inputs.home-manager.follows = "home-manager";
10 };
11
12 den.aspects.core.impermanence = {
13 includes = with den.aspects.core.impermanence; [
14 persist-collector
15 persist-user-collector
16 persist-home-collector
17
18 btrfs
19 ];
20
21 persist = {
22 directories = [
23 "/etc/NetworkManager/system-connections"
24 ];
25 files = [
26 "/root/.bash_history"
27 ];
28 };
29 cache = {
30 directories = [
31 "/var/lib/nixos"
32 "/srv"
33 ];
34 };
35 persistUser = {
36 files = [
37 ".bash_history"
38 ];
39 };
40
41 nixos = {lib, ...}: {
42 imports = [inputs.impermanence.nixosModules.impermanence];
43
44 environment.persistence."/persist" = {
45 enable = true;
46 hideMounts = lib.mkDefault true;
47 };
48 environment.persistence."/cache" = {
49 enable = true;
50 hideMounts = lib.mkDefault true;
51 };
52 };
53 };
54}