summaryrefslogtreecommitdiff
path: root/.emacs.d/init.el
diff options
context:
space:
mode:
Diffstat (limited to '.emacs.d/init.el')
-rw-r--r--.emacs.d/init.el131
1 files changed, 126 insertions, 5 deletions
diff --git a/.emacs.d/init.el b/.emacs.d/init.el
index 326ee14..8b688a1 100644
--- a/.emacs.d/init.el
+++ b/.emacs.d/init.el
@@ -25,10 +25,10 @@
(require 'use-package)
(setq use-package-always-ensure t)
-(load "my-functions.el")
-(load "init-keys.el")
+(load "functions.el")
+(load "keys.el")
(load "all-the-icons-dired.el")
-(load "init-exwm")
+
(setq inhibit-startup-message nil)
@@ -108,6 +108,7 @@
:face 'font-lock-keyword-face))
+(defvar eshell-path-env (getenv "~/.local/bin"))
(use-package general)
(use-package doom-themes
:init (load-theme 'doom-dracula t))
@@ -242,7 +243,7 @@
org-superstar-headline-bullets-list '("◉" "●" "○" "●" "○" "●" "◆")
org-superstar-itembullet-alist '((?+ . ?➤) (?- . ?✦))) ; changes +/- symbols in item lists
)
-
+(use-package org-modern)
(defun apollo/org-theme-darkone ()
"My custom org theme for doom themes"
(interactive)
@@ -367,6 +368,13 @@
(setq lsp-keymap-prefix "C-c l") ;; Or 'C-l', 's-l'
:config
(lsp-enable-which-key-integration t)
+ (lsp-register-custom-settings
+ '(("pyls.plugins.pyls_mypy.enabled" t t)
+ ("pyls.plugins.pyls_mypy.live_mode" nil t)
+ ("pyls.plugins.pyls_black.enabled" t t)
+ ("pyls.plugins.pyls_isort.enabled" t t)
+ ("pyls.plugins.flake8.enable" t t)))
+ (setq lsp-pyls-server-command "~/.local/bin/pyls")
)
(use-package lsp-ui
@@ -538,7 +546,120 @@
;; (eaf-bind-key scroll_up "C-n" eaf-pdf-viewer-keybinding)
;; (eaf-bind-key scroll_down "C-p" eaf-pdf-viewer-keybinding)
;; (eaf-bind-key nil "M-q" eaf-browser-keybinding))
+(defun apollo/exwm-init-hook ()
+ "Do this upon start."
+ (display-battery-mode 0) ;;Change to 1 to display battery
+
+ (setq display-time-day-and-date t)
+ (display-time-mode 1)
+
+ ;;Launch apps that will run in the background
+;; (apollo/run-in-background "blueman-applet")
+ (apollo/run-in-background "picom")
+;; (apollo/run-in-background "nm-applet")
+ (apollo/emacs-keys)
+ (apollo/restore-wallpaper)
+ )
+
+(defun apollo/exwm-update-class ()
+ (exwm-workspace-rename-buffer exwm-class-name))
+(use-package exwm
+ :config
+ (setq exwm-workspace-number 6)
+ ;; When window "class" updates, use it to set the buffer name
+ (add-hook 'exwm-update-class-hook #'apollo/exwm-update-class)
+
+ ;;When EXWM starts up, run this hook
+ (add-hook 'exwm-init-hook #'apollo/exwm-init-hook)
+ (start-process-shell-command
+ "xrandr" nil "xrandr --output DisplayPort-2 --primary --mode 2560x1440 --pos 1920x0 --rotate normal --output HDMI-A-0 --mode 1920x1080 --pos 0x0 --rotate normal")
+
+ ;; Set the screen resolution
+
+ (require 'exwm-randr)
+ (setq exwm-randr-workspace-output-plist '(1 "DP-1" 2 "HDMI-A-0"))
+ (add-hook 'exwm-randr-screen-change-hook
+ (lambda ()
+ (start-process-shell-command
+ "xrandr" nil "xrandr --output DisplayPort-2 --primary --mode 2560x1440 --pos 1920x0 --rotate normal --output HDMI-A-0 --mode 1920x1080 --pos 0x0 --rotate normal" )))
+ (exwm-randr-enable)
+
+ ;; (start-process-shell-command "xrandr" nil "xrandr --output Virtual-1 --primary --mode 2048x1152 --pos 0x0 --rotate normal")
+
+ ;; Load the system tray before exwm-init
+ (require 'exwm-systemtray)
+ (exwm-systemtray-enable)
+
+ ;; These keys should always pass through to Emacs
+ (setq exwm-input-prefix-keys
+ '(?\C-x
+ ?\C-u
+ ?\C-h
+ ?\C-w
+ ?\M-x
+ ?\M-`
+ ?\M-&
+ ?\M-:
+ ?\s-d
+ ?\C-\M-j ;; Buffer list
+ ?\C-\ )) ;; Ctrl+Space
+
+ ;; Ctrl+Q will enable the next key to be sent directly
+ (define-key exwm-mode-map [?\C-q] 'exwm-input-send-next-key)
+
+ ;; Set up global key bindings. These always work, no matter the input state!
+ ;; Keep in mind that changing this list after EXWM initializes has no effect.
+ (setq exwm-input-global-keys
+ `(
+ ;; Reset to line-mode (C-c C-k switches to char-mode via exwm-input-release-keyboard)
+ ([?\s-r] . exwm-reset)
+
+ ;; Move between windows
+ ([C-w C-p] . windmove-left)
+ ([C-w C-n] . windmove-right)
+; ([s-up] . windmove-up)
+; ([s-down] . windmove-down)
+ ([C-w C-v] . split-window-right)
+
+ ;; Launch applications via shell command
+ ([?\s-&] . (lambda (command)
+ (interactive (list (read-shell-command "$ ")))
+ (start-process-shell-command command nil command)))
+
+ ;; Switch workspace
+ ([?\s-e] . exwm-workspace-switch)
+ ([?\s-`] . (lambda () (interactive) (exwm-workspace-switch-create 0)))
+ ([?\s-1] . (lambda () (interactive) (exwm-workspace-switch-create 1)))
+ ([?\s-2] . (lambda () (interactive) (exwm-workspace-switch-create 2)))
+ ([?\s-3] . (lambda () (interactive) (exwm-workspace-switch-create 3)))
+ ([?\s-4] . (lambda () (interactive) (exwm-workspace-switch-create 4)))
+
+ ;; 's-N': Switch to certain workspace with Super (Win) plus a number key (0 - 9)
+ ,@(mapcar (lambda (i)
+ `(,(kbd (format "s-%d" i)) .
+ (lambda ()
+ (interactive)
+ (exwm-workspace-switch-create ,i))))
+ (number-sequence 0 9))))
+
+ (exwm-input-set-key (kbd "C-c d") 'dmenu)
+ (exwm-input-set-key (kbd "s-<tab>") 'rofi)
+ (exwm-input-set-key (kbd "s-Q") 'kill-emacs)
+ (exwm-input-set-key (kbd "<XF86AudioRaiseVolume>") 'apollo/volume-increase)
+ (exwm-input-set-key (kbd "<XF86AudioLowerVolume>") 'apollo/volume-decrease)
+ (exwm-input-set-key (kbd "s-0") 'apollo/emacs-keys)
+ (exwm-input-set-key (kbd "s-9") 'apollo/greek-keyboard)
+ (exwm-enable))
+
+;;Transparency
+(set-frame-parameter (selected-frame) 'alpha '(90 90))
+(add-to-list 'default-frame-alist '(alpha 90 90))
+
+;;Follow focus using exwm-mff
+(use-package exwm-mff
+ :init
+ (exwm-mff-mode))
(custom-set-variables
;; custom-set-variables was added by Custom.
@@ -549,7 +670,7 @@
'(custom-safe-themes
'("05626f77b0c8c197c7e4a31d9783c4ec6e351d9624aa28bc15e7f6d6a6ebd926" "49acd691c89118c0768c4fb9a333af33e3d2dca48e6f79787478757071d64e68" "60ada0ff6b91687f1a04cc17ad04119e59a7542644c7c59fc135909499400ab8" "545ab1a535c913c9214fe5b883046f02982c508815612234140240c129682a68" "ce4234c32262924c1d2f43e6b61312634938777071f1129c7cde3ebd4a3028da" "c865644bfc16c7a43e847828139b74d1117a6077a845d16e71da38c8413a5aaa" "680f62b751481cc5b5b44aeab824e5683cf13792c006aeba1c25ce2d89826426" "631c52620e2953e744f2b56d102eae503017047fb43d65ce028e88ef5846ea3b" "2dd4951e967990396142ec54d376cced3f135810b2b69920e77103e0bcedfba9" "a138ec18a6b926ea9d66e61aac28f5ce99739cf38566876dc31e29ec8757f6e2" "683b3fe1689da78a4e64d3ddfce90f2c19eb2d8ab1bab1738a63d8263119c3f4" "2dc03dfb67fbcb7d9c487522c29b7582da20766c9998aaad5e5b63b5c27eec3f" "830596655dc39879096d9b7772768de6042fb5a4293c6b90c98a9b98bce96e4a" "7dc296b80df1b29bfc4062d1a66ee91efb462d6a7a934955e94e786394d80b71" "0ce768d3ea6d809292d12b22a5ff6de65e24a8d527e4e0885cf87640f42dff7d" "02f57ef0a20b7f61adce51445b68b2a7e832648ce2e7efb19d217b6454c1b644" "e3daa8f18440301f3e54f2093fe15f4fe951986a8628e98dcd781efbec7a46f2" "5586a5db9dadef93b6b6e72720205a4fa92fd60e4ccfd3a5fa389782eab2371b" "1aa4243143f6c9f2a51ff173221f4fd23a1719f4194df6cef8878e75d349613d" "7a4784fc0c0c853c578132e81a757a0f9b3e675fdd7e56303f3ee1fb8d7ae2a3" "8d3ef5ff6273f2a552152c7febc40eabca26bae05bd12bc85062e2dc224cde9a" "aec7b55f2a13307a55517fdf08438863d694550565dee23181d2ebd973ebd6b8" "7a424478cb77a96af2c0f50cfb4e2a88647b3ccca225f8c650ed45b7f50d9525" "944d52450c57b7cbba08f9b3d08095eb7a5541b0ecfb3a0a9ecd4a18f3c28948" "3199be8536de4a8300eaf9ce6d864a35aa802088c0925e944e2b74a574c68fd0" "443e2c3c4dd44510f0ea8247b438e834188dc1c6fb80785d83ad3628eadf9294" "554c2be54aecbbd3a6317906ada2e8f25f50f8d6bf3d9c22e3b30e3700d0bbd1" "5f128efd37c6a87cd4ad8e8b7f2afaba425425524a68133ac0efd87291d05874" "bf948e3f55a8cd1f420373410911d0a50be5a04a8886cabe8d8e471ad8fdba8e" "fb2c27e7ad4a81c2f57bceeca0faeb1c84fb7a167c097b998e2a1ea314455fd6" "47f3e55e4e3d570d5513d4cc58047dc059bd6ab3d135c796c4ccbfb77d4eb88b" "1070069a4671554a2c00b8375485896c1aa8144f5b8d99b86845069351770ee9" "e8483bc21cf667971eabdbb01203e3a471de1b59a4e532368b7a20f5665d686a" "b7bf7b95fb796614f0b36a7c4906a93db75ad0c6146f336c7ed085f6fceef93d" "05b767a3f3a37ac46353fd88f194934d82eb6c3644c3b8da883752f57513e7aa" default))
'(package-selected-packages
- '(dmenu sudo-edit exwm dracula-theme dashboard treemacs-icons-dired ac-html html-mode hacker-typer autocomplete ac-slime rjsx-mode telega monkeytype evil-collection lsp-intellij lsp-mode yasnippet lsp-treemacs helm-lsp projectile hydra flycheck company avy which-key helm-xref dap-mode zenburn-theme json-mode)))
+ '(org-modern sudo-edit exwm dracula-theme dashboard treemacs-icons-dired ac-html html-mode hacker-typer autocomplete ac-slime rjsx-mode telega monkeytype evil-collection lsp-intellij lsp-mode yasnippet lsp-treemacs helm-lsp projectile hydra flycheck company avy which-key helm-xref dap-mode zenburn-theme json-mode)))
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.