57 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
{
 | 
						|
  config,
 | 
						|
  pkgs,
 | 
						|
  lib,
 | 
						|
  ...
 | 
						|
}:
 | 
						|
let
 | 
						|
  cfg = config.youthlic.programs.wluma;
 | 
						|
in
 | 
						|
{
 | 
						|
  options = {
 | 
						|
    youthlic.programs.wluma = {
 | 
						|
      enable = lib.mkEnableOption "wluma";
 | 
						|
      config = lib.mkOption {
 | 
						|
        type = lib.types.path;
 | 
						|
        example = ./config.toml;
 | 
						|
        description = ''
 | 
						|
          path to config file of wluma
 | 
						|
        '';
 | 
						|
      };
 | 
						|
      package = lib.mkOption {
 | 
						|
        type = lib.types.package;
 | 
						|
        example = pkgs.wluam;
 | 
						|
        default = pkgs.wluma;
 | 
						|
        description = ''
 | 
						|
          pakcage of wluma
 | 
						|
        '';
 | 
						|
      };
 | 
						|
    };
 | 
						|
  };
 | 
						|
  config = lib.mkIf cfg.enable {
 | 
						|
    home.packages = [
 | 
						|
      cfg.package
 | 
						|
    ];
 | 
						|
    xdg.configFile."wluma/config.toml" = {
 | 
						|
      enable = true;
 | 
						|
      source = cfg.config;
 | 
						|
    };
 | 
						|
    systemd.user.services.wluma = {
 | 
						|
      Unit = {
 | 
						|
        Description = "Adjusting screen brightness based on screen contents and amount of ambient light";
 | 
						|
        PartOf = [ "graphical-session.target" ];
 | 
						|
        After = [ "graphical-session.target" ];
 | 
						|
      };
 | 
						|
      Service = {
 | 
						|
        ExecStart = [ "${lib.getExe cfg.package}" ];
 | 
						|
        Restart = "always";
 | 
						|
        EnvironmentFile = [ "-%E/wluma/service.conf" ];
 | 
						|
        PrivateNetwork = true;
 | 
						|
        PrivateMounts = false;
 | 
						|
      };
 | 
						|
      Install = {
 | 
						|
        WantedBy = [ "graphical-session.target" ];
 | 
						|
      };
 | 
						|
    };
 | 
						|
  };
 | 
						|
}
 |