From dd2038ba11ae0b4f522abaa33a46ba0826959978 Mon Sep 17 00:00:00 2001 From: LinlyBoi Date: Wed, 13 Sep 2023 19:38:33 +0300 Subject: [PATCH] wut iz going --- dot_zshrc | 1 + private_dot_config/doom/config.el | 116 +++++++++++++++++++++++++++--- private_dot_config/doom/custom.el | 2 +- private_dot_config/doom/init.el | 10 +-- 4 files changed, 114 insertions(+), 15 deletions(-) diff --git a/dot_zshrc b/dot_zshrc index a00ce6f..771e07b 100644 --- a/dot_zshrc +++ b/dot_zshrc @@ -97,6 +97,7 @@ source $HOME/.sh_paths source $HOME/.sh_functions source $HOME/.sh_colorize source $HOME/.zsh_aliases +source $HOME/.zsh-vi-mode/zsh-vi-mode.plugin.zsh # correct_all is stupid and whoever thought it was a good idea to set it is stupid. setopt correct nocorrect_all diff --git a/private_dot_config/doom/config.el b/private_dot_config/doom/config.el index d88b866..9a59035 100644 --- a/private_dot_config/doom/config.el +++ b/private_dot_config/doom/config.el @@ -21,8 +21,8 @@ ;; See 'C-h v doom-font' for documentation and more examples of what they ;; accept. For example: ;; -;;(setq doom-font (font-spec :family "Fira Code" :size 12.5 :weight 'semi-light) -;; doom-variable-pitch-font (font-spec :family "Fira Sans" :size 13)) +(setq doom-font (font-spec :family "Fira Code" :size 12.5 :weight 'semi-light)) +;; doom-variable-pitch-font (font-spec :family "Fira Sans" :size 13)) ;; ;; If you or Emacs can't find your font, use 'M-x describe-font' to look them ;; up, `M-x eval-region' to execute elisp code, and 'M-x doom/reload-font' to @@ -36,7 +36,7 @@ ;; This determines the style of line numbers in effect. If set to `nil', line ;; numbers are disabled. For relative line numbers, set this to `relative'. -(setq display-line-numbers-type t) +(setq display-line-numbers-type 'relative) ;; If you use `org' and don't want your org files in the default location below, ;; change `org-directory'. It must be set before org loads! @@ -76,7 +76,6 @@ ;; they are implemented. -(setq display-line-numbers-type 'relative) ;; org-roam (use-package! org-roam :custom @@ -98,8 +97,9 @@ :target (file+head "%<%Y-%m-%d>.org" "#+title: %<%Y-%m-%d>\n")))) (org-roam-db-autosync-enable) - (require 'org-roam-dailies)) - + (require 'org-roam-dailies) + (require 'org-roam-graph) + (require 'org-roam-protocol)) (eval-after-load 'org-list '(add-hook 'org-checkbox-statistics-hook (function ndk/checkbox-list-complete))) @@ -122,8 +122,6 @@ (org-todo 'done) (org-todo 'todo))))))) -;; font size -(set-face-attribute 'default nil :height 130) ;; ctrl+a and ctrl+x is awesome (evil-define-key '(normal visual) 'global (kbd "C-a") 'evil-numbers/inc-at-pt) (evil-define-key '(normal visual) 'global (kbd "C-x") 'evil-numbers/dec-at-pt) @@ -135,6 +133,106 @@ #'evil-snipe-mode) ;; TABBSS ;; use tab indentation everywhere -(setq-default indent-tabs-mode 'only) +(setq-default indent-tabs-mode t) (setq-default tab-width 4) ; Assuming you want your tabs to be four spaces wide (defvaralias 'c-basic-offset 'tab-width) + +;;Chezmoi +(use-package chezmoi) + +;; Silly Latex +(setq-default org-latex-toc-command "\\tableofcontents \\clearpage") + +;;org-caldav +(use-package! org-caldav + :init + ;; This is the sync on close function; it also prompts for save after syncing so + ;; no late changes get lost + (defun org-caldav-sync-at-close () + (org-caldav-sync) + (save-some-buffers)) + + ;; This is the delayed sync function; it waits until emacs has been idle for + ;; "secs" seconds before syncing. The delay is important because the caldav-sync + ;; can take five or ten seconds, which would be painful if it did that right at save. + ;; This way it just waits until you've been idle for a while to avoid disturbing + ;; the user. + (defvar org-caldav-sync-timer nil + "Timer that `org-caldav-push-timer' used to reschedule itself, or nil.") + (defun org-caldav-sync-with-delay (secs) + (when org-caldav-sync-timer + (cancel-timer org-caldav-sync-timer)) + (setq org-caldav-sync-timer + (run-with-idle-timer + (* 1 secs) nil 'org-caldav-sync))) + + ;; Actual calendar configuration edit this to meet your specific needs + (setq org-caldav-url "https://nextcloud.sewelam.tech/remote.php/dav/calendars/Aly") + (setq org-caldav-calendars + '( + (:calendar-id "capture-1" + :files ("~/org/todo.org") + :inbox "~/org/todo.org") + (:calendar-id "poggers" + :files ("~/org/work.org") + :inbox "~/org/work.org") + (:calendar-id "home" + :files: ("~/org/home.org") + :inbox "~/org/home.org") + (:calendar-id "studies-1" + :files: ("~/org/studies.org") + :inbox "~/org/studies.org") + (:calendar-id "some-day-1" + :files: ("~/org/someday.org") + :inbox "~/org/someday.org") + )) + (setq org-caldav-backup-file "~/org-caldav/org-caldav-backup.org") + (setq org-caldav-save-directory "~/org-caldav/") + (setq org-icalendar-categories '(local-tags)) + + :config + (setq org-icalendar-alarm-time 1) + ;; This makes sure to-do items as a category can show up on the calendar + (setq org-icalendar-include-todo 'all) + (setq org-caldav-sync-todo t) + (setq org-caldav-delete-calendar-entries 'always) + (setq org-caldav-delete-org-entries 'always) + ;; This ensures all org "deadlines" show up, and show up as due dates + (setq org-icalendar-use-deadline '(todo-due)) + ;; This ensures "scheduled" org items show up, and show up as start times + (setq org-icalendar-use-scheduled '(todo-start)) + ;; Add the delayed save hook with a five minute idle timer + (add-hook 'after-save-hook + (lambda () + (when (eq major-mode 'org-mode) + (org-caldav-sync-with-delay 300)))) + ;; Add the close emacs hook + (add-hook 'kill-emacs-hook 'org-caldav-sync-at-close)) +(setq auth-sources '("~/.authinfo.gpg")) + +;; MORE TEMPLATES +(after! org +(add-to-list 'org-capture-templates + '("w" "Work" entry + (file "~/org/work.org") + "* TODO %?" :empty-lines 1)) + +(add-to-list 'org-capture-templates + '("t" "Personal todo" entry + (file "~/org/todo.org") + "* TODO %?" :empty-lines 1)) +(add-to-list 'org-capture-templates + '("l" "Someday" entry + (file "~/org/someday.org") + "* TODO %?" :empty-lines 1)) +(add-to-list 'org-capture-templates + '("s" "Studies" entry + (file "~/org/studies.org") + "* TODO %?" :empty-lines 1)) +(add-to-list 'org-capture-templates + '("h" "Home" entry + (file "~/org/home.org") + "* TODO %?" :empty-lines 1)) +) + +(setq-default cache-long-scans nil) diff --git a/private_dot_config/doom/custom.el b/private_dot_config/doom/custom.el index a3d1d94..37744b9 100644 --- a/private_dot_config/doom/custom.el +++ b/private_dot_config/doom/custom.el @@ -7,7 +7,7 @@ '("e3daa8f18440301f3e54f2093fe15f4fe951986a8628e98dcd781efbec7a46f2" "467dc6fdebcf92f4d3e2a2016145ba15841987c71fbe675dcfe34ac47ffb9195" "98ef36d4487bf5e816f89b1b1240d45755ec382c7029302f36ca6626faf44bbd" default)) '(delete-selection-mode nil) '(package-selected-packages - '(org-roam-ui chezmoi evil-numbers oauth2-request oauth2 org-caldav gruvbox-theme))) + '(smudge telega org-roam-ui chezmoi evil-numbers oauth2-request oauth2 org-caldav gruvbox-theme))) (custom-set-faces ;; custom-set-faces was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. diff --git a/private_dot_config/doom/init.el b/private_dot_config/doom/init.el index e4e271c..6ddcd1a 100644 --- a/private_dot_config/doom/init.el +++ b/private_dot_config/doom/init.el @@ -77,7 +77,7 @@ ;;eshell ; the elisp shell that works everywhere ;;shell ; simple shell REPL for Emacs ;;term ; basic terminal emulator for Emacs - ;;vterm ; the best terminal emulation in Emacs + vterm ; the best terminal emulation in Emacs :checkers syntax ; tasing you for every semicolon you forget @@ -122,7 +122,7 @@ ;;crystal ; ruby at the speed of c ;;csharp ; unity, .NET, and mono shenanigans ;;data ; config/data formats - (dart +flutter) ; paint ui and not much else + (dart +flutter +lsp) ; paint ui and not much else ;;dhall ;;elixir ; erlang done right ;;elm ; care for a cup of TEA? @@ -153,11 +153,11 @@ ;;nim ; python + lisp at the speed of c ;;nix ; I hereby declare "nix geht mehr!" ;;ocaml ; an objective camel - (org +dnd +roam2) ; organize your plain life in plain text + (org +dnd +roam2) ; organize your plain life in plain text ;;php ; perl's insecure younger brother ;;plantuml ; diagrams for confusing people more ;;purescript ; javascript, but functional - ;;python ; beautiful is better than ugly + (python +lsp) ; beautiful is better than ugly ;;qt ; the 'cutest' gui framework ever ;;racket ; a DSL for DSLs ;;raku ; the artist formerly known as perl6 @@ -191,4 +191,4 @@ :config ;;literate - (default +bindings +smartparens)) + (default +bindings))