#!/bin/sh -e packages_to_install="zsh mosh emacs nmap sipcals" __apt_update_index for package in $package_to_install; do require="__apt_update_index" __package $package --state=present done __require="__package/emacs" \ __directory ~/.emacs.d __require="__package/emacs __directory/~/.emacs.d" \ __file ~/.emacs.d/init.el \ --owner root \ --group root \ --mode 0644 \ --source - << EOF ;;; init.el --- GNU Emacs Configuration ;; Copyright (C) 2014 Terencio Agozzino ;; Author: Terencio Agozzino ;; Created: February 16, 2014 ;; Homepage: https://github.com/rememberYou/.emacs.d ;; Keywords: abbrev, convenience, faces, maint, outlines, vc ;; This program is free software. You can redistribute it and/or modify it under ;; the terms of the Do What The Fuck You Want To Public License, version 2 as ;; published by Sam Hocevar. ;; ;; This program is distributed in the hope that it will be useful, but WITHOUT ;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ;; FOR A PARTICULAR PURPOSE. ;; ;; You should have received a copy of the Do What The Fuck You Want To Public ;; License along with this program. If not, see http://www.wtfpl.net/. ;;; Commentary: ;; Following lines build the configuration code out of the config.el file. ;;; Code: ;; Make startup faster by reducing the frequency of garbage ;; collection. (setq gc-cons-threshold (* 50 1000 1000)) (require 'package) (package-initialize) (if (file-exists-p (expand-file-name "00_global_config.el" user-emacs-directory)) (load-file (expand-file-name "00_global_config.el" user-emacs-directory))) (if (file-exists-p (expand-file-name "10_magit_config.el" user-emacs-directory)) (load-file (expand-file-name "10_magit_config.el" user-emacs-directory))) (if (file-exists-p (expand-file-name "20_mu4e_config.el" user-emacs-directory)) (load-file (expand-file-name "20_mu4e_config.el" user-emacs-directory))) (if (file-exists-p (expand-file-name "21_smtp_config.el" user-emacs-directory)) (load-file (expand-file-name "21_smtp_config.el" user-emacs-directory))) (if (file-exists-p (expand-file-name "30_agenda_config.el" user-emacs-directory)) (load-file (expand-file-name "30_agenda_config.el" user-emacs-directory))) (if (file-exists-p (expand-file-name "99_custom_config.el" user-emacs-directory)) (load-file (expand-file-name "99_custom_config.el" user-emacs-directory))) (custom-set-variables ;; custom-set-variables was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. '(org-agenda-files (quote ("~/ungleich-learning-circle/youngjin.han/todo-node02-2020.org" "~/ungleich-learning-circle/youngjin.han/learning-node02-2020.org"))) '(package-selected-packages (quote (zenburn-theme magit))) '(xterm-mouse-mode t)) (custom-set-faces ;; custom-set-faces was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. ) ;; Make gc pauses faster by decreasing the threshold. (setq gc-cons-threshold (* 2 1000 1000)) ;;; init.el ends here EOF __require="__package/emacs __directory/~/.emacs.d __file/~/.emacs.d/init.el" \ __file ~/.emacs.d/00_global_config.el \ --owner root \ --group root \ --mode 0644 \ --source - << EOF ;; Added by Package.el. This must come before configurations of ;; installed packages. Don't delete this line. If you don't want it, ;; just comment it out by adding a semicolon to the start of the line. ;; You may delete these explanatory comments. (package-initialize) ;; load emacs 24's package system. Add MELPA repository. (when (>= emacs-major-version 24) (require 'package) (add-to-list 'package-archives ;; '("melpa" . "http://stable.melpa.org/packages/") ; many packages won't show if using stable '("melpa" . "http://melpa.milkbox.net/packages/") ;; '("org" . "http://orgmode.org/elpa/") t)) (setq auth-sources '("~/.authinfo.gpg" "~/.authinfo")) (setq-default ;; ad-redefinition-action 'accept ; Silence warnings for redefinition ;; cursor-in-non-selected-windows t ; Hide the cursor in inactive windows ;; display-time-default-load-average nil ; Don't display load average ;; fill-column 80 ; Set width for automatic line breaks help-window-select t ; Focus new help windows when opened indent-tabs-mode nil ; Prefers spaces over tabs inhibit-startup-screen t ; Disable start-up screen ;; initial-scratch-message "" ; Empty the initial *scratch* buffer ;; kill-ring-max 128 ; Maximum length of kill ring ;; load-prefer-newer t ; Prefers the newest version of a file ;; mark-ring-max 128 ; Maximum length of mark ring ;; scroll-conservatively most-positive-fixnum ; Always scroll by one line ;; select-enable-clipboard t ; Merge system's and Emacs' clipboard tab-width 4 ; Set width for tabs ;; use-package-always-ensure t ; Avoid the :ensure keyword for each package ;; user-full-name "Terencio Agozzino" ; Set the full name of the current user ;; user-mail-address "terencio.agozzino@gmail.com" ; Set the email address of the current user vc-follow-symlinks t ; Always follow the symlinks ;; view-read-only t ; Always open read-only buffers in view-mode ) (cd "~/") ; Move to the user directory (column-number-mode 1) ; Show the column number (display-time-mode 1) ; Enable time in the mode-line (fset 'yes-or-no-p 'y-or-n-p) ; Replace yes/no prompts with y/n (global-hl-line-mode) ; Hightlight current line ;; (set-default-coding-systems 'utf-8) ; Default to utf-8 encoding ;; (show-paren-mode 1) ; Show the parent ;; use variable-pitch fonts for some headings and titles (setq zenburn-use-variable-pitch t) ;; scale headings in org-mode (setq zenburn-scale-org-headlines t) ;; scale headings in outline-mode (setq zenburn-scale-outline-headlines t) (setq zenburn-override-colors-alist '(("zenburn-bg+05" . "#282828") ("zenburn-bg+1" . "#2F2F2F") ("zenburn-bg+2" . "#3F3F3F") ("zenburn-bg+3" . "#4F4F4F"))) (load-theme 'zenburn t) (set-face-attribute 'default nil :font "Source Code Pro Medium") (set-fontset-font t 'latin "Noto Sans") (set-frame-font "DejaVu Sans Mono-18" nil t) ;;문법 강조를 활성화 (global-font-lock-mode t) (transient-mark-mode 1) (when window-system (menu-bar-mode -1) ; Disable the menu bar (scroll-bar-mode -1) ; Disable the scroll bar (tool-bar-mode -1) ; Disable the tool bar (tooltip-mode -1)) ; Disable the tooltips ;; org-mode 설정 ;; org-mode 활성화 (require 'org) ;; org-mode를 .org로 끝나는 파일에서 활성화 (add-to-list 'auto-mode-alist '("\\.org$" . org-mode)) ;; (global-set-key (kbd "") (lambda () (interactive) (find-file (concat "~/ungleich-learning-circle/youngjin.han/learning-"(system-name)"-"(substring (current-time-string) -4 nil)".org")))) (global-set-key (kbd "") (lambda () (interactive) (find-file (concat "~/ungleich-learning-circle/youngjin.han/learning-"(system-name)"-"(format-time-string "%Y")".org")))) (setq org-directory (expand-file-name "~/ungleich-learning-circle/youngjin.han")) (use-package window :ensure nil :bind (("C-x 3" . hsplit-last-buffer) ("C-x 2" . vsplit-last-buffer)) :preface (defun hsplit-last-buffer () "Gives the focus to the last created horizontal window." (interactive) (split-window-horizontally) (other-window 1)) (defun vsplit-last-buffer () "Gives the focus to the last created vertical window." (interactive) (split-window-vertically) (other-window 1))) EOF __require="__package/emacs __directory/~/.emacs.d __file/~/.emacs.d/init.el" \ __file ~/.emacs.d/10_magit_config.el \ --owner root \ --group root \ --mode 0644 \ --source - << EOF ;; Added by Package.el. This must come before configurations of ;; installed packages. Don't delete this line. If you don't want it, ;; just comment it out by adding a semicolon to the start of the line. ;; You may delete these explanatory comments. (require 'magit) (global-set-key (kbd "C-x g") 'magit-status) EOF __require="__package/emacs __directory/~/.emacs.d __file/~/.emacs.d/init.el" \ __file ~/.emacs.d/20_mu4e_config.el \ --owner root \ --group root \ --mode 0644 \ --source - << EOF ;; Added by Package.el. This must come before configurations of ;; installed packages. Don't delete this line. If you don't want it, ;; just comment it out by adding a semicolon to the start of the line. ;; You may delete these explanatory comments. (add-to-list 'load-path "/usr/local/share/emacs/site-lisp/mu4e") (require 'mu4e) ;; location of my maildir (setq mu4e-maildir (expand-file-name "~/.maildir/ungleich/youngjin.han@ungleich.ch/")) (setq mu4e-maildir-shortcuts '( (:maildir "/Inbox" :key ?i) (:maildir "/archive" :key ?a) (:maildir "/drafts" :key ?d) (:maildir "/sent" :key ?s) (:maildir "/trash" :key ?t))) ;; these are actually the defaults (setq mu4e-refile-folder "/archive" ;; saved messages mu4e-drafts-folder "/drafts" ;; unfinished messages mu4e-sent-folder "/sent" ;; folder for sent messages mu4e-trash-folder "/trash") ;; trashed messages (setq mu4e-index-cleanup nil ;; don't do a full cleanup check mu4e-index-lazy-check t) ;; don't consider up-to-date dirs (setq mu4e-get-mail-command "mbsync -a" ;; or fetchmail, or ... mu4e-update-interval 300) ;; update every 5 minutes ;; show images (setq mu4e-show-images t) (setq mu4e-reply-to-address "youngjin.han@ungleich.ch" user-mail-address "youngjin.han@ungleich.ch" user-full-name "YOUNGJIN.HAN") ;; spell check (add-hook 'mu4e-compose-mode-hook (defun my-do-compose-stuff () "My settings for message composition." (set-fill-column 72) (flyspell-mode))) ;;rename files when moving ;;NEEDED FOR MBSYNC (setq mu4e-change-filenames-when-moving t) ;;store org-mode links to messages (require 'org-mu4e) (define-key mu4e-headers-mode-map (kbd "C-c c") 'mu4e-org-store-and-capture) (define-key mu4e-view-mode-map (kbd "C-c c") 'mu4e-org-store-and-capture) (setq mu4e-headers-skip-duplicates nil) ;;store link to message if in header view, not to header query (setq org-mu4e-link-query-in-headers-mode nil) EOF __require="__package/emacs __directory/~/.emacs.d __file/~/.emacs.d/init.el" \ __file ~/.emacs.d/21_smtp_config.el \ --owner root \ --group root \ --mode 0644 \ --source - << EOF ;; Added by Package.el. This must come before configurations of ;; installed packages. Don't delete this line. If you don't want it, ;; just comment it out by adding a semicolon to the start of the line. ;; You may delete these explanatory comments. (require 'smtpmail) ;; smtp (setq message-send-mail-function 'smtpmail-send-it smtpmail-starttls-credentials '(("smtp.ungleich.ch" 587 nil nil)) smtpmail-default-smtp-server "smtp.ungleich.ch" smtpmail-smtp-server "smtp.ungleich.ch" smtpmail-smtp-service 587 smtpmail-auth-credentials "~/.authinfo" smtpmail-debug-info t) EOF __require="__package/emacs __directory/~/.emacs.d __file/~/.emacs.d/init.el" \ __file ~/.emacs.d/30_agenda_config.el \ --owner root \ --group root \ --mode 0644 \ --source - << EOF ;; Added by Package.el. This must come before configurations of ;; installed packages. Don't delete this line. If you don't want it, ;; just comment it out by adding a semicolon to the start of the line. ;; You may delete these explanatory comments. (require 'org-agenda) (global-set-key (kbd "C-c a") 'org-agenda) (require 'org-capture) (setq org-capture-templates '(("t" "todo" entry (file+headline (concat "~/ungleich-learning-circle/youngjin.han/todo-"(system-name)"-"(format-time-string "%Y")".org") "Tasks") "* TODO [#A] %?\nSCHEDULED: %(org-insert-time-stamp (org-read-date nil t \"+0d\"))\n%a\n"))) (global-set-key (kbd "") 'org-todo-list) (setq org-log-done 'time) EOF __require="__package/emacs __directory/~/.emacs.d __file/~/.emacs.d/init.el" \ __file ~/.emacs.d/99_custom_config.el \ --owner root \ --group root \ --mode 0644 \ --source - << EOF ;; Added by Package.el. This must come before configurations of ;; installed packages. Don't delete this line. If you don't want it, ;; just comment it out by adding a semicolon to the start of the line. ;; You may delete these explanatory comments. EOF