| { |
| description = "A basic flake with a shell"; |
| inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; |
| inputs.flake-utils.url = "github:numtide/flake-utils"; |
| inputs.fenix = { |
| url = "github:nix-community/fenix"; |
| inputs.nixpkgs.follows = "nixpkgs"; |
| }; |
| |
| outputs = { nixpkgs, flake-utils, fenix, ... }: |
| flake-utils.lib.eachDefaultSystem (system: |
| let |
| pkgs = import nixpkgs { |
| inherit system; |
| overlays = [ fenix.overlays.default ]; |
| }; |
| in |
| { |
| devShells.default = pkgs.mkShell { |
| packages = [ |
| (pkgs.fenix.stable.withComponents [ |
| "cargo" |
| "clippy" |
| "rust-src" |
| "rustc" |
| "rustfmt" |
| "rust-analyzer" |
| ]) |
| pkgs.bacon |
| pkgs.pkg-config |
| pkgs.openssl |
| ]; |
| }; |
| }); |
| } |