init.el 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. ;; ----------- Default Variables -----------
  2. ;; Global variables
  3. (setq
  4. inhibit-startup-screen t
  5. column-number-mode t
  6. scroll-error-top-bottom t
  7. show-paren-delay 0.25)
  8. ;; Tab Config
  9. (setq tab-width 4)
  10. ;; ----------- Package Managing -----------
  11. ;; The package manager
  12. (require 'package)
  13. ;; Add package sources
  14. (setq
  15. package-archives '(("gnu" . "https://elpa.gnu.org/packages/")
  16. ("org" . "https://orgmode.org/elpa/")
  17. ("melpa" . "https://melpa.org/packages/")
  18. ("melpa-stable" . "https://stable.melpa.org/packages/"))
  19. package-archive-priorities '(("melpa-stable" . 1)))
  20. (package-initialize)
  21. (unless (package-installed-p 'use-package)
  22. (package-refresh-contents)
  23. (package-install 'use-package))
  24. (require 'use-package)
  25. (setq use-package-always-ensure t)
  26. ;; ----------- Ensime -----------
  27. ;; Java/Scala featues. Includes:
  28. ;; * Inferred types
  29. ;; * Autocomplete
  30. ;; * Syntax highlighting
  31. ;; * Jump to source/docs
  32. ;; * Refactoring
  33. ;; * Error detection
  34. (use-package ensime
  35. :pin melpa-stable)
  36. ; --------- C Syntax checker ---------
  37. (use-package flycheck-irony)
  38. ;; xTerm mouse support
  39. ;; Disable because it became annoying, sounds cool though.
  40. ;;
  41. ;;(require 'mouse)
  42. ;;(xterm-mouse-mode t)
  43. ;; ---------- Color Themes ----------
  44. (use-package color-theme
  45. ;; Investiigate: Fixes error about missing directory
  46. :init
  47. (unless (file-exists-p "~/.emacs.d/elpa/color-theme-20070910.1007/themes") (make-directory "~/.emacs.d/elpa/color-theme-20070910.1007/themes"))
  48. :config
  49. (color-theme-initialize))
  50. (use-package base16-theme
  51. :requires color-theme
  52. :config (load-theme 'base16-tomorrow-night t))
  53. ;; ------------ Web Mode ------------
  54. (use-package multi-web-mode
  55. :config
  56. (setq mweb-default-major-mode 'html-mode)
  57. (setq mweb-tags
  58. '((php-mode "<\\?php\\|<\\? \\|<\\?=" "\\?>")
  59. (js-mode "<script[^>]*>" "</script>")
  60. (css-mode "<style[^>]*>" "</style>")))
  61. (setq mweb-filename-extensions '("php" "htm" "html" "ctp" "phtml" "php4" "php5"))
  62. (multi-web-global-mode 1))
  63. ;; ------------ Git Mode ------------
  64. (use-package magit)
  65. ;; ----------- Rust Mode ------------
  66. (use-package rust-mode)
  67. (use-package rust-playground
  68. :requires rust-mode)
  69. (use-package cargo
  70. :requires rust-mode)
  71. (use-package flycheck-rust
  72. :requires rust-mode)
  73. ;; ----------- i3 Support ----------
  74. ;(if (equal (getenv "DESKTOP_SESSION") "i3")
  75. ; (use-package i3wm))
  76. ;; --------- Racket Mode ----------
  77. (use-package racket-mode)
  78. ;; --------- Scala Mode -----------
  79. (use-package scala-mode)
  80. ;; ---------- C# Mode -------------
  81. (use-package csharp-mode)
  82. ;; ---- StackOverflow Client ------
  83. ;(use-package sx)
  84. (custom-set-variables
  85. ;; custom-set-variables was added by Custom.
  86. ;; If you edit it by hand, you could mess it up, so be careful.
  87. ;; Your init file should contain only one such instance.
  88. ;; If there is more than one, they won't work right.
  89. '(package-selected-packages
  90. (quote
  91. (rust-mode rust-playground slime-volleyball use-package multi-web-mode magit ensime color-theme base16-theme))))
  92. (custom-set-faces
  93. ;; custom-set-faces was added by Custom.
  94. ;; If you edit it by hand, you could mess it up, so be careful.
  95. ;; Your init file should contain only one such instance.
  96. ;; If there is more than one, they won't work right.
  97. )