Maybe I should also look in to removing melpa and ensure? I could maybe also remove elpa itself potentially? This way I could make sure that no extra packages are ever installed that are not directly managed through Nix. But then it would be quite annyoing to use my config for someone not using nix. For that purpose I could maybe look in to supporting nix on non-nixos again maybe?
33 lines
694 B
Nix
33 lines
694 B
Nix
{ pkgs, config, ... }:
|
|
|
|
let
|
|
emacs-package = pkgs.emacs30-pgtk;
|
|
in {
|
|
services.emacs = {
|
|
enable = true;
|
|
package = emacs-package;
|
|
socketActivation.enable = true;
|
|
};
|
|
|
|
programs.emacs = {
|
|
enable = true;
|
|
package = emacs-package;
|
|
extraPackages = epkgs: with epkgs; [
|
|
treesit-grammars.with-all-grammars
|
|
vterm
|
|
paredit
|
|
nix-mode
|
|
meson-mode
|
|
rainbow-delimiters
|
|
darktooth-theme
|
|
smex
|
|
amx
|
|
# Why the fuck would you put a '+' in your package's name
|
|
(builtins.getAttr "ido-completing-read+" epkgs)
|
|
no-littering
|
|
treesit-auto
|
|
];
|
|
};
|
|
|
|
home.file."${config.xdg.configHome}/emacs".source = ./emacs.d;
|
|
}
|