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
|
||
|
|
];
|
||
|
|
};
|
||
|
|
}
|
||
|
|
);
|
||
|
|
};
|
||
|
|
}
|