Question: <del> { lib , python3Packages , fetchFromGitHub , writeText , copyDesktopItems , makeDesktopItem , makeWrapper , onedrive </del> <ins> { lib, python3Packages, fetchFromGitHub, writeText, copyDesktopItems, makeDesktopItem, makeWrapper, onedrive, </ins> }: let <del> version = "1.0.3"; </del> <ins> version = "1.1.0rc3"; </ins> setupPy = writeText "setup.py" '' from setuptools import setup

A recent update on unstable broke compatibility between OneDriveGui and OneDrive client. Steps to reproduce the behavior: unstable to current version ( ) a OneDrive profile configured in OneDriveGui OneDriveGui window OneDriveGui correctly recognizing the cli client ! After some investigation on their respective repos, it appears that OneDriveGui 1.0.3 is not compatible with OneDrive 2.5.x, now in rc (and in Nixos unstable) so this is going to stay broken until OneDriveGui releases their 1.1.0 version. There's an open issue on their repository... which points to an alpha release of the new gui... it might be of interest to package that one on unstable. Please run and paste the result. Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
FYI , v2.5.0 will GA 16th September 2024 AEST


Question: , qtx11extras, rubberband, scons, sqlite, taglib, upower, vampSDK }: <del> stdenv.mkDerivation rec { </del> <ins> mkDerivation rec { </ins> name = "mixxx-${version}"; version = "2.2.1";

Describe the bug When running the Mixxx package it fails to open and prints: Steps to reproduce the behaviour: 1) Run 3) Run from the command line. Expected behavior Mixxx opens its GUI Screenshots If applicable, add screenshots to help explain your problem. Additional context Add any other context about the problem here. Metadata Please run and paste the result. system: host os: multi-user?: sandbox: version: channels(root): nixpkgs: Maintainer information:
this needs a fix in
Can confirm running for example on my machine works.
Does not fix this for me. I've created: which does


Question: client.wait_for_unit("default.target") client.succeed( <del> 'curl --data '{"host": "acme.test", "addresses": ["${nodes.acme.config.networking.primaryIPAddress}"]}' http://${dnsServerIP nodes}:8055/add-a' </del> <ins> 'curl --data '{"host": "${caDomain}", "addresses": ["${nodes.acme.config.networking.primaryIPAddress}"]}' http://${dnsServerIP nodes}:8055/add-a' </ins> ) acme.start()

Describe the bug causes Lego to fail. To Reproduce Steps to reproduce the behavior: set on an enabled certificate. to this configuration. fail. Lego complains about an unrecognized (really misplaced) flag. Expected behavior The certificate will be successfully fetched, with Must-Staple enabled. Screenshots Additional context I think the problematic code is here: should not be in commonOpts, it should instead be in runOpts and renewOpts. Lego runs successfully when is to and . Notify maintainers (the acme team) Metadata Maintainer information:
Thanks for the report :) It appears that the --must-staple option is common to both "run" and "renew" modes, but is not actually a common option that can be specified before the mode. I'll get a PR ready for this.


Question: homepage = "https://freetubeapp.io/"; license = licenses.agpl3Only; maintainers = with maintainers; [ ryneeverett alyaeanyx ]; <del> inherit (electron_22.meta) platforms; </del> <ins> inherit (electron.meta) platforms; </ins> }; }

Steps to reproduce the behavior: system configuration with Freetube in it. See and for the exact same issue with Morgen. Electron version lock seems to have been introduced with . Upstream seems to be at Electron 27: . and
Maybe we could add the patches from It looks like they were waiting for a nixos user to test it and eventually gave up on us.
are you able to test ?
Looks good as far as I can tell.
fails on this branch, for whatever reason.


Question: mkdir -p $out/Applications cp -r *.app $out/Applications ''; <ins> # 1Password is notarized. dontFixup = true; </ins> }

does not start on the Mac. Steps to reproduce the behavior: via symlink, sandbox violation the app into the Application folder, sandbox violation 1Password should start Please run and paste the result.
I should have noted, that also doesn't work
Did it work prior to the update? Regardless, I cannot offer help with the Darwin side of things, I only use 1password-gui on NixOS.
that I can't say for sure


Question: btcdeb = callPackage ../applications/blockchains/btcdeb {}; <ins> jitsi-meet-electron = callPackage ../applications/networking/instant-messengers/jitsi-meet-electron { }; </ins> }

Related to Project description Jitsi Meet desktop application powered by Electron Metadata homepage URL: source URL: license: Apache-2.0 platforms: unix, linux, darwin,
+1 as the App seems to have some benefits over using just a browser. Whoever starts working on this, please remember to deactivate the auto-update functionality.
Also I would suggest to make sure we are using a recent version of Electron and nodejs, as don in this fork:
There was a 2.0.0 release two days ago: I think this fixes the outdated dependencies issue mentioned in the previous comment.
Yes a pull request from the fork I mentioned before was accepted.
I fixed the outstanding issues and PR is ready for review


Question: libExecPath="${libExecPath}" python build/linux/unbundle/replace_gn_files.py  --system-libraries ${toString gnSystemLibraries} <del> gn gen --args=${escapeShellArg gnFlags} out/Release </del> <ins> gn gen --args=${escapeShellArg gnFlags} out/Release | tee gn-gen-outputs.txt # Fail if `gn gen` contains a WARNING. grep -o WARNING gn-gen-outputs.txt && echo "Found gn WARNING, exiting nix build" && exit 1 </ins> runHook postConfigure '';

When building chromium with args like this and the gn args aren't known/accepted by chromium (like the above one actually is that is still given incorrectly in 18.03), it will print: but continue to build anyway, which can be super surprising when your build doesn't do what you expect. We should catch that when building. Unfortunately doesn't seem to have a feature to warn. But we can run to see the in stdout and grep for it: I have confirmed that only seems to work that way when giving a build target, like . CC
Suggestion: We switch to
PR
pull request was merged.


Question: type = with types; attrsOf (submodule upsOptions); }; <ins> users = mkOption { default = {}; description = lib.mdDoc '' Users that can access upsd. See `man upsd.users`. ''; type = with types; attrsOf (submodule userOptions); }; </ins> }; }; config = mkIf cfg.enable { <ins> assertions = [ (let totalPowerValue = foldl' add 0 (map (monitor: monitor.powerValue) (attrValues cfg.upsmon.monitor)); minSupplies = cfg.upsmon.settings.MINSUPPLIES; in mkIf cfg.upsmon.enable { assertion = totalPowerValue >= minSupplies; message = '' `power.ups.upsmon`: Total configured power value (${toString totalPowerValue}) must be at least MINSUPPLIES (${toString minSupplies}). ''; }) ]; </ins> environment.systemPackages = [ pkgs.nut ]; <del> systemd.services.upsmon = { </del> <ins> networking.firewall = mkIf cfg.openFirewall { allowedTCPPorts = if cfg.upsd.listen == [] then [ defaultPort ] else unique (forEach cfg.upsd.listen (listen: listen.port)); }; systemd.services.upsmon = let secrets = mapAttrsToList (name: monitor: "upsmon_password_${name}") cfg.upsmon.monitor; createUpsmonConf = installSecrets upsmonConf "/run/nut/upsmon.conf" secrets; in { enable = cfg.upsmon.enable; </ins> description = "Uninterruptible Power Supplies (Monitor)"; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; <del> serviceConfig.Type = "forking"; script = "${pkgs.nut}/sbin/upsmon"; environment.NUT_CONFPATH = "/etc/nut/"; environment.NUT_STATEPATH = "/var/lib/nut/"; </del> <ins> serviceConfig = { Type = "forking"; ExecStartPre = "${createUpsmonConf}"; ExecStart = "${pkgs.nut}/sbin/upsmon"; ExecReload = "${pkgs.nut}/sbin/upsmon -c reload"; LoadCredential = mapAttrsToList (name: monitor: "upsmon_password_${name}:${monitor.passwordFile}") cfg.upsmon.monitor; }; environment.NUT_CONFPATH = "/etc/nut"; environment.NUT_STATEPATH = "/var/lib/nut"; </ins> }; <del> systemd.services.upsd = { </del> <ins> systemd.services.upsd = let secrets = mapAttrsToList (name: user: "upsdusers_password_${name}") cfg.users; createUpsdUsers = installSecrets upsdUsers "/run/nut/upsd.users" secrets; in { enable = cfg.upsd.enable; </ins> description = "Uninterruptible Power Supplies (Daemon)"; after = [ "network.target" "upsmon.service" ]; wantedBy = [ "multi-user.target" ]; <del> serviceConfig.Type = "forking"; # TODO: replace 'root' by another username. script = "${pkgs.nut}/sbin/upsd -u root"; environment.NUT_CONFPATH = "/etc/nut/"; environment.NUT_STATEPATH = "/var/lib/nut/"; </del> <ins> serviceConfig = { Type = "forking"; ExecStartPre = "${createUpsdUsers}"; # TODO: replace 'root' by another username. ExecStart = "${pkgs.nut}/sbin/upsd -u root"; ExecReload = "${pkgs.nut}/sbin/upsd -c reload"; LoadCredential = mapAttrsToList (name: user: "upsdusers_password_${name}:${user.passwordFile}") cfg.users; }; environment.NUT_CONFPATH = "/etc/nut"; environment.NUT_STATEPATH = "/var/lib/nut"; restartTriggers = [ config.environment.etc."nut/upsd.conf".source ]; </ins> }; systemd.services.upsdrv = { <ins> enable = cfg.upsd.enable; </ins> description = "Uninterruptible Power Supplies (Register all UPS)"; after = [ "upsd.service" ]; wantedBy = [ "multi-user.target" ]; <del> # TODO: replace 'root' by another username. script = "${pkgs.nut}/bin/upsdrvctl -u root start"; </del> serviceConfig = { Type = "oneshot"; RemainAfterExit = true; <ins> # TODO: replace 'root' by another username. ExecStart = "${pkgs.nut}/bin/upsdrvctl -u root start"; </ins> }; <del> environment.NUT_CONFPATH = "/etc/nut/"; environment.NUT_STATEPATH = "/var/lib/nut/"; </del> <ins> environment.NUT_CONFPATH = "/etc/nut"; environment.NUT_STATEPATH = "/var/lib/nut"; </ins> }; environment.etc = {

Describe the bug I'm trying to use NixOS in a UPS client (not server). When , the and services shouldn't be running. There is a note that says that is not used currently. To Reproduce Steps to reproduce the behavior: Error: and fail. Expected behavior only upsmon should be running Notify maintainers <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. --Metadata Maintainer information: See also
Looks like there's a pretty simple workaround:
I marked this as stale due to inactivity. →


Question: type = with types; attrsOf (submodule upsOptions); }; <ins> users = mkOption { default = {}; description = lib.mdDoc '' Users that can access upsd. See `man upsd.users`. ''; type = with types; attrsOf (submodule userOptions); }; </ins> }; }; config = mkIf cfg.enable { <ins> assertions = [ (let totalPowerValue = foldl' add 0 (map (monitor: monitor.powerValue) (attrValues cfg.upsmon.monitor)); minSupplies = cfg.upsmon.settings.MINSUPPLIES; in mkIf cfg.upsmon.enable { assertion = totalPowerValue >= minSupplies; message = '' `power.ups.upsmon`: Total configured power value (${toString totalPowerValue}) must be at least MINSUPPLIES (${toString minSupplies}). ''; }) ]; </ins> environment.systemPackages = [ pkgs.nut ]; <del> systemd.services.upsmon = { </del> <ins> networking.firewall = mkIf cfg.openFirewall { allowedTCPPorts = if cfg.upsd.listen == [] then [ defaultPort ] else unique (forEach cfg.upsd.listen (listen: listen.port)); }; systemd.services.upsmon = let secrets = mapAttrsToList (name: monitor: "upsmon_password_${name}") cfg.upsmon.monitor; createUpsmonConf = installSecrets upsmonConf "/run/nut/upsmon.conf" secrets; in { enable = cfg.upsmon.enable; </ins> description = "Uninterruptible Power Supplies (Monitor)"; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; <del> serviceConfig.Type = "forking"; script = "${pkgs.nut}/sbin/upsmon"; environment.NUT_CONFPATH = "/etc/nut/"; environment.NUT_STATEPATH = "/var/lib/nut/"; </del> <ins> serviceConfig = { Type = "forking"; ExecStartPre = "${createUpsmonConf}"; ExecStart = "${pkgs.nut}/sbin/upsmon"; ExecReload = "${pkgs.nut}/sbin/upsmon -c reload"; LoadCredential = mapAttrsToList (name: monitor: "upsmon_password_${name}:${monitor.passwordFile}") cfg.upsmon.monitor; }; environment.NUT_CONFPATH = "/etc/nut"; environment.NUT_STATEPATH = "/var/lib/nut"; </ins> }; <del> systemd.services.upsd = { </del> <ins> systemd.services.upsd = let secrets = mapAttrsToList (name: user: "upsdusers_password_${name}") cfg.users; createUpsdUsers = installSecrets upsdUsers "/run/nut/upsd.users" secrets; in { enable = cfg.upsd.enable; </ins> description = "Uninterruptible Power Supplies (Daemon)"; after = [ "network.target" "upsmon.service" ]; wantedBy = [ "multi-user.target" ]; <del> serviceConfig.Type = "forking"; # TODO: replace 'root' by another username. script = "${pkgs.nut}/sbin/upsd -u root"; environment.NUT_CONFPATH = "/etc/nut/"; environment.NUT_STATEPATH = "/var/lib/nut/"; </del> <ins> serviceConfig = { Type = "forking"; ExecStartPre = "${createUpsdUsers}"; # TODO: replace 'root' by another username. ExecStart = "${pkgs.nut}/sbin/upsd -u root"; ExecReload = "${pkgs.nut}/sbin/upsd -c reload"; LoadCredential = mapAttrsToList (name: user: "upsdusers_password_${name}:${user.passwordFile}") cfg.users; }; environment.NUT_CONFPATH = "/etc/nut"; environment.NUT_STATEPATH = "/var/lib/nut"; restartTriggers = [ config.environment.etc."nut/upsd.conf".source ]; </ins> }; systemd.services.upsdrv = { <ins> enable = cfg.upsd.enable; </ins> description = "Uninterruptible Power Supplies (Register all UPS)"; after = [ "upsd.service" ]; wantedBy = [ "multi-user.target" ]; <del> # TODO: replace 'root' by another username. script = "${pkgs.nut}/bin/upsdrvctl -u root start"; </del> serviceConfig = { Type = "oneshot"; RemainAfterExit = true; <ins> # TODO: replace 'root' by another username. ExecStart = "${pkgs.nut}/bin/upsdrvctl -u root start"; </ins> }; <del> environment.NUT_CONFPATH = "/etc/nut/"; environment.NUT_STATEPATH = "/var/lib/nut/"; </del> <ins> environment.NUT_CONFPATH = "/etc/nut"; environment.NUT_STATEPATH = "/var/lib/nut"; </ins> }; environment.etc = {

Describe the bug The following snippet: results in services failing to start due to missing config files etc. : : ( fails too, but that could be down to the fact that I haven't plugged the UPS in yet -- but for the record, it complains ) Expected behavior I'd expect the services to start successfully (and probably complain about the missing actual UPS). Notify maintainers (The UPS module appears to have received only drive-by changes for the last several years, so no idea who to bug personally). Metadata system: host os: multi-user?: sandbox: version: channels(root): nixpkgs: Maintainer information:
OK, should've read the whole module: I'm supposed to supply the missing /etc/nut files myself because it's unwise to keep them in the store (they could contain passwords and whatnot, I guess?). Declaring (in the service definitions) the state directory to be but creating for the purpose appears to be a real bug, though :)
Also (sorry for the semi-off-topic) what are best practices for referencing hand-written config files without their contents winding up in the store? Double-symlinking? If this is documented somewhere, then I haven't found where.
I was struggling with the same problem as until I noticed this bug report. After copying and editing , , and from to (and setting on all those files), I was able to get it to work. I think this should be more discoverable. If it's not appropriate to copy those sample files to on the users behalf, there should at least be detailed instructions on the option to explain what else needs to be done.
I marked this as stale due to inactivity. →
Agreed this should be more discoverable. Perhaps at least could be defaulted to empty and written, since I seem to be getting away without anything in there. In case it helps anyone, I got it working with something like this:
I was hit this bug today, too. Maybe we can fix it by using a startup unit that handles the secrets and setup the state directories like nextcloud or syncthing do
Been working on today and wanted to put some notes here. Using version 2.7.4. First, isn't used by for PIDs and it will try to write to .


Question: type = with types; attrsOf (submodule upsOptions); }; <ins> users = mkOption { default = {}; description = lib.mdDoc '' Users that can access upsd. See `man upsd.users`. ''; type = with types; attrsOf (submodule userOptions); }; </ins> }; }; config = mkIf cfg.enable { <ins> assertions = [ (let totalPowerValue = foldl' add 0 (map (monitor: monitor.powerValue) (attrValues cfg.upsmon.monitor)); minSupplies = cfg.upsmon.settings.MINSUPPLIES; in mkIf cfg.upsmon.enable { assertion = totalPowerValue >= minSupplies; message = '' `power.ups.upsmon`: Total configured power value (${toString totalPowerValue}) must be at least MINSUPPLIES (${toString minSupplies}). ''; }) ]; </ins> environment.systemPackages = [ pkgs.nut ]; <del> systemd.services.upsmon = { </del> <ins> networking.firewall = mkIf cfg.openFirewall { allowedTCPPorts = if cfg.upsd.listen == [] then [ defaultPort ] else unique (forEach cfg.upsd.listen (listen: listen.port)); }; systemd.services.upsmon = let secrets = mapAttrsToList (name: monitor: "upsmon_password_${name}") cfg.upsmon.monitor; createUpsmonConf = installSecrets upsmonConf "/run/nut/upsmon.conf" secrets; in { enable = cfg.upsmon.enable; </ins> description = "Uninterruptible Power Supplies (Monitor)"; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; <del> serviceConfig.Type = "forking"; script = "${pkgs.nut}/sbin/upsmon"; environment.NUT_CONFPATH = "/etc/nut/"; environment.NUT_STATEPATH = "/var/lib/nut/"; </del> <ins> serviceConfig = { Type = "forking"; ExecStartPre = "${createUpsmonConf}"; ExecStart = "${pkgs.nut}/sbin/upsmon"; ExecReload = "${pkgs.nut}/sbin/upsmon -c reload"; LoadCredential = mapAttrsToList (name: monitor: "upsmon_password_${name}:${monitor.passwordFile}") cfg.upsmon.monitor; }; environment.NUT_CONFPATH = "/etc/nut"; environment.NUT_STATEPATH = "/var/lib/nut"; </ins> }; <del> systemd.services.upsd = { </del> <ins> systemd.services.upsd = let secrets = mapAttrsToList (name: user: "upsdusers_password_${name}") cfg.users; createUpsdUsers = installSecrets upsdUsers "/run/nut/upsd.users" secrets; in { enable = cfg.upsd.enable; </ins> description = "Uninterruptible Power Supplies (Daemon)"; after = [ "network.target" "upsmon.service" ]; wantedBy = [ "multi-user.target" ]; <del> serviceConfig.Type = "forking"; # TODO: replace 'root' by another username. script = "${pkgs.nut}/sbin/upsd -u root"; environment.NUT_CONFPATH = "/etc/nut/"; environment.NUT_STATEPATH = "/var/lib/nut/"; </del> <ins> serviceConfig = { Type = "forking"; ExecStartPre = "${createUpsdUsers}"; # TODO: replace 'root' by another username. ExecStart = "${pkgs.nut}/sbin/upsd -u root"; ExecReload = "${pkgs.nut}/sbin/upsd -c reload"; LoadCredential = mapAttrsToList (name: user: "upsdusers_password_${name}:${user.passwordFile}") cfg.users; }; environment.NUT_CONFPATH = "/etc/nut"; environment.NUT_STATEPATH = "/var/lib/nut"; restartTriggers = [ config.environment.etc."nut/upsd.conf".source ]; </ins> }; systemd.services.upsdrv = { <ins> enable = cfg.upsd.enable; </ins> description = "Uninterruptible Power Supplies (Register all UPS)"; after = [ "upsd.service" ]; wantedBy = [ "multi-user.target" ]; <del> # TODO: replace 'root' by another username. script = "${pkgs.nut}/bin/upsdrvctl -u root start"; </del> serviceConfig = { Type = "oneshot"; RemainAfterExit = true; <ins> # TODO: replace 'root' by another username. ExecStart = "${pkgs.nut}/bin/upsdrvctl -u root start"; </ins> }; <del> environment.NUT_CONFPATH = "/etc/nut/"; environment.NUT_STATEPATH = "/var/lib/nut/"; </del> <ins> environment.NUT_CONFPATH = "/etc/nut"; environment.NUT_STATEPATH = "/var/lib/nut"; </ins> }; environment.etc = {

flags , , may be needed instead of environment variables until a 2.7.5 release. Ref: Using for debug makes it non-forking, requiring a change to the systemd unit . I was able to get to run as non-root: I'm still working on understanding how to manage state directories in NixOS but this was needed:
I set out to get my UPS (cyberpower CP1500 AVR UPS) working with NixOS today. This was the first issue I came across, I figured this was the best place to share my configuration. I probably made this more complex than it needed to be because I have no idea what I am doing, and it is definitely not secure; one problem at a time.
Not stale; still relevant
Thanks for providing your standalone config! I learned a ton tweaking it into a netserver config! The below config creates a working NUT netserver that other machines on your local network can be connected to. The only thing I have yet to figure out is a secure way to include passwords in .nix files that won't show up if I push my local copy to github. Any ideas? If you want to tweak when NUT shuts down your computers you can modify the values of " = <percentage" and " = <seconds" under "directives". SHUTDOWNCMD will be triggered when both conditions are met. The "ignorelb" directive is necessary to have NUT ignore the UPS's defaults. Anyone using this config may want to make sure SHUTDOWNCMD and NOTIFYCMD point to the correct binaries in their filesystem. One other thing of note is to check the value of the "schedulerRules" field under below. You must give it the path to your file. I just put a copy of it inside my /etc/nixos. Could probably add another variable to hold the path for convenience. `
For secrets in nix config, I think the current recommendation is to put it in a separate file and not include it in the repo. See also
I have been using sops-nix to commit encrypted passwords to my NixOS repo, but I have yet to put in the elbow grease to make this work with my upsmon password.
is my attempt at making generate the config files necessary for basic operation. If you are using , could you try out the changes and leave a review?


Question: ] ++ optionals stdenv.isLinux [ "QEMU_BRIDGE_HELPER=/run/wrappers/bin/qemu-bridge-helper" "QEMU_PR_HELPER=/run/libvirt/nix-helpers/qemu-pr-helper" <ins> "EBTABLES_PATH=${ebtables}/bin/ebtables-legacy" </ins> "--with-attr" "--with-apparmor" "--with-secdriver-apparmor"

Using the latest packages from the unstable channel I am unable to enable the default virsh network. The error indicates an issue with the firewall backend, but I disabled the firewall systemwide through: = false; What am I missing here? system: host os: multi-user?: sandbox: version: channels(root): channels(tim): nixpkgs:
Have you looked into libvirtd logs for a better characterization of the issue ?
Yes but I could not find anything meaninful, but I'll continue trying to find something
I'm seeing this the 2019-12-19 04:34:37.251+0000: 4078: error : virFileReadAll:1431 : Failed to open file '/sys/class/net/virbr0-nic/operstate': No such file or directory 2019-12-19 04:34:37.251+0000: 4078: error : virNetDevGetLinkInfo:2460 : unable to read: /sys/class/net/virbr0-nic/operstate: No such file or directory Also, I noticed that ebtables was updated recently.
I'm facing the same issue. I have the nixos firewall enabled, and it complains it can't find ebtables. If I install it separately that error goes away but I still see the errors posted by above
I confirmed that reverting ebtables to 2.0.10-4 fixes this. Not sure what the next step is.
Idea: set EBTABLES_PATH=/sbin/ebtables-legacy in libvirt config.
When bumped from 2.0.10-4 to 2.0.11, the binary was renamed to , so the configure script fails to find it at build time.
Impure workaround for the desperate: add the package to , and symlink to . (I also tried from the package, which does not seem to work.)
Another workaround for less desperate: in your overlay.
I verified that providing an to the right binary in the derivation allows my VMs to work again. I tested in a overlay I maintain, from which a minimal (untested) extract to work around the issue until someone has time to come up with a more correct patch to submit upstream is:
I've confirmed that the overlay in works.
I also have the issue.


Question: ] ++ optionals stdenv.isLinux [ "QEMU_BRIDGE_HELPER=/run/wrappers/bin/qemu-bridge-helper" "QEMU_PR_HELPER=/run/libvirt/nix-helpers/qemu-pr-helper" <ins> "EBTABLES_PATH=${ebtables}/bin/ebtables-legacy" </ins> "--with-attr" "--with-apparmor" "--with-secdriver-apparmor"

This is actually a major issue, if libvirt does not work anymore.
Had the same issue with unstable. The overlay above fixed it. Do we just need a PR to staging-next that adds that environment variable to the build? I'll submit that PR if that is all that is necessary -- didn't see any submitted yet.


Question: , libXt, qt, readline , useSCEL ? false, emacs }: <del> let optional = stdenv.lib.optional; in stdenv.mkDerivation rec { </del> <ins> let optional = stdenv.lib.optional; ljack2 = libjack2.override { gcc = gcc; }; in stdenv.mkDerivation rec { </ins> name = "supercollider-3.6.6"; meta = {

nix-shell -p supercollider [anders $ nixos-version (Flounder) [anders $ nix-env --version nix-env (Nix) 1.11.2 [anders $ nix-instantiate --eval '<nixpkgs' -A lib.nixpkgsVersion ""
you use supercollider ?
no, sorry.
Same here:


Question: mkdir $out/share/applications cp share/applnk/player/xdg/*.desktop $out/share/applications/ <del> cp share/applnk/client/xdg-mime/*.desktop $out/share/applications/ </del> <ins> cp share/applnk/runner/xdg-mime/*.desktop $out/share/applications/ </ins> mkdir -p $out/share/mime/packages <del> cp share/applnk/client/xdg-mime/*.xml $out/share/mime/packages/ </del> <ins> cp share/applnk/runner/xdg-mime/*.xml $out/share/mime/packages/ </ins> for i in $out/share/applications/*.desktop; do substituteInPlace "$i" --replace /usr/NX/bin $out/bin

Steps to reproduce the behavior: nomachine-client Seems like nomachine changed their tar file. <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. -- Please run and paste the result. Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
It seems that NoMachine has removed the from their website and the link is now a redirect to the homepage. The new latest version is .
? this url works


Question: , miniupnpc , zeromq , zlib <del> , db48 </del> , sqlite , qrencode , qtbase ? null

fails while compiling The same thing happens with Steps to reproduce the behavior: or: is successfully installed. Here is the output:
Fix in
Thanks On the same system that I encountered the error on, I checkout out the branch with your fix and then ran: The installation worked and is runnable. I'll be doing more testing later today/tomorrow.


Question: mkDerivation rec { pname = "mythtv"; <del> version = "32.0"; </del> <ins> version = "34.0"; </ins> src = fetchFromGitHub { owner = "MythTV"; repo = "mythtv"; rev = "v${version}"; <del> sha256 = "0i4fs3rbk1jggh62wflpa2l03na9i1ihpz2vsdic9vfahqqjxff1"; </del> <ins> hash = "sha256-6/TEoyYIRq6pufYzGOmO5DB05JuDo9lqRAYT5N5M/L4="; </ins> }; patches = [ # Disable sourcing /etc/os-release ./dont-source-os-release.patch <del> # Fix QMake variable substitution syntax - MythTV/mythtv#550 (fetchpatch { name = "fix-qmake-var-syntax.patch"; url = "https://github.com/MythTV/mythtv/commit/a8da7f7e7ec069164adbef65a8104adc9bb52e36.patch"; stripLen = 1; hash = "sha256-JfRME00YNNjl6SKs1HBa0wBa/lR/Rt3zbQtWhsC36JM="; }) # Bachport the build against binutils-2.41 (fetchpatch { name = "binutils-2.41.patch"; url = "https://github.com/MythTV/mythtv/commit/f9f9bba62ee2743c816cb2b9634b6b4397e5e2e3.patch"; stripLen = 1; hash = "sha256-IcXgBtfqPZ42inYFe7l8mWvKUV13S/YEQAHcOFaDivI="; }) </del> ]; setSourceRoot = "sourceRoot=$(echo */mythtv)";

Package name: mythtv Latest released version: 34.0 Current version on the unstable channel: 32.0 Current version on the stable/release channel: 32.0 Notify maintainers Announcement: Changelog: Note for maintainers: Please tag this issue in your PR. Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:


Question: <ins> { lib , rustPlatform , fetchFromGitHub , pkg-config , openssl , sqlite , stdenv , darwin , mpv , youtube-dl , makeBinaryWrapper }: rustPlatform.buildRustPackage rec { pname = "ytui-music"; version = "2.0.0-rc1"; src = fetchFromGitHub { owner = "sudipghimire533"; repo = "ytui-music"; rev = "v${version}"; hash = "sha256-f/23PVk4bpUCvcQ25iNI/UVXqiPBzPKWq6OohVF41p8="; }; cargoHash = "sha256-766Wev2/R/9LLlWWxOPl6y4CBRUU4hUrTDlVVuoJ8C8="; checkFlags = [ "--skip=tests::display_config_path" "--skip=tests::inspect_server_list" ]; nativeBuildInputs = [ pkg-config makeBinaryWrapper ]; buildInputs = [ openssl sqlite mpv ] ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.CoreFoundation darwin.apple_sdk.frameworks.Security ]; postInstall = '' wrapProgram $out/bin/ytui_music  --prefix PATH : ${lib.makeBinPath [ youtube-dl ]} ''; doInstallCheck = true; installCheckPhase = '' runHook preInstallCheck $out/bin/ytui_music help runHook postInstallCheck ''; meta = with lib; { description = "Youtube client in terminal for music"; homepage = "https://github.com/sudipghimire533/ytui-music"; license = licenses.gpl2Only; maintainers = with maintainers; [ kashw2 ]; mainProgram = "ytui_music"; }; } </ins>

Project description Youtube client in terminal for music ( lightweight youtube client ) Metadata homepage URL: source URL: license: gpl2 platforms: unix, linux, darwin


Question: , libarchive , libcpuid , libsodium <ins> , libxml2 , libxslt </ins> , lowdown , mdbook , mdbook-linkcheck

Package name: nix23 Latest released version: 2.3.17 (see ) Current version on the unstable channel: 2.3.16 Current version on the stable/release channel: 2.3.16 Notify maintainers Note for maintainers: Please tag this issue in your PR. See for context. The release script apparently doesn't upload source tarballs anymore, so 2.3.17 sources look more like the other ones. There's a bunch of expressions in that might need to be revisited.


Question: (fetchNuGet { pname = "Swashbuckle.AspNetCore.SwaggerUI"; version = "6.5.0"; sha256 = "17hx7kc187higm0gk67dndng3n7932sn3fwyj48l45cvyr3025h7"; }) (fetchNuGet { pname = "System.Collections.Immutable"; version = "1.7.1"; sha256 = "1nh4nlxfc7lbnbl86wwk1a3jwl6myz5j6hvgh5sp4krim9901hsq"; }) (fetchNuGet { pname = "System.Collections.Immutable"; version = "7.0.0"; sha256 = "1n9122cy6v3qhsisc9lzwa1m1j62b8pi2678nsmnlyvfpk0zdagm"; }) <del> (fetchNuGet { pname = "System.Composition"; version = "7.0.0"; sha256 = "1aii681g7a4gv8fvgd6hbnbbwi6lpzfcnl3k0k8hqx4m7fxp2f32"; }) (fetchNuGet { pname = "System.Composition.AttributedModel"; version = "7.0.0"; sha256 = "1cxrp0sk5b2gihhkn503iz8fa99k860js2qyzjpsw9rn547pdkny"; }) (fetchNuGet { pname = "System.Composition.Convention"; version = "7.0.0"; sha256 = "1nbyn42xys0kv247jf45r748av6fp8kp27f1582lfhnj2n8290rp"; }) (fetchNuGet { pname = "System.Composition.Hosting"; version = "7.0.0"; sha256 = "0wqbjxgggskfn45ilvg86grqci3zx9xj34r5sradca4mqqc90n7f"; }) (fetchNuGet { pname = "System.Composition.Runtime"; version = "7.0.0"; sha256 = "1p9xpqzx42s8cdizv6nh15hcjvl2km0rwby66nfkj4cb472l339s"; }) (fetchNuGet { pname = "System.Composition.TypedParts"; version = "7.0.0"; sha256 = "0syz7y6wgnxxgjvfqgymn9mnaa5fjy1qp06qnsvh3agr9mvcv779"; }) (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "6.0.0"; sha256 = "0rrihs9lnb1h6x4h0hn6kgfnh58qq7hx8qq99gh6fayx4dcnx3s5"; }) </del> <ins> (fetchNuGet { pname = "System.Composition"; version = "8.0.0"; sha256 = "0y7rp5qwwvh430nr0r15zljw01gny8yvr0gg6w5cmsk3q7q7a3dc"; }) (fetchNuGet { pname = "System.Composition.AttributedModel"; version = "8.0.0"; sha256 = "16j61piz1jf8hbh14i1i4m2r9vw79gdqhjr4f4i588h52249fxlz"; }) (fetchNuGet { pname = "System.Composition.Convention"; version = "8.0.0"; sha256 = "10fwp7692a6yyw1p8b923k061zh95a6xs3vzfdmdv5pmf41cxlb7"; }) (fetchNuGet { pname = "System.Composition.Hosting"; version = "8.0.0"; sha256 = "1gbfimhxx6v6073pblv4rl5shz3kgx8lvfif5db26ak8pl5qj4kb"; }) (fetchNuGet { pname = "System.Composition.Runtime"; version = "8.0.0"; sha256 = "0snljpgfmg0wlkwilkvn9qjjghq1pjdfgdpnwhvl2qw6vzdij703"; }) (fetchNuGet { pname = "System.Composition.TypedParts"; version = "8.0.0"; sha256 = "0skwla26d8clfz3alr8m42qbzsrbi7dhg74z6ha832b6730mm4pr"; }) </ins> (fetchNuGet { pname = "System.IdentityModel.Tokens.Jwt"; version = "7.0.3"; sha256 = "1fls88ffq34j1gr6zay1crm27v3sjs5fa4mvj9akqjq05bxanlhk"; }) (fetchNuGet { pname = "System.Linq.Async"; version = "6.0.1"; sha256 = "10ira8hmv0i54yp9ggrrdm1c06j538sijfjpn1kmnh9j2xk5yzmq"; }) (fetchNuGet { pname = "System.Reflection.Metadata"; version = "1.6.0"; sha256 = "1wdbavrrkajy7qbdblpbpbalbdl48q3h34cchz24gvdgyrlf15r4"; }) <del> (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "6.0.0"; sha256 = "0qm741kh4rh57wky16sq4m0v05fxmkjjr87krycf5vp9f0zbahbc"; }) </del> (fetchNuGet { pname = "System.Security.AccessControl"; version = "5.0.0"; sha256 = "17n3lrrl6vahkqmhlpn3w20afgz09n7i6rv0r3qypngwi7wqdr5r"; }) <del> (fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "7.0.1"; sha256 = "1nq9ngkqha70rv41692c79zq09cx6m85wkp3xj9yc31s62afyl5i"; }) </del> <ins> (fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "8.0.0"; sha256 = "1ysjx3b5ips41s32zacf4vs7ig41906mxrsbmykdzi0hvdmjkgbx"; }) </ins> (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "5.0.0"; sha256 = "1mpk7xj76lxgz97a5yg93wi8lj0l8p157a5d50mmjy3gbz1904q8"; }) (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "7.0.0"; sha256 = "0sn6hxdjm7bw3xgsmg041ccchsa4sp02aa27cislw3x61dbr68kq"; }) (fetchNuGet { pname = "zxcvbn-core"; version = "7.0.92"; sha256 = "1pbi0n3za8zsnkbvq19njy4h4hy12a6rv4rknf4a2m1kdhxb3cgx"; })

Looks like it now uses .NET 8 which probably made all existing plugins incompatible - Package name: ArchiSteamFarm Latest released version: 5.5.0.11 <!-- Search your package here: --- Current version on the unstable channel: 5.4.13.4 Current version on the stable/release channel: 5.4.12.5 <!-- Type the name of your package and try to find an open pull request for the package If you find an open pull request, you can review it! There's a high chance that you'll have the new version right away while helping the community! --- Notify maintainers <!-- If the result shows no maintainers, tag the person that last updated the package. --Note for maintainers: Please tag this issue in your PR. Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
The package/module has no official way to use plugins, so there is no way to use them unless people are using overlays which should be constructed in a smart way to re-use the same methods as archisteamfarm does. Anyway, here is the update


Question: owner = "linuxmint"; repo = pname; rev = version; <del> sha256 = "sha256-Xn9CgGe7j2APaJRLvx58z2w+sN7ZeDScQz53ZBBnsQs="; </del> <ins> sha256 = "sha256-f3rO0lpOcwpSpIpKrslf6/6nqFbbGTwnKbHpWO+Uf+Q="; </ins> }; outputs = [ "out" "dev" ];

I am new to nixos... When I try to use printScr Key on keyboard. it not responding. non of the printScreen optins working.. Steps to reproduce the behavior: ... press Key PrintScr ... ... Should take a screen shot ask for location to save to. If applicable, add screenshots to help explain your problem. Add any other context about the problem here. <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. --Please run and paste the result.
I am not too sure but according to the , cinnamon does not have a "native" screenshot tool but gnome-screenshot could be used. I am not too sure if enabling cinnamon auto includes gnome-screenshot. If it doesn't you can just add it and see if it solves your problem.


Question: owner = "linuxmint"; repo = pname; rev = version; <del> sha256 = "sha256-Xn9CgGe7j2APaJRLvx58z2w+sN7ZeDScQz53ZBBnsQs="; </del> <ins> sha256 = "sha256-f3rO0lpOcwpSpIpKrslf6/6nqFbbGTwnKbHpWO+Uf+Q="; </ins> }; outputs = [ "out" "dev" ];

I have user-installed Cinnamon applets, desklets, extensions, themes, which have been installed in the home folder by a different OS (as far as i remember). Many of them work under NixOS (some do not: ). However, i cannot update them. When i try, i get the message: The same happens if i try to install a new applet. Steps to reproduce the behavior: up Cinnamon desktop on NixOS and log in. to install an applet. Should be able to install and update user-installed applets, desklets, extensions, themes. ! I am just beginning to switch over to Cinnamon from GNOME 3 (having been fed up with GNOME, especially under NixOS).
Installing [][gettext] that provided solved the issue. Shouldn't be a dependency of Cinnamon desktop then? [gettext]:


Question: sha256 = "02s775m1531sshwlbvfddk3pz8zjmwkv1sgzggn386ja3gc9vwi2"; }; <del> buildInputs = [ pulseaudio gtkmm3 libcanberra_gtk3 ]; </del> <ins> preFixup = '' wrapProgram "$out/bin/pavucontrol"  --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS" ''; buildInputs = [ pulseaudio gtkmm3 libcanberra_gtk3 makeWrapper gnome3.gnome_icon_theme ]; </ins> nativeBuildInputs = [ pkgconfig intltool ];

Here is result of — I'll try to do something about it when I have time but it'll most likely be next year, so please go ahead and fix it if you have time for minor issues.
Screenshot?
pavucontrol has no binary wrapper, thus icons won't show unless relevant icon themes are installed in the system.
Fixed in master.


Question: /* Returns the current nixpkgs release number as string. */ release = lib.strings.fileContents ../.version; <ins> /* The latest release that is supported, at the time of release branch-off, if applicable. Ideally, out-of-tree modules should be able to evaluate cleanly with all supported Nixpkgs versions (master, release and old release until EOL). So if possible, deprecation warnings should take effect only when all out-of-tree expressions/libs/modules can upgrade to the new way without losing support for supported Nixpkgs versions. This release number allows deprecation warnings to be implemented such that they take effect as soon as the oldest release reaches end of life. */ oldestSupportedRelease = # Update on master only. Do not backport. 2111; /* Whether a feature is supported in all supported releases (at the time of release branch-off, if applicable). See `oldestSupportedRelease`. */ isInOldestRelease = /* Release number of feature introduction as an integer, e.g. 2111 for 21.11. Set it to the upcoming release, matching the nixpkgs/.version file. */ release: release <= lib.trivial.oldestSupportedRelease; </ins> /* Returns the current nixpkgs release code name. On each release the first letter is bumped and a new animal is chosen

The current process for renames puts out-of-tree modules in a situation where users are confronted with warnings they can't solve, and neither can the maintainers. Steps to reproduce the behavior: one change, create the new option/package/..., create the alias with a deprecation warning that goes into effect immediately -of-tree modules, such as home-manager, nix-darwin, start emitting warnings reports warning -of-tree module maintainer can't do anything, because stable release does not have the new option All generated warnings can be resolved by the user. Suggested process: one change, create the new option/package/... and the alias but no deprecation warning 1-7 months pass. All current branches now support the new way. enable the warning on master (more on that) -of-tree modules, such as home-manager, nix-darwin, start emitting warnings warnings can now be fixed To facilitate the process, we can add an argument to functions like to indicate the first release that will support the change. We'll maintain two (hidden?) version numbers that we update during the NixOS release process. For example, at the time of writing, the only supported stable version is 21.11 and 22.05 has not been released yet. To enable warnings on , we only need to update . Interestingly, we'll be deprecating functions that deprecate without . Sounds meta, but it's not complicated. It just means that some old style deprecations will slip through the net for some more time. (also a big one, but no complaints yet)
This is also related to NixOS/rfcs, which was a previous attempt at establishing general such deprecation behaviors


Question: config = mkIf cfg.enable { services.geoclue2.enable = true; <del> # so polkit will pick up the rules environment.systemPackages = [ pkgs.localtime ]; users.users = [{ name = "localtimed"; description = "Taskserver user"; }]; </del> <ins> # We use the 'out' output, since localtime has its 'bin' output # first, so that is what we get if we use the derivation bare. # Install the polkit rules. environment.systemPackages = [ pkgs.localtime.out ]; # Install the systemd unit. systemd.packages = [ pkgs.localtime.out ]; </ins> systemd.services.localtime = { <del> description = "localtime service"; </del> wantedBy = [ "multi-user.target" ]; <del> partOf = [ "geoclue.service "]; serviceConfig = { Restart                 = "on-failure"; # TODO: make it work with dbus #DynamicUser             = true; Nice                    = 10; User                    = "localtimed"; PrivateTmp              = "yes"; PrivateDevices          = true; PrivateNetwork          = "yes"; NoNewPrivileges         = "yes"; ProtectSystem           = "strict"; ProtectHome             = true; ExecStart               = "${pkgs.localtime}/bin/localtimed"; }; </del> <ins> serviceConfig.Restart = "on-failure"; </ins> }; }; }

I've just set on my laptop while on holiday. The timezone never updates (tried restarting, waiting a while). Running I see: I see in that the service is run as the user. If I run: I also see the message . Whereas if I run there is no output and the timezone immediately updates (as shown by an immediate change in the time in my status bar, and confirmed by running ). It seems that the user just doesn't have permission to set the timezone. in (and unset ) to see if timezone changes , look for messages with "Failed to set timezone" (will only appear if the timezone it would need to set is different than the current timezone) system: host os: multi-user?: sandbox: version: channels(root): nixpkgs:
It worked for me after a reboot. Maybe the polkit rules are not getting appliead during a ?


Question: <literal>freetype</literal> and others. </para> </listitem> <ins> <listitem> <para> .NET 5.0 was removed due to being end-of-life, use a newer, supported .NET version - https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core </para> </listitem> </ins> </itemizedlist> </section> <section xml:id="sec-release-23.05-notable-changes">

Since May 10, .NET 5.0 is EOL (End Of Life), and should not be used. Should it be marked as EOF similar to dotnet 2.2 and 3.0? See All packages using dotnet 5.0 should be updated to use a newer, supported version. These packages still need updating: [x] - [x] - [x] - [x] pkgs/development/tools/build- - [x] -
There is at least one package, which currently uses dotnet 5 sdk - . So we will need to update it beforehand. Btw, I'm not sure if we have any policy regarding packages removal, for nixpkgs in general or specifically for it's dotnet part. , what do you think?
The package is also using .NET 5: . But this is because I made the PR upstream updating it from .NET 4 to 5. I suspect that the transition to 6 will be similarly easy.
I think we should just mark it as depricated, as many projects do still use it upstream. Dotnet version 3 is also still commonly used, so I dont expect it would be realistic to remove version 5 any time soon. also uses dotnet 5 by default, I'll go ahead and switch that over now. See . That doesnt mark dotnet 5 as deprecated or change anything from a SDK perspective, just some preperation work.
See as well, it adds a warning whenever dotnet version 5 is used. Not using a throw for now since a few packages depend on it and I dont have the time to clean that all up at the moment.
Can you provide a list of packages that need updating?
Based on a quick grep: pkgs/development/tools/build-
I believe that after all the above PRs are merged, we should be able to safely remove .NET 5 from nixpkgs :)


Question: --replace "= gcc" "=${stdenv.cc.targetPrefix}cc"  --replace "= g++" "=${stdenv.cc.targetPrefix}c++"  --replace "-DGNU_RUNTIME=1" ""  <del> --replace "-fgnu-runtime" "-fobjc-nonfragile-abi" </del> <ins> --replace "-fgnu-runtime" "-fobjc-runtime=gnustep-2.0" </ins> done # we need to build inside this directory as well, so we have to make it writeable

Steps to reproduce the behavior: unar from Full build: <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. -- Please run and paste the result.
This could be related to GNUstep being updated??
Yes, that PR is the cause.
Ouch, sorry. Could've sworn I ran nixpkgs-review against it, but maybe I didn't. I'll try to see what I can do, although maybe only next week. We can also revert, if I can't find the time or nobody else comes up with a fix.
For the status on Hydra:


Question: githubId = 15693688; name = "Lucas Eduardo Wendt"; }; <ins> lucastso10 = { email = "lucastso10@gmail.com"; github = "lucastso10"; githubId = 84486266; name = "Lucas Teixeira Soares"; }; </ins> lucc = { email = "lucc+nix@posteo.de"; github = "lucc";

Project description Granian is a Rust HTTP server for Python ASGI/WSGI/RSGI applications. It fulfills a similar purpose as daphne, gunicorn, uvicorn or uwsgi, but . Metadata homepage URL: source URL: license: bsd3 platforms: unix Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:


Question: machine.succeed( """ find /boot -iname '*.efi' -print0 |  <del> xargs -0 -I '{}' sed -i 's/#### LoaderInfo: systemd-boot .* ####/#### LoaderInfo: systemd-boot 001 ####/' '{}' </del> <ins> xargs -0 -I '{}' sed -i 's/#### LoaderInfo: systemd-boot .* ####/#### LoaderInfo: systemd-boot 000.0-1-notnixos ####/' '{}' </ins> """ ) output = machine.succeed("/run/current-system/bin/switch-to-configuration boot") <del> assert "updating systemd-boot from 001 to " in output </del> <ins> assert "updating systemd-boot from (000.0-1-notnixos) to " in output </ins> ''; }; }

shows this for me: When I try to upgrade my system, I get the error “could not find any previously installed systemd-boot”. This is because the script can't deal with systemd-boot versions with a minor version appended to it, since the regex is : Fixing this is not quite straightforward sadly, since the version is later used for comparison, so fixing this requires adding support for proper major/minor version comparison in this script. <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. --??? Please run and paste the result. Maintainer information:
related


Question: let <del> execFormatIsELF = platform: platform.parsed.kernel.execFormat.name == "elf"; </del> <ins> withGold = platform: platform.parsed.kernel.execFormat.name == "elf" && !platform.isRiscV; </ins> in { stdenv

Despite the bintools for riscv64-linux advertises the existence of , it is actually missing. Steps to reproduce the behavior: , returns the output, there is only , no the same process for , is both advertised and available. Either evaluates to , or is available in <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. --
Looking at ;a=blob;;h=;hb=HEAD is not supported on riscv64. tracks it upstream. I don't expect progress implementing the support any time soon.
Then we should accept the second solution: mark as false, we should also double check the availability of gold on other ELF platforms.


Question: <ins> { lib, buildPythonPackage, fetchFromGitHub, poetry-core, pytestCheckHook, }: buildPythonPackage { pname = "bpylist2"; version = "4.1.1"; pyproject = true; src = fetchFromGitHub { owner = "parabolala"; repo = "bpylist2"; rev = "ddb89e0b0301c6b298de6469221d99b5fe127b58"; hash = "sha256-OBwDQZL5++LZgpQM96tmplAh1Pjme3KGSNFTKqKUn00="; }; build-system = [ poetry-core ]; pythonImportsCheck = [ "bpylist2" ]; nativeCheckInputs = [ pytestCheckHook ]; postPatch = '' substituteInPlace setup.cfg  --replace-fail "--pycodestyle" ""  --replace-fail "--pylint --pylint-rcfile=pylint.rc" ""  --replace-fail "--mypy" "" ''; meta = { description = "Parse and Generate binary plists and NSKeyedArchiver archives"; license = lib.licenses.mit; homepage = "https://github.com/parabolala/bpylist2"; maintainers = with lib.maintainers; [ sigmanificient ]; }; } </ins>

Project description Python app to work with pictures and associated metadata from Apple Photos on macOS. Also includes a package to provide programmatic access to the Photos library, pictures, and metadata. Metadata homepage URL: source URL: license: mit platforms: unix, linux, darwin Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
This was the most complex package i ever tried to write :sweat_smile:


Question: stdenv.mkDerivation rec { pname = "invoiceplane"; <del> version = "1.5.11"; </del> <ins> version = "1.6-beta-1"; </ins> src = fetchurl { url = "https://github.com/InvoicePlane/InvoicePlane/releases/download/v${version}/v${version}.zip"; <del> sha256 = "137g0xps4kb3j7f5gz84ql18iggbya6d9dnrfp05g2qcbbp8kqad"; </del> <ins> sha256 = "sha256-hIbk9zzqbwv2kSFClgPfTObB1YHj7KR4swKjGoN2v2E="; </ins> }; <del> patches = [ # Fix CVE-2021-29024, unauthenticated directory listing # Should be included in a later release > 1.5.11 # https://github.com/NixOS/nixpkgs/issues/166655 # https://github.com/InvoicePlane/InvoicePlane/pull/754 (fetchpatch { url = "https://patch-diff.githubusercontent.com/raw/InvoicePlane/InvoicePlane/pull/754.patch"; sha256 = "sha256-EHXw7Zqli/nA3tPIrhxpt8ueXvDtshz0XRzZT78sdQk="; }) # Fix CVE-2021-29023, password reset rate-limiting # Should be included in a later release > 1.5.11 # https://github.com/NixOS/nixpkgs/issues/166655 # https://github.com/InvoicePlane/InvoicePlane/pull/739 (fetchpatch { url = "https://patch-diff.githubusercontent.com/raw/InvoicePlane/InvoicePlane/pull/739.patch"; sha256 = "sha256-6ksJjW6awr3lZsDRxa22pCcRGBVBYyV8+TbhOp6HBq0="; }) # Fix CVE-2021-29022, full path disclosure # Should be included in a later release > 1.5.11 # https://github.com/NixOS/nixpkgs/issues/166655 # https://github.com/InvoicePlane/InvoicePlane/pull/767 #(fetchpatch { #  url = "https://patch-diff.githubusercontent.com/raw/InvoicePlane/InvoicePlane/pull/767.patch"; #  sha256 = "sha256-rSWDH8KeHSRWLyQEa7RSwv+8+ja9etTz+6Q9XThuwUo="; #}) ]; </del> nativeBuildInputs = [ unzip ]; sourceRoot = "."; installPhase = '' mkdir -p $out/ <del> cp -r . $out/ </del> <ins> cp -r ip/. $out/ </ins> ''; passthru.tests = {

, CVSSv3=7.5 (nixos-unstable) CVSSv3=5.3 (nixos-unstable) CVSSv3=5.3 (nixos-unstable) In InvoicePlane 1.5.11 a misconfigured web server allows unauthenticated directory listing and file download. Allowing an attacker to directory traversal and download files suppose to be private without authentication. In InvoicePlane 1.5.11, the upload feature discloses the full path of the file upload directory. InvoicePlane 1.5.11 doesn't have any rate-limiting for password reset and the reset token is generated using a weak mechanism that is predictable. Scanned versions: nixos-unstable: . Cc


Question: preInstall = '' substituteInPlace src/cmake_install.cmake  --replace ${fcitx} $out <del> substituteInPlace po/cmake_install.cmake  --replace ${fcitx} $out </del> substituteInPlace data/cmake_install.cmake  --replace ${fcitx} $out substituteInPlace dictmanager/cmake_install.cmake

Describe the bug fcitx-qt5 fails to build on unstable: To Reproduce Metadata nixos unstable
It's trying to install into qtbase . Probably should set this to be within the proper prefix.
yep I've seen that as well. Seems like some packages set to work around this but haven't had the time to test it yet. EDIT: that fixed the first problem but not the second one:
will fix this.
This is still an issue on stable -- Installing: /nix/store/phkl5sfpn4jvncjd2sa29g182gpmmja7-fcitx-qt5-1.2.3/share/locale/zhCN/LCMESSAGES/fcitx- -- Installing: /nix/store/phkl5sfpn4jvncjd2sa29g182gpmmja7-fcitx-qt5-1.2.3/share/locale/zhTW/LCMESSAGES/fcitx- -- Installing: /nix/store/g83143pyn6sc1x1nqqjcamap4c2b1rbw-qtbase-5.12.0-bin/lib/qt- CMake Error at (file): file INSTALL cannot copy file "" to "/nix/store/g83143pyn6sc1x1nqqjcamap4c2b1rbw-qtbase-5.12.0-bin/lib/qt-".


Question: preInstall = '' substituteInPlace src/cmake_install.cmake  --replace ${fcitx} $out <del> substituteInPlace po/cmake_install.cmake  --replace ${fcitx} $out </del> substituteInPlace data/cmake_install.cmake  --replace ${fcitx} $out substituteInPlace dictmanager/cmake_install.cmake

Call Stack (most recent call first): (include) make: * [Makefile:106: install] Error 1 builder for '/nix/store/ypfmrmajq452nmskg0ffwa27hm58l492-fcitx-qt5-' failed with exit code 2 cannot build derivation '/nix/store/hdsvn6hc7h7wf29kdnpvr7iaivplyyb8-fcitx-with-plugins-': 1 dependencies couldn't be built cannot build derivation '/nix/store/4lwxfbacn5fcymlm3jpv6wl4anllxmzd-system-': 1 dependencies couldn't be built cannot build derivation '/nix/store/d4k8dywj47xrbxfmvdaw4gywnwdn874r-xsession-': 1 dependencies couldn't be built cannot build derivation '/nix/store/fj8xinm3fjd7sp9s20iqg23yx27zc193-nixos-system-voyagertwo-': 1 dependencies couldn't be built error: build of '/nix/store/fj8xinm3fjd7sp9s20iqg23yx27zc193-nixos-system-voyagertwo-' failed Note that I have a following setting in environment.extraOutputsToInstall = ["out"]; environment.pathsToLink = [ "/share/locale" ];
:confused: Didn't expect that to broken the same way on stable. please open a separate issue requesting some sort of backport for the relevant commit
Still seems to fail on unstable?


Question: <del> {stdenv, fetchurl, fetchpatch, libtool, libjpeg, openssl, zlib, libgcrypt, autoreconfHook, pkgconfig, libpng, systemd </del> <ins> { stdenv, fetchzip, fetchpatch, cmake , libjpeg, openssl, zlib, libgcrypt, libpng , systemd </ins> }: let s = # Generated upstream information rec { <del> baseName="libvncserver"; version="0.9.11"; name="${baseName}-${version}"; url="https://github.com/LibVNC/libvncserver/archive/LibVNCServer-${version}.tar.gz"; sha256="15189n09r1pg2nqrpgxqrcvad89cdcrca9gx6qhm6akjf81n6g8r"; </del> <ins> pname = "libvncserver"; version = "0.9.12"; url = "https://github.com/LibVNC/libvncserver/archive/LibVNCServer-${version}.tar.gz"; sha256 = "1226hb179l914919f5nm2mlf8rhaarqbf48aa649p4rwmghyx9vm"; # unpacked archive checksum </ins> }; in stdenv.mkDerivation { <del> inherit (s) name version; src = fetchurl { </del> <ins> inherit (s) pname version; src = fetchzip { </ins> inherit (s) url sha256; }; patches = [ <del> # CVE-2018-7225. Remove with the next release </del> (fetchpatch { <del> url = https://salsa.debian.org/debian/libvncserver/raw/master/debian/patches/CVE-2018-7225.patch; sha256 = "1hj1lzxsrdmzzl061vg0ncdpvfmvvkrpk8q12mp70qvszcqa7ja3"; </del> <ins> name = "CVE-2018-20750.patch"; url = "https://github.com/LibVNC/libvncserver/commit/09e8fc02f59f16e2583b34fe1a270c238bd9ffec.patch"; sha256 = "004h50786nvjl3y3yazpsi2b767vc9gqrwm1ralj3zgy47kwfhqm"; }) (fetchpatch { name = "CVE-2019-15681.patch"; url = "https://github.com/LibVNC/libvncserver/commit/d01e1bb4246323ba6fcee3b82ef1faa9b1dac82a.patch"; sha256 = "0hf0ss7all2m50z2kan4mck51ws44yim4ymn8p0d991y465y6l9s"; </ins> }) ]; <del> preConfigure = '' sed -e 's@/usr/include/linux@${stdenv.cc.libc}/include/linux@g' -i configure ''; nativeBuildInputs = [ pkgconfig autoreconfHook ]; </del> <ins> nativeBuildInputs = [ cmake ]; </ins> buildInputs = [ <del> libtool libjpeg openssl libgcrypt libpng </del> <ins> libjpeg openssl libgcrypt libpng </ins> ] ++ stdenv.lib.optional stdenv.isLinux systemd; propagatedBuildInputs = [ zlib ]; meta = { inherit (s) version; <del> description =  "VNC server library"; </del> <ins> description = "VNC server library"; homepage = "https://libvnc.github.io/"; </ins> license = stdenv.lib.licenses.gpl2Plus ; maintainers = [stdenv.lib.maintainers.raskin]; platforms = stdenv.lib.platforms.unix;

, (nixos-19.09, nixos-unstable) (nixos-19.09, nixos-unstable) (nixos-19.09, nixos-unstable) (nixos-19.09, nixos-unstable) (nixos-19.09, nixos-unstable) (nixos-19.09, nixos-unstable) (nixos-19.09, nixos-unstable) (nixos-19.09, nixos-unstable) (nixos-19.09, nixos-unstable) (nixos-19.09, nixos-unstable) (nixos-19.09, nixos-unstable) (nixos-19.09, nixos-unstable) Scanned versions: nixos-19.09: ; nixos-unstable: . May contain false positives.
On it
Done


Question: <del> { lib, stdenv, buildPackages, fetchFromGitHub, autoconf, automake, libtool, pkgconfig, zlib, ilmbase, fetchpatch }: let # Doesn't really do anything when not crosscompiling emulator = stdenv.hostPlatform.emulator buildPackages; in </del> <ins> { lib , stdenv , buildPackages , fetchFromGitHub , zlib , ilmbase , fetchpatch , cmake , libtool }: </ins> stdenv.mkDerivation rec { pname = "openexr"; version = "2.4.1";

Describe the bug build of OpenEXR fails to find -lImath24 To Reproduce Expected behavior Successful build. Screenshots Additional context Add any other context about the problem here. Notify maintainers Metadata system: host os: multi-user?: sandbox: version: channels(root): channels(jfelice): nixpkgs: Maintainer information:
Something seems to be mangling the library names incorrectly? The ilmbase package contains: Notice the periods.
cc.
I lack the hardware to debug this. any ideas?
Repro'd on 10.14
seems to indicate that autoconf-based builds are only supported on linux - we may want to switch this to cmake. Building outside of nix via cmake is working fine for me.
can you give a try?
I can confirm this still builds on at least.
appears to fix this for me (macos 10.14). Reopen if it's still a problem for you.


Question: ''; startAt = optional cfg.autoPrune.enable cfg.autoPrune.dates; <ins> after = [ "docker.service" ]; requires = [ "docker.service" ]; </ins> }; assertions = [

While deploying a machine via deploy-rs, I had this error: Then stop docker or deploy the service from scratch, my belief is that docker-prune can start before docker.service and thus fail since it can't access the docker daemon. No systemd error whatever the configuration. I believe a patch like this should fix it but I am no systemd expert: <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. -- from blame current unstable
I think the patch you propose makes sense. Could you open an PR for it?


Question: <del> { lib, stdenv, fetchFromGitHub, buildLinux, ... } @ args: </del> <ins> { lib, stdenv, fetchFromGitHub, buildLinux, variant, ... } @ args: </ins> let # comments with variant added for update script <del> # ./update-zen.py zen zenVariant = { version = "6.10.5"; #zen suffix = "zen1"; #zen sha256 = "08ibz7560xsmlnrm8j13hxf8hjjcxfmnjdrwffqc81g9g6rvpqra"; #zen isLqx = false; }; # ./update-zen.py lqx lqxVariant = { version = "6.10.5"; #lqx suffix = "lqx1"; #lqx sha256 = "09rscj20j94qkmvk0hlpjm6v1n1ndnkv2vl035gsp5lwggws2jqm"; #lqx isLqx = true; </del> <ins> variants = { # ./update-zen.py zen zen = { version = "6.10.5"; #zen suffix = "zen1"; #zen sha256 = "08ibz7560xsmlnrm8j13hxf8hjjcxfmnjdrwffqc81g9g6rvpqra"; #zen isLqx = false; }; # ./update-zen.py lqx lqx = { version = "6.10.5"; #lqx suffix = "lqx1"; #lqx sha256 = "09rscj20j94qkmvk0hlpjm6v1n1ndnkv2vl035gsp5lwggws2jqm"; #lqx isLqx = true; }; </ins> }; zenKernelsFor = { version, suffix, sha256, isLqx }: buildLinux (args // { inherit version;

Mainline / hardened / testing / ... kernels can be painlessly modified via : Sadly, this does not work with a bunch of other kernel variants: All kernels should honor I am not entirely sure how dynamic binding is implemented in kernel stuff, however slightly changing xanmod parts this way seems to fix : zen and lqx look similar to xanmod, no idea about libre Pinging people who seem to update affected packages often Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
same underlying issue as it seems
Can confirm that this patch fix the issue for zen and lqx kernels:
have you submitted these changes as a PR that I can review?
sorry for the late response. I created a new PR with this changes.
This issue has been mentioned on NixOS Discourse. There might be relevant details there:


Question: cp ${pandoc}/bin/pandoc dependencies/common/pandoc/ ''; <del> cmakeFlags = [ "-DRSTUDIO_TARGET=Desktop" "-DQT_QMAKE_EXECUTABLE=${qt5.qmake}/bin/qmake" ]; </del> <ins> cmakeFlags = [ "-DRSTUDIO_TARGET=Desktop" "-DQT_QMAKE_EXECUTABLE=$NIX_QT5_TMP/bin/qmake" ]; </ins> desktopItem = makeDesktopItem { name = name;

Building RStudio fails with the following error message (seems to be something to do with the fact that QMake got upgraded): Run . System: (NixOS: , Ubuntu/Fedora: , ...) . Nix version: (run ) Nixpkgs version: (run ) Sandboxing enabled: (run )


Question: --replace "${ if stdenv.cc.cc or null != null then stdenv.cc.cc else "/no-such-path" }" /no-such-path  <ins> --replace "${stdenv.cc}" /no-such-path  </ins> --replace "$man" /no-such-path '' + stdenv.lib.optionalString crossCompiling ''

It's interesting that this doesn't happen on (x86_64-)linux, apparently.


Question: inherit passthruFun; }; <ins> rustpython = callPackage ./rustpython/default.nix { inherit (darwin.apple_sdk.frameworks) SystemConfiguration; }; </ins> })

Project description A Python-3 (CPython = 3.9.0) Interpreter written in Rust Metadata homepage URL: source URL: license: mit platforms: unix, linux, darwin
I tried to package it here: but run into compilation failure:
Rustpython master builds just fine. PR in


Question: <ins> { lib, rustPlatform, yabridge }: rustPlatform.buildRustPackage rec { pname = "yabridgectl"; version = yabridge.version; src = yabridge.src; sourceRoot = "source/tools/yabridgectl"; cargoSha256 = "1sjhani8h7ap42yqlnj05sx59jyz2h12qlm1ibv8ldxcpwps0bwy"; patches = [ ./libyabridge-from-nix-profiles.patch ]; patchFlags = [ "-p3" ]; meta = with lib; { description = "A small, optional utility to help set up and update yabridge for several directories at once"; homepage = "https://github.com/robbert-vdh/yabridge/tree/master/tools/yabridgectl"; license = licenses.gpl3Plus; maintainers = with maintainers; [ metadark ]; }; } </ins>

Project description Yet Another way to use Windows VST plugins on Linux. Yabridge seamlessly supports using both 32-bit and 64-bit Windows VST2 and VST3 plugins in a 64-bit Linux VST host as if they were native VST2 and VST3 plugins, with optional support for plugin groups to enable inter-plugin communication for VST2 plugins and quick startup times. Its modern concurrent architecture and focus on transparency allows yabridge to be both fast and highly compatible, while also staying easy to debug and maintain. If I understand correctly, this provides similar functionality to the airwave package. I think the big plus to this package though is that it emulates as if they were native which means the build process doesn't need to require the user to go to the steinberg site and download the VST SDK (as airwave currently does). I used this on Arch with Reaper and it was extremely easy to get going. I had a much easier time using yabridge than trying to get carla set up and running. There are multiple AUR packages for installing from source or just pulling in the binaries. I've tried to package this myself but it's just a bit beyond my means. I think that if someone is more familiar with packaging wine related binaries or compiling with meson from source this would be a quick win. homepage URL: source URL: license: GPL 3.0 platforms: linux
I probably won't have time today, but I can take a look at this later. I'm pretty familiar with the nixpkgs wine build, and I've worked with the ZynAddSubFx build to add support for the Zyn-Fusion ui.
Amazing. I was able to take your PR and get Upright Piano working with Reaper as well. Thank you so much for the quick turn around, I really appreciate it.
Hi! I don't use NixOS myself, but if it helps, there's one person in the yabridge Discord currently using yabridge's master branch with NixOS. And I've also ran into another Nix build definition on GitHub in the past (but that one's pretty outdated by now).
I've just released with a lot of important new features, fixes and improvements including the first ever Linux <-Windows VST3 plugin bridge.


Question: <ins> { lib, rustPlatform, yabridge }: rustPlatform.buildRustPackage rec { pname = "yabridgectl"; version = yabridge.version; src = yabridge.src; sourceRoot = "source/tools/yabridgectl"; cargoSha256 = "1sjhani8h7ap42yqlnj05sx59jyz2h12qlm1ibv8ldxcpwps0bwy"; patches = [ ./libyabridge-from-nix-profiles.patch ]; patchFlags = [ "-p3" ]; meta = with lib; { description = "A small, optional utility to help set up and update yabridge for several directories at once"; homepage = "https://github.com/robbert-vdh/yabridge/tree/master/tools/yabridgectl"; license = licenses.gpl3Plus; maintainers = with maintainers; [ metadark ]; }; } </ins>

I saw that the package created by for yabridge 2.2.1 has not been merged yet, but please let me know if you want to update the yabridge and yabridgectl packages for yabridge 3.0.0 and need any help! One additional dependency is now a patched version of the VST3 SDK which is patched to compile under winegcc and with support for Meson. I'm not quite sure how Nix packaging handles those things.
Thanks, I have it building right now. I'm just testing out vst3 plugins right now :smile:
:cry: For some reason neither the vst2 or vst3 plugins are working, even though they get synced. I think it might be an issue with my system installed wine. I'll submit my changes anyway so other people can test it out.
So they are found but yabridge fails to load them? Which Wine are your derivations using?
You can try running manually to see if that is the issue. A plain call should print: And should print:
I'm able to sync them with yabridgectl, but they fail to load in Reaper. I'm using (currently version 6.0) to build yabridge, but I have a custom build of wine staging 6.0 currently installed. seems to be working fine:
That indeed seems to work as expected, that's great news! If you start REAPER with and then take a look at after trying to scan/load a plugin then you'll probably be able to figure out what's wrong very quickly.
Hmm, apparently the path to the VST host is too long :stuckouttongue:
Huh I can't think of from the top of my head what would be throwing such an exception. That message printed after comes from a try-catch around the entire plugin startup that catches and prints any . Windows (and thus Wine, because it has to be compatible haha) has a path name limit of 255 characters, but none of those paths sound like they should come close to that.
Yeah, sorry. It was just a problem with my home environment. I was trying to test it without installing because I lost the nixpkgs commit I used to generate my home-manager environment.


Question: <ins> { lib, rustPlatform, yabridge }: rustPlatform.buildRustPackage rec { pname = "yabridgectl"; version = yabridge.version; src = yabridge.src; sourceRoot = "source/tools/yabridgectl"; cargoSha256 = "1sjhani8h7ap42yqlnj05sx59jyz2h12qlm1ibv8ldxcpwps0bwy"; patches = [ ./libyabridge-from-nix-profiles.patch ]; patchFlags = [ "-p3" ]; meta = with lib; { description = "A small, optional utility to help set up and update yabridge for several directories at once"; homepage = "https://github.com/robbert-vdh/yabridge/tree/master/tools/yabridgectl"; license = licenses.gpl3Plus; maintainers = with maintainers; [ metadark ]; }; } </ins>

REAPER was just loading the old 2.2.1 yabridge- :woman_facepalming: I just finished rebuilding my home environment with a new nixpkgs commit, and it's working now :smile: .


Question: <ins> # This file is generated from generate-sources.sh. DO NOT EDIT. # Execute generate-sources.sh or fetch.sh to update the file. {stdenv, fetchurl, unzip}: let buildSource = args: stdenv.mkDerivation (args // { buildInputs = [ unzip ]; buildCommand = '' mkdir -p $out cd $out unzip $src ''; }); in { source_14 = buildSource { name = "android-source-14"; src = fetchurl { url = https://dl.google.com/android/repository/sources-14_r01.zip; sha1 = "eaf4ed7dcac46e68516a1b4aa5b0d9e5a39a7555"; }; meta = { description = "Source code for Android API 14"; }; }; source_15 = buildSource { name = "android-source-15"; src = fetchurl { url = https://dl.google.com/android/repository/sources-15_r02.zip; sha1 = "e5992a5747c9590783fbbdd700337bf0c9f6b1fa"; }; meta = { description = "Source code for Android API 15"; }; }; source_16 = buildSource { name = "android-source-16"; src = fetchurl { url = https://dl.google.com/android/repository/sources-16_r02.zip; sha1 = "0f83c14ed333c45d962279ab5d6bc98a0269ef84"; }; meta = { description = "Source code for Android API 16"; }; }; source_17 = buildSource { name = "android-source-17"; src = fetchurl { url = https://dl.google.com/android/repository/sources-17_r01.zip; sha1 = "6f1f18cd2d2b1852d7f6892df9cee3823349d43a"; }; meta = { description = "Source code for Android API 17"; }; }; source_18 = buildSource { name = "android-source-18"; src = fetchurl { url = https://dl.google.com/android/repository/sources-18_r01.zip; sha1 = "8b49fdf7433f4881a2bfb559b5dd05d8ec65fb78"; }; meta = { description = "Source code for Android API 18"; }; }; source_19 = buildSource { name = "android-source-19"; src = fetchurl { url = https://dl.google.com/android/repository/sources-19_r02.zip; sha1 = "433a1d043ef77561571250e94cb7a0ef24a202e7"; }; meta = { description = "Source code for Android API 19"; }; }; source_20 = buildSource { name = "android-source-20"; src = fetchurl { url = https://dl.google.com/android/repository/sources-20_r01.zip; sha1 = "8da3e40f2625f9f7ef38b7e403f49f67226c0d76"; }; meta = { description = "Source code for Android API 20"; }; }; source_21 = buildSource { name = "android-source-21"; src = fetchurl { url = https://dl.google.com/android/repository/sources-21_r01.zip; sha1 = "137a5044915d32bea297a8c1552684802bbc2e25"; }; meta = { description = "Source code for Android API 21"; }; }; source_22 = buildSource { name = "android-source-22"; src = fetchurl { url = https://dl.google.com/android/repository/sources-22_r01.zip; sha1 = "98320e13976d11597a4a730a8d203ac9a03ed5a6"; }; meta = { description = "Source code for Android API 22"; }; }; source_23 = buildSource { name = "android-source-23"; src = fetchurl { url = https://dl.google.com/android/repository/sources-23_r01.zip; sha1 = "b0f15da2762b42f543c5e364c2b15b198cc99cc2"; }; meta = { description = "Source code for Android API 23"; }; }; source_24 = buildSource { name = "android-source-24"; src = fetchurl { url = https://dl.google.com/android/repository/sources-24_r01.zip; sha1 = "6b96115830a83d654479f32ce4b724ca9011148b"; }; meta = { description = "Source code for Android API 24"; }; }; } </ins>

Currently, our Android SDK derivations contain only binary files. This is unfortunate during development, when one wants to jump to a definition of a particular symbol in the SDK and it is not found. For comparison, ArchLinux is doing this in their packages, e.g. System: 16.09pre-git (Flounder) Nix version: nix-env (Nix) 1.11.4 Nixpkgs version: "16.09beta335." /cc
Created PR .


Question: <ins> #!/bin/sh -e xsltproc generate-sources.xsl repository-11.xml > sources.nix </ins>


Question: sha256 = "1044rj3wbfmgaif2jb0k28m2aczli6ai2n5yvn6pr7zjyw16kvd2"; }; buildInputs = [ pkgs.gtk2 Cairo ExtUtilsDepends ExtUtilsPkgConfig Glib Pango ]; <del> doCheck = !stdenv.isDarwin; </del> <ins> # https://rt.cpan.org/Public/Bug/Display.html?id=130742 # doCheck = !stdenv.isDarwin; doCheck = false; </ins> meta = { homepage = http://gtk2-perl.sourceforge.net/; description = "Perl interface to the 2.x series of the Gimp Toolkit library";

Describe the bug Metadata Please run and paste the result. system: host os: multi-user?: sandbox: version: channels(hyper): channels(root): nixpkgs: Maintainer information:
I've also encountered this. I bisected it to . says there's a newer version (1.) whose release notes say "Fix two test failures on newer versions of gtk+/gnome-shell/mutter". However, updating to it does not fix this test failure. :( With 1., the exact failure I'm getting is:
When updating to GNOME 3.34 I did indeed notice this and tried the exact things did. We probably need to report it so it can be fixed, I just didn't have the time to do this. Guess the testsuite could be disabled.
Disabling tests got it to build for me. I'll try to find some time to open a PR for that, and to report it upstream.
Reported upstream:
Thank you for your contributions. This has been automatically marked as stale because it has had no activity for 180 days. If this is still important to you, we ask that you leave a comment below. Your comment can be as simple as "still important to me". This lets people see that at least one person still cares about this. Someone will have to do this at most twice a year if there is no other activity. Here are suggestions that might help resolve this more quickly: for maintainers and people that previously touched the related code and @ mention them in a comment. on the . 3. Ask on the on .


Question: patches = [ ./fix-application-path.patch ]; postPatch = '' <ins> # https://github.com/NixOS/nixpkgs/issues/119766 substituteInPlace lxqtbacklight/linux_backend/driver/libbacklight_backend.c  --replace "pkexec lxqt-backlight_backend" "pkexec $out/bin/lxqt-backlight_backend" </ins> sed -i "s|''${POLKITQT-1_POLICY_FILES_INSTALL_DIR}|''${out}/share/polkit-1/actions|" CMakeLists.txt '';

Describe the bug Keyboard backlight keys don't work out of the box on LXQT. Pressing one brings up a polkit dialog for authorization to run as superuser. Of course, changing the backlight brightness should not require authorization. liblxqt provides an function in which I believe is the problematic code path. This function calls a helper utility as follows: FILE lxqtbacklightbackendgetwritestream() { FILE stream = popen("pkexec lxqt-backlightbackend --stdin", "w"); return stream; } There is a polkit rule for this: $ cat <?xml version="1.0" encoding="UTF-8"?<!DOCTYPE policyconfig PUBLIC "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN" ""<policyconfig<action id=""<messageAuthentication is required to Change Brightness</message<iconnamebattery</iconname<defaults<allowanyno</allowany<allowinactiveno</allowinactive<allowactiveyes</allowactive</defaults<annotate key=""${CMAKEINSTALLPREFIX}/bin/lxqt-backlightbackend</annotate</action</policyconfigHowever, this rule ends up expanding to e.g.: <annotate key=""/nix/store/k1w634ib02dxqh046icm2i7ml28iycq5-liblxqt-0.17.0/bin/lxqt-backlightbackend</annotateand polkit is presumably just finding the binary in . It appears that pkexec doesn't resolve symlinks, as if I run on the path, I get the prompt, whereas if I run on the resolved path, I don't get prompted, and I can adjust the brightness from the command line. I'm not sure what the proper solution is here. I don't know enough about polkit to have an opinion on its symlink handling. Maybe we can provide another polkit rule for the path? To Reproduce Steps to reproduce the behavior: LXQT and boot into it. a display brightness key on your keyboard. polkit dialog appear. Expected behavior Display brightness should be adjustable without entering your password. Screenshots If applicable, add screenshots to help explain your problem. Additional context I'm running NixOS 20.09, and have hit this bug both with the shipped LXQT, as well as when I backported 0.17.0 from .


Question: patches = [ ./fix-application-path.patch ]; postPatch = '' <ins> # https://github.com/NixOS/nixpkgs/issues/119766 substituteInPlace lxqtbacklight/linux_backend/driver/libbacklight_backend.c  --replace "pkexec lxqt-backlight_backend" "pkexec $out/bin/lxqt-backlight_backend" </ins> sed -i "s|''${POLKITQT-1_POLICY_FILES_INSTALL_DIR}|''${out}/share/polkit-1/actions|" CMakeLists.txt '';

Notify maintainers Hi there thanks for providing an update to 0.17 so quickly! Metadata system: host os: multi-user?: sandbox: version: channels(root): channels(khumba): nixpkgs: Maintainer information:


Question: stdenv = gcc7Stdenv; })); <del> llvmPackages_latest = llvmPackages_11; </del> <ins> llvmPackages_latest = llvmPackages_12; </ins> llvmPackages_rocm = recurseIntoAttrs (callPackage ../development/compilers/llvm/rocm { });

LLVM 12 (not yet released, currently at RC3) will be required for building Chromium M90+ (currently in the beta channel; stable release planned for 2021-04-13; s. ). cc I couldn't find a draft PR for LLVM 12 yet. Are you already working on it or currently busy? LLVM Release Schedule: 12.0.0: Jan 26: release/12.x branch, 12.0.0-rc1 Feb 23: 12.0.0-rc2 Mar 2: 12.0.0-final
I have't started yet. But I think I have a few minutes now!
Just a heads-up, we have Should that transition to ?
I have to hand this over to you, Borg says the unit tests fail (on both platforms, consistently). Maybe the testing framework needs a bump?
Actually, LLVM is not enough I tested with and the key commit seems not included into You have to either wait for compile LLVM now cherry-pick to or related
The match is a bit out of context: We have so everything should be fine. ok, thanks for that information! If I understand that correctly you've tried compiling or with and it requires cherry-picking as well (which would be unfortunate because that commit might not be part of the final release; they don't seem to have a dedicated branch for the LLVM 12 release and I don't know where/how/if they track and provide that information - Edit: Oh, they have a branch (the GitHub UI doesn't seem show all branches that a commit is part of) but wasn't cherry-picked so far).
I built (from llvm master, simple replacing with fetchFromGitHub and removing some lines in ) and it builds Chromium 91
RC3 in


Question: cpp-ipfs-api = callPackage ../development/libraries/cpp-ipfs-api { }; <del> cpp-netlib = callPackage ../development/libraries/cpp-netlib { openssl = openssl_1_0_2; }; </del> <ins> cpp-netlib = callPackage ../development/libraries/cpp-netlib {}; </ins> uri = callPackage ../development/libraries/uri { }; cppcms = callPackage ../development/libraries/cppcms { };

Upstream , but we still have many packages depending on it. I know of no issues since the last release, so I'm not marking it as vulnerable yet, but the dependents would better start migrating in advance. Stable: it's unclear to me what we do about these in 19.09, but perhaps there won't be any notable vulnerabilities before 19.09 support ends :-) 1.0.2 is the default in 19.03, but we don't support that anymore.
List of files:
I think we should mark it vulnerable. Other EOL packages have been marked vulnerable because of the EOL before, e.g. Firefox, and if there’s any package we should be extra-careful with, its OpenSSL.
I bumped it to fix the last CVE minutes before opening this ticket, so I was obviously biased against marking it immediately ;-)
BTW, it's still a decision to make, as there's surely some LTS distro that will keep shipping 1.0.2 for some time, so patching the worst probably won't be too difficult. I'm personally not willing to invest significant time into it, though :-)
Best way to motivate somebody to volunteer is to mark it as insecure. ;)
OK, I think the we've given enough time and now we should press on a bit:


Question: ]; buildInputs = <del> [ cairo gdk-pixbuf gobject-introspection libsoup pango webkitgtk ]; </del> <ins> [ cairo gdk-pixbuf gobject-introspection libsoup openssl pango webkitgtk ]; env = { OPENSSL_NO_VENDOR = 1; }; </ins> postPatch = '' substituteInPlace ./tauri.conf.json  <del> --replace '"distDir": "../dist",' '"distDir": "${finalAttrs.ui}",'  --replace '"beforeBuildCommand": "pnpm build",' '"beforeBuildCommand": "",' </del> <ins> --replace-fail '"distDir": "../dist",' '"distDir": "${finalAttrs.ui}",'  --replace-fail '"beforeBuildCommand": "pnpm build",' '"beforeBuildCommand": "",' </ins> ''; postBuild = ''

Package name: surrealist Latest released version: 2.0.1 <!-- Search your package here: --- Current version on the unstable channel: 1.11.7 Current version on the stable/release channel: - <!-- Type the name of your package and try to find an open pull request for the package If you find an open pull request, you can review it! There's a high chance that you'll have the new version right away while helping the community! --- Notify maintainers <!-- If the result shows no maintainers, tag the person that last updated the package. --NOTE Surrealist has now officially moved to the SurrealDB Github org, see Note for maintainers: Please tag this issue in your PR. Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
Nvm the nix package is actually built from source, just Tauri builds a deb in that process
Working on it. I'm currently stuck at an issue with the frontend build. There is a transitive dependency to that does not get installed by pnpm.


Question: , autoPatchelfHook , makeWrapper , buildNpmPackage <ins> , nixosTests </ins> , cmake , avahi , libevdev

Project description <!-- Describe the project a little: --Sunshine has already been packaged here in nixpkgs: But it doesn't come out of the box just by , according to and and , at least it needs a and maybe . It would be better if we could add a NixOS module for it to make it availale just by sth. like or . CC maintainer Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
This has been on my to-do list for ages :) The module itself wouldn't be a huge deal, and I think I have a plan for tests, just need some time to work on it.
I actually started working on this a while ago. My module can create valid and files (i.e. they work when I start sunshine manually) and open the necessary ports, however I couldn't get the systemd service to function properly. If I recall correctly, the issue was related to getting access to the screen. Here is what I have so far, maybe it can help someone:
Thanks I used yours as inspiration and opened for this. It's still a draft -- I need to work on the tests -- but any testing or comments are welcome. I've tested on Plasma 6 + Wayland + AMD and seems to work, have not tested much with Xorg or NVIDIA.
Think it's got all the functionality I had planned -- marked as ready for review.


Question: options = { paths = mkOption { <del> type = with types; either path (nonEmptyListOf path); </del> <ins> type = with types; either path (listOf str); </ins> description = "Path(s) to back up."; example = "/home/user"; apply = x: if isList x then x else [ x ];

c.f. If using --patterns-from, all of the paths to back up are (or can be) read from the pattern file, and specifying paths on the command line is optional. But the nixos configuration won't let you omit the paths, and since they aren't stored in a variable you can't even do something awkward with preHook or preCreate to unset them.
While investigating this, I found the related issue that since it requires "paths" rather than "strings" it also only works for absolute paths; if you want to back up relative paths (using preHook to make sure they're relative to the right directory) this is impossible. Not sure if that's worth opening a separate issue for.
I changed it to .
Thank you!


Question: ''; meta = with lib; { <del> description = "Powerful graphical SurrealDB query playground and database explorer for Browser and Desktop"; homepage = "https://surrealist.starlane.studio"; </del> <ins> description = "Surrealist is the ultimate way to visually manage your SurrealDB database"; homepage = "https://surrealdb.com/surrealist"; </ins> license = licenses.mit; mainProgram = "surrealist"; maintainers = with maintainers; [ frankp ]; platforms = platforms.linux; <del> # See comment about wasm32-unknown-unknown in rustc.nix. broken = lib.any (a: lib.hasAttr a stdenv.hostPlatform.gcc) [ "cpu" "float-abi" "fpu" ] || !stdenv.hostPlatform.gcc.thumb or true; </del> }; })


Question: passthru.tests.version = testers.testVersion { package = podman-tui; <del> command = "podman-tui version"; </del> <ins> command = "HOME=$(mktemp -d) podman-tui version"; </ins> version = "v${version}"; };

Package name: podman-tui Latest released version: <!-- Search your package here: --- Current version on the unstable channel: 0.18.0 Current version on the stable/release channel: 0.12.0 <!-- Type the name of your package and try to find an open pull request for the package If you find an open pull request, you can review it! There's a high chance that you'll have the new version right away while helping the community! --- Notify maintainers <!-- If the result shows no maintainers, tag the person that last updated the package. --I attempted to update this package myself and create a PR, however, there appears to be a major changes to how this package is built that are outside my ability to address. Attempting to build the package after a , both with and without the changes in , results in the following build log: Note for maintainers: Please tag this issue in your PR. Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:


Question: gnused # sed stdenv.cc # c++ ld etc. stdenv.cc.libc # ldd <del> ]}"  --prefix ${lib.optionalString stdenv.hostPlatform.isDarwin "DY"}LD_LIBRARY_PATH : "${lib.makeLibraryPath [ xrootd ]}" </del> <ins> ]}" </ins> # Patch thisroot.{sh,csh,fish}

XRootD failed to access the files following the URL, complaining that isn't found and the authentication handler couldn't be loaded. However, does present in the output directory. Steps to reproduce the behavior: Enter the top directory of Nixpkgs See Run See the detailed output A clear and concise description of what you expected to happen. If applicable, add screenshots to help explain your problem. Terminal output during execution: Short: Long: is packaged by myself, but I haven't found the solution. Suggestions and helps are more than welcom. Please run and paste the result.
This is probably because has the wrong . How to fix that though? No idea.


Question: owner = "spesmilo"; repo = "electrum"; rev = version; <del> sha256 = "sha256-lXMz0U7zgtCApBCGZcpOHvLcyOeGG0yJE/gr7Gv+yBQ="; </del> <ins> sha256 = "sha256-R5jFxqaKnqQ+WNp4l0u34wMFxlbIsQ+9qDQxiQEu6kM="; </ins> postFetch = '' mv $out ./all

Package name: electrum Latest released version: 4.4.4 <!-- Search your package here: --- Current version on the unstable channel: 4.4.0 Current version on the stable/release channel: 4.4.0 <!-- Type the name of your package and try to find an open pull request for the package If you find an open pull request, you can review it! There's a high chance that you'll have the new version right away while helping the community! --- Notify maintainers <!-- If the result shows no maintainers, tag the person that last updated the package. --Note for maintainers: Please tag this issue in your PR. Reporters Note: Tried the update locally and got the error Looking at the diff on the electrum github I see the substituteInPlace pattern will no longer match: In:
PR in


Question: <del> { lib, fetchurl, appimageTools  }: </del> <ins> { lib, stdenv, fetchurl, dpkg, makeWrapper, buildFHSUserEnv , extraPkgs ? pkgs: [ ] , extraLibs ? pkgs: [ ] }: </ins> <del> appimageTools.wrapType2 rec { </del> <ins> stdenv.mkDerivation rec { </ins> pname = "unityhub"; <del> version = "2.3.2"; </del> <ins> version = "3.4.1"; </ins> src = fetchurl { <del> # mirror of https://public-cdn.cloud.unity3d.com/hub/prod/UnityHub.AppImage url = "https://archive.org/download/unity-hub-${version}/UnityHub.AppImage"; sha256 = "07nfyfp9apshqarc6pgshsczila6x4943hiyyizc55kp85aw0imn"; </del> <ins> url = "https://hub-dist.unity3d.com/artifactory/hub-debian-prod-local/pool/main/u/unity/unityhub_amd64/unityhub-amd64-${version}.deb"; sha256 = "sha256-/P6gPLSRGfwEN801cyNrZTpHyZKO+4tU6cFvLz8ERuo="; </ins> }; <del> extraPkgs = (pkgs: with pkgs; with xorg; [ gtk2 gdk-pixbuf glib libGL libGLU nss nspr alsa-lib cups libcap fontconfig freetype pango cairo dbus dbus-glib libdbusmenu libdbusmenu-gtk2 expat zlib libpng12 udev tbb libpqxx gtk3 libsecret lsb-release openssl nodejs ncurses5 </del> <ins> nativeBuildInputs = [ dpkg makeWrapper ]; </ins> <del> libX11 libXcursor libXdamage libXfixes libXrender libXi libXcomposite libXext libXrandr libXtst libSM libICE libxcb </del> <ins> fhsEnv = buildFHSUserEnv { name = "${pname}-fhs-env"; runScript = ""; </ins> <del> libselinux pciutils libpulseaudio libxml2 icu clang cacert ]); </del> <ins> # Seems to be needed for GTK filepickers to work in FHSUserEnv profile = "XDG_DATA_DIRS="$XDG_DATA_DIRS:/usr/share/""; </ins> <del> extraInstallCommands = let appimageContents = appimageTools.extractType2 { inherit pname version src; }; in '' install -Dm444 ${appimageContents}/unityhub.desktop -t $out/share/applications substituteInPlace $out/share/applications/unityhub.desktop  --replace 'Exec=AppRun' 'Exec=${pname}' install -m 444 -D ${appimageContents}/unityhub.png  $out/share/icons/hicolor/64x64/apps/unityhub.png ''; </del> <ins> targetPkgs = pkgs: with pkgs; [ xorg.libXrandr # GTK filepicker gsettings-desktop-schemas hicolor-icon-theme # Bug Reporter dependencies fontconfig freetype lsb-release ] ++ extraPkgs pkgs; multiPkgs = pkgs: with pkgs; [ # Unity Hub ldd dependencies cups gtk3 expat libxkbcommon lttng-ust_2_12 krb5 alsa-lib nss_latest libdrm mesa nspr atk dbus at-spi2-core pango xorg.libXcomposite xorg.libXext xorg.libXdamage xorg.libXfixes xorg.libxcb xorg.libxshmfence xorg.libXScrnSaver xorg.libXtst # Unity Hub additional dependencies libva openssl_1_1 cairo xdg-utils libnotify libuuid libsecret udev libappindicator wayland cpio icu libpulseaudio # Editor dependencies libglvnd # provides ligbl xorg.libX11 xorg.libXcursor glib gdk-pixbuf libxml2 zlib clang git # for git-based packages in unity package manager ] ++ extraLibs pkgs; }; unpackCmd = "dpkg -x $curSrc src"; dontConfigure = true; dontBuild = true; installPhase = '' runHook preInstall mkdir -p $out mv opt/ usr/share/ $out # `/opt/unityhub/unityhub` is a shell wrapper that runs `/opt/unityhub/unityhub-bin` # Which we don't need and overwrite with our own custom wrapper makeWrapper ${fhsEnv}/bin/${pname}-fhs-env $out/opt/unityhub/unityhub  --add-flags $out/opt/unityhub/unityhub-bin  --argv0 unityhub # Link binary mkdir -p $out/bin ln -s $out/opt/unityhub/unityhub $out/bin/unityhub # Replace absolute path in desktop file to correctly point to nix store substituteInPlace $out/share/applications/unityhub.desktop  --replace /opt/unityhub/unityhub $out/opt/unityhub/unityhub runHook postInstall ''; </ins> meta = with lib; { <ins> description = "Official Unity3D app to download and manage Unity Projects and installations"; </ins> homepage = "https://unity3d.com/"; <del> description = "Game development tool"; longDescription = '' Popular development platform for creating 2D and 3D multiplatform games and interactive experiences. ''; </del> license = licenses.unfree; <ins> maintainers = with maintainers; [ tesq0 huantian ]; </ins> platforms = [ "x86_64-linux" ]; <del> maintainers = with maintainers; [ tesq0 ]; </del> }; }

Project description Unity is changing the way they deliver the editor via the UnityHub. They have shifted away from the appimage and have started Debian and RHEL repositories. They are not producing the appimage anymore. Would it be possible to add the new UnityHub to NixOS? The new download instructions are here:
Extracting the binary from the .deb is fairly simple and has been done in similar situations in nixpkgs before.
Is there any quick fix to use unity right now?
Not that I have found. You could use an old version of the appimage if you still have one. The flatpak is available but is a really old version.
I am currently building a derivation locally to extract the binary from the .deb package and make it run. Lets see how long it takes
have you had any success? I have but it yells about and crashes when I try to use it
I thought that unityhub is an electron app. My current attempt results in a f mismatch from electron. Here is my . I build it via .
Yeah it is electron but I'm just trying to package the prepackaged electron binary instead of using system electron
Yes you are right. When trying to use the included electron binary it will result in the same error. Hm when I have some time I will investigate with . Or maybe you had any luck?
Unfortunately not, I've seen one other mention of the same error with electron with no solution, and I'm not sure how to do deeper debugging personally.
I've managed to do something: by adding to LDLIBRARYPATH, I can get it to not , but now instead it just hangs... I'll keep trying but I'm not sure what it is this time.
I've made a tad more progress, I forgot to enable gnome-keychain so that was causing the hang, but now it's segfaulting :sweat: I do see it looking for but I'm not sure what that even is
Finally, got it working. It boots up and I can install everything properly. The remaining issue is that hub-installed versions of Unity aren't patched so the hub fails to launch them. It seems that since the previous version used appimages, the library paths were passed to the editor as well as the hub, but I'm not sure how to do it with this. Do I need ?


Question: <del> { lib, fetchurl, appimageTools  }: </del> <ins> { lib, stdenv, fetchurl, dpkg, makeWrapper, buildFHSUserEnv , extraPkgs ? pkgs: [ ] , extraLibs ? pkgs: [ ] }: </ins> <del> appimageTools.wrapType2 rec { </del> <ins> stdenv.mkDerivation rec { </ins> pname = "unityhub"; <del> version = "2.3.2"; </del> <ins> version = "3.4.1"; </ins> src = fetchurl { <del> # mirror of https://public-cdn.cloud.unity3d.com/hub/prod/UnityHub.AppImage url = "https://archive.org/download/unity-hub-${version}/UnityHub.AppImage"; sha256 = "07nfyfp9apshqarc6pgshsczila6x4943hiyyizc55kp85aw0imn"; </del> <ins> url = "https://hub-dist.unity3d.com/artifactory/hub-debian-prod-local/pool/main/u/unity/unityhub_amd64/unityhub-amd64-${version}.deb"; sha256 = "sha256-/P6gPLSRGfwEN801cyNrZTpHyZKO+4tU6cFvLz8ERuo="; </ins> }; <del> extraPkgs = (pkgs: with pkgs; with xorg; [ gtk2 gdk-pixbuf glib libGL libGLU nss nspr alsa-lib cups libcap fontconfig freetype pango cairo dbus dbus-glib libdbusmenu libdbusmenu-gtk2 expat zlib libpng12 udev tbb libpqxx gtk3 libsecret lsb-release openssl nodejs ncurses5 </del> <ins> nativeBuildInputs = [ dpkg makeWrapper ]; </ins> <del> libX11 libXcursor libXdamage libXfixes libXrender libXi libXcomposite libXext libXrandr libXtst libSM libICE libxcb </del> <ins> fhsEnv = buildFHSUserEnv { name = "${pname}-fhs-env"; runScript = ""; </ins> <del> libselinux pciutils libpulseaudio libxml2 icu clang cacert ]); </del> <ins> # Seems to be needed for GTK filepickers to work in FHSUserEnv profile = "XDG_DATA_DIRS="$XDG_DATA_DIRS:/usr/share/""; </ins> <del> extraInstallCommands = let appimageContents = appimageTools.extractType2 { inherit pname version src; }; in '' install -Dm444 ${appimageContents}/unityhub.desktop -t $out/share/applications substituteInPlace $out/share/applications/unityhub.desktop  --replace 'Exec=AppRun' 'Exec=${pname}' install -m 444 -D ${appimageContents}/unityhub.png  $out/share/icons/hicolor/64x64/apps/unityhub.png ''; </del> <ins> targetPkgs = pkgs: with pkgs; [ xorg.libXrandr # GTK filepicker gsettings-desktop-schemas hicolor-icon-theme # Bug Reporter dependencies fontconfig freetype lsb-release ] ++ extraPkgs pkgs; multiPkgs = pkgs: with pkgs; [ # Unity Hub ldd dependencies cups gtk3 expat libxkbcommon lttng-ust_2_12 krb5 alsa-lib nss_latest libdrm mesa nspr atk dbus at-spi2-core pango xorg.libXcomposite xorg.libXext xorg.libXdamage xorg.libXfixes xorg.libxcb xorg.libxshmfence xorg.libXScrnSaver xorg.libXtst # Unity Hub additional dependencies libva openssl_1_1 cairo xdg-utils libnotify libuuid libsecret udev libappindicator wayland cpio icu libpulseaudio # Editor dependencies libglvnd # provides ligbl xorg.libX11 xorg.libXcursor glib gdk-pixbuf libxml2 zlib clang git # for git-based packages in unity package manager ] ++ extraLibs pkgs; }; unpackCmd = "dpkg -x $curSrc src"; dontConfigure = true; dontBuild = true; installPhase = '' runHook preInstall mkdir -p $out mv opt/ usr/share/ $out # `/opt/unityhub/unityhub` is a shell wrapper that runs `/opt/unityhub/unityhub-bin` # Which we don't need and overwrite with our own custom wrapper makeWrapper ${fhsEnv}/bin/${pname}-fhs-env $out/opt/unityhub/unityhub  --add-flags $out/opt/unityhub/unityhub-bin  --argv0 unityhub # Link binary mkdir -p $out/bin ln -s $out/opt/unityhub/unityhub $out/bin/unityhub # Replace absolute path in desktop file to correctly point to nix store substituteInPlace $out/share/applications/unityhub.desktop  --replace /opt/unityhub/unityhub $out/opt/unityhub/unityhub runHook postInstall ''; </ins> meta = with lib; { <ins> description = "Official Unity3D app to download and manage Unity Projects and installations"; </ins> homepage = "https://unity3d.com/"; <del> description = "Game development tool"; longDescription = '' Popular development platform for creating 2D and 3D multiplatform games and interactive experiences. ''; </del> license = licenses.unfree; <ins> maintainers = with maintainers; [ tesq0 huantian ]; </ins> platforms = [ "x86_64-linux" ]; <del> maintainers = with maintainers; [ tesq0 ]; </del> }; }

I'll try that but I'm not sure if there's a more optimal solution.
Looking at the code seems to be the way. !
<details open<summaryWeird error I'm getting when I'm trying to open say Preferences or the Package Manager in the unity editor.... I have no idea what this is from, am I missing gtk stuff?</summary<br</details
Hopefully the final bit of the saga, it turns out the GTK issue I had isn't unique to NixOS, it occurs on other distros too, see the . In that case, it seems my derivation for the updated Unity Hub is working properly in all other regards, and can be found . All the need to be cleaned up, I may have a few unnecessary ones, and there's a lot of leftover testing with the QML paths :sweat_smile:. If it looks good, perhaps we can update Unity Hub in nixpkgs too? I've also made a describing how to use Rider with Unity on NixOS as well, might help someone out.
Thanks for that looking forward to seeing that on master!
Hehe thanks for the reminder, forgot to make a PR for updating the package!
I just copied your derivation meanwhile and was the only thing it make unity work (installing the 2021.3.4), thanks!
Hello I use Unity and just tried out file. It works great! However, I cannot find your PR. Would you be able to point me in the right direction? I would love to see this in nixpkgs soon!
I've been kinda busy recently with other prs and such, but I'm definitely planning to make a PR in nixpkgs, if not later today, definitely by this weekend. Thanks for the support :)