exercism-solutions/flake.nix
2024-10-24 13:03:22 -05:00

47 lines
1.3 KiB
Nix

# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at https://mozilla.org/MPL/2.0/.
# SPDX-License-Identifier: MPL-2.0
{
inputs = {
devshell = {
url = "github:numtide/devshell";
inputs.nixpkgs.follows = "nixpkgs";
};
fenix = {
url = "github:nix-community/fenix";
inputs.nixpkgs.follows = "nixpkgs";
};
flake-utils.url = "github:numtide/flake-utils";
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
};
outputs = {
devshell,
fenix,
flake-utils,
nixpkgs,
...
}: (flake-utils.lib.eachDefaultSystem (system: let
pkgs = import nixpkgs {
inherit system;
overlays = [
devshell.overlays.default
fenix.overlays.default
];
};
in {
formatter = pkgs.alejandra;
devShells.default = pkgs.devshell.mkShell {
commands = [
{package = pkgs.clangStdenv;}
{package = pkgs.fenix.default.toolchain; }
{package = pkgs.cargo-flamegraph;}
{package = pkgs.samply;}
{package = pkgs.hyperfine;}
{package = pkgs.exercism;}
{package = pkgs.nil;}
{package = pkgs.rust-analyzer-nightly;}
];
};
}));
}