From abf723ada1c9751e4e7ffd19d4f8f69c3ca84568 Mon Sep 17 00:00:00 2001 From: Sanchayan Maity Date: Tue, 31 Dec 2019 12:46:48 +0530 Subject: [PATCH] Remove configs we do not need Signed-off-by: Sanchayan Maity --- Xresources | 116 ------- init.el | 848 ----------------------------------------------- spacemacs | 301 ----------------- xmonad/xmobar.hs | 48 --- xmonad/xmonad.hs | 400 ---------------------- 5 files changed, 1713 deletions(-) delete mode 100644 Xresources delete mode 100644 init.el delete mode 100644 spacemacs delete mode 100644 xmonad/xmobar.hs delete mode 100644 xmonad/xmonad.hs diff --git a/Xresources b/Xresources deleted file mode 100644 index 7b8520b..0000000 --- a/Xresources +++ /dev/null @@ -1,116 +0,0 @@ -! urxvt -URxvt.perl-ext-common: default,clipboard,url-select,keyboard-select -URxvt.url-select.launcher: google-chrome-stable -URxvt.url-select.underline: true -URxvt.keysym.M-u: perl:url-select:select_next -URxvt.keysym.M-Escape: perl:keyboard-select:activate -URxvt.keysym.M-s: perl:keyboard-select:search -URxvt.iso14755: False -URxvt.keysym.Shift-Control-C: perl:clipboard:copy -URxvt.keysym.Shift-Control-V: perl:clipboard:paste -URxvt*selectToClipboard: true -urxvt*transparent: false -urxvt*shading: 15 - -URxvt*buffered: true -URxvt*cursorBlink: true -URxvt*underlineColor: yellow -URxvt*font: xft:Ubuntu Mono:size=14:antialias=true -URxvt*depth: 32 -URxvt*borderless: 1 -URxvt*scrollBar: false -URxvt*loginShell: true -Urxvt*secondaryScroll: true # Enable Shift-PageUp/Down in screen -URxvt*saveLines: 2000 -URxvt*termName: rxvt-unicode - -URxvt.keysym.Home: \033[1~ -URxvt.keysym.End: \033[4~ -URxvt.keysym.KP_Home: \033[1~ -URxvt.keysym.KP_End: \033[4~ - -XTerm*faceName: Bitstream Vera Serif Mono -xterm*faceSize: 11 -xterm*vt100*geometry: 80x60 -xterm*saveLines: 16384 -xterm*loginShell: true -xterm*charClass: 33:48,35:48,37:48,43:48,45-47:48,64:48,95:48,126:48 -xterm*termName: xterm-color -xterm*eightBitInput: false - -!BLK Cursor -#define _color0 #000d18 -#define _color8 #000d18 -!RED Tag -#define _color1 #e89393 -#define _color9 #e89393 -!GRN SpecialKey -#define _color2 #9ece9e -#define _color10 #9ece9e -!YEL Keyword -#define _color3 #f0dfaf -#define _color11 #f0dfaf -!BLU Number -#define _color4 #8cd0d3 -#define _color12 #8cd0d3 -!MAG Precondit -#define _color5 #c0bed1 -#define _color13 #c0bed1 -!CYN Float -#define _color6 #dfaf8f -#define _color14 #dfaf8f -!WHT Search -#define _color7 #efefef -#define _color15 #efefef -!FMT Include, StatusLine, ErrorMsg -#define _colorBD #ffcfaf -#define _colorUL #ccdc90 -#define _colorIT #80d4aa -!TXT Normal, Normal, Cursor -#define _foreground #dcdccc -#define _background #1f1f1f -#define _cursorColor #8faf9f -URxvt*color0 : _color0 -URxvt*color1 : _color1 -URxvt*color2 : _color2 -URxvt*color3 : _color3 -URxvt*color4 : _color4 -URxvt*color5 : _color5 -URxvt*color6 : _color6 -URxvt*color7 : _color7 -URxvt*color8 : _color8 -URxvt*color9 : _color9 -URxvt*color10 : _color10 -URxvt*color11 : _color11 -URxvt*color12 : _color12 -URxvt*color13 : _color13 -URxvt*color14 : _color14 -URxvt*color15 : _color15 -URxvt*colorBD : _colorBD -URxvt*colorIT : _colorIT -URxvt*colorUL : _colorUL -URxvt*foreground : _foreground -URxvt*background : _background -URxvt*cursorColor : _cursorColor -XTerm*color0 : _color0 -XTerm*color1 : _color1 -XTerm*color2 : _color2 -XTerm*color3 : _color3 -XTerm*color4 : _color4 -XTerm*color5 : _color5 -XTerm*color6 : _color6 -XTerm*color7 : _color7 -XTerm*color8 : _color8 -XTerm*color9 : _color9 -XTerm*color10 : _color10 -XTerm*color11 : _color11 -XTerm*color12 : _color12 -XTerm*color13 : _color13 -XTerm*color14 : _color14 -XTerm*color15 : _color15 -XTerm*colorBD : _colorBD -XTerm*colorIT : _colorIT -XTerm*colorUL : _colorUL -XTerm*foreground : _foreground -XTerm*background : _background -XTerm*cursorColor : _cursorColor diff --git a/init.el b/init.el deleted file mode 100644 index fbe7c3c..0000000 --- a/init.el +++ /dev/null @@ -1,848 +0,0 @@ -;;; init.el --- Initialization file for emacs -;;; Commentary: Emacs startup file --- initialization file for emacs -(setq - custom-file (concat user-emacs-directory ".emacs-customize.el") - require-final-newline t) - -;; Track emacs load time -(defconst emacs-start-time (current-time)) - -;; Other configs -(setq make-backup-files nil) -(setq auto-save-default nil) -(global-auto-revert-mode t) - -;; Splash Screen -(setq inhibit-startup-screen t) -(setq initial-scratch-message ";; Happy Hacking") - -;; Show matching parens -(setq show-paren-delay 0) -(show-paren-mode 1) -(electric-pair-mode 1) - -;; UI configurations -(if (display-graphic-p) - (progn - (tool-bar-mode -1) - (scroll-bar-mode -1))) -(tooltip-mode -1) -(menu-bar-mode -1) -(global-linum-mode 1) - -;; Font configurations -(add-to-list 'default-frame-alist '(font . "Iosevka-14")) -(add-to-list 'default-frame-alist '(height . 24)) -(add-to-list 'default-frame-alist '(width . 80)) -(add-to-list 'default-frame-alist '(fullscreen . maximized)) - -;;; Package Management -(require 'package) -(setq package-enable-at-startup nil) -(setq package-archives - '(("org" . "http://orgmode.org/elpa/") - ("gnu" . "http://elpa.gnu.org/packages/") - ("melpa" . "https://melpa.org/packages/"))) -(package-initialize) - -;; Bootstrap `use-package` -(unless (package-installed-p 'use-package) - (package-refresh-contents) - (package-install 'use-package)) -(eval-when-compile - (require 'use-package)) - -;; always download all packages if not already downloaded -(setq use-package-always-ensure t) -;; keep stats about packages -(setq use-package-compute-statistics t) -; no longer included with use-package by default -(use-package diminish) -(use-package auto-package-update - :ensure t - :config - (setq auto-package-update-delete-old-versions t - auto-package-update-interval 4) - (auto-package-update-maybe)) - -;; Restart emacs from within emacs -(use-package restart-emacs - :ensure t) - -;; Theme -(use-package doom-themes - :ensure t - :config - (load-theme 'doom-molokai t)) - -;; Auto enforced consistence -(use-package editorconfig - :diminish "↹" - :init - (setq auto-mode-alist - (cl-union auto-mode-alist - '(("\\.editorconfig\\'" . editorconfig-conf-mode) - ("editorconfig\\'" . editorconfig-conf-mode)))) - :config - (editorconfig-mode 1)) - -(use-package smartparens - :hook ((prog-mode-hook) . smartparens-mode) - :config - (require 'smartparens-config)) - -(use-package aggressive-indent - :diminish "⇉" - :config - (global-aggressive-indent-mode t)) - -(use-package fzf - :ensure t) - -;; Anzu for search matching -(use-package anzu - :ensure t - :config - (global-anzu-mode 1) - (global-set-key [remap query-replace-regexp] - 'anzu-query-replace-regexp) - (global-set-key [remap query-replace] - 'anzu-query-replace)) - -(use-package avy - :defer t - :init - (progn - (setq avy-all-windows 'all-frames) - (setq avy-background t))) - -(use-package dumb-jump - :ensure t) - -;; Vim mode -(use-package evil - :ensure t - :config - (evil-mode 1)) -(use-package evil-escape - :ensure t - :init - (setq-default evil-escape-key-sequence "jk") - :config - (evil-escape-mode 1)) -(use-package evil-nerd-commenter - :ensure t) -(use-package evil-surround - :ensure t - :config - (global-evil-surround-mode 1)) -(use-package disable-mouse - :ensure t - :config - (global-disable-mouse-mode)) - -;; Helm -(use-package helm - :ensure t - :init - (setq helm-M-x-fuzzy-match t - helm-mode-fuzzy-match t - helm-buffers-fuzzy-matching t - helm-recentf-fuzzy-match t - helm-locate-fuzzy-match t - helm-semantic-fuzzy-match t - helm-imenu-fuzzy-match t - helm-completion-in-region-fuzzy-match t - helm-candidate-number-list 80 - helm-split-window-inside-p t - helm-move-to-line-cycle-in-source t - helm-echo-input-in-header-line t - helm-autoresize-max-height 0 - helm-autoresize-min-height 20) - :config - (helm-mode 1)) -;; RipGrep -(use-package helm-rg :ensure t) -;; Projectile -(use-package projectile - :ensure t - :init - (setq projectile-require-project-root nil) - :config - (projectile-mode 1)) -;; Helm Projectile -(use-package helm-projectile - :ensure t - :init - (setq helm-projectile-fuzzy-match t) - :config - (helm-projectile-on)) - -;; All The Icons -(use-package all-the-icons :ensure t) - -;; Which Key -(use-package which-key - :ensure t - :init - (setq which-key-separator " ") - (setq which-key-prefix-prefix "+") - :config - (which-key-mode)) - -;; Git Support -(use-package magit - :defer t) -(use-package evil-magit - :defer t) -(use-package magit-gitflow - :defer t) -(use-package helm-git-grep - :defer t) -(use-package helm-gitignore - :defer t) -(use-package git-commit - :defer t) -(use-package git-messenger - :defer t - :config - (define-key git-messenger-map [escape] 'git-messenger:popup-close)) -(use-package gitattributes-mode - :defer t) -(use-package gitconfig-mode - :defer t) -(use-package gitignore-mode - :defer t) -(use-package git-link - :defer t - :config - (setq git-link-open-in-browser t)) -(use-package git-gutter - :defer t - :config - (global-git-gutter-mode +1)) -(use-package gitignore-templates - :defer t) - -;; See below 3 links for why config has been set like this -;; https://stackoverflow.com/questions/25517190/missing-complete-candidate-for-verilog-mode-with-company-mode -;; https://github.com/flycheck/flycheck/issues/740 -;; https://github.com/flycheck/flycheck/issues/1250 -(use-package verilog-mode - :defer t - :config - (add-to-list 'company-keywords-alist (cons 'verilog-mode verilog-keywords)) - (setq flycheck-verilog-verilator-executable "verilator_bin")) - -;; Custom keybinding -(use-package general - :ensure t - :init - (setq general-override-states '(insert - emacs - hybrid - normal - visual - motion - operator - replace)) - :config - (general-define-key - :states '(normal visual insert emacs) - :prefix "SPC" - :non-normal-prefix "M-SPC" - "TAB" '(switch-to-prev-buffer - :which-key "previous buffer") - "SPC" '(helm-M-x :which-key "M-x") - ;; fuzzy search - "ff" '(fzf :which-key "fuzzy file search") - ;; Projectile - "/" '(helm-projectile-rg - :which-key "ripgrep") - "pf" '(helm-projectile-find-file - :which-key "find files") - "pF" '(helm-projectile-find-file-dwim - :which-key "find files dwim") - "pp" '(helm-projectile-switch-project - :which-key "switch project") - "pb" '(helm-projectile-switch-to-buffer - :which-key "switch buffer") - "pr" '(helm-projectile-recent - :which-key "show recent") - "pd" '(helm-projectile-find-dir - :which-key "find dir") - "ph" '(helm-projectile - :which-key "helm projectile") - ;; Buffers - "bb" '(helm-mini :which-key "buffers list") - ;; Window - "wl" '(windmove-right :which-key "move right") - "wh" '(windmove-left :which-key "move left") - "wk" '(windmove-up :which-key "move up") - "wj" '(windmove-down :which-key "move bottom") - "w/" '(split-window-right :which-key "split right") - "w-" '(split-window-below :which-key "split bottom") - "wx" '(delete-window :which-key "delete window") - "qz" '(delete-frame :which-key "delete frame") - "qq" '(kill-emacs :which-key "quit") - "qr" '(restart-emacs :which-key "restart emacs") - ;; Others - "at" '(eshell :which-key "open terminal") - ;; Magit key bindings - "gc" '(magit-clone - :which-key "magit clone") - "gff" '(magit-find-file - :which-key "magit find file") - "gfl" '(magit-log-buffer-file - :which-key "magit log buffer file") - "gfd" '(magit-diff-dwim - :which-key "magit diff buffer file popup") - "gi" '(magit-init - :which-key "magit initialize") - "gL" '(magit-list-repositories - :which-key "magit list repositories") - "gm" '(magit-dispatch-popup - :which-key "magit dispatch popup") - "gs" '(magit-status - :which-key "open Magit status buffer") - "gS" '(magit-stage-file - :which-key "magit stage file") - "gU" '(magit-unstage-file - :which-key "magit unstage file") - "g/" '(helm-git-grep - :which-key "open helm git grep") - "g*" '(helm-git-grep-at-point - :which-key "open helm git grep at point") - "gI" '(helm-gitignore - :which-key "helm gitignore") - "%" 'magit-gitflow-popup - "gti" 'gitignore-templates-insert - "gtn" 'gitignore-templates-new-file - "gM" 'git-messenger:popup-message - "gll" 'spacemacs/git-link - "glL" 'spacemacs/git-link-copy-url-only - "glc" 'spacemacs/git-link-commit - "glC" 'spacemacs/git-link-commit-copy-url-only - ;; evil nerd commenter - "ci" 'evilnc-comment-or-uncomment-lines - "cl" 'evilnc-quick-comment-or-uncomment-to-the-line - "ll" 'evilnc-quick-comment-or-uncomment-to-the-line - "cc" 'evilnc-copy-and-comment-lines - "cp" 'evilnc-comment-or-uncomment-paragraphs - "cr" 'comment-or-uncomment-region - "cv" 'evilnc-toggle-invert-comment-line-by-line - "." 'evilnc-copy-and-comment-operator - "\\" 'evilnc-comment-operator - "jb" 'avy-pop-mark - "jj" 'evil-avy-goto-char-timer - "jl" 'evil-avy-goto-line - "jw" 'evil-avy-goto-word-or-subword-1 - ;; dumb jump - "dg" 'dumb-jump-go - "dp" 'dump-jump-back - "dq" 'dump-jump-quick-look - "dw" 'dumb-jump-go-other-window - "de" 'dumb-jump-go-prefer-external - "do" 'dumb-jump-go-prefer-external-other-window - "dp" 'dumb-jump-go-prompt - ;; xref - "xv" 'visit-tags-table - "xd" 'xref-find-definitions - "xr" 'xref-find-references - "xa" 'xref-find-apropos - "xf" 'xref-find-definitions-other-frame - "xp" 'xref-pop-marker-stack - "xq" 'xref-query-replace-in-results - "xs" 'tags-search)) - -(general-define-key - :states '(normal visual emacs) - :prefix "SPC m" - :keymaps 'haskell-mode-map - ;; Haskell bindings - "f" '(hindent-reformat-decl - :which-key "format declaration using hindent") - "F" '(haskell-mode-stylish-buffer - :which-key "format buffer using haskell stylish") - "rb" '(hlint-refactor-refactor-buffer - :which-key "apply all hlint suggestions") - "rr" '(hlint-refactor-refactor-at-point - :which-key "apply hlint suggestion under cursor")) - -(general-define-key - :states '(normal visual emacs) - :prefix "SPC m" - :keymaps 'rust-mode-map - "c." '(cargo-process-repeat - :which-key "repeat the last cargo command") - "cC" '(cargo-process-clean - :which-key "remove build artifacts with cargo") - "cX" '(cargo-process-run-example - :which-key "execute project example with cargo") - "cc" '(cargo-process-build - :which-key "compile project with cargo") - "cd" '(cargo-process-doc - :which-key "generate documentation with cargo") - "cD" '(cargo-process-doc-open - :which-key "open cargo docs") - "ce" '(cargo-process-bench - :which-key "run benchmarks with cargo") - "cf" '(cargo-process-fmt - :which-key "format all project files with rustfmt") - "ci" '(cargo-process-init - :which-key "create a new project with cargo") - "cl" '(cargo-process-clippy - :which-key "run linter with cargo") - "cn" '(cargo-process-new - :which-key "create new project with cargo") - "co" '(cargo-process-current-file-tests - :which-key "run all tests in current file with cargo") - "cs" '(cargo-process-search - :which-key "search for packages on crates.io") - "ct" '(cargo-process-current-test - :which-key "run the current test with cargo") - "cu" '(cargo-process-update - :which-key "update dependencies with cargo") - "cx" '(cargo-process-run - :which-key "execute a process with cargo") - "cv" '(cargo-process-check - :which-key "verify a project with cargo") - "t" '(cargo-process-test - :which-key "run test with cargo") - "==" '(rust-format-buffer - :which-key "rust reformat the buffer")) - -(general-define-key - :states '(normal visual emacs) - :prefix "SPC m" - :keymaps 'lisp-mode-map - "cc" '(slime-compile-file - :which-key "compile file") - "cC" '(slime-compile-and-load-file - :which-key "compile file and load") - "cl" '(slime-load-file - :which-key "load file") - "cf" '(slime-compile-defun - :which-key "compile function") - "cr" '(slime-compile-region - :which-key "compile region") - "cn" '(slime-remove-notes - :which-key "remove compilation notes") - - "eb" '(slime-eval-buffer - :which-key "evaluate buffer") - "ef" '(slime-eval-defun - :which-key "evaluate top level sexpr") - "eF" '(slime-undefine-function - :which-key "undefine the fn at point") - "ee" '(slime-eval-last-expression - :which-key "evaluate last sexpr") - "er" '(slime-eval-region - :which-key "evaluate region") - - "gb" '(slime-pop-find-definition-stack - :which-key "go back") - "gn" '(slime-next-note - :which-key "next note") - "gN" '(slime-previous-note - :which-key "previous note") - - "ha" '(slime-apropos - :which-key "SLIME appropos") - "hA" '(slime-apropos-all - :which-key "SLIME appropos all") - "hd" '(slime-disassemble-symbol - :which-key "disassemble symbol at point") - "hh" '(slime-describe-symbol - :which-key "describe symbol at point") - "hH" '(slime-hyperspec-lookup - :which-key "hyperspec lookup symbol at point") - "hi" '(slime-inspect-definition - :which-key "inspect defintion") - "hp" '(slime-apropos-package - :which-key "browse appropos results for package's exported symbols") - "ht" '(slime-toggle-trace-definition - :which-key "toggle tracing of function at point") - "hT" '(slime-untrace-all - :which-key "untrace all functions") - "h<" '(slime-who-calls - :which-key "show all known callers") - "h>" '(slime-calls-who - :which-key "show all known callees") - - "hr" '(slime-who-references - :which-key "show references to global variable") - "hm" '(slime-who-macroexpands - :which-key "show all usages of a macro") - "hs" '(slime-who-specializes - :which-key "show all methods specialized on a class") - - "ma" '(slime-macroexpand-all - :which-key "macroexpand the expr at point completely") - "mo" '(slime-macroexpand-1 - :which-key "macroexpand the expr at point once") - - "se" '(slime-eval-last-expression-in-repl - :which-key "evaluate last sexpr in repl") - "si" '(slime - :which-key "start an inferior process") - "sq" '(slime-quit-lisp - :which-key "quit") - - "tf" '(slime-toggle-fancy-trace)) - -(general-define-key - :states '(normal visual emacs) - :prefix "SPC m" - :keymaps 'scheme-mode-map - "'" '(geiser-mode-switch-to-repl) - "," '(lisp-state-toggle-lisp-state) - "cc" '(geiser-compile-current-buffer - :which-key "compile current buffer") - "cp" '(geiser-add-to-load-path - :which-key "add directory to load path") - - "eb" '(geiser-eval-buffer - :which-key "evaluate the whole buffer") - "ee" '(geiser-eval-last-sexp - :which-key "evaluate last sexp") - "ef" '(geiser-eval-definition - :which-key "evaluate current function") - "el" '(lisp-state-eval-sexp-end-of-line - :which-key "evaluate line") - "er" '(geiser-eval-region - :which-key "evaluate region") - - "gb" '(geiser-pop-symbol-stack - :which-key "go back") - "gm" '(geiser-edit-module - :which-key "goto module") - "gn" '(next-error - :which-key "next error") - "gN" '(previous-error - :which-key "previous error") - - "hh" '(geiser-doc-symbol-at-point - :which-key "docs for symbol at point") - "hd" '(geiser-doc-look-up-manual - :which-key "look up manual entry for symbol at point") - "hm" '(geiser-doc-module - :which-key "display exports for module") - "h<" '(geiser-xref-callers - :which-key "display callers") - "h>" '(geiser-xref-callees - :which-key "display callees") - - "il" '(geiser-insert-lambda - :which-key "insert lambda") - - "me" '(geiser-expand-last-sexp - :which-key "macroexpand last sexp") - "mf" '(geiser-expand-definition - :which-key "macroexpand surrounding sexp") - "mx" '(geiser-expand-region - :which-key "macroexpand region") - - "si" '(geiser-mode-switch-to-repl - :which-key "start or switch to repl") - "sb" '(geiser-eval-buffer - :which-key "send buffer to repl") - "sB" '(geiser-eval-buffer-and-go - :which-key "send buffer to repl and focus it") - "sf" '(geiser-eval-definition - :which-key "send definition to repl") - "sF" '(geiser-eval-definition-and-go - :which-key "send definition to repl and focus it") - "se" '(geiser-eval-last-sexp - :which-key "send last sexp to repl") - "sr" '(geiser-eval-region - :which-key "send region to repl") - "sR" '(geiser-eval-region-and-go - :which-key "send region to repl and focus it") - "ss" '(geiser-set-scheme - :which-key "select scheme implementation")) - -;(general-define-key - ;:states '(normal visual emacs) - ;:prefix "SPC m" - ;:keymaps 'go-mode-map - ;"hh" '(godoc-at-point - ;:which-key "godoc at point") - ;"ig" '(go-goto-imports - ;:which-key "goto imports") - ;"ia" '(go-import-add - ;:which-key "add imports") - ;"ir" '(go-remove-unused-imports - ;:which-key "remove unused imports") - ;"eb" '(go-play-buffer - ;:which-key "go-play buffer") - ;"er" '(go-play-region - ;:which-key "go-play region") - ;"ed" '(go-download-play - ;:which-key "download go-play snippet") - ;"xx" '(go-run-main - ;:which-key "run go run for current main package") - ;"ga" '(ff-find-other-file - ;:which-key "jump to matching test file or back") - ;"gc" '(go-coverage - ;:which-key "open a clone of buffer with coverage info") - ;"rn" '(go-rename - ;:which-key "go rename") - - ;"fd" '(go-guru-describe - ;:which-key "go-guru describe symbol at point") - ;"ff" '(go-guru-freevars - ;:which-key "go-guru show free variables") - ;"fi" '(go-guru-implements - ;:which-key "go-guru show implements relation") - ;"fc" '(go-guru-peers - ;:which-key "go-guru show channel sends/receives") - ;"fr" '(go-guru-referrers - ;:which-key "go-guru show referrers") - ;"fj" '(go-guru-definition - ;:which-key "go-guru jump to symbol definition") - ;"fp" '(go-guru-pointsto - ;:which-key "go-guru show what select expr points to") - ;"fs" '(go-guru-callstack - ;:which-key "go-guru show call stack") - ;"fe" '(go-guru-whicherrs - ;:which-key "go-guru show possible constants/types for error value") - ;"f<" '(go-guru-callers - ;:which-key "go-guru show possible callers") - ;"f>" '(go-guru-callees - ;:which-key "go-guru show call targets") - ;"fo" '(go-guru-set-scope - ;:which-key "go-guru set analysis scope")) - -;; custom functions -(defun spacemacs/git-link-copy-url-only () - "Only copy the generated link to the kill ring." - (interactive) - (let (git-link-open-in-browser) - (call-interactively 'spacemacs/git-link))) - -(defun spacemacs/git-link-commit-copy-url-only () - "Only copy the generated link to the kill ring." - (interactive) - (let (git-link-open-in-browser) - (call-interactively 'spacemacs/git-link-commit))) - -(defun spacemacs/git-link () - "Allow the user to run git-link in a git-timemachine buffer." - (interactive) - (require 'git-link) - (if (and (boundp 'git-timemachine-revision) - git-timemachine-revision) - (cl-letf (((symbol-function 'git-link--branch) - (lambda () - (car git-timemachine-revision)))) - (call-interactively 'git-link)) - (call-interactively 'git-link))) - -(defun spacemacs/git-link-commit () - "Allow the user to run git-link-commit in a git-timemachine buffer." - (interactive) - (require 'git-link) - (if (and (boundp 'git-timemachine-revision) - git-timemachine-revision) - (cl-letf (((symbol-function 'word-at-point) - (lambda () - (car git-timemachine-revision)))) - (call-interactively 'git-link-commit)) - (call-interactively 'git-link-commit))) - -(defun go-run-main () - (interactive) - (shell-command - (format "go run %s" - (shell-quote-argument (buffer-file-name))))) - -;; Fancy titlebar for MacOS -(add-to-list 'default-frame-alist '(ns-transparent-titlebar . t)) -(add-to-list 'default-frame-alist '(ns-appearance . dark)) -(setq ns-use-proxy-icon nil) -(setq frame-title-format nil) - -;; Flycheck -(use-package flycheck - :ensure t - :init (global-flycheck-mode)) -;; To disable flycheck while working with this file -(setq-default flycheck-disabled-checkers '(emacs-lisp-checkdoc)) - -;; Company mode -(use-package company - :ensure t - :diminish "⇥" - :init - (add-hook 'after-init-hook 'global-company-mode) - (setq company-minimum-prefix-length 3) - (setq company-auto-complete nil) - (setq company-idle-delay 0) - (setq company-require-match 'never) - (setq company-frontends - '(company-pseudo-tooltip-unless-just-one-frontend - company-preview-frontend company-echo-metadata-frontend)) - (setq tab-always-indent 'complete) - (defvar completion-at-point-functions-saved nil) - :config - (global-company-mode 1) - (define-key company-active-map (kbd "TAB") - 'company-complete-common-or-cycle) - (define-key company-active-map (kbd "") - 'company-complete-common-or-cycle) - (define-key company-active-map (kbd "S-TAB") - 'company-select-previous) - (define-key company-active-map (kbd "") - 'company-select-previous) - (define-key company-mode-map [remap indent-for-tab-command] - 'company-indent-for-tab-command) - (defun company-indent-for-tab-command (&optional arg) - (interactive "P") - (let ((completion-at-point-functions-saved completion-at-point-functions) - (completion-at-point-functions '(company-complete-common-wrapper))) - (indent-for-tab-command arg))) - - (defun company-complete-common-wrapper () - (let ((completion-at-point-functions completion-at-point-functions-saved)) - (company-complete-common)))) - -(use-package company-quickhelp - :init - (company-quickhelp-mode 1)) - -;; Powerline -(use-package spaceline - :ensure t - :init - (setq powerline-default-separator 'slant) - :config - (spaceline-emacs-theme) - (spaceline-toggle-minor-modes-off) - (spaceline-toggle-buffer-size-off) - (spaceline-toggle-evil-state-on)) - -;;; Language Support - -;; Haskell support -(use-package haskell-mode - :defer t - :init - (electric-indent-mode 0) - :custom - ((haskell-process-type 'stack-ghci) - (haskell-process-suggest-remove-import-lines t) - (haskell-process-auto-import-loaded-modules t) - (haskell-process-log t) - (haskell-stylish-on-save t) - - (haskell-indentation-layout-offset 4) - (haskell-indentation-starter-offset 4) - (haskell-indentation-left-offset 4) - (haskell-indentation-where-pre-offset 4) - (haskell-indentation-where-post-offset 4))) -(use-package flycheck-haskell - :defer t - :config - (setq-default flycheck-disabled-checkers '(haskell-stack-ghc)) - :hook - (haskell-mode . #'flycheck-haskell-setup)) -(use-package company-ghci - :defer t - :config - (push 'company-ghci company-backends) - :hook - (haskell-interactive-mode . company-mode)) -(use-package hindent - :defer t - :config - (setq-default hindent-reformat-buffer-on-save t) - :hook - (haskell-mode . #'hindent-mode)) -(use-package hlint-refactor - :defer t) -(use-package rainbow-delimiters - :ensure t - :hook - (prog-mode-hook . rainbow-delimiters-mode)) - -;; Rust support -(use-package rust-mode - :defer t - :ensure t - :config - (setq rust-format-on-save t)) -(use-package racer - :defer t - :hook - ((rust-mode . racer-mode) - (racer-mode . eldoc-mode) - (racer-mode . company-mode))) -(use-package cargo - :defer t) - -;; LISP support -(use-package evil-cleverparens - :ensure t) -(use-package parinfer - :ensure t - :init - (progn - (setq parinfer-extensions '(defaults - pretty-parens - evil - paredit - smart-tab - smart-yank))) - :hook - ((emacs-lisp-mode . parinfer-mode) - (common-lisp-mode . parinfer-mode) - (lisp-mode . parinfer-mode) - (scheme-mode . parinfer-mode))) -(use-package slime - :commands slime-mode - :init - (progn - (setq slime-contribs '(slime-asdf - slime-fancy - slime-indentation - slime-sbcl-exts - slime-scratch) - inferior-lisp-program "sbcl") - (setq slime-complete-symbol*-fancy t) - (setq slime-complete-symbol-function 'slime-fuzzy-complete-symbol) - (defun slime/disable-smartparens () - (smartparens-strict-mode -1) - (turn-off-smartparens-mode)) - (add-hook 'slime-repl-mode-hook #'slime/disable-smartparens)) - :config - (slime-setup)) - -;; scheme support -(use-package geiser - :defer t - :commands run-geiser - :hook - (scheme-mode . company-mode)) - -;; go support -;(use-package company-go - ;:defer t - ;:init - ;(progn - ;(setq company-go-show-annotation t) - ;(push 'company-go company-backends))) -;(use-package go-impl - ;:defer t) -;(use-package go-guru - ;:defer t) -;(use-package go-mode - ;:defer t - ;:init - ;(setq-local tab-width 8) - ;:config - ;(add-hook 'before-save-hook 'gofmt-before-save) - ;:hook - ;(go-mode . company-mode)) - -;;; init.el ends diff --git a/spacemacs b/spacemacs deleted file mode 100644 index eb2b304..0000000 --- a/spacemacs +++ /dev/null @@ -1,301 +0,0 @@ -;; -*- mode: emacs-lisp -*- -;; This file is loaded by Spacemacs at startup. -;; It must be stored in your home directory. - -(defun dotspacemacs/layers () - "Configuration Layers declaration. -You should not put any user code in this function besides modifying the variable -values." - (setq-default - ;; Base distribution to use. This is a layer contained in the directory - ;; `+distribution'. For now available distributions are `spacemacs-base' - ;; or `spacemacs'. (default 'spacemacs) - dotspacemacs-distribution 'spacemacs - ;; List of additional paths where to look for configuration layers. - ;; Paths must have a trailing slash (i.e. `~/.mycontribs/') - dotspacemacs-configuration-layer-path '() - ;; List of configuration layers to load. If it is the symbol `all' instead - ;; of a list then all discovered layers will be installed. - dotspacemacs-configuration-layers - '(shell-scripts - asm - ;; ---------------------------------------------------------------- - ;; Example of useful layers you may want to use right away. - ;; Uncomment some layer names and press (Vim style) or - ;; (Emacs style) to install them. - ;; ---------------------------------------------------------------- - ;; better-defaults - ;; spell-checking - ;; syntax-checking - ;; version-control - auto-completion - git - markdown - (shell :variables - shell-default-height 30 - shell-default-position 'bottom - shell-default-shell 'eshell - shell-enable-smart-eshell t) - haskell - idris - rust - emacs-lisp - c-c++ - python - gtags - latex - ) - ;; List of additional packages that will be installed without being - ;; wrapped in a layer. If you need some configuration for these - ;; packages then consider to create a layer, you can also put the - ;; configuration in `dotspacemacs/config'. - dotspacemacs-additional-packages '() - ;; A list of packages and/or extensions that will not be install and loaded. - dotspacemacs-excluded-packages '() - ;; If non-nil spacemacs will delete any orphan packages, i.e. packages that - ;; are declared in a layer which is not a member of - ;; the list `dotspacemacs-configuration-layers'. (default t) - dotspacemacs-delete-orphan-packages t)) - -(defun dotspacemacs/init () - "Initialization function. -This function is called at the very startup of Spacemacs initialization -before layers configuration. -You should not put any user code in there besides modifying the variable -values." - ;; This setq-default sexp is an exhaustive list of all the supported - ;; spacemacs settings. - (setq-default - ;; One of `vim', `emacs' or `hybrid'. Evil is always enabled but if the - ;; variable is `emacs' then the `holy-mode' is enabled at startup. `hybrid' - ;; uses emacs key bindings for vim's insert mode, but otherwise leaves evil - ;; unchanged. (default 'vim) - dotspacemacs-editing-style 'vim - ;; If non nil output loading progress in `*Messages*' buffer. (default nil) - dotspacemacs-verbose-loading nil - ;; Specify the startup banner. Default value is `official', it displays - ;; the official spacemacs logo. An integer value is the index of text - ;; banner, `random' chooses a random text banner in `core/banners' - ;; directory. A string value must be a path to an image format supported - ;; by your Emacs build. - ;; If the value is nil then no banner is displayed. (default 'official) - dotspacemacs-startup-banner 'official - ;; List of items to show in the startup buffer. If nil it is disabled. - ;; Possible values are: `recents' `bookmarks' `projects'. - ;; (default '(recents projects)) - dotspacemacs-startup-lists '(recents projects) - ;; List of themes, the first of the list is loaded when spacemacs starts. - ;; Press T n to cycle to the next theme in the list (works great - ;; with 2 themes variants, one dark and one light) - dotspacemacs-themes '(monokai - spacemacs-dark - spacemacs-light - solarized-light - solarized-dark - leuven - zenburn) - ;; If non nil the cursor color matches the state color. - dotspacemacs-colorize-cursor-according-to-state t - ;; Default font. `powerline-scale' allows to quickly tweak the mode-line - ;; size to make separators look not too crappy. - dotspacemacs-default-font '("Cantarell" - :size 16 - :weight normal - :width normal - :powerline-scale 1.1) - ;; The leader key - dotspacemacs-leader-key "SPC" - ;; The leader key accessible in `emacs state' and `insert state' - ;; (default "M-m") - dotspacemacs-emacs-leader-key "M-m" - ;; Major mode leader key is a shortcut key which is the equivalent of - ;; pressing ` m`. Set it to `nil` to disable it. (default ",") - dotspacemacs-major-mode-leader-key "," - ;; Major mode leader key accessible in `emacs state' and `insert state'. - ;; (default "C-M-m) - dotspacemacs-major-mode-emacs-leader-key "C-M-m" - ;; The command key used for Evil commands (ex-commands) and - ;; Emacs commands (M-x). - ;; By default the command key is `:' so ex-commands are executed like in Vim - ;; with `:' and Emacs commands are executed with ` :'. - dotspacemacs-command-key ":" - ;; If non nil `Y' is remapped to `y$'. (default t) - dotspacemacs-remap-Y-to-y$ t - ;; Location where to auto-save files. Possible values are `original' to - ;; auto-save the file in-place, `cache' to auto-save the file to another - ;; file stored in the cache directory and `nil' to disable auto-saving. - ;; (default 'cache) - dotspacemacs-auto-save-file-location nil - ;; If non nil then `ido' replaces `helm' for some commands. For now only - ;; `find-files' (SPC f f), `find-spacemacs-file' (SPC f e s), and - ;; `find-contrib-file' (SPC f e c) are replaced. (default nil) - dotspacemacs-use-ido nil - ;; If non nil, `helm' will try to miminimize the space it uses. (default nil) - dotspacemacs-helm-resize nil - ;; if non nil, the helm header is hidden when there is only one source. - ;; (default nil) - dotspacemacs-helm-no-header nil - ;; define the position to display `helm', options are `bottom', `top', - ;; `left', or `right'. (default 'bottom) - dotspacemacs-helm-position 'bottom - ;; If non nil the paste micro-state is enabled. When enabled pressing `p` - ;; several times cycle between the kill ring content. (default nil) - dotspacemacs-enable-paste-micro-state nil - ;; Which-key delay in seconds. The which-key buffer is the popup listing - ;; the commands bound to the current keystroke sequence. (default 0.4) - dotspacemacs-which-key-delay 0.4 - ;; Which-key frame position. Possible values are `right', `bottom' and - ;; `right-then-bottom'. right-then-bottom tries to display the frame to the - ;; right; if there is insufficient space it displays it at the bottom. - ;; (default 'bottom) - dotspacemacs-which-key-position 'bottom - ;; If non nil a progress bar is displayed when spacemacs is loading. This - ;; may increase the boot time on some systems and emacs builds, set it to - ;; nil to boost the loading time. (default t) - dotspacemacs-loading-progress-bar t - ;; If non nil the frame is fullscreen when Emacs starts up. (default nil) - ;; (Emacs 24.4+ only) - dotspacemacs-fullscreen-at-startup nil - ;; If non nil `spacemacs/toggle-fullscreen' will not use native fullscreen. - ;; Use to disable fullscreen animations in OSX. (default nil) - dotspacemacs-fullscreen-use-non-native nil - ;; If non nil the frame is maximized when Emacs starts up. - ;; Takes effect only if `dotspacemacs-fullscreen-at-startup' is nil. - ;; (default nil) (Emacs 24.4+ only) - dotspacemacs-maximized-at-startup nil - ;; A value from the range (0..100), in increasing opacity, which describes - ;; the transparency level of a frame when it's active or selected. - ;; Transparency can be toggled through `toggle-transparency'. (default 90) - dotspacemacs-active-transparency 90 - ;; A value from the range (0..100), in increasing opacity, which describes - ;; the transparency level of a frame when it's inactive or deselected. - ;; Transparency can be toggled through `toggle-transparency'. (default 90) - dotspacemacs-inactive-transparency 90 - ;; If non nil unicode symbols are displayed in the mode line. (default t) - dotspacemacs-mode-line-unicode-symbols t - ;; If non nil smooth scrolling (native-scrolling) is enabled. Smooth - ;; scrolling overrides the default behavior of Emacs which recenters the - ;; point when it reaches the top or bottom of the screen. (default t) - dotspacemacs-smooth-scrolling t - ;; If non-nil smartparens-strict-mode will be enabled in programming modes. - ;; (default nil) - dotspacemacs-smartparens-strict-mode nil - ;; Select a scope to highlight delimiters. Possible values are `any', - ;; `current', `all' or `nil'. Default is `all' (highlight any scope and - ;; emphasis the current one). (default 'all) - dotspacemacs-highlight-delimiters 'all - ;; If non nil advises quit functions to keep server open when quitting. - ;; (default nil) - dotspacemacs-persistent-server nil - ;; List of search tool executable names. Spacemacs uses the first installed - ;; tool of the list. Supported tools are `ag', `pt', `ack' and `grep'. - ;; (default '("ag" "pt" "ack" "grep")) - dotspacemacs-search-tools '("ag" "pt" "ack" "grep") - ;; The default package repository used if no explicit repository has been - ;; specified with an installed package. - ;; Not used for now. (default nil) - dotspacemacs-default-package-repository nil - )) - -(defun dotspacemacs/user-init () - "Initialization function for user code. -It is called immediately after `dotspacemacs/init'. You are free to put any -user code." - ) - -(defun dotspacemacs/user-config () - "Configuration function for user code. - This function is called at the very end of Spacemacs initialization after -layers configuration. You are free to put any user code." - - (setq-default xterm-query-timeout nil) - (require 'helm-bookmark) - (xterm-mouse-mode -1) - (setq-default tab-width 8 indent-tabs-mode t) - (global-set-key (kbd "TAB") 'self-insert-command) - (when (fboundp 'electric-indent-mode) (electric-indent-mode -1)) - - (global-auto-revert-mode t) - (windmove-default-keybindings) - (setq windmove-wrap-around t) - - (setq TeX-view-program-selection '((output-pdf "Evince"))) - (setq TeX-source-correlate-mode t) - (setq TeX-source-correlate-start-server t) - (setq TeX-source-correlate-method 'synctex) - (setq TeX-engine 'xetex) - - (require 'desktop) - - (defvar my-desktop-session-dir - (concat (getenv "HOME") "/.emacs.d/desktop-sessions/") - "*Directory to save desktop sessions in") - - (defvar my-desktop-session-name-hist nil - "Desktop session name history") - - (defun my-desktop-save (&optional name) - "Save desktop by name." - (interactive) - (unless name - (setq name (my-desktop-get-session-name "Save session" t))) - (when name - (make-directory (concat my-desktop-session-dir name) t) - (desktop-save (concat my-desktop-session-dir name) t))) - - (defun my-desktop-save-and-clear () - "Save and clear desktop." - (interactive) - (call-interactively 'my-desktop-save) - (desktop-clear) - (setq desktop-dirname nil)) - - (defun my-desktop-read (&optional name) - "Read desktop by name." - (interactive) - (unless name - (setq name (my-desktop-get-session-name "Load session"))) - (when name - (desktop-clear) - (desktop-read (concat my-desktop-session-dir name)))) - - (defun my-desktop-change (&optional name) - "Change desktops by name." - (interactive) - (let ((name (my-desktop-get-current-name))) - (when name - (my-desktop-save name)) - (call-interactively 'my-desktop-read))) - - (defun my-desktop-name () - "Return the current desktop name." - (interactive) - (let ((name (my-desktop-get-current-name))) - (if name - (message (concat "Desktop name: " name)) - (message "No named desktop loaded")))) - - (defun my-desktop-get-current-name () - "Get the current desktop name." - (when desktop-dirname - (let ((dirname (substring desktop-dirname 0 -1))) - (when (string= (file-name-directory dirname) my-desktop-session-dir) - (file-name-nondirectory dirname))))) - - (defun my-desktop-get-session-name (prompt &optional use-default) - "Get a session name." - (let* ((default (and use-default (my-desktop-get-current-name))) - (full-prompt (concat prompt (if default - (concat " (default " default "): ") - ": ")))) - (completing-read full-prompt (and (file-exists-p my-desktop-session-dir) - (directory-files my-desktop-session-dir)) - nil nil nil my-desktop-session-name-hist default))) - - (define-key global-map "\M-[1~" 'beginning-of-line) - (define-key global-map [select] 'end-of-line) - - ) - -;; Do not write anything past this comment. This is where Emacs will -;; auto-generate custom variable definitions. diff --git a/xmonad/xmobar.hs b/xmonad/xmobar.hs deleted file mode 100644 index 5128f10..0000000 --- a/xmonad/xmobar.hs +++ /dev/null @@ -1,48 +0,0 @@ --- xmobar config originally from Vic Fryzel --- Author: Vic Fryzel --- Changes by: Sanchayan Maity --- http://github.com/SanchayanMaity/xmonad-config - --- This is setup for dual 1920x1080 monitors, with the right monitor as primary -Config { - font = "xft:Ubuntu Mono:size=12:antialias=true", - bgColor = "#000000", - fgColor = "#ffffff", - position = BottomW C 100, - lowerOnStart = True, - commands = [ - Run MultiCpu ["-t", - "Cpu: ", - "-L","30", - "-H","60", - "-h","#FFB6B0", - "-l","#CEFFAC", - "-n","#FFFFCC", - "-w","3"] 10, - Run BatteryP ["BAT0"] - ["-t", " (%)", - "-L", "10", "-H", "80", "-p", "3", - "--", "-O", "On - ", "-i", "", - "-L", "-15", "-H", "-5", - "-l", "red", "-m", "blue", "-h", "green"] 600, - Run Memory ["-t", - "Mem: %", - "-H","8192", - "-L","4096", - "-h","#FFB6B0", - "-l","#CEFFAC", - "-n","#FFFFCC"] 10, - Run Swap ["-t", - "Swap: %", - "-H","1024", - "-L","512", - "-h","#FFB6B0", - "-l","#CEFFAC", - "-n","#FFFFCC"] 10, - Run Date "%a %b %_d %l:%M" "date" 10, - Run StdinReader - ], - sepChar = "%", - alignSep = "}{", - template = "%StdinReader% }{ %multicpu% %battery% %memory% %swap% %date%" -} diff --git a/xmonad/xmonad.hs b/xmonad/xmonad.hs deleted file mode 100644 index 66bcfd0..0000000 --- a/xmonad/xmonad.hs +++ /dev/null @@ -1,400 +0,0 @@ --- xmonad config originally from Vic Fryzel --- Author: Vic Fryzel --- Changes by: Sanchayan Maity --- http://github.com/SanchayanMaity/xmonad-config - -import System.IO -import System.Exit -import XMonad -import XMonad.Actions.CycleWS -import XMonad.Hooks.DynamicLog -import XMonad.Hooks.ManageDocks -import XMonad.Hooks.ManageHelpers -import XMonad.Hooks.SetWMName -import XMonad.Layout.Fullscreen -import XMonad.Layout.NoBorders -import XMonad.Layout.Spiral -import XMonad.Layout.Tabbed -import XMonad.Layout.ThreeColumns -import XMonad.Layout.IndependentScreens -import XMonad.Util.Run(spawnPipe) -import XMonad.Util.EZConfig(additionalKeys) -import Graphics.X11.ExtraTypes.XF86 -import qualified XMonad.StackSet as W -import qualified Data.Map as M - - ------------------------------------------------------------------------- --- Terminal --- The preferred terminal program, which is used in a binding below and by --- certain contrib modules. --- -myTerminal = "/usr/bin/urxvt" - --- The command to lock the screen or show the screensaver. -myScreensaver = "/usr/bin/gnome-screensaver-command --lock" - --- The command to take a selective screenshot, where you select --- what you'd like to capture on the screen. -mySelectScreenshot = "scrot ~/Pictures/%Y-%m-%d-%T-screenshot.png" - --- The command to take a fullscreen screenshot. -myScreenshot = "scrot ~/Pictures/%Y-%m-%d-%T-screenshot.png" - --- The command to use as a launcher, to launch commands that don't have --- preset keybindings. -myLauncher = "$(rofi -show run)" - - ------------------------------------------------------------------------- --- Workspaces --- The default number of workspaces (virtual screens) and their names. --- -myWorkspaces = ["1:okular","2:urxvt","3:web","4:code","5:urxvt","6:urxvt","7:urxvt","8:media","9:Misc"] - - ------------------------------------------------------------------------- --- Window rules --- Execute arbitrary actions and WindowSet manipulations when managing --- a new window. You can use this to, for example, always float a --- particular program, or have a client always appear on a particular --- workspace. --- --- To find the property name associated with a program, use --- > xprop | grep WM_CLASS --- and click on the client you're interested in. --- --- To match on the WM_NAME, you can use 'title' in the same way that --- 'className' and 'resource' are used below. --- -myManageHook = composeAll - [ className =? "Chromium" --> doFloat - , className =? "google-chrome" --> doFloat - , className =? "emacs" --> doFloat - , className =? "transmission-gtk" --> doFloat - , className =? "skypeforlinux" --> doFloat - , className =? "vlc" --> doFloat - , className =? "thunar" --> doFloat - , className =? "okular" --> doFloat - , resource =? "desktop_window" --> doIgnore - , className =? "kcalc" --> doFloat - , className =? "stalonetray" --> doIgnore - , isFullscreen --> (doF W.focusDown <+> doFullFloat)] - - ------------------------------------------------------------------------- --- Layouts --- You can specify and transform your layouts by modifying these values. --- If you change layout bindings be sure to use 'mod-shift-space' after --- restarting (with 'mod-q') to reset your layout state to the new --- defaults, as xmonad preserves your old layout settings by default. --- --- The available layouts. Note that each layout is separated by |||, --- which denotes layout choice. --- -myLayout = avoidStruts ( - ThreeColMid 1 (3/100) (1/2) ||| - Tall 1 (3/100) (1/2) ||| - Mirror (Tall 1 (3/100) (1/2)) ||| - tabbed shrinkText tabConfig ||| - Full ||| - spiral (6/7)) ||| - noBorders (fullscreenFull Full) - - ------------------------------------------------------------------------- --- Colors and borders --- Currently based on the ir_black theme. --- -myNormalBorderColor = "#7c7c7c" -myFocusedBorderColor = "#ffb6b0" - --- Colors for text and backgrounds of each tab when in "Tabbed" layout. -tabConfig = def { - activeBorderColor = "#7C7C7C", - activeTextColor = "#CEFFAC", - activeColor = "#000000", - inactiveBorderColor = "#7C7C7C", - inactiveTextColor = "#EEEEEE", - inactiveColor = "#000000" -} - --- Color of current window title in xmobar. -xmobarTitleColor = "#FFB6B0" - --- Color of current workspace in xmobar. -xmobarCurrentWorkspaceColor = "#CEFFAC" - --- Width of the window border in pixels. -myBorderWidth = 1 - - ------------------------------------------------------------------------- --- Key bindings --- --- modMask lets you specify which modkey you want to use. The default --- is mod1Mask ("left alt"). You may also consider using mod3Mask --- ("right alt"), which does not conflict with emacs keybindings. The --- "windows key" is usually mod4Mask. --- -myModMask = mod4Mask - -myKeys conf@(XConfig {XMonad.modMask = modMask}) = M.fromList $ - ---------------------------------------------------------------------- - -- Custom key bindings - -- - - -- Start a terminal. Terminal to start is specified by myTerminal variable. - [ ((modMask .|. shiftMask, xK_Return), - spawn $ XMonad.terminal conf) - - -- Lock the screen using command specified by myScreensaver. - , ((modMask .|. controlMask, xK_l), - spawn myScreensaver) - - -- Spawn the launcher using command specified by myLauncher. - -- Use this to launch programs without a key binding. - , ((modMask, xK_p), - spawn myLauncher) - - -- Take a selective screenshot using the command specified by mySelectScreenshot. - , ((modMask .|. shiftMask, xK_p), - spawn mySelectScreenshot) - - -- Take a full screenshot using the command specified by myScreenshot. - , ((modMask .|. controlMask .|. shiftMask, xK_p), - spawn myScreenshot) - - -- Mute volume. - , ((0, xF86XK_AudioMute), - spawn "amixer -q set Master toggle") - - -- Decrease volume. - , ((0, xF86XK_AudioLowerVolume), - spawn "amixer -q set Master 5%-") - - -- Increase volume. - , ((0, xF86XK_AudioRaiseVolume), - spawn "amixer -q set Master 5%+") - - -- Mute volume. - , ((modMask .|. controlMask, xK_m), - spawn "amixer -q set Master toggle") - - -- Decrease volume. - , ((modMask .|. controlMask, xK_j), - spawn "amixer -q set Master 10%-") - - -- Increase volume. - , ((modMask .|. controlMask, xK_k), - spawn "amixer -q set Master 10%+") - - -- Audio previous. - , ((0, 0x1008FF16), - spawn "") - - -- Play/pause. - , ((0, 0x1008FF14), - spawn "") - - -- Audio next. - , ((0, 0x1008FF17), - spawn "") - - -- Eject CD tray. - , ((0, 0x1008FF2C), - spawn "eject -T") - - -- Increase brightness. - , ((0, xF86XK_MonBrightnessUp), - spawn "exec xbacklight -inc 5") - - -- Decrease brightness. - , ((0, xF86XK_MonBrightnessDown), - spawn "exec xbacklight -dec 5") - -------------------------------------------------------------------- - -- "Standard" xmonad key bindings - -- - - -- Close focused window. - , ((modMask .|. shiftMask, xK_q), - kill) - - -- Cycle through the available layout algorithms. - , ((modMask, xK_space), - sendMessage NextLayout) - - -- Reset the layouts on the current workspace to default. - , ((modMask .|. shiftMask, xK_space), - setLayout $ XMonad.layoutHook conf) - - -- Resize viewed windows to the correct size. - , ((modMask, xK_n), - refresh) - - -- Move focus to the next window. - , ((modMask, xK_Tab), - windows W.focusDown) - - -- Move focus to the next window. - , ((modMask, xK_j), - windows W.focusDown) - - -- Move focus to the previous window. - , ((modMask, xK_k), - windows W.focusUp ) - - -- Move focus to the master window. - , ((modMask, xK_m), - windows W.focusMaster ) - - -- Swap the focused window and the master window. - , ((modMask, xK_Return), - windows W.swapMaster) - - -- Swap the focused window with the next window. - , ((modMask .|. shiftMask, xK_j), - windows W.swapDown ) - - -- Swap the focused window with the previous window. - , ((modMask .|. shiftMask, xK_k), - windows W.swapUp ) - - -- Shrink the master area. - , ((modMask, xK_h), - sendMessage Shrink) - - -- Expand the master area. - , ((modMask, xK_l), - sendMessage Expand) - - -- Push window back into tiling. - , ((modMask, xK_t), - withFocused $ windows . W.sink) - - -- Increment the number of windows in the master area. - , ((modMask, xK_comma), - sendMessage (IncMasterN 1)) - - -- Decrement the number of windows in the master area. - , ((modMask, xK_period), - sendMessage (IncMasterN (-1))) - - -- Toggle the status bar gap. - -- TODO: update this binding with avoidStruts, ((modMask, xK_b), - - -- Quit xmonad. - , ((modMask .|. shiftMask, xK_c), - io (exitWith ExitSuccess)) - - -- Restart xmonad. - , ((modMask, xK_q), - restart "xmonad" True) - ] - ++ - - -- mod-[1..9], Switch to workspace N - -- mod-shift-[1..9], Move client to workspace N - [((m .|. modMask, k), windows $ f i) - | (i, k) <- zip (XMonad.workspaces conf) [xK_1 .. xK_9] - , (f, m) <- [(W.view, 0), (W.shift, shiftMask)]] - ++ - - -- mod-{w,e,r}, Switch to physical/Xinerama screens 1, 2, or 3 - -- mod-shift-{w,e,r}, Move client to screen 1, 2, or 3 - [((m .|. modMask, key), screenWorkspace sc >>= flip whenJust (windows . f)) - | (key, sc) <- zip [xK_w, xK_e, xK_r] [0..] - , (f, m) <- [(W.view, 0), (W.shift, shiftMask)]] - ------------------------------------------------------------------------- --- Mouse bindings --- --- Focus rules --- True if your focus should follow your mouse cursor. -myFocusFollowsMouse :: Bool -myFocusFollowsMouse = True - -myMouseBindings (XConfig {XMonad.modMask = modMask}) = M.fromList $ - [ - -- mod-button1, Set the window to floating mode and move by dragging - ((modMask, button1), - (\w -> focus w >> mouseMoveWindow w)) - - -- mod-button2, Raise the window to the top of the stack - , ((modMask, button2), - (\w -> focus w >> windows W.swapMaster)) - - -- mod-button3, Set the window to floating mode and resize by dragging - , ((modMask, button3), - (\w -> focus w >> mouseResizeWindow w)) - - -- you may also bind events to the mouse scroll wheel (button4 and button5) - ] - - ------------------------------------------------------------------------- --- Status bars and logging --- Perform an arbitrary action on each internal state change or X event. --- See the 'DynamicLog' extension for examples. --- --- To emulate dwm's status bar --- --- > logHook = dynamicLogDzen --- - - ------------------------------------------------------------------------- --- Startup hook --- Perform an arbitrary action each time xmonad starts or is restarted --- with mod-q. Used by, e.g., XMonad.Layout.PerWorkspace to initialize --- per-workspace layout choices. --- --- By default, do nothing. -myStartupHook = - spawn "compton -f" - - ------------------------------------------------------------------------- --- Run xmonad with all the defaults we set up. --- -main = do - xmproc <- spawnPipe "xmobar ~/.xmonad/xmobar.hs" - xmonad $ defaults { - logHook = dynamicLogWithPP $ xmobarPP { - ppOutput = hPutStrLn xmproc - , ppTitle = xmobarColor xmobarTitleColor "" . shorten 100 - , ppCurrent = xmobarColor xmobarCurrentWorkspaceColor "" - , ppSep = " " - } - , manageHook = manageDocks <+> myManageHook - , startupHook = setWMName "LG3D" <+> myStartupHook - } - - ------------------------------------------------------------------------- --- Combine it all together --- A structure containing your configuration settings, overriding --- fields in the default config. Any you don't override, will --- use the defaults defined in xmonad/XMonad/Config.hs --- --- No need to modify this. --- -defaults = def { - -- simple stuff - terminal = myTerminal, - focusFollowsMouse = myFocusFollowsMouse, - borderWidth = myBorderWidth, - modMask = myModMask, - workspaces = myWorkspaces, - normalBorderColor = myNormalBorderColor, - focusedBorderColor = myFocusedBorderColor, - - -- key bindings - keys = myKeys, - mouseBindings = myMouseBindings, - - -- hooks, layouts - layoutHook = smartBorders $ myLayout, - manageHook = myManageHook, - startupHook = myStartupHook -}