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;
|
inherit system;
|
||||||
specialArgs = { inherit catppuccin; };
|
specialArgs = { inherit catppuccin; };
|
||||||
modules = [
|
modules = [
|
||||||
|
{
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
(import ./packages/strawberry/overlay.nix)
|
||||||
|
];
|
||||||
|
}
|
||||||
./hosts/all.nix
|
./hosts/all.nix
|
||||||
./hosts/${hostname}.nix
|
./hosts/${hostname}.nix
|
||||||
./hardware/${hostname}.nix
|
./hardware/${hostname}.nix
|
||||||
|
|
@ -74,7 +79,9 @@
|
||||||
system,
|
system,
|
||||||
}:
|
}:
|
||||||
home-manager.lib.homeManagerConfiguration {
|
home-manager.lib.homeManagerConfiguration {
|
||||||
pkgs = import nixpkgs { inherit system; };
|
pkgs = import nixpkgs {
|
||||||
|
inherit system;
|
||||||
|
};
|
||||||
home.username = user;
|
home.username = user;
|
||||||
home.homeDirectory = "/home/${user}";
|
home.homeDirectory = "/home/${user}";
|
||||||
modules = [
|
modules = [
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,8 @@
|
||||||
nixfmt-rfc-style
|
nixfmt-rfc-style
|
||||||
chromium
|
chromium
|
||||||
widevine-cdm
|
widevine-cdm
|
||||||
|
strawberry-master
|
||||||
|
spotify-player
|
||||||
|
|
||||||
kde-rounded-corners
|
kde-rounded-corners
|
||||||
kdePackages.partitionmanager
|
kdePackages.partitionmanager
|
||||||
|
|
@ -303,7 +305,7 @@
|
||||||
kwin = {
|
kwin = {
|
||||||
titlebarButtons = {
|
titlebarButtons = {
|
||||||
left = [
|
left = [
|
||||||
"application-menu"
|
"more-window-actions"
|
||||||
"on-all-desktops"
|
"on-all-desktops"
|
||||||
"keep-below-windows"
|
"keep-below-windows"
|
||||||
"keep-above-windows"
|
"keep-above-windows"
|
||||||
|
|
@ -375,6 +377,7 @@
|
||||||
"applications:org.kde.dolphin.desktop"
|
"applications:org.kde.dolphin.desktop"
|
||||||
"applications:vesktop.desktop"
|
"applications:vesktop.desktop"
|
||||||
"applications:kitty.desktop"
|
"applications:kitty.desktop"
|
||||||
|
"applications:org.strawberrymusicplayer.strawberry.desktop"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -211,6 +211,10 @@
|
||||||
services.openssh.enable = true;
|
services.openssh.enable = true;
|
||||||
networking.firewall.enable = false;
|
networking.firewall.enable = false;
|
||||||
|
|
||||||
|
networking.extraHosts = ''
|
||||||
|
0.0.0.0 apresolve.spotify.com
|
||||||
|
'';
|
||||||
|
|
||||||
# This value determines the NixOS release from which the default
|
# This value determines the NixOS release from which the default
|
||||||
# settings for stateful data, like file locations and database versions
|
# settings for stateful data, like file locations and database versions
|
||||||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
# 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