Change:
<ins> { lib, stdenv, cmake, gettext , fetchFromGitHub, fetchFromGitLab , version, libSources }: # callPackage libraries { #   version = "unstable"; #   libs.symbols = { #     rev = "09f9.."; #     sha256 = "..."; #   }; # }; with lib; let mkLib = name: attrs: stdenv.mkDerivation ( { pname = "kicad-${name}"; version = "${version}"; src = fetchFromGitHub ( { owner = "KiCad"; repo = "kicad-${name}"; rev = version; inherit name; } // (libSources.${name} or { }) ); nativeBuildInputs = [ cmake ]; meta.license = licenses.cc-by-sa-40; } // attrs ); in { symbols = mkLib "symbols" { }; templates = mkLib "templates" { }; footprints = mkLib "footprints" { }; packages3d = mkLib "packages3d" { hydraPlatforms = []; # this is a ~1 GiB download, occupies ~5 GiB in store }; # i18n is a special case, not actually a library # more a part of kicad proper, but also optional and separate # since their move to gitlab they're keeping it in a separate path # kicad has no way to find i18n except through a path relative to its install path # therefore this is being linked into ${kicad-base}/share/ # and defined here to make use of the rev & sha256's brought here for the libs i18n = let name = "i18n"; in stdenv.mkDerivation { pname = "kicad-${name}"; version = "${version}"; src = fetchFromGitLab ( { group = "kicad"; owner = "code"; repo = "kicad-${name}"; rev = version; inherit name; } // (libSources.${name} or { }) ); buildInputs = [ gettext ]; nativeBuildInputs = [ cmake ]; meta.license = licenses.gpl2; # https://github.com/KiCad/kicad-i18n/issues/3 }; } </ins>

Discussion:
Describe the bug As originally reported by on IRC: Kicad's pcbnew segfaults without indication of reason, when searching for a footprint. To Reproduce Steps to reproduce the behaviour: -Footprint -click in the workspace -search for "dip 14" (this term seems very reliable in inducing the issue, but is not guaranteed to work every time) a segmentation fault. Expected behaviour Search should return a list of footprints matching the term, with a preview of the top result. Additional context on IRC was unable to reproduce the issue on the same package (same hash) Metadata Maintainer information: i am unsure what to fill in here CC though they seem inactive, they're listed as the maintainer Things tried Fix all the warnings that occurred between starting pcbnew and the segmentation fault Use python3 Tried wxGTK31 (introduced another issue but didn't solve this one) Added a debug build option and had a look at it with all . I also tried kicad from nix on debian, this fails as well, but immediately on starting pcbnew, with a bunch of fontconfig warnings and errors followed by and segmentation fault, this is probably a separate issue. And i asked on IRC #kicad, someone else reported having this issue on debian10 when using xfwm. (i use )
I have (at this time) only one thing to add. If you manage to place a footprint successfully, either by not searching and instead scrolling through the list to the one you want, or if it happens to be a rare time it doesn't crash while searching; I don't think I've had any experiences where it did not crash on the next action, give or take. I'm quite confident I've never been able to place 2. If I have I wasn't able to save before it did crash, that's for sure :<
I've submitted a . I'm not sure this will fix your issue, but might be worth giving it a shot.
thanks for letting me know it unfortunately does not fix this issue

I'm trying to add some 3D models to my footprints, but they do not show up in the 3D viewer. I've tried a custom model as well as the ones installed with KiCAD. I don't see any messages on stdout or stderr other than: the footprint editor a footprint that has an associated model that the 3D model doesn't render
I'm also seeing this. It appears the issue is that 3D model importation is implemented via plugins which are shared libraries. These are found in . However, the code which searches for these plugins () makes assumptions which don't hold for NixOS. Thus, the search attempt fails, as shown by strace: A temporary workaround is as follows, which uses the user-local search path: This hack will need fixing whenever kicad is updated, of course. cc
This had been fixed in 5.1.0: We should close this issue after having updated the package and tested.
This should work now with the new package. Edit: see PR .
you may need to so it'll update the paths there on the next start (or do so manually)