From f0c5b56742223ae4754469c516c2924ec7f3aa3d Mon Sep 17 00:00:00 2001 From: Blendoit Date: Mon, 24 Aug 2020 23:57:02 -0700 Subject: Portable Emacs WIP :-) --- blendoit/blendoit-init.org | 70 +- blendoit/blendoit-sidebar.el | 23 - blendoit/blendoit-sidebar.el.bkp | 23 + blendoit/img/Safran_logo.svg | 5511 ------------------------------- blendoit/img/logo-blendux.png | Bin 99153 -> 0 bytes blendoit/img/logo-blendux_smaller.png | Bin 26441 -> 0 bytes blendoit/init-bootstrap.el | 13 - blendoit/themes/blendoit-light-theme.el | 85 - img/Safran_logo.svg | 5511 +++++++++++++++++++++++++++++++ img/logo-blendux.png | Bin 0 -> 99153 bytes img/logo-blendux_smaller.png | Bin 0 -> 26441 bytes init.el | 36 +- themes/blendoit-light-theme.el | 85 + 13 files changed, 5679 insertions(+), 5678 deletions(-) delete mode 100644 blendoit/blendoit-sidebar.el create mode 100644 blendoit/blendoit-sidebar.el.bkp delete mode 100644 blendoit/img/Safran_logo.svg delete mode 100644 blendoit/img/logo-blendux.png delete mode 100644 blendoit/img/logo-blendux_smaller.png delete mode 100644 blendoit/init-bootstrap.el delete mode 100644 blendoit/themes/blendoit-light-theme.el create mode 100644 img/Safran_logo.svg create mode 100644 img/logo-blendux.png create mode 100644 img/logo-blendux_smaller.png create mode 100644 themes/blendoit-light-theme.el diff --git a/blendoit/blendoit-init.org b/blendoit/blendoit-init.org index 2125246..19b2755 100644 --- a/blendoit/blendoit-init.org +++ b/blendoit/blendoit-init.org @@ -4,8 +4,8 @@ #+EMAIL: blendoit@gmail.com #+STARTUP: showall customtime -#+SETUPFILE: ~/.emacs.d/templates/documents/general.org -#+INCLUDE: ~/.emacs.d/templates/documents/general.org_title +# #+SETUPFILE: ~/.emacs.d/templates/documents/general.org +# #+INCLUDE: ~/.emacs.d/templates/documents/general.org_title \begin{abstract} GNU Emacs is most often used as a text editor. @@ -99,30 +99,17 @@ Makes opening emacs faster for following instances. ; (setq initial-buffer-choice (lambda () (get-buffer "*dashboard*"))) #+END_SRC -** Refresh configuration - -Add an ~after-save-hook~ that tangles and loads this literary configuration. - -# #+NAME: emacs-client -# #+BEGIN_SRC emacs-lisp -# (defun my/tangle-and-load-blendoit-init() -# (org-babel-load-file "~/.emacs.d/blendoit/blendoit-init.org") -# ) - -# (add-hook 'after-save-hook 'my/tangle-and-load-blendoit-init) - -# (my/tangle-and-load-blendoit-init) -# #+END_SRC - ** Custom file Load settings created automatically by GNU Emacs Custom. (For example, any clickable option/toggle is saved here.) Useful for fooling around with M-x customize-group . +user-emacs-directory + #+NAME: custom-file-location #+BEGIN_SRC emacs-lisp - (setq custom-file "~/.emacs.d/init-custom.el") + (setq custom-file (concat user-emacs-directory "init-custom.el")) (load custom-file) #+END_SRC @@ -145,7 +132,7 @@ We begin by defining a user shortcut to this very file: (defun find-init-blendoit () "Jump to this very file." (interactive) - (find-file "~/.emacs.d/blendoit/blendoit-init.org")) + (find-file my/literate-config)) (global-set-key (kbd "C-c c") 'find-init-blendoit) #+END_SRC @@ -270,6 +257,8 @@ configuration file. (package-install 'use-package) (eval-when-compile (require 'use-package))) (setq use-package-always-ensure t) +(require 'use-package) +(use-package bind-key) #+END_SRC ** TODO Convenient package update @@ -339,7 +328,7 @@ Org base directory is in user home on GNU/Linux, or in =AppData= in MS Windows. #+NAME: org-basic #+BEGIN_SRC emacs-lisp - (setq org-directory "~/org") + (setq org-directory (concat user-emacs-directory "~/org")) #+END_SRC First, we hide markup symbols for *bold*, /italic/, _underlined_ and +strikethrough+ @@ -351,7 +340,7 @@ them corrupts tables. #+NAME: org-basic #+BEGIN_SRC emacs-lisp - (setq org-hide-emphasis-markers t) + (setq org-hide-emphasis-markers nil) (setq org-startup-indented t) #+END_SRC @@ -497,23 +486,6 @@ LaTeX \rightarrow PDF. ("C-c C" . ledger-mode-clean-buffer)) #+END_SRC -** ibuffer-sidebar - -#+BEGIN_SRC emacs-lisp - ;; (use-package ibuffer-sidebar) - ;; (ibuffer-sidebar-show-sidebar) - - ; :bind ("mouse-1" . ibuffer-mouse-visit-buffer) - ; :bind ("mouse-3" . ibuffer-mouse-toggle-mark)) - - ; (add-hook 'ibuffer-sidebar-mode-hook - ; (lambda () - ; (local-unset-key (quote mouse-1)) - ; (local-unset-key (quote mouse-2)) - ; (local-set-key (quote mouse-1) (quote ibuffer-mouse-visit-buffer)) - ; (local-set-key (quote mouse-2) (quote ibuffer-mouse-toggle-mark)))) -#+END_SRC - ** TODO Sidebar Get inspiration from ~ibuffer-sidebar~ and create a better sidebar. @@ -588,7 +560,7 @@ We replace the standard welcome screen with our own. (use-package dashboard :config (dashboard-setup-startup-hook) - (setq dashboard-startup-banner "~/.emacs.d/blendoit/img/Safran_logo.svg") + (setq dashboard-startup-banner (concat user-emacs-directory "img/Safran_logo.svg")) (setq dashboard-items '((recents . 5) (projects . 5))) (setq dashboard-banner-logo-title "A modern professional text editor.")) @@ -712,7 +684,7 @@ GNU/Linux. Frame transparency increases when focus is lost. My custom themes. #+BEGIN_SRC emacs-lisp -(setq custom-theme-directory "~/.emacs.d/blendoit/themes/") +(setq custom-theme-directory (concat user-emacs-directory "themes/")) (load-theme 'blendoit-light) ; (load-theme 'blendoit-dark) #+END_SRC @@ -761,6 +733,24 @@ Save cursor location in visited buffer after closing it or Emacs. (save-place-mode 1) #+END_SRC +Saving any file in ~user-emacs-directory~ (by default on Emacs, =~/emacs.d=) +shall byte-recompile the entire =.emacs/= directory, for increased speed. + +This is pretty neat, not gonna lie. + +#+BEGIN_SRC emacs-lisp + (defun my/byte-compile-user-config () + "Byte-compile dotfiles if current file is in `user-emacs-directory'. + Also tangles `my-literate-config'." + (interactive) + (if (string-equal buffer-file-name my/literate-config) + (org-babel-tangle)) + (if (string-prefix-p user-emacs-directory default-directory) + (byte-recompile-directory user-emacs-directory 0))) + + (add-hook 'after-save-hook my/byte-compile-user-config) +#+END_SRC + ** Clean up menus Originally, I wished to inhibit certain entries in the GUI menus. Not worth the diff --git a/blendoit/blendoit-sidebar.el b/blendoit/blendoit-sidebar.el deleted file mode 100644 index 03d1708..0000000 --- a/blendoit/blendoit-sidebar.el +++ /dev/null @@ -1,23 +0,0 @@ -;;; blendoit-sidebar.el --- Modern buffer list in sidebar - -;; Copyright (C) 2020 Marius Peter - -;; Author: Marius Peter -;; Version: 0.1 -;; Package-Requires: ((flange "1.0")) -;; Keywords: multimedia, frobnicate -;; URL: http://example.com/jrhacker/superfrobnicate - -... - -;; Commentary: - -;; This package provides an auto-hiding sidebar with a list of open buffers. - -;;;###autoload -(define-minor-mode blendoit-sidebar-mode) - - -(provide 'blendoit-sidebar) - -;;; blendoit-sidebar.el ends here diff --git a/blendoit/blendoit-sidebar.el.bkp b/blendoit/blendoit-sidebar.el.bkp new file mode 100644 index 0000000..8677083 --- /dev/null +++ b/blendoit/blendoit-sidebar.el.bkp @@ -0,0 +1,23 @@ +;;; blendoit-sidebar.el --- Modern buffer list in sidebar + +;; Copyright (C) 2020 Marius Peter + +;; Author: Marius Peter +;; Version: 0.1 +;; Package-Requires: ((flange "1.0")) +;; Keywords: multimedia, frobnicate +;; URL: http://example.com/jrhacker/superfrobnicate + +;; Commentary: + +;; This package provides an auto-hiding sidebar with a list of open buffers. + +;; Code: + +;;;###autoload +(define-minor-mode blendoit-sidebar-mode) + + +(provide 'blendoit-sidebar) + +;;; blendoit-sidebar.el ends here diff --git a/blendoit/img/Safran_logo.svg b/blendoit/img/Safran_logo.svg deleted file mode 100644 index 12ae8e3..0000000 --- a/blendoit/img/Safran_logo.svg +++ /dev/null @@ -1,5511 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - diff --git a/blendoit/img/logo-blendux.png b/blendoit/img/logo-blendux.png deleted file mode 100644 index 36280ea..0000000 Binary files a/blendoit/img/logo-blendux.png and /dev/null differ diff --git a/blendoit/img/logo-blendux_smaller.png b/blendoit/img/logo-blendux_smaller.png deleted file mode 100644 index 84d0520..0000000 Binary files a/blendoit/img/logo-blendux_smaller.png and /dev/null differ diff --git a/blendoit/init-bootstrap.el b/blendoit/init-bootstrap.el deleted file mode 100644 index 507ebda..0000000 --- a/blendoit/init-bootstrap.el +++ /dev/null @@ -1,13 +0,0 @@ -;;; init-bootstrap.el --- load main Emacs config from USB drive. - -;;; Commentary: -;; This package enables the bootstrapping of a full `.emacs.d/' configuration -;; residing on a removable drive. It is copied over from init-bootstrap.el to -;; init.el, at a location the OS expects to find that file. Then, every time -;; Emacs is started, it will scan the top level of all typical mount points in -;; an effort to detect an existing `.emacs.d/'. - -;;; Code: - -(provide 'init-bootstrap) -;;; init-bootstrap.el ends here diff --git a/blendoit/themes/blendoit-light-theme.el b/blendoit/themes/blendoit-light-theme.el deleted file mode 100644 index 033881a..0000000 --- a/blendoit/themes/blendoit-light-theme.el +++ /dev/null @@ -1,85 +0,0 @@ -(deftheme blendoit-light - "Created 2020-08-22.") - -(custom-theme-set-faces - 'blendoit-light - '(cursor ((t (:background "red")))) - '(fixed-pitch ((t (:family "Hack")))) - '(variable-pitch ((t (:family "Liberation Sans")))) - '(escape-glyph ((((background dark)) (:foreground "cyan")) (((type pc)) (:foreground "magenta")) (t (:foreground "brown")))) - '(homoglyph ((((background dark)) (:foreground "cyan")) (((type pc)) (:foreground "magenta")) (t (:foreground "brown")))) - '(minibuffer-prompt ((t (:inherit org-meta-line)))) - '(highlight ((t (:background "deep sky blue" :foreground "white")))) - '(region ((t (:background "gainsboro")))) - '(shadow ((t (:foreground "dark slate gray")))) - '(secondary-selection ((((class color) (min-colors 88) (background light)) (:background "yellow1")) (((class color) (min-colors 88) (background dark)) (:background "SkyBlue4")) (((class color) (min-colors 16) (background light)) (:background "yellow")) (((class color) (min-colors 16) (background dark)) (:background "SkyBlue4")) (((class color) (min-colors 8)) (:foreground "black" :background "cyan")) (t (:inverse-video t)))) - '(trailing-whitespace ((((class color) (background light)) (:background "red1")) (((class color) (background dark)) (:background "red1")) (t (:inverse-video t)))) - '(font-lock-builtin-face ((t (:foreground "dark slate blue")))) - '(font-lock-comment-delimiter-face ((t (:foreground "dim gray" :inherit font-lock-comment-face)))) - '(font-lock-comment-face ((t (:slant italic :foreground "slate gray" :inherit variable-pitch)))) - '(font-lock-constant-face ((t (:foreground "dark cyan")))) - '(font-lock-function-name-face ((((class color) (min-colors 88) (background light)) (:foreground "Blue1")) (((class color) (min-colors 88) (background dark)) (:foreground "LightSkyBlue")) (((class color) (min-colors 16) (background light)) (:foreground "Blue")) (((class color) (min-colors 16) (background dark)) (:foreground "LightSkyBlue")) (((class color) (min-colors 8)) (:weight bold :foreground "blue")) (t (:weight bold :inverse-video t)))) - '(font-lock-keyword-face ((t (:foreground "slate blue")))) - '(font-lock-negation-char-face ((t nil))) - '(font-lock-preprocessor-face ((t (:inherit (font-lock-builtin-face))))) - '(font-lock-regexp-grouping-backslash ((t (:inherit (bold))))) - '(font-lock-regexp-grouping-construct ((t (:inherit (bold))))) - '(font-lock-string-face ((t (:foreground "DodgerBlue1")))) - '(font-lock-type-face ((t (:foreground "ForestGreen")))) - '(font-lock-variable-name-face ((t (:foreground "sienna")))) - '(font-lock-warning-face ((t (:inherit (error))))) - '(fringe ((t (:background "grey95")))) - '(header-line ((t (:box nil :foreground "grey20" :background "grey90" :inherit (mode-line))))) - '(tooltip ((t (:foreground "black" :background "lightyellow" :inherit (variable-pitch))))) - '(mode-line ((t (:box (:line-width -1 :color nil :style released-button) :foreground "black" :background "grey75")))) - '(mode-line-buffer-id ((t (:weight bold)))) - '(mode-line-emphasis ((t (:weight bold)))) - '(mode-line-highlight ((t (:box (:line-width 2 :color "grey40" :style released-button))))) - '(mode-line-inactive ((t (:weight light :box (:line-width -1 :color "grey75" :style nil) :foreground "grey20" :background "grey90" :inherit (mode-line))))) - '(isearch ((t (:background "DodgerBlue1" :foreground "white")))) - '(isearch-fail ((t (:background "RosyBrown1")))) - '(lazy-highlight ((t (:foreground "DodgerBlue1" :box 2)))) - '(match ((t (:background "yellow1")))) - '(next-error ((t (:inherit region)))) - '(query-replace ((t (:inherit (isearch))))) - '(swiper-match-face-1 ((t (:inherit lazy-highlight)))) - '(swiper-match-face-2 ((t (:inherit (isearch))))) - '(swiper-match-face-3 ((t (:inherit isearch)))) - '(swiper-match-face-4 ((t (:inherit isearch)))) - '(ivy-minibuffer-match-face-1 ((t (:inherit swiper-match-face-1)))) - '(ivy-minibuffer-match-face-2 ((t (:inherit swiper-match-face-2)))) - '(ivy-minibuffer-match-face-3 ((t (:inherit swiper-match-face-3)))) - '(ivy-minibuffer-match-face-4 ((t (:inherit swiper-match-face-4)))) - '(ivy-minibuffer-match-highlight ((t (:inherit highlight)))) - '(org-formula ((t (:inherit org-table)))) - '(org-meta-line ((t (:foreground "SteelBlue" :family "Hermit")))) - '(org-document-title ((t (:weight bold :height 2.0)))) - '(org-footnote ((t (:inherit link)))) - '(org-tag ((t (:foreground "SteelBlue" :underline t :weight bold :family "Hermit")))) - '(org-document-info-keyword ((t (:inherit org-meta-line)))) - '(org-code ((t (:background "light grey" :foreground "black" :family "Hack")))) - '(org-checkbox-statistics-todo ((t (:foreground "tomato" :inherit org-checkbox)))) - '(org-checkbox-statistics-done ((t (:foreground "ForestGreen" :inherit org-checkbox)))) - '(org-verbatim ((t (:inherit shadow)))) - '(font-lock-doc-face ((t (:Family "Liberation Sans" :inherit font-lock-string-face)))) - '(org-document-info ((t (:weight bold)))) - '(org-table ((t (:foreground "SteelBlue" :inherit fixed-pitch)))) - '(org-block ((t (:family "Hermit")))) - '(org-special-keyword ((t (:inherit org-meta-line)))) - '(org-level-1 ((t (:foreground "black" :weight bold :height 1.6)))) - '(org-level-2 ((t (:foreground "gray30" :weight bold :height 1.4)))) - '(org-level-3 ((t (:foreground "gray45" :weight bold :height 1.2)))) - '(org-level-4 ((t (:foreground "gray60" :weight bold :height 1.1)))) - '(org-level-5 ((t (:foreground "gray75" :weight bold :height 1.0)))) - '(org-level-6 ((t (:inherit org-level-5)))) - '(org-level-7 ((t (:inherit org-level-5)))) - '(org-level-8 ((t (:inherit org-level-5)))) - '(org-checkbox ((t (:inherit org-meta-line :weight bold)))) - '(org-todo ((t (:background "tomato" :foreground "White" :weight bold :height 1.2 :family "Hermit")))) - '(org-done ((t (:background "ForestGreen" :foreground "White" :weight bold :height 1.2 :family "Hermit")))) - '(org-date ((t (:inherit org-tag)))) - '(Info-quoted ((t (:inherit org-block)))) - '(org-priority ((t (:weight bold :inherit org-meta-line)))) - '(default ((t (:background "white" :foreground "black" :height 140 :family "Hack"))))) - -(provide-theme 'blendoit-light) diff --git a/img/Safran_logo.svg b/img/Safran_logo.svg new file mode 100644 index 0000000..12ae8e3 --- /dev/null +++ b/img/Safran_logo.svg @@ -0,0 +1,5511 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/img/logo-blendux.png b/img/logo-blendux.png new file mode 100644 index 0000000..36280ea Binary files /dev/null and b/img/logo-blendux.png differ diff --git a/img/logo-blendux_smaller.png b/img/logo-blendux_smaller.png new file mode 100644 index 0000000..84d0520 Binary files /dev/null and b/img/logo-blendux_smaller.png differ diff --git a/init.el b/init.el index 209bf9a..950628b 100644 --- a/init.el +++ b/init.el @@ -1,14 +1,38 @@ -;;; init.el --- First file ran by GNU Emacs. +;;; init.el --- bootstrap main Emacs config from USB drive. ;;; Commentary: - -;; Load literate configuration file I created for GNU Emacs. -;; The ultimate goal is to transition most of the custom settings -;; to explicitly defined customisations. +;; This package enables bootstrapping a full `.emacs.d/' configuration +;; residing on a removable drive. It is copied over from +;; init-bootstrap.el to init.el, at a location the OS expects to find +;; that file. Then, every time Emacs is started, it will scan the top +;; level of all typical mount points in an effort to detect an +;; existing `.emacs.d/'. ;;; Code: +(setq user-emacs-directory "/run/media/blendux/1924-4A2F/dotemacs/") +(setq my/literate-config (concat user-emacs-directory "blendoit/blendoit-init.org")) +(setq my/literate-config-compiled (concat user-emacs-directory "blendoit/blendoit-init.elc")) + +(defun my/load-config-linux () + "Bootstrap a full `.emacs.d/' configuration for GNU/Linux." + (load-file my/literate-config-compiled) + (message "It worked. Take a break.")) + +(defun my/load-config-windows () + "Bootstrap a full `.emacs.d/' configuration for MS Windows." +(let* 'alphabet (mapcar 'string "ABCDEFFGHIJKLMNOPQRSTUVWXYZ") + 'drives (mapcar '(lambda (drive) + "Construct list of drives." + (concat drive ":")) alphabet)) + + + (setq user-emacs-directory config-location) +) -(org-babel-load-file "~/.emacs.d/blendoit/blendoit-init.org") +;; Perform the configuration bootstrap, per the running OS. +(cond ((string-equal system-type "gnu/linux") (my/load-config-linux)) + ((string-equal system-type "windows-nt") (my/load-config-window)) + (t (message "You're running neither GNU/Linux nor MS Windows."))) (provide 'init) diff --git a/themes/blendoit-light-theme.el b/themes/blendoit-light-theme.el new file mode 100644 index 0000000..033881a --- /dev/null +++ b/themes/blendoit-light-theme.el @@ -0,0 +1,85 @@ +(deftheme blendoit-light + "Created 2020-08-22.") + +(custom-theme-set-faces + 'blendoit-light + '(cursor ((t (:background "red")))) + '(fixed-pitch ((t (:family "Hack")))) + '(variable-pitch ((t (:family "Liberation Sans")))) + '(escape-glyph ((((background dark)) (:foreground "cyan")) (((type pc)) (:foreground "magenta")) (t (:foreground "brown")))) + '(homoglyph ((((background dark)) (:foreground "cyan")) (((type pc)) (:foreground "magenta")) (t (:foreground "brown")))) + '(minibuffer-prompt ((t (:inherit org-meta-line)))) + '(highlight ((t (:background "deep sky blue" :foreground "white")))) + '(region ((t (:background "gainsboro")))) + '(shadow ((t (:foreground "dark slate gray")))) + '(secondary-selection ((((class color) (min-colors 88) (background light)) (:background "yellow1")) (((class color) (min-colors 88) (background dark)) (:background "SkyBlue4")) (((class color) (min-colors 16) (background light)) (:background "yellow")) (((class color) (min-colors 16) (background dark)) (:background "SkyBlue4")) (((class color) (min-colors 8)) (:foreground "black" :background "cyan")) (t (:inverse-video t)))) + '(trailing-whitespace ((((class color) (background light)) (:background "red1")) (((class color) (background dark)) (:background "red1")) (t (:inverse-video t)))) + '(font-lock-builtin-face ((t (:foreground "dark slate blue")))) + '(font-lock-comment-delimiter-face ((t (:foreground "dim gray" :inherit font-lock-comment-face)))) + '(font-lock-comment-face ((t (:slant italic :foreground "slate gray" :inherit variable-pitch)))) + '(font-lock-constant-face ((t (:foreground "dark cyan")))) + '(font-lock-function-name-face ((((class color) (min-colors 88) (background light)) (:foreground "Blue1")) (((class color) (min-colors 88) (background dark)) (:foreground "LightSkyBlue")) (((class color) (min-colors 16) (background light)) (:foreground "Blue")) (((class color) (min-colors 16) (background dark)) (:foreground "LightSkyBlue")) (((class color) (min-colors 8)) (:weight bold :foreground "blue")) (t (:weight bold :inverse-video t)))) + '(font-lock-keyword-face ((t (:foreground "slate blue")))) + '(font-lock-negation-char-face ((t nil))) + '(font-lock-preprocessor-face ((t (:inherit (font-lock-builtin-face))))) + '(font-lock-regexp-grouping-backslash ((t (:inherit (bold))))) + '(font-lock-regexp-grouping-construct ((t (:inherit (bold))))) + '(font-lock-string-face ((t (:foreground "DodgerBlue1")))) + '(font-lock-type-face ((t (:foreground "ForestGreen")))) + '(font-lock-variable-name-face ((t (:foreground "sienna")))) + '(font-lock-warning-face ((t (:inherit (error))))) + '(fringe ((t (:background "grey95")))) + '(header-line ((t (:box nil :foreground "grey20" :background "grey90" :inherit (mode-line))))) + '(tooltip ((t (:foreground "black" :background "lightyellow" :inherit (variable-pitch))))) + '(mode-line ((t (:box (:line-width -1 :color nil :style released-button) :foreground "black" :background "grey75")))) + '(mode-line-buffer-id ((t (:weight bold)))) + '(mode-line-emphasis ((t (:weight bold)))) + '(mode-line-highlight ((t (:box (:line-width 2 :color "grey40" :style released-button))))) + '(mode-line-inactive ((t (:weight light :box (:line-width -1 :color "grey75" :style nil) :foreground "grey20" :background "grey90" :inherit (mode-line))))) + '(isearch ((t (:background "DodgerBlue1" :foreground "white")))) + '(isearch-fail ((t (:background "RosyBrown1")))) + '(lazy-highlight ((t (:foreground "DodgerBlue1" :box 2)))) + '(match ((t (:background "yellow1")))) + '(next-error ((t (:inherit region)))) + '(query-replace ((t (:inherit (isearch))))) + '(swiper-match-face-1 ((t (:inherit lazy-highlight)))) + '(swiper-match-face-2 ((t (:inherit (isearch))))) + '(swiper-match-face-3 ((t (:inherit isearch)))) + '(swiper-match-face-4 ((t (:inherit isearch)))) + '(ivy-minibuffer-match-face-1 ((t (:inherit swiper-match-face-1)))) + '(ivy-minibuffer-match-face-2 ((t (:inherit swiper-match-face-2)))) + '(ivy-minibuffer-match-face-3 ((t (:inherit swiper-match-face-3)))) + '(ivy-minibuffer-match-face-4 ((t (:inherit swiper-match-face-4)))) + '(ivy-minibuffer-match-highlight ((t (:inherit highlight)))) + '(org-formula ((t (:inherit org-table)))) + '(org-meta-line ((t (:foreground "SteelBlue" :family "Hermit")))) + '(org-document-title ((t (:weight bold :height 2.0)))) + '(org-footnote ((t (:inherit link)))) + '(org-tag ((t (:foreground "SteelBlue" :underline t :weight bold :family "Hermit")))) + '(org-document-info-keyword ((t (:inherit org-meta-line)))) + '(org-code ((t (:background "light grey" :foreground "black" :family "Hack")))) + '(org-checkbox-statistics-todo ((t (:foreground "tomato" :inherit org-checkbox)))) + '(org-checkbox-statistics-done ((t (:foreground "ForestGreen" :inherit org-checkbox)))) + '(org-verbatim ((t (:inherit shadow)))) + '(font-lock-doc-face ((t (:Family "Liberation Sans" :inherit font-lock-string-face)))) + '(org-document-info ((t (:weight bold)))) + '(org-table ((t (:foreground "SteelBlue" :inherit fixed-pitch)))) + '(org-block ((t (:family "Hermit")))) + '(org-special-keyword ((t (:inherit org-meta-line)))) + '(org-level-1 ((t (:foreground "black" :weight bold :height 1.6)))) + '(org-level-2 ((t (:foreground "gray30" :weight bold :height 1.4)))) + '(org-level-3 ((t (:foreground "gray45" :weight bold :height 1.2)))) + '(org-level-4 ((t (:foreground "gray60" :weight bold :height 1.1)))) + '(org-level-5 ((t (:foreground "gray75" :weight bold :height 1.0)))) + '(org-level-6 ((t (:inherit org-level-5)))) + '(org-level-7 ((t (:inherit org-level-5)))) + '(org-level-8 ((t (:inherit org-level-5)))) + '(org-checkbox ((t (:inherit org-meta-line :weight bold)))) + '(org-todo ((t (:background "tomato" :foreground "White" :weight bold :height 1.2 :family "Hermit")))) + '(org-done ((t (:background "ForestGreen" :foreground "White" :weight bold :height 1.2 :family "Hermit")))) + '(org-date ((t (:inherit org-tag)))) + '(Info-quoted ((t (:inherit org-block)))) + '(org-priority ((t (:weight bold :inherit org-meta-line)))) + '(default ((t (:background "white" :foreground "black" :height 140 :family "Hack"))))) + +(provide-theme 'blendoit-light) -- cgit v1.2.3