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

43 lines
1 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;
};
};
config = mkIf cfg.enable {
home.packages = with pkgs; [
cfg.package
fira-code
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;
};
};
};
}