jiebi/CodeConvo huggingface dataset:
Change:
'' + args.extraPreBwrapCmds or ""; extraBwrapArgs = [ <del> "--bind /etc/NIXOS /etc/NIXOS" # required 32bit driver check in runScript </del> <ins> "--bind-try /etc/NIXOS /etc/NIXOS" # required 32bit driver check in runScript </ins> "--bind-try /tmp/dumps /tmp/dumps" ] ++ args.extraBwrapArgs or [];

Discussion:
The lutris package also installs steam which can be opened from the UI. In a recent build it stopped working. Steps to reproduce the behavior: lutris on the start steam button (play button next to steam) happens. It should open the steam app <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. --Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
It also happens with the system installed steam. changing steam binary path to the system wide installed one:
You said that it used to work. Could you do a bisect (ideally with first-parent)?
same problem here, used to work, since a few days/1-2 weeks(?) not anymore also on unstable 24.11
Please find a revision that still works and do a with it as the good commit and the current master as the bad commit.
Hi. I ran a bisect starting from the revision that worked for me. I think this commit is the issue. I don't know why the steam package needs . Launching steam normally works but it doesn't start from inside Lutris because it can't find that file. Removing the bind fixed the issue for me. Would you look into it? Thanks bisect log:
Can you try changing that line to --try-bind and PR that if it works? Thanks
It works with bind-try I made a PR for it
Change:
The *existence* of setups hooks has long been documented and packages inside Nixpkgs are free to use this mechanism. Other packages, however, should not rely on these mechanisms not changing between Nixpkgs versions. Because of the existing issues with this system, there’s little benefit from mandating it be stable for any period of time. <del> First, let’s cover some setup hooks that are part of Nixpkgs default stdenv. This means that they are run for every package built using `stdenv.mkDerivation`. Some of these are platform specific, so they may run on Linux but not Darwin or vice-versa. </del> <ins> First, let’s cover some setup hooks that are part of Nixpkgs default `stdenv`. This means that they are run for every package built using `stdenv.mkDerivation` or when using a custom builder that has `source $stdenv/setup`. Some of these are platform specific, so they may run on Linux but not Darwin or vice-versa. </ins> ### `move-docs.sh` {#move-docs.sh}

Discussion:
Project description
I marked this as stale due to inactivity. &rarr;
ping! Is this still an issue?
has been The command still does not have documentation in the Nixpkgs manual.
Is satisfying? Could use approval to get merged.
It's a good step, but it doesn't (yet?) tell me what the options are.
Now it does.
Change:
dontWrapGApps = true; <ins> # HACK: 'wrapPythonPrograms' will add things to the $PATH in the wrapper. This bleeds into the # terminal session produced by terminator. To avoid this, we force wrapPythonPrograms to only # use gappsWrapperArgs by redefining wrapProgram to ignore its arguments and only apply the # wrapper arguments we want it to use. # TODO: Adjust wrapPythonPrograms to respect an argument that tells it to leave $PATH alone. </ins> preFixup = '' <del> makeWrapperArgs+=("''${gappsWrapperArgs[@]}") </del> <ins> wrapProgram() { wrapProgramBinary "$1" "''${gappsWrapperArgs[@]}" } </ins> ''; passthru.tests.test = nixosTests.terminal-emulators.terminator;

Discussion:
Something about terminator and the way it uses python messes with your PATH setting, which interferes with Nix working properly. For example, echoing my path in xterm: But after launching into terminator, it looks like this: system: host os: multi-user?: sandbox: version: channels(root): nixpkgs:
Unsurprisingly perhaps, but FWIW I can reproduce. Do you know if this is (or isn't) the behavior when using terminator in other environments? Anyway mostly wanted to let you know it's not just you :).
Hm, I guess with new buildPythonPackage it just doesn't run? And there is double wrapping, indeed…
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 . on the on .
I'll just go ahead and un-stale this. It's still an issue and I ran into it. The wrappers also set , which could probably also cause some trouble.
I marked this as stale due to inactivity. &rarr;
Still an issue
Also:
Hello, I have this same issue here.
I have the following issue: Within (e.g.) Gnome Console, my looks as it should: However, within terminator, it's messed up with several additional paths: (Both tested with bash.)
Yeah, that seems like the same issue. Problem is that it isn't straightforward to solve properly. If you want a slightly hacky workaround, some of the discussions on the equivalent kitty bug I linked above may help. Basically just use your shell init script to clean the terminator-only bits from . Something like: Should do the trick, I think.

In very rare cases, this won't quite work right, such as if you start terminator from inside a , in which case it will obliterate the shell's additions, but it's pretty tough to get around that limitation here, and it's probably not a big issue. EDIT: scratch that, I'm being silly. will point to python, not terminator itself... you'd probably have to analyze to get a proper distinction. Like so:
Change:
{ pdfstudioviewer = callPackage ./common.nix rec { inherit desktopName pname program year; <del> version = "${year}.1.0"; </del> <ins> version = "${year}.2.2"; </ins> longDescription = '' PDF Studio Viewer is an easy to use, full-featured PDF editing software. This is the free edition. For the standard/pro edition, see the package pdfstudio. ''; src = fetchurl { <del> url = "https://web.archive.org/web/20220909093140/https://download.qoppa.com/pdfstudioviewer/PDFStudioViewer_linux64.deb"; sha256 = "sha256-za+a5vGkINLFvFoZdnB++4VGE9rfdfZf5HFNw/Af1AA="; </del> <ins> url = "https://download.qoppa.com/pdfstudioviewer/PDFStudioViewer_linux64.deb"; sha256 = "sha256-cc8YjrMsYZqgmwp5+AA+HsqzjxzFcTT/ga31NQz/OWc="; </ins> }; jdk = jdk11; }; pdfstudio2021 = callPackage ./common.nix rec { inherit desktopName longDescription pname program year; <del> version = "${year}.2.0"; </del> <ins> version = "${year}.2.1"; </ins> src = fetchurl { url = "https://download.qoppa.com/pdfstudio/v${year}/PDFStudio_v${dot2dash version}_linux64.deb"; <del> sha256 = "sha256-wQgVWz2kS+XkrqvCAUishizfDrCwGyVDAAU4Yzj4uYU="; </del> <ins> sha256 = "sha256-yELpza2C3HJJIP+ZQP7x3Tfez0Nl6ctCbHCmTmpX3jo="; </ins> }; extraBuildInputs = [ (lib.getLib stdenv.cc.cc)  # for libstdc++.so.6 and libgomp.so.1

Discussion:
The package had been silently marked as broken. From what I can see, the developers now only provide a deb file for the latest version, see The deb link is I guess we should update the link instead of marking the package broken.
Change:
, ... } @ attrs: <del> # TODO(@Ericson2314): Make this more modular, and not O(n^2). </del> let <ins> fixedOutputDrv = attrs ? outputHash; noNonNativeDeps = builtins.length (depsBuildTarget ++ depsBuildTargetPropagated ++ depsHostHost ++ depsHostHostPropagated ++ buildInputs ++ propagatedBuildInputs ++ depsTargetTarget ++ depsTargetTargetPropagated) == 0; runtimeSensativeIfFixedOutput = fixedOutputDrv -> !noNonNativeDeps; </ins> supportedHardeningFlags = [ "fortify" "stackprotector" "pie" "pic" "strictoverflow" "format" "relro" "bindnow" ]; defaultHardeningFlags = lib.remove "pie" supportedHardeningFlags; enabledHardeningOptions =

Discussion:
I'm currently working on bringing up my cross-compilation environment. The latest issue is that fails to build when cross-compiling with: Note the name of the source archive: . The target suffix means that 's setup hooks fails to fire: It's not obvious to me how best to solve this. There are several options: generalize the setup hook (and others) to catch names with such suffixes the original filename to files fetch with and teach the unpacker hooks to use this instead of the derivation name teach the splicer not to add a suffix to source archives else
Pinging
and I discussed this via IRC, The conclusion is that we will simply avoid adding a host suffix for fixed-output derivations without host runtime dependencies (e.g. like source tarballs).
For the record, I work around this in bgamari/nixpkgs
Just was hit by this myself, is this still the preferred workaround?
I've never hit this personally, but should finish up. Feel free to give it a shot!
Change:
<del> { lib, buildPythonPackage, fetchPypi, python, mock, pythonAtLeast }: </del> <ins> { lib , buildPythonPackage , pythonOlder , fetchFromGitHub , setuptools , cryptography , mock , python }: </ins> buildPythonPackage rec { pname = "stem"; version = "1.8.2"; <del> # As of May 2023, the master branch of stem contains fixes for Python 3.11 # that the last release (1.8.1) doesn't. The test suite fails on both master # and the 1.8.1 release, so disabling rather than switching to an unstable # source. disabled = pythonAtLeast "3.11"; </del> <ins> disabled = pythonOlder "3.6"; </ins> <del> src = fetchPypi { inherit pname version; hash = "sha256-g/sZ/9TJ+CIHwAYFFIA4n4CvIhp+R4MACu3sTjhOtYI="; </del> <ins> pyproject = true; src = fetchFromGitHub { owner = "torproject"; repo = "stem"; rev = "refs/tags/${version}"; hash = "sha256-9BXeE/sVa13jr8G060aWjc49zgDVBhjaR6nt4lSxc0g="; </ins> }; <del> postPatch = '' rm test/unit/installation.py sed -i "/test.unit.installation/d" test/settings.cfg # https://github.com/torproject/stem/issues/56 sed -i '/MOCK_VERSION/d' run_tests.py ''; </del> <ins> nativeBuildInputs = [ setuptools ]; </ins> <del> nativeCheckInputs = [ mock ]; </del> <ins> nativeCheckInputs = [ cryptography mock ]; </ins> checkPhase = '' <del> touch .gitignore ${python.interpreter} run_tests.py -u </del> <ins> runHook preCheck ${python.interpreter} run_tests.py --unit runHook postCheck </ins> ''; meta = with lib; { <ins> changelog = "https://github.com/torproject/stem/blob/${src.rev}/docs/change_log.rst"; </ins> description = "Controller library that allows applications to interact with Tor"; <ins> downloadPage = "https://github.com/torproject/stem"; </ins> homepage = "https://stem.torproject.org/"; <del> license = licenses.gpl3; maintainers = with maintainers; [ ]; </del> <ins> license = licenses.lgpl3Only; maintainers = with maintainers; [ dotlambda ]; </ins> }; }

Discussion:
Steps to reproduce the behavior: this issue appears to match a recent (for lack of listed maintainers) Please run and paste the result.
qutebrowser's maintainers: (Unsubscribing as I don't have anything to do with this software; re-@ me if you want my attention.)
from a brief examination it looks like the stem library is not available for python 3.11. No experience with this package but it looks like it is for a userscript. I see has already opened a PR to fix it, but according to the libraries own website, it is no longer maintained, so perhaps we should consider just removing it? I'm not sure which script even uses it.
Change:
postFixup = # Place all binaries in the 'mullvad-' namespace, even though these # specific binaries aren't used in the lifetime of the program. <del> # `address_cache` is used to generate the `api-ip-address.txt` file, which # contains list of Mullvad API servers -- though we provide a "backup" of # the output of this command, it could change at any time, so we want # users to be able to regenerate the list at any time. (The daemon will # refuse to start without this file.) </del> '' <del> for bin in address_cache relay_list translations-converter; do </del> <ins> for bin in relay_list translations-converter; do </ins> mv "$out/bin/$bin" "$out/bin/mullvad-$bin" done '' + <del> # Put distributed assets in-place -- specifically, the # bootstrap-address-cache is necessary; otherwise, the user will have to run # the `address_cache` binary and move the contents into place at # `/var/cache/mullvad-vpn/api-ip-address.txt` manually. '' mkdir -p $out/share/mullvad ln -s ${bootstrap-address-cache} $out/share/mullvad/api-ip-address.txt '' + </del> # Files necessary for OpenVPN tunnels to work. '' <ins> mkdir -p $out/share/mullvad </ins> cp dist-assets/ca.crt $out/share/mullvad ln -s ${openvpn-mullvad}/bin/openvpn $out/share/mullvad ln -s ${shadowsocks-rust}/bin/sslocal $out/share/mullvad

Discussion:
Latest version uses Electron 18 instead of 16, which fixes issues with Wayland + Nvidia graphics. <!-- Note that these are hard requirements --<!-- You can use the "Go to file" functionality on GitHub to find the package Then you can go to the history for this package Find the latest "packagename: oldversion -newversion" commit The "newversion" is the current version of the package --- <!-- 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! --- name: mullvad-vpn <!-- The current version can be found easily with the same process as above for checking the master branch If an open PR is present for the package, take this version as the current one and link to the PR --current version: 2022.1 desired version: 2022.2 <!-- Search your package here: If no maintainer is listed for your package, tag the person that last updated the package --maintainers: Please tag this issue in your PR.
Change:
environment.systemPackages = [ package ] ++ optional cfg.hsphfpd.enable pkgs.hsphfpd; <ins> environment.etc."bluetooth/input.conf".source = cfgFmt.generate "input.conf" cfg.input; environment.etc."bluetooth/network.conf".source = cfgFmt.generate "network.conf" cfg.network; </ins> environment.etc."bluetooth/main.conf".source = cfgFmt.generate "main.conf" (recursiveUpdate defaults cfg.settings); services.udev.packages = [ package ];

Discussion:
BlueZ is currently setup to read auxiliary config files (i.e. , ) from its package directory, which makes it hard to write to them properly on a NixOS system. These configuration files are the only way to configure certain behaviours of , such as in , which is an important setting for device power saving. It's not possible to specify these options in . And it's not possible to specify the path of at runtime. Steps to reproduce the behavior: a file, either manually or from a nix configuration. with . hasn't loaded any settings from . (It's easy to test if you fill with trash since it should log: ). It should be possible to configure all aspects of in the same way. BlueZ loads from a hardcoded path: The same is try for : The define is set to the package directory by default. For a symlink is setup, however no such link is setup for or : I wonder if a fix for this might be adding to the of BlueZ? There's no maintainer listed in , so I'm pinging the people who last touched it :) , Please run and paste the result.
I feel like this could be easily fixed rather in the by adding 2 more options for and under (?) Let me see if I can carve out some time later this week..
Fixed in
Change:
<ins> { config, lib, pkgs, ... }: let cfg = config.services.prometheus.exporters.borgmatic; in { port = 9996; extraOpts.configFile = lib.mkOption { type = lib.types.path; default = "/etc/borgmatic/config.yaml"; description = '' The path to the borgmatic config file ''; }; serviceOpts = { serviceConfig = { DynamicUser = false; ProtectSystem = false; ProtectHome = lib.mkForce false; ExecStart = '' ${pkgs.prometheus-borgmatic-exporter}/bin/borgmatic-exporter run  --port ${toString cfg.port}  --config ${toString cfg.configFile}  ${lib.concatMapStringsSep " " (f: lib.escapeShellArg f) cfg.extraFlags} ''; }; }; } </ins>

Discussion:
Project description <!-- Describe the project a little: --Prometheus exporter for Borgmatic Written in python, depends on unpackaged python packages and . Metadata homepage URL: source URL: license: mit platforms: any Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
Change:
"-X github.com/notaryproject/notation/internal/version.BuildMetadata=" ]; <ins> postInstall = '' installShellCompletion --cmd notation  --bash <($out/bin/notation completion bash)  --fish <($out/bin/notation completion fish)  --zsh <($out/bin/notation completion zsh) ''; </ins> passthru.tests.version = testers.testVersion { package = notation; command = "notation version";

Discussion:
After installation notation shell completion is not available. Steps to reproduce the behavior: notation completion Shell completion should be installed. N/A N/A <!-- 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]:
Change:
HandBrakeCLI -i ${testMkv} -o test.mkv -e x264 -q 20 -B 160 test -e test.mkv ''; <del> version = testers.testVersion { package = self; command = "HandBrakeCLI --version"; }; </del> <ins> tests.version = testers.testVersion { package = self; command = "HandBrakeCLI --version"; }; </ins> }; meta = with lib; {

Discussion:
Package name: handbrake Latest released version: 1.7.3 Current version on the unstable channel: 1.6.1 Current version on the stable/release channel: 1.6.1 Notify maintainers Note for maintainers: Please tag this issue in your PR.
Revised to 1.7.2 release
Revised to 1.7.3
Change:
serviceConfig = { ExecStart = <del> "${cfgc.package}/sbin/sshd " + (optionalString cfg.startWhenNeeded "-i ") + </del> <ins> "${cfgc.package}/bin/sshd " + (optionalString cfg.startWhenNeeded "-i ") + </ins> "-f ${pkgs.writeText "sshd_config" cfg.extraConfig}"; KillMode = "process"; } // (if cfg.startWhenNeeded then {

Discussion:
My understanding was that nix rejected the / distinction and we avoided having folders in our outputs. At the same time, I see that at least the following packages have nontrivial output folders: - - - probably several more And that we have workarounds like in place to deal with that fact. Questions: Are those packages supposed to have output folders? Is the exception policy described somewhere? What mechanism is suppressing in , for example? It looks like at least for , the was intentional:
Are you sure they're not symlinks? E.g. for iptables is a symlink: The script seems to be working fine here and on Hydra. For the other examples, they were written before the move-sbin-to-bin script, so they can probably just be fixed to use /bin. A stricter policy would be to remove /sbin completely; I like that, as the current approach does cause some overhead, particularly in buildEnv (It's not smart enough to merge all the symlinks together) Old mailing list discussion:
That would first need quite some changes in nixpkgs: but it should be safe to sed this without much checking.
All packages on this list do have sbin only as symlink to bin (x86_64-linux, master). Perhaps some buildEnv confused you? (It seems you meant the same platform.) The string there was very long ago: .
(triage) Is there an action item? Are the sbin folders problematic?
i believe there is a fixupPhase that moves all sbin items to bin, but then symlinks sbin to bin incase sbin paths where hard-coded into things that may be part of what is adding confusion to this
In all the cases above it's just a symlink, as there's that hook moving stuff around. It doesn't seem likely to me that someone would really want to eliminate all references, as it's nontrivial work with risks of breakage and very little to gain IMHO. (Also, contrary to merge that is quite common nowadays, I haven't noticed any other distro getting rid of .)
Change:
<ins> { lib , stdenvNoCC , fetchFromGitHub }: stdenvNoCC.mkDerivation { pname = "whitesur-cursors"; version = "unstable-2022-06-17"; src = fetchFromGitHub { owner = "vinceliuice"; repo = "WhiteSur-cursors"; rev = "5c94e8c22de067282f4cf6d782afd7b75cdd08c8"; sha256 = "sha256-CFse0XZzJu+PWDcqmvIXvue+3cKX47oavZU9HYRDAg0="; }; installPhase = '' runHook preInstall install -dm 755 $out/share/icons/WhiteSur-cursors cp -r dist/* $out/share/icons/WhiteSur-cursors runHook postInstall ''; meta = { description = "An x-cursor theme inspired by macOS and based on capitaine-cursors"; homepage = "https://github.com/vinceliuice/WhiteSur-cursors"; license = lib.licenses.gpl3Only; maintainers = with lib.maintainers; [ tomasajt ]; platforms = lib.platforms.linux; }; } </ins>

Discussion:
Project description WhiteSur cursors theme for linux desktops, to go with . Metadata homepage URL: source URL: license: platforms: linux
Change:
serviceConfig = { Type = "forking"; GuessMainPID = "no"; <del> User = "${cfg.user}"; Group = "${cfg.group}"; </del> <ins> User = cfg.user; Group = cfg.group; StateDirectory = "sabnzbd"; </ins> ExecStart = "${lib.getBin cfg.package}/bin/sabnzbd -d -f ${cfg.configFile}"; }; }; <ins> networking.firewall = mkIf cfg.openFirewall { allowedTCPPorts = [ 8080 ]; }; </ins> }; }

Discussion:
Unfortunately the user and group configuration options do not carry through to the creation of the directory, as this is hardcoded to for the username. This directory has 700 permissions, meaning the service will not start if you try to run it as a different user.
Just learned this the hard way __<;;
You can fix this by adding in the config for the sabnzbd user in the module: would give full directory privileges to the sabnzbd user, along with anyone that you add to the sabnzbd group. EDIT: Oh my god, I have had to edit this post like 10 times.
Here is an edit for your edit which contains a missing semicolon ;)
Change:
''; }; <ins> labels = mkOption { type = with types; attrsOf str; default = {}; description = lib.mdDoc "Labels to attach to the container at runtime."; example = literalExpression '' { "traefik.https.routers.example.rule" = "Host(`example.container`)"; } ''; }; </ins> entrypoint = mkOption { type = with types; nullOr str; description = lib.mdDoc "Override the default entrypoint of the image.";

Discussion:
The configuration options do not support the assignment of labels. Labels are common for dynamic configuration, e.g. for . Look at the . Channel 21.11
Change:
<ins> From f90278dac42135acd55200b7d2153f44d72fec53 Mon Sep 17 00:00:00 2001 From: Josef Knedl <josef.kemetmueller@aon.at> Date: Wed, 24 Feb 2016 00:37:40 +0100 Subject: [PATCH] Fix bad install_name for libtk8.6.dylib This follows: https://trac.macports.org/ticket/37395 and https://trac.macports.org/changeset/100816 Alternative would be to use Quartz build instead: https://sourceforge.net/p/tktoolkit/bugs/3048/ --- unix/Makefile.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unix/Makefile.in b/unix/Makefile.in index f21fdbb..1b89256 100644 --- a/unix/Makefile.in +++ b/unix/Makefile.in @@ -283,7 +283,7 @@ CC_SEARCH_FLAGS	= @CC_SEARCH_FLAGS@ LD_SEARCH_FLAGS	= @LD_SEARCH_FLAGS@ # support for embedded libraries on Darwin / Mac OS X -DYLIB_INSTALL_DIR	= ${LIB_RUNTIME_DIR} +DYLIB_INSTALL_DIR	= $(libdir) # support for building the Aqua resource file TK_RSRC_FILE		= @TK_RSRC_FILE@ -- 2.7.1 </ins>

Discussion:
Having installed the current binaries on OS X, I get an error upon executing . It seems that on installation of , the binary somehow incorrectly got linked using a colon separated list containing both and : when it should actually be only the path to :
It seems the guys at macports have stumbled upon this issue three years ago: Let's see if their patch fixes it.