dotfiles/nix/home-manager/modules/emacs/default.nix

52 lines
1.4 KiB
Nix
Raw Normal View History

{ pkgs, config, lib, ... }:
with lib;
let
cfg = config.magic_rb.programs.emacs;
inherit (config.magic_rb.pkgs) nixpkgs;
in
{
options.magic_rb.programs.emacs = {
enable = mkEnableOption "Enable emacs with my config";
package = mkOption {
description = "Which emacs package to use.";
type = types.package;
default =
(nixpkgs.magic_rb.emacs.override
{ march = config.magic_rb.optimisation.march;
hunspell.enable = true;
hunspell.dictionaries = with pkgs.hunspellDicts;
[ en_US ];
}).bundle;
};
};
config = mkIf cfg.enable {
home.packages = with pkgs; [
cfg.package
fira-code
(iosevka-bin.override { variant = "aile"; })
(iosevka-bin.override { variant = "etoile"; })
(iosevka-bin.override { variant = ""; })
emacs-all-the-icons-fonts
];
home.activation.emacsStraightVerions = config.lib.dag.entryAfter
["writeBoundary"] ''
mkdir -p ~/.emacs.d/straight/versions
ln -sfn ~/dotfiles/nix/home-manager/modules/emacs/straight-versions.el ~/.emacs.d/straight/versions/default.el
'';
home.file = {
".emacs".source = ./.emacs;
".emacs.d/org" = {
source = ./.emacs.d/org;
recursive = true;
};
".emacs.d/lisp" = {
source = ./.emacs.d/lisp;
recursive = true;
};
};
};
}