73 lines
2.5 KiB
Nix
73 lines
2.5 KiB
Nix
{ lib
|
|
, rustPlatform
|
|
, fetchFromGitHub
|
|
, pkg-config
|
|
, installShellFiles
|
|
, # Add any other dependencies weathr might need here
|
|
}:
|
|
|
|
rustPlatform.buildRustPackage rec {
|
|
pname = "weathr";
|
|
version = "1.3.0"; # Use the latest version from the repository
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "veirt";
|
|
repo = "weathr";
|
|
rev = "v${version}"; # Tags are in the format "v1.3.0"
|
|
hash = "sha256-JwI5a+O5Nu39Nr0st5yBLTM5kPLC8UIGAoBMqxnOOl4="; # Replace with the actual hash after the first build attempt
|
|
};
|
|
|
|
# Use this for the initial build to let Nix tell you the correct hash
|
|
cargoHash = "sha256-Yj1WxpOLL8GiVpCebPZQgdw+L9g+4CNY7n2z8PJQz4k=";
|
|
|
|
# If the project has a Cargo.lock, buildRustPackage will use it.
|
|
# If you need to vendor dependencies manually, you can use cargoDeps instead.
|
|
# cargoDeps = rustPlatform.importCargoLock {
|
|
# lockFile = ./Cargo.lock; # Not applicable when fetching from GitHub
|
|
# };
|
|
|
|
nativeBuildInputs = [
|
|
pkg-config
|
|
installShellFiles
|
|
];
|
|
|
|
# Add any necessary build inputs here.
|
|
# Based on the repository, it seems like a standard Rust terminal application.
|
|
# It might not have external C library dependencies, but if it does, add them here.
|
|
buildInputs = [
|
|
# Example: dbus, openssl, etc.
|
|
];
|
|
|
|
# If the project has tests that require network access or other special setup,
|
|
# you might need to disable them or modify checkFlags.
|
|
# checkFlags = [
|
|
# # Add flags to skip problematic tests if necessary
|
|
# ];
|
|
|
|
doCheck = false;
|
|
|
|
postInstall = ''
|
|
# Install shell completions if the application generates them.
|
|
# Check if weathr supports a command like `weathr completions bash`.
|
|
# Based on the README, it doesn't mention shell completion installation.
|
|
# If it does, you can uncomment and adapt the logic below.
|
|
# compdir=$(mktemp -d)
|
|
# $out/bin/weathr completions bash > $compdir/weathr.bash
|
|
# $out/bin/weathr completions zsh > $compdir/_weathr
|
|
# $out/bin/weathr completions fish > $compdir/weathr.fish
|
|
# installShellCompletion --cmd weathr \
|
|
# --bash $compdir/weathr.bash \
|
|
# --zsh $compdir/_weathr \
|
|
# --fish $compdir/weathr.fish
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "A terminal weather app with ASCII animations driven by real-time weather data";
|
|
homepage = "https://github.com/veirt/weathr";
|
|
#changelog = "https://github.com/veirt/weathr/blob/v${version}/CHANGELOG.md"; # Check if a CHANGELOG.md exists
|
|
license = licenses.gpl3Only;
|
|
# maintainers = with maintainers; [ ]; # Add your handle if you plan to upstream
|
|
mainProgram = "weathr";
|
|
};
|
|
}
|