{ description = "exotic.sh system flake"; inputs = { unstable.url = "github:nixos/nixpkgs/nixos-unstable"; unstable-small.url = "github:nixos/nixpkgs/nixos-unstable-small"; nixpkgs-2111.url = "github:nixos/nixpkgs/nixos-21.11"; impermanence.url = "github:nix-community/impermanence"; authentik-nix.url = "github:nix-community/authentik-nix"; authentik-nix.inputs.nixpkgs.follows = "unstable"; sops-nix.url = "github:Mic92/sops-nix"; sops-nix.inputs.nixpkgs.follows = "unstable"; nixos-mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver"; nixos-mailserver.inputs.nixpkgs.follows = "unstable"; sefidel-web.url = "git+https://git.exotic.sh/pub/sefidel/sefidel-web"; }; outputs = { self, unstable, ... } @ inputs: let inherit (lib.my) mapModulesRec mapSystems; system = "x86_64-linux"; pkgs = import unstable { inherit system; }; lib = unstable.lib.extend (self: super: { my = import ./lib { inherit pkgs inputs; lib = self; }; }); in { lib = lib.my; nixosModules = mapModulesRec ./modules import; colmena = { meta = { nixpkgs = import unstable { inherit system; overlays = [ (import ./overlays) ]; }; specialArgs = { inherit lib inputs system; }; }; } // mapSystems ./systems { }; }; }