Emacs-Configuration/config.org

198 lines
4.5 KiB
Org Mode

+TITLE: Bloxie's Emacs Configuration
#+CREATOR: Bloxiebird
* Introduction
Welcome to my Emacs configuration!
* Config
** Appearance
*** Remove Tool Bar
#+BEGIN_SRC emacs-lisp
(tool-bar-mode -1)
#+END_SRC
*** Remove Menu Bar
#+BEGIN_SRC emacs-lisp
(menu-bar-mode -1)
#+END_SRC
*** Remove Scroll Bar
#+BEGIN_SRC emacs-lisp
(scroll-bar-mode -1)
#+END_SRC
*** All The Icons
#+BEGIN_SRC emacs-lisp
(use-package all-the-icons
:ensure t)
#+END_SRC
*** Telephone Line
Install the Telephone Line :
#+BEGIN_SRC emacs-lisp
(use-package telephone-line
:ensure t
:init
(telephone-line-mode 1))
#+END_SRC
*** Emacs Dashboard
Install the Emacs Dashboard :
#+BEGIN_SRC emacs-lisp
(use-package dashboard
:ensure t
:config
(dashboard-setup-startup-hook))
(setq initial-buffer-choice (lambda () (get-buffer "*dashboard*")))
#+END_SRC
Emacs Dashboard Config :
#+BEGIN_SRC emacs-lisp
;; Set the title
(setq dashboard-banner-logo-title "Welcome to Bloxie's Emacs!")
;; Set the banner
(setq dashboard-startup-banner 'logo)
;; Value can be
;; 'official which displays the official emacs logo
;; 'logo which displays an alternative emacs logo
;; 1, 2 or 3 which displays one of the text banners
;; "path/to/your/image.png" which displays whatever image you would prefer
;; Content is not centered by default. To center, set
(setq dashboard-center-content t)
;; To disable shortcut "jump" indicators for each section, set
(setq dashboard-show-shortcuts nil)
;;To customize which widgets are displayed, you can use the following snippet
(setq dashboard-items '((recents . 5)
(bookmarks . 5)
(projects . 5)
(agenda . 5)
(registers . 5)))
#+END_SRC
** EXWM
Emacs X Window Manager
Add hashtag before + to enable
+BEGIN_SRC emacs-lisp
(use-package exwm
:ensure t
:config
(require 'exwm-config)
(exwm-config-default))
+END_SRC
Add hashtag before + to enable
EXWM System Try
+BEGIN_SRC emacs-lisp
(require 'exwm-systemtray)
(exwm-systemtray-enable)
+END_SRC
EXWM Specific Keybindings
(global-set-key (kbd "s-e") 'evil-quit-all)
(global-set-key (kbd "s-k") 'exwm-workspace-move)
(global-set-key (kbd "s-w") 'exwm-workspace-swap)
** Custom
*** Resizing Buffers
#+BEGIN_SRC emacs-lisp
(global-set-key (kbd "<C-up>") 'shrink-window)
(global-set-key (kbd "<C-down>") 'enlarge-window)
(global-set-key (kbd "<C-left>") 'shrink-window-horizontally)
(global-set-key (kbd "<C-right>") 'enlarge-window-horizontally)
#+END_SRC
*** Fullscreen Function
#+BEGIN_SRC emacs-lisp
(defun fullscreen (&optional f)
(interactive)
(x-send-client-message nil 0 nil "_NET_WM_STATE" 32
'(2 "_NET_WM_STATE_MAXIMIZED_VERT" 0))
(x-send-client-message nil 0 nil "_NET_WM_STATE" 32
'(2 "_NET_WM_STATE_MAXIMIZED_HORZ" 0)))
#+END_SRC
Call Function on Startup
#+BEGIN_SRC emacs-lisp
(fullscreen)
#+END_SRC
** Symon
A system resource viewer
Add hashtag before + to enable
+BEGIN_SRC emacs-lisp
(use-package symon
:ensure t
:init
(symon-mode 1))
+END_SRC
** DMenu
A recreation of the iconic Suckless Dynamic Menu.
#+BEGIN_SRC emacs-lisp
(use-package dmenu
:ensure t
:bind
("s-f" . 'dmenu))
#+END_SRC
** Evil Mode
#+BEGIN_SRC emacs-lisp
(use-package evil
:ensure t
:init
(evil-mode 1))
#+END_SRC
** Org Mode
*** Org Bullets
#+BEGIN_SRC emacs-lisp
(use-package org-bullets
:ensure t
:config
(add-hook 'org-mode-hook (lambda () (org-bullets-mode))))
#+END_SRC
*** Enable Indent Mode
#+BEGIN_SRC emacs-lisp
(add-hook 'org-mode-hook 'org-indent-mode)
#+END_SRC
*** Enable Beamer Support
#+BEGIN_SRC emacs-lisp
(add-hook 'org-mode-hook 'org-beamer-mode)
#+END_SRC
** Projectile
Install Projectile:
#+BEGIN_SRC emacs-lisp
(use-package projectile
:ensure t
:init
(projectile-mode))
#+END_SRC
** Auto Completion
*** Ivy
#+BEGIN_SRC emacs-lisp
(use-package ivy
:ensure t
:init
(ivy-mode 1))
#+END_SRC
*** Company
#+BEGIN_SRC emacs-lisp
(use-package company
:ensure t
:init
(global-company-mode 1))
#+END_SRC
*** Which Key
#+BEGIN_SRC emacs-lisp
(use-package which-key
:ensure t
:init
(which-key-mode))
#+END_SRC
** Spell Correction
*** Flyspell Correct Ivy
#+BEGIN_SRC emacs-lisp
(use-package flyspell-correct-ivy
:ensure t
:bind ("C-M-;" . flyspell-correct-wrapper)
:init
(setq flyspell-correct-interface #'flyspell-correct-ivy))
#+END_SRC