lol

cdemu: fix service setup

closes https://github.com/NixOS/nixpkgs/issues/154613

+22 -1
+13
nixos/modules/programs/cdemu.nix
··· 53 53 dbus.packages = [ pkgs.cdemu-daemon ]; 54 54 }; 55 55 56 + users.groups.${config.programs.cdemu.group} = {}; 57 + 58 + # Systemd User service 59 + # manually adapted from example in source package: 60 + # https://sourceforge.net/p/cdemu/code/ci/master/tree/cdemu-daemon/service-example/cdemu-daemon.service 61 + systemd.user.services.cdemu-daemon.description = "CDEmu daemon"; 62 + systemd.user.services.cdemu-daemon.serviceConfig = { 63 + Type = "dbus"; 64 + BusName = "net.sf.cdemu.CDEmuDaemon"; 65 + ExecStart = "${pkgs.cdemu-daemon}/bin/cdemu-daemon --config-file \"%h/.config/cdemu-daemon\""; 66 + Restart = "no"; 67 + }; 68 + 56 69 environment.systemPackages = 57 70 [ pkgs.cdemu-daemon pkgs.cdemu-client ] 58 71 ++ optional cfg.gui pkgs.gcdemu
+9 -1
pkgs/applications/emulators/cdemu/daemon.nix
··· 1 - { callPackage, glib, libao, intltool, libmirage }: 1 + { callPackage, glib, libao, intltool, libmirage, coreutils }: 2 2 let pkg = import ./base.nix { 3 3 version = "3.2.5"; 4 4 pname = "cdemu-daemon"; ··· 7 7 in callPackage pkg { 8 8 nativeBuildInputs = [ intltool ]; 9 9 buildInputs = [ glib libao libmirage ]; 10 + drvParams.postInstall = '' 11 + mkdir -p $out/share/dbus-1/services 12 + cp -R ../$pname-$version/service-example $out/share/cdemu 13 + substitute \ 14 + $out/share/cdemu/net.sf.cdemu.CDEmuDaemon.service \ 15 + $out/share/dbus-1/services/net.sf.cdemu.CDEmuDaemon.service \ 16 + --replace /bin/true ${coreutils}/bin/true 17 + ''; 10 18 }