/ 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 }