diff --git a/.gitignore b/.gitignore index 2e686e6..c545fde 100755 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,5 @@ home/pure_emacs/.emacs.d/recentf home/pure_emacs/.emacs.d/transient/ home/pure_emacs/.emacs.d/.org-id-locations home/pure_emacs/.emacs.d/.lsp-session-v1 +home/pure_emacs/.emacs.d/url +home/pure_emacs/.emacs.d/session* diff --git a/home/cava/.config/cava/config b/home/cava/.config/cava/config old mode 100755 new mode 100644 index 22cf3da..1e841a9 --- a/home/cava/.config/cava/config +++ b/home/cava/.config/cava/config @@ -108,7 +108,7 @@ method = ncurses ; raw_target = /dev/stdout # Raw data format. Can be 'binary' or 'ascii'. -; data_format = ascii +; data_format = binary # Binary bit format, can be '8bit' (0-255) or '16bit' (0-65530). ; bit_format = 16bit @@ -159,7 +159,7 @@ waves = 5 # Set gravity percentage for "drop off". Higher values means bars will drop faster. # Accepts only non-negative values. 50 means half gravity, 200 means double. Set to 0 to disable "drop off". -; gravity = 800 +; gravity = 100 # In bar height, bars that would have been lower that this will not be drawn. diff --git a/home/gtk/.config/gtk-2.0/gtkfilechooser.ini b/home/gtk/.config/gtk-2.0/gtkfilechooser.ini old mode 100755 new mode 100644 index 5f1e0ab..46dc0e0 --- a/home/gtk/.config/gtk-2.0/gtkfilechooser.ini +++ b/home/gtk/.config/gtk-2.0/gtkfilechooser.ini @@ -2,10 +2,10 @@ LocationMode=path-bar ShowHidden=false ShowSizeColumn=true -GeometryX=0 -GeometryY=0 -GeometryWidth=768 -GeometryHeight=972 +GeometryX=630 +GeometryY=118 +GeometryWidth=660 +GeometryHeight=864 SortColumn=modified SortOrder=descending StartupMode=recent diff --git a/home/gtk/.config/gtk-3.0/bookmarks b/home/gtk/.config/gtk-3.0/bookmarks old mode 100755 new mode 100644 index ba90f8d..a19eb53 --- a/home/gtk/.config/gtk-3.0/bookmarks +++ b/home/gtk/.config/gtk-3.0/bookmarks @@ -1,10 +1,8 @@ -file:///home/horhik/KB -file:///home/horhik/.config/eww -file:///home/horhik/Documents/Icons/Notion%20Icons%203.0 -file:///usr/share/icons/Papirus-Dark/96x96 -file:///tmp/mozilla_horhik0 file:///home/horhik/code file:///home/horhik/Documents file:///home/horhik/Music file:///home/horhik/Pictures +file:///home/horhik/Videos file:///home/horhik/Downloads +file:///home/horhik/Nextcloud +file:///home/horhik/Nextcloud2 diff --git a/home/gtk/.config/gtk-3.0/settings.ini b/home/gtk/.config/gtk-3.0/settings.ini old mode 100755 new mode 100644 index c0e1b4a..0a869a5 --- a/home/gtk/.config/gtk-3.0/settings.ini +++ b/home/gtk/.config/gtk-3.0/settings.ini @@ -1,17 +1,16 @@ [Settings] -gtk-theme-name=Adwaita-dark -gtk-icon-theme-name=Papirus-Dark -gtk-font-name=Roboto 11 -gtk-cursor-theme-size=18 +gtk-theme-name=Materia-dark +gtk-icon-theme-name=Paper-Mono-Dark +gtk-font-name=Noto Sans 11 +gtk-cursor-theme-name=Bibata-Modern-Ice +gtk-cursor-theme-size=0 gtk-toolbar-style=GTK_TOOLBAR_ICONS -gtk-toolbar-icon-size=GTK_ICON_SIZE_BUTTON +gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR gtk-button-images=1 gtk-menu-images=1 -gtk-enable-event-sounds=1 -gtk-enable-input-feedback-sounds=1 +gtk-enable-event-sounds=0 +gtk-enable-input-feedback-sounds=0 gtk-xft-antialias=1 gtk-xft-hinting=1 gtk-xft-hintstyle=hintfull -gtk-xft-rgba=rgb -gtk-cursor-theme-name=Premium -gtk-application-prefer-dark-theme=0 +gtk-xft-rgba=none diff --git a/home/gtk/.config/gtk-4.0/settings.ini b/home/gtk/.config/gtk-4.0/settings.ini old mode 100755 new mode 100644 index 7c6461a..29322c1 --- a/home/gtk/.config/gtk-4.0/settings.ini +++ b/home/gtk/.config/gtk-4.0/settings.ini @@ -1,2 +1,2 @@ [Settings] -gtk-application-prefer-dark-theme=0 +gtk-application-prefer-dark-theme=1 diff --git a/home/gtk/.gtkrc-2.0 b/home/gtk/.gtkrc-2.0 old mode 100755 new mode 100644 index 807c203..4e68fcd --- a/home/gtk/.gtkrc-2.0 +++ b/home/gtk/.gtkrc-2.0 @@ -1,14 +1,19 @@ -# -- THEME AUTO-WRITTEN DO NOT EDIT -include "/home/horhik/.themes/darkink/gtk-2.0/gtkrc" +# DO NOT EDIT! This file will be overwritten by LXAppearance. +# Any customization should be done in ~/.gtkrc-2.0.mine instead. -style "user-font" { - font_name = "Mononoki 12" -} - -widget_class "*" style "user-font" - -gtk-font-name="Mononoki 12" - -include "/home/horhik/.gtkrc.mine" - -# -- THEME AUTO-WRITTEN DO NOT EDIT +include "/home/horhik/.gtkrc-2.0.mine" +gtk-theme-name="Materia-dark" +gtk-icon-theme-name="Paper-Mono-Dark" +gtk-font-name="Noto Sans 11" +gtk-cursor-theme-name="Bibata-Modern-Ice" +gtk-cursor-theme-size=0 +gtk-toolbar-style=GTK_TOOLBAR_ICONS +gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR +gtk-button-images=1 +gtk-menu-images=1 +gtk-enable-event-sounds=0 +gtk-enable-input-feedback-sounds=0 +gtk-xft-antialias=1 +gtk-xft-hinting=1 +gtk-xft-hintstyle="hintfull" +gtk-xft-rgba="none" diff --git a/home/pure_emacs/.emacs.d/.lsp-session-v1 b/home/pure_emacs/.emacs.d/.lsp-session-v1 index c619bfb..b10f9c5 100644 --- a/home/pure_emacs/.emacs.d/.lsp-session-v1 +++ b/home/pure_emacs/.emacs.d/.lsp-session-v1 @@ -1 +1 @@ -#s(lsp-session ("/home/horhik/code/cp-tasks" "/home/horhik/code/competitive") nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ())) \ No newline at end of file +#s(lsp-session ("/home/horhik/code/projects/слово-to-slovo" "/home/horhik" "/home/horhik/code/cp-tasks" "/home/horhik/code/competitive") nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ()) #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ())) \ No newline at end of file diff --git a/home/pure_emacs/.emacs.d/config.org b/home/pure_emacs/.emacs.d/config.org index da98506..49c2619 100755 --- a/home/pure_emacs/.emacs.d/config.org +++ b/home/pure_emacs/.emacs.d/config.org @@ -57,25 +57,27 @@ ** Theme #+begin_src emacs-lisp - (require 'use-package) - (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 - '("75b8719c741c6d7afa290e0bb394d809f0cc62045b93e1d66cd646907f8e6d43" "7661b762556018a44a29477b84757994d8386d6edee909409fabe0631952dad9" default)) - '(package-selected-packages - '(neotree treemacs-persp spaceline-all-the-icons all-the-icons-ivy-rich all-the-icons-ivy treemacs-the-icons dired-icon treemacs-magit treemacs-projectile nlinum linum-mode unicode-fonts ewal-doom-themes ivy-rich which-key counsel org-roam treemacs-evil treemacs-all-the-icons treemacs use-package general gruvbox-theme flycheck-rust cargo linum-relative ac-racer lusty-explorer doom-modeline doom-themes rainbow-delimiters evil-mc rustic lsp-mode avy))) -(use-package doom-themes) - '(custom-enabled-themes '(gruvbox)) + (require 'use-package) + ;; (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 + ;; '("75b8719c741c6d7afa290e0bb394d809f0cc62045b93e1d66cd646907f8e6d43" "7661b762556018a44a29477b84757994d8386d6edee909409fabe0631952dad9" default)) + ;; '(package-selected-packages + ;; '(neotree treemacs-persp spaceline-all-the-icons all-the-icons-ivy-rich all-the-icons-ivy treemacs-the-icons dired-icon treemacs-magit treemacs-projectile nlinum linum-mode unicode-fonts ewal-doom-themes ivy-rich which-key counsel org-roam treemacs-evil treemacs-all-the-icons treemacs use-package general gruvbox-theme flycheck-rust cargo linum-relative ac-racer lusty-explorer doom-modeline doom-themes rainbow-delimiters evil-mc rustic lsp-mode avy))) +(use-package doom-themes + :ensure t + ) + (load-theme 'doom-gruvbox t) - (use-package gruvbox-theme - :ensure t - :config - (load-theme 'doom-gruvbox) - ) - (setq use-package-always-ensure t) + ;; (use-package gruvbox-theme + ;; :ensure t + ;; :config + ;; (load-theme 'doom-gruvbox) + ;; ) + (setq use-package-always-ensure t) @@ -110,6 +112,8 @@ (when (member "Twitter Color Emoji" (font-family-list)) (set-fontset-font t 'unicode "Twitter Color Emoji" nil 'prepend)) +(when (member "Twemoji" (font-family-list)) + (set-fontset-font t 'unicode "Twemoji" nil 'prepend)) ;; ☺️ ☻ 😃 😄 😅 😆 😊 😎 😇 😈 😏 🤣 🤩 🤪 🥳 😁 😀 😂 🤠 🤡 🤑 🤓 🤖 😗 😚 😘 😙 😉 🤗 😍 🥰 🤤 😋 🤔 🤨 🧐 🤭 🤫 😯 🤐 😌 😖 😕 😳 😔 🤥 🥴 😮 😲 🤯 😩 😫 🥱 😪 😴 😵 ☹️ 😦 😞 😥 😟 😢 😭 🤢 🤮 😷 🤒 🤕 🥵 🥶 🥺 😬 😓 😰 😨 😱 😒 😠 😡 😤 😣 😧 🤬 😸 😹 😺 😻 😼 😽 😾 😿 🙀 🙈 🙉 🙊 🤦 🤷 🙅 🙆 🙋 🙌 🙍 🙎 🙇 🙏 👯 💃 🕺 🤳 💇 💈 💆 🧖 🧘 🧍 🧎 👰 🤰 🤱 👶 🧒 👦 👧 👩 👨 🧑 🧔 🧓 👴 👵 👤 👥 👪 👫 👬 👭 👱 👳 👲 🧕 👸 🤴 🎅 🤶 🧏 🦻 🦮 🦯 🦺 🦼 🦽 🦾 🦿 🤵 👮 👷 💁 💂 🕴 🕵️ 🦸 🦹 🧙 🧚 🧜 🧝 🧞 🧛 🧟 👼 👿 👻 👹 👺 👽 👾 🛸 💀 ☠️ 🕱 🧠 🦴 👁 👀 👂 👃 👄 🗢 👅 🦷 🦵 🦶 💭 🗬 🗭 💬 🗨 🗩 💦 💧 💢 💫 💤 💨 💥 💪 🗲 🔥 💡 💩 💯 ;; Fallback for emojies @@ -144,7 +148,7 @@ (show-paren-mode t)) ; (use-package rainbow-delimiters :hook (prog-mode . rainbow-delimiters-mode)) - +(global-prettify-symbols-mode +1) #+end_src #+RESULTS: @@ -514,24 +518,64 @@ (company-idle-delay 0.0)) (use-package company-box - :hook (company-mode . company-box-mode)) #+end_src + :hook (company-mode . company-box-mode)) #+end_src ** Popup #+begin_src emacs-lisp - (use-package ivy-postframe - :config - (setq ivy-posframe-display-functions-alist '((t . ivy-posframe-display))) - ;; (setq ivy-posframe-display-functions-alist '((t . ivy-posframe-display-at-frame-center))) - ;; (setq ivy-posframe-display-functions-alist '((t . ivy-posframe-display-at-window-center))) - ;; (setq ivy-posframe-display-functions-alist '((t . ivy-posframe-display-at-frame-bottom-left))) - ;; (setq ivy-posframe-display-functions-alist '((t . ivy-posframe-display-at-window-bottom-left))) - ;; (setq ivy-posframe-display-functions-alist '((t . ivy-posframe-display-at-frame-top-center))) - (ivy-posframe-mode 1) -) + ;; (use-package ivy-postframe + ;; :init + ;; (ivy-posframe-mode 1) + ;; ;; (setq ivy-posframe-display-functions-alist '((t . ivy-posframe-display-at-frame-center))) + ;; ;; (setq ivy-posframe-display-functions-alist '((t . ivy-posframe-display-at-window-center))) + ;; ;; (setq ivy-posframe-display-functions-alist '((t . ivy-posframe-display-at-frame-bottom-left))) + ;; ;; (setq ivy-posframe-display-functions-alist '((t . ivy-posframe-display-at-window-bottom-left))) + ;; ;; (setq ivy-posframe-display-functions-alist '((t . ivy-posframe-display-at-frame-top-center))) + ;; ) #+end_src * Org +** Pretty symbols +#+begin_src emacs-lisp + ;; (lambda () + ;; (push '("TODO" . ?📥) prettify-symbols-alist) + ;; (push '("DONE" . ?☑) prettify-symbols-alist) + ;; (push '("NEXT" . ?⏭) prettify-symbols-alist) + ;; (push '("IDEA" . ?💡) prettify-symbols-alist) + ;; (push '("DREAM" . ?✨) prettify-symbols-alist) + ;; ) + + (setq-default prettify-symbols-alist + '(("#+BEGIN_SRC" . "λ") + ("#+END_SRC" . "λ") + ("#+end_src" . "λ") + ("#+begin_src" . "λ") + ("TODO"." T ") + ("DONE"." D ") + ("NEXT"." N ") + ("IDEA"." 💡 ") + ("DREAM"." ✨ ") + (":LOGBOOK:"." LOG ") + )) + +#+END_SRC +** My org-mode functions +#+begin_src emacs-lisp + (defun my/org-toggle-todo-and-fold () + (interactive) + (save-excursion + (org-back-to-heading t) ;; Make sure command works even if point is + ;; below target heading + (cond ((looking-at "\*+ TODO") + (org-todo "DONE") + (sleep-for 0.5) + (org-archive-subtree-default-with-confirmation) + ) + ((looking-at "\*+ DONE") + (org-todo "TODO") + (hide-subtree)) + (t (message "Can only toggle between TODO and DONE."))))) +#+end_src ** Fonts #+begin_src emacs-lisp @@ -541,15 +585,15 @@ :height 1.3 :weight 'light) -(set-face-attribute 'org-document-title nil :font "ubuntu" :weight 'bold :height 1.3) -(dolist (face '((org-level-1 . 1.18) - (org-level-2 . 1.14) - (org-level-3 . 1.05) +(set-face-attribute 'org-document-title nil :font "ubuntu" :weight 'light :height 1.3) +(dolist (face '((org-level-1 . 1.1) + (org-level-2 . 1.0) + (org-level-3 . 1.0) (org-level-4 . 1.0) - (org-level-5 . 1.1) - (org-level-6 . 1.1) - (org-level-7 . 1.1) - (org-level-8 . 1.1))) + (org-level-5 . 0.9) + (org-level-6 . 0.9) + (org-level-7 . 0.9) + (org-level-8 . 0.9))) (set-face-attribute (car face) nil :font "ubuntu" :weight 'bold :height (cdr face) )) (require 'org-indent) (set-face-attribute 'org-block nil :foreground nil :inherit 'fixed-pitch :font "Hack" ) @@ -581,15 +625,18 @@ (visual-line-mode 1) (setq evil-auto-indent 1) (variable-pitch-mode t) + (prettify-symbols-mode +1) + (display-line-numbers-mode 0) ) - (use-package org :hook ((org-mode . my/org-mode-setup) (org-mode . variable-pitch-mode) (org-mode . org-inddent-mode) + (org-mode . prettify-symbols-mode) ) - :config (setq org-agenda-files `("~/Notes" "~/Notes/Tasks/Tasks.org")) + :config (setq org-agenda-files `("~/Nextcloud2/Notes/Ideas💡.org" "~/Nextcloud2/Notes/Lists📜.org" "~/Nextcloud2/Notes/Projects💻.org" "~/Nextcloud2/Notes/Tasks🧾.org")) + (display-line-numbers-mode 0) (org-bullets-mode t) (org-indent-mode t) (setq org-ellipsis " ▸" org-hide-emphasis-markers t org-src-fontify-natively t @@ -621,9 +668,12 @@ ("n" "Next Tasks" ((todo "NEXT" ((org-agenda-overriding-header "Next Tasks"))))) ("i" "Ideas" ((todo "IDEA" ((org-agenda-overriding-header - "Ideas "))))) + "Ideas ")) + ) + (tags-todo "+idea") + )) ("A" "Articles" ((todo "Article" ((org-agenda-overriding-header - "Article"))))) + "Article"))))) ("W" "Work Tasks" tags-todo "+work-email") ("W" "Work Tasks" tags-todo "+work-email") ("I" "ideas" tags-todo "+idea-article") @@ -681,7 +731,9 @@ :general (general-nmap :prefix "SPC a" :keymap 'org-agenda-mode-map - "a" 'org-agenda)) + "a" 'org-agenda + "d" 'my/org-toggle-todo-and-fold + )) (use-package org-bullets :after org :hook @@ -746,7 +798,7 @@ "b h" '(org-roam-buffer-deactivate :which-key "roam buffer hide ") "s" '(org-roam-server-mode :which-key "roam server ")) :custom - (org-roam-directory "~/Notes") + (org-roam-directory "~/Nextcloud2/Notes") :config (setq org-roam-server-host "127.0.0.1" @@ -793,11 +845,17 @@ (use-package lsp-mode :init (setq lsp-keymap-prefix "C-SPC c") +;; (setq lsp-clients-clangd-args " --header-insertion-decorators=0 ") ;;(setq lsp-client-packages nil) + :hook (;; replace XXX-mode with concrete major-mode(e. g. python-mode) + (c++-mode . lsp) + ;; if you want which-key integration + (lsp-mode . lsp-enable-which-key-integration)) :config - (add-hook 'c++-mode-hook #'lsp-mode) - (add-hook 'rust-mode-hook #'lsp-mode) - (add-hook 'c-mode-hook #'lsp-mode) + (add-hook 'c\+\+-mode-hook #'lsp-mode) + (add-hook 'rust-mode-hook #'lsp-mode) + (add-hook 'c-mode-hook #'lsp-mode) + ;;(setq lsp-clients-clangd-executable "/home/horhik/code/competitive/clangd") ;;(setq lsp-clients-clangd-default-executable "/home/horhik/code/competitive/clangd") ;;(lsp-mode . lsp-enable-which-key-integration) @@ -822,14 +880,12 @@ (setq irony-additional-clang-options (append '("-std=c++17") irony-additional-clang-options)) ) - (add-to-list 'auto-mode-alist '("\\.cpp\\'" . cpp-hook)) - (add-to-list 'auto-mode-alist '("\\.cxx\\'" . cpp-hook)) - (add-to-list 'auto-mode-alist '("\\.c++\\'" . cpp-hook)) - (add-to-list 'auto-mode-alist '("\\.C\\'" . cpp-hook)) - (defun cpp-hook () - (c++-mode 1) - (lsp-mode 1) - ) + + +(add-to-list 'auto-mode-alist '("\\.h\\'" . c++-mode)) +(add-to-list 'auto-mode-alist '("\\.cxx\\'" . c++-mode)) +(add-to-list 'auto-mode-alist '("\\.cpp\\'" . c++-mode)) +(add-to-list 'auto-mode-alist '("\\.C\\'" . c++-mode)) #+end_src ** Markdown #+begin_src emacs-lisp @@ -840,7 +896,6 @@ (use-package tuareg) #+end_src - ** Nix #+begin_src emacs-lisp ;; (use-package direnv @@ -849,3 +904,23 @@ ;; (add-hook 'lsp-mode-hook #'direnv-update-environment) (use-package nix-mode) #+end_src + +** Rust +#+begin_src emacs-lisp + (use-package rust-mode + :config + (setq rust-format-on-save t) + (add-hook 'rust-mode-hook + (lambda () (setq indent-tabs-mode nil))) + ) + (use-package rustic + :config + (setq rustic-lsp-server 'rls) + ) + +#+end_src + +* Default file +#+begin_src emacs-lisp +(setq initial-buffer-choice "~/Nextcloud2/Notes/Tasks🧾.org") +#+end_src diff --git a/home/pure_emacs/.emacs.d/init.el b/home/pure_emacs/.emacs.d/init.el index ef902f0..37324ae 100644 --- a/home/pure_emacs/.emacs.d/init.el +++ b/home/pure_emacs/.emacs.d/init.el @@ -27,24 +27,26 @@ (global-visual-line-mode) (require 'use-package) - (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 - '("75b8719c741c6d7afa290e0bb394d809f0cc62045b93e1d66cd646907f8e6d43" "7661b762556018a44a29477b84757994d8386d6edee909409fabe0631952dad9" default)) - '(package-selected-packages - '(neotree treemacs-persp spaceline-all-the-icons all-the-icons-ivy-rich all-the-icons-ivy treemacs-the-icons dired-icon treemacs-magit treemacs-projectile nlinum linum-mode unicode-fonts ewal-doom-themes ivy-rich which-key counsel org-roam treemacs-evil treemacs-all-the-icons treemacs use-package general gruvbox-theme flycheck-rust cargo linum-relative ac-racer lusty-explorer doom-modeline doom-themes rainbow-delimiters evil-mc rustic lsp-mode avy))) -(use-package doom-themes) - '(custom-enabled-themes '(gruvbox)) + ;; (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 + ;; '("75b8719c741c6d7afa290e0bb394d809f0cc62045b93e1d66cd646907f8e6d43" "7661b762556018a44a29477b84757994d8386d6edee909409fabe0631952dad9" default)) + ;; '(package-selected-packages + ;; '(neotree treemacs-persp spaceline-all-the-icons all-the-icons-ivy-rich all-the-icons-ivy treemacs-the-icons dired-icon treemacs-magit treemacs-projectile nlinum linum-mode unicode-fonts ewal-doom-themes ivy-rich which-key counsel org-roam treemacs-evil treemacs-all-the-icons treemacs use-package general gruvbox-theme flycheck-rust cargo linum-relative ac-racer lusty-explorer doom-modeline doom-themes rainbow-delimiters evil-mc rustic lsp-mode avy))) +(use-package doom-themes + :ensure t + ) + (load-theme 'doom-gruvbox t) - (use-package gruvbox-theme - :ensure t - :config - (load-theme 'doom-gruvbox) - ) - (setq use-package-always-ensure t) + ;; (use-package gruvbox-theme + ;; :ensure t + ;; :config + ;; (load-theme 'doom-gruvbox) + ;; ) + (setq use-package-always-ensure t) (use-package doom-modeline :init @@ -62,6 +64,8 @@ (when (member "Twitter Color Emoji" (font-family-list)) (set-fontset-font t 'unicode "Twitter Color Emoji" nil 'prepend)) +(when (member "Twemoji" (font-family-list)) + (set-fontset-font t 'unicode "Twemoji" nil 'prepend)) ;; ☺️ ☻ 😃 😄 😅 😆 😊 😎 😇 😈 😏 🤣 🤩 🤪 🥳 😁 😀 😂 🤠 🤡 🤑 🤓 🤖 😗 😚 😘 😙 😉 🤗 😍 🥰 🤤 😋 🤔 🤨 🧐 🤭 🤫 😯 🤐 😌 😖 😕 😳 😔 🤥 🥴 😮 😲 🤯 😩 😫 🥱 😪 😴 😵 ☹️ 😦 😞 😥 😟 😢 😭 🤢 🤮 😷 🤒 🤕 🥵 🥶 🥺 😬 😓 😰 😨 😱 😒 😠 😡 😤 😣 😧 🤬 😸 😹 😺 😻 😼 😽 😾 😿 🙀 🙈 🙉 🙊 🤦 🤷 🙅 🙆 🙋 🙌 🙍 🙎 🙇 🙏 👯 💃 🕺 🤳 💇 💈 💆 🧖 🧘 🧍 🧎 👰 🤰 🤱 👶 🧒 👦 👧 👩 👨 🧑 🧔 🧓 👴 👵 👤 👥 👪 👫 👬 👭 👱 👳 👲 🧕 👸 🤴 🎅 🤶 🧏 🦻 🦮 🦯 🦺 🦼 🦽 🦾 🦿 🤵 👮 👷 💁 💂 🕴 🕵️ 🦸 🦹 🧙 🧚 🧜 🧝 🧞 🧛 🧟 👼 👿 👻 👹 👺 👽 👾 🛸 💀 ☠️ 🕱 🧠 🦴 👁 👀 👂 👃 👄 🗢 👅 🦷 🦵 🦶 💭 🗬 🗭 💬 🗨 🗩 💦 💧 💢 💫 💤 💨 💥 💪 🗲 🔥 💡 💩 💯 ;; Fallback for emojies @@ -83,6 +87,7 @@ (show-paren-mode t)) ; (use-package rainbow-delimiters :hook (prog-mode . rainbow-delimiters-mode)) +(global-prettify-symbols-mode +1) (use-package all-the-icons) (use-package all-the-icons-ivy @@ -410,18 +415,53 @@ (company-idle-delay 0.0)) (use-package company-box - :hook (company-mode . company-box-mode)) #+end_src + :hook (company-mode . company-box-mode)) -(use-package ivy-postframe - :config - (setq ivy-posframe-display-functions-alist '((t . ivy-posframe-display))) - ;; (setq ivy-posframe-display-functions-alist '((t . ivy-posframe-display-at-frame-center))) - ;; (setq ivy-posframe-display-functions-alist '((t . ivy-posframe-display-at-window-center))) - ;; (setq ivy-posframe-display-functions-alist '((t . ivy-posframe-display-at-frame-bottom-left))) - ;; (setq ivy-posframe-display-functions-alist '((t . ivy-posframe-display-at-window-bottom-left))) - ;; (setq ivy-posframe-display-functions-alist '((t . ivy-posframe-display-at-frame-top-center))) - (ivy-posframe-mode 1) -) +;; (use-package ivy-postframe +;; :init +;; (ivy-posframe-mode 1) +;; ;; (setq ivy-posframe-display-functions-alist '((t . ivy-posframe-display-at-frame-center))) +;; ;; (setq ivy-posframe-display-functions-alist '((t . ivy-posframe-display-at-window-center))) +;; ;; (setq ivy-posframe-display-functions-alist '((t . ivy-posframe-display-at-frame-bottom-left))) +;; ;; (setq ivy-posframe-display-functions-alist '((t . ivy-posframe-display-at-window-bottom-left))) +;; ;; (setq ivy-posframe-display-functions-alist '((t . ivy-posframe-display-at-frame-top-center))) +;; ) + +;; (lambda () + ;; (push '("TODO" . ?📥) prettify-symbols-alist) + ;; (push '("DONE" . ?☑) prettify-symbols-alist) + ;; (push '("NEXT" . ?⏭) prettify-symbols-alist) + ;; (push '("IDEA" . ?💡) prettify-symbols-alist) + ;; (push '("DREAM" . ?✨) prettify-symbols-alist) + ;; ) + +(setq-default prettify-symbols-alist + '(("#+BEGIN_SRC" . "λ") + ("#+END_SRC" . "λ") + ("#+end_src" . "λ") + ("#+begin_src" . "λ") + ("TODO"." T ") + ("DONE"." D ") + ("NEXT"." N ") + ("IDEA"." 💡 ") + ("DREAM"." ✨ ") + (":LOGBOOK:"." LOG ") + )) + +(defun my/org-toggle-todo-and-fold () + (interactive) + (save-excursion + (org-back-to-heading t) ;; Make sure command works even if point is + ;; below target heading + (cond ((looking-at "\*+ TODO") + (org-todo "DONE") + (sleep-for 0.5) + (org-archive-subtree-default-with-confirmation) + ) + ((looking-at "\*+ DONE") + (org-todo "TODO") + (hide-subtree)) + (t (message "Can only toggle between TODO and DONE."))))) (set-face-attribute 'variable-pitch nil ;; :font "Cantarell" @@ -429,15 +469,15 @@ :height 1.3 :weight 'light) -(set-face-attribute 'org-document-title nil :font "ubuntu" :weight 'bold :height 1.3) -(dolist (face '((org-level-1 . 1.18) - (org-level-2 . 1.14) - (org-level-3 . 1.05) +(set-face-attribute 'org-document-title nil :font "ubuntu" :weight 'light :height 1.3) +(dolist (face '((org-level-1 . 1.1) + (org-level-2 . 1.0) + (org-level-3 . 1.0) (org-level-4 . 1.0) - (org-level-5 . 1.1) - (org-level-6 . 1.1) - (org-level-7 . 1.1) - (org-level-8 . 1.1))) + (org-level-5 . 0.9) + (org-level-6 . 0.9) + (org-level-7 . 0.9) + (org-level-8 . 0.9))) (set-face-attribute (car face) nil :font "ubuntu" :weight 'bold :height (cdr face) )) (require 'org-indent) (set-face-attribute 'org-block nil :foreground nil :inherit 'fixed-pitch :font "Hack" ) @@ -460,15 +500,18 @@ (visual-line-mode 1) (setq evil-auto-indent 1) (variable-pitch-mode t) + (prettify-symbols-mode +1) + (display-line-numbers-mode 0) ) - (use-package org :hook ((org-mode . my/org-mode-setup) (org-mode . variable-pitch-mode) (org-mode . org-inddent-mode) + (org-mode . prettify-symbols-mode) ) - :config (setq org-agenda-files `("~/Notes" "~/Notes/Tasks/Tasks.org")) + :config (setq org-agenda-files `("~/Nextcloud2/Notes/Ideas💡.org" "~/Nextcloud2/Notes/Lists📜.org" "~/Nextcloud2/Notes/Projects💻.org" "~/Nextcloud2/Notes/Tasks🧾.org")) + (display-line-numbers-mode 0) (org-bullets-mode t) (org-indent-mode t) (setq org-ellipsis " ▸" org-hide-emphasis-markers t org-src-fontify-natively t @@ -500,9 +543,12 @@ ("n" "Next Tasks" ((todo "NEXT" ((org-agenda-overriding-header "Next Tasks"))))) ("i" "Ideas" ((todo "IDEA" ((org-agenda-overriding-header - "Ideas "))))) + "Ideas ")) + ) + (tags-todo "+idea") + )) ("A" "Articles" ((todo "Article" ((org-agenda-overriding-header - "Article"))))) + "Article"))))) ("W" "Work Tasks" tags-todo "+work-email") ("W" "Work Tasks" tags-todo "+work-email") ("I" "ideas" tags-todo "+idea-article") @@ -560,7 +606,9 @@ :general (general-nmap :prefix "SPC a" :keymap 'org-agenda-mode-map - "a" 'org-agenda)) + "a" 'org-agenda + "d" 'my/org-toggle-todo-and-fold + )) (use-package org-bullets :after org :hook @@ -609,7 +657,7 @@ "b h" '(org-roam-buffer-deactivate :which-key "roam buffer hide ") "s" '(org-roam-server-mode :which-key "roam server ")) :custom - (org-roam-directory "~/Notes") + (org-roam-directory "~/Nextcloud2/Notes") :config (setq org-roam-server-host "127.0.0.1" @@ -645,42 +693,46 @@ ) (use-package lsp-mode - :init - (setq lsp-keymap-prefix "C-SPC c") - ;;(setq lsp-client-packages nil) - :config - (add-hook 'c++-mode-hook #'lsp-mode) - (add-hook 'rust-mode-hook #'lsp-mode) - (add-hook 'c-mode-hook #'lsp-mode) - ;;(setq lsp-clients-clangd-executable "/home/horhik/code/competitive/clangd") - ;;(setq lsp-clients-clangd-default-executable "/home/horhik/code/competitive/clangd") - ;;(lsp-mode . lsp-enable-which-key-integration) - :commands (lsp lsp-deferred) - ) - (use-package lsp-treemacs - :after lsp-mode - ) -(use-package lsp-ivy) -(use-package lsp-ui -:after lsp) + :init + (setq lsp-keymap-prefix "C-SPC c") +;; (setq lsp-clients-clangd-args " --header-insertion-decorators=0 ") + ;;(setq lsp-client-packages nil) + :hook (;; replace XXX-mode with concrete major-mode(e. g. python-mode) + (c++-mode . lsp) + ;; if you want which-key integration + (lsp-mode . lsp-enable-which-key-integration)) + :config + (add-hook 'c\+\+-mode-hook #'lsp-mode) + (add-hook 'rust-mode-hook #'lsp-mode) + (add-hook 'c-mode-hook #'lsp-mode) + + ;;(setq lsp-clients-clangd-executable "/home/horhik/code/competitive/clangd") + ;;(setq lsp-clients-clangd-default-executable "/home/horhik/code/competitive/clangd") + ;;(lsp-mode . lsp-enable-which-key-integration) + :commands (lsp lsp-deferred) + ) + (use-package lsp-treemacs + :after lsp-mode + ) + (use-package lsp-ivy) + (use-package lsp-ui + :after lsp) (use-package irony - :init - (add-hook 'c++-mode-hook 'irony-mode) - (add-hook 'c-mode-hook 'irony-mode) - (add-hook 'objc-mode-hook 'irony-mode) - (add-hook 'irony-mode-hook 'irony-cdb-autosetup-compile-options) - (setq irony-additional-clang-options - (append '("-std=c++17") irony-additional-clang-options)) - ) -(add-to-list 'auto-mode-alist '("\\.cpp\\'" . cpp-hook)) -(add-to-list 'auto-mode-alist '("\\.cxx\\'" . cpp-hook)) -(add-to-list 'auto-mode-alist '("\\.c++\\'" . cpp-hook)) -(add-to-list 'auto-mode-alist '("\\.C\\'" . cpp-hook)) -(defun cpp-hook () - (c++-mode 1) - (lsp-mode 1) - ) + :init + (add-hook 'c++-mode-hook 'irony-mode) + (add-hook 'c-mode-hook 'irony-mode) + (add-hook 'objc-mode-hook 'irony-mode) + (add-hook 'irony-mode-hook 'irony-cdb-autosetup-compile-options) + (setq irony-additional-clang-options + (append '("-std=c++17") irony-additional-clang-options)) + ) + + +(add-to-list 'auto-mode-alist '("\\.h\\'" . c++-mode)) +(add-to-list 'auto-mode-alist '("\\.cxx\\'" . c++-mode)) +(add-to-list 'auto-mode-alist '("\\.cpp\\'" . c++-mode)) +(add-to-list 'auto-mode-alist '("\\.C\\'" . c++-mode)) (use-package markdown-mode) @@ -691,3 +743,23 @@ ;; (direnv-mode)) ;; (add-hook 'lsp-mode-hook #'direnv-update-environment) (use-package nix-mode) + +(use-package rust-mode +:config + (setq rust-format-on-save t) + (add-hook 'rust-mode-hook + (lambda () (setq indent-tabs-mode nil))) +) +(use-package rustic +:config +(setq rustic-lsp-server 'rls) + ) + +(setq initial-buffer-choice "~/Nextcloud2/Notes/Tasks🧾.org") +(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. + '(package-selected-packages + '(rustic rust-mode workgroups2 which-key visual-fill-column use-package undo-tree tuareg treemacs-projectile treemacs-persp treemacs-magit treemacs-icons-dired treemacs-evil treemacs-all-the-icons realgud rainbow-delimiters pretty-symbols org-roam-server org-caldav org-bullets ob-browser nix-mode neotree lsp-ui lsp-treemacs lsp-ivy ivy-posframe highlight-parentheses gruvbox-theme general flycheck-irony evil-collection elisp-lint doom-themes doom-modeline counsel-projectile company-box clang-format+ all-the-icons-ivy-rich all-the-icons-ivy))) diff --git a/home/qutebrowser/.config/qutebrowser/bookmarks/urls b/home/qutebrowser/.config/qutebrowser/bookmarks/urls old mode 100755 new mode 100644 diff --git a/home/qutebrowser/.config/qutebrowser/quickmarks b/home/qutebrowser/.config/qutebrowser/quickmarks old mode 100755 new mode 100644 diff --git a/home/xmonad/.config/xmobar/bin/xmobarstatus2 b/home/xmonad/.config/xmobar/bin/xmobarstatus2 index 1b3b14b..abcbb1b 100755 --- a/home/xmonad/.config/xmobar/bin/xmobarstatus2 +++ b/home/xmonad/.config/xmobar/bin/xmobarstatus2 @@ -109,7 +109,7 @@ duration=$(echo $((duration_sec / (60 * 60))):$((duration_sec / 60 - duration_s echo "—{$toggl_description("$duration")}" } - + echo "$(toggl_timer)$(wifi)$(battery)$(volume)$(layout)$(diskspace)$(timeanddate)—{$(calendar)}——" #echo "                                          " diff --git a/home/xmonad/.config/xmobar/config.hs b/home/xmonad/.config/xmobar/config.hs index de5ea90..3dad616 100755 --- a/home/xmonad/.config/xmobar/config.hs +++ b/home/xmonad/.config/xmobar/config.hs @@ -17,7 +17,7 @@ Config { , sepChar = "%" -- delineator between plugin names and straight text , alignSep = "][" -- separator between left-right alignment - , template = "——{%StdinReader%}—————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————][%/home/horhik/.config/xmobar/bin/xmobarstatus%" + , template = "——{%StdinReader%}—————————————————————————————————————————————————————————————————————————————————————————————————————————————][%/home/horhik/.config/xmobar/bin/xmobarstatus%" -- general behavior , lowerOnStart = False -- send to bottom of window stack on start diff --git a/home/xmonad/.config/xmobar/config_second.hs b/home/xmonad/.config/xmobar/config_second.hs index cef0063..cb4911e 100755 --- a/home/xmonad/.config/xmobar/config_second.hs +++ b/home/xmonad/.config/xmobar/config_second.hs @@ -16,7 +16,7 @@ -- layout , sepChar = "%" -- delineator between plugin names and straight text , alignSep = "][" -- separator between left-right alignment - , template = "--{%StdinReader%}————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————][%/home/horhik/.config/xmobar/bin/xmobarstatus2%" + , template = "--{%StdinReader%}—————————————————————————————————————————————————————————————————————————————————————————————————————————————————][%/home/horhik/.config/xmobar/bin/xmobarstatus2%" -- general behavior , lowerOnStart = False -- send to bottom of window stack on start diff --git a/home/xmonad/.xmonad/xmonad.hs b/home/xmonad/.xmonad/xmonad.hs index 60d2ae5..7e6db92 100755 --- a/home/xmonad/.xmonad/xmonad.hs +++ b/home/xmonad/.xmonad/xmonad.hs @@ -101,7 +101,7 @@ myKeys conf@(XConfig {XMonad.modMask = modm}) = M.fromList $ , ((modm , xK_e ), spawn "rofimoji") , ((modm , xK_p ), spawn "rofi -show drun") - , ((modm .|. shiftMask , xK_p ), spawn "rofi -show window") + , ((modm .|. shiftMask , xK_p ), spawn "rofi-pass") -- close focused window , ((modm .|. shiftMask, xK_c ), kill) @@ -178,6 +178,7 @@ myKeys conf@(XConfig {XMonad.modMask = modm}) = M.fromList $ , ((modm .|. mod1Mask , xK_space ), spawn "$HOME/.local/scripts/deadd_notify") -- change lang , ((modm, xK_Control_R) , spawn "xkblayout-state set +1") + , ((modm, xK_Shift_R) , spawn "xkblayout-state set +1") , ((modm, xK_d) , spawn "eww-toggl") -- toggle fullscreen , ((mod4Mask .|. shiftMask, xK_f), sendMessage ToggleStruts) @@ -292,10 +293,10 @@ magnify = renamed [Replace "magnify"] $ mySpacing 8 $ ResizableTall 1 (3/100) (1/2) [] monocle = renamed [Replace "monocle"] - $ smartBorders - $ addTabs shrinkText myTabTheme - $ subLayout [] (smartBorders Simplest) - $ limitWindows 20 Full + $ noBorders + -- $ addTabs shrinkText myTabTheme + $ subLayout [] (smartBorders Simplest) + $ limitWindows 20 Full floats = renamed [Replace "floats"] $ smartBorders $ limitWindows 20 simplestFloat @@ -361,7 +362,7 @@ myLayoutHook = avoidStruts $ mouseResize $ windowArrange $ T.toggleLayouts float where myDefaultLayout = withBorder myBorderWidth tall ||| noBorders magnify - ||| noBorders monocle + ||| monocle ||| floats ||| noBorders tabs ||| grid diff --git a/home/zsh/.zshrc b/home/zsh/.zshrc index b8003ab..e582fa7 100644 --- a/home/zsh/.zshrc +++ b/home/zsh/.zshrc @@ -12,7 +12,7 @@ export ZSH=/usr/share/oh-my-zsh/ # to know which specific one was loaded, run: echo $RANDOM_THEME # See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes # if you installed the package oh-my-zsh-powerline-theme-git then you type here "powerline" as zsh theme -ZSH_THEME="random" +ZSH_THEME="sporty_256" # Set list of themes to pick from when loading at random # Setting this variable when ZSH_THEME=random will cause zsh to load @@ -111,8 +111,8 @@ export HISTCONTROL=ignoreboth:erasedups # Make nano the default editor -export EDITOR='nano' -export VISUAL='nano' +export EDITOR='nvim' +export VISUAL='nvim' #PS1='[\u@\h \W]\$ ' @@ -405,3 +405,4 @@ compile_and_run() { # eval $(thefuck --alias) +if [ -e /home/horhik/.nix-profile/etc/profile.d/nix.sh ]; then . /home/horhik/.nix-profile/etc/profile.d/nix.sh; fi # added by Nix installer diff --git a/install.sh b/install.sh index caba680..451e184 100755 --- a/install.sh +++ b/install.sh @@ -90,3 +90,5 @@ cargo build --release echo "installing tmp (tmux package manager)" git clone https://github.com/tmux-plugins/tpm ~/.config/tmux/plugins/tpm +echo "installing gruvbox theme" +yay -S gtk-engine-murrine gruvbox-material-git diff --git a/suckless/dmenu-4.9/dmenu b/suckless/dmenu-4.9/dmenu index bf00503..678dc87 100755 Binary files a/suckless/dmenu-4.9/dmenu and b/suckless/dmenu-4.9/dmenu differ diff --git a/suckless/dmenu-4.9/stest b/suckless/dmenu-4.9/stest index c93eed0..63e0ea3 100755 Binary files a/suckless/dmenu-4.9/stest and b/suckless/dmenu-4.9/stest differ diff --git a/suckless/dwm-6.2/dwm b/suckless/dwm-6.2/dwm index 8b3a367..90da942 100755 Binary files a/suckless/dwm-6.2/dwm and b/suckless/dwm-6.2/dwm differ