94 lines
2 KiB
Nix
94 lines
2 KiB
Nix
{ pkgs, lib, ... }:
|
|
let
|
|
swiftTreeSitterGrammar = pkgs.tree-sitter-grammars.tree-sitter-swift;
|
|
swiftTreeSitterLibraryName =
|
|
if pkgs.stdenv.hostPlatform.isDarwin then
|
|
"libtree-sitter-swift.dylib"
|
|
else
|
|
"libtree-sitter-swift.so";
|
|
in
|
|
{
|
|
home.file.".emacs.d/early-init.el".source = ./config/early-init.el;
|
|
home.file.".emacs.d/tree-sitter/${swiftTreeSitterLibraryName}".source =
|
|
"${swiftTreeSitterGrammar}/parser";
|
|
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 (import ./pkgs { inherit pkgs; });
|
|
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
|
|
swift-ts-mode
|
|
super-save
|
|
terraform-mode
|
|
treesit-auto
|
|
ob-typescript
|
|
yaml-mode
|
|
vterm
|
|
fontaine
|
|
magit
|
|
magit-todos
|
|
marginalia
|
|
modus-themes
|
|
nix-mode
|
|
vertico
|
|
winpulse
|
|
yasnippet
|
|
];
|
|
};
|
|
}
|