Add spotube & some tweaks
- move steam pkg override into os-mods/desktop/gaming.nix - simplify nixpkgs overrides in flake.nix
This commit is contained in:
parent
72c93dbff4
commit
1bf50449e2
5 changed files with 101 additions and 27 deletions
33
flake.nix
33
flake.nix
|
@ -76,16 +76,14 @@
|
|||
let
|
||||
system = "x86_64-linux";
|
||||
unstable-os = import nixos-unstable pkgs-args;
|
||||
unstable-os-overlay = _final: _prev: {
|
||||
unstable-pkgs = import nixpkgs-unstable pkgs-args;
|
||||
my-overlay = final: prev: {
|
||||
my = self.packages."${system}";
|
||||
unstable-pkgs = unstable-pkgs.pkgs;
|
||||
unstable-os = unstable-os.pkgs;
|
||||
};
|
||||
unstable-pkgs = import nixpkgs-unstable pkgs-args;
|
||||
unstable-pkgs-overlay = _final: _prev: {
|
||||
unstable-pkgs = unstable-pkgs.pkgs;
|
||||
};
|
||||
overlays = [
|
||||
unstable-os-overlay
|
||||
unstable-pkgs-overlay
|
||||
my-overlay
|
||||
emacs-overlay.overlay
|
||||
inputs.nix-alien.overlays.default
|
||||
inputs.nix-ld-rs.overlays.default
|
||||
|
@ -95,23 +93,7 @@
|
|||
inherit overlays;
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
packageOverrides = pkgs: {
|
||||
steam = pkgs.steam.override {
|
||||
extraPkgs = pkgs:
|
||||
with pkgs.unstable-os; [
|
||||
xorg.libXcursor
|
||||
xorg.libXi
|
||||
xorg.libXinerama
|
||||
xorg.libXScrnSaver
|
||||
libpng
|
||||
libpulseaudio
|
||||
libvorbis
|
||||
stdenv.cc.cc.lib
|
||||
libkrb5
|
||||
keyutils
|
||||
];
|
||||
};
|
||||
};
|
||||
packageOverrides = pkgs: { };
|
||||
permittedInsecurePackages = [
|
||||
"electron-22.3.27"
|
||||
"electron-24.8.6"
|
||||
|
@ -145,6 +127,9 @@
|
|||
formatter = {
|
||||
${system} = pkgs.nixpkgs-fmt;
|
||||
};
|
||||
packages."${system}" = {
|
||||
spotube = pkgs.callPackage ./pkgs/spotube.nix { };
|
||||
};
|
||||
diskoConfigurations = {
|
||||
nixos-desk = import ./systems/nixos-desk/disko.nix;
|
||||
nixos-pulse = import ./systems/nixos-pulse/disko.nix;
|
||||
|
|
|
@ -51,9 +51,9 @@
|
|||
clearurls
|
||||
consent-o-matic
|
||||
darkreader
|
||||
dearrow
|
||||
deutsch-de-language-pack
|
||||
dictionary-german
|
||||
dearrow
|
||||
deutsch-de-language-pack
|
||||
dictionary-german
|
||||
localcdn
|
||||
plasma-integration
|
||||
privacy-badger
|
||||
|
|
|
@ -5,6 +5,22 @@
|
|||
}: {
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
package = pkgs.unstable-os.steam.override {
|
||||
extraPkgs = pkgs:
|
||||
with pkgs.unstable-os; [
|
||||
xorg.libXcursor
|
||||
xorg.libXi
|
||||
xorg.libXinerama
|
||||
xorg.libXScrnSaver
|
||||
libpng
|
||||
libpulseaudio
|
||||
libvorbis
|
||||
stdenv.cc.cc.lib
|
||||
libkrb5
|
||||
keyutils
|
||||
];
|
||||
};
|
||||
|
||||
remotePlay.openFirewall = true;
|
||||
dedicatedServer.openFirewall = true;
|
||||
};
|
||||
|
|
72
pkgs/spotube.nix
Normal file
72
pkgs/spotube.nix
Normal file
|
@ -0,0 +1,72 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, autoPatchelfHook
|
||||
, dpkg
|
||||
, makeWrapper
|
||||
, wrapGAppsHook
|
||||
, libappindicator
|
||||
, libnotify
|
||||
, libsecret
|
||||
, mpv-unwrapped
|
||||
, xdg-user-dirs
|
||||
,
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "spotube";
|
||||
version = "3.4.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/KRTirtho/spotube/releases/download/v${finalAttrs.version}/Spotube-linux-x86_64.deb";
|
||||
hash = "sha256-XBciTNWsmaY1C8ji+SCWWP/M/uIDZHM9fi9wucHJsBY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoPatchelfHook
|
||||
dpkg
|
||||
makeWrapper
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libappindicator
|
||||
libnotify
|
||||
libsecret
|
||||
mpv-unwrapped
|
||||
];
|
||||
|
||||
dontWrapGApps = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out
|
||||
mv usr/* $out
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
patchelf $out/share/spotube/lib/libmedia_kit_native_event_loop.so \
|
||||
--replace-needed libmpv.so.1 libmpv.so.2
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
makeWrapper $out/share/spotube/spotube $out/bin/spotube \
|
||||
"''${gappsWrapperArgs[@]}" \
|
||||
--prefix LD_LIBRARY_PATH : $out/share/spotube/lib:${lib.makeLibraryPath [mpv-unwrapped]} \
|
||||
--prefix PATH : ${lib.makeBinPath [xdg-user-dirs]}
|
||||
'';
|
||||
|
||||
meta = {
|
||||
changelog = "https://github.com/KRTirtho/spotube/blob/v${finalAttrs.version}/CHANGELOG.md";
|
||||
description = "An open source Spotify client";
|
||||
longDescription = ''
|
||||
Spotube is an open source, cross-platform Spotify client that
|
||||
doesn't require Premium nor uses Electron
|
||||
'';
|
||||
homepage = "https://spotube.netlify.app/";
|
||||
license = lib.licenses.bsdOriginal;
|
||||
maintainers = with lib.maintainers; [ tomasajt ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
||||
};
|
||||
})
|
|
@ -148,6 +148,7 @@
|
|||
android-tools
|
||||
android-udev-rules
|
||||
rustdesk
|
||||
my.spotube
|
||||
];
|
||||
|
||||
hardware = {
|
||||
|
|
Loading…
Add table
Reference in a new issue