{ description = "NixOs Config"; inputs = { # nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; unstable.url = "github:nixos/nixpkgs/nixos-unstable"; home-manager = { url = "github:nix-community/home-manager/master"; inputs.nixpkgs.follows = "nixpkgs"; }; snowfall-lib = { url = "github:snowfallorg/lib"; inputs.nixpkgs.follows = "nixpkgs"; }; snowfall-flake = { url = "github:snowfallorg/flake"; inputs.nixpkgs.follows = "unstable"; }; # The nix way of configuring vim nixvim = { url = "github:Daholli/nixvim"; inputs.nixpkgs.follows = "nixpkgs"; }; # Hardware Configuration nixos-hardware.url = "github:nixos/nixos-hardware"; # Run unpatched dynamically compiled binaries nix-ld = { url = "github:Mic92/nix-ld"; inputs.nixpkgs.follows = "unstable"; }; }; outputs = inputs: let lib = inputs.snowfall-lib.mkLib { inherit inputs; src = ./.; snowfall = { meta = { name = "wyrdgard"; title = "Wyrdgard"; }; namespace = "wyrdgard"; }; }; in lib.mkFlake { channels-config = { allowUnfree = true; }; outputs-builder = channels: { formatter = channels.nixpkgs.nixfmt-rfc-style; }; overlays = with inputs; [ snowfall-flake.overlays.default nixvim.overlays.default ]; systems.modules.nixos = with inputs; [ home-manager.nixosModules.home-manager nix-ld.nixosModules.nix-ld ]; }; }