diff --git a/.vscode/settings.json b/.vscode/settings.json index 94d7924a..58e4f8c0 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,4 +1,5 @@ { - "editor.formatOnSave": true, - "rust-analyzer.checkOnSave.command": "clippy" -} \ No newline at end of file + "editor.formatOnSave": true, + "rust-analyzer.checkOnSave.command": "clippy", + "nixEnvSelector.nixFile": "${workspaceRoot}/default.nix" +} diff --git a/default.nix b/default.nix new file mode 100644 index 00000000..a8ff2a27 --- /dev/null +++ b/default.nix @@ -0,0 +1,33 @@ +let + # Pinned nixpkgs, deterministic. Last updated: 11-08-2023. + pkgs = import (fetchTarball("https://github.com/NixOS/nixpkgs/archive/bb9707ef2ea4a5b749b362d5cf81ada3ded2c53f.tar.gz")) {}; + + # Rolling updates, not deterministic. + # pkgs = import (fetchTarball("channel:nixpkgs-unstable")) {}; +in pkgs.mkShell { + name = "revoltEnv"; + + # LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath [ + # pkgs.gcc-unwrapped + # pkgs.zlib + # pkgs.glib + # pkgs.libGL + # ]; + + buildInputs = [ + # Tools + pkgs.git + + # Database + # pkgs.mongodb + + # Rust + pkgs.cargo + pkgs.rustc + pkgs.clippy + pkgs.pkgconfig + pkgs.openssl.dev + ]; + + RUST_SRC_PATH = "${pkgs.rust.packages.stable.rustPlatform.rustLibSrc}"; +}