{ description = "xyno doin nixos"; inputs = { nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-24.11"; nixpkgs-master.url = "github:nixos/nixpkgs?ref=master"; nix-flatpak.url = "github:gmodena/nix-flatpak?ref=latest"; home-manager.url = "github:nix-community/home-manager/release-24.11"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; nixos-hardware.url = "github:NixOS/nixos-hardware/master"; quadlet.url = "github:SEIAROTg/quadlet-nix"; quadlet.inputs.nixpkgs.follows = "nixpkgs"; # software lanzaboote = { url = "github:nix-community/lanzaboote/v0.4.2"; # Optional but recommended to limit the size of your system closure. inputs.nixpkgs.follows = "nixpkgs"; }; lix-module = { url = "https://git.lix.systems/lix-project/nixos-module/archive/2.91.1-2.tar.gz"; inputs.nixpkgs.follows = "nixpkgs"; }; zen-browser.url = "github:0xc000022070/zen-browser-flake"; zen-browser.inputs.nixpkgs.follows = "nixpkgs-master"; iamb.url = "github:ulyssa/iamb"; iamb.inputs.nixpkgs.follows = "nixpkgs-master"; kmonad = { url = "git+https://github.com/jokesper/kmonad?dir=nix&ref=feat-tap-overlap"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = inputs@{ self, nixpkgs, nixpkgs-master, ... }: let lib = nixpkgs.lib.extend ( s: super: { xyno = import ./lib { inherit inputs nixpkgs self; lib = s; }; } ); overlays = [ self.overlays.default ]; genPkgs = system: import nixpkgs { inherit system overlays; config.allowUnfree = true; }; in { overlays.default = final: prev: { unstable = import nixpkgs-master { system = prev.system; config.allowUnfree = true; }; }; nixosConfigurations = lib.xyno.loadInstances ./instances ([ inputs.lix-module.nixosModules.default inputs.kmonad.nixosModules.default inputs.home-manager.nixosModules.default inputs.lanzaboote.nixosModules.lanzaboote inputs.quadlet.nixosModules.quadlet ] ++ (import ./modules/module-list.nix)); devShell."x86_64-linux" = let pkgs = genPkgs "x86_64-linux"; in pkgs.mkShell { packages = [ pkgs.nixfmt-rfc-style pkgs.nil ]; }; }; }