31 lines
		
	
	
	
		
			757 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
	
		
			757 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
{
 | 
						|
  lib,
 | 
						|
  pkgs,
 | 
						|
  config,
 | 
						|
  ...
 | 
						|
}: {
 | 
						|
  options.programs.polycule = {
 | 
						|
    enable = lib.mkEnableOption "enable polycule matrix client";
 | 
						|
    package = lib.mkPackageOption pkgs "polycule" {};
 | 
						|
  };
 | 
						|
 | 
						|
  config = lib.mkIf config.programs.polycule.enable (lib.mkMerge [
 | 
						|
    {
 | 
						|
      home.packages = [
 | 
						|
        config.programs.polycule.package
 | 
						|
      ];
 | 
						|
    }
 | 
						|
    (
 | 
						|
      lib.mkIf config.impermanence.enable {
 | 
						|
        home.persistence."/persist${config.home.homeDirectory}" = {
 | 
						|
          # TODO: check that these are actually the correct folders
 | 
						|
          # directories = [
 | 
						|
          #   "${config.xdg.configHome}/polycule"
 | 
						|
          #   "${config.xdg.dataHome}/polycule"
 | 
						|
          #   "${config.xdg.cacheHome}/polycule"
 | 
						|
          # ];
 | 
						|
        };
 | 
						|
      }
 | 
						|
    )
 | 
						|
  ]);
 | 
						|
}
 |