WTF. Its building now. In germany we say “wer lesen kann, ist klar im Vorteil”
Ahah, that’s a good (and true) one. The reason is that since lists are space separated, it tries to compile pkgs.libsForQt5.callPackage
which is clearly not a program.
Seems to work. Great. what happens if the editcp maintainer makes a new release?
And. What the best way, if someone makes a nix package?? Simply delete everything that i have changed for adding editcp…
What do you mean? You will need to upgrade the derivation to get the new url of the version you want. It would be cleaner if the dev puts the binary on github release so that the downloaded url never changes over time.
Yes, exactly.
The same if i decide to no more use libreoffice or audacity on that system, make a # before the name and it’s gone after next switch…
Yes. Note that the path still exists in your /nix/store
. If you want to save space and remove all unused stuff in /nix/store
, you might want to run nix-collect-garbage -d
(many variants depending on what you want to remove)
I have that entry added…
nix.gc = {
automatic = true;
dates = “weekly”;
options = “–delete-older-than 30d”;
};
Ok, then it will garbage collect automatically every week derivations older than 30 days ^^
But all in .config/ will stay? So if i later decide audacity is best, i will have my settings already there…??
Yes, sure. This is user setting, not touched by nix at all. Similarly, if you create a document in libreoffice, removing libreoffice will not remove your document
So the icon should be empty, but it should appear in the development tab. You used the full version with copyDesktopItems
or you just added these two lines in your file?
Uhm, i thought that was everything, and havn’t scrolled down ;(
Sorry. One moment…
Another saying, mostly when calling the support line from Siemens… “Sehen Sie, wenn Sie es richtig machen, funktioniert es auch”. One of my favorites…
Thanks for ur support…
OK, yesterday i made a recording in a church, and the final cutted wav file is normaly audio-processed and compressed with stereotool. Closed source from here.
https://www.thimeo.com/stereo-tool/
And sometimes i have to use a live codec to stream from here.
https://technicadelarte.com/download/download.php?code=llcl
I’ve seen. There are many ways to make these binarys run. But whats the best solution. As it has to connect to audio devices it should not run in containers and so on… Btw. Stereotool hat a standalone GUI (Jackd) and and a commandline tool for batch processing.
Any hints in which direction i should go? Nix-ld as u said?
Tnx
So if you are too lazy to package it as I did above, the other option I recommend is to enable nix-ld
, then it should mostly be like in any other linux. If you want ta package it, the above template is a good start, but on course the installPhase depends on the structure of the downloaded source. You typically want programs in $out/bin
, and libraries in $out/lib
(only put there libraries which are not already packaged in nix). If your package is more complex with many assets, it might be simpler to copy it to $out/opt
and add links from $out/bin
to binaries in $out/opt
. To read more, cf my other answers:
- create your first derivation packaging - How to package my software in nix or write my own package derivation for nixpkgs - Unix & Linux Stack Exchange
- run binaries in NixOs Different methods to run a non-nixos executable on Nixos - Unix & Linux Stack Exchange
If you struggle, please ask.
If you are looking for open source alternatives, I don’t know what this program is actually doing, but if it is just doing audio processing, there are many vst available that you might like to use with something like carla. You can start from PowerUser/universal-studio: Universal Studio is an audio production environment for Linux, built for collaboration. - Codeberg.org if you want to get a great list of available linux vst.
Only short, have to go in a videocall with IBM in a few minutes…
Is it possible to package if it is closed source and it exist only that binary file??
And there are no alternatives. The processing has a special setup and settings for the transmitter, and that is difficult to change that… The Luci Codec has an endpoint in the studio, that i cannot change bec. many other are using the same system…
Sure, it is just what I ended up doing with editcp as explained above due to an error that I was ensure how to solve. What is important for close-source programs is to load autoPatchelfHook
in the native build input list in order to automatically patch them not to use anything outside on /nix/store.
Interesting… After adding this to /etc/nixos/configuration.nix the stereotool commandline tool works ootb.
The next tested gui variant is missing libX11
Enable nix-ld
programs.nix-ld.enable = true;
./stereo_tool_gui_64: error while loading shared libraries: libX11.so.6: cannot open shared object file: No such file or directory
Then i now will try to find the simplest way to find that libs. As far as i have undersand this steam-run is not a good idea if i need full access to recources of the system…?!
I added that: Found here.
https://blog.thalheim.io/2022/12/31/nix-ld-a-clean-solution-for-issues-with-pre-compiled-executables-on-nixos/
But now i need a way to list packages and libs that a program needs…
Enable nix-ld
programs.nix-ld.enable = true;
programs.nix-ld.libraries = with pkgs; [
alsaLib
xorg.libX11
];
}
BTW. Honestly i think it would be better to splitt these thread in different posts…
I explain here Different methods to run a non-nixos executable on Nixos - Unix & Linux Stack Exchange the set of libraries that I recommend to enable to run most softwares. Back then, nix-ld.libraries
was not existing so I was using a different method, but you should be able now to do:
programs.nix-ld.enable = true;
programs.nix-ld.libraries = with pkgs; [
stdenv.cc.cc
openssl
xorg.libXcomposite
xorg.libXtst
xorg.libXrandr
xorg.libXext
xorg.libX11
xorg.libXfixes
libGL
libva
pipewire.lib
xorg.libxcb
xorg.libXdamage
xorg.libxshmfence
xorg.libXxf86vm
libelf
# Required
glib
gtk2
bzip2
# Without these it silently fails
xorg.libXinerama
xorg.libXcursor
xorg.libXrender
xorg.libXScrnSaver
xorg.libXi
xorg.libSM
xorg.libICE
gnome2.GConf
nspr
nss
cups
libcap
SDL2
libusb1
dbus-glib
ffmpeg
# Only libraries are needed from those two
libudev0-shim
# Verified games requirements
xorg.libXt
xorg.libXmu
libogg
libvorbis
SDL
SDL2_image
glew110
libidn
tbb
# Other things from runtime
flac
freeglut
libjpeg
libpng
libpng12
libsamplerate
libmikmod
libtheora
libtiff
pixman
speex
SDL_image
SDL_ttf
SDL_mixer
SDL2_ttf
SDL2_mixer
libappindicator-gtk2
libdbusmenu-gtk2
libindicator-gtk2
libcaca
libcanberra
libgcrypt
libvpx
librsvg
xorg.libXft
libvdpau
gnome2.pango
cairo
atk
gdk-pixbuf
fontconfig
freetype
dbus
alsaLib
expat
];
to get most lib you need. To find the lib you want for a given file, you can do something like:
$ nix run github:mic92/nix-index-database libX11.so.6
(see also the options to further restrict the search)