diff --git a/_sources/generated.json b/_sources/generated.json index f9a7dd6..d2741c2 100644 --- a/_sources/generated.json +++ b/_sources/generated.json @@ -12,7 +12,7 @@ "type": "url", "url": "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-28/fix-window-role.patch" }, - "version": "0.1.0" + "version": "latest" }, "intuitive-tab-line": { "cargoLocks": null, @@ -34,6 +34,36 @@ }, "version": "7af75e46bbb22927e53df8d3664e1873234416f5" }, + "poll": { + "cargoLocks": null, + "date": null, + "extract": null, + "name": "poll", + "passthru": null, + "pinned": false, + "src": { + "name": null, + "sha256": "sha256-BS6srFt72GtGb5o9GL/5NX8rl1F/RjoJ5MUSVb2xRkg=", + "type": "url", + "url": "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-29/poll.patch" + }, + "version": "latest" + }, + "round-undecorated-frame": { + "cargoLocks": null, + "date": null, + "extract": null, + "name": "round-undecorated-frame", + "passthru": null, + "pinned": false, + "src": { + "name": null, + "sha256": "sha256-dFH4D1WYQOVOagUuVdEQB3irxV+Y8dDAOKJOJXc/KHQ=", + "type": "url", + "url": "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-29/round-undecorated-frame.patch" + }, + "version": "latest" + }, "sideline-eglot": { "cargoLocks": null, "date": "2024-08-05", @@ -53,5 +83,20 @@ "type": "github" }, "version": "d7fbb9e13edbe5b9b9de464c8dabb8b0014de78e" + }, + "system-appearance": { + "cargoLocks": null, + "date": null, + "extract": null, + "name": "system-appearance", + "passthru": null, + "pinned": false, + "src": { + "name": null, + "sha256": "sha256-1u4VmDmzi2r1Ode5vf8jEmPkUcH9Qu7A0SUxjJ24zZI=", + "type": "url", + "url": "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-28/system-appearance.patch" + }, + "version": "latest" } } \ No newline at end of file diff --git a/_sources/generated.nix b/_sources/generated.nix index b9a20a8..3efa9e8 100644 --- a/_sources/generated.nix +++ b/_sources/generated.nix @@ -3,7 +3,7 @@ { fix-window-role = { pname = "fix-window-role"; - version = "0.1.0"; + version = "latest"; src = fetchurl { url = "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-28/fix-window-role.patch"; sha256 = "sha256-H4Qj6n5uZsmsbdjjexGZctqhJk3gAXKiSnmnEO/LgTA="; @@ -21,6 +21,22 @@ }; date = "2024-07-13"; }; + poll = { + pname = "poll"; + version = "latest"; + src = fetchurl { + url = "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-29/poll.patch"; + sha256 = "sha256-BS6srFt72GtGb5o9GL/5NX8rl1F/RjoJ5MUSVb2xRkg="; + }; + }; + round-undecorated-frame = { + pname = "round-undecorated-frame"; + version = "latest"; + src = fetchurl { + url = "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-29/round-undecorated-frame.patch"; + sha256 = "sha256-dFH4D1WYQOVOagUuVdEQB3irxV+Y8dDAOKJOJXc/KHQ="; + }; + }; sideline-eglot = { pname = "sideline-eglot"; version = "d7fbb9e13edbe5b9b9de464c8dabb8b0014de78e"; @@ -33,4 +49,12 @@ }; date = "2024-08-05"; }; + system-appearance = { + pname = "system-appearance"; + version = "latest"; + src = fetchurl { + url = "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-28/system-appearance.patch"; + sha256 = "sha256-1u4VmDmzi2r1Ode5vf8jEmPkUcH9Qu7A0SUxjJ24zZI="; + }; + }; } diff --git a/config/default.nix b/config/default.nix index c96194f..ea50e17 100644 --- a/config/default.nix +++ b/config/default.nix @@ -8,30 +8,22 @@ in package = if pkgs.stdenv.isDarwin - then - emacs29-pgtk.overrideAttrs (old: { - patches = - (old.patches or []) - ++ [ - # Fix OS window role (needed for window managers like yabai) - (sources.fix-window-role.src) - # 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"; - }) - ]; - }) + then emacs29-pgtk.overrideAttrs (old: let + getPatch = name: sources.${name}.src; + in { + patches = + (old.patches or []) + ++ [ + # Fix OS window role (needed for window managers like yabai) + (getPatch "fix-window-role") + # Use poll instead of select to get file descriptors + (getPatch "poll") + # Enable rounded window with no decoration + (getPatch "round-undecorated-frame") + # Make Emacs aware of OS-level light/dark mode + (getPatch "system-appearance") + ]; + }) else pkgs.emacs29-pgtk; alwaysEnsure = true; diff --git a/nvfetcher.toml b/nvfetcher.toml index 9c6b6d3..b8eca44 100644 --- a/nvfetcher.toml +++ b/nvfetcher.toml @@ -8,4 +8,16 @@ fetch.github = "thread314/intuitive-tab-line-mode" [fix-window-role] src.manual = "latest" -fetch.url = "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-28/fix-window-role.patch" \ No newline at end of file +fetch.url = "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-28/fix-window-role.patch" + +[poll] +src.manual = "latest" +fetch.url = "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-29/poll.patch" + +[round-undecorated-frame] +src.manual = "latest" +fetch.url = "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-29/round-undecorated-frame.patch" + +[system-appearance] +src.manual = "latest" +fetch.url = "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-28/system-appearance.patch" \ No newline at end of file