{
  config,
  lib,
  pkgs,
  ...
}:

let
  exec_kanshi = pkgs.writeTextFile {
    name = "exec_kanshi.conf";
    text = ''
      exec kanshi
    '';
  };
in
{
  imports = [ ];

  options.me = {
    kanshi.enable = lib.mkOption {
      type = lib.types.bool;
      default = false;
      example = true;
      description = "Whether we want to install kanshi.";
    };
  };

  config = lib.mkIf (config.me.kanshi.enable && config.me.graphical) {
    environment.systemPackages = with pkgs; [
      kanshi
    ];

    me.swayIncludes = [
      exec_kanshi
    ];

    me.install.user.talexander.file = {
      ".config/kanshi/config" = {
        source = ./files/config_kanshi;
      };
    };
  };
}
