mirror of
https://github.com/helix-editor/tree-house.git
synced 2025-10-05 16:02:44 +02:00
Add ability to add a custom version with nix
This commit is contained in:
committed by
Michael Davis
parent
ed7e6634d8
commit
b9702ee945
@@ -11,6 +11,18 @@ mod import;
|
||||
mod init;
|
||||
mod load;
|
||||
|
||||
fn get_version() -> String {
|
||||
const GIT_HASH: Option<&str> = option_env!("GIT_HASH");
|
||||
const CARGO_VERSION: &str = env!("CARGO_PKG_VERSION");
|
||||
|
||||
let owned = CARGO_VERSION.to_string();
|
||||
if let Some(hash) = GIT_HASH {
|
||||
owned + "-" + hash
|
||||
} else {
|
||||
owned
|
||||
}
|
||||
}
|
||||
|
||||
fn wrapped_main() -> Result<()> {
|
||||
let flags = flags::Skidder::from_env_or_exit();
|
||||
match flags.subcommand {
|
||||
@@ -21,7 +33,7 @@ fn wrapped_main() -> Result<()> {
|
||||
flags::SkidderCmd::RegenerateParser(generate_cmd) => generate_cmd.run(),
|
||||
flags::SkidderCmd::Version(flags::Version { version }) => {
|
||||
if version {
|
||||
println!("skidder-cli {}", env!("CARGO_PKG_VERSION"));
|
||||
println!("skidder-cli {}", get_version());
|
||||
} else {
|
||||
println!("{}", flags::Skidder::HELP);
|
||||
}
|
||||
|
17
default.nix
17
default.nix
@@ -1,18 +1,23 @@
|
||||
{
|
||||
lib,
|
||||
rustPlatform,
|
||||
}: let
|
||||
fs = lib.fileset;
|
||||
|
||||
files = fs.difference (fs.gitTracked ./.) (fs.unions [
|
||||
gitRev ? null,
|
||||
}:
|
||||
let
|
||||
fs = lib.fileset;
|
||||
|
||||
files = fs.difference (fs.gitTracked ./.) (
|
||||
fs.unions [
|
||||
./.github
|
||||
./.envrc
|
||||
./flake.lock
|
||||
(fs.fileFilter (file: lib.strings.hasInfix ".git" file.name) ./.)
|
||||
(fs.fileFilter (file: file.hasExt "md") ./.)
|
||||
(fs.fileFilter (file: file.hasExt "nix") ./.)
|
||||
]);
|
||||
in
|
||||
]
|
||||
);
|
||||
in
|
||||
rustPlatform.buildRustPackage {
|
||||
strictDeps = true;
|
||||
pname = with builtins; (fromTOML (readFile ./cli/Cargo.toml)).package.name;
|
||||
@@ -31,5 +36,7 @@ rustPlatform.buildRustPackage {
|
||||
cargoBuildFlags = [ "-p skidder-cli" ];
|
||||
|
||||
doCheck = false;
|
||||
env.GIT_HASH = gitRev;
|
||||
|
||||
meta.mainProgram = "skidder-cli";
|
||||
}
|
||||
|
16
flake.nix
16
flake.nix
@@ -10,7 +10,11 @@
|
||||
};
|
||||
|
||||
outputs =
|
||||
{ self, nixpkgs, rust-overlay }:
|
||||
{
|
||||
self,
|
||||
nixpkgs,
|
||||
rust-overlay,
|
||||
}:
|
||||
let
|
||||
inherit (nixpkgs) lib;
|
||||
forEachSystem = lib.genAttrs lib.systems.flakeExposed;
|
||||
@@ -24,11 +28,13 @@
|
||||
overlays = [ (import rust-overlay) ];
|
||||
};
|
||||
toolchain = pkgs.rust-bin.stable.latest.default;
|
||||
in {
|
||||
skidder-cli = pkgs.callPackage ./. { };
|
||||
in
|
||||
{
|
||||
skidder-cli = pkgs.callPackage ./. { gitRev = self.rev or self.dirtyRev; };
|
||||
default = self.packages.${system}.skidder-cli;
|
||||
});
|
||||
|
||||
}
|
||||
);
|
||||
|
||||
devShell = forEachSystem (
|
||||
system:
|
||||
let
|
||||
|
Reference in New Issue
Block a user