;;; FG42 --- The mighty editor for the emacsians -*- lexical-binding: t; -*- ;; ;; Copyright (c) 2010-2024 Sameer Rahmani ;; ;; Author: Sameer Rahmani ;; URL: https://devheroes.codes/FG42/FG42 ;; Version: 3.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: ;; This is the very first file that Emacs will load to setup FG42 ;;; Code: (when (string= (getenv "FG42_DEBUG") "1") (setq debug-on-error t)) (eval-when-compile (defvar package-archives) (defvar use-package-ensure-function)) (defgroup fg42 nil "Customize your FG42 instance via this group of configurations.") (defvar fg42/disabled-features nil "List of features to disable.") (defvar fg42/after-init-hook nil "The hook tha runs when FG42 finished running the user configuration.") (defvar fg42/debug-p nil "The hook tha runs when FG42 finished running the user configuration.") (defvar fg42-home (or (getenv "FG42_HOME") "~/.fg42") "The pass to fg42-home.") (defvar fg42-tmp (make-temp-file "fg42-" t)) (add-to-list 'load-path (concat (getenv "FG42_HOME") "/lisp")) ;; (when fg42-use-nix ;; (require 'site-start)) ;; Prevent package.el to install anything at startup (setq package-enable-at-startup nil) (setq package-archives nil) (setq use-package-ensure-function 'ignore) (setq tab-width 2) (let ((emacsd (or (getenv "FG42_EMACSD") (format "%s/emacs.d" (getenv "FG42_HOME"))))) (setq custom-file (format "%s/.fg42.custom.el" emacsd)) (setq user-emacs-directory emacsd) (setq user-init-file (or (getenv "FG42_CONFIG_FILE") (format "%s/.fg42.v4.el" (getenv "HOME"))))) ;; Load the customization file. In FG42 it is different than ;; the default `user-init-file' (if (file-exists-p custom-file) (load custom-file)) (require 'fg42) (fg42/initialize-v4) (provide 'fg42/init) ;;; init.el ends here