I could use some help in investigating a problem. I’m not well versed with nixpkgs intricacies, so maybe someone here has an idea.
Since 25.05 my system has kwallet installed, seemingly via nextcloud-client.
$> nix why-depends --all .#melissa nixpkgs#kdePackages.kwallet
/nix/store/y40wlcvf3mxzq5j3v1a30y01gcbpannv-nixos-system-melissa-eisfunke-6977a94d9-dirty-25.05.20250612.fd48718
└───/nix/store/d39qg5j52rjnbhh832541nrs437ix4k2-etc
├───/nix/store/hfpii6xnbzx4s26mm2jhs001db49h151-user-environment
│ └───/nix/store/dh09jrhxs590kxh3nszsdkxx4b5w6pw8-home-manager-path
│ ├───/nix/store/by5z7x5gmisc3r11hq3n2ja5anrdz1lv-kwallet-6.14.0
│ ├───/nix/store/hfylsf8c1cs4x9l1yvvlrmlhrcgdbnkv-kio-6.14.0
│ │ └───/nix/store/by5z7x5gmisc3r11hq3n2ja5anrdz1lv-kwallet-6.14.0
│ └───/nix/store/v0dqs88n707j46c6nlypxcvr5bp5ysff-nextcloud-client-3.16.4
│ ├───/nix/store/by5z7x5gmisc3r11hq3n2ja5anrdz1lv-kwallet-6.14.0
│ └───/nix/store/hfylsf8c1cs4x9l1yvvlrmlhrcgdbnkv-kio-6.14.0
└───/nix/store/6xm8h1qyv7z6nrzjkqckj48jq9x9szg6-system-units
└───/nix/store/x7vj13711szl23i2y43qly3ajprcisb4-unit-home-manager-eisfunke.service
└───/nix/store/w3njhwqpwrjm2jdakf3c5yg4s6q5brmq-home-manager-generation
├───/nix/store/dh09jrhxs590kxh3nszsdkxx4b5w6pw8-home-manager-path
└───/nix/store/1660yf3xq30s1phazgdhkcag0b8xiwaz-home-manager-files
└───/nix/store/c5y3i6qwbbr8h1624x5xcjz2mszlyz5d-hm_fontconfigconf.d10hmfonts.conf
└───/nix/store/dh09jrhxs590kxh3nszsdkxx4b5w6pw8-home-manager-path
I’m not entirely sure that it wasn’t included before 25.05, but since that update some applications started trying to use/launch kwallet, which is why I noticed it being installed.
I don’t want kwallet, as I’m already using gnome-keyring and I don’t want applications to attempt to use the other secret manager. I don’t think it makes much sense for nextcloud-client to depend directly on kwallet anyway, because it uses gnome-keyring just fine. Installing a secret manager should be task of the overarching system, not a direct dependency of the package, I’d say.
So I tried to find out why it’s there and how to get rid of it. It looks like it’s pulled in via kio?
$> nix why-depends --all nixpkgs#nextcloud-client nixpkgs#kdePackages.kwallet
/nix/store/v0dqs88n707j46c6nlypxcvr5bp5ysff-nextcloud-client-3.16.4
├───/nix/store/by5z7x5gmisc3r11hq3n2ja5anrdz1lv-kwallet-6.14.0
└───/nix/store/hfylsf8c1cs4x9l1yvvlrmlhrcgdbnkv-kio-6.14.0
└───/nix/store/by5z7x5gmisc3r11hq3n2ja5anrdz1lv-kwallet-6.14.0
Which makes sense to me, because the nextcloud-client package.nix
pulls in kdePackages.kio
.
I fail to understand why kio depends on kwallet though. Its default.nix doesn’t reference kwallet
or even kdePackages
at all. It uses mkKdeDerivation
, which seems to be defined here, but that doesn’t reference kdePackages
or kwallet
either.
What am I missing? Where does the kwallet depenency come from?
(Btw, getting rid of it in my system closure by overriding kwallet
with null or a placeholder didn’t work, presumably because it’s pulled in through kio
? And I can’t override the kwallet
input of kio because it doesn’t have one…)