{ 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 ]; }; }); }; }