NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
17.99k stars 14.01k forks source link

smplayer-skins #153251

Open farzin-az opened 2 years ago

farzin-az commented 2 years ago

Project description describe the project a little smplayer has a diverse set of skins (themes). In other distros there is a package smplayer-skins which contains all the skins for the app. There is none in NixOS. Since I'm new to NixOS I don´t know how to package them so I make a package request.

AndersonTorres commented 2 years ago

Can these themes be installed in the local user directories?

farzin-az commented 2 years ago

I managed to install theme in ~/.config/smplayer/themes.

AndersonTorres commented 2 years ago

Well, NixOS has no such a concept of "fixed location for extra data". Every isolated skin would be installed in a different directory inside /nix/store/.

However, there are a couple of tools in Nixpkgs that create a link forest - they pick those directories and symlink them inside a new directory inside /nix/store too. Such symlink directory needs to be passed to smplayer in some way.

Indeed, the standard way to do such a thing is by creating a wrapper derivation that, ehr, wraps smplayer and its skins as if they were a new package. I did something similar to it a long time ago:

https://github.com/NixOS/nixpkgs/blob/master/pkgs/misc/emulators/commanderx16/run.nix

bayazidbh commented 1 year ago

What about smplayer-themes? With just the available smplayer, I can't theme smplayer, not even to use Breeze or follow the theme of my device (nixpkg installed on Kubuntu).

Edit: right, libsForQt5.breeze-qt5 works for adding Breeze. Though none of libsForQt5.breeze-icons, whitesur-icon-theme, gnome.adwaita-icon-theme works for adding icons for the icons. I could settle with breeze-icons being there tbh.