diff options
Diffstat (limited to 'overlays/patches/nixpkgs-wayland/pkgs/sway')
4 files changed, 128 insertions, 0 deletions
diff --git a/overlays/patches/nixpkgs-wayland/pkgs/sway/default.nix b/overlays/patches/nixpkgs-wayland/pkgs/sway/default.nix new file mode 100644 index 000000000000..9bc77b0f5b9b --- /dev/null +++ b/overlays/patches/nixpkgs-wayland/pkgs/sway/default.nix @@ -0,0 +1,56 @@ +{ stdenv, fetchFromGitHub, makeWrapper +, meson, ninja +, pkgconfig, scdoc +, wayland, libxkbcommon, pcre, json_c, dbus, libevdev +, pango, cairo, libinput, libcap, pam, gdk-pixbuf +, wlroots, wayland-protocols +}: + +let metadata = import ./metadata.nix; in +stdenv.mkDerivation rec { + pname = "sway-unwrapped"; + version = "${metadata.rev}"; + + src = fetchFromGitHub { + owner = "swaywm"; + repo = "sway"; + rev = metadata.rev; + sha256 = metadata.sha256; + }; + + patches = [ + ./sway-config-no-nix-store-references.patch + ./load-configuration-from-etc.patch + ]; + + postPatch = '' + # replace the version + date="$(date -d '${metadata.revdate}' +'%b %d %Y')" + sed -i "s/\([ \t]\)version: '\(.*\)',/\1version: '\2-${stdenv.lib.substring 0 8 metadata.rev} ($date, branch \\\'${metadata.branch}\\\')',/" meson.build + ''; + + nativeBuildInputs = [ + pkgconfig meson ninja scdoc + ]; + + buildInputs = [ + wayland libxkbcommon pcre json_c dbus libevdev + pango cairo libinput libcap pam gdk-pixbuf + wlroots wayland-protocols + ]; + + enableParallelBuilding = true; + + mesonFlags = [ + "-Ddefault-wallpaper=false" "-Dxwayland=enabled" "-Dgdk-pixbuf=enabled" + "-Dtray=enabled" "-Dman-pages=enabled" + ]; + + meta = with stdenv.lib; { + description = "i3-compatible tiling Wayland compositor"; + homepage = https://swaywm.org; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ primeos synthetica ]; + }; +} diff --git a/overlays/patches/nixpkgs-wayland/pkgs/sway/load-configuration-from-etc.patch b/overlays/patches/nixpkgs-wayland/pkgs/sway/load-configuration-from-etc.patch new file mode 100644 index 000000000000..ba883682e7bb --- /dev/null +++ b/overlays/patches/nixpkgs-wayland/pkgs/sway/load-configuration-from-etc.patch @@ -0,0 +1,43 @@ +From 26f9c65ef037892977a824f0d7d7111066856b53 Mon Sep 17 00:00:00 2001 +From: Michael Weiss <dev.primeos@gmail.com> +Date: Sat, 27 Apr 2019 14:26:16 +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. +--- + meson.build | 3 ++- + sway/config.c | 1 + + 2 files changed, 3 insertions(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 02b5d606..c03a9c0f 100644 +--- a/meson.build ++++ b/meson.build +@@ -129,7 +129,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()) + if git.found() +diff --git a/sway/config.c b/sway/config.c +index 4cd21bbc..dd855753 100644 +--- a/sway/config.c ++++ b/sway/config.c +@@ -317,6 +317,7 @@ static char *get_config_path(void) { + "$XDG_CONFIG_HOME/i3/config", + SYSCONFDIR "/sway/config", + SYSCONFDIR "/i3/config", ++ NIX_SYSCONFDIR "/sway/config", + }; + + char *config_home = getenv("XDG_CONFIG_HOME"); +-- +2.19.2 + diff --git a/overlays/patches/nixpkgs-wayland/pkgs/sway/metadata.nix b/overlays/patches/nixpkgs-wayland/pkgs/sway/metadata.nix new file mode 100644 index 000000000000..463484605992 --- /dev/null +++ b/overlays/patches/nixpkgs-wayland/pkgs/sway/metadata.nix @@ -0,0 +1,8 @@ +{ + repo_git = "https://github.com/swaywm/sway"; + branch = "master"; + upattr = "sway-unwrapped"; + rev = "6991ac8c70869ca19a87cfc173e280cab7ff20d0"; + sha256 = "sha256-LJFnprMblFxmTv782gwCls2X+6qDLD//b6fbuDJ8cTg="; + revdate = "2020-08-11 22:37:11Z"; +} diff --git a/overlays/patches/nixpkgs-wayland/pkgs/sway/sway-config-no-nix-store-references.patch b/overlays/patches/nixpkgs-wayland/pkgs/sway/sway-config-no-nix-store-references.patch new file mode 100644 index 000000000000..009c12959430 --- /dev/null +++ b/overlays/patches/nixpkgs-wayland/pkgs/sway/sway-config-no-nix-store-references.patch @@ -0,0 +1,21 @@ +diff --git a/config.in b/config.in +--- a/config.in ++++ b/config.in +@@ -21,8 +21,8 @@ set $menu dmenu_path | dmenu | xargs swaymsg exec + + ### Output configuration + # +-# Default wallpaper (more resolutions are available in @datadir@/backgrounds/sway/) +-output * bg @datadir@/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill ++# Default wallpaper ++#output * bg ~/.config/sway/backgrounds/Sway_Wallpaper_Blue_1920x1080.png fill + # + # Example configuration: + # +@@ -213,5 +213,3 @@ bar { + inactive_workspace #32323200 #32323200 #5c5c5c + } + } +- +-include @sysconfdir@/sway/config.d/* + |