diff --git a/MMDVMHost/module.nix b/MMDVMHost/module.nix index 9bde484..3190dbd 100644 --- a/MMDVMHost/module.nix +++ b/MMDVMHost/module.nix @@ -1,4 +1,4 @@ -{ lib, config, pkgs, mmdvm_host, mmdvm_firmware, ... }: +{ lib, config, pkgs, mmdvm_host, ... }: with lib; let # Shorter name to access final settings a @@ -10,36 +10,14 @@ in options.services.mmdvm_host = { enable = mkEnableOption "MMDVMHost service"; - - host_package = mkOption { + package = mkOption { default = mmdvm_host.x86_64-linux.default; type = types.package; }; - - firmware_package = mkOption { - default = mmdvm_firmware.x86_64-linux.default; - type = types.package; - }; - user = mkOption { type = types.str; default = "afg"; }; - - group = mkOption { - type = types.str; - default = "afg"; - }; - - config-file = mkOption { - type = types.str; - }; - - usb-tty = mkOption { - type = types.str; - default = "/dev/ttyUSB0"; - }; - }; @@ -47,8 +25,7 @@ in # List packages installed in system profile. To search, run: # $ nix search wget environment.systemPackages = [ - pkgs.stm32flash - cfg.host_package + cfg.package ]; systemd.services.mmdvm_host = { @@ -59,22 +36,13 @@ in serviceConfig = { Type = "exec"; User = cfg.user; - Group = cfg.group; Restart = "always"; RestartSec = "3s"; + StartLimitIntervalSec = "0"; RuntimeDirectory = "MMDVMHost"; }; script = '' - if [ ! -e /var/lib/mmdvm/firmware-version ]; then - mkdir -p /var/lib/mmdvm - touch /var/lib/mmdvm/firmware-version - fi - if [ "${cfg.firmware_package}" != "$(cat /var/lib/mmdvm/firmware-version)" ]; then - ${pkgs.stm32flash}/bin/stm32flash -w ${cfg.firmware_package}/firmware/mmdvm_f4.bin -i ',-dtr,-rts,dtr,,:-dtr,rts,dtr' ${cfg.usb-tty} - echo "{cfg.firmware_package}" > /var/lib/mmdvm/firmware-version - fi - - exec ${cfg.package}/bin/MMDVMHost ${cfg.config-file} + exec ${cfg.package}/bin/MMDVMHost ''; }; }; diff --git a/flake.lock b/flake.lock index d22a24f..98f71cb 100644 --- a/flake.lock +++ b/flake.lock @@ -2,16 +2,16 @@ "nodes": { "nixpkgs": { "locked": { - "lastModified": 1734323986, - "narHash": "sha256-m/lh6hYMIWDYHCAsn81CDAiXoT3gmxXI9J987W5tZrE=", + "lastModified": 1717179513, + "narHash": "sha256-vboIEwIQojofItm2xGCdZCzW96U85l9nDW3ifMuAIdM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "394571358ce82dff7411395829aa6a3aad45b907", + "rev": "63dacb46bf939521bdc93981b4cbb7ecb58427a0", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-24.11", + "ref": "24.05", "repo": "nixpkgs", "type": "github" } diff --git a/flake.nix b/flake.nix index 4736ab0..dc7ec58 100644 --- a/flake.nix +++ b/flake.nix @@ -1,7 +1,7 @@ { description = "A flake for MMDVMHost for DB0KL."; inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11"; + nixpkgs.url = "github:NixOS/nixpkgs/24.05"; }; @@ -21,10 +21,7 @@ nixosModules.MMDVMHost = { config, pkgs, ... }: { imports = [ ./MMDVMHost/module.nix ]; - _module.args = { - mmdvm_host = self.packages.x86_64-linux.MMDVMHost; - mmdvm_firmware = self.packages.x86_64-linux.MMDVMFirmware; - }; + _module.args.mmdvm_host = self.packages.x86_64-linux.MMDVMHost; }; }; }