;; Naloži konfiguracije iz ORG datoteke (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)) ;; Pomoc (use-package helpful :defer t) ;; Pomoc za keybinde (use-package which-key :defer t :config ;; Allow C-h to trigger which-key before it is done automatically (setq which-key-show-early-on-C-h t) ;; make sure which-key doesn't show normally but refreshes quickly after it is ;; triggered. (setq which-key-idle-delay 0.4) (setq which-key-idle-secondary-delay 0.05) (which-key-mode)) (use-package zone-nyan :defer t) ;; Backup fajli emacsa (setq backup-by-copying t ; don't clobber symlinks backup-directory-alist `(("." . ,(concat user-emacs-directory "backups"))) backup-directory-alist `(("." . ,(concat user-emacs-directory "saves"))) delete-old-versions t kept-new-versions 6 kept-old-versions 2 version-control t) ; use versioned backups ;; Ne delaj lock fajlov (smetijo namrec) (setq create-lockfiles nil) ;; File asociacije (use-package openwith :defer t :config (setq openwith-associations '(("\\.pdf\\'" "xdg-open" (file)))) (openwith-mode t)) ;; Kolaborativno urejanje (use-package crdt :defer t :general (start/leader-keys "c" '(:ignore t :wk "crdt") "c c" 'crdt-connect "c u" 'crdt-list-users "c s" 'crdt-share-buffer "c b" 'crdt-list-buffers)) ;; ELISP test (defun odpri-dnevnik () (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 (use-package ielm :defer t :hook (ielm-mode-hook . (lambda () (eldoc-mode) ;(paredit-mode) (defun g-ielm-init-history () (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)) (g-ielm-init-history) (defun g-ielm-write-history (&rest _args) (with-file-modes #o600 (comint-write-input-ring))) (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. '(custom-safe-themes '("db3e80842b48f9decb532a1d74e7575716821ee631f30267e4991f4ba2ddf56e" "d14f3df28603e9517eb8fb7518b662d653b25b26e83bd8e129acea042b774298" "7661b762556018a44a29477b84757994d8386d6edee909409fabe0631952dad9" default)) '(iswitchb-mode t) '(org-agenda-files '("/home/g1smo/org/todo.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")) '(package-selected-packages '(mu4e org-mode restclient php-ts-mode org-bullets magit-todos treesit-auto eat zone-nyan yaml-mode writeroom-mode which-key web-mode web-beautify vue-mode undo-tree treemacs-projectile treemacs-evil toml-mode tidal subed smex smartparens sclang-extensions rjsx-mode rg rainbow-delimiters racket-mode quelpa-use-package pyvenv org-caldav openwith ob-mermaid mu4e-marker-icons mu4e-dashboard magit lsp-mode htmlize helpful guix gruvbox-theme general geiser-guile format-all flycheck fluxus-mode extempore-mode evil-org evil-collection editorconfig drupal-mode doom-modeline dashboard crdt counsel-projectile company benchmark-init arduino-mode all-the-icons 2bit)) '(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. '(default ((t (:family "Iosevka SS01" :foundry "BE5N" :slant normal :weight semi-bold :height 120 :width normal)))) '(line-number ((t (:background "#32302f" :foreground "#7c6f64")))) '(line-number-current-line ((t (:background "#32302f" :foreground "#fe8019")))) '(org-block ((t (:extend t :background "#3c3836")))) '(org-code ((t (:foreground "#dd6f48")))) '(org-document-title ((t (:underline nil :weight bold :height 2.0 :family "Sans Serif")))) '(org-level-1 ((t (:extend nil :weight bold :height 1.75 :family "Sans Serif")))) '(org-level-2 ((t (:extend nil :weight bold :height 1.45 :family "Sans Serif")))) '(org-level-3 ((t (:extend nil :weight bold :height 1.25 :family "Sans Serif")))) '(org-level-4 ((t (:extend nil :weight bold :height 1.1 :family "Sans Serif")))) '(org-level-5 ((t (:extend nil :weight bold :family "Sans Serif")))) '(org-level-6 ((t (:inherit default :weight bold :foreground "#DCDCCC" :family "Sans Serif")))) '(org-level-7 ((t (:inherit default :weight bold :foreground "#DCDCCC" :family "Sans Serif")))) '(org-level-8 ((t (:inherit default :weight bold :foreground "#DCDCCC" :family "Sans Serif")))) '(org-verbatim ((t (:foreground "#fb4933"))))) ;; supercollider mode load ;(require 'sclang)