From 0f5ec64c16240f217b202eedb95039028de635e8 Mon Sep 17 00:00:00 2001 From: James Patrick Date: Thu, 12 Dec 2019 13:44:45 -0500 Subject: [PATCH 01/17] Reorganzied zplug to correctly group command & groups. --- zsh/zplug | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/zsh/zplug b/zsh/zplug index e096868..8d7b5b8 100755 --- a/zsh/zplug +++ b/zsh/zplug @@ -12,8 +12,10 @@ zplug "zdharma/zsh-diff-so-fancy", \ use:"bin/{git-dsf,diff-so-fancy}" zplug "${ZDIR}/modules/bin/", \ + from:local, \ as:command, \ use:"*" + zplug "zdharma/fast-syntax-highlighting", \ as:plugin, \ defer:2 @@ -38,20 +40,6 @@ zplug "junegunn/fzf", \ use:"shell/*.zsh", \ defer:2 -zplug "junegunn/fzf-bin", \ - from:gh-r, \ - as:command, \ - rename-to:fzf - -zplug "zdharma/zsh-diff-so-fancy", \ - as:command, \ - use:"bin/{git-dsf,diff-so-fancy}" - -zplug "${ZDIR}/modules/bin/", \ - from:local, \ - as:command, \ - use:"*" - zplug "${ZDIR}/modules/history/", \ from:local, \ as:plugin From af5250ee20c4349bb6d79bfb6b82b76fa4b1b71a Mon Sep 17 00:00:00 2001 From: James Patrick Date: Thu, 12 Dec 2019 19:37:35 -0500 Subject: [PATCH 02/17] Removed support for spacemacs. I've already switched to doom everywhere, so might as well just remove support for spacemacs. --- emacs/makefile | 23 +- emacs/spacemacs.d/init.el | 374 ------------------------------- emacs/spacemacs.d/user-config.el | 0 zsh/environment/host/zuk/zshenv | 1 - zsh/zshenv | 8 +- 5 files changed, 5 insertions(+), 401 deletions(-) delete mode 100644 emacs/spacemacs.d/init.el delete mode 100644 emacs/spacemacs.d/user-config.el diff --git a/emacs/makefile b/emacs/makefile index f2e4c32..a5ce65d 100644 --- a/emacs/makefile +++ b/emacs/makefile @@ -1,15 +1,10 @@ SRC_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) EMACSD := ~/.emacs.d -FRAMEWORK := ${EMACS_FRAMEWORK} # Doom Config DOOMD := ~/.doom.d DOOM_URL := https://github.com/hlissner/doom-emacs -# Spacemacs config -SPACEMACSD := ~/.spacemacs.d -SPACEMACS_URL := https://github.com/syl20bnr/spacemacs - include ../lib/shared.mk @@ -20,14 +15,10 @@ ifndef IS_SSH $(info Remote connection. Not installing emacs config.) else ifneq ($(call cmd_exist,emacs), true) $(info Emacs not installed ) -else ifeq ($(FRAMEWORK), doom) +else $(info => installing doom.) $(MAKE) -C $(SRC_DIR) doom_init $(mk_link) $(SRC_DIR)/doom.d $(DOOMD) -else - $(info => installing spacemacs.) - $(MAKE) -C $(SRC_DIR) spacemacs_init - $(mk_link) $(SRC_DIR) $(SPACEMACSD) endif doom_init: @@ -40,26 +31,14 @@ else $(report) info "$(EMACSD) already exist. Skipping." endif -spacemacs_init: -ifeq ($(shell [ ! -e $(EMACSD) ] $(return_val_truthy) ), true) - git clone -b develop --single-branch $(SPACEMACS_URL) $(EMACSD) ; $(report) "Spacemacs installed" -else - $(report) info "$(EMACSD) already exist. Skipping." -endif - update: ifeq ($(shell [ -e $(EMACSD) ] $(return_val_truthy) ), false) $(report) info "Emacs directory doesn't exist." else ifeq ($(FRAMEWORK), doom) ~/.emacs.d/bin/doom --yes refresh $(report) info "Doom updated" -else - cd $(EMACSD) \ - && git pull \ - ; $(report) "Spacemacs updated" endif remove: $(info => Removing Emacs config) @ $(rm_link) $(EMACSD) - @ $(rm_link) $(SPACEMACSD) diff --git a/emacs/spacemacs.d/init.el b/emacs/spacemacs.d/init.el deleted file mode 100644 index b7a8ab3..0000000 --- a/emacs/spacemacs.d/init.el +++ /dev/null @@ -1,374 +0,0 @@ -;; -*- mode: emacs-lisp -*- -;; This file is loaded by Spacemacs at startup. -;; It must be stored in your home directory. - -(defun dotspacemacs/layers () - "Configuration Layers declaration. -You should not put any user code in this function besides modifying the variable -values." - (setq-default - ;; Base distribution to use. This is a layer contained in the directory - ;; `+distribution'. For now available distributions are `spacemacs-base' - ;; or `spacemacs'. (default 'spacemacs) - dotspacemacs-distribution 'spacemacs - ;; Lazy installation of layers (i.e. layers are installed only when a file - ;; with a supported type is opened). Possible values are `all', `unused' - ;; and `nil'. `unused' will lazy install only unused layers (i.e. layers - ;; not listed in variable `dotspacemacs-configuration-layers'), `all' will - ;; lazy install any layer that support lazy installation even the layers - ;; listed in `dotspacemacs-configuration-layers'. `nil' disable the lazy - ;; installation feature and you have to explicitly list a layer in the - ;; variable `dotspacemacs-configuration-layers' to install it. - ;; (default 'unused) - dotspacemacs-enable-lazy-installation 'unused - ;; If non-nil then Spacemacs will ask for confirmation before installing - ;; a layer lazily. (default t) - dotspacemacs-ask-for-lazy-installation t - ;; If non-nil layers with lazy install support are lazy installed. - ;; List of additional paths where to look for configuration layers. - ;; Paths must have a trailing slash (i.e. `~/.mycontribs/') - dotspacemacs-configuration-layer-path '() - ;; List of configuration layers to load. - dotspacemacs-configuration-layers - '( - auto-completion - colors - dash - deft - emacs-lisp - evil-cleverparens - evil-snipe - git - go - helm - javascript - markdown - markdown - org - python - ruby - ruby-on-rails - shell - spell-checking - sql - syntax-checking - ) - - ;; List of additional packages that will be installed without being - ;; wrapped in a layer. If you need some configuration for these - ;; packages, then consider creating a layer. You can also put the - ;; configuration in `dotspacemacs/user-config'. - dotspacemacs-additional-packages '(minitest - all-the-icons - ) - ;; A list of packages that cannot be updated. - dotspacemacs-frozen-packages '() - ;; A list of packages that will not be installed and loaded. - dotspacemacs-excluded-packages '() - ;; Defines the behaviour of Spacemacs when installing packages. - ;; Possible values are `used-only', `used-but-keep-unused' and `all'. - ;; `used-only' installs only explicitly used packages and uninstall any - ;; unused packages as well as their unused dependencies. - ;; `used-but-keep-unused' installs only the used packages but won't uninstall - ;; them if they become unused. `all' installs *all* packages supported by - ;; Spacemacs and never uninstall them. (default is `used-only') - dotspacemacs-install-packages 'used-only)) - -(defun dotspacemacs/init () - "Initialization function. -This function is called at the very startup of Spacemacs initialization -before layers configuration. -You should not put any user code in there besides modifying the variable -values." - ;; This setq-default sexp is an exhaustive list of all the supported - ;; spacemacs settings. - (setq-default - ;; If non nil ELPA repositories are contacted via HTTPS whenever it's - ;; possible. Set it to nil if you have no way to use HTTPS in your - ;; environment, otherwise it is strongly recommended to let it set to t. - ;; This variable has no effect if Emacs is launched with the parameter - ;; `--insecure' which forces the value of this variable to nil. - ;; (default t) - dotspacemacs-elpa-https t - ;; Maximum allowed time in seconds to contact an ELPA repository. - dotspacemacs-elpa-timeout 5 - ;; If non nil then spacemacs will check for updates at startup - ;; when the current branch is not `develop'. Note that checking for - ;; new versions works via git commands, thus it calls GitHub services - ;; whenever you start Emacs. (default nil) - dotspacemacs-check-for-update t - ;; If non-nil, a form that evaluates to a package directory. For example, to - ;; use different package directories for different Emacs versions, set this - ;; to `emacs-version'. - dotspacemacs-elpa-subdirectory nil - ;; One of `vim', `emacs' or `hybrid'. - ;; `hybrid' is like `vim' except that `insert state' is replaced by the - ;; `hybrid state' with `emacs' key bindings. The value can also be a list - ;; with `:variables' keyword (similar to layers). Check the editing styles - ;; section of the documentation for details on available variables. - ;; (default 'vim) - dotspacemacs-editing-style 'vim - ;; If non nil output loading progress in `*Messages*' buffer. (default nil) - dotspacemacs-verbose-loading nil - ;; Specify the startup banner. Default value is `official', it displays - ;; the official spacemacs logo. An integer value is the index of text - ;; banner, `random' chooses a random text banner in `core/banners' - ;; directory. A string value must be a path to an image format supported - ;; by your Emacs build. - ;; If the value is nil then no banner is displayed. (default 'official) - dotspacemacs-startup-banner 'official - ;; List of items to show in startup buffer or an association list of - ;; the form `(list-type . list-size)`. If nil then it is disabled. - ;; Possible values for list-type are: - ;; `recents' `bookmarks' `projects' `agenda' `todos'." - ;; List sizes may be nil, in which case - ;; `spacemacs-buffer-startup-lists-length' takes effect. - dotspacemacs-startup-lists '((recents . 5) - (projects . 7) - (agenda . 5)) - ;; True if the home buffer should respond to resize events. - dotspacemacs-startup-buffer-responsive t - ;; Default major mode of the scratch buffer (default `text-mode') - dotspacemacs-scratch-mode 'text-mode - ;; List of themes, the first of the list is loaded when spacemacs starts. - ;; Press T n to cycle to the next theme in the list (works great - ;; with 2 themes variants, one dark and one light) - dotspacemacs-themes '(doom-one - spacemacs-dark - spacemacs-light) - ;; If non nil the cursor color matches the state color in GUI Emacs. - dotspacemacs-colorize-cursor-according-to-state t - ;; Default font, or prioritized list of fonts. `powerline-scale' allows to - ;; quickly tweak the mode-line size to make separators look not too crappy. - dotspacemacs-default-font '("Fira Code" - :size 15 - ;;:size ,(if (= 1440 (display-pixel-height)) 15 10) - :weight semi-light - :width normal - :powerline-scale 1.6) - - ;; The leader key - dotspacemacs-leader-key "SPC" - ;; The key used for Emacs commands (M-x) (after pressing on the leader key). - ;; (default "SPC") - dotspacemacs-emacs-command-key "SPC" - ;; The key used for Vim Ex commands (default ":") - dotspacemacs-ex-command-key ":" - ;; The leader key accessible in `emacs state' and `insert state' - ;; (default "M-m") - dotspacemacs-emacs-leader-key "M-m" - ;; Major mode leader key is a shortcut key which is the equivalent of - ;; pressing ` m`. Set it to `nil` to disable it. (default ",") - dotspacemacs-major-mode-leader-key "," - ;; Major mode leader key accessible in `emacs state' and `insert state'. - ;; (default "C-M-m") - dotspacemacs-major-mode-emacs-leader-key "C-M-m" - ;; These variables control whether separate commands are bound in the GUI to - ;; the key pairs C-i, TAB and C-m, RET. - ;; Setting it to a non-nil value, allows for separate commands under - ;; and TAB or and RET. - ;; In the terminal, these pairs are generally indistinguishable, so this only - ;; works in the GUI. (default nil) - dotspacemacs-distinguish-gui-tab 1 - ;; If non nil `Y' is remapped to `y$' in Evil states. (default nil) - dotspacemacs-remap-Y-to-y$ nil - ;; If non-nil, the shift mappings `<' and `>' retain visual state if used - ;; there. (default t) - dotspacemacs-retain-visual-state-on-shift t - ;; If non-nil, J and K move lines up and down when in visual mode. - ;; (default nil) - dotspacemacs-visual-line-move-text nil - ;; If non nil, inverse the meaning of `g' in `:substitute' Evil ex-command. - ;; (default nil) - dotspacemacs-ex-substitute-global nil - ;; Name of the default layout (default "Default") - dotspacemacs-default-layout-name "Default" - ;; If non nil the default layout name is displayed in the mode-line. - ;; (default nil) - dotspacemacs-display-default-layout nil - ;; If non nil then the last auto saved layouts are resume automatically upon - ;; start. (default nil) - dotspacemacs-auto-resume-layouts nil - ;; Size (in MB) above which spacemacs will prompt to open the large file - ;; literally to avoid performance issues. Opening a file literally means that - ;; no major mode or minor modes are active. (default is 1) - dotspacemacs-large-file-size 1 - ;; Location where to auto-save files. Possible values are `original' to - ;; auto-save the file in-place, `cache' to auto-save the file to another - ;; file stored in the cache directory and `nil' to disable auto-saving. - ;; (default 'cache) - dotspacemacs-auto-save-file-location 'cache - ;; Maximum number of rollback slots to keep in the cache. (default 5) - dotspacemacs-max-rollback-slots 5 - ;; If non nil, `helm' will try to minimize the space it uses. (default nil) - dotspacemacs-helm-resize nil - ;; if non nil, the helm header is hidden when there is only one source. - ;; (default nil) - dotspacemacs-helm-no-header nil - ;; define the position to display `helm', options are `bottom', `top', - ;; `left', or `right'. (default 'bottom) - dotspacemacs-helm-position 'bottom - ;; Controls fuzzy matching in helm. If set to `always', force fuzzy matching - ;; in all non-asynchronous sources. If set to `source', preserve individual - ;; source settings. Else, disable fuzzy matching in all sources. - ;; (default 'always) - dotspacemacs-helm-use-fuzzy 'always - ;; If non nil the paste micro-state is enabled. When enabled pressing `p` - ;; several times cycle between the kill ring content. (default nil) - dotspacemacs-enable-paste-transient-state nil - ;; Which-key delay in seconds. The which-key buffer is the popup listing - ;; the commands bound to the current keystroke sequence. (default 0.4) - dotspacemacs-which-key-delay 0.4 - ;; Which-key frame position. Possible values are `right', `bottom' and - ;; `right-then-bottom'. right-then-bottom tries to display the frame to the - ;; right; if there is insufficient space it displays it at the bottom. - ;; (default 'bottom) - dotspacemacs-which-key-position 'bottom - ;; If non nil a progress bar is displayed when spacemacs is loading. This - ;; may increase the boot time on some systems and emacs builds, set it to - ;; nil to boost the loading time. (default t) - dotspacemacs-loading-progress-bar t - ;; If non nil the frame is fullscreen when Emacs starts up. (default nil) - ;; (Emacs 24.4+ only) - dotspacemacs-fullscreen-at-startup nil - ;; If non nil `spacemacs/toggle-fullscreen' will not use native fullscreen. - ;; Use to disable fullscreen animations in OSX. (default nil) - dotspacemacs-fullscreen-use-non-native nil - ;; If non nil the frame is maximized when Emacs starts up. - ;; Takes effect only if `dotspacemacs-fullscreen-at-startup' is nil. - ;; (default nil) (Emacs 24.4+ only) - dotspacemacs-maximized-at-startup nil - ;; A value from the range (0..100), in increasing opacity, which describes - ;; the transparency level of a frame when it's active or selected. - ;; Transparency can be toggled through `toggle-transparency'. (default 90) - dotspacemacs-active-transparency 90 - ;; A value from the range (0..100), in increasing opacity, which describes - ;; the transparency level of a frame when it's inactive or deselected. - ;; Transparency can be toggled through `toggle-transparency'. (default 90) - dotspacemacs-inactive-transparency 90 - ;; If non nil show the titles of transient states. (default t) - dotspacemacs-show-transient-state-title t - ;; If non nil show the color guide hint for transient state keys. (default t) - dotspacemacs-show-transient-state-color-guide t - ;; If non nil unicode symbols are displayed in the mode line. (default t) - dotspacemacs-mode-line-unicode-symbols t - ;; If non nil smooth scrolling (native-scrolling) is enabled. Smooth - ;; scrolling overrides the default behavior of Emacs which recenters point - ;; when it reaches the top or bottom of the screen. (default t) - dotspacemacs-smooth-scrolling t - ;; Control line numbers activation. - ;; If set to `t' or `relative' line numbers are turned on in all `prog-mode' and - ;; `text-mode' derivatives. If set to `relative', line numbers are relative. - ;; This variable can also be set to a property list for finer control: - ;; '(:relative nil - ;; :disabled-for-modes dired-mode - ;; doc-view-mode - ;; markdown-mode - ;; org-mode - ;; pdf-view-mode - ;; text-mode - ;; :size-limit-kb 1000) - ;; (default nil) - dotspacemacs-line-numbers t - ;; Code folding method. Possible values are `evil' and `origami'. - ;; (default 'evil) - dotspacemacs-folding-method 'origami - ;; If non-nil smartparens-strict-mode will be enabled in programming modes. - ;; (default nil) - dotspacemacs-smartparens-strict-mode nil - ;; If non-nil pressing the closing parenthesis `)' key in insert mode passes - ;; over any automatically added closing parenthesis, bracket, quote, etc… - ;; This can be temporary disabled by pressing `C-q' before `)'. (default nil) - dotspacemacs-smart-closing-parenthesis nil - ;; Select a scope to highlight delimiters. Possible values are `any', - ;; `current', `all' or `nil'. Default is `all' (highlight any scope and - ;; emphasis the current one). (default 'all) - dotspacemacs-highlight-delimiters 'all - ;; If non nil, advise quit functions to keep server open when quitting. - ;; (default nil) - dotspacemacs-persistent-server t - ;; List of search tool executable names. Spacemacs uses the first installed - ;; tool of the list. Supported tools are `ag', `pt', `ack' and `grep'. - ;; (default '("ag" "pt" "ack" "grep")) - dotspacemacs-search-tools '("ag" "pt" "ack" "grep") - ;; The default package repository used if no explicit repository has been - ;; specified with an installed package. - ;; Not used for now. (default nil) - dotspacemacs-default-package-repository nil - ;; Delete whitespace while saving buffer. Possible values are `all' - ;; to aggressively delete empty line and long sequences of whitespace, - ;; `trailing' to delete only the whitespace at end of lines, `changed'to - ;; delete only whitespace for changed lines or `nil' to disable cleanup. - ;; (default nil) - dotspacemacs-whitespace-cleanup 'changed - - ) - - -(defun dotspacemacs/user-init () - "Initialization function for user code. -It is called immediately after `dotspacemacs/init', before layer configuration -executes. - This function is mostly useful for variables that need to be set -before packages are loaded. If you are unsure, you should try in setting them in -`dotspacemacs/user-config' first." - ;; Define Custom File. - (setq custom-file - (expand-file-name "custom.el" dotspacemacs-directory) - ) - - ;; Load Custom user-init.el file. - (when (file-readable-p (expand-file-name "user-init.el" dotspacemacs-directory)) - (load-file (expand-file-name "user-init.el" dotspacemacs-directory)) - ) - ) - -(defun dotspacemacs/user-config () - "Configuration function for user code. -This function is called at the very end of Spacemacs initialization after -layers configuration. -This is the place where most of your configurations should be done. Unless it is -explicitly specified that a variable should be set before a package is loaded, -you should place your code here." - ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - ;; UI - ;; Use Slant - (setq powerline-default-separator 'slant) - ;; Neotree: Enable Icons - (setq neo-theme 'icons) - ;; Setting the theme the cursor and colors for stuff - (setq spacemacs-evil-cursors '(("normal" "#51afef" box) - ("insert" "chartreuse3" (bar . 2)) - ("emacs" "SkyBlue3" box) - ("hybrid" "SkyBlue2" (bar . 2)) - ("replace" "#d42a15" (hbar . 2)) - ("evilified" "LightGoldenrod3" box) - ("visual" "gray" (hbar . 2)) - ("motion" "plum3" box) - ("lisp" "HotPink1" box) - ("iedit" "firebrick1" box) - ("iedit-insert" "firebrick1" (bar . 2))) - ) - - ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - ;; ORGMODE - ;; Define the orgmode directory explicitly - (custom-set-variables - '(org-directory "~/org")) - ;; Orgmode-downlaod: sane defaults dir - (setq-default org-download-image-dir "~/org/resources/") - ;; Enable word wrap - (add-hook 'org-mode-hook #'visual-line-mode) - ;; Orgmode: Enable md export - (eval-after-load "org" '(require 'ox-md nil t)) - ;; Deft: Set path to Org-mope Directory - (setq deft-directory "~/org/") - - - ;; Load Custom user-config.el file. - (when (file-readable-p (expand-file-name "user-config.el" dotspacemacs-directory)) - (load-file (expand-file-name "user-config.el" dotspacemacs-directory)) - ) - ) - - ) diff --git a/emacs/spacemacs.d/user-config.el b/emacs/spacemacs.d/user-config.el deleted file mode 100644 index e69de29..0000000 diff --git a/zsh/environment/host/zuk/zshenv b/zsh/environment/host/zuk/zshenv index 3184c78..7af7d5e 100644 --- a/zsh/environment/host/zuk/zshenv +++ b/zsh/environment/host/zuk/zshenv @@ -2,6 +2,5 @@ GOLANG_PATH="/usr/lib/go/bin" export GOPATH="$HOME/src/go" export PATH="$GOPATH/bin/:$GOLANG_PATH:$PATH" -export EMACS_FRAMEWORK="doom" # vim: syn=zsh diff --git a/zsh/zshenv b/zsh/zshenv index 7701411..354a338 100644 --- a/zsh/zshenv +++ b/zsh/zshenv @@ -74,15 +74,15 @@ env_loader(){ user_script_dir=~/.scripts if [ -d $user_script_dir ] ; then - PATH="$user_script_dir:$PATH" + export PATH="$user_script_dir:$PATH" fi -env_loader zshenv - -if [ "$EMACS_FRAMEWORK" = 'doom' ] ; then +if [ -d ~/.emacs.d/bin/ ] ; then DOOM_BIN="$HOME/.emacs.d/bin" export PATH="$DOOM_BIN:$PATH" fi +env_loader zshenv + # Dedup path. typeset -gU path From 686b50ac55936150187aeee2441743792b5a1426 Mon Sep 17 00:00:00 2001 From: James Patrick Date: Thu, 12 Dec 2019 21:44:41 -0500 Subject: [PATCH 03/17] Fixed typo that prevented doom from updating properly. --- emacs/makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emacs/makefile b/emacs/makefile index a5ce65d..d498ceb 100644 --- a/emacs/makefile +++ b/emacs/makefile @@ -34,7 +34,7 @@ endif update: ifeq ($(shell [ -e $(EMACSD) ] $(return_val_truthy) ), false) $(report) info "Emacs directory doesn't exist." -else ifeq ($(FRAMEWORK), doom) +else ~/.emacs.d/bin/doom --yes refresh $(report) info "Doom updated" endif From 35728131ee53612fc76db0919f63df7ce9f8313a Mon Sep 17 00:00:00 2001 From: James Patrick Date: Thu, 12 Dec 2019 21:45:59 -0500 Subject: [PATCH 04/17] Fixed typo that was preventing key creation. --- ssh/makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ssh/makefile b/ssh/makefile index f49e34e..46c2338 100644 --- a/ssh/makefile +++ b/ssh/makefile @@ -26,10 +26,10 @@ remove: $(report) warn "NOTE: All prior keys still remain." init_jpatrick_key: -ifeq ($(shell [ ! -e $(JPATRIC_KEY) ] $(return_val_truthy) ), true) +ifeq ($(shell [ ! -e $(JPATRICK_KEY) ] $(return_val_truthy) ), true) $(report) info "Setting up key for jpatrick.io" ssh-keygen -t ed25519 -C "`hostname`: `date`" -f $(JPATRICK_KEY) -N "" \ - ; report info "jpatrick.io key created" + ; $(report) info "jpatrick.io key created" else $(report) warn "Key for jpatrick.io already created" endif From dcc4c8cb698eb776c4946421c3c6fbd9bb3ab6a8 Mon Sep 17 00:00:00 2001 From: James Patrick Date: Thu, 12 Dec 2019 21:46:16 -0500 Subject: [PATCH 05/17] OS_TYPE doesn't actually exist. Its OSTYPE. --- zsh/modules/alias/init.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zsh/modules/alias/init.zsh b/zsh/modules/alias/init.zsh index 98f690d..4cfa6b6 100644 --- a/zsh/modules/alias/init.zsh +++ b/zsh/modules/alias/init.zsh @@ -1,5 +1,5 @@ # ls shortcuts. -if [[ $OS_TYPE = darwin* ]] ; then +if [[ $OSTYPE = darwin* ]] ; then color_flag="-G" else color_flag="--color" From 8fa9db638ba9f1162ebc974fbb43947ba08a85d2 Mon Sep 17 00:00:00 2001 From: James Patrick Date: Thu, 12 Dec 2019 21:46:51 -0500 Subject: [PATCH 06/17] Pushed public key for wok. --- ssh/public_keys/wok/git.jpatrick.io.pub | 1 + 1 file changed, 1 insertion(+) create mode 100644 ssh/public_keys/wok/git.jpatrick.io.pub diff --git a/ssh/public_keys/wok/git.jpatrick.io.pub b/ssh/public_keys/wok/git.jpatrick.io.pub new file mode 100644 index 0000000..0daf7f7 --- /dev/null +++ b/ssh/public_keys/wok/git.jpatrick.io.pub @@ -0,0 +1 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAaWSYsIOQbhvoeh4i+y5LtuiL7QuTCglbRtQUqfMql9 wok: Thu Dec 12 21:31:05 EST 2019 From 60a274a90c2f3f311b1f947b511d72d16c51cd32 Mon Sep 17 00:00:00 2001 From: James Patrick Date: Fri, 13 Dec 2019 11:48:21 -0500 Subject: [PATCH 07/17] Fixed ordering of ln and install. --- emacs/makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/emacs/makefile b/emacs/makefile index d498ceb..a9f47b8 100644 --- a/emacs/makefile +++ b/emacs/makefile @@ -17,15 +17,15 @@ else ifneq ($(call cmd_exist,emacs), true) $(info Emacs not installed ) else $(info => installing doom.) - $(MAKE) -C $(SRC_DIR) doom_init $(mk_link) $(SRC_DIR)/doom.d $(DOOMD) + $(MAKE) -C $(SRC_DIR) doom_init endif doom_init: ifeq ($(shell [ ! -e $(EMACSD) ] $(return_val_truthy) ), true) git clone $(DOOM_URL) $(EMACSD) ; $(report) "Doom installed" - $(report) warn "Doom quickstart is about to start. This will take a minute" ; sleep 3 - ~/.emacs.d/bin/doom --yes quickstart + $(report) warn "Doom install is about to start. This will take a minute" ; sleep 3 + ~/.emacs.d/bin/doom --yes install ~/.emacs.d/bin/doom --yes compile ':core' else $(report) info "$(EMACSD) already exist. Skipping." From 2ef655378e4a32ab1ea7a863be981e0e92614473 Mon Sep 17 00:00:00 2001 From: James Patrick Date: Fri, 13 Dec 2019 11:52:20 -0500 Subject: [PATCH 08/17] Added missing paren. --- emacs/doom.d/config.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emacs/doom.d/config.el b/emacs/doom.d/config.el index d8e0756..0adbc60 100644 --- a/emacs/doom.d/config.el +++ b/emacs/doom.d/config.el @@ -16,6 +16,6 @@ (setq deft-directory "~/org/") ;; Have projectile automatically check code. -(setq projectile-project-search-path '("~/code/") +(setq projectile-project-search-path '("~/code/")) (setq doom-localleader-key ",") From 4c05d895901b5d84f743b68dd3e1e47e7faf2157 Mon Sep 17 00:00:00 2001 From: James Patrick Date: Fri, 13 Dec 2019 12:00:11 -0500 Subject: [PATCH 09/17] Removed the silent @ as recipe echoing is disabled. --- emacs/makefile | 2 +- tmux/makefile | 2 +- vim/makefile | 8 ++++---- waybar/makefile | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/emacs/makefile b/emacs/makefile index a9f47b8..4847649 100644 --- a/emacs/makefile +++ b/emacs/makefile @@ -41,4 +41,4 @@ endif remove: $(info => Removing Emacs config) - @ $(rm_link) $(EMACSD) + $(rm_link) $(EMACSD) diff --git a/tmux/makefile b/tmux/makefile index d0d9997..90e2283 100644 --- a/tmux/makefile +++ b/tmux/makefile @@ -18,4 +18,4 @@ update: remove: $(info => Remvoing tmux config) - @ $(rm_link) $(TARGET) + $(rm_link) $(TARGET) diff --git a/vim/makefile b/vim/makefile index 0b73f7d..6659ff0 100644 --- a/vim/makefile +++ b/vim/makefile @@ -12,8 +12,8 @@ ifneq ($(call cmd_exist,vim), true) $(error Vim not installed) endif $(info => Setting up vim) - @ $(mk_link) $(SRC_DIR) $(TARGET_DIR) - @ $(mk_link) $(SRC_DIR)/vimrc ~/.vimrc + $(mk_link) $(SRC_DIR) $(TARGET_DIR) + $(mk_link) $(SRC_DIR)/vimrc ~/.vimrc update: ifneq ($(call cmd_exist,vim), true) @@ -25,5 +25,5 @@ endif remove: $(info => Removing vim config) - @ $(rm_link) ~/.vimrc - @ $(rm_link) $(TARGET_DIR) + $(rm_link) ~/.vimrc + $(rm_link) $(TARGET_DIR) diff --git a/waybar/makefile b/waybar/makefile index 538b311..4ea7137 100644 --- a/waybar/makefile +++ b/waybar/makefile @@ -23,6 +23,6 @@ endif remove: $(info => Removing waybar) - @ $(rm_link) $(TARGET) + $(rm_link) $(TARGET) .PHONY: install update init remove From 5b81a2827b2cea9ecb5c9abe5b5eecae532e7847 Mon Sep 17 00:00:00 2001 From: James Patrick Date: Fri, 13 Dec 2019 12:36:07 -0500 Subject: [PATCH 10/17] Added Step that create parent dir in symlinking. --- lib/helper/mk_link | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/lib/helper/mk_link b/lib/helper/mk_link index 15ce8c6..6d4f4e5 100755 --- a/lib/helper/mk_link +++ b/lib/helper/mk_link @@ -1,17 +1,23 @@ #! env zsh # -*- sh -*- -REPORT=`dirname $0`/report +REPORT="`dirname $0`/report" if [ -z "$1" ] || [ -z "$2" ] ; then - $REPORT error "ERROR: Both to and from string must be defined.\n source: $1 \n symlnk: $2" + "$REPORT" error "ERROR: Both to and from string must be defined.\n source: $1 \n symlnk: $2" exit fi if [[ -e $2 ]] ; then - $REPORT warn "$2 already exist. Skipping." + "$REPORT" info "$2 already exist. Skipping." exit fi -$REPORT info "Symlinked `ln -svf $1 $2`" +parent=$(dirname "$2") +if [[ ! -e $parent ]] ; then + "$REPORT" warn "$parent doesn't exist. Creating." + mkdir -p $parent +fi + +"$REPORT" info "Symlinked `ln -svf $1 $2`" From 39632d150eb796a75b0bc1aae3c6f4ff50983727 Mon Sep 17 00:00:00 2001 From: James Patrick Date: Fri, 13 Dec 2019 14:31:35 -0500 Subject: [PATCH 11/17] Added better reporting for mk_link. --- lib/helper/mk_link | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/lib/helper/mk_link b/lib/helper/mk_link index 6d4f4e5..259ec82 100755 --- a/lib/helper/mk_link +++ b/lib/helper/mk_link @@ -5,12 +5,23 @@ REPORT="`dirname $0`/report" if [ -z "$1" ] || [ -z "$2" ] ; then "$REPORT" error "ERROR: Both to and from string must be defined.\n source: $1 \n symlnk: $2" - exit + exit -1 +fi + +if [[ -h $2 ]] ; then + link_location=$(readlink $2) + if [[ "$1" == "$link_location" ]] ; then + "$REPORT" info "symlink already installed $1" + exit 0 + else + "$REPORT" warn "symlink already exist, buut doesn't point to the src" + exit 1 + fi fi if [[ -e $2 ]] ; then - "$REPORT" info "$2 already exist. Skipping." - exit + "$REPORT" warn "Something already exists at $2." + exit 1 fi parent=$(dirname "$2") From ac0adbdcd20b20c140d1d72b9f156472a88204b9 Mon Sep 17 00:00:00 2001 From: James Patrick Date: Fri, 13 Dec 2019 16:44:01 -0500 Subject: [PATCH 12/17] Added second public key. --- ssh/public_keys/wok/id_ed25519.pub | 1 + 1 file changed, 1 insertion(+) create mode 100644 ssh/public_keys/wok/id_ed25519.pub diff --git a/ssh/public_keys/wok/id_ed25519.pub b/ssh/public_keys/wok/id_ed25519.pub new file mode 100644 index 0000000..9427f03 --- /dev/null +++ b/ssh/public_keys/wok/id_ed25519.pub @@ -0,0 +1 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHr0yxRbxeWwnkT4aBD2tYwnh0V+ghc0vLccgvy5mUW/ wok: Fri Dec 13 16:43:09 EST 2019 From 35000ec4ce318b6192c574d896c4b9be3d3374b7 Mon Sep 17 00:00:00 2001 From: James Patrick Date: Sun, 15 Dec 2019 00:32:55 -0500 Subject: [PATCH 13/17] Fixed eager evaluation of conditionals issue. --- emacs/makefile | 41 ++++++++++++++++++++++------------------- lib/helper/report | 10 +++++++--- lib/shared.mk | 2 +- 3 files changed, 30 insertions(+), 23 deletions(-) diff --git a/emacs/makefile b/emacs/makefile index 4847649..36dca23 100644 --- a/emacs/makefile +++ b/emacs/makefile @@ -11,33 +11,36 @@ include ../lib/shared.mk install: | init update init: -ifndef IS_SSH - $(info Remote connection. Not installing emacs config.) -else ifneq ($(call cmd_exist,emacs), true) - $(info Emacs not installed ) + $(report) header "emacs init" +ifneq "$(call cmd_exist,emacs)" "true" + $(report) quite "emacs not installed. Skipping install." +else ifeq "$(IS_SSH)" "true" + $(report) quite "This is a ssh connection. Skipping install." else - $(info => installing doom.) $(mk_link) $(SRC_DIR)/doom.d $(DOOMD) $(MAKE) -C $(SRC_DIR) doom_init endif doom_init: -ifeq ($(shell [ ! -e $(EMACSD) ] $(return_val_truthy) ), true) - git clone $(DOOM_URL) $(EMACSD) ; $(report) "Doom installed" - $(report) warn "Doom install is about to start. This will take a minute" ; sleep 3 - ~/.emacs.d/bin/doom --yes install - ~/.emacs.d/bin/doom --yes compile ':core' -else - $(report) info "$(EMACSD) already exist. Skipping." -endif + if [ ! -e $(EMACSD) ] ; then \ + git clone $(DOOM_URL) $(EMACSD) ;\ + ~/.emacs.d/bin/doom --yes install ;\ + $(report) "doom install" ;\ + ~/.emacs.d/bin/doom --yes compile ':core' ;\ + $(report) "doom core compile" ;\ + else ;\ + $(report) debug "emacsd already exists" ;\ + fi update: -ifeq ($(shell [ -e $(EMACSD) ] $(return_val_truthy) ), false) - $(report) info "Emacs directory doesn't exist." -else - ~/.emacs.d/bin/doom --yes refresh - $(report) info "Doom updated" -endif + if [ -e $(EMACSD)/bin/doom ] ; then \ + ~/.emacs.d/bin/doom --yes purge ;\ + $(report) info "doom purge" ;\ + ~/.emacs.d/bin/doom --yes refresh ;\ + $(report) info "doom refresh" ;\ + else \ + $(report) debug "doom not setup, so not updating." ;\ + fi remove: $(info => Removing Emacs config) diff --git a/lib/helper/report b/lib/helper/report index 758c0b0..925400a 100755 --- a/lib/helper/report +++ b/lib/helper/report @@ -3,13 +3,17 @@ R='\033[0;31m' Y='\033[0;33m' G='\033[0;32m' +MUTED='\033[0;37m' NC='\033[0m' # No Color format(){ case $1 in - "error") echo -e "$R ✘ $2$NC";; - "warn") echo -e "$Y ⚠ $2$NC";; - "info") echo -e "$G ✔ $2$NC";; + "error") echo -e "$R ✘ $2$NC";; + "warn") echo -e "$Y ⚠ $2$NC";; + "info") echo -e "$G ✔ $2$NC";; + "quite") echo -e "$MUTED כֿ $2$NC";; + "debug") [ -v verbose ] && echo -e "$MUTED כֿ $2$NC" || true ;; + "header") echo -e "=> $2";; *) echo -e "$1: $2";; esac } diff --git a/lib/shared.mk b/lib/shared.mk index a2459de..814b36c 100644 --- a/lib/shared.mk +++ b/lib/shared.mk @@ -27,7 +27,7 @@ endif IS_MAC?=false IS_LINUX?=false -IS_SSH=${SSH_TTY} +IS_SSH=$(shell [ ! -z $$SSH_TTY ] $(return_val_truthy) ) # TURN THIS OFF FOR DEBUGGING MAKEFLAGS += --silent From 3b9211202aa455daab4e9b7445fcc84d248fa761 Mon Sep 17 00:00:00 2001 From: James Patrick Date: Sun, 15 Dec 2019 01:37:19 -0500 Subject: [PATCH 14/17] Cleaned up makefile --- lib/shared.mk | 1 + tmux/makefile | 1 + tridactyl/makefile | 20 ++++++++++++-------- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/lib/shared.mk b/lib/shared.mk index 814b36c..d587a76 100644 --- a/lib/shared.mk +++ b/lib/shared.mk @@ -11,6 +11,7 @@ LIB_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) mk_link := $(LIB_DIR)/helper/mk_link rm_link := $(LIB_DIR)/helper/rm_link report := LAST_RETURN=$$? $(LIB_DIR)/helper/report + return_val_truthy := && echo true || echo false cmd_exist = $(shell (($$+commands[$1])) $(return_val_truthy) ) diff --git a/tmux/makefile b/tmux/makefile index 90e2283..2f26472 100644 --- a/tmux/makefile +++ b/tmux/makefile @@ -7,6 +7,7 @@ include ../lib/shared.mk install: | init update init: +$(info => tmux init) ifeq ($(call cmd_exist,tmux), true) $(info => Setting up tmux) $(mk_link) $(SOURCE) $(TARGET) diff --git a/tridactyl/makefile b/tridactyl/makefile index 0b3c792..0b2178e 100644 --- a/tridactyl/makefile +++ b/tridactyl/makefile @@ -1,24 +1,28 @@ -SRC := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) +SRC_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) include ../lib/shared.mk -TARGET := $(XDG_DIR)/tridactyl +RC_TARGET := $(XDG_DIR)/tridactyl SCRIPTS_TARGET := ~/.local/share/tridactyl/scripts - install: | init update init: -ifeq ($(shell $(call cmd_exist,firefox) || $(IS_MAC) ; echo $$? ), 0) - $(info => Setting up Tridacyl) - $(mk_link) $(SRC) $(TARGET) - $(mk_link) $(SRC)/scripts $(SCRIPTS_TARGET) + $(info => setting up Tridaycl) +ifeq "$(IS_MAC)" "true" + $(MAKE) -C $(SRC_DIR) setup +else ifeq "$(call cmd_exist,firefox)" "true" + $(MAKE) -C $(SRC_DIR) setup else $(report) warn "This doesn't seem to be an env for Tridactyl. Skipping." endif +setup: + $(mk_link) $(SRC_DIR) $(RC_TARGET) + $(mk_link) $(SRC_DIR)/scripts $(SCRIPTS_TARGET) + update: remove: $(info => Remvoing tridactyl ) - $(rm_link) $(TARGET) + $(rm_link) $(RC_TARGET) $(rm_link) $(SCRIPTS_TARGET) From bf6d81e958dc481e9e35f043b739aba9b47abcd5 Mon Sep 17 00:00:00 2001 From: James Patrick Date: Mon, 16 Dec 2019 11:28:05 -0500 Subject: [PATCH 15/17] Added some small UI tweaks for tridactyl theme. --- tridactyl/themes/onedark.css | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/tridactyl/themes/onedark.css b/tridactyl/themes/onedark.css index be64698..e990e5c 100644 --- a/tridactyl/themes/onedark.css +++ b/tridactyl/themes/onedark.css @@ -129,19 +129,20 @@ .TridactylStatusIndicator { background: var(--tridactyl-bg) !important; - border: 1px var(--base0B) solid !important; + border: 1px var(--tridactyl-bg) solid !important; color: var(--base0B); border: unset !important; bottom: 0 !important; - font-size: 12pt !important; + font-size: 10pt !important; padding: 0.8ex !important; position: fixed !important; } -/* /\* #Ocean-normal { *\/ */ -/* /\* border-color: green !important; *\/ */ -/* /\* } *\/ */ +.TridactylModeignore{ + background: var(--base0A) !important; + border: 1px var(--base0A) solid !important; + color: var(--tridactyl-of-fg) !important; +} -/* /\* #Ocean-insert { *\/ */ -/* /\* border-color: yellow !important; *\/ */ -/* /\* } *\/ */ +.TridactylModenormal{ +} From af4a00dd3e1d45021644e3ecb904a0789c201ef0 Mon Sep 17 00:00:00 2001 From: James Patrick Date: Mon, 16 Dec 2019 14:05:24 -0500 Subject: [PATCH 16/17] +tng and +childframe conflict. Don't use both. --- emacs/doom.d/init.el | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/emacs/doom.d/init.el b/emacs/doom.d/init.el index 9aaf1fe..b930e67 100644 --- a/emacs/doom.d/init.el +++ b/emacs/doom.d/init.el @@ -1,9 +1,9 @@ ;;; init.el -*- lexical-binding: t; -*- -;; Copy this file to ~/.doom.d/init.el or ~/.config/doom/init.el ('doom -;; quickstart' will do this for you). The `doom!' block below controls what -;; modules are enabled and in what order they will be loaded. Remember to run -;; 'doom refresh' after modifying it. +;; Copy this file to ~/.doom.d/init.el or ~/.config/doom/init.el ('doom install' +;; will do this for you). The `doom!' block below controls what modules are +;; enabled and in what order they will be loaded. Remember to run 'doom refresh' +;; after modifying it. ;; ;; More information about these modules (and what flags they support) can be ;; found in modules/README.org. @@ -14,8 +14,7 @@ :completion (company ; the ultimate code completion backend. - +childframe ; Use company-box. - +tng) ; Compnay on tab. + +childframe) ; Use company-box. (helm ; because sometimes I prefer what I know. +fuzzy) ; woh typse aynthing write teh first time. ;;ido ; the other *other* search engine... @@ -155,9 +154,9 @@ ;;vala ; GObjective-C :email - ;;(mu4e +gmail) ; WIP - ;;notmuch ; WIP - ;;(wanderlust +gmail) ; WIP + ;;(mu4e +gmail) + ;;notmuch + ;;(wanderlust +gmail) ;; Applications are complex and opinionated modules that transform Emacs ;; toward a specific purpose. They may have additional dependencies and From 40d8b3fdf36f54590f91f3f415c3694b37e47547 Mon Sep 17 00:00:00 2001 From: James Patrick Date: Fri, 20 Dec 2019 10:09:45 -0500 Subject: [PATCH 17/17] Added simple theme for report server. Its largely based on jackharrisonsherlock's common prompt, but has some different namespacing, a deterministic prompt color based on the hostname, and a few other minor changes. My plan is to add async git info to this, but this is the MVP for this. --- zsh/modules/prompt/uncommon.zsh | 58 +++++++++++++++++++++++++++++++++ zsh/zplug | 15 ++++++--- 2 files changed, 69 insertions(+), 4 deletions(-) create mode 100755 zsh/modules/prompt/uncommon.zsh diff --git a/zsh/modules/prompt/uncommon.zsh b/zsh/modules/prompt/uncommon.zsh new file mode 100755 index 0000000..5caae46 --- /dev/null +++ b/zsh/modules/prompt/uncommon.zsh @@ -0,0 +1,58 @@ +autoload -U colors \ + && colors + +_UNCOMMON_COLOR_CURRENT_DIR=blue +_UNCOMMON_COLOR_RETURN_TRUE=yellow +_UNCOMMON_COLOR_RETURN_FALSE=red +_UNCOMMON_COLOR_BG_JOBS=yellow +_UNCOMMON_PROMPT_SYMBOL=${_UNCOMMON_PROMPT_SYMBOL:-'❯'} + +if [ -z "$_UNCOMMON_HOSTNAME_COLOR" ] ; then + if [ -z "$_UNCOMMON_PROMPT_COLORS" ] ; then + _UNCOMMON_PROMPT_COLORS=( + $fg[blue] + $fg[cyan] + $fg[green] + $fg[magenta] + $fg[red] + $fg[white] + $fg[yellow] + ) + fi + + local DETERMINISTIC_INT=$(( $(hostname | cksum | sed 's/[^0-9]*//g') % ${#_UNCOMMON_PROMPT_COLORS[@]} )) + export _UNCOMMON_HOSTNAME_COLOR=${_UNCOMMON_PROMPT_COLORS[$DETERMINISTIC_INT]} +fi + +PROMPT='$(_uncommon_host)$(_uncommon_current_dir)$(_uncommon_return_status)' +RPROMPT='$(_uncommon_time)' + +_uncommon_host(){ + if [[ -n $SSH_CONNECTION ]]; then + me="%n@%m" + elif [[ "$LOGNAME" != "$USER" ]]; then + me="%n" + fi + + if [[ -n $me ]]; then + echo "%{${_UNCOMMON_HOSTNAME_COLOR}%}$me%{$reset_color%}:" + fi +} + +_uncommon_current_dir(){ + echo -n "%{$fg[$_UNCOMMON_COLOR_CURRENT_DIR]%}%c " +} + +_uncommon_return_status() { + echo -n "%(?.%F{$_UNCOMMON_COLOR_RETURN_TRUE}.%F{$_UNCOMMON_COLOR_RETURN_FALSE})$_UNCOMMON_PROMPT_SYMBOL%f " +} + +_uncommon_bg_jobs() { + bg_status="%{$fg[$_UNCOMMON_COLOR_BG_JOBS]%}%(1j.↓%j .)" + echo -n $bg_status +} + +_uncommon_time(){ + echo "%F{red} %D{%L:%M:%S}%r%f" +} + diff --git a/zsh/zplug b/zsh/zplug index 8d7b5b8..675c719 100755 --- a/zsh/zplug +++ b/zsh/zplug @@ -60,10 +60,17 @@ zplug "${ZDIR}/modules/alias/", \ from:local, \ as:plugin -zplug "denysdovhan/spaceship-prompt", \ - use:spaceship.zsh, \ - from:github, \ - as:theme +if [ -z "$SSH_CONNECTION" ] ; then + zplug "${ZDIR}/modules/prompt/",\ + from:local,\ + use:uncommon.zsh, \ + as:theme +else + zplug "denysdovhan/spaceship-prompt", \ + use:spaceship.zsh, \ + from:github, \ + as:theme +fi env_loader zplug