dotfiles/flakes/emacs/home.nix
2026-03-21 15:17:14 +01:00

117 lines
2.8 KiB
Nix

{ pkgs, lib, ... }:
{
home.file.".emacs.d/early-init.el".source = ./config/early-init.el;
home.file.".emacs.d/tree-sitter/libtree-sitter-swift.dylib".source = ./config/tree-sitter/libtree-sitter-swift.dylib;
home.file.".emacs.d/snippets".source = ./config/snippets;
programs.emacs = {
enable = true;
extraConfig = builtins.readFile ./config/init.el +
builtins.readFile ./config/lisp/utils.el;
extraPackages = epkgs:
let
myEpkgs = epkgs.overrideScope (final: prev: {
shell-maker = prev.shell-maker.overrideAttrs (_: {
version = "0.90.1";
src = pkgs.fetchFromGitHub {
owner = "xenodium";
repo = "shell-maker";
rev = "55f829d179608a3c4b11e86427713d5be7c4bb58";
hash = "sha256-tFzyVXxgrR6LOPUhX4MgJNLy3PX+pwprjdYi+IZXr+E=";
};
});
agent-shell = final.melpaBuild {
pname = "agent-shell";
ename = "agent-shell";
version = "0.47.3";
src = pkgs.fetchFromGitHub {
owner = "xenodium";
repo = "agent-shell";
rev = "v0.50.1";
hash = "sha256-y3WKd7w9zNebNlP3phMLmMbrFd+MHqwwJH/dUP6VSlo=";
};
packageRequires = with final; [
acp
shell-maker
];
meta = {
homepage = "https://github.com/xenodium/agent-shell";
description = "Native agentic integrations for Claude Code, Gemini CLI, etc";
};
};
});
in
with myEpkgs; [
agent-shell
apheleia
avy
cape
cider
clojure-mode
consult
consult-denote
copilot
corfu
denote
diff-hl
dockerfile-mode
ef-themes
eglot
envrc
exec-path-from-shell
flycheck
flycheck-clj-kondo
flycheck-swiftlint
flymake-collection
graphql-mode
helpful
htmlize
jinx
js2-mode
json-mode
ledger-mode
ligature
markdown-mode
minions
multiple-cursors
nerd-icons
nerd-icons-completion
nerd-icons-corfu
nerd-icons-dired
nerd-icons-ibuffer
ob-restclient
ob-swift
olivetti
orderless
org
org-modern
ox-gfm
ox-reveal
pulsar
rainbow-delimiters
rainbow-mode
restclient
smartparens
swift-mode
super-save
terraform-mode
treesit-auto
ob-typescript
yaml-mode
vterm
fontaine
magit
magit-todos
marginalia
modus-themes
nix-mode
vertico
winpulse
yasnippet
];
};
}