dotfiles/flakes/emacs/home.nix
2025-07-31 13:49:55 +02:00

109 lines
2.5 KiB
Nix

{ pkgs, ... }:
{
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: (with epkgs; [
ace-window
apheleia
avy
cape
cider
clojure-mode
consult
(trivialBuild {
pname = "copilot";
version = "master-12-28-2024";
src = pkgs.fetchFromGitHub {
owner = "copilot-emacs";
repo = "copilot.el";
rev = "c5dfa99f05878db5e6a6a378dc7ed09f11e803d4";
hash = "sha256-FzI08AW7a7AleEM7kSQ8LsWsDYID8SW1SmSN6/mIB/A=";
};
packageRequires = [
editorconfig
dash
f
jsonrpc
];
})
corfu
dockerfile-mode
ef-themes
eglot
envrc
exec-path-from-shell
flycheck
flycheck-clj-kondo
flycheck-swiftlint
(trivialBuild {
pname = "gptel";
version = "master-09-29-2024";
src = pkgs.fetchFromGitHub {
owner = "karthink";
repo = "gptel";
rev = "2b9398a7b3bb2a66f52a8d0b1fdc3f311b2c1a3d";
hash = "sha256-+CxSA9QmyKigbk8kB5N6kKZ/a5Tw0X4ym57AOoqYA4Y=";
};
})
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
(trivialBuild {
pname = "swift-ts-mode";
version = "main-07-05-2024";
src = pkgs.fetchFromGitHub {
owner = "rechsteiner";
repo = "swift-ts-mode";
rev = "5e198d306bd4d49e4dddab39195fe99e1caf8892";
hash = "sha256-c7AAFuaDbufMpzJtJ2PbRRXFJmo1y4L50T0idzxrvao=";
};
})
super-save
treesit-auto
ob-typescript
yaml-mode
vterm
fontaine
magit
magit-todos
marginalia
modus-themes
nix-mode
vertico
yasnippet
]);
};
}