From ccea64cca2c17b2240ade8acf9bc919fa45a1ee1 Mon Sep 17 00:00:00 2001 From: jgrogan Date: Thu, 30 May 2024 15:06:47 +0100 Subject: [PATCH] Add initial emacs and zshrc packages. --- emacs/.emacs | 243 +++++++++++++++++++++++++++++++++++++++++++++++++++ zshrc/.zshrc | 26 ++++++ 2 files changed, 269 insertions(+) create mode 100644 emacs/.emacs create mode 100644 zshrc/.zshrc diff --git a/emacs/.emacs b/emacs/.emacs new file mode 100644 index 0000000..7f6d9fd --- /dev/null +++ b/emacs/.emacs @@ -0,0 +1,243 @@ +;;backup files + +(setq inhibit-startup-message t) +(setq initial-scratch-message nil) + +(menu-bar-mode -1) +(tool-bar-mode -1) + +(setq auto-save-file-name-transforms + `((".*" ,(concat user-emacs-directory "auto-save/") t))) +(setq backup-directory-alist '(("" . "~/.emacs.d/emacs-backup"))) + +;; Slightly nicer theme +(set-face-attribute 'default nil :font "Menlo" :height 130) + +(setq custom-file (concat user-emacs-directory "custom.el")) +(when (file-exists-p custom-file) + (load custom-file)) + +;; Set up package repos +(require 'package) +(add-to-list 'package-archives + '("melpa-stable" . "https://stable.melpa.org/packages/")) +(package-initialize) +(unless package-archive-contents + (package-refresh-contents)) +(unless (package-installed-p 'use-package) + (package-install 'use-package)) + +;; Set up use-package +(require 'use-package) +(setq use-package-always-ensure t) + +(use-package ivy + :diminish + :config + (ivy-mode 1)) + +(use-package all-the-icons) + +(use-package doom-themes + :ensure t + :config + (load-theme 'doom-dracula t) + (setq doom-themes-treemacs-theme "doom-atom") + ;;(doom-themes-treemacs-config) + (doom-themes-org-config) + ) + +(use-package doom-modeline + :ensure t + :init (doom-modeline-mode 1) + :custom ((doom-modeline-height 15)) + ) + +(use-package rainbow-delimiters + :hook (prog-mode . rainbow-delimiters-mode)) + +(use-package which-key + :init (which-key-mode) + :diminish which-key-mode + :config + (setq which-key-idle-delay 0.3)) + +(use-package markdown-mode + :ensure t + :mode ("README\\.md\\'" . gfm-mode) + :init (setq markdown-command "pandoc")) + +(use-package projectile + :diminish projectile-modex + :config (projectile-mode) + :bind-keymap + ("C-c p" . projectile-command-map) + :init + (when (file-directory-p "~/code") + (setq projectile-project-search-path '("~/code"))) + (setq projectile-switch-project-action #'projectile-dired)) + +(use-package counsel-projectile + :after projectile + :config + (counsel-projectile-mode 1)) + +(use-package magit + :commands (magit-status magit-get-current-branch) + :custom + (magit-display-buffer-function #'magit-display-buffer-same-window-except-diff-v1)) + +(defun rune/evil-hook () + (dolist (mode '(custom-mode + eshell-mode + git-rebase-mode + erc-mode + circe-server-mode + circe-chat-mode + circe-query-mode + sauron-mode + term-mode)) + (add-to-list 'evil-emacs-state-modes mode))) + +(use-package evil + :init + (setq evil-want-integration t) + (setq evil-want-keybinding nil) + (setq evil-want-C-u-scroll t) + (setq evil-want-C-i-jump nil) + :hook (evil-mode . rune/evil-hook) + :config + (evil-mode 1) + (define-key evil-insert-state-map (kbd "C-g") 'evil-normal-state) +;; (define-key evil-insert-state-map (kbd "C-h") 'evil-delete-backward-char-and-join) + ;; Use visual line motions even outside of visual-line-mode buffers + (evil-global-set-key 'motion "j" 'evil-next-visual-line) + (evil-global-set-key 'motion "k" 'evil-previous-visual-line) + + (evil-set-initial-state 'messages-buffer-mode 'normal) + (evil-set-initial-state 'dashboard-mode 'normal)) + +(use-package evil-collection + :after evil + :config + (evil-collection-init)) + + +(use-package emms + :init + (require 'emms-setup) + (require 'emms-mpris) + (emms-all) + (emms-default-players) + ;;(emms-mpris-enable) + :config + (setq emms-source-file-default-directory "~/Music/") + (setq emms-player-mplayer-parameters '("-novideo")) + ) + +(use-package treemacs + :ensure t + :defer t + :init + (with-eval-after-load 'winum + (define-key winum-keymap (kbd "M-0") #'treemacs-select-window)) + :hook (emacs-startup . treemacs) + :config + (progn + (setq treemacs-collapse-dirs (if treemacs-python-executable 3 0) + treemacs-deferred-git-apply-delay 0.5 + treemacs-directory-name-transformer #'identity + treemacs-display-in-side-window t + treemacs-eldoc-display 'simple + treemacs-file-event-delay 2000 + treemacs-file-extension-regex treemacs-last-period-regex-value + treemacs-file-follow-delay 0.2 + treemacs-file-name-transformer #'identity + treemacs-follow-after-init t + treemacs-expand-after-init t + treemacs-find-workspace-method 'find-for-file-or-pick-first + treemacs-git-command-pipe "" + treemacs-goto-tag-strategy 'refetch-index + treemacs-header-scroll-indicators '(nil . "^^^^^^") + treemacs-hide-dot-git-directory t + treemacs-indentation 2 + treemacs-indentation-string " " + treemacs-is-never-other-window nil + treemacs-max-git-entries 5000 + treemacs-missing-project-action 'ask + treemacs-move-files-by-mouse-dragging t + treemacs-move-forward-on-expand nil + treemacs-no-png-images nil + treemacs-no-delete-other-windows t + treemacs-project-follow-cleanup nil + treemacs-persist-file (expand-file-name ".cache/treemacs-persist" user-emacs-directory) + treemacs-position 'left + treemacs-read-string-input 'from-child-frame + treemacs-recenter-distance 0.1 + treemacs-recenter-after-file-follow nil + treemacs-recenter-after-tag-follow nil + treemacs-recenter-after-project-jump 'always + treemacs-recenter-after-project-expand 'on-distance + treemacs-litter-directories '("/node_modules" "/.venv" "/.cask") + treemacs-project-follow-into-home nil + treemacs-show-cursor nil + treemacs-show-hidden-files t + treemacs-silent-filewatch nil + treemacs-silent-refresh nil + treemacs-sorting 'alphabetic-asc + treemacs-select-when-already-in-treemacs 'move-back + treemacs-space-between-root-nodes t + treemacs-tag-follow-cleanup t + treemacs-tag-follow-delay 1.5 + treemacs-text-scale nil + treemacs-user-mode-line-format nil + treemacs-user-header-line-format nil + treemacs-wide-toggle-width 70 + treemacs-width 35 + treemacs-width-increment 1 + treemacs-width-is-initially-locked t + treemacs-workspace-switch-cleanup nil) + + ;; The default width and height of the icons is 22 pixels. If you are + ;; using a Hi-DPI display, uncomment this to double the icon size. + ;;(treemacs-resize-icons 44) + + (treemacs-follow-mode t) + (treemacs-filewatch-mode t) + (treemacs-fringe-indicator-mode 'always) + (when treemacs-python-executable + (treemacs-git-commit-diff-mode t)) + + (pcase (cons (not (null (executable-find "git"))) + (not (null treemacs-python-executable))) + (`(t . t) + (treemacs-git-mode 'deferred)) + (`(t . _) + (treemacs-git-mode 'simple))) + + (treemacs-hide-gitignored-files-mode nil)) + :bind + (:map global-map + ("M-0" . treemacs-select-window) + ("C-x t 1" . treemacs-delete-other-windows) + ("C-x t t" . treemacs) + ("C-x t d" . treemacs-select-directory) + ("C-x t B" . treemacs-bookmark) + ("C-x t C-t" . treemacs-find-file) + ("C-x t M-t" . treemacs-find-tag))) + +(use-package treemacs-evil + :after (treemacs evil)) + +(use-package treemacs-all-the-icons + :after (treemacs all-the-icons)) + +(use-package treemacs-projectile + :after (treemacs projectile)) + +(use-package treemacs-icons-dired + :hook (dired-mode . treemacs-icons-dired-enable-once) + :after (treemacs)) + +(use-package treemacs-magit + :after (treemacs magit)) diff --git a/zshrc/.zshrc b/zshrc/.zshrc new file mode 100644 index 0000000..75b4265 --- /dev/null +++ b/zshrc/.zshrc @@ -0,0 +1,26 @@ +export CLICOLOR=1 + +# zsh syntax highlighting +source /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh + +# hestia clang setup +export LLVM_PATH=/opt/homebrew/opt/llvm +export PATH=$LLVM_PATH/bin:$PATH +export LDFLAGS="-L$LLVM_PATH/lib/c++ -Wl,-rpath,$LLVM_PATH/lib/c++":$LDFLAGS +export CPPFLAGS=-I$LLVM_PATH/include:$CPPFLAGS +export CC=$LLVM_PATH/bin/clang +export CXX=$LLVM_PATH/bin/clang++ + +export PYTHONPATH=$PYTHONPATH:/Users/jgrogan/code/ai4eo/src/src + + +# Load Angular CLI autocompletion. +autoload -Uz compinit +compinit +source <(ng completion script) + +# Created by `userpath` on 2024-03-15 14:30:10 +export PATH="$PATH:/Users/jgrogan/.local/bin" + +# Add Qt +export PATH=$PATH:/Users/jgrogan/tools/qt_install/bin