nix: Use flake-parts, partitions, and treefmt-nix (#45321)
Release Notes: Refactored: - Use [flake-parts](https://flake.parts/index.html) modules - `nix/shell.nix` -> `nix/modules/devshells.nix` Added: - Use [flake-parts.partitions](https://flake.parts/options/flake-parts-partitions.html) to isolate dev dependencies so that flakes that use `zed-editor` don't fetch dev-only inputs such as `treefmt-nix` - [treefmt-nix](https://github.com/numtide/treefmt-nix) - nixfmt - rustfmt Fixed: - `shell.nix` and `default.nix` fetching `flake-compat` from `flake.lock` which added an extra and unnecessary input/dependency to `flake.nix`. Fixed by setting a fixed rev and sha256 instead. - `nixfmt-rfc-style` is deprecated and is now `nixfmt` - Fixes #45338 by using rust-overlay toolchain directly - Previously, the devShell included `rustup` which caused slow startup times as Nix would build rustup from source (including running its test suite). Additionally, rust tooling (cargo, rustfmt, clippy, rust-analyzer) wasn't available in the dev shell. - cargo, rustc, and rust-toolchain.toml components included in `rustToolchain` Chore: - Update `flake.lock` - Format Rust code with `rustfmt` via `treefmt-nix` --------- Co-authored-by: Jakub Konka <kubkon@jakubkonka.com>
This commit is contained in:
1 parent
90180f8633
commit
57ead85727
19 files changed
+257
-138
No files matched your search
@@ -1,11 +1,10 @@
|
||||
(import (
|
||||
let
|
||||
lock = builtins.fromJSON (builtins.readFile ./flake.lock);
|
||||
rev = "v1.1.0";
|
||||
sha256 = "sha256:19d2z6xsvpxm184m41qrpi1bplilwipgnzv9jy17fgw421785q1m";
|
||||
in
|
||||
fetchTarball {
|
||||
url =
|
||||
lock.nodes.flake-compat.locked.url
|
||||
or "https://github.com/edolstra/flake-compat/archive/${lock.nodes.flake-compat.locked.rev}.tar.gz";
|
||||
sha256 = lock.nodes.flake-compat.locked.narHash;
|
||||
inherit sha256;
|
||||
url = "https://github.com/NixOS/flake-compat/archive/${rev}.tar.gz";
|
||||
}
|
||||
) { src = ./.; }).shellNix
|
||||
Reference in new issue
Block a user