1
0
Fork 0
mirror of https://github.com/nix-community/home-manager.git synced 2025-03-10 02:36:54 +00:00
home-manager/tests/modules/programs/sbt/plugins.nix
Robert Helgesson 7a3f0b3b8d
tests: rework derivation stubbing
Instead of having to manually stub packages that should not be
downloaded we instead automatically stub all packages (except a small
list of whitelisted ones). Tests can re-introduce the real package by
using the `realPkgs` module argument.
2025-02-04 23:58:20 +01:00

40 lines
975 B
Nix

{ pkgs, ... }:
let
dependencyGraph = {
org = "net.virtual-void";
artifact = "sbt-dependency-graph";
version = "0.10.0-RC1";
};
projectGraph = {
org = "com.dwijnand";
artifact = "sbt-project-graph";
version = "0.4.0";
};
plugins = [ dependencyGraph projectGraph ];
pluginsExtra = [ "addDependencyTreePlugin" ];
pluginsSbtPath = ".sbt/1.0/plugins/plugins.sbt";
expectedPluginsSbt = pkgs.writeText "plugins.sbt" ''
addSbtPlugin("net.virtual-void" % "sbt-dependency-graph" % "0.10.0-RC1")
addSbtPlugin("com.dwijnand" % "sbt-project-graph" % "0.4.0")
addDependencyTreePlugin
'';
in {
config = {
programs.sbt = {
enable = true;
plugins = plugins;
pluginsExtra = pluginsExtra;
package = pkgs.writeScriptBin "sbt" "";
};
nmt.script = ''
assertFileExists "home-files/${pluginsSbtPath}"
assertFileContent "home-files/${pluginsSbtPath}" "${expectedPluginsSbt}"
'';
};
}