2023-07-04 23:21:24 +03:00
|
|
|
#!/usr/bin/env -S nix shell nixpkgs#jq -c bash
|
2022-12-24 02:20:02 +02:00
|
|
|
|
2025-07-20 13:31:17 +02:00
|
|
|
# Update inputs when the Mesa or QT version is outdated. We don't want
|
2023-07-04 23:21:24 +03:00
|
|
|
# incompatibilities between the user's system and Hyprland.
|
2022-06-01 01:52:34 +03:00
|
|
|
|
2023-07-04 23:21:24 +03:00
|
|
|
# get the current Nixpkgs revision
|
|
|
|
|
REV=$(jq <flake.lock '.nodes.nixpkgs.locked.rev' -r)
|
2022-06-02 00:08:03 +03:00
|
|
|
|
2025-07-20 13:31:17 +02:00
|
|
|
get_ver() {
|
|
|
|
|
nix eval --raw "github:nixos/nixpkgs/$1#$2"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# check versions for current and remote nixpkgs'
|
|
|
|
|
MESA_OLD=$(get_ver "$REV" mesa.version)
|
|
|
|
|
MESA_NEW=$(get_ver nixos-unstable mesa.version)
|
|
|
|
|
QT_OLD=$(get_ver "$REV" kdePackages.qtbase.version)
|
|
|
|
|
QT_NEW=$(get_ver nixos-unstable kdePackages.qtbase.version)
|
|
|
|
|
|
|
|
|
|
if [ "$MESA_OLD" != "$MESA_NEW" ] || [ "$QT_OLD" != "$QT_NEW" ]; then
|
|
|
|
|
echo "Updating flake inputs..."
|
|
|
|
|
echo "Mesa: $MESA_OLD -> $MESA_NEW"
|
|
|
|
|
echo "Qt: $QT_OLD -> $QT_NEW"
|
2022-06-02 00:42:05 +03:00
|
|
|
|
2023-07-04 23:21:24 +03:00
|
|
|
# update inputs to latest versions
|
|
|
|
|
nix flake update
|
2022-06-02 00:08:03 +03:00
|
|
|
else
|
2023-07-04 23:21:24 +03:00
|
|
|
echo "nixpkgs is up to date!"
|
2022-06-02 00:08:03 +03:00
|
|
|
fi
|