{ config, lib, pkgs, ... }: let cast_file_vaapi = (pkgs.writeScriptBin "cast_file" (builtins.readFile ./files/cast_file_vaapi)).overrideAttrs (old: { buildCommand = "${old.buildCommand}\n patchShebangs $out"; }); cast_file_nvidia = (pkgs.writeScriptBin "cast_file" (builtins.readFile ./files/cast_file_nvidia)).overrideAttrs (old: { buildCommand = "${old.buildCommand}\n patchShebangs $out"; }); in { imports = [ ]; config = ( lib.mkMerge [ { environment.systemPackages = with pkgs; [ ffmpeg ]; home-manager.users.talexander = { pkgs, ... }: { home.file.".config/mpv/mpv.conf" = { source = ./files/mpv.conf; }; }; } (lib.mkIf config.me.graphical { environment.systemPackages = with pkgs; [ mpv evince gimp imv # TODO: Maybe replace with https://github.com/artemsen/swayimg because imv is looking for a new maintainer ]; }) (lib.mkIf (config.me.graphicsCardType == "amd" || config.me.graphicsCardType == "intel") { environment.systemPackages = with pkgs; [ cast_file_vaapi ]; }) ] ); }