138 lines
3.9 KiB
Nix
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;
|
|
};
|
|
};
|
|
}
|