dotfiles/.emacs.d/init.el

218 lines
9.2 KiB
EmacsLisp

;;; init --- naloži org konfiguracijo in še kaj -*- lexical-binding: t -*-
;;; Commentary:
;; Naloži konfiguracije iz ORG datoteke, ostanki nerazvrščenih zadev
;; ter kustomizacije.
(setq warning-minimum-level :error)
;;; Code:
(org-babel-load-file "~/.emacs.d/config.org")
;;;;;;;;;;;
;; Razno ;;
;;;;;;;;;;;
;; Izboljsani default ukazi bolj prijazni
;; Iskanje po fajlih (fulltext)
;(use-package rg
; :defer t
; :config
; (rg-enable-default-bindings))
;; ELISP test
(defun odpri-dnevnik ()
"Dodaj dnevniški zapis v tmp folder sistema."
(interactive)
(find-file (format-time-string "/tmp/%Y-%m-%d_dnevnik.org"))
(insert (concat "\n=====================\n"
(shell-command-to-string "date") "\n"
(format-time-string "%Y-%m-%d") "\n"
"ŠE VEČ TEKSTA!" "\n")))
(global-set-key (kbd "C-M-d") 'odpri-dnevnik)
;; GNU guix
(use-package guix :defer t)
;; Dashboard - homescreen
(use-package dashboard
:general
(start/leader-keys
"b h" 'dashboard-open)
;:after nerd-icons
:init
(dashboard-setup-startup-hook)
(setq initial-buffer-choice (lambda () (get-buffer-create "*dashboard*")))
(setq dashboard-banner-logo-title "EMA☭S")
(setq dashboard-startup-banner 3)
(setq dashboard-center-content t)
(setq dashboard-items '((agenda . 5)
(recents . 5)))
;(setq dashboard-display-icons-p t) ;; display icons on both GUI and terminal
;(setq dashboard-icon-type 'nerd-icons) ;; use `nerd-icons' package
(setq dashboard-set-heading-icons t)
(setq dashboard-set-file-icons t)
(setq dashboard-set-navigator t)
(setq dashboard-set-init-info t))
;; Bolj fajni IELM REPL
(defun g-ielm-init-history ()
"Obstojna ielm zgodovina."
(let ((path (expand-file-name "ielm/history" user-emacs-directory)))
(make-directory (file-name-directory path) t)
(setq-local comint-input-ring-file-name path))
(setq-local comint-input-ring-size 10000)
(setq-local comint-input-ignoredups t)
(comint-read-input-ring))
(defun g-ielm-write-history (&rest _args)
"Tole je povezano z obstojno ielm zgodovino."
(with-file-modes #o600
(comint-write-input-ring)))
(use-package ielm
:defer t
:hook (ielm-mode-hook . (lambda ()
(eldoc-mode)
;(paredit-mode)
(g-ielm-init-history)))
:config
(advice-add 'ielm-send-input :after 'g-ielm-write-history)
(define-key inferior-emacs-lisp-mode-map (kbd "C-l")
'comint-clear-buffer)
(define-key inferior-emacs-lisp-mode-map (kbd "C-r")
'helm-comint-input-ring))
;; Sinhronizacija podnapisov (uporablja mpv!)
(use-package subed
:defer t
:config
;; Remember cursor position between sessions
(add-hook 'subed-mode-hook 'save-place-local-mode)
;; Break lines automatically while typing
(add-hook 'subed-mode-hook 'turn-on-auto-fill)
;; Break lines at 40 characters
(add-hook 'subed-mode-hook (lambda () (setq-local fill-column 40)))
;; Some reasonable defaults
(add-hook 'subed-mode-hook 'subed-enable-pause-while-typing)
;; As the player moves, update the point to show the current subtitle
(add-hook 'subed-mode-hook 'subed-enable-sync-point-to-player)
;; As your point moves in Emacs, update the player to start at the current subtitle
(add-hook 'subed-mode-hook 'subed-enable-sync-player-to-point)
;; Replay subtitles as you adjust their start or stop time with M-[, M-], M-{, or M-}
(add-hook 'subed-mode-hook 'subed-enable-replay-adjusted-subtitle)
;; Loop over subtitles
(add-hook 'subed-mode-hook 'subed-enable-loop-over-current-subtitle)
;; Show characters per second
(add-hook 'subed-mode-hook 'subed-enable-show-cps))
;;;;;;;;;;;;
;; CUSTOM ;;
;;;;;;;;;;;;
(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.
'(connection-local-criteria-alist
'(((:application tramp)
tramp-connection-local-default-system-profile tramp-connection-local-default-shell-profile)))
'(connection-local-profile-alist
'((tramp-connection-local-darwin-ps-profile
(tramp-process-attributes-ps-args "-acxww" "-o" "pid,uid,user,gid,comm=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" "-o" "state=abcde" "-o" "ppid,pgid,sess,tty,tpgid,minflt,majflt,time,pri,nice,vsz,rss,etime,pcpu,pmem,args")
(tramp-process-attributes-ps-format
(pid . number)
(euid . number)
(user . string)
(egid . number)
(comm . 52)
(state . 5)
(ppid . number)
(pgrp . number)
(sess . number)
(ttname . string)
(tpgid . number)
(minflt . number)
(majflt . number)
(time . tramp-ps-time)
(pri . number)
(nice . number)
(vsize . number)
(rss . number)
(etime . tramp-ps-time)
(pcpu . number)
(pmem . number)
(args)))
(tramp-connection-local-busybox-ps-profile
(tramp-process-attributes-ps-args "-o" "pid,user,group,comm=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" "-o" "stat=abcde" "-o" "ppid,pgid,tty,time,nice,etime,args")
(tramp-process-attributes-ps-format
(pid . number)
(user . string)
(group . string)
(comm . 52)
(state . 5)
(ppid . number)
(pgrp . number)
(ttname . string)
(time . tramp-ps-time)
(nice . number)
(etime . tramp-ps-time)
(args)))
(tramp-connection-local-bsd-ps-profile
(tramp-process-attributes-ps-args "-acxww" "-o" "pid,euid,user,egid,egroup,comm=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" "-o" "state,ppid,pgid,sid,tty,tpgid,minflt,majflt,time,pri,nice,vsz,rss,etimes,pcpu,pmem,args")
(tramp-process-attributes-ps-format
(pid . number)
(euid . number)
(user . string)
(egid . number)
(group . string)
(comm . 52)
(state . string)
(ppid . number)
(pgrp . number)
(sess . number)
(ttname . string)
(tpgid . number)
(minflt . number)
(majflt . number)
(time . tramp-ps-time)
(pri . number)
(nice . number)
(vsize . number)
(rss . number)
(etime . number)
(pcpu . number)
(pmem . number)
(args)))
(tramp-connection-local-default-shell-profile
(shell-file-name . "/bin/sh")
(shell-command-switch . "-c"))
(tramp-connection-local-default-system-profile
(path-separator . ":")
(null-device . "/dev/null"))))
'(custom-safe-themes
'("db3e80842b48f9decb532a1d74e7575716821ee631f30267e4991f4ba2ddf56e" "d14f3df28603e9517eb8fb7518b662d653b25b26e83bd8e129acea042b774298" "7661b762556018a44a29477b84757994d8386d6edee909409fabe0631952dad9" default))
'(iswitchb-mode t)
'(org-agenda-files
'("~/Dokumenti/todo.org" "/home/g1smo/Dokumenti/plac.org" "/home/g1smo/rs/org/2021-05-25-spletna-stran.org" "/home/g1smo/rs/org/2021-07-02-spletna.org" "/home/g1smo/rs/org/README.org" "/home/g1smo/rs/org/git-delavnica.org" "/home/g1smo/rs/org/irs-plan-period.org" "/home/g1smo/rs/org/irs-plan.org" "/home/g1smo/rs/org/irs.org" "/home/g1smo/rs/org/irs_old.org" "/home/g1smo/rs/org/kaki.org" "/home/g1smo/rs/org/prepoznava-komadov.org" "/home/g1smo/Dokumenti/agenda.org" "/home/g1smo/Dokumenti/blurb.org" "/home/g1smo/Dokumenti/delo.org" "/home/g1smo/Dokumenti/emanat.org" "/home/g1smo/Dokumenti/kompot.org" "/home/g1smo/Dokumenti/ljudmila.org" "/home/g1smo/Dokumenti/mu4e-setup.org" "/home/g1smo/Dokumenti/muska.org" "/home/g1smo/Dokumenti/org.org" "/home/g1smo/Dokumenti/projekti.org" "/home/g1smo/Dokumenti/recepti.org" "/home/g1smo/Dokumenti/samozaposlitev-prijava.org" "/home/g1smo/Dokumenti/shta.org" "/home/g1smo/Dokumenti/wtf.org" "/home/g1smo/Dokumenti/zapisi.org"))
'(package-selected-packages
'(tree-sitter guix toml-mode smartparens crdt.el openwith evil-org-agenda company-org-block org-block-capf writeroom-mode racket-mode htmlize company-lsp web-mode tidal org-caldav format-all company-phpactor phpactor extempore-mode ob-mermaid use-package lsp-mode yaml-mode drupal-mode magit markdown-mode flycheck arduino-mode rjsx-mode gdscript-mode rainbow-delimiters which-key paredit geiser-guile geiser web-beautify vue-mode treemacs-evil treemacs-projectile treemacs smart-tabs-mode smart-tabs js2-mode smex clojure-mode helpful doom-themes counsel swiper all-the-icons doom-modeline evil-collection fennel-mode rg ivy company projectile evil))
'(tool-bar-mode nil)
'(warning-minimum-level :error)
'(which-key-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.
'(org-document-title ((t (:inherit default :weight bold :family "Sans Serif" :height 2.0 :underline nil))))
'(org-level-1 ((t (:inherit default :weight bold :family "Sans Serif" :height 1.75))))
'(org-level-2 ((t (:inherit default :weight bold :family "Sans Serif" :height 1.45))))
'(org-level-3 ((t (:inherit default :weight bold :family "Sans Serif" :height 1.25))))
'(org-level-4 ((t (:inherit default :weight bold :family "Sans Serif" :height 1.1)))))
;; supercollider mode load
;(require 'sclang)