36 lines
866 B
Nix
36 lines
866 B
Nix
{ inputs, config, lib, pkgs, ... }:
|
|
# TODO Still need the following dependecies
|
|
# - Language tools (grammer)
|
|
let
|
|
cfg = config.application.emacs;
|
|
graphical = config.graphical;
|
|
in with lib; {
|
|
options = {
|
|
application.emacs = {
|
|
enable = mkOption {
|
|
default = graphical.enable;
|
|
type = with types; bool;
|
|
description = "Insert joke about emacs is an operating system.";
|
|
};
|
|
};
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
nixpkgs.overlays = [ inputs.emacs-overlay.overlay ];
|
|
home-manager.users.james = {
|
|
programs.emacs = {
|
|
package = pkgs.emacsGcc;
|
|
enable = true;
|
|
extraPackages = epkgs: [ epkgs.vterm ];
|
|
};
|
|
|
|
home.packages = with pkgs; [
|
|
(aspellWithDicts (dicts: with dicts; [ en en-computers en-science ]))
|
|
ripgrep
|
|
sqlite
|
|
wordnet
|
|
];
|
|
};
|
|
};
|
|
}
|