34 lines
820 B
Nix
34 lines
820 B
Nix
|
{ inputs, config, lib, pkgs, ... }:
|
||
|
# TODO Still need the following dependecies
|
||
|
# - Language tools (grammer)
|
||
|
let cfg = config.application.emacs;
|
||
|
in with lib; {
|
||
|
options = {
|
||
|
application.emacs = {
|
||
|
enable = mkOption {
|
||
|
default = true;
|
||
|
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
|
||
|
];
|
||
|
};
|
||
|
};
|
||
|
}
|