You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

75 lines
1.6 KiB

{
description = "LDAP server for unix env in HS-Fulda";
inputs = {
flake-utils.url = "github:numtide/flake-utils";
nixpkgs.url = "github:NixOS/nixpkgs";
disko = {
url = "github:nix-community/disko/latest";
inputs.nixpkgs.follows = "nixpkgs";
};
sops-nix.url = "github:Mic92/sops-nix";
ldap-sync = {
type = "git";
url = "https://gogs.informatik.hs-fulda.de/fooker/ldap-sync.git";
flake = false;
};
};
outputs = { self, flake-utils, nixpkgs, disko, sops-nix, ... }@inputs: {
nixosConfigurations.ldap = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
disko.nixosModules.disko
sops-nix.nixosModules.sops
./hardware.nix
./disk.nix
./network.nix
./system.nix
./ldap.nix
{
_module.args = {
inherit inputs;
};
system.stateVersion = "24.05";
disko.devices.disk.main.imageSize = "20G";
sops = {
defaultSopsFormat = "yaml";
};
}
];
};
packages = flake-utils.lib.eachDefaultSystemPassThrough (system: {
${system} = {
default = self.nixosConfigurations.ldap.config.system.build.toplevel;
images = self.nixosConfigurations.ldap.config.system.build.diskoImages;
};
});
devShells = flake-utils.lib.eachDefaultSystemPassThrough (system: {
${system}.default =
let
pkgs = nixpkgs.legacyPackages.${system};
in
pkgs.mkShell {
buildInputs = with pkgs; [
bash
git
sops
];
};
});
};
}