51 lines
993 B
Nix
51 lines
993 B
Nix
{
|
|
config,
|
|
pkgs,
|
|
lib,
|
|
inputs,
|
|
...
|
|
}:
|
|
let
|
|
inherit (inputs) nixpkgs emacs-overlay spacemacs;
|
|
inherit (pkgs) system;
|
|
cfg = config.david.programs.spacemacs;
|
|
pkgs' = import nixpkgs {
|
|
inherit system;
|
|
overlays = [ emacs-overlay.overlays.default ];
|
|
};
|
|
in
|
|
{
|
|
options = {
|
|
david.programs.spacemacs = {
|
|
enable = lib.mkEnableOption "spacemacs";
|
|
};
|
|
};
|
|
config = lib.mkIf cfg.enable {
|
|
stylix.targets.emacs.enable = false;
|
|
xdg.configFile = {
|
|
emacs = {
|
|
source = "${spacemacs}";
|
|
recursive = true;
|
|
};
|
|
};
|
|
programs.emacs = {
|
|
enable = true;
|
|
package =
|
|
with pkgs';
|
|
(emacsPackagesFor emacs-pgtk).emacsWithPackages (epkgs: [
|
|
git
|
|
gnutar
|
|
ripgrep
|
|
]);
|
|
};
|
|
services.emacs = {
|
|
client = {
|
|
enable = true;
|
|
};
|
|
defaultEditor = false;
|
|
enable = true;
|
|
socketActivation.enable = true;
|
|
startWithUserSession = true;
|
|
};
|
|
};
|
|
}
|