From cb0d9e077bf2ce482740cf4794701a7d4a6c3bda Mon Sep 17 00:00:00 2001 From: Colin Date: Thu, 14 Dec 2023 08:41:16 +0000 Subject: [PATCH] programs: enable catt --- hosts/common/programs/assorted.nix | 1 + hosts/common/programs/catt.nix | 29 +++++++++++++++++++++++++++++ hosts/common/programs/default.nix | 1 + 3 files changed, 31 insertions(+) create mode 100644 hosts/common/programs/catt.nix diff --git a/hosts/common/programs/assorted.nix b/hosts/common/programs/assorted.nix index 740c6a7a..b846a656 100644 --- a/hosts/common/programs/assorted.nix +++ b/hosts/common/programs/assorted.nix @@ -183,6 +183,7 @@ in ]; consoleMediaUtils = declPackageSet [ + "catt" # cast videos to chromecast "ffmpeg" "imagemagick" "sox" diff --git a/hosts/common/programs/catt.nix b/hosts/common/programs/catt.nix new file mode 100644 index 00000000..5ca5aaae --- /dev/null +++ b/hosts/common/programs/catt.nix @@ -0,0 +1,29 @@ +# use like: +# - catt -d lgtv_chrome cast ./path/to.mp4 +# +# support matrix: +# - webm: audio only +# - mp4: audio + video +{ config, lib, ... }: +let + cfg = config.sane.programs.catt; +in +{ + sane.programs.catt = { + fs.".config/catt/catt.cfg".symlink.text = '' + [options] + device = lgtv_chrome + + [aliases] + lgtv_chrome = 10.78.79.106 + ''; + }; + + # necessary to cast local files + networking.firewall.allowedTCPPortRanges = lib.mkIf cfg.enabled [ + { + from = 45000; + to = 47000; + } + ]; +} diff --git a/hosts/common/programs/default.nix b/hosts/common/programs/default.nix index bc47e204..77e19b6b 100644 --- a/hosts/common/programs/default.nix +++ b/hosts/common/programs/default.nix @@ -11,6 +11,7 @@ ./brave.nix ./calls.nix ./cantata.nix + ./catt.nix ./chatty.nix ./conky ./cozy.nix