{ pkgs, lib, config, ... }: let cfg = config.mods.terminal; test-port = "5436"; prod-port = "5437"; in { options.mods.terminal.hr.enable = lib.mkEnableOption "Hefring (Work Tooling)"; config = lib.mkIf cfg.hr.enable { programs.nushell = lib.mkIf cfg.nushell.enable { extraConfig = '' $env.PROJECT_ID = if ($env | get -o PROJECT_ID | is-empty) { "mk2-test" } else { $env.PROJECT_ID } '' + builtins.readFile ./hr.nu; }; programs.starship.settings.custom.project_id = { command = "if $env.PROJECT_ID =~ 'prod' { $'(ansi yellow_bold) (ansi blue_bold)($env.PROJECT_ID)(ansi reset)' } else { $'(ansi blue_bold)($env.PROJECT_ID)(ansi reset)' }"; when = "not ($env | get -o PROJECT_ID | is-empty)"; shell = ["nu" "--no-config-file" "-c"]; format = "on $output "; }; programs.zsh.initContent = '' export MK2_TEST_SQL_INSTANCE_USER=gijs export MK2_TEST_SQL_INSTANCE_PASSWORD="$(cat ${config.sops.secrets.google-db-test.path})" export MK2_TEST_SQL_INSTANCE_PORT=${test-port} export MK2_TEST_SQL_INSTANCE_HOST=localhost export MK2_PROD_SQL_INSTANCE_USER=gijs export MK2_PROD_SQL_INSTANCE_PASSWORD="$(cat ${config.sops.secrets.google-db-prod.path})" export MK2_PROD_SQL_INSTANCE_HOST=localhost export MK2_PROD_SQL_INSTANCE_PORT=${prod-port} '' + builtins.readFile ./hr.sh; systemd.user.services = let proxy-service = name: port: { "google-db-proxy-${name}" = { Unit = { Description = "Google Cloud SQL Proxy (${name})"; After = ["network.target"]; }; Service = { Type = "simple"; Environment = [ "GOOGLE_APPLICATION_CREDENTIALS=${config.home.homeDirectory}/.config/gcloud/application_default_credentials.json" ]; ExecStart = "${pkgs.google-cloud-sql-proxy}/bin/cloud-sql-proxy mk2-${name}:europe-west1:mk2-${name}-sql-instance -p ${port}"; Restart = "always"; }; Install = { WantedBy = ["default.target"]; }; }; }; in proxy-service "test" test-port // proxy-service "prod" prod-port; }; }