# Fg42 - Emacs Editor for advance users # # Copyright (c) 2010-2024 Sameer Rahmani # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, version 2. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # This is the home manager module that exposes FG42. It differs # from FG42 modules that are structurally the same but used in # different context { lib, pkgs, ... }: with lib; { options = { fg42.version = mkOption { type = types.str; visible = true; readOnly = true; description = "FG42's version."; }; fg42.emacs = mkOption { type = types.package; default = pkgs.emacs29.override ({ withTreeSitter = true; }); description = "What Emacs package to use."; }; fg42.elispPackages = mkOption { type = types.listOf types.package; default = [ ]; description = '' A list of Emacs packages that should be included in FG42 ''; }; fg42.paths = mkOption { type = types.listOf types.package; default = [ ]; description = '' A list of packages that should be added to FG42's PATH ''; }; fg42.mimeTypes = mkOption { type = types.listOf types.str; default = [ ]; description = '' A list of mineType strings that FG42 should handle via desktop file. ''; }; fg42.fonts = mkOption { type = types.listOf types.package; default = [ ]; description = '' A list of font packages that should be included in FG42 ''; }; fg42.startUp = mkOption { type = types.uniq types.path; description = "The main startup file to load first. This is usually fg42.el"; }; }; config = { fg42.version = import ../version.nix { }; }; }