[Linux-only] basically bloxstap for sober
1{
2 description = "Bun2Nix minimal sample";
3
4 inputs = {
5 nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
6 systems.url = "github:nix-systems/default";
7
8 bun2nix = {
9 url = "github:baileyluTCD/bun2nix";
10 inputs.nixpkgs.follows = "nixpkgs";
11 inputs.systems.follows = "systems";
12 };
13 };
14
15 nixConfig = {
16 extra-substituters = [
17 "https://cache.nixos.org"
18 "https://cache.garnix.io"
19 ];
20 extra-trusted-public-keys = [
21 "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
22 "cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g="
23 ];
24 };
25
26 outputs =
27 {
28 nixpkgs,
29 systems,
30 bun2nix,
31 ...
32 }:
33 let
34 eachSystem = nixpkgs.lib.genAttrs (import systems);
35 pkgsFor = eachSystem (system: import nixpkgs { inherit system; });
36 in
37 {
38 packages = eachSystem (system: {
39 default = pkgsFor.${system}.callPackage ./default.nix {
40 inherit (bun2nix.lib.${system}) mkBunDerivation;
41 };
42 });
43
44 devShells = eachSystem (system: {
45 default = pkgsFor.${system}.mkShell {
46 packages = with pkgsFor.${system}; [
47 bun
48 bun2nix.packages.${system}.default
49 ];
50
51 shellHook = ''
52 bun install --frozen-lockfile
53 '';
54 };
55 }
56 );
57 };
58}