auto-decrypt/shell.nix

43 lines
1.1 KiB
Nix

let
# Import nixpkgs and add the Mozilla overlay
nixpkgs = import <nixpkgs> {
overlays = [
(import (builtins.fetchTarball {
url = "https://github.com/mozilla/nixpkgs-mozilla/archive/master.tar.gz";
}))
];
};
in
nixpkgs.mkShell {
buildInputs = [
((nixpkgs.rustChannelOf {
channel = "stable";
date = null; # null = latest stable channel
}).rust.override {
extensions = [ "rust-src" "rust-analysis" ];
})
nixpkgs.openssl
nixpkgs.pkg-config
nixpkgs.sqlite
nixpkgs.libpq
nixpkgs.lldb
nixpkgs.libmysqlclient
];
shellHook = ''
export TMPDIR=/tmp
export PATH=$PATH:$HOME/.cargo/bin
# Ensure dynamic linker can find required libs (SQLite, OpenSSL, PostgreSQL, MySQL)
export LD_LIBRARY_PATH=${nixpkgs.openssl.out}/lib:${nixpkgs.sqlite.out}/lib:${nixpkgs.libpq.out}/lib:${nixpkgs.libmysqlclient.out}/lib:$LD_LIBRARY_PATH
# Install diesel_cli if not already installed
if ! command -v diesel >/dev/null 2>&1; then
echo "Installing diesel_cli (SQLite)..."
cargo install diesel_cli --no-default-features --features "sqlite"
fi
'';
}