Merge pull request #249860 from errnoh/goxlr-utility

goxlr-utility: init at 0.12.6 (fixes #243701)
This commit is contained in:
Doron Behar 2023-08-19 19:10:40 +00:00 committed by GitHub
commit ab1fe60481
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 121 additions and 0 deletions

View file

@ -5177,6 +5177,11 @@
githubId = 1583484;
name = "Andrey Golovizin";
};
errnoh = {
github = "errnoh";
githubId = 373946;
name = "Erno Hopearuoho";
};
ersin = {
email = "me@ersinakinci.com";
github = "ersinakinci";

View file

@ -319,6 +319,7 @@
./services/audio/botamusique.nix
./services/audio/gmediarender.nix
./services/audio/gonic.nix
./services/audio/goxlr-utility.nix
./services/audio/hqplayerd.nix
./services/audio/icecast.nix
./services/audio/jack.nix

View file

@ -0,0 +1,48 @@
{ config, lib, pkgs, ... }:
let
cfg = config.services.goxlr-utility;
in
with lib;
{
options = {
services.goxlr-utility = {
enable = mkOption {
default = false;
type = types.bool;
description = lib.mdDoc ''
Whether to enable goxlr-utility for controlling your TC-Helicon GoXLR or GoXLR Mini
'';
};
package = mkPackageOptionMD pkgs "goxlr-utility" { };
autoStart.xdg = mkOption {
default = true;
type = with types; bool;
description = lib.mdDoc ''
Start the daemon automatically using XDG autostart.
Sets `xdg.autostart.enable = true` if not already enabled.
'';
};
};
};
config = mkIf config.services.goxlr-utility.enable
{
services.udev.packages = [ cfg.package ];
xdg.autostart.enable = mkIf cfg.autoStart.xdg true;
environment.systemPackages = mkIf cfg.autoStart.xdg
[
cfg.package
(pkgs.makeAutostartItem
{
name = "goxlr-utility";
package = cfg.package;
})
];
};
meta.maintainers = with maintainers; [ errnoh ];
}

View file

@ -0,0 +1,65 @@
{ lib
, fetchFromGitHub
, rustPlatform
, installShellFiles
, pkg-config
, libpulseaudio
, dbus
, speechd
}:
rustPlatform.buildRustPackage rec {
pname = "goxlr-utility";
version = "0.12.6";
src = fetchFromGitHub {
owner = "GoXLR-on-Linux";
repo = "goxlr-utility";
rev = "v${version}";
hash = "sha256-vvaKCsqncRhag8IrS0AIfNqNHGU2WIvFaYISEVfUB2Y=";
};
cargoHash = "sha256-Z57H5YeVYqlOaLRLaizVw8xTLstdjyXutnN7OgaUYOE=";
buildInputs = [
libpulseaudio
dbus
speechd
];
nativeBuildInputs = [
pkg-config
installShellFiles
rustPlatform.bindgenHook
];
buildFeatures = [ "tts" ];
postInstall = ''
install -Dm644 "50-goxlr.rules" "$out/etc/udev/rules.d/50-goxlr.rules"
install -Dm644 "daemon/resources/goxlr-utility.png" "$out/share/icons/hicolor/48x48/apps/goxlr-utility.png"
install -Dm644 "daemon/resources/goxlr-utility.svg" "$out/share/icons/hicolor/scalable/apps/goxlr-utility.svg"
install -Dm644 "daemon/resources/goxlr-utility-large.png" "$out/share/pixmaps/goxlr-utility.png"
install -Dm644 "daemon/resources/goxlr-utility.desktop" "$out/share/applications/goxlr-utility.desktop"
substituteInPlace $out/share/applications/goxlr-utility.desktop \
--replace /usr/bin $out/bin \
--replace goxlr-launcher goxlr-daemon
completions_dir=$(dirname $(find target -name 'goxlr-client.bash' | head -n 1))
installShellCompletion --bash $completions_dir/goxlr-client.bash
installShellCompletion --fish $completions_dir/goxlr-client.fish
installShellCompletion --zsh $completions_dir/_goxlr-client
completions_dir=$(dirname $(find target -name 'goxlr-daemon.bash' | head -n 1))
installShellCompletion --bash $completions_dir/goxlr-daemon.bash
installShellCompletion --fish $completions_dir/goxlr-daemon.fish
installShellCompletion --zsh $completions_dir/_goxlr-daemon
'';
meta = with lib; {
description = "An unofficial GoXLR App replacement for Linux, Windows and MacOS";
homepage = "https://github.com/GoXLR-on-Linux/goxlr-utility";
license = licenses.mit;
maintainers = with maintainers; [ errnoh ];
};
}

View file

@ -16187,6 +16187,8 @@ with pkgs;
gox = callPackage ../development/tools/gox { };
goxlr-utility = callPackage ../tools/audio/goxlr-utility {};
gprolog = callPackage ../development/compilers/gprolog { };
gwe = callPackage ../tools/misc/gwe {