/ flake.nix
flake.nix
 1  {
 2    description = "A basic flake with a shell";
 3    inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
 4    inputs.flake-utils.url = "github:numtide/flake-utils";
 5    inputs.fenix = {
 6      url = "github:nix-community/fenix";
 7      inputs.nixpkgs.follows = "nixpkgs";
 8    };
 9  
10    outputs = { nixpkgs, flake-utils, fenix, ... }:
11      flake-utils.lib.eachDefaultSystem (system:
12        let
13          pkgs = import nixpkgs {
14            inherit system;
15            overlays = [ fenix.overlays.default ];
16          };
17        in
18        {
19          devShells.default = pkgs.mkShell {
20            packages = [
21              (pkgs.fenix.stable.withComponents [
22                "cargo"
23                "clippy"
24                "rust-src"
25                "rustc"
26                "rustfmt"
27                "rust-analyzer"
28              ])
29              pkgs.bacon
30              pkgs.pkg-config
31              pkgs.openssl
32            ];
33          };
34        });
35  }