Question:
Project description 'cp' and 'mv' utilities with progress bar patches The utilize it (flag -r) to show cp, mv progress. Advanced Copy is a mod for the GNU cp and GNU mv tools which adds a progress bar and provides some info on what's going on. It was written by Florian Zwicke and released under the GPL. This repository exists because the website appears to be dead. You can still find it via the . More info: Metadata homepage URL: source URL: license: GPL platforms: unix, linux Priorities Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
The after running the in the advcpmv repo would be and need the binary with name and for the flag -r to work. So symlink and to and respectively.
It is a patch against coreutils, basically?
Yes
On a hand, it can simply be treated as a , or even better, a NUR-like overlay. On the other hand, coreutils is a core (pun not intended) package for Nixpkgs, a dependency for things from fetchers to stdenvs. Modifying it has the potential to be a mass-rebuiding mess. Indeed, patches for coreutils should be "vendored". Let's try.
Sorry I am so new to Nix and NixOS (2 weeks usage), I don't even know it would mess things up. I don't know much about , isn't it just permanently modify and in place? I have learned something about writing a derivation this week, and here is the .nix file I am using and work just fine for me:
Nix is source-based - it builds the binaries (and artifacts in general) from the sources. Think like picking Archlinux but from the PKGBUILDS. Despite being source-based, Nix can rely on local and remote binary caches to speedup the building. Certainly, when a package source is updated, its old entry in the cache is invalidated and the new version is put in its place. For an application like, say, Zsnes emulator, it affects only Zsnes. On the other, for a library like, say, SDL, its update invalidates SDL and everything that uses SDL - zsnes, bochs, frets-on-fire, dosbox, mednafen... the list is huge. And it applies to everything, from the core utilities like coreutils to desktops like XFCE. provides a better visual analogy.
Thanks for explaining it to me. I think it would be better not touching those basic packages.
I have tried this and it worked: Now I am thinking if it's better to put this in my (future) NUR overlay or in the main Nixpkgs.
I think that this issue should stay open because it is not necessary to edit the coreutils packaged in nix. One can just make another package that only includes advcpmv commands like arch does:
The problem is that advcpmv is a patch that modifies only cp and mv, while coreutils has a truckload of extra commands. It can cause conflicts with existing packages.
I just tried to rebuild my config(was working before), got: What's the suggested resolution here?
From this it seems like, the only way out is to not use this package anymore? It's an dependency to some nnn file browser feature. I'll look for alternatives for it.
Two weeks ago . If you are interested in keeping advcpmv - and receiving because "it will break the world" in a future update of Coreutils -, feel free to pick it.

<ins> { coreutils , fetchFromGitHub }: let advcpmv-data = { pname = "advcpmv"; patch-version = "0.9"; coreutils-version = "9.4"; version = "${advcpmv-data.patch-version}-${advcpmv-data.coreutils-version}"; src = fetchFromGitHub { owner = "jarun"; repo = "advcpmv"; rev = "a1f8b505e691737db2f7f2b96275802c45f65c59"; hash = "sha256-IHfMu6PyGRPc87J/hbxMUdosmLq13K0oWa5fPLWKOvo="; }; patch-file = advcpmv-data.src + "/advcpmv-${advcpmv-data.version}.patch"; }; coreutilsNoSingleBinary = coreutils.override { singleBinary = false; }; in assert (advcpmv-data.coreutils-version == coreutils.version); coreutilsNoSingleBinary.overrideAttrs (old: { inherit (advcpmv-data) pname version; patches = (old.patches or [ ]) ++ [ advcpmv-data.patch-file ]; outputs = [ "out" ]; # Since we don't need info files configureFlags = (old.configureFlags or [ ]) ++ [ # To not conflict with regular coreutils "--program-prefix=adv" ]; # Only cpg and mvg are desired, the others are not touched and therefore can # be removed. Equally, the info directory is removed. postFixup = (old.postFixup or "") + '' rm -rf $out/share/info pushd $out/bin mv advcp cpg mv advmv mvg rm adv* mv cpg advcp mv mvg advmv ln -s advcp cpg ln -s advcp acp ln -s advmv mvg ln -s advmv amv popd ''; meta = old.meta // { homepage = "https://github.com/jarun/advcpmv"; description = "Patched cp and mv from Coreutils that provides progress bars"; longDescription = '' Advanced Copy is a mod for the GNU cp and GNU mv tools which adds a progress bar and provides some info on what's going on. It was written by Florian Zwicke and released under the GPL. ''; }; }) </ins>


Question: Project description OpenJDK 22 was released on 19-MAR-2024. The OpenJDK project has been releasing Early Access (EA) binaries for many months now. It would be nice to be able to install OpenJDK 22 as a Nix package and also to begin development of dependent Nix packages (e.g. ) Metadata homepage URL: source URL: (update: is open now) license: GPL with Classpath Exception platforms: unix, linux, darwin, others I'm fairly new to Nix (but loving it so far) so I'm not 100% sure this whether this should be a "new package request" (as Nix keeps multiple versions of OpenJDK available as different packages) or a "package update request" (since jdk22 is an updated version of jdk21.) If I need to change this or anything else in the issue please let me know and I will try to fix it.

<ins> { stdenv , lib , fetchurl , fetchpatch , fetchFromGitHub , bash , pkg-config , autoconf , cpio , file , which , unzip , zip , perl , cups , freetype , alsa-lib , libjpeg , giflib , libpng , zlib , lcms2 , libX11 , libICE , libXrender , libXext , libXt , libXtst , libXi , libXinerama , libXcursor , libXrandr , fontconfig , openjdk22-bootstrap , ensureNewerSourcesForZipFilesHook , setJavaClassPath # TODO(@sternenseemann): gtk3 fails to evaluate in pkgsCross.ghcjs.buildPackages # which should be fixable, this is a no-rebuild workaround for GHC. , headless ? stdenv.targetPlatform.isGhcjs , enableJavaFX ? false , openjfx , enableGnome2 ? true , gtk3 , gnome_vfs , glib , GConf }: let version = { feature = "22"; interim = ""; build = "36"; }; # when building a headless jdk, also bootstrap it with a headless jdk openjdk-bootstrap = openjdk22-bootstrap.override { gtkSupport = !headless; }; openjdk = stdenv.mkDerivation { pname = "openjdk" + lib.optionalString headless "-headless"; version = "${version.feature}${version.interim}+${version.build}"; src = fetchFromGitHub { owner = "openjdk"; repo = "jdk${version.feature}u"; rev = "jdk-${version.feature}${version.interim}+${version.build}"; hash = "sha256-itjvIedPwJl/l3a2gIVpNMs1zkbrjioVqbCj1Z1nCJE="; }; nativeBuildInputs = [ pkg-config autoconf unzip ensureNewerSourcesForZipFilesHook ]; buildInputs = [ cpio file which zip perl zlib cups freetype alsa-lib libjpeg giflib libpng zlib lcms2 libX11 libICE libXrender libXext libXtst libXt libXtst libXi libXinerama libXcursor libXrandr fontconfig openjdk-bootstrap ] ++ lib.optionals (!headless && enableGnome2) [ gtk3 gnome_vfs GConf glib ]; patches = [ ./fix-java-home-jdk21.patch ./read-truststore-from-env-jdk10.patch ./currency-date-range-jdk10.patch ./increase-javadoc-heap-jdk13.patch ./ignore-LegalNoticeFilePlugin-jdk18.patch # -Wformat etc. are stricter in newer gccs, per # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79677 # so grab the work-around from # https://src.fedoraproject.org/rpms/java-openjdk/pull-request/24 (fetchurl { url = "https://src.fedoraproject.org/rpms/java-openjdk/raw/06c001c7d87f2e9fe4fedeef2d993bcd5d7afa2a/f/rh1673833-remove_removal_of_wformat_during_test_compilation.patch"; sha256 = "082lmc30x64x583vqq00c8y0wqih3y4r0mp1c4bqq36l22qv6b6r"; }) # Fix build for gnumake-4.4.1: #   https://github.com/openjdk/jdk/pull/12992 (fetchpatch { name = "gnumake-4.4.1"; url = "https://github.com/openjdk/jdk/commit/9341d135b855cc208d48e47d30cd90aafa354c36.patch"; hash = "sha256-Qcm3ZmGCOYLZcskNjj7DYR85R4v07vYvvavrVOYL8vg="; }) ] ++ lib.optionals (!headless && enableGnome2) [ ./swing-use-gtk-jdk13.patch ]; postPatch = '' chmod +x configure patchShebangs --build configure ''; # JDK's build system attempts to specifically detect # and special-case WSL, and we don't want it to do that, # so pass the correct platform names explicitly configurePlatforms = [ "build" "host" ]; # https://openjdk.org/groups/build/doc/building.html configureFlags = [ "--with-boot-jdk=${openjdk-bootstrap.home}" "--with-version-build=${version.build}" "--with-version-opt=nixos" "--with-version-pre=" "--enable-unlimited-crypto" "--with-native-debug-symbols=internal" "--with-libjpeg=system" "--with-giflib=system" "--with-libpng=system" "--with-zlib=system" "--with-lcms=system" "--with-stdc++lib=dynamic" ] ++ lib.optional headless "--enable-headless-only" ++ lib.optional (!headless && enableJavaFX) "--with-import-modules=${openjfx}"; separateDebugInfo = true; env.NIX_CFLAGS_COMPILE = "-Wno-error"; NIX_LDFLAGS = toString (lib.optionals (!headless) [ "-lfontconfig" "-lcups" "-lXinerama" "-lXrandr" "-lmagic" ] ++ lib.optionals (!headless && enableGnome2) [ "-lgtk-3" "-lgio-2.0" "-lgnomevfs-2" "-lgconf-2" ]); # -j flag is explicitly rejected by the build system: #     Error: 'make -jN' is not supported, use 'make JOBS=N' # Note: it does not make build sequential. Build system # still runs in parallel. enableParallelBuilding = false; buildFlags = [ "images" ]; installPhase = '' mkdir -p $out/lib mv build/*/images/jdk $out/lib/openjdk # Remove some broken manpages. rm -rf $out/lib/openjdk/man/ja* # Mirror some stuff in top-level. mkdir -p $out/share ln -s $out/lib/openjdk/include $out/include ln -s $out/lib/openjdk/man $out/share/man # IDEs use the provided src.zip to navigate the Java codebase (https://github.com/NixOS/nixpkgs/pull/95081) ln -s $out/lib/openjdk/lib/src.zip $out/lib/src.zip # jni.h expects jni_md.h to be in the header search path. ln -s $out/include/linux/*_md.h $out/include/ # Remove crap from the installation. rm -rf $out/lib/openjdk/demo ${lib.optionalString headless '' rm $out/lib/openjdk/lib/{libjsound,libfontmanager}.so ''} ln -s $out/lib/openjdk/bin $out/bin ''; preFixup = '' # Propagate the setJavaClassPath setup hook so that any package # that depends on the JDK has $CLASSPATH set up properly. mkdir -p $out/nix-support #TODO or printWords?  cf https://github.com/NixOS/nixpkgs/pull/27427#issuecomment-317293040 echo -n "${setJavaClassPath}" > $out/nix-support/propagated-build-inputs # Set JAVA_HOME automatically. mkdir -p $out/nix-support cat <<EOF > $out/nix-support/setup-hook if [ -z "''${JAVA_HOME-}" ]; then export JAVA_HOME=$out/lib/openjdk; fi EOF ''; postFixup = '' # Build the set of output library directories to rpath against LIBDIRS="" for output in $(getAllOutputNames); do if [ "$output" = debug ]; then continue; fi LIBDIRS="$(find $(eval echo $$output) -name *.so* -exec dirname {} + | sort -u | tr 'n' ':'):$LIBDIRS" done # Add the local library paths to remove dependencies on the bootstrap for output in $(getAllOutputNames); do if [ "$output" = debug ]; then continue; fi OUTPUTDIR=$(eval echo $$output) BINLIBS=$(find $OUTPUTDIR/bin/ -type f; find $OUTPUTDIR -name *.so*) echo "$BINLIBS" | while read i; do patchelf --set-rpath "$LIBDIRS:$(patchelf --print-rpath "$i")" "$i" || true patchelf --shrink-rpath "$i" || true done done ''; disallowedReferences = [ openjdk-bootstrap ]; pos = builtins.unsafeGetAttrPos "feature" version; meta = import ./meta.nix lib version.feature; passthru = { architecture = ""; home = "${openjdk}/lib/openjdk"; inherit gtk3; }; }; in openjdk </ins>


Question: Project description OpenJDK 22 was released on 19-MAR-2024. The OpenJDK project has been releasing Early Access (EA) binaries for many months now. It would be nice to be able to install OpenJDK 22 as a Nix package and also to begin development of dependent Nix packages (e.g. ) Metadata homepage URL: source URL: (update: is open now) license: GPL with Classpath Exception platforms: unix, linux, darwin, others I'm fairly new to Nix (but loving it so far) so I'm not 100% sure this whether this should be a "new package request" (as Nix keeps multiple versions of OpenJDK available as different packages) or a "package update request" (since jdk22 is an updated version of jdk21.) If I need to change this or anything else in the issue please let me know and I will try to fix it.

<ins> { stdenv , lib , fetchFromGitHub , fetchpatch , writeText , openjdk21_headless , gradle , pkg-config , perl , cmake , gperf , gtk2 , gtk3 , libXtst , libXxf86vm , glib , alsa-lib , ffmpeg_4 , python3 , ruby , icu68 , withMedia ? true , withWebKit ? false }: let major = "22"; update = ""; build = "+30"; repover = "${major}${update}${build}"; makePackage = args: stdenv.mkDerivation ({ version = "${major}${update}${build}"; src = fetchFromGitHub { owner = "openjdk"; repo = "jfx"; rev = repover; hash = "sha256-sZF7ZPC0kgTTxWgtkxmGtOlfroGPGVZcMw0/wSTJUxQ="; }; buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4 icu68 ]; nativeBuildInputs = [ gradle perl pkg-config cmake gperf python3 ruby ]; dontUseCmakeConfigure = true; config = writeText "gradle.properties" ('' CONF = Release JDK_HOME = ${openjdk21_headless.home} '' + args.gradleProperties or ""); buildPhase = '' runHook preBuild export NUMBER_OF_PROCESSORS=$NIX_BUILD_CORES export GRADLE_USER_HOME=$(mktemp -d) ln -s $config gradle.properties export NIX_CFLAGS_COMPILE="$(pkg-config --cflags glib-2.0) $NIX_CFLAGS_COMPILE" gradle --no-daemon $gradleFlags sdk runHook postBuild ''; } // args); # Fake build to pre-download deps into fixed-output derivation. # We run nearly full build because I see no other way to download everything that's needed. # Anyone who knows a better way? deps = makePackage { pname = "openjfx-deps"; # perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar) installPhase = '' find $GRADLE_USER_HOME -type f -regex '.*/modules.*.(jar|pom)'  | perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/s]+))$# ($x = $2) =~ tr|.|/|; "install -Dm444 $1 $out/$x/$3/$4/$5" #e'  | sh rm -rf $out/tmp ''; outputHashAlgo = "sha256"; outputHashMode = "recursive"; outputHash = "sha256-2I7LvYcudlB4DKJ/wEiTjY6nICUxUY52euosUqOA+Bs="; }; in makePackage { pname = "openjfx-modular-sdk"; gradleProperties = '' COMPILE_MEDIA = ${lib.boolToString withMedia} COMPILE_WEBKIT = ${lib.boolToString withWebKit} ''; preBuild = '' swtJar="$(find ${deps} -name org.eclipse.swt*.jar)" substituteInPlace build.gradle  --replace 'mavenCentral()' 'mavenLocal(); maven { url uri("${deps}") }'  --replace 'name: SWT_FILE_NAME' "files('$swtJar')" ''; installPhase = '' cp -r build/modular-sdk $out ''; stripDebugList = [ "." ]; postFixup = '' # Remove references to bootstrap. export openjdkOutPath='${openjdk21_headless.outPath}' find "$out" -name *.so | while read lib; do new_refs="$(patchelf --print-rpath "$lib" | perl -pe 's,:?Q$ENV{openjdkOutPath}E[^:]*,,')" patchelf --set-rpath "$new_refs" "$lib" done ''; disallowedReferences = [ openjdk21_headless openjdk21_headless ]; passthru.deps = deps; meta = with lib; { homepage = "https://openjdk.org/projects/openjfx/"; license = licenses.gpl2Classpath; description = "The next-generation Java client toolkit"; maintainers = with maintainers; [ abbradar ]; platforms = platforms.unix; }; } </ins>


Question: Project description OpenJDK 22 was released on 19-MAR-2024. The OpenJDK project has been releasing Early Access (EA) binaries for many months now. It would be nice to be able to install OpenJDK 22 as a Nix package and also to begin development of dependent Nix packages (e.g. ) Metadata homepage URL: source URL: (update: is open now) license: GPL with Classpath Exception platforms: unix, linux, darwin, others I'm fairly new to Nix (but loving it so far) so I'm not 100% sure this whether this should be a "new package request" (as Nix keeps multiple versions of OpenJDK available as different packages) or a "package update request" (since jdk22 is an updated version of jdk21.) If I need to change this or anything else in the issue please let me know and I will try to fix it.

<ins> { callPackage , enableJavaFX ? false , ... }@args: callPackage ./common.nix ({ # Details from https://www.azul.com/downloads/?version=java-22-lts&package=jdk # Note that the latest build may differ by platform dists = { x86_64-linux = { zuluVersion = "22.28.91"; jdkVersion = "22.0.0"; hash = if enableJavaFX then "sha256-HvMiODsz+puu1xtxG2RRXH/PWCk91PGNZ7UcOd9orqQ=" else "sha256-HvMiODsz+puu1xtxG2RRXH/PWCk91PGNZ7UcOd9orqQ="; }; aarch64-linux = { zuluVersion = "22.28.91"; jdkVersion = "22.0.0"; hash = if enableJavaFX then throw "JavaFX is not available for aarch64-linux" else "sha256-3RLNNEbMk5wAZsQmbQj/jpx9iTL/yr9N3wL4t7m6c+s="; }; x86_64-darwin = { zuluVersion = "22.28.91"; jdkVersion = "22.0.0"; hash = if enableJavaFX then "sha256-Y6PSNQjHRXukwux2sVbvpTIqT+Cg+KeG1C0iSEwyKZw=" else "sha256-Y6PSNQjHRXukwux2sVbvpTIqT+Cg+KeG1C0iSEwyKZw="; }; aarch64-darwin = { zuluVersion = "22.28.91"; jdkVersion = "22.0.0"; hash = if enableJavaFX then "sha256-o0VkWB4+PzBmNNWy+FZlyjTgukBTe6owfydb3YNfEE0=" else "sha256-o0VkWB4+PzBmNNWy+FZlyjTgukBTe6owfydb3YNfEE0="; }; }; } // builtins.removeAttrs args [ "callPackage" ]) </ins>


Question: Project description OpenJDK 22 was released on 19-MAR-2024. The OpenJDK project has been releasing Early Access (EA) binaries for many months now. It would be nice to be able to install OpenJDK 22 as a Nix package and also to begin development of dependent Nix packages (e.g. ) Metadata homepage URL: source URL: (update: is open now) license: GPL with Classpath Exception platforms: unix, linux, darwin, others I'm fairly new to Nix (but loving it so far) so I'm not 100% sure this whether this should be a "new package request" (as Nix keeps multiple versions of OpenJDK available as different packages) or a "package update request" (since jdk22 is an updated version of jdk21.) If I need to change this or anything else in the issue please let me know and I will try to fix it.

hugs = callPackage ../development/interpreters/hugs { }; <del> inherit (javaPackages) openjfx11 openjfx15 openjfx17 openjfx19 openjfx20 openjfx21; </del> <ins> inherit (javaPackages) openjfx11 openjfx15 openjfx17 openjfx19 openjfx20 openjfx21 openjfx22; </ins> openjfx = openjfx17; openjdk8-bootstrap = javaPackages.compiler.openjdk8-bootstrap;


Question: Project description OpenJDK 22 was released on 19-MAR-2024. The OpenJDK project has been releasing Early Access (EA) binaries for many months now. It would be nice to be able to install OpenJDK 22 as a Nix package and also to begin development of dependent Nix packages (e.g. ) Metadata homepage URL: source URL: (update: is open now) license: GPL with Classpath Exception platforms: unix, linux, darwin, others I'm fairly new to Nix (but loving it so far) so I'm not 100% sure this whether this should be a "new package request" (as Nix keeps multiple versions of OpenJDK available as different packages) or a "package update request" (since jdk22 is an updated version of jdk21.) If I need to change this or anything else in the issue please let me know and I will try to fix it.

jdk21 = openjdk21; jdk21_headless = openjdk21_headless; <ins> openjdk22 = javaPackages.compiler.openjdk22; openjdk22_headless = javaPackages.compiler.openjdk22.headless; jdk22 = openjdk22; jdk22_headless = openjdk22_headless; </ins> /* default JDK */ jdk = jdk21; jdk_headless = jdk21_headless;


Question: Project description OpenJDK 22 was released on 19-MAR-2024. The OpenJDK project has been releasing Early Access (EA) binaries for many months now. It would be nice to be able to install OpenJDK 22 as a Nix package and also to begin development of dependent Nix packages (e.g. ) Metadata homepage URL: source URL: (update: is open now) license: GPL with Classpath Exception platforms: unix, linux, darwin, others I'm fairly new to Nix (but loving it so far) so I'm not 100% sure this whether this should be a "new package request" (as Nix keeps multiple versions of OpenJDK available as different packages) or a "package update request" (since jdk22 is an updated version of jdk21.) If I need to change this or anything else in the issue please let me know and I will try to fix it.

openjfx19 = callPackage ../development/compilers/openjdk/openjfx/19.nix { }; openjfx20 = callPackage ../development/compilers/openjdk/openjfx/20.nix { }; openjfx21 = callPackage ../development/compilers/openjdk/openjfx/21.nix { }; <ins> openjfx22 = callPackage ../development/compilers/openjdk/openjfx/22.nix { }; </ins> in { <del> inherit openjfx11 openjfx15 openjfx17 openjfx19 openjfx20 openjfx21; </del> <ins> inherit openjfx11 openjfx15 openjfx17 openjfx19 openjfx20 openjfx21 openjfx22; </ins> compiler = let


Question: Project description OpenJDK 22 was released on 19-MAR-2024. The OpenJDK project has been releasing Early Access (EA) binaries for many months now. It would be nice to be able to install OpenJDK 22 as a Nix package and also to begin development of dependent Nix packages (e.g. ) Metadata homepage URL: source URL: (update: is open now) license: GPL with Classpath Exception platforms: unix, linux, darwin, others I'm fairly new to Nix (but loving it so far) so I'm not 100% sure this whether this should be a "new package request" (as Nix keeps multiple versions of OpenJDK available as different packages) or a "package update request" (since jdk22 is an updated version of jdk21.) If I need to change this or anything else in the issue please let me know and I will try to fix it.

openjfx = openjfx21; }; <ins> openjdk22 = mkOpenjdk ../development/compilers/openjdk/22.nix ../development/compilers/zulu/22.nix { openjdk22-bootstrap = temurin-bin.jdk-21; openjfx = openjfx22; }; </ins> temurin-bin = recurseIntoAttrs (callPackage ( if stdenv.isLinux then ../development/compilers/temurin-bin/jdk-linux.nix


Question:
As of today, this search yields 3 items for Corretto. The "Source"-buttons for some of them point to OpenJDK even though the package is Corretto. Corretto has been and is based on the corresponding OpenJDK version (using ). At a first glance, the the usage of looks like the issue. However, when searching for , the "Source"-button for correctly points to eventhough the latter also uses .
Transferred to nixpkgs as nixos-search just uses , which is determined by in . I am not sure what is going on here exactly, but note that does seem to have the correct position.
:arrow_up: I left some context in the mentioned above. I realize that the actual problem is , i.e. the OpenJDK derivations define their and these get inherited then.

}; }; <del> meta = with lib; { </del> <ins> # Some of the OpenJDK derivation set their `pos` by hand. We need to # overwrite this in order to point to Corretto, not OpenJDK. pos = __curPos; meta = with lib; oldAttrs.meta // { </ins> homepage = "https://aws.amazon.com/corretto"; license = licenses.gpl2Only; description = "Amazon's distribution of OpenJDK"; <del> platforms = jdk.meta.platforms; mainProgram = "java"; </del> maintainers = with maintainers; [ rollf ]; }; })


Question:
Steps to reproduce the behavior: type: I have none. Please run and paste the result. Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
Context: caused because last supported version for 3.0.0 is llvm 15: Should be easy enough to fix, thanks for reporting.

ghdl-llvm = callPackage ../development/compilers/ghdl { backend = "llvm"; <ins> inherit (llvmPackages_15) llvm; </ins> }; gcl_2_6_13_pre = callPackage ../development/compilers/gcl/2.6.13-pre.nix { };


Question:
Maybe related to build from master branch - Hope you don't mind the ping, sorry if you do Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
I can't reproduce this. What does give for you?
My bad in naming the PR, the package does build but the man output of it points to broken symlink I am building on master branch, commit system x86_64-linux.
With some trial and error I was able to pin point the commit which broke it That was merged in See here my build log

'' runHook preInstall <ins> mv build/linux-${cpu}-server-${buildType}/images/jdk/man build/linux-${cpu}-server-${buildType}/images/${jbrsdkDir} </ins> rm -rf build/linux-${cpu}-server-${buildType}/images/jdk mv build/linux-${cpu}-server-${buildType}/images/${jbrsdkDir} build/linux-${cpu}-server-${buildType}/images/jdk '' + oldAttrs.installPhase + "runHook postInstall";


Question: It looks like , so the program crashes on every run. See . No crash. system: host os: multi-user?: sandbox: version: channels(root): channels(username): nixpkgs: Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:

{ lib , buildNpmPackage , fetchFromGitHub <ins> , runCommand , web-ext </ins> }: buildNpmPackage rec {


Question: It looks like , so the program crashes on every run. See . No crash. system: host os: multi-user?: sandbox: version: channels(root): channels(username): nixpkgs: Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:

npmDepsHash = "sha256-KPBKUjCxva11w/E+Qhlx+1vikpCL7Hr9MiKenYHEVSU="; <ins> npmBuildFlags = [ "--production" ]; passthru.tests.help = runCommand "${pname}-tests" { } '' ${web-ext}/bin/web-ext --help touch $out ''; </ins> meta = { description = "A command line tool to help build, run, and test web extensions"; homepage = "https://github.com/mozilla/web-ext";


Question:
Apparmour service doesn't reload correctly after a system switch. Steps to reproduce the behavior: anything in config with apparmor enabled nixos-rebuild switch error of apparmor service failing to restart No error, apparmor starting as it should Here my service log: Please run and paste the result. Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
I'm encountering the exact same error here.
Same issue here
Same for the issues after . However do a after that just fine.
Someone once told me that the state of AA in NixOS wasn't great. But I don't know first hand. Could be wrong. I lack any knowledge at all to even figure out the root cause of the issue. :/
AA seems to work fine in general. Just the service restart after a nixos-rebuild doesn't work.
Tested just now on nixos-23.11. AppArmor service restarts without any issues after nixos-rebuild. I think this issue is resolved.
Reopening this issue as unresolved. Currently on 24.05.. and this issue seems to be persisting after a nixos-rebuild: reloading the following units: apparmor.service, dbus.service Job for apparmor.service failed. See "systemctl status apparmor.service" and "journalctl -xeu apparmor.service" for details.
I did some more investigation on this. I have one system with a custom apparmor profile and another system with no profiles. On the system I have with a custom apparmor profile, nixos-rebuild works fine. On the other system without any apparmor profiles, nixos-rebuild fails with the message in this bug report. After nixos-rebuild, journalctl reports: In I tried running "sudo aa-remove-unknown" from zsh: The error message matches what is in the system log. I think this may be related to the aa-remove-unknown step.
As a workaround, adding this to appears to work: After this, the first nixos-rebuild switch will still cause the issue (because the profile is not installed yet). But on the second and subsequent nixos-rebuilds, there is no error message on my system. Can someone else try it and see if it works on their system too? If so, it may help to figure out the proper solution.
I tried it and it actually rebuilds without error the first time too. Hopefully that helps you or someone else figure out a permanent fix! Many thanks.
From my side the issue seems to be be fixed with the merged fixes. So I will close the issue.
If anyone wants to track the merger of the fix :

<ins> commit 166afaf144d6473464975438353257359dd51708 Author: Andreas Wiese <andreas.wiese@kernkonzept.com> Date:   Thu Feb 1 11:35:02 2024 +0100 aa-remove-unknown: fix readability check This check is intended for ensuring that the profiles file can actually be opened.  The *actual* check is performed by the shell, not the read utility, which won't even be executed if the input redirection (and hence the test) fails. If the test succeeds, though, using `read` here might actually jeopardize the test result if there are no profiles loaded and the file is empty. This commit fixes that case by simply using `true` instead of `read`. diff --git a/utils/aa-remove-unknown b/utils/aa-remove-unknown index 0e00d6a0..3351feef 100755 --- a/utils/aa-remove-unknown +++ b/utils/aa-remove-unknown @@ -63,7 +63,7 @@ fi # We have to do this check because error checking awk's getline() below is # tricky and, as is, results in an infinite loop when apparmorfs returns an # error from open(). -if ! IFS= read -r _ < "$PROFILES" ; then +if ! true < "$PROFILES" ; then echo "ERROR: Unable to read apparmorfs profiles file" 1>&2 exit 1 elif [ ! -w "$REMOVE" ] ; then </ins>


Question:
Apparmour service doesn't reload correctly after a system switch. Steps to reproduce the behavior: anything in config with apparmor enabled nixos-rebuild switch error of apparmor service failing to restart No error, apparmor starting as it should Here my service log: Please run and paste the result. Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
I'm encountering the exact same error here.
Same issue here
Same for the issues after . However do a after that just fine.
Someone once told me that the state of AA in NixOS wasn't great. But I don't know first hand. Could be wrong. I lack any knowledge at all to even figure out the root cause of the issue. :/
AA seems to work fine in general. Just the service restart after a nixos-rebuild doesn't work.
Tested just now on nixos-23.11. AppArmor service restarts without any issues after nixos-rebuild. I think this issue is resolved.
Reopening this issue as unresolved. Currently on 24.05.. and this issue seems to be persisting after a nixos-rebuild: reloading the following units: apparmor.service, dbus.service Job for apparmor.service failed. See "systemctl status apparmor.service" and "journalctl -xeu apparmor.service" for details.
I did some more investigation on this. I have one system with a custom apparmor profile and another system with no profiles. On the system I have with a custom apparmor profile, nixos-rebuild works fine. On the other system without any apparmor profiles, nixos-rebuild fails with the message in this bug report. After nixos-rebuild, journalctl reports: In I tried running "sudo aa-remove-unknown" from zsh: The error message matches what is in the system log. I think this may be related to the aa-remove-unknown step.
As a workaround, adding this to appears to work: After this, the first nixos-rebuild switch will still cause the issue (because the profile is not installed yet). But on the second and subsequent nixos-rebuilds, there is no error message on my system. Can someone else try it and see if it works on their system too? If so, it may help to figure out the proper solution.
I tried it and it actually rebuilds without error the first time too. Hopefully that helps you or someone else figure out a permanent fix! Many thanks.
From my side the issue seems to be be fixed with the merged fixes. So I will close the issue.
If anyone wants to track the merger of the fix :

--replace "/usr/include/linux/capability.h" "${linuxHeaders}/include/linux/capability.h" ''; <del> patches = lib.optionals stdenv.hostPlatform.isMusl [ </del> <ins> patches = [ ./0001-aa-remove-unknown_empty-ruleset.patch ] ++ lib.optionals stdenv.hostPlatform.isMusl [ </ins> (fetchpatch { url = "https://git.alpinelinux.org/aports/plain/testing/apparmor/0003-Added-missing-typedef-definitions-on-parser.patch?id=74b8427cc21f04e32030d047ae92caa618105b53"; name = "0003-Added-missing-typedef-definitions-on-parser.patch";


Question:
Steps to reproduce the behavior: obs-studio Please run and paste the result.
Couple things: 23.05 will be EOL soon, just a heads up the rev as specified in your "host os" line of the output, it pulls from the cache. I can only assume you're using a different rev or some override/overlay. Even rebuilding from that rev in my case produces no errors. Can you provide a config to reproduce?
My config is here: I am not using any override/overlay, afaik...
Setting is causing some massive rebuilds on your end and likely causing the breakage here. That's also why it couldn't just fetch from the binary cache. Try without this line.
Though FWIW, I'll see if I can get the build working with , it probably shouldn't just break.

"-DENABLE_JACK=ON" (lib.cmakeBool "ENABLE_QSV11" stdenv.hostPlatform.isx86_64) (lib.cmakeBool "ENABLE_LIBFDK" withFdk) <ins> (lib.cmakeBool "ENABLE_ALSA" alsaSupport) (lib.cmakeBool "ENABLE_PULSEAUDIO" pulseaudioSupport) (lib.cmakeBool "ENABLE_PIPEWIRE" pipewireSupport) </ins> ]; dontWrapGApps = true;


Question:
Steps to reproduce the behavior: obs-studio Please run and paste the result.
Couple things: 23.05 will be EOL soon, just a heads up the rev as specified in your "host os" line of the output, it pulls from the cache. I can only assume you're using a different rev or some override/overlay. Even rebuilding from that rev in my case produces no errors. Can you provide a config to reproduce?
My config is here: I am not using any override/overlay, afaik...
Setting is causing some massive rebuilds on your end and likely causing the breakage here. That's also why it couldn't just fetch from the binary cache. Try without this line.
Though FWIW, I'll see if I can get the build working with , it probably shouldn't just break.

video content, efficiently ''; homepage = "https://obsproject.com"; <del> maintainers = with maintainers; [ jb55 MP2E materus fpletz ]; </del> <ins> maintainers = with maintainers; [ eclairevoyant jb55 MP2E materus fpletz ]; </ins> license = with licenses; [ gpl2Plus ] ++ optional withFdk fraunhofer-fdk; platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" ]; mainProgram = "obs";


Question:
Mathematica fails to start. .... System: NixOS: 17.03.1517. (Gorilla) Nix version: 1.11.11 Nixpkgs version: 17.03.1517. Sandboxing enabled: no
Similar issue in .

unixODBC libxml2 libuuid <ins> zlib </ins> ] ++ (with xorg; [ libX11 libXext


Question:
Mathematica fails to start. .... System: NixOS: 17.03.1517. (Gorilla) Nix version: 1.11.11 Nixpkgs version: 17.03.1517. Sandboxing enabled: no
Similar issue in .

echo "=== Running MathInstaller ===" ./MathInstaller -auto -createdir=y -execdir=$out/bin -targetdir=$out/libexec/Mathematica -silent <ins> # Fix library paths cd $out/libexec/Mathematica/Executables for path in mathematica MathKernel Mathematica WolframKernel wolfram math; do sed -i -e 's#export LD_LIBRARY_PATH$#export LD_LIBRARY_PATH=${zlib}/lib:''${LD_LIBRARY_PATH}#' $path done </ins> ''; preFixup = ''


Question:
Package name: Latest released version: 5.1.1 <!-- Search your package here: --- Current version on the unstable channel: 5.0.3 Current version on the stable/release channel: 5.0.3 <!-- 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]:
Version 5.1.0 fixed compatibility of this extension with PHP 8.3, so the current version 5.0.3 is unusable with PHP 8.3. It outputs these build warnings/errors
Could you please provide the PR to update this? I think it's a matter of changing 2 lines. Actually, creating the PR would have been faster than creating this issue :)

<del> { lib, stdenv, buildPecl, php, valgrind, pcre2, fetchFromGitHub }: </del> <ins> { lib , stdenv , buildPecl , php , valgrind , pcre2 , fetchFromGitHub }: </ins> let <del> version = "5.0.3"; </del> <ins> version = "5.1.2"; </ins> in buildPecl { inherit version; pname = "swoole";


Question:
Package name: Latest released version: 5.1.1 <!-- Search your package here: --- Current version on the unstable channel: 5.0.3 Current version on the stable/release channel: 5.0.3 <!-- 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]:
Version 5.1.0 fixed compatibility of this extension with PHP 8.3, so the current version 5.0.3 is unusable with PHP 8.3. It outputs these build warnings/errors
Could you please provide the PR to update this? I think it's a matter of changing 2 lines. Actually, creating the PR would have been faster than creating this issue :)

owner = "swoole"; repo = "swoole-src"; rev = "v${version}"; <del> sha256 = "sha256-xadseYMbA+llzTf9JFIitJK2iR0dN8vAjv3n9/e7FGs="; </del> <ins> hash = "sha256-WTsntvauiooj081mOoFcK6CVpnCCR/cEQtJbsOIJ/wo="; </ins> }; buildInputs = [ pcre2 ] ++ lib.optionals (!stdenv.isDarwin) [ valgrind ]; <del> doCheck = true; checkTarget = "tests"; </del> <ins> # tests require internet access doCheck = false; </ins> <del> meta = with lib; { </del> <ins> meta = { </ins> changelog = "https://github.com/swoole/swoole-src/releases/tag/v${version}"; description = "Coroutine-based concurrency library for PHP"; <del> license = licenses.asl20; homepage = "https://www.swoole.co.uk/"; maintainers = teams.php.members; </del> <ins> homepage = "https://www.swoole.com"; license = lib.licenses.asl20; maintainers = lib.teams.php.members; </ins> }; }


Question: They apparently fixed the issue where the cursor wouldn’t show up in new tabs. Needs backport to 23.11. Thanks! Package name: vte Latest released version: 0.74.2 Current version on the unstable channel: 0.74.1 Current version on the stable/release channel: 0.74.1 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]:

, gnome }: <del> stdenv.mkDerivation rec { </del> <ins> stdenv.mkDerivation (finalAttrs: { </ins> pname = "loupe"; <del> version = "45.2"; </del> <ins> version = "45.3"; </ins> src = fetchurl { <del> url = "mirror://gnome/sources/loupe/${lib.versions.major version}/loupe-${version}.tar.xz"; hash = "sha256-uLP/rzZXAmsX4E8Z4EDLqNUetNDKtU5CKVsOWlJxwKs="; </del> <ins> url = "mirror://gnome/sources/loupe/${lib.versions.major finalAttrs.version}/loupe-${finalAttrs.version}.tar.xz"; hash = "sha256-9l8tEgjQhatf+pmN1DyS/pUictTVm1HP7MEevf/KLYY="; </ins> }; patches = [


Question: They apparently fixed the issue where the cursor wouldn’t show up in new tabs. Needs backport to 23.11. Thanks! Package name: vte Latest released version: 0.74.2 Current version on the unstable channel: 0.74.1 Current version on the stable/release channel: 0.74.1 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]:

platforms = platforms.unix; mainProgram = "loupe"; }; <del> } </del> <ins> }) </ins>


Question: They apparently fixed the issue where the cursor wouldn’t show up in new tabs. Needs backport to 23.11. Thanks! Package name: vte Latest released version: 0.74.2 Current version on the unstable channel: 0.74.1 Current version on the stable/release channel: 0.74.1 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]:

, nixosTests }: <del> stdenv.mkDerivation rec { </del> <ins> stdenv.mkDerivation (finalAttrs: { </ins> pname = "vte"; <del> version = "0.74.1"; </del> <ins> version = "0.74.2"; </ins> outputs = [ "out" "dev" "devdoc" ]; src = fetchurl { <del> url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; sha256 = "sha256-IyjD8cmYNQoY4OUTNI6fxYHVfqTnuJrt8R4OPGUEK08="; </del> <ins> url = "mirror://gnome/sources/vte/${lib.versions.majorMinor finalAttrs.version}/vte-${finalAttrs.version}.tar.xz"; sha256 = "sha256-pTX7Kpj+qKJEnNGgLMz1GQEx3d/1LnFa/azj/rU26uc="; </ins> }; patches = [


Question: They apparently fixed the issue where the cursor wouldn’t show up in new tabs. Needs backport to 23.11. Thanks! Package name: vte Latest released version: 0.74.2 Current version on the unstable channel: 0.74.1 Current version on the stable/release channel: 0.74.1 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]:

passthru = { updateScript = gnome.updateScript { <del> packageName = pname; </del> <ins> packageName = "vte"; </ins> versionPolicy = "odd-unstable"; }; tests = {


Question: They apparently fixed the issue where the cursor wouldn’t show up in new tabs. Needs backport to 23.11. Thanks! Package name: vte Latest released version: 0.74.2 Current version on the unstable channel: 0.74.1 Current version on the stable/release channel: 0.74.1 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]:

maintainers = with maintainers; [ astsmtl antono ] ++ teams.gnome.members; platforms = platforms.unix; }; <del> } </del> <ins> }) </ins>


Question: Add vulkan-tools-lunarg to a devshell and see that the only executable it provides is vkvia. It should also at least build and provice vkconfig Steps to reproduce the behavior: vulkan-tools-lunarg to a devshell to execute vkconfig to debug your vulkan application that it is not found in your path I expected vkconfig to be built and included in the vulkan-tools-lunarg derivation

, vulkan-loader , vulkan-utility-libraries , writeText <ins> , libsForQt5 </ins> }: stdenv.mkDerivation rec {


Question: Add vulkan-tools-lunarg to a devshell and see that the only executable it provides is vkvia. It should also at least build and provice vkconfig Steps to reproduce the behavior: vulkan-tools-lunarg to a devshell to execute vkconfig to debug your vulkan application that it is not found in your path I expected vkconfig to be built and included in the vulkan-tools-lunarg derivation

hash = "sha256-2ZUD+RBsl35QV3250JOPCIoJb4sJcBsiRE4SZaS6ROs="; }; <del> nativeBuildInputs = [ cmake python3 jq which pkg-config ]; </del> <ins> nativeBuildInputs = [ cmake python3 jq which pkg-config libsForQt5.qt5.wrapQtAppsHook ]; </ins> buildInputs = [ expat


Question: Add vulkan-tools-lunarg to a devshell and see that the only executable it provides is vkvia. It should also at least build and provice vkconfig Steps to reproduce the behavior: vulkan-tools-lunarg to a devshell to execute vkconfig to debug your vulkan application that it is not found in your path I expected vkconfig to be built and included in the vulkan-tools-lunarg derivation

wayland xcbutilkeysyms xcbutilwm <ins> libsForQt5.qt5.qtbase libsForQt5.qt5.qtwayland </ins> ]; cmakeFlags = [


Question:
The file seems to be randomly edited by committers who feel like doing so, thereby ignoring data protection laws governing some regions where our contributors come from (e.g. , , as of before the force-push) guidelines our community gave to itself (e.g. , ). Having our community guidelines ignored at random lets NixOS look unprofessional and can scare away contributors and supporters. Having data protection laws ignored might even lead to expensive liabilities for the NixOS foundation, meaning that the money would be missing when paying for servers or incentivizing contributors. Therefore, there should be some QA when editing that file. A straightforward suggestion regarding this would be to install one or more maintainers for that file itself. These would have to review any PRs touching it before merging would be allowed. The maintainers should provide evidence that they are aware of laws governing personal data in the different jurisdictions we work with, and aware of our community guidelines. commits happening where laws and/or community guidelines are being ignored Not applicable.
Hi, on GitHub and more specifically the nixpkgs repo we almost exclusively handle the technical side of things, so keeping moderation and foundation related discussions low would be greatly appreciated (yes there is some exceptions). We have for general commmunity disscusion. I generally understand your issue, and I'm fearly certian that the foundation takes gdpr serious, and if you actually want to send a gdpr deletion request send it to one of the listed contact methods on If you have a problem with the way someone in a nix* project bevhaves then please message one of the mods privatley or report it in the matrix room. Please keep in mind that Nix, NixOS, Nixpkgs and almost any other Project under the foundations hat are community first Projects and most people particpating do so in there spare time. And that the way you are currently behaving comes across quite childish. And you might also want to note that your github handle, even if we don't track it in the maintainers file, still ends up in the git history anyways because github puts it in the commit messages of pr merges, so not having it in the list basically doesn't matter. The point aobut Lack of QA for changes to maintainers/maintainer- might be valid and if you want to persue the issue I would suggest you do a discourse post to raise awrness and try to convince one or two well-known community mebers to put them selfs as code owners for the file.
Let's please keep this scoped towards only discussing a QA process for the maintainers file, and not go into other points of disagreement from the issues that sparked this discussion. Proposal in .
Seems like the default mechanisms for maintainers who get pinged on file changes won't work well here. Most commits are probably contributors adding themselves to the file. If we assume that the TOFU model works for these, only exceptional commits would have to be checked manually, thereby reducing the workload. But this would require a smarter ...
Well, the maintainer list is currently maintained in code, so the platform where the repository resides should be an appropriate place to discuss how that's done. Of course, one might argue that this is a mistake in the first place considering the unclear situation regarding how to comply with the GDPR with such a setup. If we go that route, then yes, maintenance of the list should also be discussed somewhere else.

/nixos/README.md @infinisil /pkgs/README.md @infinisil /maintainers/README.md @infinisil <ins> /maintainers/* @piegamesde @Janik-Haag </ins> # User-facing development documentation /doc/development.md @infinisil


Question:
I'm working on upgrading our work repository to 23.11 and am running into an issue building a docker image with . There derivation is: This works with nix 22.05, but fails with nix 23.11 with the following error: Steps to reproduce the behavior: nix 23.11, try to build the above image The image builds and we can set ownership of files in the image n/a n/a Please run and paste the result. Also, we are running branch: , commit
I tested this a bit. I can change the permissions on the directory as long as I don't reference the unknown user .
Are you sure you were actually able to chown before hand or was chown simply ignored? It shouldn't be possible in the build sandbox regardless of what tools you preload.
As you can see here the chown becomes a no-op: If you would suggest to delete those chown commands, they do not have any effect. We replaced fakeroot and proot with just proot, since proot also can set the uid/gid to root and the combination was breaking things. You can still prepend fakeroot manually but except if you rely on third-party scripts to run without errors.
Ah okay, the idea was to try to ensure the files were owned by the UID that our CI user (outside of the container) uses, so that any file modifications done to volume mounts wouldn't make the files unreadable by CI. It's possible it wasn't actually needed and/or is vestigial. I guess it's a new version of chown that's causing the issue in 23.11? Thanks for the feedback!
No. We dropped fakechroot when proot already is enabled as it was causing issues. The chown program was still the same.
in is included as an example in :
It doesn't seem like the is actually a no-op, either, in previous versions. We wind up with permissions issues in CI when we remove the calls, and we're struggling to figure out a way to ensure the directories within the container have the expected user IDs in order to be compatible with bind-mounting volumes as the CI user.
If you are able to change filesystem owner/groups without having root, I would like to know how because that sounds like a kernel security vulnerability to me. If you do need to chown, you have to do this at container start.
I'm not sure I follow. Previously, we were able to use within the docker build process to set the ownership of directories within the resulting container image. That was useful, because we could set the UID of necessary directories to the UID of the CI user. For reference, this is essentially the derivation we are working with: On Nix 22.05, this works, and the results look as you'd expect after running & then running bash on the container: For 23.11, this is the full build output with the error: <details<summaryError Output</summary<pre nix log /nix/store/in5pqapmv1h5q94n4sj961aw5z101vqy-replication-customisation- | cat /nix/store/ffrva7icr8ws2d51955jy302icgmr80s-util-linux-2.39.2-bin/bin: login: /nix/store/8d4v7wcr31xh2zh6kcyxnd94r0n8byy6-shadow-4.14.2/bin/login kill: coreutils chfn: /nix/store/8d4v7wcr31xh2zh6kcyxnd94r0n8byy6-shadow-4.14.2/bin/chfn nologin: /nix/store/8d4v7wcr31xh2zh6kcyxnd94r0n8byy6-shadow-4.14.2/bin/nologin chsh: /nix/store/8d4v7wcr31xh2zh6kcyxnd94r0n8byy6-shadow-4.14.2/bin/chsh +++ mkdir -p tmp src cargo +++ mkdir -p usr/bin +++ ln -s /nix/store/m38gwq0w8w7qyjn9s00balyp7cv3m5p9-coreutils-9.3/bin/env usr/bin/env +++ mkdir -p etc +++ touch etc/group proot warning: can't sanitize binding "/sys/": No such file or directory proot warning: can't sanitize binding "/nix/store/q8494z25m447skzy6l4ccyw84nqfcnja-replication-customisation-": No such file or directory ++ export PATH=/nix/store/8d4v7wcr31xh2zh6kcyxnd94r0n8byy6-shadow-4.14.2/bin:/nix/store/rvdryxhd9zw6zz7fwwxi6ma55qnblpi8-fakeroot-1.29/bin:/nix/store/811m6jpxyxzhff2wy27xx5r81bqs1dzk-proot-5.4.0/bin:/nix/store/h3ayxf5dk1gdf3s5716fh1ys815qxxag-patchelf-0.15.0/bin:/nix/store/m38gwq0w8w7qyjn9s00balyp7cv3m5p9-coreutils-9.3/bin:/nix/store/01znf87kiw5xx1dj0f7djrnrbg84ij28-findutils-4.9.0/bin:/nix/store/vq4vmndw555m7ld2bi6pq8kr348qvb6a-diffutils-3.10/bin:/nix/store/rwa7qyds01qzxvq7zq3kgnkrzzpw4s66-gnused-4.9/bin:/nix/store/n062zcsmfl9gfp6vfkcg0asb8jjwmy5i-gnugrep-3.11/bin:/nix/store/4v7m4yx07b3anmbznfhihjc8xiizyna9-gawk-5.2.2/bin:/nix/store/mi3pm67ps7c7k11aqki9182ygzg8j503-gnutar-1.35/bin:/nix/store/5c0ancqnpi0cf1h49mv13w68a950s9z0-gzip-1.13/bin:/nix/store/q5cv7r1sh3s4niyq7vm6h1j74394naxs-bzip2-1.0.8-bin/bin:/nix/store/bh7sbl99ygfvw9w96936nrhw46jmcmqq-gnumake-4.4.1/bin:/nix/store/7dpxg7ki7g8ynkdwcqf493p2x8divb4i-bash-5.2-p15/bin:/nix/store/mbh9gx43gsc5av019vsdkazbyiic3f0f-patch-2.7.6/bin:/nix/store/3q6fnwcm677l1q60vkhcf9m1gxhv83jm-xz-5.4.4-bin/bin:/nix/store/a5s2dmba16pw8l52f496gw0b7nli7mbn-file-5.45/bin ++ PATH=/nix/store/8d4v7wcr31xh2zh6kcyxnd94r0n8byy6-shadow-4.14.2/bin:/nix/store/rvdryxhd9zw6zz7fwwxi6ma55qnblpi8-fakeroot-1.29/bin:/nix/store/811m6jpxyxzhff2wy27xx5r81bqs1dzk-proot-5.4.0/bin:/nix/store/h3ayxf5dk1gdf3s5716fh1ys815qxxag-patchelf-0.15.0/bin:/nix/store/m38gwq0w8w7qyjn9s00balyp7cv3m5p9-coreutils-9.3/bin:/nix/store/01znf87kiw5xx1dj0f7djrnrbg84ij28-findutils-4.9.0/bin:/nix/store/vq4vmndw555m7ld2bi6pq8kr348qvb6a-diffutils-3.10/bin:/nix/store/rwa7qyds01qzxvq7zq3kgnkrzzpw4s66-gnused-4.9/bin:/nix/store/n062zcsmfl9gfp6vfkcg0asb8jjwmy5i-gnugrep-3.11/bin:/nix/store/4v7m4yx07b3anmbznfhihjc8xiizyna9-gawk-5.2.2/bin:/nix/store/mi3pm67ps7c7k11aqki9182ygzg8j503-gnutar-1.35/bin:/nix/store/5c0ancqnpi0cf1h49mv13w68a950s9z0-gzip-1.13/bin:/nix/store/q5cv7r1sh3s4niyq7vm6h1j74394naxs-bzip2-1.0.8-bin/bin:/nix/store/bh7sbl99ygfvw9w96936nrhw46jmcmqq-gnumake-4.4.1/bin:/nix/store/7dpxg7ki7g8ynkdwcqf493p2x8divb4i-bash-5.2-p15/bin:/nix/store/mbh9gx43gsc5av019vsdkazbyiic3f0f-patch-2.7.6/bin:/nix/store/3q6fnwcm677l1q60vkhcf9m1gxhv83jm-xz-5.4.4-bin/bin:/nix/store/a5s2dmba16pw8l52f496gw0b7nli7mbn-file-5.45/bin ++ mkdir -p /etc/pam.d ++ [[ ! -f /etc/passwd ]] ++ echo root:x:0:0::/root:/nix/store/7dpxg7ki7g8ynkdwcqf493p2x8divb4i-bash-5.2-p15/bin/bash ++ echo 'root:!x:::::::' ++ [[ ! -f /etc/group ]] ++ [[ ! -f /etc/pam.d/other ]] ++ cat ++ [[ ! -f ]] ++ echo nixbld:x:999: ++ echo root:x:0: +++ seq 1 10 ++ for n in $(seq 1 10) +++ command -v nologin ++ useradd -c 'Nix build user 1' -d /var/empty -g nixbld -G nixbld -M -N -r -s /nix/store/8d4v7wcr31xh2zh6kcyxnd94r0n8byy6-shadow-4.14.2/bin/nologin nixbld1 ++ for n in $(seq 1 10) +++ command -v nologin ++ useradd -c 'Nix build user 2' -d /var/empty -g nixbld -G nixbld -M -N -r -s /nix/store/8d4v7wcr31xh2zh6kcyxnd94r0n8byy6-shadow-4.14.2/bin/nologin nixbld2 ++ for n in $(seq 1 10) +++ command -v nologin ++ useradd -c 'Nix build user 3' -d /var/empty -g nixbld -G nixbld -M -N -r -s /nix/store/8d4v7wcr31xh2zh6kcyxnd94r0n8byy6-shadow-4.14.2/bin/nologin nixbld3 ++ for n in $(seq 1 10) +++ command -v nologin ++ useradd -c 'Nix build user 4' -d /var/empty -g nixbld -G nixbld -M -N -r -s /nix/store/8d4v7wcr31xh2zh6kcyxnd94r0n8byy6-shadow-4.14.2/bin/nologin nixbld4 ++ for n in $(seq 1 10) +++ command -v nologin ++ useradd -c 'Nix build user 5' -d /var/empty -g nixbld -G nixbld -M -N -r -s /nix/store/8d4v7wcr31xh2zh6kcyxnd94r0n8byy6-shadow-4.14.2/bin/nologin nixbld5 ++ for n in $(seq 1 10) +++ command -v nologin ++ useradd -c 'Nix build user 6' -d /var/empty -g nixbld -G nixbld -M -N -r -s /nix/store/8d4v7wcr31xh2zh6kcyxnd94r0n8byy6-shadow-4.14.2/bin/nologin nixbld6 ++ for n in $(seq 1 10) +++ command -v nologin ++ useradd -c 'Nix build user 7' -d /var/empty -g nixbld -G nixbld -M -N -r -s /nix/store/8d4v7wcr31xh2zh6kcyxnd94r0n8byy6-shadow-4.14.2/bin/nologin nixbld7 ++ for n in $(seq 1 10) +++ command -v nologin ++ useradd -c 'Nix build user 8' -d /var/empty -g nixbld -G nixbld -M -N -r -s /nix/store/8d4v7wcr31xh2zh6kcyxnd94r0n8byy6-shadow-4.14.2/bin/nologin nixbld8 ++ for n in $(seq 1 10) +++ command -v nologin ++ useradd -c 'Nix build user 9' -d /var/empty -g nixbld -G nixbld -M -N -r -s /nix/store/8d4v7wcr31xh2zh6kcyxnd94r0n8byy6-shadow-4.14.2/bin/nologin nixbld9 ++ for n in $(seq 1 10) +++ command -v nologin ++ useradd -c 'Nix build user 10' -d /var/empty -g nixbld -G nixbld -M -N -r -s /nix/store/8d4v7wcr31xh2zh6kcyxnd94r0n8byy6-shadow-4.14.2/bin/nologin nixbld10 ++ mkdir -p /home ++ useradd -c 'ci user' --home-dir /home/ci --uid 1001 --groups nixbld,root --create-home ci Creating mailbox file: No such file or directory ++ cat /etc/group nixbld:x:999:nixbld1,nixbld2,nixbld3,nixbld4,nixbld5,nixbld6,nixbld7,nixbld8,nixbld9,nixbld10,ci root:x:0:ci ci:!:1001: ++ chown -R 1001:root /src chown: changing ownership of '/src': Invalid argument exitHandler exitCode=1 set +e '[' -n '' ']' (( 1 != 0 )) runHook failureHook local hookName=failureHook shift local 'hooksSlice=failureHooks[ local hook for hook in "callImplicitHook 0 {!hooksSlice+"${!hooksSlice}"} eval 'callImplicitHook 0 failureHook' declare -F 'callImplicitHook 0 failureHook' eval 'callImplicitHook 0 failureHook' ++ callImplicitHook 0 failureHook ++ local def=0 ++ local hookName=failureHook ++ declare -F failureHook ++ type -p failureHook ++ '[' -n '' ']' ++ return 0 return 0 '[' -n '' ']' return 1 </pre</detailsIf I remove the chowns, everything in the container is owned by root, as you'd expect, but this leads to various issues in our CI process with bind-mounted directories. Is there no way to change the ownership of directories during the container build process?
Looks like I misunderstood how fakeroot works. It records those permissions between different programs and can replace them for the tar program:
Just adding the state of the directories when running the above without the chowns in 23.11. Note that the CI user doesn't even wind up owning its home directory created by . The user does exist, and I can things interactively in this bash shell as root. However, we don't run the container as root during the CI build for a few reasons, including that it needs to run postgres, which won't run as root.
This might be a better fix than: Feel free to open a pull request if it fixes your use case.
I'll pull down nixpkgs and give this a shot, thanks!
That does indeed seem to fix it! I'll open an MR now
Created , still cloning stuff to run the review suite locally

mkdir $out ${if enableFakechroot then '' <del> proot -r $PWD/old_out ${bind-paths} --pwd=/ --root-id bash -c ' </del> <ins> proot -r $PWD/old_out ${bind-paths} --pwd=/ fakeroot bash -c ' </ins> source $stdenv/setup eval "$fakeRootCommands" tar


Question:
Steps to reproduce the behavior: stig I got this when switching from 23.05 to 23.11 system: host os: multi-user?: sandbox: version: channels(root): channels(ao): nixpkgs:
Thanks for the report, this is supposed to be fixed in . I will wait for Darwin CI to be green there and merge it. Ping me if I forget. Follow that PR at:
Great, thanks!

{ lib , stdenv , fetchFromGitHub <del> , python3Packages </del> <ins> , python310Packages </ins> , testers , stig }: <del> python3Packages.buildPythonApplication rec { </del> <ins> python310Packages.buildPythonApplication rec { </ins> pname = "stig"; # This project has a different concept for pre release / alpha, # Read the project's README for details: https://github.com/rndusr/stig#stig <del> version = "0.12.5a0"; </del> <ins> version = "0.12.8a0"; </ins> src = fetchFromGitHub { owner = "rndusr"; repo = "stig"; rev = "v${version}"; <del> sha256 = "sha256-e27DBzing38llFxPIsMGkZJXp2q7jjFlQdtfsqLXNHw="; </del> <ins> sha256 = "sha256-vfmuA6DqWvAygcS6N+qX1h+Ag+P4eOwm41DhAFZR3r8="; </ins> }; <del> propagatedBuildInputs = with python3Packages; [ </del> <ins> propagatedBuildInputs = with python310Packages; [ </ins> urwid urwidtrees aiohttp


Question:
Steps to reproduce the behavior: stig I got this when switching from 23.05 to 23.11 system: host os: multi-user?: sandbox: version: channels(root): channels(ao): nixpkgs:
Thanks for the report, this is supposed to be fixed in . I will wait for Darwin CI to be green there and merge it. Ping me if I forget. Follow that PR at:
Great, thanks!

setproctitle ]; <del> nativeCheckInputs = with python3Packages; [ </del> <ins> nativeCheckInputs = with python310Packages; [ </ins> asynctest pytestCheckHook ];


Question:
Steps to reproduce the behavior: stig I got this when switching from 23.05 to 23.11 system: host os: multi-user?: sandbox: version: channels(root): channels(ao): nixpkgs:
Thanks for the report, this is supposed to be fixed in . I will wait for Darwin CI to be green there and merge it. Ping me if I forget. Follow that PR at:
Great, thanks!

export LC_ALL=C ''; <del> pytestFlagsArray = [ "tests" # TestScrollBarWithScrollable.test_wrapping_bug fails "--deselect=tests/tui_test/scroll_test.py::TestScrollBarWithScrollable::test_wrapping_bug" # https://github.com/rndusr/stig/issues/214 "--deselect=tests/completion_test/classes_test.py::TestCandidates::test_candidates_are_sorted_case_insensitively" ] ++ lib.optionals stdenv.isDarwin [ "--deselect=tests/client_test/ttypes_test.py::TestTimestamp::test_string__month_day_hour_minute_second" "--deselect=tests/client_test/aiotransmission_test/api_torrent_test.py" "--deselect=tests/client_test/aiotransmission_test/rpc_test.py" </del> <ins> disabledTestPaths = [ # Almost all tests fail in this file, it is reported upstream in: # https://github.com/rndusr/stig/issues/214 , and upstream fails to # reproduce the issue unfortunately. "tests/client_test/aiotransmission_test/api_settings_test.py" ]; disabledTests = [ # Another failure with similar circumstances to the above "test_candidates_are_sorted_case_insensitively" </ins> ]; passthru.tests = testers.testVersion {


Question:
Steps to reproduce the behavior: cryptowatch-desktop download url redirects to a blog Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
As of September the 30th 2023, Cryptowatch was sunset and users were advised to use their parent companies offering Kraken Pro. I'll create a pull request to remove cryptowatch from nixpkgs as there aren't any archives available that contain it that are reliable

<del> { stdenv , lib , fetchurl , autoPatchelfHook , wrapGAppsHook , dbus , libGL , libX11 , libXcursor , libXi , libXrandr , udev , unzip , alsa-lib }: stdenv.mkDerivation rec { pname = "cryptowatch-desktop"; version = "0.7.1"; src = fetchurl { url = "https://cryptowat.ch/desktop/download/linux/${version}"; hash = "sha256-ccyHfjp00CgQH+3SiDWx9yE1skOj0RWxnBomHWY/IaU="; }; unpackPhase = "unzip $src"; nativeBuildInputs = [ autoPatchelfHook wrapGAppsHook unzip ]; buildInputs = [ dbus udev alsa-lib ]; sourceRoot = "."; installPhase = '' install -m755 -D cryptowatch_desktop $out/bin/cryptowatch_desktop ''; preFixup = '' gappsWrapperArgs+=( --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libGL libX11 libXcursor libXrandr libXi ]}" ) ''; meta = with lib; { homepage = "https://cryptowat.ch"; description = "Application for visualising real-time cryptocurrency market data"; platforms = platforms.linux; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; maintainers = with maintainers; [ livnev kashw2 ]; }; } </del>


Question:
Steps to reproduce the behavior: cryptowatch-desktop download url redirects to a blog Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
As of September the 30th 2023, Cryptowatch was sunset and users were advised to use their parent companies offering Kraken Pro. I'll create a pull request to remove cryptowatch from nixpkgs as there aren't any archives available that contain it that are reliable

composable_kernel = throw "'composable_kernel' has been replaced with 'rocmPackages.composable_kernel'"; # Added 2023-10-08 cpp-ipfs-api = cpp-ipfs-http-client; # Project has been renamed. Added 2022-05-15 crispyDoom = crispy-doom; # Added 2023-05-01 <ins> cryptowatch-desktop = throw "Cryptowatch Desktop was sunset on September 30th 2023 and has been removed from nixpkgs"; # Added 2023-12-22 </ins> clash = throw "'clash' has been removed, upstream gone. Consider using 'clash-meta' instead."; # added 2023-11-10 clasp = clingo; # added 2022-12-22 claws-mail-gtk3 = claws-mail; # Added 2021-07-10


Question:
Steps to reproduce the behavior: cryptowatch-desktop download url redirects to a blog Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
As of September the 30th 2023, Cryptowatch was sunset and users were advised to use their parent companies offering Kraken Pro. I'll create a pull request to remove cryptowatch from nixpkgs as there aren't any archives available that contain it that are reliable

crow-translate = libsForQt5.callPackage ../applications/misc/crow-translate { }; <del> cryptowatch-desktop = callPackage ../applications/finance/cryptowatch { }; </del> dae = callPackage ../tools/networking/dae { }; darling = callPackage ../applications/emulators/darling { };


Question:
While working on some documentation on Nixpkgs, I noticed that there doesn't seem to be a convention for showing shell commands and their outputs. prepends to the command prompt, and output as a normal, not-indented line. adds a comment above the command prompt showing what the output is. uses two different code blocks, one with the command, the other with the output. Additionally, there are other code blocks to show expressions and their result inside the nix repl: prepends to the (error) output. And prepends to the output. Note that the proposal below was written just to have some starting proposal, but not much thought has been given to other alternatives yet. My current proposal is to adopt the following convention: For shell commands and outputs, prepend to any lines that are part of the command, and put outputs in their own lines as-is. If the command has line continuations, don't prepend , but add some indentation to keep it from looking like an output. For example: For nix repl expressions, prepend to any lines part of an expression, and put outputs in their own lines as-is. <!-- make sure this issue is not redundant or obsolete --- [x] checked [latest Nixpkgs manual] ([source][nixpkgs-source]) and [latest NixOS manual] ([source][nixos-source]) [x] checked [open documentation issues] for possible duplicates [x] checked [open documentation pull requests] for possible solutions [latest Nixpkgs manual]: [latest NixOS manual]: [nixpkgs-source]: [nixos-source]: [open documentation issues]: [open documentation pull requests]: Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
Talked about this in the docs team meeting, I think this is a good idea! If you make a PR to describe this convention in the I could review/merge it. I guess very generally, the convention is to use the format as you'd see it in the REPL.
This issue has been mentioned on NixOS Discourse. There might be relevant details there:

In an effort to keep the Nixpkgs manual in a consistent style, please follow the conventions below, unless they prevent you from properly documenting something. In that case, please open an issue about the particular documentation convention and tag it with a "needs: documentation" label. <ins> When needed, each convention explain why it exists, so you can make a decision whether to follow it or not based on your particular case. Note that these conventions are about the **structure** of the manual (and its source files), not about the content that goes in it. You, as the writer of documentation, are still in charge of its content. </ins> - Put each sentence in its own line. This makes reviews and suggestions much easier, since GitHub's review system is based on lines.


Question:
While working on some documentation on Nixpkgs, I noticed that there doesn't seem to be a convention for showing shell commands and their outputs. prepends to the command prompt, and output as a normal, not-indented line. adds a comment above the command prompt showing what the output is. uses two different code blocks, one with the command, the other with the output. Additionally, there are other code blocks to show expressions and their result inside the nix repl: prepends to the (error) output. And prepends to the output. Note that the proposal below was written just to have some starting proposal, but not much thought has been given to other alternatives yet. My current proposal is to adopt the following convention: For shell commands and outputs, prepend to any lines that are part of the command, and put outputs in their own lines as-is. If the command has line continuations, don't prepend , but add some indentation to keep it from looking like an output. For example: For nix repl expressions, prepend to any lines part of an expression, and put outputs in their own lines as-is. <!-- make sure this issue is not redundant or obsolete --- [x] checked [latest Nixpkgs manual] ([source][nixpkgs-source]) and [latest NixOS manual] ([source][nixos-source]) [x] checked [open documentation issues] for possible duplicates [x] checked [open documentation pull requests] for possible solutions [latest Nixpkgs manual]: [latest NixOS manual]: [nixpkgs-source]: [nixos-source]: [open documentation issues]: [open documentation pull requests]: Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
Talked about this in the docs team meeting, I think this is a good idea! If you make a PR to describe this convention in the I could review/merge it. I guess very generally, the convention is to use the format as you'd see it in the REPL.
This issue has been mentioned on NixOS Discourse. There might be relevant details there:

} ``` <ins> - When showing inputs/outputs of any [REPL](https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop), such as a shell or the Nix REPL, use a format as you'd see in the REPL, while trying to visually separate inputs from outputs. This means that for a shell, you should use a format like the following: ```shell $ nix-build -A hello '<nixpkgs>'  --option require-sigs false  --option trusted-substituters file:///tmp/hello-cache  --option substituters file:///tmp/hello-cache /nix/store/zhl06z4lrfrkw5rp0hnjjfrgsclzvxpm-hello-2.12.1 ``` Note how the input is preceded by `$` on the first line and indented on subsequent lines, and how the output is provided as you'd see on the shell. For the Nix REPL, you should use a format like the following: ```shell nix-repl> builtins.attrNames { a = 1; b = 2; } [ "a" "b" ] ``` Note how the input is preceded by `nix-repl>` and the output is provided as you'd see on the Nix REPL. - When documenting functions or anything that has inputs/outputs and example usage, use nested headings to clearly separate inputs, outputs, and examples. Keep examples as the last nested heading, and link to the examples wherever applicable in the documentation. The purpose of this convention is to provide a familiar structure for navigating the manual, so any reader can expect to find content related to inputs in an "inputs" heading, examples in an "examples" heading, and so on. An example: ``` ## buildImage Some explanation about the function here. Describe a particular scenario, and point to [](#ex-dockerTools-buildImage), which is an example demonstrating it. ### Inputs Documentation for the inputs of `buildImage`. Perhaps even point to [](#ex-dockerTools-buildImage) again when talking about something specifically linked to it. ### Passthru outputs Documentation for any passthru outputs of `buildImage`. ### Examples Note that this is the last nested heading in the `buildImage` section. :::{.example #ex-dockerTools-buildImage} # Using `buildImage` Example of how to use `buildImage` goes here. ::: ``` </ins> - Use [definition lists](#definition-lists) to document function arguments, and the attributes of such arguments as well as their [types](https://nixos.org/manual/nix/stable/language/values). For example:


Question:
While working on some documentation on Nixpkgs, I noticed that there doesn't seem to be a convention for showing shell commands and their outputs. prepends to the command prompt, and output as a normal, not-indented line. adds a comment above the command prompt showing what the output is. uses two different code blocks, one with the command, the other with the output. Additionally, there are other code blocks to show expressions and their result inside the nix repl: prepends to the (error) output. And prepends to the output. Note that the proposal below was written just to have some starting proposal, but not much thought has been given to other alternatives yet. My current proposal is to adopt the following convention: For shell commands and outputs, prepend to any lines that are part of the command, and put outputs in their own lines as-is. If the command has line continuations, don't prepend , but add some indentation to keep it from looking like an output. For example: For nix repl expressions, prepend to any lines part of an expression, and put outputs in their own lines as-is. <!-- make sure this issue is not redundant or obsolete --- [x] checked [latest Nixpkgs manual] ([source][nixpkgs-source]) and [latest NixOS manual] ([source][nixos-source]) [x] checked [open documentation issues] for possible duplicates [x] checked [open documentation pull requests] for possible solutions [latest Nixpkgs manual]: [latest NixOS manual]: [nixpkgs-source]: [nixos-source]: [open documentation issues]: [open documentation pull requests]: Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
Talked about this in the docs team meeting, I think this is a good idea! If you make a PR to describe this convention in the I could review/merge it. I guess very generally, the convention is to use the format as you'd see it in the REPL.
This issue has been mentioned on NixOS Discourse. There might be relevant details there:

# pkgs.coolFunction Description of what `coolFunction` does. <ins> ## Inputs </ins> `coolFunction` expects a single argument which should be an attribute set, with the following possible attributes: `name` (String)


Question: Project description A tool to help efficiently focus windows in Sway inspired by i3-easyfocus: basically you press a key and hints ("q", "w", ...) popup on the titlebars, you can then press "q" to focus the window matching the "q" key. Metadata homepage URL: source URL: license: mit platforms: linux Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:

<ins> { lib , rustPlatform , fetchFromGitHub , pkg-config , wrapGAppsHook , atk , cairo , gdk-pixbuf , glib , gtk3 , pango , gtk-layer-shell }: rustPlatform.buildRustPackage rec { pname = "sway-easyfocus"; version = "unstable-2023-11-05"; src = fetchFromGitHub { owner = "edzdez"; repo = "sway-easyfocus"; rev = "4c70f6728dbfc859e60505f0a7fd82f5a90ed42c"; hash = "sha256-WvYXhf13ZCoa+JAF4bYgi5mI22i9pZLtbIhF1odqaTU="; }; cargoHash = "sha256-9cN0ervcU8JojwG7J250fprbCD2rB9kh9TbRU+wCE/Y="; nativeBuildInputs = [ pkg-config wrapGAppsHook ]; buildInputs = [ atk cairo gdk-pixbuf glib gtk3 gtk-layer-shell pango ]; meta = { description = "A tool to help efficiently focus windows in Sway, inspired by i3-easyfocus"; homepage = "https://github.com/edzdez/sway-easyfocus"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ eclairevoyant ]; mainProgram = "sway-easyfocus"; }; } </ins>


Question:
DaVinci Resolve Studio is missing a entry for application launchers Steps to reproduce the behavior: should contain a entry for application launchers If applicable, add screenshots to help explain your problem. Add any other context about the problem here. Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
See

desktopItems = [ (makeDesktopItem { <del> name = "davinci-resolve"; desktopName = "Davinci Resolve"; </del> <ins> name = "davinci-resolve${lib.optionalString studioVariant "-studio"}"; desktopName = "Davinci Resolve${lib.optionalString studioVariant " Studio"}"; </ins> genericName = "Video Editor"; <del> exec = "resolve"; # icon = "DV_Resolve"; </del> <ins> exec = "davinci-resolve${lib.optionalString studioVariant "-studio"}"; icon = "davinci-resolve${lib.optionalString studioVariant "-studio"}"; </ins> comment = "Professional video editing, color, effects and audio post-processing"; categories = [ "AudioVideo"


Question:
DaVinci Resolve Studio is missing a entry for application launchers Steps to reproduce the behavior: should contain a entry for application launchers If applicable, add screenshots to help explain your problem. Add any other context about the problem here. Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
See

'' }"; <ins> extraInstallCommands = '' mkdir -p $out/share/applications $out/share/icons/hicolor/128x128/apps ln -s ${davinci}/share/applications/*.desktop $out/share/applications/ ln -s ${davinci}/graphics/DV_Resolve.png $out/share/icons/hicolor/128x128/apps/davinci-resolve${lib.optionalString studioVariant "-studio"}.png ''; </ins> passthru = { inherit davinci; updateScript = lib.getExe (writeShellApplication {


Question:
DaVinci Resolve Studio is missing a entry for application launchers Steps to reproduce the behavior: should contain a entry for application launchers If applicable, add screenshots to help explain your problem. Add any other context about the problem here. Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
See

maintainers = with maintainers; [ amarshall jshcmpbll orivej ]; platforms = [ "x86_64-linux" ]; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; <del> mainProgram = "davinci-resolve"; </del> <ins> mainProgram = "davinci-resolve${lib.optionalString studioVariant "-studio"}"; </ins> }; }


Question:
New version of the invidious module gives an error on old system state versions with the following message: Config option doesn’t seem to exist and doesn’t do anything when set. Manually setting gets config to build, but service still doesn’t start with permission error, even after running the suggested reassign command: database seems to be correctly owned by the user: Steps to reproduce the behavior: invidious with local database on system state before 24.05: an error message, try to perform suggested fix. Find out that the suggested setting doesn’t exist and use instead: as suggested by the error message. to start . permission error. Service should successfully start after applying suggested fixes. Error message shouldn’t refer to non-existent options. Please run and paste the result. Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
The correct configuration should look like this if your state version is before 24.05: Looks like there is a mistake in the error message ( and are both specified and only the former is correct). Can you please try again with set to ?
Yes, I’ve tried this (steps 2+ of reproduction). I’ve mistakenly wrote in my initial issue, sorry, I’ve tried setting . It gets config to build, but it doesn’t start with the error described in the first post. I’ll amend the issue text now.
Can you show us the output of
Sure! I see the problem now. I’ve tried to run the command without selecting the database first. After running it with database selected, service starts successfully. Thanks!
Super. Can you please look at the PR and tell me if the improved language would have solved your issue?
Yeah, thanks, that would’ve been clear!

to  work, the username used to connect to PostgreSQL must match the database name, that is services.invidious.settings.db.user must match services.invidious.settings.db.dbname. This is the default since NixOS 24.05. For older systems, it is normally safe to manually set <del> services.invidious.database.user to "invidious" as the new user will be created with permissions for the existing database. `REASSIGN OWNED BY kemal TO invidious;` may also be needed. </del> <ins> the user to "invidious" as the new user will be created with permissions for the existing database. `REASSIGN OWNED BY kemal TO invidious;` may also be needed, it can be run as `sudo -u postgres env psql --user=postgres --dbname=invidious -c 'reassign OWNED BY kemal to invidious;'`. </ins> ''; } ];


Question:
labwc-tweaks failes to start no matter what I do I get this error message if I try to open it in terminal: Error opening file: No such file or directory Run labwc-tweaks in the terminal labwc-tweaks starting Please run and paste the result. these 4 paths will be fetched (0.03 MiB download, 0.17 MiB unpacked): /nix/store/1alqjnr40dsk7cl15l5sn5y2zdxidc1v-binutils-wrapper-2.40 /nix/store/4dr83a4wn25zkb5pvsq2y3q3v586jzs9-expand-response-params /nix/store/90h6k8ylkgn81k10190v5c9ldyjpzgl9-gcc-wrapper-12.3.0 /nix/store/wr08yanv2bjrphhi5aai12hf2qz5kvic-stdenv-linux copying path '/nix/store/4dr83a4wn25zkb5pvsq2y3q3v586jzs9-expand-response-params' from ''... copying path '/nix/store/1alqjnr40dsk7cl15l5sn5y2zdxidc1v-binutils-wrapper-2.40' from ''... copying path '/nix/store/90h6k8ylkgn81k10190v5c9ldyjpzgl9-gcc-wrapper-12.3.0' from ''... copying path '/nix/store/wr08yanv2bjrphhi5aai12hf2qz5kvic-stdenv-linux' from ''... system: host os: multi-user?: sandbox: version: channels(root): nixpkgs: Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
The issue might be related to this hard coded path: it seems like that xkeyboard_config provides this file
Until recently the keyboard related files were available in . Fixed in

, pkg-config , gtk3 , libxml2 <ins> , xkeyboard_config </ins> , wrapGAppsHook <ins> , unstableGitUpdater </ins> }: stdenv.mkDerivation (finalAttrs: { pname = "labwc-tweaks"; <del> version = "unstable-2023-12-08"; </del> <ins> version = "unstable-2024-01-04"; </ins> src = fetchFromGitHub { owner = "labwc"; <del> repo = finalAttrs.pname; rev = "1c79d6a5ee3ac3d1a6140a1a98ae89674ef36635"; hash = "sha256-RD1VCKVoHsoY7SezY7tjZzomikMgA7N6B5vaYkIo9Es="; </del> <ins> repo = "labwc-tweaks"; rev = "1604f64cc62e4800ee04a6e1c323a48ee8140d83"; hash = "sha256-xFvc+Y03HjSvj846o84Wpk5tEXI49z8xkILSX2oas8A="; </ins> }; nativeBuildInputs = [


Question:
labwc-tweaks failes to start no matter what I do I get this error message if I try to open it in terminal: Error opening file: No such file or directory Run labwc-tweaks in the terminal labwc-tweaks starting Please run and paste the result. these 4 paths will be fetched (0.03 MiB download, 0.17 MiB unpacked): /nix/store/1alqjnr40dsk7cl15l5sn5y2zdxidc1v-binutils-wrapper-2.40 /nix/store/4dr83a4wn25zkb5pvsq2y3q3v586jzs9-expand-response-params /nix/store/90h6k8ylkgn81k10190v5c9ldyjpzgl9-gcc-wrapper-12.3.0 /nix/store/wr08yanv2bjrphhi5aai12hf2qz5kvic-stdenv-linux copying path '/nix/store/4dr83a4wn25zkb5pvsq2y3q3v586jzs9-expand-response-params' from ''... copying path '/nix/store/1alqjnr40dsk7cl15l5sn5y2zdxidc1v-binutils-wrapper-2.40' from ''... copying path '/nix/store/90h6k8ylkgn81k10190v5c9ldyjpzgl9-gcc-wrapper-12.3.0' from ''... copying path '/nix/store/wr08yanv2bjrphhi5aai12hf2qz5kvic-stdenv-linux' from ''... system: host os: multi-user?: sandbox: version: channels(root): nixpkgs: Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
The issue might be related to this hard coded path: it seems like that xkeyboard_config provides this file
Until recently the keyboard related files were available in . Fixed in

strictDeps = true; postPatch = '' <del> substituteInPlace stack-lang.c --replace /usr/share /run/current-system/sw/share sed -i '/{ NULL, "/usr/share" },/i { NULL, "/run/current-system/sw/share" },' theme.c </del> <ins> substituteInPlace stack-lang.c --replace /usr/share/X11/xkb ${xkeyboard_config}/share/X11/xkb substituteInPlace theme.c --replace /usr/share /run/current-system/sw/share </ins> ''; <ins> passthru.updateScript = unstableGitUpdater { }; </ins> meta = { homepage = "https://github.com/labwc/labwc-tweaks"; description = "Configuration gui app for labwc"; mainProgram = "labwc-tweaks"; <del> license = lib.licenses.gpl2Plus; </del> <ins> license = lib.licenses.gpl2Only; </ins> platforms = lib.platforms.unix; <del> maintainers = with lib.maintainers; [ romildo ]; </del> <ins> maintainers = with lib.maintainers; [ AndersonTorres romildo ]; </ins> }; })


Question:
Project description Command line program which provides a suite of tools to create shopping lists and maintain recipes. Metadata homepage URL: source URL: license: mit platforms: linux, darwin Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
A nix-shell script here () which provides a decent starting point. cc

githubId = 428026; name = "embr"; }; <ins> emilioziniades = { email = "emilioziniades@protonmail.com"; github = "emilioziniades"; githubId = 75438244; name = "Emilio Ziniades"; }; </ins> emily = { email = "nixpkgs@emily.moe"; github = "emilazy";


Question:
Project description Command line program which provides a suite of tools to create shopping lists and maintain recipes. Metadata homepage URL: source URL: license: mit platforms: linux, darwin Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
A nix-shell script here () which provides a decent starting point. cc

<ins> { lib , stdenv , fetchFromGitHub , buildNpmPackage , rustPlatform , pkg-config , openssl , darwin }: rustPlatform.buildRustPackage rec { pname = "cook-cli"; version = "0.7.1"; src = fetchFromGitHub { owner = "cooklang"; repo = "cookcli"; rev = "v${version}"; hash = "sha256-3gLVsk6GCxOG24Md7E9fk28Vnc4kVDdwyZUD/GtSwFE="; }; cargoHash = "sha256-6lnURuE1cgNAniHl5ozXo1W3cLYYje7er+ZhvZDKdVg="; nativeBuildInputs = [ pkg-config openssl ]; buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.SystemConfiguration ]; postPatch = '' rm -rf "ui/public" ln -s ${passthru.ui} "ui/public" ''; OPENSSL_NO_VENDOR = 1; passthru.ui = buildNpmPackage { name = "ui"; src = "${src}/ui"; npmDepsHash = "sha256-uMyOAYLVHhY4ytvEFvVzdoQ7ExzQ4sH+ZtDrEacu5bk="; makeCacheWritable = true; npmFlags = [ "--legacy-peer-deps" ]; installPhase = '' runHook preInstall mv public/ $out runHook postInstall ''; }; meta = with lib; { changelog = "https://github.com/cooklang/cookcli/releases/tag/v${version}"; description = "A suite of tools to create shopping lists and maintain recipes"; homepage = "https://cooklang.org/"; license = [ licenses.mit ]; mainProgram = "cook"; maintainers = [ maintainers.emilioziniades ]; platforms = platforms.linux ++ platforms.darwin; }; } </ins>


Question:
Package name: solana-cli Latest released version: 1.16.27 <!-- Search your package here: --- Current version on the unstable channel: 1.14.23 Current version on the stable/release channel: 1.14.23 <!-- 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]:
Hello I was able make the building script work so solana-cli is updated to 1.16.27 expect solana has bug in a which doesn't let me compile. The issue was already reported back back in 22 november 2023: solana-labs/solana So until is fixed I can't do anything more, as soon as it is fixed I will post my pr
Thanks , did you manage to build it for the current version? () On the master of nixpkgs I couldn't even build the existing version of Solana due a rocksdb issue I also found this commit on homebrew PRs. Seems like they patched this part in order to make the build work:
Hello I didn't test it and I don't think I need since I made it able to compile 1.16.27 I appreciate the citation, with the patch used by them I was able to fix it, appreciate your help

githubId = 4732885; name = "Ivan Jager"; }; <ins> aikooo7 = { name = "Diogo Fernandes"; email = "prozinhopro1973@gmail.com"; matrix = "@aikoo7:matrix.org"; github = "aikooo7"; githubId = 79667753; keys = [{ fingerprint = "B0D7 2955 235F 6AB5 ACFA  1619 8C7F F5BB 1ADE F191"; }]; }; </ins> aiotter = { email = "git@aiotter.com"; github = "aiotter";