{
inputs.nixpkgs.url = "nixpkgs";
inputs.flake-utils.url = "github:numtide/flake-utils";
inputs.deno-flake = {
url = "git+file:///home/n/src/deno-flake";
inputs.nixpkgs.follows = "nixpkgs";
};
inputs.fenix = {
url = "github:nix-community/fenix";
inputs.nixpkgs.follows = "nixpkgs";
};
inputs.crane = {
url = "github:ipetkov/crane";
inputs.nixpkgs.follows = "nixpkgs";
};
outputs = i:
i.flake-utils.lib.eachDefaultSystem (system:
let
pkgs = i.nixpkgs.legacyPackages.${system};
pkgsDeno = i.deno-flake.packages.${system};
pkgsFenix = i.fenix.packages.${system};
nightly = pkgsFenix.default;
stable = pkgsFenix.stable;
in {
devShells.default = pkgs.mkShell {
packages = [
pkgsDeno.deno-latest
(pkgs.sqlite.override { interactive = true; })
pkgs.unzip
pkgs.entr
pkgs.gnumake
pkgs.fd
(pkgsFenix.combine [
(stable.withComponents [
"cargo" "rustc" "rust-src" "rust-analyzer" "clippy"
])
nightly.rustfmt
])
pkgs.cargo-watch
];
};
});
}