{ lib, mylib, ... }: with lib; with mylib.modules; { enable = mkEnableOpt "Emacs module"; # TODO: Use an enum for this not individual options nixpkgs = mkBoolOpt false "Use Emacs from the official repositories"; nativeComp = mkBoolOpt false "Use Emacs 28.x branch with native comp support"; pgtkNativeComp = mkBoolOpt false "Use Emacs 29.x branch with native comp and pure gtk support"; doom = { enable = mkEnableOpt "Doom Emacs framework"; autoSync = mkBoolOpt false "Sync Doom Emacs on nixos-rebuild"; autoUpgrade = mkBoolOpt false "Upgrade Doom Emacs on nixos-rebuild"; }; }