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

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

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

  config = lib.mkIf config.me.shikane.enable (
    lib.mkMerge [
      (lib.mkIf config.me.graphical {
        environment.systemPackages = with pkgs; [
          shikane
        ];

        me.swayIncludes = [
          exec_shikane
        ];

        home-manager.users.talexander =
          { pkgs, ... }:
          {
            home.file = {
              ".config/shikane/config.toml" = {
                source = ./files/config.toml;
              };
            };
          };
      })
    ]
  );
}