diff --git a/nix/configurations/vanadium.nix b/nix/configurations/vanadium.nix index 9332268b..019b2f4f 100644 --- a/nix/configurations/vanadium.nix +++ b/nix/configurations/vanadium.nix @@ -169,6 +169,7 @@ in ../homeModules/common/tmux ../homeModules/common/vim ../homeModules/common/wired + ../homeModules/common/vlc.nix ../homeModules/common/atuin.nix ../homeModules/common/direnv.nix ../homeModules/common/feh.nix diff --git a/nix/homeModules/common/vlc.nix b/nix/homeModules/common/vlc.nix new file mode 100644 index 00000000..3d324ca4 --- /dev/null +++ b/nix/homeModules/common/vlc.nix @@ -0,0 +1,142 @@ +{ lib, config, ... }: +let + # Kinda slow but there's no option defined and I'm lazy + vlcInstalled = lib.any (x: lib.getName x == "vlc") config.home.packages; +in +{ + xdg = lib.mkIf vlcInstalled { + enable = true; + mimeApps = + let + associations = lib.genAttrs vlcTypes (_: "vlc.desktop"); + # credit: https://github.com/tiredofit/home + vlcTypes = [ + "application/mxf" + "application/ogg" + "application/sdp" + "application/smil" + "application/streamingmedia" + "application/vnd.apple.mpegurl" + "application/vnd.ms-asf" + "application/vnd.rn-realmedia" + "application/vnd.rn-realmedia-vbr" + "application/x-cue" + "application/x-extension-m4a" + "application/x-extension-mp4" + "application/x-matroska" + "application/x-mpegurl" + "application/x-ogg" + "application/x-ogm" + "application/x-ogm-audio" + "application/x-ogm-video" + "application/x-shorten" + "application/x-smil" + "application/x-streamingmedia" + "audio/3gpp" + "audio/3gpp2" + "audio/AMR" + "audio/aac" + "audio/ac3" + "audio/aiff" + "audio/amr-wb" + "audio/dv" + "audio/eac3" + "audio/flac" + "audio/m3u" + "audio/m4a" + "audio/mp1" + "audio/mp2" + "audio/mp3" + "audio/mp4" + "audio/mpeg" + "audio/mpeg2" + "audio/mpeg3" + "audio/mpegurl" + "audio/mpg" + "audio/musepack" + "audio/ogg" + "audio/opus" + "audio/rn-mpeg" + "audio/scpls" + "audio/vnd.dolby.heaac.1" + "audio/vnd.dolby.heaac.2" + "audio/vnd.dts" + "audio/vnd.dts.hd" + "audio/vnd.rn-realaudio" + "audio/vorbis" + "audio/wav" + "audio/webm" + "audio/x-aac" + "audio/x-adpcm" + "audio/x-aiff" + "audio/x-ape" + "audio/x-m4a" + "audio/x-matroska" + "audio/x-mp1" + "audio/x-mp2" + "audio/x-mp3" + "audio/x-mpegurl" + "audio/x-mpg" + "audio/x-ms-asf" + "audio/x-ms-wma" + "audio/x-musepack" + "audio/x-pls" + "audio/x-pn-au" + "audio/x-pn-realaudio" + "audio/x-pn-wav" + "audio/x-pn-windows-pcm" + "audio/x-realaudio" + "audio/x-scpls" + "audio/x-shorten" + "audio/x-tta" + "audio/x-vorbis" + "audio/x-vorbis+ogg" + "audio/x-wav" + "audio/x-wavpack" + "video/3gp" + "video/3gpp" + "video/3gpp2" + "video/avi" + "video/divx" + "video/dv" + "video/fli" + "video/flv" + "video/mkv" + "video/mp2t" + "video/mp4" + "video/mp4v-es" + "video/mpeg" + "video/msvideo" + "video/ogg" + "video/quicktime" + "video/vnd.divx" + "video/vnd.mpegurl" + "video/vnd.rn-realvideo" + "video/webm" + "video/x-avi" + "video/x-flc" + "video/x-flic" + "video/x-flv" + "video/x-m4v" + "video/x-matroska" + "video/x-mpeg2" + "video/x-mpeg3" + "video/x-ms-afs" + "video/x-ms-asf" + "video/x-ms-wmv" + "video/x-ms-wmx" + "video/x-ms-wvxvideo" + "video/x-msvideo" + "video/x-ogm" + "video/x-ogm+ogg" + "video/x-theora" + "video/x-theora+ogg" + ]; + in + { + enable = true; + associations.added = associations; + defaultApplications = associations; + }; + }; +}