jetbrains-remote: add module
This commit is contained in:
parent
f65dcd6c15
commit
f99eace7c1
|
@ -223,6 +223,11 @@
|
|||
githubId = 33058747;
|
||||
name = "Gaetan Lepage";
|
||||
};
|
||||
genericnerdyusername = {
|
||||
email = "genericnerdyusername@proton.me";
|
||||
github = "genericnerdyusername";
|
||||
githubId = 111183546;
|
||||
};
|
||||
maximsmol = {
|
||||
email = "maximsmol@gmail.com";
|
||||
github = "maximsmol";
|
||||
|
|
|
@ -1407,6 +1407,13 @@ in {
|
|||
A new module is available: 'services.arrpc'
|
||||
'';
|
||||
}
|
||||
|
||||
{
|
||||
time = "2024-02-05T22:45:37+00:00";
|
||||
message = ''
|
||||
A new module is available: 'programs.jetbrains-remote'
|
||||
'';
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -120,6 +120,7 @@ let
|
|||
./programs/ion.nix
|
||||
./programs/irssi.nix
|
||||
./programs/java.nix
|
||||
./programs/jetbrains-remote.nix
|
||||
./programs/jq.nix
|
||||
./programs/jujutsu.nix
|
||||
./programs/joshuto.nix
|
||||
|
|
38
modules/programs/jetbrains-remote.nix
Normal file
38
modules/programs/jetbrains-remote.nix
Normal file
|
@ -0,0 +1,38 @@
|
|||
{ 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;
|
||||
};
|
||||
}
|
Loading…
Reference in a new issue