tvl-depot/third_party/overlays/tvl.nix
Vincent Ambo 35e7b8a1a8 subtree(3p/exwm): update & hard reset to commit 'a6e66f5e33'
This contains a bunch of upstream changes after the new maintainers of
EXWM took over, including proper mainlined versions of patches I've
been carrying around here manually.

Notably this undoes the Chromium focus fix patch, lets see how that goes.

git-subtree-dir: third_party/exwm
git-subtree-mainline: a756b46bc70a8a1dbb205d50283a3fe65282ed91
git-subtree-split: a6e66f5e33
Change-Id: Ibcaba379b56611b8f1918c3b60469492d64a3eb7
2024-02-06 10:52:55 +03:00

153 lines
4.9 KiB
Nix

# This overlay is used to make TVL-specific modifications in the
# nixpkgs tree, where required.
{ lib, depot, localSystem, ... }:
self: super:
depot.nix.readTree.drvTargets {
nix_2_3 = (super.nix_2_3.override {
# flaky tests, long painful build, see https://github.com/NixOS/nixpkgs/pull/266443
withAWS = false;
});
nix = self.nix_2_3;
nix_latest = super.nix.override ({
# flaky tests, long painful build, see https://github.com/NixOS/nixpkgs/pull/266443
withAWS = false;
});
# To match telega in emacs-overlay or wherever
tdlib = super.tdlib.overrideAttrs (_: {
version = "1.8.23";
src = self.fetchFromGitHub {
owner = "tdlib";
repo = "td";
rev = "27c3eaeb4964bd5f18d8488e354abde1a4383e49";
sha256 = "14f65dfmg2p5hyvi3lffvvazwcd3i3jrrw3c2pwrc5yfgxk3662g";
};
});
home-manager = super.home-manager.overrideAttrs (_: {
src = depot.third_party.sources.home-manager;
version = "git-"
+ builtins.substring 0 7 depot.third_party.sources.home-manager.rev;
});
# Add our Emacs packages to the fixpoint
emacsPackagesFor = emacs: (
(super.emacsPackagesFor emacs).overrideScope' (eself: esuper: {
tvlPackages = depot.tools.emacs-pkgs // depot.third_party.emacs;
# Use the notmuch from nixpkgs instead of from the Emacs
# overlay, to avoid versions being out of sync.
notmuch = super.notmuch.emacs;
# Build EXWM with the depot sources instead.
depotExwm = eself.callPackage depot.third_party.exwm.override { };
# Workaround for magit checking the git version at load time
magit = esuper.magit.overrideAttrs (_: {
propagatedNativeBuildInputs = [
self.git
];
});
# Pin xelb to a newer one until the new maintainers do a release.
xelb = eself.trivialBuild {
pname = "xelb";
version = "0.19-dev"; # invented version, last actual release was 0.18
src = self.fetchFromGitHub {
owner = "emacs-exwm";
repo = "xelb";
rev = "86089eba2de6c818bfa2fac075cb7ad876262798";
sha256 = "1mmlrd2zpcwiv8gh10y7lrpflnbmsycdascrxjr3bfcwa8yx7901";
};
};
})
);
# dottime support for notmuch
notmuch = super.notmuch.overrideAttrs (old: {
passthru = old.passthru // {
patches = old.patches ++ [ ./patches/notmuch-dottime.patch ];
};
});
# nix-serve does not work with nix 2.4
# https://github.com/edolstra/nix-serve/issues/28
nix-serve = super.nix-serve.override { nix = self.nix_2_3; };
# Avoid builds of mkShell derivations in CI.
mkShell = super.lib.makeOverridable (args: (super.mkShell args).overrideAttrs (_: {
passthru = {
meta.ci.skip = true;
};
}));
crate2nix = super.rustPlatform.buildRustPackage rec {
pname = "crate2nix";
version = "0.13.0";
src = super.fetchFromGitHub {
owner = "nix-community";
repo = "crate2nix";
rev = "ceb06eb7e76afb9e01a5f069aae136f97df72730";
hash = "sha256-JTMe8GViCQt51WUiaaoIPmWtwEeeYrl6pBxo2DNuKig=";
};
patches = [ ./patches/crate2nix-run-tests-in-build-source.patch ];
sourceRoot = "${src.name}/crate2nix";
cargoHash = "sha256-dhlSXY1CJE+JJt+6Y7W1MVMz36nwr6ny543py1TcjyY=";
nativeBuildInputs = [ super.makeWrapper ];
# Tests use nix(1), which tries (and fails) to set up /nix/var inside the
# sandbox
doCheck = false;
postFixup = ''
wrapProgram $out/bin/crate2nix \
--suffix PATH ":" ${lib.makeBinPath (with self; [ cargo nix_latest nix-prefetch-git ])}
rm -rf $out/lib $out/bin/crate2nix.d
mkdir -p \
$out/share/bash-completion/completions \
$out/share/zsh/vendor-completions
$out/bin/crate2nix completions -s 'bash' -o $out/share/bash-completion/completions
$out/bin/crate2nix completions -s 'zsh' -o $out/share/zsh/vendor-completions
'';
};
evans = super.evans.overrideAttrs (old: {
patches = old.patches or [ ] ++ [
# add support for unix domain sockets
# https://github.com/ktr0731/evans/pull/680
./patches/evans-add-support-for-unix-domain-sockets.patch
];
});
# Package gerrit-queue, which is not in nixpkgs yet
gerrit-queue = super.buildGoModule {
pname = "gerrit-queue";
version = "unstable-2023-10-20";
vendorHash = "sha256-+Ig4D46NphzpWKXO23Haea9EqVtpda8v9zLPJkbe3bQ=";
src = super.fetchFromGitHub {
owner = "flokli";
repo = "gerrit-queue";
rev = "0186dbde15c9b11dc17b422feb74c842f6fa605a";
hash = "sha256-zXB5vre/Vr7UOyeMnf2RCtMKm+v5RENH7kGPr/2o7mI=";
};
meta = with lib; {
description = "Gerrit submit bot";
homepage = "https://github.com/tweag/gerrit-queue";
license = licenses.asl20;
};
};
# OpenVPN + TPM2 is broken on versions of this package somewhere
# after 1.8.0, but it is a critical dependency for tazjin. For this
# reason it is vendored from a specific nixpkgs commit.
tpm2-pkcs11 = self.callPackage ./patches/tpm2-pkcs11.nix { };
}