Files
2026-09-16 23:38:22 -04:00

138 lines
3.9 KiB
Nix

{
config,
lib,
pkgs,
...
}:
{
config = lib.mkIf (config.jfrikker.enable && config.jfrikker.desktop.enable) {
programs.emacs = {
enable = true;
extraPackages =
epkgs: with epkgs; [
ace-window
age
apheleia
avy
buffer-terminator
cape
catppuccin-theme
(epkgs.trivialBuild {
pname = "claude-code";
version = "0.4.5";
src = pkgs.fetchFromGitHub {
owner = "stevemolitor";
repo = "claude-code.el";
rev = "03199df8b3a1e9cd4857f0851f7a912ba524aff3";
sha256 = "sha256-5QJrWIu4EgnHcOqMwlrs2JBBx7aI9OaSJswesr6Apfk=";
};
packageRequires = [ epkgs.inheritenv ];
})
consult
consult-eglot
consult-gh
corfu
diff-hl
doom-modeline
eat
edit-indirect
embark
embark-consult
envrc
forge
free-keys
git-timemachine
god-mode
graphql-ts-mode
haskell-ts-mode
jenkinsfile-mode
jq-mode
ligature
(lispy.overrideAttrs {
packageRequires = [
ace-window
iedit
swiper
zoutline
hydra
];
ignoreCompilationError = true;
})
ledger-mode
lua-mode
magit
marginalia
mixed-pitch
nix-mode
orderless
org-modern
org-present
org-roam
pnpm-mode
popper
prisma-ts-mode
rust-mode
sly
sly-macrostep
sql-indent
string-inflection
tree-sitter
(treesit-grammars.with-grammars (g: [
g.tree-sitter-bash
g.tree-sitter-commonlisp
g.tree-sitter-css
g.tree-sitter-dockerfile
g.tree-sitter-dot
g.tree-sitter-elisp
g.tree-sitter-graphql
g.tree-sitter-gitcommit
g.tree-sitter-gitignore
g.tree-sitter-haskell
g.tree-sitter-html
g.tree-sitter-java
g.tree-sitter-javascript
g.tree-sitter-jq
g.tree-sitter-json
g.tree-sitter-json5
g.tree-sitter-just
g.tree-sitter-ledger
g.tree-sitter-llvm
g.tree-sitter-make
g.tree-sitter-nginx
g.tree-sitter-nix
g.tree-sitter-org
g.tree-sitter-php
g.tree-sitter-prisma
g.tree-sitter-python
g.tree-sitter-rust
g.tree-sitter-rust-format-args
g.tree-sitter-scss
g.tree-sitter-sql
g.tree-sitter-toml
g.tree-sitter-tsx
g.tree-sitter-typescript
g.tree-sitter-xml
g.tree-sitter-yaml
]))
verb
vertico
visual-fill-column
yaml-pro
];
extraConfig = ''
(defvar my-base-font-size ${if pkgs.stdenv.isDarwin then "130" else "100"})
(require 'catppuccin-theme)
(setopt catppuccin-flavor 'frappe)
(load-theme 'catppuccin :no-confirm)
;; (set-face-attribute 'default nil :font "JetBrainsMono Nerd Font" :height 130)
;; (set-face-attribute 'fixed-pitch nil :font "JetBrainsMono Nerd Font" :height 130)
(set-face-attribute 'default nil :font "Iosevka Term SS14" :height my-base-font-size)
(set-face-attribute 'fixed-pitch nil :font "Iosevka Term SS14" :height my-base-font-size)
(set-face-attribute 'variable-pitch nil :font "Iosevka Etoile" :height my-base-font-size)
''
+ builtins.readFile ./emacs.el;
};
};
}