55 lines
1.1 KiB
Nix
55 lines
1.1 KiB
Nix
{
|
|
inputs = {
|
|
nixpkgs.url = "nixpkgs";
|
|
rust-overlay = {
|
|
url = "github:oxalica/rust-overlay";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
};
|
|
|
|
outputs =
|
|
{
|
|
nixpkgs,
|
|
rust-overlay,
|
|
...
|
|
}:
|
|
let
|
|
overlays = [ (import rust-overlay) ];
|
|
forAllSystems =
|
|
f:
|
|
builtins.mapAttrs (
|
|
system: packages:
|
|
let
|
|
pkgs = import nixpkgs {
|
|
inherit system overlays;
|
|
};
|
|
in
|
|
f pkgs
|
|
) nixpkgs.legacyPackages;
|
|
in
|
|
{
|
|
devShells = forAllSystems (
|
|
pkgs: {
|
|
default = pkgs.mkShell {
|
|
shellHook = ''
|
|
export DATABASE_URL=sqlite://art.db?mode=rwc
|
|
'';
|
|
packages = with pkgs; [
|
|
# Rust toolchain
|
|
(rust-bin.fromRustupToolchainFile ./rust-toolchain.toml)
|
|
# LSP
|
|
rust-analyzer
|
|
clippy
|
|
tombi
|
|
openssl
|
|
postgresql
|
|
pkg-config
|
|
diesel-cli
|
|
gcc
|
|
];
|
|
};
|
|
}
|
|
);
|
|
};
|
|
}
|