Restructure spacemacs and add macOS version of setup-home
This commit is contained in:
parent
48ddd656f3
commit
eb798b6a55
|
@ -8,7 +8,8 @@ Common configuration files for:
|
||||||
|
|
||||||
## Setup
|
## Setup
|
||||||
|
|
||||||
Execute `setup-home.sh` to create symbolic links.
|
Execute `setup-home.sh` to create symbolic links. Note that macOS users will
|
||||||
|
need to install `coreutils` to provide the `grealpath` utility.
|
||||||
|
|
||||||
## Docker Images
|
## Docker Images
|
||||||
|
|
||||||
|
|
|
@ -38,15 +38,18 @@ This function should only modify configuration layer settings."
|
||||||
|
|
||||||
;; 3 Checker
|
;; 3 Checker
|
||||||
(spell-checking :variables ;; Required: aspell
|
(spell-checking :variables ;; Required: aspell
|
||||||
spell-checking-enable-by-default t
|
spell-checking-enable-by-default t)
|
||||||
spell-checking-enable-auto-dictionary t)
|
|
||||||
syntax-checking
|
syntax-checking
|
||||||
;; 4 Completion
|
;; 4 Completion
|
||||||
auto-completion
|
auto-completion
|
||||||
helm
|
helm
|
||||||
|
|
||||||
;; 6 Emacs
|
;; 6 Emacs
|
||||||
org
|
(org :variables
|
||||||
|
org-enable-notifications 't
|
||||||
|
org-start-notification-daemon-on-startup 't
|
||||||
|
org-enable-org-journal-support 't
|
||||||
|
)
|
||||||
semantic
|
semantic
|
||||||
tabs
|
tabs
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
relative() {
|
||||||
|
grealpath --relative-to=$1 $2
|
||||||
|
}
|
||||||
|
|
||||||
|
DIR=~/Library/LaunchAgents/
|
||||||
|
BASE=$(relative $DIR $PWD)
|
||||||
|
ln -s $BASE/daemon.plist ~/Library/LaunchAgents/gnu.emacs.daemon.plist
|
||||||
|
|
||||||
|
DIR=~/Applications
|
||||||
|
BASE=$(relative $DIR $PWD)
|
||||||
|
ln -s $BASE/emacsclient.applescript ~/Applications/Spacemacs.app
|
|
@ -40,9 +40,7 @@ This function is called at the very end of Spacemacs startup, after layer
|
||||||
configuration.
|
configuration.
|
||||||
Put your configuration code here, except for variables that should be set
|
Put your configuration code here, except for variables that should be set
|
||||||
before packages are loaded."
|
before packages are loaded."
|
||||||
(exec-path-from-shell-initialize)
|
|
||||||
(load "~/common/home/spacemacs/user-config.el")
|
(load "~/common/home/spacemacs/user-config.el")
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
;; This is the stub that spacemacs works with.
|
;; This is the stub that spacemacs works with.
|
||||||
|
|
|
@ -1,31 +1,23 @@
|
||||||
;; Centaur
|
;; Spacemacs itself
|
||||||
(setq
|
(exec-path-from-shell-initialize)
|
||||||
centaur-tabs-set-icons t
|
|
||||||
centaur-tabs-set-bar 'over
|
|
||||||
centaur-tabs-set-close-button t
|
|
||||||
centaur-tabs-style "wave"
|
|
||||||
centaur-tabs-set-bar 'under
|
|
||||||
centaur-tabs-set-modified-marker t
|
|
||||||
centaur-tabs-modified-marker "*"
|
|
||||||
centaur-tabs-cycle-scope 'tabs)
|
|
||||||
(setq
|
|
||||||
pdf-sync-backward-display-action t
|
|
||||||
pdf-sync-forward-display-action t)
|
|
||||||
|
|
||||||
|
;; Typing
|
||||||
|
(setq evil-indent-convert-tabs nil)
|
||||||
|
(setq-default indent-tabs-mode t)
|
||||||
|
(setq-default tab-width 2)
|
||||||
|
|
||||||
;; Key Bindings
|
;; Key Bindings
|
||||||
(evil-ex-define-cmd "q" 'kill-this-buffer)
|
(evil-ex-define-cmd "q" 'kill-this-buffer)
|
||||||
(evil-ex-define-cmd "quit" 'evil-quit)
|
(evil-ex-define-cmd "quit" 'evil-quit)
|
||||||
|
|
||||||
(setq centaur-tabs-style "wave")
|
;; Auto save upon defocus
|
||||||
|
(add-hook 'focus-out-hook
|
||||||
|
(defun save-current-buffer-if-needed ()
|
||||||
|
(interactive)
|
||||||
|
(when (and (buffer-file-name) (buffer-modified-p))
|
||||||
|
(save-buffer))))
|
||||||
|
|
||||||
;; Ensures the pdf view mode doesn't get into emacs state.
|
;; Display
|
||||||
;; If it does get into emacs state, checked by
|
|
||||||
;; (describe-variable 'evil-state)
|
|
||||||
;; Use M-x evil-normal-state or M-x evil-force-evilified-state to revert.
|
|
||||||
(evil-set-initial-state 'pdf-view-mode 'evilified)
|
|
||||||
|
|
||||||
;; Displaying whitespaces
|
|
||||||
(spacemacs/toggle-whitespace-globally-on)
|
(spacemacs/toggle-whitespace-globally-on)
|
||||||
(setq whitespace-display-mappings
|
(setq whitespace-display-mappings
|
||||||
;; all numbers are Unicode codepoint in decimal. ⁖ (insert-char 182 1)
|
;; all numbers are Unicode codepoint in decimal. ⁖ (insert-char 182 1)
|
||||||
|
@ -60,29 +52,39 @@
|
||||||
(set-face-attribute 'font-lock-constant-face nil
|
(set-face-attribute 'font-lock-constant-face nil
|
||||||
:foreground "#ecbd3d")
|
:foreground "#ecbd3d")
|
||||||
|
|
||||||
;(add-hook 'after-make-frame-functions 'spacemacs/enable-transparency)
|
|
||||||
(spacemacs/enable-transparency)
|
(spacemacs/enable-transparency)
|
||||||
|
|
||||||
;; Auto save upon defocus
|
;; Org mode
|
||||||
(add-hook 'focus-out-hook
|
(setq org-format-latex-options (plist-put org-format-latex-options :scale 2.0))
|
||||||
(defun save-current-buffer-if-needed ()
|
|
||||||
(interactive)
|
;; Spellchecking
|
||||||
(when (and (buffer-file-name) (buffer-modified-p))
|
(setq ispell-dictionary "english")
|
||||||
(save-buffer))))
|
|
||||||
|
;; Centaur
|
||||||
|
(setq
|
||||||
|
centaur-tabs-set-icons t
|
||||||
|
centaur-tabs-set-bar 'over
|
||||||
|
centaur-tabs-set-close-button t
|
||||||
|
centaur-tabs-style "wave"
|
||||||
|
centaur-tabs-set-bar 'under
|
||||||
|
centaur-tabs-set-modified-marker t
|
||||||
|
centaur-tabs-modified-marker "*"
|
||||||
|
centaur-tabs-cycle-scope 'tabs)
|
||||||
|
(setq
|
||||||
|
pdf-sync-backward-display-action t
|
||||||
|
pdf-sync-forward-display-action t)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;; Ensures the pdf view mode doesn't get into emacs state.
|
||||||
|
;; If it does get into emacs state, checked by
|
||||||
|
;; (describe-variable 'evil-state)
|
||||||
|
;; Use M-x evil-normal-state or M-x evil-force-evilified-state to revert.
|
||||||
|
(evil-set-initial-state 'pdf-view-mode 'evilified)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;; Mixed indent mode (in conjunction with smart-tabs-mode)
|
;; Mixed indent mode (in conjunction with smart-tabs-mode)
|
||||||
(setq evil-indent-convert-tabs nil)
|
|
||||||
(setq-default indent-tabs-mode t)
|
|
||||||
(setq-default tab-width 2)
|
|
||||||
(setq
|
|
||||||
c-default-style "stroustrup"
|
|
||||||
c-basic-offset 2
|
|
||||||
lsp-clients-clangd-args
|
|
||||||
'("-j=4"
|
|
||||||
"--clang-tidy"
|
|
||||||
"--header-insertion=never"
|
|
||||||
"--pch-storage=memory"
|
|
||||||
))
|
|
||||||
|
|
||||||
(setq css-indent-offset 2)
|
(setq css-indent-offset 2)
|
||||||
(smart-tabs-insinuate
|
(smart-tabs-insinuate
|
||||||
|
@ -97,6 +99,16 @@
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(setq indent-tabs-mode t)))
|
(setq indent-tabs-mode t)))
|
||||||
|
|
||||||
|
;; C/C++
|
||||||
|
(setq
|
||||||
|
-default-style "stroustrup"
|
||||||
|
-basic-offset 2
|
||||||
|
lsp-clients-clangd-args
|
||||||
|
'("-j=4"
|
||||||
|
"--clang-tidy"
|
||||||
|
"--header-insertion=never"
|
||||||
|
"--pch-storage=memory"
|
||||||
|
))
|
||||||
(highlight-doxygen-global-mode 1)
|
(highlight-doxygen-global-mode 1)
|
||||||
(set-face-attribute 'highlight-doxygen-comment nil
|
(set-face-attribute 'highlight-doxygen-comment nil
|
||||||
:background nil
|
:background nil
|
||||||
|
@ -108,6 +120,3 @@
|
||||||
;;(with-eval-after-load 'merlin
|
;;(with-eval-after-load 'merlin
|
||||||
;; (setq merlin-command 'opam))
|
;; (setq merlin-command 'opam))
|
||||||
;;(require 'merlin)
|
;;(require 'merlin)
|
||||||
|
|
||||||
;; Prevent creation of lockfiles for angular
|
|
||||||
(setq create-lockfiles nil)
|
|
||||||
|
|
|
@ -1,9 +1,21 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
|
||||||
|
if [[ "$OSTYPE" == "darwin"* ]]; then
|
||||||
|
relative() {
|
||||||
|
grealpath --relative-to=$1 $2
|
||||||
|
}
|
||||||
|
else
|
||||||
|
relative() {
|
||||||
|
realpath --relative-to=$1 $2
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
|
||||||
# Calculate directory relative to $HOME
|
# Calculate directory relative to $HOME
|
||||||
DIR=$HOME
|
DIR=$HOME
|
||||||
BASE=$(realpath --relative-to=$DIR $PWD)
|
BASE=$(relative $DIR $PWD)
|
||||||
pushd $HOME >> /dev/null
|
pushd $HOME >> /dev/null
|
||||||
|
ln -vs $BASE/home/rustfmt.toml .rustfmt.toml
|
||||||
ln -vs $BASE/home/bashrc .bashrc
|
ln -vs $BASE/home/bashrc .bashrc
|
||||||
ln -vs $BASE/home/clang-format .clang-format
|
ln -vs $BASE/home/clang-format .clang-format
|
||||||
ln -vs $BASE/home/latexmkrc .latexmkrc
|
ln -vs $BASE/home/latexmkrc .latexmkrc
|
||||||
|
@ -13,34 +25,27 @@ ln -vs $BASE/home/vimrc .vimrc
|
||||||
cp $BASE/home/spacemacs/spacemacs.el .spacemacs
|
cp $BASE/home/spacemacs/spacemacs.el .spacemacs
|
||||||
popd >> /dev/null
|
popd >> /dev/null
|
||||||
|
|
||||||
# Create ftplugin links
|
# Vim
|
||||||
DIR=$HOME/.vim/after/ftplugin
|
DIR=$HOME/.vim/after/ftplugin
|
||||||
BASE=$(realpath --relative-to=$DIR $PWD)
|
BASE=$(relative $DIR $PWD)
|
||||||
mkdir -p $DIR
|
mkdir -p $DIR
|
||||||
pushd $DIR >> /dev/null
|
pushd $DIR >> /dev/null
|
||||||
ln -vs $BASE/home/vim/after/ftplugin/tex.vim .
|
ln -vs $BASE/home/vim/after/ftplugin/tex.vim .
|
||||||
popd >> /dev/null
|
popd >> /dev/null
|
||||||
|
|
||||||
DIR=$HOME/.vim/colors
|
DIR=$HOME/.vim/colors
|
||||||
BASE=$(realpath --relative-to=$DIR $PWD)
|
BASE=$(relative $DIR $PWD)
|
||||||
mkdir -p $DIR
|
mkdir -p $DIR
|
||||||
pushd $DIR >> /dev/null
|
pushd $DIR >> /dev/null
|
||||||
ln -vs $BASE/home/vim/vim-amino/amino.vim .
|
ln -vs $BASE/home/vim/vim-amino/amino.vim .
|
||||||
popd >> /dev/null
|
popd >> /dev/null
|
||||||
|
|
||||||
|
# Fish
|
||||||
DIR=$HOME/.config/fish
|
DIR=$HOME/.config/fish
|
||||||
BASE=$(realpath --relative-to=$DIR $PWD)
|
BASE=$(relative $DIR $PWD)
|
||||||
mkdir -p $DIR
|
mkdir -p $DIR
|
||||||
pushd $DIR >> /dev/null
|
pushd $DIR >> /dev/null
|
||||||
ln -vs $BASE/home/fish/config.fish .
|
ln -vs $BASE/home/fish/config.fish .
|
||||||
ln -vs $BASE/home/fish/fishd_color .
|
ln -vs $BASE/home/fish/fishd_color .
|
||||||
ln -vs $BASE/home/fish/functions .
|
ln -vs $BASE/home/fish/functions .
|
||||||
popd >> /dev/null
|
popd >> /dev/null
|
||||||
|
|
||||||
DIR=$HOME/.config/rustfmt
|
|
||||||
BASE=$(realpath --relative-to=$DIR $PWD)
|
|
||||||
mkdir -p $DIR
|
|
||||||
pushd $DIR >> /dev/null
|
|
||||||
ln -vs $BASE/home/rustfmt.toml .
|
|
||||||
popd >> /dev/null
|
|
||||||
|
|
Loading…
Reference in New Issue