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
|
let
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
unstable-os = import nixos-unstable pkgs-args;
|
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-os = unstable-os.pkgs;
|
||||||
};
|
};
|
||||||
unstable-pkgs = import nixpkgs-unstable pkgs-args;
|
|
||||||
unstable-pkgs-overlay = _final: _prev: {
|
|
||||||
unstable-pkgs = unstable-pkgs.pkgs;
|
|
||||||
};
|
|
||||||
overlays = [
|
overlays = [
|
||||||
unstable-os-overlay
|
my-overlay
|
||||||
unstable-pkgs-overlay
|
|
||||||
emacs-overlay.overlay
|
emacs-overlay.overlay
|
||||||
inputs.nix-alien.overlays.default
|
inputs.nix-alien.overlays.default
|
||||||
inputs.nix-ld-rs.overlays.default
|
inputs.nix-ld-rs.overlays.default
|
||||||
|
@ -95,23 +93,7 @@
|
||||||
inherit overlays;
|
inherit overlays;
|
||||||
config = {
|
config = {
|
||||||
allowUnfree = true;
|
allowUnfree = true;
|
||||||
packageOverrides = pkgs: {
|
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
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
permittedInsecurePackages = [
|
permittedInsecurePackages = [
|
||||||
"electron-22.3.27"
|
"electron-22.3.27"
|
||||||
"electron-24.8.6"
|
"electron-24.8.6"
|
||||||
|
@ -145,6 +127,9 @@
|
||||||
formatter = {
|
formatter = {
|
||||||
${system} = pkgs.nixpkgs-fmt;
|
${system} = pkgs.nixpkgs-fmt;
|
||||||
};
|
};
|
||||||
|
packages."${system}" = {
|
||||||
|
spotube = pkgs.callPackage ./pkgs/spotube.nix { };
|
||||||
|
};
|
||||||
diskoConfigurations = {
|
diskoConfigurations = {
|
||||||
nixos-desk = import ./systems/nixos-desk/disko.nix;
|
nixos-desk = import ./systems/nixos-desk/disko.nix;
|
||||||
nixos-pulse = import ./systems/nixos-pulse/disko.nix;
|
nixos-pulse = import ./systems/nixos-pulse/disko.nix;
|
||||||
|
|
|
@ -51,9 +51,9 @@
|
||||||
clearurls
|
clearurls
|
||||||
consent-o-matic
|
consent-o-matic
|
||||||
darkreader
|
darkreader
|
||||||
dearrow
|
dearrow
|
||||||
deutsch-de-language-pack
|
deutsch-de-language-pack
|
||||||
dictionary-german
|
dictionary-german
|
||||||
localcdn
|
localcdn
|
||||||
plasma-integration
|
plasma-integration
|
||||||
privacy-badger
|
privacy-badger
|
||||||
|
|
|
@ -5,6 +5,22 @@
|
||||||
}: {
|
}: {
|
||||||
programs.steam = {
|
programs.steam = {
|
||||||
enable = true;
|
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;
|
remotePlay.openFirewall = true;
|
||||||
dedicatedServer.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-tools
|
||||||
android-udev-rules
|
android-udev-rules
|
||||||
rustdesk
|
rustdesk
|
||||||
|
my.spotube
|
||||||
];
|
];
|
||||||
|
|
||||||
hardware = {
|
hardware = {
|
||||||
|
|
Loading…
Add table
Reference in a new issue