{ description = "leo-ed typing app"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; bun2nix.url = "github:nix-community/bun2nix"; bun2nix.inputs.nixpkgs.follows = "nixpkgs"; }; nixConfig = { extra-substituters = [ "https://cache.nixos.org" "https://nix-community.cachix.org" ]; extra-trusted-public-keys = [ "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" ]; }; outputs = { self, nixpkgs, bun2nix }: let systems = [ "x86_64-linux" "aarch64-linux" ]; forAllSystems = nixpkgs.lib.genAttrs systems; in { packages = forAllSystems (system: let pkgs = import nixpkgs { inherit system; overlays = [ bun2nix.overlays.default ]; }; in rec { leo-ed = pkgs.callPackage ./nix/package.nix { }; default = leo-ed; }); devShells = forAllSystems (system: let pkgs = import nixpkgs { inherit system; overlays = [ bun2nix.overlays.default ]; }; in { default = pkgs.mkShell { packages = with pkgs; [ bun bun2nix nodejs ]; }; }); nixosModules.default = import ./nix/module.nix; }; }