mirror of
https://github.com/ryantm/agenix.git
synced 2024-09-11 06:05:38 +03:00
Add darwin tests for home-manager module
This commit is contained in:
parent
19bf5a20d8
commit
50743bd117
58
flake.nix
58
flake.nix
@ -57,24 +57,46 @@
|
|||||||
packages.x86_64-linux.agenix = agenix "x86_64-linux";
|
packages.x86_64-linux.agenix = agenix "x86_64-linux";
|
||||||
packages.x86_64-linux.default = self.packages.x86_64-linux.agenix;
|
packages.x86_64-linux.default = self.packages.x86_64-linux.agenix;
|
||||||
packages.x86_64-linux.doc = doc "x86_64-linux";
|
packages.x86_64-linux.doc = doc "x86_64-linux";
|
||||||
checks.x86_64-linux.integration = import ./test/integration.nix {
|
|
||||||
inherit nixpkgs home-manager;
|
|
||||||
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
|
||||||
system = "x86_64-linux";
|
|
||||||
};
|
|
||||||
checks."aarch64-darwin".integration =
|
|
||||||
(darwin.lib.darwinSystem {
|
|
||||||
system = "aarch64-darwin";
|
|
||||||
modules = [./test/integration_darwin.nix "${darwin.outPath}/pkgs/darwin-installer/installer.nix"];
|
|
||||||
})
|
|
||||||
.system;
|
|
||||||
checks."x86_64-darwin".integration =
|
|
||||||
(darwin.lib.darwinSystem {
|
|
||||||
system = "x86_64-darwin";
|
|
||||||
modules = [./test/integration_darwin.nix "${darwin.outPath}/pkgs/darwin-installer/installer.nix"];
|
|
||||||
})
|
|
||||||
.system;
|
|
||||||
|
|
||||||
darwinConfigurations.integration.system = self.checks."x86_64-darwin".integration;
|
checks =
|
||||||
|
nixpkgs.lib.genAttrs ["aarch64-darwin" "x86_64-darwin"] (system: {
|
||||||
|
integration =
|
||||||
|
(darwin.lib.darwinSystem {
|
||||||
|
inherit system;
|
||||||
|
modules = [
|
||||||
|
./test/integration_darwin.nix
|
||||||
|
"${darwin.outPath}/pkgs/darwin-installer/installer.nix"
|
||||||
|
home-manager.darwinModules.home-manager
|
||||||
|
{
|
||||||
|
home-manager = {
|
||||||
|
verbose = true;
|
||||||
|
useGlobalPkgs = true;
|
||||||
|
useUserPackages = true;
|
||||||
|
backupFileExtension = "hmbak";
|
||||||
|
users.runner = ./test/integration_hm_darwin.nix;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
})
|
||||||
|
.system;
|
||||||
|
})
|
||||||
|
// {
|
||||||
|
x86_64-linux.integration = import ./test/integration.nix {
|
||||||
|
inherit nixpkgs home-manager;
|
||||||
|
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
||||||
|
system = "x86_64-linux";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
darwinConfigurations.integration-x86_64.system = self.checks.x86_64-darwin.integration;
|
||||||
|
darwinConfigurations.integration-aarch64.system = self.checks.aarch64-darwin.integration;
|
||||||
|
|
||||||
|
# Work-around for https://github.com/nix-community/home-manager/issues/3075
|
||||||
|
legacyPackages = nixpkgs.lib.genAttrs ["aarch64-darwin" "x86_64-darwin"] (system: {
|
||||||
|
homeConfigurations.integration-darwin = home-manager.lib.homeManagerConfiguration {
|
||||||
|
pkgs = nixpkgs.legacyPackages.${system};
|
||||||
|
modules = [./test/integration_hm_darwin.nix];
|
||||||
|
};
|
||||||
|
});
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
33
test/integration_hm_darwin.nix
Normal file
33
test/integration_hm_darwin.nix
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
options,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [../modules/age-home.nix];
|
||||||
|
|
||||||
|
age = {
|
||||||
|
identityPaths = options.age.identityPaths.default ++ ["/Users/user1/.ssh/this_key_wont_exist"];
|
||||||
|
secrets.user-secret.file = ../example/secret2.age;
|
||||||
|
};
|
||||||
|
|
||||||
|
home = rec {
|
||||||
|
username = "runner";
|
||||||
|
homeDirectory = lib.mkForce "/Users/${username}";
|
||||||
|
stateVersion = lib.trivial.release;
|
||||||
|
};
|
||||||
|
|
||||||
|
home.file = let
|
||||||
|
name = "agenix-home-integration";
|
||||||
|
in {
|
||||||
|
${name}.source = pkgs.writeShellApplication {
|
||||||
|
inherit name;
|
||||||
|
text = let
|
||||||
|
secret = "world!";
|
||||||
|
in ''
|
||||||
|
diff -q "${config.age.secrets.user-secret.path}" <(printf '${secret}\n')
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user