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

with lib;

let

  weatherScript = pkgs.writeShellScriptBin "weather" ''
    ${pkgs.curl}/bin/curl wttr.in/Berlin
  '';

  qrCodeScript = pkgs.writeShellScriptBin "qrCode" ''
    ${pkgs.qrencode}/bin/qrencode -t ANSI -o - "$@"
  '';

  cheatSheetScript = pkgs.writeShellScriptBin "cheatsheet" ''
    ${pkgs.curl}/bin/curl "cheat.sh/$1"
  '';

  cfg = config.programs.custom.curlScripts;

in
{

  options.programs.custom.curlScripts.enable =
    mkEnableOption "enable curl scripts";

  config = mkIf cfg.enable {
    environment.systemPackages =
      [ weatherScript qrCodeScript cheatSheetScript pkgs.qrencode ];
  };
}