Flake for my NixOS devices
at silly-iso 34 lines 931 B view raw
1{...}: { 2 config, 3 lib, 4 ... 5}: let 6 listOfDirs = desc: 7 lib.mkOption { 8 type = lib.types.listOf lib.types.str; 9 description = desc; 10 default = []; 11 }; 12in { 13 options.cow.imperm = { 14 keepLibraries = lib.mkEnableOption "persisting library (Documents, Pictures, etc.) directories"; 15 keepCache = listOfDirs "List of directories to persist if impermanence is enabled. These directories are *not* meant to be backed up"; 16 keep = listOfDirs "List of directories to persist if impermanence is enabled. These directories should be backed up"; 17 keepFiles = listOfDirs "List of files to keep. These files should be backed up"; 18 }; 19 20 config = lib.mkIf config.cow.imperm.keepLibraries { 21 cow.imperm.keep = [ 22 "Downloads" 23 "Music" 24 "Videos" 25 "Pictures" 26 "Documents" 27 ".ssh" 28 ]; 29 cow.imperm.keepCache = [ 30 ".cache" 31 ".local/state/wireplumber" 32 ]; 33 }; 34}