/ flake.nix
flake.nix
 1  {
 2    inputs = {
 3      nixpkgs.url = "github:cachix/devenv-nixpkgs/rolling";
 4      systems.url = "github:nix-systems/default";
 5      devenv.url = "github:cachix/devenv";
 6      devenv.inputs.nixpkgs.follows = "nixpkgs";
 7    };
 8  
 9    nixConfig = {
10      extra-trusted-public-keys = "devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw=";
11      extra-substituters = "https://devenv.cachix.org";
12    };
13  
14    outputs = { self, nixpkgs, devenv, systems, ... } @ inputs:
15      let
16        forEachSystem = nixpkgs.lib.genAttrs (import systems);
17      in
18      {
19        packages = forEachSystem (system: {
20          devenv-up = self.devShells.${system}.default.config.procfileScript;
21        });
22  
23        devShells = forEachSystem
24          (system:
25            let
26              pkgs = nixpkgs.legacyPackages.${system};
27            in
28            {
29              default = devenv.lib.mkShell {
30                inherit inputs pkgs;
31                modules = [
32                  {
33                    # https://devenv.sh/reference/options/
34                    packages = with pkgs; [ 
35  		            rustup
36                      cargo
37  		          ];
38  
39                    enterShell = ''
40                      echo "Welcome to Polar Bear!"
41                    '';
42                  }
43                ];
44              };
45            });
46      };
47  }