librepods-org / librepods-org/librepods

Autostart exec path ignoring Nix wrappers

Open
#214 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Kotlin
Stars
29.9k
Forks
1.7k
PR merge metrics
No merged PRs in 30d

Description

Hi,
first I want to thank you for this amazing program! There are a lot of nice features already working and I am really happy to be able to control my AirPods on Linux.

I am currently packing librepods for Nixpkgs and noticed that the autostart path is not set correctly here.
Nix is of course a bit special but maybe there is a better way to obtain the application path than

QString appPath = QCoreApplication::applicationFilePath();

https://github.com/kavishdevar/librepods/blob/main/linux/autostartmanager.hpp#L58

Using the path stated in the .desktop file leads to this error:

QQmlApplicationEngine failed to load component
qrc:/linux/Main.qml:4:1: module "QtQuick.Controls" is not installed

The problem is that Nix has wrappers around programs (like for runtime libraries or a qt wrapper).
I patched it more or less in the package (it works technically; only the white title bar is missing) but I think if there is a way to fix it upstream that'd be better.

https://github.com/NixOS/nixpkgs/pull/444137

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with linux/autostartmanager.hpp around line 58 and compare applicationFilePath() with the .desktop launch path in the Nixpkgs packaging context. Reproduce the autostart launch and verify that QtQuick.Controls is available; done means autostart works under Nix without losing the existing behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
linux, nixos
Domain
desktop, operating-systems
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.