General fixes, mostly on the linux side

This commit is contained in:
Roger Gonzalez 2022-08-09 11:18:14 -03:00
parent 89cf3bc2d5
commit 11110f25c9
14 changed files with 294 additions and 83 deletions

View File

@ -13,6 +13,7 @@ env:
TERM: xterm-256color
window:
opacity: 0.75
# Window dimensions (changes require restart)
#
# Specified in number of columns/lines, not pixels.
@ -102,14 +103,14 @@ scrolling:
# Font configuration
font:
# Normal (roman) font face
# normal:
normal:
# Font family
#
# Default:
# - (macOS) Menlo
# - (Linux/BSD) monospace
# - (Windows) Consolas
# family: Mononoki Nerd Font
family: "MesloLGS NF"
# The `style` can be specified to pick a specific face.
# style: Regular
@ -290,8 +291,7 @@ colors:
#
# Window opacity as a floating point number from `0.0` to `1.0`.
# The value `0.0` is completely transparent and `1.0` is opaque.
background_opacity: 0.75
# background_opacity: 0.95
# background_opacity: 0.75
#selection:
#semantic_escape_chars: ",│`|:\"' ()[]{}<>\t"

View File

@ -20,12 +20,13 @@ alias doom='$HOME/.emacs.d/bin/doom'
alias ls='exa -la --color=always --group-directories-first'
alias pr='ping rogs.me'
alias my-ip="curl ifconfig.me"
alias emacs="emacsclient -c -a 'emacs'"
source "$HOME/.config/fish/abbreviations.fish"
# tabtab source for packages
# uninstall by removing these lines
[ -f ~/.config/tabtab/__tabtab.fish ]; and . ~/.config/tabtab/__tabtab.fish; or true
# [ -f ~/.config/tabtab/__tabtab.fish ]; and . ~/.config/tabtab/__tabtab.fish; or true
# The next line updates PATH for the Google Cloud SDK.
if [ -f '/home/roger/.google-cloud-sdk/path.fish.inc' ]; . '/home/roger/.google-cloud-sdk/path.fish.inc'; end

View File

@ -5,7 +5,7 @@ SETUVAR __fish_init_1_50_0:\x1d
SETUVAR __fish_init_2_39_8:\x1d
SETUVAR __fish_init_2_3_0:\x1d
SETUVAR __fish_init_3_x:\x1d
SETUVAR __fish_initialized:3100
SETUVAR __fish_initialized:3400
SETUVAR _fish_abbr_cdccb:cd\x20\x7e/code/massive/cocacola/new\x2dbackend
SETUVAR _fish_abbr_cdccf:cd\x20\x7e/code/massive/cocacola/frontend
SETUVAR _fish_abbr_cdimb:cd\x20\x7e/code/personal/identidadMisional/backend
@ -107,4 +107,5 @@ SETUVAR fish_pager_color_completion:normal
SETUVAR fish_pager_color_description:B3A06D\x1eyellow
SETUVAR fish_pager_color_prefix:white\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
SETUVAR fish_pager_color_selected_background:\x2dr
SETUVAR fish_user_paths:/home/roger/\x2eserverless/bin

View File

@ -1,5 +1,5 @@
function prometeo-vpn
sudo wg-quick down wg0
mullvad disconnect
cd ~/.vpn
sudo openvpn --config prometeo.ovpn
sudo wg-quick up wg0
end

View File

@ -1,4 +1,5 @@
function uft
rm -f ~/Documents/Gastos/Saved/import/import.csv
/usr/bin/ls -tr ~/Documents/Gastos/Saved/*.csv | tail -n 2 | xargs grep -Fxvf > ~/Documents/Gastos/Saved/import/import.csv
cat -n ~/Documents/Gastos/Saved/import/import.csv
end

View File

@ -29,7 +29,7 @@ font pango:DejaVu Sans Mono 8
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
# screen before suspend. Use loginctl lock-session to lock your screen.
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
exec --no-startup-id xss-lock --transfer-sleep-lock ~/.config/i3/i3lock_script.sh
# NetworkManager is the most popular way to manage wireless networks on Linux,
# and nm-applet is a desktop environment-independent system tray GUI for it.
@ -82,8 +82,8 @@ bindsym $mod+Shift+q kill
# start rofi (a program launcher)
bindsym $mod+d exec --no-startup-id "rofi -combi-modi window,drun -show combi"
# start bw-rofi (a rofi frontend for bitwarden)
bindsym $mod+p exec --no-startup-id "bwpyro -c -1 -w logins"
# start kpmenu (a rofi frontend for keepass)
bindsym $mod+p exec --no-startup-id "kpmenu -d ~/Passwords/Passwords.kdbx -m rofi"
# change focus
bindsym $mod+h focus left
@ -146,6 +146,7 @@ set $ws7 "7: all"
set $ws8 "8"
set $ws9 "9"
set $ws10 "10"
set $ws11 "11"
# switch to workspace
bindsym $mod+1 workspace number $ws1
@ -158,6 +159,7 @@ bindsym $mod+7 workspace number $ws7
bindsym $mod+8 workspace number $ws8
bindsym $mod+9 workspace number $ws9
bindsym $mod+0 workspace number $ws10
bindsym $mod+$aux+0 workspace number $ws11
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace number $ws1
@ -170,6 +172,7 @@ bindsym $mod+Shift+7 move container to workspace number $ws7
bindsym $mod+Shift+8 move container to workspace number $ws8
bindsym $mod+Shift+9 move container to workspace number $ws9
bindsym $mod+Shift+0 move container to workspace number $ws10
bindsym $mod+$aux+Shift+0 move container to workspace number $ws11
workspace $ws1 output primary
workspace $ws3 output primary
@ -194,8 +197,8 @@ set $mode_system System (l) lock, (e) logout, (s) suspend, (h) hibernate, (r) re
mode "$mode_system" {
bindsym l exec --no-startup-id $Locker, mode "default"
bindsym e exec --no-startup-id i3-msg exit, mode "default"
bindsym s exec --no-startup-id $Locker && systemctl suspend, mode "default"
bindsym h exec --no-startup-id $Locker && systemctl hibernate, mode "default"
bindsym s exec --no-startup-id systemctl suspend, mode "default"
bindsym h exec --no-startup-id systemctl hibernate, mode "default"
bindsym r exec --no-startup-id systemctl reboot, mode "default"
bindsym Shift+s exec --no-startup-id systemctl poweroff -i, mode "default"
@ -219,14 +222,14 @@ bindsym $mod+Shift+b exec $auxTerminal -e 'bmenu'
bindsym $aux+Shift+e exec setxkbmap es
bindsym $aux+Shift+u exec setxkbmap us
# Screnshots
# Screenshots
bindsym Print exec scrot ~/Pictures/%Y-%m-%d-%H%M%S.png
bindsym --release Shift+Print exec scrot -s -f ~/Pictures/%Y-%m-%d-%H%M%S.png
bindsym --release Ctrl+Shift+Print exec scrot -s -f -o "/tmp/image.png" && xclip -selection clipboard -t image/png -i /tmp/image.png
bindsym --release Shift+F12 exec scrot -s -f ~/Pictures/%Y-%m-%d-%H%M%S.png
bindsym --release Ctrl+Shift+F12 exec scrot -s -f -o "/tmp/image.png" && xclip -selection clipboard -t image/png -i /tmp/image.png
# Shortcuts
bindsym $aux+g exec loffice ~/Documents/Gastos/Gastos.xlsx
bindsym $aux+g exec loffice ~/Documents/Gastos/Gastos.ods
bindsym $aux+b exec loffice ~/Documents/Gastos/BTC.ods
bindsym $aux+l exec lollypop
@ -246,8 +249,10 @@ assign [class="Telegram"] $ws4
assign [class="Keybase"] $ws4
assign [class="Ferdi"] $ws4
assign [class="Signal"] $ws4
assign [class="SchildiChat"] $ws4
assign [class="Evolution"] $ws5
assign [class="Thunderbird"] $ws5
assign [class="Mailspring"] $ws5
assign [class="Liferea"] $ws5
for_window [class = "Spotify"] move to workspace $ws6
assign [class="Lollypop"] $ws6
@ -267,10 +272,11 @@ for_window [urgent=latest] focus
# Autostarts
exec --no-startup-id sleep 20; exec /usr/bin/thunderbird
# exec --no-startup-id exec /usr/bin/mailspring
exec --no-startup-id exec /usr/bin/nextcloud --background
# exec --no-startup-id exec /usr/bin/evolution
# exec_always --no-startup-id .config/conky/start.sh
exec --no-startup-id exec /usr/bin/emacs
exec --no-startup-id exec emacsclient -c -a emacs
exec --no-startup-id exec /usr/bin/brave
exec --no-startup-id sleep 5; exec $terminal
exec --no-startup-id sleep 10; exec nitrogen --restore
@ -285,6 +291,9 @@ exec --no-startup-id /usr/lib/xfce4/notifyd/xfce4-notifyd
exec_always --no-startup-id autotiling
exec --no-startup-id xinput set-prop 14 345 1
exec --no-startup-id exec /usr/bin/keepassxc
exec --no-startup-id exec /usr/bin/joplin-desktop
exec --no-startup-id exec /usr/bin/play-with-mpv
exec --no-startup-id exec "~/.config/i3/connect-speakers.sh"
# Random scripts
## Generate a random password and copy it to the clipboard

View File

@ -5,6 +5,11 @@
# |_| \___/ \__, |___/ https://git.rogs.me
# |___/
#
keepassxc --lock
if pidof openvpn; then
notify-send "Shutting down VPN"
pkexec --user root killall openvpn
fi
scrot /tmp/screen.png
xwobf -s 11 /tmp/screen.png
i3lock -i /tmp/screen.png

View File

@ -1,9 +1,14 @@
[xin_0]
file=/home/roger/.wallpapers/U5b0g3t.jpg
file=/home/roger/.wallpapers/santorini2.jpg
mode=5
bgcolor=#000000
[xin_1]
file=/home/roger/.wallpapers/Hl3nrDB.jpg
file=/home/roger/.wallpapers/athens.jpg
mode=5
bgcolor=#000000
[xin_2]
file=/home/roger/.wallpapers/santorini.jpg
mode=5
bgcolor=#000000

View File

@ -1,6 +1,6 @@
[geometry]
posx=2035
posy=82
posx=115
posy=86
sizex=1570
sizey=900

View File

@ -35,8 +35,7 @@ font-4 = FontAwesome:size=10;0
font-5 = Noto Color Emoji:scale=12;0
modules-left = i3 music
modules-center = xwindow
modules-right = crypto pulseaudio xkeyboard cpu memory wireless-network mullvad-status battery clock
; tray-position = right
modules-right = pulseaudio xkeyboard cpu memory wireless-network mullvad-status battery clock
[module/i3]

View File

@ -9,7 +9,6 @@
* User: rogs
* Copyright: Roger Gonzalez
*/
* {
selected-normal-foreground: rgba ( 51, 51, 51, 100 % );
foreground: #75D85A;
@ -20,16 +19,16 @@
blue: rgba ( 38, 139, 210, 100 % );
urgent-foreground: rgba ( 255, 153, 153, 100 % );
alternate-urgent-background: rgba ( 255, 255, 255, 7 % );
active-foreground: #498C3A;
active-foreground: #118200;
lightbg: rgba ( 238, 232, 213, 100 % );
selected-active-foreground: rgba ( 51, 51, 51, 100 % );
alternate-active-background: rgba ( 255, 255, 255, 7 % );
background: #000000;
background: #118200;
bordercolor: rgba ( 17, 170, 170, 100 % );
alternate-normal-foreground: @foreground;
normal-background: rgba ( 0, 0, 0, 0 % );
normal-background: #5fb34c;
lightfg: rgba ( 88, 104, 117, 100 % );
selected-normal-background: #41D315;
selected-normal-background: #74ff00;
border-color: @foreground;
spacing: 2;
separatorcolor: rgba ( 17, 170, 170, 100 % );
@ -39,7 +38,8 @@
background-color: rgba ( 0, 0, 0, 0 % );
alternate-active-foreground: @active-foreground;
active-background: rgba ( 0, 0, 0, 0 % );
selected-active-background: #41D315;
active-background: #41D315;
selected-active-background: #74ff00;
}
#window {
background-color: @background;
@ -94,7 +94,7 @@
background-color: @selected-active-background;
text-color: @selected-active-foreground;
}
#element.alternate.normal {
#element alternate.normal {
background-color: @alternate-normal-background;
text-color: @alternate-normal-foreground;
}

View File

@ -9,6 +9,13 @@
(setq user-full-name "Roger Gonzalez"
user-mail-address "roger@rogs.me")
;; Add custom packages
(add-to-list 'load-path "~/.doom.d/custom-packages")
;; Load custom packages
(require 'screenshot)
(require 'ox-slack)
;; Doom exposes five (optional) variables for controlling fonts in Doom. Here
;; are the three important ones:
;;
@ -22,9 +29,12 @@
;; (setq doom-font (font-spec :family "monospace" :size 12 :weight 'semi-light)
;; doom-variable-pitch-font (font-spec :family "sans" :size 13))
(setq doom-font (font-spec :family "Mononoki Nerd Font" :size 14)
;; (setq doom-font (font-spec :family "Mononoki Nerd Font" :size 14)
;; doom-variable-pitch-font (font-spec :family "sans")
;; doom-big-font (font-spec :family "Mononoki Nerd Font" :size 24))
(setq doom-font (font-spec :family "MesloLGS NF" :size 14)
doom-variable-pitch-font (font-spec :family "sans")
doom-big-font (font-spec :family "Mononoki Nerd Font" :size 24))
doom-big-font (font-spec :family "MesloLGS NF" :size 24))
;; There are two ways to load a theme. Both assume the theme is installed and
;; available. You can either set `doom-theme' or manually load a theme with the
@ -35,7 +45,11 @@
(custom-set-faces!
'(font-lock-comment-face :slant italic)
'(font-lock-keyword-face :slant italic))
(setq doom-theme 'doom-oceanic-next)
(setq doom-theme 'doom-badger) ;; obscuro, chulo
;; (setq doom-theme 'doom-oceanic-next) ;; primero original
;; (setq doom-theme 'doom-henna) ;; mucho verde + rojo. tambien ta bueno
;; (setq doom-theme 'doom-moonlight) ;; mucho morado. no esta mal
;; (setq doom-theme 'doom-tomorrow-night) ;; parecido a badger, sin integracion con ORG
;; 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!
@ -116,21 +130,29 @@
(setq org-agenda-include-diary t)
;; Logs
(setq org-log-state-notes-insert-after-drawers nil
org-log-into-drawer t
org-log-into-drawer "LOGBOOK"
org-log-done 'time
org-log-repeat 'time
org-log-redeadline 'note
org-log-reschedule 'note)
;; Keyword and faces
(setq-default org-todo-keywords
'((sequence "TODO(t!)" "IN_PROGRESS(i!)" "WAIT(w@/!)" "SOMEDAY(s!)" "|" "DONE(d@/!)" "CANCELLED(c@/!)")))
'((sequence "REPEAT(r)" "NEXT(n@/!)" "DELEGATED(e@/!)" "TODO(t@/!)" "WAITING(w@/!)" "SOMEDAY(s@/!)" "PROJ(p)" "|" "DONE(d@)" "CANCELLED(c@/!)" "FORWARDED(f@)")))
(setq-default org-todo-keyword-faces
'(( "TODO" . (:foreground "white" :background "darkorchid4" :weight bold))
( "IN_PROGRESS" . (:background "deeppink3" :weight bold))
( "WAIT" (:background "red" :weight bold))
'(
( "REPEAT" . (:foreground "white" :background "indigo" :weight bold))
( "NEXT" . (:foreground "red" :background "orange" :weight bold))
( "DELEGATED" . (:foreground "white" :background "blue" :weight bold))
( "TODO" . (:foreground "white" :background "violet" :weight bold))
( "WAITING" (:foreground "white" :background "#A9BE00" :weight bold))
( "SOMEDAY" . (:foreground "white" :background "#00807E" :weight bold))
( "PROJ" . (:foreground "white" :background "deeppink3" :weight bold))
( "DONE" . (:foreground "white" :background "forest green" :weight bold))
( "CANCELLED" . (:foreground "light gray" :slant italic))))
( "CANCELLED" . (:foreground "light gray" :slant italic))
( "FORWARDED" . (:foreground "light gray" :slant italic))
))
(setq org-fontify-done-headline t)
(setq org-fontify-todo-headline t)
;; Priorities
;; A: Do it now
;; B: Decide when to do it
@ -143,36 +165,176 @@
(?B . (:foreground "white" :background "dark green" :weight bold))
(?C . (:foreground "yellow"))
(?D . (:foreground "gray"))))
;; Capture templates
(setq org-capture-templates
(quote
(
;; Personal templates
("p" "Templates for personal")
("pr" "Non-scheduled" entry
(file+headline "~/org/personal.org" "Captured")
(file "~/org/templates/basic-task.txt"))
("ps" "Scheduled" entry
(file+headline "~/org/personal.org" "Captured")
(file "~/org/templates/scheduled-task.txt"))
("pl" "Logbook entry for Personal" entry (file+olp+datetree "logbook-personal.org") "** %U - %^{Tags}\n%?")
;; Lazer templates
("l" "Templates for Lazer")
("lc" "Templates for Certn")
("lct" "Tasks" entry
(file+headline "~/org/Tarmac/Volition/volition.org" "Captured")
(file "~/org/templates/basic-task.txt"))
("lcs" "Spike" entry (file certn/new-spike) (file "~/org/templates/spike.txt"))
("lcl" "Logbook entry for Certn" entry (file+olp+datetree "~/org/Lazer/Certn/logbook-certn.org") "** %U - %^{Tags}\n%?")
("ll" "Logbook entry for Lazer" entry (file+olp+datetree "~/org/Lazer/logbook-lazer.org") "** %U - %^{Tags}\n%?")
("G" "Define a goal" entry (file+headline "~/org/capture.org" "Capture") (file "~/org/templates/goal.org"))
("R" "REPEAT entry" entry (file+headline "~/org/capture.org" "Capture") (file "~/org/templates/repeat.org"))
("N" "NEXT entry" entry (file+headline "~/org/capture.org" "Capture") (file "~/org/templates/next.org"))
("T" "TODO entry" entry (file+headline "~/org/capture.org" "Capture") (file "~/org/templates/todo.org"))
("W" "WAITING entry" entry (file+headline "~/org/capture.org" "Capture") (file "~/org/templates/waiting.org"))
("S" "SOMEDAY entry" entry (file+headline "~/org/capture.org" "Capture") (file "~/org/templates/someday.org"))
("P" "PROJ entry" entry (file+headline "~/org/capture.org" "Capture") (file "~/org/templates/proj.org"))
("B" "Book on the to-read-list" entry (file+headline "~/org/private.org" "Libros para leer") (file "~/org/templates/book.org"))
("p" "Create a daily plan")
("pP" "Daily plan private" plain (file+olp+datetree "~/org/plan-free.org") (file "~/org/templates/dailyplan.org") :immediate-finish t)
("pW" "Daily plan work" plain (file+olp+datetree "~/org/plan-work.org") (file "~/org/templates/dailyplan.org") :immediate-finish t)
("j" "Journal entry")
("jP" "Journal entry private private" entry (file+olp+datetree "~/org/journal-private.org") "** %U - %^{Heading}")
("jW" "Journal entry work " entry (file+olp+datetree "~/org/journal-work.org") "** %U - %^{Heading}")
("d" "Create a deployment")
("dF" "Deploy features" plain (file+olp+datetree "~/org/deploy-features.org") (file "~/org/templates/deployment.org"))
("dB" "Deploy bugs" plain (file+olp+datetree "~/org/deploy-bugs.org") (file "~/org/templates/deployment.org"))
)))
;; Custom agenda views
(setq org-agenda-custom-commands
(quote
(
("A" . "Agendas")
("AT" "Daily overview"
((tags-todo "URGENT"
((org-agenda-overriding-header "Urgent Tasks")))
(tags-todo "RADAR"
((org-agenda-overriding-header "On my radar")))
(tags-todo "PHONE+TODO=\"NEXT\""
((org-agenda-overriding-header "Phone Calls")))
(tags-todo "COMPANY"
((org-agenda-overriding-header "Cuquitoni")))
(tags-todo "SHOPPING"
((org-agenda-overriding-header "Shopping")))
(tags-todo "Depth=\"Deep\"/NEXT"
((org-agenda-overriding-header "Next Actions requiring deep work")))
(agenda ""
((org-agenda-overriding-header "Today")
(org-agenda-span 1)
(org-agenda-start-day "1d")
(org-agenda-sorting-strategy
(quote
(time-up priority-down)))))
nil nil))
("AW" "Weekly overview" agenda ""
((org-agenda-overriding-header "Weekly overview")))
("AM" "Monthly overview" agenda ""
((org-agenda-overriding-header "Monthly overview"))
(org-agenda-span
(quote month))
(org-deadline-warning-days 0)
(org-agenda-sorting-strategy
(quote
(time-up priority-down tag-up))))
("W" . "Weekly Review Helper")
("Wn" "New tasks" tags "NEW"
((org-agenda-overriding-header "NEW Tasks")))
("Wd" "Check DELEGATED tasks" todo "DELEGATED"
((org-agenda-overriding-header "DELEGATED tasks")))
("Ww" "Check WAITING tasks" todo "WAITING"
((org-agenda-overriding-header "WAITING tasks")))
("Ws" "Check SOMEDAY tasks" todo "SOMEDAY"
((org-agenda-overriding-header "SOMEDAY tasks")))
("Wf" "Check finished tasks" todo "DONE|CANCELLED|FORWARDED"
((org-agenda-overriding-header "Finished tasks")))
("WP" "Planing ToDos (unscheduled) only" todo "TODO|NEXT"
((org-agenda-overriding-header "To plan")
(org-agenda-skip-function
(quote
(org-agenda-skip-entry-if
(quote scheduled)
(quote deadline)))))))
))
;;
;; Enforce ordered tasks
(setq org-enforce-todo-dependencies t)
(setq org-enforce-todo-checkbox-dependencies t)
(require 'org-bullets)
(add-hook 'org-mode-hook (lambda () (org-bullets-mode 1))))
(setq org-track-ordered-property-with-tag t)
;; Org bullets
(require 'org-bullets)
(add-hook 'org-mode-hook (lambda () (org-bullets-mode 1)))
;; Org recur
(use-package org-recur
:hook ((org-mode . org-recur-mode)
(org-agenda-mode . org-recur-agenda-mode))
:demand t
:config
(define-key org-recur-mode-map (kbd "C-c d") 'org-recur-finish)
;; Rebind the 'd' key in org-agenda (default: `org-agenda-day-view').
(define-key org-recur-agenda-mode-map (kbd "C-c d") 'org-recur-finish)
(define-key org-recur-agenda-mode-map (kbd "C-c 0") 'org-recur-schedule-today)
(setq org-recur-finish-done t
org-recur-finish-archive t))
;; Truncate lines to 105 chars
;; Why 105 chars? Because that's the max my screen can handle on vertical split
(add-hook 'org-mode-hook #'auto-fill-mode)
(setq-default fill-column 105)
;; Custom ORG functions
;; Refresh org-agenda after rescheduling a task.
(defun org-agenda-refresh ()
"Refresh all `org-agenda' buffers."
(dolist (buffer (buffer-list))
(with-current-buffer buffer
(when (derived-mode-p 'org-agenda-mode)
(org-agenda-maybe-redo)))))
(defadvice org-schedule (after refresh-agenda activate)
"Refresh org-agenda."
(org-agenda-refresh))
(defun org-focus-private() "Set focus on private things."
(interactive)
(setq org-agenda-files '("~/org/private.org")))
(defun org-focus-work() "Set focus on work things."
(interactive)
(setq org-agenda-files '("~/org/work.org")))
(defun org-focus-all() "Set focus on all things."
(interactive)
(setq org-agenda-files '("~/org/")))
(defun my/org-add-ids-to-headlines-in-file ()
"Add ID properties to all headlines in the current file which
do not already have one."
(interactive)
(org-map-entries 'org-id-get-create))
(add-hook 'org-mode-hook
(lambda ()
(add-hook 'before-save-hook
'my/org-add-ids-to-headlines-in-file nil 'local)))
(defun my/copy-idlink-to-clipboard() "Copy an ID link with the
headline to killring, if no ID is there then create a new unique
ID. This function works only in org-mode or org-agenda buffers.
The purpose of this function is to easily construct id:-links to
org-mode items. If its assigned to a key it saves you marking the
text and copying to the killring."
(interactive)
(when (eq major-mode 'org-agenda-mode) ;if we are in agenda mode we switch to orgmode
(org-agenda-show)
(org-agenda-goto))
(when (eq major-mode 'org-mode) ; do this only in org-mode buffers
(setq mytmphead (nth 4 (org-heading-components)))
(setq mytmpid (funcall 'org-id-get-create))
(setq mytmplink (format "[[id:%s][%s]]" mytmpid mytmphead))
(kill-new mytmplink)
(message "Copied %s to killring (clipboard)" mytmplink)
))
(global-set-key (kbd "<f5>") 'my/copy-idlink-to-clipboard)
(defun org-reset-checkbox-state-maybe ()
"Reset all checkboxes in an entry if the `RESET_CHECK_BOXES' property is set"
(interactive "*")
(if (org-entry-get (point) "RESET_CHECK_BOXES")
(org-reset-checkbox-state-subtree)))
(defun org-checklist ()
(when (member org-state org-done-keywords) ;; org-state dynamically bound in org.el/org-todo
(org-reset-checkbox-state-maybe)))
(add-hook 'org-after-todo-state-change-hook 'org-checklist))
;; My own menu
(map! :leader
@ -211,3 +373,20 @@
(let ((name (read-string "Ticket: ")))
(expand-file-name (format "%s.org" name) "~/org/Lazer/Certn/Spikes")))
;; Dashboard mode
(use-package dashboard
:init ;; tweak dashboard config before loading it
(setq dashboard-set-heading-icons t)
(setq dashboard-set-file-icons t)
(setq dashboard-center-content nil) ;; set to 't' for centered content
(setq dashboard-items '((recents . 5)
(agenda . 5)
(bookmarks . 5)
(projects . 5)))
(setq dashboard-set-navigator t)
:config
(dashboard-setup-startup-hook)
(dashboard-modify-heading-icons '((recents . "file-text")
(bookmarks . "book"))))
(setq initial-buffer-choice (lambda () (get-buffer-create "*dashboard*")))
(setq doom-fallback-buffer-name "*dashboard*")

View File

@ -4,8 +4,8 @@
;; in. Remember to run 'doom sync' after modifying it!
;; NOTE Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's
;; documentation. There you'll find a "Module Index" link where you'll find
;; a comprehensive list of Doom's modules and what flags they support.
;; documentation. There you'll find a link to Doom's Module Index where all
;; of our modules are listed, including what flags they support.
;; NOTE Move your cursor over a module's name (or its flags) and press 'K' (or
;; 'C-c c k' for non-vim users) to view its documentation. This works on
@ -15,36 +15,36 @@
;; directory (for easy access to its source code).
(doom! :input
;;bidi ; (tfel ot) thgir etirw uoy gnipleh
;;chinese
;;japanese
;;layout ; auie,ctsrnm is the superior home row
:completion
company ; the ultimate code completion backend
;;helm ; the *other* search engine for love and life
helm ; the *other* search engine for love and life
;;ido ; the other *other* search engine...
ivy ; a search engine for love and life
vertico
;; vertico ; the search engine of the future
:ui
;;deft ; notational velocity for Emacs
doom ; what makes DOOM look the way it does
doom-dashboard ; a nifty splash screen for Emacs
;;doom-dashboard ; a nifty splash screen for Emacs
doom-quit ; DOOM quit-message prompts when you quit Emacs
(emoji +unicode) ; 🙂
;;fill-column ; a `fill-column' indicator
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
;;hydra
indent-guides ; highlighted indent columns
;;ligatures ; ligatures and symbols to make your code pretty again
;;minimap ; show a map of the code on the side
minimap ; show a map of the code on the side
modeline ; snazzy, Atom-inspired modeline, plus API
;;nav-flash ; blink cursor line after big motions
neotree ; a project drawer, like NERDTree for vim
nav-flash ; blink cursor line after big motions
;;neotree ; a project drawer, like NERDTree for vim
ophints ; highlight the region an operation acts on
(popup +defaults) ; tame sudden yet inevitable temporary windows
;;tabs ; a tab bar for Emacs
;;treemacs ; a project drawer, like neotree but cooler
treemacs ; a project drawer, like neotree but cooler
;;unicode ; extended unicode support for various languages
vc-gutter ; vcs diff in the fringe
vi-tilde-fringe ; fringe tildes to mark beyond EOB
@ -67,9 +67,9 @@
;;word-wrap ; soft wrapping with language-aware indent
:emacs
dired ; making dired pretty [functional]
(dired +icons) ; making dired pretty [functional]
electric ; smarter, keyword-based electric-indent
;;ibuffer ; interactive buffer management
(ibuffer +icons) ; interactive buffer management
undo ; persistent, smarter undo for your inevitable mistakes
vc ; version-control and Emacs, sitting in a tree
@ -86,6 +86,7 @@
:tools
;;ansible
;;biblio ; Writes a PhD for you (citation needed)
debugger ; FIXME stepping through code, to help you add bugs
;;direnv
docker
@ -94,8 +95,8 @@
(eval +overlay) ; run code, run (also, repls)
;;gist ; interacting with github gists
lookup ; navigate your code and its documentation
;;lsp
(magit +forge) ; a git porcelain for Emacs
;;lsp ; M-x vscode
(magit +forge) ; a git porcelain for Emacs
make ; run make tasks from Emacs
;;pass ; password manager for nerds
;;pdf ; pdf enhancements
@ -104,6 +105,7 @@
;;taskrunner ; taskrunner for all your projects
terraform ; infrastructure as code
;;tmux ; an API for interacting with tmux
;;tree-sitter ; syntax and parsing, sitting in a tree...
;;upload ; map local to remote projects via ssh/ftp
:os
@ -113,7 +115,7 @@
:lang
;;agda ; types of types of types of types...
;;beancount ; mind the GAAP
;;cc ; C > C++ == 1
;;(cc +lsp) ; C > C++ == 1
;;clojure ; java with a lisp
;;common-lisp ; if you've seen one lisp, you've seen them all
;;coq ; proofs-as-programs
@ -121,6 +123,7 @@
;;csharp ; unity, .NET, and mono shenanigans
;;data ; config/data formats
;;(dart +flutter) ; paint ui and not much else
;;dhall
;;elixir ; erlang done right
;;elm ; care for a cup of TEA?
emacs-lisp ; drown in parentheses
@ -128,15 +131,17 @@
;;ess ; emacs speaks statistics
;;factor
;;faust ; dsp, but you get to keep your soul
;;fortran ; in FORTRAN, GOD is REAL (unless declared INTEGER)
;;fsharp ; ML stands for Microsoft's Language
;;fstar ; (dependent) types and (monadic) effects and Z3
;;gdscript ; the language you waited for
;;(go +lsp) ; the hipster dialect
;;(haskell +dante) ; a language that's lazier than I am
;;(graphql +lsp) ; Give queries a REST
;;(haskell +lsp) ; a language that's lazier than I am
;;hy ; readability of scheme w/ speed of python
;;idris ; a language you can depend on
;;json ; At least it ain't XML
;;(java +meghanada) ; the poster child for carpal tunnel syndrome
json ; At least it ain't XML
;;(java +lsp) ; the poster child for carpal tunnel syndrome
javascript ; all(hope(abandon(ye(who(enter(here))))))
;;julia ; a better, faster MATLAB
;;kotlin ; a better, slicker Java(Script)
@ -148,7 +153,7 @@
;;nim ; python + lisp at the speed of c
;;nix ; I hereby declare "nix geht mehr!"
;;ocaml ; an objective camel
(org +hugo) ; organize your plain life in plain text
(org +hugo) ; organize your plain life in plain text
;;php ; perl's insecure younger brother
;;plantuml ; diagrams for confusing people more
;;purescript ; javascript, but functional
@ -167,12 +172,12 @@
;;solidity ; do you need a blockchain? No.
;;swift ; who asked for emoji variables?
;;terra ; Earth and Moon in alignment for performance.
web ; the tubes
yaml ; JSON, but readable
web ; the tubes
yaml ; JSON, but readable
;;zig ; C, but simpler
:email
;;(mu4e +gmail)
;;(mu4e +org +gmail)
;;notmuch
;;(wanderlust +gmail)

View File

@ -54,4 +54,10 @@
(package! idle-highlight-mode)
(package! symbol-overlay)
(package! elpy)
(package! groovy-mode)
(package! org-recur)
(package! ox-gfm)
(package! ox-clip)
(package! dashboard)
;; (package! lsp-python-ms :disable t)