41 lines
961 B
Nix
41 lines
961 B
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 = [
|
|
emacspkgs.evil
|
|
emacspkgs.magit
|
|
emacspkgs.vterm
|
|
];
|
|
}))];
|
|
|
|
home.packages = with pkgs;
|
|
[((emacsPackagesFor config.azos.emacs.emacspkg).emacsWithPackages (
|
|
config.azos.emacs.pkgs
|
|
)) ];
|
|
};
|
|
|
|
imports = [
|
|
];
|
|
}
|