diff --git a/emacs/epaper-theme.el b/emacs/epaper-theme.el new file mode 100644 index 0000000..abcdcab --- /dev/null +++ b/emacs/epaper-theme.el @@ -0,0 +1,118 @@ +;;; epaper-theme.el --- Custom face theme for Emacs +;; +;;; Commentary: +;; This is a bright, low-contrast theme that is inspired by the sepia color palette of +;; Mozilla Firefox's reader view. +;; +;;; Code: + +(deftheme epaper + "A low-contrast theme inspired by Firefox Reader view. + Basic, Font Lock, Isearch, SH, ERC and Powerline faces are included. + +Note: for correct (readable) display of the ERC channel header +line, set `erc-header-line-face-method` to `t`.") + +(let ((class '((class color) (min-colors 256))) + (default-color "#5b4636") + (background-color "#f4ecd8") + (tinted-background-color "#f9f5eb") + (toolbar-color "#f9f5eb") + (string-color "#000000") + (highlight-color "#808080") + (link-color "#0095dd") + (visited-link-color "#c2e") + (shadow-color "#ADA29A") + (shaded-background-color "#DBD4C2")) + (custom-theme-set-variables + 'epaper + `(window-divider-default-right-width 4) + `(tab-bar-separator "|") + `(tab-bar-close-button-show nil)) + (custom-theme-set-faces + 'epaper + `(default ((,class (:background ,background-color :foreground ,default-color)))) + `(cursor ((,class (:background ,default-color)))) + `(fringe ((,class (:background ,tinted-background-color :foreground ,highlight-color)))) + `(window-divider ((,class (:background ,toolbar-color :foreground ,toolbar-color)))) + `(window-divider-first-pixel ((,class (:background ,background-color :foreground ,background-color)))) + `(window-divider-last-pixel ((,class (:background ,toolbar-color :foreground ,toolbar-color)))) + + `(table-cell ((,class (:background ,shaded-background-color :foreground ,default-color)))) + + `(tab-bar ((,class (:background ,tinted-background-color :foreground ,shadow-color)))) + `(tab-bar-tab ((,class (:background ,tinted-background-color :foreground ,default-color :bold t)))) + `(tab-bar-tab-inactive ((,class (:background ,tinted-background-color :foreground ,shadow-color)))) + + `(shadow ((,class (:background ,background-color :foreground ,shadow-color)))) + `(fill-column-indicator ((,class (:background ,background-color :foreground ,tinted-background-color)))) + + ;; Highlighting faces + `(highlight ((,class (:background ,highlight-color :foreground ,toolbar-color + :underline t)))) + `(region ((,class (:background ,toolbar-color :foreground ,default-color)))) + `(secondary-selection ((,class (:background ,highlight-color :foreground ,default-color)))) + + `(isearch ((,class (:background ,highlight-color :foreground ,toolbar-color)))) + `(lazy-highlight ((,class (:background ,highlight-color :foreground ,default-color)))) + + ;; Mode line faces + `(mode-line ((,class (:background ,toolbar-color :foreground ,default-color)))) + `(mode-line-inactive ((,class (:background ,background-color :foreground ,default-color)))) + + ;; Escape and prompt faces + `(minibuffer-prompt ((,class (:foreground ,default-color :weight bold :slant italic)))) + `(escape-glyph ((,class (:foreground ,default-color :weight bold)))) + `(homoglyph ((,class (:foreground ,default-color :weight bold)))) + + ;; Font lock faces + `(font-lock-builtin-face ((,class (:foreground ,default-color :weight bold)))) + `(font-lock-comment-face ((,class (:foreground ,string-color :slant italic)))) + `(font-lock-constant-face ((,class (:foreground ,default-color)))) + `(font-lock-function-name-face ((,class (:foreground ,default-color)))) + `(font-lock-keyword-face ((,class (:foreground ,default-color :weight bold)))) + `(font-lock-string-face ((,class (:foreground ,string-color)))) + `(font-lock-type-face ((,class (:foreground ,default-color :weight bold)))) + `(font-lock-variable-name-face ((,class (:foreground ,default-color :underline t)))) + + `(font-lock-warning-face ((,class (:foreground ,default-color :underline t)))) + + ;; Button and link faces + `(link ((,class (:foreground ,link-color :underline t)))) + `(link-visited ((,class (:foreground ,visited-link-color :underline t)))) + `(button ((,class (:background ,toolbar-color :foreground ,default-color)))) + `(header-line ((,class (:background ,toolbar-color :foreground ,default-color :weight bold)))) + `(line-number ((,class (:background ,background-color :foreground ,highlight-color)))) + + ;; Mode Line faces + `(mode-line-inactive ((,class :background ,toolbar-color :foreground ,highlight-color))) + `(mode-line ((,class :background ,toolbar-color :foreground ,default-color))) + + ;; Powerline faces + `(powerline-inactive0 ((,class :background ,toolbar-color :foreground ,highlight-color))) + `(powerline-inactive1 ((,class :background ,toolbar-color :foreground ,highlight-color))) + `(powerline-inactive2 ((,class :background ,toolbar-color :foreground ,highlight-color))) + + `(powerline-active0 ((,class (:background ,toolbar-color :foreground ,default-color)))) + `(powerline-active1 ((,class (:background ,default-color :foreground ,background-color)))) + `(powerline-active2 ((,class (:background ,default-color :foreground ,background-color)))) + + ;; SH Mode faces + `(sh-heredoc ((,class (:foreground ,string-color :slant italic :weight bold)))) + `(sh-quoted-exec ((,class (:foreground ,default-color)))) + + ;; ERC Mode faces + `(erc-header-line ((,class (:background ,toolbar-color :foreground ,highlight-color)))) + + ;; Highlight indentation mode faces + `(highlight-indentation-face ((,class (:background "#ebe6da")))) + ) ; End custom-set-faces + ) ; End let + +(provide-theme 'epaper) + +;; Local Variables: +;; no-byte-compile: t +;; End: + +;;; epaper-theme.el ends here diff --git a/emacs/init.el b/emacs/init.el index e9bcf69..3521bbc 100644 --- a/emacs/init.el +++ b/emacs/init.el @@ -1,6 +1,6 @@ ;; -*- lexical-binding: t; -*- -(add-to-list 'custom-theme-load-path "~/dotfiles/elisp-themes/") +(add-to-list 'custom-theme-load-path "~/.workspace/elisp-themes/") (let ((home (getenv "HOME"))) ;; Added by Package.el. This must come before configurations of diff --git a/git/config b/git/config new file mode 100644 index 0000000..ae829f0 --- /dev/null +++ b/git/config @@ -0,0 +1,14 @@ +[user] + email = devel@hugot.nl + name = Hugo Thunnissen +[core] + excludesFile = /home/hugo/.gitignore +[filter "lfs"] + smudge = git-lfs smudge -- %f + process = git-lfs filter-process + required = true + clean = git-lfs clean -- %f +[pull] + rebase = true +[url "ssh://git@git.snorba.art:42068/"] + insteadOf = https://git.snorba.art/ diff --git a/main.go b/main.go index e410369..d30ddcb 100644 --- a/main.go +++ b/main.go @@ -27,9 +27,16 @@ var initLisp string //go:embed emacs/custom.el var customLisp string +//go:embed emacs/epaper-theme.el +var elispEpaperTheme string + //go:embed bash/bash_aliases var bashAliases string +//go:embed git/config +var gitConfig string + + var ErrAddUserFailExit = errors.New("useradd command returned no-zero exit code") var ErrAddGroupFailExit = errors.New("groupadd command returned no-zero exit code") @@ -297,11 +304,26 @@ func main() { } case "dump-init-files": home := os.Getenv("HOME") + elispThemeDir := home + "/.workspace/elisp-themes" + + if _, err := os.Stat(elispThemeDir); os.IsNotExist(err) { + err = os.MkdirAll(elispThemeDir, 0600) + if err != nil { + fmt.Fprintln( + os.Stderr, + "Failed to create elisp theme dir in" + elispThemeDir, + ) + os.Exit(1) + } + + } files := map[string]string{ home + "/.emacs": initLisp, home + "/.custom.el": customLisp, home + "/.bash_aliases": bashAliases, + elispThemeDir + "/epaper-theme.el": elispEpaperTheme, + home + "/.gitconfig": gitConfig, } for file, contents := range files {