From a79cfd8e580e9cf928e93595c2c9c1855a15cfc4 Mon Sep 17 00:00:00 2001 From: David Wronek Date: Fri, 24 Oct 2025 20:34:05 +0200 Subject: [PATCH 01/83] silverfort-client: init at 3.7.5 Signed-off-by: David Wronek --- .../dont-delete-envfile.patch | 17 +++ pkgs/by-name/si/silverfort-client/package.nix | 104 ++++++++++++++++++ 2 files changed, 121 insertions(+) create mode 100644 pkgs/by-name/si/silverfort-client/dont-delete-envfile.patch create mode 100644 pkgs/by-name/si/silverfort-client/package.nix diff --git a/pkgs/by-name/si/silverfort-client/dont-delete-envfile.patch b/pkgs/by-name/si/silverfort-client/dont-delete-envfile.patch new file mode 100644 index 000000000000..038ade321398 --- /dev/null +++ b/pkgs/by-name/si/silverfort-client/dont-delete-envfile.patch @@ -0,0 +1,17 @@ +diff --git a/build/electron/main.js b/build/electron/main.js +index ca36c4b..dbea8c6 100644 +--- a/build/electron/main.js ++++ b/build/electron/main.js +@@ -324,12 +324,6 @@ const readEnvVars = async () => { + disableStartup = envVariables.SF_DISABLE_STARTUP; + } + +- try { +- await fsPromises.unlink(configFileName, { force: true }); +- } catch (err) { +- log.error(`failed to delete env file (${configFileName})`, err.toString()); +- } +- + log.info(`Env vars loaded from file. (${configFileName}) `); + + return { url, id }; diff --git a/pkgs/by-name/si/silverfort-client/package.nix b/pkgs/by-name/si/silverfort-client/package.nix new file mode 100644 index 000000000000..4ce23a1efb4f --- /dev/null +++ b/pkgs/by-name/si/silverfort-client/package.nix @@ -0,0 +1,104 @@ +{ + lib, + stdenvNoCC, + requireFile, + copyDesktopItems, + makeDesktopItem, + wrapGAppsHook3, + asar, + dpkg, + electron, +}: +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "silverfort-client"; + version = "3.7.5"; + + src = requireFile rec { + name = "${finalAttrs.pname}_${finalAttrs.version}_amd64.deb"; + hash = "sha256-eOkSVoucMiGH4sTnC8/3sWMyT9DpnGEYXX+1y2ULDBg="; + message = '' + Due to the commercial license of Silverfort, Nix is unable to download + Silverfort automatically. Please download ${name} manually and add it + to the Nix store using \`nix-prefetch-url file:///\$PWD/${name}\`. + It is recommended to add this file to the garbage collector root + to prevent grabage collection. + ''; + }; + + strictDeps = true; + + nativeBuildInputs = [ + asar + copyDesktopItems + dpkg + wrapGAppsHook3 + ]; + + # Prevent double wrapping + dontWrapGApps = true; + + desktopItems = [ + (makeDesktopItem { + name = "silverfort-client"; + desktopName = "Silverfort Client"; + genericName = "Multi-factor authentication client"; + comment = "Silverfort Desktop Messaging Client"; + icon = "silverfort-client"; + exec = "silverfort-client"; + categories = [ + "Utility" + "Security" + ]; + keywords = [ + "2fa" + "authentication" + "factor" + "mfa" + "multi" + ]; + startupWMClass = "Silverfort Client"; + terminal = false; + }) + ]; + + installPhase = '' + runHook preInstall + + asar extract "opt/Silverfort Client/resources/app.asar" $TMP/work + + # Remove unneeded files + rm $TMP/work/build/{"public assests.zip",robots.txt} + + # Install icons + install -Dm444 $TMP/work/build/logo192.png $out/share/icons/hicolor/192x192/apps/silverfort-client.png + install -Dm444 $TMP/work/build/favicon.ico $out/share/icons/hicolor/256x256/apps/silverfort-client.png + install -Dm444 $TMP/work/build/logo512.png $out/share/icons/hicolor/512x512/apps/silverfort-client.png + + # By default, Silverfort will delete the envfile after it has been read one time. + # This file is located at "~/.config/Silverfort Client/config.env" and can be configured + # to store environment variables in JSON format. + # For example: `{"SF_MESSAGING_URL":"https://example-sdms-server.net"}` + patch -d $TMP/work -p1 < ${./dont-delete-envfile.patch} + + asar pack $TMP/work $out/share/silverfort-client/resources/app.asar + + rm -rf $TMP/work + + runHook postInstall + ''; + + postFixup = '' + makeBinaryWrapper "${lib.getExe electron}" $out/bin/silverfort-client \ + --add-flags "$out/share/silverfort-client/resources/app.asar" \ + --set-default ELECTRON_IS_DEV 0 \ + "''${gappsWrapperArgs[@]}" + ''; + + meta = { + description = "Silverfort multi-factor authentication client"; + homepage = "https://www.silverfort.com/"; + license = lib.licenses.unfree; + maintainers = with lib.maintainers; [ ungeskriptet ]; + mainProgram = "silverfort-client"; + }; +}) From 26bddf9174100aed76a679b97377d1a88e39dbb7 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Wed, 19 Nov 2025 22:10:32 +0000 Subject: [PATCH 02/83] bind: 9.20.15 -> 9.20.16 Changes: https://downloads.isc.org/isc/bind9/cur/9.20/doc/arm/html/notes.html#notes-for-bind-9-20-16 --- pkgs/by-name/bi/bind/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/bi/bind/package.nix b/pkgs/by-name/bi/bind/package.nix index f77606459334..d3efaec7acd6 100644 --- a/pkgs/by-name/bi/bind/package.nix +++ b/pkgs/by-name/bi/bind/package.nix @@ -29,11 +29,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "bind"; - version = "9.20.15"; + version = "9.20.16"; src = fetchurl { url = "https://downloads.isc.org/isc/bind9/${finalAttrs.version}/bind-${finalAttrs.version}.tar.xz"; - hash = "sha256-1is4+uSLqD/KYYERLQxxAY2LDyzihdx53GoDZ3Isyrs="; + hash = "sha256-A//Mek/LfDm4KzS+G6K1n2wZG8eVxZNVMNXr5jCjUtY="; }; outputs = [ From c268790e7150a0d8ba2ecb9d46c414312189e078 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 24 Nov 2025 01:37:55 +0000 Subject: [PATCH 03/83] vuetorrent: 2.30.1 -> 2.31.0 --- pkgs/by-name/vu/vuetorrent/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/vu/vuetorrent/package.nix b/pkgs/by-name/vu/vuetorrent/package.nix index 3d0ba6b09ae5..51f8308d6661 100644 --- a/pkgs/by-name/vu/vuetorrent/package.nix +++ b/pkgs/by-name/vu/vuetorrent/package.nix @@ -7,16 +7,16 @@ buildNpmPackage rec { pname = "vuetorrent"; - version = "2.30.1"; + version = "2.31.0"; src = fetchFromGitHub { owner = "VueTorrent"; repo = "VueTorrent"; tag = "v${version}"; - hash = "sha256-sek5kiO1T7s+PIIa0mBGj+9CfF56eRB3En9tsOcEK5Y="; + hash = "sha256-jWoD54cO1Tq9b2k8ySWUWQohT4qE0rW9EVJLoPi8DTA="; }; - npmDepsHash = "sha256-vEgwEYVlyTJLOQ8j6hm1O4iTIXNPDZyrmvXyRBgEvQY="; + npmDepsHash = "sha256-/B/DMTH/5e9YNJ9rl+HTGkAX1KzOoBB1PD68Li2sAAw="; installPhase = '' runHook preInstall From 52bb7d8759effb6b73856b4dc4427119d03eedec Mon Sep 17 00:00:00 2001 From: Michael Daniels Date: Sat, 29 Nov 2025 10:53:13 -0500 Subject: [PATCH 04/83] zeekscript: set updateScript to use VERSION file --- pkgs/by-name/ze/zeekscript/package.nix | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ze/zeekscript/package.nix b/pkgs/by-name/ze/zeekscript/package.nix index 26bc495ece64..ae784bd464ac 100644 --- a/pkgs/by-name/ze/zeekscript/package.nix +++ b/pkgs/by-name/ze/zeekscript/package.nix @@ -2,7 +2,7 @@ lib, python3, fetchFromGitHub, - unstableGitUpdater, + writeScript, }: python3.pkgs.buildPythonApplication rec { @@ -36,7 +36,18 @@ python3.pkgs.buildPythonApplication rec { "zeekscript" ]; - passthru.updateScript = unstableGitUpdater { tagPrefix = "v"; }; + passthru.updateScript = writeScript "update-${pname}" '' + #!/usr/bin/env nix-shell + #!nix-shell -i bash -p git common-updater-scripts + tmpdir="$(mktemp -d)" + git clone "${src.gitRepoUrl}" "$tmpdir" + pushd "$tmpdir" + newVersion=$(cat VERSION) + newRevision=$(git log -s -n 1 --pretty='format:%H' VERSION) + popd + rm -rf "$tmpdir" + update-source-version "${pname}" "$newVersion" --rev="$newRevision" + ''; meta = { description = "Zeek script formatter and analyzer"; From ee3193c009e8fca78b7f5c6762bfd6004d50ae5c Mon Sep 17 00:00:00 2001 From: Michael Daniels Date: Sat, 29 Nov 2025 11:02:49 -0500 Subject: [PATCH 05/83] zeekscript: 1.3.2-unstable-2025-11-10 -> 1.3.2-61 No actual changes, only the version number. --- pkgs/by-name/ze/zeekscript/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/ze/zeekscript/package.nix b/pkgs/by-name/ze/zeekscript/package.nix index ae784bd464ac..92f8bf43094b 100644 --- a/pkgs/by-name/ze/zeekscript/package.nix +++ b/pkgs/by-name/ze/zeekscript/package.nix @@ -7,7 +7,7 @@ python3.pkgs.buildPythonApplication rec { pname = "zeekscript"; - version = "1.3.2-unstable-2025-11-10"; + version = "1.3.2-61"; pyproject = true; src = fetchFromGitHub { From 6054332a9b3d7577ac865dbb69ed73ba8fd039bb Mon Sep 17 00:00:00 2001 From: winston Date: Tue, 18 Nov 2025 11:47:16 +0100 Subject: [PATCH 06/83] rod: init at 0.1.13 --- pkgs/by-name/ro/rod/package.nix | 34 +++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 pkgs/by-name/ro/rod/package.nix diff --git a/pkgs/by-name/ro/rod/package.nix b/pkgs/by-name/ro/rod/package.nix new file mode 100644 index 000000000000..1965e04df95f --- /dev/null +++ b/pkgs/by-name/ro/rod/package.nix @@ -0,0 +1,34 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + nix-update-script, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "rod"; + version = "0.1.13"; + + src = fetchFromGitHub { + owner = "leiserfg"; + repo = "rod"; + tag = finalAttrs.version; + hash = "sha256-LwksGhz55CVY6D0IqNHA9OYNB6261xWxwxXxlYN5NQA="; + }; + + cargoHash = "sha256-vpZOS8PY9fSOVeMGQf8uYZtpUnc3D6a+ZenLmBCfPFg="; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Tool for detecting the lightness of the terminal background"; + homepage = "https://github.com/leiserfg/rod"; + changelog = "https://github.com/leiserfg/rod/releases/tag/${finalAttrs.version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ + leiserfg + nekowinston + ]; + platforms = lib.platforms.unix; + }; +}) From 3e892ed3675bc34bcae54bbaf3c2698f0910340b Mon Sep 17 00:00:00 2001 From: Thiago Kenji Okada Date: Mon, 1 Dec 2025 12:51:03 +0000 Subject: [PATCH 07/83] nixos-rebuild: remove --- nixos/modules/installer/tools/tools.nix | 21 +- .../nixos-rebuild-install-bootloader.nix | 9 +- nixos/tests/nixos-rebuild-specialisations.nix | 10 +- nixos/tests/nixos-rebuild-target-host.nix | 32 +- pkgs/development/misc/resholve/test.nix | 3 - .../linux/nixos-rebuild/_nixos-rebuild | 166 --- .../linux/nixos-rebuild/default.nix | 88 -- .../linux/nixos-rebuild/nixos-rebuild.8 | 587 ----------- .../linux/nixos-rebuild/nixos-rebuild.sh | 996 ------------------ .../linux/nixos-rebuild/test/repl.nix | 162 --- pkgs/top-level/all-packages.nix | 2 - 11 files changed, 16 insertions(+), 2060 deletions(-) delete mode 100644 pkgs/os-specific/linux/nixos-rebuild/_nixos-rebuild delete mode 100644 pkgs/os-specific/linux/nixos-rebuild/default.nix delete mode 100644 pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.8 delete mode 100755 pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh delete mode 100644 pkgs/os-specific/linux/nixos-rebuild/test/repl.nix diff --git a/nixos/modules/installer/tools/tools.nix b/nixos/modules/installer/tools/tools.nix index bf8a27419ae2..0a8942d64b6a 100644 --- a/nixos/modules/installer/tools/tools.nix +++ b/nixos/modules/installer/tools/tools.nix @@ -68,7 +68,6 @@ let }; nixos-install = pkgs.nixos-install.override { }; - nixos-rebuild = pkgs.nixos-rebuild.override { nix = config.nix.package; }; nixos-rebuild-ng = pkgs.nixos-rebuild-ng.override { nix = config.nix.package; withNgSuffix = false; @@ -279,14 +278,6 @@ in ''; }; - options.system.rebuild.enableNg = lib.mkEnableOption "" // { - default = true; - description = '' - Whether to use ‘nixos-rebuild-ng’ in place of ‘nixos-rebuild’, the - Python-based re-implementation of the original in Bash. - ''; - }; - imports = let mkToolModule = @@ -326,21 +317,19 @@ in name = "nixos-version"; package = nixos-version; }) + (lib.mkRemovedOptionModule [ "system" "rebuild" "enableNg" ] '' + The Bash implementation of nixos-rebuild has been removed in favor of the new Python implementation. + If you have any issues with the new implementation, please create an issue in GitHub and tag the maintainers of 'nixos-rebuild-ng'. + '') ]; config = { documentation.man.man-db.skipPackages = [ nixos-version ]; - warnings = lib.optional (!config.system.disableInstallerTools && !config.system.rebuild.enableNg) '' - The Bash implementation of nixos-rebuild will be deprecated and removed in the 26.05 release of NixOS. - Please migrate to the newer implementation by removing 'system.rebuild.enableNg = false' from your configuration. - If you are unable to migrate due to any issues with the new implementation, please create an issue and tag the maintainers of 'nixos-rebuild-ng'. - ''; - # These may be used in auxiliary scripts (ie not part of toplevel), so they are defined unconditionally. system.build = { inherit nixos-generate-config nixos-install; - nixos-rebuild = if config.system.rebuild.enableNg then nixos-rebuild-ng else nixos-rebuild; + nixos-rebuild = nixos-rebuild-ng; }; }; } diff --git a/nixos/tests/nixos-rebuild-install-bootloader.nix b/nixos/tests/nixos-rebuild-install-bootloader.nix index 53b6d854905d..0641f9c64159 100644 --- a/nixos/tests/nixos-rebuild-install-bootloader.nix +++ b/nixos/tests/nixos-rebuild-install-bootloader.nix @@ -1,10 +1,5 @@ import ./make-test-python.nix ( - { - pkgs, - lib, - withNg ? false, - ... - }: + { pkgs, lib, ... }: { name = "nixos-rebuild-install-bootloader"; @@ -24,7 +19,6 @@ import ./make-test-python.nix ( }; system.includeBuildDependencies = true; - system.rebuild.enableNg = withNg; virtualisation = { cores = 2; @@ -52,7 +46,6 @@ import ./make-test-python.nix ( forceInstall = true; }; - system.rebuild.enableNg = ${lib.boolToString withNg}; documentation.enable = false; } ''; diff --git a/nixos/tests/nixos-rebuild-specialisations.nix b/nixos/tests/nixos-rebuild-specialisations.nix index 6c9172fe17bb..96ae337c8c58 100644 --- a/nixos/tests/nixos-rebuild-specialisations.nix +++ b/nixos/tests/nixos-rebuild-specialisations.nix @@ -1,9 +1,4 @@ -{ - hostPkgs, - lib, - withNg, - ... -}: +{ hostPkgs, ... }: { name = "nixos-rebuild-specialisations"; @@ -33,7 +28,6 @@ pkgs.grub2 ]; - system.rebuild.enableNg = withNg; system.switch.enable = true; virtualisation = { @@ -66,8 +60,6 @@ (pkgs.writeShellScriptBin "parent" "") ]; - system.rebuild.enableNg = ${lib.boolToString withNg}; - specialisation.foo = { inheritParentConfig = true; diff --git a/nixos/tests/nixos-rebuild-target-host.nix b/nixos/tests/nixos-rebuild-target-host.nix index 480963fa1bf1..383295cef6b6 100644 --- a/nixos/tests/nixos-rebuild-target-host.nix +++ b/nixos/tests/nixos-rebuild-target-host.nix @@ -1,9 +1,4 @@ -{ - hostPkgs, - lib, - withNg, - ... -}: +{ hostPkgs, ... }: { name = "nixos-rebuild-target-host"; @@ -37,9 +32,6 @@ system.build.privateKey = snakeOilPrivateKey; system.build.publicKey = snakeOilPublicKey; - # We don't switch on `deployer`, but we need it to have the dependencies - # available, to be picked up by system.includeBuildDependencies above. - system.rebuild.enableNg = withNg; system.switch.enable = true; }; @@ -130,19 +122,13 @@ forceInstall = true; }; - system.rebuild.enableNg = ${lib.boolToString withNg}; - - ${lib.optionalString withNg # nix - '' - nixpkgs.overlays = [ - (final: prev: { - # Set tmpdir inside nixos-rebuild-ng to test - # "Deploy works with very long TMPDIR" - nixos-rebuild-ng = prev.nixos-rebuild-ng.override { withTmpdir = "/tmp"; }; - }) - ]; - '' - } + nixpkgs.overlays = [ + (final: prev: { + # Set tmpdir inside nixos-rebuild-ng to test + # "Deploy works with very long TMPDIR" + nixos-rebuild-ng = prev.nixos-rebuild-ng.override { withTmpdir = "/tmp"; }; + }) + ]; # this will be asserted networking.hostName = "${hostname}"; @@ -183,7 +169,7 @@ with subtest("Deploy to bob@target with password based sudo"): # TODO: investigate why --ask-sudo-password from nixos-rebuild-ng is not working here - deployer.succeed(r'${lib.optionalString withNg "NIX_SSHOPTS=-t "}passh -c 3 -C -p ${nodes.target.users.users.bob.password} -P "\[sudo\] password" nixos-rebuild switch -I nixos-config=/root/configuration-3.nix --target-host bob@target --sudo &>/dev/console') + deployer.succeed(r'NIX_SSHOPTS=-t passh -c 3 -C -p ${nodes.target.users.users.bob.password} -P "\[sudo\] password" nixos-rebuild switch -I nixos-config=/root/configuration-3.nix --target-host bob@target --sudo &>/dev/console') target_hostname = deployer.succeed("ssh alice@target cat /etc/hostname").rstrip() assert target_hostname == "config-3-deployed", f"{target_hostname=}" diff --git a/pkgs/development/misc/resholve/test.nix b/pkgs/development/misc/resholve/test.nix index f97ab53efb12..99fdb817db2b 100644 --- a/pkgs/development/misc/resholve/test.nix +++ b/pkgs/development/misc/resholve/test.nix @@ -33,7 +33,6 @@ mount, ncurses, nixos-install-tools, - nixos-rebuild, procps, ps, # known consumers @@ -288,7 +287,6 @@ rec { ] ++ lib.optionals stdenv.hostPlatform.isLinux [ nixos-install-tools - nixos-rebuild ]; interpreter = "none"; execer = [ @@ -315,7 +313,6 @@ rec { '' + lib.optionalString stdenv.hostPlatform.isLinux '' nixos-generate-config fake args - nixos-rebuild fake args '' ); diff --git a/pkgs/os-specific/linux/nixos-rebuild/_nixos-rebuild b/pkgs/os-specific/linux/nixos-rebuild/_nixos-rebuild deleted file mode 100644 index bc026ef75ac9..000000000000 --- a/pkgs/os-specific/linux/nixos-rebuild/_nixos-rebuild +++ /dev/null @@ -1,166 +0,0 @@ -#!/usr/bin/env bash - -# We're faking a `nix build` command-line to re-use Nix's own completion -# for the few options passed through to Nix. -_nixos-rebuild_pretend-nix() { - COMP_LINE="nix build ${COMP_LINE}" - # number of prepended chars - (( COMP_POINT = COMP_POINT + 10)) - - COMP_WORDS=( - nix build - "${COMP_WORDS[@]}" - ) - # Add the amount of prepended words - (( COMP_CWORD = COMP_CWORD + 2)) - _complete_nix "nix" -} - -_nixos-rebuild() { - local curr="$2" - local prev="$3" - local subcommandGiven=0 - local word - local subcommand - - __load_completion nix - - # Arrays are re-ordered by the completion, so it's fine to sort them in logical chunks - local all_args=( - --verbose -v - - # nixos-rebuild options - --fast - --no-build-nix - --profile-name -p # name - --rollback - --specialisation -c # name - --sudo - --no-ssh-tty - --build-host # host - --target-host # host - # Used with list-generations - --json - - # generation switching options - --install-bootloader - - # nix-channel options - --upgrade - --upgrade-all - - # flakes options - --commit-lock-file - --flake -F # flake-uri - --override-input # input-name flake-uri - --recreate-lock-file - --update-input - --no-flake - --no-registries - --no-update-lock-file - --no-write-lock-file - - # Nix-copy options - --use-substitutes --substitute-on-destination -s - - # Nix options - --option - --impure - --builders # builder-spec - --show-trace - --keep-failed -K - --keep-going -k - --max-jobs -j # number - --log-format # format - -I # NIX_PATH - ) - - local all_subcommands=( - boot - build - build-vm - build-vm-with-bootloader - dry-activate - dry-build - edit - list-generations - switch - test - ) - - # Suggest arguments that can be consumed under some conditions only - for word in "${COMP_WORDS[@]}"; do - for subcommand in "${all_subcommands[@]}"; do - if [[ "$word" == "$subcommand" ]]; then - subcommandGiven=1 - fi - done - done - - # Fake out a way to complete the second arg to some options - case "${COMP_WORDS[COMP_CWORD-2]}" in - "--override-input") - prev="--override-input_2" - ;; - "--option") - prev="--option_2" - ;; - esac - - case "$prev" in - --max-jobs|-j) - COMPREPLY=( ) - ;; - - --profile-name|-p) - if [[ "$curr" == "" ]]; then - COMPREPLY=( /nix/var/nix/profiles/* ) - else - COMPREPLY=( "$curr"* ) - fi - ;; - - --build-host|--target-host|-t|-h) - _known_hosts_real "$curr" - ;; - - --specialisation|-c) - COMPREPLY=() - ;; - - -I) - _nixos-rebuild_pretend-nix - ;; - --builders) - _nixos-rebuild_pretend-nix - ;; - --flake) - _nixos-rebuild_pretend-nix - ;; - --override-input) - _nixos-rebuild_pretend-nix - ;; - --override-input_2) - _nixos-rebuild_pretend-nix - ;; - --log-format) - _nixos-rebuild_pretend-nix - ;; - --option) - _nixos-rebuild_pretend-nix - ;; - --option_2) - _nixos-rebuild_pretend-nix - ;; - - *) - if [[ "$curr" == -* ]] || (( subcommandGiven )); then - COMPREPLY=( $(compgen -W "${all_args[*]}" -- "$2") ) - else - COMPREPLY=( $(compgen -W "${all_subcommands[*]}" -- "$2") ) - fi - ;; - esac -} - -complete -F _nixos-rebuild nixos-rebuild diff --git a/pkgs/os-specific/linux/nixos-rebuild/default.nix b/pkgs/os-specific/linux/nixos-rebuild/default.nix deleted file mode 100644 index 13d0a6991133..000000000000 --- a/pkgs/os-specific/linux/nixos-rebuild/default.nix +++ /dev/null @@ -1,88 +0,0 @@ -{ - callPackage, - substitute, - runtimeShell, - coreutils, - gnused, - gnugrep, - jq, - util-linux, - nix, - lib, - nixosTests, - installShellFiles, - binlore, - nixos-rebuild, -}: -let - fallback = import ./../../../../nixos/modules/installer/tools/nix-fallback-paths.nix; -in -substitute { - name = "nixos-rebuild"; - src = ./nixos-rebuild.sh; - dir = "bin"; - isExecutable = true; - - substitutions = [ - "--subst-var-by" - "runtimeShell" - runtimeShell - "--subst-var-by" - "nix" - nix - "--subst-var-by" - "nix_x86_64_linux" - fallback.x86_64-linux - "--subst-var-by" - "nix_i686_linux" - fallback.i686-linux - "--subst-var-by" - "nix_aarch64_linux" - fallback.aarch64-linux - "--subst-var-by" - "path" - (lib.makeBinPath [ - coreutils - gnused - gnugrep - jq - util-linux - ]) - ]; - - nativeBuildInputs = [ - installShellFiles - ]; - - postInstall = '' - installManPage ${./nixos-rebuild.8} - - installShellCompletion \ - --bash ${./_nixos-rebuild} - ''; - - # run some a simple installer tests to make sure nixos-rebuild still works for them - passthru.tests = { - install-bootloader = nixosTests.nixos-rebuild-install-bootloader; - repl = callPackage ./test/repl.nix { }; - simple-installer = nixosTests.installer.simple; - specialisations = nixosTests.nixos-rebuild-specialisations; - target-host = nixosTests.nixos-rebuild-target-host; - }; - - # nixos-rebuild can’t execute its arguments - # (but it can run ssh with the with the options stored in $NIX_SSHOPTS, - # and ssh can execute its arguments...) - passthru.binlore.out = binlore.synthesize nixos-rebuild '' - execer cannot bin/nixos-rebuild - ''; - - meta = { - description = "Rebuild your NixOS configuration and switch to it, on local hosts and remote"; - homepage = "https://github.com/NixOS/nixpkgs/tree/master/pkgs/os-specific/linux/nixos-rebuild"; - license = lib.licenses.mit; - maintainers = [ lib.maintainers.Profpatsch ]; - teams = [ lib.teams.nixos-rebuild ]; - mainProgram = "nixos-rebuild"; - }; -} diff --git a/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.8 b/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.8 deleted file mode 100644 index 72ced00b81ef..000000000000 --- a/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.8 +++ /dev/null @@ -1,587 +0,0 @@ -.Dd January 1, 1980 -.Dt nixos-rebuild 8 -.Os -.Sh NAME -.Nm nixos-rebuild -.Nd reconfigure a NixOS machine -. -. -. -.Sh SYNOPSIS -.Nm -.Bro -.Cm switch | boot | test | build | dry-build | dry-activate | edit | repl | build-vm | build-vm-with-bootloader | build-image | list-generations Op Fl -json -.Brc -.br -.Op Fl -upgrade | -upgrade-all -.Op Fl -install-bootloader -.Op Fl -no-build-nix -.Op Fl -fast -.Op Fl -rollback -.br -.Op Fl -file | f Ar path -.Op Fl -attr | A Ar attrPath -.Op Fl -flake | F Ar flake-uri -.Op Fl -no-flake -.Op Fl -recreate-lock-file -.Op Fl -no-update-lock-file -.Op Fl -no-write-lock-file -.Op Fl -no-registries -.Op Fl -commit-lock-file -.Op Fl -update-input Ar input-path -.Op Fl -override-input Ar input-path flake-url -.br -.Op Fl -profile-name | p Ar name -.Op Fl -specialisation | c Ar name -.br -.Op Fl -image-variant Ar variant -.br -.Op Fl -build-host Va host -.Op Fl -target-host Va host -.Op Fl -sudo -.Op Fl -no-ssh-tty -.br -.Op Fl -verbose | v -.Op Fl -quiet -.Op Fl -log-format Ar format -.Op Fl -no-build-output | Q -.Op Fl -max-jobs | j Va number -.Op Fl -cores Va number -.Op Fl -keep-going | k -.Op Fl -keep-failed | K -.Op Fl -fallback -.Op Fl I Va NIX_PATH -.Op Fl -option Ar name value -.Op Fl -repair -.Op Fl -builders Va builder-spec -.Op Fl -accept-flake-config -.Op Fl -print-build-logs | L -.Op Fl -show-trace -.Op Fl -refresh -.Op Fl -impure -.Op Fl -offline -.Op Fl -no-net -. -. -. -.Sh DESCRIPTION -This command updates the system so that it corresponds to the -configuration specified in -.Pa /etc/nixos/configuration.nix Ns -, -.Pa /etc/nixos/flake.nix -or the file and attribute specified by the -.Fl -file -and/or -.Fl -attr -options. Thus, every time you modify the configuration or any other NixOS -module, you must run -.Nm -to make the changes take effect. It builds the new system in -.Pa /nix/store Ns -, runs its activation script, and stop and (re)starts any system services if -needed. Please note that user services need to be started manually as they -aren't detected by the activation script at the moment. -. -.Pp -This command has one required argument, which specifies the desired -operation. It must be one of the following: -.Bl -tag -width indent -.It Cm switch -Build and activate the new configuration, and make it the boot default. That -is, the configuration is added to the GRUB boot menu as the default -menu entry, so that subsequent reboots will boot the system into the new -configuration. Previous configurations activated with -.Ic nixos-rebuild switch -or -.Ic nixos-rebuild boot -remain available in the GRUB menu. -.Pp -Note that if you are using specializations, running just -.Ic nixos-rebuild switch -will switch you back to the unspecialized, base system \(em in that case, you -might want to use this instead: -.Bd -literal -offset indent -$ nixos-rebuild switch --specialisation your-specialisation-name -.Ed -.Pp -This command will build all specialisations and make them bootable just -like regular -.Ic nixos-rebuild switch -does \(em the only thing different is that it will switch to given -specialisation instead of the base system; it can be also used to switch from -the base system into a specialised one, or to switch between specialisations. -. -.It Cm boot -Build the new configuration and make it the boot default (as with -.Ic nixos-rebuild switch Ns -), but do not activate it. That is, the system continues to run the previous -configuration until the next reboot. -. -.It Cm test -Build and activate the new configuration, but do not add it to the GRUB -boot menu. Thus, if you reboot the system (or if it crashes), you will -automatically revert to the default configuration (i.e. the -configuration resulting from the last call to -.Ic nixos-rebuild switch -or -.Ic nixos-rebuild boot Ns -). -.Pp -Note that if you are using specialisations, running just -.Ic nixos-rebuild test -will activate the unspecialised, base system \(em in that case, you might want -to use this instead: -.Bd -literal -offset indent -$ nixos-rebuild test --specialisation your-specialisation-name -.Ed -.Pp -This command can be also used to switch from the base system into a -specialised one, or to switch between specialisations. -. -.It Cm build -Build the new configuration, but neither activate it nor add it to the -GRUB boot menu. It leaves a symlink named -.Pa result -in the current directory, which points to the output of the top-level -.Dq system -derivation. This is essentially the same as doing -.Bd -literal -offset indent -$ nix-build /path/to/nixpkgs/nixos -A system -.Ed -.Pp -Note that you do not need to be root to run -.Ic nixos-rebuild build Ns -\&. -. -.It Cm dry-build -Show what store paths would be built or downloaded by any of the -operations above, but otherwise do nothing. -. -.It Cm dry-activate -Build the new configuration, but instead of activating it, show what -changes would be performed by the activation (i.e. by -.Ic nixos-rebuild test Ns -). For instance, this command will print which systemd units would be restarted. -The list of changes is not guaranteed to be complete. -. -.It Cm edit -Opens -.Pa configuration.nix -in the default editor. -. -.It Cm repl -Opens the configuration in -.Ic nix repl Ns . -. -.It Cm build-vm -Build a script that starts a NixOS virtual machine with the desired -configuration. It leaves a symlink -.Pa result -in the current directory that points (under -.Ql result/bin/run\- Ns Va hostname Ns \-vm Ns -) -at the script that starts the VM. Thus, to test a NixOS configuration in -a virtual machine, you should do the following: -.Bd -literal -offset indent -$ nixos-rebuild build-vm -$ ./result/bin/run-*-vm -.Ed -.Pp -The VM is implemented using the -.Ql qemu -package. For best performance, you should load the -.Ql kvm-intel -or -.Ql kvm-amd -kernel modules to get hardware virtualisation. -.Pp -The VM mounts the Nix store of the host through the 9P file system. The -host Nix store is read-only, so Nix commands that modify the Nix store -will not work in the VM. This includes commands such as -.Nm Ns -; to change the VM’s configuration, you must halt the VM and re-run the commands -above. -.Pp -The VM has its own ext3 root file system, which is automatically created when -the VM is first started, and is persistent across reboots of the VM. It is -stored in -.Ql ./ Ns Va hostname Ns .qcow2 Ns -\&. -.\" The entire file system hierarchy of the host is available in -.\" the VM under -.\" .Pa /hostfs Ns -.\" . -. -.It Cm build-vm-with-bootloader -Like -.Cm build-vm Ns -, but boots using the regular boot loader of your configuration (e.g. GRUB 1 or -2), rather than booting directly into the kernel and initial ramdisk of the -system. This allows you to test whether the boot loader works correctly. \ -However, it does not guarantee that your NixOS configuration will boot -successfully on the host hardware (i.e., after running -.Ic nixos-rebuild switch Ns -), because the hardware and boot loader configuration in the VM are different. -The boot loader is installed on an automatically generated virtual disk -containing a -.Pa /boot -partition. -. -.It Cm build-image -Build a disk-image variant, pre-configured for the given platform/provider. -Select a variant with the -.Fl -image-variant -option or run without any options to get a list of available variants. - -.Bd -literal -offset indent -$ nixos-rebuild build-image --image-variant proxmox -.Ed -. -.It Cm list-generations Op Fl -json -List the available generations in a similar manner to the boot loader -menu. It shows the generation number, build date and time, NixOS version, -kernel version and the configuration revision. -There is also a json version of output available. -.El -. -. -. -.Sh OPTIONS -.Bl -tag -width indent -.It Fl -upgrade , -upgrade-all -Update the root user's channel named -.Ql nixos -before rebuilding the system. -.Pp -In addition to the -.Ql nixos -channel, the root user's channels which have a file named -.Ql .update-on-nixos-rebuild -in their base directory will also be updated. -.Pp -Passing -.Fl -upgrade-all -updates all of the root user's channels. -. -.It Fl -install-bootloader -Causes the boot loader to be (re)installed on the device specified by the -relevant configuration options. -. -.It Fl -no-build-nix -Normally, -.Nm -first builds the -.Ql nix -attribute in Nixpkgs, and uses the resulting instance of the Nix package manager -to build the new system configuration. This is necessary if the NixOS modules -use features not provided by the currently installed version of Nix. This option -disables building a new Nix. -. -.It Fl -fast -Equivalent to -.Fl -no-build-nix Ns -\&. This option is useful if you call -.Nm -frequently (e.g. if you’re hacking on a NixOS module). -. -.It Fl -rollback -Instead of building a new configuration as specified by -.Pa /etc/nixos/configuration.nix Ns -, roll back to the previous configuration. (The previous configuration is -defined as the one before the “current” generation of the Nix profile -.Pa /nix/var/nix/profiles/system Ns -\&.) -. -.It Fl -builders Ar builder-spec -Allow ad-hoc remote builders for building the new system. This requires -the user executing -.Nm -(usually root) to be configured as a trusted user in the Nix daemon. This can be -achieved by using the -.Va nix.settings.trusted-users -NixOS option. Examples values for that option are described in the -.Dq Remote builds -chapter in the Nix manual, (i.e. -.Ql --builders \(dqssh://bigbrother x86_64-linux\(dq Ns -). By specifying an empty string existing builders specified in -.Pa /etc/nix/machines -can be ignored: -.Ql --builders \(dq\(dq -for example when they are not reachable due to network connectivity. -. -.It Fl -profile-name Ar name , Fl p Ar name -Instead of using the Nix profile -.Pa /nix/var/nix/profiles/system -to keep track of the current and previous system configurations, use -.Pa /nix/var/nix/profiles/system-profiles/ Ns Va name Ns -\&. When you use GRUB 2, for every system profile created with this flag, NixOS -will create a submenu named -.Dq NixOS - Profile Va name -in GRUB’s boot menu, containing the current and previous configurations of this profile. -.Pp -For instance, if you want to test a configuration file named -.Pa test.nix -without affecting the default system profile, you would do: -.Bd -literal -offset indent -$ nixos-rebuild switch -p test -I nixos-config=./test.nix -.Ed -.Pp -The new configuration will appear in the GRUB 2 submenu -.Dq NixOS - Profile 'test' Ns -\&. -. -.It Fl -specialisation Ar name , Fl c Ar name -Activates given specialisation; when not specified, switching and testing -will activate the base, unspecialised system. -. -.It Fl -image-variant Ar variant -Selects an image variant to build from -the -.Va config.system.build.images -attribute of the given configuration. A list of variants is printed if this option remains unset. -. -.It Fl -build-host Ar host -Instead of building the new configuration locally, use the specified host -to perform the build. The host needs to be accessible with -.Ic ssh Ns , -and must be able to perform Nix builds. If the option -.Fl -target-host -is not set, the build will be copied back to the local machine when done. -.Pp -Note that, if -.Fl -no-build-nix -is not specified, Nix will be built both locally and remotely. This is because -the configuration will always be evaluated locally even though the building -might be performed remotely. -.Pp -You can include a remote user name in the host name -.Ns ( Va user@host Ns -). You can also set ssh options by defining the -.Ev NIX_SSHOPTS -environment variable. -. -.It Fl -target-host Ar host -Specifies the NixOS target host. By setting this to something other than an -empty string, the system activation will happen on the remote host instead of -the local machine. The remote host needs to be accessible over -.Ic ssh Ns , -and for the commands -.Cm switch Ns -, -.Cm boot -and -.Cm test -you need root access. -.Pp -If -.Fl -build-host -is not explicitly specified or empty, building will take place locally. -.Pp -You can include a remote user name in the host name -.Ns ( Va user@host Ns -). You can also set ssh options by defining the -.Ev NIX_SSHOPTS -environment variable. -.Pp -Note that -.Nm -honors the -.Va nixpkgs.crossSystem -setting of the given configuration but disregards the true architecture of the -target host. Hence the -.Va nixpkgs.crossSystem -setting has to match the target platform or else activation will fail. -. -.It Fl -use-substitutes -When set, nixos-rebuild will add -.Fl -use-substitutes -to each invocation of nix-copy-closure. This will only affect the behavior of -nixos-rebuild if -.Fl -target-host -or -.Fl -build-host -is also set. This is useful when the target-host connection to cache.nixos.org -is faster than the connection between hosts. -. -.It Fl -sudo -When set, nixos-rebuild prefixes activation commands that run on the -.Fl -target-host -system with -.Ic sudo Ns -\&. Setting this option allows deploying as a non-root user. -. -.It Fl -no-ssh-tty -When set, nixos-rebuild will not request a tty when executing commands on the -.Fl -target-host -system with -.Ic ssh Ns -\&. This may help avoid corrupted terminal output when running multiple -nixos-rebuild commands in parallel, but may also prevent the remote -.Ic sudo -from working properly. -. -.It Fl -file Ar path , Fl f Ar path -Enable and build the NixOS system from the specified file. The file must -evaluate to an attribute set, and it must contain a valid NixOS configuration -at attribute -.Va attrPath Ns -\&. This is useful for building a NixOS system from a nix file that is not -a flake or a NixOS configuration module. Attribute set a with valid NixOS -configuration can be made using -.Va nixos -function in nixpkgs or importing and calling -.Pa nixos/lib/eval-config.nix -from nixpkgs. If specified without -.Fl -attr -option, builds the configuration from the top-level -attribute of the file. -. -.It Fl -attr Ar attrPath , Fl A Ar attrPath -Enable and build the NixOS system from nix file and use the specified attribute -path from file specified by the -.Fl -file -option. If specified without -.Fl -file -option, uses -.Pa default.nix -in current directory. -. -.It Fl -flake Va flake-uri Ns Op Va #name -Build the NixOS system from the specified flake. It defaults to the directory -containing the target of the symlink -.Pa /etc/nixos/flake.nix Ns -, if it exists. The flake must contain an output named -.Ql nixosConfigurations. Ns Va name Ns -\&. If -.Va name -is omitted, it default to the current host name. -. -.It Fl -no-flake -Do not imply -.Fl -flake -if -.Pa /etc/nixos/flake.nix -exists. With this option, it is possible to build non-flake NixOS configurations -even if the current NixOS systems uses flakes. -.El -.Pp -In addition, -.Nm -accepts following options from nix commands that the tool calls: -. -.Pp -flake-related options: -.Bd -offset indent -.Fl -recreate-lock-file Ns , -.Fl -no-update-lock-file Ns , -.Fl -no-write-lock-file Ns , -.Fl -no-registries Ns , -.Fl -commit-lock-file Ns , -.Fl -update-input Ar input-path Ns , -.Fl -override-input Ar input-path flake-url Ns -.Ed -. -.Pp -Builder options: -.Bd -offset indent -.Fl -verbose Ns , -.Fl v Ns , -.Fl -quiet Ns , -.Fl -log-format Ns , -.Fl -no-build-output Ns , -.Fl Q Ns , -.Fl -max-jobs Ns , -.Fl j Ns , -.Fl -cores Ns , -.Fl -keep-going Ns , -.Fl k Ns , -.Fl -keep-failed Ns , -.Fl K Ns , -.Fl -fallback Ns , -.Fl I Ns , -.Fl -option Ns , -.Fl -repair Ns , -.Fl -builders Ns , -.Fl -accept-flake-config Ns , -.Fl -print-build-logs Ns , -.Fl L Ns , -.Fl -show-trace Ns , -.Fl -refresh Ns , -.Fl -impure Ns , -.Fl -offline Ns , -.Fl -no-net Ns -.Ed -. -.Pp -See the Nix manual, -.Ic nix flake lock --help -or -.Ic nix-build --help -for details. -. -. -. -.Sh ENVIRONMENT -.Bl -tag -width indent -.It Ev NIXOS_CONFIG -Path to the main NixOS configuration module. Defaults to -.Pa /etc/nixos/configuration.nix Ns -\&. -. -.It Ev NIX_PATH -A colon-separated list of directories used to look up Nix expressions enclosed -in angle brackets (e.g. ). Example: -.Bd -literal -offset indent -nixpkgs=./my-nixpkgs -.Ed -. -.It Ev NIX_SSHOPTS -Additional options to be passed to -.Ic ssh -on the command line. -.Ed -. -.It Ev NIXOS_SWITCH_USE_DIRTY_ENV -Expose the the current environment variables to post activation scripts. Will -skip usage of -.Ic systemd-run -during system activation. Possibly dangerous, specially in remote environments -(e.g.: via SSH). Will be removed in the future. -.El -. -. -. -.Sh FILES -.Bl -tag -width indent -.It Pa /etc/nixos/flake.nix -If this file exists, then -.Nm -will use it as if the -.Fl -flake -option was given. This file may be a symlink to a -.Pa flake.nix -in an actual flake; thus -.Pa /etc/nixos -need not be a flake. -. -.It Pa /run/current-system -A symlink to the currently active system configuration in the Nix store. -. -.It Pa /nix/var/nix/profiles/system -The Nix profile that contains the current and previous system -configurations. Used to generate the GRUB boot menu. -.El -. -. -. -.Sh BUGS -This command should be renamed to something more descriptive. -. -. -. -.Sh AUTHORS -.An -nosplit -.An Eelco Dolstra -and -.An the Nixpkgs/NixOS contributors diff --git a/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh b/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh deleted file mode 100755 index 65b3de6f72a2..000000000000 --- a/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh +++ /dev/null @@ -1,996 +0,0 @@ -#! @runtimeShell@ -# shellcheck shell=bash - -if [ -x "@runtimeShell@" ]; then export SHELL="@runtimeShell@"; fi; - -set -e -set -o pipefail -shopt -s inherit_errexit - -export PATH=@path@:$PATH - -showSyntax() { - exec man nixos-rebuild - exit 1 -} - - -# Parse the command line. -origArgs=("$@") -copyFlags=() -extraBuildFlags=() -lockFlags=() -flakeFlags=(--extra-experimental-features 'nix-command flakes') -action= -buildNix=1 -fast= -rollback= -upgrade= -upgrade_all= -profile=/nix/var/nix/profiles/system -specialisation= -imageVariant= -buildHost= -targetHost= -useSudo= -noSSHTTY= -verboseScript= -noFlake= -attr= -buildFile=default.nix -buildingAttribute=1 -installBootloader= -json= - -# log the given argument to stderr -log() { - echo "$@" >&2 -} - -while [ "$#" -gt 0 ]; do - i="$1"; shift 1 - case "$i" in - --help) - showSyntax - ;; - switch|boot|test|build|edit|repl|dry-build|dry-run|dry-activate|build-vm|build-vm-with-bootloader|build-image|list-generations) - if [ "$i" = dry-run ]; then i=dry-build; fi - if [ "$i" = list-generations ]; then - buildNix= - fast=1 - fi - # exactly one action mandatory, bail out if multiple are given - if [ -n "$action" ]; then showSyntax; fi - action="$i" - ;; - --file|-f) - if [ -z "$1" ]; then - log "$0: '$i' requires an argument" - exit 1 - fi - buildFile="$1" - buildingAttribute= - shift 1 - ;; - --attr|-A) - if [ -z "$1" ]; then - log "$0: '$i' requires an argument" - exit 1 - fi - attr="$1" - buildingAttribute= - shift 1 - ;; - --install-grub) - log "$0: --install-grub deprecated, use --install-bootloader instead" - installBootloader=1 - ;; - --install-bootloader) - installBootloader=1 - ;; - --no-build-nix) - buildNix= - ;; - --rollback) - rollback=1 - ;; - --upgrade) - upgrade=1 - ;; - --upgrade-all) - upgrade=1 - upgrade_all=1 - ;; - --use-substitutes|--substitute-on-destination|-s) - copyFlags+=("-s") - ;; - -I|--builders) - j="$1"; shift 1 - extraBuildFlags+=("$i" "$j") - ;; - --max-jobs|-j|--cores|--log-format) - j="$1"; shift 1 - extraBuildFlags+=("$i" "$j") - copyFlags+=("$i" "$j") - ;; - --accept-flake-config|-j*|--quiet|--print-build-logs|-L|--no-build-output|-Q|--show-trace|--refresh|--impure|--offline|--no-net) - extraBuildFlags+=("$i") - ;; - --keep-going|-k|--keep-failed|-K|--fallback|--repair) - extraBuildFlags+=("$i") - copyFlags+=("$i") - ;; - --verbose|-v|-vv|-vvv|-vvvv|-vvvvv) - verboseScript="true" - extraBuildFlags+=("$i") - copyFlags+=("$i") - ;; - --option) - j="$1"; shift 1 - k="$1"; shift 1 - extraBuildFlags+=("$i" "$j" "$k") - copyFlags+=("$i" "$j" "$k") - ;; - --fast) - buildNix= - fast=1 - ;; - --profile-name|-p) - if [ -z "$1" ]; then - log "$0: ‘--profile-name’ requires an argument" - exit 1 - fi - if [ "$1" != system ]; then - profile="/nix/var/nix/profiles/system-profiles/$1" - (umask 022 && mkdir -p "$(dirname "$profile")") - fi - shift 1 - ;; - --specialisation|-c) - if [ -z "$1" ]; then - log "$0: ‘--specialisation’ requires an argument" - exit 1 - fi - specialisation="$1" - shift 1 - ;; - --image-variant) - if [ -z "$1" ]; then - log "$0: ‘--image-variant’ requires an argument" - exit 1 - fi - imageVariant="$1" - shift 1 - ;; - --build-host) - buildHost="$1" - shift 1 - ;; - --target-host) - targetHost="$1" - shift 1 - ;; - --sudo | --use-remote-sudo) - useSudo=1 - ;; - --no-ssh-tty) - noSSHTTY=1 - ;; - --flake|-F) - flake="$1" - shift 1 - ;; - --no-flake) - noFlake=1 - ;; - --recreate-lock-file|--no-update-lock-file|--no-write-lock-file|--no-registries|--commit-lock-file) - lockFlags+=("$i") - ;; - --update-input) - j="$1"; shift 1 - lockFlags+=("$i" "$j") - ;; - --override-input) - j="$1"; shift 1 - k="$1"; shift 1 - lockFlags+=("$i" "$j" "$k") - ;; - --json) - json=1 - ;; - *) - log "$0: unknown option \`$i'" - exit 1 - ;; - esac -done - -# log the given argument to stderr if verbose mode is on -logVerbose() { - if [ -n "$verboseScript" ]; then - echo "$@" >&2 - fi -} - -# Run a command, logging it first if verbose mode is on -runCmd() { - logVerbose "$" "$@" - "$@" -} - -buildHostCmd() { - local c - if [[ "${useSudo:-x}" = 1 ]]; then - c=("sudo") - else - c=() - fi - - if [ -z "$buildHost" ]; then - runCmd "$@" - elif [ -n "$remoteNix" ]; then - runCmd ssh $SSHOPTS "$buildHost" "${c[@]}" env PATH="$remoteNix":'$PATH' "$@" - else - runCmd ssh $SSHOPTS "$buildHost" "${c[@]}" "$@" - fi -} - -targetHostCmd() { - local c - if [[ "${withSudo:-x}" = 1 ]]; then - c=("sudo") - else - c=() - fi - - if [ -z "$targetHost" ]; then - runCmd "${c[@]}" "$@" - else - runCmd ssh $SSHOPTS "$targetHost" "${c[@]}" "$@" - fi -} - -targetHostSudoCmd() { - local t= - if [[ ! "${noSSHTTY:-x}" = 1 ]]; then - t="-t" - fi - - if [[ -n "$useSudo" ]]; then - withSudo=1 SSHOPTS="$SSHOPTS $t" targetHostCmd "$@" - else - # While a tty might not be necessary, we apply it to be consistent with - # sudo usage, and an experience that is more consistent with local deployment. - # But if the user really doesn't want it, don't do it. - SSHOPTS="$SSHOPTS $t" targetHostCmd "$@" - fi -} - -copyToTarget() { - if ! [ "$targetHost" = "$buildHost" ]; then - if [ -z "$targetHost" ]; then - logVerbose "Running nix-copy-closure with these NIX_SSHOPTS: $SSHOPTS" - NIX_SSHOPTS=$SSHOPTS runCmd nix-copy-closure "${copyFlags[@]}" --from "$buildHost" "$1" - elif [ -z "$buildHost" ]; then - logVerbose "Running nix-copy-closure with these NIX_SSHOPTS: $SSHOPTS" - NIX_SSHOPTS=$SSHOPTS runCmd nix-copy-closure "${copyFlags[@]}" --to "$targetHost" "$1" - else - buildHostCmd nix-copy-closure "${copyFlags[@]}" --to "$targetHost" "$1" - fi - fi -} - -nixBuild() { - logVerbose "Building in legacy (non-flake) mode." - if [ -z "$buildHost" ]; then - logVerbose "No --build-host given, running nix-build locally" - runCmd nix-build "$@" - else - logVerbose "buildHost set to \"$buildHost\", running nix-build remotely" - local instArgs=() - local buildArgs=() - local drv= - - while [ "$#" -gt 0 ]; do - local i="$1"; shift 1 - case "$i" in - -o) - local out="$1"; shift 1 - buildArgs+=("--add-root" "$out" "--indirect") - ;; - -A) - local j="$1"; shift 1 - instArgs+=("$i" "$j") - ;; - -I) # We don't want this in buildArgs - shift 1 - ;; - --no-out-link) # We don't want this in buildArgs - ;; - "<"*) # nix paths - instArgs+=("$i") - ;; - *) - buildArgs+=("$i") - ;; - esac - done - - if [[ -z $buildingAttribute ]]; then - instArgs+=("$buildFile") - fi - - drv="$(runCmd nix-instantiate "${instArgs[@]}" "${extraBuildFlags[@]}")" - if [ -a "$drv" ]; then - logVerbose "Running nix-copy-closure with these NIX_SSHOPTS: $SSHOPTS" - NIX_SSHOPTS=$SSHOPTS runCmd nix-copy-closure --to "$buildHost" "$drv" - buildHostCmd nix-store -r "$drv" "${buildArgs[@]}" - else - log "nix-instantiate failed" - exit 1 - fi - fi -} - -nixFlakeBuild() { - logVerbose "Building in flake mode." - if [[ -z "$buildHost" && -z "$targetHost" && "$action" != switch && "$action" != boot && "$action" != test && "$action" != dry-activate ]] - then - runCmd nix "${flakeFlags[@]}" build "$@" - readlink -f ./result - elif [ -z "$buildHost" ]; then - runCmd nix "${flakeFlags[@]}" build "$@" --out-link "${tmpDir}/result" - readlink -f "${tmpDir}/result" - else - local attr="$1" - shift 1 - local evalArgs=() - local buildArgs=() - local drv= - - while [ "$#" -gt 0 ]; do - local i="$1"; shift 1 - case "$i" in - --recreate-lock-file|--no-update-lock-file|--no-write-lock-file|--no-registries|--commit-lock-file) - evalArgs+=("$i") - ;; - --update-input) - local j="$1"; shift 1 - evalArgs+=("$i" "$j") - ;; - --override-input) - local j="$1"; shift 1 - local k="$1"; shift 1 - evalArgs+=("$i" "$j" "$k") - ;; - --impure) # We don't want this in buildArgs, it's only needed at evaluation time, and unsupported during realisation - ;; - *) - buildArgs+=("$i") - ;; - esac - done - - drv="$(runCmd nix "${flakeFlags[@]}" eval --raw "${attr}.drvPath" "${evalArgs[@]}" "${extraBuildFlags[@]}")" - if [ -a "$drv" ]; then - logVerbose "Running nix with these NIX_SSHOPTS: $SSHOPTS" - NIX_SSHOPTS=$SSHOPTS runCmd nix "${flakeFlags[@]}" copy "${copyFlags[@]}" --derivation --to "ssh://$buildHost" "$drv" - buildHostCmd nix-store -r "$drv" "${buildArgs[@]}" - else - log "nix eval failed" - exit 1 - fi - fi -} - - -if [ -z "$action" ]; then showSyntax; fi - -# Only run shell scripts from the Nixpkgs tree if the action is -# "switch", "boot", or "test". With other actions (such as "build"), -# the user may reasonably expect that no code from the Nixpkgs tree is -# executed, so it's safe to run nixos-rebuild against a potentially -# untrusted tree. -canRun= -if [[ "$action" = switch || "$action" = boot || "$action" = test ]]; then - canRun=1 -fi - -# Verify that user is not trying to use attribute building and flake -# at the same time -if [[ -z $buildingAttribute && -n $flake ]]; then - log "error: '--flake' cannot be used with '--file' or '--attr'" - exit 1 -fi - -# If ‘--upgrade’ or `--upgrade-all` is given, -# run ‘nix-channel --update nixos’. -if [[ -n $upgrade && -z $_NIXOS_REBUILD_REEXEC && -z $flake ]]; then - # If --upgrade-all is passed, or there are other channels that - # contain a file called ".update-on-nixos-rebuild", update them as - # well. Also upgrade the nixos channel. - - for channelpath in /nix/var/nix/profiles/per-user/root/channels/*; do - channel_name=$(basename "$channelpath") - - if [[ "$channel_name" == "nixos" ]]; then - runCmd nix-channel --update "$channel_name" - elif [ -e "$channelpath/.update-on-nixos-rebuild" ]; then - runCmd nix-channel --update "$channel_name" - elif [[ -n $upgrade_all ]] ; then - runCmd nix-channel --update "$channel_name" - fi - done -fi - -# Make sure that we use the Nix package we depend on, not something -# else from the PATH for nix-{env,instantiate,build}. This is -# important, because NixOS defaults the architecture of the rebuilt -# system to the architecture of the nix-* binaries used. So if on an -# amd64 system the user has an i686 Nix package in her PATH, then we -# would silently downgrade the whole system to be i686 NixOS on the -# next reboot. -if [ -z "$_NIXOS_REBUILD_REEXEC" ]; then - export PATH=@nix@/bin:$PATH -fi - -# Use /etc/nixos/flake.nix if it exists. It can be a symlink to the -# actual flake. -if [[ -z $flake && -e /etc/nixos/flake.nix && -z $noFlake ]]; then - flake="$(dirname "$(readlink -f /etc/nixos/flake.nix)")" -fi - -tmpDir=$(mktemp -t -d nixos-rebuild.XXXXXX) - -if [[ ${#tmpDir} -ge 60 ]]; then - # Very long tmp dirs lead to "too long for Unix domain socket" - # SSH ControlPath errors. Especially macOS sets long TMPDIR paths. - rmdir "$tmpDir" - tmpDir=$(TMPDIR= mktemp -t -d nixos-rebuild.XXXXXX) -fi - -cleanup() { - for ctrl in "$tmpDir"/ssh-*; do - ssh -o ControlPath="$ctrl" -O exit dummyhost 2>/dev/null || true - done - rm -rf "$tmpDir" -} -trap cleanup EXIT - -SSHOPTS="$NIX_SSHOPTS -o ControlMaster=auto -o ControlPath=$tmpDir/ssh-%n -o ControlPersist=60" - -# For convenience, use the hostname as the default configuration to -# build from the flake. -if [[ -n $flake ]]; then - if [[ $flake =~ ^(.*)\#([^\#\"]*)$ ]]; then - flake="${BASH_REMATCH[1]}" - flakeAttr="${BASH_REMATCH[2]}" - fi - if [[ -z $flakeAttr ]]; then - hostname="$(targetHostCmd cat /proc/sys/kernel/hostname)" - if [[ -z $hostname ]]; then - hostname=default - fi - flakeAttr="nixosConfigurations.\"$hostname\"" - else - flakeAttr="nixosConfigurations.\"$flakeAttr\"" - fi -fi - -if [[ ! -z "$specialisation" && ! "$action" = switch && ! "$action" = test ]]; then - log "error: ‘--specialisation’ can only be used with ‘switch’ and ‘test’" - exit 1 -fi - - -# Re-execute nixos-rebuild from the Nixpkgs tree. -if [[ -z $_NIXOS_REBUILD_REEXEC && -n $canRun && -z $fast ]]; then - if [[ -z $buildingAttribute ]]; then - p=$(runCmd nix-build --no-out-link $buildFile -A "${attr:+$attr.}config.system.build.nixos-rebuild" "${extraBuildFlags[@]}") - SHOULD_REEXEC=1 - elif [[ -z $flake ]]; then - if p=$(runCmd nix-build --no-out-link --expr 'with import {}; config.system.build.nixos-rebuild' "${extraBuildFlags[@]}"); then - SHOULD_REEXEC=1 - fi - else - runCmd nix "${flakeFlags[@]}" build --out-link "${tmpDir}/nixos-rebuild" "$flake#$flakeAttr.config.system.build.nixos-rebuild" "${extraBuildFlags[@]}" "${lockFlags[@]}" - if p=$(readlink -e "${tmpDir}/nixos-rebuild"); then - SHOULD_REEXEC=1 - fi - fi - - if [[ -n $SHOULD_REEXEC ]]; then - export _NIXOS_REBUILD_REEXEC=1 - # Manually call cleanup as the EXIT trap is not triggered when using exec - cleanup - runCmd exec "$p/bin/nixos-rebuild" "${origArgs[@]}" - exit 1 - fi -fi - -# Find configuration.nix and open editor instead of building. -if [ "$action" = edit ]; then - if [[ -z $buildingAttribute ]]; then - log "error: '--file' and '--attr' are not supported with 'edit'" - exit 1 - elif [[ -z $flake ]]; then - NIXOS_CONFIG=${NIXOS_CONFIG:-$(runCmd nix-instantiate --find-file nixos-config)} - if [[ -d $NIXOS_CONFIG ]]; then - NIXOS_CONFIG=$NIXOS_CONFIG/default.nix - fi - runCmd exec ${EDITOR:-nano} "$NIXOS_CONFIG" - else - runCmd exec nix "${flakeFlags[@]}" edit "${lockFlags[@]}" -- "$flake#$flakeAttr" - fi - exit 1 -fi - -# First build Nix, since NixOS may require a newer version than the -# current one. -if [[ -n "$rollback" || "$action" = dry-build ]]; then - buildNix= -fi - -nixSystem() { - machine="$(uname -m)" - if [[ "$machine" =~ i.86 ]]; then - machine=i686 - fi - echo $machine-linux -} - -prebuiltNix() { - machine="$1" - if [ "$machine" = x86_64 ]; then - echo @nix_x86_64_linux@ - elif [[ "$machine" =~ i.86 ]]; then - echo @nix_i686_linux@ - elif [[ "$machine" = aarch64 ]]; then - echo @nix_aarch64_linux@ - else - log "$0: unsupported platform" - exit 1 - fi -} - -getNixDrv() { - nixDrv= - - if [[ -z $buildingAttribute ]]; then - if nixDrv="$(runCmd nix-instantiate $buildFile --add-root "$tmpDir/nix.drv" --indirect -A ${attr:+$attr.}config.nix.package.out "${extraBuildFlags[@]}")"; then return; fi - fi - if nixDrv="$(runCmd nix-instantiate '' --add-root "$tmpDir/nix.drv" --indirect -A config.nix.package.out "${extraBuildFlags[@]}")"; then return; fi - if nixDrv="$(runCmd nix-instantiate '' --add-root "$tmpDir/nix.drv" --indirect -A nix "${extraBuildFlags[@]}")"; then return; fi - - if ! nixStorePath="$(runCmd nix-instantiate --eval '' -A "$(nixSystem)" | sed -e 's/^"//' -e 's/"$//')"; then - nixStorePath="$(prebuiltNix "$(uname -m)")" - fi - if ! runCmd nix-store -r "$nixStorePath" --add-root "${tmpDir}/nix" --indirect \ - --option extra-binary-caches https://cache.nixos.org/; then - log "warning: don't know how to get latest Nix" - fi - # Older version of nix-store -r don't support --add-root. - [ -e "$tmpDir/nix" ] || ln -sf "$nixStorePath" "$tmpDir/nix" - if [ -n "$buildHost" ]; then - remoteNixStorePath="$(runCmd prebuiltNix "$(buildHostCmd uname -m)")" - remoteNix="$remoteNixStorePath/bin" - if ! buildHostCmd nix-store -r "$remoteNixStorePath" \ - --option extra-binary-caches https://cache.nixos.org/ >/dev/null; then - remoteNix= - log "warning: don't know how to get latest Nix" - fi - fi -} - -getVersion() { - local dir="$1" - local rev= - local gitDir="$dir/.git" - if [ -e "$gitDir" ]; then - if [ -z "$(type -P git)" ]; then - echo "warning: Git not found; cannot figure out revision of $dir" >&2 - return - fi - cd "$dir" - rev=$(git --git-dir="$gitDir" rev-parse --short HEAD) - if git --git-dir="$gitDir" describe --always --dirty | grep -q dirty; then - rev+=M - fi - fi - - if [ -n "$rev" ]; then - echo ".git.$rev" - fi -} - - -if [[ -n $buildNix && -z $flake ]]; then - log "building Nix..." - getNixDrv - if [ -a "$nixDrv" ]; then - nix-store -r "$nixDrv"'!'"out" --add-root "$tmpDir/nix" --indirect >/dev/null - if [ -n "$buildHost" ]; then - nix-copy-closure "${copyFlags[@]}" --to "$buildHost" "$nixDrv" - # The nix build produces multiple outputs, we add them all to the remote path - for p in $(buildHostCmd nix-store -r "$(readlink "$nixDrv")" "${buildArgs[@]}"); do - remoteNix="$remoteNix${remoteNix:+:}$p/bin" - done - fi - fi - PATH="$tmpDir/nix/bin:$PATH" -fi - - -# Update the version suffix if we're building from Git (so that -# nixos-version shows something useful). -if [[ -n $canRun && -z $flake ]]; then - if nixpkgs=$(runCmd nix-instantiate --find-file nixpkgs "${extraBuildFlags[@]}"); then - suffix=$(getVersion "$nixpkgs" || true) - if [ -n "$suffix" ]; then - echo -n "$suffix" > "$nixpkgs/.version-suffix" || true - fi - fi -fi - - -if [ "$action" = dry-build ]; then - extraBuildFlags+=(--dry-run) -fi - -if [ "$action" = repl ]; then - # This is a very end user command, implemented using sub-optimal means. - # You should feel free to improve its behavior, as well as resolve tech - # debt in "breaking" ways. Humans adapt quite well. - if [[ -z $buildingAttribute ]]; then - exec nix repl --file $buildFile $attr "${extraBuildFlags[@]}" - elif [[ -z $flake ]]; then - exec nix repl --file '' "${extraBuildFlags[@]}" - else - if [[ -n "${lockFlags[0]}" ]]; then - # nix repl itself does not support locking flags - log "nixos-rebuild repl does not support locking flags yet" - exit 1 - fi - d='$' - q='"' - bold="$(echo -e '\033[1m')" - blue="$(echo -e '\033[34;1m')" - attention="$(echo -e '\033[35;1m')" - reset="$(echo -e '\033[0m')" - if [[ -e $flake ]]; then - flakePath=$(realpath "$flake") - else - flakePath=$flake - fi - # This nix repl invocation is impure, because usually the flakeref is. - # For a solution that preserves the motd and custom scope, we need - # something like https://github.com/NixOS/nix/issues/8679. - exec nix repl --impure --expr " - let flake = builtins.getFlake ''$flakePath''; - configuration = flake.$flakeAttr; - motd = '' - $d{$q\n$q} - Hello and welcome to the NixOS configuration - $flakeAttr - in $flake - - The following is loaded into nix repl's scope: - - - ${blue}config${reset} All option values - - ${blue}options${reset} Option data and metadata - - ${blue}pkgs${reset} Nixpkgs package set - - ${blue}lib${reset} Nixpkgs library functions - - other module arguments - - - ${blue}flake${reset} Flake outputs, inputs and source info of $flake - - Use tab completion to browse around ${blue}config${reset}. - - Use ${bold}:r${reset} to ${bold}reload${reset} everything after making a change in the flake. - (assuming $flake is a mutable flake ref) - - See ${bold}:?${reset} for more repl commands. - - ${attention}warning:${reset} nixos-rebuild repl does not currently enforce pure evaluation. - ''; - scope = - assert configuration._type or null == ''configuration''; - assert configuration.class or ''nixos'' == ''nixos''; - configuration._module.args // - configuration._module.specialArgs // - { - inherit (configuration) config options; - lib = configuration.lib or configuration.pkgs.lib; - inherit flake; - }; - in builtins.seq scope builtins.trace motd scope - " "${extraBuildFlags[@]}" - fi -fi - -if [ "$action" = list-generations ]; then - if [ ! -L "$profile" ]; then - log "No profile \`$(basename "$profile")' found" - exit 1 - fi - - generation_from_dir() { - generation_dir="$1" - generation_base="$(basename "$generation_dir")" # Has the format "system-123-link" for generation 123 - no_link_gen="${generation_base%-link}" # remove the "-link" - echo "${no_link_gen##*-}" # remove everything before the last dash - } - describe_generation(){ - generation_dir="$1" - generation_number="$(generation_from_dir "$generation_dir")" - nixos_version="$(cat "$generation_dir/nixos-version" 2> /dev/null || echo "Unknown")" - - kernel_dir="$(dirname "$(realpath "$generation_dir/kernel")")" - kernel_version="$(ls "$kernel_dir/lib/modules" || echo "Unknown")" - - configurationRevision="$("$generation_dir/sw/bin/nixos-version" --configuration-revision 2> /dev/null || true)" - - # Old nixos-version output ignored unknown flags and just printed the version - # therefore the following workaround is done not to show the default output - nixos_version_default="$("$generation_dir/sw/bin/nixos-version")" - if [ "$configurationRevision" == "$nixos_version_default" ]; then - configurationRevision="" - fi - - # jq automatically quotes the output => don't try to quote it in output! - build_date="$(stat "$generation_dir" --format=%W | jq 'todate')" - - pushd "$generation_dir/specialisation/" > /dev/null || : - specialisation_list=(*) - popd > /dev/null || : - - specialisations="$(jq --compact-output --null-input '$ARGS.positional' --args -- "${specialisation_list[@]}")" - - if [ "$(basename "$generation_dir")" = "$(readlink "$profile")" ]; then - current_generation_tag="true" - else - current_generation_tag="false" - fi - - # Escape userdefined strings - nixos_version="$(jq -aR <<< "$nixos_version")" - kernel_version="$(jq -aR <<< "$kernel_version")" - configurationRevision="$(jq -aR <<< "$configurationRevision")" - cat << EOF -{ - "generation": $generation_number, - "date": $build_date, - "nixosVersion": $nixos_version, - "kernelVersion": $kernel_version, - "configurationRevision": $configurationRevision, - "specialisations": $specialisations, - "current": $current_generation_tag -} -EOF - } - - find "$(dirname "$profile")" -regex "$profile-[0-9]+-link" | - sort -Vr | - while read -r generation_dir; do - describe_generation "$generation_dir" - done | - if [ -z "$json" ]; then - jq --slurp -r '.[] | [ - ([.generation, (if .current == true then "current" else "" end)] | join(" ")), - (.date | fromdate | strflocaltime("%Y-%m-%d %H:%M:%S")), - .nixosVersion, .kernelVersion, .configurationRevision, - (.specialisations | join(" ")) - ] | @tsv' | - column --separator $'\t' --table --table-columns "Generation,Build-date,NixOS version,Kernel,Configuration Revision,Specialisation" - else - jq --slurp . - fi - exit 0 -fi - - -# Either upgrade the configuration in the system profile (for "switch" -# or "boot"), or just build it and create a symlink "result" in the -# current directory (for "build" and "test"). -if [ -z "$rollback" ]; then - log "building the system configuration..." - if [[ "$action" = switch || "$action" = boot ]]; then - if [[ -z $buildingAttribute ]]; then - pathToConfig="$(nixBuild $buildFile -A "${attr:+$attr.}config.system.build.toplevel" "${extraBuildFlags[@]}")" - elif [[ -z $flake ]]; then - pathToConfig="$(nixBuild '' --no-out-link -A system "${extraBuildFlags[@]}")" - else - pathToConfig="$(nixFlakeBuild "$flake#$flakeAttr.config.system.build.toplevel" "${extraBuildFlags[@]}" "${lockFlags[@]}")" - fi - copyToTarget "$pathToConfig" - targetHostSudoCmd nix-env -p "$profile" --set "$pathToConfig" - elif [[ "$action" = test || "$action" = build || "$action" = dry-build || "$action" = dry-activate ]]; then - if [[ -z $buildingAttribute ]]; then - pathToConfig="$(nixBuild $buildFile -A "${attr:+$attr.}config.system.build.toplevel" "${extraBuildFlags[@]}")" - elif [[ -z $flake ]]; then - pathToConfig="$(nixBuild '' -A system -k "${extraBuildFlags[@]}")" - else - pathToConfig="$(nixFlakeBuild "$flake#$flakeAttr.config.system.build.toplevel" "${extraBuildFlags[@]}" "${lockFlags[@]}")" - fi - elif [ "$action" = build-vm ]; then - if [[ -z $buildingAttribute ]]; then - pathToConfig="$(nixBuild $buildFile -A "${attr:+$attr.}config.system.build.vm" "${extraBuildFlags[@]}")" - elif [[ -z $flake ]]; then - pathToConfig="$(nixBuild '' -A vm -k "${extraBuildFlags[@]}")" - else - pathToConfig="$(nixFlakeBuild "$flake#$flakeAttr.config.system.build.vm" "${extraBuildFlags[@]}" "${lockFlags[@]}")" - fi - elif [ "$action" = build-vm-with-bootloader ]; then - if [[ -z $buildingAttribute ]]; then - pathToConfig="$(nixBuild $buildFile -A "${attr:+$attr.}config.system.build.vmWithBootLoader" "${extraBuildFlags[@]}")" - elif [[ -z $flake ]]; then - pathToConfig="$(nixBuild '' -A vmWithBootLoader -k "${extraBuildFlags[@]}")" - else - pathToConfig="$(nixFlakeBuild "$flake#$flakeAttr.config.system.build.vmWithBootLoader" "${extraBuildFlags[@]}" "${lockFlags[@]}")" - fi - elif [ "$action" = build-image ]; then - if [[ -z $buildingAttribute ]]; then - variants="$( - runCmd nix-instantiate --eval --strict --json --expr \ - "let - value = import \"$(realpath $buildFile)\"; - set = if builtins.isFunction value then value {} else value; - in builtins.attrNames set.${attr:+$attr.}config.system.build.images" \ - "${extraBuildFlags[@]}" - )" - elif [[ -z $flake ]]; then - variants="$( - runCmd nix-instantiate --eval --strict --json --expr \ - "with import {}; builtins.attrNames config.system.build.images" \ - "${extraBuildFlags[@]}" - )" - else - variants="$( - runCmd nix "${flakeFlags[@]}" eval --json \ - "$flake#$flakeAttr.config.system.build.images" \ - --apply "builtins.attrNames" "${evalArgs[@]}" "${extraBuildFlags[@]}" - )" - fi - if ! echo "$variants" | jq -e --arg variant "$imageVariant" "any(. == \$variant)" > /dev/null; then - echo -e "Please specify one of the following supported image variants via --image-variant:\n" >&2 - echo "$variants" | jq -r 'join ("\n")' - exit 1 - fi - - if [[ -z $buildingAttribute ]]; then - imageName="$( - runCmd nix-instantiate --eval --strict --json --expr \ - "let - value = import \"$(realpath $buildFile)\"; - set = if builtins.isFunction value then value {} else value; - in set.${attr:+$attr.}config.system.build.images.$imageVariant.passthru.filePath" \ - "${extraBuildFlags[@]}" \ - | jq -r . - )" - elif [[ -z $flake ]]; then - imageName="$( - runCmd nix-instantiate --eval --strict --json --expr \ - "with import {}; config.system.build.images.$imageVariant.passthru.filePath" \ - "${extraBuildFlags[@]}" \ - | jq -r . - )" - else - imageName="$( - runCmd nix "${flakeFlags[@]}" eval --raw \ - "$flake#$flakeAttr.config.system.build.images.$imageVariant.passthru.filePath" \ - "${evalArgs[@]}" "${extraBuildFlags[@]}" - )" - fi - - if [[ -z $buildingAttribute ]]; then - pathToConfig="$(nixBuild $buildFile -A "${attr:+$attr.}config.system.build.images.${imageVariant}" "${extraBuildFlags[@]}")" - elif [[ -z $flake ]]; then - pathToConfig="$(nixBuild '' -A config.system.build.images.${imageVariant} -k "${extraBuildFlags[@]}")" - else - pathToConfig="$(nixFlakeBuild "$flake#$flakeAttr.config.system.build.images.${imageVariant}" "${extraBuildFlags[@]}" "${lockFlags[@]}")" - fi - else - showSyntax - fi - # Copy build to target host if we haven't already done it - if ! [[ "$action" = switch || "$action" = boot ]]; then - copyToTarget "$pathToConfig" - fi -else # [ -n "$rollback" ] - if [[ "$action" = switch || "$action" = boot ]]; then - targetHostSudoCmd nix-env --rollback -p "$profile" - pathToConfig="$profile" - elif [[ "$action" = test || "$action" = build ]]; then - systemNumber=$( - targetHostCmd nix-env -p "$profile" --list-generations | - sed -n '/current/ {g; p;}; s/ *\([0-9]*\).*/\1/; h' - ) - pathToConfig="$profile"-${systemNumber}-link - if [ -z "$targetHost" ]; then - ln -sT "$pathToConfig" ./result - fi - else - showSyntax - fi -fi - - -# If we're not just building, then make the new configuration the boot -# default and/or activate it now. -if [[ "$action" = switch || "$action" = boot || "$action" = test || "$action" = dry-activate ]]; then - # Using systemd-run here to protect against PTY failures/network - # disconnections during rebuild. - # See: https://github.com/NixOS/nixpkgs/issues/39118 - cmd=( - "systemd-run" - "-E" "LOCALE_ARCHIVE" # Will be set to new value early in switch-to-configuration script, but interpreter starts out with old value - "-E" "NIXOS_INSTALL_BOOTLOADER=$installBootloader" - "--collect" - "--no-ask-password" - "--pipe" - "--quiet" - "--service-type=exec" - "--unit=nixos-rebuild-switch-to-configuration" - "--wait" - ) - # Check if we have a working systemd-run. In chroot environments we may have - # a non-working systemd, so we fallback to not using systemd-run. - # You may also want to explicitly set NIXOS_SWITCH_USE_DIRTY_ENV environment - # variable, since systemd-run runs inside an isolated environment and - # this may break some post-switch scripts. However keep in mind that this - # may be dangerous in remote access (e.g. SSH). - if [[ -n "$NIXOS_SWITCH_USE_DIRTY_ENV" ]]; then - log "warning: skipping systemd-run since NIXOS_SWITCH_USE_DIRTY_ENV is set. This environment variable will be ignored in the future" - cmd=("env" "NIXOS_INSTALL_BOOTLOADER=$installBootloader") - elif ! targetHostSudoCmd "${cmd[@]}" true; then - logVerbose "Skipping systemd-run to switch configuration since it is not working in target host." - cmd=( - "env" - "-i" - "LOCALE_ARCHIVE=$LOCALE_ARCHIVE" - "NIXOS_INSTALL_BOOTLOADER=$installBootloader" - ) - else - logVerbose "Using systemd-run to switch configuration." - fi - if [[ -z "$specialisation" ]]; then - cmd+=("$pathToConfig/bin/switch-to-configuration") - else - cmd+=("$pathToConfig/specialisation/$specialisation/bin/switch-to-configuration") - - if [ -z "$targetHost" ]; then - specialisationExists=$(test -f "${cmd[-1]}") - else - specialisationExists=$(targetHostCmd test -f "${cmd[-1]}") - fi - - if ! $specialisationExists; then - log "error: specialisation not found: $specialisation" - exit 1 - fi - fi - - if ! targetHostSudoCmd "${cmd[@]}" "$action"; then - log "warning: error(s) occurred while switching to the new configuration" - exit 1 - else - echo -n "Done. The new configuration is " >&2 - echo "$pathToConfig" - fi -elif [[ "$action" = build ]]; then - echo -n "Done. The new configuration is " >&2 - echo "$pathToConfig" -fi - - -if [[ "$action" = build-vm || "$action" = build-vm-with-bootloader ]]; then - cat >&2 <&2 - echo "${pathToConfig}/${imageName}" -fi diff --git a/pkgs/os-specific/linux/nixos-rebuild/test/repl.nix b/pkgs/os-specific/linux/nixos-rebuild/test/repl.nix deleted file mode 100644 index 045f32958b7a..000000000000 --- a/pkgs/os-specific/linux/nixos-rebuild/test/repl.nix +++ /dev/null @@ -1,162 +0,0 @@ -{ - lib, - expect, - nix, - nixos-rebuild, - path, - runCommand, - stdenv, - writeText, -}: -let - # Arguably not true, but it holds up for now. - escapeExpect = lib.strings.escapeNixString; - - expectSetup = '' - set timeout 180 - proc expect_simple { pattern } { - puts "Expecting: $pattern" - expect { - timeout { - puts "\nTimeout waiting for: $pattern\n" - exit 1 - } - $pattern - } - } - ''; - - # In case we want/need to evaluate packages or the assertions or whatever, - # we want to have a linux system. - # TODO: make the non-flake test use thise. - linuxSystem = lib.replaceStrings [ "darwin" ] [ "linux" ] stdenv.hostPlatform.system; - -in -runCommand "test-nixos-rebuild-repl" - { - nativeBuildInputs = [ - expect - nix - nixos-rebuild - ]; - nixpkgs = if builtins.pathExists (path + "/.git") then lib.cleanSource path else path; - } - '' - export HOME=$(mktemp -d) - export TEST_ROOT=$PWD/test-tmp - - # Prepare for running Nix in sandbox - export NIX_BUILD_HOOK= - export NIX_CONF_DIR=$TEST_ROOT/etc - export NIX_LOCALSTATE_DIR=$TEST_ROOT/var - export NIX_LOG_DIR=$TEST_ROOT/var/log/nix - export NIX_STATE_DIR=$TEST_ROOT/var/nix - export NIX_STORE_DIR=$TEST_ROOT/store - export PAGER=cat - mkdir -p $TEST_ROOT $NIX_CONF_DIR - - echo General setup - ################## - - export NIX_PATH=nixpkgs=$nixpkgs:nixos-config=$HOME/configuration.nix - cat >> ~/configuration.nix < ~/hardware-configuration.nix - - - echo Test traditional NixOS configuration - ######################################### - - expect ${writeText "test-nixos-rebuild-repl-expect" '' - ${expectSetup} - spawn nixos-rebuild repl --fast - - expect "nix-repl> " - - send "config.networking.hostName\n" - expect "\"nixos\"" - ''} - - - echo Test flake based NixOS configuration - ######################################### - - # Switch to flake flavored environment - unset NIX_PATH - cat > $NIX_CONF_DIR/nix.conf < ~/hardware-configuration.nix - - cat >~/flake.nix <" - - send "config.networking.hostName\n" - expect_simple "itsme" - - expect_simple "nix-repl>" - send "lib.version\n" - expect_simple ${ - escapeExpect ( - # The version string is a bit different in the flake lib, so we expect a prefix and ignore the rest - # Furthermore, including the revision (suffix) would cause unnecessary rebuilds. - # Note that a length of 4 only matches e.g. "24. - lib.strings.substring 0 4 (lib.strings.escapeNixString lib.version) - ) - } - - # Make sure it's the right lib - should be the flake lib, not Nixpkgs lib. - expect_simple "nix-repl>" - send "lib?nixosSystem\n" - expect_simple "true" - expect_simple "nix-repl>" - send "lib?nixos\n" - expect_simple "true" - ''} - - pushd "$HOME" - expect ${writeText "test-nixos-rebuild-repl-relative-path-expect" '' - ${expectSetup} - spawn sh -c "nixos-rebuild repl --fast --flake .#testconf" - - expect_simple "nix-repl>" - - send "config.networking.hostName\n" - expect_simple "itsme" - ''} - popd - - echo - - ######### - echo Done - touch $out - '' diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0ff2404eb4ca..18b45bd7c9f8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14064,8 +14064,6 @@ with pkgs; nixos-artwork = recurseIntoAttrs (callPackage ../data/misc/nixos-artwork { }); - nixos-rebuild = callPackage ../os-specific/linux/nixos-rebuild { }; - disnix = callPackage ../tools/package-management/disnix { }; dysnomia = callPackage ../tools/package-management/disnix/dysnomia ( From 19b7452eff859608cd93bcd32034ffbf4ec456dd Mon Sep 17 00:00:00 2001 From: Thiago Kenji Okada Date: Mon, 1 Dec 2025 12:55:55 +0000 Subject: [PATCH 08/83] nixos-rebuild-ng: remove withNgSuffix option --- nixos/modules/installer/tools/tools.nix | 1 - nixos/tests/installer.nix | 1 - pkgs/by-name/ni/nixos-rebuild-ng/package.nix | 7 +------ pkgs/by-name/ni/nixos-rebuild-ng/tests/repl.nix | 2 +- pkgs/top-level/aliases.nix | 1 + 5 files changed, 3 insertions(+), 9 deletions(-) diff --git a/nixos/modules/installer/tools/tools.nix b/nixos/modules/installer/tools/tools.nix index 0a8942d64b6a..fa12f47489ff 100644 --- a/nixos/modules/installer/tools/tools.nix +++ b/nixos/modules/installer/tools/tools.nix @@ -70,7 +70,6 @@ let nixos-install = pkgs.nixos-install.override { }; nixos-rebuild-ng = pkgs.nixos-rebuild-ng.override { nix = config.nix.package; - withNgSuffix = false; withReexec = true; }; diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix index d9df8f820ee7..ffd1680c5df8 100644 --- a/nixos/tests/installer.nix +++ b/nixos/tests/installer.nix @@ -727,7 +727,6 @@ let libxslt.bin nixos-artwork.wallpapers.simple-dark-gray-bottom (nixos-rebuild-ng.override { - withNgSuffix = false; withReexec = true; }) ntp diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/package.nix b/pkgs/by-name/ni/nixos-rebuild-ng/package.nix index 33f52e0e1c68..95d17c3984f7 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/package.nix +++ b/pkgs/by-name/ni/nixos-rebuild-ng/package.nix @@ -9,7 +9,6 @@ python3Packages, runCommand, scdoc, - withNgSuffix ? true, withReexec ? false, withShellFiles ? true, # Very long tmp dirs lead to "too long for Unix domain socket" @@ -22,7 +21,7 @@ nixos-rebuild-ng, }: let - executable = if withNgSuffix then "nixos-rebuild-ng" else "nixos-rebuild"; + executable = "nixos-rebuild"; in python3Packages.buildPythonApplication rec { pname = "nixos-rebuild-ng"; @@ -57,9 +56,6 @@ python3Packages.buildPythonApplication rec { --subst-var-by executable ${executable} \ --subst-var-by withReexec ${lib.boolToString withReexec} \ --subst-var-by withShellFiles ${lib.boolToString withShellFiles} - - substituteInPlace pyproject.toml \ - --replace-fail nixos-rebuild ${executable} ''; postInstall = lib.optionalString withShellFiles '' @@ -105,7 +101,6 @@ python3Packages.buildPythonApplication rec { tests = { with_reexec = nixos-rebuild-ng.override { withReexec = true; - withNgSuffix = false; }; with_nix_latest = nixos-rebuild-ng.override { nix = nixVersions.latest; diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/tests/repl.nix b/pkgs/by-name/ni/nixos-rebuild-ng/tests/repl.nix index 1a614e8d8655..3408d95d2cdf 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/tests/repl.nix +++ b/pkgs/by-name/ni/nixos-rebuild-ng/tests/repl.nix @@ -37,7 +37,7 @@ runCommand "test-nixos-rebuild-repl" nativeBuildInputs = [ expect nix - (nixos-rebuild-ng.override { withNgSuffix = false; }) + nixos-rebuild-ng ]; nixpkgs = if builtins.pathExists (path + "/.git") then lib.cleanSource path else path; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index c6db26d29989..2741ca060094 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1165,6 +1165,7 @@ mapAliases { else nixfmt; nixForLinking = throw "nixForLinking has been removed, use `nixVersions.nixComponents_` instead"; # Added 2025-08-14 + nixos-rebuild = nixos-rebuild-ng; # Added 2025-12-02 nixosTest = throw "'nixosTest' has been renamed to/replaced by 'testers.nixosTest'"; # Converted to throw 2025-10-27 nixStable = throw "'nixStable' has been renamed to/replaced by 'nixVersions.stable'"; # Converted to throw 2025-10-27 nm-tray = throw "'nm-tray' has been removed, as it only works with Plasma 5"; # Added 2025-08-30 From 37715895cac8283a3bafb65a28bfb87fb3f4ba62 Mon Sep 17 00:00:00 2001 From: Thiago Kenji Okada Date: Mon, 1 Dec 2025 13:02:51 +0000 Subject: [PATCH 09/83] nixos-rebuild-ng: remove test for multiple versions of Nix/Lix It is not necessary anymore since we don't do conditional features based on Nix version since #433056. --- pkgs/by-name/ni/nixos-rebuild-ng/package.nix | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/package.nix b/pkgs/by-name/ni/nixos-rebuild-ng/package.nix index 95d17c3984f7..de9d27242dd7 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/package.nix +++ b/pkgs/by-name/ni/nixos-rebuild-ng/package.nix @@ -16,8 +16,6 @@ withTmpdir ? if stdenv.hostPlatform.isDarwin then "/tmp" else null, # passthru.tests nixosTests, - nixVersions, - lixPackageSets, nixos-rebuild-ng, }: let @@ -102,22 +100,6 @@ python3Packages.buildPythonApplication rec { with_reexec = nixos-rebuild-ng.override { withReexec = true; }; - with_nix_latest = nixos-rebuild-ng.override { - nix = nixVersions.latest; - }; - with_nix_stable = nixos-rebuild-ng.override { - nix = nixVersions.stable; - }; - with_nix_2_28 = nixos-rebuild-ng.override { - # oldest supported version in nixpkgs - nix = nixVersions.nix_2_28; - }; - with_lix_latest = nixos-rebuild-ng.override { - nix = lixPackageSets.latest.lix; - }; - with_lix_stable = nixos-rebuild-ng.override { - nix = lixPackageSets.stable.lix; - }; inherit (nixosTests) # FIXME: this test is disabled since it times out in @ofborg From 9db474c5ae1452ff4ed598f7127310b8a7cc2333 Mon Sep 17 00:00:00 2001 From: Thiago Kenji Okada Date: Mon, 1 Dec 2025 13:06:53 +0000 Subject: [PATCH 10/83] nixos/doc/rl-2605: add release notes for nixos-rebuild removal --- nixos/doc/manual/release-notes/rl-2605.section.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/doc/manual/release-notes/rl-2605.section.md b/nixos/doc/manual/release-notes/rl-2605.section.md index 0f7e00d6cb11..4a03213e78f3 100644 --- a/nixos/doc/manual/release-notes/rl-2605.section.md +++ b/nixos/doc/manual/release-notes/rl-2605.section.md @@ -16,7 +16,7 @@ -- Create the first release note entry in this section! +- The Bash implementation of the `nixos-rebuild` program is removed. All switchable systems now use the Python rewrite. Any prior usage of `system.rebuild.enableNg` must now be removed. If you have any outstanding issues with the new implementation, please open an issue on GitHub. ## Other Notable Changes {#sec-release-26.05-notable-changes} From b302bf69ab49311bdd55557478278f1bf0cd3ffd Mon Sep 17 00:00:00 2001 From: Thiago Kenji Okada Date: Mon, 1 Dec 2025 13:31:13 +0000 Subject: [PATCH 11/83] nixos-rebuild-ng: drop withReexec option Different from `nixos-rebuild`, re-exec in `nixos-rebuild` should always work, so there shouldn't be much of an issue enabling it by default. --- nixos/modules/installer/tools/tools.nix | 1 - nixos/tests/installer.nix | 4 +--- pkgs/by-name/ni/nixos-rebuild-ng/package.nix | 7 ------- .../ni/nixos-rebuild-ng/src/nixos_rebuild/__init__.py | 4 ++-- .../ni/nixos-rebuild-ng/src/nixos_rebuild/constants.py | 1 - 5 files changed, 3 insertions(+), 14 deletions(-) diff --git a/nixos/modules/installer/tools/tools.nix b/nixos/modules/installer/tools/tools.nix index fa12f47489ff..fdaafc5f7070 100644 --- a/nixos/modules/installer/tools/tools.nix +++ b/nixos/modules/installer/tools/tools.nix @@ -70,7 +70,6 @@ let nixos-install = pkgs.nixos-install.override { }; nixos-rebuild-ng = pkgs.nixos-rebuild-ng.override { nix = config.nix.package; - withReexec = true; }; defaultFlakeTemplate = '' diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix index ffd1680c5df8..cef75b350be5 100644 --- a/nixos/tests/installer.nix +++ b/nixos/tests/installer.nix @@ -726,9 +726,7 @@ let libxml2.bin libxslt.bin nixos-artwork.wallpapers.simple-dark-gray-bottom - (nixos-rebuild-ng.override { - withReexec = true; - }) + nixos-rebuild-ng ntp perlPackages.ConfigIniFiles perlPackages.FileSlurp diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/package.nix b/pkgs/by-name/ni/nixos-rebuild-ng/package.nix index de9d27242dd7..466b349acb31 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/package.nix +++ b/pkgs/by-name/ni/nixos-rebuild-ng/package.nix @@ -9,14 +9,12 @@ python3Packages, runCommand, scdoc, - withReexec ? false, withShellFiles ? true, # Very long tmp dirs lead to "too long for Unix domain socket" # SSH ControlPath errors. Especially macOS sets long TMPDIR paths. withTmpdir ? if stdenv.hostPlatform.isDarwin then "/tmp" else null, # passthru.tests nixosTests, - nixos-rebuild-ng, }: let executable = "nixos-rebuild"; @@ -52,7 +50,6 @@ python3Packages.buildPythonApplication rec { postPatch = '' substituteInPlace nixos_rebuild/constants.py \ --subst-var-by executable ${executable} \ - --subst-var-by withReexec ${lib.boolToString withReexec} \ --subst-var-by withShellFiles ${lib.boolToString withShellFiles} ''; @@ -97,10 +94,6 @@ python3Packages.buildPythonApplication rec { }; tests = { - with_reexec = nixos-rebuild-ng.override { - withReexec = true; - }; - inherit (nixosTests) # FIXME: this test is disabled since it times out in @ofborg # nixos-rebuild-install-bootloader-ng diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/__init__.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/__init__.py index ce7108175f0c..e4fa5ef75a43 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/__init__.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/__init__.py @@ -5,7 +5,7 @@ from subprocess import CalledProcessError, run from typing import Final, assert_never from . import nix, services -from .constants import EXECUTABLE, WITH_REEXEC, WITH_SHELL_FILES +from .constants import EXECUTABLE, WITH_SHELL_FILES from .models import Action, BuildAttr, Flake, GroupedNixArgs, Profile from .process import Remote from .utils import LogFormatter @@ -288,7 +288,7 @@ def execute(argv: list[str]) -> None: # Re-exec to a newer version of the script before building to ensure we get # the latest fixes - if WITH_REEXEC and can_run and not args.no_reexec: + if can_run and not args.no_reexec: services.reexec(argv, args, grouped_nix_args) profile = Profile.from_arg(args.profile_name) diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/constants.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/constants.py index 03d4bb79eb61..88f59111669f 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/constants.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/constants.py @@ -7,5 +7,4 @@ from typing import Final EXECUTABLE: Final[str] = "@executable@" # Use either `== "true"` if the default (e.g.: `python -m nixos_rebuild`) is # `False` or `!= "false"` if the default is `True` -WITH_REEXEC: Final[bool] = "@withReexec@" == "true" WITH_SHELL_FILES: Final[bool] = "@withShellFiles@" == "true" From 63922be38302955e51308ca5b8f857e60c467e63 Mon Sep 17 00:00:00 2001 From: Thiago Kenji Okada Date: Mon, 1 Dec 2025 15:23:24 +0000 Subject: [PATCH 12/83] nixos/doc: remove references to system.rebuild.enableNg option --- nixos/doc/manual/release-notes/rl-2505.section.md | 2 +- nixos/doc/manual/release-notes/rl-2511.section.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/doc/manual/release-notes/rl-2505.section.md b/nixos/doc/manual/release-notes/rl-2505.section.md index 869eb3f0fda5..cbaf33c5ed40 100644 --- a/nixos/doc/manual/release-notes/rl-2505.section.md +++ b/nixos/doc/manual/release-notes/rl-2505.section.md @@ -8,7 +8,7 @@ Alongside many enhancements to NixOS modules and general system improvements, th - NixOS now has initial support for the [**COSMIC DE**](https://system76.com/cosmic) which is currently at **Alpha 7**. COSMIC is a Rust-based Desktop Environment by System76, makers of Pop!_OS. You can use COSMIC by enabling the greeter (login manager) with [](#opt-services.displayManager.cosmic-greeter.enable), and the DE itself by enabling [](#opt-services.desktopManager.cosmic.enable). The support in NixOS/Nixpkgs is stable but still considered experimental because of the recent the addition. The COSMIC maintainers will be waiting for one more release of NixOS to determine if the experimental tag should be removed or not. Until then, please report any issues to the [COSMIC DE tracker in Nixpkgs](https://github.com/NixOS/nixpkgs/issues/259641) instead of upstream. -- `nixos-rebuild-ng`, a full rewrite of `nixos-rebuild` in Python, is available for testing. You can enable it by setting [](#opt-system.rebuild.enableNg) in your configuration (this will replace the old `nixos-rebuild`), or by adding `nixos-rebuild-ng` to your `environment.systemPackages` (in this case, it will live side-by-side with `nixos-rebuild` as `nixos-rebuild-ng`). It is expected that the next major version of NixOS (25.11) will enable `system.rebuild.enableNg` by default. +- `nixos-rebuild-ng`, a full rewrite of `nixos-rebuild` in Python, is available for testing. You can enable it by setting {option}`system.rebuild.enableNg` in your configuration (this will replace the old `nixos-rebuild`), or by adding `nixos-rebuild-ng` to your `environment.systemPackages` (in this case, it will live side-by-side with `nixos-rebuild` as `nixos-rebuild-ng`). It is expected that the next major version of NixOS (25.11) will enable `system.rebuild.enableNg` by default. - A `nixos-rebuild build-image` sub-command has been added. It allows users to build platform-specific (disk) images from their NixOS configurations. `nixos-rebuild build-image` works similar to the popular [nix-community/nixos-generators](https://github.com/nix-community/nixos-generators) project. See new [section on image building in the NixOS manual](#sec-image-nixos-rebuild-build-image). It is also available for `nixos-rebuild-ng`. diff --git a/nixos/doc/manual/release-notes/rl-2511.section.md b/nixos/doc/manual/release-notes/rl-2511.section.md index 3042ef3d89ba..4565c264f4c4 100644 --- a/nixos/doc/manual/release-notes/rl-2511.section.md +++ b/nixos/doc/manual/release-notes/rl-2511.section.md @@ -22,7 +22,7 @@ - `networking.firewall` now has a `backend` option for choosing which backend to use. -- `nixos-rebuild-ng`, a full rewrite of `nixos-rebuild` in Python, is enabled by default from this release. You can disable it by setting [](#opt-system.rebuild.enableNg) to `false` in your configuration if you need, but please report any issues. It is expected that the next major version of NixOS (26.05) will remove the {option}`system.rebuild.enableNg` option. +- `nixos-rebuild-ng`, a full rewrite of `nixos-rebuild` in Python, is enabled by default from this release. You can disable it by setting {option}`system.rebuild.enableNg` to `false` in your configuration if you need, but please report any issues. It is expected that the next major version of NixOS (26.05) will remove the {option}`system.rebuild.enableNg` option. - `rEFInd`, a graphical boot manager for UEFI systems, can now be used through [](#opt-boot.loader.refind.enable). From fc36413e41db480fdbe9486ed79ce155c457518c Mon Sep 17 00:00:00 2001 From: Thiago Kenji Okada Date: Mon, 1 Dec 2025 18:54:56 +0000 Subject: [PATCH 13/83] nixos/tests: remove ng variant of nixos-rebuild tests --- nixos/tests/all-tests.nix | 15 +-------------- pkgs/by-name/ni/nixos-rebuild-ng/package.nix | 6 +++--- 2 files changed, 4 insertions(+), 17 deletions(-) diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index e54cceea4f2d..1b47eef9ef3b 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -1081,25 +1081,12 @@ in nixos-generate-config = runTest ./nixos-generate-config.nix; nixos-rebuild-install-bootloader = handleTestOn [ "x86_64-linux" - ] ./nixos-rebuild-install-bootloader.nix { withNg = false; }; - nixos-rebuild-install-bootloader-ng = handleTestOn [ - "x86_64-linux" - ] ./nixos-rebuild-install-bootloader.nix { withNg = true; }; + ] ./nixos-rebuild-install-bootloader.nix { }; nixos-rebuild-specialisations = runTestOn [ "x86_64-linux" ] { imports = [ ./nixos-rebuild-specialisations.nix ]; - _module.args.withNg = false; - }; - nixos-rebuild-specialisations-ng = runTestOn [ "x86_64-linux" ] { - imports = [ ./nixos-rebuild-specialisations.nix ]; - _module.args.withNg = true; }; nixos-rebuild-target-host = runTest { imports = [ ./nixos-rebuild-target-host.nix ]; - _module.args.withNg = false; - }; - nixos-rebuild-target-host-ng = runTest { - imports = [ ./nixos-rebuild-target-host.nix ]; - _module.args.withNg = true; }; nixpkgs = pkgs.callPackage ../modules/misc/nixpkgs/test.nix { inherit evalMinimalConfig; }; nixseparatedebuginfod2 = runTest ./nixseparatedebuginfod2.nix; diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/package.nix b/pkgs/by-name/ni/nixos-rebuild-ng/package.nix index 466b349acb31..b62492b58b66 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/package.nix +++ b/pkgs/by-name/ni/nixos-rebuild-ng/package.nix @@ -96,9 +96,9 @@ python3Packages.buildPythonApplication rec { tests = { inherit (nixosTests) # FIXME: this test is disabled since it times out in @ofborg - # nixos-rebuild-install-bootloader-ng - nixos-rebuild-specialisations-ng - nixos-rebuild-target-host-ng + # nixos-rebuild-install-bootloader + nixos-rebuild-specialisations + nixos-rebuild-target-host ; repl = callPackage ./tests/repl.nix { }; # NOTE: this is a passthru test rather than a build-time test because we From 283a928da1132e123b6b6a5248fa1667f681c7cb Mon Sep 17 00:00:00 2001 From: Thiago Kenji Okada Date: Mon, 1 Dec 2025 19:31:04 +0000 Subject: [PATCH 14/83] nixos/tests: remove password based sudo test in nixos-rebuild-target-host --- nixos/tests/nixos-rebuild-target-host.nix | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/nixos/tests/nixos-rebuild-target-host.nix b/nixos/tests/nixos-rebuild-target-host.nix index 383295cef6b6..3a160677fc52 100644 --- a/nixos/tests/nixos-rebuild-target-host.nix +++ b/nixos/tests/nixos-rebuild-target-host.nix @@ -21,13 +21,11 @@ connect-timeout = 1; }; - environment.systemPackages = [ pkgs.passh ]; - system.includeBuildDependencies = true; virtualisation = { cores = 2; - memorySize = 2048; + memorySize = 3072; }; system.build.privateKey = snakeOilPrivateKey; @@ -149,7 +147,6 @@ deployer.copy_from_host("${configFile "config-1-deployed"}", "/root/configuration-1.nix") deployer.copy_from_host("${configFile "config-2-deployed"}", "/root/configuration-2.nix") - deployer.copy_from_host("${configFile "config-3-deployed"}", "/root/configuration-3.nix") deployer.copy_from_host("${targetNetworkJSON}", "/root/target-network.json") deployer.copy_from_host("${targetConfigJSON}", "/root/target-configuration.json") @@ -167,12 +164,6 @@ target_hostname = deployer.succeed("ssh alice@target cat /etc/hostname").rstrip() assert target_hostname == "config-2-deployed", f"{target_hostname=}" - with subtest("Deploy to bob@target with password based sudo"): - # TODO: investigate why --ask-sudo-password from nixos-rebuild-ng is not working here - deployer.succeed(r'NIX_SSHOPTS=-t passh -c 3 -C -p ${nodes.target.users.users.bob.password} -P "\[sudo\] password" nixos-rebuild switch -I nixos-config=/root/configuration-3.nix --target-host bob@target --sudo &>/dev/console') - target_hostname = deployer.succeed("ssh alice@target cat /etc/hostname").rstrip() - assert target_hostname == "config-3-deployed", f"{target_hostname=}" - with subtest("Deploy works with very long TMPDIR"): tmp_dir = "/var/folder/veryveryveryveryverylongpathnamethatdoesnotworkwithcontrolpath" deployer.succeed(f"mkdir -p {tmp_dir}") From f8ba1757c62df450eacf549740ed8fa5b45de973 Mon Sep 17 00:00:00 2001 From: eymeric Date: Sun, 30 Nov 2025 21:26:38 +0100 Subject: [PATCH 15/83] nixos/cockpit: add plugin system --- nixos/modules/services/monitoring/cockpit.nix | 40 +++++++++-- nixos/tests/cockpit.nix | 69 +++++++++++++++++++ pkgs/by-name/co/cockpit/package.nix | 6 +- 3 files changed, 106 insertions(+), 9 deletions(-) diff --git a/nixos/modules/services/monitoring/cockpit.nix b/nixos/modules/services/monitoring/cockpit.nix index 706574ca8296..8a7192f635eb 100644 --- a/nixos/modules/services/monitoring/cockpit.nix +++ b/nixos/modules/services/monitoring/cockpit.nix @@ -25,11 +25,24 @@ in default = [ "cockpit" ]; }; + plugins = lib.mkOption { + type = types.listOf types.package; + default = [ ]; + description = '' + List of cockpit plugins. + + This add the passthru.cockpitPath of the packages to the systemd cockpit service. + ''; + example = lib.literalExpression '' + [ + pkgs.cockpit-zfs + ] + ''; + }; + allowed-origins = lib.mkOption { type = types.listOf types.str; - default = [ ]; - description = '' List of allowed origins. @@ -71,11 +84,6 @@ in }; config = mkIf cfg.enable { - # expose cockpit-bridge system-wide - environment.systemPackages = [ cfg.package ]; - - # allow cockpit to find its plugins - environment.pathsToLink = [ "/share/cockpit" ]; environment.etc = { # generate cockpit settings @@ -90,6 +98,24 @@ in enable = cfg.showBanner; source = "/run/cockpit/issue"; }; + + # Add plugins in discoverable folder + "cockpit/share/cockpit".source = "${ + pkgs.buildEnv { + name = "cockpit-plugins"; + paths = cfg.plugins ++ [ cfg.package ]; + pathsToLink = [ "/share/cockpit" ]; + } + }/share/cockpit"; + + # Add plugins dependencies + "cockpit/bin".source = "${ + pkgs.buildEnv { + name = "cockpit-path"; + paths = lib.concatMap (p: p.passthru.cockpitPath or [ ]) cfg.plugins; + pathsToLink = [ "/bin" ]; + } + }/bin"; }; security.pam.services.cockpit = { diff --git a/nixos/tests/cockpit.nix b/nixos/tests/cockpit.nix index b05c4b4dc93d..6144450d3469 100644 --- a/nixos/tests/cockpit.nix +++ b/nixos/tests/cockpit.nix @@ -3,6 +3,63 @@ let user = "alice"; # from ./common/user-account.nix password = "foobar"; # from ./common/user-account.nix + + # A minimal Cockpit plugin that runs `hello` and displays the output + # This tests that the cockpitPath mechanism works correctly + helloPlugin = + pkgs.runCommand "cockpit-hello-test" { } '' + mkdir -p $out/share/cockpit/hello-test + + cat > $out/share/cockpit/hello-test/manifest.json << 'EOF' + { + "name": "hello-test", + "menu": { + "index": { + "label": "Hello Test", + "order": 100 + } + } + } + EOF + + cat > $out/share/cockpit/hello-test/index.html << 'EOF' + + + + Hello Test + + + + +

Hello Test Plugin

+
Loading...
+ + + + EOF + + cat > $out/share/cockpit/hello-test/test.js << 'EOF' + (function() { + var output = document.getElementById("output"); + + if (typeof cockpit === "undefined") { + output.innerText = "FAILED: cockpit.js not loaded"; + return; + } + + cockpit.spawn(["hello"], { err: "message" }) + .then(function(data) { + output.innerText = "SUCCESS: " + data; + }) + .catch(function(error) { + output.innerText = "FAILED: " + (error ? error.message : "unknown error"); + }); + })(); + EOF + '' + // { + passthru.cockpitPath = [ pkgs.hello ]; + }; in { name = "cockpit"; @@ -22,6 +79,7 @@ in enable = true; port = 7890; openFirewall = true; + plugins = [ helloPlugin ]; allowed-origins = [ "https://server:${toString config.services.cockpit.port}" ]; @@ -129,6 +187,17 @@ in assert '/nonexistent' not in driver.page_source assert len(driver.find_elements(By.CSS_SELECTOR, '#machine-reconnect')) == 0 + log("Checking plugin path") + driver.get("https://server:7890/hello-test") + sleep(2) + for iframe in driver.find_elements(By.TAG_NAME, "iframe"): + if "hello-test" in (iframe.get_attribute("src") or ""): + driver.switch_to.frame(iframe) + break + text = driver.find_element(By.ID, "output").text + sleep(1) + assert "SUCCESS: Hello, world!" in text, f"Plugin failed: {text}" + driver.close() ''; in diff --git a/pkgs/by-name/co/cockpit/package.nix b/pkgs/by-name/co/cockpit/package.nix index 54dc46b58035..b7e58b076a6e 100644 --- a/pkgs/by-name/co/cockpit/package.nix +++ b/pkgs/by-name/co/cockpit/package.nix @@ -36,6 +36,7 @@ sscg, systemd, udev, + util-linux, xmlto, # Enables lightweight NixOS branding, replacing the default Cockpit icons withBranding ? true, @@ -167,7 +168,7 @@ stdenv.mkDerivation (finalAttrs: { configureFlags = [ "--enable-prefix-only=yes" "--disable-pcp" # TODO: figure out how to package its dependency - "--with-default-session-path=/run/wrappers/bin:/run/current-system/sw/bin" + "--with-default-session-path=${placeholder "out"}/bin:/etc/cockpit/bin:${util-linux}/bin:/run/wrappers/bin:/run/current-system/sw/bin" "--with-admin-group=root" # TODO: really? Maybe "wheel"? ]; @@ -191,7 +192,8 @@ stdenv.mkDerivation (finalAttrs: { for binary in $out/bin/cockpit-bridge $out/libexec/cockpit-askpass; do chmod +x $binary wrapProgram $binary \ - --prefix PYTHONPATH : $out/${python3Packages.python.sitePackages} + --prefix PYTHONPATH : $out/${python3Packages.python.sitePackages} \ + --prefix XDG_DATA_DIRS : /etc/cockpit/share # Cockpit apps will be stored at /etc/cockpit/share/cockpit/ (managed by Cockpit nixos service) done patchShebangs $out/share/cockpit/issue/update-issue From 9dab6bd39bf17f5bf6da142c36ef9df0b10eff7a Mon Sep 17 00:00:00 2001 From: winston Date: Fri, 5 Dec 2025 13:55:41 +0100 Subject: [PATCH 16/83] oscar64: 1.32.265 -> 1.32.266 --- pkgs/by-name/os/oscar64/package.nix | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/pkgs/by-name/os/oscar64/package.nix b/pkgs/by-name/os/oscar64/package.nix index 15eea238d2da..32ac834579a4 100644 --- a/pkgs/by-name/os/oscar64/package.nix +++ b/pkgs/by-name/os/oscar64/package.nix @@ -3,27 +3,18 @@ stdenv, nix-update-script, fetchFromGitHub, - fetchpatch2, }: stdenv.mkDerivation (finalAttrs: { pname = "oscar64"; - version = "1.32.265"; + version = "1.32.266"; src = fetchFromGitHub { owner = "drmortalwombat"; repo = "oscar64"; tag = "v${finalAttrs.version}"; - hash = "sha256-nPwebydRFHoIWp2sbfPaudKj/sPZRKamYdIuSVZ9dcc="; + hash = "sha256-udbVRdGIGv3jgeh1cKp7MhSDxNs56FlqEbpzgfWcieE="; }; - patches = [ - (fetchpatch2 { - name = "fix-make-install.patch"; - url = "https://github.com/drmortalwombat/oscar64/commit/af9e06a467be07422bc87058bebdef79e0a94ea1.patch?full_index=1"; - hash = "sha256-YsbdYi+dwLQSGOT8krJsFqJxS0EpIiQqavQpH0nl7S0="; - }) - ]; - postPatch = '' substituteInPlace ./oscar64.1 \ --replace-fail "/usr/local/bin/oscar64" "$out/bin/oscar64" \ From ffe0a16706fef4b1abc32129dee5610b8132d49a Mon Sep 17 00:00:00 2001 From: Scott Edlund Date: Sat, 6 Dec 2025 13:08:17 +0700 Subject: [PATCH 17/83] rust-parallel: 1.18.1 -> 1.20.0 skipped new test 'test_keep_order_with_sleep', uses FHS /bin/bash - patching would break reproduceable build AFAICT --- pkgs/by-name/ru/rust-parallel/package.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/ru/rust-parallel/package.nix b/pkgs/by-name/ru/rust-parallel/package.nix index 6ec4f01d2e87..7f1e1a5620e4 100644 --- a/pkgs/by-name/ru/rust-parallel/package.nix +++ b/pkgs/by-name/ru/rust-parallel/package.nix @@ -9,24 +9,25 @@ rustPlatform.buildRustPackage rec { pname = "rust-parallel"; - version = "1.18.1"; + version = "1.20.0"; src = fetchFromGitHub { owner = "aaronriekenberg"; repo = "rust-parallel"; rev = "v${version}"; - hash = "sha256-4f/JE8KWYDdLwx+bCSSbz0Cpfy/g3WIaRzqCvUix4t0="; + hash = "sha256-osuuEYOktSMmpKURXvn0rWUeBgFV07aTeM8oxkiCe10="; }; - cargoHash = "sha256-wJtXYx2mncOnnUep4CMFt+1mK1vMyhYFCQM/2B9m6zY="; + cargoHash = "sha256-20Lr7nRhr7Vrkk31iCioxmYpXYOfQFAmPkyHe1Nfijc="; postPatch = '' substituteInPlace tests/dummy_shell.sh \ - --replace "/bin/bash" "${bash}/bin/bash" + --replace-fail "/bin/bash" "${bash}/bin/bash" ''; checkFlags = [ "--skip=runs_echo_commands_dry_run" + "--skip=test_keep_order_with_sleep" "--skip=runs_regex_command_with_dollar_signs" "--skip=runs_regex_from_command_line_args_nomatch_1" From 13899472ac70ca9e40ab77a78969e2da2ec7a3ef Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 12 Nov 2025 00:26:52 +0000 Subject: [PATCH 18/83] scdoc: 1.11.3 -> 1.11.4 --- pkgs/by-name/sc/scdoc/package.nix | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/sc/scdoc/package.nix b/pkgs/by-name/sc/scdoc/package.nix index 9324e1cef34a..9582a863a332 100644 --- a/pkgs/by-name/sc/scdoc/package.nix +++ b/pkgs/by-name/sc/scdoc/package.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "scdoc"; - version = "1.11.3"; + version = "1.11.4"; src = fetchFromSourcehut { owner = "~sircmpwn"; repo = "scdoc"; rev = finalAttrs.version; - hash = "sha256-MbLDhLn/JY6OcdOz9/mIPAQRp5TZ6IKuQ/FQ/R3wjGc="; + hash = "sha256-gldCHzLigeLKDFDcE3TYrNOEWoSt/uYIg9aTg6wwW54="; }; outputs = [ @@ -22,11 +22,6 @@ stdenv.mkDerivation (finalAttrs: { "dev" ]; - postPatch = '' - substituteInPlace Makefile \ - --replace "LDFLAGS+=-static" "LDFLAGS+=" - ''; - makeFlags = [ "PREFIX=${placeholder "out"}" ] From 0024056f2b2a92621d71450f10dfc36bfefb0839 Mon Sep 17 00:00:00 2001 From: Jacek Galowicz Date: Sun, 7 Dec 2025 16:13:42 +0000 Subject: [PATCH 19/83] test driver: normalize callpackage call --- nixos/lib/test-driver/default.nix | 49 ++++++++++++++++++------------- nixos/lib/testing/driver.nix | 2 +- 2 files changed, 30 insertions(+), 21 deletions(-) diff --git a/nixos/lib/test-driver/default.nix b/nixos/lib/test-driver/default.nix index cb3729941d0e..ed8eb2c8c771 100644 --- a/nixos/lib/test-driver/default.nix +++ b/nixos/lib/test-driver/default.nix @@ -1,41 +1,50 @@ { lib, - python3Packages, - enableOCR ? false, - qemu_pkg ? qemu_test, + + buildPythonApplication, + colorama, coreutils, imagemagick_light, - netpbm, - qemu_test, - socat, + ipython, + junit-xml, + mypy, + ptpython, + python, ruff, + remote-pdb, + + netpbm, + nixosTests, + qemu_pkg ? qemu_test, + qemu_test, + setuptools, + socat, tesseract4, vde2, + + enableOCR ? false, extraPythonPackages ? (_: [ ]), - nixosTests, }: -python3Packages.buildPythonApplication { +buildPythonApplication { pname = "nixos-test-driver"; version = "1.1"; pyproject = true; src = ./src; - build-system = with python3Packages; [ + build-system = [ setuptools ]; - dependencies = - with python3Packages; - [ - colorama - junit-xml - ptpython - ipython - remote-pdb - ] - ++ extraPythonPackages python3Packages; + dependencies = [ + colorama + ipython + junit-xml + ptpython + remote-pdb + ] + ++ extraPythonPackages python.pkgs; propagatedBuildInputs = [ coreutils @@ -55,7 +64,7 @@ python3Packages.buildPythonApplication { doCheck = true; - nativeCheckInputs = with python3Packages; [ + nativeCheckInputs = [ mypy ruff ]; diff --git a/nixos/lib/testing/driver.nix b/nixos/lib/testing/driver.nix index 9eb7f8b7e3e8..fa2ac2c6eef3 100644 --- a/nixos/lib/testing/driver.nix +++ b/nixos/lib/testing/driver.nix @@ -9,7 +9,7 @@ let # Reifies and correctly wraps the python test driver for # the respective qemu version and with or without ocr support - testDriver = hostPkgs.callPackage ../test-driver { + testDriver = hostPkgs.python3Packages.callPackage ../test-driver { inherit (config) enableOCR extraPythonPackages; qemu_pkg = config.qemu.package; imagemagick_light = hostPkgs.imagemagick_light.override { inherit (hostPkgs) libtiff; }; From e24a734076ea21365bb618d63f5c9a70006dd196 Mon Sep 17 00:00:00 2001 From: ZHAO Jin-Xiang Date: Sun, 23 Nov 2025 17:01:37 +0800 Subject: [PATCH 20/83] vscode-utils: add unpackVsixSetupHook --- .../default.nix | 9 +-------- .../editors/vscode/extensions/default.nix | 15 ++------------- .../vscode/extensions/eamodio.gitlens/default.nix | 2 +- .../extensions/kilocode.kilo-code/default.nix | 8 -------- .../vscode/extensions/mktplcExtRefToFetchArgs.nix | 6 +++--- .../myriad-dreamin.tinymist/default.nix | 4 ++-- .../rooveterinaryinc.roo-cline/default.nix | 2 +- .../rust-lang.rust-analyzer/default.nix | 6 +++--- .../vscode/extensions/unpack-vsix-setup-hook.sh | 11 +++++++++++ .../vscode-icons-team.vscode-icons/default.nix | 2 +- .../editors/vscode/extensions/vscode-utils.nix | 10 +++++++++- 11 files changed, 34 insertions(+), 41 deletions(-) create mode 100644 pkgs/applications/editors/vscode/extensions/unpack-vsix-setup-hook.sh diff --git a/pkgs/applications/editors/vscode/extensions/Google.gemini-cli-vscode-ide-companion/default.nix b/pkgs/applications/editors/vscode/extensions/Google.gemini-cli-vscode-ide-companion/default.nix index cc8fbb270ddd..2c9be2011e26 100644 --- a/pkgs/applications/editors/vscode/extensions/Google.gemini-cli-vscode-ide-companion/default.nix +++ b/pkgs/applications/editors/vscode/extensions/Google.gemini-cli-vscode-ide-companion/default.nix @@ -13,6 +13,7 @@ vscode-utils.buildVscodeExtension (finalAttrs: { src = gemini-cli.overrideAttrs (oldAttrs: { pname = "gemini-cli-vscode-ide-companion-vsix"; + name = "${finalAttrs.pname}-${finalAttrs.version}.vsix"; installPhase = '' runHook preInstall @@ -23,14 +24,6 @@ vscode-utils.buildVscodeExtension (finalAttrs: { ''; }); - unpackPhase = '' - runHook preUnpack - - unzip $src - - runHook postUnpack - ''; - meta = { description = "Enable Gemini CLI with direct access to your IDE workspace"; homepage = "https://github.com/google-gemini/gemini-cli"; diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix index 94c5364d113e..ad1d96ec7625 100644 --- a/pkgs/applications/editors/vscode/extensions/default.nix +++ b/pkgs/applications/editors/vscode/extensions/default.nix @@ -2302,18 +2302,6 @@ let }; }; - influxdata.flux = buildVscodeMarketplaceExtension { - mktplcRef = { - publisher = "influxdata"; - name = "flux"; - version = "1.0.5"; - hash = "sha256-KIKROyfkosBS1Resgl+s3VENVg4ibaeIgKjermXESoA="; - }; - meta = { - license = lib.licenses.mit; - }; - }; - intellsmi.comment-translate = buildVscodeMarketplaceExtension { mktplcRef = { publisher = "intellsmi"; @@ -4913,7 +4901,7 @@ let }; vsix = fetchurl { - name = "${mktplcRef.publisher}-${mktplcRef.name}.zip"; + name = "${mktplcRef.publisher}-${mktplcRef.name}.vsix"; url = "https://github.com/valentjn/vscode-ltex/releases/download/${mktplcRef.version}/vscode-ltex-${mktplcRef.version}-offline-linux-x64.vsix"; sha256 = "1nlrijjwc35n1xgb5lgnr4yvlgfcxd0vdj93ip8lv2xi8x1ni5f6"; }; @@ -5545,6 +5533,7 @@ let dendron.dendron-markdown-preview-enhanced = throw "dendron.dendron-markdown-preview-enhanced has been removed from the VSCode marketplace."; # Added 2025-08-21 equinusocio.vsc-material-theme = throw "'equinusocio.vsc-material-theme' has been removed due to security concerns. The extension contained potentially malicious code and was taken down."; # Added 2025-02-28 equinusocio.vsc-material-theme-icons = throw "'equinusocio.vsc-material-theme-icons' has been removed due to security concerns. The extension contained potentially malicious code and was taken down."; # Added 2025-02-28 + influxdata.flux = throw "'influxdata.flux' has been removed due to being unmaintained upstream"; # Added 2025-12-09 jakebecker.elixir-ls = throw "jakebecker.elixir-ls is deprecated in favor of elixir-lsp.vscode-elixir-ls"; # Added 2024-05-29 jpoissonnier.vscode-styled-components = throw "jpoissonnier.vscode-styled-components is deprecated in favor of styled-components.vscode-styled-components"; # Added 2024-05-29 matklad.rust-analyzer = throw "matklad.rust-analyzer is deprecated in favor of rust-lang.rust-analyzer"; # Added 2024-05-29 diff --git a/pkgs/applications/editors/vscode/extensions/eamodio.gitlens/default.nix b/pkgs/applications/editors/vscode/extensions/eamodio.gitlens/default.nix index f442f4e034fb..58b4d0d6b75e 100644 --- a/pkgs/applications/editors/vscode/extensions/eamodio.gitlens/default.nix +++ b/pkgs/applications/editors/vscode/extensions/eamodio.gitlens/default.nix @@ -11,7 +11,7 @@ let vsix = stdenv.mkDerivation (finalAttrs: { - name = "gitlens-${finalAttrs.version}.zip"; + name = "gitlens-${finalAttrs.version}.vsix"; pname = "gitlens-vsix"; version = "17.7.1"; diff --git a/pkgs/applications/editors/vscode/extensions/kilocode.kilo-code/default.nix b/pkgs/applications/editors/vscode/extensions/kilocode.kilo-code/default.nix index 6d9b8bd185fd..5d5be77b0683 100644 --- a/pkgs/applications/editors/vscode/extensions/kilocode.kilo-code/default.nix +++ b/pkgs/applications/editors/vscode/extensions/kilocode.kilo-code/default.nix @@ -60,14 +60,6 @@ vscode-utils.buildVscodeExtension (finalAttrs: { src = vsix; - unpackPhase = '' - runHook preUnpack - - unzip $src - - runHook postUnpack - ''; - passthru = { vsix = finalAttrs.src; updateScript = nix-update-script { diff --git a/pkgs/applications/editors/vscode/extensions/mktplcExtRefToFetchArgs.nix b/pkgs/applications/editors/vscode/extensions/mktplcExtRefToFetchArgs.nix index 4f947a493542..20f21cf9e2e0 100644 --- a/pkgs/applications/editors/vscode/extensions/mktplcExtRefToFetchArgs.nix +++ b/pkgs/applications/editors/vscode/extensions/mktplcExtRefToFetchArgs.nix @@ -12,7 +12,7 @@ in { url = "https://${publisher}.gallery.vsassets.io/_apis/public/gallery/publisher/${publisher}/extension/${name}/${version}/assetbyname/Microsoft.VisualStudio.Services.VSIXPackage${archurl}"; inherit sha256 hash; - # The `*.vsix` file is in the end a simple zip file. Change the extension - # so that existing `unzip` hooks takes care of the unpacking. - name = "${publisher}-${name}.zip"; + # The `*.vsix` file is in the end a simple zip file. Force it using .vsix extension + # so that existing `unpackVsixSetupHook` hooks takes care of the unpacking. + name = "${publisher}-${name}.vsix"; } diff --git a/pkgs/applications/editors/vscode/extensions/myriad-dreamin.tinymist/default.nix b/pkgs/applications/editors/vscode/extensions/myriad-dreamin.tinymist/default.nix index 9da4e7c000ae..d1d34b3b2b8c 100644 --- a/pkgs/applications/editors/vscode/extensions/myriad-dreamin.tinymist/default.nix +++ b/pkgs/applications/editors/vscode/extensions/myriad-dreamin.tinymist/default.nix @@ -10,8 +10,8 @@ vscode-utils.buildVscodeMarketplaceExtension { mktplcRef = { name = "tinymist"; publisher = "myriad-dreamin"; - inherit (tinymist) version; - hash = "sha256-7BHkRM9HcD5VDMCcAh2GFvGz+OSb7l/Ki3+V3v/RYSo="; + version = "0.14.4"; + hash = "sha256-Y8yIAIT0TrrM8ZQSZl4QnVG6uE0F+AwWFvmhLe0ZPto="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/editors/vscode/extensions/rooveterinaryinc.roo-cline/default.nix b/pkgs/applications/editors/vscode/extensions/rooveterinaryinc.roo-cline/default.nix index 2dfc0bcd53ca..411e2563a079 100644 --- a/pkgs/applications/editors/vscode/extensions/rooveterinaryinc.roo-cline/default.nix +++ b/pkgs/applications/editors/vscode/extensions/rooveterinaryinc.roo-cline/default.nix @@ -10,7 +10,7 @@ let vsix = stdenvNoCC.mkDerivation (finalAttrs: { - name = "roo-code-${finalAttrs.version}.zip"; + name = "roo-code-${finalAttrs.version}.vsix"; pname = "roo-code-vsix"; version = "3.36.2"; diff --git a/pkgs/applications/editors/vscode/extensions/rust-lang.rust-analyzer/default.nix b/pkgs/applications/editors/vscode/extensions/rust-lang.rust-analyzer/default.nix index 3de3817de808..a8b771567541 100644 --- a/pkgs/applications/editors/vscode/extensions/rust-lang.rust-analyzer/default.nix +++ b/pkgs/applications/editors/vscode/extensions/rust-lang.rust-analyzer/default.nix @@ -32,6 +32,7 @@ let vsix = buildNpmPackage { inherit pname releaseTag; + name = "${pname}-${version}.vsix"; version = lib.trim (lib.readFile ./version.txt); src = "${src}/editors/code"; npmDepsHash = "sha256-fV4Z3jj+v56A7wbIEYhVAPVuAMqMds5xSe3OetWAsbw="; @@ -57,15 +58,14 @@ let walk(del(.["$generated-start"]?) | del(.["$generated-end"]?)) ' package.json | sponge package.json - mkdir -p $out - npx vsce package -o $out/${pname}.zip + npm exec --package=@vscode/vsce -- vsce package --out $out ''; }; in vscode-utils.buildVscodeExtension { inherit version vsix pname; - src = "${vsix}/${pname}.zip"; + src = vsix; vscodeExtUniqueId = "${publisher}.${pname}"; vscodeExtPublisher = publisher; vscodeExtName = pname; diff --git a/pkgs/applications/editors/vscode/extensions/unpack-vsix-setup-hook.sh b/pkgs/applications/editors/vscode/extensions/unpack-vsix-setup-hook.sh new file mode 100644 index 000000000000..168972726f91 --- /dev/null +++ b/pkgs/applications/editors/vscode/extensions/unpack-vsix-setup-hook.sh @@ -0,0 +1,11 @@ +unpackCmdHooks+=(_tryUnpackVsix) +_tryUnpackVsix() { + if ! [[ "$curSrc" =~ \.vsix$ ]]; then return 1; fi + + # UTF-8 locale is needed for unzip on glibc to handle UTF-8 symbols: + # https://github.com/NixOS/nixpkgs/issues/176225#issuecomment-1146617263 + # Otherwise unzip unpacks escaped file names as if '-U' options was in effect. + # + # Pick en_US.UTF-8 as most possible to be present on glibc, musl and darwin. + LANG=en_US.UTF-8 @unzip@ -qq "$curSrc" +} diff --git a/pkgs/applications/editors/vscode/extensions/vscode-icons-team.vscode-icons/default.nix b/pkgs/applications/editors/vscode/extensions/vscode-icons-team.vscode-icons/default.nix index 698c58cfc28d..d5ff476819f0 100644 --- a/pkgs/applications/editors/vscode/extensions/vscode-icons-team.vscode-icons/default.nix +++ b/pkgs/applications/editors/vscode/extensions/vscode-icons-team.vscode-icons/default.nix @@ -12,7 +12,7 @@ let vsix = stdenvNoCC.mkDerivation (finalAttrs: { - name = "vscode-icons-${finalAttrs.version}.zip"; + name = "vscode-icons-${finalAttrs.version}.vsix"; pname = "vscode-icons-vsix"; version = "12.15.0"; diff --git a/pkgs/applications/editors/vscode/extensions/vscode-utils.nix b/pkgs/applications/editors/vscode/extensions/vscode-utils.nix index 4719b4ab97dc..3805fd0af1c6 100644 --- a/pkgs/applications/editors/vscode/extensions/vscode-utils.nix +++ b/pkgs/applications/editors/vscode/extensions/vscode-utils.nix @@ -6,10 +6,18 @@ fetchurl, vscode, unzip, + makeSetupHook, + writeScript, jq, vscode-extension-update-script, }: let + unpackVsixSetupHook = makeSetupHook { + name = "unpack-vsix-setup-hook"; + substitutions = { + unzip = "${unzip}/bin/unzip"; + }; + } ./unpack-vsix-setup-hook.sh; buildVscodeExtension = lib.extendMkDerivation { constructDrv = stdenv.mkDerivation; excludeDrvArgNames = [ @@ -63,7 +71,7 @@ let # This cannot be removed, it is used by some extensions. installPrefix = "share/vscode/extensions/${vscodeExtUniqueId}"; - nativeBuildInputs = [ unzip ] ++ nativeBuildInputs; + nativeBuildInputs = [ unpackVsixSetupHook ] ++ nativeBuildInputs; installPhase = args.installPhase or '' From b66a6d3f75315d2b5aadefa5d23a66408039559b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 9 Dec 2025 19:52:46 +0000 Subject: [PATCH 21/83] kubectl-cnpg: 1.27.1 -> 1.28.0 --- pkgs/by-name/ku/kubectl-cnpg/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ku/kubectl-cnpg/package.nix b/pkgs/by-name/ku/kubectl-cnpg/package.nix index df1cd3d29cfd..6a0888a86628 100644 --- a/pkgs/by-name/ku/kubectl-cnpg/package.nix +++ b/pkgs/by-name/ku/kubectl-cnpg/package.nix @@ -6,16 +6,16 @@ buildGoModule rec { pname = "kubectl-cnpg"; - version = "1.27.1"; + version = "1.28.0"; src = fetchFromGitHub { owner = "cloudnative-pg"; repo = "cloudnative-pg"; rev = "v${version}"; - hash = "sha256-iEia3g3nxnVm4q5lpV9SFOSKgHJsZ7jdqE73vA2bPpI="; + hash = "sha256-uIIy4zSf6ply859aHVvlujqBWpN18FLZh+Vye3fbSoY="; }; - vendorHash = "sha256-nbUaSTmhAViwkguMsgIp3lh2JVe7ZTwBTM7oE1aIulk="; + vendorHash = "sha256-Hl7cYZbs+rDS2+1ojgCUhLfBVGQ+ZhAApRczkUYOwVY="; subPackages = [ "cmd/kubectl-cnpg" ]; From 35f532c9d797a1310e87e9e606602b64527bb5e4 Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Wed, 10 Dec 2025 07:43:58 +1000 Subject: [PATCH 22/83] opentofu: 1.10.8 -> 1.11.1 Diff: https://github.com/opentofu/opentofu/compare/v1.10.8...v1.11.1 Changelog: https://github.com/opentofu/opentofu/blob/v1.11.0/CHANGELOG.md https://github.com/opentofu/opentofu/blob/v1.11.1/CHANGELOG.md --- pkgs/by-name/op/opentofu/package.nix | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/pkgs/by-name/op/opentofu/package.nix b/pkgs/by-name/op/opentofu/package.nix index 09e02154c2a8..963dedf12b48 100644 --- a/pkgs/by-name/op/opentofu/package.nix +++ b/pkgs/by-name/op/opentofu/package.nix @@ -4,9 +4,10 @@ buildGoModule, fetchFromGitHub, makeWrapper, - coreutils, runCommand, runtimeShell, + versionCheckHook, + writableTmpDirAsHomeHook, writeText, terraform-providers, installShellFiles, @@ -15,16 +16,16 @@ let package = buildGoModule rec { pname = "opentofu"; - version = "1.10.8"; + version = "1.11.1"; src = fetchFromGitHub { owner = "opentofu"; repo = "opentofu"; tag = "v${version}"; - hash = "sha256-3Sl34tPRA2BF59bouPkuS/CiYcZfRivD+PozTT+srT0="; + hash = "sha256-2mtSRszdHeHDKpIu+w/Y/P8NfoSPzPBkgQ9YgKSwrls="; }; - vendorHash = "sha256-rOSl5WE1/WcgCVpcAOXVl8cBSxjrlG7fxzpRO/5i5GA="; + vendorHash = "sha256-aPBP7mZ4NuPAYAOW20cQ6bWQUqk9mfiaeFUS/RQyW4I="; ldflags = [ "-s" "-w" @@ -32,10 +33,8 @@ let "github.com/opentofu/opentofu/version.dev=no" ]; - postConfigure = '' - # speakeasy hardcodes /bin/stty https://github.com/bgentry/speakeasy/issues/22 - substituteInPlace vendor/github.com/bgentry/speakeasy/speakeasy_unix.go \ - --replace-fail "/bin/stty" "${coreutils}/bin/stty" + postPatch = '' + substituteInPlace go.mod --replace-fail 'go 1.25.5' 'go 1.25.4' ''; nativeBuildInputs = [ installShellFiles ]; @@ -53,8 +52,17 @@ let installShellCompletion --bash --name tofu <(echo complete -C tofu tofu) ''; + __darwinAllowLocalNetworking = true; + + nativeCheckInputs = [ + writableTmpDirAsHomeHook + versionCheckHook + ]; + + doInstallCheck = true; + versionCheckProgramArg = "version"; + preCheck = '' - export HOME=$TMPDIR export TF_SKIP_REMOTE_TESTS=1 ''; From 9af5f6a983596ac914cda6135af21b06203f7f4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Thu, 11 Dec 2025 02:16:01 +0100 Subject: [PATCH 23/83] rclone: 1.72.0 -> 1.72.1 Diff: https://github.com/rclone/rclone/compare/v1.72.0...v1.72.1 Changelog: https://github.com/rclone/rclone/blob/v1.72.1/docs/content/changelog.md --- pkgs/by-name/rc/rclone/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/rc/rclone/package.nix b/pkgs/by-name/rc/rclone/package.nix index e3e5bd72d8dd..4935381b05a7 100644 --- a/pkgs/by-name/rc/rclone/package.nix +++ b/pkgs/by-name/rc/rclone/package.nix @@ -17,7 +17,7 @@ buildGoModule rec { pname = "rclone"; - version = "1.72.0"; + version = "1.72.1"; outputs = [ "out" @@ -28,7 +28,7 @@ buildGoModule rec { owner = "rclone"; repo = "rclone"; tag = "v${version}"; - hash = "sha256-zZFjGkxQLkYNYpSRrVVsLFK6CvpVSJEvLn6FDdufxqA="; + hash = "sha256-CyMGcyFkYbKYvv2pc2M1K6ikAI0tPO/Tc1DEf0O/Fsw="; }; vendorHash = "sha256-tNeL43WGWeX88vXJwQzxubUPIyejl3PPHXLc8oNeno4="; From 5af41627f49677ff6ade5a584b618a9de34fcec7 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 11 Dec 2025 02:20:52 +0000 Subject: [PATCH 24/83] sonata: 1.7.2 -> 1.7.3 --- pkgs/by-name/so/sonata/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/so/sonata/package.nix b/pkgs/by-name/so/sonata/package.nix index d18083ae3495..accbc3cc4b31 100644 --- a/pkgs/by-name/so/sonata/package.nix +++ b/pkgs/by-name/so/sonata/package.nix @@ -23,14 +23,14 @@ let in buildPythonApplication rec { pname = "sonata"; - version = "1.7.2"; + version = "1.7.3"; pyproject = true; src = fetchFromGitHub { owner = "multani"; repo = "sonata"; tag = "v${version}"; - hash = "sha256-B/2wLNbeVJJA/rMc6ZcLqH4SqyW5NzomrVPctIWGaIY="; + hash = "sha256-eyB+DHcAg1nYjE415VjpPnqZC9embYRhnwXhN2ZVN0o="; }; nativeBuildInputs = [ From 5debb8ffe06703a6cc9406fa2d793c1ed4d9e5d2 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 11 Dec 2025 06:22:08 +0000 Subject: [PATCH 25/83] python3Packages.aioesphomeapi: 42.10.0 -> 43.2.1 --- pkgs/development/python-modules/aioesphomeapi/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/aioesphomeapi/default.nix b/pkgs/development/python-modules/aioesphomeapi/default.nix index d4fd02017e31..ad25c0f35d81 100644 --- a/pkgs/development/python-modules/aioesphomeapi/default.nix +++ b/pkgs/development/python-modules/aioesphomeapi/default.nix @@ -26,14 +26,14 @@ buildPythonPackage rec { pname = "aioesphomeapi"; - version = "42.10.0"; + version = "43.2.1"; pyproject = true; src = fetchFromGitHub { owner = "esphome"; repo = "aioesphomeapi"; tag = "v${version}"; - hash = "sha256-My61UXXOe7YNuq7eBltXqXmX6OqnDWUk7HJofAgR2I8="; + hash = "sha256-OUmnamtVCMobTI99aRr81MECG51JHfzQ9bZs0C1Mmcw="; }; build-system = [ From a2fb4850db78988826114acb39fe9c9a139f4849 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 10 Dec 2025 22:57:01 -0800 Subject: [PATCH 26/83] python3Packages.py-dactyl: 2.0.7 -> 2.1.0 Diff: https://github.com/iamkubi/pydactyl/compare/v2.0.7...v2.1.0 Changelog: https://github.com/iamkubi/pydactyl/releases/tag/v2.1.0 --- pkgs/development/python-modules/py-dactyl/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/py-dactyl/default.nix b/pkgs/development/python-modules/py-dactyl/default.nix index c5b669024b07..bab4f248a9e5 100644 --- a/pkgs/development/python-modules/py-dactyl/default.nix +++ b/pkgs/development/python-modules/py-dactyl/default.nix @@ -1,4 +1,5 @@ { + aiohttp, buildPythonPackage, fetchFromGitHub, lib, @@ -9,19 +10,20 @@ buildPythonPackage rec { pname = "py-dactyl"; - version = "2.0.7"; + version = "2.1.0"; pyproject = true; src = fetchFromGitHub { owner = "iamkubi"; repo = "pydactyl"; tag = "v${version}"; - hash = "sha256-4WzQQs4WP5AwO8idZsP6J71CwnoD1ilC5Tpcepnf26c="; + hash = "sha256-1bvdJ9ATF0cRy7WE8H2IV2WIMbiSnRnelGpWIN7VBRQ="; }; build-system = [ setuptools ]; dependencies = [ + aiohttp requests ]; From 86bac5c9b6bde4a688fc3a59326317e83e05f365 Mon Sep 17 00:00:00 2001 From: Florian Brandes Date: Wed, 10 Dec 2025 18:34:52 +0100 Subject: [PATCH 27/83] python3Packages.flask-admin: 1.6.1 -> 2.0.2 Signed-off-by: Florian Brandes --- .../python-modules/flask-admin/default.nix | 166 ++++++++++++------ 1 file changed, 113 insertions(+), 53 deletions(-) diff --git a/pkgs/development/python-modules/flask-admin/default.nix b/pkgs/development/python-modules/flask-admin/default.nix index 567b9749db0c..ba4da57f2436 100644 --- a/pkgs/development/python-modules/flask-admin/default.nix +++ b/pkgs/development/python-modules/flask-admin/default.nix @@ -1,100 +1,160 @@ { - lib, - azure-storage-blob, buildPythonPackage, - fetchpatch, fetchFromGitHub, - flask, - flask-mongoengine, - flask-sqlalchemy, - geoalchemy2, - mongoengine, - pillow, - psycopg2, - pymongo, - pytestCheckHook, + flit-core, + lib, pythonOlder, - setuptools, - shapely, - sqlalchemy, - wtf-peewee, + # dependencies + flask, + jinja2, + markupsafe, + werkzeug, wtforms, + typing-extensions, + # optional dependencies + # sqlalchemy + flask-sqlalchemy, + sqlalchemy, + # sqlalchemy-with-utils + arrow, + colour, + email-validator, + sqlalchemy-citext, + sqlalchemy-utils, + # geoalchemy + geoalchemy2, + shapely, + # pymongo + pymongo, + # mongoengine + mongoengine, + # peewee + peewee, + wtf-peewee, + # s3 + boto3, + # azure-blob-storage + azure-storage-blob, + # images + pillow, + # export + tablib, + # rediscli + redis, + # translation + flask-babel, + # checks + beautifulsoup4, + moto, + psycopg2, + pytestCheckHook, }: buildPythonPackage rec { pname = "flask-admin"; - version = "1.6.1"; + version = "2.0.2"; pyproject = true; - disabled = pythonOlder "3.8"; + disabled = pythonOlder "3.10"; src = fetchFromGitHub { owner = "flask-admin"; repo = "flask-admin"; tag = "v${version}"; - hash = "sha256-L8Q9uPpoen6ZvuF2bithCMSgc6X5khD1EqH2FJPspZc="; + hash = "sha256-HjK+ddMtT8QJ/KSFj9v28jflf2f6M+Gx1rJjCdWUUFM="; }; - patches = [ - # https://github.com/flask-admin/flask-admin/pull/2374 - (fetchpatch { - name = "pillow-10-compatibility.patch"; - url = "https://github.com/flask-admin/flask-admin/commit/96b92deef8b087e86a9dc3e84381d254ea5c0342.patch"; - hash = "sha256-iR5kxyeZaEyved5InZuPmcglTD77zW18/eSHGwOuW40="; - }) - ]; - - build-system = [ setuptools ]; + build-system = [ flit-core ]; dependencies = [ flask + jinja2 + markupsafe + werkzeug wtforms + ] + ++ lib.optionals (pythonOlder "3.11") [ + typing-extensions ]; optional-dependencies = { - azure = [ azure-storage-blob ]; + sqlalchemy = [ + flask-sqlalchemy + sqlalchemy + ]; + sqlalchemy-with-utils = optional-dependencies.sqlalchemy ++ [ + arrow + colour + email-validator + sqlalchemy-citext + sqlalchemy-utils + ]; + geoalchemy = optional-dependencies.sqlalchemy ++ [ + geoalchemy2 + shapely + ]; + pymongo = [ pymongo ]; + mongoengine = [ mongoengine ]; + peewee = [ + peewee + wtf-peewee + ]; + s3 = [ boto3 ]; + azure-blob-storage = [ azure-storage-blob ]; + images = [ pillow ]; + export = [ tablib ]; + rediscli = [ redis ]; + translation = [ flask-babel ]; + all = lib.flatten [ + optional-dependencies.sqlalchemy + optional-dependencies.sqlalchemy-with-utils + optional-dependencies.geoalchemy + optional-dependencies.pymongo + optional-dependencies.mongoengine + optional-dependencies.peewee + optional-dependencies.s3 + optional-dependencies.azure-blob-storage + optional-dependencies.images + optional-dependencies.export + optional-dependencies.rediscli + optional-dependencies.translation + ]; }; nativeCheckInputs = [ - pillow - mongoengine - pymongo - wtf-peewee - sqlalchemy - flask-mongoengine - flask-sqlalchemy - # flask-babelex # broken and removed - shapely - geoalchemy2 + beautifulsoup4 + moto psycopg2 pytestCheckHook + ] + ++ lib.flatten [ + optional-dependencies.sqlalchemy-with-utils + optional-dependencies.mongoengine + optional-dependencies.peewee + optional-dependencies.images + optional-dependencies.export + optional-dependencies.translation + flask.optional-dependencies.async ]; disabledTestPaths = [ - # depends on flask-babelex - "flask_admin/tests/sqla/test_basic.py" - "flask_admin/tests/sqla/test_form_rules.py" - "flask_admin/tests/sqla/test_multi_pk.py" - "flask_admin/tests/sqla/test_postgres.py" - "flask_admin/tests/sqla/test_translation.py" - # broken - "flask_admin/tests/sqla/test_inlineform.py" - "flask_admin/tests/test_model.py" - "flask_admin/tests/fileadmin/test_fileadmin.py" # requires database "flask_admin/tests/geoa/test_basic.py" "flask_admin/tests/pymongo/test_basic.py" "flask_admin/tests/mongoengine/test_basic.py" "flask_admin/tests/peeweemodel/test_basic.py" + "flask_admin/tests/sqla/test_postgres.py" + # requires internet + "flask_admin/tests/fileadmin/test_fileadmin_azure.py" ]; pythonImportsCheck = [ "flask_admin" ]; - meta = with lib; { + meta = { description = "Admin interface framework for Flask"; homepage = "https://github.com/flask-admin/flask-admin/"; changelog = "https://github.com/flask-admin/flask-admin/releases/tag/v${version}"; - license = licenses.bsd3; - maintainers = with maintainers; [ nickcao ]; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ nickcao ]; }; } From 781fd62ab1d1f2ba403f9e169a110a9a1febab34 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 11 Dec 2025 10:26:35 +0000 Subject: [PATCH 28/83] dns-collector: 1.13.0 -> 1.14.0 --- pkgs/by-name/dn/dns-collector/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/dn/dns-collector/package.nix b/pkgs/by-name/dn/dns-collector/package.nix index c4ed708a75ed..c950ce128690 100644 --- a/pkgs/by-name/dn/dns-collector/package.nix +++ b/pkgs/by-name/dn/dns-collector/package.nix @@ -7,13 +7,13 @@ }: buildGoModule (finalAttrs: { pname = "dns-collector"; - version = "1.13.0"; + version = "1.14.0"; src = fetchFromGitHub { owner = "dmachard"; repo = "dns-collector"; tag = "v${finalAttrs.version}"; - hash = "sha256-oip7rMCcWppUwCPy6VG/kJsNWf1EZZmf0iTj8FSvHeE="; + hash = "sha256-J6h/td5vCZwVruamZziIxRhAOdLdlv3Aupz9m0bExU4="; }; subPackages = [ "." ]; @@ -27,7 +27,7 @@ buildGoModule (finalAttrs: { "-X github.com/prometheus/common/version.Version=${finalAttrs.version}" ]; - vendorHash = "sha256-1gFsLsPrsJhZ6V3/H22ZjIHrG1hTsRCj/Ur3gC01NSE="; + vendorHash = "sha256-BQLlEY9CJDwJRbzB5kflBwwxcWMLbaqgWUtz2p3CJsE="; passthru.updateScript = nix-update-script { }; From 6e43ebc132cd9388397ae8b2549c317ceb047476 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 11 Dec 2025 11:19:41 +0000 Subject: [PATCH 29/83] vscode-extensions.ms-vscode-remote.remote-containers: 0.431.1 -> 0.434.0 --- pkgs/applications/editors/vscode/extensions/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix index ee28ad0c4c01..541e545c4378 100644 --- a/pkgs/applications/editors/vscode/extensions/default.nix +++ b/pkgs/applications/editors/vscode/extensions/default.nix @@ -3415,8 +3415,8 @@ let mktplcRef = { name = "remote-containers"; publisher = "ms-vscode-remote"; - version = "0.431.1"; - hash = "sha256-4y3KvekPKwJl1h19bIzDHT+dB9++ewVaQQkTyYSoe68="; + version = "0.434.0"; + hash = "sha256-XhD/5+YcYPD1b2lMsTfIVIU8wbCWrgP+2dgrt7mDV/I="; }; meta = { description = "Open any folder or repository inside a Docker container"; From 0892b64ec1dd9151c6bebb5ee25823f416d54dba Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 11 Dec 2025 17:03:27 +0000 Subject: [PATCH 30/83] python3Packages.hcloud: 2.11.1 -> 2.12.0 --- pkgs/development/python-modules/hcloud/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/hcloud/default.nix b/pkgs/development/python-modules/hcloud/default.nix index da79f5871b8b..eb305ff79585 100644 --- a/pkgs/development/python-modules/hcloud/default.nix +++ b/pkgs/development/python-modules/hcloud/default.nix @@ -10,12 +10,12 @@ buildPythonPackage rec { pname = "hcloud"; - version = "2.11.1"; + version = "2.12.0"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-8hL+H1PL+J7d2sDnAF7C6wIep4n4K+cJe9dM1wWynys="; + hash = "sha256-8UWxjvxtcP/z1IskTt/eKcD+Pd37utz+cdY/QfUkQfc="; }; build-system = [ setuptools ]; From 783a9ddc9c5a6e1ac6d597769b4e2ed295cc7da9 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 11 Dec 2025 19:42:41 +0000 Subject: [PATCH 31/83] vivictpp: 1.3.1 -> 1.3.2 --- pkgs/by-name/vi/vivictpp/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/vi/vivictpp/package.nix b/pkgs/by-name/vi/vivictpp/package.nix index c363abe2a31d..4526c16e0c61 100644 --- a/pkgs/by-name/vi/vivictpp/package.nix +++ b/pkgs/by-name/vi/vivictpp/package.nix @@ -21,7 +21,7 @@ }: let - version = "1.3.1"; + version = "1.3.2"; withSubprojects = stdenv.mkDerivation { pname = "sources-with-subprojects"; inherit version; @@ -31,7 +31,7 @@ let repo = "vivictpp"; tag = "v${version}"; fetchSubmodules = true; - hash = "sha256-g/M3blW48uwL6v60IU4sRObYvR7Gjjn/X0lYSS86x+0="; + hash = "sha256-s93tqsXiU7NESI594tmHE/2ymaE68lcaGSOM2GDHPLU="; }; nativeBuildInputs = [ @@ -49,7 +49,7 @@ let ''; outputHashMode = "recursive"; - outputHash = "sha256-UbULDurC6qbcjP+fZJgd0nSVsimAyw3sYC08xeXcI14="; + outputHash = "sha256-RQRlH+wByWRfVyVR/kjjUm9/fLXUupd2yRK80FogzRM="; }; in stdenv.mkDerivation { From 6306ff037b1a2ed6bbf1395e84db6cdc3ce5b9fc Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 11 Dec 2025 20:32:17 +0000 Subject: [PATCH 32/83] python3Packages.aiohttp-socks: 0.10.2 -> 0.11.0 --- pkgs/development/python-modules/aiohttp-socks/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/aiohttp-socks/default.nix b/pkgs/development/python-modules/aiohttp-socks/default.nix index 958e24e0a4ae..0ead7a9b0731 100644 --- a/pkgs/development/python-modules/aiohttp-socks/default.nix +++ b/pkgs/development/python-modules/aiohttp-socks/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "aiohttp-socks"; - version = "0.10.2"; + version = "0.11.0"; pyproject = true; disabled = pythonOlder "3.8"; @@ -18,7 +18,7 @@ buildPythonPackage rec { src = fetchPypi { inherit version; pname = "aiohttp_socks"; - hash = "sha256-lC18huLleUGPx6c0YQ3ZfarwBwfHRi9sz2ebIyV2eTA="; + hash = "sha256-Cv5RY4Unx5B35L1uVwUsh8SCQjPW4guwYcU3ZkIbEPA="; }; build-system = [ setuptools ]; From be91b74c827a7bff321456295cd1b5a6516f99a4 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 11 Dec 2025 21:02:37 +0000 Subject: [PATCH 33/83] terragrunt: 0.93.12 -> 0.94.0 --- pkgs/by-name/te/terragrunt/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/te/terragrunt/package.nix b/pkgs/by-name/te/terragrunt/package.nix index 159ae854e740..78b3d4963850 100644 --- a/pkgs/by-name/te/terragrunt/package.nix +++ b/pkgs/by-name/te/terragrunt/package.nix @@ -7,13 +7,13 @@ }: buildGo125Module (finalAttrs: { pname = "terragrunt"; - version = "0.93.12"; + version = "0.94.0"; src = fetchFromGitHub { owner = "gruntwork-io"; repo = "terragrunt"; tag = "v${finalAttrs.version}"; - hash = "sha256-TiSjKr8A5mxUWgVnWjWB2sgPbqSjIJlf8DetYiuw8No="; + hash = "sha256-agc7tciz9ciz2gFjGsmafc46MgenOAQDyByJN9X4Wm4="; }; nativeBuildInputs = [ From 35827e906cac0edcd5d72cf6816627d869ce0985 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 11 Dec 2025 21:16:41 +0000 Subject: [PATCH 34/83] faugus-launcher: 1.11.1 -> 1.11.3 --- pkgs/by-name/fa/faugus-launcher/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/fa/faugus-launcher/package.nix b/pkgs/by-name/fa/faugus-launcher/package.nix index 620dece38da1..ad1c33fb8ac3 100644 --- a/pkgs/by-name/fa/faugus-launcher/package.nix +++ b/pkgs/by-name/fa/faugus-launcher/package.nix @@ -18,14 +18,14 @@ python3Packages.buildPythonApplication rec { pname = "faugus-launcher"; - version = "1.11.1"; + version = "1.11.3"; pyproject = false; src = fetchFromGitHub { owner = "Faugus"; repo = "faugus-launcher"; tag = version; - hash = "sha256-FBsk7JfsXRTNFd6htMCNYFurvQtw42k8OIEj+vRyQqU="; + hash = "sha256-lmQctCjWKBdEtALIdasQ6M3KwB89mmwier8VqecnmzE="; }; nativeBuildInputs = [ From 978ce8665d4720894372290f1be9ad20e5739ac1 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 11 Dec 2025 22:07:32 +0000 Subject: [PATCH 35/83] kubernetes-helmPlugins.helm-schema: 2.3.0 -> 2.3.1 --- .../networking/cluster/helm/plugins/helm-schema.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/cluster/helm/plugins/helm-schema.nix b/pkgs/applications/networking/cluster/helm/plugins/helm-schema.nix index 29bcb9a701a0..34b1775a428f 100644 --- a/pkgs/applications/networking/cluster/helm/plugins/helm-schema.nix +++ b/pkgs/applications/networking/cluster/helm/plugins/helm-schema.nix @@ -8,16 +8,16 @@ buildGoModule (finalAttrs: { pname = "helm-schema"; - version = "2.3.0"; + version = "2.3.1"; src = fetchFromGitHub { owner = "losisin"; repo = "helm-values-schema-json"; tag = "v${finalAttrs.version}"; - hash = "sha256-q5A+tCnuHTtUyejP4flID7XhsoBfWGge2jCgsL0uEOc="; + hash = "sha256-F4tfPZnvvagWEO25JOjtYPYDn+8k6sRH0k1UvHIQRzg="; }; - vendorHash = "sha256-xmj2i1WNI/9ItbxRk8mPIygjq83xuvNu6THyPqZsysY="; + vendorHash = "sha256-2HnbASIZqOPM9WOlZeEQKYbkBHXBjV0JaeKKYAAwQ3w="; ldflags = [ "-s" From 1831cacb2980265bab34112f65f9ead8511d073f Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Thu, 11 Dec 2025 23:48:46 +0000 Subject: [PATCH 36/83] ruff: 0.14.8 -> 0.14.9 Diff: https://github.com/astral-sh/ruff/compare/0.14.8...0.14.9 Changelog: https://github.com/astral-sh/ruff/releases/tag/0.14.9 --- pkgs/by-name/ru/ruff/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ru/ruff/package.nix b/pkgs/by-name/ru/ruff/package.nix index cc2c53592271..17ce5aa19ab4 100644 --- a/pkgs/by-name/ru/ruff/package.nix +++ b/pkgs/by-name/ru/ruff/package.nix @@ -16,18 +16,18 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "ruff"; - version = "0.14.8"; + version = "0.14.9"; src = fetchFromGitHub { owner = "astral-sh"; repo = "ruff"; tag = finalAttrs.version; - hash = "sha256-jL3zQS2F9pxsWolNKgw8Tn53DHragGwonNmNV8t8h80="; + hash = "sha256-2EuI11mdwxKry7d56Ua7ZEU7K0XMgIVHm1zSVoWLkzM="; }; cargoBuildFlags = [ "--package=ruff" ]; - cargoHash = "sha256-GEf/gU2DXz+u7kPHAB1NRqkmn0f7NV3M5U9u17adtkI="; + cargoHash = "sha256-db45h6I5tCcPMbPGa/dV3eJ9CxCwnGShmHdg92AUhv0="; nativeBuildInputs = [ installShellFiles ]; From adcad5356ac83cc51cfe6d30eb509d9b56261028 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 12 Dec 2025 00:20:30 +0000 Subject: [PATCH 37/83] libretro.mame2003-plus: 0-unstable-2025-12-02 -> 0-unstable-2025-12-10 --- .../applications/emulators/libretro/cores/mame2003-plus.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/emulators/libretro/cores/mame2003-plus.nix b/pkgs/applications/emulators/libretro/cores/mame2003-plus.nix index b5fe73e6a070..c256de0cef29 100644 --- a/pkgs/applications/emulators/libretro/cores/mame2003-plus.nix +++ b/pkgs/applications/emulators/libretro/cores/mame2003-plus.nix @@ -5,13 +5,13 @@ }: mkLibretroCore { core = "mame2003-plus"; - version = "0-unstable-2025-12-02"; + version = "0-unstable-2025-12-10"; src = fetchFromGitHub { owner = "libretro"; repo = "mame2003-plus-libretro"; - rev = "e58d3285f4323a19a0f5aea01f4cdf7a934e1155"; - hash = "sha256-3n34FDDQ1CjmZ4V7Vl/JYi/24w9F3z1nLSEuq44KvMg="; + rev = "26cc26baf1357a581581ea5b3b6978391373d0a8"; + hash = "sha256-J+EOHXdkPDYGgXgGJ4y4I6fRIv8lg4SqOCt14X6foTo="; }; makefile = "Makefile"; From 6e2215c671d131deccec278c705e367bf6080607 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 12 Dec 2025 04:25:01 +0000 Subject: [PATCH 38/83] firebase-tools: 14.27.0 -> 15.0.0 --- pkgs/by-name/fi/firebase-tools/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/fi/firebase-tools/package.nix b/pkgs/by-name/fi/firebase-tools/package.nix index 8ffa990e2bc8..c21dcb1cca4d 100644 --- a/pkgs/by-name/fi/firebase-tools/package.nix +++ b/pkgs/by-name/fi/firebase-tools/package.nix @@ -10,16 +10,16 @@ buildNpmPackage rec { pname = "firebase-tools"; - version = "14.27.0"; + version = "15.0.0"; src = fetchFromGitHub { owner = "firebase"; repo = "firebase-tools"; tag = "v${version}"; - hash = "sha256-mkHZtC3W8ueB0cB4fVSAY5DID2QEdv+2ZmkhsVTunEc="; + hash = "sha256-5bxcocw20zzjEh5kGLEUMW/xuAaAvX1goYP5JesFfm0="; }; - npmDepsHash = "sha256-XDaFdYbowygMiM0BX1ggfWt1JXHaLOaZ2Npztip7CAU="; + npmDepsHash = "sha256-a46vqu39pVKpu1kpP7+EiYUg2DK/fHTWTX+qZ1j+744="; # No more package-lock.json in upstream src postPatch = '' From 2c9c392e16231e63cf129941bba35b29e3cf2628 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 12 Dec 2025 07:27:06 +0000 Subject: [PATCH 39/83] copybara: 20251201 -> 20251208 --- pkgs/by-name/co/copybara/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/co/copybara/package.nix b/pkgs/by-name/co/copybara/package.nix index 85cb85f0027c..bc11f8f354da 100644 --- a/pkgs/by-name/co/copybara/package.nix +++ b/pkgs/by-name/co/copybara/package.nix @@ -13,11 +13,11 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "copybara"; - version = "20251201"; + version = "20251208"; src = fetchurl { url = "https://github.com/google/copybara/releases/download/v${finalAttrs.version}/copybara_deploy.jar"; - hash = "sha256-dZXneydnQsjQUmcOpKQiWcQWid7doUrMWE4TRyX2C50="; + hash = "sha256-zTQOjF3ATvbG3zIPyML3FZRqqvWj7gMZimRKu7V7ETE="; }; nativeBuildInputs = [ From 2af4e3982a10602cd0c60836c3f7a9b0f0495689 Mon Sep 17 00:00:00 2001 From: David Wronek Date: Wed, 10 Dec 2025 21:28:36 +0100 Subject: [PATCH 40/83] nixos-rebuild-ng: improve IPv6 support These changes improve support for using an IPv6 address for the target host. This approach is similar to the one found in nix [1]. Previously, nixos-rebuild-ng would pass a host string to `ssh` that cannot be parsed. Since the host string is being treated like a URL, we encode the scope ID symbol (%) as %25. This is required for compatibility with other nix commands (e.g. nix-copy-closure). Example: ``` nixos-rebuild \ --target-host "root@[fe80::9272:6aff:fe15:faf3%25enp4s0]" \ --flake path:/etc/nixos#xiatian -L \ switch ``` [1] https://github.com/NixOS/nix/blob/8b955d8/src/libstore/store-reference.cc#L143-L166 Signed-off-by: David Wronek --- .../src/nixos_rebuild/process.py | 22 +++++++++++++++++-- .../src/tests/test_process.py | 20 +++++++++++++++++ 2 files changed, 40 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/process.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/process.py index 1f57111a72ef..902797189c69 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/process.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/process.py @@ -7,6 +7,7 @@ import shlex import subprocess from collections.abc import Sequence from dataclasses import dataclass +from ipaddress import AddressValueError, IPv6Address from typing import Final, Self, TypedDict, Unpack from . import tmpdir @@ -63,6 +64,23 @@ class Remote: "'--ask-sudo-password' option instead" ) + def ssh_host(self) -> str: + """Fix up host string for SSH. + + It returns an SSH-compatible host string if the host is using an + IPv6 address, otherwise it returns the passed host string unmodified. + """ + try: + host_split = self.host.split("@") + host_fixed = host_split[-1].strip("[]").replace("%25", "%") + IPv6Address(host_fixed) + if len(host_split) > 1: + return host_split[0] + "@" + host_fixed + else: + return host_fixed + except AddressValueError: + return self.host + # Not exhaustive, but we can always extend it later. class RunKwargs(TypedDict, total=False): @@ -112,7 +130,7 @@ def run_wrapper( "ssh", *remote.opts, *SSH_DEFAULT_OPTS, - remote.host, + remote.ssh_host(), "--", # SSH will join the parameters here and pass it to the shell, so we # need to quote it to avoid issues. @@ -187,7 +205,7 @@ def _kill_long_running_ssh_process(args: Args, remote: Remote) -> None: "ssh", *remote.opts, *SSH_DEFAULT_OPTS, - remote.host, + remote.ssh_host(), "--", "pkill", "--signal", diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_process.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_process.py index 84eba633b21b..84b5c084bf38 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_process.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_process.py @@ -140,3 +140,23 @@ def test_remote_from_name(monkeypatch: MonkeyPatch) -> None: opts=["-f", "foo", "-b", "bar", "-t"], sudo_password="password", ) + + +def test_ssh_host() -> None: + remotes = { + "user@[fe80::1%25eth0]": "user@fe80::1%eth0", + "[fe80::c98b%25enp4s0]": "fe80::c98b%enp4s0", + "user@[2001::5fce:a:198]": "user@2001::5fce:a:198", + "[2001::dead:beef]": "2001::dead:beef", + "root@192.168.178.1": "root@192.168.178.1", + "192.168.178.1": "192.168.178.1", + "user@localhost": "user@localhost", + "localhost": "localhost", + "user@example.org": "user@example.org", + "example.org": "example.org", + } + + for host_input, expected in remotes.items(): + remote = m.Remote.from_arg(host_input, None, False) + assert remote is not None + assert remote.ssh_host() == expected From 2fe68fbde5ae4d3c05df43f0de4273a03bfbaa95 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 12 Dec 2025 09:14:17 +0000 Subject: [PATCH 41/83] python3Packages.kernels: 0.11.2 -> 0.11.3 --- pkgs/development/python-modules/kernels/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/kernels/default.nix b/pkgs/development/python-modules/kernels/default.nix index a371684c6321..04ae93b2448a 100644 --- a/pkgs/development/python-modules/kernels/default.nix +++ b/pkgs/development/python-modules/kernels/default.nix @@ -7,14 +7,14 @@ }: buildPythonPackage rec { pname = "kernels"; - version = "0.11.2"; + version = "0.11.3"; pyproject = true; src = fetchFromGitHub { owner = "huggingface"; repo = "kernels"; tag = "v${version}"; - hash = "sha256-fEi7yiLv0a28SefOcF8so9CpNuTinBfrTbEAwwPlKiw="; + hash = "sha256-dU6oSYjFSIkrCo+Zf2B0ILqIVbA6la+bZJ2SrqX0c+U="; }; build-system = [ From c7c7f2de4cce14d7ca1ab6dbc1595940709978dc Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 12 Dec 2025 09:20:06 +0000 Subject: [PATCH 42/83] python3Packages.pyecotrend-ista: 3.4.0 -> 3.5.0 --- pkgs/development/python-modules/pyecotrend-ista/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pyecotrend-ista/default.nix b/pkgs/development/python-modules/pyecotrend-ista/default.nix index 5193e555b812..02db06776127 100644 --- a/pkgs/development/python-modules/pyecotrend-ista/default.nix +++ b/pkgs/development/python-modules/pyecotrend-ista/default.nix @@ -15,7 +15,7 @@ buildPythonPackage rec { pname = "pyecotrend-ista"; - version = "3.4.0"; + version = "3.5.0"; pyproject = true; disabled = pythonOlder "3.11"; @@ -24,7 +24,7 @@ buildPythonPackage rec { owner = "Ludy87"; repo = "pyecotrend-ista"; tag = version; - hash = "sha256-GPbRlvdXLxCNuhuELg2OQT5NB8qX+bcbZSRdQimqGtQ="; + hash = "sha256-O5HU0U19E+cS1/UVYouxbyTBNjenJw9kkH80GCZ04cw="; }; postPatch = '' From 9af7a8f3c33f3c70ecb15c6bdf93a7de121b5e63 Mon Sep 17 00:00:00 2001 From: liberodark Date: Fri, 12 Dec 2025 10:46:36 +0100 Subject: [PATCH 43/83] krita: 5.2.13 -> 5.2.14 --- pkgs/by-name/kr/krita/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/kr/krita/default.nix b/pkgs/by-name/kr/krita/default.nix index c3ee02c14c1a..c125d04f544f 100644 --- a/pkgs/by-name/kr/krita/default.nix +++ b/pkgs/by-name/kr/krita/default.nix @@ -1,7 +1,7 @@ { callPackage, ... }: callPackage ./generic.nix { - version = "5.2.13"; + version = "5.2.14"; kde-channel = "stable"; - hash = "sha256-y5CUMMmeK/EGhPHBPXaHZpHuYlctmqpU1wWJMflhVTE="; + hash = "sha256-VWkAcmwv8U5g97rB6OkVAQDyzZJmnKXcdKxYUe+sKIc="; } From f5b1257749ba5666b41017a969c2b9acfbb0c3fe Mon Sep 17 00:00:00 2001 From: Thierry Delafontaine Date: Fri, 12 Dec 2025 08:38:47 +0000 Subject: [PATCH 44/83] opencode: 1.0.138 -> 1.0.150 --- pkgs/by-name/op/opencode/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/op/opencode/package.nix b/pkgs/by-name/op/opencode/package.nix index 80085caa6e2b..628e2e6a0111 100644 --- a/pkgs/by-name/op/opencode/package.nix +++ b/pkgs/by-name/op/opencode/package.nix @@ -13,12 +13,12 @@ }: let pname = "opencode"; - version = "1.0.138"; + version = "1.0.150"; src = fetchFromGitHub { owner = "sst"; repo = "opencode"; tag = "v${version}"; - hash = "sha256-PdxkJXG+GYVpzChhUdgSUejrCg6yGY1R29BQfvByxYo="; + hash = "sha256-8mFmFFk378g93MbFRwMOJkjuXqq3PVPdCuGVLPn6D44="; }; node_modules = stdenvNoCC.mkDerivation { @@ -70,7 +70,7 @@ let # NOTE: Required else we get errors that our fixed-output derivation references store paths dontFixup = true; - outputHash = "sha256-j3K0cSBQaOhjHQcfodxGV1FV35zhpELFE56TK/6uS5s="; + outputHash = "sha256-3swARfDhEfLoaucjiUfse3px40ZBfQsEE8DPgUk/5K0="; outputHashAlgo = "sha256"; outputHashMode = "recursive"; }; From 4e660cbb384407fef35aea6385493510fda9312b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 12 Dec 2025 10:27:17 +0000 Subject: [PATCH 45/83] tinfoil-cli: 0.10.2 -> 0.10.3 --- pkgs/by-name/ti/tinfoil-cli/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ti/tinfoil-cli/package.nix b/pkgs/by-name/ti/tinfoil-cli/package.nix index 70593b4430cc..ad19f85b376a 100644 --- a/pkgs/by-name/ti/tinfoil-cli/package.nix +++ b/pkgs/by-name/ti/tinfoil-cli/package.nix @@ -7,16 +7,16 @@ buildGoModule (finalAttrs: { pname = "tinfoil-cli"; - version = "0.10.2"; + version = "0.10.3"; src = fetchFromGitHub { owner = "tinfoilsh"; repo = "tinfoil-cli"; tag = "v${finalAttrs.version}"; - hash = "sha256-C5X1+spnhJgynG8vPgU/HMjDikPmm/xNZ/svVQHA9N4="; + hash = "sha256-1nzMNX3Xe30JFRWHmh0k+vtW1wgGqlB4ZHS9ucYyslY="; }; - vendorHash = "sha256-LdCwPXPPt7kxK8FvXN332ih9SMhUWyEfXq+7OLQ+Uv0="; + vendorHash = "sha256-8YzNHlimaUVyrUp8pzWtfpSLDp7PxJ95/qi0ir6TSl8="; # The attestation test requires internet access checkFlags = [ "-skip=TestAttestationVerifySEV" ]; From db1ae4a190391d8d658913f1fc34b67ad67fb3bf Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 12 Dec 2025 11:05:15 +0000 Subject: [PATCH 46/83] terraform-providers.hashicorp_kubernetes: 3.0.0 -> 3.0.1 --- .../networking/cluster/terraform-providers/providers.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index dd5afdd4978b..ba3578ca0365 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -597,11 +597,11 @@ "vendorHash": "sha256-SsEWNIBkgcdTlSrB4hIvRmhMv2eJ2qQaPUmiN09A+NM=" }, "hashicorp_kubernetes": { - "hash": "sha256-v68Tg6X+fM41dWAWY/b3RSRhzm7l7n25tKwDktFXxu0=", + "hash": "sha256-/piMr4HFTKyZdWPtS9B1NB4TK8v0jtn9PIjHuGRSmtM=", "homepage": "https://registry.terraform.io/providers/hashicorp/kubernetes", "owner": "hashicorp", "repo": "terraform-provider-kubernetes", - "rev": "v3.0.0", + "rev": "v3.0.1", "spdx": "MPL-2.0", "vendorHash": "sha256-IDsGPzNsVPIHWEyhfIkaNaPOrhnk/4XI1UsrIPwcq/M=" }, From 7fb6d7ffc7ef7081b588cc5e5e1f74edb7d25d7e Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Fri, 12 Dec 2025 11:10:00 +0000 Subject: [PATCH 47/83] python3Packages.plotnine: 0.15.1 -> 0.15.2 Diff: https://github.com/has2k1/plotnine/compare/v0.15.1...v0.15.2 Changelog: https://github.com/has2k1/plotnine/releases/tag/v0.15.2 --- pkgs/development/python-modules/plotnine/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/plotnine/default.nix b/pkgs/development/python-modules/plotnine/default.nix index 18111cc80ac7..0a71ca5c0759 100644 --- a/pkgs/development/python-modules/plotnine/default.nix +++ b/pkgs/development/python-modules/plotnine/default.nix @@ -23,14 +23,14 @@ buildPythonPackage rec { pname = "plotnine"; - version = "0.15.1"; + version = "0.15.2"; pyproject = true; src = fetchFromGitHub { owner = "has2k1"; repo = "plotnine"; tag = "v${version}"; - hash = "sha256-vYrfA7x/64VHHbcgpvQZ1kyHM0jTS9Cx9a8NzVgs4og="; + hash = "sha256-JjSBcPRMmxAIoQsr8ESfgcf+EWBLsq1H+q56iyD3X84="; }; build-system = [ setuptools-scm ]; From b6e4a72e837aee46a59a76e1a3edcf10fa6eebb1 Mon Sep 17 00:00:00 2001 From: Jost Alemann Date: Fri, 12 Dec 2025 13:13:04 +0100 Subject: [PATCH 48/83] typst: 0.14.1 -> 0.14.2 Changelog: https://github.com/typst/typst/blob/main/docs/changelog/0.14.2.md Diff: https://github.com/typst/typst/compare/v0.14.1...v0.14.2 --- pkgs/by-name/ty/typst/package.nix | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/ty/typst/package.nix b/pkgs/by-name/ty/typst/package.nix index 957597469eba..945bed2da8d5 100644 --- a/pkgs/by-name/ty/typst/package.nix +++ b/pkgs/by-name/ty/typst/package.nix @@ -12,13 +12,13 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "typst"; - version = "0.14.1"; + version = "0.14.2"; src = fetchFromGitHub { owner = "typst"; repo = "typst"; tag = "v${finalAttrs.version}"; - hash = "sha256-GAHG0TF+6rdgVolJLdFw7uVz/UBLsnibcaEvInRf7Jk="; + hash = "sha256-EXcmL/KNj9vCChCs6RH1J/+aetYcXnEdGEhvVzGNNZA="; leaveDotGit = true; postFetch = '' cd $out @@ -27,7 +27,7 @@ rustPlatform.buildRustPackage (finalAttrs: { ''; }; - cargoHash = "sha256-UQAKvBlT+c5eUNAmN2lzbjZG1kBrE88CTx2t1F4tprQ="; + cargoHash = "sha256-HDu7/kgpBgUe/CrHm17BkNlg3DYlegTevgAeBCXp6so="; nativeBuildInputs = [ installShellFiles @@ -64,9 +64,6 @@ rustPlatform.buildRustPackage (finalAttrs: { ''; cargoTestFlags = [ "--workspace" ]; - # The following test fails when using `release` - # ❌ issue-7257-break-tags-show-par-none (tests/suite/pdftags/break.typ:29) not emitted - checkType = "debug"; doInstallCheck = true; nativeInstallCheckInputs = [ versionCheckHook ]; From e2d1c15d2ab01d29c44929276a2df4642622a912 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Fri, 12 Dec 2025 12:49:13 +0000 Subject: [PATCH 49/83] python3Packages.crocoddyl: enable __darwinAllowLocalNetworking to fix build without sandbox --- pkgs/development/python-modules/crocoddyl/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/python-modules/crocoddyl/default.nix b/pkgs/development/python-modules/crocoddyl/default.nix index 5e5e449899f0..e1cdfe7e311d 100644 --- a/pkgs/development/python-modules/crocoddyl/default.nix +++ b/pkgs/development/python-modules/crocoddyl/default.nix @@ -50,5 +50,7 @@ toPythonModule ( pythonImportsCheck = [ "crocoddyl" ]; + + __darwinAllowLocalNetworking = true; }) ) From a053a2e3ebb01d337651dedd99ec01e875ef8e21 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Fri, 12 Dec 2025 12:49:45 +0000 Subject: [PATCH 50/83] python3Packages.aligator: enable __darwinAllowLocalNetworking to fix build without sandbox --- pkgs/development/python-modules/aligator/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/python-modules/aligator/default.nix b/pkgs/development/python-modules/aligator/default.nix index 6ef954f53a0e..92527f7a5ed8 100644 --- a/pkgs/development/python-modules/aligator/default.nix +++ b/pkgs/development/python-modules/aligator/default.nix @@ -50,5 +50,7 @@ toPythonModule ( pythonImportsCheck = [ "aligator" ]; + + __darwinAllowLocalNetworking = true; }) ) From ec4f2ad4bb4fb943cf57af334eda0be8f55d5196 Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Fri, 12 Dec 2025 13:56:06 +0100 Subject: [PATCH 51/83] msolve: 0.9.3 -> 0.9.4 --- pkgs/by-name/ms/msolve/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ms/msolve/package.nix b/pkgs/by-name/ms/msolve/package.nix index 93d01cf3bd48..c07d4efd8575 100644 --- a/pkgs/by-name/ms/msolve/package.nix +++ b/pkgs/by-name/ms/msolve/package.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "msolve"; - version = "0.9.3"; + version = "0.9.4"; src = fetchFromGitHub { owner = "algebraic-solving"; repo = "msolve"; tag = "v${finalAttrs.version}"; - hash = "sha256-N/ePJGbF3pGU+IiyztkKujpfFRLy7FSIkpUltv6iJXY="; + hash = "sha256-wlZLmX4a3QjBWraM3DS++YaO1FSzMbvi2wWgrxnwm8U="; }; postPatch = '' From 384da9b5e07f473162c72def8805d0de011936a8 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 12 Dec 2025 13:19:20 +0000 Subject: [PATCH 52/83] python3Packages.unstructured-inference: 1.1.2 -> 1.1.3 --- .../python-modules/unstructured-inference/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/unstructured-inference/default.nix b/pkgs/development/python-modules/unstructured-inference/default.nix index 59d41336db59..468cae7e1765 100644 --- a/pkgs/development/python-modules/unstructured-inference/default.nix +++ b/pkgs/development/python-modules/unstructured-inference/default.nix @@ -27,14 +27,14 @@ buildPythonPackage rec { pname = "unstructured-inference"; - version = "1.1.2"; + version = "1.1.3"; pyproject = true; src = fetchFromGitHub { owner = "Unstructured-IO"; repo = "unstructured-inference"; tag = version; - hash = "sha256-XoGjcF9xxqZ1fEtI+ifjwEqxNlDHdakZLo8xzFKK8ic="; + hash = "sha256-/vWyywsnNzkwcl2L5BcS6qqaCk2LPxaNlCPeMnDIHPU="; }; build-system = [ setuptools ]; From 14a1e7bb5281fb1869309a2de2e8898076aaffc0 Mon Sep 17 00:00:00 2001 From: kyehn Date: Fri, 26 Sep 2025 15:18:29 +0800 Subject: [PATCH 53/83] silver-platter: 0.5.20 -> 0.6.1 --- pkgs/by-name/si/silver-platter/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/si/silver-platter/package.nix b/pkgs/by-name/si/silver-platter/package.nix index 7118b7bc9558..1e3379e7665f 100644 --- a/pkgs/by-name/si/silver-platter/package.nix +++ b/pkgs/by-name/si/silver-platter/package.nix @@ -13,19 +13,19 @@ python3Packages.buildPythonApplication rec { pname = "silver-platter"; - version = "0.5.20"; + version = "0.6.1"; pyproject = true; src = fetchFromGitHub { owner = "jelmer"; repo = "silver-platter"; - rev = version; - hash = "sha256-k+C4jrC4FO/yy9Eb6x4lv1zyyp/eGkpMcDqZ0KoxfBs="; + tag = "v${version}"; + hash = "sha256-b7EYDLoFP77bLk6kodRH4beRLZBnarEZDv3uNg8kFW4="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit pname version src; - hash = "sha256-hZQfzaLvHSN/hGR5vn+/2TRH6GwDTTp+UcnePXY7JlM="; + hash = "sha256-nab0Kkn7JrlnrChnC/WERnhyZEywzZ0LP/bmaAu/G4s="; }; dependencies = with python3Packages; [ From a1d5ce95c54c2fa6af62a242bf3b8f9f5cdb8f26 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 12 Dec 2025 13:35:38 +0000 Subject: [PATCH 54/83] sftool: 0.1.16 -> 0.1.17 --- pkgs/by-name/sf/sftool/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/sf/sftool/package.nix b/pkgs/by-name/sf/sftool/package.nix index 903497212c2b..27ad6a51eb86 100644 --- a/pkgs/by-name/sf/sftool/package.nix +++ b/pkgs/by-name/sf/sftool/package.nix @@ -10,15 +10,15 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "sftool"; - version = "0.1.16"; + version = "0.1.17"; src = fetchFromGitHub { owner = "OpenSiFli"; repo = "sftool"; tag = finalAttrs.version; - hash = "sha256-9q19f5jH+Xx6Sv/5mBthHN6dTDz/+4VumyZcmlxHGa8="; + hash = "sha256-+wEQIVnuzE1DX5Cc5fpvKF8EBq4svhGFHzxtwxZQn7k="; }; - cargoHash = "sha256-MHHIohpUe9EOQ8GAh50Miy4hZhGM4t5gw0G0suusYT0="; + cargoHash = "sha256-tJqF7JYH4Mlw7rH+W8t/Wb4HLH0QqxVxmI3ZIFRke9k="; nativeBuildInputs = [ pkg-config From d02f7ae8ececbbabaa9517d5877dddc7756bd267 Mon Sep 17 00:00:00 2001 From: loucass003 Date: Fri, 12 Dec 2025 15:26:44 +0100 Subject: [PATCH 55/83] maintainers: add loucass003 --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 2bf8b3069d0d..c0c8affb983b 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -15189,6 +15189,12 @@ githubId = 1422781; name = "Will Young"; }; + loucass003 = { + name = "Lucas Lelievre"; + email = "loucass003@gmail.com"; + github = "loucass003"; + githubId = 3948904; + }; louis-thevenet = { name = "Louis Thevenet"; github = "louis-thevenet"; From a62c2a825b2d23c97feff91b89990afdac7ab82b Mon Sep 17 00:00:00 2001 From: loucass003 Date: Fri, 12 Dec 2025 15:27:09 +0100 Subject: [PATCH 56/83] slimevr: 0.17.0 -> 18.1.0 --- pkgs/by-name/sl/slimevr-server/deps.json | 14 +++++++------- pkgs/by-name/sl/slimevr-server/package.nix | 1 + pkgs/by-name/sl/slimevr/package.nix | 9 +++++---- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/pkgs/by-name/sl/slimevr-server/deps.json b/pkgs/by-name/sl/slimevr-server/deps.json index 0d9e02f88a90..48644bb88753 100644 --- a/pkgs/by-name/sl/slimevr-server/deps.json +++ b/pkgs/by-name/sl/slimevr-server/deps.json @@ -515,15 +515,15 @@ "jar": "sha256-W3qjoo2ou2Uzt6/eVFl5m5P3n8+GxW0XQttvKHxP1SE=", "pom": "sha256-PeSwStYORI+xJmrusbRowsWOGLdXv2ilMsw9XdlNVHU=" }, - "com/google/protobuf#protobuf-bom/3.21.12": { - "pom": "sha256-O72GqUBXpnHmPVX532EsZBlz1ecNba4qtFYk/xrfUcU=" + "com/google/protobuf#protobuf-bom/4.31.1": { + "pom": "sha256-uLuWyzTeH0tOFaZPTiTsJm8vYYrtr/Y9ruvGlfd5y9E=" }, - "com/google/protobuf#protobuf-java/3.21.12": { - "jar": "sha256-Pz7b2pKGJGCA8+r1Yd1rDVorHxAI9pCRFchgnOrp34c=", - "pom": "sha256-CXiOUXdwUnUK3bE39cMbdwDlY6UsncRQlXqGVM/gVrU=" + "com/google/protobuf#protobuf-java/4.31.1": { + "jar": "sha256-1g3+fGig04okjMqWkk8oncfhlmqIfufK45dwGvCFda4=", + "pom": "sha256-hfCCtSzQbzX0IAbMuBsn3aXuJG/jhq7p91GEWR+Zr1w=" }, - "com/google/protobuf#protobuf-parent/3.21.12": { - "pom": "sha256-fj44jW/7fyDmb/JfRbk3i0Igt7L9Jh9rO8IGs9/4u8g=" + "com/google/protobuf#protobuf-parent/4.31.1": { + "pom": "sha256-mGt3TUQ+9cluGfMgJ0vNeh7cSo9hzMI+YxJvpkTX9DA=" }, "com/illposed/osc#javaosc-core/0.8": { "jar": "sha256-7PP/me8hI4cOUWtC4ey+JDiTHqgPOpAFWB3j4JxPEa0=", diff --git a/pkgs/by-name/sl/slimevr-server/package.nix b/pkgs/by-name/sl/slimevr-server/package.nix index 18f855bd4811..a76f64571162 100644 --- a/pkgs/by-name/sl/slimevr-server/package.nix +++ b/pkgs/by-name/sl/slimevr-server/package.nix @@ -97,6 +97,7 @@ stdenv.mkDerivation (finalAttrs: { maintainers = with lib.maintainers; [ gale-username imurx + loucass003 ]; platforms = with lib.platforms; darwin ++ linux; mainProgram = "slimevr-server"; diff --git a/pkgs/by-name/sl/slimevr/package.nix b/pkgs/by-name/sl/slimevr/package.nix index 8d8517b6aa45..4e3884e4c405 100644 --- a/pkgs/by-name/sl/slimevr/package.nix +++ b/pkgs/by-name/sl/slimevr/package.nix @@ -21,26 +21,26 @@ rustPlatform.buildRustPackage rec { pname = "slimevr"; - version = "0.17.0"; + version = "18.1.0"; src = fetchFromGitHub { owner = "SlimeVR"; repo = "SlimeVR-Server"; tag = "v${version}"; - hash = "sha256-/7SQstUWnQcdzRZjY64PL2gfdstUqXhDmwUkCd6bhY4="; + hash = "sha256-vU/dcKRlNsixr3TaCrqNkCd2ewAb38fLymb+ZslAum4="; # solarxr fetchSubmodules = true; }; buildAndTestSubdir = "gui/src-tauri"; - cargoHash = "sha256-E825/tkIGphqSPHplDglQPHxPaz8+ZAICuQ/eYZuez4="; + cargoHash = "sha256-X5IgWZlkvsstMN3YS4r+NJl6RVfREfZqKUrfsrUPQuU="; pnpmDeps = pnpm_9.fetchDeps { pname = "${pname}-pnpm-deps"; inherit version src; fetcherVersion = 1; - hash = "sha256-EeIwEej2WiD2HGbZTgNoJTDL0t9H3mJ3+8qrPvgn8vY="; + hash = "sha256-ExjEAr38GX2iZThVj3C3N/9mPgf0Bs7J5OAwtDdmn6I="; }; nativeBuildInputs = [ @@ -145,6 +145,7 @@ rustPlatform.buildRustPackage rec { maintainers = with lib.maintainers; [ gale-username imurx + loucass003 ]; platforms = with lib.platforms; darwin ++ linux; broken = stdenv.hostPlatform.isDarwin; From c05324bf11c6c8c8f976538b34267a49676bae0f Mon Sep 17 00:00:00 2001 From: "Adam C. Stephens" Date: Fri, 12 Dec 2025 09:04:19 -0500 Subject: [PATCH 57/83] buildRebar3: copy src for use in mix deps --- pkgs/development/beam-modules/build-rebar3.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/development/beam-modules/build-rebar3.nix b/pkgs/development/beam-modules/build-rebar3.nix index 77b40461f80e..f59856953af4 100644 --- a/pkgs/development/beam-modules/build-rebar3.nix +++ b/pkgs/development/beam-modules/build-rebar3.nix @@ -89,6 +89,14 @@ let '' + postPatch; + preConfigure = '' + # Copy the source so it can be used by mix projects + # do this before building to avoid build artifacts but after patching + # to include any modifications + mkdir -p $out/src + cp -r "." "$out/src" + ''; + buildPhase = '' runHook preBuild HOME=. rebar3 bare compile --paths "." From 710a054fe333e97e116e5fb2c1def6334034af44 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 12 Dec 2025 14:46:13 +0000 Subject: [PATCH 58/83] python3Packages.cf-xarray: 0.10.9 -> 0.10.10 --- pkgs/development/python-modules/cf-xarray/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/cf-xarray/default.nix b/pkgs/development/python-modules/cf-xarray/default.nix index d7d5638c63e3..b1072b4aca8c 100644 --- a/pkgs/development/python-modules/cf-xarray/default.nix +++ b/pkgs/development/python-modules/cf-xarray/default.nix @@ -24,14 +24,14 @@ buildPythonPackage rec { pname = "cf-xarray"; - version = "0.10.9"; + version = "0.10.10"; pyproject = true; src = fetchFromGitHub { owner = "xarray-contrib"; repo = "cf-xarray"; tag = "v${version}"; - hash = "sha256-tYs+aZp/QbM166KNj4MjIjqS6LcuDCyXwghSoF5rj4M="; + hash = "sha256-t6b4Tog0BLk5y+wi3QH6IKLbJSKw5NkLa3kJRtSBKRs="; }; build-system = [ From 01c165d2eb32da67bc000eb51ccc1cec86ea9425 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 12 Dec 2025 15:14:27 +0000 Subject: [PATCH 59/83] grimblast: 0.1-unstable-2025-12-01 -> 0.1-unstable-2025-12-07 --- pkgs/by-name/gr/grimblast/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/gr/grimblast/package.nix b/pkgs/by-name/gr/grimblast/package.nix index d683b2b91d76..d3cfc69831d0 100644 --- a/pkgs/by-name/gr/grimblast/package.nix +++ b/pkgs/by-name/gr/grimblast/package.nix @@ -19,13 +19,13 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "grimblast"; - version = "0.1-unstable-2025-12-01"; + version = "0.1-unstable-2025-12-07"; src = fetchFromGitHub { owner = "hyprwm"; repo = "contrib"; - rev = "e88d93f8aed2b9631b62ca273590fd3528310d7e"; - hash = "sha256-71vBBU9GC+A+tdqAuFDRdx8WEVuj4OaVY5apoaAALkc="; + rev = "db18f83bebbc2cf43a21dbb26cd99aabe672d923"; + hash = "sha256-b8YOwGDFprkQJjXsKGuSNS1pWe8w4cUW36YxlUelNpU="; }; strictDeps = true; From 37c2fd709729e2f4ae81eb344e817dc5aed994ea Mon Sep 17 00:00:00 2001 From: eymeric Date: Fri, 28 Nov 2025 16:25:45 +0100 Subject: [PATCH 60/83] cockpit-zfs: init at 1.2.12-2 --- .../co/cockpit-zfs/missing-hashes.json | 112 +++++++++++ pkgs/by-name/co/cockpit-zfs/package.nix | 176 ++++++++++++++++++ 2 files changed, 288 insertions(+) create mode 100644 pkgs/by-name/co/cockpit-zfs/missing-hashes.json create mode 100644 pkgs/by-name/co/cockpit-zfs/package.nix diff --git a/pkgs/by-name/co/cockpit-zfs/missing-hashes.json b/pkgs/by-name/co/cockpit-zfs/missing-hashes.json new file mode 100644 index 000000000000..ee441f4afe88 --- /dev/null +++ b/pkgs/by-name/co/cockpit-zfs/missing-hashes.json @@ -0,0 +1,112 @@ +{ + "@esbuild/aix-ppc64@npm:0.21.5": "1f48fea96ab4fbc2921756361bc8a0c4d0690f14dc2298a357aa3d436bcd1cd646d490e5d71c4e0fb46b9e04401bc93153d6886456dd0665b6758be643c95a16", + "@esbuild/aix-ppc64@npm:0.25.9": "b5c49f119424bb3f7be30b652ef87bf881824ace02cc2327ba6f7e0f86d04d2afe2087086985f4220dfdbb816acb67e6dfcf00da9eb8b028babfac43df3adac8", + "@esbuild/android-arm64@npm:0.21.5": "7a4831b0886c165ed671f0094dcd491235fe503364a261379c84e2225a3c3230a06bce1d3a02316fa8a040b0ffede56c617746dc3b5550549ae3fb07095bb20d", + "@esbuild/android-arm64@npm:0.25.9": "afe76da072b16e355f546d1d9023b814ead0487d9fa5e393eeb4bb3f6f76e5542e14b82396ca37c38e868ed64deef6b25f1c47e2564141fe5ecfe0eb7543f3f8", + "@esbuild/android-arm@npm:0.15.18": "5547a5477fc9e2239fff37e7d41eec59473fb912a9d01a2ebfebec18ec820c9ce1a0445866fda06d7f285e8d0bcdde974ffb1affbca8cb2b5a2d8b952a424a4c", + "@esbuild/android-arm@npm:0.21.5": "9fa871018a9f2198f40fde2c672fcb1b9d3ab5ee602644ea4cf68c548ee2c0b6c60ad851ce85219f84886fd29757d8c49bac28ea48a2a16708a088e32dfe673a", + "@esbuild/android-arm@npm:0.25.9": "0d4c724b84043db6597736865a4fe86640c88f21dc0ebe93a2298b4a0e0f0a5d1530a821dd1c18a2b39a6ca9abe8ff714b8ed5de496045a67150ea47c86a39d7", + "@esbuild/android-x64@npm:0.21.5": "24e477ccdaf1437cabe8710bc052a13b975a53617094a225e39823a1c562a71ef975d860ab895c129a813302495d85387143e27068e62fc897a2ac0335e4a2f6", + "@esbuild/android-x64@npm:0.25.9": "9da8b1ede5670c2c9e644e0fedf1dd0747081272b296d3f80b53b44b637744d836efee00dc767b81940eb285524a5e3149d8045787f6281ee2bd53f61a9c8717", + "@esbuild/darwin-arm64@npm:0.21.5": "67b0e4ebc870d0babb6721328f02b0e75eca5ee8f176220fa194ac5897ce76a27aa4f6d724389a74e1517670f70e766fe03c30875fdebeee5b1f7b22e99c5a1f", + "@esbuild/darwin-arm64@npm:0.25.9": "84a88a8f72fcc66381518d5821e4ed276aeea17c76559bee4fcb472b19456da630ad84d8d74b3e4c297ef7b1ec5bd5037d55ac6ef5c515a77fb94a1bd891dece", + "@esbuild/darwin-x64@npm:0.21.5": "a4b6df47edf4b1e91eeca9d7af18f538e25615e00763709a4cc24a8918e7ac93b9bfc2ef9f44086f16257d05ad99e23c1213a7a1397475d1a78f0a1e773af89a", + "@esbuild/darwin-x64@npm:0.25.9": "c500bcd0c1a8f66d19cf575299a7da7f29dbdb56beac95bb6ddc570291e3e9da4e7d31db6453fc19ea5ac7f85662f40c9a3965c3e1f49657efeb292a6f601a26", + "@esbuild/freebsd-arm64@npm:0.21.5": "a4cf357807f2ea445b5191b8e5488070b567e2b534dba24ce6f8f1a332598ee0b9ffa41b3b0e55cd0cf57e2b56f0f1d84413faba182b81cb43bf19edf58a7654", + "@esbuild/freebsd-arm64@npm:0.25.9": "fb4951968ad62e5316ffd08c037bb2396e8119a0c2289e968421bb277bdbffe23d89c92dcd2d7eb680f31be2b05e36406211b141b9b89378b424e4b5193c3d7f", + "@esbuild/freebsd-x64@npm:0.21.5": "8957c1345196e5dabd7d9f290b5292161f5d9955f269051fa7873118cfb5a20c31d70771ea3560b513f879d0948ba32fba915fb1b387571c4fbbb1fbeaf2dd87", + "@esbuild/freebsd-x64@npm:0.25.9": "0c71856891d5cea255f9bcb4482c70347a39198da2769a273afbd16bc9db7176bc1d28c41dd569b8b8f98cfd14b10a728c79f54311037d702bb7dffd95f27740", + "@esbuild/linux-arm64@npm:0.21.5": "1b95b17ed94eb977e38ea9130e677551b7cf0ccccdb3f23a9f8b59b5d67400817c2a417e4f043295bd3f67796853da2a1b1a8ca201ffe745efb40a144dfdc99c", + "@esbuild/linux-arm64@npm:0.25.9": "6c64bf50dfb709d4000b022558293764a20ff8ba0b6638e8abb3bd0806cab25ac971f1910eaf2a4d73f92080afdb296d57175b2199647de019c2f419365f839d", + "@esbuild/linux-arm@npm:0.21.5": "6bfcd098ada5e6117d028777e5cc58456c2f570157fa0a0dce30c9d05b8389b86f74bf6b862534bf6994d342946c98b6774e1820880fd289765864b668e94c17", + "@esbuild/linux-arm@npm:0.25.9": "b9a473988dadbe98f1c6ade2597e5967371d929ac83bb9f888d726d4f0e5cc4b8fe5020332adb26d61748619bf3e62c831d9c80b3bf815a6dd90dab76283d533", + "@esbuild/linux-ia32@npm:0.21.5": "73c249c9918f0c9a9268ffe14fe745f5e7564b309dcea213da08a5e4367ffdfc8df4b004c70f80269dce0f653a3280cfdd8bf9a7a616b5b60649e4faea6e69b5", + "@esbuild/linux-ia32@npm:0.25.9": "51f458a7038e2ee014b994f7f216821194b00716ae5abe78fe828d9cefd47575dc0ff703f95c18017e59b7bcb63c13ac6d551e8ab64522cce8af89bc33a689d6", + "@esbuild/linux-loong64@npm:0.15.18": "e35a9691366a29973d32207ddb1835ff9559404fa77d8fda95bf1d8c685ce45197af2273c0632d12e1139ab54fb4bc77d1d61c030efd95b4ff06334ef7219de0", + "@esbuild/linux-loong64@npm:0.21.5": "60977efe24b3b6e1461d49da07dd57c1234992b9d2e6ac7d0dedfee538321d42be25e496ffb193121d3a6c6ca6ea6722b880e95695824dcc6643a3d9426b2296", + "@esbuild/linux-loong64@npm:0.25.9": "81478bff0f6d54e06fa96ec120c2dc92e47c3a1392397a121cf50a83496156f9abebd46f93e35a496f4f305c8af7cd430e4fe723474a2420cc21d39257852210", + "@esbuild/linux-mips64el@npm:0.21.5": "20fb6c8f6e58f66cd4351034858b2ad85bda4144576b180979305cfabed43780a71934e9f176e476c719f14e37253b231a43d46638ad232989d5f4dd72ec6b75", + "@esbuild/linux-mips64el@npm:0.25.9": "78709795d663461c54168719517c4c38b2a51861af0f97a91003ea6fe2c2b67dca77f57c2a2c4eb2c6481a8660b5fe477c72e46e90154cb72f1f235e683b2d0f", + "@esbuild/linux-ppc64@npm:0.21.5": "69f2ef1d127f48bc14cec479ae1a96dbf5fea651e0a3f148486f73495d2acb91acdaa164cd80648844916f05e7f9f9665a1864dd394e7f9acf96bea70937e6b5", + "@esbuild/linux-ppc64@npm:0.25.9": "4a43e167f7f9659a5ca34678cb6fee53fbdba8b14a9a45f323abf33d9e141fd268984b0a18445db84cbada5ed2ac211ef318d5c44af0fbc0c7eea31c0c82321f", + "@esbuild/linux-riscv64@npm:0.21.5": "60c749d87c0f67cc67c5cc0d82aa597b7a807bc52510a16960337433bdbc8fa9f3c46eba98080106c0971e404e2250ca11c441bb4ae5b7a7d78b4095e3a70363", + "@esbuild/linux-riscv64@npm:0.25.9": "e71027660a884b5bbcb6e9e84ed439b3ef19466cd9f6d16c1bdfe2db6dbe9a40e8fc19ad429749102d1c15f015372f7f9f8ab7f82d506efffbd143fe8ab28aa9", + "@esbuild/linux-s390x@npm:0.21.5": "a14ff0484b962b374fd1e4662a53f8dd8999ba39fcf891f15631dfb2802c8d18893d6e366c42d28d55885e5804b7d6252c0e3cee038c241285c9b537ef12b4ae", + "@esbuild/linux-s390x@npm:0.25.9": "7004c5852a3cbd1bd1d727e13b2f2be0747861ceab840ab8492ddff80b3d34dd41398681016cda3748c697e1b384bf4d4c1ad588538df38eba599ba935ecbd09", + "@esbuild/linux-x64@npm:0.21.5": "9e5663fcace9c8456e9934a9ed6e7428db4080024eef3bfeaf82d476120bd881382c958be2785463d6b44467b3d3f870d6cce09a9cb37bcef19afeb97814d674", + "@esbuild/linux-x64@npm:0.25.9": "3bab69aa63d5ef65e9eaa229963ee3a3c868a06badf019277af06d4f7c52ea3a30abafad361e5bcce71032abd8b6fb666607977a627fa2def8db6756cf99b2ee", + "@esbuild/netbsd-arm64@npm:0.25.9": "02b82c6773ad09082e3b18f01dbf4b9f72519a9e93995b479e4bd4bb28c8a4088972fd0e9304881d09775429dc388a3625249096426349dc3adc2208ee408a4a", + "@esbuild/netbsd-x64@npm:0.21.5": "3cb6115c4557d653c7ad6d2be5b4ed7a688b14d85b7b7108a1a57dda0b2cca3f8ed13560fa6639da8788f860b75eb714a17cfb7ba8f967e93bdf40c9b3a1cde1", + "@esbuild/netbsd-x64@npm:0.25.9": "51a576cb8ad7f43e43f76b25273735646eefa0d2a5bdaa3bd6387ab89512940bee49e91f7051b3d08d143d5cd6b4501f72a9462f30e242f0dff931c4ebe40363", + "@esbuild/openbsd-arm64@npm:0.25.9": "9bf0e7a535304f0d3c700d6e4ef536fe94b17e05bf5f9a4cc308ffc8c3d3cd642ee7debcf7f649a845610b1c706675af903f785ef14f320ee918faa61bf79bb5", + "@esbuild/openbsd-x64@npm:0.21.5": "1caf0b502d6e2612ffd3e62589de2b9cd48cd742818746011d437e2d5787df4984f7c17b7a536aa20f12d04e519c859d755a7b57e6db0ed277054bd9c1036e85", + "@esbuild/openbsd-x64@npm:0.25.9": "bb9bb4c5f095575f267d30c9e65f8e64c3f425d24904f6e22112c305ee5f1503aea750f510252e4b862f366e5efac678b71cc848cda72c587be8af4119d28f80", + "@esbuild/openharmony-arm64@npm:0.25.9": "130f08d72a018aceef14b8534b9910bd2c0852fc074467ad0adf54d339584277326c7ffc8cd8126be08a530184c51d8de11d06971d1cc44545162bfb8428bcc3", + "@esbuild/sunos-x64@npm:0.21.5": "676da7301c7c600bb7de2523ecf5d877128da3c125fd8136533f5be38ca15d9f800b2fbbd396ca37d44c5daa51b8124d8a4728bb18245cd2becb3191b897c45a", + "@esbuild/sunos-x64@npm:0.25.9": "a86fca2baaaffcaed419bdc6569cf4a88b4ae830034f8deb4d83ba781b989e25b03696cfe05a482e24710191abc53479b70491f3f157eff37ed2b486d88c897b", + "@esbuild/win32-arm64@npm:0.21.5": "9b2ab87429efd3c2697dc5c7948ea57b57757b6e4709469e773b73cd5fe4b7fda5912073f4c3bdf9d0346b8f3ae443367a63bcd51de24fb81b9f592712eb3366", + "@esbuild/win32-arm64@npm:0.25.9": "cd32c8fe88511e413f6161480ea3b6fc2ed7cb4bd2febb455e7bc45842880c752ba71772f289908ded50d8cfd3207e6730c8fdec2e811af1f65e97d1ee53b4ef", + "@esbuild/win32-ia32@npm:0.21.5": "c1fe3276507d82202c464cd4809e67e6f151e29ed9de05c32d086dfe30207db15e646911ebc7f50df659891bfee292a25062792c589c2ff769be238c6b5fb8be", + "@esbuild/win32-ia32@npm:0.25.9": "c374576d857dfa3c8dc5bdeef598ffc0e3adfcb8b7986a2b78ce61d2aa3c3d1f1cd15cb685f52b88411403d974f657c3fd44cf9b4fadb94e8ed69d75e9e3e0ef", + "@esbuild/win32-x64@npm:0.21.5": "5d7b28baa9c22684d35ec0515f6d36f8f583f26733c8e84c7f78edf17b8a7d133819267486f2fd66f20ca3a810896f11c3c81106d745040c2f07ade314846bf1", + "@esbuild/win32-x64@npm:0.25.9": "41f2ba9101f4a9a28e3287026a32a05e8fdffcb4a4e41cfaf9f94b41093c6882f46ef80f12854b67b7ad78e47d1df492f3e8a71d41813a61500ace4a574af851", + "@rollup/rollup-android-arm-eabi@npm:4.34.9": "6a78e363b2a00987ecce7d50d352be418acc0facce6a0ea07617c25a608414047426cb8edac1f112b2022c5d5ec37abb40fcc314b63db1313dbee50ef92ded39", + "@rollup/rollup-android-arm-eabi@npm:4.49.0": "52fb63fc3b966418047665d754210f7dd359cdbe53f74f1f94ac1b2cdd06ee45e0f7348d452864735465511c8bdd670670629ae6beb17a88991ad3dd700007f0", + "@rollup/rollup-android-arm64@npm:4.34.9": "1bab7d4cbf7f3b80d1624e722e0476195c83ccf84f5ae81b2297eef4900ca0e41b0b1612c2f82f3572d24d638964dc04f60e0616655c2de9552e78b5b0849ffd", + "@rollup/rollup-android-arm64@npm:4.49.0": "836b8568a1e67e2b4f4b06184a8b0cc8205e0747abca9a18ca74f1341929ddebcd3f7fcd62c4333e0a3b226fc7365570875c7027bdf043409b5647f4b2b6bb51", + "@rollup/rollup-darwin-arm64@npm:4.34.9": "d715c19d30eb8f56aa1c4292975b42fbcb03768191aec11c0bfb3c41c81ec27b2e267cca2a7eb710a782846a611b51f8ae325b01b6324fd609f18846f07165a1", + "@rollup/rollup-darwin-arm64@npm:4.49.0": "a5bb9703f8e777e5722a2e40be3de15672647a5df3aaf69d98d761c58e39c21bf521bbc5e138b20007381ebcf31cdc3acf6db5dcd519282b0f28b33d1202193c", + "@rollup/rollup-darwin-x64@npm:4.34.9": "e984bc5998e9e807c1dea42e00cd3a0a4e5eaf8969486a186b01c11f40216d49f08ece400d886d7099abbd89cc9669bc027c3ed9930b1f69bcbf8738e5c955e4", + "@rollup/rollup-darwin-x64@npm:4.49.0": "55403574f7375b2492137dee2b03747a4b13ef9e3711d11cf8af7d2a37c7e303d6c3b5f85f521fd4f60dbfd24e1cbd1a75c4b0f7a8a2caab2424e888656e8d59", + "@rollup/rollup-freebsd-arm64@npm:4.34.9": "b78b61e04d3e10612920850a53068c8255d21085aab1fdf77b51ed44276582c883e66bc0bba13e4e28cc79eb80e8aa5ed5afed5f55235877e6c0c20e60178dcf", + "@rollup/rollup-freebsd-arm64@npm:4.49.0": "eb24eae86218f5a8e96cf4a18a2c0060866bbd2ee82f00f4b68291f1226e08a71e09e7aaa1f741f9806d4b15c559eb46878a96c3367fd901e36795a63e514253", + "@rollup/rollup-freebsd-x64@npm:4.34.9": "a12b525e32fd88828415fa658e89e1a0038dbb5812b0351a594a03e0ed4dd5944aa427fabc21e17193d4e661d780902a38c32596dba01cec021183e424579659", + "@rollup/rollup-freebsd-x64@npm:4.49.0": "03cf0d678c8e8377ad97bc5a0fcf66ec91c8ef5781258d84935fc7740a4f66d51313cf912621e1e5ffec6bc394d9fc8092cdefdc8d745cc68947213ea58d6389", + "@rollup/rollup-linux-arm-gnueabihf@npm:4.34.9": "fd327b38153fe56994002d14989853aa7e8eac316fa9f3c9584901ee34515fc91dd1ff84e3774e1654b417a9e2e83a304f68babc4ed500310a6bf66674cf0b56", + "@rollup/rollup-linux-arm-gnueabihf@npm:4.49.0": "912ffb485aba2c2431dfe760c2f27c8dde1e1c96308df06e0b047c3966178dde09820815611e07ba388f94e77668d29650233ac540eac6e05c39ab4dcb6553c2", + "@rollup/rollup-linux-arm-musleabihf@npm:4.34.9": "3c249bf1151cc57a7b0d432bdcf8f37a5e33d61928fcc47271dde67e72385d0739ce74b2648e4e1df0bb804b958768f1d3a15321830f9fc1175d63bc619e0e6f", + "@rollup/rollup-linux-arm-musleabihf@npm:4.49.0": "3606da18b762e27627922ebc792fa2ca487b3181c8032cfae86751c3e82f57209fe4124388aa7edc7fb9e6378dd374602b1fa133b03b335438967b29c8bd626a", + "@rollup/rollup-linux-arm64-gnu@npm:4.34.9": "d12a76c6212f7b543cdc664dec96c3ed5c54a722ccaa964f5146050c0c8328b3728d7b6797f6b3cd249e5ceb803dc7ec5ff9c514e74d914e79c525540fb12805", + "@rollup/rollup-linux-arm64-gnu@npm:4.49.0": "763f607f123286327bc78e603c8a27e7d32606939e5835e45cc5004248ab6b1e4430c4147bb80f042ee20a3d9dad6c2d3d40848524a92a34e35a8dd299e7abbf", + "@rollup/rollup-linux-arm64-musl@npm:4.34.9": "42c76f063875dedfc0ec3ebcaf6c4988795affb4aee97d5d8dd5f8c3b8b48862a741d24cdc8baaede07a3bd6a32adaeb7c19301632b8db7a0530f48aeace4cc9", + "@rollup/rollup-linux-arm64-musl@npm:4.49.0": "eb9593462fb7735937a9e640efa71a903796d5bca4eadb18f2092863d1a00de84368630051d585934a29b05f157a81ead9c11112e5b7f1d1322cb4fa415865f8", + "@rollup/rollup-linux-loongarch64-gnu@npm:4.34.9": "4b7223f5c36e6ce1f002ed3e82039c69e0ac16a99f8b451a5842e7945035ca41e31344d7a63c747ce402779fea8d08a59d918b4341fd0de2d460f5875d6955c1", + "@rollup/rollup-linux-loongarch64-gnu@npm:4.49.0": "a49f30ed44abe792f029766148d55ccf6a361d444cf2627696b36bf589a98abc881b4780e4dd4baceb343a89936b0a6c5cce10015365d04c200b9f9816ea60a8", + "@rollup/rollup-linux-powerpc64le-gnu@npm:4.34.9": "9183d3780b41c1c5e40bd4068f49aab70197454263c2dadac836da902473e84a710a810f83f60cc2d7b3dd4b888946786720b406a791ab67b6cdc0a3db742274", + "@rollup/rollup-linux-ppc64-gnu@npm:4.49.0": "fc8c43d848b4f327613e1bab73b27c777ca9773b5b63672268791750f40d78524a99ab0977500c650d74cfd519d64066effd50a7f9e28a67e2714706e98dcb53", + "@rollup/rollup-linux-riscv64-gnu@npm:4.34.9": "100bbb8457e560b9e02ae262c0e7d7b38b28de502bf9564835d369872121872df592654f425fa30f1f9e5c2477a2ca8617df223e7abeb0804ff961d660361bb4", + "@rollup/rollup-linux-riscv64-gnu@npm:4.49.0": "aadd1f82ff7adeda08d60486eee9262117a44d2aa29ff782dcee1be111d5196acf65625d02c87430203d1fc3cfe9bb505453952e24b072064898a6a6198517d7", + "@rollup/rollup-linux-riscv64-musl@npm:4.49.0": "aac7397ca667f881271cd862e7d02320a77bc317ed530952d0cb05f12d3ba743d33090119fc2dffc65d64cf345514b2938cd20289282abc0cfaebbad06dce318", + "@rollup/rollup-linux-s390x-gnu@npm:4.34.9": "9d45ec5abb16431dfc3e75a0beb96e9d05d508234c9583b9c958a026988fff8f751554ddf350f1ec472450524f821b6f4e0f8ac739c3be0462a4788d9432043d", + "@rollup/rollup-linux-s390x-gnu@npm:4.49.0": "57dd8e17277acc9b4f6424276ebc787d45cf4006189d5dac79e60dae0b0b20670c66fd489d137c31bde33ed31c8f874dce4f8d980d38b278c9bc1b234525df05", + "@rollup/rollup-linux-x64-gnu@npm:4.34.9": "514adaaf885a4a9e7b16c33bd15eb8c96e83f8d6cd5b975b88fc1d3d73dcf690459ddab317f46945875f03ed9869cdbb5b698d23b2c0425af1f6ca6d09e42e0e", + "@rollup/rollup-linux-x64-gnu@npm:4.49.0": "cbb135fd448a945e638bd056c6c89f1a202ae8b0e636557c6cce21c85c8135d8411cf4a5621f3203a87037ebef9d7c8367d7af4c9043085368bcbc80c413658e", + "@rollup/rollup-linux-x64-musl@npm:4.34.9": "ae6df03b8326146373ce166701dcf82398371402e84934d8a343187bde2ad53afb5ac565d7466c2b65a90215b2f4e4c06a05fec1c8cfd679efa2816587da4ca8", + "@rollup/rollup-linux-x64-musl@npm:4.49.0": "fcb0028c3e1c992eea5c7a7a41aaccb840a9e4383fc97cef92fadc7d2615e7c15a33bacafbae06fd9cc93093467024e0cc2f36b07e29845dbcdafe22d171a426", + "@rollup/rollup-win32-arm64-msvc@npm:4.34.9": "d2c1fd1d75fe8507f1c921d4cb777e72851b39675b1ac2571f29ff24b4512e57f6142fcd910faa54b14028e3140acf7b4464b80128eaf90db977830ac11506c9", + "@rollup/rollup-win32-arm64-msvc@npm:4.49.0": "2712adce89bc28070ff18ff0e85cf36cb4aba96c499ee2fa625a3fc36e0187128f7d924e305657ef9d2630f4dabcf36fdfd5d5a2a5563ee9afb2d75495915618", + "@rollup/rollup-win32-ia32-msvc@npm:4.34.9": "14e4450adba80fcf5a913a9eeb2687f65054816f232bed169bab828000ba745edf9bc9d57975c656924c30ef7b2368a6970e96f17da5d8d9c932193dbda702b2", + "@rollup/rollup-win32-ia32-msvc@npm:4.49.0": "ccbf8b8014c713ae772739a1279ff78ce9296f78b98612d0a200a3bb280718c24e3eef592597ff59c5c7e5fa4d8fdc1969d9e2fae54fbff1754541ce353a6fb7", + "@rollup/rollup-win32-x64-msvc@npm:4.34.9": "6ecd0dcfbee51dd2cbf7a9f1a97c8db411874003f88846423df2b73a225b0cb3d5272ac3c32473aa2e7981f5001e05ac9320b57d5f44c18fabec09ee7839a95c", + "@rollup/rollup-win32-x64-msvc@npm:4.49.0": "6a611fea13c4a5a4c63162ab78a025ce7ef949fb36d884d4ee88c88cc414bf64b6a75d702bf2301c906f7661a77c912677c1b5aeffbb0240a3ed67f50862cd39", + "esbuild-android-64@npm:0.15.18": "f5fc62d6a7181542425ec792f68ae4f456e7a4addae1f10cdd84b370b8636f0af126edda898b0b491135f4363bdabc08fbfa3444082a0c15fbcebccc7b8f8c5c", + "esbuild-android-arm64@npm:0.15.18": "a7f8c9e0547ea4aa046f14e102373a6e595ff99fd76113012504fcf218cbcf23ed36c8b64cdf59db68028107090b02873acdf77ec1bbe15749124fa2c8a5fed8", + "esbuild-darwin-64@npm:0.15.18": "517259f5a498085b42f8d3e59fd3b6bf4802b947f771bb353b26e5170a2133cd2d0aa803ea1db1a31552fb83cf6740fd30ccc8e2409a8fb067f2d3fe7191c796", + "esbuild-darwin-arm64@npm:0.15.18": "d45d707a5ae873b3f80493154d5f6b95da8c1f67ead57fccbaa9a2618502a00cb4d7d40a5f872ccc8ca63d2f69e3d4180cd6e620861a25bd8acd16cfb2e83427", + "esbuild-freebsd-64@npm:0.15.18": "5d9ac31f4e3b6d6f307aef8a036bee3980394d4d2d6635a5a284f1700c662c57df79647e3ca1d9132d3313bbeffd97a1b292ca491d2e7c7b8e90525f06178c0c", + "esbuild-freebsd-arm64@npm:0.15.18": "a69cb6d3b7b4b4bbd35631c971fee72dea76cfb57ed5e437a6b45134efbd41eafdad469c8333306a282753926c0e75a32e576b91421ffab9206c2bb852fe42da", + "esbuild-linux-32@npm:0.15.18": "7e62aba6dbb45eaa85870c7254906903fa581e0fccd68b3b722107e7f7093925920bd5e67ebd768ba923e760ee4b0e59ecf6e4cbde55428ebd3adc2469575889", + "esbuild-linux-64@npm:0.15.18": "04cf5274291fe54b7574731bd0b580973b592a5ba97cfca504fc91f554a8b85ed81ce11d199a7d961a360b4290775d6ac6b88ab08fa277b3dee3777cd5e2bb31", + "esbuild-linux-arm64@npm:0.15.18": "979045586d3374a368cb7b52518730d6f3e9d75a401f9c66bc9e4086b92886e9d5df780a3aaee964b4bb1c636a4e79a25ca561e8faec681d6020f1fcfb6d2540", + "esbuild-linux-arm@npm:0.15.18": "b44ba7dbecace5fa1d1ebe56580b71a6d247b51b2dabb213001fc5badf8742ac51e61f7467b9fde3e28c19a103e94f4b32b5f6a1eba0a799d6cd074623344107", + "esbuild-linux-mips64le@npm:0.15.18": "c0d4f17988428eb0e4fe6da8370611a2949c0349f10f0b6e2b09c6c4906833b8246ca8d1f2296e84136efbe1e9640305baac9b9c436234edbce2f4178839070d", + "esbuild-linux-ppc64le@npm:0.15.18": "76c3efe91f3300cd18ffc34503e1c03dd0fd7c9e4065a4db2de3461d720dd94653c111e691b6a1f6a183e7400bc6db6aadf9d6eec5f7d7fae5d9e5094e6a5cdf", + "esbuild-linux-riscv64@npm:0.15.18": "bd124d28ac4863a973abef6e2b48f5522a0ecab7c15418df97e88624d15f8f150be9eee1771ee160fe3bcd676f80f9dc413afef6ec0bb9dcd5056bbf0ef2abd7", + "esbuild-linux-s390x@npm:0.15.18": "94cc286975696f24fb196287e6cc18a21d09fe80c36787022054152ad7460e4704627bb2f7f5c338f80254eee881ae197ac74f249d762c7132f879701db59824", + "esbuild-netbsd-64@npm:0.15.18": "f7e431e02fb049f03a1b8ad3ebdc8bac78b4c9ed1cf3547588a57158b75abd584914eb6b28d75cfd885278d5e77efe35f71da4df26fe904cc54a53faf836c79a", + "esbuild-openbsd-64@npm:0.15.18": "ce3405759130951112dc6a78b307e2bf9ea01459cadd61ccb10f009ba5583923304a9f6905084867f1f2de89042876066a687f587d071f10f136b25f208f7d6d", + "esbuild-sunos-64@npm:0.15.18": "b1966d6ccb77b131d4cbfac2dfdadb7ce75228a1d90125c509bfba6d5bdbd3f3e1b559d83aca270207645cd2e20e22a6e3a8b05b5a28fa0b41a452df3c99c297", + "esbuild-windows-32@npm:0.15.18": "c8dc9b19b995b388fa5febe5fa8c83e10dfaeaae0ce6d3d0f213132a7c6f6160efa2cc194b6951b9d7c3996f07f6db541f6792d0f98fb9a505dbf065eb93a27c", + "esbuild-windows-64@npm:0.15.18": "5efe076a7148bbe50daadc26221099631a9ea561fb0a057705182042d1c87ce7921dc4ec98f851f35c2b099c73ad5fa7e395d87216890cdb10528966ac7c9268", + "esbuild-windows-arm64@npm:0.15.18": "84200ee2ef8fbeac72e1c31609819ea38da3979ba3499e1d153ff9e44048b14f91839e0f486cea643051d16d39e885045874fc1041e4d176ce414593c73aaa50" +} diff --git a/pkgs/by-name/co/cockpit-zfs/package.nix b/pkgs/by-name/co/cockpit-zfs/package.nix new file mode 100644 index 000000000000..ee49a41ac1ba --- /dev/null +++ b/pkgs/by-name/co/cockpit-zfs/package.nix @@ -0,0 +1,176 @@ +{ + acl, + bash, + coreutils, + fetchFromGitHub, + firewalld, + getent, + glibc, + iproute2, + jq, + lib, + lsscsi, + makeWrapper, + mbuffer, + msmtp, + nodejs, + openssh, + python312, + samba, + shadow, + smartmontools, + stdenv, + su, + systemd, + util-linux, + yarn-berry, + zfs, +}: + +let + # Using python312 because py-libzfs is not compatible with newer versions + python = ( + python312.withPackages (ps: [ + ps.pyudev + ps.py-libzfs + ]) + ); +in +stdenv.mkDerivation (finalAttrs: { + pname = "cockpit-zfs"; + version = "1.2.12-2"; + + src = fetchFromGitHub { + owner = "45Drives"; + repo = "cockpit-zfs"; + tag = "v${finalAttrs.version}"; + fetchSubmodules = true; + hash = "sha256-oeXSOxogfAazRsKfngq2+DOyo//wRJQSqm7gaCza4WY="; + }; + + missingHashes = ./missing-hashes.json; + + offlineCache = yarn-berry.fetchYarnBerryDeps { + inherit (finalAttrs) src missingHashes; + hash = "sha256-YnR1SqBGnxEQaGUGMNTHHEGcOIhuGbWnqMdr4eRGXcA="; + }; + + nativeBuildInputs = [ + makeWrapper + nodejs + jq + yarn-berry + yarn-berry.yarnBerryConfigHook + ]; + + passthru.cockpitPath = [ + acl + bash + coreutils + firewalld + getent + glibc + iproute2 + lsscsi + mbuffer + msmtp + nodejs + openssh + python + samba + shadow + smartmontools + su + systemd + util-linux + zfs + ]; + + env = { + # Disable post-install scripts that try to access network (electron, plantuml-pipe) + YARN_ENABLE_SCRIPTS = "0"; + ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; + }; + + patchPhase = + let + # houston-common-lib has @types/electron which pulls in electron. + # Electron's postinstall downloads binaries, which fails in sandbox. + # Since this is a Cockpit plugin (not an Electron app), we don't need electron. + houstonLibDir = "houston-common/houston-common-lib"; + houstonUiDir = "houston-common/houston-common-ui"; + in + '' + runHook prePatch + + # Remove electron type dependency + substituteInPlace ${houstonLibDir}/package.json \ + --replace-fail '"@types/electron": "^1.6.12",' "" + substituteInPlace ${houstonLibDir}/tsconfig.json \ + --replace-fail '"types": ["electron"]' '"types": []' + + # Skip TypeScript type checking (fails without electron types) + substituteInPlace ${houstonLibDir}/package.json \ + --replace-fail '"build": "tsc --noEmit && vite build"' '"build": "vite build"' + substituteInPlace ${houstonUiDir}/package.json \ + --replace-fail '"build": "run-p type-check \"build-only {@}\" --"' '"build": "vite build"' + + # Externalize vue and electron in houston-common-lib (peer dependencies) + substituteInPlace ${houstonLibDir}/vite.config.ts \ + --replace-fail 'external: (id) => {' 'external: (id) => { + if (id === "vue" || id.startsWith("vue/") || id === "electron" || id.startsWith("electron/")) return true;' + + # Disable VueDevTools and dts plugins (fail with Yarn PnP) + substituteInPlace ${houstonUiDir}/vite.config.ts \ + --replace-fail "import VueDevTools from 'vite-plugin-vue-devtools'" "" \ + --replace-fail "VueDevTools()," "" \ + --replace-fail "import dts from 'vite-plugin-dts'" "" + sed -i '/dts({/,/})/d' ${houstonUiDir}/vite.config.ts + + runHook postPatch + ''; + + buildPhase = '' + runHook preBuild + + yarn workspaces foreach -Rpt --from 'cockpit-zfs' run build + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out/share/cockpit/zfs + cp -r zfs/dist/* $out/share/cockpit/zfs/ + + if [ -d system_files ]; then + cp -r system_files/* $out/ + fi + + for script in $out/etc/zfs/zed.d/*; do + if [ -f "$script" ]; then + wrapProgram "$script" \ + --set PATH "${ + lib.makeBinPath [ + coreutils + bash + python + jq + ] + }" + fi + done + + runHook postInstall + ''; + + meta = { + description = "Cockpit plugin for ZFS management by 45Drives"; + homepage = "https://github.com/45Drives/cockpit-zfs"; + changelog = "https://github.com/45Drives/cockpit-zfs/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.gpl3Plus; + platforms = lib.platforms.linux; + maintainers = [ lib.maintainers.eymeric ]; + }; +}) From 5644a110aa8fc8df9a4612e9d14469e5a7029b55 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 12 Dec 2025 16:15:20 +0000 Subject: [PATCH 61/83] gitlogue: 0.5.0 -> 0.6.0 --- pkgs/by-name/gi/gitlogue/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/gi/gitlogue/package.nix b/pkgs/by-name/gi/gitlogue/package.nix index 09c274598dd1..97d4e98fbf38 100644 --- a/pkgs/by-name/gi/gitlogue/package.nix +++ b/pkgs/by-name/gi/gitlogue/package.nix @@ -11,16 +11,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "gitlogue"; - version = "0.5.0"; + version = "0.6.0"; src = fetchFromGitHub { owner = "unhappychoice"; repo = "gitlogue"; tag = "v${finalAttrs.version}"; - hash = "sha256-OKRgtWa1HbUgczuS0EdMgosuKPaZJhzIfjwKZAAaBCs="; + hash = "sha256-tcq0TIB9Mfm3kt2PInMto7g2VNpDsOvBiQGNP8+nFvY="; }; - cargoHash = "sha256-cq1bjOxuGJDRLoO0p5tmGF4IjUojXF52p/n6mugPdPg="; + cargoHash = "sha256-RZ+JiMy0zHu8aEn4ytRmFcvASRcsHDVK9ls77W7ann0="; nativeBuildInputs = [ pkg-config ]; From 804126a6c0817a40e5aa8a859dbc6400e01e2fc8 Mon Sep 17 00:00:00 2001 From: Thierry Delafontaine Date: Fri, 12 Dec 2025 16:29:29 +0000 Subject: [PATCH 62/83] aldente: 1.36.1 -> 1.36.2 --- pkgs/by-name/al/aldente/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/al/aldente/package.nix b/pkgs/by-name/al/aldente/package.nix index 8058f86d8305..27cd0341e2c0 100644 --- a/pkgs/by-name/al/aldente/package.nix +++ b/pkgs/by-name/al/aldente/package.nix @@ -8,11 +8,11 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "aldente"; - version = "1.36.1"; + version = "1.36.2"; src = fetchurl { url = "https://github.com/AppHouseKitchen/AlDente-Battery_Care_and_Monitoring/releases/download/${finalAttrs.version}/AlDente.dmg"; - hash = "sha256-iouXZv6dfLGawWtDH+/wGOogDjUoqp55BE2ADAAos0o="; + hash = "sha256-VeNEONO7wachGgCFDybH4tGaz58xlTG10S/rvm/S/Tc="; }; dontBuild = true; From 0f1a6fe23dd92114077591e29c9dde578c54fb69 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 12 Dec 2025 16:43:33 +0000 Subject: [PATCH 63/83] python3Packages.pymobiledevice3: 6.1.6 -> 6.2.0 --- pkgs/development/python-modules/pymobiledevice3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pymobiledevice3/default.nix b/pkgs/development/python-modules/pymobiledevice3/default.nix index de9d78259d89..9acb35471961 100644 --- a/pkgs/development/python-modules/pymobiledevice3/default.nix +++ b/pkgs/development/python-modules/pymobiledevice3/default.nix @@ -48,14 +48,14 @@ buildPythonPackage rec { pname = "pymobiledevice3"; - version = "6.1.6"; + version = "6.2.0"; pyproject = true; src = fetchFromGitHub { owner = "doronz88"; repo = "pymobiledevice3"; tag = "v${version}"; - hash = "sha256-RolQCmccQ+i9R5xGw5ah4GIMSVVcEEvRuvXERXejy5Y="; + hash = "sha256-Sc02p2zZb/CPYFU+lz6fe1UZgWhdJYH2/pSJ5gVE0iY="; }; build-system = [ From f735bfd655e871c264e560a4bc5d38d6a5123d76 Mon Sep 17 00:00:00 2001 From: wuyoli Date: Fri, 12 Dec 2025 18:24:58 +0100 Subject: [PATCH 64/83] typstPackages: sync with Typst Universe as of 2025-12-12 --- .../typst/typst-packages-from-universe.toml | 835 ++++++++++++++++++ 1 file changed, 835 insertions(+) diff --git a/pkgs/by-name/ty/typst/typst-packages-from-universe.toml b/pkgs/by-name/ty/typst/typst-packages-from-universe.toml index 14b1b51ecd42..f9daabe8b788 100644 --- a/pkgs/by-name/ty/typst/typst-packages-from-universe.toml +++ b/pkgs/by-name/ty/typst/typst-packages-from-universe.toml @@ -454,6 +454,16 @@ license = [ ] homepage = "https://github.com/stuxf/adaptable-pset" +[adaptive-dots."0.1.0"] +url = "https://packages.typst.org/preview/adaptive-dots-0.1.0.tar.gz" +hash = "sha256-Bc1hqDXG8HduhXZ3cdEIShfu4nZ6TKL3s7rOwBKsUVM=" +typstDeps = [] +description = "Adapt ellipsis dots to centered or baseline based on context, like LaTeX amsmath" +license = [ + "MIT", +] +homepage = "https://github.com/AJB-ajb/adaptive-dots" + [aero-check."0.1.1"] url = "https://packages.typst.org/preview/aero-check-0.1.1.tar.gz" hash = "sha256-rf9pPBnsXdxLW9r7iePL7VU61JP05g1m9L1Q6rsdmZQ=" @@ -509,6 +519,16 @@ license = [ ] homepage = "https://github.com/a-mhamdi/ailab-isetbz" +[aio-studi-and-thesis."0.1.4"] +url = "https://packages.typst.org/preview/aio-studi-and-thesis-0.1.4.tar.gz" +hash = "sha256-IqyWMbHqHMycbNHU0xZNF7jbOEKjL526h7pT6u0oI7E=" +typstDeps = [] +description = "All-in-one template for students and theses" +license = [ + "MIT", +] +homepage = "https://github.com/fuchs-fabian/typst-template-aio-studi-and-thesis" + [aio-studi-and-thesis."0.1.3"] url = "https://packages.typst.org/preview/aio-studi-and-thesis-0.1.3.tar.gz" hash = "sha256-VsyMwnkTI1BnBczhxyRWc93tamvJ9sp4gAP0bOpsRIs=" @@ -1566,6 +1586,16 @@ license = [ ] homepage = "https://github.com/aargar1/atomic" +[atostate."1.0.0"] +url = "https://packages.typst.org/preview/atostate-1.0.0.tar.gz" +hash = "sha256-3stlcaDVBjB3lTu+KWIh5wQH4WPqPZWHIGeRDfllPAs=" +typstDeps = [] +description = "Conveniently typeset atomic states" +license = [ + "MIT", +] +homepage = "https://gitlab.com/seamsay-xyz/AtoState/Typst.git" + [ats-friendly-resume."0.1.1"] url = "https://packages.typst.org/preview/ats-friendly-resume-0.1.1.tar.gz" hash = "sha256-8lsTVodasic/r6cZGcXdkk5uVpX8/oRQqDT3vVkFHgM=" @@ -1598,6 +1628,42 @@ license = [ ] homepage = "https://github.com/euwbah/typst-packages/tree/auto-div" +[auto-jrubby."0.3.0"] +url = "https://packages.typst.org/preview/auto-jrubby-0.3.0.tar.gz" +hash = "sha256-x4IWisLNoooIrSiBXj2OkPATwrgsY3GQIRybvpa4L1w=" +typstDeps = [ + "rubby_0_10_2", +] +description = "Automatic Ruby Generation" +license = [ + "AGPL-3.0-or-later", +] +homepage = "https://github.com/rice8y/auto-jrubby" + +[auto-jrubby."0.2.0"] +url = "https://packages.typst.org/preview/auto-jrubby-0.2.0.tar.gz" +hash = "sha256-0ZD7M7uDQUF+I5RLIFo/mOJmYpsGioIFdbSQCpnO9EU=" +typstDeps = [ + "rubby_0_10_2", +] +description = "Automatic Ruby Generation" +license = [ + "AGPL-3.0-or-later", +] +homepage = "https://github.com/rice8y/auto-jrubby" + +[auto-jrubby."0.1.0"] +url = "https://packages.typst.org/preview/auto-jrubby-0.1.0.tar.gz" +hash = "sha256-aYmP9+y22Zf7WWk8AYoKarpOqwolJ9f75exVHY63iTc=" +typstDeps = [ + "rubby_0_10_2", +] +description = "Automatic Ruby Generation" +license = [ + "AGPL-3.0-or-later", +] +homepage = "https://github.com/rice8y/auto-jrubby" + [autofletcher."0.1.1"] url = "https://packages.typst.org/preview/autofletcher-0.1.1.tar.gz" hash = "sha256-ELyFlfYqV8unjzWmNs9FfDOifSAUYBOgt4R7ZzCQRdg=" @@ -2620,6 +2686,23 @@ license = [ "Apache-2.0", ] +[bookly."1.1.1"] +url = "https://packages.typst.org/preview/bookly-1.1.1.tar.gz" +hash = "sha256-aNpYcc7iO+FEA6NKhDWpYqhSZFQ50dZy5ukbEZHpgFM=" +typstDeps = [ + "drafting_0_2_2", + "equate_0_3_2", + "hydra_0_6_2", + "showybox_2_0_4", + "suboutline_0_3_0", + "subpar_0_2_2", +] +description = "Book template for Typst" +license = [ + "MIT", +] +homepage = "https://github.com/maucejo/book_template" + [bookly."1.1.0"] url = "https://packages.typst.org/preview/bookly-1.1.0.tar.gz" hash = "sha256-pDRNwpALRhhoDWN2JtZbXehLLJ0rJulDetUy50k5ZPY=" @@ -2760,6 +2843,18 @@ license = [ ] homepage = "https://github.com/tndrle/briefs" +[brilliant-cv."3.1.1"] +url = "https://packages.typst.org/preview/brilliant-cv-3.1.1.tar.gz" +hash = "sha256-g+TrJAUxdMV6zola36MNWBweZRqzPlvc+BlwZ8bsEmg=" +typstDeps = [ + "fontawesome_0_6_0", +] +description = "💼 another CV template for your job application, yet powered by Typst and more" +license = [ + "Apache-2.0", +] +homepage = "https://github.com/yunanwg/brilliant-CV" + [brilliant-cv."2.0.8"] url = "https://packages.typst.org/preview/brilliant-cv-2.0.8.tar.gz" hash = "sha256-1p0dBxmEtnQzPF+Xky1URiCjDRP+eIXdujQN1ka6O4M=" @@ -3117,6 +3212,18 @@ license = [ ] homepage = "https://github.com/cu1ch3n/caidan" +[caletz."0.1.0"] +url = "https://packages.typst.org/preview/caletz-0.1.0.tar.gz" +hash = "sha256-rrUpyTzDJl9ut6klrD1JIpujzG2WOzusY2uCT869ICw=" +typstDeps = [ + "cetz_0_4_2", +] +description = "Visualizes Calabi–Yau manifolds" +license = [ + "MIT", +] +homepage = "https://github.com/rice8y/caletz" + [callisto."0.2.4"] url = "https://packages.typst.org/preview/callisto-0.2.4.tar.gz" hash = "sha256-tXrlQemxWFQlIdr6Hv4wn74gZz+kkohFhafosxGfi0c=" @@ -3835,6 +3942,16 @@ license = [ ] homepage = "https://github.com/JamesxX/typst-chem-par" +[chemformula."0.1.1"] +url = "https://packages.typst.org/preview/chemformula-0.1.1.tar.gz" +hash = "sha256-ARcBJtZEkawmU0DsIN/qjmZXYkH3C6N9NvUKTkExTo4=" +typstDeps = [] +description = "Extensible chemical formula formatter" +license = [ + "MIT", +] +homepage = "https://github.com/pacaunt/chemformula" + [chemformula."0.1.0"] url = "https://packages.typst.org/preview/chemformula-0.1.0.tar.gz" hash = "sha256-yjcPTBo+z2ZXMW2tXoxyhKH5IyKtZDDm9VHY1+C79G8=" @@ -4669,6 +4786,16 @@ license = [ ] homepage = "https://github.com/roland-KA/clean-dhbw-typst-template" +[clean-ensam."0.1.0"] +url = "https://packages.typst.org/preview/clean-ensam-0.1.0.tar.gz" +hash = "sha256-nAHY5BYhk+MOaQ6h7/2G01SZ1qVDBUxq2BA1cGtxGw0=" +typstDeps = [] +description = "Write academic reports for ENSAM Rabat" +license = [ + "MIT", +] +homepage = "https://github.com/ahmed-bahlaoui/clean-ensam" + [clean-hda."0.2.0"] url = "https://packages.typst.org/preview/clean-hda-0.2.0.tar.gz" hash = "sha256-6B+DQmhUw6m8gGH5QEqJKSt1c4vPgaJZeiIkoxEZMfc=" @@ -4698,6 +4825,20 @@ license = [ ] homepage = "https://github.com/stefan-ctrl/clean-hda-typst-template" +[clean-hwr."0.1.5"] +url = "https://packages.typst.org/preview/clean-hwr-0.1.5.tar.gz" +hash = "sha256-6EG/DYsncerdOaXcrpmaQLFBh4rN5AxVEk8lz/BFZLU=" +typstDeps = [ + "acrostiche_0_7_0", + "glossarium_0_5_9", + "wordometer_0_1_5", +] +description = "A simple and good looking template for the Berlin School for Economics and Law" +license = [ + "MIT", +] +homepage = "https://github.com/testspieler09/clean-hwr" + [clean-hwr."0.1.4"] url = "https://packages.typst.org/preview/clean-hwr-0.1.4.tar.gz" hash = "sha256-1/Bi1Vkr4fO+2f/U8RyX8UMukFmV6pdFcOVIvhbqnao=" @@ -4972,6 +5113,20 @@ license = [ ] homepage = "https://github.com/sebaseb98/clean-math-thesis" +[clean-othaw."0.3.2"] +url = "https://packages.typst.org/preview/clean-othaw-0.3.2.tar.gz" +hash = "sha256-I1RlEI7D64UmbbhSXo0vvGksdprT/BTuOwJ77Pz43c0=" +typstDeps = [ + "codelst_2_0_2", + "glossarium_0_5_6", + "hydra_0_6_1", +] +description = "A typst template for OTH Amberg-Weiden" +license = [ + "MIT", +] +homepage = "https://codeberg.org/ruebe5w/clean-othaw" + [clean-uoft-thesis."0.1.0"] url = "https://packages.typst.org/preview/clean-uoft-thesis-0.1.0.tar.gz" hash = "sha256-r+ojrTHkXSjQJD0nyQXbu8YgybLcP8Zr4LZPU/Zcwsg=" @@ -5080,6 +5235,16 @@ license = [ ] homepage = "https://gitlab.com/hartang/typst/cloudy" +[cmarker."0.1.8"] +url = "https://packages.typst.org/preview/cmarker-0.1.8.tar.gz" +hash = "sha256-gM9Rz5rBuz+AbN9nxAKcDhhaMmxMd09oQ8hMa4lK6Ow=" +typstDeps = [] +description = "Transpile CommonMark Markdown to Typst, from within Typst" +license = [ + "MIT", +] +homepage = "https://github.com/SabrinaJewson/cmarker.typ" + [cmarker."0.1.7"] url = "https://packages.typst.org/preview/cmarker-0.1.7.tar.gz" hash = "sha256-ws+3x8u6nUOYZlXJzKJbFIHNUM9gdPYgSvOs+NfgclY=" @@ -5370,6 +5535,16 @@ license = [ ] homepage = "https://github.com/Dherse/codly" +[codly."0.2.0"] +url = "https://packages.typst.org/preview/codly-0.2.0.tar.gz" +hash = "sha256-AGEE/CuUnHnG0Jqr0YpkpI9cXKbGjn5FBH9Me4xyDSA=" +typstDeps = [] +description = "Codly is a beautiful code presentation template" +license = [ + "MIT", +] +homepage = "https://github.com/Dherse/codly" + [codly."0.1.0"] url = "https://packages.typst.org/preview/codly-0.1.0.tar.gz" hash = "sha256-qbJTEQu2fF/aUR/uNLb7H2vnfdoucPGteNY+i1OTddE=" @@ -5504,6 +5679,16 @@ license = [ ] homepage = "https://github.com/swaits/typst-collection" +[cogsci-conference."0.1.1"] +url = "https://packages.typst.org/preview/cogsci-conference-0.1.1.tar.gz" +hash = "sha256-8CplOeNbzzPsFsFIvGlnu8fZp8UTvjpuCHpbx4L0EAY=" +typstDeps = [] +description = "CogSci template for submissions to the Annual Conference of the Cognitive Science Society" +license = [ + "MIT", +] +homepage = "https://github.com/daeh/cogsci-typst-template" + [cogsci-conference."0.1.0"] url = "https://packages.typst.org/preview/cogsci-conference-0.1.0.tar.gz" hash = "sha256-91r9O76QqutjEkng9zNRdc/2ZS686x8rPRRbhn15di0=" @@ -6625,6 +6810,20 @@ license = [ ] homepage = "https://github.com/Jeomhps/datify-core" +[deal-us-tfc-template."1.1.0"] +url = "https://packages.typst.org/preview/deal-us-tfc-template-1.1.0.tar.gz" +hash = "sha256-7km2ERzTY0oPKTZp+IxTr2DIaMr4VayB0kUZq6xvJ6w=" +typstDeps = [ + "codly_1_3_0", + "codly-languages_0_1_1", + "hydra_0_6_2", + "outrageous_0_4_0", +] +description = "Template for TFCs at ETSII directed by the DEAL group" +license = [ + "MIT-0", +] + [deal-us-tfc-template."1.0.0"] url = "https://packages.typst.org/preview/deal-us-tfc-template-1.0.0.tar.gz" hash = "sha256-pX7LRdIKJqhMgdPYOg/s0LGGfAe8NSNXa71NsLdbiMY=" @@ -7605,6 +7804,26 @@ license = [ ] homepage = "https://github.com/syqwq-OMG/ecnu-math-hwk" +[edgeframe."0.3.0"] +url = "https://packages.typst.org/preview/edgeframe-0.3.0.tar.gz" +hash = "sha256-QjjnDg4mllJ8YDbp994MqAdjkwT4cg4tujexaTX+iKI=" +typstDeps = [] +description = "For quick paper setups" +license = [ + "MIT", +] +homepage = "https://github.com/neuralpain/edgeframe" + +[edgeframe."0.2.0"] +url = "https://packages.typst.org/preview/edgeframe-0.2.0.tar.gz" +hash = "sha256-uWKdReorYO/T9hq0l2F24HkUFC3JO2CxkvpbYtvRC3I=" +typstDeps = [] +description = "For quick paper setups" +license = [ + "MIT", +] +homepage = "https://github.com/neuralpain/edgeframe" + [edgeframe."0.1.0"] url = "https://packages.typst.org/preview/edgeframe-0.1.0.tar.gz" hash = "sha256-AVXSce2K+PcxHjtkm3PEChbsDIISnOqZmbA4Yl6i/J4=" @@ -8490,6 +8709,26 @@ license = [ ] homepage = "https://github.com/gbchu/ezchem.git" +[ezexam."0.2.7"] +url = "https://packages.typst.org/preview/ezexam-0.2.7.tar.gz" +hash = "sha256-H9BqMu4NNAkQ+s/1vKYjINpTcL8r3mHs9yVSuuzG74g=" +typstDeps = [] +description = "An exam template inspired by the LaTeX package exam-zh and also can make handouts" +license = [ + "MIT", +] +homepage = "https://github.com/gbchu/ezexam.git" + +[ezexam."0.2.6"] +url = "https://packages.typst.org/preview/ezexam-0.2.6.tar.gz" +hash = "sha256-dbpQfUvdgt5EWi6tBgowg7wa3OfJy1oNu+T1sAmgpVY=" +typstDeps = [] +description = "An exam template inspired by the LaTeX package exam-zh and also can make handouts" +license = [ + "MIT", +] +homepage = "https://github.com/gbchu/ezexam.git" + [ezexam."0.2.5"] url = "https://packages.typst.org/preview/ezexam-0.2.5.tar.gz" hash = "sha256-QGsSrj9OdZ7Ld5GCjlwnyQ0IVKxYJuNxY147TAigrcw=" @@ -8640,6 +8879,16 @@ license = [ ] homepage = "https://github.com/gbchu/ezexam.git" +[ezexam."0.1.0"] +url = "https://packages.typst.org/preview/ezexam-0.1.0.tar.gz" +hash = "sha256-uIcH1+dMpkwa+zO+a1Q8v8FDEJ21pj5fAAWWmryFqEc=" +typstDeps = [] +description = "A test paper and lecture notes template inspired by the LaTeX package exam-zh" +license = [ + "MIT", +] +homepage = "https://github.com/gbchu/ezexam.git" + [fancy-affil."0.1.0"] url = "https://packages.typst.org/preview/fancy-affil-0.1.0.tar.gz" hash = "sha256-3w4k0AfmEp+wvXIkC1koKjIQxkQm3zLBrNgNh7IfNw0=" @@ -9596,6 +9845,19 @@ license = [ ] homepage = "https://github.com/Brndan/lettre" +[forum-acusticum-2026."0.1.0"] +url = "https://packages.typst.org/preview/forum-acusticum-2026-0.1.0.tar.gz" +hash = "sha256-41a7WuO6FdbApZP3n7mhv7+m4pkwDjtw1wAFdzCBNqo=" +typstDeps = [ + "pubmatter_0_2_2", + "unify_0_7_1", +] +description = "Proceedings of the EAA Forum Acusticum 2026 conference in Graz, Austria" +license = [ + "MIT", +] +homepage = "https://git.iem.at/fa26-templates/fa26-typst-template" + [frackable."0.2.0"] url = "https://packages.typst.org/preview/frackable-0.2.0.tar.gz" hash = "sha256-IbKUPIcWNBgzLCSyiw4hF2CEL6bVj6ygs2fyy3ZZB30=" @@ -9704,6 +9966,16 @@ license = [ ] homepage = "https://github.com/liuguangxi/fractusist" +[frame-it."2.0.0"] +url = "https://packages.typst.org/preview/frame-it-2.0.0.tar.gz" +hash = "sha256-YXkMw1kWlcKVnPlMiI5jRwhP2ezhT2qVSCvzYqHocsw=" +typstDeps = [] +description = "Beautiful, flexible, and integrated. Display custom frames for theorems, environments, and more. Attractive visuals with syntax that blends seamlessly into the source" +license = [ + "MIT", +] +homepage = "https://github.com/marc-thieme/frame-it" + [frame-it."1.2.0"] url = "https://packages.typst.org/preview/frame-it-1.2.0.tar.gz" hash = "sha256-DWn68Fo+tw//7J9SGE0BmhoXB/Rtv9Y4tsvxWssAhqI=" @@ -9943,6 +10215,19 @@ license = [ ] homepage = "https://github.com/MatheSchool/typst-g-exam" +[g-exam."0.4.0"] +url = "https://packages.typst.org/preview/g-exam-0.4.0.tar.gz" +hash = "sha256-9og+m/vp1pFckEnQvug6C3Si8MU2iP5Mo109df4K4h4=" +typstDeps = [ + "oxifmt_0_2_0", + "oxifmt_0_2_1", +] +description = "Create exams with student information, grade chart, score control, questions, and sub-questions" +license = [ + "MIT", +] +homepage = "https://github.com/MatheSchool/typst-g-exam" + [g-exam."0.3.2"] url = "https://packages.typst.org/preview/g-exam-0.3.2.tar.gz" hash = "sha256-lStEam+Du2Zfb8NzVciMfsm1hruB3Y7OOV17956+cyk=" @@ -10921,6 +11206,16 @@ license = [ ] homepage = "https://github.com/piepert/grape-suite" +[grayness."0.5.0"] +url = "https://packages.typst.org/preview/grayness-0.5.0.tar.gz" +hash = "sha256-svgS7Ze3G56KVa9M7Qcmsgg2CLM+w6Gy4OPFafAwiNE=" +typstDeps = [] +description = "Simple image editing capabilities like converting to grayscale and cropping via a WASM plugin" +license = [ + "Apache-2.0", +] +homepage = "https://github.com/nineff/grayness" + [grayness."0.4.1"] url = "https://packages.typst.org/preview/grayness-0.4.1.tar.gz" hash = "sha256-Qb0zbsAe+VUjVqoH7MjMp0ZSswCoRaqW3Sa/1uk9KfQ=" @@ -11001,6 +11296,16 @@ license = [ ] homepage = "https://github.com/jbirnick/typst-great-theorems" +[griddle."0.2.1"] +url = "https://packages.typst.org/preview/griddle-0.2.1.tar.gz" +hash = "sha256-PRRuRiCeohdspe8m2m9MV1t4M7f3h13O4eLhhLUr3pY=" +typstDeps = [] +description = "Design and visualize crossword puzzles" +license = [ + "GPL-3.0-or-later", +] +homepage = "https://github.com/micheledusi/Griddle" + [griddle."0.2.0"] url = "https://packages.typst.org/preview/griddle-0.2.0.tar.gz" hash = "sha256-FK20bs4kRQfBjOMZUfyqxEDtecTNWPgDd+fqTP42foE=" @@ -11405,6 +11710,16 @@ license = [ ] homepage = "https://codeberg.org/hannesknoll/hannes-thesis" +[hanzi-calligraphy."0.1.1"] +url = "https://packages.typst.org/preview/hanzi-calligraphy-0.1.1.tar.gz" +hash = "sha256-2JRNos18DrGwoe6dkEyUggjFFbbV4Jfw6/5JX4FKNl4=" +typstDeps = [] +description = "用于书法练习的田字格模板。A calligraphy practice template" +license = [ + "MIT", +] +homepage = "https://github.com/yuegeao/hanzi-calligraphy" + [hanzi-calligraphy."0.1.0"] url = "https://packages.typst.org/preview/hanzi-calligraphy-0.1.0.tar.gz" hash = "sha256-fWpqyCuAZkmK/YY0qVGL4ohbjo2d6gn/Ot60tQj49aE=" @@ -12574,6 +12889,16 @@ license = [ ] homepage = "https://github.com/tshort/hyperscript" +[hypraw."0.1.0"] +url = "https://packages.typst.org/preview/hypraw-0.1.0.tar.gz" +hash = "sha256-yVYf6KlBs7qMmOoQQmMsxTZD8RgH6+jMPr9gJPbIHww=" +typstDeps = [] +description = "A lightweight package for creating headless code blocks optimized for HTML export" +license = [ + "MIT", +] +homepage = "https://github.com/QuadnucYard/typst-hypraw" + [i-am-acro."0.1.3"] url = "https://packages.typst.org/preview/i-am-acro-0.1.3.tar.gz" hash = "sha256-S/PHqBJIpNdCOnNs5mZliCd21r8DFzF2yOM2DeSfe68=" @@ -13093,6 +13418,16 @@ license = [ ] homepage = "https://github.com/talal/ilm" +[ilm."1.1.0"] +url = "https://packages.typst.org/preview/ilm-1.1.0.tar.gz" +hash = "sha256-xBIOaQhabgiCERKlDIcDU5NoYr7bdOuPiD6keVdrObY=" +typstDeps = [] +description = "Versatile and minimal template for non-fiction writing. Ideal for class notes, report, and books" +license = [ + "MIT-0", +] +homepage = "https://github.com/talal/ilm" + [ilm."1.0.0"] url = "https://packages.typst.org/preview/ilm-1.0.0.tar.gz" hash = "sha256-tJh5S4ZTPJDdkkgBs2nrpevEgEppEFPZlKtsPiz3BUM=" @@ -13384,6 +13719,18 @@ license = [ "MIT", ] +[inknertia."0.1.0"] +url = "https://packages.typst.org/preview/inknertia-0.1.0.tar.gz" +hash = "sha256-Ymrk5MQYliGCO42eMCOgeLVCyeQlsYLxIqMUFGXEs+0=" +typstDeps = [ + "cetz_0_4_2", +] +description = "Draw physics diagrams (Feynman, spacetime, etc.) in a simpler way" +license = [ + "MIT", +] +homepage = "https://github.com/ploliver/inknertia" + [intextual."0.1.1"] url = "https://packages.typst.org/preview/intextual-0.1.1.tar.gz" hash = "sha256-9CP/VUh41EhH7pBOsAupE94qSV6gi6lOPJuF5iv684k=" @@ -13950,6 +14297,16 @@ license = [ ] homepage = "https://github.com/raygo0312/jastylest.git" +[jastylest."0.1.0"] +url = "https://packages.typst.org/preview/jastylest-0.1.0.tar.gz" +hash = "sha256-PCCVfomVgNn6R4R77vwK99tOV+0Dn618SJkPxnHTa4o=" +typstDeps = [] +description = "You can set up style templates for writing reports, papers, and slides in Japanese. It works similarly to LaTeX" +license = [ + "MIT-0", +] +homepage = "https://github.com/raygo0312/jastylest.git" + [jastylest-zh."0.1.1"] url = "https://packages.typst.org/preview/jastylest-zh-0.1.1.tar.gz" hash = "sha256-3uAg9oFE0K3dmNJqJHvVnreHTPmXPgsnmCPc1f8SfOQ=" @@ -14836,6 +15193,16 @@ license = [ ] homepage = "https://code.everydayimshuflin.com/greg/typst-lepizig-glossing" +[lemmify."0.1.8"] +url = "https://packages.typst.org/preview/lemmify-0.1.8.tar.gz" +hash = "sha256-OUgZ657tLaEY0bGlN4RomRI7uh0WGXKDcAvgnxaDpNo=" +typstDeps = [] +description = "Theorem typesetting library" +license = [ + "GPL-3.0-only", +] +homepage = "https://github.com/Marmare314/lemmify" + [lemmify."0.1.7"] url = "https://packages.typst.org/preview/lemmify-0.1.7.tar.gz" hash = "sha256-wOOv1/zMELqct7xR9E8NhEkZrAUZjxrNpAmHC7GWpYk=" @@ -15045,6 +15412,18 @@ license = [ ] homepage = "https://github.com/AnsgarLichter/cv-typst-template" +[light-report-uia."0.1.1"] +url = "https://packages.typst.org/preview/light-report-uia-0.1.1.tar.gz" +hash = "sha256-jABLoOGkA9/PxFL/fJ6oDiMLzQf+0VJGW1QF3kTQOjg=" +typstDeps = [ + "codly_1_3_0", +] +description = "Template for reports at the University of Agder" +license = [ + "MIT", +] +homepage = "https://github.com/sebastos1/light-report-uia" + [light-report-uia."0.1.0"] url = "https://packages.typst.org/preview/light-report-uia-0.1.0.tar.gz" hash = "sha256-7cu9FpnqoZZjtAkQlt0IGSdndnifRGTaPCSzf/60v7k=" @@ -15761,6 +16140,16 @@ license = [ ] homepage = "https://github.com/EpicEricEE/typst-marge" +[marginalia."0.3.1"] +url = "https://packages.typst.org/preview/marginalia-0.3.1.tar.gz" +hash = "sha256-ChnB60lkk7UJSt/kVlzMnfGDP3t1VYx0xRUp/8m/xJk=" +typstDeps = [] +description = "Configurable margin-notes with smart positioning and matching wide-blocks" +license = [ + "Unlicense", +] +homepage = "https://github.com/nleanba/typst-marginalia" + [marginalia."0.3.0"] url = "https://packages.typst.org/preview/marginalia-0.3.0.tar.gz" hash = "sha256-GkXbKa+z+8AULWM6SujWvuOBhPvvwNvWN7c5oSY2evw=" @@ -16719,6 +17108,19 @@ license = [ ] homepage = "https://github.com/flavio20002/typst-presentation-minimal-template" +[minimal-thesis-luebeck."0.9.0"] +url = "https://packages.typst.org/preview/minimal-thesis-luebeck-0.9.0.tar.gz" +hash = "sha256-d5EcDiUl7mnzcFCjsi13jtlgMrEfq58EHr0RhL0JoBg=" +typstDeps = [ + "abbr_0_3_0", + "hydra_0_6_2", +] +description = "A minimalistic template for writing a thesis" +license = [ + "MIT", +] +homepage = "https://github.com/fhemstra/minimal-thesis-luebeck" + [minimal-thesis-luebeck."0.8.0"] url = "https://packages.typst.org/preview/minimal-thesis-luebeck-0.8.0.tar.gz" hash = "sha256-OcV2RAzGpR2UNFeU3W7HM3n6M+t+viubK4r44NszJpk=" @@ -17016,6 +17418,20 @@ license = [ ] homepage = "https://github.com/OrangeX4/mitex" +[modern-acad-cv."0.1.5"] +url = "https://packages.typst.org/preview/modern-acad-cv-0.1.5.tar.gz" +hash = "sha256-DXEVA2NnyNOD/mQKSVDudK7dYY9KWygDMoNK1I6hGVA=" +typstDeps = [ + "datify_1_0_0", + "fontawesome_0_6_0", + "use-academicons_0_1_0", +] +description = "A CV template for academics based on moderncv LaTeX package" +license = [ + "MIT", +] +homepage = "https://github.com/philkleer/typst-modern-acad-cv" + [modern-acad-cv."0.1.4"] url = "https://packages.typst.org/preview/modern-acad-cv-0.1.4.tar.gz" hash = "sha256-FPgeJ02NPf8LJkluLdlus2oQCjQHtuqaKJB3ufjiOlo=" @@ -18027,6 +18443,32 @@ license = [ ] homepage = "https://github.com/peterpf/modern-typst-resume" +[modern-ruc-thesis."0.1.1"] +url = "https://packages.typst.org/preview/modern-ruc-thesis-0.1.1.tar.gz" +hash = "sha256-n2gTVXXKdPQ4KX3ViGrELze+7/VvoFmgTFW2Olnu+bU=" +typstDeps = [ + "cuti_0_4_0", + "pointless-size_0_1_2", +] +description = "中国人民大学本科生毕业论文 Typst 模板。Modern Renmin University of China Thesis" +license = [ + "MIT", +] +homepage = "https://github.com/ruc-thesis/modern-ruc-thesis" + +[modern-ruc-thesis."0.1.0"] +url = "https://packages.typst.org/preview/modern-ruc-thesis-0.1.0.tar.gz" +hash = "sha256-BWPvloeOi/ZPMyC6rccLcFuAnZ2fuhzj0DcuPAnpz5A=" +typstDeps = [ + "cuti_0_4_0", + "pointless-size_0_1_2", +] +description = "中国人民大学本科生毕业论文模板。Modern Renmin University of China Thesis" +license = [ + "MIT", +] +homepage = "https://github.com/ruc-thesis/modern-ruc-thesis" + [modern-russian-dissertation."0.0.1"] url = "https://packages.typst.org/preview/modern-russian-dissertation-0.0.1.tar.gz" hash = "sha256-dFgLnAx1rwcVmwu6vogKMmR8i+7wBntylDsZZcgXQ+U=" @@ -18294,6 +18736,21 @@ license = [ ] homepage = "https://github.com/tzhTaylor/modern-sjtu-thesis" +[modern-sjtu-thesis."0.2.0"] +url = "https://packages.typst.org/preview/modern-sjtu-thesis-0.2.0.tar.gz" +hash = "sha256-dfcBB5kKYE/5GyX/QA+f+rwMVBHooOOcyEvzFAdC7RY=" +typstDeps = [ + "a2c-nums_0_0_1", + "cuti_0_3_0", + "i-figured_0_2_4", + "numbly_0_1_0", +] +description = "上海交通大学学位论文 Typst 模板。Shanghai Jiao Tong University Thesis Typst Template" +license = [ + "MIT", +] +homepage = "https://github.com/tzhTaylor/modern-sjtu-thesis" + [modern-sjtu-thesis."0.1.2"] url = "https://packages.typst.org/preview/modern-sjtu-thesis-0.1.2.tar.gz" hash = "sha256-ftyfROArD2TG5cZI0dcJ3ebfqdWnMNpWNDPRlbXlspc=" @@ -18454,6 +18911,23 @@ license = [ ] homepage = "https://github.com/sysu/modern-sysu-touying" +[modern-szu-thesis."0.4.0"] +url = "https://packages.typst.org/preview/modern-szu-thesis-0.4.0.tar.gz" +hash = "sha256-Tz3zDaCYNfLGuzSSdTnrkV+pX/uo/MPGSGwfFiPlKEg=" +typstDeps = [ + "cuti_0_3_0", + "hydra_0_6_0", + "i-figured_0_2_4", + "numbly_0_1_0", + "pinit_0_2_2", + "tablex_0_0_9", +] +description = "深圳大学学位论文模板由南京大学学位论文模板修改而成。Modern Shenzhen University Thesis is modified from modern-nju-thesis" +license = [ + "MIT", +] +homepage = "https://gitee.com/yjdyamv/modern-szu-thesis" + [modern-szu-thesis."0.3.0"] url = "https://packages.typst.org/preview/modern-szu-thesis-0.3.0.tar.gz" hash = "sha256-PAnKU0ccuZITAL+anqSACkYMzNqXKHmGS0kg5skjSgA=" @@ -19013,6 +19487,18 @@ license = [ ] homepage = "https://github.com/pavelzw/moderner-cv" +[modernpro-coverletter."0.0.8"] +url = "https://packages.typst.org/preview/modernpro-coverletter-0.0.8.tar.gz" +hash = "sha256-8TsyXOSsDAIvcJZNxouoIAux/MQPmVtRZsdngt77dQg=" +typstDeps = [ + "fontawesome_0_6_0", +] +description = "A cover letter template with modern Sans font for job applications and other formal letters" +license = [ + "MIT", +] +homepage = "https://github.com/jxpeng98/typst-coverletter" + [modernpro-coverletter."0.0.7"] url = "https://packages.typst.org/preview/modernpro-coverletter-0.0.7.tar.gz" hash = "sha256-vnwdrdqqHvOsRuowpSRRz9ISLTb0g2LIhpwikwWmr5E=" @@ -19185,6 +19671,20 @@ license = [ ] homepage = "https://github.com/SillyFreak/typst-moodular" +[mtret."0.1.0"] +url = "https://packages.typst.org/preview/mtret-0.1.0.tar.gz" +hash = "sha256-ENlVrYOxeSGOwSLAyOxuafbkX4X5mxOh88ZNM74pJgs=" +typstDeps = [ + "cjk-unbreak_0_2_1", + "enja-bib_0_1_0", + "zebraw_0_6_1", +] +description = "Modular Typst REport sTyle for ja students" +license = [ + "MIT", +] +homepage = "https://github.com/hinshiba/MTReT" + [muchpdf."0.1.2"] url = "https://packages.typst.org/preview/muchpdf-0.1.2.tar.gz" hash = "sha256-5cOmp2fjbC21WgIlLhzI+ruldourhMHoDXjQ8pNgCoc=" @@ -19542,6 +20042,30 @@ license = [ ] homepage = "https://gitlab.com/TuTiuTe/typst-nerdfont" +[neural-netz."0.3.0"] +url = "https://packages.typst.org/preview/neural-netz-0.3.0.tar.gz" +hash = "sha256-9+SrpR2kYThQbPgRa97p9mF6w5ONKXhZGT4QjsxcqmQ=" +typstDeps = [ + "cetz_0_4_2", +] +description = "Visualize Neural Network Architectures with high-quality diagrams" +license = [ + "MIT-0", +] +homepage = "https://github.com/edgaremy/neural-netz" + +[neural-netz."0.2.0"] +url = "https://packages.typst.org/preview/neural-netz-0.2.0.tar.gz" +hash = "sha256-GPXpFAuDauQ+jNSJrlDZ5nrBFFh5kiEV6Ph5q3Bdbvs=" +typstDeps = [ + "cetz_0_4_2", +] +description = "Visualize Neural Network Architectures with high-quality diagrams" +license = [ + "MIT-0", +] +homepage = "https://github.com/edgaremy/neural-netz" + [neural-netz."0.1.0"] url = "https://packages.typst.org/preview/neural-netz-0.1.0.tar.gz" hash = "sha256-P+UCVkBAunctC0leECJ6sTP6wxCcSJTuGdVOePVnJ3s=" @@ -19735,6 +20259,16 @@ license = [ ] homepage = "https://github.com/mohe2015/not-tudabeamer-2023" +[note-me."0.6.0"] +url = "https://packages.typst.org/preview/note-me-0.6.0.tar.gz" +hash = "sha256-jnkpzcEDLPfNDyxVC0yl1W/Wz+o03hO2jzTCumA/Gp4=" +typstDeps = [] +description = "Adds GitHub-style Admonitions (Alerts) to Typst" +license = [ + "MIT", +] +homepage = "https://github.com/FlandiaYingman/note-me" + [note-me."0.5.0"] url = "https://packages.typst.org/preview/note-me-0.5.0.tar.gz" hash = "sha256-ayFptayKIUIMeSxBI/LJtrzCTTd0uhbGek9VM0CFnMY=" @@ -20274,6 +20808,16 @@ license = [ ] homepage = "https://github.com/v411e/optimal-ovgu-thesis" +[orange-book."0.6.2"] +url = "https://packages.typst.org/preview/orange-book-0.6.2.tar.gz" +hash = "sha256-IXvHETU/bDZWu4SC63gFs0Fy3R5nyAWVLiSEJY6zytk=" +typstDeps = [] +description = "A book template inspired by The Legrand Orange Book of Mathias Legrand and Vel" +license = [ + "MIT-0", +] +homepage = "https://github.com/flavio20002/typst-orange-template" + [orange-book."0.6.1"] url = "https://packages.typst.org/preview/orange-book-0.6.1.tar.gz" hash = "sha256-D2WQwAS6ftls8vN2YGDvbqbXh7NC+SUqfGHzvACt4To=" @@ -20458,6 +21002,16 @@ license = [ ] homepage = "https://github.com/TobiBeh/HS-Emden-Leer-Typst-Template" +[ourchat."0.2.1"] +url = "https://packages.typst.org/preview/ourchat-0.2.1.tar.gz" +hash = "sha256-SutkP9LuOhH/wev3eQex8UvqeAsdYF7OwvZJG2p+JjY=" +typstDeps = [] +description = "Forge wonderful chat messages" +license = [ + "MIT", +] +homepage = "https://github.com/QuadnucYard/ourchat-typ" + [ourchat."0.2.0"] url = "https://packages.typst.org/preview/ourchat-0.2.0.tar.gz" hash = "sha256-yajMT4z06lyWNGn4DCWFy8SIAyRwYWg3nXb4cnRvvLQ=" @@ -21098,6 +21652,20 @@ license = [ ] homepage = "https://github.com/Servostar/typst-percencode" +[pergamon."0.6.0"] +url = "https://packages.typst.org/preview/pergamon-0.6.0.tar.gz" +hash = "sha256-WFPh+lSq44DsjVj62Jhjj/eNeE/+ClSlXzYmPvDJcIc=" +typstDeps = [ + "citegeist_0_2_0", + "nth_1_0_1", + "oxifmt_1_0_0", +] +description = "Biblatex-style reference management for Typst" +license = [ + "MIT", +] +homepage = "https://github.com/alexanderkoller/pergamon" + [pergamon."0.5.0"] url = "https://packages.typst.org/preview/pergamon-0.5.0.tar.gz" hash = "sha256-E/HeIUVUOZq2tqX1vCQzKq6CnDo1TUizPBXk75JHmfU=" @@ -22539,6 +23107,26 @@ license = [ ] homepage = "https://github.com/ivaquero/qooklet.git" +[quest."0.2.0"] +url = "https://packages.typst.org/preview/quest-0.2.0.tar.gz" +hash = "sha256-TMJqLaCC6mwmRtySX2ca0otiD38K5QGAMyz+XQTa2TU=" +typstDeps = [] +description = "Write compact quizzes and tests" +license = [ + "MIT", +] +homepage = "https://github.com/kevinlin1/quest" + +[quest."0.1.0"] +url = "https://packages.typst.org/preview/quest-0.1.0.tar.gz" +hash = "sha256-KCm9jlV1t++N+Br0a+x+Y5NaJNu8UIVy/zzDiMuVRpg=" +typstDeps = [] +description = "Write compact quizzes and tests" +license = [ + "MIT", +] +homepage = "https://github.com/kevinlin1/quest" + [quetta."0.2.0"] url = "https://packages.typst.org/preview/quetta-0.2.0.tar.gz" hash = "sha256-VOTfREPGxLOnzmZV21+A+D59u1aAahyB2iJm0dNlhF8=" @@ -22955,6 +23543,18 @@ license = [ ] homepage = "https://github.com/sjfhsjfh/typst-relescope" +[rendercv."0.1.0"] +url = "https://packages.typst.org/preview/rendercv-0.1.0.tar.gz" +hash = "sha256-zcCqsWbjPjeJuiu4iOI4QRXmQmcKoo2DeITlpRv/hpA=" +typstDeps = [ + "fontawesome_0_6_0", +] +description = "Create professional resumes and CVs" +license = [ + "MIT", +] +homepage = "https://github.com/rendercv/rendercv-typst" + [report-flow-ustc."1.1.0"] url = "https://packages.typst.org/preview/report-flow-ustc-1.1.0.tar.gz" hash = "sha256-EB3bszDs16NK6vPY+LuNnPbZUa1OhnBMQIsFOE6GVuk=" @@ -23996,6 +24596,19 @@ license = [ ] homepage = "https://github.com/curvenote/scienceicons" +[scribbling-hm."0.1.5"] +url = "https://packages.typst.org/preview/scribbling-hm-0.1.5.tar.gz" +hash = "sha256-h+CBEhfkmKrfAXvbUSg1qdpqbVMtFf5Odw6nY0uQJAw=" +typstDeps = [ + "datify_1_0_0", + "glossarium_0_5_9", +] +description = "Unofficial Bachelor's thesis template for Munich University of Applied Sciences (Hochschule München" +license = [ + "MIT", +] +homepage = "https://github.com/fine-seat/hm-typst-template" + [scribbling-hm."0.1.4"] url = "https://packages.typst.org/preview/scribbling-hm-0.1.4.tar.gz" hash = "sha256-VqQaytUS4GVmPBmsZDblqz45sY2EZpZXyLkdvxBSad0=" @@ -24756,6 +25369,22 @@ license = [ "MIT", ] +[shuosc-shu-bachelor-thesis."1.0.0"] +url = "https://packages.typst.org/preview/shuosc-shu-bachelor-thesis-1.0.0.tar.gz" +hash = "sha256-Vnbv/eJJrANE6A6phhaCqsn1uNN5hfrfJ/6mKvKWlB0=" +typstDeps = [ + "cuti_0_3_0", + "i-figured_0_2_4", + "lovelace_0_2_0", + "mitex_0_2_6", + "numbly_0_1_0", +] +description = "上海大学本科生毕业论文 Typst 模板 - 上海大学开源社区版 (SHUOSC) Shanghai University Undergraduate Thesis Typst Template - Shanghai University Open Source Community Edition (SHUOSC" +license = [ + "Apache-2.0", +] +homepage = "https://github.com/shuosc/SHU-Bachelor-Thesis-Typst" + [shuosc-shu-bachelor-thesis."0.3.1"] url = "https://packages.typst.org/preview/shuosc-shu-bachelor-thesis-0.3.1.tar.gz" hash = "sha256-THXfwL3ex2JfwPvwsOmDq268empnlVvce10+NzAcMT8=" @@ -25693,6 +26322,21 @@ license = [ ] homepage = "https://github.com/zhinenggongziliaoku/songting-book" +[songting-book."0.0.1"] +url = "https://packages.typst.org/preview/songting-book-0.0.1.tar.gz" +hash = "sha256-UwxV6cO5lmhCRSxwe5/+DBeriTX+1qINFdggVswO0Bo=" +typstDeps = [ + "hydra_0_6_1", + "modern-nju-thesis_0_4_0", + "numbly_0_1_0", + "outrageous_0_4_0", +] +description = "Create Chinese-style books effortlessly using markup with built-in styling" +license = [ + "MIT", +] +homepage = "https://github.com/zhinenggongziliaoku/songting-book" + [sos-ugent-style."0.2.0"] url = "https://packages.typst.org/preview/sos-ugent-style-0.2.0.tar.gz" hash = "sha256-NgcPW5AsXOFMaALkcrMATJeXK3JZQK4HrwPb/0NbsPg=" @@ -27330,6 +27974,19 @@ license = [ ] homepage = "https://github.com/maxcrees/tbl.typ" +[tblr."0.4.2"] +url = "https://packages.typst.org/preview/tblr-0.4.2.tar.gz" +hash = "sha256-izComxcQ7DMpDse6Zc1weGasGzrCp0SLeDBrv9IH3ck=" +typstDeps = [ + "rowmantic_0_4_0", + "zero_0_3_0", +] +description = "Table generation and alignment helpers inspired by LaTeX's Tabularray package" +license = [ + "MIT", +] +homepage = "https://github.com/tshort/tblr" + [tblr."0.4.1"] url = "https://packages.typst.org/preview/tblr-0.4.1.tar.gz" hash = "sha256-W+ATn3TwrhVQIk/sEEijBwFiDHuM4qFo6qHUovYwu/Q=" @@ -27416,6 +28073,30 @@ license = [ ] homepage = "https://github.com/tshort/tblr" +[tdtr."0.4.3"] +url = "https://packages.typst.org/preview/tdtr-0.4.3.tar.gz" +hash = "sha256-oKinakXOXKrgwiHetw9vk2qwyXK1n9uVFjW0G9HJ3gU=" +typstDeps = [ + "fletcher_0_5_8", +] +description = "A package for drawing beautiful tidy tree easily" +license = [ + "MIT", +] +homepage = "https://github.com/Vertsineu/typst-tdtr" + +[tdtr."0.4.2"] +url = "https://packages.typst.org/preview/tdtr-0.4.2.tar.gz" +hash = "sha256-Riukd4dNr7eAMwPLI4ERRlUazCw/AkvR1bJMXoZg3XQ=" +typstDeps = [ + "fletcher_0_5_8", +] +description = "A package for drawing beautiful tidy tree easily" +license = [ + "MIT", +] +homepage = "https://github.com/Vertsineu/typst-tdtr" + [tdtr."0.4.1"] url = "https://packages.typst.org/preview/tdtr-0.4.1.tar.gz" hash = "sha256-G9rnYvcDedmqMl3NF555mtVDSr6vaCaS+qoymQrx/fQ=" @@ -27616,6 +28297,25 @@ license = [ ] homepage = "https://github.com/TGM-HIT/typst-protocol" +[tgm-hit-sew-lecture."0.1.0"] +url = "https://packages.typst.org/preview/tgm-hit-sew-lecture-0.1.0.tar.gz" +hash = "sha256-HucuuqsYf1FwwjiLsyZqrrlB1JjXIz/J8ChZOTMqDf8=" +typstDeps = [ + "ccicons_1_0_1", + "fletcher_0_5_8", + "meander_0_3_0", + "pinit_0_2_2", + "pull-eh_0_1_1", + "showybox_2_0_4", + "tiptoe_0_4_0", + "zebraw_0_6_0", +] +description = "Typst template for lecture documents (\"Skripten\"), focused on software engineering" +license = [ + "MIT", +] +homepage = "https://github.com/TGM-HIT/typst-sew-lecture" + [tgm-hit-thesis."0.4.0"] url = "https://packages.typst.org/preview/tgm-hit-thesis-0.4.0.tar.gz" hash = "sha256-1oDjbsmMnO2UI2H9XdHeeuIB0nYFDYdSG+ZkWNUoFRw=" @@ -28370,6 +29070,20 @@ license = [ "MIT", ] +[tntt."0.4.1"] +url = "https://packages.typst.org/preview/tntt-0.4.1.tar.gz" +hash = "sha256-c1sheek5n7fHrPhqWi0HGoOVuftOKr210+fRTs1tjXo=" +typstDeps = [ + "cuti_0_4_0", + "i-figured_0_2_4", + "lovelace_0_3_0", +] +description = "Tntt is Not a Tex Thesis Template for Tsinghua university" +license = [ + "MIT", +] +homepage = "https://github.com/chillcicada/tntt" + [tntt."0.4.0"] url = "https://packages.typst.org/preview/tntt-0.4.0.tar.gz" hash = "sha256-xddFs47asAogO4qMDMxW77I817cGo0LBqUGxkefX5pY=" @@ -28480,6 +29194,16 @@ license = [ ] homepage = "https://github.com/chillcicada/tntt" +[to-stuff."0.4.0"] +url = "https://packages.typst.org/preview/to-stuff-0.4.0.tar.gz" +hash = "sha256-yrkGyOyoxR+Ii5WcIXsnclp3v39vtIxd6n0JPFo4C6I=" +typstDeps = [] +description = "Parse strings into typed lengths, alignments, colors, and more" +license = [ + "BSD-3-Clause", +] +homepage = "https://codeberg.org/boondoc/typst-to-stuff" + [to-stuff."0.3.1"] url = "https://packages.typst.org/preview/to-stuff-0.3.1.tar.gz" hash = "sha256-KojNXZxdZAXepx1qQE/4FUN2dP9BdSgYvbhugWlHrD8=" @@ -29373,6 +30097,20 @@ license = [ ] homepage = "https://github.com/tzhTaylor/touying-sjtu" +[touying-simpl-swufe."0.1.0"] +url = "https://packages.typst.org/preview/touying-simpl-swufe-0.1.0.tar.gz" +hash = "sha256-wu901p+f0WaIK+7X2Xh+m3EUDCWKfbwahnlxGnpl0vE=" +typstDeps = [ + "cetz_0_4_2", + "fletcher_0_5_8", + "touying_0_6_1", +] +description = "Touying slide theme for SWUFE (Southwestern University of Finance and Economics" +license = [ + "MIT", +] +homepage = "https://github.com/leichaol/touying-simpl-swufe" + [touying-simpres."0.1.0"] url = "https://packages.typst.org/preview/touying-simpres-0.1.0.tar.gz" hash = "sha256-7qM/g5d1/4i3gJ8oU8A5PMyu4+e5Nsk+DgyaA5y6xOM=" @@ -29516,6 +30254,19 @@ license = [ ] homepage = "https://github.com/ToyHugs/toy-cv" +[tracl."0.7.1"] +url = "https://packages.typst.org/preview/tracl-0.7.1.tar.gz" +hash = "sha256-yX2gBm6Sbv9wEqmEOcJEcy09TPC2yPqkcm6EK9vxlkM=" +typstDeps = [ + "oxifmt_1_0_0", + "pergamon_0_6_0", +] +description = "Template for papers at *ACL conferences" +license = [ + "Apache-2.0", +] +homepage = "https://github.com/coli-saar/tracl" + [tracl."0.7.0"] url = "https://packages.typst.org/preview/tracl-0.7.0.tar.gz" hash = "sha256-UjlX2yW5x7YPv/dSR6+S9Ne0MBP45ZeLJ2sskBtaElg=" @@ -30114,6 +30865,18 @@ license = [ ] homepage = "https://github.com/QuantumRange/twig" +[twilight-book."0.1.4"] +url = "https://packages.typst.org/preview/twilight-book-0.1.4.tar.gz" +hash = "sha256-aoRPg5Rw3qT5LCQ6+YS9jr0mZRKXAkx8tVfk3vigavc=" +typstDeps = [ + "one-liner_0_2_0", +] +description = "Provide a numerous light and dark themes" +license = [ + "MIT", +] +homepage = "https://github.com/CrossDark/TwilightBook/" + [tyipa."0.1.0"] url = "https://packages.typst.org/preview/tyipa-0.1.0.tar.gz" hash = "sha256-DYIL0JnmjvxNTFj5XFHYuWPrbcbp+R8vSSE6cx4gVtw=" @@ -30275,6 +31038,21 @@ license = [ ] homepage = "https://github.com/TeddyHuang-00/typpuccino" +[typsidian."0.0.2"] +url = "https://packages.typst.org/preview/typsidian-0.0.2.tar.gz" +hash = "sha256-SmCqqDSgSMlcQogIFiQvKG2pnGVetQ8Ov8mN3HhsOQ0=" +typstDeps = [ + "fontawesome_0_6_0", + "glossarium_0_5_9", + "showybox_2_0_4", + "zebraw_0_5_5", +] +description = "Modern note-taking, outlining, and knowledge management" +license = [ + "MIT", +] +homepage = "https://github.com/k0src/Typsidian" + [typsidian."0.0.1"] url = "https://packages.typst.org/preview/typsidian-0.0.1.tar.gz" hash = "sha256-TyRIPmy09EkL0PByHcQqX5/kDKDHhfh96Vl0xolxq04=" @@ -30756,6 +31534,16 @@ license = [ ] homepage = "https://github.com/MDLC01/unichar" +[unified-uia-thesis."0.1.0"] +url = "https://packages.typst.org/preview/unified-uia-thesis-0.1.0.tar.gz" +hash = "sha256-C9B4/mYW35RRWqMf/yxLgPLRW2Z+Ro6ZtMfCXd8vew8=" +typstDeps = [] +description = "Port of the UiA bachelor/master thesis template to Typst" +license = [ + "MIT", +] +homepage = "https://github.com/sebastos1/unified-uia-thesis" + [unify."0.7.1"] url = "https://packages.typst.org/preview/unify-0.7.1.tar.gz" hash = "sha256-1GvuZQ2u9Ty7hqFxdsVg3yJ/S6rFa/c0/HYjoR2PESA=" @@ -31946,6 +32734,18 @@ license = [ ] homepage = "https://github.com/elegaanz/vercanard" +[vercanard."1.0.1"] +url = "https://packages.typst.org/preview/vercanard-1.0.1.tar.gz" +hash = "sha256-Y4PCYzyy11zXWPDDDdkJsYxCRrIPvp4RlGCe7K0krkk=" +typstDeps = [ + "vercanard_1_0_0", +] +description = "A colorful CV template" +license = [ + "GPL-3.0-only", +] +homepage = "https://github.com/elegaanz/vercanard" + [vercanard."1.0.0"] url = "https://packages.typst.org/preview/vercanard-1.0.0.tar.gz" hash = "sha256-DIS6Sf/GNcznHph+LV9Cy5pzOvK7S34Ua+3Cz8twqnI=" @@ -32171,6 +32971,19 @@ license = [ ] homepage = "https://github.com/Dawod-G/ENSEA_Typst-Template" +[volt-internship-ensea."0.1.2"] +url = "https://packages.typst.org/preview/volt-internship-ensea-0.1.2.tar.gz" +hash = "sha256-+i0DVS/3DG4ds6sutcMcO6IPiHgwfh2kMKaVns+irfE=" +typstDeps = [ + "glossy_0_8_0", + "hydra_0_6_2", +] +description = "Unofficial template for internship reports at ENSEA, a French engineering school" +license = [ + "MIT", +] +homepage = "https://github.com/Dawod-G/ENSEA_Typst-Template" + [volt-internship-ensea."0.1.1"] url = "https://packages.typst.org/preview/volt-internship-ensea-0.1.1.tar.gz" hash = "sha256-hGd+Ta6yhLBkVtLvqefBGrj58uHvL0fKkxRah0WoO8s=" @@ -32573,6 +33386,16 @@ license = [ ] homepage = "https://github.com/fuine/wut-thesis-typst" +[xarrow."0.4.0"] +url = "https://packages.typst.org/preview/xarrow-0.4.0.tar.gz" +hash = "sha256-Chk9k1Cxahw8zf6y/W0IXjtbbrZIFwUJW4q2UiozsL4=" +typstDeps = [] +description = "Variable-length arrows in Typst" +license = [ + "GPL-3.0-only", +] +homepage = "https://codeberg.org/loutr/typst-xarrow/" + [xarrow."0.3.1"] url = "https://packages.typst.org/preview/xarrow-0.3.1.tar.gz" hash = "sha256-5DdscbcplvUldzNiGpVCbutM23uVmm+zniXHM3ayN+E=" @@ -32747,6 +33570,18 @@ license = [ ] homepage = "https://github.com/visika/yuan-resume" +[zap."0.5.0"] +url = "https://packages.typst.org/preview/zap-0.5.0.tar.gz" +hash = "sha256-bbs5DMPey9+Pxqq1ezSiJ5iDFSCzZxe/GXdU2C6PFeM=" +typstDeps = [ + "cetz_0_4_2", +] +description = "A package to draw amazing electronic circuits using CeTZ superpowers" +license = [ + "LGPL-3.0-or-later", +] +homepage = "https://github.com/l0uisgrange/zap" + [zap."0.4.0"] url = "https://packages.typst.org/preview/zap-0.4.0.tar.gz" hash = "sha256-UX6zBUjNEGrH+fDwRfYV8ROTpoQz06TJpPILelCD/eU=" From f6637a257b063597be25358e2844bd9b85dbf18d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 12 Dec 2025 17:41:06 +0000 Subject: [PATCH 65/83] clash-rs: 0.9.2 -> 0.9.3 --- pkgs/by-name/cl/clash-rs/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/cl/clash-rs/package.nix b/pkgs/by-name/cl/clash-rs/package.nix index 4ce8bb9bbd8f..191c52f5d6a9 100644 --- a/pkgs/by-name/cl/clash-rs/package.nix +++ b/pkgs/by-name/cl/clash-rs/package.nix @@ -10,16 +10,16 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "clash-rs"; - version = "0.9.2"; + version = "0.9.3"; src = fetchFromGitHub { owner = "Watfaq"; repo = "clash-rs"; tag = "v${finalAttrs.version}"; - hash = "sha256-FFbRopIaAOpfb+Wbj+EUXRr89EQE108h8OMn+fpL+ew="; + hash = "sha256-MVj+GcSt0Q9bWLz7MpCIj9MtnHh/GRB3p+DapMPLxeY="; }; - cargoHash = "sha256-JYvITscH1K6xLE6XZpMrEFZWcbue7x7xuPxVQW/Vjb0="; + cargoHash = "sha256-Ikur9G6oSdKbK7gdZozBkplUjPfSjIABTVHjX7UPPvc="; cargoPatches = [ ./Cargo.patch ]; From 736506c4ad3af4ca67922c710185858db2cf9396 Mon Sep 17 00:00:00 2001 From: K900 Date: Fri, 12 Dec 2025 21:10:21 +0300 Subject: [PATCH 66/83] linux_6_18: 6.18 -> 6.18.1 --- pkgs/os-specific/linux/kernel/kernels-org.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index 1d10800b97de..1f7143908ee4 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -35,8 +35,8 @@ "lts": false }, "6.18": { - "version": "6.18", - "hash": "sha256:0jzdvk3xdai1xsq0739hmf8rapw15dw5inarfvqizqx9bmha81li", + "version": "6.18.1", + "hash": "sha256:1m955svk1sfmhpw5wpkhg1dpnxmwsnpdqnivmw8alaniy3rqp9yh", "lts": false } } From 24e1ddfeed202cb51396c79824f6c828a3091d84 Mon Sep 17 00:00:00 2001 From: K900 Date: Fri, 12 Dec 2025 21:10:53 +0300 Subject: [PATCH 67/83] linux_6_17: 6.17.11 -> 6.17.12 --- pkgs/os-specific/linux/kernel/kernels-org.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index 1f7143908ee4..1a85486233a7 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -30,8 +30,8 @@ "lts": true }, "6.17": { - "version": "6.17.11", - "hash": "sha256:0zi5mw6953iic9hwx78bjww81mcpb9y2sj5dgf819w9506pihjwk", + "version": "6.17.12", + "hash": "sha256:1mlqirjzyx3zvvm87gf7slj2d5gdpp13vw91dgbfk54iz6b08y22", "lts": false }, "6.18": { From 158c7a9c22cabfc57690d6606d400a12ef37442f Mon Sep 17 00:00:00 2001 From: K900 Date: Fri, 12 Dec 2025 21:11:28 +0300 Subject: [PATCH 68/83] linux_6_12: 6.12.61 -> 6.12.62 --- pkgs/os-specific/linux/kernel/kernels-org.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index 1a85486233a7..1fc12f5f0ad8 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -25,8 +25,8 @@ "lts": true }, "6.12": { - "version": "6.12.61", - "hash": "sha256:0d8pbx0j5g2ag4im5k3dcqiwp5jxjja29p195zqpd1jj0m8p8s8s", + "version": "6.12.62", + "hash": "sha256:04rcnr7bgrqqfj62l31mxx553bjdalr5f46xjbcmvawgmj2wdqhk", "lts": true }, "6.17": { From a96fcc5f10ce4927a855db6e6d68a7a9070ce20b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 12 Dec 2025 18:30:52 +0000 Subject: [PATCH 69/83] python3Packages.cashews: 7.4.3 -> 7.4.4 --- pkgs/development/python-modules/cashews/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/cashews/default.nix b/pkgs/development/python-modules/cashews/default.nix index 8b0291b51830..4f1ea982051b 100644 --- a/pkgs/development/python-modules/cashews/default.nix +++ b/pkgs/development/python-modules/cashews/default.nix @@ -19,14 +19,14 @@ buildPythonPackage rec { pname = "cashews"; - version = "7.4.3"; + version = "7.4.4"; pyproject = true; src = fetchFromGitHub { owner = "Krukov"; repo = "cashews"; tag = version; - hash = "sha256-L6EpSZ6ssRV9fQLuJ6SxKB8QS9fo4qAQ3YKcc1u7sHY="; + hash = "sha256-KYMKqTLXQR7/pgXCOgDb9F2pelw9uyjEeJAwhWuXEZ8="; }; build-system = [ setuptools ]; From c340a2b8dcf7bfbb872ed46e52a8a0ab839b49dd Mon Sep 17 00:00:00 2001 From: Uriel Date: Fri, 12 Dec 2025 15:41:34 -0300 Subject: [PATCH 70/83] slimevr: remove myself from maintainers --- pkgs/by-name/sl/slimevr-server/package.nix | 1 - pkgs/by-name/sl/slimevr/package.nix | 1 - 2 files changed, 2 deletions(-) diff --git a/pkgs/by-name/sl/slimevr-server/package.nix b/pkgs/by-name/sl/slimevr-server/package.nix index a76f64571162..55e3846a4855 100644 --- a/pkgs/by-name/sl/slimevr-server/package.nix +++ b/pkgs/by-name/sl/slimevr-server/package.nix @@ -96,7 +96,6 @@ stdenv.mkDerivation (finalAttrs: { ]; maintainers = with lib.maintainers; [ gale-username - imurx loucass003 ]; platforms = with lib.platforms; darwin ++ linux; diff --git a/pkgs/by-name/sl/slimevr/package.nix b/pkgs/by-name/sl/slimevr/package.nix index 4e3884e4c405..1c9b6e87f278 100644 --- a/pkgs/by-name/sl/slimevr/package.nix +++ b/pkgs/by-name/sl/slimevr/package.nix @@ -144,7 +144,6 @@ rustPlatform.buildRustPackage rec { ]; maintainers = with lib.maintainers; [ gale-username - imurx loucass003 ]; platforms = with lib.platforms; darwin ++ linux; From e0d631f79b3acc9f26e3d377df3ac909e07bc289 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 12 Dec 2025 18:41:42 +0000 Subject: [PATCH 71/83] python3Packages.python-xapp: 3.0.0 -> 3.0.1 --- pkgs/development/python-modules/python-xapp/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/python-xapp/default.nix b/pkgs/development/python-modules/python-xapp/default.nix index 7296c69b5301..06a2fa7109d9 100644 --- a/pkgs/development/python-modules/python-xapp/default.nix +++ b/pkgs/development/python-modules/python-xapp/default.nix @@ -15,7 +15,7 @@ buildPythonPackage rec { pname = "python-xapp"; - version = "3.0.0"; + version = "3.0.1"; format = "other"; @@ -23,7 +23,7 @@ buildPythonPackage rec { owner = "linuxmint"; repo = "python-xapp"; rev = version; - hash = "sha256-OvYbMu/2cQLTHHbHh4zESf1X22AfZe8ZEfzeOBDcU90="; + hash = "sha256-mrFKK8541HuMHpRMGvvJcSshbpA99Y712ztAMfFj5m4="; }; nativeBuildInputs = [ From f34f4b7262c2dbb0e6b3e5273a0ca8f6d2ca225b Mon Sep 17 00:00:00 2001 From: K900 Date: Fri, 12 Dec 2025 21:47:02 +0300 Subject: [PATCH 72/83] kdePackages: Frameworks 6.20 -> 6.21 --- pkgs/kde/generated/sources/frameworks.json | 432 ++++++++++----------- 1 file changed, 216 insertions(+), 216 deletions(-) diff --git a/pkgs/kde/generated/sources/frameworks.json b/pkgs/kde/generated/sources/frameworks.json index 2a6c4d103434..735ca212560f 100644 --- a/pkgs/kde/generated/sources/frameworks.json +++ b/pkgs/kde/generated/sources/frameworks.json @@ -1,362 +1,362 @@ { "attica": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/attica-6.20.0.tar.xz", - "hash": "sha256-jvla0nmHYyAs3WWVIbvmTKWOyMpoRl6s5KgXov8uTcQ=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/attica-6.21.0.tar.xz", + "hash": "sha256-eI1ClRojey6swoUW+igfXwVLbXiCcAfys4PB0CLIS2M=" }, "baloo": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/baloo-6.20.0.tar.xz", - "hash": "sha256-BqDcJLnK4IxyKK68MhUYUEK1jE/FjvhsiGPld0k9ExQ=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/baloo-6.21.0.tar.xz", + "hash": "sha256-XP74gwSFp9Qg+63KZ81EGCK8We/BxxsK/vIzuXVTdx4=" }, "bluez-qt": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/bluez-qt-6.20.0.tar.xz", - "hash": "sha256-aWuYVTE7Tqo68Ke67u3baRguVYN1TRopYC+iSZcS7jc=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/bluez-qt-6.21.0.tar.xz", + "hash": "sha256-6pGgTCbKYPpofs2nsJ3y30zBglTf6uTDqpE0quaZQ98=" }, "breeze-icons": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/breeze-icons-6.20.0.tar.xz", - "hash": "sha256-CkeyigSghsy1tK+1HWZ3GAAGgZ0NkwJSRyFom/pK0Tw=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/breeze-icons-6.21.0.tar.xz", + "hash": "sha256-Oi1bATEpNnPhjw+3iAC0tKI+7+5IHpDroD3hfOr/XxU=" }, "extra-cmake-modules": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/extra-cmake-modules-6.20.0.tar.xz", - "hash": "sha256-NxHehXLbXaYY7+PyjMCUyiWhq7C93/xj3O0SxPjKrl8=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/extra-cmake-modules-6.21.0.tar.xz", + "hash": "sha256-JnxUZ81lVaCvDUAQ8OwGlx+A8b1ckFY0JKhZO8CXanA=" }, "frameworkintegration": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/frameworkintegration-6.20.0.tar.xz", - "hash": "sha256-HuYcksEhQVmHfA4ROpI1hyT5rD7ldxChUDjIXcT9x9g=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/frameworkintegration-6.21.0.tar.xz", + "hash": "sha256-rrgDPnyvwrcqk4V9fohx/aKoE4WmrNJ/QJ3ueauk2pc=" }, "kapidox": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kapidox-6.20.0.tar.xz", - "hash": "sha256-7K8kuEuSRT7aCCLVrvGOBH5ihI+AsBnDCDLsVygvq9M=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kapidox-6.21.0.tar.xz", + "hash": "sha256-bk249BnaNeVi3KH6dXYYU3X3vy77TvBo1+k7iA8yCF8=" }, "karchive": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/karchive-6.20.0.tar.xz", - "hash": "sha256-9qUI1TfSg+KhBuhIqTnpcc3xoFl3mCXkSCYJqpgf+t0=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/karchive-6.21.0.tar.xz", + "hash": "sha256-pffM2QQQUIPEQryCXBmIcr23oAmysrswsDjavWuxxsQ=" }, "kauth": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kauth-6.20.0.tar.xz", - "hash": "sha256-qRhFX0LhafpV6WXkB1iMIssYvrVSnasyHUWsr9t71lI=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kauth-6.21.0.tar.xz", + "hash": "sha256-msTaU7QtDCqz42Je0ZtfTa/ZqZxDlparSdvwto+iEZo=" }, "kbookmarks": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kbookmarks-6.20.0.tar.xz", - "hash": "sha256-OWfTkBVecYPdXeAIeqS7EiZJWDMawYofjEBaXtvcGhQ=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kbookmarks-6.21.0.tar.xz", + "hash": "sha256-BuLVrSIyTEpoCa6PajGSAEq9jcVru1soHBgo8y3I4Ho=" }, "kcalendarcore": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kcalendarcore-6.20.0.tar.xz", - "hash": "sha256-X2ECezRRDQ3i8rFRwnmwAKoX4cNJBv8F4PAIbu0vN4U=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kcalendarcore-6.21.0.tar.xz", + "hash": "sha256-xaCqyLuLDQB6bqROnqK3/wfNcBNpqQSP+V+e6y40QX8=" }, "kcmutils": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kcmutils-6.20.0.tar.xz", - "hash": "sha256-otcmx7a4/q3f8p3A514cFUZ/AtHr5vjpbzXNhLI+Fu0=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kcmutils-6.21.0.tar.xz", + "hash": "sha256-nBgIFT2cFqqgjmi2NTzlya9nsuJLmgzXWHxGpKgejtw=" }, "kcodecs": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kcodecs-6.20.0.tar.xz", - "hash": "sha256-FZILmoWTQbE4MebtSbrO6i5yjHlv3QghKOUfjhJ/86A=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kcodecs-6.21.0.tar.xz", + "hash": "sha256-2aAV6U5s+dEO4scibdECUkaJFHwwByxHK27tG3NWfhY=" }, "kcolorscheme": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kcolorscheme-6.20.0.tar.xz", - "hash": "sha256-FQWsxpsswb6a0yWnCrlmm7jTFvxdYBzPQDK+Ivq4wMI=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kcolorscheme-6.21.0.tar.xz", + "hash": "sha256-+WuyNQP/bvJiFJKkNgAAGaGXwBEk6A+JQWTG9ISY+60=" }, "kcompletion": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kcompletion-6.20.0.tar.xz", - "hash": "sha256-OycAA7Zh24lPUOn5D93dMJw+qXAQ42O8VR91Lbbvzsw=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kcompletion-6.21.0.tar.xz", + "hash": "sha256-kNUfNdCZdiNEj+R3M3K/3Zboaa/Ub9qAnX7Y0+iKNbo=" }, "kconfig": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kconfig-6.20.0.tar.xz", - "hash": "sha256-2uz0mJr5lYFEE55JGMIs0FtallJ8Udc36ufFdxgWfRU=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kconfig-6.21.0.tar.xz", + "hash": "sha256-DMHQuSImz+m4mUaAecwhOTn7+L3VuR5UVLyM38jzTiA=" }, "kconfigwidgets": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kconfigwidgets-6.20.0.tar.xz", - "hash": "sha256-XF6Nx+mG2Fw2ArilK42JCfkedDPsrYA3CZSRJQ9fTjY=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kconfigwidgets-6.21.0.tar.xz", + "hash": "sha256-lja0WGHH6KBb1DK/+UyXEmcDENTjBmkxWAhDAgMltiM=" }, "kcontacts": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kcontacts-6.20.0.tar.xz", - "hash": "sha256-slPNSGSj89Q0NIXMS/4bA0TM9RNurSraNZ5pM+CSU94=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kcontacts-6.21.0.tar.xz", + "hash": "sha256-pr948Q12gLZjZrFEMXRrOx003DE/Hue+ibGaR2Fir2Q=" }, "kcoreaddons": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kcoreaddons-6.20.0.tar.xz", - "hash": "sha256-wdRVh2Ft9eqjZnoCix9/kJyccjCsQtYtppz7KsRs1QU=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kcoreaddons-6.21.0.tar.xz", + "hash": "sha256-RGHct75mzFUQHCqVfAjHhx8rPqfdbwFxg4ZsRTQWPkk=" }, "kcrash": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kcrash-6.20.0.tar.xz", - "hash": "sha256-H0LpxU6tny2Bs+xerPVatv9N0cOgchxo86s57UbzWXM=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kcrash-6.21.0.tar.xz", + "hash": "sha256-CEVcJ7ZoRS3KK7N5VqyC5MHnBS32lJuNYizhHlyfTJQ=" }, "kdav": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kdav-6.20.0.tar.xz", - "hash": "sha256-vRjVo9sBwnetydoy3SCkX8lbKLEfv/U5mEKwUkpJ0IQ=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kdav-6.21.0.tar.xz", + "hash": "sha256-ta+kLuFkBLvWYmgvGmZhDvW2R56rpulRDak084Z/muI=" }, "kdbusaddons": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kdbusaddons-6.20.0.tar.xz", - "hash": "sha256-XbL2tyNSOAcCJO6KUiX0H/2zJJ1VioGnwGqOVNZ3Kfc=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kdbusaddons-6.21.0.tar.xz", + "hash": "sha256-tfTucf7vPiwj8e69iaxnlpQL2sj1RCm1z5S6+xBGInk=" }, "kdeclarative": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kdeclarative-6.20.0.tar.xz", - "hash": "sha256-sBx/oCct0szMlipgbmMyiCW9O4yOwI7jbDzqdfqKMU0=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kdeclarative-6.21.0.tar.xz", + "hash": "sha256-BH2iAVNdQf/dCr/+LMuwh0rJ6Y3VCFF3JqocmaRv3rk=" }, "kded": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kded-6.20.0.tar.xz", - "hash": "sha256-HWyVAEjgW56AOM/fhJY9HUuL/F8ybzAedDIReR6an2U=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kded-6.21.0.tar.xz", + "hash": "sha256-NlMs/47Zi9BMnUwz5aFei78UQCK59AZcbF10VagC3aE=" }, "kdesu": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kdesu-6.20.0.tar.xz", - "hash": "sha256-3iMT9C9XuJafr/Ez8OKyFMW6lokcFhZFEhMPzLXz+4Q=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kdesu-6.21.0.tar.xz", + "hash": "sha256-UCnWRvFgfVQ4XQq77Yqr8ehEvt5EXEEZmKob3PC4X3Y=" }, "kdnssd": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kdnssd-6.20.0.tar.xz", - "hash": "sha256-/GFuf51W/0MEpb3G0E5+915f99hDdRdfCyWkS6ia9go=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kdnssd-6.21.0.tar.xz", + "hash": "sha256-c9cskvMEkTPw/su8W4AkQMxi3Rb47MyLLMR83QtwVyk=" }, "kdoctools": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kdoctools-6.20.0.tar.xz", - "hash": "sha256-9WU2JVynRVSpwC05X9eMi0oNKhx9ADzmIbMk6In4XA8=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kdoctools-6.21.0.tar.xz", + "hash": "sha256-CQc8C0L/a1u/kofN2POj+4pOdg4lLdJxh3EWFYkye5A=" }, "kfilemetadata": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kfilemetadata-6.20.0.tar.xz", - "hash": "sha256-MxZQXcgmzt5AnGBizofKF2gBR6dgVEA2wxc5+/dVf5c=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kfilemetadata-6.21.0.tar.xz", + "hash": "sha256-2P38xUNCALJsouRuE8Qi1BW3ethiE9VhUm2oFvZT8KQ=" }, "kglobalaccel": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kglobalaccel-6.20.0.tar.xz", - "hash": "sha256-7iq9kd9Hpq5Hj4bmf0Y0h+MAMvPA2M/Xfy1rlWfIbbQ=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kglobalaccel-6.21.0.tar.xz", + "hash": "sha256-Pmi4+1ci11mCyZU0R40obf41lWDKXYoQKTypDzAa7+M=" }, "kguiaddons": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kguiaddons-6.20.0.tar.xz", - "hash": "sha256-M8r1rkbxpiFPVllhgODGzLSvLM4NyuBgrk+3B4JgpHY=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kguiaddons-6.21.0.tar.xz", + "hash": "sha256-EknvdCvJ/M6Bs5O8RuSeIMJB54f63DFsKu0HUVKzfdA=" }, "kholidays": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kholidays-6.20.0.tar.xz", - "hash": "sha256-spp6J/hfO1M8AgAr1e/Tdf7WQmjomMtA5tN3sNckOGQ=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kholidays-6.21.0.tar.xz", + "hash": "sha256-keaCD/ZS6ncbIhOXRVnn/0urttnzV/QLjHIma9BDK+Q=" }, "ki18n": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/ki18n-6.20.0.tar.xz", - "hash": "sha256-8pyAUTevnO5qurQks4D+qWSlmwifkPuQlgHZ/HjfX3M=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/ki18n-6.21.0.tar.xz", + "hash": "sha256-1bIwRaTpiccoboZpZUQYDsdqxf0Fe1DDW9AHsnlpTY8=" }, "kiconthemes": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kiconthemes-6.20.0.tar.xz", - "hash": "sha256-YbkGBRzWbbHdJZ7HbQiIXT/nSeDTlHrqdJAh0sllN6U=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kiconthemes-6.21.0.tar.xz", + "hash": "sha256-hzR3435v0DulZDCoT4Di4EPM7GHRPeh2JjuPIgEx3WI=" }, "kidletime": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kidletime-6.20.0.tar.xz", - "hash": "sha256-7LysXgYqJ9MWF0fWv0ndYDKBo3jSbASJFediqxlFQNk=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kidletime-6.21.0.tar.xz", + "hash": "sha256-+DqUXifEE3cdIBA/ZjF4OjoNjj8lvzptGBfEt8dmwj4=" }, "kimageformats": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kimageformats-6.20.0.tar.xz", - "hash": "sha256-vb2R8BuIthvFs+f2AVOui2PV8fKEDp6zGui3M597jXk=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kimageformats-6.21.0.tar.xz", + "hash": "sha256-nHVrgeYdi17MpudWJpRUzsNhmhoTpDgDyyEEeWy/+FA=" }, "kio": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kio-6.20.0.tar.xz", - "hash": "sha256-fmfUcfwQt989dubOhZSAvl1uZ10xZZLnqEGbl/Ab1kk=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kio-6.21.0.tar.xz", + "hash": "sha256-svc6M7gCy1K7nnw1NdMV1cYW1VTj7QfKcRyiUdsxBcY=" }, "kirigami": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kirigami-6.20.0.tar.xz", - "hash": "sha256-tn/qciXM70zv0KnTpUdIMVASkWfEdZVzbqxFeYb3Cdk=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kirigami-6.21.0.tar.xz", + "hash": "sha256-6+DqddEh4vRQhJzpOULUbj8Go+JB0Ayjs72gHdyYC9k=" }, "kitemmodels": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kitemmodels-6.20.0.tar.xz", - "hash": "sha256-RbbNVHj+NfCWanXjzFVKXbhBisfWOHdFoAcPOcr5Iak=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kitemmodels-6.21.0.tar.xz", + "hash": "sha256-WTkLbKTPSjBeObEQgOGu9yxTa+Vy8A9CjR2WGtJQve4=" }, "kitemviews": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kitemviews-6.20.0.tar.xz", - "hash": "sha256-Y/bWR4DT6xv90vL5A2Amos3BY7Z2Fowpwnl1RPmtYwU=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kitemviews-6.21.0.tar.xz", + "hash": "sha256-O6qDbv+SPh3LPZid1GT7PDy5zpysamcj5+fBAI8VakY=" }, "kjobwidgets": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kjobwidgets-6.20.0.tar.xz", - "hash": "sha256-OTtutrNdaA1Ipcewk1lmi93B7YnU+nC4qKgfsthBzno=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kjobwidgets-6.21.0.tar.xz", + "hash": "sha256-iSs71Kgz65tyqJzM1HEza4CdeUUVv9nWuzNfG5EVefY=" }, "knewstuff": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/knewstuff-6.20.0.tar.xz", - "hash": "sha256-SUQ63U8cqs4uZP59y+TPeM1raSvwx3ugEILIJ2Hfork=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/knewstuff-6.21.0.tar.xz", + "hash": "sha256-Z884BR15tSdb42Q4LF0UM9fBqEwPPOmtggY0Esjhr00=" }, "knotifications": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/knotifications-6.20.0.tar.xz", - "hash": "sha256-qubZKOr1JUC2Qr2cfqYpPiwND1NhLl+08KYAFpL4BVo=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/knotifications-6.21.0.tar.xz", + "hash": "sha256-XJ4+rVAvfbxoNSVdVfsz2+StZilYd/8IqyIaQtsIBa0=" }, "knotifyconfig": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/knotifyconfig-6.20.0.tar.xz", - "hash": "sha256-oCGW5Q9I2tCQhlbjJF1YvwOw05EC+pKwVr7n1QuRr6c=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/knotifyconfig-6.21.0.tar.xz", + "hash": "sha256-H+dGFVMwTqQu27PpDciEl7UFhswsR9n2uKK00odKG0c=" }, "kpackage": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kpackage-6.20.0.tar.xz", - "hash": "sha256-YYhBFK9gT4J8S4NjRVHqZJIQUOIzycbV/EALl+QCUp4=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kpackage-6.21.0.tar.xz", + "hash": "sha256-PFqWsH4orJDlHfo6/BeQIT6eGR2GfxEhMjdclaoEPHY=" }, "kparts": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kparts-6.20.0.tar.xz", - "hash": "sha256-nnHj0gyVJfZlM916WEbw2YLu/ddCW/ut7NaheQjr1wk=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kparts-6.21.0.tar.xz", + "hash": "sha256-0A/I1zEZnEzJ+VDyWgCbOyEdA9DLNbMmc19ydDYaCRU=" }, "kpeople": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kpeople-6.20.0.tar.xz", - "hash": "sha256-cvd1HViefXIEZloa34dRq9vb1uS1gmYsMT7HndsBP7I=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kpeople-6.21.0.tar.xz", + "hash": "sha256-d9vRkjpS5YwNuoTGqW3kVTL3Lf6BTs5bhOaZvZwPTmE=" }, "kplotting": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kplotting-6.20.0.tar.xz", - "hash": "sha256-UM2Jhqz0fpqMDfKxHwaKedJBoT9uQmdxcDqeGI5qpD8=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kplotting-6.21.0.tar.xz", + "hash": "sha256-x7MZu1PLZSk6RusgntSP1MxRf/ureGVMSK1/wuyjL78=" }, "kpty": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kpty-6.20.0.tar.xz", - "hash": "sha256-ZmbwXxc1IJ2m/K4f0h/5SuZ3LTKwok97hM21biIgKWY=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kpty-6.21.0.tar.xz", + "hash": "sha256-Oru0uc3ok11wml3JDr3zcdiejdX6JNJDxE3+3nh367g=" }, "kquickcharts": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kquickcharts-6.20.0.tar.xz", - "hash": "sha256-lPUs5CwVy33FFM6YaNukHtjwZFuUH/IlbQIid0YwF5I=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kquickcharts-6.21.0.tar.xz", + "hash": "sha256-0AqnHa6YudvcPS8buQ05ZHs/KuXhDDqk7GEXNe46pUg=" }, "krunner": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/krunner-6.20.0.tar.xz", - "hash": "sha256-c1ss8VPtG9IjOJ8ptLYZMZ+7MQBx2sbH6frdoRldOhw=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/krunner-6.21.0.tar.xz", + "hash": "sha256-8Z3MVjSfEngodXKq8nPOh8d0+e7JnixDaOFkuu1RKKU=" }, "kservice": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kservice-6.20.0.tar.xz", - "hash": "sha256-wzpbzSzhVOJ175RFkBooE8JJQ+JOryOC0khlcXiSNTw=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kservice-6.21.0.tar.xz", + "hash": "sha256-u8fCpjvkTvmmpDh3eVDivDxh84HrEBwL4/AREesENRc=" }, "kstatusnotifieritem": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kstatusnotifieritem-6.20.0.tar.xz", - "hash": "sha256-2w7bkosVcISH6orQB9tLzzlJMyaYzHi07XUSi+obL6Y=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kstatusnotifieritem-6.21.0.tar.xz", + "hash": "sha256-531NlDr4P9EggNvG7LnBNVofooLvvYnt+iU4TWc/1mA=" }, "ksvg": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/ksvg-6.20.0.tar.xz", - "hash": "sha256-f/Qc8Yr50apIYqUukVHgoZaAmfcdoH2oRU2IDWdpVqg=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/ksvg-6.21.0.tar.xz", + "hash": "sha256-XHUfCHeHxE4LZWxmxo2vEv1+Gg+MorehZyalFsAs/lk=" }, "ktexteditor": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/ktexteditor-6.20.0.tar.xz", - "hash": "sha256-P1nRb9cd4lj+Uxtlcg12T6uF0LPPBCMgHJ9mxAQuZMw=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/ktexteditor-6.21.0.tar.xz", + "hash": "sha256-0dguzuh3+wZu59etFPLekMn2uCHYyXwOeEqYXMP5ncQ=" }, "ktexttemplate": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/ktexttemplate-6.20.0.tar.xz", - "hash": "sha256-FRWVkQX87XRoPJGqG7+JM4J5YUwe17F6vpVOARRPTBk=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/ktexttemplate-6.21.0.tar.xz", + "hash": "sha256-hkZn2iGQo83UKSadkwM1fr/rPEw0y2UQcdSCxW+Ldy0=" }, "ktextwidgets": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/ktextwidgets-6.20.0.tar.xz", - "hash": "sha256-eB5/rVcg3n8xOAssSkWLwodZQESe2RaLSMYNR0tt8iA=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/ktextwidgets-6.21.0.tar.xz", + "hash": "sha256-HJPuryrIKXurruIHX4GIze4mwyscjCDDqVt7yrb/v6s=" }, "kunitconversion": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kunitconversion-6.20.0.tar.xz", - "hash": "sha256-WrTuOFPnew1qaaZkQ3JLCeqmEhq4Nf7UbQkdNeb+qj8=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kunitconversion-6.21.0.tar.xz", + "hash": "sha256-YAEaYGg1YNYxfH68nRv/09snZ1bZALKk9JYwesKbrZ0=" }, "kuserfeedback": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kuserfeedback-6.20.0.tar.xz", - "hash": "sha256-Y4zU6SE3KE3hhiCUVEFEc5EXOk9nhbqp5rg4VbuoCLQ=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kuserfeedback-6.21.0.tar.xz", + "hash": "sha256-jE9bjFqcT2x9KE8dV/fzPa/cZmhMs16bgKvb7fA10sw=" }, "kwallet": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kwallet-6.20.0.tar.xz", - "hash": "sha256-tlZa0EGlfTkLNyimWZ/A4zl4TSpNq1mQrORauqUC5B4=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kwallet-6.21.0.tar.xz", + "hash": "sha256-BA2ernTsUWTAwg5ZRp90wlsBOcnlXu8+nzv6Wi4If0g=" }, "kwidgetsaddons": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kwidgetsaddons-6.20.0.tar.xz", - "hash": "sha256-OZdLhc3/2MbW4KXAaEknoh4HHB5j18zjiIMx8BaaSDc=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kwidgetsaddons-6.21.0.tar.xz", + "hash": "sha256-FKk4Qmgxw14CGlfLKYm24Lk3m5Ntv+8+5aMzWkaJ0rw=" }, "kwindowsystem": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kwindowsystem-6.20.0.tar.xz", - "hash": "sha256-g2vgBd88jPyB2coZnxnja6DfUV1p59iwY0NGVBL29Hc=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kwindowsystem-6.21.0.tar.xz", + "hash": "sha256-NGYLFU6FjS8umW2Y/Cy0aImpOFUbt5nnW6L7bx0GQTM=" }, "kxmlgui": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/kxmlgui-6.20.0.tar.xz", - "hash": "sha256-oW/Tc0ESkU71DtJmahaQXYfmeVS8NoclzLHVsu3I+PE=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/kxmlgui-6.21.0.tar.xz", + "hash": "sha256-zr85C2W9U1XWQbW+27yAcSnTmEqLwhsI1yaBXG2blww=" }, "modemmanager-qt": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/modemmanager-qt-6.20.0.tar.xz", - "hash": "sha256-GmBrJlMN5NnCcsuXk7Y7JegP56nAth5CI5lFP/Xlynk=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/modemmanager-qt-6.21.0.tar.xz", + "hash": "sha256-WMyuvnqPlHDCN5gN/zafDyzLV4L813uqolJ5yED8i2A=" }, "networkmanager-qt": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/networkmanager-qt-6.20.0.tar.xz", - "hash": "sha256-aFb+yykzq82tCniaF55AVM8kkB3Cn5Q/ADaj4Vz0PoY=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/networkmanager-qt-6.21.0.tar.xz", + "hash": "sha256-U1MLKNIfGek/Bjg/P/svQ/lMG/dRp+pDdjGkHtel8UA=" }, "prison": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/prison-6.20.0.tar.xz", - "hash": "sha256-NuxvguzDwGYY1FXMFpirEXVNZC+rPxuFCnzwHOEbPR8=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/prison-6.21.0.tar.xz", + "hash": "sha256-BIulls2OCNNvqhF57DevSD6p7BAXEBhtdSmBF7wJiis=" }, "purpose": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/purpose-6.20.0.tar.xz", - "hash": "sha256-OjOgaVNPXPzXUeZ7fcN3hfO47J0CfPHXoNQvD/v8mFc=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/purpose-6.21.0.tar.xz", + "hash": "sha256-AyaHerizJJFIK4CSXRuG+4p6fzpYfdElFi5/tVqNXoc=" }, "qqc2-desktop-style": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/qqc2-desktop-style-6.20.0.tar.xz", - "hash": "sha256-D50V/w3TuXRFYzYIYMux4Tex2biTdiEOcyiqoC7Uq34=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/qqc2-desktop-style-6.21.0.tar.xz", + "hash": "sha256-4gF7Ny614bEpfkhTOwta1gKoW1aH5ZMS9+zpHNFLdjg=" }, "solid": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/solid-6.20.0.tar.xz", - "hash": "sha256-Ayg4GEWhHPz6jBjI1gyd97haB7zXsb02txx+s8w0ktY=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/solid-6.21.0.tar.xz", + "hash": "sha256-P/0H6LYjNkyDw2sjeyg4PJFlEnJRKfzw+j/0a3KJBig=" }, "sonnet": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/sonnet-6.20.0.tar.xz", - "hash": "sha256-NWzdr3zyqryvhQMUuySPpWoVuChf6nTY86fH5N7CqDo=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/sonnet-6.21.0.tar.xz", + "hash": "sha256-AEZtUQCuHS6vDP5J9XYFWiwl2mQxEYqO+NrwmmFeVn8=" }, "syndication": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/syndication-6.20.0.tar.xz", - "hash": "sha256-4reeqVio7f1MnAeQklzEPR9AMexl7lRaYFkQCL4VkkI=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/syndication-6.21.0.tar.xz", + "hash": "sha256-fqP21GcQpu4Sw3ZLP1s6IkCyLKAfEGcAJitGslsOCrs=" }, "syntax-highlighting": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/syntax-highlighting-6.20.0.tar.xz", - "hash": "sha256-bihio4V8EemnWszG46z8wW9jTuh4WGtNKpe1c/Ur/cA=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/syntax-highlighting-6.21.0.tar.xz", + "hash": "sha256-61LmkLynms1OhGEOEQ/y9jhNUWZ9bYzRZtjpKZ5dtFk=" }, "threadweaver": { - "version": "6.20.0", - "url": "mirror://kde/stable/frameworks/6.20/threadweaver-6.20.0.tar.xz", - "hash": "sha256-kxPyWi6m4kMdNOCwD2ja1ogYScNPHkBRWlOacN1vuxk=" + "version": "6.21.0", + "url": "mirror://kde/stable/frameworks/6.21/threadweaver-6.21.0.tar.xz", + "hash": "sha256-PW+UciyjKfFpfoDYNF2W5RMEcHc5m767Djos3Bd/BOU=" } } \ No newline at end of file From bb43eb771ab75f1b298fc4e12d09635bda9b17e5 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 12 Dec 2025 19:20:47 +0000 Subject: [PATCH 73/83] python3Packages.metaflow: 2.19.13 -> 2.19.14 --- pkgs/development/python-modules/metaflow/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/metaflow/default.nix b/pkgs/development/python-modules/metaflow/default.nix index abe38fe00ecc..721dcca927f8 100644 --- a/pkgs/development/python-modules/metaflow/default.nix +++ b/pkgs/development/python-modules/metaflow/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "metaflow"; - version = "2.19.13"; + version = "2.19.14"; pyproject = true; src = fetchFromGitHub { owner = "Netflix"; repo = "metaflow"; tag = version; - hash = "sha256-P5Ic1n69uAAL2FllmooV5vBfjgKTM8l1iKpEIJsHSwU="; + hash = "sha256-ytZbBnynNhrGRkTTQr5Ovcj0pndJTvLbKlikMn1WOFk="; }; build-system = [ From 0c58fa01ea6b04da0e71a85d821ee5f3cca18380 Mon Sep 17 00:00:00 2001 From: Kiskae Date: Fri, 12 Dec 2025 20:51:53 +0100 Subject: [PATCH 74/83] linuxPackages.nvidiaPackages.production: 580.105.08 -> 580.119.02 --- pkgs/os-specific/linux/nvidia-x11/default.nix | 32 ++++--------------- 1 file changed, 6 insertions(+), 26 deletions(-) diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix index 6441335c18e9..98a6c6b1636f 100644 --- a/pkgs/os-specific/linux/nvidia-x11/default.nix +++ b/pkgs/os-specific/linux/nvidia-x11/default.nix @@ -72,32 +72,12 @@ rec { stable = if stdenv.hostPlatform.system == "i686-linux" then legacy_390 else production; production = generic { - version = if stdenv.hostPlatform.system == "aarch64-linux" then "580.95.05" else "580.105.08"; - sha256_64bit = - if stdenv.hostPlatform.system == "aarch64-linux" then - "sha256-hJ7w746EK5gGss3p8RwTA9VPGpp2lGfk5dlhsv4Rgqc=" - else - "sha256-2cboGIZy8+t03QTPpp3VhHn6HQFiyMKMjRdiV2MpNHU="; - sha256_aarch64 = - if stdenv.hostPlatform.system == "aarch64-linux" then - "sha256-zLRCbpiik2fGDa+d80wqV3ZV1U1b4lRjzNQJsLLlICk=" - else - null; - openSha256 = - if stdenv.hostPlatform.system == "aarch64-linux" then - "sha256-RFwDGQOi9jVngVONCOB5m/IYKZIeGEle7h0+0yGnBEI=" - else - "sha256-FGmMt3ShQrw4q6wsk8DSvm96ie5yELoDFYinSlGZcwQ="; - settingsSha256 = - if stdenv.hostPlatform.system == "aarch64-linux" then - "sha256-F2wmUEaRrpR1Vz0TQSwVK4Fv13f3J9NJLtBe4UP2f14=" - else - "sha256-YvzWO1U3am4Nt5cQ+b5IJ23yeWx5ud1HCu1U0KoojLY="; - persistencedSha256 = - if stdenv.hostPlatform.system == "aarch64-linux" then - "sha256-QCwxXQfG/Pa7jSTBB0xD3lsIofcerAWWAHKvWjWGQtg=" - else - "sha256-qh8pKGxUjEimCgwH7q91IV7wdPyV5v5dc5/K/IcbruI="; + version = "580.119.02"; + sha256_64bit = "sha256-gCD139PuiK7no4mQ0MPSr+VHUemhcLqerdfqZwE47Nc="; + sha256_aarch64 = "sha256-eYcYVD5XaNbp4kPue8fa/zUgrt2vHdjn6DQMYDl0uQs="; + openSha256 = "sha256-l3IQDoopOt0n0+Ig+Ee3AOcFCGJXhbH1Q1nh1TEAHTE="; + settingsSha256 = "sha256-sI/ly6gNaUw0QZFWWkMbrkSstzf0hvcdSaogTUoTecI="; + persistencedSha256 = "sha256-j74m3tAYON/q8WLU9Xioo3CkOSXfo1CwGmDx/ot0uUo="; }; latest = selectHighestVersion production (generic { From 38524e162959bcc247a827491fdf77e0800fa75f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 12 Dec 2025 20:26:39 +0000 Subject: [PATCH 75/83] goverlay: 1.6.1 -> 1.6.2 --- pkgs/by-name/go/goverlay/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/go/goverlay/package.nix b/pkgs/by-name/go/goverlay/package.nix index 16adddb36d6c..9b8ce6dc2680 100644 --- a/pkgs/by-name/go/goverlay/package.nix +++ b/pkgs/by-name/go/goverlay/package.nix @@ -24,13 +24,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "goverlay"; - version = "1.6.1"; + version = "1.6.2"; src = fetchFromGitHub { owner = "benjamimgois"; repo = "goverlay"; tag = finalAttrs.version; - hash = "sha256-uJdX0Q8SO16U4AuDZWGeEFwVW0m8c4gNeAntWSWLvoU="; + hash = "sha256-x9/M2yhnPaXIGrQqZRvhgB++TyxHD3sFkK+6H5v+jqE="; }; outputs = [ From bf9f11e3665ac93363e064ca6a2141e552690e18 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Fri, 12 Dec 2025 14:32:51 -0600 Subject: [PATCH 76/83] vimPlugins.nvim-lspconfig: 2025-12-11 -> 2025-12-12 https://github.com/neovim/nvim-lspconfig/pull/4233 Signed-off-by: Austin Horstman --- pkgs/applications/editors/vim/plugins/generated.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix index 6400c39a8e9c..5a590676409b 100644 --- a/pkgs/applications/editors/vim/plugins/generated.nix +++ b/pkgs/applications/editors/vim/plugins/generated.nix @@ -11415,12 +11415,12 @@ final: prev: { nvim-lspconfig = buildVimPlugin { pname = "nvim-lspconfig"; - version = "2025-12-11"; + version = "2025-12-12"; src = fetchFromGitHub { owner = "neovim"; repo = "nvim-lspconfig"; - rev = "7af6f57d517d8cc68f249e0d27364c188a097812"; - sha256 = "1mlb8778pv5s7hf4agzjf7cvpj7axn9pa6g3haddqgr6bpxiinli"; + rev = "0044d0987ef7e624d04141d0f90d0481fd3c3663"; + sha256 = "0rkz22y07l06f69kvrkin7flr4pzp71mn7px91rv5slp83i9d6n4"; }; meta.homepage = "https://github.com/neovim/nvim-lspconfig/"; meta.hydraPlatforms = [ ]; From e232d849be8fc4ee8416968362a9c788389c7c9b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 12 Dec 2025 20:40:36 +0000 Subject: [PATCH 77/83] tofu-ls: 0.3.0 -> 0.3.1 --- pkgs/by-name/to/tofu-ls/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/to/tofu-ls/package.nix b/pkgs/by-name/to/tofu-ls/package.nix index 470cc6cad105..d79c2a1a5adf 100644 --- a/pkgs/by-name/to/tofu-ls/package.nix +++ b/pkgs/by-name/to/tofu-ls/package.nix @@ -8,16 +8,16 @@ buildGoModule (finalAttrs: { pname = "tofu-ls"; - version = "0.3.0"; + version = "0.3.1"; src = fetchFromGitHub { owner = "opentofu"; repo = "tofu-ls"; tag = "v${finalAttrs.version}"; - hash = "sha256-1n4BLep3KPku/eqZYsQVu57jq4fcua6pGGWq9oYh2Hg="; + hash = "sha256-BrCBltZJ56SM7XxWy/bgaHXOob8e3cJNfsB3/2k1u0s="; }; - vendorHash = "sha256-y7gyhek1urGVe1se8yd+EqgfeOGDde80AfwIwlk7Zso="; + vendorHash = "sha256-Uq/4rd3OvCBhp53MEMLiWL/V6hkygwdBLSN8Wzwqoew="; ldflags = [ "-s" From e53bc90472ca70ec7310433bf1c422188894793d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 12 Dec 2025 21:12:44 +0000 Subject: [PATCH 78/83] github-copilot-cli: 0.0.367 -> 0.0.369 --- pkgs/by-name/gi/github-copilot-cli/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/gi/github-copilot-cli/package.nix b/pkgs/by-name/gi/github-copilot-cli/package.nix index c78d81bcbfb1..51615dede2cd 100644 --- a/pkgs/by-name/gi/github-copilot-cli/package.nix +++ b/pkgs/by-name/gi/github-copilot-cli/package.nix @@ -10,11 +10,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "github-copilot-cli"; - version = "0.0.367"; + version = "0.0.369"; src = fetchzip { url = "https://registry.npmjs.org/@github/copilot/-/copilot-${finalAttrs.version}.tgz"; - hash = "sha256-RkJLklYZx1xWuRpxbZQDLPvRbfSbI6JhBZAswfyN+zk="; + hash = "sha256-6PBJf7LMUYrl3kIgR1rYkxLk19H7VjnIPVPOMq6Fwoc="; }; nativeBuildInputs = [ makeBinaryWrapper ]; From 40fc0e0cdaadce8c22c3e8775b8c24ec48620450 Mon Sep 17 00:00:00 2001 From: Alex Pearwin Date: Sun, 7 Dec 2025 22:58:00 +0000 Subject: [PATCH 79/83] nixos/prometheus/mqtt-exporter: correct MQTT_IGNORED_TOPICS variable name --- nixos/modules/services/monitoring/prometheus/exporters/mqtt.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/monitoring/prometheus/exporters/mqtt.nix b/nixos/modules/services/monitoring/prometheus/exporters/mqtt.nix index d1d6fcf6e2de..f9fbb3d323da 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/mqtt.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/mqtt.nix @@ -115,7 +115,7 @@ in KEEP_FULL_TOPIC = toConfigBoolean cfg.keepFullTopic; LOG_LEVEL = cfg.logLevel; LOG_MQTT_MESSAGE = toConfigBoolean cfg.logMqttMessage; - MQTT_IGNORED_TOPIC = toConfigList cfg.mqttIgnoredTopics; + MQTT_IGNORED_TOPICS = toConfigList cfg.mqttIgnoredTopics; MQTT_ADDRESS = cfg.mqttAddress; MQTT_PORT = toString cfg.mqttPort; MQTT_TOPIC = cfg.mqttTopic; From 3f3d63f55bd466a6eae79736389a6cd6ccb92d13 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 12 Dec 2025 21:42:03 +0000 Subject: [PATCH 80/83] terraform-providers.oracle_oci: 7.27.0 -> 7.28.0 --- .../networking/cluster/terraform-providers/providers.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index dd5afdd4978b..42bbb6a8f187 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -1048,11 +1048,11 @@ "vendorHash": null }, "oracle_oci": { - "hash": "sha256-PZ83SwGSgkQ8v+Hy56e8zipgbIR7Q/2rY27/5Zzwuok=", + "hash": "sha256-4EeI4mA5zNW3fmc2ESiaw/SOHoVw1cevtls+IFVVxfE=", "homepage": "https://registry.terraform.io/providers/oracle/oci", "owner": "oracle", "repo": "terraform-provider-oci", - "rev": "v7.27.0", + "rev": "v7.28.0", "spdx": "MPL-2.0", "vendorHash": null }, From 5a1815354421757dbbeca0fb380280a7273d0d59 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Fri, 12 Dec 2025 23:01:07 +0100 Subject: [PATCH 81/83] gwenhywfar: 5.12.1 -> 5.14.1 --- pkgs/development/libraries/aqbanking/sources.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/aqbanking/sources.nix b/pkgs/development/libraries/aqbanking/sources.nix index 05d37faa4994..52123d11584f 100644 --- a/pkgs/development/libraries/aqbanking/sources.nix +++ b/pkgs/development/libraries/aqbanking/sources.nix @@ -1,9 +1,9 @@ { # https://www.aquamaniac.de/rdm/projects/gwenhywfar/files gwenhywfar = { - version = "5.12.1"; - hash = "sha256-0YhEi5w6lwlyFCLuATS50Ld5CrdRQFjZngQ5njlGXdo="; - releaseId = "533"; + version = "5.14.1"; + hash = "sha256-iRb+qpnLlU+WPyy6jdLf/lfKz38oTa8A6rBxqtb+KrM="; + releaseId = "630"; }; # https://www.aquamaniac.de/rdm/projects/libchipcard/files From 4b088ec06671f17d115db589ac0d6ddaa8f8e4f1 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Fri, 12 Dec 2025 23:01:23 +0100 Subject: [PATCH 82/83] aqbanking: 6.6.1 -> 6.8.2 --- pkgs/development/libraries/aqbanking/sources.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/aqbanking/sources.nix b/pkgs/development/libraries/aqbanking/sources.nix index 52123d11584f..3fbb44169a09 100644 --- a/pkgs/development/libraries/aqbanking/sources.nix +++ b/pkgs/development/libraries/aqbanking/sources.nix @@ -15,8 +15,8 @@ # https://www.aquamaniac.de/rdm/projects/aqbanking/files aqbanking = { - version = "6.6.1"; - hash = "sha256-MlD6bYk/gW0pwZrzX+X8y3TAgOIXU/2eUleaeS3UhWc="; - releaseId = "535"; + version = "6.8.2"; + hash = "sha256-ELFMktdv8TZS4AtcSWABYB8NlGXFrLGxtoLUUQIkBuw="; + releaseId = "634"; }; } From 83f688cc4ba7dceb9805a191e52bc14d62df5247 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Fri, 12 Dec 2025 22:16:20 +0000 Subject: [PATCH 83/83] gpu-viewer: 3.22 -> 3.23 Diff: https://github.com/arunsivaramanneo/gpu-viewer/compare/v3.22...v3.23 Changelog: https://github.com/arunsivaramanneo/GPU-Viewer/releases/tag/v3.23 --- pkgs/by-name/gp/gpu-viewer/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/gp/gpu-viewer/package.nix b/pkgs/by-name/gp/gpu-viewer/package.nix index 63688f3edb43..8258523c0042 100644 --- a/pkgs/by-name/gp/gpu-viewer/package.nix +++ b/pkgs/by-name/gp/gpu-viewer/package.nix @@ -29,14 +29,14 @@ python3Packages.buildPythonApplication rec { pname = "gpu-viewer"; - version = "3.22"; + version = "3.23"; pyproject = false; src = fetchFromGitHub { owner = "arunsivaramanneo"; repo = "gpu-viewer"; tag = "v${version}"; - hash = "sha256-3X2dGjxxZdtNCvrCjoJ0hHzOS/3PZIn1oJAHu+j7Lu4="; + hash = "sha256-+x+e/GCNBpZTpExVwY6gm+/20pU5dg34+qMQIDWEf0E="; }; nativeBuildInputs = [