/ flake.nix
flake.nix
1 { 2 description = "shell for Airbyte connectors"; 3 4 inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05"; 5 6 outputs = { self, nixpkgs }: 7 let 8 stableSystems = ["x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin"]; 9 forAllSystems = nixpkgs.lib.genAttrs stableSystems; 10 pkgsFor = nixpkgs.lib.genAttrs stableSystems ( 11 system: import nixpkgs { inherit system; config.allowUnfree = true; } 12 ); 13 in rec { 14 devShells = forAllSystems (system: let 15 pkgs = pkgsFor.${system}; 16 in { 17 default = let 18 pythonPkgs = pkgs.python312.withPackages ( 19 _: with (pkgs.python312Packages); [ 20 ipython pyyaml jinja2 PyGithub 21 ] 22 ); 23 in pkgs.mkShellNoCC { 24 packages = with pkgs.buildPackages; [ 25 # misc 26 git jq silver-searcher direnv 27 pythonPkgs 28 ruff 29 ]; 30 31 shellHook = '' 32 echo "Good hacking." 33 ''; 34 }; 35 }); 36 }; 37 }