229 lines
5.1 KiB
Org Mode
229 lines
5.1 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
|
|
|
|
All The Icons for Ivy/Counsel
|
|
#+BEGIN_SRC emacs-lisp
|
|
(use-package all-the-icons-ivy
|
|
:ensure t
|
|
:init
|
|
(all-the-icons-ivy-setup))
|
|
#+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
|
|
|
|
Ivy Configuration :
|
|
#+BEGIN_SRC emacs-lisp
|
|
(setq ivy-use-virtual-buffers t)
|
|
(setq enable-recursive-minibuffers t)
|
|
#+END_SRC
|
|
|
|
|
|
#+END_SRC
|
|
*** Counsel
|
|
#+BEGIN_SRC emacs-lisp
|
|
(use-package counsel
|
|
:ensure t)
|
|
#+END_SRC
|
|
|
|
Counsel for Projectile
|
|
#+BEGIN_SRC emacs-lisp
|
|
(use-package counsel-projectile
|
|
:ensure t
|
|
:init
|
|
(counsel-projectile-mode))
|
|
(define-key projectile-mode-map (kbd "C-c p") 'projectile-command-map)
|
|
#+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
|