{ description = "cooklang utilities"; inputs = { nixpkgs.url = github:nixos/nixpkgs; flake-utils.url = github:numtide/flake-utils; poetry2nix = { url = github:nix-community/poetry2nix; inputs = { nixpkgs.follows = "nixpkgs"; flake-utils.follows = "flake-utils"; }; }; }; outputs = inputs@{ self, nixpkgs, flake-utils, poetry2nix, ... }: { overlays = { default = import ./overlays; }; nixosModules = { default = import ./modules/nixos; }; homeManagerModules = { default = import ./modules/home-manager; }; } // flake-utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs { inherit system; overlays = [ self.overlays.default (prev: final: { poetry2nix = poetry2nix.lib.mkPoetry2Nix { pkgs = prev; }; }) ]; }; in { packages = { inherit (pkgs) cooklang-chef cook-cli; inherit (pkgs.vimPlugins) vim-cooklang; }; apps = { chef = { type = "app"; program = pkgs.lib.getExe pkgs.cooklang-chef; }; cookcli = { type = "app"; program = pkgs.lib.getExe pkgs.cook-cli; }; cook-import = { type = "app"; program = pkgs.lib.getExe pkgs.cook-import; }; }; }); }