diff --git a/configurations/nos/modules/docker/freshrss/images/rss-bridge.nix b/configurations/nos/modules/docker/freshrss/images/rss-bridge.nix index 9e84b5fb..b210cde3 100644 --- a/configurations/nos/modules/docker/freshrss/images/rss-bridge.nix +++ b/configurations/nos/modules/docker/freshrss/images/rss-bridge.nix @@ -1,8 +1,8 @@ pkgs: pkgs.dockerTools.pullImage rec { imageName = "rssbridge/rss-bridge"; - imageDigest = "sha256:2f94bc58b926a9ae2efb62c2bd08723b22adceb47d5590be00b56dc05ba2a0e3"; - hash = "sha256-h1vq77Z+zH1eYb8HfEaOFP/DmzlNgZfnEkoKjITug4Y="; + imageDigest = "sha256:f2ffb2127499e4c86f001ba5adaa86f80f5167ae4bcea6bdd11401eb0f769224"; + hash = "sha256-b1RneJXa1393nZxPSsB+nyTPoJOu5mFhWnKhQ+xEpn8="; finalImageName = imageName; finalImageTag = "latest"; } diff --git a/configurations/nos/modules/docker/media/radarr/images/radarr.nix b/configurations/nos/modules/docker/media/radarr/images/radarr.nix index b8133584..16513771 100644 --- a/configurations/nos/modules/docker/media/radarr/images/radarr.nix +++ b/configurations/nos/modules/docker/media/radarr/images/radarr.nix @@ -1,8 +1,8 @@ pkgs: pkgs.dockerTools.pullImage rec { imageName = "ghcr.io/linuxserver/radarr"; - imageDigest = "sha256:e633fc93b9e2cea959853d27c6acc1d0b2d1ed7db4a800f6f46fe5b217f13102"; - hash = "sha256-CcUwDtI9gKPA5krZK7X6CEA86yspDndSwGRrS/NIfV4="; + imageDigest = "sha256:dce7e81d08da67cf44437c7213d19faeef1323aa839712fbb53d1253ef94f93f"; + hash = "sha256-ofd2SBBeWZ1n9igIq0wp3G4L1tt8UMIVvhtt35pVl3I="; finalImageName = imageName; finalImageTag = "latest"; } diff --git a/flake.lock b/flake.lock index a86c9497..9ce8bf6a 100644 Binary files a/flake.lock and b/flake.lock differ diff --git a/flake.nix b/flake.nix index 13e7dd06..e88f3fb4 100644 Binary files a/flake.nix and b/flake.nix differ diff --git a/inputs/default.nix b/inputs/default.nix index 31165859..9135ba35 100644 --- a/inputs/default.nix +++ b/inputs/default.nix @@ -115,26 +115,17 @@ let owner = "hyprwm"; repo = "Hyprland"; - # FIXME: hypr stuff not really working - rev = "b9f110ef8726fcba2b4ee69856027731e73003a5"; - inputs.hyprutils.follows = "hyprutils"; }; hyprland-plugins = mkHyprDep { owner = "hyprwm"; repo = "hyprland-plugins"; - - # FIXME: hypr stuff not really working - rev = "b6b31113ce84419c69ed575c22194e4023d2952a"; }; hyprgrass = mkHyprDep { owner = "horriblename"; repo = "hyprgrass"; - - # FIXME: hypr stuff not really working - rev = "bdfa960b97ac98ad9d05c908ee20e053e2942928"; }; hyprpaper = mkDep { diff --git a/lib/pkgs/mk-types/default.nix b/lib/pkgs/mk-types/default.nix index 1f805c94..784fd73f 100644 --- a/lib/pkgs/mk-types/default.nix +++ b/lib/pkgs/mk-types/default.nix @@ -21,7 +21,7 @@ in pname = "${pname}-types"; version = "0.0.0"; - npmDepsHash = "sha256-P59Y6QRGcPIIvTN36NLwxlLM+Gxw2rx8t7Tyc+vKqr4="; + npmDepsHash = "sha256-Ory8Ia4BYgHzmftcSQm6k4P14IRgqYDYGmckxTiuGLs="; src = ./.; dontNpmBuild = true; diff --git a/lib/pkgs/mk-types/package-lock.json b/lib/pkgs/mk-types/package-lock.json index a9e8fdab..b95aac1b 100644 Binary files a/lib/pkgs/mk-types/package-lock.json and b/lib/pkgs/mk-types/package-lock.json differ diff --git a/modules/ags/config/default.nix b/modules/ags/config/default.nix index 422df170..ca67fa53 100644 --- a/modules/ags/config/default.nix +++ b/modules/ags/config/default.nix @@ -1,3 +1,3 @@ { - npmDepsHash = "sha256-AYc9Rl2PIO1f3JRTO8jHKUsuufrg2cZ02NMHvwl4FY4="; + npmDepsHash = "sha256-Kv9I+qf1b40FhV1orDFUIhURw1rvA8ggU+eXcZS+KXU="; } diff --git a/modules/ags/config/package-lock.json b/modules/ags/config/package-lock.json index 71d3fbbb..e5eda6b2 100644 Binary files a/modules/ags/config/package-lock.json and b/modules/ags/config/package-lock.json differ diff --git a/overlays/build-failures/bat-extras.nix b/overlays/build-failures/bat-extras.nix new file mode 100644 index 00000000..9e7607d6 --- /dev/null +++ b/overlays/build-failures/bat-extras.nix @@ -0,0 +1,209 @@ +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + makeWrapper, + bat, + # batdiff, batgrep, and batwatch + coreutils, + getconf, + less, + # tests + bash, + zsh, + fish, + # batgrep + ripgrep, + # prettybat + withShFmt ? shfmt != null, + shfmt ? null, + withPrettier ? nodePackages ? prettier, + nodePackages ? null, + withClangTools ? clang-tools != null, + clang-tools ? null, + withRustFmt ? rustfmt != null, + rustfmt ? null, + # batwatch + withEntr ? entr != null, + entr ? null, + # batdiff + gitMinimal, + withDelta ? delta != null, + delta ? null, + # batman + util-linux, +}: let + # Core derivation that all the others are based on. + # This includes the complete source so the per-script derivations can run the tests. + core = stdenv.mkDerivation rec { + pname = "bat-extras"; + version = "2024.07.10"; + + src = fetchFromGitHub { + owner = "eth-p"; + repo = "bat-extras"; + rev = "v${version}"; + hash = "sha256-6IRAKSy5f/WcQZBcJKVSweTjHLznzdxhsyx074bXnUQ="; + fetchSubmodules = true; + }; + + # bat needs to be in the PATH during building so EXECUTABLE_BAT picks it up + nativeBuildInputs = [bat]; + + dontConfigure = true; + + patches = [ + (fetchpatch { + url = "https://github.com/petrzjunior/nixpkgs/raw/80d08100fa04fdb0187f3a7a8667e12aa3614b5e/pkgs/tools/misc/bat-extras/disable-theme-tests.patch"; + hash = "sha256-vBNMaJFwr9zTobvIRc5VljMPG3kVk07E+mNc1SJVyzg="; + }) + ]; + + postPatch = '' + patchShebangs --build test.sh test/shimexec .test-framework/bin/best.sh + ''; + + buildPhase = '' + runHook preBuild + bash ./build.sh --minify=none --no-verify + runHook postBuild + ''; + + # Run the library tests as they don't have external dependencies + doCheck = true; + nativeCheckInputs = + [ + bash + fish + zsh + ] + ++ (lib.optionals stdenv.hostPlatform.isDarwin [getconf]); + checkPhase = '' + runHook preCheck + # test list repeats suites. Unique them + declare -A test_suites + while read -r action arg _; do + [[ "$action" == "test_suite" && "$arg" == lib_* ]] && + test_suites+=(["$arg"]=1) + done <<<"$(./test.sh --compiled --list --porcelain)" + (( ''${#test_suites[@]} != 0 )) || { + echo "Couldn't find any library test suites" + exit 1 + } + ./test.sh --compiled $(printf -- "--suite %q\n" "''${!test_suites[@]}") + runHook postCheck + ''; + + installPhase = '' + runHook preInstall + cp -a . $out + runHook postInstall + ''; + + # A few random files have shebangs. Don't patch them, they don't make it into the final output. + # The per-script derivations will go ahead and patch the files they actually install. + dontPatchShebangs = true; + + meta = with lib; { + description = "Bash scripts that integrate bat with various command line tools"; + homepage = "https://github.com/eth-p/bat-extras"; + license = with licenses; [mit]; + maintainers = with maintainers; [bbigras]; + platforms = platforms.all; + }; + }; + script = name: + # the name of the script + dependencies: + # the tools we need to prefix onto PATH + stdenv.mkDerivation { + pname = name; + inherit (core) version; + + src = core; + + nativeBuildInputs = [makeWrapper]; + # Make the dependencies available to the tests. + buildInputs = dependencies; + + # Patch shebangs now because our tests rely on them + postPatch = '' + patchShebangs --host bin/${name} + ''; + + dontConfigure = true; + dontBuild = true; # we've already built + + doCheck = true; + nativeCheckInputs = + [ + bat + bash + fish + zsh + ] + ++ (lib.optionals stdenv.hostPlatform.isDarwin [getconf]); + checkPhase = '' + runHook preCheck + bash ./test.sh --compiled --suite ${name} + runHook postCheck + ''; + + installPhase = + '' + runHook preInstall + mkdir -p $out/bin + cp -p bin/${name} $out/bin/${name} + '' + + lib.optionalString (dependencies != []) '' + wrapProgram $out/bin/${name} \ + --prefix PATH : ${lib.makeBinPath dependencies} + '' + + '' + runHook postInstall + ''; + + # We already patched + dontPatchShebangs = true; + + meta = + core.meta + // { + mainProgram = name; + }; + }; + optionalDep = cond: dep: + assert cond -> dep != null; + lib.optional cond dep; +in { + batdiff = script "batdiff" ( + [ + less + coreutils + gitMinimal + ] + ++ optionalDep withDelta delta + ); + batgrep = script "batgrep" [ + less + coreutils + ripgrep + ]; + batman = script "batman" (lib.optionals stdenv.hostPlatform.isLinux [util-linux]); + batpipe = script "batpipe" [less]; + batwatch = script "batwatch" ( + [ + less + coreutils + ] + ++ optionalDep withEntr entr + ); + prettybat = script "prettybat" ( + [] + ++ optionalDep withShFmt shfmt + ++ optionalDep withPrettier nodePackages.prettier + ++ optionalDep withClangTools clang-tools + ++ optionalDep withRustFmt rustfmt + ); +} diff --git a/overlays/build-failures/default.nix b/overlays/build-failures/default.nix index a2fe3df7..4a27131e 100644 --- a/overlays/build-failures/default.nix +++ b/overlays/build-failures/default.nix @@ -1,4 +1,11 @@ -final: prev: { +final: prev: let + pkgs = final; + + inherit (pkgs) recurseIntoAttrs callPackages; +in { + # FIXME: https://pr-tracker.nelim.org/?pr=373146 + bat-extras = recurseIntoAttrs (callPackages ./bat-extras.nix {}); + # FIXME: https://pr-tracker.nelim.org/?pr=357699 nodejs_latest = prev.nodejs_22; diff --git a/scopedPackages/lovelace-components/custom-sidebar/default.nix b/scopedPackages/lovelace-components/custom-sidebar/default.nix index 55eb6556..829daca2 100644 --- a/scopedPackages/lovelace-components/custom-sidebar/default.nix +++ b/scopedPackages/lovelace-components/custom-sidebar/default.nix @@ -30,7 +30,7 @@ in pnpmDeps = pnpm.fetchDeps { inherit (finalAttrs) pname version src; - hash = "sha256-H4ayvaFBN2K5poIHE97lA4dxOYoaG8pHoWpMNW85Xy0="; + hash = "sha256-7cVWjyRZXd7xUZsgRNRYPfAap3LGH5VbLzvi2ocbkwc="; }; passthru.update = concatTextFile { diff --git a/scopedPackages/lovelace-components/material-rounded-theme/default.nix b/scopedPackages/lovelace-components/material-rounded-theme/default.nix index 1ae17fa6..bad683e8 100644 --- a/scopedPackages/lovelace-components/material-rounded-theme/default.nix +++ b/scopedPackages/lovelace-components/material-rounded-theme/default.nix @@ -15,7 +15,7 @@ in substituteInPlace ./webpack.config.js --replace-fail "git branch --show-current" "echo main" ''; - npmDepsHash = "sha256-l/g6gXCOyOe4N2ZawXsep1QpmvI31DTFgTQPp+LCDfk="; + npmDepsHash = "sha256-BlG/IuyJpigw6twUoaxJ5a970JfwBb75FuwgtH4xrCw="; installPhase = '' mkdir $out