Files
azos/home-manager/suites/base/emacs/default.nix
T

53 lines
1.2 KiB
Nix

{ lib, config, pkgs, azos-utils, ... }:
let
isEnabled =
config.azos.emacs.enable && config.azos.suites.base.enable;
emacspkgs = config.azos.emacs.emacspkg.pkgs;
in
{
options.azos.emacs.enable = (azos-utils.mkFeatureEnableOption {});
options.azos.emacs.emacspkg = lib.mkOption{
type = lib.types.package;
default = pkgs.emacs;
};
options.azos.emacs.pkgs = lib.mkOption{
default = [];
description = "List of packages for emacs.";
};
config = lib.mkIf isEnabled {
azos.emacs.pkgs = [(emacspkgs.trivialBuild (azos-utils.trivialFromOrg {
pname = "azos-emacs-base";
version = "0.1.6";
src = ./el/azos-emacs-base.org;
packageRequires = with emacspkgs; [
evil
evil-collection
magit
vterm
undo-tree
ivy
ivy-hydra
ivy-avy
counsel
counsel-tramp
counsel-projectile
swiper
projectile
];
}))];
home.packages = with pkgs;
[((emacsPackagesFor config.azos.emacs.emacspkg).emacsWithPackages (
config.azos.emacs.pkgs
)) ];
home.file."/.emacs.el".text = ''(require 'azos-emacs-base)'';
};
imports = [
];
}