From d3a3c21412942a07811d616005c9efd1f2dee452 Mon Sep 17 00:00:00 2001 From: Patrick Date: Tue, 3 Dec 2024 23:21:06 +0100 Subject: [PATCH] update --- config/services/netbird.nix | 1 - flake.lock | 470 +++++++++++++++++------------------- flake.nix | 1 - hosts/elisabeth/guests.nix | 22 +- patches/PR/335827.diff | 291 ++++++++++++++++++++++ patches/PR/339370.diff | 27 ++- patches/PR/354032.diff | 94 +++----- patches/PR/355216.diff | 21 -- pkgs/pr-tracker.nix | 38 --- pkgs/scripts/default.nix | 2 +- pr.txt | 4 - users/patrick/patrick.nix | 2 +- users/patrick/theme.nix | 7 +- 13 files changed, 571 insertions(+), 409 deletions(-) create mode 100644 patches/PR/335827.diff delete mode 100644 patches/PR/355216.diff delete mode 100644 pkgs/pr-tracker.nix delete mode 100644 pr.txt diff --git a/config/services/netbird.nix b/config/services/netbird.nix index 4320832..502b0c2 100644 --- a/config/services/netbird.nix +++ b/config/services/netbird.nix @@ -42,7 +42,6 @@ networking.firewall.allowedUDPPorts = [ 3478 - 5349 ]; # STUN/TURN server services.netbird = { clients.main = { diff --git a/flake.lock b/flake.lock index b182c44..8ffde9c 100644 --- a/flake.lock +++ b/flake.lock @@ -28,18 +28,19 @@ "agenix-rekey": { "inputs": { "devshell": "devshell", - "flake-utils": "flake-utils", + "flake-parts": "flake-parts", "nixpkgs": [ "nixpkgs" ], - "pre-commit-hooks": "pre-commit-hooks" + "pre-commit-hooks": "pre-commit-hooks", + "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1729172588, - "narHash": "sha256-BLAyMpW3onKZ0tOfXRY26baJL9fZ/OogccFWO0uNyuw=", + "lastModified": 1732704340, + "narHash": "sha256-zcX8QIaaJJ5Us53vaWMPH2LNkZBCSwTH7pI+FgXCg+0=", "owner": "oddlama", "repo": "agenix-rekey", - "rev": "0488a23f882df0de8107e46da88177bd038ab4d2", + "rev": "662522cf89fde332157e527b4322d614598631d9", "type": "github" }, "original": { @@ -133,29 +134,17 @@ }, "crane_2": { "inputs": { - "flake-compat": [ - "lanzaboote", - "flake-compat" - ], - "flake-utils": [ - "lanzaboote", - "flake-utils" - ], "nixpkgs": [ "lanzaboote", "nixpkgs" - ], - "rust-overlay": [ - "lanzaboote", - "rust-overlay" ] }, "locked": { - "lastModified": 1681177078, - "narHash": "sha256-ZNIjBDou2GOabcpctiQykEQVkI8BDwk7TyvlWlI4myE=", + "lastModified": 1707363508, + "narHash": "sha256-Cu5Mwktod5hcxxSpHl0FCeZ9la7v4KO5Tfrrs59AAJg=", "owner": "ipetkov", "repo": "crane", - "rev": "0c9f468ff00576577d83f5019a66c557ede5acf6", + "rev": "f2926e34a1599837f3256c701739529d772e36e7", "type": "github" }, "original": { @@ -229,15 +218,14 @@ "nixpkgs": [ "agenix-rekey", "nixpkgs" - ], - "systems": "systems_2" + ] }, "locked": { - "lastModified": 1695195896, - "narHash": "sha256-pq9q7YsGXnQzJFkR5284TmxrLNFc0wo4NQ/a5E93CQU=", + "lastModified": 1728330715, + "narHash": "sha256-xRJ2nPOXb//u1jaBnDP56M7v5ldavjbtR6lfGqSvcKg=", "owner": "numtide", "repo": "devshell", - "rev": "05d40d17bf3459606316e3e9ec683b784ff28f16", + "rev": "dd6b80932022cea34a019e2bb32f6fa9e494dfef", "type": "github" }, "original": { @@ -314,7 +302,7 @@ "nixos-extra-modules", "nixpkgs" ], - "systems": "systems_7" + "systems": "systems_5" }, "locked": { "lastModified": 1701787589, @@ -379,11 +367,11 @@ ] }, "locked": { - "lastModified": 1731746438, - "narHash": "sha256-f3SSp1axoOk0NAI7oFdRzbxG2XPBSIXC+/DaAXnvS1A=", + "lastModified": 1733168902, + "narHash": "sha256-8dupm9GfK+BowGdQd7EHK5V61nneLfr9xR6sc5vtDi0=", "owner": "nix-community", "repo": "disko", - "rev": "cb64993826fa7a477490be6ccb38ba1fa1e18fa8", + "rev": "785c1e02c7e465375df971949b8dcbde9ec362e5", "type": "github" }, "original": { @@ -443,11 +431,11 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1673956053, - "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", "owner": "edolstra", "repo": "flake-compat", - "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", "type": "github" }, "original": { @@ -489,11 +477,11 @@ "flake-compat_12": { "flake": false, "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "lastModified": 1732722421, + "narHash": "sha256-HRJ/18p+WoXpWJkcdsk9St5ZiukCqSDgbOGFa8Okehg=", "owner": "edolstra", "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "rev": "9ed2ac151eada2306ca8c418ebd97807bb08f6ac", "type": "github" }, "original": { @@ -682,6 +670,24 @@ } }, "flake-parts_3": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib_3" + }, + "locked": { + "lastModified": 1730504689, + "narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "506278e768c2a08bec68eb62932193e341f55c90", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_4": { "inputs": { "nixpkgs-lib": [ "lanzaboote", @@ -702,9 +708,9 @@ "type": "github" } }, - "flake-parts_4": { + "flake-parts_5": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib_3" + "nixpkgs-lib": "nixpkgs-lib_4" }, "locked": { "lastModified": 1730504689, @@ -720,7 +726,7 @@ "type": "github" } }, - "flake-parts_5": { + "flake-parts_6": { "inputs": { "nixpkgs-lib": [ "nixpkgs-wayland", @@ -742,7 +748,7 @@ "type": "github" } }, - "flake-parts_6": { + "flake-parts_7": { "inputs": { "nixpkgs-lib": [ "nixvim", @@ -765,25 +771,7 @@ }, "flake-utils": { "inputs": { - "systems": "systems_3" - }, - "locked": { - "lastModified": 1694529238, - "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_2": { - "inputs": { - "systems": "systems_4" + "systems": "systems_2" }, "locked": { "lastModified": 1681202837, @@ -799,9 +787,27 @@ "type": "github" } }, + "flake-utils_2": { + "inputs": { + "systems": "systems_3" + }, + "locked": { + "lastModified": 1726560853, + "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "flake-utils_3": { "inputs": { - "systems": "systems_5" + "systems": "systems_4" }, "locked": { "lastModified": 1726560853, @@ -821,24 +827,6 @@ "inputs": { "systems": "systems_6" }, - "locked": { - "lastModified": 1726560853, - "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_5": { - "inputs": { - "systems": "systems_8" - }, "locked": { "lastModified": 1701680307, "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", @@ -853,9 +841,27 @@ "type": "github" } }, + "flake-utils_5": { + "inputs": { + "systems": "systems_7" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "flake-utils_6": { "inputs": { - "systems": "systems_9" + "systems": "systems_8" }, "locked": { "lastModified": 1731533236, @@ -872,24 +878,6 @@ } }, "flake-utils_7": { - "inputs": { - "systems": "systems_10" - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_8": { "inputs": { "systems": [ "stylix", @@ -943,11 +931,11 @@ ] }, "locked": { - "lastModified": 1731363552, - "narHash": "sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf+InnSMT4jlMU=", + "lastModified": 1732021966, + "narHash": "sha256-mnTbjpdqF0luOkou8ZFi2asa1N3AA2CchR/RqCNmsGE=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "cd1af27aa85026ac759d5d3fccf650abe7e1bbf0", + "rev": "3308484d1a443fc5bc92012435d79e80458fe43c", "type": "github" }, "original": { @@ -965,11 +953,11 @@ ] }, "locked": { - "lastModified": 1660459072, - "narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=", + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", "owner": "hercules-ci", "repo": "gitignore.nix", - "rev": "a20de23b925fd8264fd7fad6454652e142fd7f73", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", "type": "github" }, "original": { @@ -1155,11 +1143,11 @@ ] }, "locked": { - "lastModified": 1731832479, - "narHash": "sha256-icDDuYwJ0avTMZTxe1qyU/Baht5JOqw4pb5mWpR+hT0=", + "lastModified": 1733175814, + "narHash": "sha256-zFOtOaqjzZfPMsm1mwu98syv3y+jziAq5DfWygaMtLg=", "owner": "nix-community", "repo": "home-manager", - "rev": "5056a1cf0ce7c2a08ab50713b6c4af77975f6111", + "rev": "bf23fe41082aa0289c209169302afd3397092f22", "type": "github" }, "original": { @@ -1176,11 +1164,11 @@ ] }, "locked": { - "lastModified": 1731604581, - "narHash": "sha256-Qq2YZZaDTB3FZLWU/Hgh1uuWlUBl3cMLGB99bm7rFUM=", + "lastModified": 1733175814, + "narHash": "sha256-zFOtOaqjzZfPMsm1mwu98syv3y+jziAq5DfWygaMtLg=", "owner": "nix-community", "repo": "home-manager", - "rev": "1d0862ee2d7c6f6cd720d6f32213fa425004be10", + "rev": "bf23fe41082aa0289c209169302afd3397092f22", "type": "github" }, "original": { @@ -1213,13 +1201,13 @@ "idmail": { "inputs": { "devshell": "devshell_3", - "flake-parts": "flake-parts_2", + "flake-parts": "flake-parts_3", "nci": "nci", "nixpkgs": [ "nixpkgs" ], "pre-commit-hooks": "pre-commit-hooks_2", - "treefmt-nix": "treefmt-nix" + "treefmt-nix": "treefmt-nix_2" }, "locked": { "lastModified": 1732405639, @@ -1282,8 +1270,8 @@ "inputs": { "crane": "crane_2", "flake-compat": "flake-compat_4", - "flake-parts": "flake-parts_3", - "flake-utils": "flake-utils_2", + "flake-parts": "flake-parts_4", + "flake-utils": "flake-utils", "nixpkgs": [ "nixpkgs" ], @@ -1307,15 +1295,15 @@ }, "lib-aggregate": { "inputs": { - "flake-utils": "flake-utils_6", - "nixpkgs-lib": "nixpkgs-lib_4" + "flake-utils": "flake-utils_5", + "nixpkgs-lib": "nixpkgs-lib_5" }, "locked": { - "lastModified": 1731845570, - "narHash": "sha256-5reOtlm18XLnh3ezruPOg2wQO+MB7ztsFaIzSUAzeh8=", + "lastModified": 1733055216, + "narHash": "sha256-yB2y7tGJxDI/SDQ0D7b6ocRtLTPm93u8ybdIKQGXRDE=", "owner": "nix-community", "repo": "lib-aggregate", - "rev": "7a1d37b2b16f32536628df9cea6a2003d79a49f9", + "rev": "f67bf0781c69a46bf3a1469f83c98518aa3054c3", "type": "github" }, "original": { @@ -1339,18 +1327,18 @@ }, "microvm": { "inputs": { - "flake-utils": "flake-utils_3", + "flake-utils": "flake-utils_2", "nixpkgs": [ "nixpkgs" ], "spectrum": "spectrum" }, "locked": { - "lastModified": 1731240174, - "narHash": "sha256-HYu+bPoV3UILhwc4Ar5iQ7aF+DuQWHXl4mljN6Bwq6A=", - "owner": "astro", + "lastModified": 1733259424, + "narHash": "sha256-4TYf+5OmJr76f8PH9+G34BuDI8o2dAwcTucmgnvR4kI=", + "owner": "patrickdag", "repo": "microvm.nix", - "rev": "dd89404e1885b8d7033106f3898eaef8db660cb2", + "rev": "68c4ab8d096b3b283e1f4e4695230885eab8efa1", "type": "github" }, "original": { @@ -1450,11 +1438,11 @@ ] }, "locked": { - "lastModified": 1731642829, - "narHash": "sha256-vG+O2RZRzYZ8BUMNNJ+BLSj6PUoGW7taDQbp6QNJ3Xo=", + "lastModified": 1733105089, + "narHash": "sha256-Qs3YmoLYUJ8g4RkFj2rMrzrP91e4ShAioC9s+vG6ENM=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "f86f158efd4bab8dce3e207e4621f1df3a760b7a", + "rev": "c6b65d946097baf3915dd51373251de98199280d", "type": "github" }, "original": { @@ -1465,17 +1453,17 @@ }, "nix-eval-jobs": { "inputs": { - "flake-parts": "flake-parts_5", + "flake-parts": "flake-parts_6", "nix-github-actions": "nix-github-actions", "nixpkgs": "nixpkgs_7", - "treefmt-nix": "treefmt-nix_3" + "treefmt-nix": "treefmt-nix_4" }, "locked": { - "lastModified": 1731682758, - "narHash": "sha256-o54e8oNPPNmU7zHm3uTvsbbQLi7EKX3S6EEndXFG594=", + "lastModified": 1732631228, + "narHash": "sha256-/7Wyhp00yecUMPNz79gGZpjos8OLHqOfdiWWIQfZA1M=", "owner": "nix-community", "repo": "nix-eval-jobs", - "rev": "d926bcd5206c0b7afe47bed92557c8cd5e882b36", + "rev": "8f56354b794624689851b2d86c2ce0209cc8f0cf", "type": "github" }, "original": { @@ -1493,11 +1481,11 @@ ] }, "locked": { - "lastModified": 1720066371, - "narHash": "sha256-uPlLYH2S0ACj0IcgaK9Lsf4spmJoGejR9DotXiXSBZQ=", + "lastModified": 1731952509, + "narHash": "sha256-p4gB3Rhw8R6Ak4eMl8pqjCPOLCZRqaehZxdZ/mbFClM=", "owner": "nix-community", "repo": "nix-github-actions", - "rev": "622f829f5fe69310a866c8a6cd07e747c44ef820", + "rev": "7b5f051df789b6b20d259924d349a9ba3319b226", "type": "github" }, "original": { @@ -1513,11 +1501,11 @@ ] }, "locked": { - "lastModified": 1731814505, - "narHash": "sha256-l9ryrx1Twh08a+gxrMGM9O/aZKEimZfa6sZVyPCImgI=", + "lastModified": 1733024876, + "narHash": "sha256-vy9Q41hBE7Zg0yakF79neVgb3i3PQMSMR7uHPpPywFE=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "bdba246946fb079b87b4cada4df9b1cdf1c06132", + "rev": "6e0b7f81367069589a480b91603a10bcf71f3103", "type": "github" }, "original": { @@ -1529,16 +1517,16 @@ "nix-topology": { "inputs": { "devshell": "devshell_4", - "flake-utils": "flake-utils_4", + "flake-utils": "flake-utils_3", "nixpkgs": "nixpkgs", "pre-commit-hooks": "pre-commit-hooks_3" }, "locked": { - "lastModified": 1730803396, - "narHash": "sha256-5ycWNOxmR/wPftlSWLQEZ3odOIE3rPvSd2qjd5+nLAE=", + "lastModified": 1732192922, + "narHash": "sha256-xQO/3I99TFdiXTN5VoS28NpbNlCQWQUvxmPQHlfkzmU=", "owner": "oddlama", "repo": "nix-topology", - "rev": "82dbbdc3c4f8f86fefdee8d8875fd4fd9276881a", + "rev": "2b107e98bbde932a363874e0ef5b1739a932bbc5", "type": "github" }, "original": { @@ -1549,11 +1537,11 @@ }, "nixlib": { "locked": { - "lastModified": 1731200463, - "narHash": "sha256-qDaAweJjdFbVExqs8aG27urUgcgKufkIngHW3Rzustg=", + "lastModified": 1733015484, + "narHash": "sha256-qiyO0GrTvbp869U4VGX5GhAZ00fSiPXszvosY1AgKQ8=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "e04234d263750db01c78a412690363dc2226e68a", + "rev": "0e4fdd4a0ab733276b6d2274ff84ae353f17129e", "type": "github" }, "original": { @@ -1565,7 +1553,7 @@ "nixos-extra-modules": { "inputs": { "devshell": "devshell_5", - "flake-utils": "flake-utils_5", + "flake-utils": "flake-utils_4", "lib-net": "lib-net", "nixpkgs": [ "nixpkgs" @@ -1594,11 +1582,11 @@ ] }, "locked": { - "lastModified": 1731546190, - "narHash": "sha256-kJix8nLyFIJ3EC7VtoXK/85C4ZN2dC5oWoS8+ErehqI=", + "lastModified": 1733101779, + "narHash": "sha256-Qqnfnb/RFxBbD25UYJ/yibvl9kIZNK5WkyLsUcb2byk=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "06ffce1a8d95e95c06a4bcfa117dd960b14a7101", + "rev": "a471acc460d4c238936a5116c8cc48a3c431dd66", "type": "github" }, "original": { @@ -1609,11 +1597,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1731797098, - "narHash": "sha256-UhWmEZhwJZmVZ1jfHZFzCg+ZLO9Tb/v3Y6LC0UNyeTo=", + "lastModified": 1733217105, + "narHash": "sha256-fc6jTzIwCIVWTX50FtW6AZpuukuQWSEbPiyg6ZRGWFY=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "672ac2ac86f7dff2f6f3406405bddecf960e0db6", + "rev": "cceee0a31d2f01bcc98b2fbd591327c06a4ea4f9", "type": "github" }, "original": { @@ -1646,11 +1634,11 @@ "nixp-meta": { "inputs": { "devshell": "devshell_6", - "flake-parts": "flake-parts_4", + "flake-parts": "flake-parts_5", "nci": "nci_2", "nixpkgs": "nixpkgs_3", "pre-commit-hooks": "pre-commit-hooks_5", - "treefmt-nix": "treefmt-nix_2" + "treefmt-nix": "treefmt-nix_3" }, "locked": { "lastModified": 1733088671, @@ -1720,47 +1708,43 @@ }, "nixpkgs-lib_4": { "locked": { - "lastModified": 1731805462, - "narHash": "sha256-yhEMW4MBi+IAyEJyiKbnFvY1uARyMKJpLUhkczI49wk=", - "owner": "nix-community", - "repo": "nixpkgs.lib", - "rev": "b9f04e3cf71c23bea21d2768051e6b3068d44734", - "type": "github" + "lastModified": 1730504152, + "narHash": "sha256-lXvH/vOfb4aGYyvFmZK/HlsNsr/0CVWlwYvo2rxJk3s=", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/cc2f28000298e1269cea6612cd06ec9979dd5d7f.tar.gz" }, "original": { - "owner": "nix-community", - "repo": "nixpkgs.lib", - "type": "github" + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/cc2f28000298e1269cea6612cd06ec9979dd5d7f.tar.gz" } }, - "nixpkgs-octoprint": { + "nixpkgs-lib_5": { "locked": { - "lastModified": 1730668902, - "narHash": "sha256-GVOHeDUa05ivnlW11v/uRyKl5vpPmIA0ixSdyGENT7c=", - "owner": "patrickdag", - "repo": "nixpkgs", - "rev": "2599d2effdda740f40050d47fed0e3586397ef1e", + "lastModified": 1733015484, + "narHash": "sha256-qiyO0GrTvbp869U4VGX5GhAZ00fSiPXszvosY1AgKQ8=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "0e4fdd4a0ab733276b6d2274ff84ae353f17129e", "type": "github" }, "original": { - "owner": "patrickdag", - "ref": "octoprint-update", - "repo": "nixpkgs", + "owner": "nix-community", + "repo": "nixpkgs.lib", "type": "github" } }, "nixpkgs-stable": { "locked": { - "lastModified": 1685801374, - "narHash": "sha256-otaSUoFEMM+LjBI1XL/xGB5ao6IwnZOXc47qhIgJe8U=", + "lastModified": 1730741070, + "narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c37ca420157f4abc31e26f436c1145f8951ff373", + "rev": "d063c1dd113c91ab27959ba540c0d9753409edf3", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-23.05", + "ref": "nixos-24.05", "repo": "nixpkgs", "type": "github" } @@ -1855,11 +1839,11 @@ ] }, "locked": { - "lastModified": 1731846914, - "narHash": "sha256-08jsTY5MC95CU/EftrT8SwGwEbkHQqksycCVEOLYTws=", + "lastModified": 1733251568, + "narHash": "sha256-o0CA0AeQWEKSJpaPst6aMJq4NU6+ccgNKBmo8GD3WJ8=", "owner": "nix-community", "repo": "nixpkgs-wayland", - "rev": "12f62bef83b8c344a98f1f79a648f25970930b1f", + "rev": "baa85eb4c456e649f340c7daef3bf9398dc2f2d7", "type": "github" }, "original": { @@ -1934,11 +1918,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1731676054, - "narHash": "sha256-OZiZ3m8SCMfh3B6bfGC/Bm4x3qc1m2SVEAlkV6iY7Yg=", + "lastModified": 1733212471, + "narHash": "sha256-M1+uCoV5igihRfcUKrr1riygbe73/dzNnzPsmaLCmpo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5e4fbfb6b3de1aa2872b76d49fafc942626e2add", + "rev": "55d15ad12a74eb7d4646254e13638ad0c4128776", "type": "github" }, "original": { @@ -1950,11 +1934,11 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1730958623, - "narHash": "sha256-JwQZIGSYnRNOgDDoIgqKITrPVil+RMWHsZH1eE1VGN0=", + "lastModified": 1732238832, + "narHash": "sha256-sQxuJm8rHY20xq6Ah+GwIUkF95tWjGRd1X8xF+Pkk38=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "85f7e662eda4fa3a995556527c87b2524b691933", + "rev": "8edf06bea5bcbee082df1b7369ff973b91618b8d", "type": "github" }, "original": { @@ -1984,7 +1968,7 @@ "inputs": { "devshell": "devshell_7", "flake-compat": "flake-compat_10", - "flake-parts": "flake-parts_6", + "flake-parts": "flake-parts_7", "git-hooks": "git-hooks", "home-manager": "home-manager_2", "nix-darwin": "nix-darwin", @@ -1992,14 +1976,14 @@ "nixpkgs" ], "nuschtosSearch": "nuschtosSearch", - "treefmt-nix": "treefmt-nix_4" + "treefmt-nix": "treefmt-nix_5" }, "locked": { - "lastModified": 1731780782, - "narHash": "sha256-CG3rcxcZEViYEUTAXatqXrW0Gn9tQvydF+lLYH+0VPA=", + "lastModified": 1733220378, + "narHash": "sha256-tWCskBne7LigfeXRWnUFJKKTLOYmmdqiwdqom2Sml1s=", "owner": "nix-community", "repo": "nixvim", - "rev": "9d99d7cfdbd7f94da9571a4d7bbb9de185241935", + "rev": "78bfbf7b7eb7a1b6cf42e199547de55a55ba2cea", "type": "github" }, "original": { @@ -2010,7 +1994,7 @@ }, "nuschtosSearch": { "inputs": { - "flake-utils": "flake-utils_7", + "flake-utils": "flake-utils_6", "ixx": "ixx", "nixpkgs": [ "nixvim", @@ -2018,11 +2002,11 @@ ] }, "locked": { - "lastModified": 1731582522, - "narHash": "sha256-1w6aM4bG5cl2E4jHLPnMKkrUO4tY1jUX1NI6/RwJN7Y=", + "lastModified": 1733006402, + "narHash": "sha256-BC1CecAQISV5Q4LZK72Gx0+faemOwaChiD9rMVfDPoA=", "owner": "NuschtOS", "repo": "search", - "rev": "13300b2297c51368e0892c3ebe220f688014fe15", + "rev": "16307548b7a1247291c84ae6a12c0aacb07dfba2", "type": "github" }, "original": { @@ -2078,10 +2062,6 @@ "pre-commit-hooks": { "inputs": { "flake-compat": "flake-compat", - "flake-utils": [ - "agenix-rekey", - "flake-utils" - ], "gitignore": "gitignore", "nixpkgs": [ "agenix-rekey", @@ -2090,11 +2070,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1694364351, - "narHash": "sha256-oadhSCqopYXxURwIA6/Anpe5IAG11q2LhvTJNP5zE6o=", + "lastModified": 1732021966, + "narHash": "sha256-mnTbjpdqF0luOkou8ZFi2asa1N3AA2CchR/RqCNmsGE=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "4f883a76282bc28eb952570afc3d8a1bf6f481d7", + "rev": "3308484d1a443fc5bc92012435d79e80458fe43c", "type": "github" }, "original": { @@ -2244,11 +2224,11 @@ "nixpkgs-stable": "nixpkgs-stable_6" }, "locked": { - "lastModified": 1731363552, - "narHash": "sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf+InnSMT4jlMU=", + "lastModified": 1732021966, + "narHash": "sha256-mnTbjpdqF0luOkou8ZFi2asa1N3AA2CchR/RqCNmsGE=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "cd1af27aa85026ac759d5d3fccf650abe7e1bbf0", + "rev": "3308484d1a443fc5bc92012435d79e80458fe43c", "type": "github" }, "original": { @@ -2347,7 +2327,7 @@ "agenix-rekey": "agenix-rekey", "devshell": "devshell_2", "disko": "disko", - "flake-parts": "flake-parts", + "flake-parts": "flake-parts_2", "home-manager": "home-manager", "idmail": "idmail", "impermanence": "impermanence", @@ -2361,13 +2341,12 @@ "nixos-nftables-firewall": "nixos-nftables-firewall", "nixp-meta": "nixp-meta", "nixpkgs": "nixpkgs_6", - "nixpkgs-octoprint": "nixpkgs-octoprint", "nixpkgs-wayland": "nixpkgs-wayland", "nixvim": "nixvim", "pre-commit-hooks": "pre-commit-hooks_6", "spicetify-nix": "spicetify-nix", "stylix": "stylix", - "systems": "systems_12", + "systems": "systems_10", "templates": "templates" } }, @@ -2512,11 +2491,11 @@ ] }, "locked": { - "lastModified": 1731816930, - "narHash": "sha256-PitzPtc36GdVBdxpU2A61pbJcM/KJlsEkFRagzkW3Yc=", + "lastModified": 1733199390, + "narHash": "sha256-kPEbVBeCL1Y/Q46G/fbHFpTxS0IVUMj69Es5abaoXN8=", "owner": "Gerg-l", "repo": "spicetify-nix", - "rev": "f3d75d6a7ca1fdd7b3943a8b257c413c7e3b307a", + "rev": "7d1d92636fda6098600770ba559daba909312595", "type": "github" }, "original": { @@ -2532,11 +2511,11 @@ "base16-helix": "base16-helix", "base16-vim": "base16-vim", "flake-compat": "flake-compat_13", - "flake-utils": "flake-utils_8", + "flake-utils": "flake-utils_7", "gnome-shell": "gnome-shell", "home-manager": "home-manager_3", "nixpkgs": "nixpkgs_8", - "systems": "systems_11", + "systems": "systems_9", "tinted-foot": "tinted-foot", "tinted-kitty": "tinted-kitty", "tinted-tmux": "tinted-tmux" @@ -2586,36 +2565,6 @@ "type": "github" } }, - "systems_11": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_12": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, "systems_2": { "locked": { "lastModified": 1681028828, @@ -2738,11 +2687,11 @@ }, "templates": { "locked": { - "lastModified": 1731614509, - "narHash": "sha256-GtOogyHqiGJwpTfMzOVZjHmGgPJCdKZMjr6n54pvfsA=", + "lastModified": 1732281625, + "narHash": "sha256-oOa+43rO7rp5OiXcXebxMAxmY1RMOiw7dm/aZmDEmA4=", "ref": "refs/heads/main", - "rev": "cd4ba26eed26a0c182c39cb02fddeec41ba28361", - "revCount": 18, + "rev": "4d1d10d9948a51b40b718f9c38815413d8938c06", + "revCount": 19, "type": "git", "url": "https://forge.lel.lol/patrick/nix-templates.git" }, @@ -2825,7 +2774,7 @@ "treefmt-nix": { "inputs": { "nixpkgs": [ - "idmail", + "agenix-rekey", "nixpkgs" ] }, @@ -2844,6 +2793,27 @@ } }, "treefmt-nix_2": { + "inputs": { + "nixpkgs": [ + "idmail", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1732292307, + "narHash": "sha256-5WSng844vXt8uytT5djmqBCkopyle6ciFgteuA9bJpw=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "705df92694af7093dfbb27109ce16d828a79155f", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, + "treefmt-nix_3": { "inputs": { "nixpkgs": "nixpkgs_5" }, @@ -2861,7 +2831,7 @@ "type": "github" } }, - "treefmt-nix_3": { + "treefmt-nix_4": { "inputs": { "nixpkgs": [ "nixpkgs-wayland", @@ -2883,7 +2853,7 @@ "type": "github" } }, - "treefmt-nix_4": { + "treefmt-nix_5": { "inputs": { "nixpkgs": [ "nixvim", @@ -2891,11 +2861,11 @@ ] }, "locked": { - "lastModified": 1730321837, - "narHash": "sha256-vK+a09qq19QNu2MlLcvN4qcRctJbqWkX7ahgPZ/+maI=", + "lastModified": 1732894027, + "narHash": "sha256-2qbdorpq0TXHBWbVXaTqKoikN4bqAtAplTwGuII+oAc=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "746901bb8dba96d154b66492a29f5db0693dbfcc", + "rev": "6209c381904cab55796c5d7350e89681d3b2a8ef", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index efe4609..20dc481 100644 --- a/flake.nix +++ b/flake.nix @@ -9,7 +9,6 @@ inputs.nixpkgs.follows = "nixpkgs"; }; - nixpkgs-octoprint.url = "github:patrickdag/nixpkgs/octoprint-update"; nixpkgs-wayland = { url = "github:nix-community/nixpkgs-wayland"; inputs.nixpkgs.follows = "nixpkgs"; diff --git a/hosts/elisabeth/guests.nix b/hosts/elisabeth/guests.nix index 2d2a794..4be6160 100644 --- a/hosts/elisabeth/guests.nix +++ b/hosts/elisabeth/guests.nix @@ -28,7 +28,6 @@ let firefly = "money"; homebox = "homebox"; octoprint = "print"; - pr-tracker = "tracker"; invidious = "yt"; blog = "blog"; }; @@ -161,14 +160,6 @@ in (blockOf "yourspotify" { port = 80; }) (blockOf "blog" { port = 80; }) (blockOf "homebox" { }) - (blockOf "pr-tracker" { }) - { - virtualHosts.${domainOf "pr-tracker"} = { - locations."/update" = { - extraConfig = "deny all;"; - }; - }; - } (proxyProtect "ollama" { } true) (proxyProtect "octoprint" { } true) (proxyProtect "firefly" { port = 80; } true) @@ -237,10 +228,14 @@ in systemd.network.networks."10-${config.guests.${guestName}.networking.mainLinkName}" = { DHCP = lib.mkForce "no"; address = [ - (lib.net.cidr.hostCidr config.secrets.secrets.global.net.ips."${config.guests.${guestName}.nodeName - }" config.secrets.secrets.global.net.privateSubnetv4) - (lib.net.cidr.hostCidr config.secrets.secrets.global.net.ips."${config.guests.${guestName}.nodeName - }" config.secrets.secrets.global.net.privateSubnetv6) + (lib.net.cidr.hostCidr + config.secrets.secrets.global.net.ips."${config.guests.${guestName}.nodeName}" + config.secrets.secrets.global.net.privateSubnetv4 + ) + (lib.net.cidr.hostCidr + config.secrets.secrets.global.net.ips."${config.guests.${guestName}.nodeName}" + config.secrets.secrets.global.net.privateSubnetv6 + ) ]; gateway = [ (lib.net.cidr.host 1 config.secrets.secrets.global.net.privateSubnetv4) ]; }; @@ -288,7 +283,6 @@ in // mkContainer "ollama" { } // mkContainer "murmur" { } // mkContainer "homebox" { } - // mkContainer "pr-tracker" { } // mkContainer "invidious" { } // mkContainer "ttrss" { } // mkContainer "firefly" { } diff --git a/patches/PR/335827.diff b/patches/PR/335827.diff new file mode 100644 index 0000000..aa31109 --- /dev/null +++ b/patches/PR/335827.diff @@ -0,0 +1,291 @@ +diff --git a/nixos/doc/manual/release-notes/rl-2505.section.md b/nixos/doc/manual/release-notes/rl-2505.section.md +index 10645d55e8389..e4ffb75742580 100644 +--- a/nixos/doc/manual/release-notes/rl-2505.section.md ++++ b/nixos/doc/manual/release-notes/rl-2505.section.md +@@ -40,6 +40,10 @@ + add `vimPlugins.notmuch-vim` to your (Neo)vim configuration if you want the + vim plugin. + ++- The `octoprint` service has gained an `enableRaspberryPi` option, which will ++ be disabled for state versions following 25.05. Users running on Raspberry Pi ++ should enable the option to restore full functionality. ++ + + + ## Other Notable Changes {#sec-release-25.05-notable-changes} +diff --git a/nixos/modules/services/misc/octoprint.nix b/nixos/modules/services/misc/octoprint.nix +index d8e4c9c302b38..6ab48ee10e3c7 100644 +--- a/nixos/modules/services/misc/octoprint.nix ++++ b/nixos/modules/services/misc/octoprint.nix +@@ -1,17 +1,27 @@ +-{ config, lib, pkgs, ... }: ++{ ++ config, ++ lib, ++ pkgs, ++ ... ++}: + let + +- cfg = config.services.octoprint; ++ inherit (lib) ++ literalExpression ++ mkDefault ++ mkEnableOption ++ mkOption ++ mkRenamedOptionModule ++ optional ++ types ++ versionOlder ++ ; + +- baseConfig = { +- plugins.curalegacy.cura_engine = "${pkgs.curaengine_stable}/bin/CuraEngine"; +- server.port = cfg.port; +- webcam.ffmpeg = "${pkgs.ffmpeg.bin}/bin/ffmpeg"; +- } // lib.optionalAttrs (cfg.host != null) {server.host = cfg.host;}; ++ cfg = config.services.octoprint; + +- fullConfig = lib.recursiveUpdate cfg.extraConfig baseConfig; ++ formatType = pkgs.formats.json { }; + +- cfgUpdate = pkgs.writeText "octoprint-config.yaml" (builtins.toJSON fullConfig); ++ configFile = formatType.generate "octoprint-config.yaml" cfg.settings; + + pluginsEnv = package.python.withPackages (ps: [ ps.octoprint ] ++ (cfg.plugins ps)); + +@@ -67,18 +77,32 @@ in + description = "State directory of the daemon."; + }; + +- plugins = lib.mkOption { +- type = lib.types.functionTo (lib.types.listOf lib.types.package); +- default = plugins: [ ]; +- defaultText = lib.literalExpression "plugins: []"; +- example = lib.literalExpression "plugins: with plugins; [ themeify stlviewer ]"; ++ plugins = mkOption { ++ type = types.functionTo (types.listOf types.package); ++ default = _plugins: [ ]; ++ defaultText = literalExpression "plugins: []"; ++ example = literalExpression "plugins: with plugins; [ themeify stlviewer ]"; + description = "Additional plugins to be used. Available plugins are passed through the plugins input."; + }; + +- extraConfig = lib.mkOption { +- type = lib.types.attrs; ++ settings = mkOption { + default = { }; +- description = "Extra options which are added to OctoPrint's YAML configuration file."; ++ description = '' ++ The octoprint settings, for definitions see the upstream [documentation](https://docs.octoprint.org). ++ Will override any existing settings. ++ ''; ++ type = types.submodule { ++ freeformType = formatType.type; ++ config = { ++ plugins.curalegacy.cura_engine = mkDefault "${pkgs.curaengine_stable}/bin/CuraEngine"; ++ server.host = cfg.host; ++ server.port = cfg.port; ++ webcam.ffmpeg = mkDefault "${pkgs.ffmpeg.bin}/bin/ffmpeg"; ++ }; ++ }; ++ }; ++ enableRaspberryPi = mkEnableOption "RaspberryPi specific hardware access rules" // { ++ default = versionOlder config.system.stateVersion "25.05"; + }; + + }; +@@ -86,6 +110,20 @@ in + }; + + ##### implementation ++ imports = [ ++ (mkRenamedOptionModule ++ [ ++ "services" ++ "octoprint" ++ "extraConfig" ++ ] ++ [ ++ "services" ++ "octoprint" ++ "settings" ++ ] ++ ) ++ ]; + + config = lib.mkIf cfg.enable { + +@@ -100,12 +138,13 @@ in + octoprint.gid = config.ids.gids.octoprint; + }; + +- systemd.tmpfiles.rules = [ +- "d '${cfg.stateDir}' - ${cfg.user} ${cfg.group} - -" +- # this will allow octoprint access to raspberry specific hardware to check for throttling +- # read-only will not work: "VCHI initialization failed" error +- "a /dev/vchiq - - - - u:octoprint:rw" +- ]; ++ systemd.tmpfiles.rules = ++ [ "d '${cfg.stateDir}' - ${cfg.user} ${cfg.group} - -" ] ++ ++ optional cfg.enableRaspberryPi ++ # this will allow octoprint access to raspberry specific hardware to check for throttling ++ # read-only will not work: "VCHI initialization failed" error ++ # FIXME: this should probably be a udev rule ++ "a /dev/vchiq - - - - u:octoprint:rw"; + + systemd.services.octoprint = { + description = "OctoPrint, web interface for 3D printers"; +@@ -115,10 +154,10 @@ in + + preStart = '' + if [ -e "${cfg.stateDir}/config.yaml" ]; then +- ${pkgs.yaml-merge}/bin/yaml-merge "${cfg.stateDir}/config.yaml" "${cfgUpdate}" > "${cfg.stateDir}/config.yaml.tmp" ++ ${pkgs.yaml-merge}/bin/yaml-merge "${cfg.stateDir}/config.yaml" "${configFile}" > "${cfg.stateDir}/config.yaml.tmp" + mv "${cfg.stateDir}/config.yaml.tmp" "${cfg.stateDir}/config.yaml" + else +- cp "${cfgUpdate}" "${cfg.stateDir}/config.yaml" ++ cp "${configFile}" "${cfg.stateDir}/config.yaml" + chmod 600 "${cfg.stateDir}/config.yaml" + fi + ''; +@@ -127,12 +166,42 @@ in + ExecStart = "${pluginsEnv}/bin/octoprint serve -b ${cfg.stateDir}"; + User = cfg.user; + Group = cfg.group; +- SupplementaryGroups = [ +- "dialout" ++ SupplementaryGroups = [ "dialout" ]; ++ ++ # Hardening ++ CapabilityBoundingSet = ""; ++ LockPersonality = true; ++ MemoryDenyWriteExecute = true; ++ PrivateUsers = true; ++ ProtectClock = true; ++ ProtectControlGroups = true; ++ ProtectHome = true; ++ ProtectHostname = true; ++ ProtectKernelLogs = true; ++ ProtectKernelModules = true; ++ ProtectKernelTunables = true; ++ ProtectProc = "invisible"; ++ ProcSubset = "pid"; ++ ProtectSystem = "strict"; ++ RestrictAddressFamilies = [ ++ "AF_INET" ++ "AF_INET6" ++ "AF_NETLINK" + ]; ++ RestrictNamespaces = true; ++ RestrictRealtime = true; ++ SystemCallArchitectures = "native"; ++ SystemCallFilter = [ ++ "@system-service" ++ "@pkey" ++ ]; ++ ReadWritePaths = [ cfg.stateDir ]; ++ UMask = "0077"; ++ + }; + }; + + networking.firewall.allowedTCPPorts = lib.mkIf cfg.openFirewall [ cfg.port ]; + }; ++ meta.maintainers = with lib.maintainers; [ patrickdag ]; + } +diff --git a/nixos/tests/octoprint.nix b/nixos/tests/octoprint.nix +index 15a2d677d4cf8..dc60b10813311 100644 +--- a/nixos/tests/octoprint.nix ++++ b/nixos/tests/octoprint.nix +@@ -11,7 +11,7 @@ in + environment.systemPackages = with pkgs; [ jq ]; + services.octoprint = { + enable = true; +- extraConfig = { ++ settings = { + server = { + firstRun = false; + }; +@@ -50,11 +50,18 @@ in + # used to fail early, in case octoprint first starts and then crashes + with octoprint_running: # type: ignore[union-attr] + with subtest("Check for web interface"): +- machine.wait_until_succeeds("curl -s localhost:5000") ++ machine.wait_until_succeeds("curl -s -4 localhost:5000") ++ machine.wait_until_succeeds("curl -s -6 localhost:5000") + +- with subtest("Check API"): +- version = json.loads(machine.succeed(curl_cmd + "localhost:5000/api/version")) +- server = json.loads(machine.succeed(curl_cmd + "localhost:5000/api/server")) ++ with subtest("Check API IPv4"): ++ version = json.loads(machine.succeed(curl_cmd + "-4 localhost:5000/api/version")) ++ server = json.loads(machine.succeed(curl_cmd + "-4 localhost:5000/api/server")) ++ assert version["server"] == str("${pkgs.octoprint.version}") ++ assert server["safemode"] == None ++ ++ with subtest("Check API IPv6"): ++ version = json.loads(machine.succeed(curl_cmd + "-6 localhost:5000/api/version")) ++ server = json.loads(machine.succeed(curl_cmd + "-6 localhost:5000/api/server")) + assert version["server"] == str("${pkgs.octoprint.version}") + assert server["safemode"] == None + ''; +diff --git a/pkgs/by-name/oc/octoprint/ffmpeg-path.patch b/pkgs/by-name/oc/octoprint/ffmpeg-path.patch +deleted file mode 100644 +index 2e7c7dbe06428..0000000000000 +--- a/pkgs/by-name/oc/octoprint/ffmpeg-path.patch ++++ /dev/null +@@ -1,22 +0,0 @@ +-diff --git a/src/octoprint/server/api/settings.py b/src/octoprint/server/api/settings.py +-index c3e6cea10..ced2f8fa0 100644 +---- a/src/octoprint/server/api/settings.py +-+++ b/src/octoprint/server/api/settings.py +-@@ -130,7 +130,7 @@ data["webcam"] = { +- "webcamEnabled": s.getBoolean(["webcam", "webcamEnabled"]), +- "snapshotTimeout": s.getInt(["webcam", "snapshotTimeout"]), +- "timelapseEnabled": s.getBoolean(["webcam", "timelapseEnabled"]), +-- "ffmpegPath": s.get(["webcam", "ffmpeg"]), +-+ "ffmpegPath": "@ffmpeg@", +- "ffmpegCommandline": s.get(["webcam", "ffmpegCommandline"]), +- "bitrate": s.get(["webcam", "bitrate"]), +- "ffmpegThreads": s.get(["webcam", "ffmpegThreads"]), +-@@ -548,8 +548,6 @@ def _saveSettings(data): +- ["webcam", "snapshotSslValidation"], +- data["webcam"]["snapshotSslValidation"], +- ) +-- if "ffmpegPath" in data["webcam"]: +-- s.set(["webcam", "ffmpeg"], data["webcam"]["ffmpegPath"]) +- if "ffmpegCommandline" in data["webcam"]: +- commandline = data["webcam"]["ffmpegCommandline"] +- if not all( +diff --git a/pkgs/by-name/oc/octoprint/package.nix b/pkgs/by-name/oc/octoprint/package.nix +index a4b437ac6d1c7..3042f7d6dd643 100644 +--- a/pkgs/by-name/oc/octoprint/package.nix ++++ b/pkgs/by-name/oc/octoprint/package.nix +@@ -1,5 +1,4 @@ + { +- pkgs, + stdenv, + callPackage, + lib, +@@ -197,12 +196,6 @@ let + src = ./pip-path.patch; + pip = "${self.pip}/bin/pip"; + }) +- +- # hardcore path to ffmpeg and hide related settings +- (substituteAll { +- src = ./ffmpeg-path.patch; +- ffmpeg = "${pkgs.ffmpeg}/bin/ffmpeg"; +- }) + ]; + + postPatch = +@@ -266,6 +259,7 @@ let + gebner + WhittlesJr + gador ++ patrickdag + ]; + }; + }; diff --git a/patches/PR/339370.diff b/patches/PR/339370.diff index 659515a..9f73602 100644 --- a/patches/PR/339370.diff +++ b/patches/PR/339370.diff @@ -1,8 +1,8 @@ diff --git a/pkgs/by-name/be/beatsabermodmanager/deps.nix b/pkgs/by-name/be/beatsabermodmanager/deps.nix -index 9fc703773a8e5..bb10f4daaf0e7 100644 +index 9fc703773a8e5..14f21eb5e6d5e 100644 --- a/pkgs/by-name/be/beatsabermodmanager/deps.nix +++ b/pkgs/by-name/be/beatsabermodmanager/deps.nix -@@ -2,110 +2,112 @@ +@@ -2,110 +2,120 @@ # Please dont edit it manually, your changes might get overwritten! { fetchNuGet }: [ @@ -136,12 +136,20 @@ index 9fc703773a8e5..bb10f4daaf0e7 100644 + (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.WebAssembly"; version = "2.8.2.3"; hash = "sha256-ZsiBGpXfODHUHPgU/50k9QR/j6Klo7rsB0SUt8zYcBA="; }) + (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Win32"; version = "2.8.2.3"; hash = "sha256-5GSzM5IUoOwK+zJg0d74WlT3n1VZly8pKlyjiqVocCI="; }) + (fetchNuGet { pname = "MicroCom.Runtime"; version = "0.11.0"; hash = "sha256-VdwpP5fsclvNqJuppaOvwEwv2ofnAI5ZSz2V+UEdLF0="; }) ++ (fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "6.0.35"; hash = "sha256-BxvIeZIaBdC0wyDQqKW0E5axSRSrtQk3oEPsT287014="; }) ++ (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "6.0.35"; hash = "sha256-jM/HzLumZvI939DrNb8LHnEr/in1Lws0j/FAfdXSzbk="; }) ++ (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.35"; hash = "sha256-2eUqoTcqTU3ebv53IV6yvN9EhkOqnyBRd2tz74HuSsE="; }) + (fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "3.0.0"; hash = "sha256-KDbCfsBWSJ5ohEXUKp1s1LX9xA2NPvXE/xVzj68EdC0="; }) + (fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "3.8.0"; hash = "sha256-3G9vSc/gHH7FWgOySLTut1+eEaf3H66qcPOvNPLOx4o="; }) + (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "3.8.0"; hash = "sha256-i/r3V/No/VzqmJlWxpGoirvlbJDbBPa/ONZtzYrxuc4="; }) + (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp.Scripting"; version = "3.8.0"; hash = "sha256-fA9Qu+vTyMZ9REzxJ4aMg/SHCDRk4q9k4ZGUdynoHnA="; }) + (fetchNuGet { pname = "Microsoft.CodeAnalysis.Scripting.Common"; version = "3.8.0"; hash = "sha256-866jMHp8kbc1FYpKuUWnd7ViU6kGJTAxPcL/IjXrT0I="; }) + (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.3.0"; hash = "sha256-a3dAiPaVuky0wpcHmpTVtAQJNGZ2v91/oArA+dpJgj8="; }) ++ (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "6.0.35"; hash = "sha256-yrtPCYD8skaWnfIoaUdQ1dns0YrypxDocskS2WGxF6g="; }) ++ (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "6.0.35"; hash = "sha256-maNzxJQ5oCd86VI4ROzl4RqOV1RNXn3qWjrAfBjr2Y0="; }) ++ (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "6.0.35"; hash = "sha256-IcpSbsSHgYBbNVvbcXfmRRM9bdx3pogLncO4RuXEab0="; }) ++ (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "6.0.35"; hash = "sha256-jPUhSrzqnH1GNi/c7dSnZSQhFNVGdmlAQkDLdXVWBBc="; }) ++ (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.35"; hash = "sha256-Gf3e0EdBEgq8GcZttTHbKGupFlDyB80nhYpBN0X9Kro="; }) + (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; hash = "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM="; }) + (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.1.2"; hash = "sha256-gYQQO7zsqG+OtN4ywYQyfsiggS2zmxw4+cPXlK+FB5Q="; }) + (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; hash = "sha256-0AqQ2gMS8iNlYkrD+BxtIg7cXMnr9xZHtKAuN4bjfaQ="; }) @@ -222,15 +230,15 @@ index 9fc703773a8e5..bb10f4daaf0e7 100644 + (fetchNuGet { pname = "Tmds.DBus.Protocol"; version = "0.15.0"; hash = "sha256-4gk2vXDjKFaBh82gTkwg3c/5GRjiH+bvM5elfDSbKTU="; }) ] diff --git a/pkgs/by-name/be/beatsabermodmanager/package.nix b/pkgs/by-name/be/beatsabermodmanager/package.nix -index 42e1f738e470f..8375080edf886 100644 +index 42e1f738e470f..6ebea28bb187b 100644 --- a/pkgs/by-name/be/beatsabermodmanager/package.nix +++ b/pkgs/by-name/be/beatsabermodmanager/package.nix -@@ -8,24 +8,27 @@ +@@ -8,24 +8,22 @@ xdg-utils, }: -buildDotnetModule rec { -+buildDotnetModule rec { ++buildDotnetModule { pname = "beatsabermodmanager"; - version = "0.0.5"; + version = "0.0.7"; @@ -250,19 +258,14 @@ index 42e1f738e470f..8375080edf886 100644 - sdk_7_0 - sdk_6_0 - ]; -+ dotnet-sdk = -+ with dotnetCorePackages; -+ combinePackages [ -+ sdk_8_0 -+ sdk_6_0 -+ ]; ++ dotnet-sdk = dotnetCorePackages.sdk_8_0; - dotnet-runtime = dotnetCorePackages.runtime_7_0; + dotnet-runtime = dotnetCorePackages.runtime_8_0; projectFile = [ "BeatSaberModManager/BeatSaberModManager.csproj" ]; -@@ -33,12 +36,6 @@ buildDotnetModule rec { +@@ -33,12 +31,6 @@ buildDotnetModule rec { nugetDeps = ./deps.nix; diff --git a/patches/PR/354032.diff b/patches/PR/354032.diff index c67597a..a80cc56 100644 --- a/patches/PR/354032.diff +++ b/patches/PR/354032.diff @@ -12,7 +12,7 @@ index 788b724231be3..c8f6836f0af93 100644 domain = mkOption { type = str; diff --git a/nixos/modules/services/networking/netbird/management.nix b/nixos/modules/services/networking/netbird/management.nix -index f4b5bbf643239..bf95ea65e5fa3 100644 +index 4ebaa60ecb052..a2af8fccbe932 100644 --- a/nixos/modules/services/networking/netbird/management.nix +++ b/nixos/modules/services/networking/netbird/management.nix @@ -38,7 +38,7 @@ let @@ -83,20 +83,7 @@ index f4b5bbf643239..bf95ea65e5fa3 100644 domain = mkOption { type = str; -@@ -196,6 +200,12 @@ in - description = "Internal port of the management server."; - }; - -+ metricsPort = mkOption { -+ type = port; -+ default = 9090; -+ description = "Internal port of the metrics server."; -+ }; -+ - extraOptions = mkOption { - type = listOf str; - default = [ ]; -@@ -218,7 +228,7 @@ in +@@ -224,7 +228,7 @@ in Stuns = [ { Proto = "udp"; @@ -105,7 +92,7 @@ index f4b5bbf643239..bf95ea65e5fa3 100644 Username = ""; Password = null; } -@@ -228,7 +238,7 @@ in +@@ -234,7 +238,7 @@ in Turns = [ { Proto = "udp"; @@ -114,7 +101,7 @@ index f4b5bbf643239..bf95ea65e5fa3 100644 Username = "netbird"; Password = "netbird"; } -@@ -241,7 +251,7 @@ in +@@ -247,7 +251,7 @@ in Signal = { Proto = "https"; @@ -123,7 +110,7 @@ index f4b5bbf643239..bf95ea65e5fa3 100644 Username = ""; Password = null; }; -@@ -257,9 +267,9 @@ in +@@ -263,9 +267,9 @@ in StoreConfig = { Engine = "sqlite"; }; HttpConfig = { @@ -135,7 +122,7 @@ index f4b5bbf643239..bf95ea65e5fa3 100644 }; IdpManagerConfig = { -@@ -334,11 +344,9 @@ in +@@ -340,11 +344,9 @@ in default = "INFO"; description = "Log level of the netbird services."; }; @@ -148,7 +135,16 @@ index f4b5bbf643239..bf95ea65e5fa3 100644 warnings = concatMap ( -@@ -373,7 +381,7 @@ in +@@ -368,7 +370,7 @@ in + + assertions = [ + { +- assertion = cfg.port != cfg.metricsPort; ++ assertion = cfg.management.port != cfg.management.metricsPort; + message = "The primary listen port cannot be the same as the listen port for the metrics endpoint"; + } + ]; +@@ -386,7 +388,7 @@ in serviceConfig = { ExecStart = escapeSystemdExecArgs ( [ @@ -157,7 +153,7 @@ index f4b5bbf643239..bf95ea65e5fa3 100644 "management" # Config file "--config" -@@ -383,25 +391,28 @@ in +@@ -396,28 +398,28 @@ in "${stateDir}/data" # DNS domain "--dns-domain" @@ -167,8 +163,9 @@ index f4b5bbf643239..bf95ea65e5fa3 100644 "--port" - cfg.port + cfg.management.port -+ # Port the internal prometheus server listens on -+ "--metrics-port" + # Port the internal prometheus server listens on + "--metrics-port" +- cfg.metricsPort + cfg.management.metricsPort # Log to stdout "--log-file" @@ -193,7 +190,7 @@ index f4b5bbf643239..bf95ea65e5fa3 100644 ); Restart = "always"; RuntimeDirectory = "netbird-mgmt"; -@@ -434,27 +445,5 @@ in +@@ -450,27 +452,5 @@ in stopIfChanged = false; }; @@ -521,7 +518,7 @@ index 3649e97b379e5..ffda72c0626a4 100644 + +``` diff --git a/nixos/modules/services/networking/netbird/server.nix b/nixos/modules/services/networking/netbird/server.nix -index 1725374d03c6b..b481770071b82 100644 +index 1725374d03c6b..237f70ba3327f 100644 --- a/nixos/modules/services/networking/netbird/server.nix +++ b/nixos/modules/services/networking/netbird/server.nix @@ -16,7 +16,7 @@ in @@ -565,7 +562,8 @@ index 1725374d03c6b..b481770071b82 100644 } // (optionalAttrs cfg.coturn.enable rec { turnDomain = cfg.domain; - turnPort = config.services.coturn.tls-listening-port; +- turnPort = config.services.coturn.tls-listening-port; ++ turnPort = config.services.coturn.listening-port; # We cannot merge a list of attrsets so we have to redefine the whole list settings = { + Signal.URI = mkDefault "${cfg.domain}:${builtins.toString cfg.signal.port}"; @@ -600,19 +598,10 @@ index 1725374d03c6b..b481770071b82 100644 coturn = { diff --git a/nixos/modules/services/networking/netbird/signal.nix b/nixos/modules/services/networking/netbird/signal.nix -index b53e9d40c2eed..fea778531850e 100644 +index 3122b6c9fe5ff..cf19439e89271 100644 --- a/nixos/modules/services/networking/netbird/signal.nix +++ b/nixos/modules/services/networking/netbird/signal.nix -@@ -15,7 +15,7 @@ let - mkOption - ; - -- inherit (lib.types) enum port str; -+ inherit (lib.types) enum port; - - inherit (utils) escapeSystemdExecArgs; - -@@ -26,14 +26,7 @@ in +@@ -31,14 +31,7 @@ in options.services.netbird.server.signal = { enable = mkEnableOption "Netbird's Signal Service"; @@ -628,30 +617,7 @@ index b53e9d40c2eed..fea778531850e 100644 port = mkOption { type = port; -@@ -41,6 +34,12 @@ in - description = "Internal port of the signal server."; - }; - -+ metricsPort = mkOption { -+ type = port; -+ default = 9091; # Upstream default is 9090 but this would clash for nixos where all services run on the same host -+ description = "Internal port of the signal metrics server."; -+ }; -+ - logLevel = mkOption { - type = enum [ - "ERROR" -@@ -65,6 +64,9 @@ in - # Port to listen on - "--port" - cfg.port -+ # Port the metrics server listens on -+ "--metrics-port" -+ cfg.metricsPort - # Log to stdout - "--log-file" - "console" -@@ -101,23 +103,5 @@ in +@@ -134,23 +127,5 @@ in stopIfChanged = false; }; @@ -761,7 +727,7 @@ index 887747437c22c..5589200d99078 100644 + } +) diff --git a/pkgs/tools/networking/netbird/default.nix b/pkgs/tools/networking/netbird/default.nix -index b1d49675dbd8b..549df99400c44 100644 +index 8cdcd68b4f444..1da9614bdadf8 100644 --- a/pkgs/tools/networking/netbird/default.nix +++ b/pkgs/tools/networking/netbird/default.nix @@ -1,33 +1,56 @@ @@ -947,10 +913,10 @@ index b1d49675dbd8b..549df99400c44 100644 }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix -index fdeeb4ed343c7..16e29ee0d406e 100644 +index 02fe78d397cce..ffa5a7cb3d6d0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix -@@ -3032,6 +3032,11 @@ with pkgs; +@@ -2941,6 +2941,11 @@ with pkgs; ui = true; }; diff --git a/patches/PR/355216.diff b/patches/PR/355216.diff deleted file mode 100644 index 1f52f80..0000000 --- a/patches/PR/355216.diff +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/nixos/modules/services/security/kanidm.nix b/nixos/modules/services/security/kanidm.nix -index a368b6eee2a6e..3f90ad99b7700 100644 ---- a/nixos/modules/services/security/kanidm.nix -+++ b/nixos/modules/services/security/kanidm.nix -@@ -502,13 +502,13 @@ in - }; - - originUrl = mkOption { -- description = "The origin URL of the service. OAuth2 redirects will only be allowed to sites under this origin. Must end with a slash."; -+ description = "The redirect URL of the service. These need to exactly match the OAuth2 redirect target"; - type = - let -- originStrType = types.strMatching ".*://.*/$"; -+ originStrType = types.strMatching ".*://.*$"; - in - types.either originStrType (types.nonEmptyListOf originStrType); -- example = "https://someservice.example.com/"; -+ example = "https://someservice.example.com/auth/login"; - }; - - originLanding = mkOption { diff --git a/pkgs/pr-tracker.nix b/pkgs/pr-tracker.nix deleted file mode 100644 index 5c45e96..0000000 --- a/pkgs/pr-tracker.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ - rustPlatform, - lib, - openssl, - pkg-config, - systemd, - fetchFromGitHub, -}: -rustPlatform.buildRustPackage { - name = "pr-tracker"; - - src = fetchFromGitHub { - owner = "patrickdag"; - repo = "pr-tracker"; - rev = "1be91285705bfdb55656db0835820cb034fe5010"; - hash = "sha256-lPhp3Jq6YM8fi0WS/fJrCHdfdQFs5vdErdE5X80WAHE="; - }; - - cargoHash = "sha256-9bhKtg2g5H4zGn7yVCjTazeXfeoKjtAKAlzkLkCraiw="; - - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - openssl - systemd - ]; - - meta = with lib; { - description = "Nixpkgs pull request channel tracker"; - longDescription = '' - A web server that displays the path a Nixpkgs pull request will take - through the various release channels. - ''; - platforms = platforms.linux; - license = licenses.agpl3Plus; - maintainers = with maintainers; [ patrickdag ]; - mainProgram = "pr-tracker"; - }; -} diff --git a/pkgs/scripts/default.nix b/pkgs/scripts/default.nix index 4b10f10..65bc0a3 100644 --- a/pkgs/scripts/default.nix +++ b/pkgs/scripts/default.nix @@ -26,7 +26,7 @@ _final: prev: { runtimeInputs = [ ]; text = '' nix flake update - nixp-meta update-prs + nim update-prs ''; }; }; diff --git a/pr.txt b/pr.txt deleted file mode 100644 index cf8fb99..0000000 --- a/pr.txt +++ /dev/null @@ -1,4 +0,0 @@ -355216 # nixos/kanidm: allow origin url ending without slash -354032 # netbird: rework server and include new component -339370 # beatsabermodmanager: 0.0.5 -> 0.0.7 -345883 # beatsabermodmanager: add desktop files diff --git a/users/patrick/patrick.nix b/users/patrick/patrick.nix index 970cad7..badba34 100644 --- a/users/patrick/patrick.nix +++ b/users/patrick/patrick.nix @@ -54,7 +54,7 @@ xdg.configFile."mpv/mpv.conf".text = '' vo=gpu-next hwdec=auto-safe - volume=50 + volume=80 ''; xdg.configFile."mpv/input.conf".text = '' UP add volume 2 diff --git a/users/patrick/theme.nix b/users/patrick/theme.nix index de16ed4..8df5a0d 100644 --- a/users/patrick/theme.nix +++ b/users/patrick/theme.nix @@ -51,7 +51,7 @@ ''; }; packages = with pkgs; [ - (nerdfonts.override { fonts = [ "NerdFontsSymbolsOnly" ]; }) + nerd-fonts.symbols-only ibm-plex dejavu_fonts unifont @@ -93,7 +93,10 @@ autoEnable = false; polarity = "dark"; image = config.lib.stylix.pixel "base00"; - base16Scheme = "${pkgs.base16-schemes}/share/themes/vice.yaml"; + base16Scheme = { + yaml = "${pkgs.base16-schemes}/share/themes/vice.yaml"; + use-ifd = "auto"; + }; # Has to be green override.base0B = "#00CC99"; #base16Scheme = {