Added weathr app support + added to utils

This commit is contained in:
2026-02-17 11:20:57 +02:00
parent c40a2ac98b
commit 3c2fe7775b
2 changed files with 74 additions and 0 deletions

72
modules/common/weathr.nix Normal file
View File

@@ -0,0 +1,72 @@
{ 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";
};
}