let pins = import ./npins; nilla = import pins.nilla; in nilla.create ( { config }: { config = { inputs = { fenix.src = pins.fenix; nixpkgs = { src = pins.nixpkgs; settings.overlays = [ config.inputs.fenix.result.overlays.default ]; }; treefmt-nix.src = pins.treefmt-nix; }; packages.treefmt = { systems = [ "x86_64-linux" ]; package = { pkgs }: config.inputs.treefmt-nix.result.lib.mkWrapper pkgs { programs.nixfmt.enable = true; }; }; shells.nix = { systems = [ "x86_64-linux" ]; shell = { pkgs, mkShell, }: mkShell { packages = [ pkgs.nil pkgs.nixd config.packages.treefmt.result."x86_64-linux" ]; }; }; shells.node = { systems = [ "x86_64-linux" ]; shell = { pkgs, mkShell, }: mkShell { packages = [ pkgs.nodejs_24 pkgs.eslint_d pkgs.eslint pkgs.typescript pkgs.typescript-language-server pkgs.package-version-server ]; }; }; shells.python = { systems = [ "x86_64-linux" ]; shell = { pkgs, mkShell, }: mkShell { packages = [ pkgs.python314 pkgs.python314Packages.pip ]; }; }; shells.rust = { systems = [ "x86_64-linux" ]; shell = { bacon, fenix, mkShell, }: mkShell { packages = [ bacon (fenix.complete.withComponents [ "cargo" "clippy" "rust-src" "rustc" "rustfmt" "rust-analyzer" ]) ]; }; }; shells.typst = { systems = [ "x86_64-linux" ]; shell = { pkgs, mkShell, }: mkShell { packages = [ pkgs.typst pkgs.tinymist ]; }; }; }; } )