diff --git a/dot_doom.d/config.el b/dot_doom.d/config.el index 2d25847..0ebd35e 100644 --- a/dot_doom.d/config.el +++ b/dot_doom.d/config.el @@ -5,39 +5,66 @@ ;; Some functionality uses this to identify you, e.g. GPG configuration, email -;; clients, file templates and snippets. -(setq user-full-name "John Doe" - user-mail-address "john@doe.com") +;; clients, file templates and snippets. It is optional. +(setq user-full-name "Joachim Nielandt" + user-mail-address "joachim@nielandt.be") -;; Doom exposes five (optional) variables for controlling fonts in Doom. Here -;; are the three important ones: +;; Doom exposes five (optional) variables for controlling fonts in Doom: ;; -;; + `doom-font' -;; + `doom-variable-pitch-font' -;; + `doom-big-font' -- used for `doom-big-font-mode'; use this for +;; - `doom-font' -- the primary font to use +;; - `doom-variable-pitch-font' -- a non-monospace font (where applicable) +;; - `doom-big-font' -- used for `doom-big-font-mode'; use this for ;; presentations or streaming. +;; - `doom-unicode-font' -- for unicode glyphs +;; - `doom-serif-font' -- for the `fixed-pitch-serif' face ;; -;; They all accept either a font-spec, font string ("Input Mono-12"), or xlfd -;; font string. You generally only need these two: -;; (setq doom-font (font-spec :family "monospace" :size 12 :weight 'semi-light) -;; doom-variable-pitch-font (font-spec :family "sans" :size 13)) +;; See 'C-h v doom-font' for documentation and more examples of what they +;; accept. For example: +;; +;;(setq doom-font (font-spec :family "Fira Code" :size 12 :weight 'semi-light) +;; doom-variable-pitch-font (font-spec :family "Fira Sans" :size 13)) +;; +;; If you or Emacs can't find your font, use 'M-x describe-font' to look them +;; up, `M-x eval-region' to execute elisp code, and 'M-x doom/reload-font' to +;; refresh your font settings. If Emacs still can't find your font, it likely +;; wasn't installed correctly. Font issues are rarely Doom issues! ;; There are two ways to load a theme. Both assume the theme is installed and ;; available. You can either set `doom-theme' or manually load a theme with the -;; `load-theme' function. This is the default: +;; `load-theme' function. +;; This is the default: ;; (setq doom-theme 'doom-one) (setq doom-theme 'doom-gruvbox) -;; If you use `org' and don't want your org files in the default location below, -;; change `org-directory'. It must be set before org loads! -(setq org-directory "~/org/") +;; Set font +(setq doom-font (font-spec :family "FiraCode Nerd Font Mono" :size 12 :weight 'semi-light) + doom-variable-pitch-font (font-spec :family "Fira Sans" :size 13)) ;; This determines the style of line numbers in effect. If set to `nil', line ;; numbers are disabled. For relative line numbers, set this to `relative'. (setq display-line-numbers-type t) +;; If you use `org' and don't want your org files in the default location below, +;; change `org-directory'. It must be set before org loads! +(setq org-directory "~/org/") -;; Here are some additional functions/macros that could help you configure Doom: +;; Oi, this is where org-roam lives. +(setq org-roam-directory (file-truename "~/org-roam")) + +;; Whenever you reconfigure a package, make sure to wrap your config in an +;; `after!' block, otherwise Doom's defaults may override your settings. E.g. +;; +;; (after! PACKAGE +;; (setq x y)) +;; +;; The exceptions to this rule: +;; +;; - Setting file/directory variables (like `org-directory') +;; - Setting variables which explicitly tell you to set them before their +;; package is loaded (see 'C-h v VARIABLE' to look up their documentation). +;; - Setting doom variables (which start with 'doom-' or '+'). +;; +;; Here are some additional functions/macros that will help you configure Doom. ;; ;; - `load!' for loading external *.el files relative to this one ;; - `use-package!' for configuring packages @@ -50,11 +77,17 @@ ;; To get information about any of these functions/macros, move the cursor over ;; the highlighted symbol at press 'K' (non-evil users must press 'C-c c k'). ;; This will open documentation for it, including demos of how they are used. +;; Alternatively, use `C-h o' to look up a symbol (functions, variables, faces, +;; etc). ;; ;; You can also try 'gd' (or 'C-c c d') to jump to their definition and see how ;; they are implemented. +;; Remapping for clojure / lisp? / ... (map! "" #'sp-backward-slurp-sexp) (map! "" #'sp-forward-slurp-sexp) (map! "" #'sp-backward-barf-sexp) (map! "" #'sp-forward-barf-sexp) + +;; modify the evil escape key sequence +(setq-default evil-escape-key-sequence "pz") diff --git a/dot_doom.d/packages.el b/dot_doom.d/packages.el index 28d4fc3..96d60a2 100644 --- a/dot_doom.d/packages.el +++ b/dot_doom.d/packages.el @@ -53,8 +53,11 @@ (package! cider) ; rectify some lacking bindings for evil mode (package! evil-collection) +; add groovy / grails support (package! groovy-mode) ; allows the terraform files to be properly read (package! terraform-mode) ; add typescript major mode (package! typescript-mode) +; chezmoi management functions +(package! chezmoi) diff --git a/dot_dotfiles/oh-my-zsh/custom/02_zgenom.zsh b/dot_dotfiles/oh-my-zsh/custom/02_zgenom.zsh index 15f1905..c156890 100644 --- a/dot_dotfiles/oh-my-zsh/custom/02_zgenom.zsh +++ b/dot_dotfiles/oh-my-zsh/custom/02_zgenom.zsh @@ -93,6 +93,8 @@ if ! zgenom saved; then # zsh-syntax-highlighting must be loaded after executing compinit command and sourcing other plugins zgenom load zsh-users/zsh-syntax-highlighting + # File autocompletions + zgenom load marlonrichert/zsh-autocomplete # generate the init script from plugins above zgenom save diff --git a/dot_dotfiles/oh-my-zsh/custom/02_zplugin.zsh b/dot_dotfiles/oh-my-zsh/custom/02_zplugin.zsh deleted file mode 100644 index 9ccc53f..0000000 --- a/dot_dotfiles/oh-my-zsh/custom/02_zplugin.zsh +++ /dev/null @@ -1,163 +0,0 @@ -### ZINIT -if [[ ! -f $HOME/.zinit/bin/zinit.zsh ]]; then - print -P "%F{33}▓▒░ %F{220}Installing %F{33}DHARMA%F{220} Initiative Plugin Manager (%F{33}zdharma/zinit%F{220})…%f" - command mkdir -p "$HOME/.zinit" && command chmod g-rwX "$HOME/.zinit" - command git clone https://github.com/zdharma/zinit "$HOME/.zinit/bin" && \ - print -P "%F{33}▓▒░ %F{34}Installation successful.%f%b" || \ - print -P "%F{160}▓▒░ The clone has failed.%f%b" -fi - -source "$HOME/.zinit/bin/zinit.zsh" -autoload -Uz _zinit -(( ${+_comps} )) && _comps[zinit]=_zinit - -# Load a few important annexes, without Turbo -# (this is currently required for annexes) -zinit light-mode for \ - zinit-zsh/z-a-rust \ - zinit-zsh/z-a-as-monitor \ - zinit-zsh/z-a-patch-dl \ - zinit-zsh/z-a-bin-gem-node - -# Because your terminal should be able to perform tasks asynchronously without external tools! -zinit light mafredri/zsh-async - -# Introduce 256 colors in terminal -zplugin light chrissicool/zsh-256color - -# What the hell does this do? -zinit light mollifier/anyframe -zstyle ":anyframe:selector:" use fzf - -# print github style calendar -zinit ice as"program" atclone'perl Makefile.PL PREFIX=$ZPFX' \ - atpull'%atclone' make'install' pick"$ZPFX/bin/git-cal" -zinit light k4rthik/git-cal - -# simplistic interactive filtering tool -zinit light peco/peco - -# use package manager to install fzf (straight from github?) -zinit pack for fzf - -# C^x C^x to launch fzf? -zinit light b4b4r07/easy-oneliner - -# search in zsh history -zinit light zsh-users/zsh-history-substring-search - -# Enhanced CD command -# wait lucid > suppress output on console, messes with p10 setup -#zinit wait lucid light-mode for \ -# b4b4r07/enhancd - -# Oh-My-Zsh plugins -zinit snippet OMZ::plugins/git/git.plugin.zsh - -# Bookmarks and jump -zinit light jocelynmallon/zshmarks - -# Enhanced dir list with git features -zinit light supercrabtree/k - -# Jump back to parent directory -zinit light tarrasch/zsh-bd - -# Simple zsh calculator -# Usage: $ calc 5+4 -# TODO figure out mismatch with zsh-syntax-highlighting (= is invalid alias) -#zinit light arzzen/calc.plugin.zsh - -zinit light djui/alias-tips -zinit light hlissner/zsh-autopair - - -# Additional completion definitions for Zsh. -zinit light zsh-users/zsh-completions - -# Suggests commands as you type based on history and completions. -zinit light zsh-users/zsh-autosuggestions - -# zsh-syntax-highlighting must be loaded after executing compinit command and sourcing other plugins -zinit load zsh-users/zsh-syntax-highlighting - -# search in zsh history -zinit light zsh-users/zsh-history-substring-search -zmodload zsh/terminfo -bindkey "$terminfo[kcuu1]" history-substring-search-up -bindkey "$terminfo[kcud1]" history-substring-search-down -bindkey "^[[1;5A" history-substring-search-up -bindkey "^[[1;5B" history-substring-search-down - -# oh-my-zsh plugins -zinit snippet OMZ::plugins/archlinux -zinit snippet OMZ::plugins/bundler -zinit snippet OMZ::plugins/command-not-found -zinit snippet OMZ::plugins/common-aliases -zinit snippet OMZ::plugins/copydir -zinit snippet OMZ::plugins/copyfile -zinit snippet OMZ::plugins/cp -zinit snippet OMZ::plugins/cp -zinit snippet OMZ::plugins/dircycle -zinit snippet OMZ::plugins/dnf -zinit snippet OMZ::plugins/docker-compose -zinit snippet OMZ::plugins/encode64 -zinit snippet OMZ::plugins/extract -zinit snippet OMZ::plugins/fancy-ctrl-z -zinit snippet OMZ::plugins/gem -zinit snippet OMZ::plugins/git -zinit snippet OMZ::plugins/git/git.plugin.zsh -zinit snippet OMZ::plugins/golang -zinit snippet OMZ::plugins/gpg-agent -zinit snippet OMZ::plugins/history -zinit snippet OMZ::plugins/node -zinit snippet OMZ::plugins/npm -zinit snippet OMZ::plugins/pip -zinit snippet OMZ::plugins/rvm -zinit snippet OMZ::plugins/sudo -zinit snippet OMZ::plugins/svn -zinit snippet OMZ::plugins/systemd -zinit snippet OMZ::plugins/terraform -zinit snippet OMZ::plugins/tmux -zinit snippet OMZ::plugins/tmuxinator -zinit snippet OMZ::plugins/urltools -zinit snippet OMZ::plugins/vagrant -zinit snippet OMZ::plugins/web-search - - -# Completions -# the internal list (hash) of commands will be updated for each search by issuing the rehash command -zstyle ':completion:*' rehash true -# http://zsh.sourceforge.net/Doc/Release/Completion-System.html -zstyle ':completion:' completer _complete _match _approximate -zstyle ':completion:' group-name '' -#zstyle ':completion:' list-colors ${(s.:.)LS_COLORS} -zstyle ':completion:' matcher-list 'm:{a-z}={A-Z}' -zstyle ':completion:' use-cache true -zstyle ':completion:' verbose yes -zstyle ':completion::default' menu select=2 -zstyle ':completion::descriptions' format '%F{yellow}-- %d --%f' -zstyle ':completion:*:options' description 'yes' -# case-insensitive (uppercase from lowercase) completion -#zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}' -# process completion -#zstyle ':completion:*:processes' command 'ps -au$USER' -#zstyle ':completion:*:*:kill:*:processes' list-colors "=(#b) #([0-9]#)*=36=31" -zstyle ':completion:*' completer _expand _complete _ignored _approximate -#zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS} -zstyle ':completion:*' menu select=2 -zstyle ':completion:*' select-prompt '%SScrolling active: current selection at %p%s' -zstyle ':completion:*:descriptions' format '%U%F{yellow}%d%f%u' -#zstyle ':completion:*:*:git:*' script ~/.git-completion.sh -zstyle ':completion:*' verbose yes -zstyle ':completion:*:descriptions' format '%B%d%b' -zstyle ':completion:*:messages' format '%d' -zstyle ':completion:*:warnings' format 'No matches for: %d' -zstyle ':completion:*' group-name '' -# case-insensitive (all), partial-word and then substring completion -zstyle ":completion:*" matcher-list \ - "m:{a-zA-Z}={A-Za-z}" \ - "r:|[._-]=* r:|=*" \ - "l:|=* r:|=*" -zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}" -zstyle ':completion:*:default' list-colors "${(s.:.)LS_COLORS}"