{ config, lib, pkgs, ... }: { options.my.emacs.enable = lib.mkEnableOption "enable"; config = lib.mkIf config.my.emacs.enable { users.users.jawz.packages = with pkgs; ([ fd # modern find, faster searches fzf # fuzzy finder! super cool and useful ripgrep # modern grep tree-sitter # code parsing based on symbols and shit, I do not get it graphviz # graphs tetex # export pdf languagetool # proofreader for English # doom everywhere xorg.xwininfo xdotool xclip ]); services.emacs = { enable = true; package = with pkgs; ((emacsPackagesFor emacs-gtk).emacsWithPackages (epkgs: with epkgs; ([ vterm ]))); defaultEditor = true; }; home-manager.users.jawz.programs.bash.initExtra = '' emacs-sqlite-fix () { nix-shell -p cmake sqlite --command "doom sync && sc restart emacs && emacsclient -e '(org-roam-db-sync)'" && doom sync } ''; }; }