2024-11-01 21:26:34 +04:00
|
|
|
{
|
|
|
|
description = "User authentication and authorization module";
|
|
|
|
|
2024-11-05 23:02:01 +04:00
|
|
|
# TODO remove when Kanidm provisioning without groups assertion lands in NixOS
|
2024-12-20 16:13:59 +04:00
|
|
|
# inputs.nixos-unstable.url = github:alexoundos/nixpkgs/679fd3fd318ce2d57d0cabfbd7f4b8857d78ae95;
|
|
|
|
# inputs.nixos-unstable.url = git+file:/data/nixpkgs?ref=kanidm-1.4.0&rev=1bac99358baea6a3268027b4e585c68cd4ef107d;
|
|
|
|
inputs.nixos-unstable.url = github:nixos/nixpkgs/7ffd9ae656aec493492b44d0ddfb28e79a1ea25d;
|
2024-11-01 21:26:34 +04:00
|
|
|
|
2024-11-05 23:02:01 +04:00
|
|
|
outputs = { self, nixos-unstable }: {
|
2024-11-01 21:26:34 +04:00
|
|
|
overlays.default = _final: prev: {
|
2024-11-05 23:02:01 +04:00
|
|
|
inherit (nixos-unstable.legacyPackages.${prev.system})
|
|
|
|
kanidm oauth2-proxy;
|
|
|
|
kanidm-provision =
|
|
|
|
nixos-unstable.legacyPackages.${prev.system}.kanidm-provision.overrideAttrs (_: {
|
2024-12-20 16:13:59 +04:00
|
|
|
version = "git";
|
|
|
|
src = prev.fetchFromGitHub {
|
|
|
|
owner = "oddlama";
|
|
|
|
repo = "kanidm-provision";
|
|
|
|
rev = "d1f55c9247a6b25d30bbe90a74307aaac6306db4";
|
|
|
|
hash = "sha256-cZ3QbowmWX7j1eJRiUP52ao28xZzC96OdZukdWDHfFI=";
|
|
|
|
};
|
2024-11-05 23:02:01 +04:00
|
|
|
});
|
2024-11-01 21:26:34 +04:00
|
|
|
};
|
|
|
|
|
|
|
|
nixosModules.default = { ... }: {
|
|
|
|
disabledModules = [
|
|
|
|
"services/security/kanidm.nix"
|
|
|
|
"services/security/oauth2-proxy.nix"
|
|
|
|
"services/security/oauth2-proxy-nginx.nix"
|
|
|
|
];
|
|
|
|
imports = [
|
2024-12-20 16:13:59 +04:00
|
|
|
./kanidm.nix
|
2024-11-05 23:02:01 +04:00
|
|
|
(nixos-unstable.legacyPackages.x86_64-linux.path
|
2024-11-01 21:26:34 +04:00
|
|
|
+ /nixos/modules/services/security/oauth2-proxy.nix)
|
2024-11-05 23:02:01 +04:00
|
|
|
(nixos-unstable.legacyPackages.x86_64-linux.path
|
2024-11-01 21:26:34 +04:00
|
|
|
+ /nixos/modules/services/security/oauth2-proxy-nginx.nix)
|
|
|
|
./module.nix
|
|
|
|
];
|
|
|
|
nixpkgs.overlays = [ self.overlays.default ];
|
|
|
|
};
|
|
|
|
|
|
|
|
configPathsNeeded =
|
|
|
|
builtins.fromJSON (builtins.readFile ./config-paths-needed.json);
|
|
|
|
};
|
|
|
|
}
|