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

let
  iso_mount =
    (pkgs.writeScriptBin "iso_mount" (builtins.readFile ./files/iso_mount.bash)).overrideAttrs
      (old: {
        buildCommand = "${old.buildCommand}\n patchShebangs $out";

      });
  iso_unmount =
    (pkgs.writeScriptBin "iso_unmount" (builtins.readFile ./files/iso_unmount.bash)).overrideAttrs
      (old: {
        buildCommand = "${old.buildCommand}\n patchShebangs $out";

      });

in
{
  imports = [ ];

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

  config = lib.mkIf config.me.iso_mount.enable (
    lib.mkMerge [
      {
        environment.systemPackages = [
          iso_mount
          iso_unmount
        ];
      }
    ]
  );
}