Files
home-manager/tests/modules/programs/sbt/plugins.nix
Austin Horstman 01ea51d706 treewide: use inherit for attribute assignments
This change converts redundant attribute assignments of the form `a =
a;` or `a = someSet.a;` into cleaner `inherit` statements. This reduces
verbosity and follows common Nix style for bringing attributes into
scope.

Statix Codes: W03 (manual_inherit), W04 (manual_inherit_from)

Also include statix and the rule in our configuration.
2026-04-08 14:47:48 -05:00

45 lines
976 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;
inherit plugins;
inherit pluginsExtra;
package = pkgs.writeScriptBin "sbt" "";
};
nmt.script = ''
assertFileExists "home-files/${pluginsSbtPath}"
assertFileContent "home-files/${pluginsSbtPath}" "${expectedPluginsSbt}"
'';
};
}