Files
flakey/flake.nix
2025-12-27 23:58:04 -05:00

50 lines
1.3 KiB
Nix

{
description = "Basic flake for devshell environments I often use";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
rust-overlay.url = "github:oxalica/rust-overlay";
};
outputs = { self, nixpkgs, flake-utils, ... }@inputs:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = import nixpkgs {
inherit system;
overlays = [
(import inputs.rust-overlay)
];
};
rust-bin-nightly = pkgs.rust-bin.selectLatestNightlyWith (toolchain: toolchain.default);
rust-bin-stable = pkgs.rust-bin.stable.latest.default;
rust-bin-nightly-wasm = pkgs.rust-bin.selectLatestNightlyWith (
toolchain: toolchain.default.override {
targets = [ "wasm32-unknown-unknown" ];
}
);
extraRustPkgs = with pkgs; [
pkg-config
openssl
];
in
{
devShells.rust-stable = pkgs.mkShell {
buildInputs = [ rust-bin-stable ] ++ extraRustPkgs;
};
devShells.rust-nightly = pkgs.mkShell {
buildInputs = [ rust-bin-nightly ] ++ extraRustPkgs;
};
devShells.rust-nightly-wasm = pkgs.mkShell {
buildInputs = [ rust-bin-nightly-wasm ] ++ extraRustPkgs;
};
}
);
}