mirror of
https://github.com/Swarsel/.dotfiles.git
synced 2025-12-06 09:07:21 +01:00
add kanshi, sep. wps, navidrome update, tools
This commit is contained in:
parent
6311d0c01e
commit
431cd97efe
23 changed files with 889 additions and 544 deletions
99
pkgs/swarsel-navidrome/default.nix
Normal file
99
pkgs/swarsel-navidrome/default.nix
Normal file
|
|
@ -0,0 +1,99 @@
|
|||
{ buildGo123Module
|
||||
, buildPackages
|
||||
, fetchFromGitHub
|
||||
, fetchNpmDeps
|
||||
, lib
|
||||
, nodejs
|
||||
, npmHooks
|
||||
, pkg-config
|
||||
, stdenv
|
||||
, ffmpeg-headless
|
||||
, taglib
|
||||
, zlib
|
||||
, nixosTests
|
||||
, nix-update-script
|
||||
, ffmpegSupport ? true
|
||||
, ...
|
||||
}:
|
||||
|
||||
buildGo123Module rec {
|
||||
pname = "navidrome";
|
||||
version = "0.55.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "navidrome";
|
||||
repo = "navidrome";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-74sN2qZVjsD5i3BkJKYcpL3vZsVIg0H5RI70oRdZpi0=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-bI0iDhATvNylKnI81eeUpgsm8YqySPyinPgBbcO0y4I=";
|
||||
|
||||
npmRoot = "ui";
|
||||
|
||||
npmDeps = fetchNpmDeps {
|
||||
inherit src;
|
||||
sourceRoot = "${src.name}/ui";
|
||||
hash = "sha256-PaE1xcZX9wZRcKeqQCXbdhi4cIBWBL8ZQdww6AOB7sQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
buildPackages.makeWrapper
|
||||
nodejs
|
||||
npmHooks.npmConfigHook
|
||||
pkg-config
|
||||
];
|
||||
|
||||
overrideModAttrs = oldAttrs: {
|
||||
nativeBuildInputs = lib.filter (drv: drv != npmHooks.npmConfigHook) oldAttrs.nativeBuildInputs;
|
||||
preBuild = null;
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
taglib
|
||||
zlib
|
||||
];
|
||||
|
||||
ldflags = [
|
||||
"-X github.com/navidrome/navidrome/consts.gitSha=${src.rev}"
|
||||
"-X github.com/navidrome/navidrome/consts.gitTag=v${version}"
|
||||
];
|
||||
|
||||
CGO_CFLAGS = lib.optionals stdenv.cc.isGNU [ "-Wno-return-local-addr" ];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs ui/bin/update-workbox.sh
|
||||
'';
|
||||
|
||||
preBuild = ''
|
||||
make buildjs
|
||||
'';
|
||||
|
||||
tags = [
|
||||
"netgo"
|
||||
];
|
||||
|
||||
postFixup = lib.optionalString ffmpegSupport ''
|
||||
wrapProgram $out/bin/navidrome \
|
||||
--prefix PATH : ${lib.makeBinPath [ ffmpeg-headless ]}
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
tests.navidrome = nixosTests.navidrome;
|
||||
updateScript = nix-update-script { };
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Navidrome Music Server and Streamer compatible with Subsonic/Airsonic";
|
||||
mainProgram = "navidrome";
|
||||
homepage = "https://www.navidrome.org/";
|
||||
license = lib.licenses.gpl3Only;
|
||||
sourceProvenance = with lib.sourceTypes; [ fromSource ];
|
||||
maintainers = with lib.maintainers; [
|
||||
aciceri
|
||||
squalus
|
||||
];
|
||||
# Broken on Darwin: sandbox-exec: pattern serialization length exceeds maximum (NixOS/nix#4119)
|
||||
broken = stdenv.hostPlatform.isDarwin;
|
||||
};
|
||||
}
|
||||
|
|
@ -1,143 +0,0 @@
|
|||
{ lib
|
||||
, fetchFromGitHub
|
||||
, stdenv
|
||||
, systemd
|
||||
, meson
|
||||
, replaceVars
|
||||
, swaybg
|
||||
, ninja
|
||||
, pkg-config
|
||||
, gdk-pixbuf
|
||||
, librsvg
|
||||
, wayland-protocols
|
||||
, libdrm
|
||||
, libinput
|
||||
, cairo
|
||||
, pango
|
||||
, wayland
|
||||
, libGL
|
||||
, libxkbcommon
|
||||
, pcre2
|
||||
, cmake
|
||||
, json_c
|
||||
, libevdev
|
||||
, scdoc
|
||||
, scenefx
|
||||
, wayland-scanner
|
||||
, xcbutilwm
|
||||
, wlroots_0_18
|
||||
, testers
|
||||
, nixosTests
|
||||
, # Used by the NixOS module:
|
||||
isNixOS ? false
|
||||
, enableXWayland ? true
|
||||
, systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd
|
||||
, trayEnabled ? systemdSupport
|
||||
, ...
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
inherit
|
||||
enableXWayland
|
||||
isNixOS
|
||||
systemdSupport
|
||||
trayEnabled
|
||||
;
|
||||
|
||||
pname = "swayfx-unwrapped";
|
||||
version = "0.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "WillPower3309";
|
||||
repo = "swayfx";
|
||||
tag = "0.5";
|
||||
hash = "sha256-gdab7zkjp/S7YVCP1t/OfOdUXZRwNvNSuRFGWEJScF8=";
|
||||
};
|
||||
|
||||
patches =
|
||||
[
|
||||
./load-configuration-from-etc.patch
|
||||
|
||||
(replaceVars ./fix-paths.patch {
|
||||
inherit swaybg;
|
||||
})
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
depsBuildBuild = [ pkg-config ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
scdoc
|
||||
wayland-scanner
|
||||
cmake
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
cairo
|
||||
gdk-pixbuf
|
||||
json_c
|
||||
libdrm
|
||||
libevdev
|
||||
libGL
|
||||
libinput
|
||||
librsvg
|
||||
libxkbcommon
|
||||
pango
|
||||
pcre2
|
||||
scenefx
|
||||
wayland
|
||||
wayland-protocols
|
||||
(wlroots_0_18.override { inherit (finalAttrs) enableXWayland; })
|
||||
] ++ lib.optionals finalAttrs.enableXWayland [ xcbutilwm ];
|
||||
|
||||
mesonFlags =
|
||||
let
|
||||
inherit (lib.strings) mesonEnable mesonOption;
|
||||
|
||||
# The "sd-bus-provider" meson option does not include a "none" option,
|
||||
# but it is silently ignored iff "-Dtray=disabled". We use "basu"
|
||||
# (which is not in nixpkgs) instead of "none" to alert us if this
|
||||
# changes: https://github.com/swaywm/sway/issues/6843#issuecomment-1047288761
|
||||
# assert trayEnabled -> systemdSupport && dbusSupport;
|
||||
|
||||
sd-bus-provider = if systemdSupport then "libsystemd" else "basu";
|
||||
in
|
||||
[
|
||||
(mesonOption "sd-bus-provider" sd-bus-provider)
|
||||
(mesonEnable "tray" finalAttrs.trayEnabled)
|
||||
];
|
||||
|
||||
passthru = {
|
||||
tests = {
|
||||
basic = nixosTests.swayfx;
|
||||
version = testers.testVersion {
|
||||
package = finalAttrs.finalPackage;
|
||||
command = "sway --version";
|
||||
version = "swayfx version ${finalAttrs.version}";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Sway, but with eye candy!";
|
||||
homepage = "https://github.com/WillPower3309/swayfx";
|
||||
changelog = "https://github.com/WillPower3309/swayfx/releases/tag/${finalAttrs.version}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [
|
||||
ricarch97
|
||||
];
|
||||
platforms = lib.platforms.linux;
|
||||
mainProgram = "sway";
|
||||
|
||||
longDescription = ''
|
||||
Fork of Sway, an incredible and one of the most well established Wayland
|
||||
compositors, and a drop-in replacement for the i3 window manager for X11.
|
||||
SwayFX adds extra options and effects to the original Sway, such as rounded corners,
|
||||
shadows and inactive window dimming to bring back some of the Picom X11
|
||||
compositor functionality, which was commonly used with the i3 window manager.
|
||||
'';
|
||||
};
|
||||
})
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
--- a/sway/config.c
|
||||
+++ b/sway/config.c
|
||||
@@ -276,7 +276,7 @@
|
||||
|
||||
if (!(config->active_bar_modifiers = create_list())) goto cleanup;
|
||||
|
||||
- if (!(config->swaybg_command = strdup("swaybg"))) goto cleanup;
|
||||
+ if (!(config->swaybg_command = strdup("@swaybg@/bin/swaybg"))) goto cleanup;
|
||||
|
||||
if (!(config->config_chain = create_list())) goto cleanup;
|
||||
config->current_config_path = NULL;
|
||||
|
|
@ -1,48 +0,0 @@
|
|||
From 92283df3acbffa5c1bb21f23cdd686113d905114 Mon Sep 17 00:00:00 2001
|
||||
From: Patrick Hilhorst <git@hilhorst.be>
|
||||
Date: Wed, 31 Mar 2021 21:14:13 +0200
|
||||
Subject: [PATCH] Load configs from /etc but fallback to /nix/store
|
||||
|
||||
This change will load all configuration files from /etc, to make it easy
|
||||
to override them, but fallback to /nix/store/.../etc/sway/config to make
|
||||
Sway work out-of-the-box with the default configuration on non NixOS
|
||||
systems.
|
||||
|
||||
Original patch by Michael Weiss, updated for Sway 1.6 by Patrick Hilhorst
|
||||
|
||||
Co-authored-by: Michael Weiss <dev.primeos@gmail.com>
|
||||
---
|
||||
meson.build | 3 ++-
|
||||
sway/config.c | 3 ++-
|
||||
2 files changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index b7a29660..8ae8ceb3 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -164,7 +164,8 @@ if scdoc.found()
|
||||
endforeach
|
||||
endif
|
||||
|
||||
-add_project_arguments('-DSYSCONFDIR="/@0@"'.format(join_paths(prefix, sysconfdir)), language : 'c')
|
||||
+add_project_arguments('-DSYSCONFDIR="/@0@"'.format(sysconfdir), language : 'c')
|
||||
+add_project_arguments('-DNIX_SYSCONFDIR="/@0@"'.format(join_paths(prefix, sysconfdir)), language : 'c')
|
||||
|
||||
version = '"@0@"'.format(meson.project_version())
|
||||
git = find_program('git', native: true, required: false)
|
||||
diff --git a/sway/config.c b/sway/config.c
|
||||
index 76b9ec08..fb5b51aa 100644
|
||||
--- a/sway/config.c
|
||||
+++ b/sway/config.c
|
||||
@@ -374,7 +374,8 @@ static char *get_config_path(void) {
|
||||
{ .prefix = home, .config_folder = ".i3"},
|
||||
{ .prefix = config_home, .config_folder = "i3"},
|
||||
{ .prefix = SYSCONFDIR, .config_folder = "sway"},
|
||||
- { .prefix = SYSCONFDIR, .config_folder = "i3"}
|
||||
+ { .prefix = SYSCONFDIR, .config_folder = "i3"},
|
||||
+ { .prefix = NIX_SYSCONFDIR, .config_folder = "sway"},
|
||||
};
|
||||
|
||||
size_t num_config_paths = sizeof(config_paths)/sizeof(config_paths[0]);
|
||||
--
|
||||
2.30.1
|
||||
Loading…
Add table
Add a link
Reference in a new issue