What software does enhance the experience on NixOS?

I’m having an issue with the metadata-cleaner package, where if I drag and drop a file in its window it does nothing, but if I open file selection I can open files from there, so I’m wondering if I miss some packages which prevent drag and drop to work.

On Debian there is the debian-goodies package which adds functions specific for the Debian ecosystem.

On NixOS nil has helped me a lot (there’s also nixd, but nil is what has been recommended, I’ve also been suggested programs.nix-ld.enable = true for fixing possible issues with executables.

What are some packages and options that you recommend to anyone on NixOS? Everything from extremely useful to nice-to-have.

Actually i have a few i could share that would be handy to have.

pkgs.kdePackages.kdenlive – KDE’s GPU accelerated video editor, similarish to davinci
pkgs.shellcheck – does what it sounds like, handy when your tired and typing to homies
pkgs.aspell
pkgs.aspellDicts.en
pkgs.aspellDicts.en-computers
pkgs.aspellDicts.en-science
pkgs.gamescope – if you are a gamer, this is a minimal DE and emulator for testing/running games, also works as a steam startup option for most games
pkgs.qjackctl – For audio control, this is the jack GUI
pkgs.lsp-plugins – Plugins for streaming, audio production, and so on EDIT: this will install 16 individual plugins that are executable from desktop. To try one after install, open your ‘super’ menu or if your on gnome, just your apps menu and search for “Two channel Spectrum Analyzer” and open it. You can tinker with this after qjackctl and jack is enabled, open jackctl and click graph. Green wires can be disconnected from nodes with the hotkeys control + D, drag and drop to connect nodes. Connect an audio playback or capture to the input of the analyzer to see how it works.
pkgs.pavucontrol – probably dont need this
pkgs.carla – probably dont need this, but this is an LSP/audio plugin host
pkgs.libjack2 – needed for jack2
pkgs.jack2 – jack’s client
pkgs.jack_capture – for mics and capture devices

For JACK in particular, if you want to use it, you’ll need to enable it. Check: JACK - NixOS Wiki for detail. Heres a snip of mine:

services.pipewire = {
  enable = true;
  alsa.enable = true;
  alsa.support32Bit = true;
  pulse.enable = true;
  jack.enable = true; # <<< this option is JACK enable

Add this to your config.nix:
This is handy in particular for debugging and executing non-stripped linux bins.

programs.nix-ld.libraries = with pkgs; [
pkgs.xorg.libX11
pkgs.libgtkflow3
pkgs.libgtkflow4
pkgs.gtk3-x11
pkgs.gtk3
pkgs.libglibutil
pkgs.xorg.libXrandr
  ];

Also, this is a common thing, if discord runs like shit try this:

    (pkgs.writeShellApplication {
      name = "discord";
      text = "${pkgs.discord}/bin/discord --use-gl=desktop";
    })
    (pkgs.makeDesktopItem {
      name = "discord";
      exec = "discord";
      desktopName = "Discord";
    })

I like my 3d projects, heres one for that.

pkgs.freecad-wayland or the non wayland variation pkgs.freecad

This part is specifically for BT, i personally MUST have a stable, good sounding bluetooth connection to my headphones. It was the reason i set my windows PC on fire actually, BT refused to work correctly.

services.pipewire.wireplumber.extraConfig.bluetoothEnhancements = {
  "monitor.bluez.properties" = {
      "bluez5.enable-sbc-xq" = true;
      "bluez5.enable-msbc" = false;
      "bluez5.enable-hw-volume" = true; #hardware volume control
      "bluez5.auto-connect" = [ "a2dp_sink" ]; #driver used for autoconnect
      "bluez5.roles" = [ "a2dp_sink" "a2dp_source" ]; #look up the drivers for your BT, these will 'probably' work if you have HD headphones. The Handsfree mode that comes with headphones is.. glitchy. This setting disables that mono mode so the headset will always be in HD mode so you dont get shit audio playback quality if you activate a microphone.
  };
};

See: PipeWire - NixOS Wiki and Configuration — WirePlumber 0.5.7 documentation for more in depth detail about wireplumber and its options.

3 Likes