chore: created nodes for impermanence module
This commit is contained in:
		
							parent
							
								
									353ae4b874
								
							
						
					
					
						commit
						4f16a0cf99
					
				
					 1 changed files with 34 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -3,6 +3,39 @@
 | 
			
		|||
  lib,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  # options.storage = {
 | 
			
		||||
  #   zfs = {
 | 
			
		||||
  #     # TODO: enable option
 | 
			
		||||
  #     #   when this option is enabled we need to configure and enable disko things
 | 
			
		||||
 | 
			
		||||
  #     # TODO: we need some way of managing notifications
 | 
			
		||||
 | 
			
		||||
  #     # TODO: we need options to configure zfs pools
 | 
			
		||||
  #     #   we should have warnings when the configured pool is missing drives
 | 
			
		||||
 | 
			
		||||
  #     # TODO: dataset option that is a submodule that adds datasets to the system
 | 
			
		||||
  #     #   warnings for when a dataset was created in the past on a system but it is now missing some of the options defined for it
 | 
			
		||||
 | 
			
		||||
  #     # TODO: pools and datasets need to be passed to disko
 | 
			
		||||
  #   };
 | 
			
		||||
 | 
			
		||||
  #   impermanence = {
 | 
			
		||||
  #     # TODO: enable option
 | 
			
		||||
 | 
			
		||||
  #     # TODO: datasets option that is a submodule that will be used to define what datasets to add to the storage system
 | 
			
		||||
  #     #   We should by default create the `local`, `local/system/nix`, `local/system/root`, `persist` `persist/system/root`, and `persist/system/var/log` datasets
 | 
			
		||||
  #     #   Then we should make a dataset for user folders local and persist
 | 
			
		||||
  #     #   We should also create datasets for systemd modules that have have impermanence enabled for them
 | 
			
		||||
  #     #   we need to figure out what options a dataset can have in zfs
 | 
			
		||||
  #   };
 | 
			
		||||
 | 
			
		||||
  #   # TODO: we should have an impermanence module for home manager that proxies its values namespaced to the user down here that matches the same interface
 | 
			
		||||
 | 
			
		||||
  #   # TODO: we should have a way of enabling impermanence for a systemd config
 | 
			
		||||
  #   #   these should have an option to put their folder into their own dataset (this needs to support private vs non private)
 | 
			
		||||
  #   #   options for features that can be added to the dataset
 | 
			
		||||
  # };
 | 
			
		||||
 | 
			
		||||
  options.host.impermanence.enable = lib.mkEnableOption "are we going to use impermanence on this device";
 | 
			
		||||
 | 
			
		||||
  config = lib.mkMerge [
 | 
			
		||||
| 
						 | 
				
			
			@ -93,6 +126,7 @@
 | 
			
		|||
          ];
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        # TODO: this should live in leylas home manager configuration
 | 
			
		||||
        security.sudo.extraConfig = "Defaults lecture=never";
 | 
			
		||||
      }
 | 
			
		||||
    )
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue