14 rustPlatform.buildRustPackage rec {
15 pname = "nix-weather";
18 # fetch from GitHub and not upstream forgejo because cafkafk doesn't want to
20 src = fetchFromGitHub {
24 hash = "sha256-15FUA4fszbAVXop3IyOHfxroyTt9/SkWZsSTUh9RtwY=";
27 cargoHash = "sha256-vMeljXNWfFRyeQ4ZQ/Qe1vcW5bg5Y14aEH5HgEwOX3Q=";
28 cargoExtraArgs = "-p nix-weather";
30 nativeBuildInputs = [ pkg-config ];
36 ++ lib.optionals stdenv.hostPlatform.isDarwin [
38 darwin.apple_sdk.frameworks.Security
39 darwin.apple_sdk.frameworks.SystemConfiguration
47 # This is where `build.rs` puts manpages
52 installManPage man/nix-weather.1
53 installShellCompletion \
54 --fish man/nix-weather.fish \
55 --bash man/nix-weather.bash \
56 --zsh man/_nix-weather
61 # We are the only distro that will ever package this, thus ryanbot will not
62 # be able to find updates through repology and we need this.
63 passthru.updateScript = nix-update-script { };
66 description = "Check Cache Availablility of NixOS Configurations";
68 Fast rust tool to check availability of your entire system in caches. It
69 so to speak "checks the weather" before going to update. Useful for
70 debugging cache utilization and timing updates and deployments.
72 Heavily inspired by guix weather.
74 homepage = "https://git.fem.gg/cafkafk/nix-weather";
75 changelog = "https://git.fem.gg/cafkafk/nix-weather/releases/tag/v${version}";
76 license = licenses.eupl12;
77 mainProgram = "nix-weather";
78 maintainers = with maintainers; [
82 platforms = platforms.all;