{ config, lib, pkgs, ... }: with lib; let credentials = [ { realm = "Sonatype Nexus Repository Manager"; host = "example.com"; user = "user"; passwordCommand = "echo password"; } { realm = "Sonatype Nexus Repository Manager X"; host = "v2.example.com"; user = "user1"; passwordCommand = "echo password1"; } ]; expectedCredentialsSbt = pkgs.writeText "credentials.sbt" '' import scala.sys.process._ credentials += Credentials("Sonatype Nexus Repository Manager", "example.com", "user", "echo password".!!) credentials += Credentials("Sonatype Nexus Repository Manager X", "v2.example.com", "user1", "echo password1".!!) ''; credentialsSbtPath = ".sbt/1.0/credentials.sbt"; in { config = { programs.sbt = { enable = true; credentials = credentials; package = pkgs.writeScriptBin "sbt" ""; }; nmt.script = '' assertFileExists "home-files/${credentialsSbtPath}" assertFileContent "home-files/${credentialsSbtPath}" "${expectedCredentialsSbt}" ''; }; }