fix packaging for darwin

This commit is contained in:
Mars 2024-08-13 00:56:54 -04:00
parent 8a269b52e9
commit 40d6599358
Signed by: pupbrained
GPG key ID: 0FF5B8826803F895

View file

@ -2,7 +2,36 @@
with pkgs; with pkgs;
emacsWithPackagesFromUsePackage { emacsWithPackagesFromUsePackage {
config = ./init.el; config = ./init.el;
package = pkgs.emacs29; package =
if pkgs.stdenv.isDarwin
then
emacs29-pgtk.overrideAttrs (old: {
patches =
(old.patches or [])
++ [
# Fix OS window role (needed for window managers like yabai)
(fetchpatch {
url = "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-28/fix-window-role.patch";
sha256 = "0c41rgpi19vr9ai740g09lka3nkjk48ppqyqdnncjrkfgvm2710z";
})
# Use poll instead of select to get file descriptors
(fetchpatch {
url = "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-29/poll.patch";
sha256 = "0j26n6yma4n5wh4klikza6bjnzrmz6zihgcsdx36pn3vbfnaqbh5";
})
# Enable rounded window with no decoration
(fetchpatch {
url = "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-29/round-undecorated-frame.patch";
sha256 = "0x187xvjakm2730d1wcqbz2sny07238mabh5d97fah4qal7zhlbl";
})
# Make Emacs aware of OS-level light/dark mode
(fetchpatch {
url = "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-28/system-appearance.patch";
sha256 = "14ndp2fqqc95s70fwhpxq58y8qqj4gzvvffp77snm2xk76c1bvnn";
})
];
})
else pkgs.emacs29-pgtk;
defaultInitFile = true; defaultInitFile = true;