diff --git a/nix/modules/default.nix b/nix/modules/default.nix index 77886ae..e4958e3 100644 --- a/nix/modules/default.nix +++ b/nix/modules/default.nix @@ -23,6 +23,7 @@ let modules = [ ./editor + ./elisp ]; pkgsModule = { config, ... }: { diff --git a/nix/modules/elisp/default.nix b/nix/modules/elisp/default.nix new file mode 100644 index 0000000..7e7840f --- /dev/null +++ b/nix/modules/elisp/default.nix @@ -0,0 +1,39 @@ +# 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 + +# A list of default FG42 modules to build FG42 with. +{ lib, config, pkgs, makeFG42Drv, ... }: +let + deps = (with pkgs.emacsPackages; [ + eros + rainbow-delimiters + paredit + ]); + drv = makeFG42Drv { + pname = "elisp"; + version = config.fg42.version; + buildInputs = deps; + src = ./.; + }; + +in +{ + fg42.elispPackages = [ drv ] ++ deps; +} diff --git a/nix/modules/elisp/lisp/fg42/elisp.el b/nix/modules/elisp/lisp/fg42/elisp.el new file mode 100644 index 0000000..63d3a05 --- /dev/null +++ b/nix/modules/elisp/lisp/fg42/elisp.el @@ -0,0 +1,42 @@ +;;; FG42 --- The mighty editor for the emacsians -*- lexical-binding: t; -*- +;; +;; Copyright (c) 2010-2024 Sameer Rahmani & Contributors +;; +;; Author: Sameer Rahmani +;; URL: https://devheroes.codes/FG42/FG42 +;; Version: 4.0.0 +;; +;; 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, either version 3 of the License, or +;; (at your option) any later version. +;; +;; 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 . +;; +;;; Commentary: +;;; Code: +(eval-when-compile + (require 'fpkg)) + + +(use! eros + "Evaluation Result OverlayS for Emacs Lisp." + :commands eros-mode) + +(use! elisp-mode + "Elisp mode." + :hook + ((emacs-lisp-mode . rainbow-delimiters-mode) + (emacs-lisp-mode . paredit-mode) + ;; (emacs-lisp-mode . company-mode) + (emacs-lisp-mode . eros-mode))) + + +(provide 'fg42/elisp) +;;; elisp.el ends here