From 627a4a4a493c2658dac5b094393a8ced53a93a9b Mon Sep 17 00:00:00 2001 From: MithicSpirit Date: Tue, 8 Jul 2025 18:02:17 -0400 Subject: [PATCH 01/34] zathura: 0.5.11 -> 0.5.12 --- pkgs/applications/misc/zathura/core/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/zathura/core/default.nix b/pkgs/applications/misc/zathura/core/default.nix index 3ca3f6b8655a..b6de5c2eec01 100644 --- a/pkgs/applications/misc/zathura/core/default.nix +++ b/pkgs/applications/misc/zathura/core/default.nix @@ -32,11 +32,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "zathura"; - version = "0.5.11"; + version = "0.5.12"; src = fetchurl { url = "https://pwmt.org/projects/zathura/download/zathura-${finalAttrs.version}.tar.xz"; - hash = "sha256-VEWKmZivD7j67y6TSoESe75LeQyG3NLIuPMjZfPRtTw="; + hash = "sha256-6Ehw+/lrdmuCJKPzps58z6Nu+jtpGcyKL792XqTf5HY="; }; outputs = [ From 53f664d33df063e69a93cb9e35206a9e81e15fd6 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 9 Jul 2025 15:06:59 +0000 Subject: [PATCH 02/34] aichat: 0.29.0 -> 0.30.0 --- pkgs/by-name/ai/aichat/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ai/aichat/package.nix b/pkgs/by-name/ai/aichat/package.nix index 88a31667aa53..b3a7c391fc17 100644 --- a/pkgs/by-name/ai/aichat/package.nix +++ b/pkgs/by-name/ai/aichat/package.nix @@ -10,17 +10,17 @@ rustPlatform.buildRustPackage rec { pname = "aichat"; - version = "0.29.0"; + version = "0.30.0"; src = fetchFromGitHub { owner = "sigoden"; repo = "aichat"; tag = "v${version}"; - hash = "sha256-5fXZfRrHBAtjUa1VzzsdoFvXQSPQ8YUNJ7yhZlp58tM="; + hash = "sha256-xgTGii1xGtCc1OLoC53HAtQ+KVZNO1plB2GVtVBBlqs="; }; useFetchCargoVendor = true; - cargoHash = "sha256-YK2mps9DUs4HNFmYHtZHTJREuImlQ24y64ykGr8ovTs="; + cargoHash = "sha256-u2JBPm03qvuLEUOEt4YL9O750V2QPgZbxvsvlTQe2nk="; nativeBuildInputs = [ pkg-config From dfe10ddd842a313701270b04633c93a6aea72829 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 11 Jul 2025 01:09:59 +0000 Subject: [PATCH 03/34] go-blueprint: 0.10.10 -> 0.10.11 --- pkgs/by-name/go/go-blueprint/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/go/go-blueprint/package.nix b/pkgs/by-name/go/go-blueprint/package.nix index f485f85bad71..c394de2a346b 100644 --- a/pkgs/by-name/go/go-blueprint/package.nix +++ b/pkgs/by-name/go/go-blueprint/package.nix @@ -9,13 +9,13 @@ buildGoModule rec { pname = "go-blueprint"; - version = "0.10.10"; + version = "0.10.11"; src = fetchFromGitHub { owner = "Melkeydev"; repo = "go-blueprint"; rev = "v${version}"; - hash = "sha256-yUuI7FrrSTTlaFfb/hh0YSzaOzE2dBlXoSCaNuKFdrM="; + hash = "sha256-ahvSCu4bqzPmscHSQmaxhbUtlEL7T0T/13RY2sIGWjA="; }; ldflags = [ From cfb4f17e1faeb2e3b321cd26d6ef107ed7e9d526 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 11 Jul 2025 18:56:19 +0000 Subject: [PATCH 04/34] soteria: 0.1.4 -> 0.2.0 --- pkgs/by-name/so/soteria/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/so/soteria/package.nix b/pkgs/by-name/so/soteria/package.nix index 9598e11f50d0..5b3dc2928906 100644 --- a/pkgs/by-name/so/soteria/package.nix +++ b/pkgs/by-name/so/soteria/package.nix @@ -12,7 +12,7 @@ polkit, }: let - version = "0.1.4"; + version = "0.2.0"; in rustPlatform.buildRustPackage { pname = "soteria"; @@ -22,11 +22,11 @@ rustPlatform.buildRustPackage { owner = "imvaskel"; repo = "soteria"; tag = "v${version}"; - hash = "sha256-Dpu0GBpa3W2itIjCiqA4Yh4he0ZfLDSr26DYSfhMphI="; + hash = "sha256-bZhxz6aycx7J3itInSsl2glbIs6OpIEkfSp3nYfPojk="; }; useFetchCargoVendor = true; - cargoHash = "sha256-RXPzmco+pLkLxY+jicafuqdul9LpkDv6YK8+bHCS+5s="; + cargoHash = "sha256-rxZRDx+5srBbMTVLMNH8liOqjyg90FvTaTT7g+3fq7E="; nativeBuildInputs = [ pkg-config From 89be8803a2738f63d93172f1d194e64aec6e7e1f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 15 Jul 2025 13:55:33 +0000 Subject: [PATCH 05/34] anydesk: 7.0.0 -> 7.0.2 --- pkgs/by-name/an/anydesk/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/an/anydesk/package.nix b/pkgs/by-name/an/anydesk/package.nix index 85e0eff56e7a..c5901a1806b7 100644 --- a/pkgs/by-name/an/anydesk/package.nix +++ b/pkgs/by-name/an/anydesk/package.nix @@ -34,14 +34,14 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "anydesk"; - version = "7.0.0"; + version = "7.0.2"; src = fetchurl { urls = [ "https://download.anydesk.com/linux/anydesk-${finalAttrs.version}-amd64.tar.gz" "https://download.anydesk.com/linux/generic-linux/anydesk-${finalAttrs.version}-amd64.tar.gz" ]; - hash = "sha256-AEj4/S4k6mnCb/CagEDhpCtExB8pIqv7V2b/br4nC/8="; + hash = "sha256-qE49rV/QPYkbyAppDML/n6brzmiA93w47bDOwiKDuUo="; }; buildInputs = From d372ee5add1df609963e304e405aa517afbd3a77 Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Wed, 16 Jul 2025 00:17:52 +0200 Subject: [PATCH 06/34] nodejs_24: 24.4.0 -> 24.4.1 --- pkgs/development/web/nodejs/v24.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/web/nodejs/v24.nix b/pkgs/development/web/nodejs/v24.nix index c4bb1f022071..ddb9d040db8b 100644 --- a/pkgs/development/web/nodejs/v24.nix +++ b/pkgs/development/web/nodejs/v24.nix @@ -17,8 +17,8 @@ let in buildNodejs { inherit enableNpm; - version = "24.4.0"; - sha256 = "42fa8079da25a926013cd89b9d3467d09110e4fbb0c439342ebe4dd6ecc26bbb"; + version = "24.4.1"; + sha256 = "adb79ca0987486ed66136213da19ff17ef6724dcb340c320e010c9442101652f"; patches = ( if (stdenv.hostPlatform.emulatorAvailable buildPackages) then From e3e2b7b4010fa3170ae9211c4cc22792e571ed0a Mon Sep 17 00:00:00 2001 From: Brian Lee Date: Wed, 16 Jul 2025 09:47:30 -0700 Subject: [PATCH 07/34] lnd: 0.19.1 -> 0.19.2 --- pkgs/by-name/ln/lnd/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ln/lnd/package.nix b/pkgs/by-name/ln/lnd/package.nix index 4c0858c16d04..27cbf2bd3276 100644 --- a/pkgs/by-name/ln/lnd/package.nix +++ b/pkgs/by-name/ln/lnd/package.nix @@ -23,16 +23,16 @@ buildGoModule rec { pname = "lnd"; - version = "0.19.1-beta"; + version = "0.19.2-beta"; src = fetchFromGitHub { owner = "lightningnetwork"; repo = "lnd"; rev = "v${version}"; - hash = "sha256-ifxEUEQUhy1msMsP+rIx0s1GkI+569kMR9LwymeSPkY="; + hash = "sha256-LUBUODPKXqU/wzQhjmC0NfvM284sD5dc7iQFSsdzyyI="; }; - vendorHash = "sha256-FYyjCNiHKoG7/uvxhHKnEz3J4GuKwEJcjrFXYqCxTtc="; + vendorHash = "sha256-3eOKZ/NgSPrtYfDYUTDnVVb7EyMz8s+mtFo2UMyieHY="; subPackages = [ "cmd/lncli" From 9501130c38862a99b776ae82602dd0dfa9a5da92 Mon Sep 17 00:00:00 2001 From: jack Date: Thu, 5 Jun 2025 22:21:58 +0200 Subject: [PATCH 08/34] nixos/newt: init --- .../manual/release-notes/rl-2511.section.md | 2 + nixos/modules/module-list.nix | 1 + nixos/modules/services/networking/newt.nix | 165 ++++++++++++++++++ 3 files changed, 168 insertions(+) create mode 100644 nixos/modules/services/networking/newt.nix diff --git a/nixos/doc/manual/release-notes/rl-2511.section.md b/nixos/doc/manual/release-notes/rl-2511.section.md index 983537f73ede..fa41d887a18d 100644 --- a/nixos/doc/manual/release-notes/rl-2511.section.md +++ b/nixos/doc/manual/release-notes/rl-2511.section.md @@ -40,6 +40,8 @@ - [postfix-tlspol](https://github.com/Zuplu/postfix-tlspol), MTA-STS and DANE resolver and TLS policy server for Postfix. Available as [services.postfix-tlspol](#opt-services.postfix-tlspol.enable). +- [Newt](https://github.com/fosrl/newt), a fully user space WireGuard tunnel client and TCP/UDP proxy, designed to securely expose private resources controlled by Pangolin. Available as [services.newt](options.html#opt-services.newt.enable). + - [Szurubooru](https://github.com/rr-/szurubooru), an image board engine inspired by services such as Danbooru, dedicated for small and medium communities. Available as [services.szurubooru](#opt-services.szurubooru.enable). - The [Neat IP Address Planner](https://spritelink.github.io/NIPAP/) (NIPAP) can now be enabled through [services.nipap.enable](#opt-services.nipap.enable). diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 5eb40adc5647..2b93d0a3c84c 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -1241,6 +1241,7 @@ ./services/networking/netclient.nix ./services/networking/networkd-dispatcher.nix ./services/networking/networkmanager.nix + ./services/networking/newt.nix ./services/networking/nextdns.nix ./services/networking/nftables.nix ./services/networking/nghttpx/default.nix diff --git a/nixos/modules/services/networking/newt.nix b/nixos/modules/services/networking/newt.nix new file mode 100644 index 000000000000..e001dd85ffdd --- /dev/null +++ b/nixos/modules/services/networking/newt.nix @@ -0,0 +1,165 @@ +{ + config, + lib, + pkgs, + ... +}: +let + cfg = config.services.newt; +in +{ + options = { + services.newt = { + enable = lib.mkEnableOption "Newt, user space tunnel client for Pangolin"; + # needs to be changed when newt-go changes to fosrl-newt + package = lib.mkPackageOption pkgs "newt-go" { }; + + id = lib.mkOption { + type = with lib.types; nullOr str; + default = null; + description = '' + The Newt Id that will be used to communicate to Pangolin. This is generated on site creation in the dashboard. + ''; + }; + endpoint = lib.mkOption { + type = with lib.types; nullOr str; + default = null; + description = '' + The endpoint where both Gerbil and Pangolin reside in order to connect to the websocket. The url of your Pangolin dashboard. + ''; + }; + logLevel = lib.mkOption { + type = lib.types.enum [ + "DEBUG" + "INFO" + "WARN" + "ERROR" + "FATAL" + ]; + default = "INFO"; + description = "The log level to use."; + }; + # provide path to file to keep secrets out of the nix store + environmentFile = lib.mkOption { + type = with lib.types; nullOr path; + default = null; + description = '' + Path to a file containing sensitive environment variables for Newt. See https://docs.fossorial.io/Newt/overview#cli-args + These will overwrite anything defined in the config. + The file should contain environment-variable assignments like: + NEWT_ID=2ix2t8xk22ubpfy + NEWT_SECRET=nnisrfsdfc7prqsp9ewo1dvtvci50j5uiqotez00dgap0ii2 + ''; + }; + }; + }; + + config = lib.mkIf cfg.enable { + + assertions = [ + { + assertion = cfg.environmentFile != null; + message = "services.newt.environmentFile must be provided when Newt is enabled."; + } + ]; + + systemd.services.newt = { + description = "Newt, user space tunnel client for Pangolin"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + + environment = { + HOME = "/var/lib/private/newt"; + }; + # the flag values will all be overwritten if also defined in the env file + script = " + exec ${lib.getExe pkgs.newt-go} \\\n + ${lib.optionalString ( + !isNull cfg.id + ) "--id ${cfg.id} \\\n"} + ${lib.optionalString ( + !isNull cfg.endpoint + ) "--endpoint ${cfg.endpoint} \\\n"} + --log-level ${cfg.logLevel} + "; + serviceConfig = { + DynamicUser = true; + StateDirectory = "newt"; + StateDirectoryMode = "0700"; + Restart = "always"; + RestartSec = "10s"; + EnvironmentFile = cfg.environmentFile; + # hardening + ProtectSystem = "strict"; + ProtectHome = true; + PrivateTmp = "disconnected"; + PrivateDevices = true; + PrivateUsers = true; + PrivateMounts = true; + ProtectKernelTunables = true; + ProtectKernelModules = true; + ProtectKernelLogs = true; + ProtectControlGroups = true; + LockPersonality = true; + RestrictRealtime = true; + ProtectClock = true; + ProtectProc = "noaccess"; + ProtectHostname = true; + RemoveIPC = true; + NoNewPrivileges = true; + RestrictSUIDSGID = true; + MemoryDenyWriteExecute = true; + SystemCallArchitectures = "native"; + UMask = "0077"; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_NETLINK" + "AF_UNIX" + ]; + CapabilityBoundingSet = [ + "~CAP_BLOCK_SUSPEND" + "~CAP_BPF" + "~CAP_CHOWN" + "~CAP_MKNOD" + "~CAP_NET_RAW" + "~CAP_PERFMON" + "~CAP_SYS_BOOT" + "~CAP_SYS_CHROOT" + "~CAP_SYS_MODULE" + "~CAP_SYS_NICE" + "~CAP_SYS_PACCT" + "~CAP_SYS_PTRACE" + "~CAP_SYS_TIME" + "~CAP_SYS_TTY_CONFIG" + "~CAP_SYSLOG" + "~CAP_WAKE_ALARM" + ]; + SystemCallFilter = [ + "~@aio:EPERM" + "~@chown:EPERM" + "~@clock:EPERM" + "~@cpu-emulation:EPERM" + "~@debug:EPERM" + "~@keyring:EPERM" + "~@memlock:EPERM" + "~@module:EPERM" + "~@mount:EPERM" + "~@obsolete:EPERM" + "~@pkey:EPERM" + "~@privileged:EPERM" + "~@raw-io:EPERM" + "~@reboot:EPERM" + "~@resources:EPERM" + "~@sandbox:EPERM" + "~@setuid:EPERM" + "~@swap:EPERM" + "~@sync:EPERM" + "~@timer:EPERM" + ]; + }; + }; + }; + + meta.maintainers = with lib.maintainers; [ jackr ]; +} From d3bc50865f86c9955642af8c6c0b083653fd8362 Mon Sep 17 00:00:00 2001 From: transcaffeine Date: Tue, 15 Jul 2025 16:18:53 +0200 Subject: [PATCH 09/34] matrix-synapse: 1.133.0 -> 1.134.0 Release notes: https://github.com/element-hq/synapse/releases/tag/v1.134.0 Full changelog: https://github.com/element-hq/synapse/compare/v1.133.0...v1.134.0 --- nixos/modules/services/matrix/synapse.nix | 3 --- pkgs/by-name/ma/matrix-synapse-unwrapped/package.nix | 9 +++------ pkgs/by-name/ma/matrix-synapse/package.nix | 1 - 3 files changed, 3 insertions(+), 10 deletions(-) diff --git a/nixos/modules/services/matrix/synapse.nix b/nixos/modules/services/matrix/synapse.nix index b0859facd039..72a5aa247380 100644 --- a/nixos/modules/services/matrix/synapse.nix +++ b/nixos/modules/services/matrix/synapse.nix @@ -74,7 +74,6 @@ let "systemd" "postgres" "url-preview" - "user-search" ]; wantedExtras = @@ -84,7 +83,6 @@ let ++ lib.optional (cfg.settings ? saml2_config) "saml2" ++ lib.optional (cfg.settings ? redis) "redis" ++ lib.optional (cfg.settings ? sentry) "sentry" - ++ lib.optional (cfg.settings ? user_directory) "user-search" ++ lib.optional (cfg.settings.url_preview_enabled) "url-preview" ++ lib.optional (cfg.settings.database.name == "psycopg2") "postgres"; @@ -674,7 +672,6 @@ in "sentry" # Error tracking and performance metrics "systemd" # Provide the JournalHandler used in the default log_config "url-preview" # Support for oEmbed URL previews - "user-search" # Support internationalized domain names in user-search ] ''; description = '' diff --git a/pkgs/by-name/ma/matrix-synapse-unwrapped/package.nix b/pkgs/by-name/ma/matrix-synapse-unwrapped/package.nix index 8aca766ce6cf..014e15d0a363 100644 --- a/pkgs/by-name/ma/matrix-synapse-unwrapped/package.nix +++ b/pkgs/by-name/ma/matrix-synapse-unwrapped/package.nix @@ -18,14 +18,14 @@ let in python3.pkgs.buildPythonApplication rec { pname = "matrix-synapse"; - version = "1.133.0"; + version = "1.134.0"; format = "pyproject"; src = fetchFromGitHub { owner = "element-hq"; repo = "synapse"; rev = "v${version}"; - hash = "sha256-SCpLM/4sxE9xA781tgjrNNXpScCQOtgKnZKq64eCay8="; + hash = "sha256-q7+yVKFzyu8ccuroZsTSMRRKMwmr3TDojtXNx4bChTE"; }; patches = [ @@ -39,7 +39,7 @@ python3.pkgs.buildPythonApplication rec { cargoDeps = rustPlatform.fetchCargoVendor { inherit pname version src; - hash = "sha256-qgQU041VlAFFgEg2RhbK6g+aike+HN0FYuvHYtufzW8="; + hash = "sha256-BfLj+cqS6zpX2qLb+Rur4cy7CyPH2KzdXaTXpNK20DM="; }; postPatch = '' @@ -148,9 +148,6 @@ python3.pkgs.buildPythonApplication rec { cache-memory = [ pympler ]; - user-search = [ - pyicu - ]; }; nativeCheckInputs = diff --git a/pkgs/by-name/ma/matrix-synapse/package.nix b/pkgs/by-name/ma/matrix-synapse/package.nix index 9a7357a25735..5935b69234d3 100644 --- a/pkgs/by-name/ma/matrix-synapse/package.nix +++ b/pkgs/by-name/ma/matrix-synapse/package.nix @@ -7,7 +7,6 @@ [ "postgres" "url-preview" - "user-search" ] ++ lib.optional (lib.meta.availableOn stdenv.hostPlatform matrix-synapse-unwrapped.python.pkgs.systemd) "systemd", plugins ? [ ], From e63467437ce61d8d9a36e09254e8d07b472da0c6 Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Tue, 15 Jul 2025 11:43:56 +0200 Subject: [PATCH 10/34] open-webui: 0.6.15 -> 0.6.16 Diff: https://github.com/open-webui/open-webui/compare/refs/tags/v0.6.15...refs/tags/v0.6.16 Changelog: https://github.com/open-webui/open-webui/blob/v0.6.16/CHANGELOG.md --- pkgs/by-name/op/open-webui/package.nix | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/op/open-webui/package.nix b/pkgs/by-name/op/open-webui/package.nix index e8aa8a81e5cc..bcf525ca86de 100644 --- a/pkgs/by-name/op/open-webui/package.nix +++ b/pkgs/by-name/op/open-webui/package.nix @@ -9,13 +9,13 @@ }: let pname = "open-webui"; - version = "0.6.15"; + version = "0.6.16"; src = fetchFromGitHub { owner = "open-webui"; repo = "open-webui"; tag = "v${version}"; - hash = "sha256-MD7d+5JuTzChqKLxXyZFLyPktXFta1EOe4Oj4uEGaho="; + hash = "sha256-git5bNvW+CfeH4N9/AF5iWly0KoJf6OZKDKlGfhDtP4="; }; frontend = buildNpmPackage rec { @@ -32,7 +32,7 @@ let url = "https://github.com/pyodide/pyodide/releases/download/${pyodideVersion}/pyodide-${pyodideVersion}.tar.bz2"; }; - npmDepsHash = "sha256-rUFCFYbthr0IJ5oIMgb3tr5kTqmZN40EPn05xR3LL+A="; + npmDepsHash = "sha256-J739sG2rKmgQQ2bPHtwzdmYcwCig3AMzpHxt+PhmAME="; # Disabling `pyodide:fetch` as it downloads packages during `buildPhase` # Until this is solved, running python packages from the browser will not work. @@ -108,8 +108,9 @@ python3Packages.buildPythonApplication rec { boto3 chromadb colbert-ai + cryptography + ddgs docx2txt - duckduckgo-search einops elasticsearch extract-msg @@ -127,6 +128,7 @@ python3Packages.buildPythonApplication rec { google-genai google-generativeai googleapis-common-protos + httpx iso-639 langchain langchain-community @@ -163,6 +165,7 @@ python3Packages.buildPythonApplication rec { playwright psutil psycopg2-binary + pycrdt pydub pyjwt pymdown-extensions From 4dca27c0018735cb2f16f304395e905ce963bf8a Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Thu, 17 Jul 2025 21:11:05 +0100 Subject: [PATCH 11/34] whois: 5.6.2 -> 5.6.3 Changes: https://github.com/rfc1036/whois/compare/v5.6.2...v5.6.3 --- pkgs/by-name/wh/whois/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/wh/whois/package.nix b/pkgs/by-name/wh/whois/package.nix index e31d6f6cb3e0..d40fd71bc8fc 100644 --- a/pkgs/by-name/wh/whois/package.nix +++ b/pkgs/by-name/wh/whois/package.nix @@ -11,14 +11,14 @@ }: stdenv.mkDerivation rec { - version = "5.6.2"; + version = "5.6.3"; pname = "whois"; src = fetchFromGitHub { owner = "rfc1036"; repo = "whois"; rev = "v${version}"; - hash = "sha256-SUpbPxEAFXNlncUgmbMt7ZjaX45hzffca8keBRpcXcM="; + hash = "sha256-YJAd6s1kq2IJcR7qf7ljntLb5HgsaTH0wsoPKIMxHdg="; }; patches = [ From 144f699503279a8454fea5e3aa5868e9fad825fd Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 17 Jul 2025 20:32:22 +0000 Subject: [PATCH 12/34] cargo-public-api: 0.48.0 -> 0.49.0 --- pkgs/by-name/ca/cargo-public-api/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ca/cargo-public-api/package.nix b/pkgs/by-name/ca/cargo-public-api/package.nix index 971a850cbf47..411b9ae33608 100644 --- a/pkgs/by-name/ca/cargo-public-api/package.nix +++ b/pkgs/by-name/ca/cargo-public-api/package.nix @@ -9,15 +9,15 @@ rustPlatform.buildRustPackage rec { pname = "cargo-public-api"; - version = "0.48.0"; + version = "0.49.0"; src = fetchCrate { inherit pname version; - hash = "sha256-QNv1aVdGZUSgiq4nJ5epuioZOJCKsss7GKYlsf98CJc="; + hash = "sha256-OUWTRnV1cH+a0LtYau5v4kt+1Br8Yn8RPMIPlGNcvHc="; }; useFetchCargoVendor = true; - cargoHash = "sha256-XzMNQbDP1dCs1vCEGgOBLR0xw8RSXupMdX5V0SPtvy4="; + cargoHash = "sha256-UPtD5udR/avho3Sw3dyRjNGS5UmdwWWJJHkdSY92g8s="; nativeBuildInputs = [ pkg-config ]; From 5e8df6fceef5a6af06e9b5b84f69c55c5338fe46 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 17 Jul 2025 22:50:48 +0000 Subject: [PATCH 13/34] myks: 4.11.0 -> 4.11.2 --- pkgs/by-name/my/myks/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/my/myks/package.nix b/pkgs/by-name/my/myks/package.nix index 7c8b727e5c9f..f7794e704c60 100644 --- a/pkgs/by-name/my/myks/package.nix +++ b/pkgs/by-name/my/myks/package.nix @@ -10,16 +10,16 @@ buildGoModule rec { pname = "myks"; - version = "4.11.0"; + version = "4.11.2"; src = fetchFromGitHub { owner = "mykso"; repo = "myks"; tag = "v${version}"; - hash = "sha256-NXb+7JEk5w1hq7ML6LQD1QXbnOqp+BJ9K+uqrwUsrDs="; + hash = "sha256-T+ur6JSSC71mStc8/HxkGN4tMS4pEvoHBpsYkukYvRQ="; }; - vendorHash = "sha256-iAihVBR63OcORNAW7szKPOMyc+X1X76u++j5HLHU35I="; + vendorHash = "sha256-9dT3Y+d6JNSzVLxB8I0rsVLSPDH4ijeeehX9RWWo7hI="; subPackages = "."; From bc82b506a07297821cdbfb622014a8e3821c1c23 Mon Sep 17 00:00:00 2001 From: Vinicius Bernardino Date: Thu, 17 Jul 2025 20:04:50 -0300 Subject: [PATCH 14/34] netexec: updating impacket rev --- pkgs/by-name/ne/netexec/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/ne/netexec/package.nix b/pkgs/by-name/ne/netexec/package.nix index 4cdb4e13e0ce..858d52bf0e49 100644 --- a/pkgs/by-name/ne/netexec/package.nix +++ b/pkgs/by-name/ne/netexec/package.nix @@ -10,12 +10,12 @@ let self = python; packageOverrides = self: super: { impacket = super.impacket.overridePythonAttrs { - version = "0.12.0.dev1-unstable-2023-11-30"; + version = "0.12.0-unstable-2025-03-14"; src = fetchFromGitHub { - owner = "Pennyw0rth"; + owner = "fortra"; repo = "impacket"; - rev = "d370e6359a410063b2c9c68f6572c3b5fb178a38"; - hash = "sha256-Jozn4lKAnLQ2I53+bx0mFY++OH5P4KyqVmrS5XJUY3E="; + rev = "8b4566b12fc79acb520d045dbae8f13446a9d4d7"; + hash = "sha256-jyn5qSSAipGYhHm2EROwDHa227mnmW+d+0H0/++i1OY="; }; # Fix version to be compliant with Python packaging rules postPatch = '' From 18e6f6cd66ab86689dc5ede5caaad352ed66f936 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 17 Jul 2025 23:14:41 +0000 Subject: [PATCH 15/34] naja: 0.1.16 -> 0.1.24 --- pkgs/by-name/na/naja/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/na/naja/package.nix b/pkgs/by-name/na/naja/package.nix index 0b570a3c76a2..4c471357234d 100644 --- a/pkgs/by-name/na/naja/package.nix +++ b/pkgs/by-name/na/naja/package.nix @@ -16,13 +16,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "naja"; - version = "0.1.16"; + version = "0.1.24"; src = fetchFromGitHub { owner = "najaeda"; repo = "naja"; tag = "v${finalAttrs.version}"; - hash = "sha256-MwMpxmmr8fJN49RkRguiEEwPVUIm+OcNFjEixpjn9UY="; + hash = "sha256-vfP/xusfY11bk0GsIZcW38rXPMgutTDgTNjO40Uz1bU="; fetchSubmodules = true; }; From 06c09e5c96982e5383afbb537ba64af1c2ca5d9b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 18 Jul 2025 04:16:13 +0000 Subject: [PATCH 16/34] python3Packages.craft-parts: 2.16.0 -> 2.18.0 --- pkgs/development/python-modules/craft-parts/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/craft-parts/default.nix b/pkgs/development/python-modules/craft-parts/default.nix index 02ee801fded9..09a82797fd20 100644 --- a/pkgs/development/python-modules/craft-parts/default.nix +++ b/pkgs/development/python-modules/craft-parts/default.nix @@ -30,7 +30,7 @@ buildPythonPackage rec { pname = "craft-parts"; - version = "2.16.0"; + version = "2.18.0"; pyproject = true; @@ -38,7 +38,7 @@ buildPythonPackage rec { owner = "canonical"; repo = "craft-parts"; tag = version; - hash = "sha256-JuFx5Ap2ioYsc20E5Ho4z+/DFs7d+OBF3XLlOOZ10Zk="; + hash = "sha256-mjmWB6kgQNY++aAb9Ql/1cISGqX1mivz62y0Sa65FwM="; }; patches = [ ./bash-path.patch ]; From 8777f023a31d21a639f2f47cc6462fb12a721c7e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 18 Jul 2025 04:46:26 +0000 Subject: [PATCH 17/34] osquery: 5.17.0 -> 5.18.1 --- pkgs/by-name/os/osquery/info.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/os/osquery/info.json b/pkgs/by-name/os/osquery/info.json index dfc1eff28dc9..a525fd791a82 100644 --- a/pkgs/by-name/os/osquery/info.json +++ b/pkgs/by-name/os/osquery/info.json @@ -5,9 +5,9 @@ }, "osquery": { "fetchSubmodules": true, - "hash": "sha256-zv6R6MR9uaizwkDWw0sT3XSzT1qmPDAkL9crbzBTKTk=", + "hash": "sha256-oNH+mDTtg4m6wnE5XBWRQHWhBasy9ssSrxA/TPCd2pI=", "owner": "osquery", "repo": "osquery", - "rev": "5.17.0" + "rev": "5.18.1" } } From 81ff9c9bd43ee0f7fde38d03af712731efa660d1 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 18 Jul 2025 05:04:32 +0000 Subject: [PATCH 18/34] xmake: 3.0.0 -> 3.0.1 --- pkgs/by-name/xm/xmake/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/xm/xmake/package.nix b/pkgs/by-name/xm/xmake/package.nix index ba55f2a309f3..800a39c558f9 100644 --- a/pkgs/by-name/xm/xmake/package.nix +++ b/pkgs/by-name/xm/xmake/package.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "xmake"; - version = "3.0.0"; + version = "3.0.1"; src = fetchFromGitHub { owner = "xmake-io"; repo = "xmake"; tag = "v${finalAttrs.version}"; - hash = "sha256-JY94DaSZ12pRrcCPxoPaECRA8rMK6/fNNyr/F8Htu8A="; + hash = "sha256-PlSNeC5h2C+cQMHqN1dD6prfZIenZXEHa1nWD2SgMIU="; fetchSubmodules = true; }; From 8a1fe1aee47ccd91b28e76ccdd8bbe55d80094f3 Mon Sep 17 00:00:00 2001 From: Nathan Regner Date: Sun, 11 May 2025 10:56:39 -0600 Subject: [PATCH 19/34] super-slicer-beta: 2.5.60.0 -> 2.7.61.6 --- .../misc/prusa-slicer/super-slicer.nix | 47 ++++++++++++------- 1 file changed, 30 insertions(+), 17 deletions(-) diff --git a/pkgs/applications/misc/prusa-slicer/super-slicer.nix b/pkgs/applications/misc/prusa-slicer/super-slicer.nix index 0e7114cc787f..4435ecf6d967 100644 --- a/pkgs/applications/misc/prusa-slicer/super-slicer.nix +++ b/pkgs/applications/misc/prusa-slicer/super-slicer.nix @@ -22,21 +22,44 @@ let ./super-slicer-use-boost186.patch ]; + wxGTK31-prusa = wxGTK31.overrideAttrs (old: { + pname = "wxwidgets-prusa3d-patched"; + version = "3.1.4"; + src = fetchFromGitHub { + owner = "prusa3d"; + repo = "wxWidgets"; + rev = "489f6118256853cf5b299d595868641938566cdb"; + hash = "sha256-xGL5I2+bPjmZGSTYe1L7VAmvLHbwd934o/cxg9baEvQ="; + fetchSubmodules = true; + }; + }); + versions = { stable = { version = "2.5.59.13"; hash = "sha256-FkoGcgVoBeHSZC3W5y30TBPmPrWnZSlO66TgwskgqAU="; inherit patches; + overrides = { + wxGTK-override = wxGTK31-prusa; + }; }; latest = { version = "2.5.59.13"; hash = "sha256-FkoGcgVoBeHSZC3W5y30TBPmPrWnZSlO66TgwskgqAU="; inherit patches; + overrides = { + wxGTK-override = wxGTK31-prusa; + }; }; beta = { - version = "2.5.60.0"; - hash = "sha256-dDRK07SatLLhuoc2fJKbHUwAofRRvBUoXWO61W2blFM="; - inherit patches; + version = "2.7.61.6"; + hash = "sha256-j9er2/z4jl04HI6aOMJ6YCXwhZ6qEhgMJjW117cLnz0="; + # this can be removed once prusa-slicer natively supports WayLand + # https://github.com/prusa3d/PrusaSlicer/issues/8284 + # https://github.com/prusa3d/PrusaSlicer/pull/13307 + # https://gitlab.archlinux.org/schiele/prusa-slicer/-/blob/d839bb84345c0f3ab3eb151a5777f0ca85b5f318/allow_wayland.patch + # https://gitlab.archlinux.org/archlinux/packaging/packages/prusa-slicer/-/issues/3 + patches = [ ./super-slicer-allow-wayland.patch ]; }; }; @@ -44,7 +67,8 @@ let { version, hash, - patches, + patches ? [ ], + ... }: super: { inherit version pname patches; @@ -115,23 +139,12 @@ let passthru = allVersions; }; - wxGTK31-prusa = wxGTK31.overrideAttrs (old: { - pname = "wxwidgets-prusa3d-patched"; - version = "3.1.4"; - src = fetchFromGitHub { - owner = "prusa3d"; - repo = "wxWidgets"; - rev = "489f6118256853cf5b299d595868641938566cdb"; - hash = "sha256-xGL5I2+bPjmZGSTYe1L7VAmvLHbwd934o/cxg9baEvQ="; - fetchSubmodules = true; - }; - }); prusa-slicer-deps-override = prusa-slicer.override { - wxGTK-override = wxGTK31-prusa; opencascade-override = opencascade-occt_7_6; }; allVersions = builtins.mapAttrs ( - _name: version: (prusa-slicer-deps-override.overrideAttrs (override version)) + _name: version: + (prusa-slicer-deps-override.override (version.overrides or { })).overrideAttrs (override version) ) versions; in allVersions.stable From 4102ad72909fd1cb48e5bcada71786228e5c50e1 Mon Sep 17 00:00:00 2001 From: Nathan Regner Date: Tue, 20 May 2025 19:32:42 -0600 Subject: [PATCH 20/34] super-slicer-beta: fix black platter preview screen on NVIDIA/Wayland --- .../super-slicer-allow-wayland.patch | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 pkgs/applications/misc/prusa-slicer/super-slicer-allow-wayland.patch diff --git a/pkgs/applications/misc/prusa-slicer/super-slicer-allow-wayland.patch b/pkgs/applications/misc/prusa-slicer/super-slicer-allow-wayland.patch new file mode 100644 index 000000000000..bb945f7c477b --- /dev/null +++ b/pkgs/applications/misc/prusa-slicer/super-slicer-allow-wayland.patch @@ -0,0 +1,47 @@ +From e60fc934dd48613d2fa2128e962fdc4955c91cad Mon Sep 17 00:00:00 2001 +From: Nathan Regner +Date: Wed, 21 May 2025 08:12:55 -0600 +Subject: [PATCH] Remove forced GDK_BACKEND to x11 + +Fixes black platter preview with NVIDIA hardware on Wayland + +Original patch: https://gitlab.archlinux.org/schiele/prusa-slicer/-/blob/d839bb84345c0f3ab3eb151a5777f0ca85b5f318/allow_wayland.patch +Discussion: https://gitlab.archlinux.org/archlinux/packaging/packages/prusa-slicer/-/issues/3 +--- + src/PrusaSlicer.cpp | 13 +++---------- + 1 file changed, 3 insertions(+), 10 deletions(-) + +diff --git a/src/PrusaSlicer.cpp b/src/PrusaSlicer.cpp +index 2111308..ccb1a34 100644 +--- a/src/PrusaSlicer.cpp ++++ b/src/PrusaSlicer.cpp +@@ -80,13 +80,6 @@ int CLI::run(int argc, char **argv) + //init random generator + std::srand((unsigned int)std::time(nullptr)); + +-#ifdef __WXGTK__ +- // On Linux, wxGTK has no support for Wayland, and the app crashes on +- // startup if gtk3 is used. This env var has to be set explicitly to +- // instruct the window manager to fall back to X server mode. +- ::setenv("GDK_BACKEND", "x11", /* replace */ true); +-#endif +- + // Switch boost::filesystem to utf8. + try { + boost::nowide::nowide_filesystem(); +@@ -710,9 +703,9 @@ int CLI::run(int argc, char **argv) + #if !defined(_WIN32) && !defined(__APPLE__) + // likely some linux / unix system + const char *display = boost::nowide::getenv("DISPLAY"); +- // const char *wayland_display = boost::nowide::getenv("WAYLAND_DISPLAY"); +- //if (! ((display && *display) || (wayland_display && *wayland_display))) { +- if (! (display && *display)) { ++ const char *wayland_display = boost::nowide::getenv("WAYLAND_DISPLAY"); ++ if (! ((display && *display) || (wayland_display && *wayland_display))) { ++ // if (! (display && *display)) { + // DISPLAY not set. + boost::nowide::cerr << "DISPLAY not set, GUI mode not available." << std::endl << std::endl; + this->print_help(false); +-- +2.49.0 + From ba72a7e3d9cfd62237ebfca9dafb81e43294604f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 18 Jul 2025 06:52:50 +0000 Subject: [PATCH 21/34] fnott: 1.7.1 -> 1.8.0 --- pkgs/by-name/fn/fnott/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/fn/fnott/package.nix b/pkgs/by-name/fn/fnott/package.nix index 77d998ea5929..ca8176bbc6c9 100644 --- a/pkgs/by-name/fn/fnott/package.nix +++ b/pkgs/by-name/fn/fnott/package.nix @@ -21,14 +21,14 @@ stdenv.mkDerivation (finalAttrs: { pname = "fnott"; - version = "1.7.1"; + version = "1.8.0"; src = fetchFromGitea { domain = "codeberg.org"; owner = "dnkl"; repo = "fnott"; rev = finalAttrs.version; - hash = "sha256-C0GvpjOrcelk/KNNDQ7/02Ai7xy8FVzmLcuC2je5wYA="; + hash = "sha256-II8fij64ufwXg71VoSayVpSFim9+2w3j4gdTRDBrYQE="; }; PKG_CONFIG_DBUS_1_SESSION_BUS_SERVICES_DIR = "${placeholder "out"}/share/dbus-1/services"; From d61ece5a95ce92a08b9d7b42568fbacc06ee52d5 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Wed, 16 Jul 2025 17:55:14 +0200 Subject: [PATCH 22/34] .github/PULL_REQUEST_TEMPLATE: remove sandbox checkbox This checkbox has been used very incosistently and its meaning is not entirely clear: What does it mean if both checkboxes are *unchecked*? Does that mean the sandbox was disabled? Or does it mean the checkbox was just not handled? Also the new nixpkgs-review-gha, which is increasingly used to test builds on darwin platforms shows this information as part of the review - where it's in a much better place. --- .github/PULL_REQUEST_TEMPLATE.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index db78d5188521..4f5365b11d5b 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -15,9 +15,6 @@ For new packages please briefly describe the package or provide a link to its ho - [ ] aarch64-linux - [ ] x86_64-darwin - [ ] aarch64-darwin -- For non-Linux: Is sandboxing enabled in `nix.conf`? (See [Nix manual](https://nixos.org/manual/nix/stable/command-ref/conf-file.html)) - - [ ] `sandbox = relaxed` - - [ ] `sandbox = true` - [ ] Tested, as applicable: - [NixOS test(s)](https://nixos.org/manual/nixos/unstable/index.html#sec-nixos-tests) (look inside [nixos/tests](https://github.com/NixOS/nixpkgs/blob/master/nixos/tests)) - and/or [package tests](https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md#package-tests) From 0d433c5f7e0af87d9d50292689e7ec595f651348 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Wed, 16 Jul 2025 17:58:00 +0200 Subject: [PATCH 23/34] .github/PULL_REQUEST_TEMPLATE: remove note about reviews While this note is important, it's also mostly invisible at this stage. The comment only shows while creating the PR, but at this stage the author really has other things to worry about. If they care, they will read the contribution guidelines and will pick up the pieces about reviewing that way. If they don't - they won't be bothered by this notice either. --- .github/PULL_REQUEST_TEMPLATE.md | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 4f5365b11d5b..4645b429ba12 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -29,17 +29,6 @@ For new packages please briefly describe the package or provide a link to its ho - [ ] (Module addition) Added a release notes entry if adding a new NixOS module - [ ] Fits [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md), [pkgs/README.md](https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md), [maintainers/README.md](https://github.com/NixOS/nixpkgs/blob/master/maintainers/README.md) and other contributing documentation in corresponding paths. - - --- Add a :+1: [reaction] to [pull requests you find important]. From 76dd297d04ace8708199130c4df5812afbd740bc Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Wed, 16 Jul 2025 18:08:26 +0200 Subject: [PATCH 24/34] .github/PULL_REQUEST_TEMPLATE: avoid inlining links for readability We expect the TODO list to be read through *on PR creation*, otherwise the html comments would not make sense. Thus, we should make it even only slightly readable, which was not at all the case before. The links for release notes are removed, because the PR author has no value from the *current* release notes. They will need to find the file manually anyway. --- .github/PULL_REQUEST_TEMPLATE.md | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 4645b429ba12..101d066850e9 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -16,18 +16,30 @@ For new packages please briefly describe the package or provide a link to its ho - [ ] x86_64-darwin - [ ] aarch64-darwin - [ ] Tested, as applicable: - - [NixOS test(s)](https://nixos.org/manual/nixos/unstable/index.html#sec-nixos-tests) (look inside [nixos/tests](https://github.com/NixOS/nixpkgs/blob/master/nixos/tests)) - - and/or [package tests](https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md#package-tests) - - or, for functions and "core" functionality, tests in [lib/tests](https://github.com/NixOS/nixpkgs/blob/master/lib/tests) or [pkgs/test](https://github.com/NixOS/nixpkgs/blob/master/pkgs/test) - - made sure NixOS tests are [linked](https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md#linking-nixos-module-tests-to-a-package) to the relevant packages -- [ ] Tested compilation of all packages that depend on this change using `nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"`. Note: all changes have to be committed, also see [nixpkgs-review usage](https://github.com/Mic92/nixpkgs-review#usage) + - [NixOS test(s)] (look inside [nixos/tests]) + - and/or [package tests] + - or, for functions and "core" functionality, tests in [lib/tests] or [pkgs/test] + - made sure NixOS tests are [linked] to the relevant packages +- [ ] Tested compilation of all packages that depend on this change using `nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"`. Note: all changes have to be committed, also see [nixpkgs-review usage] - [ ] Tested basic functionality of all binary files (usually in `./result/bin/`) -- [Nixpkgs 25.11 Release Notes](https://github.com/NixOS/nixpkgs/blob/master/doc/release-notes/rl-2511.section.md) (or backporting [25.05](https://github.com/NixOS/nixpkgs/blob/master/doc/manual/release-notes/rl-2505.section.md) Nixpkgs Release notes) +- Nixpkgs Release Notes (or backporting 25.05 Nixpkgs Release notes) - [ ] (Package updates) Added a release notes entry if the change is major or breaking -- [NixOS 25.11 Release Notes](https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/release-notes/rl-2511.section.md) (or backporting [25.05](https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/release-notes/rl-2505.section.md) NixOS Release notes) +- NixOS Release Notes (or backporting 25.05 NixOS Release notes) - [ ] (Module updates) Added a release notes entry if the change is significant - [ ] (Module addition) Added a release notes entry if adding a new NixOS module -- [ ] Fits [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md), [pkgs/README.md](https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md), [maintainers/README.md](https://github.com/NixOS/nixpkgs/blob/master/maintainers/README.md) and other contributing documentation in corresponding paths. +- [ ] Fits [CONTRIBUTING.md], [pkgs/README.md], [maintainers/README.md] and other contributing documentation in corresponding paths. + +[NixOS test(s)]: https://nixos.org/manual/nixos/unstable/index.html#sec-nixos-tests +[package tests]: https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md#package-tests +[linked]: https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md#linking-nixos-module-tests-to-a-package +[nixpkgs-review usage]: https://github.com/Mic92/nixpkgs-review#usage + +[CONTRIBUTING.md]: https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md +[lib/tests]: https://github.com/NixOS/nixpkgs/blob/master/lib/tests +[maintainers/README.md]: https://github.com/NixOS/nixpkgs/blob/master/maintainers/README.md +[nixos/tests]: https://github.com/NixOS/nixpkgs/blob/master/nixos/tests +[pkgs/README.md]: https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md +[pkgs/test]: https://github.com/NixOS/nixpkgs/blob/master/pkgs/test --- From 464e0012d45dd251c579869d43ec9231bb9e9720 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Wed, 16 Jul 2025 18:15:16 +0200 Subject: [PATCH 25/34] .github/PULL_REQUEST_TEMPLATE: remove mention of linking NixOS tests This *is* important, but is a niche detail which belongs into the contributions guidelines - and not into the PR template. It's also out of place for "what did you test?". --- .github/PULL_REQUEST_TEMPLATE.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 101d066850e9..e0cb5210e5a5 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -19,7 +19,6 @@ For new packages please briefly describe the package or provide a link to its ho - [NixOS test(s)] (look inside [nixos/tests]) - and/or [package tests] - or, for functions and "core" functionality, tests in [lib/tests] or [pkgs/test] - - made sure NixOS tests are [linked] to the relevant packages - [ ] Tested compilation of all packages that depend on this change using `nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"`. Note: all changes have to be committed, also see [nixpkgs-review usage] - [ ] Tested basic functionality of all binary files (usually in `./result/bin/`) - Nixpkgs Release Notes (or backporting 25.05 Nixpkgs Release notes) @@ -31,7 +30,6 @@ For new packages please briefly describe the package or provide a link to its ho [NixOS test(s)]: https://nixos.org/manual/nixos/unstable/index.html#sec-nixos-tests [package tests]: https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md#package-tests -[linked]: https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md#linking-nixos-module-tests-to-a-package [nixpkgs-review usage]: https://github.com/Mic92/nixpkgs-review#usage [CONTRIBUTING.md]: https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md From 7288dfa6c20433fcd57201943d1acee86f46c64a Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Wed, 16 Jul 2025 18:20:50 +0200 Subject: [PATCH 26/34] .github/PULL_REQUEST_TEMPLATE: shorten TODO list This doesn't really change the items, but shortens the writing a lot, making them much more readable, especially while still drafting the PR. Mentioning the release notes for the previous release is not really important, because it doesn't apply for the big majority of pull requests. --- .github/PULL_REQUEST_TEMPLATE.md | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index e0cb5210e5a5..6f2f01e5d33e 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -10,26 +10,26 @@ For new packages please briefly describe the package or provide a link to its ho -- Built on platform(s) +- Built on platform: - [ ] x86_64-linux - [ ] aarch64-linux - [ ] x86_64-darwin - [ ] aarch64-darwin -- [ ] Tested, as applicable: - - [NixOS test(s)] (look inside [nixos/tests]) - - and/or [package tests] - - or, for functions and "core" functionality, tests in [lib/tests] or [pkgs/test] -- [ ] Tested compilation of all packages that depend on this change using `nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"`. Note: all changes have to be committed, also see [nixpkgs-review usage] -- [ ] Tested basic functionality of all binary files (usually in `./result/bin/`) -- Nixpkgs Release Notes (or backporting 25.05 Nixpkgs Release notes) - - [ ] (Package updates) Added a release notes entry if the change is major or breaking -- NixOS Release Notes (or backporting 25.05 NixOS Release notes) - - [ ] (Module updates) Added a release notes entry if the change is significant - - [ ] (Module addition) Added a release notes entry if adding a new NixOS module -- [ ] Fits [CONTRIBUTING.md], [pkgs/README.md], [maintainers/README.md] and other contributing documentation in corresponding paths. +- Tested, as applicable: + - [ ] [NixOS tests] in [nixos/tests]. + - [ ] [Package tests] at `passthru.tests`. + - [ ] Tests in [lib/tests] or [pkgs/test] for functions and "core" functionality. +- [ ] Ran `nixpkgs-review` on this PR. See [nixpkgs-review usage]. +- [ ] Tested basic functionality of all binary files, usually in `./result/bin/`. +- Nixpkgs Release Notes + - [ ] Package update: when the change is major or breaking. +- NixOS Release Notes + - [ ] Module addition: when adding a new NixOS module. + - [ ] Module update: when the change is significant. +- [ ] Fits [CONTRIBUTING.md], [pkgs/README.md], [maintainers/README.md] and others READMEs. -[NixOS test(s)]: https://nixos.org/manual/nixos/unstable/index.html#sec-nixos-tests -[package tests]: https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md#package-tests +[NixOS tests]: https://nixos.org/manual/nixos/unstable/index.html#sec-nixos-tests +[Package tests]: https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md#package-tests [nixpkgs-review usage]: https://github.com/Mic92/nixpkgs-review#usage [CONTRIBUTING.md]: https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md From ea4d3707508f8ec1d7bf2dff661b21034e02e08e Mon Sep 17 00:00:00 2001 From: yadokani389 Date: Fri, 18 Jul 2025 16:05:50 +0900 Subject: [PATCH 27/34] zenn-cli: 0.1.159 -> 0.2.1 --- pkgs/by-name/ze/zenn-cli/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ze/zenn-cli/package.nix b/pkgs/by-name/ze/zenn-cli/package.nix index 092748bd6de7..63c9737b5509 100644 --- a/pkgs/by-name/ze/zenn-cli/package.nix +++ b/pkgs/by-name/ze/zenn-cli/package.nix @@ -37,13 +37,13 @@ in stdenv.mkDerivation (finalAttrs: { pname = "zenn-cli"; - version = "0.1.159"; + version = "0.2.1"; src = fetchFromGitHub { owner = "zenn-dev"; repo = "zenn-editor"; tag = finalAttrs.version; - hash = "sha256-q28XSsGf+Uz+FTRwyu1xg/8bnYxuL6Jt+t3mk0CcWGY="; + hash = "sha256-LFbC3GXYLCgBOYBdNJRdESGb37DuGBCEL8ak1Qf9DVA="; # turborepo requires .git directory leaveDotGit = true; }; From b6b1464727003e9b4aa7a7dd1b40eb59253fa2f1 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 18 Jul 2025 05:51:12 +0000 Subject: [PATCH 28/34] hyprgraphics: 0.1.4 -> 0.1.5 --- pkgs/by-name/hy/hyprgraphics/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/hy/hyprgraphics/package.nix b/pkgs/by-name/hy/hyprgraphics/package.nix index 350c74e8478a..5534ddcf6f6d 100644 --- a/pkgs/by-name/hy/hyprgraphics/package.nix +++ b/pkgs/by-name/hy/hyprgraphics/package.nix @@ -17,13 +17,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "hyprgraphics"; - version = "0.1.4"; + version = "0.1.5"; src = fetchFromGitHub { owner = "hyprwm"; repo = "hyprgraphics"; tag = "v${finalAttrs.version}"; - hash = "sha256-8u6b5oAdX0rCuoR8wFenajBRmI+mzbpNig6hSCuWUzE="; + hash = "sha256-gbh1HL98Fdqu0jJIWN4OJQN7Kkth7+rbkFpSZLm/62A="; }; nativeBuildInputs = [ From c497088953a40a59b4ed757c252f57d6b59f7f57 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 18 Jul 2025 09:28:17 +0000 Subject: [PATCH 29/34] cargo-valgrind: 2.3.1 -> 2.3.2 --- pkgs/by-name/ca/cargo-valgrind/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ca/cargo-valgrind/package.nix b/pkgs/by-name/ca/cargo-valgrind/package.nix index 6463f3821661..b25120091531 100644 --- a/pkgs/by-name/ca/cargo-valgrind/package.nix +++ b/pkgs/by-name/ca/cargo-valgrind/package.nix @@ -8,17 +8,17 @@ }: rustPlatform.buildRustPackage rec { pname = "cargo-valgrind"; - version = "2.3.1"; + version = "2.3.2"; src = fetchFromGitHub { owner = "jfrimmel"; repo = "cargo-valgrind"; tag = version; - sha256 = "sha256-gr/s2dYCFmhwfXT3tqWPFpXQK2QaAhL7Aqnn1A3KjJI="; + sha256 = "sha256-oLnvDie6PUW5MVEMIcqfmwNkkfz25l+NABSKih4eSpI="; }; useFetchCargoVendor = true; - cargoHash = "sha256-iNsGrbncZwCHXn/xuiI4Mw4F3FFWswEhwpIMI0xcFgU="; + cargoHash = "sha256-L927ViGgb5LchJRMd6cBks6K41xOYLNI1Q2kTKdYBgg="; passthru = { updateScript = nix-update-script { }; From 396614dd55e86fe0dd57507e728c6c313858f233 Mon Sep 17 00:00:00 2001 From: Defelo Date: Sat, 12 Jul 2025 15:06:00 +0200 Subject: [PATCH 30/34] chhoto-url: init at 6.2.8 --- pkgs/by-name/ch/chhoto-url/package.nix | 43 ++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 pkgs/by-name/ch/chhoto-url/package.nix diff --git a/pkgs/by-name/ch/chhoto-url/package.nix b/pkgs/by-name/ch/chhoto-url/package.nix new file mode 100644 index 000000000000..73de105cf5cc --- /dev/null +++ b/pkgs/by-name/ch/chhoto-url/package.nix @@ -0,0 +1,43 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + nix-update-script, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "chhoto-url"; + version = "6.2.8"; + + src = fetchFromGitHub { + owner = "SinTan1729"; + repo = "chhoto-url"; + tag = finalAttrs.version; + hash = "sha256-aWiLfhNbtjsM7fEqoNIKsU12/3b8ORTpZ/4jyqSLmdM="; + }; + + sourceRoot = "${finalAttrs.src.name}/actix"; + + postPatch = '' + substituteInPlace src/{main.rs,services.rs} \ + --replace-fail "./resources/" "${placeholder "out"}/share/chhoto-url/resources/" + ''; + + cargoHash = "sha256-rKNGUl1TI21SOBwTuv/TGl46S8FVjCWunJwP5PLdx6g="; + + postInstall = '' + mkdir -p $out/share/chhoto-url + cp -r ${finalAttrs.src}/resources $out/share/chhoto-url/resources + ''; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Simple, blazingly fast, selfhosted URL shortener with no unnecessary features"; + homepage = "https://github.com/SinTan1729/chhoto-url"; + changelog = "https://github.com/SinTan1729/chhoto-url/releases/tag/${finalAttrs.version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ defelo ]; + mainProgram = "chhoto-url"; + }; +}) From 55e6f26bff0266a9276eb5f146e1da04d8c15d83 Mon Sep 17 00:00:00 2001 From: Defelo Date: Sat, 12 Jul 2025 16:43:13 +0200 Subject: [PATCH 31/34] nixos/chhoto-url: init module --- .../manual/release-notes/rl-2511.section.md | 2 + nixos/modules/module-list.nix | 1 + .../modules/services/web-apps/chhoto-url.nix | 212 ++++++++++++++++++ 3 files changed, 215 insertions(+) create mode 100644 nixos/modules/services/web-apps/chhoto-url.nix diff --git a/nixos/doc/manual/release-notes/rl-2511.section.md b/nixos/doc/manual/release-notes/rl-2511.section.md index 4b0a2c4395d1..4ac409a4fb6d 100644 --- a/nixos/doc/manual/release-notes/rl-2511.section.md +++ b/nixos/doc/manual/release-notes/rl-2511.section.md @@ -34,6 +34,8 @@ - [tlsrpt-reporter], an application suite to generate and deliver TLSRPT reports. Available as [services.tlsrpt](#opt-services.tlsrpt.enable). +- [Chhoto URL](https://github.com/SinTan1729/chhoto-url), a simple, blazingly fast, selfhosted URL shortener with no unnecessary features, written in Rust. Available as [services.chhoto-url](#opt-services.chhoto-url.enable). + - [Broadcast Box](https://github.com/Glimesh/broadcast-box), a WebRTC broadcast server. Available as [services.broadcast-box](options.html#opt-services.broadcast-box.enable). - Docker now defaults to 28.x, because version 27.x stopped receiving security updates and bug fixes after [May 2, 2025](https://github.com/moby/moby/pull/49910). diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 0ec81e5bcb7b..b3f544f92f6d 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -1528,6 +1528,7 @@ ./services/web-apps/castopod.nix ./services/web-apps/changedetection-io.nix ./services/web-apps/chatgpt-retrieval-plugin.nix + ./services/web-apps/chhoto-url.nix ./services/web-apps/cloudlog.nix ./services/web-apps/code-server.nix ./services/web-apps/coder.nix diff --git a/nixos/modules/services/web-apps/chhoto-url.nix b/nixos/modules/services/web-apps/chhoto-url.nix new file mode 100644 index 000000000000..8b6df98dc53e --- /dev/null +++ b/nixos/modules/services/web-apps/chhoto-url.nix @@ -0,0 +1,212 @@ +{ + config, + lib, + pkgs, + ... +}: + +let + cfg = config.services.chhoto-url; + + environment = lib.mapAttrs ( + _: value: + if value == true then + "True" + else if value == false then + "False" + else + toString value + ) cfg.settings; +in + +{ + meta.maintainers = with lib.maintainers; [ defelo ]; + + options.services.chhoto-url = { + enable = lib.mkEnableOption "Chhoto URL"; + + package = lib.mkPackageOption pkgs "chhoto-url" { }; + + settings = lib.mkOption { + description = '' + Configuration of Chhoto URL. + See for a list of options. + ''; + example = { + port = 4567; + }; + + type = lib.types.submodule { + freeformType = + with lib.types; + attrsOf (oneOf [ + str + int + bool + ]); + + options = { + db_url = lib.mkOption { + type = lib.types.path; + description = "The path of the sqlite database."; + default = "/var/lib/chhoto-url/urls.sqlite"; + }; + + port = lib.mkOption { + type = lib.types.port; + description = "The port to listen on."; + example = 4567; + }; + + cache_control_header = lib.mkOption { + type = lib.types.nullOr lib.types.str; + description = "The Cache-Control header to send."; + default = null; + example = "no-cache, private"; + }; + + disable_frontend = lib.mkOption { + type = lib.types.bool; + description = "Whether to disable the frontend."; + default = false; + }; + + public_mode = lib.mkOption { + type = lib.types.bool; + description = "Whether to enable public mode."; + default = false; + apply = x: if x then "Enable" else "Disable"; + }; + + public_mode_expiry_delay = lib.mkOption { + type = lib.types.nullOr lib.types.ints.unsigned; + description = "The maximum expiry delay in seconds to force in public mode."; + default = null; + example = 3600; + }; + + redirect_method = lib.mkOption { + type = lib.types.enum [ + "TEMPORARY" + "PERMANENT" + ]; + description = "The redirect method to use."; + default = "PERMANENT"; + }; + + hash_algorithm = lib.mkOption { + type = lib.types.nullOr (lib.types.enum [ "Argon2" ]); + description = '' + The hash algorithm to use for passwords and API keys. + Set to `null` if you want to provide these secrets as plaintext. + ''; + default = null; + }; + + site_url = lib.mkOption { + type = lib.types.nullOr lib.types.str; + description = "The URL under which Chhoto URL is externally reachable."; + default = null; + }; + + slug_style = lib.mkOption { + type = lib.types.enum [ + "Pair" + "UID" + ]; + description = "The slug style to use for auto-generated URLs."; + default = "Pair"; + }; + + slug_length = lib.mkOption { + type = lib.types.addCheck lib.types.int (x: x >= 4); + description = "The length of auto-generated slugs."; + default = 8; + }; + + try_longer_slugs = lib.mkOption { + type = lib.types.bool; + description = "Whether to try a longer UID upon collision."; + default = false; + }; + + allow_capital_letters = lib.mkOption { + type = lib.types.bool; + description = "Whether to allow capital letters in slugs."; + default = false; + }; + + custom_landing_directory = lib.mkOption { + type = lib.types.nullOr lib.types.path; + description = "The path of a directory which contains a custom landing page."; + default = null; + }; + }; + }; + }; + + environmentFiles = lib.mkOption { + type = lib.types.listOf lib.types.path; + default = [ ]; + example = [ "/run/secrets/chhoto-url.env" ]; + description = '' + Files to load environment variables from in addition to [](#opt-services.chhoto-url.settings). + This is useful to avoid putting secrets into the nix store. + See for a list of options. + ''; + }; + }; + + config = lib.mkIf cfg.enable { + systemd.services.chhoto-url = { + wantedBy = [ "multi-user.target" ]; + + inherit environment; + + serviceConfig = { + User = "chhoto-url"; + Group = "chhoto-url"; + DynamicUser = true; + StateDirectory = "chhoto-url"; + EnvironmentFile = cfg.environmentFiles; + + ExecStart = lib.getExe cfg.package; + + # hardening + AmbientCapabilities = ""; + CapabilityBoundingSet = [ "" ]; + DevicePolicy = "closed"; + LockPersonality = true; + MemoryDenyWriteExecute = true; + NoNewPrivileges = true; + PrivateDevices = true; + PrivateTmp = true; + PrivateUsers = true; + ProcSubset = "pid"; + ProtectClock = true; + ProtectControlGroups = true; + ProtectHome = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectProc = "invisible"; + ProtectSystem = "strict"; + RemoveIPC = true; + RestrictAddressFamilies = [ "AF_INET AF_INET6" ]; + RestrictNamespaces = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + SocketBindAllow = "tcp:${toString cfg.settings.port}"; + SocketBindDeny = "any"; + SystemCallArchitectures = "native"; + SystemCallFilter = [ + "@system-service" + "~@privileged" + "~@resources" + ]; + UMask = "0077"; + }; + }; + }; +} From b6ebd3bac96cc9bb55c3ad337a38de49ddec875b Mon Sep 17 00:00:00 2001 From: Defelo Date: Sat, 12 Jul 2025 16:48:06 +0200 Subject: [PATCH 32/34] nixos/tests/chhoto-url: init --- nixos/tests/all-tests.nix | 1 + nixos/tests/chhoto-url.nix | 60 ++++++++++++++++++++++++++ pkgs/by-name/ch/chhoto-url/package.nix | 6 ++- 3 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 nixos/tests/chhoto-url.nix diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 7aa2dbdbdaf5..dbfb793af023 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -311,6 +311,7 @@ in cfssl = runTestOn [ "aarch64-linux" "x86_64-linux" ] ./cfssl.nix; cgit = runTest ./cgit.nix; charliecloud = runTest ./charliecloud.nix; + chhoto-url = runTest ./chhoto-url.nix; chromadb = runTest ./chromadb.nix; chromium = (handleTestOn [ "aarch64-linux" "x86_64-linux" ] ./chromium.nix { }).stable or { }; chrony = runTestOn [ "aarch64-linux" "x86_64-linux" ] ./chrony.nix; diff --git a/nixos/tests/chhoto-url.nix b/nixos/tests/chhoto-url.nix new file mode 100644 index 000000000000..01572b3c3216 --- /dev/null +++ b/nixos/tests/chhoto-url.nix @@ -0,0 +1,60 @@ +{ config, lib, ... }: + +{ + name = "chhoto-url"; + meta.maintainers = with lib.maintainers; [ defelo ]; + + nodes.machine = { + services.chhoto-url = { + enable = true; + settings.port = 8000; + environmentFiles = [ + (builtins.toFile "chhoto-url.env" '' + api_key=api_key + password=password + '') + ]; + }; + }; + + interactive.nodes.machine = { + services.glitchtip.listenAddress = "0.0.0.0"; + networking.firewall.allowedTCPPorts = [ 8000 ]; + virtualisation.forwardPorts = [ + { + from = "host"; + host.port = 8000; + guest.port = 8000; + } + ]; + }; + + testScript = '' + import json + import re + + machine.wait_for_unit("chhoto-url.service") + machine.wait_for_open_port(8000) + + resp = json.loads(machine.succeed("curl localhost:8000/api/getconfig")) + assert resp["success"] is False + assert resp["reason"] == "No valid authentication was found" + + resp = json.loads(machine.succeed("curl -H 'X-API-Key: api_key' localhost:8000/api/getconfig")) + expected_version = "${config.nodes.machine.services.chhoto-url.package.version}" + assert resp["version"] == expected_version + + resp = json.loads(machine.succeed("curl -H 'X-API-Key: api_key' localhost:8000/api/new -d '{\"longlink\": \"https://nixos.org/\"}'")) + assert resp["success"] is True + assert (match := re.match(r"^http://localhost:8000/(.+)$", resp["shorturl"])) + slug = match[1] + + resp = machine.succeed(f"curl -i {resp["shorturl"]}") + assert (match := re.search(r"(?m)^location: (.+?)\r?$", resp)) + assert match[1] == "https://nixos.org/" + + resp = json.loads(machine.succeed(f"curl -H 'X-API-Key: api_key' localhost:8000/api/expand -d '{slug}'")) + assert resp["success"] is True + assert resp["hits"] == 1 + ''; +} diff --git a/pkgs/by-name/ch/chhoto-url/package.nix b/pkgs/by-name/ch/chhoto-url/package.nix index 73de105cf5cc..8622efa24fd0 100644 --- a/pkgs/by-name/ch/chhoto-url/package.nix +++ b/pkgs/by-name/ch/chhoto-url/package.nix @@ -2,6 +2,7 @@ lib, rustPlatform, fetchFromGitHub, + nixosTests, nix-update-script, }: @@ -30,7 +31,10 @@ rustPlatform.buildRustPackage (finalAttrs: { cp -r ${finalAttrs.src}/resources $out/share/chhoto-url/resources ''; - passthru.updateScript = nix-update-script { }; + passthru = { + tests = { inherit (nixosTests) chhoto-url; }; + updateScript = nix-update-script { }; + }; meta = { description = "Simple, blazingly fast, selfhosted URL shortener with no unnecessary features"; From d0c86fa554324bd37e9e54d55193a39c70de8f7a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 18 Jul 2025 10:19:06 +0000 Subject: [PATCH 33/34] pomerium-cli: 0.30.0 -> 0.30.1 --- pkgs/by-name/po/pomerium-cli/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/po/pomerium-cli/package.nix b/pkgs/by-name/po/pomerium-cli/package.nix index da9ff5a492b2..4780a0835b63 100644 --- a/pkgs/by-name/po/pomerium-cli/package.nix +++ b/pkgs/by-name/po/pomerium-cli/package.nix @@ -14,16 +14,16 @@ let in buildGoModule rec { pname = "pomerium-cli"; - version = "0.30.0"; + version = "0.30.1"; src = fetchFromGitHub { owner = "pomerium"; repo = "cli"; rev = "v${version}"; - sha256 = "sha256-BQuI4t9WjOeeqqPYLLsVyvyAbotzQZKAgSLgYDEF0Rg="; + sha256 = "sha256-zrmd/c1XVoD9oLbDBvbtPHQpbPLOvDRSV4CamViBd1w="; }; - vendorHash = "sha256-E3wKzIgrw1UDzHyZIHsALlTrQojHtSjtyckV34RPUtg="; + vendorHash = "sha256-G+XnzbkJw4ttif+OcTrHlhz9a3P/CVKnJ3IF3iPcaHM="; subPackages = [ "cmd/pomerium-cli" From c93587a62143640546e0b20ab48ff9138344af48 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 18 Jul 2025 10:26:02 +0000 Subject: [PATCH 34/34] dprint-plugins.dprint-plugin-biome: 0.9.0 -> 0.9.1 --- pkgs/by-name/dp/dprint/plugins/dprint-plugin-biome.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/dp/dprint/plugins/dprint-plugin-biome.nix b/pkgs/by-name/dp/dprint/plugins/dprint-plugin-biome.nix index d23ada9911e8..651a0ab33dcd 100644 --- a/pkgs/by-name/dp/dprint/plugins/dprint-plugin-biome.nix +++ b/pkgs/by-name/dp/dprint/plugins/dprint-plugin-biome.nix @@ -1,7 +1,7 @@ { mkDprintPlugin }: mkDprintPlugin { description = "Biome (JS/TS) wrapper plugin."; - hash = "sha256-QQ4FrQL64JJ/JJNWt6i5+2yqM15TXICcKGTqUDEWVVA="; + hash = "sha256-CqsBSzhUD5OUqyXNIl2T8yb/QngR3ept1kTMUKu7vuc="; initConfig = { configExcludes = [ "**/node_modules" ]; configKey = "biome"; @@ -16,6 +16,6 @@ mkDprintPlugin { }; pname = "dprint-plugin-biome"; updateUrl = "https://plugins.dprint.dev/dprint/biome/latest.json"; - url = "https://plugins.dprint.dev/biome-0.9.0.wasm"; - version = "0.9.0"; + url = "https://plugins.dprint.dev/biome-0.9.1.wasm"; + version = "0.9.1"; }