summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOskar <[email protected]>2024-11-02 16:49:07 +0100
committerOskar <[email protected]>2024-11-02 16:49:07 +0100
commit0e1aeeddb1a7205653a0c1eacfbdac187c5d95ed (patch)
tree3806f8329ce39a90921e7ecfc57277ca5a0d6d64
parent31d6090b4cbbef603ef1b76a4ce9fa33ec44f280 (diff)
reorganised, still need to test this but i hope this should workHEADmaster
-rw-r--r--emacs.el58
1 files changed, 28 insertions, 30 deletions
diff --git a/emacs.el b/emacs.el
index d8579d5..f234f42 100644
--- a/emacs.el
+++ b/emacs.el
@@ -2,67 +2,62 @@
(setq inhibit-startup-message t)
(setq visible-bell t)
-;; The menu bar and its configurations
+;; Interface configurations
(menu-bar-mode 1)
(tool-bar-mode -1)
(scroll-bar-mode -1)
(global-display-line-numbers-mode 1)
(column-number-mode 1)
-(load-theme 'adwaita t) ;; 'wombat' for dark, 'adwaita' for light
+(load-theme 'adwaita t) ;; Use 'wombat' for dark, 'adwaita' for light
(set-face-attribute 'default nil :height 160) ;; Text size
-;; Prevent backup file from cluttering
-(setq lock-file-name-transforms
- '(("\\`/.*/\\([^/]+\\)\\'" "~/.emacs.d/aux/\\1" t)))
-(setq auto-save-file-name-transforms
- '(("\\`/.*/\\([^/]+\\)\\'" "~/.emacs.d/aux/\\1" t)))
-(setq backup-directory-alist
- '((".*" . "~/.emacs.d/aux/")))
+;; Backup and autosave directory setup
+(let ((backup-dir "~/.emacs.d/aux/"))
+ (unless (file-exists-p backup-dir)
+ (make-directory backup-dir t))
+ (setq lock-file-name-transforms `((".*" ,backup-dir t)))
+ (setq auto-save-file-name-transforms `((".*" ,backup-dir t)))
+ (setq backup-directory-alist `((".*" . ,backup-dir))))
+
(display-battery-mode 1)
-;; From how i understand it, these variables are supposed to make tab and indentation be 4 in width?
-(setq-default tab-width 4) ; Tab width (duh)
-(setq c-basic-offset 4) ; Tab width (but for C?)
+;; Tab and indentation
+(setq-default tab-width 4)
+(setq c-basic-offset 4)
-(defun lmid () ;;Move cursor to the middle of the current line
+(defun lmid () ;; Move cursor to the middle of the current line
(interactive)
(let ((line-length (- (line-end-position) (line-beginning-position))))
(goto-char (+ (line-beginning-position) (/ line-length 2)))))
+
(custom-set-variables
- ;; custom-set-variables was added by Custom.
- ;; If you edit it by hand, you could mess it up, so be careful.
- ;; Your init file should contain only one such instance.
- ;; If there is more than one, they won't work right.
'(elcord-editor-icon "emacs_legacy_icon")
'(elcord-idle-message "Got distracted again...")
'(elcord-idle-timer 600)
'(elcord-quiet t)
'(elcord-refresh-rate 10)
'(package-selected-packages '(elcord flycheck corfu company)))
-(custom-set-faces
- ;; custom-set-faces was added by Custom.
- ;; If you edit it by hand, you could mess it up, so be careful.
- ;; Your init file should contain only one such instance.
- ;; If there is more than one, they won't work right.
- )
+;; Set up package management
(require 'package)
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
-;; Comment/uncomment this line to enable MELPA Stable if desired. See `package-archive-priorities`
-;; and `package-pinned-packages`. Most users will not need or want to do this.
-;;(add-to-list 'package-archives '("melpa-stable" . "https://stable.melpa.org/packages/") t)
(package-initialize)
+;; Ensure use-package is installed
+(unless (package-installed-p 'use-package)
+ (package-refresh-contents)
+ (package-install 'use-package))
+(require 'use-package)
+
+;; Package configurations
(use-package flycheck
:ensure t
:hook ((c-mode . flycheck-mode)
(c++-mode . flycheck-mode))
:config
- ;; Set the C++ standard for both GCC and Clang
(setq-default flycheck-gcc-language-standard "c++20"
flycheck-clang-language-standard "c++20"))
-
(use-package company
:ensure t
:hook ((c-mode . company-mode)
@@ -71,5 +66,8 @@
(setq company-backends '((company-clang company-files company-yasnippet)))
(setq company-clang-arguments '("-std=c++20")))
-(require 'elcord)
-(elcord-mode)
+;; Enable Discord Rich Presence integration
+(use-package elcord
+ :ensure t
+ :config
+ (elcord-mode))