Merge pull request #249860 from errnoh/goxlr-utility
goxlr-utility: init at 0.12.6 (fixes #243701)
This commit is contained in:
commit
ab1fe60481
@ -5177,6 +5177,11 @@
|
||||
githubId = 1583484;
|
||||
name = "Andrey Golovizin";
|
||||
};
|
||||
errnoh = {
|
||||
github = "errnoh";
|
||||
githubId = 373946;
|
||||
name = "Erno Hopearuoho";
|
||||
};
|
||||
ersin = {
|
||||
email = "me@ersinakinci.com";
|
||||
github = "ersinakinci";
|
||||
|
@ -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
|
||||
|
48
nixos/modules/services/audio/goxlr-utility.nix
Normal file
48
nixos/modules/services/audio/goxlr-utility.nix
Normal 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 ];
|
||||
}
|
65
pkgs/tools/audio/goxlr-utility/default.nix
Normal file
65
pkgs/tools/audio/goxlr-utility/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
@ -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 {
|
||||
|
Loading…
Reference in New Issue
Block a user