{ description = "Harald Hoyer's Nix Configurations"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; # NixPkgs Unstable (nixos-unstable) unstable.url = "github:nixos/nixpkgs/nixos-unstable"; lanzaboote = { url = "github:nix-community/lanzaboote/v0.3.0"; inputs.nixpkgs.follows = "nixpkgs"; }; snowfall-lib = { url = "github:snowfallorg/lib?rev=5082cdac87c5fd99ef2ee5989d9f73888bc5ed14"; inputs.nixpkgs.follows = "nixpkgs"; }; # macOS Support (master) darwin.url = "github:lnl7/nix-darwin/nix-darwin-24.11"; darwin.inputs.nixpkgs.follows = "nixpkgs"; nix-homebrew.url = "github:zhaofengli-wip/nix-homebrew"; homebrew-core = { url = "github:homebrew/homebrew-core"; flake = false; }; homebrew-cask = { url = "github:homebrew/homebrew-cask"; flake = false; }; homebrew-bundle = { url = "github:homebrew/homebrew-bundle"; flake = false; }; home-manager.url = "github:nix-community/home-manager/release-24.11"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; neovim-flake.url = "github:NotAShelf/nvf/v0.6"; neovim-flake.inputs.nixpkgs.follows = "nixpkgs"; neovim-flake.inputs.mnw.url = "github:Gerg-L/mnw?rev=5fe5c41975ed0af55f55dc37cd28ba906a5d015e"; disko.url = "github:nix-community/disko"; disko.inputs.nixpkgs.follows = "nixpkgs"; sops-nix.url = "github:Mic92/sops-nix"; sops-nix.inputs.nixpkgs.follows = "nixpkgs"; nixsgx-flake = { url = "github:matter-labs/nixsgx"; # inputs.nixpkgs.follows = "nixpkgs"; }; simple-nixos-mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-24.05"; simple-nixos-mailserver.inputs.nixpkgs.follows = "nixpkgs"; }; outputs = inputs: let lib = inputs.snowfall-lib.mkLib { inherit inputs; src = ./.; snowfall.namespace = "metacfg"; snowfall = { meta = { name = "metacfg"; title = "Metacfg"; }; }; }; in lib.mkFlake { channels-config = { allowUnfree = true; }; homes.modules = with inputs; [ neovim-flake.homeManagerModules.default ]; systems.modules.nixos = with inputs; [ nix-homebrew.darwinModules.nix-homebrew lanzaboote.nixosModules.lanzaboote home-manager.nixosModules.home-manager sops-nix.nixosModules.sops disko.nixosModules.disko simple-nixos-mailserver.nixosModule ]; overlays = with inputs; [ nixsgx-flake.overlays.default ]; outputs-builder = channels: { formatter = channels.nixpkgs.nixfmt-rfc-style; defaultApp = lib.flake-utils-plus.mkApp { drv = channels.nixpkgs.home-manager; }; }; }; }