diff --git a/machines/Lilim/options.nix b/machines/Lilim/options.nix index b23b076..8c906dc 100644 --- a/machines/Lilim/options.nix +++ b/machines/Lilim/options.nix @@ -19,30 +19,33 @@ with lib; ]; pkgs = [ "base" + "cpp" "dict" "emacs" - "emacs::doom-themes" - "emacs::doom-modeline" - # "emacs::solarized-theme" "emacs::company" - "emacs::flyspell" + "emacs::doom-modeline" + "emacs::doom-themes" + "emacs::elpy" "emacs::flycheck" - # "emacs::powerline" - "emacs::nix-mode" + "emacs::flyspell" + "emacs::latex" "emacs::magit" "emacs::mu4e" + "emacs::nix-mode" "emacs::org" - "emacs::elpy" + "emacs::fcitx" "emacs::transmission" -# "emacs::rust" -# "emacs::lsp" + "emacs::web-mode" "extra" - "cpp" "haskell" "mail_utils" "python3" "rustpkgs" "xpkgs" + # "emacs::lsp" + # "emacs::powerline" + # "emacs::rust" + # "emacs::solarized-theme" ]; services = [ "desktop" diff --git a/pkgs/pkgsets/emacs/fcitx.nix b/pkgs/pkgsets/emacs/fcitx.nix new file mode 100644 index 0000000..36b2bad --- /dev/null +++ b/pkgs/pkgsets/emacs/fcitx.nix @@ -0,0 +1,16 @@ +{ config, lib, ... }: + +with lib; + +mkIf (elem "emacs::fcitx" config.machine.pkgs) { + programs.emacs.init.usePackage = { + fcitx = { + enable = true; + demand = true; + config = '' + ;; (setq fcitx-use-dbus t) + (fcitx-default-setup) + ''; + }; + }; +} diff --git a/pkgs/pkgsets/emacs/latex.nix b/pkgs/pkgsets/emacs/latex.nix new file mode 100644 index 0000000..756d075 --- /dev/null +++ b/pkgs/pkgsets/emacs/latex.nix @@ -0,0 +1,27 @@ +{ config, lib, pkgs, ... }: + +with lib; + +mkIf (elem "emacs::latex" config.machine.pkgs) { + programs.emacs.init.usePackage = { + latex-mode = { + enable = true; + package = epkgs: null; + defer = true; + }; + + tex-site = { + enable = true; + defer = true; + package = epkgs: epkgs.auctex; + hook = []; + mode = [ ''("\\.tex\\'" . TeX-latex-mode)'' ]; + }; + + preview = { + enable = true; + defer = true; + package = epkgs: epkgs.auctex; + }; + }; +} diff --git a/pkgs/pkgsets/emacs/web-mode.nix b/pkgs/pkgsets/emacs/web-mode.nix new file mode 100644 index 0000000..7f6d28e --- /dev/null +++ b/pkgs/pkgsets/emacs/web-mode.nix @@ -0,0 +1,25 @@ +{ config, lib, ... }: + +with lib; + +mkIf (elem "emacs::web-mode" config.machine.pkgs) { + programs.emacs.init.usePackage.web-mode = { + enable = true; + mode = [ + ''("\\.html?\\'" . web-mode)'' + ''("\\.phtml\\'" . web-mode)'' + ''("\\.tpl\\.php\\'" . web-mode)'' + ''("\\.[agj]sp\\'" . web-mode)'' + ''("\\.as[cp]x\\'" . web-mode)'' + ''("\\.erb\\'" . web-mode)'' + ''("\\.mustache\\'" . web-mode)'' + ''("\\.djhtml\\'" . web-mode)'' + ]; + config = '' + (setq web-mode-engines-alist + '(("php" . "\\.phtml\\'") + ("blade" . "\\.blade\\.")) + ) + ''; + }; +}