mirror of
https://github.com/nix-community/home-manager
synced 2024-12-25 11:19:47 +01:00
jetbrains-remote: add module
This commit is contained in:
parent
aff1ba7dd8
commit
4a785b0cef
4 changed files with 51 additions and 0 deletions
|
@ -223,6 +223,11 @@
|
||||||
githubId = 33058747;
|
githubId = 33058747;
|
||||||
name = "Gaetan Lepage";
|
name = "Gaetan Lepage";
|
||||||
};
|
};
|
||||||
|
genericnerdyusername = {
|
||||||
|
email = "genericnerdyusername@proton.me";
|
||||||
|
github = "genericnerdyusername";
|
||||||
|
githubId = 111183546;
|
||||||
|
};
|
||||||
maximsmol = {
|
maximsmol = {
|
||||||
email = "maximsmol@gmail.com";
|
email = "maximsmol@gmail.com";
|
||||||
github = "maximsmol";
|
github = "maximsmol";
|
||||||
|
|
|
@ -1407,6 +1407,13 @@ in {
|
||||||
A new module is available: 'services.arrpc'
|
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/ion.nix
|
||||||
./programs/irssi.nix
|
./programs/irssi.nix
|
||||||
./programs/java.nix
|
./programs/java.nix
|
||||||
|
./programs/jetbrains-remote.nix
|
||||||
./programs/jq.nix
|
./programs/jq.nix
|
||||||
./programs/jujutsu.nix
|
./programs/jujutsu.nix
|
||||||
./programs/joshuto.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