add strawberry from git
This commit is contained in:
parent
bfd99886d6
commit
27cd3afd80
5 changed files with 152 additions and 2 deletions
|
|
@ -52,6 +52,11 @@
|
|||
inherit system;
|
||||
specialArgs = { inherit catppuccin; };
|
||||
modules = [
|
||||
{
|
||||
nixpkgs.overlays = [
|
||||
(import ./packages/strawberry/overlay.nix)
|
||||
];
|
||||
}
|
||||
./hosts/all.nix
|
||||
./hosts/${hostname}.nix
|
||||
./hardware/${hostname}.nix
|
||||
|
|
@ -74,7 +79,9 @@
|
|||
system,
|
||||
}:
|
||||
home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = import nixpkgs { inherit system; };
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
};
|
||||
home.username = user;
|
||||
home.homeDirectory = "/home/${user}";
|
||||
modules = [
|
||||
|
|
|
|||
|
|
@ -19,6 +19,8 @@
|
|||
nixfmt-rfc-style
|
||||
chromium
|
||||
widevine-cdm
|
||||
strawberry-master
|
||||
spotify-player
|
||||
|
||||
kde-rounded-corners
|
||||
kdePackages.partitionmanager
|
||||
|
|
@ -303,7 +305,7 @@
|
|||
kwin = {
|
||||
titlebarButtons = {
|
||||
left = [
|
||||
"application-menu"
|
||||
"more-window-actions"
|
||||
"on-all-desktops"
|
||||
"keep-below-windows"
|
||||
"keep-above-windows"
|
||||
|
|
@ -375,6 +377,7 @@
|
|||
"applications:org.kde.dolphin.desktop"
|
||||
"applications:vesktop.desktop"
|
||||
"applications:kitty.desktop"
|
||||
"applications:org.strawberrymusicplayer.strawberry.desktop"
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -211,6 +211,10 @@
|
|||
services.openssh.enable = true;
|
||||
networking.firewall.enable = false;
|
||||
|
||||
networking.extraHosts = ''
|
||||
0.0.0.0 apresolve.spotify.com
|
||||
'';
|
||||
|
||||
# This value determines the NixOS release from which the default
|
||||
# settings for stateful data, like file locations and database versions
|
||||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||
|
|
|
|||
3
packages/strawberry/overlay.nix
Normal file
3
packages/strawberry/overlay.nix
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
final: prev: {
|
||||
strawberry-master = prev.callPackage (builtins.path { path = ./package.nix; }) { };
|
||||
}
|
||||
133
packages/strawberry/package.nix
Normal file
133
packages/strawberry/package.nix
Normal file
|
|
@ -0,0 +1,133 @@
|
|||
{
|
||||
alsa-lib,
|
||||
boost,
|
||||
chromaprint,
|
||||
cmake,
|
||||
fetchFromGitHub,
|
||||
fftw,
|
||||
glib-networking,
|
||||
gnutls,
|
||||
gst_all_1,
|
||||
kdsingleapplication,
|
||||
lib,
|
||||
libXdmcp,
|
||||
libcdio,
|
||||
libebur128,
|
||||
libidn2,
|
||||
libmtp,
|
||||
libpthreadstubs,
|
||||
libpulseaudio,
|
||||
libselinux,
|
||||
libsepol,
|
||||
libtasn1,
|
||||
ninja,
|
||||
nix-update-script,
|
||||
p11-kit,
|
||||
pkg-config,
|
||||
qt6,
|
||||
sqlite,
|
||||
stdenv,
|
||||
taglib,
|
||||
util-linux,
|
||||
sparsehash,
|
||||
rapidjson,
|
||||
|
||||
# tests
|
||||
gtest,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "strawberry-master";
|
||||
version = "git-master";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jonaski";
|
||||
repo = "strawberry";
|
||||
rev = "master";
|
||||
hash = "sha256-A5eEXpRKZDwfmmXs+6V1qUerEma4AdncuVXohgh3z4E=";
|
||||
};
|
||||
|
||||
# the big strawberry shown in the context menu is *very* much in your face, so use the grey version instead
|
||||
postPatch = ''
|
||||
substituteInPlace src/context/contextalbum.cpp \
|
||||
--replace-fail pictures/strawberry.png pictures/strawberry-grey.png
|
||||
'';
|
||||
|
||||
buildInputs = [
|
||||
alsa-lib
|
||||
boost
|
||||
chromaprint
|
||||
fftw
|
||||
gnutls
|
||||
kdsingleapplication
|
||||
libXdmcp
|
||||
libcdio
|
||||
libebur128
|
||||
libidn2
|
||||
libmtp
|
||||
libpthreadstubs
|
||||
libtasn1
|
||||
qt6.qtbase
|
||||
sqlite
|
||||
taglib
|
||||
sparsehash
|
||||
rapidjson
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [
|
||||
libpulseaudio
|
||||
libselinux
|
||||
libsepol
|
||||
p11-kit
|
||||
]
|
||||
++ (with gst_all_1; [
|
||||
glib-networking
|
||||
gst-libav
|
||||
gst-plugins-bad
|
||||
gst-plugins-base
|
||||
gst-plugins-good
|
||||
gst-plugins-ugly
|
||||
gst-plugins-rs
|
||||
gstreamer
|
||||
]);
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
ninja
|
||||
pkg-config
|
||||
qt6.qttools
|
||||
qt6.wrapQtAppsHook
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [
|
||||
util-linux
|
||||
];
|
||||
|
||||
cmakeFlags = with lib; [ (cmakeBool "ENABLE_GPOD" false) ];
|
||||
|
||||
checkInputs = [ gtest ];
|
||||
checkTarget = "strawberry_tests";
|
||||
preCheck = ''
|
||||
# defaults to "xcb" otherwise, which requires a display
|
||||
export QT_QPA_PLATFORM=offscreen
|
||||
'';
|
||||
doCheck = true;
|
||||
|
||||
postInstall = ''
|
||||
qtWrapperArgs+=(
|
||||
--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0"
|
||||
--prefix GIO_EXTRA_MODULES : "${glib-networking.out}/lib/gio/modules"
|
||||
)
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Music player and music collection organizer";
|
||||
homepage = "https://www.strawberrymusicplayer.org/";
|
||||
changelog = "https://raw.githubusercontent.com/jonaski/strawberry/${finalAttrs.finalPackage.version}/Changelog";
|
||||
license = lib.licenses.gpl3Only;
|
||||
maintainers = with lib.maintainers; [ peterhoeg ];
|
||||
# upstream says darwin should work but they lack maintainers as of 0.6.6
|
||||
platforms = lib.platforms.linux;
|
||||
mainProgram = "strawberry";
|
||||
};
|
||||
})
|
||||
Loading…
Add table
Add a link
Reference in a new issue