|
|
||
|---|---|---|
| README.org | ||
| bookmarks | ||
| config.org | ||
| init.el | ||
| projectile-bookmarks.eld | ||
README.org
- Introduction
- Config
+TITLE: Bloxie's Emacs Configuration
Introduction
Welcome to my Emacs configuration!
Config
Appearance
Remove Tool Bar
(tool-bar-mode -1)
Remove Menu Bar
(menu-bar-mode -1)
Remove Scroll Bar
(scroll-bar-mode -1)
Theming
(use-package dracula-theme
:ensure t
:init
(load-theme 'dracula t))
All The Icons
(use-package all-the-icons
:ensure t)
All The Icons for Ivy/Counsel
(use-package all-the-icons-ivy
:ensure t
:init
(all-the-icons-ivy-setup))
Mode Line
Mode Line Configuration :
(setq telephone-line-lhs
'((evil . (telephone-line-evil-tag-segment))
(accent . (telephone-line-vc-segment
telephone-line-erc-modified-channels-segment
telephone-line-process-segment))
(nil . (telephone-line-buffer-segment))))
(setq telephone-line-rhs
'((nil . (telephone-line-misc-info-segment))
(accent . (telephone-line-major-mode-segment))
(evil . (telephone-line-airline-position-segment))))
(setq telephone-line-primary-left-separator 'telephone-line-flat
telephone-line-secondary-left-separator 'telephone-line-flat
telephone-line-primary-right-separator 'telephone-line-flat
telephone-line-secondary-right-separator 'telephone-line-flat)
(setq telephone-line-height 20
telephone-line-evil-use-short-tag t)
(use-package telephone-line
:ensure t
:init
(telephone-line-mode))
Emacs Dashboard
Install the Emacs Dashboard :
(use-package dashboard
:ensure t
:config
(dashboard-setup-startup-hook))
(setq initial-buffer-choice (lambda () (get-buffer "*dashboard*")))
Emacs Dashboard Config :
;; 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)))
;; To show agenda for the upcoming seven days set the variable show-week-agenda-p to t.
;; (setq show-week-agenda-p t)
;; Note that setting list-size for the agenda list is intentionally ignored; all agenda items for the current day will be displayed.
;; To customize which categories from the agenda items should be visible in the dashboard set the dashboard-org-agenda-categories to the list of categories you need.
;; (setq dashboard-org-agenda-categories '("Tasks" "Appointments"))
;; To add icons to the widget headings and their items:
(setq dashboard-set-heading-icons t)
(setq dashboard-set-file-icons t)
;; To show navigator below the banner:
(setq dashboard-set-navigator t)
;; To customize the buttons of the navigator like this:
;; Format: "(icon title help action face prefix suffix)"
(setq dashboard-navigator-buttons
`(;; line1
((,(all-the-icons-octicon "mark-github" :height 1.1 :v-adjust 0.0)
"Homepage"
"Browse homepage"
(lambda (&rest _) (browse-url "https://gitlab.com/bloxiebird/linux-emacs-configuration")))
("★" "Star" "Show stars" (lambda (&rest _) (show-stars)) warning)
("?" "" "?/h" #'show-help nil "<" ">"))
))
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
(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)
Fullscreen Function
(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)))
Call Function on Startup
(fullscreen)
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.
(use-package dmenu
:ensure t
:bind
("s-f" . 'dmenu))
Evil Mode
(use-package evil
:ensure t
:init
(evil-mode 1))
Org Mode
Org Bullets
(use-package org-bullets
:ensure t
:config
(add-hook 'org-mode-hook (lambda () (org-bullets-mode))))
Enable Indent Mode
(add-hook 'org-mode-hook 'org-indent-mode)
Enable Beamer Support
(add-hook 'org-mode-hook 'org-beamer-mode)
Agenda
Set Agenda Directory :
(setq org-agenda-files (quote("~/.emacs.d/agenda.org")))
Calendar/Diary integration :
(setq org-agenda-include-diary t)
Projectile
Install Projectile:
(use-package projectile
:ensure t
:init
(projectile-mode))
Auto Completion
Ivy
(use-package ivy
:ensure t
:init
(ivy-mode 1))
Ivy Configuration :
(setq ivy-use-virtual-buffers t)
(setq enable-recursive-minibuffers t)
#+END_SRC
Counsel
(use-package counsel
:ensure t)
Counsel for Projectile
(use-package counsel-projectile
:ensure t
:init
(counsel-projectile-mode))
(define-key projectile-mode-map (kbd "C-c p") 'projectile-command-map)
Company
(use-package company
:ensure t
:init
(global-company-mode 1))
Which Key
(use-package which-key
:ensure t
:init
(which-key-mode))
Spell Correction
Flyspell Correct Ivy
(use-package flyspell-correct-ivy
:ensure t
:bind ("C-M-;" . flyspell-correct-wrapper)
:init
(setq flyspell-correct-interface #'flyspell-correct-ivy))
Rainbow Delimiters
This Minor Mode will mark pairs of brackets with colours.
(use-package rainbow-delimiters
:ensure t)
Set Minor Mode as Global :
(define-globalized-minor-mode global-rainbow-delimiters-mode rainbow-delimiters-mode
(lambda () (rainbow-delimiters-mode 1)))
(global-rainbow-delimiters-mode 1)
Rainbow Mode
This Minor Mode will highlight RGB/HEX values with their respective colours.
(use-package rainbow-mode
:ensure t)
Set Minor Mode as Global :
(define-globalized-minor-mode global-rainbow-mode rainbow-mode
(lambda () (rainbow-mode 1)))
(global-rainbow-mode 1)