Skip to content

Commit 6328d41

Browse files
committed
done: enhanced flake with fileset source filtering, version suffix, overlay, checks, formatter, and devshell tooling. notes: none
1 parent a53c1f4 commit 6328d41

File tree

1 file changed

+39
-3
lines changed

1 file changed

+39
-3
lines changed

flake.nix

Lines changed: 39 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,12 @@
1414
rust-overlay,
1515
flake-utils,
1616
}:
17-
flake-utils.lib.eachDefaultSystem (
17+
{
18+
overlays.default = final: prev: {
19+
jj-ryu = self.packages.${final.system}.ryu;
20+
};
21+
}
22+
// flake-utils.lib.eachDefaultSystem (
1823
system:
1924
let
2025
overlays = [ (import rust-overlay) ];
@@ -27,10 +32,33 @@
2732
rustc = rust;
2833
};
2934

35+
version = (builtins.fromTOML (builtins.readFile ./Cargo.toml)).package.version;
36+
versionSuffix = if self ? rev then "-${builtins.substring 0 7 self.rev}" else "-dirty";
37+
38+
src = pkgs.lib.fileset.toSource {
39+
root = ./.;
40+
fileset = pkgs.lib.fileset.unions [
41+
./Cargo.toml
42+
./Cargo.lock
43+
./src
44+
./tests
45+
];
46+
};
47+
48+
meta = with pkgs.lib; {
49+
description = "Stacked PRs for Jujutsu with GitHub/GitLab support";
50+
homepage = "https://github.com/dmmulroy/jj-ryu";
51+
changelog = "https://github.com/dmmulroy/jj-ryu/releases/tag/v${version}";
52+
license = licenses.mit;
53+
maintainers = [ ];
54+
mainProgram = "ryu";
55+
platforms = platforms.unix;
56+
};
57+
3058
ryu = rustPlatform.buildRustPackage {
3159
pname = "jj-ryu";
32-
version = "0.0.1-alpha.9";
33-
src = ./.;
60+
version = "${version}${versionSuffix}";
61+
inherit src meta;
3462
cargoLock = {
3563
lockFile = ./Cargo.lock;
3664
};
@@ -52,13 +80,21 @@
5280
apps.default = flake-utils.lib.mkApp { drv = ryu; };
5381
apps.ryu = flake-utils.lib.mkApp { drv = ryu; };
5482

83+
checks = {
84+
ryu = ryu;
85+
};
86+
5587
devShells.default = pkgs.mkShell {
5688
inputsFrom = [ ryu ];
5789
packages = [
5890
rust
5991
pkgs.pkg-config
92+
pkgs.rust-analyzer
93+
pkgs.cargo-watch
6094
];
6195
};
96+
97+
formatter = pkgs.nixfmt-rfc-style;
6298
}
6399
);
64100
}

0 commit comments

Comments
 (0)