Compare commits

..

No commits in common. "13ec6ed6003fcea66abf490f7bae4f1f4f39dc13" and "cbf1e4e8e22a41af7f15e5290169b8659100d0ae" have entirely different histories.

17 changed files with 90 additions and 127 deletions

1
.gitignore vendored
View file

@ -40,4 +40,3 @@ colorscheme.yml
# taskwarrior # taskwarrior
taskwarrior/.config/task/task-sync.rc taskwarrior/.config/task/task-sync.rc
taskwarrior/.config/task/contexts

View file

@ -10,33 +10,19 @@ export XDG_CONFIG_HOME=${XDG_CONFIG_HOME:-"$HOME/.config"}
# load global sh env vars # load global sh env vars
[ -f "$XDG_CONFIG_HOME/sh/env" ] && source "$XDG_CONFIG_HOME/sh/env" [ -f "$XDG_CONFIG_HOME/sh/env" ] && source "$XDG_CONFIG_HOME/sh/env"
if [ -d "$XDG_CONFIG_HOME/sh/env.d" ]; then if [ -d "$XDG_CONFIG_HOME/sh/env.d" ]; then
for _env in "$XDG_CONFIG_HOME/sh/env.d"/*.sh; do for _env in "$XDG_CONFIG_HOME/sh/env.d"/*.sh; do
. "$_env" . "$_env"
done done
unset _env unset _env
fi
[ -f "$XDG_CONFIG_HOME/bash/env" ] && source "$XDG_CONFIG_HOME/bash/env"
if [ -d "$XDG_CONFIG_HOME/bash/env.d" ]; then
for _env in "$XDG_CONFIG_HOME/bash/env.d"/*.sh; do
. "$_env"
done
unset _env
fi fi
# load profile files vars # load profile files vars
[ -f "$XDG_CONFIG_HOME/sh/profile" ] && source "$XDG_CONFIG_HOME/sh/profile" [ -f "$XDG_CONFIG_HOME/sh/profile" ] && source "$XDG_CONFIG_HOME/sh/profile"
if [ -d "$XDG_CONFIG_HOME/sh/profile.d" ]; then if [ -d "$XDG_CONFIG_HOME/sh/profile.d" ]; then
for _profile in "$XDG_CONFIG_HOME/sh/profile.d"/*.sh; do for _profile in "$XDG_CONFIG_HOME/sh/profile.d"/*.sh; do
. "$_profile" . "$_profile"
done done
unset _profile unset _profile
fi
[ -f "$XDG_CONFIG_HOME/bash/profile" ] && source "$XDG_CONFIG_HOME/bash/profile"
if [ -d "$XDG_CONFIG_HOME/bash/profile.d" ]; then
for _profile in "$XDG_CONFIG_HOME/bash/profile.d"/*.sh; do
. "$_profile"
done
unset _profile
fi fi
# shellcheck disable=SC1090 # shellcheck disable=SC1090

View file

@ -1,4 +1,3 @@
#!/usr/bin/env bash
# #
# ~/.bashrc # ~/.bashrc
# #

View file

@ -1,6 +0,0 @@
#!/usr/bin/env bash
export HISTFILE="${XDG_STATE_HOME}/bash/history"
# bashrc, bash_profile, bash_logout currently unsupported
# see https://savannah.gnu.org/support/?108134

View file

@ -61,14 +61,7 @@ set sort = threads
set sort_re # thread based on regex below set sort_re # thread based on regex below
set reply_regex = "^(([Rr][Ee]?(\[[0-9]+\])?: *)?(\[[^]]+\] *)?)*" set reply_regex = "^(([Rr][Ee]?(\[[0-9]+\])?: *)?(\[[^]]+\] *)?)*"
set quote_regex = "^( {0,4}[>|:#%]| {0,4}[A-Za-z0-9]+[>|]+)+" set quote_regex = "^( {0,4}[>|:#%]| {0,4}[A-Za-z0-9]+[>|]+)+"
set sort_aux = last-date-received set sort_aux = reverse-last-date-received
#### Thread ordering
set use_threads=reverse
set sort='last-date'
set collapse_all = yes
set uncollapse_new = no
set thread_received = yes
set narrow_tree=no
# set date_format = "%z/%m/%d %I:%M%p" # set date_format = "%z/%m/%d %I:%M%p"
# set date_format = "%m/%d" # set date_format = "%m/%d"
# set index_format = "%4C [%Z] %{%y/%b %d} %-20.20F %s" # set index_format = "%4C [%Z] %{%y/%b %d} %-20.20F %s"
@ -95,6 +88,13 @@ set menu_scroll = yes
set tilde # show tildes for blank lines set tilde # show tildes for blank lines
unset markers # no + markers for wrapped stuff unset markers # no + markers for wrapped stuff
set wrap = 90 set wrap = 90
#### Thread ordering
set use_threads=reverse
set sort='last-date'
set collapse_all = yes
set uncollapse_new = no
set thread_received = yes
set narrow_tree=no
# hide headers except for those explicitly unignored # hide headers except for those explicitly unignored
ignore * ignore *
unignore From To Cc Bcc Date Subject Message-ID unignore From To Cc Bcc Date Subject Message-ID

View file

@ -1,5 +1,6 @@
-- many ideas for this config come from -- much of this config comes from
-- https://github.com/elianiva/dotfiles/ - with much gratitude -- https://github.com/elianiva/dotfiles/ - with much gratitude
local augroup = require("helpers.augroup")
local api = vim.api local api = vim.api
require('settings') require('settings')
@ -8,28 +9,34 @@ require('look')
require('maps') require('maps')
-- Highlight whatever is being yanked -- Highlight whatever is being yanked
vim.api.nvim_create_autocmd({ "TextYankPost" }, { augroup({
command = 'silent! lua require"vim.highlight".on_yank{timeout=500}', {
desc = "Highlight yanked text whenevery yanking something", 'TextYankPost', '*',
group = vim.api.nvim_create_augroup('highlightyanks', { clear = true }), 'silent! lua require"vim.highlight".on_yank{timeout=500}'
}) }
}, 'highlightyanks')
-- Compile on plugin edits
augroup({{'BufWritePost', 'plugins.lua', 'PackerCompile'}}, 'compilepackages')
-- Special setting for editing gopass files - make sure nothing leaks outside the directories it is supposed to -- Special setting for editing gopass files - make sure nothing leaks outside the directories it is supposed to
vim.api.nvim_create_autocmd({ "BufNewFile", "BufRead" }, { augroup({
pattern = { "/dev/shm/gopass.*", "/dev/shm/pass.?*/?*.txt", "$TMPDIR/pass.?*/?*.txt", "/tmp/pass.?*/?*.txt" }, {
command = 'setlocal noswapfile nobackup noundofile nowritebackup viminfo=', 'BufNewFile,BufRead', '/dev/shm/gopass.*',
desc = "Don't leak any information when editing potential password files", 'setlocal noswapfile nobackup noundofile nowritebackup viminfo='
group = vim.api.nvim_create_augroup('passnoleak', { clear = true }), }, {
}) 'BufNewFile,BufRead', '/dev/shm/pass.?*/?*.txt',
'setlocal noswapfile nobackup noundofile nowritebackup viminfo='
api.nvim_exec('runtime abbrev.vim', false) }, {
'BufNewFile,BufRead', '$TMPDIR/pass.?*/?*.txt',
'setlocal noswapfile nobackup noundofile nowritebackup viminfo='
}, {
'BufNewFile,BufRead', '/tmp/pass.?*/?*.txt',
'setlocal noswapfile nobackup noundofile nowritebackup viminfo='
}
}, 'passnoleak')
-- fixing neovim opening up at same moment as alacritty (see https://github.com/neovim/neovim/issues/11330) -- fixing neovim opening up at same moment as alacritty (see https://github.com/neovim/neovim/issues/11330)
vim.api.nvim_create_autocmd({ "VimEnter" }, { augroup({{'VimEnter', '*', 'silent exec "!kill -s SIGWINCH $PPID"'}}, 'fixsize')
callback = function()
local pid, WINCH = vim.fn.getpid(), vim.loop.constants.SIGWINCH api.nvim_exec('runtime abbrev.vim', false)
vim.defer_fn(function() vim.loop.kill(pid, WINCH) end, 20)
end,
desc = "Fix neovim sizing issues if opening same time as alacritty",
group = vim.api.nvim_create_augroup('alacritty_fixsize', { clear = true }),
})

View file

@ -54,12 +54,9 @@ local formatters = {
require('formatter').setup({logging = false, filetype = formatters}) require('formatter').setup({logging = false, filetype = formatters})
-- Format on save:
-- gather filetypes to autocorrect for each activated formatter above -- gather filetypes to autocorrect for each activated formatter above
for k, _ in pairs(formatters) do local filetype = ""
vim.api.nvim_create_autocmd({"Filetype " .. k}, { for k, _ in pairs(formatters) do filetype = filetype .. "," .. k end
command = "autocmd BufWritePost <buffer> FormatWrite", augroup({
desc = "Automatically format on write", {'FileType', filetype, 'autocmd', 'BufWritePost', '<buffer>', 'FormatWrite'}
group = vim.api.nvim_create_augroup('formatonsave', {clear = true}) }, 'formatonsave')
})
end

View file

@ -2,16 +2,15 @@ local install_path = vim.fn.stdpath("data") .. "/pack/packer/start/packer.nvim"
if vim.fn.empty(vim.fn.glob(install_path)) > 0 then if vim.fn.empty(vim.fn.glob(install_path)) > 0 then
vim.cmd("!git clone https://github.com/wbthomason/packer.nvim " .. vim.cmd("!git clone https://github.com/wbthomason/packer.nvim " ..
install_path) install_path)
end end
-- Compile on plugin edits vim.api.nvim_exec([[
vim.api.nvim_create_autocmd({ "BufWritePost" }, { augroup Packer
pattern = "plugins.lua", autocmd!
command = "PackerCompile", autocmd BufWritePost plugins.lua PackerCompile
desc = "Compile plugins after editing plugin list", augroup END
group = vim.api.nvim_create_augroup('compilepackages', { clear = true }) ]], false)
})
local use = require("packer").use local use = require("packer").use
require("packer").startup(function() require("packer").startup(function()

View file

@ -14,6 +14,9 @@ c.aliases["add-shaarli"] = "spawn --userscript shaarli_add.sh"
# re-opens the current page on the web archive overview page # re-opens the current page on the web archive overview page
c.aliases["send-to-archive"] = "open https://web.archive.org/web/{url}" c.aliases["send-to-archive"] = "open https://web.archive.org/web/{url}"
# sends current page to outline and thus through readability mode
c.aliases["send-to-outline"] = "open https://outline.com/{url}"
# save current page to pdf file # save current page to pdf file
c.aliases["save_to_pdf"] = "spawn --userscript pagetopdf.sh" c.aliases["save_to_pdf"] = "spawn --userscript pagetopdf.sh"

View file

@ -68,6 +68,7 @@ config.bind(";w", "hint links userscript wallabag_add.sh") # add link to wallab
config.bind('"s', "add-shaarli", mode="normal") config.bind('"s', "add-shaarli", mode="normal")
config.bind('"a', "send-to-archive", mode="normal") config.bind('"a', "send-to-archive", mode="normal")
config.bind('"o', "send-to-outline", mode="normal")
config.bind('"t', "translate-page-google", mode="normal") config.bind('"t', "translate-page-google", mode="normal")
config.bind('"T', "translate-selection-google", mode="normal") config.bind('"T', "translate-selection-google", mode="normal")

View file

@ -24,12 +24,12 @@ alias :q="exit"
# ls defaults # ls defaults
if exist exa; then if exist exa; then
alias l="exa -l --git --git-ignore --group-directories-first" alias l="exa -l --git --git-ignore"
alias L="exa -hal --grid --git --group-directories-first" alias L="exa -hal --grid --git"
# a recursive tree # a recursive tree
# - usually want to change levels recursed with -L2 -L3 or similar # - usually want to change levels recursed with -L2 -L3 or similar
alias ll="exa --tree -L2 --group-directories-first" alias ll="exa --tree -L2"
alias LL="exa -a --tree -L2 --group-directories-first" alias LL="exa -a --tree -L2"
else else
alias l="ls -lhF" alias l="ls -lhF"
alias L="ls -lAhF" alias L="ls -lAhF"

View file

@ -6,6 +6,9 @@
# shellcheck source=xdg # shellcheck source=xdg
[ -f ~/.config/sh/xdg ] && . ~/.config/sh/xdg [ -f ~/.config/sh/xdg ] && . ~/.config/sh/xdg
# anything on BIN_HOME should be executable form anywhere
export PATH="$PATH:$XDG_BIN_HOME"
############################### ###############################
## BEGIN GLOBAL ENV VARS ## ## BEGIN GLOBAL ENV VARS ##
############################### ###############################

View file

@ -18,12 +18,12 @@
test "$XDG_CACHE_HOME" || export XDG_CACHE_HOME="$HOME/.cache" test "$XDG_CACHE_HOME" || export XDG_CACHE_HOME="$HOME/.cache"
test "$XDG_CONFIG_HOME" || export XDG_CONFIG_HOME="$HOME/.config" test "$XDG_CONFIG_HOME" || export XDG_CONFIG_HOME="$HOME/.config"
test "$XDG_DATA_HOME" || export XDG_DATA_HOME="$HOME/.local/share" test "$XDG_DATA_HOME" || export XDG_DATA_HOME="$HOME/.local/share"
test "$XDG_STATE_HOME" || export XDG_STATE_HOME="$HOME/.local/state"
# Desktop environment XDG variables - mimics `xdg-user-dirs` settings, only lowercased and not localized # Desktop environment XDG variables - mimics `xdg-user-dirs` settings, only lowercased and not localized
test "$XDG_DESKTOP_DIR" || export XDG_DESKTOP_DIR="$HOME/desktop" test "$XDG_DESKTOP_DIR" || export XDG_DESKTOP_DIR="$HOME/desktop"
test "$XDG_DOCUMENTS_DIR" || export XDG_DOCUMENTS_DIR="$HOME/documents" test "$XDG_DOCUMENTS_DIR" || export XDG_DOCUMENTS_DIR="$HOME/documents"
test "$XDG_DOWNLOAD_DIR" || export XDG_DOWNLOAD_DIR="$HOME/downloads" test "$XDG_DOWNLOAD_DIR" || export XDG_DOWNLOAD_DIR="$HOME/downloads"
test "$XDG_PROJECTS_DIR" || export XDG_PROJECTS_DIR="$HOME/projects"
export XDG_MUSIC_DIR="$HOME/media/audio/music" export XDG_MUSIC_DIR="$HOME/media/audio/music"
export XDG_PICTURES_DIR="$HOME/pictures" export XDG_PICTURES_DIR="$HOME/pictures"
@ -31,10 +31,7 @@ export XDG_VIDEOS_DIR="$HOME/videos"
## Non-Standard additions ## Non-Standard additions
# non-standard, is added to path to enable execution of any files herein # non-standard, is added to path to enable execution of any files herein
test "$XDG_PROJECTS_DIR" || export XDG_PROJECTS_DIR="$HOME/projects"
test "$XDG_BIN_HOME" || export XDG_BIN_HOME="$HOME/.local/bin" test "$XDG_BIN_HOME" || export XDG_BIN_HOME="$HOME/.local/bin"
# anything on BIN_HOME should be executable form anywhere
export PATH="$PATH:$XDG_BIN_HOME"
xdg_isThere() { xdg_isThere() {
if [ -e "$1" ] || [ -h "$1" ]; then if [ -e "$1" ] || [ -h "$1" ]; then
@ -67,31 +64,6 @@ xdg_isThere "$XDG_PROJECTS_DIR" || xdg_makeForUser "$XDG_PROJECTS_DIR"
unset -f xdg_isThere xdg_makeForUser unset -f xdg_isThere xdg_makeForUser
## Applications that can be set through environment variables ## Applications that can be set through environment variables
export ANDROID_HOME="$XDG_DATA_HOME/android"
export ATOM_HOME="$XDG_DATA_HOME/atom"
export CARGO_HOME="$XDG_DATA_HOME/cargo"
export DOCKER_CONFIG="$XDG_CONFIG_HOME/docker"
export GEM_HOME="$XDG_DATA_HOME/gem"
export GEM_SPEC_CACHE="$XDG_CACHE_HOME/gem"
export GNUPGHOME="$XDG_DATA_HOME/gnupg"
export GRADLE_USER_HOME="$XDG_DATA_HOME/gradle"
export GRIPHOME="$XDG_CONFIG_HOME/grip"
export IMAPFILTER_HOME="$XDG_CONFIG_HOME/imapfilter"
export IPYTHONDIR="$XDG_CONFIG_HOME/ipython"
export KDEHOME="$XDG_CONFIG_HOME/kde"
export KODI_DATA="$XDG_DATA_HOME/kodi"
export LESSHISTFILE="XDG_STATE_HOME/lesshst"
export MPLAYER_HOME="$XDG_CONFIG_HOME/mplayer"
export NODE_REPL_HISTORY="$XDG_STATE_HOME/node_repl_history"
export NVM_DIR="$XDG_DATA_HOME/nvm" export NVM_DIR="$XDG_DATA_HOME/nvm"
export PYTHONSTARTUP="$XDG_CONFIG_HOME/python/pythonrc"
export SQLITE_HISTORY="$XDG_STATE_HOME/sqlite_history"
export TEXMFVAR="$XDG_CACHE_HOME/texlive/texmf-var"
export TMUX_PLUGIN_MANAGER_PATH="$XDG_DATA_HOME/tmux" export TMUX_PLUGIN_MANAGER_PATH="$XDG_DATA_HOME/tmux"
export VAGRANT_HOME="$XDG_DATA_HOME/vagrant"
export WINEPREFIX="$XDG_DATA_HOME/wine"
export ZDOTDIR="$XDG_CONFIG_HOME/zsh" export ZDOTDIR="$XDG_CONFIG_HOME/zsh"
export _JAVA_OPTIONS=-Djava.util.prefs.userRoot="$XDG_CONFIG_HOME"/java
alias yarn='yarn --use-yarnrc "$XDG_CONFIG_HOME/yarn/config"'
alias wget='wget --hsts-file="$XDG_STATE_HOME/wget-hsts"'

View file

@ -4,7 +4,7 @@ path_ext = /usr/share/taskopen/scripts
[Actions] [Actions]
notes.regex = "Note" notes.regex = "Note"
notes.command = "$EDITOR ${XDG_DATA_HOME:-~/.local/share}/task/notes/$UUID.md" notes.command = "$EDITOR ${XDG_DATA_HOME:-~/.local/share}/task/notes/$UUID.txt"
[CLI] [CLI]

View file

@ -60,12 +60,6 @@ urgency.annotations.coefficient=0
urgency.user.tag.maybe.coefficient=-100.0 urgency.user.tag.maybe.coefficient=-100.0
urgency.user.tag.next.coefficient=5.0 urgency.user.tag.next.coefficient=5.0
# things that are blocking simply have to be done before
# being able to do the blocked thing. This ensures that.
urgency.blocked.coefficient=0.0
urgency.blocking.coefficient=0.0
urgency.inherit=1
# Holidays for calendar # Holidays for calendar
include /usr/share/doc/task/rc/holidays.de-DE.rc include /usr/share/doc/task/rc/holidays.de-DE.rc
@ -75,9 +69,6 @@ include colorscheme
# Taskserver sync settings # Taskserver sync settings
include task-sync.rc include task-sync.rc
# My personal tw contexts (e.g. work/personal)
include contexts
# try to fix some color weirdness, especially in tmux # try to fix some color weirdness, especially in tmux
# color.scheduled=on grey # color.scheduled=on grey
@ -91,4 +82,8 @@ report._reviewed.columns=uuid
report._reviewed.sort=reviewed+,modified+ report._reviewed.sort=reviewed+,modified+
report._reviewed.filter=( reviewed.none: or reviewed.before:now-6days ) and ( +PENDING or +WAITING ) report._reviewed.filter=( reviewed.none: or reviewed.before:now-6days ) and ( +PENDING or +WAITING )
# different life contexts
context.arbeit.read=project:arbeit
context.arbeit.write=project:arbeit
context.personal.read=project.hasnt:arbeit
news.version=2.6.0 news.version=2.6.0

View file

@ -21,7 +21,6 @@ compinit
PLUG_FOLDER="/usr/share/zsh/plugins" PLUG_FOLDER="/usr/share/zsh/plugins"
source /usr/share/oh-my-zsh/plugins/colored-man-pages/colored-man-pages.plugin.zsh source /usr/share/oh-my-zsh/plugins/colored-man-pages/colored-man-pages.plugin.zsh
source /usr/share/oh-my-zsh/plugins/command-not-found/command-not-found.plugin.zsh source /usr/share/oh-my-zsh/plugins/command-not-found/command-not-found.plugin.zsh
source /usr/share/fzf/key-bindings.zsh
#source /usr/share/nvm/init-nvm.sh #source /usr/share/nvm/init-nvm.sh
[ -e $PLUG_FOLDER/fzf-tab/fzf-tab.plugin.zsh ] && source $PLUG_FOLDER/fzf-tab/fzf-tab.plugin.zsh [ -e $PLUG_FOLDER/fzf-tab/fzf-tab.plugin.zsh ] && source $PLUG_FOLDER/fzf-tab/fzf-tab.plugin.zsh
# these need to be sourced after fzf-tab # these need to be sourced after fzf-tab
@ -31,12 +30,21 @@ source /usr/share/fzf/key-bindings.zsh
unset PLUG_FOLDER unset PLUG_FOLDER
# simple fzf-tab settings # simple fzf-tab settings
zstyle ":fzf-tab:*" fzf-flags "--ansi" "--expect='$continuous_trigger,$print_query'" "--color=hl:$(($#headers == 0 ? 108 : 255))" "--nth=2,3" "--layout=reverse" "--height=${FZF_TMUX_HEIGHT:-75%}" "--tiebreak=begin" "-m" "--bind=tab:down,btab:up,change:top,ctrl-space:toggle" "--cycle" "--query=$query" "--header-lines=$#headers" "--print-query" FZF_TAB_COMMAND=(
fzf
zstyle ':fzf-tab:*' fzf-command fzf --ansi # Enable ANSI color support, necessary for showing groups
--expect='$continuous_trigger,$print_query' # For continuous completion and print query
'--color=hl:$(( $#headers == 0 ? 108 : 255 ))'
--nth=2,3 --delimiter='\x00' # Don't search prefix
--layout=reverse --height='${FZF_TMUX_HEIGHT:=75%}'
--tiebreak=begin -m --bind=tab:down,btab:up,change:top,ctrl-space:toggle --cycle
'--query=$query' # $query will be expanded to query string at runtime.
'--header-lines=$#headers' # $#headers will be expanded to lines of headers at runtime
--print-query
)
zstyle ':fzf-tab:*' command $FZF_TAB_COMMAND
# format colorful groups for different completion actions # format colorful groups for different completion actions
zstyle ':completion:*:descriptions' format '[%d]' zstyle ':completion:*:descriptions' format '[%d]'
zstyle ':fzf-tab:*' show-group brief
# use input as query string when completing zlua # use input as query string when completing zlua
zstyle ':fzf-tab:complete:_zlua:*' query-string input zstyle ':fzf-tab:complete:_zlua:*' query-string input
# (experimental, may change in the future) # (experimental, may change in the future)
@ -163,14 +171,14 @@ bindkey '^P' history-beginning-search-backward
bindkey '^N' history-beginning-search-forward bindkey '^N' history-beginning-search-forward
# search history backwards <c-r> # search history backwards <c-r>
bindkey '^o' history-incremental-search-backward bindkey '^r' history-incremental-search-backward
# cycle through history results # cycle through history results
bindkey -M isearch '^P' history-incremental-search-backward bindkey -M isearch '^P' history-incremental-search-backward
bindkey -M isearch '^N' history-incremental-search-forward bindkey -M isearch '^N' history-incremental-search-forward
# Send command to editor and back for execution # Send command to editor and back for execution
zle -N edit-command-line zle -N edit-command-line
bindkey '^e' edit-command-line bindkey -M vicmd '^e' edit-command-line
# Deduplicate PATH - remove any duplicate entries from PATH # Deduplicate PATH - remove any duplicate entries from PATH
# from: https://unix.stackexchange.com/questions/40749/remove-duplicate-path-entries-with-awk-command # from: https://unix.stackexchange.com/questions/40749/remove-duplicate-path-entries-with-awk-command

View file

@ -3,4 +3,4 @@
# make zsh source the correct directory # make zsh source the correct directory
export XDG_CONFIG_HOME=${XDG_CONFIG_HOME:-"$HOME/.config"} export XDG_CONFIG_HOME=${XDG_CONFIG_HOME:-"$HOME/.config"}
ZDOTDIR="${XDG_CONFIG_HOME:-"$HOME/.config"}/zsh" ZDOTDIR="$XDG_CONFIG_HOME/zsh"