diff options
Diffstat (limited to 'nixos/modules/services/misc/mame.nix')
-rw-r--r-- | nixos/modules/services/misc/mame.nix | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/nixos/modules/services/misc/mame.nix b/nixos/modules/services/misc/mame.nix deleted file mode 100644 index dd6c5ef9aa0..00000000000 --- a/nixos/modules/services/misc/mame.nix +++ /dev/null @@ -1,69 +0,0 @@ -{ config, lib, pkgs, ... }: - -with lib; - -let - cfg = config.services.mame; - mame = "mame${lib.optionalString pkgs.stdenv.is64bit "64"}"; -in -{ - options = { - services.mame = { - enable = mkOption { - type = types.bool; - default = false; - description = '' - Whether to setup TUN/TAP Ethernet interface for MAME emulator. - ''; - }; - user = mkOption { - type = types.str; - description = '' - User from which you run MAME binary. - ''; - }; - hostAddr = mkOption { - type = types.str; - description = '' - IP address of the host system. Usually an address of the main network - adapter or the adapter through which you get an internet connection. - ''; - example = "192.168.31.156"; - }; - emuAddr = mkOption { - type = types.str; - description = '' - IP address of the guest system. The same you set inside guest OS under - MAME. Should be on the same subnet as <option>services.mame.hostAddr</option>. - ''; - example = "192.168.31.155"; - }; - }; - }; - - config = mkIf cfg.enable { - environment.systemPackages = [ pkgs.mame ]; - - security.wrappers."${mame}" = { - owner = "root"; - group = "root"; - capabilities = "cap_net_admin,cap_net_raw+eip"; - source = "${pkgs.mame}/bin/${mame}"; - }; - - systemd.services.mame = { - description = "MAME TUN/TAP Ethernet interface"; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; - path = [ pkgs.iproute2 ]; - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - ExecStart = "${pkgs.mame}/bin/taputil.sh -c ${cfg.user} ${cfg.emuAddr} ${cfg.hostAddr} -"; - ExecStop = "${pkgs.mame}/bin/taputil.sh -d ${cfg.user}"; - }; - }; - }; - - meta.maintainers = with lib.maintainers; [ ]; -} |