diff --git a/.chezmoi.toml.tmpl b/.chezmoi.toml.tmpl new file mode 100644 index 0000000..fb6f42f --- /dev/null +++ b/.chezmoi.toml.tmpl @@ -0,0 +1,4 @@ +{{- $type := promptStringOnce . "type" "Computer type (desktop|laptop)" -}} + +[data] + type = {{ $type | quote }} diff --git a/.chezmoiexternal.toml b/.chezmoiexternal.toml new file mode 100644 index 0000000..3bd095c --- /dev/null +++ b/.chezmoiexternal.toml @@ -0,0 +1,21 @@ +[".local/share/doom"] + type = "git-repo" + url = "https://github.com/doomemacs/doomemacs.git" + refreshPeriod = "24h" + [".local/share/doom".clone] + args = ["--depth=1"] + +[".local/share/polybar-scripts"] + type = "git-repo" + url = "https://github.com/polybar/polybar-scripts.git" + refreshPeriod = "24h" + +[".local/share/omf"] + type = "git-repo" + url = "https://github.com/oh-my-fish/oh-my-fish.git" + refreshPeriod = "8760h" + +[".local/share/nvim/site/autoload/plug.vim"] + type = "file" + url = "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" + refreshPeriod = "168h" diff --git a/.chezmoiignore b/.chezmoiignore new file mode 100644 index 0000000..3651cb9 --- /dev/null +++ b/.chezmoiignore @@ -0,0 +1,5 @@ +node_modules +*.org +commitlint.config.js +package.json +yarn.lock diff --git a/.gitignore b/.gitignore deleted file mode 100644 index b97737c..0000000 --- a/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -gtk/.config/gtk-3.0/bookmarks -zsh/.config/zsh/.zcompcache/ diff --git a/README.org b/README.org index b51d6d3..dc1a656 100644 --- a/README.org +++ b/README.org @@ -7,13 +7,11 @@ - [[#description][Description]] - [[#maintainers][Maintainers]] - [[#prerequisites][Prerequisites]] -- [[#applications-installed-by-script][Applications installed by script]] +- [[#applications-installed][Applications installed]] - [[#applications][Applications]] - [[#fonts][Fonts]] - - [[#libraries][Libraries]] - - [[#st--dmenu--dwm][st / dmenu / dwm]] - [[#lsp-backends][LSP Backends]] -- [[#configured-applications-also-installed-by-script][Configured Applications (also installed by script)]] +- [[#configured-applications-also-installed][Configured Applications (also installed)]] - [[#configured-locales][Configured Locales]] - [[#golang][Golang]] - [[#shell][Shell]] @@ -49,8 +47,9 @@ A repository of my personal configuration files. - [[https://www.archlinux.org/][Arch Linux]] - [[https://fishshell.com/][fish shell]] - [[https://github.com/Jguer/yay][yay]] +- [[https://www.chezmoi.io/][chezmoi]] -* Applications installed by script +* Applications installed ** Applications - [[https://github.com/ggreer/the_silver_searcher][ag]] - [[https://github.com/sharkdp/bat][bat]] @@ -97,9 +96,6 @@ A repository of my personal configuration files. - [[https://www.google.com/get/noto/][Noto Fonts]] - [[https://www.google.com/get/noto/help/emoji/][Noto Color Emoji]] - Nerd patched [[https://sourcefoundry.org/hack/][Hack]] -** Libraries -*** st / dmenu / dwm -- [[#+title: https://aur.archlinux.org/packages/libxft-bgra/][libxft-bgra]] ** LSP Backends - [[https://github.com/mads-hartmann/bash-language-server][bash-language-server]] - [[https://github.com/MaskRay/ccls][ccls]] @@ -110,10 +106,9 @@ A repository of my personal configuration files. - [[https://github.com/vscode-langservers/vscode-html-languageserver][vscode-html-languageserver]] - [[https://github.com/bmewburn/vscode-intelephense][vscode-intelephense]] -* Configured Applications (also installed by script) +* Configured Applications (also installed) - [[https://github.com/alacritty/][alacritty]] - [[https://github.com/baskerville/bspwm][bspwm]] -- [[https://github.com/xgi/castero][castero]] - [[https://github.com/hlissner/doom-emacs][Doom Emacs]] - [[https://dunst-project.org/][dunst]] - [[https://firejail.wordpress.com/][firejail]] @@ -230,7 +225,7 @@ A repository of my personal configuration files. * Configuration ** Installation #+BEGIN_SRC shell -./install +chezmoi apply #+END_SRC ** Find & delete orphaned symlinks #+BEGIN_SRC shell diff --git a/alacritty/.config/alacritty/alacritty.yml.thinkpad b/alacritty/.config/alacritty/alacritty.yml.thinkpad deleted file mode 100644 index c8db148..0000000 --- a/alacritty/.config/alacritty/alacritty.yml.thinkpad +++ /dev/null @@ -1,54 +0,0 @@ -window: - dynamic_padding: true - opacity: 0.8 - -font: - normal: - family: Hack Nerd Font Mono - - style: Regular - - bold: - family: Hack nerd Font Mono - - style: Bold - - italic: - family: Hack nerd Font Mono - - style: Italic - - bold_italic: - family: Hack nerd Font Mono - - style: Bold Italic - - size: 8.5 - -colors: - primary: - background: "0x282828" - foreground: "0xebdbb2" - - normal: - black: "0x282828" - red: "0xcc241d" - green: "0x98971a" - yellow: "0xd79921" - blue: "0x458588" - magenta: "0xb16286" - cyan: "0x689d6a" - white: "0xa89984" - - bright: - black: "0x928374" - red: "0xfb4934" - green: "0xb8bb26" - yellow: "0xfabd2f" - blue: "0x83a598" - magenta: "0xd3869b" - cyan: "0x8ec07c" - white: "0xebdbb2" - -selection: - save_to_clipboard: true diff --git a/bin/.local/bin/calendar b/bin/.local/bin/calendar deleted file mode 100755 index 118cb6d..0000000 --- a/bin/.local/bin/calendar +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env fish - -khal list -read -s -n 1 diff --git a/bspwm/.local/bin/screen_desktop b/bspwm/.local/bin/screen_desktop deleted file mode 100755 index 6d7d0f9..0000000 --- a/bspwm/.local/bin/screen_desktop +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env sh - -xrandr --output DP-3 --primary --mode 3840x2160 --rotate normal --output DP-2 --mode 2560x1440 --pos 0x0 --rotate left diff --git a/bspwm/.local/bin/wallpaper b/bspwm/.local/bin/wallpaper deleted file mode 100755 index 23f8beb..0000000 --- a/bspwm/.local/bin/wallpaper +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env sh - -if [ -e ~/.cache/wall1.png ] && [ -e ~/.cache/wall2.png ]; then - xwallpaper --output DP-2 --zoom ~/.cache/wall2.png --output DP-3 --zoom ~/.cache/wall1.png & -elif [ -e ~/.cache/wall1.png ]; then - xwallpaper --output eDP1 --zoom ~/.cache/wall1.png & -fi diff --git a/castero/.config/castero/castero.conf b/castero/.config/castero/castero.conf deleted file mode 100644 index 882efaf..0000000 --- a/castero/.config/castero/castero.conf +++ /dev/null @@ -1,288 +0,0 @@ -# castero configuration file -# https://github.com/xgi/castero - - -[client] -# Whether to ask for confirmation before deleting a feed. -# default: False -delete_feed_confirmation = False - -# The minimum number of feeds before the client asks you for confirmation -# after pressing the reload key. -# default: 10 -reload_feeds_threshold = 10 - -# The maximum number of episodes to retain per feed. Set to -1 for no limit. -# default: -1 -max_episodes = 25 - -# Whether to keep episodes in the client even if they are no longer present on -# the feed (i.e. the RSS feed only shows the x most recent episodes). -# default: False -retain_absent_episodes = False - -# Hide vertical borders between menus. -# default: False -disable_vertical_borders = False - -# Whether to remove HTML tags from feed/episode descriptions. -# default: True -clean_html_descriptions = True - -# The display refresh delay, in ms. Increase to reduce idle CPU usage. -# default: 30 -refresh_delay = 70 - -# The external player to use for media playback. -# If the given player is not valid or a dependency is not met, the client will -# instead try to use the first valid interface. -# Available players (in order of precedence): -# mpv, vlc -# default: (blank) -player = - -# The command to run when you press key_execute (default e). All instances of -# the following tokens are replaced with the corresponding episode attributes: -# {file} - the episode enclosure, usually a remote mp3 file -# {title} - the episode name -# {description} - the episode description -# {link} - the link to the episode, which is often a blog post -# {pubdate} - the publish date/time of the episode -# {copyright} - the copyright of the episode -# Most of these attributes have spaces, so you will probably want to enclose -# the token with quotations. -# For example, `firefox "{file}"` would open the file in Firefox. -# The client executes the text you enter as a shell command. Use with caution! -# default: (blank) -execute_command = - -# An HTTP or SOCKS proxy to use for HTTP network requests. -# example: http://user:pass@10.10.1.10:3128 -# example: socks5://user:pass@host:port -# default: (blank) -proxy_http = - -# An HTTP or SOCKS proxy to use for HTTPS network requests. -# example: http://user:pass@10.10.1.10:3128 -# example: socks5://user:pass@host:port -# default: (blank) -proxy_https = - - -[feeds] -# Whether to reload/refresh your feeds when the client starts. Depending on how -# many feeds you have, this operation may take a long time. -# default: False -reload_on_start = False - - -[downloads] -# The (absolute) location to save episodes downloaded for offline playback. Set -# to blank or whitespaces to disable -- the client will default to either -# $XDG_DATA_DIR, if set, otherwise ~/.local/share/castero/downloaded -# default: (blank) -custom_download_dir = - -# The timeout for network requests, in seconds. The same value is used for -# connection and read timeouts. -# default: 3 -request_timeout = 3 - - -[colors] -# Available colors for all fields are: -# black, blue, cyan, green, magenta, red, white, yellow, transparent (background), -# integer from -1 to 255 if terminal supports 256 colors -# NOTE: Background transparency only works on compatible terminals with compositing - -# The foreground (text) color of the main interface. -# default: yellow -color_foreground = yellow - -# The background color of the main interface. -# default: black -color_background = black - -# The foreground (text) color of selected items. -# default: black -color_foreground_alt = black - -# The background color of selected items. -# default: white -color_background_alt = white - -# The foreground (text) color of marked items. Paired with color_background. -# default: green -color_foreground_dim = green - -# The foreground (text) color of status lines. Paired with color_background. -# default: white -color_foreground_status = white - -# The foreground (text) color of menu headings. Paired with color_background. -# default: yellow -color_foreground_heading = yellow - -# The foreground (text) color of dividers. Paired with color_background. -# default: white -color_foreground_dividers = white - - -[playback] -# The distance to move forward when pressing seek keys, in seconds. -# default: 30 -seek_distance_forward = 30 - -# The distance to move backward when pressing seek keys, in seconds. -# default: 10 -seek_distance_backward = 10 - -# The default playback speed. See also the rate_increase/rate_decrease keys. -# default: 1.0 -default_playback_speed = 1.0 - -# The default volume. Can be 0-100, inclusive. -# default: 100 -default_volume = 100 - -# The amount to adjust the volume when pressing the volume up/down keys. -# default: 5 -volume_adjust_distance = 5 - - -[keys] -# Keybindings for controlling the client. Entries may not be blank, but may -# overlap -- however, only one operation will be performed for each key press. -# Please see this page for a list of available key names: -# https://docs.python.org/3/library/curses.html#constants - -# Show the help menu. -# default: h -key_help = ? - -# Exit the client -# default: q -key_exit = q - -# Add a feed. -# default: a -key_add_feed = a - -# Remove the selected feed. -# default: d -key_remove = d - -# Reload/refresh all feeds. -# default: r -key_reload = r - -# Reload/refresh the selected feed. -# default: R -key_reload_selected = R - -# Save episode for offline playback. -# default: s -key_save = s - -# Delete downloaded episodes. -# default: x -key_delete = x - -# Navigate up. -# default: UP -key_up = k - -# Navigate right. -# default: RIGHT -key_right = l - -# Navigate down. -# default: DOWN -key_down = j - -# Navigate left. -# default: LEFT -key_left = h - -# Scroll menu up. -# default: PPAGE -key_scroll_up = PPAGE - -# Scroll menu down. -# default: NPAGE -key_scroll_down = NPAGE - -# Play selected feed/episode. -# default: ENTER -key_play_selected = ENTER - -# Add selected feed/episode to queue. -# default: SPACE -key_add_selected = SPACE - -# Clear the queue. -# default: c -key_clear = c - -# Go to the next episode in the queue. -# default: n -key_next = n - -# Execute a command on the selected episode. See also execute_command. -key_execute = e - -# Invert the order of the menu. -# default: i -key_invert = i - -# Filter the contents of the menu. Press again to clear the filter. -# default: / -key_filter = / - -# Mark the episode as played/unplayed. -# default: i -key_mark_played = m - -# Pause/play the current episode. -# default: p -key_pause_play = p - -# Alternate binding for key_pause_play -- make identical to disable. -# default: k -key_pause_play_alt = k - -# Seek forward. -# default: f -key_seek_forward = f - -# Alternate binding for key_seek_forward -- make identical to disable. -# default: l -key_seek_forward_alt = > - -# Seek backward. -# default: b -key_seek_backward = b - -# Alternate binding for key_seek_backward -- make identical to disable. -# default: j -key_seek_backward_alt = < - -# Increase playback speed. -# default: ] -key_rate_increase = ] - -# Decrease playback speed. -# default: [ -key_rate_decrease = [ - -# Increase volume. -# default: = -key_volume_increase = = - -# Decrease volume. -# default: - -key_volume_decrease = - - -# Show episode URL. -# default: u -key_show_url = u diff --git a/clean-dead-symlinks b/clean-dead-symlinks deleted file mode 100755 index 6516c10..0000000 --- a/clean-dead-symlinks +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env sh - -find ~ -type l -exec test ! -e {} \; -delete diff --git a/dmenu/.local/bin/oath-dmenu b/dmenu/.local/bin/oath-dmenu deleted file mode 100755 index b1adf81..0000000 --- a/dmenu/.local/bin/oath-dmenu +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env fish - -. ~/.cache/wal/colors.fish -yubikey-oath-dmenu --clipboard --clipboard-cmd 'xclip -selection clipboard' --notify --menu-cmd "dmenu -nb \"$color0\" -nf \"$color15\" -sb \"$color1\" -sf \"$color15\" -fn \"FuraCode Nerd Font\"" diff --git a/dmenu/.local/bin/pass-dmenu b/dmenu/.local/bin/pass-dmenu deleted file mode 100755 index edaf3dd..0000000 --- a/dmenu/.local/bin/pass-dmenu +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env fish - -. ~/.cache/wal/colors.fish -PASSWORD_STORE_DIR=$PASSWORD_STORE_DIR passmenu -p Password: -nb "$color0" -nf "$color15" -sb "$color1" -sf "$color15" -fn "FuraCode Nerd Font" diff --git a/tuir/.mailcap b/dot_mailcap similarity index 100% rename from tuir/.mailcap rename to dot_mailcap diff --git a/dunst/.config/dunst/dunstrc b/dunst/.config/dunst/dunstrc deleted file mode 120000 index 125bab7..0000000 --- a/dunst/.config/dunst/dunstrc +++ /dev/null @@ -1 +0,0 @@ -dunstrc.desktop \ No newline at end of file diff --git a/dunst/.config/dunst/dunstrc.thinkpad b/dunst/.config/dunst/dunstrc.thinkpad deleted file mode 100644 index b7c5d32..0000000 --- a/dunst/.config/dunst/dunstrc.thinkpad +++ /dev/null @@ -1,148 +0,0 @@ -[global] - monitor = 0 - follow = keyboard - geometry = "0x0-30+20" - indicate_hidden = yes - shrink = no - transparency = 0 - notification_height = 0 - separator_height = 2 - padding = 0 - horizontal_padding = 8 - frame_width = 3 - frame_color = "#aaaaaa" - - # 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 = JoyPixels 12, Hack Nerd Font Mono 12 - - 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 = center - show_age_threshold = 60 - word_wrap = yes - ellipsize = middle - ignore_newline = no - stack_duplicates = true - hide_duplicate_count = false - show_indicators = yes - icon_position = left - max_icon_size = 32 - icon_path = /usr/share/icons/Papirus-Dark/24x24/panel/:/usr/share/icons/Papirus-Dark/24x24/devices/:/usr/share/icons/Papirus-Dark/24x24/apps/:/usr/share/icons/Papirus-Dark/24x24/actions/ - sticky_history = yes - history_length = 20 - dmenu = dmenu -p dunst: - browser = /usr/local/bin/brave - - # Always run rule-defined scripts, even if the notification is suppressed - always_run_script = true - - title = Dunst - class = Dunst - startup_notification = false - corner_radius = 5 - force_xinerama = false -[experimental] - per_monitor_dpi = false - -[shortcuts] - close = ctrl+space - close_all = ctrl+shift+space - history = ctrl+grave - context = ctrl+shift+period - -# 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 - -[urgency_low] - background = "#2b2b2b" - foreground = "#ffffff" - -[urgency_normal] - background = "#2b2b2b" - foreground = "#ffffff" - -[urgency_critical] - background = "#900000" - foreground = "#ffffff" - frame_color = "#ff0000" diff --git a/emacs/.config/emacs/init.el b/emacs/.config/emacs/init.el deleted file mode 100644 index a68b927..0000000 --- a/emacs/.config/emacs/init.el +++ /dev/null @@ -1,16 +0,0 @@ -(org-babel-load-file - (expand-file-name - "config.org" - user-emacs-directory)) -(custom-set-variables - ;; custom-set-variables was added by Custom. - ;; If you edit it by hand, you could mess it up, so be careful. - ;; Your init file should contain only one such instance. - ;; If there is more than one, they won't work right. - '(package-selected-packages '(evil-collection evil use-package))) -(custom-set-faces - ;; custom-set-faces was added by Custom. - ;; If you edit it by hand, you could mess it up, so be careful. - ;; Your init file should contain only one such instance. - ;; If there is more than one, they won't work right. - ) diff --git a/install b/install deleted file mode 100755 index 1bd6c36..0000000 --- a/install +++ /dev/null @@ -1,170 +0,0 @@ -#!/usr/bin/env fish - -# Prerequisite & inistalled apps -set prerequisiteApps bat bmon broot brave caffeine-ng exa fslint fzf graphviz isync imagemagick lightdm-gtk-greeter mailcap neofetch npm pandoc-bin pamixer playerctl pulseaudio pulsemixer python pywal ripgrep stow sxiv tldr trayer udisks2 unclutter xbanish xwallpaper yarn xprop zathura the_silver_searcher fd -set prerequisiteFonts ttf-linux-libertine noto-fonts noto-fonts-emoji ttf-liberation nerd-fonts-hack -set prerequisiteLibraries libxft-bgra -set configuredApps alacritty bspwm castero emacs firejail git gnupg gtk lf dunst mpd mpv mpv-mpris ncmpcpp neomutt neovim picom redshift sxhkd tmux tuir weechat -set locales aspell-en hunspell-en_GB hunspell-en_US hunspell-nl -set golang go golangci-lint-bin -set shell shfmt shellcheck -set screenlock xsecurelock xss-lock -set dmenu clipmenu - -function mkdir_if_not_exist - if [ ! -d "$argv" ] - echo "Creating directory $argv" - mkdir -p "$argv" - end -end - -function install_omf_package_if_not_exist - if test (omf list | grep -c "$argv") -eq 0 - echo "Installing omf package $argv" - omf install "$argv" - end -end - -function install_yarn_package_if_not_exist - if ! yarn global list lighthouse >/dev/null 2>&1 - echo "Installing yarn package $argv" - yarn global add "$argv" - end -end - -function install_app_if_not_exist - if test (pacman -Q | grep -c "$argv") -eq 0 - echo "Installing missing package $argv" - yay -S --noconfirm "$argv" - end -end - -for app in $prerequisiteApps - install_app_if_not_exist "$app" -end - -for font in $prerequisiteFonts - install_app_if_not_exist "$font" -end - -for library in $prerequisiteLibraries - install_app_if_not_exist "$library" -end - -for app in $configuredApps - install_app_if_not_exist "$app" -end - -for locale in $locales - install_app_if_not_exist "$locale" -end - -for go in $golang - install_app_if_not_exist "$go" -end - -for sh in $shell - install_app_if_not_exist "$sh" -end - -for lock in $screenlock - install_app_if_not_exist "$lock" -end - -for script in $dmenu - install_app_if_not_exist "$script" -end - -# Create directories that need to exist -mkdir_if_not_exist ~/.cache/mpd -mkdir_if_not_exist ~/.config/alacritty -mkdir_if_not_exist ~/.config/nvim -mkdir_if_not_exist ~/.config/fish -mkdir_if_not_exist ~/.config/git -mkdir_if_not_exist ~/.config/msmtp -mkdir_if_not_exist ~/.config/omf -mkdir_if_not_exist ~/.config/polybar/bin -mkdir_if_not_exist ~/.config/mpd -mkdir_if_not_exist ~/.config/systemd/user -mkdir_if_not_exist ~/.config/wal -mkdir_if_not_exist ~/.config/weechat -mkdir_if_not_exist ~/.config/X11 -mkdir_if_not_exist ~/.gnupg -mkdir_if_not_exist ~/.config/mpv/scripts -mkdir_if_not_exist ~/.config/coc/extensions -mkdir_if_not_exist ~/.config/dmenu-frecency -mkdir_if_not_exist ~/.config/doom -mkdir_if_not_exist ~/.config/emacs -mkdir_if_not_exist ~/.config/sxhkd -mkdir_if_not_exist ~/.local/share/applications - - -# Link mpv plugins if they don't exist -if [ ! -h ~/.config/mpv/scripts/mpris.so ] - echo "Linking mpris.so" - ln -s /usr/lib/mpv/mpris.so ~/.config/mpv/scripts/mpris.so -end - -for d in (find -- */ -maxdepth 0 -type d | grep -v node_modules | cut -f1 -d '/') - echo "Linking $d..." - stow -t "$HOME" "$d" -end - -# Refresh xgd -if test (grep -c 'x-scheme-handler/org-protocol=org-protocol.desktop' ~/.config/mimeapps.list) -eq 0 - echo "Refreshing xgd to handle org-protocol" - update-desktop-database ~/.local/share/applications/ - xdg-mime default org-protocol.desktop x-scheme-handler/org-protocol -end - -# Install oh-my-fish if it isn't installed -if [ ! -d ~/.local/share/omf ] - curl -L https://get.oh-my.fish | fish -end - -# Install oh-my-fish plugins -install_omf_package_if_not_exist colored-man-pages -install_omf_package_if_not_exist extract -install_omf_package_if_not_exist fzf -install_omf_package_if_not_exist gi -install_omf_package_if_not_exist git-flow -install_omf_package_if_not_exist wttr - -# Install vim plugins & requirements -if test (pip list --user | grep -c 'pynvim') -ne 1 - pip install --user pynvim -end - -# Install plug package manager if it doesn't exist -if [ ! -d ~/.config/nvim/plugged ] - curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs \ - https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim -end - -# Install Neovim plugins -nvim +PlugInstall +qall - -# Install Neovim coc extensions -yarn --cwd ~/.config/coc/extensions install - -# Install yarn packages -install_yarn_package_if_not_exist lighthouse - -# Setup broot if not done already -if [ ! -d ~/.local/share/broot ] - broot --install -end - -# Polybar scripts if not installed already -if [ ! -d ~/.local/share/polybar-scripts ] - git clone https://github.com/polybar/polybar-scripts ~/.local/share/polybar-scripts -end - -# Update fish completions (auto generated from man pages) -fish_update_completions - -# Notify user to manually symlink files -if [ -n "$argv[1]" ] - printf "\n\nDon't forget to symlink these files:\n\n" - find ~ \( -type l -o -type f \) -name "*.$argv[1]" -exec ls -al {} \; -end diff --git a/lfcd/.local/bin/generate-lock-image b/lfcd/.local/bin/generate-lock-image deleted file mode 100755 index e6c49e1..0000000 --- a/lfcd/.local/bin/generate-lock-image +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env sh - -betterlockscreen -u $1 diff --git a/newsboat/.config/systemd/user/newsup.service b/newsboat/.config/systemd/user/newsup.service deleted file mode 100644 index 3443e7d..0000000 --- a/newsboat/.config/systemd/user/newsup.service +++ /dev/null @@ -1,5 +0,0 @@ -[Unit] -Description=Newsboat RSS Feed Update Daemon - -[Service] -ExecStart=%h/.local/bin/newsup diff --git a/newsboat/.config/systemd/user/newsup.timer b/newsboat/.config/systemd/user/newsup.timer deleted file mode 100644 index d1aeea1..0000000 --- a/newsboat/.config/systemd/user/newsup.timer +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=Newsboat RSS Feed Update Timer - -[Timer] -OnBootSec=2m -OnUnitActiveSec=5m -Unit=newsup.service - -[Install] -WantedBy=timers.target diff --git a/newsboat/.local/bin/newsup b/newsboat/.local/bin/newsup deleted file mode 100755 index 5333e3e..0000000 --- a/newsboat/.local/bin/newsup +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -export DISPLAY=":0.0" -ping -q -c 1 example.org >/dev/null || exit -/usr/bin/notify-send "📰 Updating RSS feeds..." - -pgrep -f newsboat$ && /usr/bin/xdotool key --window "$(/usr/bin/xdotool search --name newsboat)" R && exit -echo "📰📻🔃" >/tmp/newsupdate -pkill -RTMIN+4 "${STATUSBAR:-dwmblocks}" -/usr/bin/newsboat -x reload -rm -f /tmp/newsupdate -pkill -RTMIN+4 "${STATUSBAR:-dwmblocks}" -/usr/bin/notify-send "📰 RSS feed update complete." diff --git a/newsboat/.local/bin/notify-rss b/newsboat/.local/bin/notify-rss deleted file mode 100755 index 849ea17..0000000 --- a/newsboat/.local/bin/notify-rss +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env sh - -pkill -RTMIN+4 "${STATUSBAR:-dwmblocks}" -notify-send.py -a Newsboat -i rssowl Rss "$1" & diff --git a/polybar/.config/polybar/bin/wttr-and-wait b/polybar/.config/polybar/bin/wttr-and-wait deleted file mode 100755 index ecc935b..0000000 --- a/polybar/.config/polybar/bin/wttr-and-wait +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env fish - -wttr && read -n 1 -p "" diff --git a/polybar/.local/bin/polybar-desktop b/polybar/.local/bin/polybar-desktop deleted file mode 100755 index cbc0e29..0000000 --- a/polybar/.local/bin/polybar-desktop +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/env fish - -# Terminate already running bar instances -killall -q polybar - -# Wait until the processes have been shut down -while pgrep -u (id -u) -x polybar >/dev/null - sleep 1 -end - -# Launch bar1 and bar2 -polybar monitor1 & -polybar monitor2 & - -echo "Bars launched..." diff --git a/polybar/.local/bin/polybar-laptop b/polybar/.local/bin/polybar-laptop deleted file mode 100755 index 0f1cff9..0000000 --- a/polybar/.local/bin/polybar-laptop +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/env fish - -# Terminate already running bar instances -killall -q polybar - -# Wait until the processes have been shut down -while pgrep -u (id -u) -x polybar >/dev/null - sleep 1 -end - -# Launch bar1 and bar2 -polybar laptop-top & -polybar laptop-bottom & - -echo "Bars launched..." diff --git a/private_dot_config/X11/xinitrc b/private_dot_config/X11/xinitrc new file mode 100755 index 0000000..9246520 --- /dev/null +++ b/private_dot_config/X11/xinitrc @@ -0,0 +1,3 @@ +#!/bin/sh + +exec awesome diff --git a/x/.config/X11/.Xresources.desktop b/private_dot_config/X11/xresources.tmpl similarity index 82% rename from x/.config/X11/.Xresources.desktop rename to private_dot_config/X11/xresources.tmpl index 8afabd0..4589a16 100644 --- a/x/.config/X11/.Xresources.desktop +++ b/private_dot_config/X11/xresources.tmpl @@ -2,6 +2,7 @@ ! Xft settings !------------------------------------------------------------------------------- +{{ if ne .type "desktop" }}Xft.dpi: 160{{ end }} Xft.antialias: false Xft.rgba: rgb Xft.hinting: true diff --git a/alacritty/.config/alacritty/alacritty.yml.desktop b/private_dot_config/alacritty/alacritty.yml.tmpl similarity index 92% rename from alacritty/.config/alacritty/alacritty.yml.desktop rename to private_dot_config/alacritty/alacritty.yml.tmpl index 3313c29..d1e3f9d 100644 --- a/alacritty/.config/alacritty/alacritty.yml.desktop +++ b/private_dot_config/alacritty/alacritty.yml.tmpl @@ -23,7 +23,7 @@ font: style: Bold Italic - size: 6.5 + size: {{ if eq .type "desktop" }}6.5{{ else }}8.5{{ end }} colors: primary: diff --git a/private_dot_config/awesome/autorun.sh b/private_dot_config/awesome/autorun.sh new file mode 100755 index 0000000..2e2e45a --- /dev/null +++ b/private_dot_config/awesome/autorun.sh @@ -0,0 +1,59 @@ +#!/bin/sh + +run() { + if ! pgrep -f "$1"; then + "$@" & + fi +} + +###---Load xresources---### +xrdb -load ~/.config/X11/xresources + +###---Keyboard---### +setxkbmap -option caps:escape + +###---Get monitor count---### +SCREENCOUNT=$(xrandr | grep -c "\*") + +###---Monitors---### +if [ "$SCREENCOUNT" -eq 2 ]; then + if [ -f "$HOME/.local/bin/screen_desktop" ]; then + screen_desktop + fi +else + if [ -f "$HOME/.local/bin/screen" ]; then + screen + fi +fi + +###---Wallpaper & opacity---### +~/.local/bin/wallpaper +wal -n -R +picom -b + +run unclutter +run xbanish +run nm-applet +run pasystray +run redshift-gtk +run syncthing-gtk +run caffeine +run clipmenud + +run firefox +run emacs +run gpodder +run spotify + +if [ "$SCREENCOUNT" -eq 2 ]; then + run slack +fi + +###---System lock---### +pkill -f xss-lock +xset s 300 5 +env XSECURELOCK_FONT="Hack Nerd Font" xss-lock -n /usr/lib/xsecurelock/dimmer -l -- xsecurelock & + +###---Misc---### +# Needed for Jetbrains products to work +wmname LG3D & diff --git a/private_dot_config/awesome/rc.lua b/private_dot_config/awesome/rc.lua new file mode 100644 index 0000000..ee787d4 --- /dev/null +++ b/private_dot_config/awesome/rc.lua @@ -0,0 +1,552 @@ +-- If LuaRocks is installed, make sure that packages installed through it are +-- found (e.g. lgi). If LuaRocks is not installed, do nothing. +pcall(require, "luarocks.loader") + +-- Standard awesome library +local gears = require("gears") +local awful = require("awful") +require("awful.autofocus") +-- Widget and layout library +local wibox = require("wibox") +-- Theme handling library +local beautiful = require("beautiful") +-- Notification library +local naughty = require("naughty") +local menubar = require("menubar") +local hotkeys_popup = require("awful.hotkeys_popup") +-- Enable hotkeys help widget for VIM and other apps +-- when client with a matching name is opened: +require("awful.hotkeys_popup.keys") + +-- {{{ Error handling +-- Check if awesome encountered an error during startup and fell back to +-- another config (This code will only ever execute for the fallback config) +if awesome.startup_errors then + naughty.notify({ preset = naughty.config.presets.critical, + title = "Oops, there were errors during startup!", + text = awesome.startup_errors }) +end + +-- Handle runtime errors after startup +do + local in_error = false + awesome.connect_signal("debug::error", function (err) + -- Make sure we don't go into an endless error loop + if in_error then return end + in_error = true + + naughty.notify({ preset = naughty.config.presets.critical, + title = "Oops, an error happened!", + text = tostring(err) }) + in_error = false + end) +end +-- }}} + +-- {{{ Variable definitions +-- Themes define colours, icons, font and wallpapers. +-- beautiful.init(gears.filesystem.get_configuration_dir() .. "/themes/default/theme.lua") +local theme_path = string.format("%s/.config/awesome/themes/%s/theme.lua", os.getenv("HOME"), "default") +beautiful.init(theme_path) + +-- Use correct status icon size +awesome.set_preferred_icon_size(32) + +-- Enable gaps +beautiful.useless_gap = 3 +beautiful.gap_single_client = true + +-- This is used later as the default terminal and editor to run. +terminal = "alacritty" +editor = os.getenv("EDITOR") or "nvim" +editor_cmd = terminal .. " -e " .. editor + +-- Default modkey. +-- Usually, Mod4 is the key with a logo between Control and Alt. +-- If you do not like this or do not have such a key, +-- I suggest you to remap Mod4 to another key using xmodmap or other tools. +-- However, you can use another modifier like Mod1, but it may interact with others. +modkey = "Mod4" + +-- Table of layouts to cover with awful.layout.inc, order matters. +awful.layout.layouts = { + awful.layout.suit.tile, + awful.layout.suit.tile.left, + awful.layout.suit.tile.bottom, + awful.layout.suit.tile.top, + awful.layout.suit.spiral, + awful.layout.suit.floating, +} + +-- }}} + + +mylauncher = awful.widget.launcher({ image = beautiful.awesome_icon, + menu = mymainmenu }) + +-- Menubar configuration +menubar.utils.terminal = terminal -- Set the terminal for applications that require it +-- }}} + +-- Keyboard map indicator and switcher +mykeyboardlayout = awful.widget.keyboardlayout() + +-- {{{ Wibar +-- Create a textclock widget +mytextclock = wibox.widget.textclock() + +-- Create a wibox for each screen and add it +local taglist_buttons = gears.table.join( + awful.button({ }, 1, function(t) t:view_only() end), + awful.button({ modkey }, 1, function(t) + if client.focus then + client.focus:move_to_tag(t) + end + end), + awful.button({ }, 3, awful.tag.viewtoggle), + awful.button({ modkey }, 3, function(t) + if client.focus then + client.focus:toggle_tag(t) + end + end), + awful.button({ }, 4, function(t) awful.tag.viewnext(t.screen) end), + awful.button({ }, 5, function(t) awful.tag.viewprev(t.screen) end) + ) + +local tasklist_buttons = gears.table.join( + awful.button({ }, 1, function (c) + if c == client.focus then + c.minimized = true + else + c:emit_signal( + "request::activate", + "tasklist", + {raise = true} + ) + end + end), + awful.button({ }, 3, function() + awful.menu.client_list({ theme = { width = 250 } }) + end), + awful.button({ }, 4, function () + awful.client.focus.byidx(1) + end), + awful.button({ }, 5, function () + awful.client.focus.byidx(-1) + end)) + +local function set_wallpaper(s) + -- Wallpaper + if beautiful.wallpaper then + local wallpaper = beautiful.wallpaper + -- If wallpaper is a function, call it with the screen + if type(wallpaper) == "function" then + wallpaper = wallpaper(s) + end + gears.wallpaper.maximized(wallpaper, s, true) + end +end + +-- Re-set wallpaper when a screen's geometry changes (e.g. different resolution) +screen.connect_signal("property::geometry", set_wallpaper) + +awful.screen.connect_for_each_screen(function(s) + -- Wallpaper + set_wallpaper(s) + + -- Each screen has its own tag table. + awful.tag({ "1", "2", "3", "4", "5", "6", "7", "8", "9" }, s, awful.layout.layouts[1]) + + -- Create a promptbox for each screen + s.mypromptbox = awful.widget.prompt() + -- Create an imagebox widget which will contain an icon indicating which layout we're using. + -- We need one layoutbox per screen. + s.mylayoutbox = awful.widget.layoutbox(s) + s.mylayoutbox:buttons(gears.table.join( + awful.button({ }, 1, function () awful.layout.inc( 1) end), + awful.button({ }, 3, function () awful.layout.inc(-1) end), + awful.button({ }, 4, function () awful.layout.inc( 1) end), + awful.button({ }, 5, function () awful.layout.inc(-1) end))) + -- Create a taglist widget + s.mytaglist = awful.widget.taglist { + screen = s, + filter = awful.widget.taglist.filter.all, + buttons = taglist_buttons + } + + -- Create a tasklist widget + s.mytasklist = awful.widget.tasklist { + screen = s, + filter = awful.widget.tasklist.filter.currenttags, + buttons = tasklist_buttons + } + + -- Create the wibox + s.mywibox = awful.wibar({ position = "top", screen = s }) + + -- Add widgets to the wibox + s.mywibox:setup { + layout = wibox.layout.align.horizontal, + { -- Left widgets + layout = wibox.layout.fixed.horizontal, + mylauncher, + s.mytaglist, + s.mypromptbox, + }, + s.mytasklist, -- Middle widget + { -- Right widgets + layout = wibox.layout.fixed.horizontal, + mykeyboardlayout, + wibox.widget.systray(), + mytextclock, + s.mylayoutbox, + }, + } +end) +-- }}} + +-- {{{ Mouse bindings +root.buttons(gears.table.join( + awful.button({ }, 3, function () mymainmenu:toggle() end), + awful.button({ }, 4, awful.tag.viewnext), + awful.button({ }, 5, awful.tag.viewprev) +)) +-- }}} + +-- {{{ Key bindings +globalkeys = gears.table.join( + awful.key({ modkey, }, "s", hotkeys_popup.show_help, + {description="show help", group="awesome"}), + awful.key({ modkey, }, "Left", awful.tag.viewprev, + {description = "view previous", group = "tag"}), + awful.key({ modkey, }, "Right", awful.tag.viewnext, + {description = "view next", group = "tag"}), + awful.key({ modkey, }, "Escape", awful.tag.history.restore, + {description = "go back", group = "tag"}), + + awful.key({ modkey, }, "j", + function () + awful.client.focus.byidx( 1) + end, + {description = "focus next by index", group = "client"} + ), + awful.key({ modkey, }, "k", + function () + awful.client.focus.byidx(-1) + end, + {description = "focus previous by index", group = "client"} + ), + + -- Layout manipulation + awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end, + {description = "swap with next client by index", group = "client"}), + awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( -1) end, + {description = "swap with previous client by index", group = "client"}), + awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_relative( 1) end, + {description = "focus the next screen", group = "screen"}), + awful.key({ modkey, "Control" }, "k", function () awful.screen.focus_relative(-1) end, + {description = "focus the previous screen", group = "screen"}), + awful.key({ modkey, }, "u", awful.client.urgent.jumpto, + {description = "jump to urgent client", group = "client"}), + awful.key({ modkey, }, "Tab", + function () + awful.client.focus.history.previous() + if client.focus then + client.focus:raise() + end + end, + {description = "go back", group = "client"}), + + -- Standard program + awful.key({ modkey, }, "BackSpace", function () awful.spawn(terminal) end, + {description = "open a terminal", group = "launcher"}), + awful.key({ modkey, "Control" }, "r", awesome.restart, + {description = "reload awesome", group = "awesome"}), + awful.key({ modkey, "Shift" }, "q", awesome.quit, + {description = "quit awesome", group = "awesome"}), + + awful.key({ modkey, }, "l", function () awful.tag.incmwfact( 0.05) end, + {description = "increase master width factor", group = "layout"}), + awful.key({ modkey, }, "h", function () awful.tag.incmwfact(-0.05) end, + {description = "decrease master width factor", group = "layout"}), + awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1, nil, true) end, + {description = "increase the number of master clients", group = "layout"}), + awful.key({ modkey, "Shift" }, "l", function () awful.tag.incnmaster(-1, nil, true) end, + {description = "decrease the number of master clients", group = "layout"}), + awful.key({ modkey, "Control" }, "h", function () awful.tag.incncol( 1, nil, true) end, + {description = "increase the number of columns", group = "layout"}), + awful.key({ modkey, "Control" }, "l", function () awful.tag.incncol(-1, nil, true) end, + {description = "decrease the number of columns", group = "layout"}), + awful.key({ modkey, }, "space", function () awful.layout.inc( 1) end, + {description = "select next", group = "layout"}), + awful.key({ modkey, "Shift" }, "space", function () awful.layout.inc(-1) end, + {description = "select previous", group = "layout"}), + + awful.key({ modkey, "Control" }, "n", + function () + local c = awful.client.restore() + -- Focus restored client + if c then + c:emit_signal( + "request::activate", "key.unminimize", {raise = true} + ) + end + end, + {description = "restore minimized", group = "client"}), + + -- Prompt + awful.key({ modkey }, "r", function () awful.screen.focused().mypromptbox:run() end, + {description = "run prompt", group = "launcher"}), + + awful.key({ modkey }, "x", + function () + awful.prompt.run { + prompt = "Run Lua code: ", + textbox = awful.screen.focused().mypromptbox.widget, + exe_callback = awful.util.eval, + history_path = awful.util.get_cache_dir() .. "/history_eval" + } + end, + {description = "lua execute prompt", group = "awesome"}), + -- Menubar + awful.key({ modkey }, "Delete", function() menubar.show() end, + {description = "show the menubar", group = "launcher"}) + +) + +clientkeys = gears.table.join( + awful.key({ modkey, }, "f", + function (c) + c.fullscreen = not c.fullscreen + c:raise() + end, + {description = "toggle fullscreen", group = "client"}), + awful.key({ modkey, }, "w", function (c) c:kill() end, + {description = "close", group = "client"}), + awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle , + {description = "toggle floating", group = "client"}), + awful.key({ modkey }, "End", function (c) c:swap(awful.client.getmaster()) end, + {description = "move to master", group = "client"}), + awful.key({ modkey, }, "o", function (c) c:move_to_screen() end, + {description = "move to screen", group = "client"}), + awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end, + {description = "toggle keep on top", group = "client"}), + awful.key({ modkey, }, "n", + function (c) + -- The client currently has the input focus, so it cannot be + -- minimized, since minimized clients can't have the focus. + c.minimized = true + end , + {description = "minimize", group = "client"}), + awful.key({ modkey, }, "m", + function (c) + c.maximized = not c.maximized + c:raise() + end , + {description = "(un)maximize", group = "client"}), + awful.key({ modkey, "Control" }, "m", + function (c) + c.maximized_vertical = not c.maximized_vertical + c:raise() + end , + {description = "(un)maximize vertically", group = "client"}), + awful.key({ modkey, "Shift" }, "m", + function (c) + c.maximized_horizontal = not c.maximized_horizontal + c:raise() + end , + {description = "(un)maximize horizontally", group = "client"}) +) + +-- Bind all key numbers to tags. +-- Be careful: we use keycodes to make it work on any keyboard layout. +-- This should map on the top row of your keyboard, usually 1 to 9. +for i = 1, 9 do + globalkeys = gears.table.join(globalkeys, + -- View tag only. + awful.key({ modkey }, "#" .. i + 9, + function () + local screen = awful.screen.focused() + local tag = screen.tags[i] + if tag then + tag:view_only() + end + end, + {description = "view tag #"..i, group = "tag"}), + -- Toggle tag display. + awful.key({ modkey, "Control" }, "#" .. i + 9, + function () + local screen = awful.screen.focused() + local tag = screen.tags[i] + if tag then + awful.tag.viewtoggle(tag) + end + end, + {description = "toggle tag #" .. i, group = "tag"}), + -- Move client to tag. + awful.key({ modkey, "Shift" }, "#" .. i + 9, + function () + if client.focus then + local tag = client.focus.screen.tags[i] + if tag then + client.focus:move_to_tag(tag) + end + end + end, + {description = "move focused client to tag #"..i, group = "tag"}), + -- Toggle tag on focused client. + awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9, + function () + if client.focus then + local tag = client.focus.screen.tags[i] + if tag then + client.focus:toggle_tag(tag) + end + end + end, + {description = "toggle focused client on tag #" .. i, group = "tag"}) + ) +end + +clientbuttons = gears.table.join( + awful.button({ }, 1, function (c) + c:emit_signal("request::activate", "mouse_click", {raise = true}) + end), + awful.button({ modkey }, 1, function (c) + c:emit_signal("request::activate", "mouse_click", {raise = true}) + awful.mouse.client.move(c) + end), + awful.button({ modkey }, 3, function (c) + c:emit_signal("request::activate", "mouse_click", {raise = true}) + awful.mouse.client.resize(c) + end) +) + +-- Set keys +root.keys(globalkeys) +-- }}} + +-- {{{ Rules +-- Rules to apply to new clients (through the "manage" signal). +awful.rules.rules = { + -- All clients will match this rule. + { rule = { }, + properties = { border_width = beautiful.border_width, + border_color = beautiful.border_normal, + focus = awful.client.focus.filter, + raise = true, + keys = clientkeys, + buttons = clientbuttons, + screen = awful.screen.preferred, + placement = awful.placement.no_overlap+awful.placement.no_offscreen + } + }, + + -- Floating clients. + { rule_any = { + instance = { + "DTA", -- Firefox addon DownThemAll. + "copyq", -- Includes session name in class. + "pinentry", + }, + class = { + "Arandr", + "Blueman-manager", + "Gpick", + "Kruler", + "MessageWin", -- kalarm. + "Sxiv", + "Tor Browser", -- Needs a fixed window size to avoid fingerprinting by screen size. + "Wpa_gui", + "veromix", + "xtightvncviewer"}, + + -- Note that the name property shown in xprop might be set slightly after creation of the client + -- and the name shown there might not match defined rules here. + name = { + "Event Tester", -- xev. + }, + role = { + "AlarmWindow", -- Thunderbird's calendar. + "ConfigManager", -- Thunderbird's about:config. + "pop-up", -- e.g. Google Chrome's (detached) Developer Tools. + } + }, properties = { floating = true }}, + + -- Add titlebars to normal clients and dialogs + { rule_any = {type = { "normal", "dialog" } + }, properties = { titlebars_enabled = true } + }, + + -- Set Firefox to always map on the tag named "2" on screen 1. + -- { rule = { class = "Firefox" }, + -- properties = { screen = 1, tag = "2" } }, +} +-- }}} + +-- {{{ Signals +-- Signal function to execute when a new client appears. +client.connect_signal("manage", function (c) + -- Set the windows at the slave, + -- i.e. put it at the end of others instead of setting it master. + -- if not awesome.startup then awful.client.setslave(c) end + + if awesome.startup + and not c.size_hints.user_position + and not c.size_hints.program_position then + -- Prevent clients from being unreachable after screen count changes. + awful.placement.no_offscreen(c) + end +end) + +-- Add a titlebar if titlebars_enabled is set to true in the rules. +client.connect_signal("request::titlebars", function(c) + -- buttons for the titlebar + local buttons = gears.table.join( + awful.button({ }, 1, function() + c:emit_signal("request::activate", "titlebar", {raise = true}) + awful.mouse.client.move(c) + end), + awful.button({ }, 3, function() + c:emit_signal("request::activate", "titlebar", {raise = true}) + awful.mouse.client.resize(c) + end) + ) + + awful.titlebar(c) : setup { + { -- Left + awful.titlebar.widget.iconwidget(c), + buttons = buttons, + layout = wibox.layout.fixed.horizontal + }, + { -- Middle + { -- Title + align = "center", + widget = awful.titlebar.widget.titlewidget(c) + }, + buttons = buttons, + layout = wibox.layout.flex.horizontal + }, + { -- Right + awful.titlebar.widget.floatingbutton (c), + awful.titlebar.widget.maximizedbutton(c), + awful.titlebar.widget.stickybutton (c), + awful.titlebar.widget.ontopbutton (c), + awful.titlebar.widget.closebutton (c), + layout = wibox.layout.fixed.horizontal() + }, + layout = wibox.layout.align.horizontal + } +end) + +-- Enable sloppy focus, so that focus follows mouse. +client.connect_signal("mouse::enter", function(c) + c:emit_signal("request::activate", "mouse_enter", {raise = false}) +end) + +client.connect_signal("focus", function(c) c.border_color = beautiful.border_focus end) +client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_normal end) +-- }}} + +-- Autorun +awful.spawn.with_shell("~/.config/awesome/autorun.sh") diff --git a/private_dot_config/awesome/themes/default/README b/private_dot_config/awesome/themes/default/README new file mode 100644 index 0000000..1ddb349 --- /dev/null +++ b/private_dot_config/awesome/themes/default/README @@ -0,0 +1,3 @@ +Background images: + Mikael Eriksson + Licensed under CC-BY-SA-3.0 diff --git a/private_dot_config/awesome/themes/default/background.png b/private_dot_config/awesome/themes/default/background.png new file mode 100644 index 0000000..8f52b6b Binary files /dev/null and b/private_dot_config/awesome/themes/default/background.png differ diff --git a/private_dot_config/awesome/themes/default/background_white.png b/private_dot_config/awesome/themes/default/background_white.png new file mode 100644 index 0000000..bb0c5d0 Binary files /dev/null and b/private_dot_config/awesome/themes/default/background_white.png differ diff --git a/private_dot_config/awesome/themes/default/layouts/cornerne.png b/private_dot_config/awesome/themes/default/layouts/cornerne.png new file mode 100644 index 0000000..c85bd56 Binary files /dev/null and b/private_dot_config/awesome/themes/default/layouts/cornerne.png differ diff --git a/private_dot_config/awesome/themes/default/layouts/cornernew.png b/private_dot_config/awesome/themes/default/layouts/cornernew.png new file mode 100644 index 0000000..c3fd986 Binary files /dev/null and b/private_dot_config/awesome/themes/default/layouts/cornernew.png differ diff --git a/private_dot_config/awesome/themes/default/layouts/cornernw.png b/private_dot_config/awesome/themes/default/layouts/cornernw.png new file mode 100644 index 0000000..dfe78b3 Binary files /dev/null and b/private_dot_config/awesome/themes/default/layouts/cornernw.png differ diff --git a/private_dot_config/awesome/themes/default/layouts/cornernww.png b/private_dot_config/awesome/themes/default/layouts/cornernww.png new file mode 100644 index 0000000..f489010 Binary files /dev/null and b/private_dot_config/awesome/themes/default/layouts/cornernww.png differ diff --git a/private_dot_config/awesome/themes/default/layouts/cornerse.png b/private_dot_config/awesome/themes/default/layouts/cornerse.png new file mode 100644 index 0000000..023ae79 Binary files /dev/null and b/private_dot_config/awesome/themes/default/layouts/cornerse.png differ diff --git a/private_dot_config/awesome/themes/default/layouts/cornersew.png b/private_dot_config/awesome/themes/default/layouts/cornersew.png new file mode 100644 index 0000000..f7cfa1c Binary files /dev/null and b/private_dot_config/awesome/themes/default/layouts/cornersew.png differ diff --git a/private_dot_config/awesome/themes/default/layouts/cornersw.png b/private_dot_config/awesome/themes/default/layouts/cornersw.png new file mode 100644 index 0000000..c1453c9 Binary files /dev/null and b/private_dot_config/awesome/themes/default/layouts/cornersw.png differ diff --git a/private_dot_config/awesome/themes/default/layouts/cornersww.png b/private_dot_config/awesome/themes/default/layouts/cornersww.png new file mode 100644 index 0000000..a65a043 Binary files /dev/null and b/private_dot_config/awesome/themes/default/layouts/cornersww.png differ diff --git a/private_dot_config/awesome/themes/default/layouts/dwindle.png b/private_dot_config/awesome/themes/default/layouts/dwindle.png new file mode 100644 index 0000000..9902d22 Binary files /dev/null and b/private_dot_config/awesome/themes/default/layouts/dwindle.png differ diff --git a/private_dot_config/awesome/themes/default/layouts/dwindlew.png b/private_dot_config/awesome/themes/default/layouts/dwindlew.png new file mode 100644 index 0000000..9199049 Binary files /dev/null and b/private_dot_config/awesome/themes/default/layouts/dwindlew.png differ diff --git a/private_dot_config/awesome/themes/default/layouts/fairh.png b/private_dot_config/awesome/themes/default/layouts/fairh.png new file mode 100644 index 0000000..d41deea Binary files /dev/null and b/private_dot_config/awesome/themes/default/layouts/fairh.png differ diff --git a/private_dot_config/awesome/themes/default/layouts/fairhw.png b/private_dot_config/awesome/themes/default/layouts/fairhw.png new file mode 100644 index 0000000..bb50e3a Binary files /dev/null and b/private_dot_config/awesome/themes/default/layouts/fairhw.png differ diff --git a/private_dot_config/awesome/themes/default/layouts/fairv.png b/private_dot_config/awesome/themes/default/layouts/fairv.png new file mode 100644 index 0000000..f5f0288 Binary files /dev/null and b/private_dot_config/awesome/themes/default/layouts/fairv.png differ diff --git a/private_dot_config/awesome/themes/default/layouts/fairvw.png b/private_dot_config/awesome/themes/default/layouts/fairvw.png new file mode 100644 index 0000000..4f4ed52 Binary files /dev/null and b/private_dot_config/awesome/themes/default/layouts/fairvw.png differ diff --git a/private_dot_config/awesome/themes/default/layouts/floating.png b/private_dot_config/awesome/themes/default/layouts/floating.png new file mode 100644 index 0000000..b8061a0 Binary files /dev/null and b/private_dot_config/awesome/themes/default/layouts/floating.png differ diff --git a/private_dot_config/awesome/themes/default/layouts/floatingw.png b/private_dot_config/awesome/themes/default/layouts/floatingw.png new file mode 100644 index 0000000..4815894 Binary files /dev/null and b/private_dot_config/awesome/themes/default/layouts/floatingw.png differ diff --git a/private_dot_config/awesome/themes/default/layouts/fullscreen.png b/private_dot_config/awesome/themes/default/layouts/fullscreen.png new file mode 100644 index 0000000..d02f6fc Binary files /dev/null and b/private_dot_config/awesome/themes/default/layouts/fullscreen.png differ diff --git a/private_dot_config/awesome/themes/default/layouts/fullscreenw.png b/private_dot_config/awesome/themes/default/layouts/fullscreenw.png new file mode 100644 index 0000000..5c35bfa Binary files /dev/null and b/private_dot_config/awesome/themes/default/layouts/fullscreenw.png differ diff --git a/private_dot_config/awesome/themes/default/layouts/magnifier.png b/private_dot_config/awesome/themes/default/layouts/magnifier.png new file mode 100644 index 0000000..2925414 Binary files /dev/null and b/private_dot_config/awesome/themes/default/layouts/magnifier.png differ diff --git a/private_dot_config/awesome/themes/default/layouts/magnifierw.png b/private_dot_config/awesome/themes/default/layouts/magnifierw.png new file mode 100644 index 0000000..6209556 Binary files /dev/null and b/private_dot_config/awesome/themes/default/layouts/magnifierw.png differ diff --git a/private_dot_config/awesome/themes/default/layouts/max.png b/private_dot_config/awesome/themes/default/layouts/max.png new file mode 100644 index 0000000..8d20844 Binary files /dev/null and b/private_dot_config/awesome/themes/default/layouts/max.png differ diff --git a/private_dot_config/awesome/themes/default/layouts/maxw.png b/private_dot_config/awesome/themes/default/layouts/maxw.png new file mode 100644 index 0000000..85f5ce3 Binary files /dev/null and b/private_dot_config/awesome/themes/default/layouts/maxw.png differ diff --git a/private_dot_config/awesome/themes/default/layouts/spiral.png b/private_dot_config/awesome/themes/default/layouts/spiral.png new file mode 100644 index 0000000..d9434be Binary files /dev/null and b/private_dot_config/awesome/themes/default/layouts/spiral.png differ diff --git a/private_dot_config/awesome/themes/default/layouts/spiralw.png b/private_dot_config/awesome/themes/default/layouts/spiralw.png new file mode 100644 index 0000000..b78dd86 Binary files /dev/null and b/private_dot_config/awesome/themes/default/layouts/spiralw.png differ diff --git a/private_dot_config/awesome/themes/default/layouts/tile.png b/private_dot_config/awesome/themes/default/layouts/tile.png new file mode 100644 index 0000000..3ede21e Binary files /dev/null and b/private_dot_config/awesome/themes/default/layouts/tile.png differ diff --git a/private_dot_config/awesome/themes/default/layouts/tilebottom.png b/private_dot_config/awesome/themes/default/layouts/tilebottom.png new file mode 100644 index 0000000..6f8c257 Binary files /dev/null and b/private_dot_config/awesome/themes/default/layouts/tilebottom.png differ diff --git a/private_dot_config/awesome/themes/default/layouts/tilebottomw.png b/private_dot_config/awesome/themes/default/layouts/tilebottomw.png new file mode 100644 index 0000000..a1de7b2 Binary files /dev/null and b/private_dot_config/awesome/themes/default/layouts/tilebottomw.png differ diff --git a/private_dot_config/awesome/themes/default/layouts/tileleft.png b/private_dot_config/awesome/themes/default/layouts/tileleft.png new file mode 100644 index 0000000..31d6870 Binary files /dev/null and b/private_dot_config/awesome/themes/default/layouts/tileleft.png differ diff --git a/private_dot_config/awesome/themes/default/layouts/tileleftw.png b/private_dot_config/awesome/themes/default/layouts/tileleftw.png new file mode 100644 index 0000000..cf14c25 Binary files /dev/null and b/private_dot_config/awesome/themes/default/layouts/tileleftw.png differ diff --git a/private_dot_config/awesome/themes/default/layouts/tiletop.png b/private_dot_config/awesome/themes/default/layouts/tiletop.png new file mode 100644 index 0000000..98cade2 Binary files /dev/null and b/private_dot_config/awesome/themes/default/layouts/tiletop.png differ diff --git a/private_dot_config/awesome/themes/default/layouts/tiletopw.png b/private_dot_config/awesome/themes/default/layouts/tiletopw.png new file mode 100644 index 0000000..d1d0872 Binary files /dev/null and b/private_dot_config/awesome/themes/default/layouts/tiletopw.png differ diff --git a/private_dot_config/awesome/themes/default/layouts/tilew.png b/private_dot_config/awesome/themes/default/layouts/tilew.png new file mode 100644 index 0000000..fde2ca4 Binary files /dev/null and b/private_dot_config/awesome/themes/default/layouts/tilew.png differ diff --git a/private_dot_config/awesome/themes/default/submenu.png b/private_dot_config/awesome/themes/default/submenu.png new file mode 100644 index 0000000..b2778e2 Binary files /dev/null and b/private_dot_config/awesome/themes/default/submenu.png differ diff --git a/private_dot_config/awesome/themes/default/taglist/squarefw.png b/private_dot_config/awesome/themes/default/taglist/squarefw.png new file mode 100644 index 0000000..2a86430 Binary files /dev/null and b/private_dot_config/awesome/themes/default/taglist/squarefw.png differ diff --git a/private_dot_config/awesome/themes/default/taglist/squarew.png b/private_dot_config/awesome/themes/default/taglist/squarew.png new file mode 100644 index 0000000..913f2ca Binary files /dev/null and b/private_dot_config/awesome/themes/default/taglist/squarew.png differ diff --git a/private_dot_config/awesome/themes/default/theme.lua b/private_dot_config/awesome/themes/default/theme.lua new file mode 100644 index 0000000..fdfb75d --- /dev/null +++ b/private_dot_config/awesome/themes/default/theme.lua @@ -0,0 +1,136 @@ +--------------------------- +-- Default awesome theme -- +--------------------------- + +local theme_assets = require("beautiful.theme_assets") +local xresources = require("beautiful.xresources") +local dpi = xresources.apply_dpi + +local gfs = require("gears.filesystem") +local themes_path = gfs.get_themes_dir() + +local theme = {} + +theme.font = "Hack Nerd Font 8" + +-- theme.bg_normal = "#222222" +theme.bg_normal = "#1d1f21" +-- theme.bg_focus = "#535d6c" +theme.bg_focus = "#333333" +theme.bg_urgent = "#ff0000" +theme.bg_minimize = "#444444" +theme.bg_systray = theme.bg_normal + +theme.fg_normal = "#aaaaaa" +theme.fg_focus = "#ffffff" +theme.fg_urgent = "#ffffff" +theme.fg_minimize = "#ffffff" + +theme.useless_gap = dpi(0) +-- theme.border_width = dpi(1) +theme.border_width = dpi(2) +theme.border_normal = "#000000" +-- theme.border_focus = "#535d6c" +theme.border_focus = "#327bd1" +theme.border_marked = "#91231c" + +-- There are other variable sets +-- overriding the default one when +-- defined, the sets are: +-- taglist_[bg|fg]_[focus|urgent|occupied|empty|volatile] +-- tasklist_[bg|fg]_[focus|urgent] +-- titlebar_[bg|fg]_[normal|focus] +-- tooltip_[font|opacity|fg_color|bg_color|border_width|border_color] +-- mouse_finder_[color|timeout|animate_timeout|radius|factor] +-- prompt_[fg|bg|fg_cursor|bg_cursor|font] +-- hotkeys_[bg|fg|border_width|border_color|shape|opacity|modifiers_fg|label_bg|label_fg|group_margin|font|description_font] +-- Example: +--theme.taglist_bg_focus = "#ff0000" + +-- Generate taglist squares: +local taglist_square_size = dpi(4) +theme.taglist_squares_sel = theme_assets.taglist_squares_sel( + taglist_square_size, theme.fg_normal +) +theme.taglist_squares_unsel = theme_assets.taglist_squares_unsel( + taglist_square_size, theme.fg_normal +) + +-- Variables set for theming notifications: +-- notification_font +-- notification_[bg|fg] +-- notification_[width|height|margin] +-- notification_[border_color|border_width|shape|opacity] + +-- Variables set for theming the menu: +-- menu_[bg|fg]_[normal|focus] +-- menu_[border_color|border_width] +theme.menu_submenu_icon = themes_path.."default/submenu.png" +theme.menu_height = dpi(15) +theme.menu_width = dpi(100) + +-- You can add as many variables as +-- you wish and access them by using +-- beautiful.variable in your rc.lua +--theme.bg_widget = "#cc0000" + +-- Define the image to load +theme.titlebar_close_button_normal = themes_path.."default/titlebar/close_normal.png" +theme.titlebar_close_button_focus = themes_path.."default/titlebar/close_focus.png" + +theme.titlebar_minimize_button_normal = themes_path.."default/titlebar/minimize_normal.png" +theme.titlebar_minimize_button_focus = themes_path.."default/titlebar/minimize_focus.png" + +theme.titlebar_ontop_button_normal_inactive = themes_path.."default/titlebar/ontop_normal_inactive.png" +theme.titlebar_ontop_button_focus_inactive = themes_path.."default/titlebar/ontop_focus_inactive.png" +theme.titlebar_ontop_button_normal_active = themes_path.."default/titlebar/ontop_normal_active.png" +theme.titlebar_ontop_button_focus_active = themes_path.."default/titlebar/ontop_focus_active.png" + +theme.titlebar_sticky_button_normal_inactive = themes_path.."default/titlebar/sticky_normal_inactive.png" +theme.titlebar_sticky_button_focus_inactive = themes_path.."default/titlebar/sticky_focus_inactive.png" +theme.titlebar_sticky_button_normal_active = themes_path.."default/titlebar/sticky_normal_active.png" +theme.titlebar_sticky_button_focus_active = themes_path.."default/titlebar/sticky_focus_active.png" + +theme.titlebar_floating_button_normal_inactive = themes_path.."default/titlebar/floating_normal_inactive.png" +theme.titlebar_floating_button_focus_inactive = themes_path.."default/titlebar/floating_focus_inactive.png" +theme.titlebar_floating_button_normal_active = themes_path.."default/titlebar/floating_normal_active.png" +theme.titlebar_floating_button_focus_active = themes_path.."default/titlebar/floating_focus_active.png" + +theme.titlebar_maximized_button_normal_inactive = themes_path.."default/titlebar/maximized_normal_inactive.png" +theme.titlebar_maximized_button_focus_inactive = themes_path.."default/titlebar/maximized_focus_inactive.png" +theme.titlebar_maximized_button_normal_active = themes_path.."default/titlebar/maximized_normal_active.png" +theme.titlebar_maximized_button_focus_active = themes_path.."default/titlebar/maximized_focus_active.png" + +-- theme.wallpaper = themes_path.."default/background.png" +theme.wallpaper = "~/.cache/wall1.png" + +-- You can use your own layout icons like this: +theme.layout_fairh = themes_path.."default/layouts/fairhw.png" +theme.layout_fairv = themes_path.."default/layouts/fairvw.png" +theme.layout_floating = themes_path.."default/layouts/floatingw.png" +theme.layout_magnifier = themes_path.."default/layouts/magnifierw.png" +theme.layout_max = themes_path.."default/layouts/maxw.png" +theme.layout_fullscreen = themes_path.."default/layouts/fullscreenw.png" +theme.layout_tilebottom = themes_path.."default/layouts/tilebottomw.png" +theme.layout_tileleft = themes_path.."default/layouts/tileleftw.png" +theme.layout_tile = themes_path.."default/layouts/tilew.png" +theme.layout_tiletop = themes_path.."default/layouts/tiletopw.png" +theme.layout_spiral = themes_path.."default/layouts/spiralw.png" +theme.layout_dwindle = themes_path.."default/layouts/dwindlew.png" +theme.layout_cornernw = themes_path.."default/layouts/cornernww.png" +theme.layout_cornerne = themes_path.."default/layouts/cornernew.png" +theme.layout_cornersw = themes_path.."default/layouts/cornersww.png" +theme.layout_cornerse = themes_path.."default/layouts/cornersew.png" + +-- Generate Awesome icon: +theme.awesome_icon = theme_assets.awesome_icon( + theme.menu_height, theme.bg_focus, theme.fg_focus +) + +-- Define the icon theme for application icons. If not set then the icons +-- from /usr/share/icons and /usr/share/icons/hicolor will be used. +theme.icon_theme = nil + +return theme + +-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80 diff --git a/private_dot_config/awesome/themes/default/titlebar/close_focus.png b/private_dot_config/awesome/themes/default/titlebar/close_focus.png new file mode 100644 index 0000000..01ef825 Binary files /dev/null and b/private_dot_config/awesome/themes/default/titlebar/close_focus.png differ diff --git a/private_dot_config/awesome/themes/default/titlebar/close_normal.png b/private_dot_config/awesome/themes/default/titlebar/close_normal.png new file mode 100644 index 0000000..5448ed8 Binary files /dev/null and b/private_dot_config/awesome/themes/default/titlebar/close_normal.png differ diff --git a/private_dot_config/awesome/themes/default/titlebar/floating_focus_active.png b/private_dot_config/awesome/themes/default/titlebar/floating_focus_active.png new file mode 100644 index 0000000..82dcc7c Binary files /dev/null and b/private_dot_config/awesome/themes/default/titlebar/floating_focus_active.png differ diff --git a/private_dot_config/awesome/themes/default/titlebar/floating_focus_inactive.png b/private_dot_config/awesome/themes/default/titlebar/floating_focus_inactive.png new file mode 100644 index 0000000..c19ba80 Binary files /dev/null and b/private_dot_config/awesome/themes/default/titlebar/floating_focus_inactive.png differ diff --git a/private_dot_config/awesome/themes/default/titlebar/floating_normal_active.png b/private_dot_config/awesome/themes/default/titlebar/floating_normal_active.png new file mode 100644 index 0000000..62342d1 Binary files /dev/null and b/private_dot_config/awesome/themes/default/titlebar/floating_normal_active.png differ diff --git a/private_dot_config/awesome/themes/default/titlebar/floating_normal_inactive.png b/private_dot_config/awesome/themes/default/titlebar/floating_normal_inactive.png new file mode 100644 index 0000000..e2bbdfa Binary files /dev/null and b/private_dot_config/awesome/themes/default/titlebar/floating_normal_inactive.png differ diff --git a/private_dot_config/awesome/themes/default/titlebar/maximized_focus_active.png b/private_dot_config/awesome/themes/default/titlebar/maximized_focus_active.png new file mode 100644 index 0000000..d7dffd7 Binary files /dev/null and b/private_dot_config/awesome/themes/default/titlebar/maximized_focus_active.png differ diff --git a/private_dot_config/awesome/themes/default/titlebar/maximized_focus_inactive.png b/private_dot_config/awesome/themes/default/titlebar/maximized_focus_inactive.png new file mode 100644 index 0000000..844389f Binary files /dev/null and b/private_dot_config/awesome/themes/default/titlebar/maximized_focus_inactive.png differ diff --git a/private_dot_config/awesome/themes/default/titlebar/maximized_normal_active.png b/private_dot_config/awesome/themes/default/titlebar/maximized_normal_active.png new file mode 100644 index 0000000..a705f81 Binary files /dev/null and b/private_dot_config/awesome/themes/default/titlebar/maximized_normal_active.png differ diff --git a/private_dot_config/awesome/themes/default/titlebar/maximized_normal_inactive.png b/private_dot_config/awesome/themes/default/titlebar/maximized_normal_inactive.png new file mode 100644 index 0000000..4c1ab1f Binary files /dev/null and b/private_dot_config/awesome/themes/default/titlebar/maximized_normal_inactive.png differ diff --git a/private_dot_config/awesome/themes/default/titlebar/minimize_focus.png b/private_dot_config/awesome/themes/default/titlebar/minimize_focus.png new file mode 100644 index 0000000..caaceb2 Binary files /dev/null and b/private_dot_config/awesome/themes/default/titlebar/minimize_focus.png differ diff --git a/private_dot_config/awesome/themes/default/titlebar/minimize_normal.png b/private_dot_config/awesome/themes/default/titlebar/minimize_normal.png new file mode 100644 index 0000000..36621d0 Binary files /dev/null and b/private_dot_config/awesome/themes/default/titlebar/minimize_normal.png differ diff --git a/private_dot_config/awesome/themes/default/titlebar/ontop_focus_active.png b/private_dot_config/awesome/themes/default/titlebar/ontop_focus_active.png new file mode 100644 index 0000000..312c00b Binary files /dev/null and b/private_dot_config/awesome/themes/default/titlebar/ontop_focus_active.png differ diff --git a/private_dot_config/awesome/themes/default/titlebar/ontop_focus_inactive.png b/private_dot_config/awesome/themes/default/titlebar/ontop_focus_inactive.png new file mode 100644 index 0000000..a48e1c5 Binary files /dev/null and b/private_dot_config/awesome/themes/default/titlebar/ontop_focus_inactive.png differ diff --git a/private_dot_config/awesome/themes/default/titlebar/ontop_normal_active.png b/private_dot_config/awesome/themes/default/titlebar/ontop_normal_active.png new file mode 100644 index 0000000..117a203 Binary files /dev/null and b/private_dot_config/awesome/themes/default/titlebar/ontop_normal_active.png differ diff --git a/private_dot_config/awesome/themes/default/titlebar/ontop_normal_inactive.png b/private_dot_config/awesome/themes/default/titlebar/ontop_normal_inactive.png new file mode 100644 index 0000000..d3a10c8 Binary files /dev/null and b/private_dot_config/awesome/themes/default/titlebar/ontop_normal_inactive.png differ diff --git a/private_dot_config/awesome/themes/default/titlebar/sticky_focus_active.png b/private_dot_config/awesome/themes/default/titlebar/sticky_focus_active.png new file mode 100644 index 0000000..814499b Binary files /dev/null and b/private_dot_config/awesome/themes/default/titlebar/sticky_focus_active.png differ diff --git a/private_dot_config/awesome/themes/default/titlebar/sticky_focus_inactive.png b/private_dot_config/awesome/themes/default/titlebar/sticky_focus_inactive.png new file mode 100644 index 0000000..21b000d Binary files /dev/null and b/private_dot_config/awesome/themes/default/titlebar/sticky_focus_inactive.png differ diff --git a/private_dot_config/awesome/themes/default/titlebar/sticky_normal_active.png b/private_dot_config/awesome/themes/default/titlebar/sticky_normal_active.png new file mode 100644 index 0000000..bdb5595 Binary files /dev/null and b/private_dot_config/awesome/themes/default/titlebar/sticky_normal_active.png differ diff --git a/private_dot_config/awesome/themes/default/titlebar/sticky_normal_inactive.png b/private_dot_config/awesome/themes/default/titlebar/sticky_normal_inactive.png new file mode 100644 index 0000000..a96b9b1 Binary files /dev/null and b/private_dot_config/awesome/themes/default/titlebar/sticky_normal_inactive.png differ diff --git a/private_dot_config/awesome/xrandr.lua b/private_dot_config/awesome/xrandr.lua new file mode 100644 index 0000000..1149910 --- /dev/null +++ b/private_dot_config/awesome/xrandr.lua @@ -0,0 +1,136 @@ +--- Separating Multiple Monitor functions as a separeted module (taken from awesome wiki) + +local gtable = require("gears.table") +local spawn = require("awful.spawn") +local naughty = require("naughty") + +-- A path to a fancy icon +local icon_path = "" + +-- Get active outputs +local function outputs() + local outputs = {} + local xrandr = io.popen("xrandr -q --current") + + if xrandr then + for line in xrandr:lines() do + local output = line:match("^([%w-]+) connected ") + if output then + outputs[#outputs + 1] = output + end + end + xrandr:close() + end + + return outputs +end + +local function arrange(out) + -- We need to enumerate all permutations of horizontal outputs. + + local choices = {} + local previous = { {} } + for i = 1, #out do + -- Find all permutation of length `i`: we take the permutation + -- of length `i-1` and for each of them, we create new + -- permutations by adding each output at the end of it if it is + -- not already present. + local new = {} + for _, p in pairs(previous) do + for _, o in pairs(out) do + if not gtable.hasitem(p, o) then + new[#new + 1] = gtable.join(p, {o}) + end + end + end + choices = gtable.join(choices, new) + previous = new + end + + return choices +end + +-- Build available choices +local function menu() + local menu = {} + local out = outputs() + local choices = arrange(out) + + for _, choice in pairs(choices) do + local cmd = "xrandr" + -- Enabled outputs + for i, o in pairs(choice) do + cmd = cmd .. " --output " .. o .. " --auto" + if i > 1 then + cmd = cmd .. " --right-of " .. choice[i-1] + end + end + -- Disabled outputs + for _, o in pairs(out) do + if not gtable.hasitem(choice, o) then + cmd = cmd .. " --output " .. o .. " --off" + end + end + + local label = "" + if #choice == 1 then + label = 'Only ' .. choice[1] .. '' + else + for i, o in pairs(choice) do + if i > 1 then label = label .. " + " end + label = label .. '' .. o .. '' + end + end + + menu[#menu + 1] = { label, cmd } + end + + return menu +end + +-- Display xrandr notifications from choices +local state = { cid = nil } + +local function naughty_destroy_callback(reason) + if reason == naughty.notificationClosedReason.expired or + reason == naughty.notificationClosedReason.dismissedByUser then + local action = state.index and state.menu[state.index - 1][2] + if action then + spawn(action, false) + state.index = nil + end + end +end + +local function xrandr() + -- Build the list of choices + if not state.index then + state.menu = menu() + state.index = 1 + end + + -- Select one and display the appropriate notification + local label, action + local next = state.menu[state.index] + state.index = state.index + 1 + + if not next then + label = "Keep the current configuration" + state.index = nil + else + label, action = next[1], next[2] + end + state.cid = naughty.notify({ text = label, + icon = icon_path, + timeout = 4, + screen = mouse.screen, + replaces_id = state.cid, + destroy = naughty_destroy_callback}).id +end + +return { + outputs = outputs, + arrange = arrange, + menu = menu, + xrandr = xrandr +} diff --git a/bspwm/.config/bspwm/noswallow b/private_dot_config/bspwm/empty_noswallow similarity index 100% rename from bspwm/.config/bspwm/noswallow rename to private_dot_config/bspwm/empty_noswallow diff --git a/bspwm/.config/bspwm/bspwmrc b/private_dot_config/bspwm/executable_bspwmrc.tmpl old mode 100755 new mode 100644 similarity index 76% rename from bspwm/.config/bspwm/bspwmrc rename to private_dot_config/bspwm/executable_bspwmrc.tmpl index 58e6d99..e9a9868 --- a/bspwm/.config/bspwm/bspwmrc +++ b/private_dot_config/bspwm/executable_bspwmrc.tmpl @@ -34,31 +34,38 @@ sxhkd & ###---Keyboard---### setxkbmap -option caps:escape -###---Get monitor count---### -set SCREENCOUNT (xrandr | grep -c "\*") - ###---Monitors---### -if [ "$SCREENCOUNT" -eq 2 ] - bspc monitor DP-3 -d 2 3 4 5 6 7 8 9 0 - bspc monitor DP-2 -d 1 - if [ -f "$HOME/.local/bin/screen_desktop" ] - screen_desktop - end - if [ -f "$HOME/.local/bin/polybar-desktop" ] - polybar-desktop - end -else - bspc monitor -d 1 2 3 4 5 6 7 8 9 0 - if [ -f "$HOME/.local/bin/screen" ] - screen - end - if [ -f "$HOME/.local/bin/polybar-laptop" ] - polybar-laptop - end +{{ if eq .type "desktop" }} +bspc monitor DP-3 -d 2 3 4 5 6 7 8 9 0 +bspc monitor DP-2 -d 1 +xrandr --output DP-3 --primary --mode 3840x2160 --rotate normal --output DP-2 --mode 2560x1440 --pos 0x0 --rotate left +{{ else }} +bspc monitor -d 1 2 3 4 5 6 7 8 9 0 +{{ end }} + +###---Polybar---### +# Terminate already running bar instances +killall -q polybar + +# Wait until the processes have been shut down +while pgrep -u (id -u) -x polybar >/dev/null + sleep 1 end +{{ if eq .type "desktop" }} +polybar-monitor1 & +polybar-monitor2 & +{{ else }} +polybar framework-top & +polybar framework-bottom & +{{ end }} + ###---Wallpaper & opacity---### -~/.local/bin/wallpaper +{{ if eq .type "desktop" }} +xwallpaper --output DP-2 --zoom ~/.cache/wall2.png --output DP-3 --zoom ~/.cache/wall1.png & +{{ else }} +xwallpaper --output eDP-1 --zoom ~/.cache/wall1.png & +{{ end }} wal -n -R picom -b @@ -116,10 +123,7 @@ start_if_not_running emacs start_if_not_running element-desktop start_if_not_running element-desktop-nightly start_if_not_running gpodder - -if [ "$SCREENCOUNT" -eq 2 ] - start_if_not_running slack -end +{{ if eq .type "desktop" }}start_if_not_running slack{{ end }} pkill -f cleanfullscreen ~/.local/bin/cleanfullscreen & diff --git a/bspwm/.config/bspwm/terminals b/private_dot_config/bspwm/terminals similarity index 100% rename from bspwm/.config/bspwm/terminals rename to private_dot_config/bspwm/terminals diff --git a/emacs/.config/chemacs/profiles.el b/private_dot_config/chemacs/profiles.el similarity index 100% rename from emacs/.config/chemacs/profiles.el rename to private_dot_config/chemacs/profiles.el diff --git a/neovim/.config/coc/extensions/package.json b/private_dot_config/coc/extensions/package.json similarity index 100% rename from neovim/.config/coc/extensions/package.json rename to private_dot_config/coc/extensions/package.json diff --git a/private_dot_config/coc/extensions/yarn.lock b/private_dot_config/coc/extensions/yarn.lock new file mode 100644 index 0000000..28ff4d0 --- /dev/null +++ b/private_dot_config/coc/extensions/yarn.lock @@ -0,0 +1,106 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +coc-css@>=1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/coc-css/-/coc-css-1.3.0.tgz#9fb85490b203dd1d3960d4cadc29b8b97178ef3f" + integrity sha512-adpUCwj1sFK+6RFXVDUYZe3oC+I1dre4XoWVZY7H05Fn7r7sa5QbpQ/F+kIce2sveQbsVoLTR7mfr18wH7Ru+w== + +coc-go@>=1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/coc-go/-/coc-go-1.3.0.tgz#51af28d0e8ff4f97efe1f8491c8c2ad3f6d344da" + integrity sha512-Oh3ea/gb0lU5qZN1qaQMAQhxscrgcYfB3ZuRWxi+tMLCjoi8gJg/g05C5zD6hfbgmhC1PsL7jPeWSe5F4MifLg== + dependencies: + tslib "^2.3.1" + vscode-languageserver-textdocument "^1.0.4" + vscode-uri "^3.0.3" + which "^2.0.2" + +coc-html@>=1.6.1: + version "1.7.0" + resolved "https://registry.yarnpkg.com/coc-html/-/coc-html-1.7.0.tgz#de4a312ba8d7f20322a6bfac3ec3352de682e270" + integrity sha512-ywRthVmeX9gI1lAORorS8MjNiqfSi9mMNRRwTWe6b+GyzriabMhyCej+RNhHV1gcPNRLqlhy+j3ncHv+m5seKg== + dependencies: + typescript "^4.3" + +coc-jest@>=1.1.4: + version "1.1.5" + resolved "https://registry.yarnpkg.com/coc-jest/-/coc-jest-1.1.5.tgz#e320e7cdd65e3cfca102a054b5bceacdc537a7f4" + integrity sha512-H6j4hqmsF2b4hSfGQqaXeCahs3LnyYQc6vbtrSkuMQRdosh0gcZQx186kbxph8/5Mecw22Y9BGcsEaF2/RLEbw== + +coc-json@>=1.4.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/coc-json/-/coc-json-1.6.1.tgz#0e8c791a068cea6efdbc20404ae356faefe17573" + integrity sha512-qRDwaa4PZUb7q0N/oGoUrhKeo+5A9haYggOkUjx3SMPMWh2Pxsck5eftZzyUgLZDh/fabrYP7kBYE9+n7u4gnw== + +coc-pairs@>=1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/coc-pairs/-/coc-pairs-1.3.2.tgz#10db5fa45ccbe4e64c195443190d724e4c3e3d81" + integrity sha512-dinOWxcKvSghIEyRHy0vfjIUturfX1HiRHZ+vyInHXP3lXFq1SQF3B9RzwHj1eXjfmqKMDVsgwjAftAx8j8Rbw== + +coc-python@>=1.2.13: + version "1.2.13" + resolved "https://registry.yarnpkg.com/coc-python/-/coc-python-1.2.13.tgz#74c5b9d3413a13310027f93578915bac33692c62" + integrity sha512-thsXkbwwJMpiGa/1GiPvFnbWtC5K8QcZvcUtoc4lU8Hf38LbywK5qRp6M7tOAabJOq5dYcIYYbPZWzGwhoZEiw== + +coc-rust-analyzer@>=0.62.0: + version "0.68.4" + resolved "https://registry.yarnpkg.com/coc-rust-analyzer/-/coc-rust-analyzer-0.68.4.tgz#9b059e47543a10f24862e7ef235bd922c0660111" + integrity sha512-90PFsmwheDgytlzH65RGjnTFCVzMhfmvjOCj0VkgnuAEuiBbccMPQv/cuzS5Mbj6e74NWG5FI4QHRukEgsZdPA== + +coc-tsserver@>=1.10.1: + version "1.11.11" + resolved "https://registry.yarnpkg.com/coc-tsserver/-/coc-tsserver-1.11.11.tgz#66e7bca46c0bec63601e10005da92f89c6329d73" + integrity sha512-gg8muOoV54D4IawMSGIVgLGevyMD6K0U8TYc4xFMjZt9bvuv5fkeLXxxH+yAfmtFXVmFWSrCAff1gPibnIPOvw== + dependencies: + typescript "^4.8.3" + +coc-yaml@>=1.7.5: + version "1.8.0" + resolved "https://registry.yarnpkg.com/coc-yaml/-/coc-yaml-1.8.0.tgz#07967894819053738901ddb0f957a9d18dc96459" + integrity sha512-ttTi8SSoFPcKOWgY7H7E91zOYcycfsZdvA7jmZJOr+iWYGqR2LdvMvBpWpuV7oWSOF5a88zM/vb8P8aNefE04Q== + dependencies: + prettier "2.0.5" + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +prettier@2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.0.5.tgz#d6d56282455243f2f92cc1716692c08aa31522d4" + integrity sha512-7PtVymN48hGcO4fGjybyBSIWDsLU4H4XlvOHfq91pz9kkGlonzwTfYkaIEwiRg/dAJF9YlbsduBAgtYLi+8cFg== + +tslib@^2.3.1: + version "2.4.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" + integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== + +typescript@^4.3: + version "4.8.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.4.tgz#c464abca159669597be5f96b8943500b238e60e6" + integrity sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ== + +typescript@^4.8.3: + version "4.8.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.3.tgz#d59344522c4bc464a65a730ac695007fdb66dd88" + integrity sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig== + +vscode-languageserver-textdocument@^1.0.4: + version "1.0.7" + resolved "https://registry.yarnpkg.com/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.7.tgz#16df468d5c2606103c90554ae05f9f3d335b771b" + integrity sha512-bFJH7UQxlXT8kKeyiyu41r22jCZXG8kuuVVA33OEJn1diWOZK5n8zBSPZFHVBOu8kXZ6h0LIRhf5UnCo61J4Hg== + +vscode-uri@^3.0.3: + version "3.0.6" + resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-3.0.6.tgz#5e6e2e1a4170543af30151b561a41f71db1d6f91" + integrity sha512-fmL7V1eiDBFRRnu+gfRWTzyPpNIHJTc4mWnFkwBUmO9U3KPgJAmTx7oxi2bl/Rh6HLdU7+4C9wlj0k2E4AdKFQ== + +which@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" diff --git a/dmenu/.config/dmenu-frecency/config.json b/private_dot_config/dmenu-frecency/config.json similarity index 100% rename from dmenu/.config/dmenu-frecency/config.json rename to private_dot_config/dmenu-frecency/config.json diff --git a/private_dot_config/doom/config.el b/private_dot_config/doom/config.el new file mode 100644 index 0000000..2a1a4f9 --- /dev/null +++ b/private_dot_config/doom/config.el @@ -0,0 +1,207 @@ +(defun set-font (font-size bigfont-size) + (setq doom-font (font-spec :family "JetBrainsMono Nerd Font" :size font-size)) + (setq doom-big-font (font-spec :family "JetBrainsMono Nerd Font" :size bigfont-size)) + (setq doom-variable-pitch-font (font-spec :family "Noto Sans" :size font-size)) + (setq doom-serif-font (font-spec :family "Noto Serif" :size font-size)) + (setq doom-unicode-font (font-spec :family "JoyPixels")) + ) + +(when window-system + (if (> (x-display-pixel-width) 2560) + (set-font 12 24) + (set-font 16 28))) + +(setq doom-theme 'doom-molokai) + +(defun my-fetch-password (&rest params) + (require 'auth-source) + (let ((match (car (apply #'auth-source-search params)))) + (if match + (let ((secret (plist-get match :secret))) + (if (functionp secret) + (funcall secret) + secret)) + (error "Password not found for %S" params)))) + +(setq display-line-numbers-type `relative) + +(use-package! projectile + :defer t + :config + (setq projectile-project-search-path '("~/devel/personal/" "~/devel/andthensome/" "~/Documents/" "~/dotfiles" "~/private-dotfiles", "~/devel/slip-box/", "~/devel/andthensome/clients/"))) ; Default paths + +(use-package! circe + :defer t + :config + (setq circe-network-options + `( + ("znc-freenode" + :host "irc.higherlearning.eu" + :port "5000" + :tls t ;; Enable tls + :user "l0rd/freenode" + :server-buffer-name "⇄ Freenode (ZNC)" + :pass (lambda (&rest _) (+pass-get-secret "controlpanel/irc.higherlearning.eu")) ;; Get password from pass + :channels ("#emacs")) + ("znc-snoonet" + :host "irc.higherlearning.eu" + :port "5000" + :tls t + :user "l0rd/snoonet" + :server-buffer-name "⇄ Snoonet (ZNC)" + :pass (lambda (&rest _) (+pass-get-secret "controlpanel/irc.higherlearning.eu")) + :channels ("#islam")) + )) + ) +(add-hook 'circe-channel-mode-hook 'enable-lui-autopaste) + +(setq deft-directory "~/Documents/slip-box") + +(after! org + (map! :map org-mode-map + :n "M-j" #'org-metadown + :n "M-k" #'org-metaup) + ) + +(add-hook 'auto-save-hook 'org-save-all-org-buffers) + +(setq org-directory "~/Documents/org" + org-agenda-files (directory-files-recursively "~/Documents/org/" "\.org$") + org-log-done 'note + org-default-notes-file (expand-file-name "inbox.org" org-directory) + org-startup-with-inline-images t) + +(use-package! org-protocol-capture-html :defer t) + +(after! org + (add-to-list 'org-capture-templates '("w" "Web site" entry + (file+olp "~/Documents/org/web.org" "Web") + "* %c\n%U %?%:initial")) + ) + +(setq org-roam-directory "~/Documents/slip-box") + +(setq org-roam-graph-viewer "~/.local/bin/viewDotfile") + +(setq org-journal-dir "~/Documents/slip-box") +(setq org-journal-date-prefix "#+title: ") +(setq org-journal-file-format "%Y-%m-%d.org") +(setq org-journal-date-format "%A, %d %B %Y") + +(setq org-publish-project-alist + '(("wiki" + :base-directory "~/Documents/slip-box/" + :publishing-directory "~/devel/personal/Ryankes.eu/wiki/content/" + :publishing-function org-pandoc-export-to-markdown_mmd + :select-tags ("export-blog") + ))) + +(use-package! mu4e + :defer t + :config + (setq sendmail-program "/usr/bin/msmtp" + send-mail-function + 'smtpmail-send-it + message-sendmail-f-is-evil + t + message-sendmail-extra-arguments + '("--read-envelope-from") + message-send-mail-function + 'message-send-mail-with-sendmail) + (setq mu4e-maildirs-extension-custom-list '("/ryankes/INBOX" "/ryankes/Sent" "/ryankes/Drafts" + "/ryankes/Archive" "/ryankes/Archive.quicknet" + "/gmail/INBOX" "/gmail/Sent" "/gmail/Drafts" + "/gmail/Archive" "/andthensome/INBOX" "/andthensome/Sent" + "/andthensome/Drafts" "/andthensome/Archive"))) +(setq mu4e-maildir "~/.local/share/mail" + mu4e-maildir-shortcuts + '(("/ryankes/INBOX" . ?r) + ("/gmail/INBOX" . ?g) + ("/andthensome/INBOX" . ?a)) + mu4e-mu-home + "~/.cache/mu" + mu4e-update-interval + 300 + mu4e-get-mail-command + "mailsync" + mu4e-enable-mode-line + t + mu4e-use-fancy-chars + t + mu4e-context-policy + 'pick-first + mu4e-attachment-dir + "~/Downloads/") +(after! mu4e + ;; load package to be able to capture emails for GTD + (require 'org-mu4e) + + (setq mu4e-contexts + `(,(make-mu4e-context :name "Ryankes" + :match-func (lambda (msg) + (when msg + (string-match-p "^/ryankes" + (mu4e-message-field msg :maildir)))):vars'((user-mail-address . "ryan@ryankes.eu") + (user-full-name . "Ryan") + (mu4e-sent-folder . "/ryankes/Sent") + (mu4e-drafts-folder . "/ryankes/Drafts") + (mu4e-trash-folder . "/ryankes/Trash") + (mu4e-refile-folder . "/ryankes/Archive"))) + ,(make-mu4e-context :name "Gmail" + :match-func (lambda (msg) + (when msg + (string-match-p "^/gmail" + (mu4e-message-field msg :maildir)))):vars'((user-mail-address . "alrayyes@gmail.com") + (user-full-name . "Ryan") + (mu4e-sent-folder . "/gmail/Sent") + (mu4e-drafts-folder . "/gmail/Drafts") + (mu4e-trash-folder . "/gmail/Trash") + (mu4e-refile-folder . "/gmail/Archive"))) + ,(make-mu4e-context :name "Andthensome" + :match-func (lambda (msg) + (when msg + (string-match-p "^/andthensome" + (mu4e-message-field msg :maildir)))):vars'((user-mail-address . "ryan@andthensome.nl") + (user-full-name . "Ryan Kes") + (mu4e-sent-folder . "/andthensome/Sent") + (mu4e-drafts-folder . "/andthensome/Drafts") + (mu4e-trash-folder . "/andthensome/Trash") + (mu4e-refile-folder . "/andthensome/Archive")))))) +(add-hook 'mu4e-view-mode-hook 'visual-line-mode) + +(use-package! elfeed + :defer t + :config + (setq elfeed-use-curl t) + (elfeed-set-timeout 36000) + (setq elfeed-protocol-ttrss-maxsize 200) ; bigger than 200 is invalid + (elfeed-protocol-enable) + (defadvice elfeed (after configure-elfeed-feeds activate) + "Make elfeed-org autotags rules works with elfeed-protocol." + (defvar elfeed-protocol-tags) + (setq elfeed-protocol-tags elfeed-feeds) + (setq elfeed-feeds (list + (list "ttrss+https://alrayyes@rss.higherlearning.eu" + :password (password-store-get "emacs/rss") + :autotags elfeed-protocol-tags))))) + +(use-package! elfeed-org + :defer t + :config + (setq rmh-elfeed-org-files '("~/Documents/org/elfeed.org")) + ) + +(use-package! elfeed-goodies + :defer t + :config + (elfeed-goodies/setup)) + +(with-eval-after-load "ispell" + (setq ispell-program-name "hunspell") + ;; ispell-set-spellchecker-params has to be called + ;; before ispell-hunspell-add-multi-dic will work + (ispell-set-spellchecker-params) + (ispell-hunspell-add-multi-dic "en_GB,nl_NL,en_US") + (setq ispell-dictionary "en_GB,nl_NL,en_US")) + +(add-to-list 'auto-mode-alist '("\\.mdx\\'" . markdown-mode)) diff --git a/emacs/.config/doom/config.org b/private_dot_config/doom/config.org similarity index 100% rename from emacs/.config/doom/config.org rename to private_dot_config/doom/config.org diff --git a/emacs/.config/doom/init.el b/private_dot_config/doom/init.el similarity index 98% rename from emacs/.config/doom/init.el rename to private_dot_config/doom/init.el index 5c670ee..6861108 100644 --- a/emacs/.config/doom/init.el +++ b/private_dot_config/doom/init.el @@ -77,13 +77,13 @@ data emacs-lisp (go +lsp) - (hugo +ox-hugo) + ; (hugo +ox-hugo) (javascript +lsp) ledger (markdown +grip) (org +dragndrop - +hugo + ; +hugo +journal +noter +pandoc diff --git a/emacs/.config/doom/packages.el b/private_dot_config/doom/packages.el similarity index 100% rename from emacs/.config/doom/packages.el rename to private_dot_config/doom/packages.el diff --git a/dunst/.config/dunst/dunstrc.desktop b/private_dot_config/dunst/dunstrc.tmpl similarity index 97% rename from dunst/.config/dunst/dunstrc.desktop rename to private_dot_config/dunst/dunstrc.tmpl index 4cd626e..649113c 100644 --- a/dunst/.config/dunst/dunstrc.desktop +++ b/private_dot_config/dunst/dunstrc.tmpl @@ -24,7 +24,12 @@ sort = yes idle_threshold = 120 + + {{ if eq .type "desktop" }} font = JoyPixels 10, Hack Nerd Font Mono 10 + {{ else }} + font = JoyPixels 12, Hack Nerd Font Mono 12 + {{ end }} line_height = 0 markup = full diff --git a/private_dot_config/emacs/config.el b/private_dot_config/emacs/config.el new file mode 100644 index 0000000..0e1bfe4 --- /dev/null +++ b/private_dot_config/emacs/config.el @@ -0,0 +1,208 @@ +(setq package-archives '(("melpa" . "https://melpa.org/packages/") + ("org" . "https://orgmode.org/elpa/") + ("elpa" . "https://elpa.gnu.org/packages/"))) + +(package-initialize) +(unless package-archive-contents +(package-refresh-contents)) + +(unless (package-installed-p 'use-package) + (package-install 'use-package)) + +(require 'use-package) + ;; "ensure" packages by default + (setq use-package-always-ensure t) + +(require 'use-package-ensure) +(setq use-package-always-ensure t) + +(setq inhibit-startup-message t) ;; Disable startup message + +(scroll-bar-mode -1) ; Disable visible scrollbar +(tool-bar-mode -1) ; Disable the toolbar +(tooltip-mode -1) ; Disable tooltips +(menu-bar-mode -1) ; Disable the menu bar + +;; Set up the visible bell +(setq visible-bell t) + +(column-number-mode) +(global-display-line-numbers-mode t) +(setq display-line-numbers-type `relative) + +(use-package doom-themes) +(load-theme 'doom-molokai t) + +;; Default pitch face +(set-face-attribute 'default nil :font "JetBrainsMono Nerd Font") + +;; Fixed pitch face +(set-face-attribute 'fixed-pitch nil :font "JetBrainsMono Nerd Font") + +;; Variable pitch face +(set-face-attribute 'variable-pitch nil :font "Cantarell") + +(use-package all-the-icons) + +(use-package doom-modeline +:init (doom-modeline-mode 1) +:custom (doom-modeline-height 15)) + +(global-set-key (kbd "") 'keyboard-escape-quit) + +(use-package evil + :init ;; tweak evil's configuration before loading it + (setq evil-want-keybinding nil) +(setq evil-want-C-u-scroll t) + (evil-mode)) + +(use-package evil-collection + :after evil + :config + (evil-collection-init)) + +(use-package general + :config + (general-evil-setup t) + +(general-create-definer dw/leader-key-def + :keymaps '(normal insert visual emacs) + :prefix "SPC" + :global-prefix "C-SPC")) + +(use-package which-key + :init (which-key-mode) +:config(setq which-key-idle-delay 0.3)) + +(use-package ivy + :diminish + :bind (("C-s" . swiper) + :map ivy-minibuffer-map + ("TAB" . ivy-alt-done) + ("C-l" . ivy-alt-done) + ("C-j" . ivy-next-line) + ("C-k" . ivy-previous-line) + :map ivy-switch-buffer-map + ("C-k" . ivy-previous-line) + ("C-l" . ivy-done) + ("C-d" . ivy-switch-buffer-kill) + :map ivy-reverse-i-search-map + ("C-k" . ivy-previous-line) + ("C-d" . ivy-reverse-i-search-kill)) + :init + (ivy-mode 1)) ;; Load keybindings + +(use-package ivy-rich +:after counsel + :init + (ivy-rich-mode 1)) + +(use-package counsel + :demand t + :bind (("M-x" . counsel-M-x) + ("C-x b" . counsel-ibuffer) + ("C-x C-f" . counsel-find-file) + ;; ("C-M-j" . counsel-switch-buffer) + ("C-M-l" . counsel-imenu) + :map minibuffer-local-map + ("C-r" . 'counsel-minibuffer-history)) + :custom + (counsel-linux-app-format-function #'counsel-linux-app-format-function-name-only) + :config + (setq ivy-initial-inputs-alist nil)) ;; Don't start searches with ^ + +(use-package helpful + :custom + (counsel-describe-function-function #'helpful-callable) + (counsel-describe-variable-function #'helpful-variable) + :bind + ([remap describe-function] . helpful-function) + ([remap describe-symbol] . helpful-symbol) + ([remap describe-variable] . helpful-variable) + ([remap describe-command] . helpful-command) + ([remap describe-key] . helpful-key)) + +(use-package rainbow-delimiters + :hook (prog-mode . rainbow-delimiters-mode)) + +(use-package projectile + :ensure t + :init + (projectile-mode +1) + (setq projectile-project-search-path '("~/devel/" "~/dotfiles/" "~/Documents/")) + :bind (:map projectile-mode-map + ("s-p" . projectile-command-map) + ("C-c p" . projectile-command-map))) + +(use-package counsel-projectile +:after projectile +:config +(counsel-projectile-mode)) + +(use-package magit) + +(defun efs/org-mode-setup () + (org-indent-mode) + (variable-pitch-mode 1) + (visual-line-mode 1)) + + (use-package org + :hook +(org-mode . efs/org-mode-setup) +:config + (setq org-ellipsis " ▾")) + +(use-package org-bullets + :hook +(org-bullets-mode t)) + +(dolist (face '((org-level-1 . 1.2) + (org-level-2 . 1.1) + (org-level-3 . 1.05) + (org-level-4 . 1.0) + (org-level-5 . 1.1) + (org-level-6 . 1.1) + (org-level-7 . 1.1) + (org-level-8 . 1.1))) + (set-face-attribute (car face) nil :font "Cantarell" :weight 'regular :height (cdr face))) + +;; Ensure that anything that should be fixed-pitch in Org files appears that way +(set-face-attribute 'org-block nil :foreground nil :inherit 'fixed-pitch) +(set-face-attribute 'org-table nil :inherit 'fixed-pitch) +(set-face-attribute 'org-formula nil :inherit 'fixed-pitch) +(set-face-attribute 'org-code nil :inherit '(shadow fixed-pitch)) +(set-face-attribute 'org-table nil :inherit '(shadow fixed-pitch)) +(set-face-attribute 'org-verbatim nil :inherit '(shadow fixed-pitch)) +(set-face-attribute 'org-special-keyword nil :inherit '(font-lock-comment-face fixed-pitch)) +(set-face-attribute 'org-meta-line nil :inherit '(font-lock-comment-face fixed-pitch)) +(set-face-attribute 'org-checkbox nil :inherit 'fixed-pitch) +(set-face-attribute 'line-number nil :inherit 'fixed-pitch) +(set-face-attribute 'line-number-current-line nil :inherit 'fixed-pitch) + +(defun efs/org-mode-visual-fill () + (setq visual-fill-column-width 120 + visual-fill-column-center-text t) + (visual-fill-column-mode 1)) + +(use-package visual-fill-column + :hook (org-mode . efs/org-mode-visual-fill)) + +(setq +org-agenda-files (directory-files-recursively "~/Documents/org/" "\.org$")) + +(with-eval-after-load 'org + (org-babel-do-load-languages + 'org-babel-load-languages + '((emacs-lisp . t) + (python . t))) + + (push '("conf-unix" . conf-unix) org-src-lang-modes)) + +(with-eval-after-load 'org + ;; This is needed as of Org 9.2 + (require 'org-tempo) + + (add-to-list 'org-structure-template-alist '("sh" . "src shell")) + (add-to-list 'org-structure-template-alist '("el" . "src emacs-lisp")) + (add-to-list 'org-structure-template-alist '("py" . "src python")) + (add-to-list 'org-structure-template-alist '("ph" . "src php"))) diff --git a/emacs/.config/emacs/config.org b/private_dot_config/emacs/config.org similarity index 100% rename from emacs/.config/emacs/config.org rename to private_dot_config/emacs/config.org diff --git a/firefox/.config/firejail/firejail.local b/private_dot_config/firejail/firefox.local similarity index 100% rename from firefox/.config/firejail/firejail.local rename to private_dot_config/firejail/firefox.local diff --git a/mpv/.config/firejail/mpv.local b/private_dot_config/firejail/mpv.local similarity index 100% rename from mpv/.config/firejail/mpv.local rename to private_dot_config/firejail/mpv.local diff --git a/newsboat/.config/firejail/newsboat.profile b/private_dot_config/firejail/newsboat.profile similarity index 100% rename from newsboat/.config/firejail/newsboat.profile rename to private_dot_config/firejail/newsboat.profile diff --git a/weechat/.config/firejail/weechat.local b/private_dot_config/firejail/weechat.local similarity index 100% rename from weechat/.config/firejail/weechat.local rename to private_dot_config/firejail/weechat.local diff --git a/fonts/.config/fontconfig/fonts.conf b/private_dot_config/fontconfig/fonts.conf similarity index 100% rename from fonts/.config/fontconfig/fonts.conf rename to private_dot_config/fontconfig/fonts.conf diff --git a/git/.config/git/gitignore_global b/private_dot_config/git/gitignore_global similarity index 100% rename from git/.config/git/gitignore_global rename to private_dot_config/git/gitignore_global diff --git a/ideavim/.config/ideavim/ideavimrc b/private_dot_config/ideavim/ideavimrc similarity index 100% rename from ideavim/.config/ideavim/ideavimrc rename to private_dot_config/ideavim/ideavimrc diff --git a/lfcd/.config/lf/lfrc b/private_dot_config/lf/lfrc similarity index 100% rename from lfcd/.config/lf/lfrc rename to private_dot_config/lf/lfrc diff --git a/mpd/.config/mpd/mpd.conf b/private_dot_config/mpd/mpd.conf similarity index 100% rename from mpd/.config/mpd/mpd.conf rename to private_dot_config/mpd/mpd.conf diff --git a/neomutt/.config/mutt/accounts/1-ryankes.muttrc b/private_dot_config/mutt/accounts/1-ryankes.muttrc similarity index 100% rename from neomutt/.config/mutt/accounts/1-ryankes.muttrc rename to private_dot_config/mutt/accounts/1-ryankes.muttrc diff --git a/neomutt/.config/mutt/accounts/2-gmail.muttrc b/private_dot_config/mutt/accounts/2-gmail.muttrc similarity index 100% rename from neomutt/.config/mutt/accounts/2-gmail.muttrc rename to private_dot_config/mutt/accounts/2-gmail.muttrc diff --git a/neomutt/.config/mutt/accounts/3-andthensome.muttrc b/private_dot_config/mutt/accounts/3-andthensome.muttrc similarity index 100% rename from neomutt/.config/mutt/accounts/3-andthensome.muttrc rename to private_dot_config/mutt/accounts/3-andthensome.muttrc diff --git a/neomutt/.config/mutt/gpg.rc b/private_dot_config/mutt/gpg.rc similarity index 100% rename from neomutt/.config/mutt/gpg.rc rename to private_dot_config/mutt/gpg.rc diff --git a/neomutt/.config/mutt/mailcap b/private_dot_config/mutt/mailcap similarity index 100% rename from neomutt/.config/mutt/mailcap rename to private_dot_config/mutt/mailcap diff --git a/neomutt/.config/mutt/muttcol b/private_dot_config/mutt/muttcol similarity index 100% rename from neomutt/.config/mutt/muttcol rename to private_dot_config/mutt/muttcol diff --git a/neomutt/.config/mutt/muttrc b/private_dot_config/mutt/muttrc similarity index 100% rename from neomutt/.config/mutt/muttrc rename to private_dot_config/mutt/muttrc diff --git a/private_dot_config/mutt/private_temp/.keep b/private_dot_config/mutt/private_temp/.keep new file mode 100644 index 0000000..e69de29 diff --git a/ncmpcpp/.config/ncmpcpp/config b/private_dot_config/ncmpcpp/config similarity index 100% rename from ncmpcpp/.config/ncmpcpp/config rename to private_dot_config/ncmpcpp/config diff --git a/newsboat/.config/newsboat/config b/private_dot_config/newsboat/config similarity index 100% rename from newsboat/.config/newsboat/config rename to private_dot_config/newsboat/config diff --git a/npm/.config/npm/npmrc b/private_dot_config/npm/npmrc similarity index 100% rename from npm/.config/npm/npmrc rename to private_dot_config/npm/npmrc diff --git a/neovim/.config/nvim/coc-settings.json b/private_dot_config/nvim/coc-settings.json similarity index 100% rename from neovim/.config/nvim/coc-settings.json rename to private_dot_config/nvim/coc-settings.json diff --git a/neovim/.config/nvim/init.vim b/private_dot_config/nvim/init.vim similarity index 100% rename from neovim/.config/nvim/init.vim rename to private_dot_config/nvim/init.vim diff --git a/fish/.config/omf/init.fish b/private_dot_config/omf/init.fish similarity index 98% rename from fish/.config/omf/init.fish rename to private_dot_config/omf/init.fish index 991a58d..dad6c75 100644 --- a/fish/.config/omf/init.fish +++ b/private_dot_config/omf/init.fish @@ -14,7 +14,7 @@ function fish_greeting end setxkbmap -option caps:escape - cat ~/.cache/wal/sequences & + #cat ~/.cache/wal/sequences & neofetch end @@ -42,7 +42,7 @@ else if [ -e "/sbin/firefox" ] end # Set default terminal -set -xg TERMINAL "st" +set -xg TERMINAL "alacritty" # pkg editor set -xg VISUAL "nvim" diff --git a/picom/.config/picom/picom.conf b/private_dot_config/picom/picom.conf similarity index 100% rename from picom/.config/picom/picom.conf rename to private_dot_config/picom/picom.conf diff --git a/polybar/.config/polybar/bin/corona b/private_dot_config/polybar/bin/executable_corona old mode 100755 new mode 100644 similarity index 100% rename from polybar/.config/polybar/bin/corona rename to private_dot_config/polybar/bin/executable_corona diff --git a/polybar/.config/polybar/bin/dockerstatus b/private_dot_config/polybar/bin/executable_dockerstatus old mode 100755 new mode 100644 similarity index 100% rename from polybar/.config/polybar/bin/dockerstatus rename to private_dot_config/polybar/bin/executable_dockerstatus diff --git a/polybar/.config/polybar/bin/isactive-bluetooth b/private_dot_config/polybar/bin/executable_isactive-bluetooth old mode 100755 new mode 100644 similarity index 100% rename from polybar/.config/polybar/bin/isactive-bluetooth rename to private_dot_config/polybar/bin/executable_isactive-bluetooth diff --git a/polybar/.config/polybar/bin/mailcount b/private_dot_config/polybar/bin/executable_mailcount old mode 100755 new mode 100644 similarity index 100% rename from polybar/.config/polybar/bin/mailcount rename to private_dot_config/polybar/bin/executable_mailcount diff --git a/polybar/.config/polybar/bin/services b/private_dot_config/polybar/bin/executable_services old mode 100755 new mode 100644 similarity index 100% rename from polybar/.config/polybar/bin/services rename to private_dot_config/polybar/bin/executable_services diff --git a/polybar/.config/polybar/bin/switch-bluetooth b/private_dot_config/polybar/bin/executable_switch-bluetooth old mode 100755 new mode 100644 similarity index 100% rename from polybar/.config/polybar/bin/switch-bluetooth rename to private_dot_config/polybar/bin/executable_switch-bluetooth diff --git a/polybar/.config/polybar/bin/system-usb-udev b/private_dot_config/polybar/bin/executable_system-usb-udev old mode 100755 new mode 100644 similarity index 100% rename from polybar/.config/polybar/bin/system-usb-udev rename to private_dot_config/polybar/bin/executable_system-usb-udev diff --git a/polybar/.config/polybar/bin/tldr-and-wait b/private_dot_config/polybar/bin/executable_tldr-and-wait old mode 100755 new mode 100644 similarity index 100% rename from polybar/.config/polybar/bin/tldr-and-wait rename to private_dot_config/polybar/bin/executable_tldr-and-wait diff --git a/polybar/.config/polybar/bin/wireguard-status b/private_dot_config/polybar/bin/executable_wireguard-status old mode 100755 new mode 100644 similarity index 100% rename from polybar/.config/polybar/bin/wireguard-status rename to private_dot_config/polybar/bin/executable_wireguard-status diff --git a/polybar/.config/polybar/bin/wttr b/private_dot_config/polybar/bin/executable_wttr old mode 100755 new mode 100644 similarity index 100% rename from polybar/.config/polybar/bin/wttr rename to private_dot_config/polybar/bin/executable_wttr diff --git a/statusbar/.local/bin/statusbar/reddit b/private_dot_config/polybar/bin/private_executable_notification-reddit.sh old mode 100755 new mode 100644 similarity index 74% rename from statusbar/.local/bin/statusbar/reddit rename to private_dot_config/polybar/bin/private_executable_notification-reddit.sh index 576e30c..f4b4221 --- a/statusbar/.local/bin/statusbar/reddit +++ b/private_dot_config/polybar/bin/private_executable_notification-reddit.sh @@ -1,16 +1,12 @@ #!/bin/sh -case $BLOCK_BUTTON in -1) "$BROWSER" --new-tab https://www.reddit.com ;; -esac - URL="https://www.reddit.com/message/unread/.json?feed=bc32fdcb4a67282ee7cac839c0a52083aadc79f0&user=alrayyes" USERAGENT="polybar-scripts/notification-reddit:v1.0 u/reddituser" notifications=$(curl -sf --user-agent "$USERAGENT" "$URL" | jq '.["data"]["children"] | length') if [ -n "$notifications" ] && [ "$notifications" -gt 0 ]; then - echo "👾$notifications" + echo "$notifications" else - echo "" + echo "" fi diff --git a/private_dot_config/polybar/bin/private_executable_rsscount b/private_dot_config/polybar/bin/private_executable_rsscount new file mode 100644 index 0000000..e6746ac --- /dev/null +++ b/private_dot_config/polybar/bin/private_executable_rsscount @@ -0,0 +1,26 @@ +#!/usr/bin/env sh + +password=$(getpassword rss) +session_id=$(curl -s -d '{"op":"login","user":"alrayyes","password":"'"$password"'"}' "https://rss.higherlearning.eu/api/" | jq -r ".content.session_id") +count=$(curl -s -d '{"sid":"'$session_id'","op":"getUnread","feed_id":"0","is_cat":"1"}' "https://rss.higherlearning.eu/api/" | jq -r ".content.unread") +#newsboat_count=$(/usr/bin/newsboat -x print-unread | awk '{print $1}') + +#if [ "$count" != "$newsboat_count" ]; then +# ~/.local/bin/newsup +#fi + +if [ ! "$(pgrep -f 'newsboat')" ]; then + icon="📰" +else + icon="🔃" +fi + +if [ ! "$count" ]; then + echo "%{F#666}轢 n/a%{F-}" +else + if [ ! "$count" -eq 0 ]; then + echo "$icon $count" + else + echo "%{F#666}%{F-}" + fi +fi diff --git a/polybar/.config/polybar/config b/private_dot_config/polybar/config similarity index 85% rename from polybar/.config/polybar/config rename to private_dot_config/polybar/config index a2b4585..3e2f58d 100644 --- a/polybar/.config/polybar/config +++ b/private_dot_config/polybar/config @@ -15,8 +15,10 @@ [colors] background = ${xrdb:color0:#222} -foreground = ${xrdb:color7:#222} -foreground-alt = ${xrdb:color7:#222} +#foreground = ${xrdb:color7:#222} +foreground = #C5C8C6 +#foreground-alt = ${xrdb:color7:#222} +foreground-alt = #C5C8C6 primary = ${xrdb:color1:#222} secondary = ${xrdb:color2:#222} alert = ${xrdb:color3:#222} @@ -86,6 +88,24 @@ inherit = bar/base-desktop monitor = ${env:MONITOR:DP-2} modules-left = bspwm +[bar/framework-bottom] +inherit = bar/base-laptop +bottom = true +monitor = ${env:MONITOR:eDP-1} + +#modules-right = system-usb-udev corona +modules-left = mpd player-mpris-tail + +[bar/framework-top] +inherit = bar/base-laptop +monitor = ${env:MONITOR:eDP-1} + +modules-left = bspwm +modules-center = frameworkbattery seperator wg0 wg1 +modules-right = docker memory cpu-laptop temperature seperator filesystem-root seperator updates-arch-combined mail reddit github rss seperator weather seperator date seperator + +tray-position = right + ;== Modules ======================================================== [module/filesystem-home] @@ -215,6 +235,35 @@ ramp-used-5 = ▆ ramp-used-6 = ▇ ramp-used-7 = █ +[module/frameworkwlan] +type = internal/network +interface = wlp166s0 +interval = 3.0 + +format-connected = +format-packetloss = +format-disconnected = +format-connected-prefix = "📶 " +format-disconnected-prefix = "睊" + +label-connected = " %downspeed%  %upspeed%" +label-disconnected = + +ramp-signal-0 = ▁ +ramp-signal-1 = ▂ +ramp-signal-2 = ▃ +ramp-signal-3 = ▄ +ramp-signal-4 = ▅ +ramp-signal-5 = ▆ +ramp-signal-6 = ▇ +ramp-signal-7 = █ + +animation-packetloss-0 = ⚠ +animation-packetloss-0-foreground = #ffa64c +animation-packetloss-1 = 📶 +animation-packetloss-1-foreground = #000000 +animation-packetloss-framerate = 500 + [module/wlan] type = internal/network interface = wlp4s0 @@ -295,6 +344,31 @@ ramp-volume-0 = 🔈 ramp-volume-1 = 🔉 ramp-volume-2 = 🔊 +[module/frameworkbattery] +type = internal/battery +battery = BAT1 +adapter = ACAD +full-at = 70 + +format-charging = +format-discharging = +format-full-prefix = " " +format-full-prefix-foreground = ${colors.foreground-alt} + +animation-charging-0 =  +animation-charging-1 =  +animation-charging-2 =  +animation-charging-3 =  +animation-charging-4 =  +animation-charging-framerate = 750 + +animation-discharging-0 =  +animation-discharging-1 =  +animation-discharging-2 =  +animation-discharging-3 =  +animation-discharging-4 =  +animation-discharging-framerate = 5000 + [module/battery0] type = internal/battery battery = BAT0 @@ -444,7 +518,7 @@ type = custom/script exec = ~/.config/polybar/bin/wttr interval = 900 -click-left = setsid alacritty --class float,float -e ~/.config/polybar/bin/wttr-and-wait +click-left = setsid alacritty --class fullscreen,fullscreen -e ~/.local/bin/wttr-and-wait [module/seperator] type = custom/text diff --git a/redshift/.config/redshift.conf b/private_dot_config/redshift.conf similarity index 100% rename from redshift/.config/redshift.conf rename to private_dot_config/redshift.conf diff --git a/sxhkd/.config/sxhkd/sxhkdrc.desktop b/private_dot_config/sxhkd/sxhkdrc.tmpl similarity index 85% rename from sxhkd/.config/sxhkd/sxhkdrc.desktop rename to private_dot_config/sxhkd/sxhkdrc.tmpl index dee4aa2..4e53036 100644 --- a/sxhkd/.config/sxhkd/sxhkdrc.desktop +++ b/private_dot_config/sxhkd/sxhkdrc.tmpl @@ -36,17 +36,34 @@ super + F12 #-----------------------------------------------------------Audio & screen brightness & shutdown-------------------------------------------------------------- # Audio controls XF86AudioRaiseVolume - ~/.local/bin/volume inc + pamixer --allow-boost -i 3 XF86AudioLowerVolume - ~/.local/bin/volume dec + pamixer --allow-boost -d 3 XF86AudioMute - ~/.local/bin/volume mute + pamixer -t +XF86AudioPrev + playerctl previous +XF86AudioPlay + playerctl play-pause +XF86AudioNext + playerctl next # Screen brightness controls XF86MonBrightnessUp - ~/.local/bin/brightness inc + brightnessctl set +10% XF86MonBrightnessDown - ~/.local/bin/brightness dec + brightnessctl set 10%- + +# Kill wlan & bluetooth +XF86RFKill + rfkill toggle all + +Print + maimpick + +XF86AudioMedia + firefox https://community.frame.work/ + # Shutdown / reboot XF86Eject prompt "Shutdown computer?" "sudo -A shutdown -h now" @@ -61,14 +78,13 @@ shift + Print Print TIMESTAMP=$(date '+%Y-%m-%d-%H%M%S'); maim ~/Pictures/Screenshots/pic-full-$TIMESTAMP.png && notify-send -i ~/Pictures/Screenshots/pic-full-$TIMESTAMP.png "Desktop Screenshot pic-full-$TIMESTAMP.png" - #-----------------------------------------------------------App shortcuts-------------------------------------------------------------- # terminal emulator -super + BackSpace - alacritty +super + {{ if eq .type "desktop" }}Backspace{{ else }}Return{{ end }} + $TERMINAL # program launcher -super + Delete +super + {{ if eq .type "desktop" }}Delete{{ else }}@space{{ end }} dmenu-frecency # make sxhkd reload its configuration files: @@ -76,8 +92,8 @@ super + Escape pkill -USR1 -x sxhkd # Misc apps -super + ctrl + alt + {l, n, r, s, c, v, k, a, u, e} - $TERMINAL -e {lf, neomutt, /usr/bin/newsboat, spt, castero, nvim, ~/.local/bin/calendar-and-wait, ~/.local/bin/audit, ~/.local/bin/update-arch} +super + ctrl + alt + {l, n, r, s, v, a, u} + $TERMINAL --class float,float -e {lf, neomutt, /usr/bin/newsboat, spt, nvim, ~/.local/bin/audit, ~/.local/bin/update-{{ .chezmoi.osRelease.id }}} super + ctrl + alt + {b, e, S} {brave, emacs, spotify} super + ctrl + alt + {t} @@ -85,7 +101,7 @@ super + ctrl + alt + {t} super + ctrl + alt + {m} ~/.local/bin/dmenuunicode super + ctrl + alt + {w} - alacritty --class fullscreen,fullscreen -e ~/.config/polybar/bin/wttr-and-wait + alacritty --class fullscreen,fullscreen -e ~/.local/bin/wttr-and-wait # clipboard manager super + ctrl + {c} diff --git a/sxiv/.config/sxiv/exec/image-info b/private_dot_config/sxiv/exec/executable_image-info old mode 100755 new mode 100644 similarity index 100% rename from sxiv/.config/sxiv/exec/image-info rename to private_dot_config/sxiv/exec/executable_image-info diff --git a/sxiv/.config/sxiv/exec/key-handler b/private_dot_config/sxiv/exec/executable_key-handler old mode 100755 new mode 100644 similarity index 100% rename from sxiv/.config/sxiv/exec/key-handler rename to private_dot_config/sxiv/exec/executable_key-handler diff --git a/neomutt/.config/systemd/user/mailsync.service b/private_dot_config/systemd/user/mailsync.service similarity index 100% rename from neomutt/.config/systemd/user/mailsync.service rename to private_dot_config/systemd/user/mailsync.service diff --git a/neomutt/.config/systemd/user/mailsync.timer b/private_dot_config/systemd/user/mailsync.timer similarity index 100% rename from neomutt/.config/systemd/user/mailsync.timer rename to private_dot_config/systemd/user/mailsync.timer diff --git a/tmux/.config/tmux/tmux.conf b/private_dot_config/tmux/tmux.conf similarity index 100% rename from tmux/.config/tmux/tmux.conf rename to private_dot_config/tmux/tmux.conf diff --git a/wal/.config/wal/templates/colors.dwm b/private_dot_config/wal/templates/colors.dwm similarity index 100% rename from wal/.config/wal/templates/colors.dwm rename to private_dot_config/wal/templates/colors.dwm diff --git a/wal/.config/wal/templates/colors.fish b/private_dot_config/wal/templates/colors.fish similarity index 100% rename from wal/.config/wal/templates/colors.fish rename to private_dot_config/wal/templates/colors.fish diff --git a/zsh/.config/zsh/.zshenv b/private_dot_config/zsh/dot_zshenv similarity index 100% rename from zsh/.config/zsh/.zshenv rename to private_dot_config/zsh/dot_zshenv diff --git a/zsh/.config/zsh/.zshrc b/private_dot_config/zsh/dot_zshrc similarity index 100% rename from zsh/.config/zsh/.zshrc rename to private_dot_config/zsh/dot_zshrc diff --git a/lighthouse/.local/bin/audit b/private_dot_local/bin/executable_audit old mode 100755 new mode 100644 similarity index 84% rename from lighthouse/.local/bin/audit rename to private_dot_local/bin/executable_audit index b9b2bce..420b926 --- a/lighthouse/.local/bin/audit +++ b/private_dot_local/bin/executable_audit @@ -1,14 +1,12 @@ #!/usr/bin/env bash -. $HOME/.cache/wal/colors.sh - cachedUrls=$(cat ~/.cache/audit-urls 2>/dev/null) localServices=$(netstat -ltpn 2>/dev/null | grep "node" | awk '{ print "http://"$4 }') test -n "$localServices" && dmenUrls+="$localServices" test -n "$cachedUrls" && dmenuUrls+="$cachedUrls" -url="$(echo -e "$dmenuUrls" | uniq | sort | dmenu -i -nb "$color0" -nf "$color15" -sb "$color1" -sf "$color15" "$@")" +url="$(echo -e "$dmenuUrls" | uniq | sort | dmenu -i "$@")" if [[ -n "$url" && "$url" != "http://" && "$url" != "https://" ]]; then rm -f "$HOME"/Downloads/lighthouse.html diff --git a/bspwm/.local/bin/bspswallow b/private_dot_local/bin/executable_bspswallow old mode 100755 new mode 100644 similarity index 100% rename from bspwm/.local/bin/bspswallow rename to private_dot_local/bin/executable_bspswallow diff --git a/bin/.local/bin/build-suckless-desktop b/private_dot_local/bin/executable_build-suckless-desktop old mode 100755 new mode 100644 similarity index 100% rename from bin/.local/bin/build-suckless-desktop rename to private_dot_local/bin/executable_build-suckless-desktop diff --git a/bin/.local/bin/build-suckless-thinkpad b/private_dot_local/bin/executable_build-suckless-thinkpad old mode 100755 new mode 100644 similarity index 100% rename from bin/.local/bin/build-suckless-thinkpad rename to private_dot_local/bin/executable_build-suckless-thinkpad diff --git a/bspwm/.local/bin/cleanfullscreen b/private_dot_local/bin/executable_cleanfullscreen old mode 100755 new mode 100644 similarity index 100% rename from bspwm/.local/bin/cleanfullscreen rename to private_dot_local/bin/executable_cleanfullscreen diff --git a/dmenu/.local/bin/dmenuunicode b/private_dot_local/bin/executable_dmenuunicode old mode 100755 new mode 100644 similarity index 100% rename from dmenu/.local/bin/dmenuunicode rename to private_dot_local/bin/executable_dmenuunicode diff --git a/blog/.local/bin/exportWiki b/private_dot_local/bin/executable_exportWiki old mode 100755 new mode 100644 similarity index 100% rename from blog/.local/bin/exportWiki rename to private_dot_local/bin/executable_exportWiki diff --git a/wal/.local/bin/generatewal b/private_dot_local/bin/executable_generatewal old mode 100755 new mode 100644 similarity index 100% rename from wal/.local/bin/generatewal rename to private_dot_local/bin/executable_generatewal diff --git a/newsboat/.local/bin/linkhandler b/private_dot_local/bin/executable_linkhandler old mode 100755 new mode 100644 similarity index 100% rename from newsboat/.local/bin/linkhandler rename to private_dot_local/bin/executable_linkhandler diff --git a/neomutt/.local/bin/mailsync b/private_dot_local/bin/executable_mailsync old mode 100755 new mode 100644 similarity index 100% rename from neomutt/.local/bin/mailsync rename to private_dot_local/bin/executable_mailsync diff --git a/bspwm/.local/bin/maimpick b/private_dot_local/bin/executable_maimpick old mode 100755 new mode 100644 similarity index 100% rename from bspwm/.local/bin/maimpick rename to private_dot_local/bin/executable_maimpick diff --git a/private_dot_local/bin/executable_oath-dmenu b/private_dot_local/bin/executable_oath-dmenu new file mode 100644 index 0000000..e53de4c --- /dev/null +++ b/private_dot_local/bin/executable_oath-dmenu @@ -0,0 +1,3 @@ +#!/usr/bin/env sh + +yubikey-oath-dmenu --clipboard --clipboard-cmd 'xclip -selection clipboard' --notify --menu-cmd "dmenu -fn \"FuraCode Nerd Font\"" diff --git a/neomutt/.local/bin/openfile b/private_dot_local/bin/executable_openfile old mode 100755 new mode 100644 similarity index 100% rename from neomutt/.local/bin/openfile rename to private_dot_local/bin/executable_openfile diff --git a/private_dot_local/bin/executable_pass-dmenu b/private_dot_local/bin/executable_pass-dmenu new file mode 100644 index 0000000..e0bb1ab --- /dev/null +++ b/private_dot_local/bin/executable_pass-dmenu @@ -0,0 +1,3 @@ +#!/usr/bin/env fish + +PASSWORD_STORE_DIR=$PASSWORD_STORE_DIR passmenu -p Password: -fn "FuraCode Nerd Font" diff --git a/bin/.local/bin/prompt b/private_dot_local/bin/executable_prompt old mode 100755 new mode 100644 similarity index 91% rename from bin/.local/bin/prompt rename to private_dot_local/bin/executable_prompt index e2e55d9..b70c99e --- a/bin/.local/bin/prompt +++ b/private_dot_local/bin/executable_prompt @@ -1,7 +1,5 @@ #!/usr/bin/env sh -. ~/.cache/wal/colors.sh - # A dmenu binary prompt script. # Gives a dmenu prompt labeled with $1 to perform command $2. # For example: diff --git a/dmenu/.local/bin/ssh-dmenu b/private_dot_local/bin/executable_ssh-dmenu old mode 100755 new mode 100644 similarity index 75% rename from dmenu/.local/bin/ssh-dmenu rename to private_dot_local/bin/executable_ssh-dmenu index 209b484..239b247 --- a/dmenu/.local/bin/ssh-dmenu +++ b/private_dot_local/bin/executable_ssh-dmenu @@ -1,10 +1,7 @@ #!/usr/bin/env bash -# Load wal colours -. ~/.cache/wal/colors.sh - # get hostnames from ~/.ssh/known_hosts -ssh_host="$(awk -F "[ ,]+" '{print $1}' ~/.ssh/known_hosts | tr -d '[]' | uniq | sort -n | dmenu -fn "FuraCode Nerd Font" -nb "$color0" -nf "$color15" -sb "$color1" -sf "$color15" "$@")" +ssh_host="$(awk -F "[ ,]+" '{print $1}' ~/.ssh/known_hosts | tr -d '[]' | uniq | sort -n | dmenu -fn "FuraCode Nerd Font" "$@")" # split hostnames into array { hostname, port } mapfile -t params < <(echo "$ssh_host" | awk -F ":" '{print $1} {if ($2) print $2}') diff --git a/tuir/.local/bin/sxiveh b/private_dot_local/bin/executable_sxiveh old mode 100755 new mode 100644 similarity index 100% rename from tuir/.local/bin/sxiveh rename to private_dot_local/bin/executable_sxiveh diff --git a/dmenu/.local/bin/tldr-dmenu b/private_dot_local/bin/executable_tldr-dmenu old mode 100755 new mode 100644 similarity index 67% rename from dmenu/.local/bin/tldr-dmenu rename to private_dot_local/bin/executable_tldr-dmenu index 9c5d458..2d38642 --- a/dmenu/.local/bin/tldr-dmenu +++ b/private_dot_local/bin/executable_tldr-dmenu @@ -1,6 +1,5 @@ #!/usr/bin/env sh -. ~/.cache/wal/colors.sh -command=$(curl --silent "https://github.com/tldr-pages/tldr/tree/master/pages/linux" | grep -o "[1-zA-Z0-9\-]*.md" | cut -f 1 -d '.' | uniq | sort | dmenu -p "tldr" -i -nb "$color0" -nf "$color15" -sb "$color1" -sf "$color15") +command=$(curl --silent "https://github.com/tldr-pages/tldr/tree/master/pages/linux" | grep -o "[1-zA-Z0-9\-]*.md" | cut -f 1 -d '.' | uniq | sort | dmenu -p "tldr" -i) test ! -z "$command" && alacritty --class float,float -e ~/.config/polybar/bin/tldr-and-wait "$command" diff --git a/polybar/.local/bin/update-arch b/private_dot_local/bin/executable_update-arch old mode 100755 new mode 100644 similarity index 100% rename from polybar/.local/bin/update-arch rename to private_dot_local/bin/executable_update-arch diff --git a/emacs/.local/bin/viewDotfile b/private_dot_local/bin/executable_viewDotfile old mode 100755 new mode 100644 similarity index 100% rename from emacs/.local/bin/viewDotfile rename to private_dot_local/bin/executable_viewDotfile diff --git a/bin/.local/bin/vimdiff b/private_dot_local/bin/executable_vimdiff old mode 100755 new mode 100644 similarity index 100% rename from bin/.local/bin/vimdiff rename to private_dot_local/bin/executable_vimdiff diff --git a/wireguard/.local/bin/wireguard-switch b/private_dot_local/bin/executable_wireguard-switch old mode 100755 new mode 100644 similarity index 100% rename from wireguard/.local/bin/wireguard-switch rename to private_dot_local/bin/executable_wireguard-switch diff --git a/emacs/.local/share/applications/demacs.desktop b/private_dot_local/private_share/applications/demacs.desktop similarity index 89% rename from emacs/.local/share/applications/demacs.desktop rename to private_dot_local/private_share/applications/demacs.desktop index 05501fc..624c81b 100644 --- a/emacs/.local/share/applications/demacs.desktop +++ b/private_dot_local/private_share/applications/demacs.desktop @@ -3,7 +3,8 @@ Name=Doom Emacs GenericName=Doom Emacs Comment=Chemacs started with Doom Emacs profile MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++; -Exec=emacs --with-profile doom %F +#Exec=emacs --with-profile doom %F +Exec=doom run Icon=emacs Type=Application Terminal=false diff --git a/dmenu/.local/share/emoji b/private_dot_local/private_share/emoji similarity index 100% rename from dmenu/.local/share/emoji rename to private_dot_local/private_share/emoji diff --git a/blog/.local/share/pandoc/filters/convertLinks.py b/private_dot_local/private_share/pandoc/filters/executable_convertLinks.py old mode 100755 new mode 100644 similarity index 100% rename from blog/.local/share/pandoc/filters/convertLinks.py rename to private_dot_local/private_share/pandoc/filters/executable_convertLinks.py diff --git a/run_onchange_install-neovim-packages.sh b/run_onchange_install-neovim-packages.sh new file mode 100644 index 0000000..6bececa --- /dev/null +++ b/run_onchange_install-neovim-packages.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +# Install vim plugins & requirements +if test "$(pip list --user | grep -c 'pynvim')" -ne 1; then + pip install --user pynvim +fi + +# Install Neovim plugins +nvim +PlugInstall +qall + +# Install Neovim coc extensions +yarn --cwd ~/.config/coc/extensions install diff --git a/run_onchange_install-omf-plugins.sh b/run_onchange_install-omf-plugins.sh new file mode 100644 index 0000000..6a943a9 --- /dev/null +++ b/run_onchange_install-omf-plugins.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env fish + +function install_omf_package_if_not_exist + if test (omf list | grep -c "$argv") -eq 0 + echo "Installing omf package $argv" + omf install "$argv" + end +end + +# Install oh-my-fish plugins +install_omf_package_if_not_exist colored-man-pages +install_omf_package_if_not_exist extract +install_omf_package_if_not_exist fzf +install_omf_package_if_not_exist gi +install_omf_package_if_not_exist git-flow +install_omf_package_if_not_exist wttr diff --git a/run_onchange_install-packages.sh b/run_onchange_install-packages.sh new file mode 100644 index 0000000..94455f8 --- /dev/null +++ b/run_onchange_install-packages.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +# Prerequisite & inistalled apps +prerequisiteApps=(bat bmon broot caffeine-ng exa fslint fzf graphviz isync imagemagick lightdm-gtk-greeter mailcap neofetch npm pandoc-bin pamixer playerctl pipewire pipewire-pulse pulsemixer python ripgrep stow sxiv tldr trayer udisks2 unclutter xbanish xwallpaper yarn xprop zathura the_silver_searcher fd) +prerequisiteFonts=(ttf-linux-libertine noto-fonts noto-fonts-emoji ttf-liberation nerd-fonts-hack) +configuredApps=(alacritty bspwm emacs firejail git gnupg gtk lf dunst mpd mpv mpv-mpris ncmpcpp neomutt neovim picom redshift sxhkd tmux tuir weechat) +locales=(aspell-en hunspell-en_gb hunspell-en_us hunspell-nl) +golang=(go golangci-lint-bin) +shell=(shfmt shellcheck) +screenlock=(xsecurelock xss-lock) +dmenu=(clipmenu menu-calc) + +install_app_if_not_exist() { + apps=("$@") + for app in "${apps[@]}"; do + if test "$(pacman -Q | grep -c "$app")" -eq 0; then + echo "Installing missing package $app" + yay -S --noconfirm "$app" + fi + done +} + +install_app_if_not_exist "${prerequisiteApps[@]}" +install_app_if_not_exist "${prerequisiteFonts[@]}" +install_app_if_not_exist "${configuredApps[@]}" +install_app_if_not_exist "${locales[@]}" +install_app_if_not_exist "${golang[@]}" +install_app_if_not_exist "${screenlock[@]}" +install_app_if_not_exist "${dmenu[@]}" +install_app_if_not_exist "${shell[@]}" diff --git a/run_onchange_install-yarn-packages.sh b/run_onchange_install-yarn-packages.sh new file mode 100644 index 0000000..0802823 --- /dev/null +++ b/run_onchange_install-yarn-packages.sh @@ -0,0 +1,11 @@ +#!/bin/sh + +install_yarn_package_if_not_exist() { + if ! yarn global list | grep -q "$1"; then + echo "Installing yarn package $1" + yarn global add "$1" + fi +} + +# Install yarn packages +install_yarn_package_if_not_exist lighthouse diff --git a/run_onchange_org-protocol-setup.sh b/run_onchange_org-protocol-setup.sh new file mode 100644 index 0000000..62adfb7 --- /dev/null +++ b/run_onchange_org-protocol-setup.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +# Refresh xgd +if test "$(grep -c 'x-scheme-handler/org-protocol=org-protocol.desktop' ~/.config/mimeapps.list)" -eq 0; then + echo "Refreshing xgd to handle org-protocol" + update-desktop-database ~/.local/share/applications/ + xdg-mime default org-protocol.desktop x-scheme-handler/org-protocol +fi diff --git a/run_onchange_setup-broot.sh b/run_onchange_setup-broot.sh new file mode 100644 index 0000000..c44f2d4 --- /dev/null +++ b/run_onchange_setup-broot.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +# Setup broot if not done already +if [ ! -d ~/.local/share/broot ]; then + broot --install +fi diff --git a/run_onchange_update-fish-auto-completions.sh b/run_onchange_update-fish-auto-completions.sh new file mode 100644 index 0000000..c177510 --- /dev/null +++ b/run_onchange_update-fish-auto-completions.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env fish + +fish_update_completions diff --git a/statusbar/.local/bin/statusbar/bluetooth b/statusbar/.local/bin/statusbar/bluetooth deleted file mode 100755 index eeb4cd2..0000000 --- a/statusbar/.local/bin/statusbar/bluetooth +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh - -if [ "$(systemctl is-active bluetooth.service)" = "active" ]; then - echo "" -else - echo "" -fi diff --git a/statusbar/.local/bin/statusbar/clock b/statusbar/.local/bin/statusbar/clock deleted file mode 100755 index f63690d..0000000 --- a/statusbar/.local/bin/statusbar/clock +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh - -clock=$(date '+%I') - -case "$clock" in -"00") icon="🕛" ;; -"01") icon="🕐" ;; -"02") icon="🕑" ;; -"03") icon="🕒" ;; -"04") icon="🕓" ;; -"05") icon="🕔" ;; -"06") icon="🕕" ;; -"07") icon="🕖" ;; -"08") icon="🕗" ;; -"09") icon="🕘" ;; -"10") icon="🕙" ;; -"11") icon="🕚" ;; -"12") icon="🕛" ;; -esac - -case $BLOCK_BUTTON in -1) notify-send "This Month" "$(cal --color=always | sed "s/..7m//;s/..27m/<\/span><\/b>/")" && notify-send "Appointments" "$(khal list -d prayer_calender_local)" ;; -esac - -date "+$icon%H:%M" diff --git a/statusbar/.local/bin/statusbar/covid b/statusbar/.local/bin/statusbar/covid deleted file mode 100755 index bef5530..0000000 --- a/statusbar/.local/bin/statusbar/covid +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env sh - -case $BLOCK_BUTTON in -1) notify-send Covid "$(curl -4 https://corona-stats.online/Netherlands?emojis=true | sed 's/\x1b\[[0-9;]*m//g')" ;; -esac - -curl --silent "https://corona-stats.online/Netherlands" | sed -n '4p' | sed 's/\x1b\[[0-9;]*m//g' | sed 's/[\ \t]//g' | awk -F '│' '{ print "😷" $3, "💀" $5, "🛌" $4, "🏥" $9 }' diff --git a/statusbar/.local/bin/statusbar/cpu b/statusbar/.local/bin/statusbar/cpu deleted file mode 100755 index e120b83..0000000 --- a/statusbar/.local/bin/statusbar/cpu +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh - -case $BLOCK_BUTTON in -1) notify-send "🖥 CPU hogs" "$(ps axch -o cmd:15,%cpu --sort=-%cpu | head)\\n(100% per core)" ;; -3) setsid -f "$TERMINAL" -e htop ;; -esac - -sensors | awk '/Core 0/ {print "🌡" $3}' diff --git a/statusbar/.local/bin/statusbar/cpubars b/statusbar/.local/bin/statusbar/cpubars deleted file mode 100755 index 231207f..0000000 --- a/statusbar/.local/bin/statusbar/cpubars +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/sh - -# Cache in tmpfs to improve speed and reduce SSD load -cache=/tmp/cpubarscache - -case $BLOCK_BUTTON in -1) setsid -f "$TERMINAL" -e htop ;; -esac - -# id total idle -stats=$(awk '/cpu[0-9]+/ {printf "%d %d %d\n", substr($1,4), ($2 + $3 + $4 + $5), $5 }' /proc/stat) -[ ! -f $cache ] && echo "$stats" >"$cache" -old=$(cat "$cache") -printf "🪨" -echo "$stats" | while read -r row; do - id=${row%% *} - rest=${row#* } - total=${rest%% *} - idle=${rest##* } - - case "$(echo "$old" | awk '{if ($1 == id) - printf "%d\n", (1 - (idle - $3) / (total - $2))*100 /12.5}' \ - id="$id" total="$total" idle="$idle")" in - - "0") printf "▁" ;; - "1") printf "▂" ;; - "2") printf "▃" ;; - "3") printf "▄" ;; - "4") printf "▅" ;; - "5") printf "▆" ;; - "6") printf "▇" ;; - "7") printf "█" ;; - "8") printf "█" ;; - esac -done -printf "\\n" -echo "$stats" >"$cache" diff --git a/statusbar/.local/bin/statusbar/disk b/statusbar/.local/bin/statusbar/disk deleted file mode 100755 index 13eb6a7..0000000 --- a/statusbar/.local/bin/statusbar/disk +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh - -# Status bar module for disk space -# $1 should be drive mountpoint, otherwise assumed /. - -location=${1:-/} - -[ -d "$location" ] || exit - -case $BLOCK_BUTTON in -1) notify-send "💽 Disk space" "$(df -h --output=target,used,size)" ;; -esac - -printf "%s%s" "🏠" "$(df -h "/home" | awk ' /[0-9]/ {print $3 "/" $2}') " -printf "%s%s" "🖥" "$(df -h "/" | awk ' /[0-9]/ {print $3 "/" $2}')" diff --git a/statusbar/.local/bin/statusbar/docker b/statusbar/.local/bin/statusbar/docker deleted file mode 100755 index 16875a6..0000000 --- a/statusbar/.local/bin/statusbar/docker +++ /dev/null @@ -1,13 +0,0 @@ -#!/usr/bin/env sh - -case $BLOCK_BUTTON in -1) notify-send "Docker" "$(docker ps)" ;; -esac - -count=$(docker ps -q | wc -l) - -if [ ! "$count" -eq 0 ]; then - echo "🐳$count" -else - echo "" -fi diff --git a/statusbar/.local/bin/statusbar/github b/statusbar/.local/bin/statusbar/github deleted file mode 100755 index 9ab5ea7..0000000 --- a/statusbar/.local/bin/statusbar/github +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh - -token=$(getpassword githubnotifications) - -case $BLOCK_BUTTON in -1) "$BROWSER" --new-tab https://github.com/notifications ;; -esac - -count=$(curl -s -u alrayyes:"$token" https://api.github.com/notifications | jq 'length') - -if [ ! "$count" -eq 0 ]; then - echo "🦊$count" -else - echo "" -fi diff --git a/statusbar/.local/bin/statusbar/internet b/statusbar/.local/bin/statusbar/internet deleted file mode 100755 index 85081a4..0000000 --- a/statusbar/.local/bin/statusbar/internet +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh - -# Show wifi 📶 and percent strength or 📡 if none. -# Show 🌐 if connected to ethernet or ❎ if none. -# Show 🔒 if a vpn connection is active - -case $BLOCK_BUTTON in -1) - "$TERMINAL" -e nmtui - pkill -RTMIN+17 dwmblocks - ;; -esac - -case "$(cat /sys/class/net/w*/operstate 2>/dev/null)" in -down) wifiicon="📡 " ;; -up) wifiicon="$(awk '/^\s*w/ { print "📶", int($3 * 100 / 70) "% " }' /proc/net/wireless)" ;; -esac - -printf "%s%s%s\n" "$wifiicon" "$(sed "s/down/❎/;s/up/🌐/" /sys/class/net/e*/operstate 2>/dev/null)" diff --git a/statusbar/.local/bin/statusbar/mail b/statusbar/.local/bin/statusbar/mail deleted file mode 100755 index 3d587fb..0000000 --- a/statusbar/.local/bin/statusbar/mail +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env sh - -case $BLOCK_BUTTON in -1) setsid -f "$TERMINAL" -e neomutt ;; -3) setsid -f mailsync >/dev/null ;; -esac - -unread="$(find ~/.local/share/mail/*/INBOX/new/* -type f 2>/dev/null | wc -l)" - -if [ "$unread" -eq "0" ]; then - unread="" -fi - -pidof mbsync >/dev/null 2>&1 && icon="🔃" - -[ "$unread" = "" ] && [ "$icon" = "" ] || echo "📬$unread$icon" diff --git a/statusbar/.local/bin/statusbar/memory b/statusbar/.local/bin/statusbar/memory deleted file mode 100755 index 5fcba15..0000000 --- a/statusbar/.local/bin/statusbar/memory +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh - -case $BLOCK_BUTTON in - 1) notify-send "🧠 Memory hogs" "$(ps axch -o cmd:15,%mem --sort=-%mem | head)" ;; - 3) setsid -f "$TERMINAL" -e htop ;; -esac - -free --mebi | sed -n '2{p;q}' | awk '{printf ("🧠%2.2fGiB/%2.2fGiB\n", ( $3 / 1024), ($2 / 1024))}' diff --git a/statusbar/.local/bin/statusbar/microphone b/statusbar/.local/bin/statusbar/microphone deleted file mode 100755 index ded5a01..0000000 --- a/statusbar/.local/bin/statusbar/microphone +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh - -# Prints the current volume or nothing if muted. - -case $BLOCK_BUTTON in -1) setsid -f "$TERMINAL" -e pulsemixer ;; -2) pamixer -t ;; -9) pamixer --allow-boost -i 1 ;; -8) pamixer --allow-boost -d 1 ;; -esac - -source=$(pamixer --list-sources | grep Yeti | awk '{print $1}') - -if [ -n "$source" ]; then - vol="$(pamixer --source "$source" --get-volume)" - - if [ "$vol" -gt "0" ]; then - icon="🎤" - fi - - echo "$icon" -else - echo "" -fi diff --git a/statusbar/.local/bin/statusbar/music b/statusbar/.local/bin/statusbar/music deleted file mode 100755 index 288485f..0000000 --- a/statusbar/.local/bin/statusbar/music +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh - -player_status=$(playerctl status 2>/dev/null) - -if [ "$player_status" = "Playing" ]; then - echo "⏯$(playerctl metadata artist) - $(playerctl metadata title)" -elif [ "$player_status" = "Paused" ]; then - echo "⏸ $(playerctl metadata artist) - $(playerctl metadata title)" -fi - -case $BLOCK_BUTTON in -1) - playerctl previous - ;; -2) - playerctl play-pause - ;; -3) - playerctl next - ;; -esac diff --git a/statusbar/.local/bin/statusbar/nettraf b/statusbar/.local/bin/statusbar/nettraf deleted file mode 100755 index e83f325..0000000 --- a/statusbar/.local/bin/statusbar/nettraf +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh - -# Module showing network traffic. Shows how much data has been received (RX) or -# transmitted (TX) since the previous time this script ran. So if run every -# second, gives network traffic per second. - -case $BLOCK_BUTTON in -1) setsid -f "$TERMINAL" -e bmon ;; -esac - -update() { - sum=0 - for arg; do - read -r i <"$arg" - sum=$((sum + i)) - done - cache=${XDG_CACHE_HOME:-$HOME/.cache}/${1##*/} - [ -f "$cache" ] && read -r old <"$cache" || old=0 - printf %d\\n "$sum" >"$cache" - printf %d\\n $((sum - old)) -} - -rx=$(update /sys/class/net/[ew]*/statistics/rx_bytes) -tx=$(update /sys/class/net/[ew]*/statistics/tx_bytes) - -printf "🔻%4sB 🔺%4sB\\n" $(numfmt --to=iec $rx) $(numfmt --to=iec $tx) diff --git a/statusbar/.local/bin/statusbar/news b/statusbar/.local/bin/statusbar/news deleted file mode 100755 index f880e7b..0000000 --- a/statusbar/.local/bin/statusbar/news +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env sh - -password=$(getpassword rss) -session_id=$(curl -s -d '{"op":"login","user":"alrayyes","password":"'"$password"'"}' "https://rss.higherlearning.eu/api/" | jq -r ".content.session_id") -count=$(curl -s -d '{"sid":"'$session_id'","op":"getUnread","feed_id":"0","is_cat":"1"}' "https://rss.higherlearning.eu/api/" | jq -r ".content.unread") - -case $BLOCK_BUTTON in -1) setsid "$TERMINAL" -e newsboat ;; -2) setsid -f newsup exit >/dev/null ;; -esac - -output="" -if [ "$count" -gt 0 ]; then - output="📰$count" -fi - -cat /tmp/newsupdate 2>/dev/null || echo "$output""$(cat "${XDG_CONFIG_HOME:-$HOME/.config}"/newsboat/.update 2>/dev/null)" diff --git a/statusbar/.local/bin/statusbar/podcast b/statusbar/.local/bin/statusbar/podcast deleted file mode 100755 index a458b9a..0000000 --- a/statusbar/.local/bin/statusbar/podcast +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env sh - -password=$(getpassword rss) -session_id=$(curl -s -d '{"op":"login","user":"alrayyes","password":"'"$password"'"}' "https://rss.higherlearning.eu/api/" | jq -r ".content.session_id") -count=$(curl -s -d '{"sid":"'$session_id'","op":"getUnread","feed_id":"10","is_cat":"1"}' "https://rss.higherlearning.eu/api/" | jq -r ".content.unread") - -case $BLOCK_BUTTON in -1) setsid "$TERMINAL" -e podboat ;; -2) setsid -f newsup exit >/dev/null ;; -esac - -output="" -if [ "$count" -gt 0 ]; then - output="📻$count" -fi - -echo "$output""$(cat "${XDG_CONFIG_HOME:-$HOME/.config}"/newsboat/.update 2>/dev/null)" diff --git a/statusbar/.local/bin/statusbar/seperator b/statusbar/.local/bin/statusbar/seperator deleted file mode 100755 index 9c45e69..0000000 --- a/statusbar/.local/bin/statusbar/seperator +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -echo "║" diff --git a/statusbar/.local/bin/statusbar/toggl b/statusbar/.local/bin/statusbar/toggl deleted file mode 100755 index 01f73a6..0000000 --- a/statusbar/.local/bin/statusbar/toggl +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh - -case $BLOCK_BUTTON in -1) "$BROWSER" --new-tab https://track.toggl.com/timer ;; -esac - -token=$(getpassword toggl) -current="$(curl --silent -u "$token":api_token "https://api.track.toggl.com/api/v8/time_entries/current" | jq '.data.description' | sed 's/"//g')" - -if [ "$current" != "null" ]; then - echo "⏲ $current" -else - echo "" -fi diff --git a/statusbar/.local/bin/statusbar/update-arch b/statusbar/.local/bin/statusbar/update-arch deleted file mode 100755 index 4c6567e..0000000 --- a/statusbar/.local/bin/statusbar/update-arch +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env sh - -yay -sudo pacman -Rs $(pacman -Qtdq) -pacrmorphans -pkill -RTMIN+9 "${STATUSBAR:-dwmblocks}" diff --git a/statusbar/.local/bin/statusbar/updates b/statusbar/.local/bin/statusbar/updates deleted file mode 100755 index e80f88d..0000000 --- a/statusbar/.local/bin/statusbar/updates +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh - -case $BLOCK_BUTTON in -1) "$TERMINAL" -e ~/.local/bin/statusbar/update-arch ;; -esac - -if ! updates_arch=$(checkupdates 2>/dev/null | wc -l); then - updates_arch=0 -fi - -if ! updates_aur=$(yay -Qum 2>/dev/null | wc -l); then - # if ! updates_aur=$(cower -u 2> /dev/null | wc -l); then - # if ! updates_aur=$(trizen -Su --aur --quiet | wc -l); then - # if ! updates_aur=$(pikaur -Qua 2> /dev/null | wc -l); then - # if ! updates_aur=$(rua upgrade --printonly 2> /dev/null | wc -l); then - updates_aur=0 -fi - -updates=$(("$updates_arch" + "$updates_aur")) - -if [ "$updates" -gt 0 ]; then - echo "📦$updates" -else - echo "" -fi diff --git a/statusbar/.local/bin/statusbar/usb b/statusbar/.local/bin/statusbar/usb deleted file mode 100755 index f3c984b..0000000 --- a/statusbar/.local/bin/statusbar/usb +++ /dev/null @@ -1,90 +0,0 @@ -#!/bin/sh - -usb_print() { - devices=$(lsblk -Jplno NAME,TYPE,RM,SIZE,MOUNTPOINT,VENDOR) - output="" - counter=0 - - for unmounted in $(echo "$devices" | jq -r '.blockdevices[] | select(.type == "part") | select(.rm == true) | select(.mountpoint == null) | .name'); do - unmounted=$(echo "$unmounted" | tr -d "[:digit:]") - unmounted=$(echo "$devices" | jq -r '.blockdevices[] | select(.name == "'"$unmounted"'") | .vendor') - unmounted=$(echo "$unmounted" | tr -d ' ') - - if [ $counter -eq 0 ]; then - space="" - else - space=" " - fi - counter=$((counter + 1)) - - output="$output$space $unmounted" - done - - for mounted in $(echo "$devices" | jq -r '.blockdevices[] | select(.type == "part") | select(.rm == true) | select(.mountpoint != null) | .size'); do - if [ $counter -eq 0 ]; then - space="" - else - space=" " - fi - counter=$((counter + 1)) - - output="$output$space $mounted" - done - - if [ "$output" ]; then - notify-send.py "USB" "$output" \ - -i drive-removable-media-usb \ - --replaces-process "usb-mount" & - fi - echo "$output" -} - -usb_update() { - pid=$(cat "$path_pid") - - if [ "$pid" != "" ]; then - kill -10 "$pid" - fi -} - -path_pid="/tmp/polybar-system-usb-udev.pid" - -case "$1" in ---update) - usb_update - ;; ---mount) - devices=$(lsblk -Jplno NAME,TYPE,RM,MOUNTPOINT) - - for mount in $(echo "$devices" | jq -r '.blockdevices[] | select(.type == "part") | select(.rm == true) | select(.mountpoint == null) | .name'); do - mountpoint=$(udisksctl mount --no-user-interaction -b "$mount") - mountpoint=$(echo "$mountpoint" | cut -d " " -f 4 | tr -d ".") - alacritty --class lf,lf -e lf "$mountpoint" & - done - - usb_update - ;; ---unmount) - devices=$(lsblk -Jplno NAME,TYPE,RM,MOUNTPOINT) - - for unmount in $(echo "$devices" | jq -r '.blockdevices[] | select(.type == "part") | select(.rm == true) | select(.mountpoint != null) | .name'); do - udisksctl unmount --no-user-interaction -b "$unmount" - udisksctl power-off --no-user-interaction -b "$unmount" - done - - usb_update - ;; -*) - echo $$ >$path_pid - - trap exit INT - trap "echo" USR1 - - while true; do - usb_print - - sleep 60 & - wait - done - ;; -esac diff --git a/statusbar/.local/bin/statusbar/volume b/statusbar/.local/bin/statusbar/volume deleted file mode 100755 index 9aa30a4..0000000 --- a/statusbar/.local/bin/statusbar/volume +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh - -# Prints the current volume or 🔇 if muted. - -case $BLOCK_BUTTON in -1) setsid -f "$TERMINAL" -e pulsemixer ;; -2) pamixer -t ;; -9) pamixer --allow-boost -i 1 ;; -8) pamixer --allow-boost -d 1 ;; -esac - -[ $(pamixer --get-mute) = true ] && echo 🔇 && exit - -vol="$(pamixer --get-volume)" - -if [ "$vol" -gt "70" ]; then - icon="🔊" -elif [ "$vol" -lt "30" ]; then - icon="🔈" -else - icon="🔉" -fi - -echo "$icon$vol%" diff --git a/statusbar/.local/bin/statusbar/vpn b/statusbar/.local/bin/statusbar/vpn deleted file mode 100755 index 4aade37..0000000 --- a/statusbar/.local/bin/statusbar/vpn +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh - -check_vpn() { - status="$(nmcli device status | grep -c "$1")" - - if [ "$status" -gt "0" ]; then - icon=💂 - if [ "$1" = "tun0" ]; then - icon=🔒 - fi - - echo "$icon$1" - fi - -} - -if [ -n "$1" ]; then - case $BLOCK_BUTTON in - 1) case $1 in - "wg-0") - wg-quick down "$1" - notify-send -a wireguard --replaces-process wireguard-status-"$1" -i network-vpn-offline-symbolic "Wireguard $1" "Connection down" & - ;; - "wg-1") - wg-quick down "$1" - notify-send -a wireguard --replaces-process wireguard-status-"$1" -i network-vpn-offline-symbolic "Wireguard $1" "Connection down" & - ;; - esac ;; - esac - - check_vpn "$1" -fi diff --git a/statusbar/.local/bin/statusbar/weather b/statusbar/.local/bin/statusbar/weather deleted file mode 100755 index 2843329..0000000 --- a/statusbar/.local/bin/statusbar/weather +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh - -case $BLOCK_BUTTON in -1) notify-send "Weather" "$(curl -4 https://wttr.in/Amsterdam?T)" ;; -esac - -curl --silent "https://wttr.in/Amsterdam?format=2" | sed 's/️//g' diff --git a/sxhkd/.config/sxhkd/sxhkdrc.thinkpad b/sxhkd/.config/sxhkd/sxhkdrc.thinkpad deleted file mode 100644 index 6d22265..0000000 --- a/sxhkd/.config/sxhkd/sxhkdrc.thinkpad +++ /dev/null @@ -1,183 +0,0 @@ -#-----------------------------------------------------------Functions-------------------------------------------------------------- -# lock screen -super + F1 - xset s activate - -# dmenu password selector -super + F2 - ~/.local/bin/pass-dmenu - -# dmenu authenticator -super + F3 - ~/.local/bin/oath-dmenu - -# ssh shell -super + F4 - ~/.local/bin/ssh-dmenu -p SSH: - -# player controls -super + F5 - playerctl stop -super + F6 - playerctl previous -super + F7 - playerctl play-pause -super + F8 - playerctl next - -# Wireguard -super + F11 - ~/.local/bin/wireguard-switch - -# dmenu calculator -super + F12 - = - -#-----------------------------------------------------------Audio & screen brightness & shutdown-------------------------------------------------------------- -# Audio controls -XF86AudioRaiseVolume - ~/.local/bin/volume inc -XF86AudioLowerVolume - ~/.local/bin/volume dec -XF86AudioMute - ~/.local/bin/volume mute - -# Screen brightness controls -XF86MonBrightnessUp - ~/.local/bin/brightness inc -XF86MonBrightnessDown - ~/.local/bin/brightness dec -# Shutdown / reboot -XF86Eject - prompt "Shutdown computer?" "sudo -A shutdown -h now" -shift + XF86Eject - prompt "Reboot computer?" "sudo -A reboot" - -#-----------------------------------------------------------Screenshots-------------------------------------------------------------- -shift + Print - maimpick - -# desktop screenshot -Print - TIMESTAMP=$(date '+%Y-%m-%d-%H%M%S'); maim ~/Pictures/Screenshots/pic-full-$TIMESTAMP.png && notify-send -i ~/Pictures/Screenshots/pic-full-$TIMESTAMP.png "Desktop Screenshot pic-full-$TIMESTAMP.png" - - -#-----------------------------------------------------------App shortcuts-------------------------------------------------------------- -# terminal emulator -super + Return - st - -# program launcher -super + @space - dmenu-frecency - -# make sxhkd reload its configuration files: -super + Escape - pkill -USR1 -x sxhkd - -# Misc apps -super + ctrl + alt + {l, n, r, s, c, v, k, a, u, e} - alacritty --class float,float -e {lf, neomutt, /usr/bin/newsboat, spt, castero, nvim, ~/.local/bin/calendar-and-wait, ~/.local/bin/audit, ~/.local/bin/update-arch} -super + ctrl + alt + {b, e, S} - {brave, emacs, spotify} -super + ctrl + alt + {t} - ~/.local/bin/tldr-dmenu -super + ctrl + alt + {m} - ~/.local/bin/dmenuunicode -super + ctrl + alt + {w} - alacritty --class fullscreen,fullscreen -e ~/.config/polybar/bin/wttr-and-wait - -#-----------------------------------------------------------Bspwm-------------------------------------------------------------- -# quit/restart bspwm -super + alt + {q,r} - bspc {quit,wm -r} - -# close and kill -super + {_,shift + }w - bspc node -{c,k} - -# alternate between the tiled and monocle layout -super + m - bspc desktop -l next - -# send the newest marked node to the newest preselected node -super + y - bspc node newest.marked.local -n newest.!automatic.local - -# swap the current node and the biggest node -super + g - bspc node -s biggest - -# set the window state -super + {t,shift + t,s,f} - bspc node -t {tiled,pseudo_tiled,floating,fullscreen} - -# set the node flags -super + ctrl + {m,x,y,z} - bspc node -g {marked,locked,sticky,private} - -# focus the node in the given direction -super + {_,shift + }{h,j,k,l} - bspc node -{f,s} {west,south,north,east} - -# focus the node for the given path jump -super + {p,b,comma,period} - bspc node -f @{parent,brother,first,second} - -# focus the next/previous node in the current desktop -super + {_,shift + }c - bspc node -f {next,prev}.local - -# focus the next/previous desktop in the current monitor -super + bracket{left,right} - bspc desktop -f {prev,next}.local - -# focus the last node/desktop -super + {grave,Tab} - bspc {node,desktop} -f last - -# focus the older or newer node in the focus history -super + {o,i} - bspc wm -h off; \ - bspc node {older,newer} -f; \ - bspc wm -h on - -# focus or send to the given desktop -super + {_,shift + }{1-9,0} - bspc {desktop -f,node -d} '^{1-9,10}' - -# preselect the direction -super + ctrl + {h,j,k,l} - bspc node -p {west,south,north,east} - -# preselect the ratio -super + ctrl + {1-9} - bspc node -o 0.{1-9} - -# cancel the preselection for the focused node -super + ctrl + space - bspc node -p cancel - -# cancel the preselection for the focused desktop -super + ctrl + shift + space - bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel - -# expand a window by moving one of its side outward -super + alt + {h,j,k,l} - bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0} - -# contract a window by moving one of its side inward -super + alt + shift + {h,j,k,l} - bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0} - -# move a floating window -super + {Left,Down,Up,Right} - bspc node -v {-20 0,0 20,0 -20,20 0} - -# Swap nodes the tree from the current nodes parent -super + control + {Up, Down} - bspc node @parent -C {forward, backward} - -# Rotate the tree from the current nodes parent -super + control + {Right, Left} - bspc node @parent --rotate {90,270} diff --git a/sxhkd/.local/bin/calendar-and-wait b/sxhkd/.local/bin/calendar-and-wait deleted file mode 100755 index 7124474..0000000 --- a/sxhkd/.local/bin/calendar-and-wait +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env sh - -khal list && read -n 1 -p "" diff --git a/sxhkd/.local/bin/sxhkd/calendar-and-wait b/sxhkd/.local/bin/sxhkd/calendar-and-wait deleted file mode 100755 index 7124474..0000000 --- a/sxhkd/.local/bin/sxhkd/calendar-and-wait +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env sh - -khal list && read -n 1 -p "" diff --git a/sxhkd/.local/bin/sxhkd/volume b/sxhkd/.local/bin/sxhkd/volume deleted file mode 100755 index fd81dfb..0000000 --- a/sxhkd/.local/bin/sxhkd/volume +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh - -if [ -n "$1" ]; then - case $1 in - inc) - pamixer --allow-boost -i 3 - ;; - dec) - pamixer --allow-boost -d 3 - ;; - mute) - pamixer -t - ;; - esac -fi - -pkill -RTMIN+15 "${STATUSBAR:-dwmblocks}" diff --git a/sxhkd/.local/bin/sxhkd/wttr-and-wait b/sxhkd/.local/bin/sxhkd/wttr-and-wait deleted file mode 100755 index ecc935b..0000000 --- a/sxhkd/.local/bin/sxhkd/wttr-and-wait +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env fish - -wttr && read -n 1 -p "" diff --git a/x/.config/X11/.Xresources.thinkpad b/x/.config/X11/.Xresources.thinkpad deleted file mode 100644 index 34e2b28..0000000 --- a/x/.config/X11/.Xresources.thinkpad +++ /dev/null @@ -1,9 +0,0 @@ -!------------------------------------------------------------------------------- -! Xft settings -!------------------------------------------------------------------------------- - -Xft.dpi: 160 -Xft.antialias: false -Xft.rgba: rgb -Xft.hinting: true -Xft.hintstyle: hintslight diff --git a/x/.local/bin/lock b/x/.local/bin/lock deleted file mode 100755 index 701c640..0000000 --- a/x/.local/bin/lock +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env sh - -xset s activate diff --git a/zsh/.config/zsh/.zprofile b/zsh/.config/zsh/.zprofile deleted file mode 100644 index 3304d79..0000000 --- a/zsh/.config/zsh/.zprofile +++ /dev/null @@ -1,3 +0,0 @@ -if [[ ! $DISPLAY && $XDG_VTNR -eq 1 ]]; then - exec startx -fi