depot/third_party/home-manager/modules/programs/jetbrains-remote.nix
Default email 4d19ca4703 Project import generated by Copybara.
GitOrigin-RevId: a7117efb3725e6197dd95424136f79147aa35e5b
2024-06-04 11:23:39 -07:00

38 lines
1.1 KiB
Nix

{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.programs.jetbrains-remote;
in {
meta.maintainers = with lib.maintainers; [ genericnerdyusername ];
options.programs.jetbrains-remote = {
enable = mkEnableOption "JetBrains remote development system";
ides = mkOption {
type = types.listOf types.package;
default = [ ];
example = literalExpression ''
with pkgs.jetbrains; [ clion pycharm-professional ];
'';
description = ''
IDEs accessible to the JetBrains remote development system.
'';
};
};
config = mkIf (cfg.enable && cfg.ides != [ ]) {
home.activation.jetBrainsRemote = let
mkLine = ide:
# Errors out if the symlink already exists
"${ide}/bin/${ide.meta.mainProgram}-remote-dev-server registerBackendLocationForGateway || true";
lines = map mkLine cfg.ides;
linesStr = ''
rm $HOME/.cache/JetBrains/RemoteDev/userProvidedDist/_nix_store*
'' + concatStringsSep "\n" lines;
in hm.dag.entryAfter [ "writeBoundary" ] linesStr;
};
}