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