mirror of
https://github.com/nix-community/home-manager.git
synced 2025-03-10 10:47:02 +00:00
When `cfg.package` is already wrapped, and wrapped without the `ExtensionSettings` key set, this would always add that key, even if its value was blank. This would result in `cfg.finalPackage` being a functionally-identical, but differently-input-addressed package. This is generally undesirable as it may result in multiple derivations being built, and also if the value of `cfg.package` is expected to be unchanged by the user (e.g. because they want it to be consistent between NixOS and HM configuration). Add a test to ensure this does not regress in the default case. Only test on newish stateVersion since the logic for `isWrapped` differs on older versions.
25 lines
605 B
Nix
25 lines
605 B
Nix
modulePath:
|
|
{ config, lib, pkgs, ... }:
|
|
|
|
let
|
|
|
|
cfg = lib.getAttrFromPath modulePath config;
|
|
|
|
firefoxMockOverlay = import ./setup-firefox-mock-overlay.nix modulePath;
|
|
|
|
in {
|
|
imports = [ firefoxMockOverlay ];
|
|
|
|
config = lib.mkIf config.test.enableBig
|
|
(lib.setAttrByPath modulePath { enable = true; } // {
|
|
home.stateVersion = "19.09";
|
|
|
|
nmt.script = ''
|
|
package=${cfg.package}
|
|
finalPackage=${cfg.finalPackage}
|
|
if [[ $package != $finalPackage ]]; then
|
|
fail "Expected finalPackage ($finalPackage) to equal package ($package)"
|
|
fi
|
|
'';
|
|
});
|
|
}
|