Question: else [{ip = "*"; port = 80;}]; getListen = cfg: <del> let list = (lib.optional (cfg.port != 0) {ip = "*"; port = cfg.port;}) ++ cfg.listen; in if list == [] then defaultListen cfg else list; </del> <ins> if cfg.listen == [] then defaultListen cfg else cfg.listen; </ins> listenToString = l: "${l.ip}:${toString l.port}";

I set up a brand new NixOS system with nothing but . After switching to the new configuration, I ran and was surprised to find in there in a and state. I poked around and it turns out that our module refers to in its section: It sort of makes sense, because presumably you want your webserver to spin up after your database, but it feels kinda icky to give completely unrelated (in principle) services dependencies on one another, especially when some of them might not even be on your system. I suppose we could make that entry conditional on , but I'm not sure what the pros and cons of that are.
Yes, I'd think it would better be conditional. Units should get reloaded on system switch IIRC, before starting new services, so I see no danger in that.
I think, this link should be broken unconditionally. In my scenario apache-httpd is used solely for SVN web interface, and while I have running Postgresql instance, they are orthogonal (postgresql is acompanied by tomcat container/nginx pair)
Perhaps, yeah. It also appears to depend on , which I think is a nixops-ism.


Question: <ins> { lib , stdenv , rustPlatform , fetchFromGitHub , pkg-config , openssl , installShellFiles , darwin , testers , pixi }: rustPlatform.buildRustPackage rec { pname = "pixi"; version = "0.11.1"; src = fetchFromGitHub { owner = "prefix-dev"; repo = "pixi"; rev = "v${version}"; hash = "sha256-NOa8OvZs+BoJQ9qIU1lpMmEOecZpmwwCNYpDk1LUSTI="; }; cargoHash = "sha256-rDtr9ITYH5o/QPG1Iozh05iTA8c0i+3DnabXLzyqdrg="; nativeBuildInputs = [ pkg-config installShellFiles ]; buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin ( with darwin.apple_sdk_11_0.frameworks; [ CoreFoundation IOKit SystemConfiguration Security ] ); checkFlags = [ # Skip tests requiring network "--skip=add_channel" "--skip=add_functionality" "--skip=add_functionality_os" "--skip=add_functionality_union" "--skip=add_pypi_functionality" "--skip=test_alias" "--skip=test_cwd" "--skip=test_incremental_lock_file" ]; postInstall = '' installShellCompletion --cmd pix  --bash <($out/bin/pixi completion --shell bash)  --fish <($out/bin/pixi completion --shell fish)  --zsh <($out/bin/pixi completion --shell zsh) ''; passthru.tests.version = testers.testVersion { package = pixi; }; meta = with lib; { description = "Package management made easy"; homepage = "https://pixi.sh/"; license = licenses.bsd3; maintainers = with lib.maintainers; [ aaronjheng ]; mainProgram = "pixi"; }; } </ins>

Project description Metadata homepage URL: source URL: license: bsd3 platforms: unix, linux, darwin


Question: install -v -m 444 -D btrfs-completion $out/share/bash-completion/completions/btrfs ''; <del> configureFlags = lib.optionals stdenv.hostPlatform.isMusl [ "--disable-backtrace" ] ++ lib.optionals (!enablePython) [ </del> <ins> configureFlags = [ # Built separately, see python3Packages.btrfsutil </ins> "--disable-python" <ins> ] ++ lib.optionals stdenv.hostPlatform.isMusl [ "--disable-backtrace" </ins> ] ++ lib.optionals (!udevSupport) [ "--disable-libudev" ]; makeFlags = [ "udevruledir=$(out)/lib/udev/rules.d" ]; <del> installFlags = lib.optionals enablePython [ "install_python" ]; </del> enableParallelBuilding = true; passthru.tests = {

Python module, corresponding to the package and exposing its functionality in Python programs, fails to import, despite being included in . module is imported successfully. n/a <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. --- (as maintainer) (as the one who exposed the Python bindings) Please run and paste the result.
Note: it seems like the module doesn't work even on commits that introduced it properly... To verify, run in a Nixpkgs checkout:
Yeah, I screwed up testing this. btrfs-progs doesn't propagate python, so I was using my system (non-NixOS) Python installation without noticing. should fix it.


Question: buildInputs = [ gpsd libcap libnl ]; preBuild = '' <del> makeFlags="PREFIX=$out PKG_CONFIG=${pkg-config}/bin/${pkg-config.targetPrefix}pkg-config" </del> <ins> makeFlags="PREFIX=$out" </ins> ''; meta = {

Failed to cross compile batctl package for riscv64 using nixpkgs on Ubuntu. Nix is not able to meat the dependency for the package: While the package successfully cross compiles on a NixOS* machine. Steps to reproduce the behavior: nix environment on a Ubuntu machine. and cross compile batctl package for riscv64. Below is the command I am using: attached nix-info not availble on Ubuntu
can you give the version of nix and the revision of nixpkgs (it might be in a file called .git-revision).
is the sandbox enabled, if they're at the same rev
Turns out I couldn't reproduce it because my machine has riscv emulation enabled, the makefile is calling a riscv version of pkg-config. I'm testing a fix to the problem at the moment


Question: # Wrap manually dontWrapQtApps = true; <del> dontWrapGApps = true; </del> # Remove some references to shrink the closure size. This reference (as of # 2018-11-06) was a single string like the following:

When using file picker in calibre e.g. on first launch after install that pops up file picker to select library path or by clicking "Add books" in menu calibre will crash with error Steps to reproduce the behavior: not yet crashed - select "Add books" item in menu Calibre should work without issues From i figured adding to solves problem, so running it like this works: Please run and paste the result.


Question: , pango , systemd , xorg <ins> , fontconfig </ins> }: stdenv.mkDerivation (finalAttrs: { pname = "plymouth"; <del> version = "23.360.11"; </del> <ins> version = "24.004.60"; </ins> outputs = [ "out" "dev" ];

For a few days, when booting my amd computer with plymouth enabled I can't enter my passphrase anymore. Pushing keys multiple times eventually end up in one key-press being accepted. Booting with instead of suddenly has no more issues with keyboard entries. Steps to reproduce the behavior: NixOS Unstable to and with a LUKS/ZFS Passphrase -presses are omitted Every key I hit will be used. <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. -- ? system: host os: multi-user?: sandbox: version: channels(pl): channels(root): nixpkgs: Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
Upstream bug report Fixed in upstream already


Question: storm = callPackage ../servers/computing/storm { }; <ins> switcheroo-control = callPackage ../os-specific/linux/switcheroo-control { }; </ins> slurm = callPackage ../servers/computing/slurm { gtk2 = null; }; slurm-spank-x11 = callPackage ../servers/computing/slurm-spank-x11 { };

Project description A dbus api to start programs on a different GPU Metadata homepage URL: source license: gpl3 platforms: linux
Duplicate


Question: enable = mkOption { type = types.bool; default = false; <del> description = "Enable Mailman on this host. Requires an active Postfix installation."; </del> <ins> description = "Enable Mailman on this host. Requires an active MTA on the host (e.g. Postfix)."; </ins> }; package = mkOption {

Describe the bug Mailman module in NixOS requires postfix enabled and has no way to configure Mailman to work with other MTAs supported by both NixOS and mailman upstream. To Reproduce Steps to reproduce the behavior: postfix mailman the evaluation with an assertion Expected behavior The Mailman module allows to select an MTA of choice (or even adapts to the currently enabled MTA) Screenshots n/a Additional context Notify maintainers cc Metadata system: host os: multi-user?: sandbox: version: channels(root): channels(vika): nixpkgs: Maintainer information:
It looks like exim's configuration should be RFC42-ised first if we want to inject Mailman-related settings into Exim config, which is a requirement (Mailman requires a custom Exim router and transport).
Yes, the module is currently quite opinionated. If you're willing to contribute exim support that's great.
I see how I could make it work, but the first version of it will require manual editing of Exim's config files (because RFC42-ising Exim will be a pain, even though I have some drafts on how to translate Nix into the syntax that's required), and I'm not sure if it will be merge-worthy enough :3
Exim config is complicated enough as is, I'm not sure adding an intermediate layer from nix will help that much. I also don't really see this integrating well with existing or other exim config. I'm honestly kind of surprised this works for postfix.


Question: { lib <ins> , stdenv </ins> , buildPythonPackage , fetchFromGitHub , pythonOlder

Steps to reproduce the behavior: python3Packages.rapidfuzz Introduced in . Please run and paste the result.
It appears that cmake selects an incorrect linker. I am currently unsure what's the reason for this. Following I think I might need to set: I have zero experience with nix os + no access to a mac. Is there any way to patch in the build system here to check whether this solves the issue?


Question: }; preBuild = '' <del> makeFlags="V=1 DISABLE_JBIG=1 CUPSFILTER=$out/lib/cups/filter CUPSPPD=$out/share/cups/model" </del> <ins> makeFlags="V=1 CUPSFILTER=$out/lib/cups/filter CUPSPPD=$out/share/cups/model" </ins> ''; buildInputs = [cups zlib];

I note that the package sets in .[(1)] says [(2)] that the reason to disable "JBIG" is patent concerns, that disabling it removes support for many printers, and that "The patent will expire on April 4, 2012". Given the last, need we still disable this feature? [(1)]: [(2)]:
I don't think so. openSUSE enabled it, too. Other distributions might have done the same, not sure.
A PR that implements this change request would be very welcome. I'd rather not have this issue lying around, though, without someone having committed to actually work on it.


Question: boost = boost179; }; <ins> xorriso = libisoburn; </ins> xurls = callPackage ../tools/text/xurls { }; xxv = callPackage ../tools/misc/xxv { };

Can't build xorriso due to source archive hash mismatch. Steps to reproduce the behavior: the substituter -shell -p xorriso nixpkgs 23.11.5408.
Probably it comes from a moving target... Let's go!
How exactly it happened? Here is the url: Is web archive failing?? P.S.: since Xorriso is just another name for libisoburn, I will remove xorriso and link-alias it to libisoburn.


Question: lib, pkgs, ... <del> }: let </del> <ins> }: let </ins> nvidiaEnabled = (lib.elem "nvidia" config.services.xserver.videoDrivers); <del> nvidia_x11 = if nvidiaEnabled || cfg.datacenter.enable then cfg.package else null; </del> <ins> nvidia_x11 = if nvidiaEnabled || cfg.datacenter.enable then cfg.package else null; </ins> cfg = config.hardware.nvidia;

Package name: Latest released version: 555.42.02 <!-- Search your package here: --- Current version on the unstable channel: 550.78 Current version on the stable/release channel: 545.29.02 <!-- 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]:


Question: <ins> From 6ee128b95bacaff20746538dc97c2b8e2b9fcc29 Mon Sep 17 00:00:00 2001 From: Mike Gilbert <floppym@gentoo.org> Date: Sun, 15 May 2022 10:54:38 -0400 Subject: [PATCH] openssl: load "legacy" provider for RC4 --- libtransmission/crypto-utils-openssl.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/libtransmission/crypto-utils-openssl.c b/libtransmission/crypto-utils-openssl.c index 45fd71913..14d680654 100644 --- a/libtransmission/crypto-utils-openssl.c +++ b/libtransmission/crypto-utils-openssl.c @@ -20,6 +20,9 @@ #include <openssl/rand.h> #include <openssl/ssl.h> #include <openssl/x509.h> +#if OPENSSL_VERSION_MAJOR >= 3 +#include <openssl/provider.h> +#endif #include "transmission.h" #include "crypto-utils.h" @@ -184,6 +187,10 @@ static void openssl_evp_cipher_context_free(EVP_CIPHER_CTX* handle) tr_rc4_ctx_t tr_rc4_new(void) { +#if OPENSSL_VERSION_MAJOR >= 3 +    OSSL_PROVIDER_load(NULL, "default"); +    OSSL_PROVIDER_load(NULL, "legacy"); +#endif EVP_CIPHER_CTX* handle = EVP_CIPHER_CTX_new(); if (check_result(EVP_CipherInit_ex(handle, EVP_rc4(), NULL, NULL, NULL, -1))) -- 2.35.1 </ins>

Steps to reproduce the behavior: pkgs.transmission to your environment.systemPackages (or use = true;) build will fail when trying to download a file that does not exist That does not seem to exist (I think, sorry for the @ otherwise) <!-- 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]:


Question: patches = [ # fix build with openssl 3.0 <del> (fetchurl { url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/net-p2p/transmission/files/transmission-3.00-openssl-3.patch"; hash = "sha256-peVrkGck8AfbC9uYNfv1CIu1alIewpca7A6kRXjVlVs="; }) </del> <ins> ./transmission-3.00-openssl-3.patch </ins> ]; outputs = [ "out" "apparmor" ];


Question: , xorg , libiconv , AppKit <del> , Foundation </del> , Security # darwin.apple_sdk.sdk , sdk

Steps to reproduce the behavior: nix on x86_64-darwin experimental features nix-command and flakes to install nushell v0.75.0 via . Please run and paste the result.
I can confirm the bug, the following PR could resolve it.
that is great news! I am hopeful that can resolve it. I see that you marked this as resolved by . However, this does not seem to have resolved the issue for me. I am still receiving the same error when trying to build :
The ofborg test did pass, see Maybe you have to build it on master? Also, I don't think will help, as the author of that PR.
Hmm, after upgrading nix and updating my nixpkgs-unstable channel, I'm still receiving the same error.
You have to wait for the commit to arrive on nixpkgs-unstable.
Thank you your PR resolved it. the fix is in the nixpkgs-unstable channel. Much appreciated!


Question: let basename = "streamlink-twitch-gui"; runtimeLibs = lib.makeLibraryPath [ libudev0-shim ]; <ins> runtimeBins = lib.makeBinPath [ streamlink ]; </ins> arch = if stdenv.hostPlatform.system == "x86_64-linux" then

Cannot view any content when running the program because it complains about missing binaries. Steps to reproduce the behavior: to watch any stream No errors, stream works system: host os: multi-user?: sandbox: version: channels(admin): nixpkgs: Add and as runtime dependencies because the following works for me:


Question: <del> { channel, pname, version, sha256Hash, patches }: </del> <ins> { channel, pname, version, sha256Hash, patches , filename ? "flutter_linux_v${version}-${channel}.tar.xz" }: </ins> { bash, buildFHSUserEnv, cacert, coreutils, git, makeWrapper, runCommand, stdenv , fetchurl, alsaLib, dbus, expat, libpulseaudio, libuuid, libX11, libxcb

When trying to install , the build fails with: To reproduce, use the following and run it with : I think this happens because of the symlink of the , which seems to be resolved while running the build and in that case the symlink target does not exist. /cc btw: could you please also add support for the latest beta / dev / stable releases?
Hey it's fixed in the latest commit. Can you try it ?
Works fine, thank you very much for the fast fix!


Question: <ins> import ./make-test-python.nix ({ pkgs, lib, ... }: let # Well, we _can_ cross-compile from Linux :) hello = pkgs.runCommand "hello" { sdk = "${pkgs.darling.sdk}/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk"; nativeBuildInputs = with pkgs.llvmPackages_latest; [ clang-unwrapped lld ]; src = pkgs.writeText "hello.c" '' #include <stdio.h> int main() { printf("Hello, Darling!n"); return 0; } ''; } '' clang  -target x86_64-apple-darwin  -fuse-ld=lld  -nostdinc -nostdlib  -mmacosx-version-min=10.15  --sysroot $sdk  -isystem $sdk/usr/include  -L $sdk/usr/lib -lSystem  $src -o $out ''; in { name = "darling"; meta.maintainers = with lib.maintainers; [ zhaofengli ]; nodes.machine = { programs.darling.enable = true; }; testScript = '' start_all() # Darling holds stdout until the server is shutdown machine.succeed("darling ${hello} >hello.out") machine.succeed("grep Hello hello.out") machine.succeed("darling shutdown") ''; }) </ins>

Darling is a compatibility layer for running macOS apps on Linux (think Wine for macOS). I think it would be interesting to work on with macOS support. They have reverse engineered some headers that Apple doesn't release publicly so having them in "libdarling" could be useful.
We already have this part:
Just heard of Darling. I would be delighted if it could be used for running builds on NixOS!
It seem to be packaged by but only for macOS. If i understand the project correctly, that makes no sense. We want it on linux, to run macOS apps. Also, the package has no version. That's probably because they havn't tagged a version yet. So this is pre-alpha state software. could you update the package to the commit the "stable" AUR package uses and add a version as described here: ? Then we can close this issue.
It looks like the project has started using tagged versions:
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 .
I'd still be very interested in seeing this , especially with the hope of future cross-compilation support
This would even make it possible to package Mac binaries for Linux!
I'm interested in this so that I can test cross compiled binaries when running tests.
I marked this as stale due to inactivity. →
Not stale!!
darling-dmg is just part of . To be exact, it is included as a submodule in the source tree of darling. The darling build will come with kernel modules. It would need someone with kernel-packaging experience to pack it into Nixpkgs. Build instructions in the Darling Docs:
I marked this as stale due to inactivity.


Question: <ins> import ./make-test-python.nix ({ pkgs, lib, ... }: let # Well, we _can_ cross-compile from Linux :) hello = pkgs.runCommand "hello" { sdk = "${pkgs.darling.sdk}/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk"; nativeBuildInputs = with pkgs.llvmPackages_latest; [ clang-unwrapped lld ]; src = pkgs.writeText "hello.c" '' #include <stdio.h> int main() { printf("Hello, Darling!n"); return 0; } ''; } '' clang  -target x86_64-apple-darwin  -fuse-ld=lld  -nostdinc -nostdlib  -mmacosx-version-min=10.15  --sysroot $sdk  -isystem $sdk/usr/include  -L $sdk/usr/lib -lSystem  $src -o $out ''; in { name = "darling"; meta.maintainers = with lib.maintainers; [ zhaofengli ]; nodes.machine = { programs.darling.enable = true; }; testScript = '' start_all() # Darling holds stdout until the server is shutdown machine.succeed("darling ${hello} >hello.out") machine.succeed("grep Hello hello.out") machine.succeed("darling shutdown") ''; }) </ins>

→
I'd still like to see this, though largely for much the same reason Andrew mentions at this point -- I've started working with zig and being able to test cross-compiled macos binaries would be brilliant.
I have got most of a Darling build file running, but I have found an interesting issue. Wever I build I get the following error: From this cmake file: As far as I can tell, the command is a special MacOS thing, and I unfortunately do not understand CMake well enough to fix it...
Well, turns out the issue is that Darling relies on git-submodules, and it looks like this must be built against the Git repo directly, not against the released tarball...
What would therefore be a derivation?
What do you mean It's just a with .
I tried to re-package the prebuilt deb from darling GitHub releases. Here is the nix code darling- Save these 2 snippets as and darling-, then run . With 2 problems: needs setuid/setgid perms, while nix-build would fail if dpkg-deb -x executed directly. I use fakeroot to ignore this problem. always fails. I am not a darling expert, have no idea.
Ah, fantastic, thanks! Looking forward to having this in nixpkgs anyway, but let's see how we go there.
It could be named when entering Nixpkgs.
Good suggestion. I've edited those two scripts.
I got as far as finding out that darlingserver doesn't start with that script because it expects /usr/bin, so updating my to a version, the next issue was that darlingserver was trying to mount overlayfs on "lowerdir=/usr/libexec/darling,up" (may be incomplete, this is strace output) which did not exist.
After a bit of tinkering I got Darling to build from source. I opened with more info. Please give it a try!
It seems that they now use instead of the kernel module. This would make packaging easier.
What's the purpose of ? If it is only the sandbox part of Darling, a new name like would bring less confusion. Update: Opened PR to do the renaming.


Question: mv trebucbd.ttf  Trebuchet_MS_Bold.ttf mv trebucit.ttf  Trebuchet_MS_Italic.ttf mv trebucbi.ttf  Trebuchet_MS_Italic.ttf <del> mv verdana.ttf   Verdana.ttf </del> <ins> mv verdana.ttf   Verdana.ttf.tmp mv Verdana.ttf.tmp   Verdana.ttf </ins> mv verdanab.ttf  Verdana_Bold.ttf mv verdanai.ttf  Verdana_Italic.ttf mv verdanaz.ttf  Verdana_Bold_Italic.ttf <del> mv webdings.ttf  Webdings.ttf </del> <ins> mv webdings.ttf  Webdings.ttf.tmp mv Webdings.ttf.tmp  Webdings.ttf </ins> install -m444 -Dt $out/share/fonts/truetype *.ttf

Steps to reproduce the behavior: macOS: Since , this fails on macOS due to case-insensitivity (). The offending PR had no description, no reviews and no reports of tests on any platform. It was merged by the author four days after it was opened. Please run and paste the result.
Fuck MacOS and their stupid case insensitive file system.
Can you try mv'ing the file first to another name like?


Question: stdenv.mkDerivation rec { pname = "sqlite-analyzer"; <del> version = "3.32.2"; </del> <ins> version = "3.32.3"; </ins> src = assert version == sqlite.version; fetchurl { url = "https://sqlite.org/2020/sqlite-src-${archiveVersion version}.zip"; <del> sha256 = "1jqhs896cvp9l399mjpbv1x2qbfvq875l1vrgnl3zc4ffdjxs9z0"; </del> <ins> sha256 = "1fgmslzf013ry3a7g2vms7zyg24gs53gfj308r6ki4inbn3g04lk"; </ins> }; nativeBuildInputs = [ unzip ];

, CVSSv3=9.8 (nixos-20.03) Scanned versions: nixos-20.03: . May contain false positives. Cc Cc
See also: , ,


Question: stdenv.mkDerivation rec { pname = "sqlite-analyzer"; <del> version = "3.32.2"; </del> <ins> version = "3.32.3"; </ins> src = assert version == sqlite.version; fetchurl { url = "https://sqlite.org/2020/sqlite-src-${archiveVersion version}.zip"; <del> sha256 = "1jqhs896cvp9l399mjpbv1x2qbfvq875l1vrgnl3zc4ffdjxs9z0"; </del> <ins> sha256 = "1fgmslzf013ry3a7g2vms7zyg24gs53gfj308r6ki4inbn3g04lk"; </ins> }; nativeBuildInputs = [ unzip ];

, CVSSv3=9.8 (nixos-20.03, nixos-unstable) Scanned versions: nixos-20.03: ; nixos-unstable: . May contain false positives. Cc Cc
See also:


Question: stdenv.mkDerivation rec { pname = "sqlite-analyzer"; <del> version = "3.32.2"; </del> <ins> version = "3.32.3"; </ins> src = assert version == sqlite.version; fetchurl { url = "https://sqlite.org/2020/sqlite-src-${archiveVersion version}.zip"; <del> sha256 = "1jqhs896cvp9l399mjpbv1x2qbfvq875l1vrgnl3zc4ffdjxs9z0"; </del> <ins> sha256 = "1fgmslzf013ry3a7g2vms7zyg24gs53gfj308r6ki4inbn3g04lk"; </ins> }; nativeBuildInputs = [ unzip ];

, CVSSv3=7.5 (nixos-20.03, nixos-unstable) Scanned versions: nixos-20.03: ; nixos-unstable: . May contain false positives. Cc Cc


Question: stdenv.mkDerivation rec { pname = "sqlite-analyzer"; <del> version = "3.32.2"; </del> <ins> version = "3.32.3"; </ins> src = assert version == sqlite.version; fetchurl { url = "https://sqlite.org/2020/sqlite-src-${archiveVersion version}.zip"; <del> sha256 = "1jqhs896cvp9l399mjpbv1x2qbfvq875l1vrgnl3zc4ffdjxs9z0"; </del> <ins> sha256 = "1fgmslzf013ry3a7g2vms7zyg24gs53gfj308r6ki4inbn3g04lk"; </ins> }; nativeBuildInputs = [ unzip ];

, CVSSv3=9.8 (nixos-20.03) CVSSv3=7.5 (nixos-20.03) CVSSv3=7.5 (nixos-20.03) CVSSv3=7.0 (nixos-20.03) CVSSv3=5.5 (nixos-20.03) CVSSv3=5.5 (nixos-20.03) CVSSv3=5.5 (nixos-20.03) CVSSv3=5.5 (nixos-20.03) Scanned versions: nixos-20.03: . May contain false positives. Cc Cc
See also: ,


Question: stdenv.mkDerivation rec { pname = "sqlite-analyzer"; <del> version = "3.32.2"; </del> <ins> version = "3.32.3"; </ins> src = assert version == sqlite.version; fetchurl { url = "https://sqlite.org/2020/sqlite-src-${archiveVersion version}.zip"; <del> sha256 = "1jqhs896cvp9l399mjpbv1x2qbfvq875l1vrgnl3zc4ffdjxs9z0"; </del> <ins> sha256 = "1fgmslzf013ry3a7g2vms7zyg24gs53gfj308r6ki4inbn3g04lk"; </ins> }; nativeBuildInputs = [ unzip ];

, CVSSv3=9.8 (nixos-19.09, nixos-unstable) CVSSv3=7.5 (nixos-19.09, nixos-unstable) CVSSv3=7.5 (nixos-19.09, nixos-unstable) Scanned versions: nixos-19.09: ; nixos-unstable: . May contain false positives.
See also:


Question: stdenv.mkDerivation rec { pname = "sqlite-analyzer"; <del> version = "3.32.2"; </del> <ins> version = "3.32.3"; </ins> src = assert version == sqlite.version; fetchurl { url = "https://sqlite.org/2020/sqlite-src-${archiveVersion version}.zip"; <del> sha256 = "1jqhs896cvp9l399mjpbv1x2qbfvq875l1vrgnl3zc4ffdjxs9z0"; </del> <ins> sha256 = "1fgmslzf013ry3a7g2vms7zyg24gs53gfj308r6ki4inbn3g04lk"; </ins> }; nativeBuildInputs = [ unzip ];

, CVSSv3=9.8 (nixos-19.09, nixos-unstable) CVSSv3=7.5 (nixos-19.09, nixos-unstable) CVSSv3=7.5 (nixos-19.09, nixos-unstable) Scanned versions: nixos-19.09: ; nixos-unstable: . May contain false positives.


Question: stdenv.mkDerivation rec { pname = "sqlite-analyzer"; <del> version = "3.32.2"; </del> <ins> version = "3.32.3"; </ins> src = assert version == sqlite.version; fetchurl { url = "https://sqlite.org/2020/sqlite-src-${archiveVersion version}.zip"; <del> sha256 = "1jqhs896cvp9l399mjpbv1x2qbfvq875l1vrgnl3zc4ffdjxs9z0"; </del> <ins> sha256 = "1fgmslzf013ry3a7g2vms7zyg24gs53gfj308r6ki4inbn3g04lk"; </ins> }; nativeBuildInputs = [ unzip ];

, CVSSv3=9.8 (nixos-20.03) CVSSv3=9.8 (nixos-20.03) CVSSv3=9.8 (nixos-20.03) CVSSv3=7.5 (nixos-20.03) CVSSv3=7.5 (nixos-20.03) CVSSv3=7.5 (nixos-20.03) CVSSv3=7.5 (nixos-20.03) CVSSv3=7.5 (nixos-20.03) CVSSv3=7.5 (nixos-20.03) CVSSv3=7.5 (nixos-20.03) CVSSv3=7.5 (nixos-20.03) CVSSv3=7.5 (nixos-20.03) CVSSv3=5.9 (nixos-20.03) CVSSv3=5.5 (nixos-20.03) CVSSv3=5.3 (nixos-20.03) Scanned versions: nixos-20.03: . May contain false positives.
See also:


Question: stdenv.mkDerivation rec { pname = "sqlite-analyzer"; <del> version = "3.32.2"; </del> <ins> version = "3.32.3"; </ins> src = assert version == sqlite.version; fetchurl { url = "https://sqlite.org/2020/sqlite-src-${archiveVersion version}.zip"; <del> sha256 = "1jqhs896cvp9l399mjpbv1x2qbfvq875l1vrgnl3zc4ffdjxs9z0"; </del> <ins> sha256 = "1fgmslzf013ry3a7g2vms7zyg24gs53gfj308r6ki4inbn3g04lk"; </ins> }; nativeBuildInputs = [ unzip ];

, CVSSv3=9.8 (nixos-19.09) CVSSv3=9.8 (nixos-19.09) CVSSv3=9.8 (nixos-19.09) CVSSv3=7.5 (nixos-19.09) CVSSv3=7.5 (nixos-19.09) CVSSv3=7.5 (nixos-19.09) CVSSv3=7.5 (nixos-19.09) CVSSv3=7.5 (nixos-19.09, nixos-unstable) CVSSv3=7.5 (nixos-19.09, nixos-unstable) CVSSv3=7.5 (nixos-19.09) CVSSv3=5.9 (nixos-19.09) CVSSv3=5.5 (nixos-19.09) CVSSv3=5.3 (nixos-19.09, nixos-unstable) Scanned versions: nixos-19.09: ; nixos-unstable: . May contain false positives.
See also:
30.1 is also the default version in 20.03 ATM.


Question: if ($copyKernels == 0) { $conf .= $grubStore->search . "n"; } <del> if ($extraInitrd) { $conf .= $extraInitrdPath->search . "n"; } </del> $conf .= "  $extraPerEntryConfign" if $extraPerEntryConfig; $conf .= "  multiboot $xen $xenParamsn" if $xen; $conf .= "  " . ($xen ? "module" : "linux") . " $kernel $kernelParamsn";

Ditto. I have noticed this accidentially whily working at . Nixpkgs version: (run ) cc
You can puts secrets in an additionnal initrd readable by root only, and use See
There is more generic option now, . We probably want to merge those.


Question: "-DSPHINX_WARNINGS_AS_ERRORS=OFF" ]; <del> postPatch = '' </del> <ins> postPatch = lib.optional enableSharedLibraries '' </ins> substitute '${./outputs.patch}' ./outputs.patch --subst-var lib patch -p1 < ./outputs.patch '';

Blender 2.93.5 Hallo When I start Blender now and set under “Render Properties” → “Cycles” Blender crashes completely. Also when I go to “Edit” → “Preferences” → “System” Blender crashes immediately with this Error: What does that tell me now? My GPU configuration in the clinfo: nix run -c nix-info -m:
I think this might be the same issue as described in


Question: "-DSPHINX_WARNINGS_AS_ERRORS=OFF" ]; <del> postPatch = '' </del> <ins> postPatch = lib.optional enableSharedLibraries '' </ins> substitute '${./outputs.patch}' ./outputs.patch --subst-var lib patch -p1 < ./outputs.patch '';

Describe the bug Blender segfaults when an OpenCL render is attempted. To Reproduce Steps to reproduce the behavior: Properties (right panel) Select Cycles, change device to GPU Compute Expected behavior It should render. Additional context May be related to and 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 system: host os: multi-user?: sandbox: version: channels(root): nixpkgs: Maintainer information: Blender gdb backtrace: I'm using a Radeon VII with: gives me:
cc
This seems like an upstream issue. The question is which upstream? Does the crash also occur with e.g. the Intel OpenCL runtime?
FWIW, I also see the segfault on an rx580 following the repro instructions. It does like others have Blender working with ROCm OpenCL, so the crash may well be due to our packaging. did such a nice job cleaning up our LLVM derivations that there's much less room for funny business now than with previous releases. I see that we have a option we could give LLVM which might reveal a bit more information?
I can also reproduce the problem on a RX580. Here somebody has the same issue, with a plausible explanation: The conclusion there is that it occurs when two different LLVM versions are used in a process. Which would be the case here, since Blender uses OpenGL. Currently our Mesa is still on LLVM 9, whereas ROCm uses LLVM 11.
Yep, this is probably the issue. If I compile the derivation with a built against , I don't get the segfault. I am not sure yet what the solution is, since we cannot always update the LLVM version that Mesa uses to that of ROCm. I wonder how this is dealt with with ROCm on other distributions. Do they override the system Mesa?
I guess I should have turned up that link first given my prior involvement! Could we substitute a at runtime instead? Perhaps via ICD, or , or even ?
There is , which we could use to override system package. I guess if it works, we could add a module along the lines of the support, which would use as the OpenGL package and could even add the ICD definition to .


Question: "-DSPHINX_WARNINGS_AS_ERRORS=OFF" ]; <del> postPatch = '' </del> <ins> postPatch = lib.optional enableSharedLibraries '' </ins> substitute '${./outputs.patch}' ./outputs.patch --subst-var lib patch -p1 < ./outputs.patch '';

But we should probably first test how well building mesa against the LLVM fork works. At least it builds ;). I might have some time to look at this after work.
If you have a chance, could you elaborate on how you did this in nixos?: I understand that it's not the permanent fix, but I'm quite curious to try it.
I modified nixpkgs in-place, but you could do something like: And then: A more proper solution would be to switch to a -built Mesa for . I do have a branch for this: or the two commits: But I ran into another issue in Blender, and I didn't have time to investigate. The system (including GNOME, etc.) worked fine with Mesa built with llvmPackages_rocm.
Sorry. I misremember. I may have rebuilt my system with Which should be equivalent to having an overlay But I am a bit nervous about switching Mesa to a vendor-forked (IIRC prerelease) of LLVM. We should just document this incompatibility for 20.09 and then perhaps land something like the proposed branch/module in master/21.03. But that definitely requires more testing.
i tried your amdgpu-rocm thing but now blender crashes with this error when opening user preferences: is this the error you mentioned you didn't have time to debug?
That's the one. I am afraid though that I can't help with any further debugging. I had to replace the RX580 in the machine I was testing on by an NVIDIA card, because there were too many issues with training machine learning models on the RX580 :confused: .
this seems very similar to and replies there would seem to indicate that it's still some LLVM incompatibility, but i'm not sure what is incompatible here... is it blender itself?
I think the core problem is that both OpenGL and OpenCL (through winding paths) each load their own instances of LLVM into the process, and those instances of LLVM somehow end up sharing some global data, with usually disastrous results.
It seems that upstream now explicitly states that ROCm is only for headless deployments: Given the risks of compiling Mesa against a vendor fork (we get to fix any bugs), I think that we should just document this in the AMD -OpenCL section of the manual and leave it at that. Do you agree ?


Question: "-DSPHINX_WARNINGS_AS_ERRORS=OFF" ]; <del> postPatch = '' </del> <ins> postPatch = lib.optional enableSharedLibraries '' </ins> substitute '${./outputs.patch}' ./outputs.patch --subst-var lib patch -p1 < ./outputs.patch '';

Given this and the lack of RDNA support, I guess the future of OpenCL for GUI apps is with Mesa's Clover.
I do agree, yes. An AMD employee has been trying to walk things back, but who knows. It doesn’t make sense that they just switched their consumer driver to use ROCm for OpenCL if they don’t have a vision of getting in sync with Mesa, but that’s clearly their row to hoe.
I'm amazed AMD has any foot left to shoot at.
I marked this as stale due to inactivity. →
Still important, though only in general (OpenCL in GUI apps with AMD GPUs), because .
This issue has been mentioned on NixOS Discourse. There might be relevant details there:
I think I finally figured out a workaround! Disabling for seems to work. I did it with the following patch to nixpkgs, but it should be possible to do it with an overlay too: After a lot of building, Blender seems happy again :) !
If this works, it is incredible. How would I do it as an overlay?
I think this should do it. It's ugly and there might be a better way but it should at least make it easy to test if it works for you. I'm still trying to figure out if there's a simpler fix (for example, overriding just ), but haven't been able to figure it out yet.
It works for me. I suggest you make a PR with this change to Nixpkgs. It may seem a bit ad-hoc, but otherwise it is not possible for a process to have both OpenGL and ROCm OpenCL loaded simultaneously, which seems like a pretty common use case.
Now that I know it works for other people I'll try to make a PR in the next day or two, yeah :)


Question: final String gradlewBinaryName = Platform.isWindows ? 'gradlew.bat' : 'gradlew'; final Directory tempDir = Directory.systemTemp.createTempSync('flutter_devicelab_shutdown_gradle.'); -    recursiveCopy(Directory(path.join(flutterDirectory.path, 'bin', 'cache', 'artifacts', 'gradle_wrapper')), tempDir); <del> +    recursiveCopy(Directory(path.join(homeDirPath, '.cache', 'flutter', 'artifacts', 'gradle_wrapper')), tempDir); </del> <ins> +    recursiveCopy(Directory(path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter', 'artifacts', 'gradle_wrapper')), tempDir); </ins> copy(File(path.join(path.join(flutterDirectory.path, 'packages', 'flutter_tools'), 'templates', 'app', 'android.tmpl', 'gradle', 'wrapper', 'gradle-wrapper.properties')), Directory(path.join(tempDir.path, 'gradle', 'wrapper'))); if (!Platform.isWindows) { await exec(

When trying to install , the build fails with: To reproduce, use the following and run it with : I think this happens because of the symlink of the , which seems to be resolved while running the build and in that case the symlink target does not exist. /cc btw: could you please also add support for the latest beta / dev / stable releases?
Hey it's fixed in the latest commit. Can you try it ?
Works fine, thank you very much for the fast fix!


Question: ''; </programlisting> <del> The main difference is that preceding whitespace is automatically stripped from each line, and that characters like </del> <ins> The main difference is that it strips from each line a number of spaces equal to the minimal indentation of the string as a whole (disregarding the indentation of empty lines), and that characters like </ins> <literal>"</literal> and <literal></literal> are not special (making it more convenient for including things like shell <del> code).</para> </del> <ins> code). See more info about this in the Nix manual <link xlink:href="https://nixos.org/nix/manual/#ssec-values">here</link>.</para> </ins> </listitem> </varlistentry>

I can't figure out which are the problematic lines! 5 and 9 do not seem to be any valid lines considering the error descriptions, or they're the lines in the expanded output(??) - I don't get it. I hope it wasn't something I did here: this /etc/nixos/nixpkgs/ git pull (this was last: ) sudo -i nixos-rebuild switch --fallback System: (Flounder) Nix version: nix-env (Nix) 1.11.2 Nixpkgs version: ""


Question: buildInputs = optionals stdenv.isDarwin (with darwin; [ cups <ins> # `sw_vers` is used by `src/3rdparty/chromium/build/config/mac/sdk_info.py` # to get some information about the host platform. (writeScriptBin "sw_vers" '' #!${stdenv.shell} while [ $# -gt 0 ]; do case "$1" in -buildVersion) echo "17E199";; *) break ;; esac shift done '') </ins> # For sandbox.h include (runCommand "MacOS_SDK_sandbox.h" {} '' install -Dm444 "${lib.getDev darwin.apple_sdk.sdk}"/include/sandbox.h "$out"/include/sandbox.h

The component of the derivation fails to compile on MacOS. But in two ways, and I can't tell what causes one or the other to trigger. On command: On command: the channel compilation failure Compiles.
It has been broken for a while now for different reasons. Maintaining it for darwin is a lot of work and nobody has stepped up to do that. Also, this is a duplicate of
By the way, what is your use case for ?
We're building a desktop version of mobile application and we need for our in-app browser with Ethereum support.


Question: buildInputs = optionals stdenv.isDarwin (with darwin; [ cups <ins> # `sw_vers` is used by `src/3rdparty/chromium/build/config/mac/sdk_info.py` # to get some information about the host platform. (writeScriptBin "sw_vers" '' #!${stdenv.shell} while [ $# -gt 0 ]; do case "$1" in -buildVersion) echo "17E199";; *) break ;; esac shift done '') </ins> # For sandbox.h include (runCommand "MacOS_SDK_sandbox.h" {} '' install -Dm444 "${lib.getDev darwin.apple_sdk.sdk}"/include/sandbox.h "$out"/include/sandbox.h

Full log: Error message: That's the result I get from my macOS remote builder. When I run the build on my desktop Mac, it builds fine and uses the impure SDK from my Catalina install (10.15.1): However, the local build displays this warning repeatedly: I assume this is related to the macOS patches and hopefully gives some clue as to why it's broken.
qtbase builds fine on hydra: qtwebengine fails:
Those links point to the same thing. Anyway, strictly speaking I'm trying to build , but it's failing in .
Can you explain what do you mean? How are you using ?
It's a dependency of . edit: sorry, I see what you mean now. is a dependency of . I was confused by the message from the build saying that QT would be installed in .
Sure, depends on . Realistically, your best bet for now is to just use anki from an old version of nixpkgs. You see, doesn't have a darwin maintainer. I think, I was the last person to fix it around last January. The problem is that it's hard to keep up with all the updates. Every "minor" Qt version bump brings serious breaking changes for on darwin (like they might not even support our version of SDK anymore...). To make things worse we port all those bumps to the stable branch, so it quickly breaks there too.
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 .
Still important to me, many qt apps are broken on darwin due to this one.


Question: owner = "Ultimaker"; repo = "Cura"; rev = version; <del> sha256 = "1qnai8vmgy5lx3lapw96j41i8mw9p6r99i3qzs709l9yzrix6l86"; </del> <ins> sha256 = "1wf60qr0wqsci5skp55qr8h56s3x5s2icxbn58ia9s4a5hhvnsmf"; </ins> }; materials = fetchFromGitHub {

Describe the bug Slicing fails on latest Cura (4.3). When trying to slice any model the slicing progress bar will get stuck at about ~20%. I tried various printer presets and the problem persists. From looking at the logs it seems like that CuraEngine is unable to get a value for 'machineheatedbuildvolume', which was To Reproduce Steps to reproduce the behavior: any printer preset any model Slice Cura log relevant parts to the problem seem to be aditional information it seems like , from the nix package, indeed is missing the new setting. For comparison the upstream definition. Metadata Maintainer information:


Question: , libdrm ? null , mesa   ? null <del> , alsaSupport        ? stdenv.isLinux, alsa-lib       ? null </del> <ins> , alsaSupport        ? stdenv.isLinux, alsa-lib      ? null </ins> , archiveSupport     ? true,           libarchive    ? null , bluraySupport      ? true,           libbluray     ? null , bs2bSupport        ? true,           libbs2b       ? null

<!-- 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 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: mpv <!-- The current version can be found easily with the same process than 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: 0.33.1 desired version: 0.34.0 <!-- 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.


Question: rofi-unwrapped = callPackage ../applications/misc/rofi { }; rofi = callPackage ../applications/misc/rofi/wrapper.nix { }; <ins> rofi-wayland-unwrapped = callPackage ../applications/misc/rofi/wayland.nix { }; rofi-wayland = callPackage ../applications/misc/rofi/wrapper.nix { rofi-unwrapped = rofi-wayland-unwrapped; }; </ins> rofi-pass = callPackage ../tools/security/pass/rofi-pass.nix { };

Project description A window switcher, application launcher and dmenu replacement (Wayland fork) Metadata homepage URL: license: mit platforms: linux


Question: diff --git a/packages/flutter_tools/lib/src/asset.dart b/packages/flutter_tools/lib/src/asset.dart <del> index 80fb16673f..5723f93f9f 100644 </del> <ins> index ed42baea29..fee2fb1d62 100644 </ins> --- a/packages/flutter_tools/lib/src/asset.dart +++ b/packages/flutter_tools/lib/src/asset.dart <del> @@ -7,6 +7,7 @@ import 'package:meta/meta.dart'; import 'package:package_config/package_config.dart'; +import 'base/common.dart'; import 'base/context.dart'; import 'base/deferred_component.dart'; import 'base/file_system.dart'; @@ -16,6 +17,7 @@ import 'build_info.dart'; import 'cache.dart'; </del> <ins> @@ -11,11 +11,11 @@ import 'base/file_system.dart'; import 'base/logger.dart'; import 'base/platform.dart'; import 'build_info.dart'; -import 'cache.dart'; </ins> import 'convert.dart'; import 'dart/package_map.dart'; <del> +import 'globals.dart' as globals; </del> import 'devfs.dart'; import 'flutter_manifest.dart'; <ins> +import 'globals.dart' as globals; </ins> import 'license_collector.dart'; <del> @@ -449,7 +451,7 @@ class ManifestAssetBundle implements AssetBundle { for (final Map<String, Object> font in family['fonts'] as List<Map<String, Object>>) { final Uri entryUri = _fileSystem.path.toUri(font['asset'] as String); </del> <ins> import 'project.dart'; @@ -504,7 +504,7 @@ class ManifestAssetBundle implements AssetBundle { } final Uri entryUri = _fileSystem.path.toUri(asset); </ins> result.add(_Asset( <del> -          baseDir: _fileSystem.path.join(Cache.flutterRoot, 'bin', 'cache', 'artifacts', 'material_fonts'), +          baseDir: _fileSystem.path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter', 'artifacts', 'material_fonts'), </del> <ins> -          baseDir: _fileSystem.path.join(Cache.flutterRoot!, 'bin', 'cache', 'artifacts', 'material_fonts'), +          baseDir: _fileSystem.path.join(globals.fsUtils.homeDirPath!, 'bin', 'cache', 'artifacts', 'material_fonts'), </ins> relativeUri: Uri(path: entryUri.pathSegments.last), entryUri: entryUri, package: null, diff --git a/packages/flutter_tools/lib/src/cache.dart b/packages/flutter_tools/lib/src/cache.dart <del> index 152d4e75e5..1fcff7e2bd 100644 </del> <ins> index 7870c7807f..3fcf92f20d 100644 </ins> --- a/packages/flutter_tools/lib/src/cache.dart +++ b/packages/flutter_tools/lib/src/cache.dart <del> @@ -9,6 +9,7 @@ import 'package:file/memory.dart'; import 'package:meta/meta.dart'; import 'package:process/process.dart'; </del> <ins> @@ -22,6 +22,7 @@ import 'base/user_messages.dart'; import 'build_info.dart'; import 'convert.dart'; import 'features.dart'; </ins> +import 'globals.dart' as globals; <del> import 'base/common.dart'; import 'base/error_handling_io.dart'; import 'base/file_system.dart'; @@ -298,8 +299,15 @@ class Cache { </del> <ins> const String kFlutterRootEnvironmentVariableName = 'FLUTTER_ROOT'; // should point to //flutter/ (root of flutter/flutter repo) const String kFlutterEngineEnvironmentVariableName = 'FLUTTER_ENGINE'; // should point to //engine/src/ (root of flutter/engine repo) @@ -302,8 +303,13 @@ class Cache { </ins> return; } assert(_lock == null); <del> + </del> +    final Directory dir = _fileSystem.directory(_fileSystem.path.join(globals.fsUtils.homeDirPath!, '.cache', 'flutter')); +    if (!dir.existsSync()) { +      dir.createSync(recursive: true); +      globals.os.chmod(dir, '755'); +    } <del> + </del> final File lockFile = -      _fileSystem.file(_fileSystem.path.join(flutterRoot!, 'bin', 'cache', 'lockfile')); +      _fileSystem.file(_fileSystem.path.join(globals.fsUtils.homeDirPath!, '.cache', 'flutter', 'lockfile')); try { _lock = lockFile.openSync(mode: FileMode.write); } on FileSystemException catch (e) { <del> @@ -404,7 +412,7 @@ class Cache { </del> <ins> @@ -453,7 +459,7 @@ class Cache { </ins> if (_rootOverride != null) { return _fileSystem.directory(_fileSystem.path.join(_rootOverride!.path, 'bin', 'cache')); } else {

name: flutter current version: 2.5.1 desired version: 2.8.0 <!-- 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.
done on


Question: <ins> { buildPythonPackage, fetchFromGitHub, lib, loguru, rpyc, }: buildPythonPackage rec { pname = "streamcontroller-plugin-tools"; version = "2.0.0"; src = fetchFromGitHub { owner = "StreamController"; repo = "streamcontroller-plugin-tools"; rev = version; hash = "sha256-dQZPRSzHhI3X+Pf7miwJlECGFgUfp68PtvwXAmpq5/s="; }; dependencies = [ loguru rpyc ]; pythonImportsCheck = [ "streamcontroller_plugin_tools" ]; meta = with lib; { description = "StreamController plugin tools"; homepage = "https://github.com/StreamController/streamcontroller-plugin-tools"; license = licenses.gpl3; maintainers = with maintainers; [ sifmelcara ]; platforms = platforms.linux; }; } </ins>

Project description As discussed in is now EOL and the dev's have moved their effort to . As per the in order for it to work specific need to be set up. We can probably do something similar to what we do for the expression: Metadata homepage URL: source URL: license: GPL3 platforms: linux Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
For people who subscribed to this issue: I opened to add streamcontroller


Question: diff --git a/src/dist/component/package.rs b/src/dist/component/package.rs <del> index 73a533b5..408ab815 100644 </del> <ins> index dfccc661..85233f3b 100644 </ins> --- a/src/dist/component/package.rs +++ b/src/dist/component/package.rs <del> @@ -113,6 +113,7 @@ fn install<'a>( </del> <ins> @@ -113,6 +113,7 @@ impl Package for DirectoryPackage { </ins> } else { builder.move_file(path.clone(), &src_path)? } <del> +                    nix_patchelf_if_needed(&target.prefix().path().join(path.clone()), &src_path) </del> <ins> +                    nix_patchelf_if_needed(&target.prefix().path().join(path.clone())) </ins> } "dir" => { if self.copy { <del> @@ -135,6 +136,29 @@ fn components(&self) -> Vec<String> { </del> <ins> @@ -135,6 +136,175 @@ impl Package for DirectoryPackage { </ins> } } <del> +fn nix_patchelf_if_needed(dest_path: &Path, src_path: &Path) { +    let (is_bin, is_lib) = if let Some(p) = src_path.parent() { +        (p.ends_with("bin") || p.ends_with("libexec"), p.ends_with("lib")) +    } else { +        (false, false) +    }; </del> <ins> +fn nix_wrap_lld(dest_lld_path: &Path) -> Result<()> { +    use std::fs; +    use std::io::Write; +    use std::os::unix::fs::PermissionsExt; + +    let path = dest_lld_path.parent().unwrap(); +    let mut unwrapped_name = path.file_name().unwrap().to_string_lossy().to_string(); +    unwrapped_name.push_str("-unwrapped"); +    let unwrapped_dir = path.with_file_name(unwrapped_name); +    fs::create_dir(&unwrapped_dir).context("failed to create unwrapped directory")?; +    let mut unwrapped_lld = unwrapped_dir; +    unwrapped_lld.push(dest_lld_path.file_name().unwrap()); +    fs::rename(dest_lld_path, &unwrapped_lld).context("failed to move file")?; +    let mut ld_wrapper_path = std::env::current_exe()? +        .parent() +        .ok_or(anyhow!("failed to get parent directory"))? +        .with_file_name("nix-support"); +    let mut file = std::fs::File::create(dest_lld_path)?; +    ld_wrapper_path.push("ld-wrapper.sh"); + +    let wrapped_script = format!( +        "#!/usr/bin/env bash +set -eu -o pipefail +o posix +shopt -s nullglob +export PROG="{}" +"{}" $@", +        unwrapped_lld.to_string_lossy().to_string(), +        ld_wrapper_path.to_string_lossy().to_string(), +    ); +    file.write_all(wrapped_script.as_bytes())?; +    let mut permissions = file.metadata()?.permissions(); +    permissions.set_mode(0o755); +    file.set_permissions(permissions)?; +    Ok(()) +} + +fn nix_patchelf_if_needed(dest_path: &Path) { +    use std::fs::File; +    use std::os::unix::fs::FileExt; + +    struct ELFReader<'a> { +        file: &'a mut File, +        is_32bit: bool, +        is_little_end: bool, +    } + +    impl<'a> ELFReader<'a> { +        const MAGIC_NUMBER: &'static [u8] = &[0x7F, 0x45, 0x4c, 0x46]; +        const ET_EXEC: u16 = 0x2; +        const ET_DYN: u16 = 0x3; +        const PT_INTERP: u32 = 0x3; + +        fn new(file: &'a mut File) -> Option<Self> { +            let mut magic_number = [0; 4]; +            file.read_exact(&mut magic_number).ok()?; +            if Self::MAGIC_NUMBER != magic_number { +                return None; +            } +            let mut ei_class = [0; 1]; +            file.read_exact_at(&mut ei_class, 0x4).ok()?; +            let is_32bit = ei_class[0] == 1; +            let mut ei_data = [0; 1]; +            file.read_exact_at(&mut ei_data, 0x5).ok()?; +            let is_little_end = ei_data[0] == 1; +            Some(Self { +                file, +                is_32bit, +                is_little_end, +            }) +        } + +        fn is_exec_or_dyn(&self) -> bool { +            let e_type = self.read_u16_at(0x10); +            e_type == Self::ET_EXEC || e_type == Self::ET_DYN +        } + +        fn e_phoff(&self) -> u64 { +            if self.is_32bit { +                self.read_u32_at(0x1C) as u64 +            } else { +                self.read_u64_at(0x20) +            } +        } + +        fn e_phentsize(&self) -> u64 { +            let offset = if self.is_32bit { 0x2A } else { 0x36 }; +            self.read_u16_at(offset) as u64 +        } + +        fn e_phnum(&self) -> u64 { +            let offset = if self.is_32bit { 0x2C } else { 0x38 }; +            self.read_u16_at(offset) as u64 +        } </ins> + <del> +    if is_bin { +        let _ = ::std::process::Command::new("@patchelf@/bin/patchelf") </del> <ins> +        fn has_interp(&self) -> bool { +            let e_phoff = self.e_phoff(); +            let e_phentsize = self.e_phentsize(); +            let e_phnum = self.e_phnum(); +            for i in 0..e_phnum { +                let p_type = self.read_u32_at(e_phoff + i * e_phentsize); +                if p_type == Self::PT_INTERP { +                    return true; +                } +            } +            false +        } + +        fn read_u16_at(&self, offset: u64) -> u16 { +            let mut data = [0; 2]; +            self.file.read_exact_at(&mut data, offset).unwrap(); +            if self.is_little_end { +                u16::from_le_bytes(data) +            } else { +                u16::from_be_bytes(data) +            } +        } + +        fn read_u32_at(&self, offset: u64) -> u32 { +            let mut data = [0; 4]; +            self.file.read_exact_at(&mut data, offset).unwrap(); +            if self.is_little_end { +                u32::from_le_bytes(data) +            } else { +                u32::from_be_bytes(data) +            } +        } + +        fn read_u64_at(&self, offset: u64) -> u64 { +            let mut data = [0; 8]; +            self.file.read_exact_at(&mut data, offset).unwrap(); +            if self.is_little_end { +                u64::from_le_bytes(data) +            } else { +                u64::from_be_bytes(data) +            } +        } +    } + +    let Some(mut dest_file) = File::open(dest_path).ok() else { +        return; +    }; +    let Some(elf) = ELFReader::new(&mut dest_file) else { +        return; +    }; +    if !elf.is_exec_or_dyn() { +        return; +    } +    let mut patch_command = std::process::Command::new("@patchelf@/bin/patchelf"); +    if elf.has_interp() { +        patch_command </ins> +            .arg("--set-interpreter") <del> +            .arg("@dynamicLinker@") +            .arg(dest_path) +            .output(); </del> <ins> +            .arg("@dynamicLinker@"); +    } +    if Some(std::ffi::OsStr::new("rust-lld")) == dest_path.file_name() || !elf.has_interp() { +        patch_command.arg("--add-rpath").arg("@libPath@"); </ins> +    } <del> +    else if is_lib { +        let _ = ::std::process::Command::new("@patchelf@/bin/patchelf") +            .arg("--set-rpath") +            .arg("@libPath@") +            .arg(dest_path) +            .output(); </del> <ins> + +    debug!("patching {dest_path:?} using patchelf"); +    if let Err(err) = patch_command.arg(dest_path).output() { +        warn!("failed to execute patchelf: {err:?}"); +    } + +    if Some(std::ffi::OsStr::new("ld.lld")) == dest_path.file_name() { +        if let Err(err) = nix_wrap_lld(dest_path) { +            warn!("failed to wrap `ld.lld`: {err:?}"); +        } </ins> +    } +} +

Running a fresh fails, the core message being: Steps to reproduce the behavior: a rust project (or if you already have one) Either the rustup gcc/ld to be patched for NixOS use, or rust to use the system gcc/ld. Please run and paste the result.
Actually, it looks like this is an issue specifically appearing with ; so I'll try to pass the message upstream.
Very specifically, introducing the issue, when it has been decided to switch from the system linker to . I suppose the new binaries should also be elf-patched?
Patching those binaries will make them execute, but they also need the applied so that the binaries they build will also get patched automatically.


Question: <ins> { lib, vips, resvg, mpv, libraw, imagemagick, libdevil, stdenv, fetchFromGitLab, cmake, libarchive, qt6Packages, extra-cmake-modules, exiv2, }: stdenv.mkDerivation rec { pname = "previewqt"; version = "3.0"; src = fetchFromGitLab { owner = "lspies"; repo = "previewqt"; rev = "refs/tags/v${version}"; hash = "sha256-cDtqgezKGgSdhw8x1mM4cZ0H3SfUPEyWP6rRD+kRwXc="; }; # can't find qtquick3d strictDeps = false; nativeBuildInputs = [ cmake extra-cmake-modules qt6Packages.wrapQtAppsHook ]; buildInputs = [ exiv2 imagemagick qt6Packages.poppler qt6Packages.qtmultimedia qt6Packages.qtquick3d qt6Packages.qtsvg qt6Packages.qttools qt6Packages.qtwebengine libarchive libdevil libraw mpv resvg vips ]; meta = { description = "Qt-based file previewer"; homepage = "https://photoqt.org/previewqt"; changelog = "https://gitlab.com/lspies/previewqt/-/blob/v${version}/CHANGELOG"; license = lib.licenses.gpl2Plus; maintainers = with lib.maintainers; [ eclairevoyant ]; mainProgram = "previewqt"; platforms = lib.platforms.linux; }; } </ins>

Project description PreviewQt is a simple application for previewing all kinds of files, based on Qt/QML, published as open-source and completely free. Metadata homepage URL: source URL: license: gpl2+ platforms: linux Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:


Question: , desktopName ? # browserName with first letter capitalized (lib.toUpper (lib.substring 0 1 browserName) + lib.substring 1 (-1) browserName) , nameSuffix ? "" <del> , icon ? browserName, libtrick ? true </del> <ins> , icon ? browserName </ins> }: let

When "set as default browser" is clicked from within Firefox, it places a custom .desktop file in , and points to this from in the same directory. This file launches Firefox without the wrapper when it's opened using xdg-open. The result is that if xdg-open is used when no Firefox window exists, it will be opened without environment variables set correctly, and without plugins.
This is a great example why wrappers are error prone.
Is there a easy way to fix this? I don't see one
The easy way is to use a non-absolute path in the .desktop file, i.e. . This also ensures that after an upgrade, the new Firefox will be invoked.
This .desktop file is generated by Firefox when "set as default browser" is clicked - it's not one of nixpkgs's .desktop files. That'd involve a patch (which would have to be kept up to date with each Firefox release).
Right, shouldn't be hard to do.
Testing a patch now...
I can't see the patch anywhere -- did it work?
Chromium .desktop file includes and suffers from the same problem.
This is handled and detected with mimetypes.
Would be really nice to fix this one, any takers?
I think I have solved it for Firefox; as for Chromium — apparently it is non-trivial to test for me (StumpWM, not a DE)
There's still no obvious way to set the default browser that I can find - anyone know what the status is here?
A possibly reasonable option in the case of Firefox would be to disable the default browser check using the preferences file, and write a custom dialog for selecting the default browser in the wrapper itself, a very rough basis being: According to a google, similar should work for Chrome/Chromium, except passing instead of messing with config files. Opinions?
Is there no way to trick firefox into thinking its executable name is the wrapper ?
Yes: but this needs some testing, and it affects many browsers.
I fixed the wrapper to work with (), but we get another issue. When we update firefox, we end up with a different /nix path, which firefox considers as a different browser. If you restart firefox (for example when installing addons) then you get the not-your-default-browser" warning. Investaigating MOZAPPLAUNCHER as solution, but I start to think that may be the most general solution.


Question: sha256 = "05s9dclmk7x5d7wnnj4qr6r6c827m72a44gizcv09lxr28pr9inz"; fetchSubmodules = true; }; <del> # we need the packed archive </del> <ins> # The CMake external projects expect the packed archives </ins> rxcpp = fetchurl { url = "https://github.com/Reactive-Extensions/RxCpp/archive/v${rxcppVersion}.tar.gz"; sha256 = "0y2isr8dy2n1yjr9c5570kpc9lvdlch6jv0jvw000amwn5d3krsh";

shogun fails to build since the eigen 3.4.0 bump: The package is a likely candidate for removal. Upstream is unresponsive and development has halted. Removed from debian: Removed from fedora: Blocking vcpkg update: Please run and paste the result. Maintainer information:
I think you were the last one to modify this package, so please speak up if you need it. Also pinging Last call - if no one responds within the next week, I'll open a PR to remove this package.
Yes, I was working on making it build on Darwin and adding it as a Python 3 module. Well, I did, but I didn't feel motivated to create a PR. As you comment, upstream has been inactive for almost a year, the latest release is several years old, and it becomes harder and harder to make it work, and the patches would start to accumulate. To make it work on Darwin we need two upstream patches that fix the build with newer compiler versions. In the current derivation, the Python interface is not built because the CMake flag is not the right one. When enabled, Swig 3 is used to generate the Python interface, but Swig 3 doesn't support Python 3.8+ (and with Swig 4 just fails). It can be fixed with a patch, that feels more like a hack, intercepting the Makefile build, so I am not happy with it: Another small patch is needed to fix the deprecated . Also, I wasn't happy that adding it as a Python module will recompile the entire library again, which takes too much time IMO. I haven't checked if it is possible to build with Eigen 3.4 because it takes forever to compile. It could probably work on the development version. Note that the development version doesn't support Eigen 3.4 because of this, but it may work: But there is no such limitation on the 6.1.4 release, which probably means it would require another patch to fix the code, if somebody figures out. So, I'd argue that the package is too old now, and the derivation has too many issues, and it's too much of a hassle to maintain it, so it's probably better to just remove it.
I decided to sit and take a look at the error, and I actually fixed it.


Question: sha256 = "05s9dclmk7x5d7wnnj4qr6r6c827m72a44gizcv09lxr28pr9inz"; fetchSubmodules = true; }; <del> # we need the packed archive </del> <ins> # The CMake external projects expect the packed archives </ins> rxcpp = fetchurl { url = "https://github.com/Reactive-Extensions/RxCpp/archive/v${rxcppVersion}.tar.gz"; sha256 = "0y2isr8dy2n1yjr9c5570kpc9lvdlch6jv0jvw000amwn5d3krsh";

I don't really use Eigen but the patch makes sense. So, I can send a PR to keep this package on the repo for another cycle at least. I mean, I already did all of the work and it builds. Other distros end up removing it because nobody cares to maintain it.
Nice! Thanks for looking into it. Like you said, if you've already done the work to get it working I don't see why not. If it's too much work to keep it working in the future we can always revisit this and drop it.


Question: cudatoolkit ]; <ins> patches = [ # global context library is separated from libethash ./add-global-context.patch ]; </ins> preConfigure = '' sed -i 's/_lib_static//' libpoolprotocols/CMakeLists.txt '';

On the master branch ethminer fails to compile with messages about missing getglobalepochcontext from ethash namespace. Attempt to build ethminer on master branch. Successful compilation. Root of the failure is in changes done to the structure of the dependency chfast/ethash; specifically, 0.6.0 -0.7.0. Patching the libethcore/EthashAux.h file in the ethminer repo, by adding to the headers, and the file by changing the line to does the job.


Question: libs=( symbols templates footprints packages3d ) get_rev() { <del> git ls-remote --tags "$@" </del> <ins> if [[ ${version} == "master" ]]; then git ls-remote --heads "$@" else git ls-remote --tags "$@" fi </ins> } gitlab="https://gitlab.com/kicad"

Steps to reproduce the behavior: kicad (tested on ) The relevant part of the build log is: Complete build log is here: Setting the flag in the cmake build flags, solves the issue. Please run and paste the result.
thanks for filing an issue i'm not sure what changed to cause this issue, or why that change didn't notify me of the breakage... i'll try to get your fix or something similar in a PR today


Question: <del> { lib, stdenv, callPackage, fetchurl, nixosTests }: </del> <ins> { lib, stdenv, callPackage, fetchurl, nixosTests, commandLineArgs ? "" }: </ins> let inherit (stdenv.hostPlatform) system;

For Chromium, there's a convenient way to define custom flags through . However, there doesn't seem to be a similar option for . I tried setting to "--touch-events", but touchscreen scrolling is not enabled when starting VSCode from desktop launcher, while running in console works as expected. Steps to reproduce the behavior: to "--touch-events" VSCode from desktop launcher on the editor area through touchscreen The editor should scroll as I drag. system: host os: multi-user?: sandbox: version: channels(yes): channels(root): nixpkgs:


Question: ''; buildInputs = [ <del> dconf gtk3 gobject-introspection ibus (python3.withPackages (pypkgs: with pypkgs; [ pygobject3 ])) </del> <ins> dconf gtk3 gobject-introspection ibus (python3.withPackages (pypkgs: with pypkgs; [ pygobject3 (toPythonModule ibus) ])) </ins> ]; <del> nativeBuildInputs = [ autoreconfHook docbook2x pkgconfig python3.pkgs.wrapPython ]; </del> <ins> nativeBuildInputs = [ autoreconfHook docbook2x pkgconfig python3.pkgs.wrapPython wrapGAppsHook ]; </ins> postUnpack = '' substituteInPlace $sourceRoot/engine/Makefile.am  --replace "docbook2man" "docbook2man --sgml" ''; <del> postFixup = "wrapPythonPrograms"; </del> meta = with stdenv.lib; { isIbusEngine = true; description  = "An IBus framework for table-based input methods";

Input methods based on do not work as of , at least on my machine as it is now. Upstream, I think the change comes from , which made start using . Other IBus input methods still work (mozc, hangul, Anthy). It feels as if this should have an easy solution amounting to “do what worked for other packages using ”, but I can't work out what it is that they do that makes them work. It's also believable that from is not being run. 1) 2) Switch to an -base input method (example: from ). Then, the input method is not changed, and the rest of the output is: Alternatively: 1) 2) Try to open the preferences for an -based input method. No preferences are shown. The following error message is printed. system: host os: multi-user?: sandbox: version: channels(root): nixpkgs:
So, adding to stops the error message, but preference dialogs still do not show and all of the problems with actually using remain.
How did you install and activate the input method? i18n.inputMethod.enabled = "ibus"; = with ; [ table ]; does not seem to be enough.
Change to (ibus-table acts like a framework within a framework, and provides some actual input methods using it). Then, use -Input Method -Add -More... -Others -IPA-X-SAMPA (and maybe another to see the switching behaviour). Then, switch using the key combination from the preferences (I forget what the default is; maybe Ctrl-space). Expected behaviour from IPA-X-SAMPA includes ↦ and ↦ .
Have you managed to reproduce this problem?
I can confirm your observations in Maybe this could be the culprit:
I've found what appears to be a solution, but it's in some sense weird. Looking at other input methods, they seem to use rather than . Replacing the latter with the former on seems to fix the issue. I have no idea, though, why isn't broken on other platforms. is the new package description.


Question: meta = { homepage = "https://github.com/vcrhonek/hwdata"; description = "Hardware Database, including Monitors, pci.ids, usb.ids, and video cards"; <del> license = lib.licenses.gpl2; platforms = lib.platforms.linux; </del> <ins> license = lib.licenses.gpl2Plus; platforms = lib.platforms.all; </ins> }; }

Describe the bug pciutils is using a really old file which doesn't include any definitions for AMD Radeon 6800 XT cards. When running you get the following output If you get a newer version of the file from https://pci- which update-pciids script in package normally updates (but is disabled in nix package). You get the following: Notify maintainers Metadata system: host os: multi-user?: sandbox: version: channels(root): channels(wil): nixpkgs: Maintainer information:
Should also mention when running strace on lspci it reads the file from /nix/store/464020m9r6mhsivgp9v1bhkyzz5pa0gq-pciutils- and not from hwdata like I originally thought.
Would it make sense to make lspci depend on hwdata and then use from hwdata? cc'ing (who is listed as shadow maintainer of pciutils)
Hmm, makes sense. Except that seems to be in significantly more closures than , so depending on the extra 6+ MB of other data seems significant. Perhaps make put it into a separate output? Or could just copy it as a quick work-around (that's free for people with )
Oh, we can't "just" make multi-output, as it's a fixed-output derivation, but we could fake it through multiple derivations. Maybe just the work-around for simplicity then?
I think the work-around is actually pretty sensible. I'll prepare a pull request :-) Update: Did so, . Once both and are merged, our issue should be resolved.
Thanks for fixing that :). I tried your two updates on my machine and it appears to be resolved. Closing the issue out. Now we just wait for this to get into unstable :).


Question: va_end (ap); return res; <ins> diff --git a/src/builder-source-bzr.c b/src/builder-source-bzr.c index ceeec94a..8abe6f53 100644 </ins> --- a/src/builder-source-bzr.c +++ b/src/builder-source-bzr.c @@ -124,7 +124,7 @@ bzr (GFile   *dir, <ins> gboolean res; </ins> va_list ap; <del> va_start (ap, error); -  res = flatpak_spawn (dir, output, 0, error, "bzr", ap); +  res = flatpak_spawn (dir, output, 0, error, "@bzr@", ap); va_end (ap); </del> <ins> -  brz = g_find_program_in_path ("brz"); +  brz = g_find_program_in_path ("@brz@"); </ins> <del> return res; </del> <ins> va_start (ap, error); res = flatpak_spawn (dir, output, 0, error, brz ? brz : "bzr", ap); diff --git a/src/builder-source-patch.c b/src/builder-source-patch.c index 8721e1e4..d7f4d840 100644 </ins> --- a/src/builder-source-patch.c +++ b/src/builder-source-patch.c @@ -247,15 +247,15 @@ patch (GFile      *dir,

Describe the bug flatpak-builder for some reasons can't use rofiles-fuse To Reproduce Steps to reproduce the behavior: build any app using flatpak-builder Expected behavior flatpak-builder should use rofiles-fuse. Screenshots Additional context Metadata system: host os: multi-user?: sandbox: version: channels(root): channels(piotrek): nixpkgs: Maintainer information:
installing solve this problem so maybe should be ?
We patch the paths to the executables to be hardcoded, so the program doesn't have to rely on something like ostree being installed. I believe one path isn't hardcoded with the current patch That looks it up in PATH, probably why it was working once you installed it.
cc
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 .
should fix that issue.


Question: <ins> { clangStdenv , lib , runCommandWith , writeShellScript , fetchFromGitHub , fetchpatch , freetype , libjpeg , libpng , libtiff , giflib , libX11 , libXext , libXrandr , libXcursor , libxkbfile , cairo , libglvnd , fontconfig , dbus , libGLU , fuse , ffmpeg , pulseaudio , makeWrapper , python2 , python3 , cmake , ninja , pkg-config , bison , flex , libbsd , openssl , xdg-user-dirs , addOpenGLRunpath # Whether to pre-compile Python 2 bytecode for performance. , compilePy2Bytecode ? false }: let stdenv = clangStdenv; # The build system invokes clang to compile Darwin executables. # In this case, our cc-wrapper must not be used. ccWrapperBypass = runCommandWith { inherit stdenv; name = "cc-wrapper-bypass"; runLocal = false; derivationArgs = { template = writeShellScript "template" '' for (( i=1; i<=$#; i++)); do j=$((i+1)) if [[ "''${!i}" == "-target" && "''${!j}" == *"darwin"* ]]; then # their flags must take precedence exec @unwrapped@ "$@" $NIX_CFLAGS_COMPILE fi done exec @wrapped@ "$@" ''; }; } '' unwrapped_bin=${stdenv.cc.cc}/bin wrapped_bin=${stdenv.cc}/bin mkdir -p $out/bin unwrapped=$unwrapped_bin/$CC wrapped=$wrapped_bin/$CC  substituteAll $template $out/bin/$CC unwrapped=$unwrapped_bin/$CXX wrapped=$wrapped_bin/$CXX  substituteAll $template $out/bin/$CXX chmod +x $out/bin/$CC $out/bin/$CXX ''; wrappedLibs = [ # To find all of them: rg -w wrap_elf # src/native/CMakeLists.txt freetype libjpeg libpng libtiff giflib libX11 libXext libXrandr libXcursor libxkbfile cairo libglvnd fontconfig dbus libGLU # src/external/darling-dmg/CMakeLists.txt fuse # src/CoreAudio/CMakeLists.txt ffmpeg pulseaudio ]; in stdenv.mkDerivation { pname = "darling"; version = "unstable-2023-05-02"; src = fetchFromGitHub { owner = "darlinghq"; repo = "darling"; rev = "557e7e9dece394a3f623825679474457e5b64fd0"; fetchSubmodules = true; hash = "sha256-SOoLaV7wg33qRHPQXkdMvrY++CvoG85kwd6IU6DkYa0="; }; outputs = [ "out" "sdk" ]; postPatch = '' # We have to be careful - Patching everything indiscriminately # would affect Darwin scripts as well chmod +x src/external/bootstrap_cmds/migcom.tproj/mig.sh patchShebangs  src/external/bootstrap_cmds/migcom.tproj/mig.sh  src/external/darlingserver/scripts  src/external/openssl_certificates/scripts substituteInPlace src/startup/CMakeLists.txt --replace SETUID "" substituteInPlace src/external/basic_cmds/CMakeLists.txt --replace SETGID "" ''; nativeBuildInputs = [ bison ccWrapperBypass cmake flex makeWrapper ninja pkg-config python3 ] ++ lib.optional compilePy2Bytecode python2; buildInputs = wrappedLibs ++ [ libbsd openssl stdenv.cc.libc.linuxHeaders ]; # Breaks valid paths like # Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include dontFixCmake = true; # src/external/objc4 forces OBJC_IS_DEBUG_BUILD=1, which conflicts with NDEBUG # TODO: Fix in a better way cmakeBuildType = " "; cmakeFlags = [ "-DTARGET_i386=OFF" "-DCOMPILE_PY2_BYTECODE=${if compilePy2Bytecode then "ON" else "OFF"}" "-DDARLINGSERVER_XDG_USER_DIR_CMD=${xdg-user-dirs}/bin/xdg-user-dir" ]; env.NIX_CFLAGS_COMPILE = "-Wno-macro-redefined -Wno-unused-command-line-argument"; # Linux .so's are dlopen'd by wrapgen during the build env.LD_LIBRARY_PATH = lib.makeLibraryPath wrappedLibs; # Breaks shebangs of Darwin scripts dontPatchShebangs = true; postInstall = '' # Install the SDK as a separate output mkdir -p $sdk sdkDir=$(readlink -f ../Developer) while read -r path; do dst="$sdk/Developer/''${path#$sdkDir}" if [[ -L "$path" ]]; then target=$(readlink -m "$path") if [[ -e "$target" && "$target" == "$NIX_BUILD_TOP"* && "$target" != "$sdkDir"* ]]; then # dereference cp -r -L "$path" "$dst" elif [[ -e "$target" ]]; then # preserve symlink cp -d "$path" "$dst" else # ignore symlink >&2 echo "Ignoring symlink $path -> $target" fi elif [[ -f $path ]]; then cp "$path" "$dst" elif [[ -d $path ]]; then mkdir -p "$dst" fi done < <(find $sdkDir) mkdir -p $sdk/bin cp src/external/cctools-port/cctools/ld64/src/*-ld $sdk/bin cp src/external/cctools-port/cctools/ar/*-{ar,ranlib} $sdk/bin ''; postFixup = '' echo "Checking for references to $NIX_STORE in Darling root..." set +e grep -r --exclude=mldr "$NIX_STORE" $out/libexec/darling ret=$? set -e if [[ $ret == 0 ]]; then echo "Found references to $NIX_STORE in Darling root (see above)" exit 1 fi patchelf --add-rpath "${lib.makeLibraryPath wrappedLibs}:${addOpenGLRunpath.driverLink}/lib"  $out/libexec/darling/usr/libexec/darling/mldr ''; meta = with lib; { description = "Open-source Darwin/macOS emulation layer for Linux"; homepage = "https://www.darlinghq.org"; license = licenses.gpl3Plus; maintainers = with maintainers; [ zhaofengli ]; platforms = [ "x86_64-linux" ]; }; } </ins>

Darling is a compatibility layer for running macOS apps on Linux (think Wine for macOS). I think it would be interesting to work on with macOS support. They have reverse engineered some headers that Apple doesn't release publicly so having them in "libdarling" could be useful.
We already have this part:
Just heard of Darling. I would be delighted if it could be used for running builds on NixOS!
It seem to be packaged by but only for macOS. If i understand the project correctly, that makes no sense. We want it on linux, to run macOS apps. Also, the package has no version. That's probably because they havn't tagged a version yet. So this is pre-alpha state software. could you update the package to the commit the "stable" AUR package uses and add a version as described here: ? Then we can close this issue.
It looks like the project has started using tagged versions:
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 .
I'd still be very interested in seeing this , especially with the hope of future cross-compilation support
This would even make it possible to package Mac binaries for Linux!
I'm interested in this so that I can test cross compiled binaries when running tests.
I marked this as stale due to inactivity. →
Not stale!!
darling-dmg is just part of . To be exact, it is included as a submodule in the source tree of darling. The darling build will come with kernel modules. It would need someone with kernel-packaging experience to pack it into Nixpkgs. Build instructions in the Darling Docs:
I marked this as stale due to inactivity.


Question: <ins> { clangStdenv , lib , runCommandWith , writeShellScript , fetchFromGitHub , fetchpatch , freetype , libjpeg , libpng , libtiff , giflib , libX11 , libXext , libXrandr , libXcursor , libxkbfile , cairo , libglvnd , fontconfig , dbus , libGLU , fuse , ffmpeg , pulseaudio , makeWrapper , python2 , python3 , cmake , ninja , pkg-config , bison , flex , libbsd , openssl , xdg-user-dirs , addOpenGLRunpath # Whether to pre-compile Python 2 bytecode for performance. , compilePy2Bytecode ? false }: let stdenv = clangStdenv; # The build system invokes clang to compile Darwin executables. # In this case, our cc-wrapper must not be used. ccWrapperBypass = runCommandWith { inherit stdenv; name = "cc-wrapper-bypass"; runLocal = false; derivationArgs = { template = writeShellScript "template" '' for (( i=1; i<=$#; i++)); do j=$((i+1)) if [[ "''${!i}" == "-target" && "''${!j}" == *"darwin"* ]]; then # their flags must take precedence exec @unwrapped@ "$@" $NIX_CFLAGS_COMPILE fi done exec @wrapped@ "$@" ''; }; } '' unwrapped_bin=${stdenv.cc.cc}/bin wrapped_bin=${stdenv.cc}/bin mkdir -p $out/bin unwrapped=$unwrapped_bin/$CC wrapped=$wrapped_bin/$CC  substituteAll $template $out/bin/$CC unwrapped=$unwrapped_bin/$CXX wrapped=$wrapped_bin/$CXX  substituteAll $template $out/bin/$CXX chmod +x $out/bin/$CC $out/bin/$CXX ''; wrappedLibs = [ # To find all of them: rg -w wrap_elf # src/native/CMakeLists.txt freetype libjpeg libpng libtiff giflib libX11 libXext libXrandr libXcursor libxkbfile cairo libglvnd fontconfig dbus libGLU # src/external/darling-dmg/CMakeLists.txt fuse # src/CoreAudio/CMakeLists.txt ffmpeg pulseaudio ]; in stdenv.mkDerivation { pname = "darling"; version = "unstable-2023-05-02"; src = fetchFromGitHub { owner = "darlinghq"; repo = "darling"; rev = "557e7e9dece394a3f623825679474457e5b64fd0"; fetchSubmodules = true; hash = "sha256-SOoLaV7wg33qRHPQXkdMvrY++CvoG85kwd6IU6DkYa0="; }; outputs = [ "out" "sdk" ]; postPatch = '' # We have to be careful - Patching everything indiscriminately # would affect Darwin scripts as well chmod +x src/external/bootstrap_cmds/migcom.tproj/mig.sh patchShebangs  src/external/bootstrap_cmds/migcom.tproj/mig.sh  src/external/darlingserver/scripts  src/external/openssl_certificates/scripts substituteInPlace src/startup/CMakeLists.txt --replace SETUID "" substituteInPlace src/external/basic_cmds/CMakeLists.txt --replace SETGID "" ''; nativeBuildInputs = [ bison ccWrapperBypass cmake flex makeWrapper ninja pkg-config python3 ] ++ lib.optional compilePy2Bytecode python2; buildInputs = wrappedLibs ++ [ libbsd openssl stdenv.cc.libc.linuxHeaders ]; # Breaks valid paths like # Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include dontFixCmake = true; # src/external/objc4 forces OBJC_IS_DEBUG_BUILD=1, which conflicts with NDEBUG # TODO: Fix in a better way cmakeBuildType = " "; cmakeFlags = [ "-DTARGET_i386=OFF" "-DCOMPILE_PY2_BYTECODE=${if compilePy2Bytecode then "ON" else "OFF"}" "-DDARLINGSERVER_XDG_USER_DIR_CMD=${xdg-user-dirs}/bin/xdg-user-dir" ]; env.NIX_CFLAGS_COMPILE = "-Wno-macro-redefined -Wno-unused-command-line-argument"; # Linux .so's are dlopen'd by wrapgen during the build env.LD_LIBRARY_PATH = lib.makeLibraryPath wrappedLibs; # Breaks shebangs of Darwin scripts dontPatchShebangs = true; postInstall = '' # Install the SDK as a separate output mkdir -p $sdk sdkDir=$(readlink -f ../Developer) while read -r path; do dst="$sdk/Developer/''${path#$sdkDir}" if [[ -L "$path" ]]; then target=$(readlink -m "$path") if [[ -e "$target" && "$target" == "$NIX_BUILD_TOP"* && "$target" != "$sdkDir"* ]]; then # dereference cp -r -L "$path" "$dst" elif [[ -e "$target" ]]; then # preserve symlink cp -d "$path" "$dst" else # ignore symlink >&2 echo "Ignoring symlink $path -> $target" fi elif [[ -f $path ]]; then cp "$path" "$dst" elif [[ -d $path ]]; then mkdir -p "$dst" fi done < <(find $sdkDir) mkdir -p $sdk/bin cp src/external/cctools-port/cctools/ld64/src/*-ld $sdk/bin cp src/external/cctools-port/cctools/ar/*-{ar,ranlib} $sdk/bin ''; postFixup = '' echo "Checking for references to $NIX_STORE in Darling root..." set +e grep -r --exclude=mldr "$NIX_STORE" $out/libexec/darling ret=$? set -e if [[ $ret == 0 ]]; then echo "Found references to $NIX_STORE in Darling root (see above)" exit 1 fi patchelf --add-rpath "${lib.makeLibraryPath wrappedLibs}:${addOpenGLRunpath.driverLink}/lib"  $out/libexec/darling/usr/libexec/darling/mldr ''; meta = with lib; { description = "Open-source Darwin/macOS emulation layer for Linux"; homepage = "https://www.darlinghq.org"; license = licenses.gpl3Plus; maintainers = with maintainers; [ zhaofengli ]; platforms = [ "x86_64-linux" ]; }; } </ins>

→
I'd still like to see this, though largely for much the same reason Andrew mentions at this point -- I've started working with zig and being able to test cross-compiled macos binaries would be brilliant.
I have got most of a Darling build file running, but I have found an interesting issue. Wever I build I get the following error: From this cmake file: As far as I can tell, the command is a special MacOS thing, and I unfortunately do not understand CMake well enough to fix it...
Well, turns out the issue is that Darling relies on git-submodules, and it looks like this must be built against the Git repo directly, not against the released tarball...
What would therefore be a derivation?
What do you mean It's just a with .
I tried to re-package the prebuilt deb from darling GitHub releases. Here is the nix code darling- Save these 2 snippets as and darling-, then run . With 2 problems: needs setuid/setgid perms, while nix-build would fail if dpkg-deb -x executed directly. I use fakeroot to ignore this problem. always fails. I am not a darling expert, have no idea.
Ah, fantastic, thanks! Looking forward to having this in nixpkgs anyway, but let's see how we go there.
It could be named when entering Nixpkgs.
Good suggestion. I've edited those two scripts.
I got as far as finding out that darlingserver doesn't start with that script because it expects /usr/bin, so updating my to a version, the next issue was that darlingserver was trying to mount overlayfs on "lowerdir=/usr/libexec/darling,up" (may be incomplete, this is strace output) which did not exist.
After a bit of tinkering I got Darling to build from source. I opened with more info. Please give it a try!
It seems that they now use instead of the kernel module. This would make packaging easier.
What's the purpose of ? If it is only the sandbox part of Darling, a new name like would bring less confusion. Update: Opened PR to do the renaming.


Question: sha256 = "1fa7cmwrzn6kx87kms8i98p9azdlwyh2gnif29l340syl9hkr5qy"; }; <del> configFile = optionalString (conf != null) (builtins.toFile "nnn.h" conf); preBuild = optionalString (conf != null) "cp ${configFile} src/nnn.h"; </del> <ins> configFile = lib.optionalString (conf != null) (builtins.toFile "nnn.h" conf); preBuild = lib.optionalString (conf != null) "cp ${configFile} src/nnn.h"; </ins> nativeBuildInputs = [ pkg-config ]; buildInputs = [ readline ncurses ]; <del> makeFlags = [ "DESTDIR=${placeholder "out"}" "PREFIX=" ]; </del> <ins> makeFlags = [ "DESTDIR=${placeholder "out"}" "PREFIX=" ] ++ lib.optional withIcons [ "O_ICONS=1" ] ++ lib.optional withNerdIcons [ "O_NERD=1" ]; </ins> # shell completions postInstall = ''

It would be great to have option to fetch nnn plugins with nxpkgs or with additional package instead of manually fetching it like developer advise. And second is it possible to implement some option to include icons support from nerdfont to nnn binary file instead of recompiling it? Thanks.
I think this issue was closed preemptively by the line in the PR, there doesn't seem to be any way to include plugins as of now
nnn seems to expect plugins in . This might work better as a home-manager module, maybe with the plugins themselves as an output of nixpkgs. I might take a look at this next week.
I marked this as stale due to inactivity. →
I've recompiled nnn with icons, by using unstable branch and overriding nnn-package:
I marked this as stale due to inactivity. →


Question: rustPlatform.buildRustPackage.override { stdenv = clangStdenv; } rec { pname = "neovide"; <del> version = "0.12.2"; </del> <ins> version = "0.13.0"; </ins> src = fetchFromGitHub { owner = "neovide"; repo = "neovide"; rev = version; <del> sha256 = "sha256-M19LKNjUmC0WkVGm4t7vjxgMMe0FdMTmB1mLcG33OUg="; </del> <ins> sha256 = "sha256-lYahMSaagT6DloFMXT2lLPM1xX/9IEGNIPvbo1MQgSw="; </ins> }; <del> cargoHash = "sha256-2fPprZVT7V+Ot8aCpWj6WTdyFylmzlujFdTJCrtE0rk="; </del> <ins> cargoHash = "sha256-g/Ezyz2gC1YaPMdIy/WdoOvezJUH3aB2FA87viahRzc="; </ins> SKIA_SOURCE_DIR = let

Package name: neovide Latest released version: 0.13.0 <!-- Search your package here: --- Current version on the unstable channel: 0.12.2 Current version on the stable/release channel: 0.11.2 <!-- 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. As an additional note, I am currently working on updating Neovide myself. Part of my plans this summer are to begin giving at least two contributions to Nix/NixOS/Nixpkgs each week. I intend to begin maintaining Neovide as part of this goal. Gotta figure out how to A.) apply as a maintainer and B.) figure out if I'm even eligible. Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
For future issues/prs/etc. where should I add an additional summary/context if I have any? I've sandwiched it between the Note for maintainers... and Add a reaction... sections in this issue.


Question: buildEclipse = callPackage ./build-eclipse.nix { }; <del> eclipse-sdk-35 = buildEclipse { name = "eclipse-sdk-3.5.2"; description = "Eclipse Classic"; src = if stdenv.system == "x86_64-linux" then fetchurl { url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops/R-3.5.2-201002111343/eclipse-SDK-3.5.2-linux-gtk-x86_64.tar.gz; sha256 = "1ndvanxw62b5ywi6ww0dyimabfmjdsw9q3xpy95zd8d5ygj2qsgq"; } else fetchurl { url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops/R-3.5.2-201002111343/eclipse-SDK-3.5.2-linux-gtk.tar.gz; sha256 = "0y5n0cyr9lgjmmzkfmav7j5w66rc1jq3300hcw3vrfjiv1k6ng3w"; }; }; eclipse_sdk_35 = eclipse-sdk-35; # backward compatibility, added 2016-01-30 eclipse-sdk-36 = buildEclipse { name = "eclipse-sdk-3.6.2"; description = "Eclipse Classic"; </del> <ins> ################### Eclipse CPP ###################################################################################### eclipse-cpp-46 = buildEclipse { name = "eclipse-cpp-4.6.0"; description = "Eclipse IDE for C/C++ Developers, Neon release"; </ins> src = if stdenv.system == "x86_64-linux" then fetchurl { <del> url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops/R-3.6.2-201102101200/eclipse-SDK-3.6.2-linux-gtk-x86_64.tar.gz; sha256 = "0dfcfadcd6337c897fbfd5b292de481931dfce12d43289ecb93691fd27dd47f4"; </del> <ins> url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/neon/R/eclipse-cpp-neon-R-linux-gtk-x86_64.tar.gz; sha256 = "09fqsgvbjfdqvn7z03crkii34z4bsb34y272q68ib8741bxk0i6m"; </ins> } <del> else </del> <ins> else if stdenv.system == "i686-linux" then </ins> fetchurl { <del> url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops/R-3.6.2-201102101200/eclipse-SDK-3.6.2-linux-gtk.tar.gz; sha256 = "1bh8ykliqr8wbciv13vpiy50rvm7yszk7y8dslr796dbwhi5b1cj"; }; }; eclipse_sdk_36 = eclipse-sdk-36; # backward compatibility, added 2016-01-30 eclipse-scala-sdk-40 = buildEclipse { name = "eclipse-scala-sdk-4.0.0"; description = "Eclipse IDE for Scala Developers"; src = if stdenv.system == "x86_64-linux" then fetchurl { # tested url = http://downloads.typesafe.com/scalaide-pack/4.0.0.vfinal-luna-211-20150305/scala-SDK-4.0.0-vfinal-2.11-linux.gtk.x86_64.tar.gz; sha256  = "b65c5e8160e72c8389537e9e427138e6daa2065f9df3a943a86e40dd1543dd83"; </del> <ins> url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/neon/R/eclipse-cpp-neon-R-linux-gtk.tar.gz; sha256 = "0a12qmqq22v7sbmwn1hjv1zcrkmp64bf0ajmdjljhs9ac79mxn5h"; </ins> } <del> else fetchurl { # untested url = http://downloads.typesafe.com/scalaide-pack/4.0.0.vfinal-luna-211-20150305/scala-SDK-4.0.0-vfinal-2.11-linux.gtk.x86.tar.gz; sha256 = "f422aea5903c97d212264a5a43c6ebc638aecbd4ce5e6078d92618725bc5d31e"; }; </del> <ins> else throw "Unsupported system: ${stdenv.system}"; </ins> }; <del> eclipse_scala_sdk_40 = eclipse-scala-sdk-40; # backward compatibility, added 2016-01-30 eclipse-cpp-36 = buildEclipse { name = "eclipse-cpp-3.6.2"; </del> <ins> eclipse-cpp-37 = buildEclipse { name = "eclipse-cpp-3.7"; </ins> description = "Eclipse IDE for C/C++ Developers"; src = if stdenv.system == "x86_64-linux" then fetchurl { <del> url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/helios/SR2/eclipse-cpp-helios-SR2-linux-gtk-x86_64.tar.gz; sha1 = "6f914e11fa15a900c46825e4aa8299afd76e7e65"; </del> <ins> url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/indigo/R/eclipse-cpp-indigo-incubation-linux-gtk-x86_64.tar.gz; sha256 = "14ppc9g9igzvj1pq7jl01vwhzb66nmzbl9wsdl1sf3xnwa9wnqk3"; </ins> } else fetchurl { <del> url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/helios/SR2/eclipse-cpp-helios-SR2-linux-gtk.tar.gz; sha1 = "1156e4bc0253ae3a3a4e54839e4944dc64d3108f"; </del> <ins> url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/indigo/R/eclipse-cpp-indigo-incubation-linux-gtk.tar.gz; sha256 = "1cvg1vgyazrkinwzlvlf0dpl197p4784752srqybqylyj5psdi3b"; </ins> }; }; <del> eclipse_cpp_36 = eclipse-cpp-36; # backward compatibility, added 2016-01-30 </del> <ins> eclipse_cpp_37 = eclipse-cpp-37; # backward compatibility, added 2016-01-30 ################### Eclipse Modeling  ################################################################################ </ins> eclipse-modeling-46 = buildEclipse { name = "eclipse-modeling-4.6";

See We should probably remove some of the Eclipse versions we have as we seem to be carrying lots of them. If there are objections to removing, we should at the very least clean up this area.
you can probably close this one now?


Question: You cannot configure both an Intel iGPU and an AMD APU. Pick the one corresponding to your processor. ''; } { assertion = primeEnabled -> pCfg.nvidiaBusId != "" && (pCfg.intelBusId != "" || pCfg.amdgpuBusId != ""); message = '' When NVIDIA PRIME is enabled, the GPU bus IDs must configured. ''; } { assertion = offloadCfg.enable -> versionAtLeast nvidia_x11.version "435.21"; message = "NVIDIA PRIME render offload is currently only supported on versions >= 435.21."; } { assertion = !(syncCfg.enable && offloadCfg.enable); message = "Only one NVIDIA PRIME solution may be used at a time."; } { assertion = !(syncCfg.enable && cfg.powerManagement.finegrained); message = "Sync precludes powering down the NVIDIA GPU."; } { assertion = cfg.powerManagement.enable -> offloadCfg.enable; message = "Fine-grained power management requires offload to be enabled."; } <ins> { assertion = cfg.powerManagement.enable -> ( builtins.pathExists (cfg.package.out + "/bin/nvidia-sleep.sh") && builtins.pathExists (cfg.package.out + "/lib/systemd/system-sleep/nvidia") ); message = "Required files for driver based power management don't exist."; } </ins> ]; # If Optimus/PRIME is enabled, we:

In is installed if it exists, and the install siliently continues if it doesn't exist. In the service the script is executed unconditionally, even if the script doesn't exist. That breaks suspend with the 465 beta driver, because there the script does not exist. I think we should [ ] fail loudly if it doesn't exist (so that if you close the laptop and put it in a bag, it doesn't catch fire) [ ] figure out where the script went / what the replacement is. CC
I will look into this in an hour or two, have a thing to do soon.


Question: strings.  The latter is concatenated, interspersed with colon characters. ''; <del> type = with types; attrsOf (oneOf [ str path (listOf str) ]); </del> <ins> type = with types; attrsOf (oneOf [ (listOf str) str path ]); </ins> apply = mapAttrs (n: v: if isList v then concatStringsSep ":" v else "${v}"); };

Steps to reproduce the behavior: -rebuild of NixOS with GNOME Known workaround: reverting ( ) Please run and paste the result.
Opened an issue but unsure about what is going on / how to fix other than reverting that commit. I don't know that much nix :C
does fix the issue for you?
It does, thanks for the fix. :3