about summary refs log tree commit diff
path: root/modules
diff options
context:
space:
mode:
authoraszlig <aszlig@nix.build>2022-10-06 20:20:58 +0200
committeraszlig <aszlig@nix.build>2022-10-06 20:25:33 +0200
commit7aa89c91f34c0acf4fe6dc62cf6387a12698853f (patch)
tree8bda5a9c6ab4efff8c73311f5897629c347df296 /modules
parent30f1c24da19990374fe2a54388b03a77d3fcfda7 (diff)
profiles/base: Add fix for i3 config validation
Quoting from https://github.com/i3/i3/pull/5173:

  A bug was introduced in https://github.com/i3/i3/pull/5118 in which
  configs with bar blocks will segfault during validation. They were
  copying the i3 font which is not set during validation. This PR simply
  checks that the load_type is not validated before copying the font.

This fixes the Hydra build for the i3 configuration on my machines.

Signed-off-by: aszlig <aszlig@nix.build>
Diffstat (limited to 'modules')
-rw-r--r--modules/user/aszlig/profiles/base.nix14
1 files changed, 12 insertions, 2 deletions
diff --git a/modules/user/aszlig/profiles/base.nix b/modules/user/aszlig/profiles/base.nix
index 681a044a..36004121 100644
--- a/modules/user/aszlig/profiles/base.nix
+++ b/modules/user/aszlig/profiles/base.nix
@@ -66,7 +66,7 @@ in {
       allowBroken = true;
     };
 
-    nixpkgs.overlays = lib.singleton (lib.const (super: {
+    nixpkgs.overlays = lib.singleton (self: super: {
       netrw = super.netrw.override {
         checksumType = "mhash";
       };
@@ -78,7 +78,17 @@ in {
       w3m = super.w3m.override {
         graphicsSupport = true;
       };
-    }));
+
+      # Fix for segfault during config validation:
+      # https://github.com/i3/i3/pull/5173
+      i3 = super.i3.overrideAttrs (drv: {
+        patches = lib.singleton (self.fetchpatch {
+          url = "https://github.com/i3/i3/commit/"
+              + "d0ef4000e9f49d2ef33d6014a4b61339bb787363.patch";
+          hash = "sha256-Njdl/XnBypxg2Ytk/phxVfYhdnJHgDshLo9pTYk5o2I";
+        });
+      });
+    });
 
     system.fsPackages = with pkgs; [ sshfs-fuse ];
     time.timeZone = "Europe/Berlin";