diff --git a/.config/sway/config b/.config/sway/config index a8abed3..0990ac5 100644 --- a/.config/sway/config +++ b/.config/sway/config @@ -264,6 +264,7 @@ input "type:touchpad" { natural_scroll enabled dwt enabled scroll_factor 0.25 + pointer_accel 0.5 } # Radio študent @@ -333,4 +334,5 @@ workspace 4: exec element-desktop workspace 9: +exec gnome-keyring-daemon --start exec keepassxc diff --git a/.emacs.d/init.el b/.emacs.d/init.el index 6d43a4c..d7801e1 100644 --- a/.emacs.d/init.el +++ b/.emacs.d/init.el @@ -13,13 +13,17 @@ ;; Kaj vse naj bo namesceno? (setq paketi '(;; Evil mode - evil + evil + evil-collection + evil-org ;; Global undo tree - undo-tree + undo-tree ;; Gruvbox tema gruvbox-theme ;; Hemisu tema hemisu-theme + ;; Doom themes + doom-themes ;; Oblikovanje teksta editorconfig ;; PHProgamiranje @@ -31,8 +35,31 @@ company ;; Completion2 ivy + ;; Iskanje + swiper + ;; Izboljsani default ukazi bolj prijazni + counsel ;; Iskanje po fajlih - rg)) + rg + ;; Modeline - status bar spodaj (+ ikonice) + doom-modeline + all-the-icons + ;; Pomoch + helpful + ;; Prikazi nedavne ukaze visje + smex + ;; Programiranje + js2-mode + vue-mode + clojure-mode + ;; Lepšanje fajlov na webu + web-beautify + ;; Tab alignment + smart-tabs-mode + ;; Dreva fajlov + treemacs + treemacs-projectile + treemacs-evil)) (setq nema (seq-filter (lambda (p) (not (package-installed-p p))) paketi)) (when nema @@ -44,12 +71,60 @@ ;;;;;;;;;; ;; EVIL ;; ;;;;;;;;;; +(setq evil-want-integration t) ;; This is optional since it's already set to t by default. +(setq evil-want-keybinding nil) (require 'evil) +;; Dodatni keybindi (dired, drugje) +(evil-collection-init) (defvar my-leader-map (make-sparse-keymap) "Mapiranje za evil bliznjice (leader trigger)") -(define-key evil-normal-state-map (kbd "SPC") my-leader-map) -(define-key my-leader-map "b" 'list-buffers) +;; Dodatki za orgmode / agenda podporo +(require 'evil-org) +(add-hook 'org-mode-hook 'evil-org-mode) +(evil-org-set-key-theme '(navigation insert textobjects additional calendar)) +(require 'evil-org-agenda) +(evil-org-agenda-set-keys) +(setq org-agenda-files (list "~/rs/org" + "~/Dokumenti")) + +;; WINDOW ukazi +(define-prefix-command 'evil-window-map) +(define-key evil-window-map "j" 'windmove-down) +(define-key evil-window-map "k" 'windmove-up) +(define-key evil-window-map "h" 'windmove-left) +(define-key evil-window-map "l" 'windmove-right) +(define-key evil-window-map "s" 'split-window-below) +(define-key evil-window-map "v" 'split-window-right) + +;; BUFFER ukazi +(define-prefix-command 'evil-buffer-map) +(define-key evil-buffer-map "b" 'ivy-switch-buffer) +(define-key evil-buffer-map "p" 'previous-buffer) +(define-key evil-buffer-map "n" 'next-buffer) +(define-key evil-buffer-map "e" 'eval-buffer) +(defun switch-to-scratch () (interactive) (switch-to-buffer "*scratch*")) +(define-key evil-buffer-map "s" 'switch-to-scratch) + +;; FILE ukazi +(define-prefix-command 'evil-file-map) +(define-key evil-file-map "f" 'counsel-find-file) +(defun load-config () (interactive) (find-file "~/.emacs.d/init.el")) +(define-key evil-file-map "c" 'load-config) + +;; Mapiranje ukazov +(evil-global-set-key 'motion (kbd "SPC") my-leader-map) +;(define-key evil-normal-state-map (kbd "SPC") my-leader-map) +(define-key my-leader-map "w" 'evil-window-map) +(define-key my-leader-map "b" 'evil-buffer-map) +(define-key my-leader-map "f" 'evil-file-map) +(define-key my-leader-map "[" 'previous-buffer) +(define-key my-leader-map "]" 'next-buffer) +(define-key my-leader-map "r" 'counsel-bookmark) +(define-key my-leader-map "p" 'projectile-command-map) +(define-key my-leader-map "/" 'counsel-rg) +;; Odpri drevo fajlov +(define-key my-leader-map "t" 'treemacs) ;;;;;;;;;;;;;;;;;;; ;; Custom (tema) ;; @@ -61,7 +136,9 @@ ;; If there is more than one, they won't work right. '(custom-safe-themes '("7661b762556018a44a29477b84757994d8386d6edee909409fabe0631952dad9" default)) - '(package-selected-packages '(fennel-mode rg ivy company projectile evil)) + '(iswitchb-mode t) + '(package-selected-packages + '(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)) (custom-set-faces ;; custom-set-faces was added by Custom. @@ -90,18 +167,36 @@ (evil-set-undo-system 'undo-tree) ;; Theme -;;(load-theme 'gruvbox-dark-medium t) -(load-theme 'hemisu-light t) +; Skrij scrollbar +(scroll-bar-mode -1) +(setq window-divider-default-bottom-width 3) +(window-divider-mode t) +;(load-theme 'gruvbox-dark-medium t) +;(load-theme 'hemisu-light t) +(require 'doom-themes) +(setq doom-themes-enable-bold t ; if nil, bold is universally disabled + doom-themes-enable-italic t) ; if nil, italics is universally disabled +(load-theme 'doom-gruvbox t) +(doom-themes-org-config) ;;;;;;;;;; ;; Text ;; ;;;;;;;;;; +;; Sirina taba ter spejsi kot distancniki (setq-default tab-width 2) (setq-default indent-tabs-mode nil) -(display-line-numbers-mode) +;; Editorconfig formatiranje fajlov (editorconfig-mode 1) +;; Text wrap na sirino oken +(global-visual-line-mode) -;; Evil mode <3 +;; Stevilke vrstic +(global-display-line-numbers-mode) +;; Brez stevilk vrstic v file drevesu! +(add-hook 'treemacs-mode-hook (lambda () (display-line-numbers-mode -1))) + + +;; Evil mode toggle <3 (evil-mode) ;; PhP ko je treba @@ -110,9 +205,91 @@ ;; Org tudi kdaj (add-to-list 'auto-mode-alist '("\\.org$" . org-mode)) +;; Stanja taskov +(setq org-todo-keywords + '((sequence "TODO" "V DELU" "TESTIRANJE" "DOKUMENTIRANJE" "KONČANO"))) + +;; DOT diagrami +(org-babel-do-load-languages + 'org-babel-load-languages + '((dot . t))) + +;; enable ditaa +(org-babel-do-load-languages + 'org-babel-load-languages + '((ditaa . t))) + +;; js2 za javascript +(add-to-list 'auto-mode-alist '("\\.js$" . js2-mode)) +(setq js2-strict-missing-semi-warning nil) +(setq js2-missing-semi-one-line-override nil) +(setq js2-basic-offset 2) +(setq js-indent-level 2) +;; Pametni tabi za js2-mode +(smart-tabs-advice js2-indent-line js2-basic-offset) + ;; Kompletiranje ukazov (company-mode) + +;; IVY (ivy-mode) +(setq ivy-use-virtual-buffers t) +(setq enable-recursive-minibuffers t) + +;; Swiper search, counsel bliznjice +(global-set-key "\C-s" 'swiper) +(define-key evil-normal-state-map (kbd "RET") 'org-open-at-point) +(global-set-key (kbd "C-c C-r") 'ivy-resume) +(global-set-key (kbd "") 'ivy-resume) +(global-set-key (kbd "M-x") 'counsel-M-x) +(global-set-key (kbd "C-x C-f") 'counsel-find-file) +(global-set-key (kbd " f") 'counsel-describe-function) +(global-set-key (kbd " v") 'counsel-describe-variable) +(global-set-key (kbd " o") 'counsel-describe-symbol) +(global-set-key (kbd " l") 'counsel-find-library) +(global-set-key (kbd " i") 'counsel-info-lookup-symbol) +(global-set-key (kbd " u") 'counsel-unicode-char) +(global-set-key (kbd "C-c g") 'counsel-git) +(global-set-key (kbd "C-c j") 'counsel-git-grep) +(global-set-key (kbd "C-c k") 'counsel-ag) +(global-set-key (kbd "C-x l") 'counsel-locate) +(global-set-key (kbd "C-S-o") 'counsel-rhythmbox) +(define-key minibuffer-local-map (kbd "C-r") 'counsel-minibuffer-history) ;; Iskanje po fajlih (fulltext) (rg-enable-default-bindings) + +;; Modeline / statusbar +(require 'all-the-icons) +;; Pognat je treba (1x) all-the-icons-install-fonts +;(require 'doom-modeline) +(doom-modeline-init) + + +;;;;;;;;;;; +;; Razno ;; +;;;;;;;;;;; + +;; Vedno sledi symlinkom v git +(setq vc-follow-symlinks t) + +;; Projektni mgmt +(projectile-mode t) + +;; Pomoc +;(require 'helpful) + +;; Prikazi startup time +(add-to-list 'after-init-hook + (lambda () + (message (concat "emacs (" (number-to-string (emacs-pid)) ") started in " (emacs-init-time))))) + +;; Backup fajli emacsa +(setq + backup-by-copying t ; don't clobber symlinks + backup-directory-alist + '(("." . "~/.saves/")) ; don't litter my fs tree + delete-old-versions t + kept-new-versions 6 + kept-old-versions 2 + version-control t) ; use versioned backups diff --git a/.ssh/config b/.ssh/config new file mode 100644 index 0000000..aa234e7 --- /dev/null +++ b/.ssh/config @@ -0,0 +1,2 @@ +Host * + ServerAliveInterval 240 diff --git a/.zshrc b/.zshrc index 9e25ba7..9fa2dfc 100644 --- a/.zshrc +++ b/.zshrc @@ -116,6 +116,9 @@ alias kill-element='kill $(ps aux | grep element | awk "{print $2;}")' alias nmc='nmcli con up ' +# 32bit wine +alias wine32="WINEPREFIX=~/.wine32 WINEARCH=win32 wine " + # OBS fix #alias obs="QT_QPA_PLATFORM=xcb obs" @@ -124,3 +127,7 @@ export GUILE_LOAD_COMPILED_PATH="/usr/local/lib/guile/3.0/ccache:/usr/local/lib/ # (FULL)Screen share export XDG_CURRENT_DESKTOP=sway + +# Guix +GUIX_PROFILE="/home/g1smo/.config/guix/current" +. "$GUIX_PROFILE/etc/profile" diff --git a/povezi.sh b/povezi.sh index c80a62a..d93e02e 100755 --- a/povezi.sh +++ b/povezi.sh @@ -86,3 +86,7 @@ ln -s $DIR/applications/dbeaver.desktop ~/.local/share/applications/com.obsproje # Emacs mkdir ~/.emacs.d ln -s $DIR/.emacs.d/init.el ~/.emacs.d/init.el + +# SSH (timeout) +mkdir ~/.ssh +ln -s $DIR/.ssh/config ~/.ssh/config