From bcfb9ab868f2fc249a6820f5df3fe90a15bfd528 Mon Sep 17 00:00:00 2001 From: ma Date: Mon, 29 Mar 2021 19:14:48 +0200 Subject: [PATCH] Add configuration files --- .config/alacritty/alacritty.yml | 86 ++++ .config/git/config | 27 ++ .config/git/ignore | 2 + .config/git/template/hooks/ctags | 8 + .config/git/template/hooks/post-checkout | 2 + .config/git/template/hooks/post-commit | 2 + .config/git/template/hooks/post-merge | 2 + .config/git/template/hooks/post-rewrite | 4 + .config/mimeapps.list | 39 ++ .config/mpd/mpd.conf | 21 + .config/newsboat/config | 55 +++ .config/qutebrowser/config.py | 451 +++++++++++++++++++++ .config/shell/aliasrc | 9 + .config/shell/bm-dirs | 13 + .config/shell/bm-files | 23 ++ .config/shell/env | 70 ++++ .config/shell/inputrc | 19 + .config/shell/profile | 106 +++++ .config/shell/shortcutrc | 29 ++ .config/shell/zshnameddirrc | 12 + .config/user-dirs.dirs | 1 + .config/wal/colorschemes/dark/dracula.json | 25 ++ .config/wal/postrun | 28 ++ .config/wal/templates/dunstrc | 152 +++++++ .config/wal/templates/zathurarc | 34 ++ .config/wget/wgetrc | 1 + .config/x11/xinitrc | 17 + .config/x11/xprofile | 21 + .config/x11/xresources | 156 +++++++ .config/zathura/zathurarc | 1 + .xinitrc | 1 + .xprofile | 1 + .zshenv | 4 + 33 files changed, 1422 insertions(+) create mode 100644 .config/alacritty/alacritty.yml create mode 100644 .config/git/config create mode 100644 .config/git/ignore create mode 100755 .config/git/template/hooks/ctags create mode 100755 .config/git/template/hooks/post-checkout create mode 100755 .config/git/template/hooks/post-commit create mode 100755 .config/git/template/hooks/post-merge create mode 100755 .config/git/template/hooks/post-rewrite create mode 100644 .config/mimeapps.list create mode 100644 .config/mpd/mpd.conf create mode 100644 .config/newsboat/config create mode 100644 .config/qutebrowser/config.py create mode 100644 .config/shell/aliasrc create mode 100644 .config/shell/bm-dirs create mode 100644 .config/shell/bm-files create mode 100644 .config/shell/env create mode 100644 .config/shell/inputrc create mode 100644 .config/shell/profile create mode 100644 .config/shell/shortcutrc create mode 100644 .config/shell/zshnameddirrc create mode 100644 .config/user-dirs.dirs create mode 100644 .config/wal/colorschemes/dark/dracula.json create mode 100755 .config/wal/postrun create mode 100644 .config/wal/templates/dunstrc create mode 100644 .config/wal/templates/zathurarc create mode 100644 .config/wget/wgetrc create mode 100755 .config/x11/xinitrc create mode 100755 .config/x11/xprofile create mode 100644 .config/x11/xresources create mode 120000 .config/zathura/zathurarc create mode 120000 .xinitrc create mode 120000 .xprofile create mode 100644 .zshenv diff --git a/.config/alacritty/alacritty.yml b/.config/alacritty/alacritty.yml new file mode 100644 index 0000000..d5f31c8 --- /dev/null +++ b/.config/alacritty/alacritty.yml @@ -0,0 +1,86 @@ +env: + TERM: xterm-256color + +window: + padding: + x: 10 + y: 4 + +font: + normal: + family: Fira Code Nerd Font + style: Regular + bold: + family: Fira Code Nerd Font + style: Bold + italic: + family: Fira Code Nerd Font + style: Italic + size: 6 + +# shell: +# program: /usr/bin/tmux +# args: +# - -u +# import: +# - ~/.config/alacritty/dracula.yml + +colors: + primary: + background: '0x282a36' + foreground: '0xf8f8f2' + cursor: + text: CellBackground + cursor: CellForeground + vi_mode_cursor: + text: CellBackground + cursor: CellForeground + search: + matches: + foreground: '0x44475a' + background: '0x50fa7b' + focused_match: + foreground: '0x44475a' + background: '0xffb86c' + bar: + background: '0x282a36' + foreground: '0xf8f8f2' + line_indicator: + foreground: None + background: None + selection: + text: CellForeground + background: '0x44475a' + normal: + black: '0x000000' + red: '0xff5555' + green: '0x50fa7b' + yellow: '0xf1fa8c' + blue: '0xbd93f9' + magenta: '0xff79c6' + cyan: '0x8be9fd' + white: '0xbfbfbf' + bright: + black: '0x4d4d4d' + red: '0xff6e67' + green: '0x5af78e' + yellow: '0xf4f99d' + blue: '0xcaa9fa' + magenta: '0xff92d0' + cyan: '0x9aedfe' + white: '0xe6e6e6' + dim: + black: '0x14151b' + red: '0xff2222' + green: '0x1ef956' + yellow: '0xebf85b' + blue: '0x4d5b86' + magenta: '0xff46b0' + cyan: '0x59dffc' + white: '0xe6e6d1' + +background_opacity: 0.9 + +key_bindings: + - { key: Minus, mods: Control, action: DecreaseFontSize } + - { key: Equals, mods: Control, action: IncreaseFontSize } diff --git a/.config/git/config b/.config/git/config new file mode 100644 index 0000000..081ce5b --- /dev/null +++ b/.config/git/config @@ -0,0 +1,27 @@ +[user] + email = ma@beaudet.xyz + name = ma + signingkey = ma@beaudet.xyz +[pull] + rebase = false +[core] + editor = vim + autocrlf = input + excludesdir = ~/.config/git/ignore +[init] + templatedir = ~/.config/git/template + defaultBranch = main +[alias] + ctags = !.git/hooks/ctags + last = log -1 HEAD +[color] + diff = auto + status = auto + branch = auto + interactive = auto +[merge] + summary = true +[diff] + submodule = log +[includeIf "gitdir:~/dev/work"] + path = ~/.config/git/config-work diff --git a/.config/git/ignore b/.config/git/ignore new file mode 100644 index 0000000..60cbbbe --- /dev/null +++ b/.config/git/ignore @@ -0,0 +1,2 @@ +.DS_Store +^tags$ diff --git a/.config/git/template/hooks/ctags b/.config/git/template/hooks/ctags new file mode 100755 index 0000000..6a364af --- /dev/null +++ b/.config/git/template/hooks/ctags @@ -0,0 +1,8 @@ +#!/bin/sh +set -e +PATH="/usr/local/bin:$PATH" +trap 'rm -f "$$.tags"' EXIT +git ls-files | \ + ctags --tag-relative -L - -f"$$.tags" --languages=-javascript,sql +mv "$$.tags" "tags" + diff --git a/.config/git/template/hooks/post-checkout b/.config/git/template/hooks/post-checkout new file mode 100755 index 0000000..84f17ed --- /dev/null +++ b/.config/git/template/hooks/post-checkout @@ -0,0 +1,2 @@ +#!/bin/sh +.git/hooks/ctags >/dev/null 2>&1 & diff --git a/.config/git/template/hooks/post-commit b/.config/git/template/hooks/post-commit new file mode 100755 index 0000000..84f17ed --- /dev/null +++ b/.config/git/template/hooks/post-commit @@ -0,0 +1,2 @@ +#!/bin/sh +.git/hooks/ctags >/dev/null 2>&1 & diff --git a/.config/git/template/hooks/post-merge b/.config/git/template/hooks/post-merge new file mode 100755 index 0000000..84f17ed --- /dev/null +++ b/.config/git/template/hooks/post-merge @@ -0,0 +1,2 @@ +#!/bin/sh +.git/hooks/ctags >/dev/null 2>&1 & diff --git a/.config/git/template/hooks/post-rewrite b/.config/git/template/hooks/post-rewrite new file mode 100755 index 0000000..ea6e25b --- /dev/null +++ b/.config/git/template/hooks/post-rewrite @@ -0,0 +1,4 @@ +#!/bin/sh +case "$1" in + rebase) exec .git/hooks/post-merge ;; +esac diff --git a/.config/mimeapps.list b/.config/mimeapps.list new file mode 100644 index 0000000..2133f4c --- /dev/null +++ b/.config/mimeapps.list @@ -0,0 +1,39 @@ +[Default Applications] +text/x-shellscript=text.desktop; +x-scheme-handler/magnet=torrent.desktop; +application/x-bittorrent=torrent.desktop; +x-scheme-handler/mailto=mail.desktop; +text/plain=text.desktop; +application/postscript=pdf.desktop; +application/pdf=pdf.desktop; +image/png=img.desktop; +image/jpeg=img.desktop; +image/gif=img.desktop; +application/rss+xml=rss.desktop +video/x-matroska=video.desktop +x-scheme-handler/lbry=lbry.desktop +inode/directory=file.desktop +x-scheme-handler/http=firefox.desktop +x-scheme-handler/https=firefox.desktop +x-scheme-handler/ftp=firefox.desktop +x-scheme-handler/chrome=firefox.desktop +text/html=firefox.desktop +application/x-extension-htm=firefox.desktop +application/x-extension-html=firefox.desktop +application/x-extension-shtml=firefox.desktop +application/xhtml+xml=firefox.desktop +application/x-extension-xhtml=firefox.desktop +application/x-extension-xht=firefox.desktop + +[Added Associations] +x-scheme-handler/http=firefox.desktop; +x-scheme-handler/https=firefox.desktop; +x-scheme-handler/ftp=firefox.desktop; +x-scheme-handler/chrome=firefox.desktop; +text/html=firefox.desktop; +application/x-extension-htm=firefox.desktop; +application/x-extension-html=firefox.desktop; +application/x-extension-shtml=firefox.desktop; +application/xhtml+xml=firefox.desktop; +application/x-extension-xhtml=firefox.desktop; +application/x-extension-xht=firefox.desktop; diff --git a/.config/mpd/mpd.conf b/.config/mpd/mpd.conf new file mode 100644 index 0000000..bf329d6 --- /dev/null +++ b/.config/mpd/mpd.conf @@ -0,0 +1,21 @@ +music_directory "~/Music" +playlist_directory "~/.config/mpd/playlists" + +auto_update "yes" +bind_to_address "127.0.0.1" +restore_paused "yes" +max_output_buffer_size "16384" + +audio_output { + type "pulse" + name "pulse" + #type "alsa" + #name "ALSA" +} + +audio_output { + type "fifo" + name "Visualizer feed" + path "/tmp/mpd.fifo" + format "44100:16:2" +} diff --git a/.config/newsboat/config b/.config/newsboat/config new file mode 100644 index 0000000..e917991 --- /dev/null +++ b/.config/newsboat/config @@ -0,0 +1,55 @@ +#show-read-feeds no +auto-reload yes + +external-url-viewer "urlscan -dc -r 'linkhandler {}'" + +bind-key j down +bind-key k up +bind-key j next articlelist +bind-key k prev articlelist +bind-key J next-feed articlelist +bind-key K prev-feed articlelist +bind-key G end +bind-key g home +bind-key d pagedown +bind-key u pageup +bind-key l open +bind-key h quit +bind-key a toggle-article-read +bind-key n next-unread +bind-key N prev-unread +bind-key D pb-download +bind-key U show-urls +bind-key x pb-delete + +color listnormal cyan default +color listfocus black yellow standout bold +color listnormal_unread blue default +color listfocus_unread yellow default bold +color info red black bold +color article white default bold + +browser linkhandler +macro , open-in-browser +macro t set browser "qndl" ; open-in-browser ; set browser linkhandler +macro a set browser "tsp youtube-dl --add-metadata -xic -f bestaudio/best" ; open-in-browser ; set browser linkhandler +macro v set browser "setsid -f mpv" ; open-in-browser ; set browser linkhandler +macro w set browser "lynx" ; open-in-browser ; set browser linkhandler +macro d set browser "dmenuhandler" ; open-in-browser ; set browser linkhandler +macro c set browser "xsel -b <<<" ; open-in-browser ; set browser linkhandler +macro C set browser "youtube-viewer --comments=%u" ; open-in-browser ; set browser linkhandler +macro p set browser "peertubetorrent %u 480" ; open-in-browser ; set browser linkhandler +macro P set browser "peertubetorrent %u 1080" ; open-in-browser ; set browser linkhandler + +highlight all "---.*---" yellow +highlight feedlist ".*(0/0))" black +highlight article "(^Feed:.*|^Title:.*|^Author:.*)" cyan default bold +highlight article "(^Link:.*|^Date:.*)" default default +highlight article "https?://[^ ]+" green default +highlight article "^(Title):.*$" blue default +highlight article "\\[[0-9][0-9]*\\]" magenta default bold +highlight article "\\[image\\ [0-9]+\\]" green default bold +highlight article "\\[embedded flash: [0-9][0-9]*\\]" green default bold +highlight article ":.*\\(link\\)$" cyan default +highlight article ":.*\\(image\\)$" blue default +highlight article ":.*\\(embedded flash\\)$" magenta default diff --git a/.config/qutebrowser/config.py b/.config/qutebrowser/config.py new file mode 100644 index 0000000..e7a515d --- /dev/null +++ b/.config/qutebrowser/config.py @@ -0,0 +1,451 @@ +# Autogenerated config.py +# +# NOTE: config.py is intended for advanced users who are comfortable +# with manually migrating the config file on qutebrowser upgrades. If +# you prefer, you can also configure qutebrowser using the +# :set/:bind/:config-* commands without having to write a config.py +# file. +# +# Documentation: +# qute://help/configuring.html +# qute://help/settings.html + +# Change the argument to True to still load settings configured via autoconfig.yml +config.load_autoconfig(False) + +# Which cookies to accept. With QtWebEngine, this setting also controls +# other features with tracking capabilities similar to those of cookies; +# including IndexedDB, DOM storage, filesystem API, service workers, and +# AppCache. Note that with QtWebKit, only `all` and `never` are +# supported as per-domain values. Setting `no-3rdparty` or `no- +# unknown-3rdparty` per-domain on QtWebKit will have the same effect as +# `all`. If this setting is used with URL patterns, the pattern gets +# applied to the origin/first party URL of the page making the request, +# not the request URL. +# Type: String +# Valid values: +# - all: Accept all cookies. +# - no-3rdparty: Accept cookies from the same origin only. This is known to break some sites, such as GMail. +# - no-unknown-3rdparty: Accept cookies from the same origin only, unless a cookie is already set for the domain. On QtWebEngine, this is the same as no-3rdparty. +# - never: Don't accept cookies at all. +config.set('content.cookies.accept', 'all', 'chrome-devtools://*') + +# Which cookies to accept. With QtWebEngine, this setting also controls +# other features with tracking capabilities similar to those of cookies; +# including IndexedDB, DOM storage, filesystem API, service workers, and +# AppCache. Note that with QtWebKit, only `all` and `never` are +# supported as per-domain values. Setting `no-3rdparty` or `no- +# unknown-3rdparty` per-domain on QtWebKit will have the same effect as +# `all`. If this setting is used with URL patterns, the pattern gets +# applied to the origin/first party URL of the page making the request, +# not the request URL. +# Type: String +# Valid values: +# - all: Accept all cookies. +# - no-3rdparty: Accept cookies from the same origin only. This is known to break some sites, such as GMail. +# - no-unknown-3rdparty: Accept cookies from the same origin only, unless a cookie is already set for the domain. On QtWebEngine, this is the same as no-3rdparty. +# - never: Don't accept cookies at all. +config.set('content.cookies.accept', 'all', 'devtools://*') + +# User agent to send. The following placeholders are defined: * +# `{os_info}`: Something like "X11; Linux x86_64". * `{webkit_version}`: +# The underlying WebKit version (set to a fixed value with +# QtWebEngine). * `{qt_key}`: "Qt" for QtWebKit, "QtWebEngine" for +# QtWebEngine. * `{qt_version}`: The underlying Qt version. * +# `{upstream_browser_key}`: "Version" for QtWebKit, "Chrome" for +# QtWebEngine. * `{upstream_browser_version}`: The corresponding +# Safari/Chrome version. * `{qutebrowser_version}`: The currently +# running qutebrowser version. The default value is equal to the +# unchanged user agent of QtWebKit/QtWebEngine. Note that the value +# read from JavaScript is always the global value. With QtWebEngine +# between 5.12 and 5.14 (inclusive), changing the value exposed to +# JavaScript requires a restart. +# Type: FormatString +config.set('content.headers.user_agent', 'Mozilla/5.0 ({os_info}) AppleWebKit/{webkit_version} (KHTML, like Gecko) {upstream_browser_key}/{upstream_browser_version} Safari/{webkit_version}', 'https://web.whatsapp.com/') + +# User agent to send. The following placeholders are defined: * +# `{os_info}`: Something like "X11; Linux x86_64". * `{webkit_version}`: +# The underlying WebKit version (set to a fixed value with +# QtWebEngine). * `{qt_key}`: "Qt" for QtWebKit, "QtWebEngine" for +# QtWebEngine. * `{qt_version}`: The underlying Qt version. * +# `{upstream_browser_key}`: "Version" for QtWebKit, "Chrome" for +# QtWebEngine. * `{upstream_browser_version}`: The corresponding +# Safari/Chrome version. * `{qutebrowser_version}`: The currently +# running qutebrowser version. The default value is equal to the +# unchanged user agent of QtWebKit/QtWebEngine. Note that the value +# read from JavaScript is always the global value. With QtWebEngine +# between 5.12 and 5.14 (inclusive), changing the value exposed to +# JavaScript requires a restart. +# Type: FormatString +config.set('content.headers.user_agent', 'Mozilla/5.0 ({os_info}) AppleWebKit/{webkit_version} (KHTML, like Gecko) {upstream_browser_key}/{upstream_browser_version} Safari/{webkit_version} Edg/{upstream_browser_version}', 'https://accounts.google.com/*') + +# User agent to send. The following placeholders are defined: * +# `{os_info}`: Something like "X11; Linux x86_64". * `{webkit_version}`: +# The underlying WebKit version (set to a fixed value with +# QtWebEngine). * `{qt_key}`: "Qt" for QtWebKit, "QtWebEngine" for +# QtWebEngine. * `{qt_version}`: The underlying Qt version. * +# `{upstream_browser_key}`: "Version" for QtWebKit, "Chrome" for +# QtWebEngine. * `{upstream_browser_version}`: The corresponding +# Safari/Chrome version. * `{qutebrowser_version}`: The currently +# running qutebrowser version. The default value is equal to the +# unchanged user agent of QtWebKit/QtWebEngine. Note that the value +# read from JavaScript is always the global value. With QtWebEngine +# between 5.12 and 5.14 (inclusive), changing the value exposed to +# JavaScript requires a restart. +# Type: FormatString +config.set('content.headers.user_agent', 'Mozilla/5.0 ({os_info}) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99 Safari/537.36', 'https://*.slack.com/*') + +# Load images automatically in web pages. +# Type: Bool +config.set('content.images', True, 'chrome-devtools://*') +config.set('content.images', True, 'devtools://*') + +# Enable JavaScript. +# Type: Bool +c.content.javascript.enabled = False +config.set('content.javascript.enabled', True, 'chrome-devtools://*') +config.set('content.javascript.enabled', True, 'devtools://*') +config.set('content.javascript.enabled', True, 'chrome://*/*') +config.set('content.javascript.enabled', True, 'qute://*/*') +config.set('content.javascript.enabled', True, '*://duckduckgo.com/*') + + +config.set('url.start_pages', 'https://duckduckgo.com') +config.bind('', 'config-cycle content.user_stylesheets "css/darculized-all-sites.css" "css/darculized-all-sites-lighter.css" ""') + +# config.set('auto_save.session', True) +c.auto_save.session = True + +# Editor (and arguments) to use for the `edit-*` commands. The following +# placeholders are defined: * `{file}`: Filename of the file to be +# edited. * `{line}`: Line in which the caret is found in the text. * +# `{column}`: Column in which the caret is found in the text. * +# `{line0}`: Same as `{line}`, but starting from index 0. * `{column0}`: +# Same as `{column}`, but starting from index 0. +# Type: ShellCommand +c.editor.command = ['alacritty', '-e', 'vim', '-f', '{file}', '-c', 'normal {line}G{column0}l'] + +# Position of the tab bar. +# Type: Position +# Valid values: +# - top +# - bottom +# - left +# - right +c.tabs.position = 'top' + +# Maximum width (in pixels) of tabs (-1 for no maximum). This setting +# only applies when tabs are horizontal. This setting does not apply to +# pinned tabs, unless `tabs.pinned.shrink` is False. This setting may +# not apply properly if max_width is smaller than the minimum size of +# tab contents, or smaller than tabs.min_width. +# Type: Int +c.tabs.max_width = -1 + +# Bindings for normal mode +config.bind(',D', 'hint links spawn dmenuhandler {hint-url}') +config.bind(',M', 'hint links spawn umpv {hint-url}') +config.bind(',d', 'spawn dmenuhandler {url}') +config.bind(',m', 'spawn umpv {url}') +config.bind(';M', 'hint --rapid links spawn umpv {hint-url}') + + +# Dracula theme +def blood(c, options = {}): + palette = { + 'background': '#282a36', + 'background-alt': '#282a36', + 'background-attention': '#181920', + 'border': '#282a36', + 'current-line': '#44475a', + 'selection': '#44475a', + 'foreground': '#f8f8f2', + 'foreground-alt': '#e0e0e0', + 'foreground-attention': '#ffffff', + 'comment': '#6272a4', + 'cyan': '#8be9fd', + 'green': '#50fa7b', + 'orange': '#ffb86c', + 'pink': '#ff79c6', + 'purple': '#bd93f9', + 'red': '#ff5555', + 'yellow': '#f1fa8c' + } + + spacing = options.get('spacing', { + 'vertical': 5, + 'horizontal': 5 + }) + + padding = options.get('padding', { + 'top': spacing['vertical'], + 'right': spacing['horizontal'], + 'bottom': spacing['vertical'], + 'left': spacing['horizontal'] + }) + + ## Background color of the completion widget category headers. + c.colors.completion.category.bg = palette['background'] + + ## Bottom border color of the completion widget category headers. + c.colors.completion.category.border.bottom = palette['border'] + + ## Top border color of the completion widget category headers. + c.colors.completion.category.border.top = palette['border'] + + ## Foreground color of completion widget category headers. + c.colors.completion.category.fg = palette['foreground'] + + ## Background color of the completion widget for even rows. + c.colors.completion.even.bg = palette['background'] + + ## Background color of the completion widget for odd rows. + c.colors.completion.odd.bg = palette['background-alt'] + + ## Text color of the completion widget. + c.colors.completion.fg = palette['foreground'] + + ## Background color of the selected completion item. + c.colors.completion.item.selected.bg = palette['selection'] + + ## Bottom border color of the selected completion item. + c.colors.completion.item.selected.border.bottom = palette['selection'] + + ## Top border color of the completion widget category headers. + c.colors.completion.item.selected.border.top = palette['selection'] + + ## Foreground color of the selected completion item. + c.colors.completion.item.selected.fg = palette['foreground'] + + ## Foreground color of the matched text in the completion. + c.colors.completion.match.fg = palette['orange'] + + ## Color of the scrollbar in completion view + c.colors.completion.scrollbar.bg = palette['background'] + + ## Color of the scrollbar handle in completion view. + c.colors.completion.scrollbar.fg = palette['foreground'] + + ## Background color for the download bar. + c.colors.downloads.bar.bg = palette['background'] + + ## Background color for downloads with errors. + c.colors.downloads.error.bg = palette['background'] + + ## Foreground color for downloads with errors. + c.colors.downloads.error.fg = palette['red'] + + ## Color gradient stop for download backgrounds. + c.colors.downloads.stop.bg = palette['background'] + + ## Color gradient interpolation system for download backgrounds. + ## Type: ColorSystem + ## Valid values: + ## - rgb: Interpolate in the RGB color system. + ## - hsv: Interpolate in the HSV color system. + ## - hsl: Interpolate in the HSL color system. + ## - none: Don't show a gradient. + c.colors.downloads.system.bg = 'none' + + ## Background color for hints. Note that you can use a `rgba(...)` value + ## for transparency. + c.colors.hints.bg = palette['background'] + + ## Font color for hints. + c.colors.hints.fg = palette['purple'] + + ## Hints + c.hints.border = '1px solid ' + palette['background-alt'] + + ## Font color for the matched part of hints. + c.colors.hints.match.fg = palette['foreground-alt'] + + ## Background color of the keyhint widget. + c.colors.keyhint.bg = palette['background'] + + ## Text color for the keyhint widget. + c.colors.keyhint.fg = palette['purple'] + + ## Highlight color for keys to complete the current keychain. + c.colors.keyhint.suffix.fg = palette['selection'] + + ## Background color of an error message. + c.colors.messages.error.bg = palette['background'] + + ## Border color of an error message. + c.colors.messages.error.border = palette['background-alt'] + + ## Foreground color of an error message. + c.colors.messages.error.fg = palette['red'] + + ## Background color of an info message. + c.colors.messages.info.bg = palette['background'] + + ## Border color of an info message. + c.colors.messages.info.border = palette['background-alt'] + + ## Foreground color an info message. + c.colors.messages.info.fg = palette['comment'] + + ## Background color of a warning message. + c.colors.messages.warning.bg = palette['background'] + + ## Border color of a warning message. + c.colors.messages.warning.border = palette['background-alt'] + + ## Foreground color a warning message. + c.colors.messages.warning.fg = palette['red'] + + ## Background color for prompts. + c.colors.prompts.bg = palette['background'] + + # ## Border used around UI elements in prompts. + c.colors.prompts.border = '1px solid ' + palette['background-alt'] + + ## Foreground color for prompts. + c.colors.prompts.fg = palette['cyan'] + + ## Background color for the selected item in filename prompts. + c.colors.prompts.selected.bg = palette['selection'] + + ## Background color of the statusbar in caret mode. + c.colors.statusbar.caret.bg = palette['background'] + + ## Foreground color of the statusbar in caret mode. + c.colors.statusbar.caret.fg = palette['orange'] + + ## Background color of the statusbar in caret mode with a selection. + c.colors.statusbar.caret.selection.bg = palette['background'] + + ## Foreground color of the statusbar in caret mode with a selection. + c.colors.statusbar.caret.selection.fg = palette['orange'] + + ## Background color of the statusbar in command mode. + c.colors.statusbar.command.bg = palette['background'] + + ## Foreground color of the statusbar in command mode. + c.colors.statusbar.command.fg = palette['pink'] + + ## Background color of the statusbar in private browsing + command mode. + c.colors.statusbar.command.private.bg = palette['background'] + + ## Foreground color of the statusbar in private browsing + command mode. + c.colors.statusbar.command.private.fg = palette['foreground-alt'] + + ## Background color of the statusbar in insert mode. + c.colors.statusbar.insert.bg = palette['background-attention'] + + ## Foreground color of the statusbar in insert mode. + c.colors.statusbar.insert.fg = palette['foreground-attention'] + + ## Background color of the statusbar. + c.colors.statusbar.normal.bg = palette['background'] + + ## Foreground color of the statusbar. + c.colors.statusbar.normal.fg = palette['foreground'] + + ## Background color of the statusbar in passthrough mode. + c.colors.statusbar.passthrough.bg = palette['background'] + + ## Foreground color of the statusbar in passthrough mode. + c.colors.statusbar.passthrough.fg = palette['orange'] + + ## Background color of the statusbar in private browsing mode. + c.colors.statusbar.private.bg = palette['background-alt'] + + ## Foreground color of the statusbar in private browsing mode. + c.colors.statusbar.private.fg = palette['foreground-alt'] + + ## Background color of the progress bar. + c.colors.statusbar.progress.bg = palette['background'] + + ## Foreground color of the URL in the statusbar on error. + c.colors.statusbar.url.error.fg = palette['red'] + + ## Default foreground color of the URL in the statusbar. + c.colors.statusbar.url.fg = palette['foreground'] + + ## Foreground color of the URL in the statusbar for hovered links. + c.colors.statusbar.url.hover.fg = palette['cyan'] + + ## Foreground color of the URL in the statusbar on successful load + c.colors.statusbar.url.success.http.fg = palette['green'] + + ## Foreground color of the URL in the statusbar on successful load + c.colors.statusbar.url.success.https.fg = palette['green'] + + ## Foreground color of the URL in the statusbar when there's a warning. + c.colors.statusbar.url.warn.fg = palette['yellow'] + + ## Status bar padding + c.statusbar.padding = padding + + ## Background color of the tab bar. + ## Type: QtColor + c.colors.tabs.bar.bg = palette['selection'] + + ## Background color of unselected even tabs. + ## Type: QtColor + c.colors.tabs.even.bg = palette['selection'] + + ## Foreground color of unselected even tabs. + ## Type: QtColor + c.colors.tabs.even.fg = palette['foreground'] + + ## Color for the tab indicator on errors. + ## Type: QtColor + c.colors.tabs.indicator.error = palette['red'] + + ## Color gradient start for the tab indicator. + ## Type: QtColor + c.colors.tabs.indicator.start = palette['orange'] + + ## Color gradient end for the tab indicator. + ## Type: QtColor + c.colors.tabs.indicator.stop = palette['green'] + + ## Color gradient interpolation system for the tab indicator. + ## Type: ColorSystem + ## Valid values: + ## - rgb: Interpolate in the RGB color system. + ## - hsv: Interpolate in the HSV color system. + ## - hsl: Interpolate in the HSL color system. + ## - none: Don't show a gradient. + c.colors.tabs.indicator.system = 'none' + + ## Background color of unselected odd tabs. + ## Type: QtColor + c.colors.tabs.odd.bg = palette['selection'] + + ## Foreground color of unselected odd tabs. + ## Type: QtColor + c.colors.tabs.odd.fg = palette['foreground'] + + # ## Background color of selected even tabs. + # ## Type: QtColor + c.colors.tabs.selected.even.bg = palette['background'] + + # ## Foreground color of selected even tabs. + # ## Type: QtColor + c.colors.tabs.selected.even.fg = palette['foreground'] + + # ## Background color of selected odd tabs. + # ## Type: QtColor + c.colors.tabs.selected.odd.bg = palette['background'] + + # ## Foreground color of selected odd tabs. + # ## Type: QtColor + c.colors.tabs.selected.odd.fg = palette['foreground'] + + ## Tab padding + c.tabs.padding = padding + c.tabs.indicator.width = 1 + c.tabs.favicons.scale = 1 + + # Dark mode + #c.colors.webpage.darkmode.enabled = True + #c.colors.webpage.darkmode.algorithm = "lightness-hsl" + c.colors.webpage.bg = "#282a36" + c.content.user_stylesheets = "css/darculized-all-sites.css" + +c = blood(c) diff --git a/.config/shell/aliasrc b/.config/shell/aliasrc new file mode 100644 index 0000000..0bc3d68 --- /dev/null +++ b/.config/shell/aliasrc @@ -0,0 +1,9 @@ +#!/bin/sh + +alias \ + ref="shortcuts >/dev/null; source ${XDG_CONFIG_HOME:-$HOME/.config}/shortcutrc ; source ${XDG_CONFIG_HOME:-$HOME/.config}/zshnameddirrc" \ + weath="less -S ${XDG_DATA_HOME:-$HOME/.local/share}/weatherreport" \ + # tmux="tmux -f ${XDG_CONFIG_HOME:-$HOME/.config}/tmux/tmux.conf" \ + yarn="yarn --use-yarnrc $XDG_CONFIG_HOME/yarn/config" \ + config="/usr/bin/git --git-dir=$HOME/dev/dot --work-tree=$HOME" + diff --git a/.config/shell/bm-dirs b/.config/shell/bm-dirs new file mode 100644 index 0000000..b3807cd --- /dev/null +++ b/.config/shell/bm-dirs @@ -0,0 +1,13 @@ +# You can add comments to these files with # +cac ${XDG_CACHE_HOME:-$HOME/.cache} +cf ${XDG_CONFIG_HOME:-$HOME/.config} +D ${XDG_DOWNLOAD_DIR:-$HOME/Downloads} +d ${XDG_DOCUMENTS_DIR:-$HOME/Documents} +dt ${XDG_DATA_HOME:-$HOME/.local/share} +h $HOME +m ${XDG_MUSIC_DIR:-$HOME/Music} +mn /mnt +pp ${XDG_PICTURES_DIR:-$HOME/Pictures} +sc $HOME/.local/bin +src $HOME/.local/src +vv ${XDG_VIDEOS_DIR:-$HOME/Videos} diff --git a/.config/shell/bm-files b/.config/shell/bm-files new file mode 100644 index 0000000..7acbb66 --- /dev/null +++ b/.config/shell/bm-files @@ -0,0 +1,23 @@ +# These files automatically update when edited/saved in vim: + +# keys filename description +bf ${XDG_CONFIG_HOME:-$HOME/.config}/shell/bm-files # This file, a list of bookmarked files +bd ${XDG_CONFIG_HOME:-$HOME/.config}/shell/bm-dirs # A list of bookmarked directories similar to this file +cfx ${XDG_CONFIG_HOME:-$HOME/.config}/x11/xresources # Colors, themes and variables for X11 +cfb ~/.local/src/dwmblocks/config.h # dwmblocks: the status bar for dwm + + +# These do not update automatically, but on the next new instance of a program: + +cfv ${XDG_CONFIG_HOME:-$HOME/.config}/nvim/init.vim # vim/neovim config +cfz $ZDOTDIR/.zshrc # zsh (shell) config +cfa ${XDG_CONFIG_HOME:-$HOME/.config}/shell/aliasrc # aliases used by zsh (and potentially other shells) +cfp ${XDG_CONFIG_HOME:-$HOME/.config}/shell/profile # profile file for login settings for zsh +cfm ${XDG_CONFIG_HOME:-$HOME/.config}/mutt/muttrc # mutt (email client) config +cfn ${XDG_CONFIG_HOME:-$HOME/.config}/newsboat/config # newsboat (RSS reader) +cfu ${XDG_CONFIG_HOME:-$HOME/.config}/newsboat/urls # RSS urls for newsboat +cfmb ${XDG_CONFIG_HOME:-$HOME/.config}/ncmpcpp/bindings # ncmpcpp (music player) keybinds file +cfmc ${XDG_CONFIG_HOME:-$HOME/.config}/ncmpcpp/config # ncmpcpp (music player) config +cfl ${XDG_CONFIG_HOME:-$HOME/.config}/lf/lfrc # lf (file browser) config +cfL ${XDG_CONFIG_HOME:-$HOME/.config}/lf/scope # lf's scope/preview file +cfX ${XDG_CONFIG_HOME:-$HOME/.config}/sxiv/exec/key-handler # sxiv (image viewer) key/script handler diff --git a/.config/shell/env b/.config/shell/env new file mode 100644 index 0000000..085eb85 --- /dev/null +++ b/.config/shell/env @@ -0,0 +1,70 @@ +#!/bin/sh + +# Here we set env variables +export XDG_CONFIG_HOME="$HOME"/.config +export XDG_DATA_HOME="$HOME"/.local/share +export XDG_CACHE_HOME="$HOME"/.cache + +# Default programs +export EDITOR="vim" +export VISUAL="vim" +export TERMINAL="alacritty" +export BROWSER="qutebrowser" +export READER="zathura" + +# Zsh related +ZDOTDIR="$XDG_CONFIG_HOME"/zsh +HISTFILE="$XDG_CACHE_HOME"/zshhistory +HISTSIZE=10000 +SAVEHIST=10000 + +# Go related +export GOPATH="$XDG_DATA_HOME"/go + +# NPM +export NPM_CONFIG_USERCONFIG="$XDG_CONFIG_HOME"/npm/npmrc +# export NPM_PATH="$XDG_DATA_HOME/node_modules" +# export NPM_BIN="$NPM_PATH/bin" +# export NPM_CONFIG_PREFIX="$XDG_DATA_HOME/node_modules" + +# Node related +export NODE_REPL_HISTORY="XDG_DATA_HOME"/node_repl_history + +# Rust related +export CARGO_HOME="$XDG_DATA_HOME"/cargo +export RUSTUP_HOME="$XDG_DATA_HOME"/rustup + +# PostgreSQL +export PSQLRC="$XDG_CONFIG_HOME"/pg/psqlrc +export PSQL_HISTORY="$XDG_CACHE_HOME"/pg/psql_history +export PGPASSFILE="$XDG_CONFIG_HOME"/pg/pgpass +export PGSERVICEFILE="XDG_CONFIG_HOME"/pg/pg_service.conf + +# Other programs +export DOCKER_CONFIG="$XDG_CONFIG_HOME"/docker +export LESSHISTFILE=- +export PASSWORD_STORE_DIR="$XDG_DATA_HOME"/pass +export WGETRC="$XDG_CONFIG_HOME"/wgetrc + +# PATH +typeset -U PATH path +PATH="$PATH:$HOME/.local/bin" +PATH="$PATH:$CARGO_HOME/bin" +PATH="$PATH:$XDG_DATA_HOME/npm/bin" +PATH="$PATH:$(du "$HOME/.local/bin" | cut -f2 | paste -sd ':' -)" +export PATH + +[ ! -f ${XDG_CONFIG_HOME:-$HOME/.config}/shell/shortcutrc ] && shortcuts >/dev/null 2>&1 & + +if pacman -Qs libxft-bgra >/dev/null 2>&1; then + # Start graphical server on user's current tty if not already running. + [ "$(tty)" = "/dev/tty1" ] && ! pidof -s Xorg >/dev/null 2>&1 && exec startx +else + echo "\033[31mIMPORTANT\033[0m: Note that \033[32m\`libxft-bgra\`\033[0m must be installed for this build of dwm. +Please run: + \033[32myay -S libxft-bgra-git\033[0m +and replace \`libxft\`. Afterwards, you may start the graphical server by running \`startx\`." +fi + +# Switch escape and caps if tty and no passwd required: +sudo -n loadkeys ${XDG_DATA_HOME:-$HOME/.local/share}/larbs/ttymaps.kmap 2>/dev/null diff --git a/.config/shell/inputrc b/.config/shell/inputrc new file mode 100644 index 0000000..f9b94dd --- /dev/null +++ b/.config/shell/inputrc @@ -0,0 +1,19 @@ +$include /etc/inputrc +set editing-mode vi +$if mode=vi + +set show-mode-in-prompt on +set vi-ins-mode-string \1\e[6 q\2 +set vi-cmd-mode-string \1\e[2 q\2 + +set keymap vi-command +# these are for vi-command mode +Control-l: clear-screen +Control-a: beginning-of-line + +set keymap vi-insert +# these are for vi-insert mode +Control-l: clear-screen +Control-a: beginning-of-line + +$endif diff --git a/.config/shell/profile b/.config/shell/profile new file mode 100644 index 0000000..be47866 --- /dev/null +++ b/.config/shell/profile @@ -0,0 +1,106 @@ +#!/bin/zsh + +# Here we set env variables +export XDG_CONFIG_HOME="$HOME"/.config +export XDG_DATA_HOME="$HOME"/.local/share +export XDG_CACHE_HOME="$HOME"/.cache + +# Default programs +export EDITOR="vim" +export VISUAL="vim" +export TERMINAL="st" +export BROWSER="qutebrowser" +export READER="zathura" + +# Zsh related +ZDOTDIR="$XDG_CONFIG_HOME"/zsh +HISTFILE="$XDG_CACHE_HOME"/zshhistory +HISTSIZE=10000 +SAVEHIST=10000 + +# Go related +export GOPATH="$XDG_DATA_HOME"/go + +# NPM +export NPM_CONFIG_USERCONFIG="$XDG_CONFIG_HOME"/npm/npmrc +# export NPM_PATH="$XDG_DATA_HOME/node_modules" +# export NPM_BIN="$NPM_PATH/bin" +# export NPM_CONFIG_PREFIX="$XDG_DATA_HOME/node_modules" + +# Node related +export NODE_REPL_HISTORY="XDG_DATA_HOME"/node_repl_history + +# Rust related +export CARGO_HOME="$XDG_DATA_HOME"/cargo +export RUSTUP_HOME="$XDG_DATA_HOME"/rustup + +# PostgreSQL +export PSQLRC="$XDG_CONFIG_HOME"/pg/psqlrc +export PSQL_HISTORY="$XDG_CACHE_HOME"/pg/psql_history +export PGPASSFILE="$XDG_CONFIG_HOME"/pg/pgpass +export PGSERVICEFILE="XDG_CONFIG_HOME"/pg/pg_service.conf + +# Other programs +export DOCKER_CONFIG="$XDG_CONFIG_HOME"/docker +export LESSHISTFILE=- +export PASSWORD_STORE_DIR="$XDG_DATA_HOME"/pass +export WGETRC="$XDG_CONFIG_HOME"/wgetrc +export MBSYNCRC="${XDG_CONFIG_HOME:-$HOME/.config}/mbsync/config" +export ELECTRUMDIR="${XDG_DATA_HOME:-$HOME/.local/share}/electrum" +export SUDO_ASKPASS="$HOME/.local/bin/dmenupass" +export GTK2_RC_FILES="${XDG_CONFIG_HOME:-$HOME/.config}/gtk-2.0/gtkrc-2.0" +export ANDROID_SDK_HOME="${XDG_CONFIG_HOME:-$HOME/.config}/android" +export WINEPREFIX="${XDG_DATA_HOME:-$HOME/.local/share}/wineprefixes/default" +export KODI_DATA="${XDG_DATA_HOME:-$HOME/.local/share}/kodi" + +# export GNUPGHOME="${XDG_DATA_HOME:-$HOME/.local/share}/gnupg" + +# # PATH +# typeset -U PATH path +# PATH="$PATH:$HOME/.local/bin" +# PATH="$PATH:$CARGO_HOME/bin" +# PATH="$PATH:$XDG_DATA_HOME/npm/bin" +# PATH="$PATH:$(du "$HOME/.local/bin" | cut -f2 | paste -sd ':' -)" + +# Append "$1" to $PATH when not already in. +# This function API is accessible to scripts in /etc/profile.d +append_path () { + case ":$PATH:" in + *:"$1":*) + ;; + *) + PATH="${PATH:+$PATH:}$1" + esac +} +# +# Append our paths +append_path '$CARGO_HOME/bin' +append_path '$XDG_DATA_HOME/npm/bin' +append_path '${$(find ~/.local/bin -type d -printf %p:)%%:}' + +export PATH + +unset -f append_path + +# If you don't plan on reverting to bash, you can remove the link in ~/.profile +# to clean up. + +export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket) +gpgconf --launch gpg-agent + + +[ ! -f ${XDG_CONFIG_HOME:-$HOME/.config}/shell/shortcutrc ] && shortcuts >/dev/null 2>&1 & + +if pacman -Qs libxft-bgra >/dev/null 2>&1; then + # Start graphical server on user's current tty if not already running. + [ "$(tty)" = "/dev/tty1" ] && ! pidof -s Xorg >/dev/null 2>&1 && exec startx +else + echo "\033[31mIMPORTANT\033[0m: Note that \033[32m\`libxft-bgra\`\033[0m must be installed for this build of dwm. +Please run: + \033[32myay -S libxft-bgra-git\033[0m +and replace \`libxft\`. Afterwards, you may start the graphical server by running \`startx\`." +fi + +# Switch escape and caps if tty and no passwd required: +# sudo -n loadkeys ${XDG_DATA_HOME:-$HOME/.local/share}/larbs/ttymaps.kmap 2>/dev/null +echo "Hello from profile" diff --git a/.config/shell/shortcutrc b/.config/shell/shortcutrc new file mode 100644 index 0000000..397ebf1 --- /dev/null +++ b/.config/shell/shortcutrc @@ -0,0 +1,29 @@ +# vim: filetype=sh +alias cac="cd /home/ma/.cache && ls -a" \ +cf="cd /home/ma/.config && ls -a" \ +D="cd /home/ma/Downloads && ls -a" \ +d="cd /home/ma/Documents && ls -a" \ +dt="cd /home/ma/.local/share && ls -a" \ +h="cd /home/ma && ls -a" \ +m="cd /home/ma/Music && ls -a" \ +mn="cd /mnt && ls -a" \ +pp="cd /home/ma/Pictures && ls -a" \ +sc="cd /home/ma/.local/bin && ls -a" \ +src="cd /home/ma/.local/src && ls -a" \ +vv="cd /home/ma/Videos && ls -a" \ +bf="$EDITOR /home/ma/.config/shell/bm-files" \ +bd="$EDITOR /home/ma/.config/shell/bm-dirs" \ +cfx="$EDITOR /home/ma/.config/x11/xresources" \ +cfb="$EDITOR ~/.local/src/dwmblocks/config.h" \ +cfv="$EDITOR /home/ma/.config/nvim/init.vim" \ +cfz="$EDITOR /.zshrc" \ +cfa="$EDITOR /home/ma/.config/shell/aliasrc" \ +cfp="$EDITOR /home/ma/.config/shell/profile" \ +cfm="$EDITOR /home/ma/.config/mutt/muttrc" \ +cfn="$EDITOR /home/ma/.config/newsboat/config" \ +cfu="$EDITOR /home/ma/.config/newsboat/urls" \ +cfmb="$EDITOR /home/ma/.config/ncmpcpp/bindings" \ +cfmc="$EDITOR /home/ma/.config/ncmpcpp/config" \ +cfl="$EDITOR /home/ma/.config/lf/lfrc" \ +cfL="$EDITOR /home/ma/.config/lf/scope" \ +cfX="$EDITOR /home/ma/.config/sxiv/exec/key-handler" \ diff --git a/.config/shell/zshnameddirrc b/.config/shell/zshnameddirrc new file mode 100644 index 0000000..483e4f7 --- /dev/null +++ b/.config/shell/zshnameddirrc @@ -0,0 +1,12 @@ +hash -d cac=/home/ma/.cache +hash -d cf=/home/ma/.config +hash -d D=/home/ma/Downloads +hash -d d=/home/ma/Documents +hash -d dt=/home/ma/.local/share +hash -d h=/home/ma +hash -d m=/home/ma/Music +hash -d mn=/mnt +hash -d pp=/home/ma/Pictures +hash -d sc=/home/ma/.local/bin +hash -d src=/home/ma/.local/src +hash -d vv=/home/ma/Videos diff --git a/.config/user-dirs.dirs b/.config/user-dirs.dirs new file mode 100644 index 0000000..5a28707 --- /dev/null +++ b/.config/user-dirs.dirs @@ -0,0 +1 @@ +XDG_DESKTOP_DIR="$HOME/" diff --git a/.config/wal/colorschemes/dark/dracula.json b/.config/wal/colorschemes/dark/dracula.json new file mode 100644 index 0000000..4382f47 --- /dev/null +++ b/.config/wal/colorschemes/dark/dracula.json @@ -0,0 +1,25 @@ +{ + "special": { + "background": "#282A36", + "foreground": "#F8F8F2", + "cursor": "#F8F8F2" + }, + "colors": { + "color0": "#21222C", + "color1": "#FF5555", + "color2": "#50FA7B", + "color3": "#F1FA8C", + "color4": "#BD93F9", + "color5": "#FF79C6", + "color6": "#8BE9FD", + "color7": "#F8F8F2", + "color8": "#6272A4", + "color9": "#FF6E6E", + "color10": "#69FF94", + "color11": "#FFFFA5", + "color12": "#D6ACFF", + "color13": "#FF92DF", + "color14": "#A4FFFF", + "color15": "#FFFFFF" + } +} diff --git a/.config/wal/postrun b/.config/wal/postrun new file mode 100755 index 0000000..bc39604 --- /dev/null +++ b/.config/wal/postrun @@ -0,0 +1,28 @@ +#!/bin/bash + +source "${HOME}/.cache/wal/colors.sh" + +mkdir -p "${HOME}/.config/dunst" +mkdir -p "${HOME}/.config/zathura" +ln -sf "${HOME}/.cache/wal/dunstrc" "${HOME}/.config/dunst/dunstrc" +ln -sf "${HOME}/.cache/wal/zathurarc" "${HOME}/.config/zathura/zathurarc" +echo "set recolor \"true\"" >> "${HOME}/.config/zathura/zathurarc" + +fix_sequences() { + e=$'\e' + sequences=$(cat) + foreground_color="$(echo -e "${sequences}\c" | grep --color=never -Eo "${e}]10[^${e}\\\\]*?${e}\\\\" | grep --color=never -Eo "#[0-9A-Fa-f]{6}")" + background_color="$(echo -e "${sequences}\c" | grep --color=never -Eo "${e}]11[^${e}\\\\]*?${e}\\\\" | grep --color=never -Eo "#[0-9A-Fa-f]{6}")" + cursor_color="$(echo -e "${sequences}\c" | grep --color=never -Eo "${e}]12[^${e}\\\\]*?${e}\\\\" | grep --color=never -Eo "#[0-9A-Fa-f]{6}")" + +for term in /dev/pts/{0..9}* +do +echo -e "\e]4;256;${cursor_color}\a\c" > "${term}" 2>/dev/null +echo -e "\e]4;258;${background_color}\a\c" > "${term}" 2>/dev/null +echo -e "\e]4;259;${foreground_color}\a\c" > "${term}" 2>/dev/null +done +} + +fix_sequences <"${HOME}/.cache/wal/sequences" + +pkill dunst; dunst & diff --git a/.config/wal/templates/dunstrc b/.config/wal/templates/dunstrc new file mode 100644 index 0000000..9a62500 --- /dev/null +++ b/.config/wal/templates/dunstrc @@ -0,0 +1,152 @@ +[global] + monitor = 0 + follow = keyboard + geometry = "350x5-0+24" + indicate_hidden = yes + shrink = yes + transparency = 20 + notification_height = 0 + separator_height = 2 + padding = 0 + horizontal_padding = 8 + frame_width = 3 + frame_color = "{color4}" + + # Define a color for the separator. + # possible values are: + # * auto: dunst tries to find a color fitting to the background; + # * foreground: use the same color as the foreground; + # * frame: use the same color as the frame; + # * anything else will be interpreted as a X color. + separator_color = frame + + # Sort messages by urgency. + sort = yes + + idle_threshold = 120 + font = Monospace 14 + line_height = 0 + markup = full + + # The format of the message. Possible variables are: + # %a appname + # %s summary + # %b body + # %i iconname (including its path) + # %I iconname (without its path) + # %p progress value if set ([ 0%] to [100%]) or nothing + # %n progress value if set without any extra characters + # %% Literal % + # Markup is allowed + format = "%s\n%b" + + alignment = left + show_age_threshold = 60 + word_wrap = yes + ellipsize = middle + ignore_newline = no + stack_duplicates = true + hide_duplicate_count = true + show_indicators = yes + icon_position = left + max_icon_size = 40 + #icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/:/usr/share/icons/Adwaita/256x256/status/ + sticky_history = yes + history_length = 20 + dmenu = /usr/bin/dmenu -p dunst: + browser = /usr/bin/firefox -new-tab + + # Always run rule-defined scripts, even if the notification is suppressed + always_run_script = true + + title = Dunst + class = Dunst + startup_notification = false + force_xinerama = false +[experimental] + per_monitor_dpi = false + +[shortcuts] + close = ctrl+space + close_all = ctrl+shift+space + history = ctrl+grave + context = ctrl+shift+period + +[urgency_low] + # IMPORTANT: colors have to be defined in quotation marks. + # Otherwise the "#" and following would be interpreted as a comment. + background = "{background}" + foreground = "{foreground}" + timeout = 5 + # Icon for notifications with low urgency, uncomment to enable + #icon = /path/to/icon + +[urgency_normal] + background = "{background}" + foreground = "{foreground}" + timeout = 5 + +[urgency_critical] + background = "{background}" + foreground = "{foreground}" + frame_color = "#fabd2f" + timeout = 0 + +# Every section that isn't one of the above is interpreted as a rules to +# override settings for certain messages. +# Messages can be matched by "appname", "summary", "body", "icon", "category", +# "msg_urgency" and you can override the "timeout", "urgency", "foreground", +# "background", "new_icon" and "format". +# Shell-like globbing will get expanded. +# +# SCRIPTING +# You can specify a script that gets run when the rule matches by +# setting the "script" option. +# The script will be called as follows: +# script appname summary body icon urgency +# where urgency can be "LOW", "NORMAL" or "CRITICAL". +# +# NOTE: if you don't want a notification to be displayed, set the format +# to "". +# NOTE: It might be helpful to run dunst -print in a terminal in order +# to find fitting options for rules. + +#[espeak] +# summary = "*" +# script = dunst_espeak.sh + +#[script-test] +# summary = "*script*" +# script = dunst_test.sh + +#[ignore] +# # This notification will not be displayed +# summary = "foobar" +# format = "" + +#[history-ignore] +# # This notification will not be saved in history +# summary = "foobar" +# history_ignore = yes + +#[signed_on] +# appname = Pidgin +# summary = "*signed on*" +# urgency = low +# +#[signed_off] +# appname = Pidgin +# summary = *signed off* +# urgency = low +# +#[says] +# appname = Pidgin +# summary = *says* +# urgency = critical +# +#[twitter] +# appname = Pidgin +# summary = *twitter.com* +# urgency = normal +# +# vim: ft=cfg diff --git a/.config/wal/templates/zathurarc b/.config/wal/templates/zathurarc new file mode 100644 index 0000000..242bf9a --- /dev/null +++ b/.config/wal/templates/zathurarc @@ -0,0 +1,34 @@ +set sandbox none +set statusbar-h-padding 0 +set statusbar-v-padding 0 +set page-padding 1 +map u scroll half-up +map d scroll half-down +map D toggle_page_mode +map r reload +map R rotate +map K zoom in +map J zoom out +map i recolor +map p print + +set default-bg "{background}" +set default-fg "{foreground}" +set statusbar-bg "{background}" +set statusbar-fg "{foreground}" +set inputbar-bg "{background}" +set inputbar-fg "{foreground}" +set notification-bg "{background}" +set notification-fg "{foreground}" +set notification-error-bg "{background}" +set notification-error-fg "{foreground}" +set notification-warning-bg "{background}" +set notification-warning-fg "{foreground}" +set highlight-color "{color3}" +set highlight-active-color "{color4}" +set completion-bg "{color3}" +set completion-fg "{color4}" +set completion-highlight-bg "{color3}" +set completion-highlight-fg "{color4}" +set recolor-lightcolor "{background}" +set recolor-darkcolor "{foreground}" diff --git a/.config/wget/wgetrc b/.config/wget/wgetrc new file mode 100644 index 0000000..4fd7999 --- /dev/null +++ b/.config/wget/wgetrc @@ -0,0 +1 @@ +hsts-file=~/.cache/wget-hsts diff --git a/.config/x11/xinitrc b/.config/x11/xinitrc new file mode 100755 index 0000000..2debc01 --- /dev/null +++ b/.config/x11/xinitrc @@ -0,0 +1,17 @@ +#!/bin/sh + +# xinitrc runs automatically when you run startx. + +# There are some small but important commands that need to be run when we start +# the graphical environment. There is a link to this file in ~/.xprofile +# because that file is run automatically if someone uses a display manager +# (login screen) and so they are needed there. To prevent doubling up commands, +# I source them here with the line below. + +if [ -f "${XDG_CONFIG_HOME:-$HOME/.config}/x11/xprofile" ]; then + . "${XDG_CONFIG_HOME:-$HOME/.config}/x11/xprofile" +else + . "$HOME/.xprofile" +fi + +ssh-agent dwm diff --git a/.config/x11/xprofile b/.config/x11/xprofile new file mode 100755 index 0000000..eb62d72 --- /dev/null +++ b/.config/x11/xprofile @@ -0,0 +1,21 @@ +#!/bin/sh + +# This file runs when a DM logs you into a graphical session. +# If you use startx/xinit like a Chad, this file will also be sourced. + +setbg & # set the background with the `setbg` script +#xrdb -load ${XDG_CONFIG_HOME:-$HOME/.config}/x11/xresources & # Uncomment to use Xresources colors/settings on startup +mpd & # music player daemon-you might prefer it as a service though +remaps & # run the remaps script, switching caps/esc and more; check it for more info +xcompmgr & # xcompmgr for transparency +dunst & # dunst for notifications +xset r rate 300 50 & # Speed xrate up +unclutter & # Remove mouse when idle +# clight & + +# This line autostarts an instance of Pulseaudio that does not exit on idle. +# This is "necessary" on Artix due to a current bug between PA and +# Chromium-based browsers where they fail to start PA and use dummy output. +pidof -s runit && + ! pidof -s pulseaudio >/dev/null 2>&1 && + setsid -f pulseaudio --start --exit-idle-time=-1 >/dev/null 2>&1 diff --git a/.config/x11/xresources b/.config/x11/xresources new file mode 100644 index 0000000..611f39a --- /dev/null +++ b/.config/x11/xresources @@ -0,0 +1,156 @@ +!! Transparency (0-1): +*.alpha: 0.8 + +!! Set a default font and font size as below: +*.font: monospace:size=10 + +/* name dark light */ +/* black 0 8 */ +/* red 1 9 */ +/* green 2 10 */ +/* yellow 3 11 */ +/* blue 4 12 */ +/* purple 5 13 */ +/* cyan 6 14 */ +/* white 7 15 */ + +/* !! gruvbox: */ +/* *.color0: #1d2021 */ +/* *.color1: #cc241d */ +/* *.color2: #98971a */ +/* *.color3: #d79921 */ +/* *.color4: #458588 */ +/* *.color5: #b16286 */ +/* *.color6: #689d6a */ +/* *.color7: #a89984 */ +/* *.color8: #928374 */ +/* *.color9: #fb4934 */ +/* *.color10: #b8bb26 */ +/* *.color11: #fabd2f */ +/* *.color12: #83a598 */ +/* *.color13: #d3869b */ +/* *.color14: #8ec07c */ +/* *.color15: #ebdbb2 */ +/* *.color256: #1d2021 */ +/* *.color257: #ebdbb2 */ + +/* !! gruvbox light: */ +/* *.color0: #fbf1c7 */ +/* *.color1: #cc241d */ +/* *.color2: #98971a */ +/* *.color3: #d79921 */ +/* *.color4: #458588 */ +/* *.color5: #b16286 */ +/* *.color6: #689d6a */ +/* *.color7: #7c6f64 */ +/* *.color8: #928374 */ +/* *.color9: #9d0006 */ +/* *.color10: #79740e */ +/* *.color11: #b57614 */ +/* *.color12: #076678 */ +/* *.color13: #8f3f71 */ +/* *.color14: #427b58 */ +/* *.color15: #3c3836 */ +/* *.background: #fbf1c7 */ +/* *.foreground: #282828 */ +/* st.alpha: 0.9 */ + +/* !! brogrammer: */ +/* *.foreground: #d6dbe5 */ +/* *.background: #131313 */ +/* *.color0: #1f1f1f */ +/* *.color8: #d6dbe5 */ +/* *.color1: #f81118 */ +/* *.color9: #de352e */ +/* *.color2: #2dc55e */ +/* *.color10: #1dd361 */ +/* *.color3: #ecba0f */ +/* *.color11: #f3bd09 */ +/* *.color4: #2a84d2 */ +/* *.color12: #1081d6 */ +/* *.color5: #4e5ab7 */ +/* *.color13: #5350b9 */ +/* *.color6: #1081d6 */ +/* *.color14: #0f7ddb */ +/* *.color7: #d6dbe5 */ +/* *.color15: #ffffff */ +/* *.colorBD: #d6dbe5 */ + +/* ! base16 */ +/* *.color0: #181818 */ +/* *.color1: #ab4642 */ +/* *.color2: #a1b56c */ +/* *.color3: #f7ca88 */ +/* *.color4: #7cafc2 */ +/* *.color5: #ba8baf */ +/* *.color6: #86c1b9 */ +/* *.color7: #d8d8d8 */ +/* *.color8: #585858 */ +/* *.color9: #ab4642 */ +/* *.color10: #a1b56c */ +/* *.color11: #f7ca88 */ +/* *.color12: #7cafc2 */ +/* *.color13: #ba8baf */ +/* *.color14: #86c1b9 */ +/* *.color15: #f8f8f8 */ + +/* !! solarized */ +/* *.color0: #073642 */ +/* *.color1: #dc322f */ +/* *.color2: #859900 */ +/* *.color3: #b58900 */ +/* *.color4: #268bd2 */ +/* *.color5: #d33682 */ +/* *.color6: #2aa198 */ +/* *.color7: #eee8d5 */ +/* *.color9: #cb4b16 */ +/* *.color8: #fdf6e3 */ +/* *.color10: #586e75 */ +/* *.color11: #657b83 */ +/* *.color12: #839496 */ +/* *.color13: #6c71c4 */ +/* *.color14: #93a1a1 */ +/* *.color15: #fdf6e3 */ + +/* !! xterm */ +/* *.color0: #000000 */ +/* *.color1: #cd0000 */ +/* *.color2: #00cd00 */ +/* *.color3: #cdcd00 */ +/* *.color4: #0000cd */ +/* *.color5: #cd00cd */ +/* *.color6: #00cdcd */ +/* *.color7: #e5e5e5 */ +/* *.color8: #4d4d4d */ +/* *.color9: #ff0000 */ +/* *.color10: #00ff00 */ +/* *.color11: #ffff00 */ +/* *.color12: #0000ff */ +/* *.color13: #ff00ff */ +/* *.color14: #00ffff */ +/* *.color15: #aabac8 */ +/* *.background: #000000 */ + +/* ! Dracula Xresources palette */ +/* *.foreground: #F8F8F2 */ +/* *.background: #282A36 */ +/* *.color0: #000000 */ +/* *.color8: #4D4D4D */ +/* *.color1: #FF5555 */ +/* *.color9: #FF6E67 */ +/* *.color2: #50FA7B */ +/* *.color10: #5AF78E */ +/* *.color3: #F1FA8C */ +/* *.color11: #F4F99D */ +/* *.color4: #BD93F9 */ +/* *.color12: #CAA9FA */ +/* *.color5: #FF79C6 */ +/* *.color13: #FF92D0 */ +/* *.color6: #8BE9FD */ +/* *.color14: #9AEDFE */ +/* *.color7: #BFBFBF */ +/* *.color15: #E6E6E6 */ + +/* *.background: .color0 */ +/* *.color256: 0#1d2021 */ +/* *.color257: 15#ebdbb2 */ diff --git a/.config/zathura/zathurarc b/.config/zathura/zathurarc new file mode 120000 index 0000000..5f01780 --- /dev/null +++ b/.config/zathura/zathurarc @@ -0,0 +1 @@ +/home/ma/.cache/wal/zathurarc \ No newline at end of file diff --git a/.xinitrc b/.xinitrc new file mode 120000 index 0000000..518bb5d --- /dev/null +++ b/.xinitrc @@ -0,0 +1 @@ +.config/x11/xinitrc \ No newline at end of file diff --git a/.xprofile b/.xprofile new file mode 120000 index 0000000..61f87a7 --- /dev/null +++ b/.xprofile @@ -0,0 +1 @@ +.config/x11/xprofile \ No newline at end of file diff --git a/.zshenv b/.zshenv new file mode 100644 index 0000000..b698cbf --- /dev/null +++ b/.zshenv @@ -0,0 +1,4 @@ +#!/bin/sh + +ZDOTDIR="${HOME}/.config/zsh" +. "${ZDOTDIR}/.zshenv" -- 2.20.1