From 35e8c9b91021d0d4071fad76547c4bc63bde0652 Mon Sep 17 00:00:00 2001 From: Samuel Shuert Date: Wed, 5 Nov 2025 15:38:24 +0000 Subject: [PATCH] feat(pm): upgrade to 25.11 Change-Id: lsovxmttznrtuqlswrwvqwkuxmopluyp Co-Authored-By: Skyler Grey --- packetmix/homes/catppuccin/catppuccin.nix | 1 - packetmix/homes/coded/games.nix | 8 + packetmix/homes/niri/niri.nix | 5 +- packetmix/homes/niri/quickshell.nix | 2 - packetmix/modules/nilla-home/nixos.nix | 6 +- packetmix/nilla.nix | 49 +++--- packetmix/npins/default.nix | 141 +++++++++++++++--- packetmix/npins/sources.json | 137 +++++++++-------- packetmix/packages/OpenLinkHub/default.nix | 4 + .../beancount-beancount_share/default.nix | 4 +- .../beancount-smart_importer/default.nix | 2 +- packetmix/packages/bluesky-pds/default.nix | 10 +- .../packages/collabora-gtimelog/default.nix | 4 +- packetmix/packages/default.nix | 1 + packetmix/packages/headscale/default.nix | 2 +- packetmix/packages/treefmt/default.nix | 4 +- packetmix/packages/vs-launcher/default.nix | 30 ++++ ...-invocation-for-jujutsu-file-listing.patch | 63 -------- ...ion-for-jujutsu-file-listing.patch.license | 3 - packetmix/systems/common/inputs.nix | 2 +- packetmix/systems/corsair/openlinkhub.nix | 8 +- packetmix/systems/espanso/espanso.nix | 2 - ...nixpkgs-328890--espanso-capdacoverride.nix | 63 -------- .../espanso-capdacoverride.nix | 63 -------- .../wrapper-lib.c | 26 ---- .../freshlybakedcake+personal/kanidm.nix | 2 +- packetmix/systems/midnight/spindle.nix | 2 +- packetmix/systems/niri/niri.nix | 2 +- packetmix/systems/nix-serve/cache.nix | 3 + packetmix/systems/redhead/android.nix | 3 - packetmix/systems/redhead/nextcloud.nix | 2 +- packetmix/systems/shorthair/vr.nix | 8 + packetmix/systems/teal/kanidm.nix | 2 +- packetmix/systems/teal/pds.nix | 11 -- 34 files changed, 304 insertions(+), 371 deletions(-) create mode 100644 packetmix/homes/coded/games.nix create mode 100644 packetmix/packages/vs-launcher/default.nix delete mode 100644 packetmix/patches/reuse/1191-correct-invocation-for-jujutsu-file-listing.patch delete mode 100644 packetmix/patches/reuse/1191-correct-invocation-for-jujutsu-file-listing.patch.license delete mode 100644 packetmix/systems/espanso/nixpkgs-328890--espanso-capdacoverride.nix delete mode 100644 packetmix/systems/espanso/nixpkgs-328890--espanso-capdacoverride/espanso-capdacoverride.nix delete mode 100644 packetmix/systems/espanso/nixpkgs-328890--espanso-capdacoverride/wrapper-lib.c create mode 100644 packetmix/systems/shorthair/vr.nix diff --git a/packetmix/homes/catppuccin/catppuccin.nix b/packetmix/homes/catppuccin/catppuccin.nix index aeaecda4..29be17a5 100644 --- a/packetmix/homes/catppuccin/catppuccin.nix +++ b/packetmix/homes/catppuccin/catppuccin.nix @@ -6,7 +6,6 @@ { imports = [ project.inputs.catppuccin.result.homeModules.catppuccin - "${project.inputs.home-manager-unstable.src}/modules/programs/vivid.nix" # Needed for latest catppuccin... ]; config.catppuccin.enable = true; config.catppuccin.delta.enable = lib.mkForce false; diff --git a/packetmix/homes/coded/games.nix b/packetmix/homes/coded/games.nix new file mode 100644 index 00000000..331ea92c --- /dev/null +++ b/packetmix/homes/coded/games.nix @@ -0,0 +1,8 @@ +# SPDX-FileCopyrightText: 2025 Freshly Baked Cake +# +# SPDX-License-Identifier: MIT + +{ project, ... }: +{ + home.packages = [ project.packages.vs-launcher.result."x86_64-linux" ]; +} diff --git a/packetmix/homes/niri/niri.nix b/packetmix/homes/niri/niri.nix index 1658d0b9..ad551f3b 100644 --- a/packetmix/homes/niri/niri.nix +++ b/packetmix/homes/niri/niri.nix @@ -7,6 +7,7 @@ config, pkgs, lib, + system, ... }: { @@ -63,7 +64,9 @@ settings = { xwayland-satellite = { enable = true; - path = "${pkgs.xwayland-satellite}/bin/xwayland-satellite"; + path = "${ + project.inputs.nixos-unstable.result.${system}.xwayland-satellite + }/bin/xwayland-satellite"; }; environment.NIXOS_OZONE_WL = "1"; diff --git a/packetmix/homes/niri/quickshell.nix b/packetmix/homes/niri/quickshell.nix index 26639538..cf29b92d 100644 --- a/packetmix/homes/niri/quickshell.nix +++ b/packetmix/homes/niri/quickshell.nix @@ -10,8 +10,6 @@ ... }: { - imports = [ "${project.inputs.home-manager-unstable.src}/modules/programs/quickshell.nix" ]; - programs.quickshell = { enable = true; diff --git a/packetmix/modules/nilla-home/nixos.nix b/packetmix/modules/nilla-home/nixos.nix index b472d610..14bdd6c6 100644 --- a/packetmix/modules/nilla-home/nixos.nix +++ b/packetmix/modules/nilla-home/nixos.nix @@ -117,7 +117,7 @@ in homeName: home: let homeHasHomeManager = !(builtins.isNull home.home-manager); - homeIsValidForSystem = home ? result.${value.pkgs.system}; + homeIsValidForSystem = home ? result.${value.pkgs.stdenv.hostPlatform.system}; in [ { @@ -126,7 +126,7 @@ in } { assertion = !homeHasHomeManager || !hasNixpkgs || homeIsValidForSystem; - message = "You've asked for the home \"${homeName}\" to be activated in the NixOS system \"${name}\", but it isn't valid for \"${value.pkgs.system}\" systems."; + message = "You've asked for the home \"${homeName}\" to be activated in the NixOS system \"${name}\", but it isn't valid for \"${value.pkgs.stdenv.hostPlatform.system}\" systems."; } ] ) value.homes) @@ -136,7 +136,7 @@ in homeName: home: let homeHasHomeManager = !(builtins.isNull home.home-manager); - homeIsValidForSystem = home ? result.${value.pkgs.system}; + homeIsValidForSystem = home ? result.${value.pkgs.stdenv.hostPlatform.system}; in if homeHasHomeManager && hasNixpkgs && homeIsValidForSystem then let diff --git a/packetmix/nilla.nix b/packetmix/nilla.nix index 8fe1cfe2..1d9ecec7 100644 --- a/packetmix/nilla.nix +++ b/packetmix/nilla.nix @@ -46,7 +46,7 @@ nilla.create ( systems = [ "x86_64-linux" ]; package = - { system, stdenv }: + { stdenv }: stdenv.mkDerivation { name = "all-homes"; @@ -57,8 +57,9 @@ nilla.create ( '' + (builtins.concatStringsSep "\n" ( config.lib.attrs.mapToList ( - name: value: ''ln -s "${value.result.${system}.activationPackage}" "$out/${name}"'' - ) (config.lib.attrs.filter (_: value: value.result ? ${system}) config.homes) + name: value: + ''ln -s "${value.result.${stdenv.hostPlatform.system}.activationPackage}" "$out/${name}"'' + ) (config.lib.attrs.filter (_: value: value.result ? ${stdenv.hostPlatform.system}) config.homes) )); }; }; @@ -80,22 +81,6 @@ nilla.create ( ); }; - packages.reuse = { - systems = [ "x86_64-linux" ]; - - package = - { reuse }: - reuse.overrideAttrs ( - { - patches ? [ ], - ... - }: - { - patches = patches ++ [ ./patches/reuse/1191-correct-invocation-for-jujutsu-file-listing.patch ]; - } - ); - }; - # With a package set defined, we can create a shell. shells.default = { # Declare what systems the shell can be used on. @@ -105,9 +90,10 @@ nilla.create ( shell = { pkgs, - system, + stdenv, mkShell, kdePackages, + reuse, ... }: mkShell { @@ -118,21 +104,24 @@ nilla.create ( (builtins.concatStringsSep ":") ] [ - config.inputs.nixos-unstable.result.${system}.quickshell + config.inputs.nixos-unstable.result.${stdenv.hostPlatform.system}.quickshell kdePackages.qtdeclarative ]; packages = [ - config.inputs.nilla-cli.result.packages.nilla-cli.result.${system} - config.inputs.nilla-home.result.packages.nilla-home.result.${system} - config.inputs.nilla-nixos.result.packages.nilla-nixos.result.${system} - config.inputs.nixos-unstable.result.${system}.quickshell - config.inputs.nixpkgs.result.${system}.deadnix - config.packages.nilla-fmt.result.${system} - config.packages.treefmt.result.${system} - (config.inputs.npins.result { inherit pkgs system; }) + config.inputs.nilla-cli.result.packages.nilla-cli.result.${stdenv.hostPlatform.system} + config.inputs.nilla-home.result.packages.nilla-home.result.${stdenv.hostPlatform.system} + config.inputs.nilla-nixos.result.packages.nilla-nixos.result.${stdenv.hostPlatform.system} + config.inputs.nixos-unstable.result.${stdenv.hostPlatform.system}.quickshell + config.inputs.nixpkgs.result.${stdenv.hostPlatform.system}.deadnix + config.packages.nilla-fmt.result.${stdenv.hostPlatform.system} + config.packages.treefmt.result.${stdenv.hostPlatform.system} + (config.inputs.npins.result { + inherit pkgs; + inherit (stdenv.hostPlatform) system; + }) kdePackages.qtdeclarative - config.packages.reuse.result.${system} + reuse ]; }; }; diff --git a/packetmix/npins/default.nix b/packetmix/npins/default.nix index fc9ebc56..b844b313 100644 --- a/packetmix/npins/default.nix +++ b/packetmix/npins/default.nix @@ -9,8 +9,15 @@ */ # Generated by npins. Do not modify; will be overwritten regularly let - data = builtins.fromJSON (builtins.readFile ./sources.json); - version = data.version; + # Backwards-compatibly make something that previously didn't take any arguments take some + # The function must return an attrset, and will unfortunately be eagerly evaluated + # Same thing, but it catches eval errors on the default argument so that one may still call it with other arguments + mkFunctor = + fn: + let + e = builtins.tryEval (fn { }); + in + (if e.success then e.value else { error = fn { }; }) // { __functor = _self: fn; }; # https://github.com/NixOS/nixpkgs/blob/0258808f5744ca980b9a1f24fe0b1e6f0fecee9c/lib/lists.nix#L295 range = @@ -21,7 +28,6 @@ let # https://github.com/NixOS/nixpkgs/blob/0258808f5744ca980b9a1f24fe0b1e6f0fecee9c/lib/strings.nix#L269 stringAsChars = f: s: concatStrings (map f (stringToCharacters s)); - concatMapStrings = f: list: concatStrings (map f list); concatStrings = builtins.concatStringsSep ""; # If the environment variable NPINS_OVERRIDE_${name} is set, then use @@ -48,39 +54,85 @@ let mkSource = name: spec: + { + pkgs ? null, + }: assert spec ? type; let + # Unify across builtin and pkgs fetchers. + # `fetchGit` requires a wrapper because of slight API differences. + fetchers = + if pkgs == null then + { + inherit (builtins) fetchTarball fetchurl; + # For some fucking reason, fetchGit has a different signature than the other builtin fetchers … + fetchGit = args: (builtins.fetchGit args).outPath; + } + else + { + fetchTarball = + { + url, + sha256, + }: + pkgs.fetchzip { + inherit url sha256; + extension = "tar"; + }; + inherit (pkgs) fetchurl; + fetchGit = + { + url, + submodules, + rev, + name, + narHash, + }: + pkgs.fetchgit { + inherit url rev name; + fetchSubmodules = submodules; + hash = narHash; + }; + }; + + # Dispatch to the correct code path based on the type path = if spec.type == "Git" then - mkGitSource spec + mkGitSource fetchers spec else if spec.type == "GitRelease" then - mkGitSource spec + mkGitSource fetchers spec else if spec.type == "PyPi" then - mkPyPiSource spec + mkPyPiSource fetchers spec else if spec.type == "Channel" then - mkChannelSource spec + mkChannelSource fetchers spec else if spec.type == "Tarball" then - mkTarballSource spec + mkTarballSource fetchers spec + else if spec.type == "Container" then + mkContainerSource pkgs spec else builtins.throw "Unknown source type ${spec.type}"; in spec // { outPath = mayOverride name path; }; mkGitSource = + { + fetchTarball, + fetchGit, + ... + }: { repository, revision, url ? null, submodules, hash, - branch ? null, ... }: assert repository ? type; # At the moment, either it is a plain git repository (which has an url), or it is a GitHub/GitLab repository # In the latter case, there we will always be an url to the tarball if url != null && !submodules then - builtins.fetchTarball { + fetchTarball { inherit url; sha256 = hash; } @@ -107,7 +159,7 @@ let "${if matched == null then "source" else builtins.head matched}${appendShort}"; name = urlToName url revision; in - builtins.fetchGit { + fetchGit { rev = revision; narHash = hash; @@ -115,32 +167,81 @@ let }; mkPyPiSource = - { url, hash, ... }: - builtins.fetchurl { + { fetchurl, ... }: + { + url, + hash, + ... + }: + fetchurl { inherit url; sha256 = hash; }; mkChannelSource = - { url, hash, ... }: - builtins.fetchTarball { + { fetchTarball, ... }: + { + url, + hash, + ... + }: + fetchTarball { inherit url; sha256 = hash; }; mkTarballSource = + { fetchTarball, ... }: { url, locked_url ? url, hash, ... }: - builtins.fetchTarball { + fetchTarball { url = locked_url; sha256 = hash; }; + + mkContainerSource = + pkgs: + { + image_name, + image_tag, + image_digest, + ... + }: + if pkgs == null then + builtins.throw "container sources require passing in a Nixpkgs value: https://github.com/andir/npins/blob/master/README.md#using-the-nixpkgs-fetchers" + else + pkgs.dockerTools.pullImage { + imageName = image_name; + imageDigest = image_digest; + finalImageTag = image_tag; + }; in -if version == 6 then - builtins.mapAttrs mkSource data.pins -else - throw "Unsupported format version ${toString version} in sources.json. Try running `npins upgrade`" +mkFunctor ( + { + input ? ./sources.json, + }: + let + data = + if builtins.isPath input then + # while `readFile` will throw an error anyways if the path doesn't exist, + # we still need to check beforehand because *our* error can be caught but not the one from the builtin + # *piegames sighs* + if builtins.pathExists input then + builtins.fromJSON (builtins.readFile input) + else + throw "Input path ${toString input} does not exist" + else if builtins.isAttrs input then + input + else + throw "Unsupported input type ${builtins.typeOf input}, must be a path or an attrset"; + version = data.version; + in + if version == 7 then + builtins.mapAttrs (name: spec: mkFunctor (mkSource name spec)) data.pins + else + throw "Unsupported format version ${toString version} in sources.json. Try running `npins upgrade`" +) diff --git a/packetmix/npins/sources.json b/packetmix/npins/sources.json index f6321cac..3d2d526c 100644 --- a/packetmix/npins/sources.json +++ b/packetmix/npins/sources.json @@ -61,9 +61,9 @@ }, "branch": "main", "submodules": false, - "revision": "c518cf4f62659d9cf585da6f29b67f8a77d0fbc0", - "url": "https://github.com/bluesky-social/atproto/archive/c518cf4f62659d9cf585da6f29b67f8a77d0fbc0.tar.gz", - "hash": "sha256-fW9BKtG9vptNYzCh/AWf8m9QoPEGX6najSFlAekElHA=" + "revision": "3628cebfbb04ba49f326bbf411a2d15de2900302", + "url": "https://github.com/bluesky-social/atproto/archive/3628cebfbb04ba49f326bbf411a2d15de2900302.tar.gz", + "hash": "sha256-5udskm8sOQ73VukP6bweE0rNxW8YG9so8Gk93x9Dzzs=" }, "catppuccin": { "type": "Git", @@ -88,9 +88,9 @@ }, "branch": "master", "submodules": false, - "revision": "8395ec4576cf54411d974675d26f64208acdcee0", - "url": "https://gitlab.collabora.com/api/v4/projects/collabora%2Fgtimelog/repository/archive.tar.gz?sha=8395ec4576cf54411d974675d26f64208acdcee0", - "hash": "sha256-M9pCF+XVf5ylxgq0BSUn5Vkg1HZ6i88LDiUDM4Y1Ghs=" + "revision": "1be9d9f7e844831f221b67a46a55fc47a164e416", + "url": "https://gitlab.collabora.com/api/v4/projects/collabora%2Fgtimelog/repository/archive.tar.gz?sha=1be9d9f7e844831f221b67a46a55fc47a164e416", + "hash": "sha256-v5WEa7M0mmrxdU1l7nIqyrMaVy2jiJNnXHLiHnw2xIc=" }, "copyparty": { "type": "GitRelease", @@ -103,10 +103,10 @@ "version_upper_bound": null, "release_prefix": null, "submodules": false, - "version": "v1.19.17", - "revision": "e2a15a3a922514efe97afc4afa043cd7c4619ad1", - "url": "https://api.github.com/repos/9001/copyparty/tarball/refs/tags/v1.19.17", - "hash": "sha256-Rb6Lq2CW+LrIH8M4sCPA8k12GX7xNUWK4I+xeByLl+M=" + "version": "v1.19.20", + "revision": "450cd86dc1e98b98ab131fc9417c83289165a507", + "url": "https://api.github.com/repos/9001/copyparty/tarball/refs/tags/v1.19.20", + "hash": "sha256-/Wm8hZvdGfYWdTOF+dgTPX8DGuSKLhGw4qC4crf1dAo=" }, "headscale": { "type": "Git", @@ -117,9 +117,9 @@ }, "branch": "main", "submodules": false, - "revision": "8010cc574ea309728f5c7d3fd1cb08252f0111f5", - "url": "https://github.com/juanfont/headscale/archive/8010cc574ea309728f5c7d3fd1cb08252f0111f5.tar.gz", - "hash": "sha256-lQhaw7SVV+qBEZnH8u+gsEwqIByFlZQyjDJ3RbW7uzM=" + "revision": "21af106f68fa38f37d80c9ac91a336a4f53bc074", + "url": "https://github.com/juanfont/headscale/archive/21af106f68fa38f37d80c9ac91a336a4f53bc074.tar.gz", + "hash": "sha256-EGLIiL/80bf6e5P5oDcG7zw7fMpOK5jIALd8rmu6Jv8=" }, "home-manager": { "type": "Git", @@ -128,11 +128,11 @@ "owner": "nix-community", "repo": "home-manager" }, - "branch": "release-25.05", + "branch": "release-25.11", "submodules": false, - "revision": "3b955f5f0a942f9f60cdc9cacb7844335d0f21c3", - "url": "https://github.com/nix-community/home-manager/archive/3b955f5f0a942f9f60cdc9cacb7844335d0f21c3.tar.gz", - "hash": "sha256-uhzsV0Q0I9j2y/rfweWeGif5AWe0MGrgZ/3TjpDYdGA=" + "revision": "d3135ab747fd9dac250ffb90b4a7e80634eacbe9", + "url": "https://github.com/nix-community/home-manager/archive/d3135ab747fd9dac250ffb90b4a7e80634eacbe9.tar.gz", + "hash": "sha256-/r9/1KamvbHJx6I40H4HsSXnEcBAkj46ZwibhBx9kg0=" }, "home-manager-unstable": { "type": "Git", @@ -143,9 +143,9 @@ }, "branch": "master", "submodules": false, - "revision": "189c21cf879669008ccf06e78a553f17e88d8ef0", - "url": "https://github.com/nix-community/home-manager/archive/189c21cf879669008ccf06e78a553f17e88d8ef0.tar.gz", - "hash": "sha256-nZh6uvc71nVNaf/y+wesnjwsmJ6IZZUnP2EzpZe48To=" + "revision": "827f2a23373a774a8805f84ca5344654c31f354b", + "url": "https://github.com/nix-community/home-manager/archive/827f2a23373a774a8805f84ca5344654c31f354b.tar.gz", + "hash": "sha256-RYHN8O/Aja59XDji6WSJZPkJpYVUfpSkyH+PEupBJqM=" }, "impermanence": { "type": "Git", @@ -171,10 +171,10 @@ "version_upper_bound": null, "release_prefix": null, "submodules": false, - "version": "v0.4.2", - "revision": "f0212638a2ec787a7841882f4477d40ae24f0a5d", - "url": "https://api.github.com/repos/nix-community/lanzaboote/tarball/refs/tags/v0.4.2", - "hash": "sha256-AEEDktApTEZ5PZXNDkry2YV2k6t0dTgLPEmAZbnigXU=" + "version": "v0.4.3", + "revision": "65a4aa3d4dccf50f22c0190c7ee660de51c586f2", + "url": "https://api.github.com/repos/nix-community/lanzaboote/tarball/refs/tags/v0.4.3", + "hash": "sha256-If6vQ+KvtKs3ARBO9G3l+4wFSCYtRBrwX1z+I+B61wQ=" }, "lix": { "type": "Git", @@ -186,9 +186,9 @@ }, "branch": "main", "submodules": false, - "revision": "2d2cd7ac03311bddb9645a7ab82c7e78edccbaa0", - "url": "https://git.lix.systems/lix-project/lix/archive/2d2cd7ac03311bddb9645a7ab82c7e78edccbaa0.tar.gz", - "hash": "sha256-jUn34QOaXqguaH+WwB2xWRHlmelvzJfFuEcQrC1cwK0=" + "revision": "2fa40c9de49e47c1f59dd32bf99227884bad3a2d", + "url": "https://git.lix.systems/lix-project/lix/archive/2fa40c9de49e47c1f59dd32bf99227884bad3a2d.tar.gz", + "hash": "sha256-2SAAMUhS1rH2J0elOJZLAbU6KjQ1r6vEWrRFeIaVDzM=" }, "lix-module": { "type": "Git", @@ -200,9 +200,9 @@ }, "branch": "main", "submodules": false, - "revision": "7c31a18259b8358ac196cf803a26967c0fa1d3e4", - "url": "https://git.lix.systems/lix-project/nixos-module/archive/7c31a18259b8358ac196cf803a26967c0fa1d3e4.tar.gz", - "hash": "sha256-n5dRAIC3/78drQtFxmQRrBLd6TKfotUnX7GWu0mAcSg=" + "revision": "c47f62187601ea2991b79a9bacdbfdf76cd29fbe", + "url": "https://git.lix.systems/lix-project/nixos-module/archive/c47f62187601ea2991b79a9bacdbfdf76cd29fbe.tar.gz", + "hash": "sha256-FvuAw56NIVJpS3Kr8Wv9PpU4eehZMcdIVkxjStuYmqc=" }, "lua-multipart": { "type": "GitRelease", @@ -221,20 +221,17 @@ "hash": "sha256-CWQf76/SQEHYX0Xv1UudA4RJtZsMpLY+IU8vjlqnsQY=" }, "nilla": { - "type": "GitRelease", + "type": "Git", "repository": { "type": "GitHub", "owner": "nilla-nix", "repo": "nilla" }, - "pre_releases": true, - "version_upper_bound": null, - "release_prefix": null, + "branch": "private/coded/push-nzprlvpltxyl", "submodules": false, - "version": "v0.0.0-alpha.14", - "revision": "2e98ae315a592ad6b6de44670514c048dcc88dc7", - "url": "https://api.github.com/repos/nilla-nix/nilla/tarball/refs/tags/v0.0.0-alpha.14", - "hash": "sha256-15lwhWcMonJH6UholMMHDc+p2BoSpGA4AYGrsXQA9Do=" + "revision": "2f8b8c68efc4d81637be344d1b01462291a45e05", + "url": "https://github.com/nilla-nix/nilla/archive/2f8b8c68efc4d81637be344d1b01462291a45e05.tar.gz", + "hash": "sha256-VLlP6L8uvgEjb1ZZXdc4P3NAs5PcgIjpGm8LvaObrLY=" }, "nilla-cli": { "type": "Git", @@ -245,9 +242,9 @@ }, "branch": "main", "submodules": false, - "revision": "6c6c42eaae3d095de6d1b47396c8b74ea57cb442", - "url": "https://github.com/nilla-nix/cli/archive/6c6c42eaae3d095de6d1b47396c8b74ea57cb442.tar.gz", - "hash": "sha256-0+d6LZfofBG+4OxnZcFaNg2ycgj1zcOJQUcPL1TEaSc=" + "revision": "aa042dbd9152c99e5a8db51bcf87306737423b9e", + "url": "https://github.com/nilla-nix/cli/archive/aa042dbd9152c99e5a8db51bcf87306737423b9e.tar.gz", + "hash": "sha256-cPdYYXhCsDllVgq+gs5Wqhb41bFtKWHlkTvjOJv7its=" }, "nilla-home": { "type": "GitRelease", @@ -287,9 +284,9 @@ }, "branch": "main", "submodules": false, - "revision": "f851a923137c0a54719412146fd63d24b3214e60", - "url": "https://github.com/sodiboo/niri-flake/archive/f851a923137c0a54719412146fd63d24b3214e60.tar.gz", - "hash": "sha256-E2ySTu/oK7cYBdAI3tlGP9zVjF4mZgWJ1OZInBCMb00=" + "revision": "d06ab0308d797dc4b2f9025d5952cca90afd11a7", + "url": "https://github.com/sodiboo/niri-flake/archive/d06ab0308d797dc4b2f9025d5952cca90afd11a7.tar.gz", + "hash": "sha256-e1SOJYHe5IbKFIOpWswB/4nIog1Zx5iXA4YB49XTFxE=" }, "nix-index-database": { "type": "Git", @@ -300,9 +297,9 @@ }, "branch": "main", "submodules": false, - "revision": "5024e1901239a76b7bf94a4cd27f3507e639d49e", - "url": "https://github.com/nix-community/nix-index-database/archive/5024e1901239a76b7bf94a4cd27f3507e639d49e.tar.gz", - "hash": "sha256-xmU8kAsRprJiTGBTaGrwmjBP3AMA9ltlrxHKFuy5JWc=" + "revision": "15c5451c63f4c612874a43846bfe3fa828b03eee", + "url": "https://github.com/nix-community/nix-index-database/archive/15c5451c63f4c612874a43846bfe3fa828b03eee.tar.gz", + "hash": "sha256-C9F1C31ys0V7mnp4EcDy7L1cLZw/sCTEXqqTtGnvu08=" }, "nix-monitored": { "type": "Git", @@ -320,14 +317,14 @@ "nixos-unstable": { "type": "Channel", "name": "nixos-unstable", - "url": "https://releases.nixos.org/nixos/unstable/nixos-25.11pre880095.5e2a59a5b1a8/nixexprs.tar.xz", - "hash": "sha256-u0JUo46QSoXnjLaezAM75wRNuxVMVbm5OxHH122TeTY=" + "url": "https://releases.nixos.org/nixos/unstable/nixos-26.05pre912002.1306659b587d/nixexprs.tar.xz", + "hash": "sha256-2BzIb1uB1hPl5fKGsMc+xj2DrSYmpRLcKdCq0UHdLwI=" }, "nixpkgs": { "type": "Channel", - "name": "nixos-25.05", - "url": "https://releases.nixos.org/nixos/25.05/nixos-25.05.811497.33c6dca0c0cb/nixexprs.tar.xz", - "hash": "sha256-Z7kbKnORypPkJ74r6sHA2RQH1XATHLWiGgZVrli0scY=" + "name": "nixos-25.11", + "url": "https://releases.nixos.org/nixos/25.11/nixos-25.11.1948.c6f52ebd45e5/nixexprs.tar.xz", + "hash": "sha256-Rgx3RPys4DTsfZPBbJa2QpJGbjnWVC7V2Rlviyp4qMI=" }, "npins": { "type": "Git", @@ -363,9 +360,9 @@ }, "branch": "master", "submodules": false, - "revision": "7d1888abf8c5b82692476a9de2137a024d484771", + "revision": "3eb9cefd98d13ab9864abb2e394fc41f89ffd923", "url": null, - "hash": "sha256-WD/UFUMcXMV/3tqD4h2tPaQH1KDlsJ00M+T4N/xkAGs=" + "hash": "sha256-lRTZLRcqWpVf6CzJmvg+ggp/YWWasT4u2lFKIiIopoM=" }, "treefmt-nix": { "type": "Git", @@ -376,9 +373,25 @@ }, "branch": "main", "submodules": false, - "revision": "f56b1934f5f8fcab8deb5d38d42fd692632b47c2", - "url": "https://github.com/numtide/treefmt-nix/archive/f56b1934f5f8fcab8deb5d38d42fd692632b47c2.tar.gz", - "hash": "sha256-ZRVs8UqikBa4Ki3X4KCnMBtBW0ux1DaT35tgsnB1jM4=" + "revision": "5b4ee75aeefd1e2d5a1cc43cf6ba65eba75e83e4", + "url": "https://github.com/numtide/treefmt-nix/archive/5b4ee75aeefd1e2d5a1cc43cf6ba65eba75e83e4.tar.gz", + "hash": "sha256-AlEObg0syDl+Spi4LsZIBrjw+snSVU4T8MOeuZJUJjM=" + }, + "vs-launcher": { + "type": "GitRelease", + "repository": { + "type": "GitHub", + "owner": "XurxoMF", + "repo": "vs-launcher" + }, + "pre_releases": false, + "version_upper_bound": null, + "release_prefix": null, + "submodules": false, + "version": "1.5.8", + "revision": "2068a31948396ca7c0a1b0efbc805ba7e99cdd96", + "url": "https://api.github.com/repos/XurxoMF/vs-launcher/tarball/refs/tags/1.5.8", + "hash": "sha256-SYpZSFyavD19sGuQhUrmVAbzx2Hs5nupsu2DkCymT4w=" }, "walker": { "type": "GitRelease", @@ -391,11 +404,11 @@ "version_upper_bound": null, "release_prefix": null, "submodules": false, - "version": "v2.5.5", - "revision": "ff292cb12c4816ce21dab47cd9894b8046b16a93", - "url": "https://api.github.com/repos/abenz1267/walker/tarball/refs/tags/v2.5.5", - "hash": "sha256-xc0yW9OhLTppjkaWWCWG9q4BVJZbhnLqLniLeMkcTvM=" + "version": "v2.10.0", + "revision": "ce131301bbbdecde37bf76bf8478e8af06ff3792", + "url": "https://api.github.com/repos/abenz1267/walker/tarball/refs/tags/v2.10.0", + "hash": "sha256-72+WE0RGSW8TgzPijHU6TtLWfMb0G7ojraM5UifTLVg=" } }, - "version": 6 + "version": 7 } diff --git a/packetmix/packages/OpenLinkHub/default.nix b/packetmix/packages/OpenLinkHub/default.nix index 9e0fa644..11131ca2 100644 --- a/packetmix/packages/OpenLinkHub/default.nix +++ b/packetmix/packages/OpenLinkHub/default.nix @@ -14,6 +14,10 @@ cp ${prev.src}/database/rgb.json $out/var/lib/OpenLinkHub/database echo "{}" >> $out/var/lib/OpenLinkHub/database/scheduler.json cp -r ${prev.src}/database/keyboard $out/var/lib/OpenLinkHub/database + cp -r ${prev.src}/database/lcd $out/var/lib/OpenLinkHub/database + cp -r ${prev.src}/database/language $out/var/lib/OpenLinkHub/database + cp -r ${prev.src}/database/nexus $out/var/lib/OpenLinkHub/database + cp -r ${prev.src}/database/external $out/var/lib/OpenLinkHub/database mkdir -p $out/lib/udev/rules.d cp ${prev.src}/99-openlinkhub.rules $out/lib/udev/rules.d diff --git a/packetmix/packages/beancount-beancount_share/default.nix b/packetmix/packages/beancount-beancount_share/default.nix index ef73bfca..57d9e38b 100644 --- a/packetmix/packages/beancount-beancount_share/default.nix +++ b/packetmix/packages/beancount-beancount_share/default.nix @@ -8,7 +8,7 @@ systems = [ "x86_64-linux" ]; package = { - system, + stdenv, lib, python3, }: @@ -25,7 +25,7 @@ propagatedBuildInputs = [ python3.pkgs.beancount - config.packages.beancount-beancount_plugin_utils.result.${system} + config.packages.beancount-beancount_plugin_utils.result.${stdenv.hostPlatform.system} ]; buildInputs = [ diff --git a/packetmix/packages/beancount-smart_importer/default.nix b/packetmix/packages/beancount-smart_importer/default.nix index a0b70ec1..f962037d 100644 --- a/packetmix/packages/beancount-smart_importer/default.nix +++ b/packetmix/packages/beancount-smart_importer/default.nix @@ -31,7 +31,7 @@ buildInputs = [ python3.pkgs.setuptools - python3.pkgs.setuptools_scm + python3.pkgs.setuptools-scm ]; meta = { diff --git a/packetmix/packages/bluesky-pds/default.nix b/packetmix/packages/bluesky-pds/default.nix index d57b1165..4206fea6 100644 --- a/packetmix/packages/bluesky-pds/default.nix +++ b/packetmix/packages/bluesky-pds/default.nix @@ -35,7 +35,7 @@ pnpmDeps = pnpm_9.fetchDeps { inherit (finalAttrs) pname version src; fetcherVersion = 2; - hash = "sha256-3Q3k2zTAyJHWunOLU/CuCaNljmPf9r3ONUjZ/0vno8s="; + hash = "sha256-9FYnpZ9wCC2JdpS/AGb8jrURrkrbMi5DTFvZVi7MYPc="; }; buildPhase = '' @@ -78,16 +78,18 @@ systems = [ "x86_64-linux" ]; package = { - system, + stdenv, findutils, ... }: - config.inputs.nixos-unstable.result.${system}.bluesky-pds.overrideAttrs { + config.inputs.nixos-unstable.result.${stdenv.hostPlatform.system}.bluesky-pds.overrideAttrs { postBuild = '' atproto_pds_dir=$(${findutils}/bin/find node_modules/.pnpm -maxdepth 1 -name "@atproto+pds@*") rm -r $atproto_pds_dir mkdir -p $atproto_pds_dir - ln -s ${config.packages.bluesky-atproto-pds.result.${system}}/lib $atproto_pds_dir/node_modules + ln -s ${ + config.packages.bluesky-atproto-pds.result.${stdenv.hostPlatform.system} + }/lib $atproto_pds_dir/node_modules ''; }; }; diff --git a/packetmix/packages/collabora-gtimelog/default.nix b/packetmix/packages/collabora-gtimelog/default.nix index 1e2b83a4..cb674443 100644 --- a/packetmix/packages/collabora-gtimelog/default.nix +++ b/packetmix/packages/collabora-gtimelog/default.nix @@ -38,7 +38,9 @@ gtk3 harfbuzz libsecret - libsoup_2_4 + (libsoup_2_4.overrideAttrs { + meta.knownVulnerabilities = [ ]; # FIXME: update libsoup to _3 + }) pango ] }" diff --git a/packetmix/packages/default.nix b/packetmix/packages/default.nix index 68f444b0..53260cad 100644 --- a/packetmix/packages/default.nix +++ b/packetmix/packages/default.nix @@ -16,5 +16,6 @@ ./OpenLinkHub ./scriptfs ./treefmt + ./vs-launcher ]; } diff --git a/packetmix/packages/headscale/default.nix b/packetmix/packages/headscale/default.nix index 1a8c9b83..668f2c26 100644 --- a/packetmix/packages/headscale/default.nix +++ b/packetmix/packages/headscale/default.nix @@ -14,7 +14,7 @@ ... }: let - vendorHash = "sha256-GUIzlPRsyEq1uSTzRNds9p1uVu4pTeH5PAxrJ5Njhis="; + vendorHash = "sha256-VOi4PGZ8I+2MiwtzxpKc/4smsL5KcH/pHVkjJfAFPJ0="; commitHash = config.inputs.headscale.src.revision; headscaleVersion = commitHash; in diff --git a/packetmix/packages/treefmt/default.nix b/packetmix/packages/treefmt/default.nix index 3d73cd1f..feb65d69 100644 --- a/packetmix/packages/treefmt/default.nix +++ b/packetmix/packages/treefmt/default.nix @@ -29,11 +29,11 @@ systems = [ "x86_64-linux" ]; package = - { stdenv, system }: + { stdenv }: stdenv.mkDerivation { name = "nilla-fmt"; - src = config.packages.treefmt.result.${system}; + src = config.packages.treefmt.result.${stdenv.hostPlatform.system}; dontBuild = true; diff --git a/packetmix/packages/vs-launcher/default.nix b/packetmix/packages/vs-launcher/default.nix new file mode 100644 index 00000000..fc9b920d --- /dev/null +++ b/packetmix/packages/vs-launcher/default.nix @@ -0,0 +1,30 @@ +# SPDX-FileCopyrightText: 2025 FreshlyBakedCake +# +# SPDX-License-Identifier: MIT +let + pins = import ../../npins; +in +{ config, ... }: +{ + config.packages.vs-launcher = { + systems = [ "x86_64-linux" ]; + + package = + let + + in + { appimageTools, fetchurl }: + let + version = pins.vs-launcher.version; + pname = "vs-launcher"; + src = fetchurl { + url = "https://github.com/XurxoMF/vs-launcher/releases/download/${version}/vs-launcher-${version}.AppImage"; + sha256 = "sha256-WohOevunsop8cSg1E+GuUJpYHRfj7XtJEC0xH16A4Hg="; + }; + in + appimageTools.wrapType2 { + inherit pname version src; + extraPkgs = pkgs: [ pkgs.dotnet-runtime ]; + }; + }; +} diff --git a/packetmix/patches/reuse/1191-correct-invocation-for-jujutsu-file-listing.patch b/packetmix/patches/reuse/1191-correct-invocation-for-jujutsu-file-listing.patch deleted file mode 100644 index 830ccc62..00000000 --- a/packetmix/patches/reuse/1191-correct-invocation-for-jujutsu-file-listing.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 44d6d1a802e92c4837348329b32f1d0a158b5c30 Mon Sep 17 00:00:00 2001 -From: Jonas Fierlings -Date: Mon, 9 Jun 2025 18:28:42 +0200 -Subject: [PATCH] Correct invocation for jujutsu file listing - -The `jj files` command was deprecated in jujutsu 0.19.0, and removed in -jujutsu 0.26.0 (released in february of 2025). The fix is to use the new -`jj file list` command instead. ---- - src/reuse/vcs.py | 29 ++++++++++++++++++++++++++++- - 1 files changed, 28 insertions(+), 1 deletion(-) - -diff --git a/src/reuse/vcs.py b/src/reuse/vcs.py -index 8c1cb5c8e..63b220048 100644 ---- a/src/reuse/vcs.py -+++ b/src/reuse/vcs.py -@@ -2,6 +2,7 @@ - # SPDX-FileCopyrightText: 2020 John Mulligan - # SPDX-FileCopyrightText: 2023 Markus Haug - # SPDX-FileCopyrightText: 2024 Skyler Grey -+# SPDX-FileCopyrightText: 2025 Jonas Fierlings - # SPDX-FileCopyrightText: © 2020 Liferay, Inc. - # - # SPDX-License-Identifier: GPL-3.0-or-later -@@ -261,11 +262,37 @@ def _find_all_tracked_files(self) -> set[Path]: - """ - Return a set of all files tracked in the current jj revision - """ -- command = [str(self.EXE), "files"] -+ version = self._version() -+ # TODO: Remove the version check once most distributions ship jj 0.19.0 -+ # or higher. -+ if version is None or version >= (0, 19, 0): -+ command = [str(self.EXE), "file", "list"] -+ else: -+ command = [str(self.EXE), "files"] - result = execute_command(command, _LOGGER, cwd=self.root) - all_files = result.stdout.decode("utf-8").split("\n") - return {Path(file_) for file_ in all_files if file_} - -+ def _version(self) -> Optional[tuple[int, int, int]]: -+ """ -+ Returns the (major, minor, patch) version of the jujutsu executable, -+ or None if the version components cannot be determined. -+ """ -+ result = execute_command( -+ [str(self.EXE), "--version"], _LOGGER, cwd=self.root -+ ) -+ lines = result.stdout.decode("utf-8").split("\n") -+ # Output has the form `jj major.minor.patch[-hash]\n`. -+ try: -+ line = lines[0] -+ version = line.split(" ")[-1] -+ without_hash = version.split("-")[0] -+ components = without_hash.split(".") -+ return (int(components[0]), int(components[1]), int(components[2])) -+ except (IndexError, ValueError) as e: -+ _LOGGER.debug("unable to parse jj version: %s", e) -+ return None -+ - def is_ignored(self, path: StrPath) -> bool: - path = relative_from_root(path, self.root) - diff --git a/packetmix/patches/reuse/1191-correct-invocation-for-jujutsu-file-listing.patch.license b/packetmix/patches/reuse/1191-correct-invocation-for-jujutsu-file-listing.patch.license deleted file mode 100644 index 646efdb0..00000000 --- a/packetmix/patches/reuse/1191-correct-invocation-for-jujutsu-file-listing.patch.license +++ /dev/null @@ -1,3 +0,0 @@ -SPDX-FileCopyrightText: 2025 Jonas Fierlings - -SPDX-License-Identifier: GPL-3.0-or-later diff --git a/packetmix/systems/common/inputs.nix b/packetmix/systems/common/inputs.nix index 96f5efbc..609b6cec 100644 --- a/packetmix/systems/common/inputs.nix +++ b/packetmix/systems/common/inputs.nix @@ -26,5 +26,5 @@ builtins.storePath value.result else builtins.storePath value.src; - }) project.inputs; + }) (lib.attrsets.filterAttrs (n: _: n != "__functor") project.inputs); } diff --git a/packetmix/systems/corsair/openlinkhub.nix b/packetmix/systems/corsair/openlinkhub.nix index 8ed38472..05d10305 100644 --- a/packetmix/systems/corsair/openlinkhub.nix +++ b/packetmix/systems/corsair/openlinkhub.nix @@ -46,8 +46,14 @@ [ -f ${path}/database/scheduler.json ] || cp ${pkg}/var/lib/OpenLinkHub/schduler.json ${path}/database/scheduler.json mkdir -p ${path}/database/temperatures mkdir -p ${path}/database/profiles + mkdir -p ${path}/database/macros + mkdir -p ${path}/database/led - cp -r ${pkg}/var/lib/OpenLinkHub/database/keyboard ${path}/database/keyboard + cp -r ${pkg}/var/lib/OpenLinkHub/database/keyboard ${path}/database + cp -r ${pkg}/var/lib/OpenLinkHub/database/lcd ${path}/database + cp -r ${pkg}/var/lib/OpenLinkHub/database/external ${path}/database + cp -r ${pkg}/var/lib/OpenLinkHub/database/nexus ${path}/database + cp -r ${pkg}/var/lib/OpenLinkHub/database/language ${path}/database [ -L ${path}/static ] || ln -s ${pkg}/var/lib/OpenLinkHub/static ${path}/static [ -L ${path}/web ] || ln -s ${pkg}/var/lib/OpenLinkHub/web ${path}/web diff --git a/packetmix/systems/espanso/espanso.nix b/packetmix/systems/espanso/espanso.nix index b6a2522e..d1edcf1c 100644 --- a/packetmix/systems/espanso/espanso.nix +++ b/packetmix/systems/espanso/espanso.nix @@ -8,6 +8,4 @@ enable = true; package = if config.services.xserver.enable then pkgs.espanso else pkgs.espanso-wayland; }; - - programs.espanso.capdacoverride.enable = !config.services.xserver.enable; } diff --git a/packetmix/systems/espanso/nixpkgs-328890--espanso-capdacoverride.nix b/packetmix/systems/espanso/nixpkgs-328890--espanso-capdacoverride.nix deleted file mode 100644 index 79695f4d..00000000 --- a/packetmix/systems/espanso/nixpkgs-328890--espanso-capdacoverride.nix +++ /dev/null @@ -1,63 +0,0 @@ -# SPDX-FileCopyrightText: 2025 Eelco Dolstra and the Nixpkgs/NixOS contributors -# -# SPDX-License-Identifier: MIT - -{ - config, - lib, - pkgs, - ... -}: - -let - cfg = config.programs.espanso.capdacoverride; -in -{ - meta = { - maintainers = with lib.maintainers; [ pitkling ]; - }; - - options = { - programs.espanso.capdacoverride = { - enable = (lib.mkEnableOption "espanso-wayland overlay with DAC_OVERRIDE capability") // { - description = '' - Creates an espanso binary with the DAC_OVERRIDE capability (via `security.wrappers`) and overlays `pkgs.espanso-wayland` such that self-forks call the capability-enabled binary. - Required for `pkgs.espanso-wayland` to work correctly if not run with root privileges. - ''; - }; - - package = lib.mkOption { - type = lib.types.package // { - check = package: lib.types.package.check package && (builtins.elem "wayland" package.buildFeatures); - description = - lib.types.package.description - + " for espanso with wayland support (`package.builtFeatures` must contain `\"wayland\"`)"; - }; - default = pkgs._espanso-wayland-orig; - defaultText = "pkgs.espanso-wayland (before applying the overlay)"; - description = "The espanso-wayland package used as the base to generate the capability-enabled package."; - }; - }; - }; - - config = lib.mkIf cfg.enable { - nixpkgs.overlays = [ - (_final: prev: { - _espanso-wayland-orig = prev.espanso-wayland; - espanso-wayland = - pkgs.callPackage ./nixpkgs-328890--espanso-capdacoverride/espanso-capdacoverride.nix - { - capDacOverrideWrapperDir = "${config.security.wrapperDir}"; - espanso = cfg.package; - }; - }) - ]; - - security.wrappers."espanso-wayland" = { - source = lib.getExe pkgs.espanso-wayland; - capabilities = "cap_dac_override+p"; - owner = "root"; - group = "root"; - }; - }; -} diff --git a/packetmix/systems/espanso/nixpkgs-328890--espanso-capdacoverride/espanso-capdacoverride.nix b/packetmix/systems/espanso/nixpkgs-328890--espanso-capdacoverride/espanso-capdacoverride.nix deleted file mode 100644 index 9f807cd1..00000000 --- a/packetmix/systems/espanso/nixpkgs-328890--espanso-capdacoverride/espanso-capdacoverride.nix +++ /dev/null @@ -1,63 +0,0 @@ -# SPDX-FileCopyrightText: 2025 Eelco Dolstra and the Nixpkgs/NixOS contributors -# -# SPDX-License-Identifier: MIT - -{ - autoPatchelfHook, - capDacOverrideWrapperDir, - espanso, - patchelfUnstable, # have to use patchelfUnstable to support --rename-dynamic-symbols - stdenv, -}: -let - inherit (espanso) version; - pname = "${espanso.pname}-capdacoverride"; - - wrapperLibName = "wrapper-lib.so"; - - # On Wayland, Espanso requires the DAC_OVERRIDE capability. One can create a wrapper binary with this - # capability using the `config.security.wrappers.` framework. However, this is not enough: the - # capability is required by a worker process of Espanso created by forking `/proc/self/exe`, which points - # to the executable **without** the DAC_OVERRIDE capability. Thus, we inject a wrapper library into Espanso - # that redirects requests to `/proc/self/exe` to the binary with the proper capabilities. - wrapperLib = stdenv.mkDerivation { - name = "${pname}-${version}-wrapper-lib"; - - dontUnpack = true; - - postPatch = '' - substitute ${./wrapper-lib.c} lib.c --subst-var-by to "${capDacOverrideWrapperDir}/espanso-wayland" - ''; - - buildPhase = '' - runHook preBuild - cc -fPIC -shared lib.c -o ${wrapperLibName} - runHook postBuild - ''; - - installPhase = '' - runHook preInstall - install -D -t $out/lib ${wrapperLibName} - runHook postInstall - ''; - }; -in -espanso.overrideAttrs (previousAttrs: { - inherit pname; - - buildInputs = previousAttrs.buildInputs ++ [ wrapperLib ]; - - nativeBuildInputs = previousAttrs.nativeBuildInputs ++ [ - autoPatchelfHook - patchelfUnstable - ]; - - postInstall = '' - echo readlink readlink_wrapper > readlink_name_map - patchelf \ - --rename-dynamic-symbols readlink_name_map \ - --add-needed ${wrapperLibName} \ - "$out/bin/espanso" - '' - + previousAttrs.postInstall; -}) diff --git a/packetmix/systems/espanso/nixpkgs-328890--espanso-capdacoverride/wrapper-lib.c b/packetmix/systems/espanso/nixpkgs-328890--espanso-capdacoverride/wrapper-lib.c deleted file mode 100644 index 13d0b539..00000000 --- a/packetmix/systems/espanso/nixpkgs-328890--espanso-capdacoverride/wrapper-lib.c +++ /dev/null @@ -1,26 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2025 Eelco Dolstra and the Nixpkgs/NixOS contributors - * - * SPDX-License-Identifier: MIT - */ - -#include -#include -#include - -static const char from[] = "/proc/self/exe"; -static const char to[] = "@to@"; - -ssize_t readlink_wrapper(const char *restrict path, char *restrict buf, size_t bufsize) { - if (strcmp(path, from) == 0) { - printf("readlink_wrapper.c: Resolving readlink call to '%s' to '%s'\n", from, to); - size_t to_length = strlen(to); - if (to_length > bufsize) { - to_length = bufsize; - } - memcpy(buf, to, to_length); - return to_length; - } else { - return readlink(path, buf, bufsize); - } -} diff --git a/packetmix/systems/freshlybakedcake+personal/kanidm.nix b/packetmix/systems/freshlybakedcake+personal/kanidm.nix index b1e624fe..c05a99f3 100644 --- a/packetmix/systems/freshlybakedcake+personal/kanidm.nix +++ b/packetmix/systems/freshlybakedcake+personal/kanidm.nix @@ -7,7 +7,7 @@ services.kanidm = { enableClient = true; - package = pkgs.kanidm_1_7; + package = pkgs.kanidm_1_8; clientSettings.uri = "https://idm.freshly.space"; }; diff --git a/packetmix/systems/midnight/spindle.nix b/packetmix/systems/midnight/spindle.nix index c1ce39ee..ddbe77a4 100644 --- a/packetmix/systems/midnight/spindle.nix +++ b/packetmix/systems/midnight/spindle.nix @@ -13,7 +13,7 @@ networking.firewall.allowedTCPPorts = [ 1024 ]; - services.tangled-spindle = { + services.tangled.spindle = { enable = true; server = { listenAddr = "0.0.0.0:1024"; diff --git a/packetmix/systems/niri/niri.nix b/packetmix/systems/niri/niri.nix index 39ffc7db..1061d00c 100644 --- a/packetmix/systems/niri/niri.nix +++ b/packetmix/systems/niri/niri.nix @@ -45,7 +45,7 @@ in partOf = [ "graphical-session.target" ]; serviceConfig = { Type = "simple"; - ExecStart = "${pkgs.libsForQt5.polkit-kde-agent}/libexec/polkit-kde-authentication-agent-1"; + ExecStart = "${pkgs.kdePackages.polkit-kde-agent-1}/libexec/polkit-kde-authentication-agent-1"; Restart = "on-failure"; RestartSec = 1; TimeoutStopSec = 10; diff --git a/packetmix/systems/nix-serve/cache.nix b/packetmix/systems/nix-serve/cache.nix index d3bded82..e79011a0 100644 --- a/packetmix/systems/nix-serve/cache.nix +++ b/packetmix/systems/nix-serve/cache.nix @@ -2,11 +2,14 @@ # # SPDX-License-Identifier: MIT +{ pkgs, ... }: { networking.firewall.allowedTCPPorts = [ 1025 ]; services.nix-serve = { enable = true; + package = pkgs.nix-serve-ng; + secretKeyFile = "/secrets/cache/signer.key"; bindAddress = "0.0.0.0"; diff --git a/packetmix/systems/redhead/android.nix b/packetmix/systems/redhead/android.nix index 71a985c4..79fc7302 100644 --- a/packetmix/systems/redhead/android.nix +++ b/packetmix/systems/redhead/android.nix @@ -4,8 +4,5 @@ { pkgs, ... }: { - services.udev.packages = [ - pkgs.android-udev-rules - ]; users.users.minion.extraGroups = [ "adbusers" ]; } diff --git a/packetmix/systems/redhead/nextcloud.nix b/packetmix/systems/redhead/nextcloud.nix index a9822e75..6df0bf3d 100644 --- a/packetmix/systems/redhead/nextcloud.nix +++ b/packetmix/systems/redhead/nextcloud.nix @@ -18,7 +18,7 @@ hostName = "nextcloud.dev.redhead.starrysky.fyi"; - package = pkgs.nextcloud31; + package = pkgs.nextcloud32; poolSettings = { pm = "dynamic"; diff --git a/packetmix/systems/shorthair/vr.nix b/packetmix/systems/shorthair/vr.nix new file mode 100644 index 00000000..2b5b71b0 --- /dev/null +++ b/packetmix/systems/shorthair/vr.nix @@ -0,0 +1,8 @@ +# SPDX-FileCopyrightText: 2025 Freshly Baked Cake +# +# SPDX-License-Identifier: MIT + +{ pkgs }: +{ + services.monado.enable = true; +} diff --git a/packetmix/systems/teal/kanidm.nix b/packetmix/systems/teal/kanidm.nix index 1c05cc79..104605b2 100644 --- a/packetmix/systems/teal/kanidm.nix +++ b/packetmix/systems/teal/kanidm.nix @@ -5,7 +5,7 @@ { pkgs, ... }: { services.kanidm = { - package = pkgs.kanidm_1_7; + package = pkgs.kanidm_1_8; enableServer = true; enableClient = true; serverSettings = { diff --git a/packetmix/systems/teal/pds.nix b/packetmix/systems/teal/pds.nix index a9f166cc..47b255fa 100644 --- a/packetmix/systems/teal/pds.nix +++ b/packetmix/systems/teal/pds.nix @@ -8,17 +8,6 @@ ... }: { - disabledModules = [ "services/web-apps/pds.nix" ]; - imports = [ - "${project.inputs.nixos-unstable.src}/nixos/modules/services/web-apps/bluesky-pds.nix" - ]; - - nixpkgs.overlays = [ - (final: _prev: { - bluesky-pdsadmin = final.pdsadmin; - }) - ]; - services.bluesky-pds = { enable = true; package = project.packages.bluesky-pds.result.${system}; -- 2.43.0