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

3 months ago
3 months ago
3 months ago
  1. {
  2. description = "LDAP server for unix env in HS-Fulda";
  3. inputs = {
  4. flake-utils.url = "github:numtide/flake-utils";
  5. nixpkgs.url = "github:NixOS/nixpkgs";
  6. disko = {
  7. url = "github:nix-community/disko/latest";
  8. inputs.nixpkgs.follows = "nixpkgs";
  9. };
  10. sops-nix.url = "github:Mic92/sops-nix";
  11. ldap-sync = {
  12. type = "git";
  13. url = "https://gogs.informatik.hs-fulda.de/fooker/ldap-sync.git";
  14. flake = false;
  15. };
  16. };
  17. outputs = { self, flake-utils, nixpkgs, disko, sops-nix, ... }@inputs: {
  18. nixosConfigurations.ldap = nixpkgs.lib.nixosSystem {
  19. system = "x86_64-linux";
  20. modules = [
  21. disko.nixosModules.disko
  22. sops-nix.nixosModules.sops
  23. ./hardware.nix
  24. ./disk.nix
  25. ./network.nix
  26. ./system.nix
  27. ./ldap.nix
  28. {
  29. _module.args = {
  30. inherit inputs;
  31. };
  32. system.stateVersion = "24.05";
  33. disko.devices.disk.main.imageSize = "20G";
  34. sops = {
  35. defaultSopsFormat = "yaml";
  36. };
  37. }
  38. ];
  39. };
  40. packages = flake-utils.lib.eachDefaultSystemPassThrough (system: {
  41. ${system} = {
  42. default = self.nixosConfigurations.ldap.config.system.build.toplevel;
  43. images = self.nixosConfigurations.ldap.config.system.build.diskoImages;
  44. };
  45. });
  46. devShells = flake-utils.lib.eachDefaultSystemPassThrough (system: {
  47. ${system}.default =
  48. let
  49. pkgs = nixpkgs.legacyPackages.${system};
  50. in
  51. pkgs.mkShell {
  52. buildInputs = with pkgs; [
  53. bash
  54. git
  55. sops
  56. ];
  57. };
  58. });
  59. };
  60. }