summaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix78
1 files changed, 0 insertions, 78 deletions
diff --git a/flake.nix b/flake.nix
deleted file mode 100644
index 152d38e..0000000
--- a/flake.nix
+++ /dev/null
@@ -1,78 +0,0 @@
-{
- description = "Small exercises to get you used to reading and writing Rust code";
-
- inputs = {
- flake-compat = {
- url = "github:edolstra/flake-compat";
- flake = false;
- };
- flake-utils.url = "github:numtide/flake-utils";
- nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
- };
-
- outputs = { self, flake-utils, nixpkgs, ... }:
- flake-utils.lib.eachDefaultSystem (system:
- let
- pkgs = nixpkgs.legacyPackages.${system};
-
- cargoBuildInputs = with pkgs; lib.optionals stdenv.isDarwin [
- darwin.apple_sdk.frameworks.CoreServices
- ];
-
- rustlings =
- pkgs.rustPlatform.buildRustPackage {
- name = "rustlings";
- version = "5.6.1";
-
- buildInputs = cargoBuildInputs;
- nativeBuildInputs = [pkgs.git];
-
- src = with pkgs.lib; cleanSourceWith {
- src = self;
- # a function that returns a bool determining if the path should be included in the cleaned source
- filter = path: type:
- let
- # filename
- baseName = builtins.baseNameOf (toString path);
- # path from root directory
- path' = builtins.replaceStrings [ "${self}/" ] [ "" ] path;
- # checks if path is in the directory
- inDirectory = directory: hasPrefix directory path';
- in
- inDirectory "src" ||
- inDirectory "tests" ||
- hasPrefix "Cargo" baseName ||
- baseName == "info.toml";
- };
-
- cargoLock.lockFile = ./Cargo.lock;
- };
- in
- {
- devShell = pkgs.mkShell {
- RUST_SRC_PATH = "${pkgs.rust.packages.stable.rustPlatform.rustLibSrc}";
-
- buildInputs = with pkgs; [
- cargo
- rustc
- rust-analyzer
- rustlings
- rustfmt
- clippy
- ] ++ cargoBuildInputs;
- };
- apps = let
- rustlings-app = {
- type = "app";
- program = "${rustlings}/bin/rustlings";
- };
- in {
- default = rustlings-app;
- rustlings = rustlings-app;
- };
- packages = {
- inherit rustlings;
- default = rustlings;
- };
- });
-}