nixmacs/config/default.nix

63 lines
2.1 KiB
Nix
Raw Normal View History

2024-08-12 23:29:44 -04:00
{pkgs, ...}:
2024-08-15 01:18:37 -04:00
with pkgs; let
sources = import ../_sources/generated.nix {inherit (pkgs) fetchurl fetchFromGitHub fetchgit dockerTools;};
in
2024-08-12 23:29:44 -04:00
emacsWithPackagesFromUsePackage {
2024-08-13 13:58:32 -04:00
config = ./init.org;
defaultInitFile = true;
2024-08-13 00:56:54 -04:00
package =
if pkgs.stdenv.isDarwin
then
emacs29-pgtk.overrideAttrs (old: {
patches =
(old.patches or [])
++ [
# Fix OS window role (needed for window managers like yabai)
2024-08-15 01:18:37 -04:00
(sources.fix-window-role.src)
2024-08-13 00:56:54 -04:00
# 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;
2024-08-12 23:29:44 -04:00
alwaysEnsure = true;
alwaysTangle = true;
2024-08-13 00:54:31 -04:00
extraEmacsPackages = epkgs:
2024-08-13 13:58:32 -04:00
with epkgs;
[
treemacs
treemacs-evil
]
++ lib.optionals stdenv.isDarwin [
ns-auto-titlebar
];
2024-08-13 00:54:31 -04:00
2024-08-12 23:29:44 -04:00
override = epkgs:
epkgs
// {
sideline-eglot = callPackage ./extraPackages/sideline-eglot.nix {
2024-08-15 00:18:15 -04:00
inherit sources;
2024-08-12 23:29:44 -04:00
inherit (epkgs) trivialBuild sideline;
};
2024-08-15 00:18:15 -04:00
intuitive-tab-line = callPackage ./extraPackages/intuitive-tab-line.nix {
inherit sources;
inherit (epkgs) trivialBuild;
};
2024-08-12 23:29:44 -04:00
};
}