commit ab8524da1b9eace21c2f2b7d158bfd8fb4a8a684 parent 93c5d7d9b3a623c5e5025c359a4eb614fac91727 Author: Pablo Cárdenas <pablo.cardenas@imca.edu.pe> Date: Wed, 4 May 2022 11:20:07 -0500 XDG Base Directory! Diffstat:
49 files changed, 422 insertions(+), 239 deletions(-)
diff --git a/home/.bash/aliases.bash b/home/.bash/aliases.bash @@ -1,9 +0,0 @@ -# system -alias egrep='egrep --color=auto' -alias fgrep='fgrep --color=auto' -alias grep='grep --color=auto' -alias la='ls -A' -alias ll='ls -alFh' -alias ls='ls --color=auto' -alias tree='tree -C' -alias diff='diff --color=auto' diff --git a/home/.bash/env.bash b/home/.bash/env.bash @@ -1,4 +0,0 @@ -export EDITOR=vim -export PAGER=less -export LANG=en_US.UTF-8 -export BROWSER=elinks diff --git a/home/.bash_profile b/home/.bash_profile @@ -1,10 +1,28 @@ -source ~/.bash/env.bash +export EDITOR=vim +export PAGER=less +export LANG=en_US.UTF-8 +export BROWSER=elinks + +export XDG_CONFIG_HOME="$HOME/.config" +export XDG_CACHE_HOME="$HOME/.cache" +export XDG_DATA_HOME="$HOME/.local/share" +export XDG_STATE_HOME="$HOME/.local/state" # Add local bin directories to PATH. [ -d $HOME/.bin ] && PATH="$PATH:$HOME/.bin" [ -d $HOME/.local/bin ] && PATH="$PATH:$HOME/.local/bin" -[ -d $HOME/.node_modules/bin ] && PATH="$PATH:$HOME/.node_modules/bin" -export npm_config_prefix=~/.node_modules +[ -d $XDG_DATA_HOME/npm/bin ] && PATH="$PATH:$XDG_DATA_HOME/npm/bin/" + +export ELINKS_CONFDIR="$XDG_CONFIG_HOME"/elinks +export GNUPGHOME="$XDG_DATA_HOME"/gnupg +export MAXIMA_USERDIR="$XDG_CONFIG_HOME"/maxima +export NPM_CONFIG_USERCONFIG=$XDG_CONFIG_HOME/npm/npmrc +export PASSWORD_STORE_DIR="$XDG_DATA_HOME"/pass +export PYTHONSTARTUP=$XDG_CONFIG_HOME/python/pythonstartup.py +export XAUTHORITY="$XDG_RUNTIME_DIR"/Xauthority +export XINITRC="$XDG_CONFIG_HOME"/X11/xinitrc +export XSERVERRC="$XDG_CONFIG_HOME"/X11/xserverrc +export RANDFILE="$XDG_RUNTIME_DIR"/rnd source ~/.bashrc diff --git a/home/.bashrc b/home/.bashrc @@ -17,14 +17,10 @@ fi LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 -source ~/.bash/aliases.bash -for f in ~/.bash/local.d/*.bash; do - if [ -x $f ]; then source $f; fi -done # Para clases -#export PS1='\[\033[01;31m\]\W $\[\033[00m\] ' +#PS1='\[\033[01;31m\]\W $\[\033[00m\] ' LESS=-R LESS_TERMCAP_mb=$'\E[1;31m' # begin blink @@ -35,10 +31,19 @@ LESS_TERMCAP_se=$'\E[0m' # reset reverse video LESS_TERMCAP_us=$'\E[1;32m' # begin underline LESS_TERMCAP_ue=$'\E[0m' # reset underline -PYTHONSTARTUP=${HOME}/.pythonrc.py +mkdir -p "$XDG_STATE_HOME"/bash +HISTFILE="$XDG_STATE_HOME"/bash/history +source $XDG_CONFIG_HOME/shell/aliases.bash [ -f /usr/share/git/completion/git-prompt.sh ] && source /usr/share/git/completion/git-prompt.sh #export GIT_PS1_SHOWCOLORHINTS=1 #export GIT_PS1_SHOWDIRTYSTATE=1 PS1='[\u@\h \W] $(__git_ps1) \$ ' + +echo '$HOME' `ls $HOME -A | wc -l` +ls $HOME +echo +echo '$XDG_CONFIG_HOME' `ls $XDG_CONFIG_HOME -A | wc -l` +ls $XDG_CONFIG_HOME +echo diff --git a/home/.bin/imca b/home/.bin/imca @@ -1,70 +0,0 @@ -#!/bin/bash - -mkdir -p ~/Development/imca -cd ~/Development/imca - -# Clone repositories -[ -d flask_imca ] || git clone git@gitlab.com:pablo-cardenas/flask_imca.git flask_imca -[ -d webpack-imca ] || git clone git@gitlab.com:pablo-cardenas/webpack-imca.git webpack-imca - -pushd flask_imca; pre-commit install; popd -pushd webpack-imca; pre-commit install; popd - -# pre-build webpack-imca -if [ ! -d webpack-imca/node_modules ]; then - pushd webpack-imca - npm install - popd -fi -[ -f webpack-imca/src/img/IMCA.woff ] || fontforge -c 'open("webpack-imca/src/img/IMCA.sfd").generate("webpack-imca/src/img/IMCA.woff")' - -# pre-build flask_imca -mkdir -p flask_imca/src/instance -[ -f flask_imca/src/instance/config.py ] || scp pcardenasb.com:/srv/http/flask_imca/venv/var/flask_imca-instance/config.py flask_imca/src/instance/ -[ -d flask_imca/src/instance/media ] || scp -r pcardenasb.com:/srv/http/flask_imca/venv/var/flask_imca-instance/media flask_imca/src/instance/ - -if [ ! -d flask_imca/venv ]; then - virtualenv flask_imca/venv - source flask_imca/venv/bin/activate - pip install flake8 black tox - pip install pytest - pip install mypy types-Markdown types-python-slugify sqlalchemy[mypy] - pip install pre-commit - pip install mysqlclient - pip install -e ./flask_imca - - pybabel compile -d flask_imca/src/flask_imca/translations - deactivate -fi - -if ! tmux has-session -t imca; then - tmux new-session -s imca -n main -d - - tmux split-window -h -t imca -c flask_imca - tmux split-window -h -t imca -c webpack-imca - tmux select-layout -t imca main-vertical - - tmux send-keys -t imca:0.0 'source venv/bin/activate' C-m - tmux send-keys -t imca:0.0 'vim -S ~/.vim/session/imca.vim' C-m - - tmux send-keys -t imca:0.1 'source venv/bin/activate' C-m - tmux send-keys -t imca:0.1 'export FLASK_ENV=development' C-m - tmux send-keys -t imca:0.1 'export FLASK_APP=flask_imca' C-m - command -v firefox-developer-edition >/dev/null 2>&1 && tmux send-keys -t imca:0.1 'sleep 6s && firefox-developer-edition 127.0.0.1:5000 &' C-m - command -v firefox >/dev/null 2>&1 && tmux send-keys -t imca:0.1 'sleep 6s && firefox 127.0.0.1:5000 &' C-m - tmux send-keys -t imca:0.1 'flask run --host 0.0.0.0' C-m - - tmux send-keys -t imca:0.2 'npm run watch' C-m - - tmux new-window -c flask_imca -n venv - tmux send-keys -t imca:1.0 'source venv/bin/activate' C-m - tmux send-keys -t imca:1.0 'export FLASK_ENV=development' C-m - tmux send-keys -t imca:1.0 'export FLASK_APP=flask_imca' C-m - - tmux new-window -c flask_imca/src/instance -n instance - - tmux select-window -t imca:0 - tmux select-pane -t imca:0.0 -fi - -tmux attach -t imca diff --git a/home/.bin/pcardenasb b/home/.bin/pcardenasb @@ -1,22 +0,0 @@ -tmux new-session -s pcardenasb -c ~/Development/pcardenasb -n main -d - -tmux split-window -h -t pcardenasb -c ~/Development/pcardenasb -tmux split-window -h -t pcardenasb -c ~/Development/pcardenasb -tmux select-layout -t pcardenasb main-vertical - -tmux send-keys -t pcardenasb:0.0 'vim -S ~/.vim/session/pcardenasb.vim' C-m - -tmux send-keys -t pcardenasb:0.1 'source venv/bin/activate' C-m -tmux send-keys -t pcardenasb:0.1 'export FLASK_ENV=development' C-m -tmux send-keys -t pcardenasb:0.1 'export FLASK_APP=pcardenasb' C-m -tmux send-keys -t pcardenasb:0.1 'sleep 2s && firefox-developer-edition 127.0.0.1:5000 &' C-m -tmux send-keys -t pcardenasb:0.1 'flask run --host 0.0.0.0' C-m - -tmux send-keys -t pcardenasb:0.2 'source venv/bin/activate' C-m -tmux send-keys -t pcardenasb:0.2 'export FLASK_APP=pcardenasb' C-m -tmux send-keys -t pcardenasb:0.2 'flask webpack run watch &' C-m -tmux send-keys -t pcardenasb:0.2 'find src/pcardenasb/webpack | entr -c flask webpack create' C-m - -tmux select-pane -t pcardenasb:0.0 - -tmux attach -t pcardenasb diff --git a/home/.clang-format b/home/.clang-format @@ -1,2 +0,0 @@ -BasedOnStyle: Mozilla -IndentWidth: 4 diff --git a/home/.editorconfig b/home/.editorconfig @@ -43,3 +43,7 @@ indent_size = 2 [*.{json,yml,yaml,toml}] indent_style = space indent_size = 2 + +[*.mail] +trim_trailing_whitespace = false + diff --git a/home/.octaverc b/home/.octaverc @@ -1,3 +0,0 @@ -edit mode sync -edit home . -EDITOR('vim > /dev/tty 2>&1 < /dev/tty %s') diff --git a/linux/.Xresources b/linux/.Xresources @@ -1,2 +0,0 @@ -#include ".Xresources.d/colors" -#include ".Xresources.d/rxvt-unicode" diff --git a/linux/.config/X11/Xresources b/linux/.config/X11/Xresources @@ -0,0 +1,2 @@ +#include "Xresources.d/colors" +#include "Xresources.d/rxvt-unicode" diff --git a/linux/.Xresources.d/colors b/linux/.config/X11/Xresources.d/colors diff --git a/linux/.Xresources.d/rxvt-unicode b/linux/.config/X11/Xresources.d/rxvt-unicode diff --git a/linux/.Xresources.d/themes/my-nord.xresources b/linux/.config/X11/Xresources.d/themes/my-nord.xresources diff --git a/linux/.config/X11/xinitrc b/linux/.config/X11/xinitrc @@ -0,0 +1,46 @@ +#!/bin/sh + +# merge in defaults and keymaps +userresources=$XDG_CONFIG_HOME/X11/Xresources +usermodmap=$HOME/.Xmodmap +sysresources=/etc/X11/xinit/Xresources +sysmodmap=/etc/X11/xinit/Xmodmap +[[ -f $sysresources ]] && xrdb -merge $sysresources +[[ -f $sysmodmap ]] && xmodmap $sysmodmap +[[ -f $userresources ]] && xrdb -merge "$userresources" +[[ -f $usermodmap ]] && xmodmap "$usermodmap" + +# start some nice programs +if [ -d /etc/X11/xinit/xinitrc.d ] ; then + for f in /etc/X11/xinit/xinitrc.d/?* ; do + [ -x "$f" ] && . "$f" + done + unset f +fi + +xset r rate 600 15 +[[ -d /usr/share/fonts/terminus ]] && xset +fp /usr/share/fonts/terminus +udiskie & +dunst & +redshift & +xset -b & +xset s 600 60 +xss-lock -- i3lock -n & +setxkbmap -rules evdev -model evdev -layout us -variant altgr-intl + +xrandr --output VGA1 --auto +xrandr --output HDMI-0 --auto --right-of VGA1 +xrandr --setmonitor SECONDARY "1280/364x720/208+0+0" VGA1 +xrandr --setmonitor PRIMARY "1920/520x1080/290+1440+0" HDMI-0 + +command -v picom >/dev/null 2>&1 && picom --experimental-backends -b +command -v feh >/dev/null 2>&1 && feh --bg-scale /usr/share/backgrounds/archlinux/reflected.jpg + +echo holaaa + +session=${1:-i3} +case $session in + i3|i3wm ) exec i3;; + openbox ) exec openbox-session;; + * ) exec $1;; +esac diff --git a/linux/.config/X11/xserverrc b/linux/.config/X11/xserverrc @@ -0,0 +1,2 @@ +#!/bin/sh +exec /usr/bin/X -nolisten tcp "$@" -keeptty > ~/.Xorg.log 2>&1 diff --git a/home/.elinks/.gitignore b/linux/.config/elinks/.gitignore diff --git a/home/.elinks/bookmarks b/linux/.config/elinks/bookmarks diff --git a/home/.elinks/elinks.conf b/linux/.config/elinks/elinks.conf diff --git a/linux/.config/elinks/searchhist b/linux/.config/elinks/searchhist @@ -0,0 +1 @@ +xinit diff --git a/linux/.fonts.conf b/linux/.config/fontconfig/font.conf diff --git a/home/.gitconfig b/linux/.config/git/config diff --git a/linux/.config/gtk-3.0/bookmarks b/linux/.config/gtk-3.0/bookmarks @@ -0,0 +1,3 @@ +file:///home/pablo/Documents +file:///home/pablo/Downloads +file:///tmp diff --git a/linux/.config/gtk-3.0/settings.ini b/linux/.config/gtk-3.0/settings.ini @@ -2,3 +2,4 @@ gtk-icon-theme-name = Adwaita gtk-theme-name = Adwaita gtk-font-name = DejaVu Sans 8 +gtk-application-prefer-dark-theme = true diff --git a/linux/.config/hooks b/linux/.config/hooks @@ -0,0 +1,6 @@ +#!/bin/sh +case $1 in +period-changed) + exec notify-send "Redshift" "Period changed to $3" + ;; +esac diff --git a/linux/.config/isync/mbsyncrc b/linux/.config/isync/mbsyncrc @@ -0,0 +1,114 @@ +######################### +# pablocb2303@gmail.com # +######################### + +IMAPAccount pablocb2303@gmail.com +Host imap.gmail.com +User pablocb2303@gmail.com +AuthMechs XOAUTH2 +PassCmd "$XDG_CONFIG_HOME/mutt/mutt_oauth2.py $XDG_CONFIG_HOME/mutt/tokens/pablocb2303@gmail.com.gpg" +SSLType IMAPS +CertificateFile /etc/ssl/certs/ca-certificates.crt + +IMAPStore pablocb2303@gmail.com-remote +Account pablocb2303@gmail.com + +MaildirStore pablocb2303@gmail.com-local +SubFolders Verbatim +Path ~/.local/share/mail/pablocb2303@gmail.com/ +Inbox ~/.local/share/mail/pablocb2303@gmail.com/Inbox + +Channel pablocb2303@gmail.com +Far :pablocb2303@gmail.com-remote: +Near :pablocb2303@gmail.com-local: +Patterns * +Create Both +Expunge Both +SyncState * + + +##################### +# pcardenasb@uni.pe # +##################### + +IMAPAccount pcardenasb@uni.pe +Host imap.gmail.com +User pcardenasb@uni.pe +AuthMechs XOAUTH2 +PassCmd "$XDG_CONFIG_HOME/mutt/mutt_oauth2.py $XDG_CONFIG_HOME/mutt/tokens/pcardenasb@uni.pe.gpg" +SSLType IMAPS +CertificateFile /etc/ssl/certs/ca-certificates.crt + +IMAPStore pcardenasb@uni.pe-remote +Account pcardenasb@uni.pe + +MaildirStore pcardenasb@uni.pe-local +SubFolders Verbatim +Path ~/.local/share/mail/pcardenasb@uni.pe/ +Inbox ~/.local/share/mail/pcardenasb@uni.pe/Inbox + +Channel pcardenasb@uni.pe +Far :pcardenasb@uni.pe-remote: +Near :pcardenasb@uni.pe-local: +Patterns * +Create Both +Expunge Both +SyncState * + + +######################### +# pcardenasb@uni.edu.pe # +######################### + +IMAPAccount pcardenasb@uni.edu.pe +Host imap.gmail.com +User pcardenasb@uni.edu.pe +AuthMechs XOAUTH2 +PassCmd "$XDG_CONFIG_HOME/mutt/mutt_oauth2.py $XDG_CONFIG_HOME/mutt/tokens/pcardenasb@uni.edu.pe.gpg" +SSLType IMAPS +CertificateFile /etc/ssl/certs/ca-certificates.crt + +IMAPStore pcardenasb@uni.edu.pe-remote +Account pcardenasb@uni.edu.pe + +MaildirStore pcardenasb@uni.edu.pe-local +SubFolders Verbatim +Path ~/.local/share/mail/pcardenasb@uni.edu.pe/ +Inbox ~/.local/share/mail/pcardenasb@uni.edu.pe/Inbox + +Channel pcardenasb@uni.edu.pe +Far :pcardenasb@uni.edu.pe-remote: +Near :pcardenasb@uni.edu.pe-local: +Patterns * +Create Both +Expunge Both +SyncState * + + +############################## +# pablo.cardenas@imca.edu.pe # +############################## + +IMAPAccount pablo.cardenas@imca.edu.pe +Host imap.gmail.com +User pablo.cardenas@imca.edu.pe +AuthMechs XOAUTH2 +PassCmd "$XDG_CONFIG_HOME/mutt/mutt_oauth2.py $XDG_CONFIG_HOME/mutt/tokens/pablo.cardenas@imca.edu.pe.gpg" +SSLType IMAPS +CertificateFile /etc/ssl/certs/ca-certificates.crt + +IMAPStore pablo.cardenas@imca.edu.pe-remote +Account pablo.cardenas@imca.edu.pe + +MaildirStore pablo.cardenas@imca.edu.pe-local +SubFolders Verbatim +Path ~/.local/share/mail/pablo.cardenas@imca.edu.pe/ +Inbox ~/.local/share/mail/pablo.cardenas@imca.edu.pe/Inbox + +Channel pablo.cardenas@imca.edu.pe +Far :pablo.cardenas@imca.edu.pe-remote: +Near :pablo.cardenas@imca.edu.pe-local: +Patterns * +Create Both +Expunge Both +SyncState * diff --git a/linux/.config/khard/khard.conf b/linux/.config/khard/khard.conf @@ -0,0 +1,47 @@ +[addressbooks] +[[default]] +path = $XDG_DATA_HOME/khard/contacts/default/ + +[general] +debug = no +default_action = list +# These are either strings or comma seperated lists +editor = vim, -i, NONE +merge_editor = vimdiff + +[contact table] +# display names by first or last name: first_name / last_name / formatted_name +display = first_name +# group by address book: yes / no +group_by_addressbook = no +# reverse table ordering: yes / no +reverse = no +# append nicknames to name column: yes / no +show_nicknames = no +# show uid table column: yes / no +show_uids = yes +# sort by first or last name: first_name / last_name / formatted_name +sort = last_name +# localize dates: yes / no +localize_dates = yes +# set a comma separated list of preferred phone number types in descending priority +# or nothing for non-filtered alphabetical order +preferred_phone_number_type = pref, cell, home +# set a comma separated list of preferred email address types in descending priority +# or nothing for non-filtered alphabetical order +preferred_email_address_type = pref, work, home + +[vcard] +# extend contacts with your own private objects +# these objects are stored with a leading "X-" before the object name in the vcard files +# every object label may only contain letters, digits and the - character +# example: +# private_objects = Jabber, Skype, Twitter +# default: , (the empty list) +private_objects = Jabber, Skype, Twitter +# preferred vcard version: 3.0 / 4.0 +preferred_version = 3.0 +# Look into source vcf files to speed up search queries: yes / no +search_in_source_files = no +# skip unparsable vcard files: yes / no +skip_unparsable = no diff --git a/home/.latexmkrc b/linux/.config/latexmk/latexmkrc diff --git a/linux/.config/mutt/accounts/pablo.cardenas@imca.edu.pe.rc b/linux/.config/mutt/accounts/pablo.cardenas@imca.edu.pe.rc @@ -1,14 +0,0 @@ -# IMAP -set imap_user = "pablo.cardenas@imca.edu.pe" - -set folder = "imaps://${imap_user}@imap.gmail.com/" -set trash = "+[Gmail]/Papelera" -set postponed = "+[Gmail]/Borradores" -mailboxes -label ${imap_user}-INBOX +INBOX - - -# SMPT -set hostname = "imca.edu.pe" - - -source "~/.config/mutt/conf.d/google.rc" diff --git a/linux/.config/mutt/accounts/pablocb2303@gmail.com.rc b/linux/.config/mutt/accounts/pablocb2303@gmail.com.rc @@ -1,14 +0,0 @@ -# IMAP -set imap_user = "pablocb2303@gmail.com" - -set folder = "imaps://${imap_user}@imap.gmail.com/" -set trash = "+[Gmail]/Corbeille" -set postponed = "+[Gmail]/Brouillons" -mailboxes -label ${imap_user}-INBOX +INBOX - - -# SMPT -set hostname = "gmail.com" - - -source "~/.config/mutt/conf.d/google.rc" diff --git a/linux/.config/mutt/accounts/pcardenasb@uni.edu.pe.rc b/linux/.config/mutt/accounts/pcardenasb@uni.edu.pe.rc @@ -1,14 +0,0 @@ -# IMAP -set imap_user = "pcardenasb@uni.edu.pe" - -set folder = "imaps://${imap_user}@imap.gmail.com/" -set trash = "+[Gmail]/Trash" -set postponed = "+[Gmail]/Drafts" -mailboxes -label ${imap_user}-INBOX +INBOX - - -# SMPT -set hostname = "uni.edu.pe" - - -source "~/.config/mutt/conf.d/google.rc" diff --git a/linux/.config/mutt/accounts/pcardenasb@uni.pe.rc b/linux/.config/mutt/accounts/pcardenasb@uni.pe.rc @@ -1,14 +0,0 @@ -# IMAP -set imap_user = "pcardenasb@uni.pe" - -set folder = "imaps://${imap_user}@imap.gmail.com/" -set trash = "+[Gmail]/Trash" -set postponed = "+[Gmail]/Drafts" -mailboxes -label ${imap_user}-INBOX +INBOX - - -# SMPT -set hostname = "uni.pe" - - -source "~/.config/mutt/conf.d/google.rc" diff --git a/linux/.config/mutt/accounts/pablo-cardenas@outlook.com.rc b/linux/.config/mutt/folder-hooks/pablo-cardenas@outlook.com.rc diff --git a/linux/.config/mutt/folder-hooks/pablo.cardenas@imca.edu.pe.rc b/linux/.config/mutt/folder-hooks/pablo.cardenas@imca.edu.pe.rc @@ -0,0 +1,12 @@ +# IMAP +set spoolfile = +INBOX +set trash = "+[Gmail]/Papelera" +set postponed = "+[Gmail]/Borradores" +unset record + +# SMPT +set from = "pablo.cardenas@imca.edu.pe" +set hostname = "imca.edu.pe" +set smtp_url = "smtps://${from}@smtp.gmail.com" +set smtp_authenticators = "oauthbearer:xoauth2" +set smtp_oauth_refresh_command = "~/.config/mutt/mutt_oauth2.py ~/.config/mutt/tokens/${from}.gpg" diff --git a/linux/.config/mutt/folder-hooks/pablocb2303@gmail.com.rc b/linux/.config/mutt/folder-hooks/pablocb2303@gmail.com.rc @@ -0,0 +1,12 @@ +# IMAP +set spoolfile = +INBOX +set trash = "+[Gmail]/Corbeille" +set postponed = "+[Gmail]/Brouillons" +unset record + +# SMPT +set from = "pablocb2303@gmail.com" +set hostname = "gmail.com" +set smtp_url = "smtps://${from}@smtp.gmail.com" +set smtp_authenticators = "oauthbearer:xoauth2" +set smtp_oauth_refresh_command = "~/.config/mutt/mutt_oauth2.py ~/.config/mutt/tokens/${from}.gpg" diff --git a/linux/.config/mutt/folder-hooks/pcardenasb@uni.edu.pe.rc b/linux/.config/mutt/folder-hooks/pcardenasb@uni.edu.pe.rc @@ -0,0 +1,12 @@ +# IMAP +set spoolfile = "+Inbox" +set trash = "+[Gmail]/Trash" +set postponed = "+[Gmail]/Drafts" +unset record + +# SMPT +set from = "pcardenasb@uni.edu.pe" +set hostname = "uni.edu.pe" +set smtp_url = "smtps://${from}@smtp.gmail.com" +set smtp_authenticators = "oauthbearer:xoauth2" +set smtp_oauth_refresh_command = "~/.config/mutt/mutt_oauth2.py ~/.config/mutt/tokens/${from}.gpg" diff --git a/linux/.config/mutt/folder-hooks/pcardenasb@uni.pe.rc b/linux/.config/mutt/folder-hooks/pcardenasb@uni.pe.rc @@ -0,0 +1,12 @@ +# IMAP +set spoolfile = "+Inbox" +set trash = "+[Gmail]/Trash" +set postponed = "+[Gmail]/Drafts" +unset record + +# SMPT +set from = "pcardenasb@uni.pe" +set hostname = "uni.pe" +set smtp_url = "smtps://${from}@smtp.gmail.com" +set smtp_authenticators = "oauthbearer:xoauth2" +set smtp_oauth_refresh_command = "~/.config/mutt/mutt_oauth2.py ~/.config/mutt/tokens/${from}.gpg" diff --git a/linux/.config/mutt/muttrc b/linux/.config/mutt/muttrc @@ -1,12 +1,8 @@ set header_cache = "~/.cache/mutt/" set message_cachedir = "~/.cache/mutt/" -unset folder +set folder = "~/.local/share/mail" unset spoolfile -set imap_keepalive = 300 -unset imap_passive -set mail_check = 60 -set mbox_type = Maildir set signature = ~/.config/mutt/signature.txt set send_charset="utf-8" @@ -27,10 +23,7 @@ set query_command = "khard email --parsable %s" set send_multipart_alternative set send_multipart_alternative_filter = ~/.config/mutt/markdown2html -macro index,pager <f2> '<enter-command>source ~/.config/mutt/accounts/.rc^B^B^B' -macro index,pager <f3> "\ -<enter-command>source ~/.config/mutt/accounts/pablocb2303@gmail.com.rc<enter>\ -<enter-command>source ~/.config/mutt/accounts/pablo.cardenas@imca.edu.pe.rc<enter>\ -<enter-command>source ~/.config/mutt/accounts/pcardenasb@uni.edu.pe.rc<enter>\ -<enter-command>source ~/.config/mutt/accounts/pcardenasb@uni.pe.rc<enter>\ -" +folder-hook .*pablocb2303@gmail.com/ 'source ~/.config/mutt/folder-hooks/pablocb2303@gmail.com.rc' +folder-hook .*pcardenasb@uni.pe/ 'source ~/.config/mutt/folder-hooks/pcardenasb@uni.pe.rc' +folder-hook .*pcardenasb@uni.edu.pe/ 'source ~/.config/mutt/folder-hooks/pcardenasb@uni.edu.pe.rc' +folder-hook .*pablo.cardenas@imca.edu.pe/ 'source ~/.config/mutt/folder-hooks/pablo.cardenas@imca.edu.pe.rc' diff --git a/linux/.config/npm/npmrc b/linux/.config/npm/npmrc @@ -0,0 +1,4 @@ +prefix=${XDG_DATA_HOME}/npm +cache=${XDG_CACHE_HOME}/npm +tmp=${XDG_RUNTIME_DIR}/npm +init-module=${XDG_CONFIG_HOME}/npm/config/npm-init.js diff --git a/linux/.config/polybar/config.ini b/linux/.config/polybar/config.ini @@ -67,7 +67,7 @@ inherit = bar/base bottom = true tray-position = right tray-margin-right = 5 -modules-left = cpu system-nvidia-smi memory filesystem +modules-left = cpu memory filesystem modules-right = battery system-uptime-pretty wired-network wireless-network [bar/secondary-top] @@ -77,7 +77,8 @@ monitor = ${env:SECONDARY_MONITOR:HDMI1} height = 24 inherit = bar/base modules-left = timer -modules-right = taskwarrior date +modules-right = date +#modules-right = taskwarrior date #[bar/secondary-bottom] #monitor = ${env:SECONDARY_MONITOR:HDMI1} @@ -85,7 +86,7 @@ modules-right = taskwarrior date #bottom = true #tray-position = right #tray-margin-right = 5 -#modules-left = cpu system-nvidia-smi memory filesystem +#modules-left = cpu memory filesystem #modules-right = battery system-uptime-pretty wired-network wireless-network [module/xwindow] @@ -347,7 +348,7 @@ interval = 3 [module/rss] type = custom/script exec = ~/.config/polybar/scripts/newsboat.sh -interval = 15 +interval = 30 [settings] screenchange-reload = true diff --git a/linux/.config/polybar/scripts/newsboat.sh b/linux/.config/polybar/scripts/newsboat.sh @@ -5,7 +5,7 @@ do sleep 1s done -if [[ ( -n $(find ~/.newsboat/cache.db -mmin +5) ) || ( ~/.newsboat/cache.db -ot ~/.newsboat/urls ) ]] +if [[ ( -n $(find $XDG_CONFIG_HOME/newsboat/cache.db -mmin +5) ) || ( $XDG_CONFIG_HOME/newsboat/cache.db -ot $XDG_CONFIG_HOME/newsboat/urls ) ]] then newsboat -x reload > /dev/null fi diff --git a/linux/.config/python/pythonstartup.py b/linux/.config/python/pythonstartup.py @@ -0,0 +1,21 @@ +import os +import atexit +import readline + +history = os.path.join( + os.path.expanduser(os.environ["XDG_DATA_HOME"]), + "python", + "python_history", +) +try: + readline.read_history_file(history) +except OSError: + pass + +def write_history(): + try: + readline.write_history_file(history) + except OSError: + pass + +atexit.register(write_history) diff --git a/linux/.config/shell/aliases.bash b/linux/.config/shell/aliases.bash @@ -0,0 +1,7 @@ +# system +alias egrep='egrep --color=auto' +alias fgrep='fgrep --color=auto' +alias grep='grep --color=auto' +alias ls='ls --color=auto -A' +alias tree='tree -C' +alias diff='diff --color=auto' diff --git a/home/.tmux.conf b/linux/.config/tmux/tmux.conf diff --git a/linux/.config/urlview/config b/linux/.config/urlview/config @@ -0,0 +1,2 @@ +REGEXP (((http|https|ftp|gopher)|mailto)[.:][^ >"\t]*|www\.[-a-z0-9.]+)[^ .,;\t>">\):] +COMMAND $BROWSER %s diff --git a/linux/.local/bin/imca b/linux/.local/bin/imca @@ -0,0 +1,71 @@ +#!/bin/bash -v + +mkdir -p ~/Documents/Development/imca +cd ~/Documents/Development/imca + +# Clone repositories +[ -d flask_imca ] || git clone git@gitlab.com:pablo-cardenas/flask_imca.git flask_imca +[ -d webpack-imca ] || git clone git@gitlab.com:pablo-cardenas/webpack-imca.git webpack-imca + +pushd flask_imca; pre-commit install; popd +pushd webpack-imca; pre-commit install; popd + +# pre-build webpack-imca +if [ ! -d webpack-imca/node_modules ]; then + pushd webpack-imca + npm install + popd +fi +[ -f webpack-imca/src/img/IMCA.woff ] || fontforge -c 'open("webpack-imca/src/img/IMCA.sfd").generate("webpack-imca/src/img/IMCA.woff")' + +# pre-build flask_imca +mkdir -p flask_imca/src/instance +[ -f flask_imca/src/instance/config.py ] || scp pcardenasb.com:/srv/http/flask_imca/venv/var/flask_imca-instance/config.py flask_imca/src/instance/ +[ -d flask_imca/src/instance/media ] || scp -r pcardenasb.com:/srv/http/flask_imca/venv/var/flask_imca-instance/media flask_imca/src/instance/ + +if [ ! -d flask_imca/venv ]; then + virtualenv flask_imca/venv + source flask_imca/venv/bin/activate + pip install flake8 black tox + pip install pytest + pip install mypy types-Markdown types-python-slugify sqlalchemy[mypy] + pip install pre-commit + pip install mysqlclient + pip install -e ./flask_imca + + pybabel compile -d flask_imca/src/flask_imca/translations + deactivate +fi + +echo $PWD +if ! tmux has-session -t imca; then + tmux new-session -s imca -n main -d + + tmux split-window -h -t imca -c ~/Documents/Development/imca/flask_imca + tmux split-window -h -t imca -c ~/Documents/Development/imca/webpack-imca + tmux select-layout -t imca main-vertical + + tmux send-keys -t imca:0.0 'source venv/bin/activate' C-m + tmux send-keys -t imca:0.0 'vim -S ~/.vim/session/imca.vim' C-m + + tmux send-keys -t imca:0.1 'source venv/bin/activate' C-m + tmux send-keys -t imca:0.1 'export FLASK_ENV=development' C-m + tmux send-keys -t imca:0.1 'export FLASK_APP=flask_imca' C-m + command -v firefox-developer-edition >/dev/null 2>&1 && tmux send-keys -t imca:0.1 'sleep 6s && firefox-developer-edition 127.0.0.1:5000 &' C-m + command -v firefox >/dev/null 2>&1 && tmux send-keys -t imca:0.1 'sleep 6s && firefox 127.0.0.1:5000 &' C-m + tmux send-keys -t imca:0.1 'flask run --host 0.0.0.0' C-m + + tmux send-keys -t imca:0.2 'npm run watch' C-m + + tmux new-window -c flask_imca -n venv + tmux send-keys -t imca:1.0 'source venv/bin/activate' C-m + tmux send-keys -t imca:1.0 'export FLASK_ENV=development' C-m + tmux send-keys -t imca:1.0 'export FLASK_APP=flask_imca' C-m + + tmux new-window -c flask_imca/src/instance -n instance + + tmux select-window -t imca:0 + tmux select-pane -t imca:0.0 +fi + +tmux attach -t imca diff --git a/home/.bin/monitor_change b/linux/.local/bin/monitor_change diff --git a/home/.bin/wacom_change b/linux/.local/bin/wacom_change diff --git a/linux/.xinitrc b/linux/.xinitrc @@ -1,45 +0,0 @@ -#!/bin/sh - -# merge in defaults and keymaps -userresources=$HOME/.Xresources -usermodmap=$HOME/.Xmodmap -sysresources=/etc/X11/xinit/Xresources -sysmodmap=/etc/X11/xinit/Xmodmap -[[ -f $sysresources ]] && xrdb -merge $sysresources -[[ -f $sysmodmap ]] && xmodmap $sysmodmap -[[ -f $userresources ]] && xrdb -merge "$userresources" -[[ -f $usermodmap ]] && xmodmap "$usermodmap" - -# start some nice programs -if [ -d /etc/X11/xinit/xinitrc.d ] ; then - for f in /etc/X11/xinit/xinitrc.d/?* ; do - [ -x "$f" ] && . "$f" - done - unset f -fi - -xset r rate 600 15 -[[ -d /usr/share/fonts/terminus ]] && xset +fp /usr/share/fonts/terminus -udiskie & -dunst & -redshift & -xset -b & -xset s 600 60 -xss-lock -- i3lock -n -i /usr/share/backgrounds/archlinux/geolanes.png & -setxkbmap -layout us -variant altgr_intl - -xrandr --output VGA1 --auto -xrandr --output HDMI-0 --auto --right-of VGA1 -xrandr --setmonitor SECONDARY "1280/364x720/208+0+0" VGA1 -xrandr --setmonitor PRIMARY "1920/520x1080/290+1440+0" HDMI-0 - -command -v picom >/dev/null 2>&1 && picom --experimental-backends -b -command -v feh >/dev/null 2>&1 && feh --bg-scale /usr/share/backgrounds/archlinux/reflected.jpg - - -session=${1:-i3} -case $session in - i3|i3wm ) exec i3;; - openbox ) exec openbox-session;; - * ) exec $1;; -esac