nix-git/modules/vlc-dvd-blu-ray.nix

54 lines
1.7 KiB
Nix

# VLC Blu-ray playback with NixOS
# Requires libaacs and libbdplus
# Solution: https://github.com/NixOS/nixpkgs/issues/63641#issuecomment-505039827
# We do also need some databases ...
# Here is a script describing the necessary steps.
# Source: https://github.com/puppylinux-woof-CE/woof-CE/blob/849a9faa7ea8cac74e04d04e4f99f4425652c26b/woof-code/rootfs-skeleton/usr/local/bin/bdplayback_aacs
#
# # db for libaacs: http://www.videolan.org/developers/libaacs.html
# mkdir -p ~/.config/aacs
# (
# cd ~/.config/aacs
# wget http://www.labdv.com/aacs/KEYDB.cfg
# )
#
# # db for libbdplus: http://www.videolan.org/developers/libbdplus.html
# mkdir -p ~/.config/bdplus
# (
# cd ~/.config
# wget http://www.labdv.com/aacs/libbdplus/bdplus-vm0.bz2
# tar -xvjf bdplus-vm0.bz2
# rm bdplus-vm0.bz2
# )
# More details on `libbluray`.
# From the source code
# https://github.com/NixOS/nixpkgs/blob/2ab31359946cd78a509b61931cbf7de7beebdd6f/pkgs/development/libraries/libbluray/default.nix#L2C4-L6
# , withJava ? false, jdk, ant
# , withAACS ? false, libaacs
# , withBDplus ? false, libbdplus
# , withMetadata ? true, libxml2
# , withFonts ? true, freetype
# we can read that Java, AACS and BD+ support can be enabled.
# Back-up a personal DVD:
# dvdbackup -i /dev/sr0 --mirror --progress -o ~/Downloads/ && eject /dev/sr0
{ config, pkgs, ... }:
let
libbluray = pkgs.libbluray.override {
withAACS = true;
withBDplus = true;
};
vlc = pkgs.vlc.override { inherit libbluray; };
in
{
users.users.yoda = {
packages = [
vlc # Video (DVD, Blu-ray) and audio player
pkgs.dvdbackup # Create ackups of personal DVDs
];
};
}