flake/overlays/default.nix
2024-09-30 23:53:49 +08:00

109 lines
3.9 KiB
Nix

let
addPatches =
pkg: patches:
pkg.overrideAttrs (old: {
patches = (old.patches or [ ]) ++ patches;
});
in
_final: prev: {
# https://aur.archlinux.org/pkgbase/nautilus-typeahead
nautilus = prev.nautilus.overrideAttrs {
src = prev.fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "albertvaka";
repo = "nautilus";
rev = "f5f593bf36c41756a29d5112a10cf7ec70b8eafb";
hash = "sha256-PfkCY2gQ8jfPIgTRC9Xzxh4N3f2oB339Hym5RCbKwkw=";
};
# Enable type-ahead behavior by default
postPatch = ''
awk -i inplace '/type-ahead-search/{c++;} c==1 && /true/{sub("true", "false"); c++;} 1' data/org.gnome.nautilus.gschema.xml
'';
};
# https://www.v2ex.com/t/1076579
sing-box = prev.sing-box.overrideAttrs rec {
version = "1.10.0-beta.11";
src = prev.fetchFromGitHub {
owner = "SagerNet";
repo = "sing-box";
rev = "v${version}";
hash = "sha256-hxOQdrNQB/3KbI1ULDLPfMzFB1JmZb49iPEOtGzWajY=";
};
vendorHash = "sha256-rsgrcVkIMUIobuGFBlDDQM05sljZXShsa1+10xxzmlA=";
};
qt6Packages = prev.qt6Packages.overrideScope (
_final': prev': {
# HACK: no more qt5
fcitx5-with-addons = prev'.fcitx5-with-addons.override {
libsForQt5.fcitx5-qt = prev.emptyDirectory;
};
# HACK: no more qtwebengine, opencc
fcitx5-chinese-addons =
(prev'.fcitx5-chinese-addons.override {
curl = prev.emptyDirectory;
opencc = prev.emptyDirectory;
qtwebengine = prev.emptyDirectory;
}).overrideAttrs
(oldAttrs: {
buildInputs = oldAttrs.buildInputs ++ [
prev.gettext
prev'.qtbase
];
cmakeFlags = oldAttrs.cmakeFlags ++ [
(prev.lib.cmakeBool "ENABLE_BROWSER" false)
(prev.lib.cmakeBool "ENABLE_CLOUDPINYIN" false)
(prev.lib.cmakeBool "ENABLE_OPENCC" false)
];
});
}
);
# HACK: no more gtk2
gnome-themes-extra =
(prev.gnome-themes-extra.override { gtk2 = prev.emptyDirectory; }).overrideAttrs
{ configureFlags = [ "--disable-gtk2-engine" ]; };
sway-unwrapped = addPatches prev.sway-unwrapped [
# text_input: Implement input-method popups
# https://github.com/swaywm/sway/pull/7226
(prev.fetchpatch2 {
name = "0001-text_input-Implement-input-method-popups.patch";
url = "https://github.com/swaywm/sway/commit/de74d1f6360810c0a5fd11d8022fbffe56fc97c5.patch";
hash = "sha256-iTZIYHBp8vxjVdmH/k+jlN0/Zj6Ofe/qefv7ubtowHs=";
})
(prev.fetchpatch2 {
name = "0002-chore-fractal-scale-handle.patch";
url = "https://github.com/swaywm/sway/commit/2aa72e8dfd3b3d051fdec6b2d05c5635adcfb57b.patch";
hash = "sha256-aJYXoZ7xEEy8J8DjxANOe14HdHRni6IXSNcAzLzNvIo=";
})
(prev.fetchpatch2 {
name = "0003-chore-left_pt-on-method-popup.patch";
url = "https://github.com/swaywm/sway/commit/0789c12a8edf46fbc1c7024e153f3e8f8f35fe12.patch";
hash = "sha256-zvhp5eXqDngMNtctzVpryZY3zKi3IVjV7oFIBMC2jMk=";
})
# Tray D-Bus Menu
# https://github.com/swaywm/sway/pull/6249
(prev.fetchpatch2 {
name = "0001-Tray-Implement-dbusmenu.patch";
url = "https://github.com/NickHu/sway/commit/0fc5d7aed84415a77b718ca9dc3c0b3ad2c05b02.patch";
hash = "sha256-eosg6m2P6e8NRXjOAQL3SZg+Yc4Av9Wd+LOy0G3+xkA=";
})
(prev.fetchpatch2 {
name = "0002-Tray-dont-invoke-dbus-menu-when-tray-is-disabled.patch";
url = "https://github.com/NickHu/sway/commit/03c14421354e54332e12f78d029dcaa9919fd161.patch";
hash = "sha256-8RGtpfN/tnkA7nuGdXGHoKUoKVeG7brSQR6V4RU3z88=";
})
(prev.fetchpatch2 {
name = "0003-swaybar-dbusmenu-fix-crash-if-the-program-exits-while-menu.patch";
url = "https://github.com/llyyr/sway/commit/84481c26a4c55674da5804bb2619d3575ba405b3.patch";
hash = "sha256-+JJoHNOmDzqT1TaFM83DR3/BdCab240tfs21VNMv6wE=";
})
];
}