mirror of
https://github.com/Swarsel/.dotfiles.git
synced 2025-12-06 09:07:21 +01:00
feat: update swayfx to 0.5
This commit is contained in:
parent
63b6bfc35d
commit
b43342d529
6 changed files with 371 additions and 26 deletions
|
|
@ -297,7 +297,10 @@ When setting this option normally, the password would normally be written world-
|
||||||
inputs = { };
|
inputs = { };
|
||||||
};
|
};
|
||||||
nix-topology.url = "github:oddlama/nix-topology";
|
nix-topology.url = "github:oddlama/nix-topology";
|
||||||
|
scenefx = {
|
||||||
|
url = "github:wlrfx/scenefx";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
#+end_src
|
#+end_src
|
||||||
** let
|
** let
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
|
|
@ -3521,6 +3524,157 @@ This script allows for quick git branch switching.
|
||||||
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
**** swayfxoki
|
||||||
|
|
||||||
|
|
||||||
|
#+begin_src nix :tangle pkgs/swayfxoki/default.nix
|
||||||
|
{
|
||||||
|
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.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
})
|
||||||
|
|
||||||
|
#+end_src
|
||||||
|
|
||||||
**** project
|
**** project
|
||||||
|
|
||||||
#+begin_src shell :tangle scripts/project.sh
|
#+begin_src shell :tangle scripts/project.sh
|
||||||
|
|
@ -3637,7 +3791,8 @@ When adding a new entry here, do not forget to add it in the default output of t
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
mgba = final.swarsel-mgba;
|
# mgba = final.swarsel-mgba;
|
||||||
|
swayfx-unwrapped = final.swayfxoki;
|
||||||
|
|
||||||
retroarch = prev.retroarch.withCores (cores: with cores; [
|
retroarch = prev.retroarch.withCores (cores: with cores; [
|
||||||
snes9x # snes
|
snes9x # snes
|
||||||
|
|
@ -3650,17 +3805,8 @@ When adding a new entry here, do not forget to add it in the default output of t
|
||||||
dolphin # gc/wii
|
dolphin # gc/wii
|
||||||
]);
|
]);
|
||||||
|
|
||||||
# luakit = prev.river.overrideAttrs (oldAttrs: rec {
|
|
||||||
# pname = "river";
|
|
||||||
# version = "git";
|
|
||||||
# src = prev.fetchFromGitHub {
|
|
||||||
# owner = "luakit";
|
|
||||||
# repo = pname;
|
|
||||||
# rev = "c16628c7f57c51d50f2d10a96c265fb0afaddb02";
|
|
||||||
# hash = "sha256-E3Xtv7JeCmafiNmpuS5VuLgh1TDAbibPtMo6A9Pz6EQ=";
|
|
||||||
# fetchSubmodules = true;
|
|
||||||
# };
|
|
||||||
# });
|
|
||||||
};
|
};
|
||||||
|
|
||||||
nixpkgs-stable = final: _: {
|
nixpkgs-stable = final: _: {
|
||||||
|
|
@ -3686,6 +3832,7 @@ When adding a new entry here, do not forget to add it in the default output of t
|
||||||
// (inputs.nur.overlays.default final prev)
|
// (inputs.nur.overlays.default final prev)
|
||||||
// (inputs.emacs-overlay.overlay final prev)
|
// (inputs.emacs-overlay.overlay final prev)
|
||||||
// (inputs.nix-topology.overlays.default final prev)
|
// (inputs.nix-topology.overlays.default final prev)
|
||||||
|
// (inputs.scenefx.overlays.insert final prev)
|
||||||
// (inputs.nixgl.overlay final prev);
|
// (inputs.nixgl.overlay final prev);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -76,7 +76,10 @@
|
||||||
inputs = { };
|
inputs = { };
|
||||||
};
|
};
|
||||||
nix-topology.url = "github:oddlama/nix-topology";
|
nix-topology.url = "github:oddlama/nix-topology";
|
||||||
|
scenefx = {
|
||||||
|
url = "github:wlrfx/scenefx";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
outputs =
|
outputs =
|
||||||
inputs@{ self
|
inputs@{ self
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,8 @@ let
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
mgba = final.swarsel-mgba;
|
# mgba = final.swarsel-mgba;
|
||||||
|
swayfx-unwrapped = final.swayfxoki;
|
||||||
|
|
||||||
retroarch = prev.retroarch.withCores (cores: with cores; [
|
retroarch = prev.retroarch.withCores (cores: with cores; [
|
||||||
snes9x # snes
|
snes9x # snes
|
||||||
|
|
@ -29,17 +30,8 @@ let
|
||||||
dolphin # gc/wii
|
dolphin # gc/wii
|
||||||
]);
|
]);
|
||||||
|
|
||||||
# luakit = prev.river.overrideAttrs (oldAttrs: rec {
|
|
||||||
# pname = "river";
|
|
||||||
# version = "git";
|
|
||||||
# src = prev.fetchFromGitHub {
|
|
||||||
# owner = "luakit";
|
|
||||||
# repo = pname;
|
|
||||||
# rev = "c16628c7f57c51d50f2d10a96c265fb0afaddb02";
|
|
||||||
# hash = "sha256-E3Xtv7JeCmafiNmpuS5VuLgh1TDAbibPtMo6A9Pz6EQ=";
|
|
||||||
# fetchSubmodules = true;
|
|
||||||
# };
|
|
||||||
# });
|
|
||||||
};
|
};
|
||||||
|
|
||||||
nixpkgs-stable = final: _: {
|
nixpkgs-stable = final: _: {
|
||||||
|
|
@ -65,6 +57,7 @@ in
|
||||||
// (inputs.nur.overlays.default final prev)
|
// (inputs.nur.overlays.default final prev)
|
||||||
// (inputs.emacs-overlay.overlay final prev)
|
// (inputs.emacs-overlay.overlay final prev)
|
||||||
// (inputs.nix-topology.overlays.default final prev)
|
// (inputs.nix-topology.overlays.default final prev)
|
||||||
|
// (inputs.scenefx.overlays.insert final prev)
|
||||||
// (inputs.nixgl.overlay final prev);
|
// (inputs.nixgl.overlay final prev);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
143
pkgs/swayfxoki/default.nix
Normal file
143
pkgs/swayfxoki/default.nix
Normal file
|
|
@ -0,0 +1,143 @@
|
||||||
|
{ 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.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
})
|
||||||
11
pkgs/swayfxoki/fix-paths.patch
Normal file
11
pkgs/swayfxoki/fix-paths.patch
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
--- 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;
|
||||||
48
pkgs/swayfxoki/load-configuration-from-etc.patch
Normal file
48
pkgs/swayfxoki/load-configuration-from-etc.patch
Normal file
|
|
@ -0,0 +1,48 @@
|
||||||
|
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