{ lib, config, pkgs, ... }: let cfg = config.snowhawk.flameshot; in { options.snowhawk.flameshot = { enable = lib.mkEnableOption "flameshot home-manager module"; config = lib.mkOption { type = with lib.types; attrsOf attrs; description = "the flameshot config as an attrs of attrs"; default = { General = { contrastOpacity = 188; contrastUiColor = "#8affc1"; drawColor = "#00ff00"; uiColor = "#007d96"; }; }; }; }; config = lib.mkIf cfg.enable { home.packages = with pkgs; [ flameshot ]; xdg.configFile."flameshot/flameshot.ini".text = lib.generators.toINI { } cfg.config; }; }