FG42/config/fg42.user.v3.el

148 lines
4.2 KiB
EmacsLisp

;;; FG42 --- The mighty editor for the emacsians -*- lexical-binding: t; -*-
;;
;; Copyright (c) 2010-2020 Sameer Rahmani <lxsameer@gnu.org>
;;
;; Author: Sameer Rahmani <lxsameer@gnu.org>
;; URL: https://gitlab.com/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 <http://www.gnu.org/licenses/>.
;;
;;; Commentary:
;;; Code:
(setq debug-on-error t)
(require 'fg42/flags)
(require 'cubes/editor)
(require 'cubes/elisp)
(require 'cubes/region-expansion)
(require 'cubes/wm)
(require 'cubes/modeline)
(require 'cubes/autocompletion)
(require 'cubes/golang)
(require 'cubes/project)
(require 'cubes/irc)
(require 'cubes/terminal)
(require 'cubes/java)
(require 'cubes/snippets)
(require 'cubes/org)
(require 'cubes/git)
;; ============== MY STUFF ==============================
(custom-set-faces
'(mini-modeline-mode-line
((((background light))
:background "#aa0000" :height 0.1 :box nil)
(t
:background "#bd93f9" :height 0.1 :box nil))))
(defvar global-font-size 10)
(setq lsp-clients-clangd-executable "~/usr/lib/llvm-13/bin/clangd")
(defconst LLVM_DIR "/home/lxsameer/src/serene/llvm-project")
(defconst llvm-config-dir (concat LLVM_DIR "/llvm/utils/emacs/"))
(add-hook 'c++-mode-hook (lambda ()
(load (concat llvm-config-dir "emacs.el"))
(load (concat llvm-config-dir "llvm-mode.el"))
(load (concat llvm-config-dir "tablegen-mode.el"))))
;; =========== FG42 stuff ===============================
;; (use-flags wm font-icons cursor-type
;; exec-path-from-shell golang
;; rcirc pinentry vterm
;; company lsp flycheck smart-mode-line wm fg42/region-expansion-cube
;; selectrum window-navigation buffer-navigation font-icons)
(use-flags
(fg42/merge-with-default-flags
wm
golang
rcirc
vterm
company
lsp
flycheck
fg42/region-expansion-cube))
;; ================== my stuff mixed with FG42 stuff ===================
(when-wm
(setq global-font-size 8)
(custom-set-faces
'(mini-modeline-mode-line
((((background light))
:background "#aa0000" :height 0.1 :box nil)
(t
:background "#6272a4" :height 0.1 :box nil))))
(fg42/wm-cube :number-of-workspaces 9)
(use-flags
(fg42/merge-with-default-flags
wm
-golang
rcirc
vterm
-company
-projectile
-lsp
-flycheck
fg42/region-expansion-cube)))
;; =========== FG42 stuff ===============================
;; Both are part of the editor cube but we want to override
;; their behavior
(fg42/modeline-cube)
(fg42/cursor-cube :type 'bar :color "#bd93f9")
(fg42/font-cube :font-size global-font-size)
(fg42/editor-cube)
(fg42/elisp-cube)
(fg42/region-expansion-cube)
(fg42/company-cube)
(fg42/lsp-cube)
(fg42/c++-cube)
(fg42/yaml-cube)
(fg42/flycheck-cube)
(fg42/org-cube)
(fg42/golang-cube)
(fg42/projectile-cube)
(fg42/rcirc-cube :server '(("irc.libera.chat" :channels ("#fg42" "#5hit" "#serene-lang" "#technotux" "#emacs" "#c++") :nick "lxsameer")
("irc.oftc.net" :channels ("#llvm") :nick "lxsameer")))
(fg42/vterm-cube)
(fg42/git-cube)
(fg42/java-cube)
(fg42/yasnippet-cube)
;; Themes should be the last cube and anything that wants to manipulate a face
;; has to use either `fg42/before-initializing-theme-hook' or
;; `fg42/after-initializing-theme-hook' hooks.
(fg42/dracula-theme-cube)
;;(global-set-key (kbd "C-t") 'forward-char)
;;(g lobal-set-key (kbd "C-n") 'backward-char)
;;(global-set-key (kbd "M-n") 'backward-word)
;;(global-set-key (kbd "M-t") 'forward-word)
;;(global-set-key (kbd "C-,") 'previous-line)
;;(global-set-key (kbd "C-.") 'next-line)
(provide '.fg42)
;;; .fg42.v3.el ends here