nixos/fcast-receiver: init module

This commit is contained in:
YMSTNT 2024-01-24 15:12:23 +01:00
parent 642a1dd450
commit 08ac037cac
3 changed files with 34 additions and 0 deletions

View File

@ -106,6 +106,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
- [transfer-sh](https://github.com/dutchcoders/transfer.sh), a tool that supports easy and fast file sharing from the command-line. Available as [services.transfer-sh](#opt-services.transfer-sh.enable).
- [FCast Receiver](https://fcast.org), an open-source alternative to Chromecast and AirPlay. Available as [programs.fcast-receiver](#opt-programs.fcast-receiver.enable).
- [MollySocket](https://github.com/mollyim/mollysocket) which allows getting Signal notifications via UnifiedPush.
- [Suwayomi Server](https://github.com/Suwayomi/Suwayomi-Server), a free and open source manga reader server that runs extensions built for [Tachiyomi](https://tachiyomi.org). Available as [services.suwayomi-server](#opt-services.suwayomi-server.enable).

View File

@ -177,6 +177,7 @@
./programs/environment.nix
./programs/evince.nix
./programs/extra-container.nix
./programs/fcast-receiver.nix
./programs/feedbackd.nix
./programs/file-roller.nix
./programs/firefox.nix

View File

@ -0,0 +1,31 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.programs.fcast-receiver;
in
{
meta = {
maintainers = pkgs.fcast-receiver.meta.maintainers;
};
options.programs.fcast-receiver = {
enable = mkEnableOption (lib.mdDoc "FCast Receiver");
openFirewall = mkOption {
type = types.bool;
default = false;
description = lib.mdDoc ''
Open ports needed for the functionality of the program.
'';
};
package = mkPackageOption pkgs "fcast-receiver" { };
};
config = mkIf cfg.enable {
environment.systemPackages = [ cfg.package ];
networking.firewall = mkIf cfg.openFirewall {
allowedTCPPorts = [ 46899 ];
};
};
}