1
0
Fork 0

add spectacle config, add spotify, fix cinny video playback with gstreamer

refactor some stuff to look nicer and have more structure too
This commit is contained in:
Philipp 2025-04-10 19:19:37 +02:00
parent 56a64c1e0e
commit dc99f3d24d
Signed by: Philipp
GPG key ID: 9EBD8439AFBAB750
15 changed files with 283 additions and 145 deletions

View file

@ -0,0 +1,50 @@
{
config,
lib,
pkgs,
namespace,
...
}:
with lib;
with lib.${namespace};
let
cfg = config.${namespace}.system.gstreamer;
in
{
options.${namespace}.system.gstreamer = with types; {
enable = mkBoolOpt false "Whether or not to enable gstreamer support.";
};
config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [
# Video/Audio data composition framework tools like "gst-inspect", "gst-launch" ...
gst_all_1.gstreamer
# Common plugins like "filesrc" to combine within e.g. gst-launch
gst_all_1.gst-plugins-base
# Specialized plugins separated by quality
gst_all_1.gst-plugins-good
gst_all_1.gst-plugins-bad
gst_all_1.gst-plugins-ugly
# Plugins to reuse ffmpeg to play almost every video format
gst_all_1.gst-libav
# Support the Video Audio (Hardware) Acceleration API
gst_all_1.gst-vaapi
];
environment.sessionVariables.GST_PLUGIN_SYSTEM_PATH_1_0 =
lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0"
(
with pkgs.gst_all_1;
[
gstreamer
gst-plugins-base
gst-plugins-good
gst-plugins-bad
gst-plugins-ugly
gst-libav
gst-vaapi
]
);
};
}