Blu ray not playing and no menus

Hi all

I am almost finished with my migration to NixOS but I have two issues, one is very minor but this one is very annoying. I am trying to play Blurays via VLC but when opening the bluray, I just get a thumbnail and none of the titles play.
I’ll attach my packages.nix here, can someone please explain where I am going wrong? By the way, I’m still new to NixOS and have only cobbled together solutions so maybe my config files are not the best.

Thanks

{ pkgs, ... }:
{
  environment.systemPackages = with pkgs; [ 
handbrake
kdePackages.kdenlive
jdupes
kdePackages.yakuake
kdePackages.kpat
kdePackages.sddm-kcm
backintime
protonup-qt
libaacs
mediaelch
mpv
makemkv
ddrescue
calibre
fuse-emulator
libspectrum
gimp3-with-plugins
gimp3
zapzap
nfs-utils
yt-dlp
duf
bottom
procs
bat
picard
lutris
gramps
minigalaxy
qbittorrent
scribus
blanket
manuskript
krename
kdePackages.kteatime
sigil
zettlr
eza
aria2
veracrypt
gamemode
digikam
get_iplayer
kdePackages.kdeconnect-kde
xsane
luanti
steam
xsettingsd
strawberry
vlc
tellico
ffmpeg
ffmpeg_7-full
ffmpeg_8-full
grsync
sox
kdePackages.qttools
mangohud
wine
winetricks
protontricks
vulkan-tools
gnutls
openldap
libgpg-error
freetype
sqlite
libxml2
xml2
SDL2
gparted
libreoffice-qt-fresh
bitwarden-desktop
kdePackages.isoimagewriter
kdePackages.kbackup
wget
aspell
aspellDicts.en
aspellDicts.en-computers
aspellDicts.en-science
hunspell
hunspellDicts.en_GB-ise
hunspellDicts.en-gb-ise
hunspellDicts.en_GB-large
hunspellDicts.en-gb-large
fastfetch
filen-desktop
wine
unzip
ripgrep

(pkgs.xsane.override { gimpSupport = true; })

(pkgs.libbluray.override { withAACS = true;
withBDPlus = true;})

];
}

On NixOS, installing libaacs and libbluray as standalone packages won’t work because VLC can’t see them (NixOS isolates packages). Remove vlc, libaacs, and the libbluray.override from your packages.nix and use an overlay in your configuration.nix instead:

nixpkgs.overlays = [
  (self: super: {
    libbluray = super.libbluray.override {
      withAACS = true;
      withBDplus = true;
    };
  })
];

Then just add vlc to your systemPackages normally. You’ll also need the AACS key database:

mkdir -p ~/.config/aacs
wget -O ~/.config/aacs/KEYDB.cfg "http://vlc-bluray.whoknowsmy.name/files/KEYDB.cfg"

Rebuild and reboot.

I found this solution via nixpkgs Issue #75646, hope it helps!

4 Likes

That’s brilliant, thank you so much! I had to replace libbluray = super.libbluray.override {

with libbluray-full = super.libbluray.override {

because I’m on the unstable branch but it worked perfectly. Thank you

1 Like