From: Amin Bandali Date: Sat, 13 Apr 2019 03:19:09 +0000 (-0400) Subject: configs: pull current configs out of rc.org & clean up X-Git-Url: https://git.shemshak.org/gitweb.cgi/~bandali/configs/commitdiff_plain/ec80f07afe6f0985de1aff4d321292c93b3cb4ef?ds=sidebyside configs: pull current configs out of rc.org & clean up fontconfig: pull out of rc.org getmail: pull out of rc.org gnupg: pull out of rc.org git: pull out of rc.org i3status: pull out of rc.org latexmk: pull out of rc.org mbsync: pull out of rc.org msmtp: pull out of rc.org rofi{,-pass}: pull out of rc.org sway{,lock}: pull out of rc.org xdg: pull out of rc.org xresources: pull out of rc.org zathura: pull out of rc.org {compton,dunst,notmuch}: remove configs {toggle-layout,unlock-def-gk.py,wp,Fun}: remove scripts --- diff --git a/.Xresources b/.Xresources new file mode 100644 index 0000000..5b878f1 --- /dev/null +++ b/.Xresources @@ -0,0 +1,3 @@ +#include ".Xresources.d/fonts" +#include ".Xresources.d/emacs" +#include ".Xresources.d/rxvt-unicode" diff --git a/.Xresources.d/emacs b/.Xresources.d/emacs new file mode 100644 index 0000000..28d5890 --- /dev/null +++ b/.Xresources.d/emacs @@ -0,0 +1,20 @@ +Emacs.menuBar: off +Emacs.toolBar: off +Emacs.verticalScrollBars: off +Emacs.cursorBlink: off +Emacs.FontBackend: xft,x +! Emacs.font: Ubuntu Mono-12 +! Emacs.font: Triplicate T4C-11 +! Emacs.font: Ubuntu Mono-10.5 +! Emacs.font: Ubuntu Mono-12 +! Emacs.font: Iosevka-11 + +! Emacs.font: Fira Mono:size=15 +! Emacs.font: DejaVu Sans Mono:size=15 +! Emacs.font: Inconsolata:size=17 +! Emacs.font: Inconsolata:size=16 +! Emacs.font: Inconsolata LGC:size=14 +! Emacs.font: Source Code Pro Medium-10.5 +Emacs.font: Source Code Pro:size=14 +! Emacs.font: Ubuntu Mono:size=16 +! Emacs.font: Iosevka:size=16 diff --git a/.Xresources.d/fonts b/.Xresources.d/fonts new file mode 100644 index 0000000..fc02922 --- /dev/null +++ b/.Xresources.d/fonts @@ -0,0 +1,8 @@ +Xft.lcdfilter: lcddefault +Xft.antialias: true +Xft.autohint: 0 +Xft.hinting: true +Xft.hintstyle: hintslight +! Xft.hintstyle: hintfull +Xft.rgba: rgb +Xft.dpi: 96 diff --git a/.Xresources.d/rxvt-unicode b/.Xresources.d/rxvt-unicode new file mode 100644 index 0000000..b9bf81c --- /dev/null +++ b/.Xresources.d/rxvt-unicode @@ -0,0 +1,130 @@ +! Font +URxvt.font: xft:source code pro:pixelsize=14:antialias=true:hinting=true, xft:dejavu sans mono:pixelsize=15:antialias=true:hinting=true +URxvt.boldFont: xft:source code pro:semibold:pixelsize=14:antialias=true:hinting=true:bold, xft:dejavu sans mono:pixelsize=15:antialias=true:hinting=true:bold +URxvt.italicFont: xft:source code pro:italic:pixelsize=14:antialias=true:hinting=true:italic, xft:dejavu sans mono:pixelsize=15:antialias=true:hinting=true:italic +URxvt.bolditalicFont: xft:source code pro:semibold:italic:pixelsize=14:antialias=true:hinting=true:bold:italic, xft:dejavu sans mono:pixelsize=15:antialias=true:hinting=true:bolditalic + +URxvt.xftAntialias: true +URxvt.letterSpace: 0 + +URxvt.depth: 0 +URxvt.loginShell: true +URxvt.saveLines: 100000 +URxvt.internalBorder: 3 +URxvt.lineSpace: 0 +URxvt.scrollBar: false +URxvt.scrollStyle: rxvt +URxvt*scrollTtyOutput: false +URxvt*scrollWithBuffer: true +URxvt*scrollTtyKeypress: true +URxvt.keysym.Shift-Up: command:\033]720;1\007 +URxvt.keysym.Shift-Down: command:\033]721;1\007 + +URxvt.perl-ext-common: default,clipboard,url-select,keyboard-select +URxvt.url-select.launcher: firefox +URxvt.url-select.underline: true +URxvt.keysym.M-u: perl:url-select:select_next +URxvt.keysym.M-Escape: perl:keyboard-select:activate +URxvt.keysym.M-s: perl:keyboard-select:search +URxvt.url-launcher: /usr/bin/firefox +URxvt.matcher.button: 1 +URxvt.iso14755: false +URxvt.iso14755_53: false +URxvt.keysym.M-c: perl:clipboard:copy +URxvt.keysym.M-v: perl:clipboard:paste +URxvt.keysym.C-A-V: perl:clipboard:paste_escaped +URxvt.keysym.C-Up: font-size:increase +URxvt.keysym.C-Down: font-size:decrease +URxvt.keysym.C-S-Up: font-size:incglobal +URxvt.keysym.C-S-Down: font-size:decglobal +URxvt.keysym.C-equal: font-size:reset +!URxvt.keysym.C-question: font-size:show + +URxvt.iconFile: /usr/share/icons/Paper/48x48/apps/utilities-terminal.png + +!urxvt*foreground: white +!urxvt*background: black + +!*color0: #2E3436 +!*color1: #a40000 +!*color2: #4E9A06 +!*color3: #C4A000 +!*color4: #3465A4 +!*color5: #75507B +!*color6: #ce5c00 +!*color7: #babdb9 +!*color8: #555753 +!*color9: #EF2929 +!*color10: #8AE234 +!*color11: #FCE94F +!*color12: #729FCF +!*color13: #AD7FA8 +!*color14: #fcaf3e +!*color15: #EEEEEC + +!URxvt.foreground: #C8C8C8 +!URxvt.background: #FFFFFF + +!! black +!*color0: #2E3436 +!*color8: #555753 +!! red +!*color1: #a40000 +!*color9: #EF2929 +!! green +!*color2: #4E9A06 +!*color10: #8AE234 +!! yellow +!*color3: #C4A000 +!*color11: #FCE94F +!! blue +!*color4: #3465A4 +!*color12: #729FCF +!! purple +!*color5: #75507B +!*color13: #AD7FA8 +!! orange (replaces cyan) +!*color6: #ce5c00 +!*color14: #fcaf3e +!! white +!*color7: #babdb9 +!*color15: #EEEEEC + +! Tango colour theme for rxvt-unicode +URxvt.background: #FFFFFF +URxvt.foreground: #000000 + +! Black +URxvt.color0: #2E3436 +URxvt.color8: #757773 + +! Red +URxvt.color1: #CC0000 +URxvt.color9: #EF2929 + +! Green +URxvt.color2: #4E9A06 +URxvt.color10: #8AE234 + +! Yellow +URxvt.color3: #C4A000 +URxvt.color11: #FCE94F + +! Blue +URxvt.color4: #3465A4 +URxvt.color12: #729FCF + +! Magenta +URxvt.color5: #75507B +URxvt.color13: #AD7FA8 + +!! Cyan +!URxvt.color6: #06989A +!URxvt.color14: #34E2E2 +! orange (replaces cyan) +,*color6: #ce5c00 +,*color14: #fcaf3e + +! White +URxvt.color7: #D3D7CF +URxvt.color15: #EEEEEC diff --git a/.config/fontconfig/fonts.conf b/.config/fontconfig/fonts.conf new file mode 100644 index 0000000..083ece3 --- /dev/null +++ b/.config/fontconfig/fonts.conf @@ -0,0 +1,38 @@ + + + + + + rgb + + + + + true + + + + + hintslight + + + + + true + + + + + lcddefault + + + ~/.fonts + + + + Helvetica + + Liberation Sans + + + diff --git a/.config/i3status/config b/.config/i3status/config new file mode 100644 index 0000000..010b020 --- /dev/null +++ b/.config/i3status/config @@ -0,0 +1,67 @@ +# i3status configuration file. +# see "man i3status" for documentation. + +# It is important that this file is edited as UTF-8. +# The following line should contain a sharp s: +# ß +# If the above line is not correctly displayed, fix your editor first! + +general { + colors = true + interval = 5 + output_format = "i3bar" +} + +# order += "ipv6" +order += "disk /" +order += "disk /data" +# order += "wireless _first_" +order += "ethernet _first_" +order += "battery 0" +order += "volume master" +# order += "load" +order += "tztime local" + +wireless _first_ { + format_up = "W:%quality %essid %ip" + format_down = "W: down" +} + +ethernet _first_ { + # if you use %speed, i3status requires root privileges + # format_up = "E: %ip (%speed)" + format_up = "E: %ip" + format_down = "E: down" +} + +battery 0 { + format = "%status %percentage %remaining %consumption" + path = "/sys/class/power_supply/BAT%d/uevent" + low_threshold = "10" + threshold_type = "percentage" + last_full_capacity = true + integer_battery_capacity = true + hide_seconds = true +} + +tztime local { + format = "%A %Y-%m-%d %I:%M %p" +} + +volume master { + format = "♪ %volume" + format_muted = "🔇 %volume" + device = "pulse" +} + +load { + format = "%1min" +} + +disk "/" { + format = "/ %avail" +} + +disk "/data" { + format = "/data %avail" +} diff --git a/.config/rofi-pass/config b/.config/rofi-pass/config new file mode 100644 index 0000000..e369133 --- /dev/null +++ b/.config/rofi-pass/config @@ -0,0 +1,74 @@ +# permanently set alternative root dir +# root=/path/to/root + +# rofi command. Make sure to have "$@" as last argument +_rofi () { + #rofi -no-auto-select -kb-accept-entry "!Return" -i -no-levenshtein-sort "$@" + rofi -i -no-auto-select -kb-accept-entry "!Return" "$@" +} + +# xdotool needs the keyboard layout to be set using setxkbmap +# You can do this in your autostart scripts (e.g. xinitrc) + +# If for some reason, you cannot do this, you can set the command here. +# and set fix_layout to true +fix_layout=false + +layout_cmd () { + setxkbmap us +} + +# fields to be used +URL_field='url' +USERNAME_field='user' +AUTOTYPE_field='autotype' + +# delay to be used for :delay keyword +delay=2 + +## Programs to be used +# Editor +EDITOR='gvim -f' + +# Browser +BROWSER='chromium' + +## Misc settings + +default_do='menu' # menu, autotype, copyPass, typeUser, typePass, copyUser, copyUrl, viewEntry, typeMenu, actionMenu, copyMenu, openUrl +auto_enter='false' +notify='false' +default_autotype='user :tab pass' + +# color of the help messages +# leave empty for autodetection +help_color="#4872FF" + +# Clipboard settings +# Possible options: primary, clipboard, both +clip=primary + +# Options for generating new password entries +# default_user is also used for password files that have no user field. +default_user=aminb +default_user2=bandali +password_length=30 + +# Custom Keybindings +#autotype="Alt+1" +autotype="Alt+m" +type_user="Alt+2" +type_pass="Alt+3" +open_url="Alt+4" +copy_name="Alt+u" +copy_url="Alt+l" +copy_pass="Alt+p" +show="Alt+o" +copy_entry="Alt+2" +type_entry="Alt+1" +copy_menu="Alt+c" +action_menu="Alt+a" +type_menu="Alt+t" +help="Alt+h" +switch="Alt+x" +insert_pass="Alt+n" diff --git a/.config/rofi/config b/.config/rofi/config new file mode 100644 index 0000000..2d60260 --- /dev/null +++ b/.config/rofi/config @@ -0,0 +1,18 @@ +! rofi.font: Ubuntu Mono 13 +! rofi.font: Inconsolata 16 +! rofi.font: Iosevka 13 +! rofi.font: Source Code Pro 11 +rofi.font: Source Code Pro 10.5 +rofi.modi: run,window +! rofi.width: 640 +rofi.width: 600 +!rofi.location: 2 +!rofi.yoffset: 200 +rofi.monitor: -1 +!rofi.lines: 10 + +!rofi.theme: /usr/share/rofi/themes//Arc.rasi +!rofi.theme: /usr/share/rofi/themes//Paper.rasi +!rofi.theme: /usr/share/rofi/themes//sidebar.rasi + +rofi.theme: /usr/share/rofi/themes//gruvbox-light.rasi diff --git a/.config/sway/config b/.config/sway/config new file mode 100644 index 0000000..d65a63e --- /dev/null +++ b/.config/sway/config @@ -0,0 +1,310 @@ +### Variables +# super +set $mod Mod4 +# alt +set $mod2 Mod1 +set $left h +set $down j +set $up k +set $right l +set $term alacritty +set $term2 urxvt +set $menu rofi -show run -display-run '> ' -display-window ' 🗔 ' + +### Output configuration +# +# Default wallpaper (more resolutions are available in __DATADIR__/backgrounds/sway/) +output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill +# +# Example configuration: +# +# output HDMI-A-1 resolution 1920x1080 position 1920,0 +# +# You can get the names of your outputs by running: swaymsg -t get_outputs + +output DP-1 res 2560x1440 pos 0,0 +# 597 = (2560/2) - (1366/2) +output LVDS-1 pos 597,1440 + +### Idle configuration + +exec swayidle \ + timeout 120 '[ -f ~/.nosleep ] || swaymsg "output * dpms off"' \ + resume '[ -f ~/.nosleep ] || swaymsg "output * dpms on"' \ + + +### Key bindings +# +# Basics: +# + # start a terminal + bindsym $mod+Return exec $term + bindsym $mod+Shift+Return exec $term2 + + # kill focused window + bindsym $mod+Shift+q kill + + # start your launcher + bindsym $mod+d exec $menu + + # password manager + bindsym $mod2+space exec rofi-pass + + # Drag floating windows by holding down $mod and left mouse button. + # Resize them with right mouse button + $mod. + # Despite the name, also works for non-floating windows. + # Change normal to inverse to use left mouse button for resizing and right + # mouse button for dragging. + floating_modifier $mod normal + + # reload the configuration file + bindsym $mod+Shift+c reload + + # exit sway (logs you out of your wayland session) + # bindsym $mod+Shift+e exit + + bindsym $mod+apostrophe exec rofi-light # rofi-based brightness chooser + bindsym XF86MonBrightnessUp exec light -A 5 # increase screen brightness + bindsym XF86MonBrightnessDown exec light -U 5 # decrease screen brightness + + bindsym XF86AudioRaiseVolume exec pamixer --allow-boost --increase 5 + bindsym XF86AudioLowerVolume exec pamixer --allow-boost --decrease 5 + bindsym XF86AudioMute exec pamixer --toggle-mute + bindsym XF86AudioMicMute exec pactl set-source-mute 1 toggle + + bindsym $mod+Shift+apostrophe exec rofi-remmina.py # choose remmina connection + + # original sway workspace switch and window move + bindsym $mod+bracketleft workspace prev + bindsym $mod+bracketright workspace next + bindsym $mod+braceleft move container to workspace prev + bindsym $mod+braceright move container to workspace next + + # bspwm-esque workspace switch and window move + bindsym $mod2+bracketleft exec sway-ws-util switch prev + bindsym $mod2+bracketright exec sway-ws-util switch next + bindsym $mod2+braceleft exec sway-ws-util move prev follow + bindsym $mod2+braceright exec sway-ws-util move next follow +# +# Moving around: +# + # Move your focus around + bindsym $mod+$left focus left + bindsym $mod+$down focus down + bindsym $mod+$up focus up + bindsym $mod+$right focus right + # or use $mod+[up|down|left|right] + bindsym $mod+Left focus left + bindsym $mod+Down focus down + bindsym $mod+Up focus up + bindsym $mod+Right focus right + + # _move_ the focused window with the same, but add Shift + bindsym $mod+Shift+$left move left + bindsym $mod+Shift+$down move down + bindsym $mod+Shift+$up move up + bindsym $mod+Shift+$right move right + # ditto, with arrow keys + bindsym $mod+Shift+Left move left + bindsym $mod+Shift+Down move down + bindsym $mod+Shift+Up move up + bindsym $mod+Shift+Right move right +# +# Workspaces: +# + # switch to workspace + bindsym $mod+1 workspace 1 + bindsym $mod+2 workspace 2 + bindsym $mod+3 workspace 3 + bindsym $mod+4 workspace 4 + bindsym $mod+5 workspace 5 + bindsym $mod+6 workspace 6 + bindsym $mod+7 workspace 7 + bindsym $mod+8 workspace 8 + bindsym $mod+9 workspace 9 + bindsym $mod+0 workspace 10 + # move focused container to workspace + bindsym $mod+Shift+1 move container to workspace 1 + bindsym $mod+Shift+2 move container to workspace 2 + bindsym $mod+Shift+3 move container to workspace 3 + bindsym $mod+Shift+4 move container to workspace 4 + bindsym $mod+Shift+5 move container to workspace 5 + bindsym $mod+Shift+6 move container to workspace 6 + bindsym $mod+Shift+7 move container to workspace 7 + bindsym $mod+Shift+8 move container to workspace 8 + bindsym $mod+Shift+9 move container to workspace 9 + bindsym $mod+Shift+0 move container to workspace 10 + # Note: workspaces can have any name you want, not just numbers. + # We just use 1-10 as the default. +# +# Layout stuff: +# + # You can "split" the current object of your focus with + # $mod+b or $mod+v, for horizontal and vertical splits + # respectively. + bindsym $mod+b splith + bindsym $mod+v splitv + + # Switch the current container between different layout styles + bindsym $mod+s layout stacking + bindsym $mod+w layout tabbed + bindsym $mod+e layout toggle split + + # Make the current focus fullscreen + bindsym $mod+f fullscreen + + # Toggle sticky-ness of the current (floating) window + bindsym $mod+$mod2+space sticky toggle + + # Toggle the current focus between tiling and floating mode + bindsym $mod+Shift+space floating toggle + + # Swap focus between the tiling area and the floating area + bindsym $mod+space focus mode_toggle + + # move focus to the parent container + bindsym $mod+a focus parent +# +# Scratchpad: +# + # Sway has a "scratchpad", which is a bag of holding for windows. + # You can send windows there and get them back later. + + # Move the currently focused window to the scratchpad + bindsym $mod+Shift+minus move scratchpad + + # Show the next scratchpad window or hide the focused scratchpad window. + # If there are multiple scratchpad windows, this command cycles through them. + bindsym $mod+minus scratchpad show +# +# Resizing containers: +# +mode "resize" { + # left will shrink the containers width + # right will grow the containers width + # up will shrink the containers height + # down will grow the containers height + bindsym $left resize shrink width 10px + bindsym $down resize grow height 10px + bindsym $up resize shrink height 10px + bindsym $right resize grow width 10px + + # ditto, with arrow keys + bindsym Left resize shrink width 10px + bindsym Down resize grow height 10px + bindsym Up resize shrink height 10px + bindsym Right resize grow width 10px + + # return to default mode + bindsym Return mode "default" + bindsym Escape mode "default" +} +bindsym $mod+Shift+r mode "resize" + +# +# Power button +# + +set $mode_system System (l)ock, (e)xit sway, (s)uspend, (h)ibernate, (r)eboot, (S)hutdown +mode "$mode_system" { + bindsym l exec swaylock, mode "default" + bindsym e exec swaymsg exit, mode "default" + bindsym s exec systemctl suspend, mode "default" + bindsym h exec systemctl hibernate, mode "default" + bindsym r exec systemctl reboot, mode "default" + bindsym Shift+s exec systemctl poweroff -i, mode "default" + + # back to normal: Enter, Escape, or q + bindsym Return mode "default" + bindsym Escape mode "default" + bindsym q mode "default" +} +# bindsym XF86PowerOff mode "$mode_system" +bindsym $mod+Shift+e mode "$mode_system" + +# +# Presentation mode +# + +bindsym $mod+$mod2+p exec ([ ! -e ~/.nosleep ] && touch ~/.nosleep || rm ~/.nosleep) && killall -USR1 i3status + +# +# Notifications +# + +bindsym $mod+Shift+n mode notifications +mode notifications { + bindsym Return exec makoctl invoke; exec makoctl dismiss; mode default + bindsym d exec makoctl dismiss; mode default + bindsym Shift+d exec makoctl dismiss -a; mode default + + bindsym Escape mode default + bindsym q mode default +} + +# +# Screenshotting +# + +bindsym $mod+Shift+s mode screenshot +mode screenshot { + bindsym a exec grim $(xdg-user-dir PICTURES)/shots/$(date +'%Y-%m-%d-%H%M%S.png'); mode default + bindsym r exec slurp | grim -g - $(xdg-user-dir PICTURES)/shots/$(date +'%Y-%m-%d-%H%M%S.png'); mode default + + bindsym Escape mode default + bindsym q mode default +} + +# +# Window configurations +# +for_window [class="mpv"] floating enable +for_window [class="TelegramDesktop"] floating enable +for_window [app_id="pavucontrol"] floating enable +for_window [app_id="meld"] floating enable +for_window [app_id="nm-connection-editor"] floating enable + +set $blue #285577 +set $gray #1e1f21 +set $red #900000 + +# +# Status Bar: +# +# Read `man 5 sway-bar` for more information about this section. +bar { + position bottom + colors { + background $gray + inactive_workspace $gray $gray #888888 + active_workspace $gray $gray #ffffff + urgent_workspace $red $red #ffffff + focused_workspace $blue $blue #ffffff + } + status_command i3status | my-i3status.py +} + +client.focused $blue $blue #ffffff $blue $blue +client.unfocused $gray $gray #ffffff $gray $gray +client.focused_inactive $gray $gray #ffffff $gray $gray + +# font pango: benis uushi 9 +# font pango: Ubuntu Mono 11 +# font pango: Inconsolata 11 +font pango: DejaVu Sans Mono 9 +# font pango: Liberation Mono 9 + +# get rid of title bars +default_border pixel 4 + +exec xrdb .Xresources +# exec pgrep -x "systemd-inhibit" || \ +# systemd-inhibit --what=handle-power-key --who=aminb \ +# --why="Handle power button in sway" sleep infinity +exec mako 2>&1 >/tmp/mako.log +exec /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 + +include /etc/sway/config.d/* +include ~/.config/sway/`hostname` + +exec systemd-notify --ready || true diff --git a/.config/sway/langa b/.config/sway/langa new file mode 100644 index 0000000..0d0d8c7 --- /dev/null +++ b/.config/sway/langa @@ -0,0 +1,19 @@ +input "2:7:SynPS/2_Synaptics_TouchPad" { + events disabled + dwt enabled + tap enabled + natural_scroll enabled + click_method clickfinger +} + +input "1:1:AT_Translated_Set_2_keyboard" { + repeat_delay 200 + repeat_rate 45 + xkb_layout us_ab,ir + xkb_options ctrl:nocaps,altwin:swap_alt_win,grp:shifts_toggle +} + +input "65261:24672:technomancy_Atreus" { + repeat_delay 200 + repeat_rate 45 +} diff --git a/.config/sway/shemshak b/.config/sway/shemshak new file mode 100644 index 0000000..8fa60b3 --- /dev/null +++ b/.config/sway/shemshak @@ -0,0 +1,14 @@ +input "1739:31251:DLL07BE:01_06CB:7A13_Touchpad" { + dwt enabled + tap enabled + natural_scroll enabled + middle_emulation enabled + click_method clickfinger +} + +input "1:1:AT_Translated_Set_2_keyboard" { + repeat_delay 200 + repeat_rate 45 + xkb_layout us,ir + xkb_options ctrl:nocaps,altwin:swap_alt_win,ctrl:rctrl_ralt,grp:shifts_toggle +} diff --git a/.config/swaylock/config b/.config/swaylock/config new file mode 100644 index 0000000..779d040 --- /dev/null +++ b/.config/swaylock/config @@ -0,0 +1,2 @@ +image=/home/amin/usr/pics/wp/wp2445784-blurred-wallpapers.jpg +scaling=fill diff --git a/.config/systemd/user/getmail.service b/.config/systemd/user/getmail.service new file mode 100644 index 0000000..4e91ef3 --- /dev/null +++ b/.config/systemd/user/getmail.service @@ -0,0 +1,8 @@ +[Unit] +Description=getmail service + +[Service] +Type=oneshot +ExecStart=/usr/bin/getmail +StandardOutput=syslog +StandardError=syslog diff --git a/.config/systemd/user/getmail.timer b/.config/systemd/user/getmail.timer new file mode 100644 index 0000000..7644d56 --- /dev/null +++ b/.config/systemd/user/getmail.timer @@ -0,0 +1,10 @@ +[Unit] +Description=getmail timer + +[Timer] +OnCalendar=*:0/30 +Persistent=true +Unit=getmail.service + +[Install] +WantedBy=timers.target diff --git a/.config/systemd/user/mbsync.service b/.config/systemd/user/mbsync.service new file mode 100644 index 0000000..e203ca6 --- /dev/null +++ b/.config/systemd/user/mbsync.service @@ -0,0 +1,8 @@ +[Unit] +Description=mbsync service + +[Service] +Type=oneshot +ExecStart=/usr/bin/mbsync -Va +StandardOutput=syslog +StandardError=syslog diff --git a/.config/systemd/user/mbsync.timer b/.config/systemd/user/mbsync.timer new file mode 100644 index 0000000..bbb8115 --- /dev/null +++ b/.config/systemd/user/mbsync.timer @@ -0,0 +1,10 @@ +[Unit] +Description=mbsync timer + +[Timer] +OnCalendar=*:0/15 +Persistent=true +Unit=mbsync.service + +[Install] +WantedBy=timers.target diff --git a/.config/user-dirs.dirs b/.config/user-dirs.dirs new file mode 100644 index 0000000..58d3318 --- /dev/null +++ b/.config/user-dirs.dirs @@ -0,0 +1,8 @@ +XDG_DESKTOP_DIR="$HOME/Desktop" +XDG_DOCUMENTS_DIR="$HOME/usr/docs" +XDG_DOWNLOAD_DIR="$HOME/usr/dls" +XDG_MUSIC_DIR="$HOME/usr/music" +XDG_PICTURES_DIR="$HOME/usr/pics" +XDG_PUBLICSHARE_DIR="$HOME/usr/Public" +XDG_TEMPLATES_DIR="$HOME/usr/Templates" +XDG_VIDEOS_DIR="$HOME/usr/vids" diff --git a/.config/zathura/zathurarc b/.config/zathura/zathurarc new file mode 100644 index 0000000..74d70b5 --- /dev/null +++ b/.config/zathura/zathurarc @@ -0,0 +1,6 @@ +set smooth-scroll true +set selection-clipboard clipboard +set zoom-step 05 +set default-bg "#272727" +set statusbar-bg "#272727" +set inputbar-bg "#373737" diff --git a/.getmail/getmailrc b/.getmail/getmailrc new file mode 100644 index 0000000..f2bff62 --- /dev/null +++ b/.getmail/getmailrc @@ -0,0 +1,19 @@ +[retriever] +type = SimplePOP3SSLRetriever +server = fencepost.gnu.org +username = bandali +password_command = ("gpg2", "--no-tty", "-q", "-d", "/home/amin/.passwd/gnu.gpg") +port = 995 +use_apop = True + +[destination] +type = Maildir +path = ~/mail/gnu/Inbox/ + +# [destination] +# type = MDA_external +# path = /usr/lib/dovecot/deliver +# arguments = ('-d', 'amin@aminb.org') + +[options] +delete = True diff --git a/.gitconfig b/.gitconfig new file mode 100644 index 0000000..98bb2fc --- /dev/null +++ b/.gitconfig @@ -0,0 +1,64 @@ +[user] + name = Amin Bandali + email = bandali@gnu.org + signingkey = BE6273738E616D6D1B3A08E8A21A020248816103 + +[commit] + gpgsign = true + +# [format] +# signoff = true + +[core] + autocrlf = input # CRLF -> LF on commit + editor = emacsclient -t + excludesfile = ~/.gitignore_global + pager = "less" + +[gpg] + program = gpg2 + +[alias] + git = !exec git # handle nested git calls, e.g. git git status + aliases = config --get-regexp '^alias\\.' + a = add + s = status + sl = status --long + c = checkout + cb = checkout -b + b = branch + r = rebase + p = pull + pr = pull --rebase + ps = push + psf = push --force + nmam = "!f() { notmuch show --format=raw $1 | git am -; }; f" + nmam3 = "!f() { notmuch show --format=raw $1 | git am -3 -; }; f" + +[color] + ui = auto +[color "status"] + added = green bold + changed = red bold + untracked = red bold +[color "branch"] + current = green bold + remote = magenta bold +[color "diff"] + new = green bold + old = red bold + +[status] + # showUntrackedFiles = all + short=true + branch=true + +[github] + user = aminb + +[sendemail] + smtpuser = bandali + smtpserver = fencepost.gnu.org + smtpserverport = 587 + smtpencryption = tls + annotate = yes diff --git a/.gitignore_global b/.gitignore_global new file mode 100644 index 0000000..e686538 --- /dev/null +++ b/.gitignore_global @@ -0,0 +1,7 @@ +*.orig +*.py[co] +*.sublime-workspace +*~ +.DS_Store +*.elc +*-autoloads.el diff --git a/.gnupg/gpg-agent.conf b/.gnupg/gpg-agent.conf new file mode 100644 index 0000000..4b7f1d9 --- /dev/null +++ b/.gnupg/gpg-agent.conf @@ -0,0 +1,7 @@ +default-cache-ttl 43200 +max-cache-ttl 43200 + +default-cache-ttl-ssh 10800 +max-cache-ttl-ssh 10800 + +# pinentry-program /usr/bin/pinentry-qt diff --git a/.latexmkrc b/.latexmkrc new file mode 100644 index 0000000..3731a88 --- /dev/null +++ b/.latexmkrc @@ -0,0 +1,11 @@ +$pdf_previewer = "start zathura %O %S"; +$clean_ext = "aux out"; + +# $pdf_update_method = 4; +# $pdf_update_command = "zathura %O %S"; + +# Synctex allows one to jump to from the PDF in Zathura to the source in Emacs +# by Ctrl+click in the PDF. +# Tell latexmk to use Zathura as a previewer, and run emacsclient as the Synctex +# editor. +# $pdf_previewer = 'exec zathura --synctex-forward -x \'emacsclient --no-wait +%{line} %{input}\' %O %S'; diff --git a/.mbsyncrc b/.mbsyncrc new file mode 100644 index 0000000..68da0e2 --- /dev/null +++ b/.mbsyncrc @@ -0,0 +1,79 @@ +# Global defaults +CopyArrivalDate yes +Create Both +Expunge Both + +###### +IMAPAccount amin +Host mail.bndl.org +User amin@bndl.org +PassCmd "gpg -q --for-your-eyes-only --no-tty -d ~/.passwd/amin.gpg" +SSLType IMAPS + +IMAPStore amin-remote +Account amin + +IMAPAccount amin-dovecot +Host 127.0.0.1 +Port 143 +User amin@bndl.org +PassCmd "gpg -q --for-your-eyes-only --no-tty -d ~/.passwd/amin-dovecot.gpg" +SSLType None + +IMAPStore amin-local +Account amin-dovecot + +Channel amin +Master :amin-remote: +Slave :amin-local: +Patterns * + +###### +IMAPAccount uwaterloo +Host connect.uwaterloo.ca +User abandali +PassCmd "gpg -q --for-your-eyes-only --no-tty -d ~/.passwd/uwaterloo.gpg" +SSLType IMAPS + +IMAPStore uwaterloo-remote +Account uwaterloo + +IMAPAccount uwaterloo-dovecot +Host 127.0.0.1 +Port 143 +User abandali@uwaterloo.ca +PassCmd "gpg -q --for-your-eyes-only --no-tty -d ~/.passwd/uwaterloo-dovecot.gpg" +SSLType None + +IMAPStore uwaterloo-local +Account uwaterloo-dovecot + +Channel uwaterloo +Master :uwaterloo-remote: +Slave :uwaterloo-local: +Patterns * + +###### +IMAPAccount csclub +Host mail.csclub.uwaterloo.ca +User abandali +PassCmd "gpg -q --for-your-eyes-only --no-tty -d ~/.passwd/csclub.gpg" +SSLType IMAPS + +IMAPStore csclub-remote +Account csclub + +IMAPAccount csclub-dovecot +Host 127.0.0.1 +Port 143 +User abandali@csclub.uw +PassCmd "gpg -q --for-your-eyes-only --no-tty -d ~/.passwd/csclub-dovecot.gpg" +SSLType None + +IMAPStore csclub-local +Account csclub-dovecot + +Channel csclub +Master :csclub-remote: +Slave :csclub-local: +Patterns * diff --git a/.msmtprc b/.msmtprc new file mode 100644 index 0000000..cc0a0fd --- /dev/null +++ b/.msmtprc @@ -0,0 +1,59 @@ +# Set default values for all following accounts. +defaults +port 587 +tls on +auth on +#tls_trust_file /etc/ssl/certs/ca-certificates.crt +logfile ~/.msmtp.log + +# amin +account amin +host mail.bndl.org +# use `msmtp -a amin --serverinfo --tls --tls-certcheck=off --tls-fingerprint=` to get the current fingerprint +tls_fingerprint B8:17:DF:D7:26:56:4F:CD:F0:51:D5:E5:4C:44:B6:F1:C9:47:E7:A2:C7:36:C9:C1:F2:10:85:18:43:72:9D:ED +tls_starttls on +from amin@bndl.org +user amin@bndl.org +passwordeval gpg2 --no-tty -q -d ~/.passwd/amin.gpg + +account aminb : amin +from amin@aminb.org + +# gnu +account gnu +host fencepost.gnu.org +# use `msmtp -a gnu --serverinfo --tls --tls-certcheck=off --tls-fingerprint=` to get the current fingerprint +tls_fingerprint FB:DB:E3:7D:96:22:22:20:9F:4A:FD:70:96:99:50:5C:39:B2:29:D9:47:47:52:A8:5A:4A:DF:70:9D:21:DE:C4 +tls_starttls on +from bandali@gnu.org +user bandali +passwordeval gpg2 --no-tty -q -d ~/.passwd/gnu.gpg + +# gnu (old) +account gnu-aminb : gnu +from aminb@gnu.org +account gnu-amin : gnu +from amin@gnu.org +account gnu-mab : gnu +from mab@gnu.org + +# uwaterloo +account uwaterloo +host connect.uwaterloo.ca +tls_starttls on +from abandali@uwaterloo.ca +user abandali +passwordeval gpg2 --no-tty -q -d ~/.passwd/uwaterloo.gpg +tls_trust_file /etc/ssl/certs/ca-certificates.crt + +# csclub +account csclub +host mail.csclub.uwaterloo.ca +tls_starttls on +from abandali@csclub.uwaterloo.ca +user abandali +passwordeval gpg2 --no-tty -q -d ~/.passwd/csclub.gpg +tls_trust_file /etc/ssl/certs/ca-certificates.crt + +# Set a default account +account default : amin diff --git a/rc.org b/rc.org index 098a073..e73ff10 100644 --- a/rc.org +++ b/rc.org @@ -14,112 +14,6 @@ Note: This file is best viewed inside Emacs with org mode. This section contains the configuration files (dotfiles) of various programs I use. -** compton -:PROPERTIES: -:header-args+: :tangle ~/.config/compton.conf -:END: - -#+begin_src conf :tangle no -# Shadow -shadow = false; # Enabled client-side shadows on windows. -no-dock-shadow = true; # Avoid drawing shadows on dock/panel windows. -no-dnd-shadow = true; # Don't draw shadows on DND windows. -clear-shadow = true; # Zero the part of the shadow's mask behind the - # window. Fix some weirdness with ARGB windows. -shadow-radius = 5; # The blur radius for shadows. (default 12) -shadow-offset-x = -5; # The left offset for shadows. (default -15) -shadow-offset-y = -5; # The top offset for shadows. (default -15) -# shadow-opacity = 0.7; # The translucency for shadows. (default .75) -# shadow-red = 0.0; # Red color value of shadow. (0.0 - 1.0, defaults to 0) -# shadow-green = 0.0; # Green color value of shadow. (0.0 - 1.0, defaults to 0) -# shadow-blue = 0.0; # Blue color value of shadow. (0.0 - 1.0, defaults to 0) -shadow-exclude = [ "n:e:Notification", "class_g = 'Chromium'", "class_g = 'Dmenu'", "class_g = 'Firefox' && argb" ]; # Exclude conditions for shadows. -# shadow-exclude = "n:e:Notification"; -#shadow-exclude = [ "_GTK_FRAME_EXTENTS@:c" ] # Fix dual shadow on some gtk3 powered applications -shadow-ignore-shaped = true; # Avoid drawing shadow on all shaped windows - # (see also: --detect-rounded-corners) - -# Opacity -menu-opacity = 1.0; # The opacity for menus. (default 1.0) -#inactive-opacity = 0.9; # Default opacity of inactive windows. (0.0 - 1.0) -# active-opacity = 0.8; # Default opacity for active windows. (0.0 - 1.0) -frame-opacity = 1.0; # Opacity of window titlebars and borders. (0.1 - 1.0) -# inactive-opacity-override = true; # Let inactive opacity set by 'inactive-opacity' overrides - # value of _NET_WM_OPACITY. Bad choice. -alpha-step = 0.06; # XRender backend: Step size for alpha pictures. Increasing - # it may result in less X resource usage, - # Yet fading may look bad. -#inactive-dim = 0.5; # Dim inactive windows. (0.0 - 1.0) -#inactive-dim-fixed = true; # Do not let dimness adjust based on window opacity. -# blur-background = true; # Blur background of transparent windows. - # Bad performance with X Render backend. - # GLX backend is preferred. -# blur-background-frame = true; # Blur background of opaque windows with transparent - # frames as well. -blur-background-fixed = true; # Do not let blur radius adjust based on window opacity. -blur-background-exclude = [ "window_type = 'dock'", "window_type = 'desktop'" ]; - # Exclude conditions for background blur. - -# Fading -fading = false; # Fade windows during opacity changes. -fade-delta = 3; # The time between steps in a fade in milliseconds. (default 10). -fade-in-step = 0.03; # Opacity change between steps while fading in. (default 0.028). -fade-out-step = 0.03; # Opacity change between steps while fading out. (default 0.03). -# no-fading-openclose = true; # Avoid fade windows in/out when opening/closing. -fade-exclude = [ ]; # Exclude conditions for fading. - -# Other -backend = "glx" # Backend to use: "xrender" or "glx". GLX backend is typically - # much faster but depends on a sane driver. -mark-wmwin-focused = true; # Try to detect WM windows and mark them as active. -mark-ovredir-focused = true; # Mark all non-WM but override-redirect windows active (e.g. menus). -use-ewmh-active-win = true; # Use EWMH _NET_WM_ACTIVE_WINDOW to determine which window is focused - # instead of using FocusIn/Out events. Usually more reliable but - # depends on a EWMH-compliant WM. -detect-rounded-corners = false; # Detect rounded corners and treat them as rectangular when --shadow-ignore- shaped is on. -detect-client-opacity = true; # Detect _NET_WM_OPACITY on client windows, useful for window - # managers not passing _NET_WM_OPACITY of client windows to frame - # windows. -refresh-rate = 0; # For --sw-opti: Specify refresh rate of the screen. 0 for auto. -vsync = "drm"; # "none", "drm", "opengl", "opengl-oml", "opengl-swc", "opengl-mswc" - # See man page for more details. -dbe = false; # Enable DBE painting mode. Rarely needed. -paint-on-overlay = true; # Painting on X Composite overlay window. Recommended. -sw-opti = false; # Limit compton to repaint at most once every 1 / refresh_rate. - # Incompatible with certain VSync methods. -unredir-if-possible = false; # Unredirect all windows if a full-screen opaque window is - # detected, to maximize performance for full-screen windows. -focus-exclude = [ ]; # A list of conditions of windows that should always be considered - # focused. -detect-transient = true; # Use WM_TRANSIENT_FOR to group windows, and consider windows in - # the same group focused at the same time. -detect-client-leader = true; # Use WM_CLIENT_LEADER to group windows. -invert-color-include = [ ]; # Conditions for windows to be painted with inverted color. - -# GLX backend # GLX backend fine-tune options. See man page for more info. -glx-no-stencil = true; # Recommended. -glx-copy-from-front = false; # Useful with --glx-swap-method, -# glx-use-copysubbuffermesa = true; # Recommended if it works. Breaks VSync. -# glx-no-rebind-pixmap = true; # Recommended if it works. -glx-no-rebind-pixmap = true; # Recommended if it works. -#glx-swap-method = "4"; # See man page. -glx-swap-method = "4"; # See man page. - -# Window type settings -wintypes: -{ - tooltip = { fade = true; shadow = false; opacity = 1; focus = true; }; - menu = { shadow = false; }; - dropdown_menu = { shadow = false; }; - popup_menu = { shadow = false; }; - utility = { shadow = false; }; - # fade: Fade the particular type of windows. - # shadow: Give those windows shadow - # opacity: Default opacity for the type of windows. - # focus: Whether to always consider windows of this type focused. -}; -#+end_src - ** dovecot :PROPERTIES: :header-args+: :tangle "/sudo::/etc/dovecot/dovecot.conf" @@ -166,743 +60,6 @@ plugin { } #+end_src -** Dunst -:PROPERTIES: -:header-args+: :tangle ~/.config/dunst/dunstrc -:END: - -#+begin_src conf -[global] -#font = Ubuntu Mono 10.5 -font = Inconsolata 11 - -# Path to default icons. -icon_folders = /usr/share/icons/Moka/16x16/status/:/usr/share/icons/Moka/16x16/devices/:/usr/share/icons/Faba-Mono/16x16/status/:/usr/share/icons/Faba-Mono/16x16/devices/:/usr/share/icons/Moka/16x16/actions/:/usr/share/icons/Moka/16x16/categories/:/usr/share/icons/Moka/16x16/mimetypes/:/usr/share/icons/Moka/16x16/apps/:/usr/share/icons/Moka/16x16/places/:/usr/share/icons/Paper/16x16/status/ - -icon_position = left -# bold -# italic -# strikethrough -# underline -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 -# Markup is allowed -format = "%s\n%b" -# Sort messages by urgency -sort = yes -# Show how many messages are currently hidden (because of geometry) -indicate_hiddenl= no -# Alignment of message text. -# Possible values are "left", "center" and "right" -alignment = center -# The frequency with wich text that is longer than the notification -# window allows bounces back and forth. -# This option conflicts with 'word_wrap'. -# Set to 0 to disable -bounce_freq = 3 -# show age of message if message is older than show_age_threshold seconds. -# set to -1 to disable -show_age_threshold = -1 -# split notifications into multiple lines if they don't fit into geometry -word_wrap = yes -# ignore newlines '\n' in notifications -ignore_newline = no -# The geometry of the message window. -# geometry [{width}]x{height}][+/-{x}+/-{y}] -# The height is measured in number of notifications everything else in pixels. If the width -# is omitted but the height is given ("-geometry x2"), the message window -# expands over the whole screen (dmenu-like). If width is 0, -# the window expands to the longest message displayed. -# A positive x is measured from the left, a negative from the -# right side of the screen. Y is measured from the top and down respectevly. -# The width can be negative. In this case the actual width is the -# screen width minus the width defined in within the geometry option. -#geometry = "410x12-12+12" -#geometry = "0x0-30-30" -geometry = "260x12-30-30" -# The transparency of the window. range: [0; 100] -# This option will only work if a compositing windowmanager is present (e.g. xcompmgr, compiz, etc..) -transparency = 0 -# Don't remove messages, if the user is idle (no mouse or keyboard input) -# for longer than idle_threshold seconds. -# Set to 0 to disable. -idle_threshold = 120 -# Which monitor should the notifications be displayed on. -monitor = 0 -# Display notification on focused monitor. Possible modes are: -# mouse: follow mouse pointer -# keyboard: follow window with keyboard focus -# none: don't follow anything -# -# "keyboard" needs a windowmanager that exports the _NET_ACTIVE_WINDOW property. -# This should be the case for almost all modern windowmanagers. -# -# If this option is set to mouse or keyboard, the monitor option will be -# ignored. -follow = keyboard -# should a notification popped up from history be sticky or -# timeout as if it would normally do. -sticky_history = yes -# The height of a single line. If the height is smaller than the font height, -# it will get raised to the font height. -# This adds empty space above and under the text. -line_height = 0 - -show_indicators = yes - -# Draw a line of 'separatpr_height' pixel height between two notifications. -# Set to 0 to disable -separator_height = 3 -# padding between text and separator -padding = 8 -# horizontal padding -horizontal_padding = 8 -# 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 = foreground -# print a notification on startup -# This is mainly for error detection, since dbus (re-)starts dunst -# automatically after a crash. -startup_notification = false -# dmenu path -#dmenu = /usr/bin/dmenu -p dunst: -dmenu = /usr/bin/rofi -dmenu -p dunst: -# browser for opening urls in context menu -browser = /usr/bin/firefox -new-tab -[frame] -width = 0 -color = "#377222" -[shortcuts] -# shortcuts are specified as [modifier+][modifier+]...key -# available modifiers are 'ctrl', 'mod1' (the alt-key), 'mod2', 'mod3' -# and 'mod4' (windows-key) -# xev might be helpful to find names for keys -# close notification -close = ctrl+space -# close all notifications -close_all = ctrl+shift+space -# redisplay last message(s) -# On the US keyboard layout 'grave' is normally above TAB and left of '1'. -history = ctrl+shift+h -# context menu -context = ctrl+shift+period -[urgency_low] -# IMPORTANT: colors have to be defined in quotation marks. -# Otherwise the '#' and following would be interpreted as a comment. -background = "#1d2a30" -foreground = "#71c2af" -timeout = 3 -[urgency_normal] -background = "#1d2a30" -foreground = "#71c2af" -timeout = 0 -[urgency_critical] -background = "#1d2a30" -foreground = "#ff9982" -timeout = 0 - -# Every section that isn't one of the above is interpreted as a rules -# to override settings for certain messages. -# Messages can be matched by 'appname', 'summary', 'body' or 'icon' -# and you can override the 'timeout', 'urgency', 'foreground', 'background' -# 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 = "" -#[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 -# -[xfpm-backlight] - summary = *Brightness* - urgency = low -#+end_src - -** Fontconfig -:PROPERTIES: -:header-args+: :tangle ~/.config/fontconfig/fonts.conf :comments none -:END: - -#+begin_src xml - - - - - - rgb - - - - - true - - - - - hintslight - - - - - true - - - - - lcddefault - - - ~/.fonts - - - - Helvetica - - Liberation Sans - - - -#+end_src - -** getmail - -*** getmailrc -:PROPERTIES: -:header-args+: :tangle ~/.getmail/getmailrc -:END: - -#+begin_src conf -[retriever] -type = SimplePOP3SSLRetriever -server = fencepost.gnu.org -username = bandali -password_command = ("gpg2", "--no-tty", "-q", "-d", "/home/amin/.passwd/gnu.gpg") -port = 995 -use_apop = True - -[destination] -type = Maildir -path = ~/mail/gnu/Inbox/ - -# [destination] -# type = MDA_external -# path = /usr/lib/dovecot/deliver -# arguments = ('-d', 'amin@aminb.org') - -[options] -delete = True -#+end_src - -*** getmail.service -:PROPERTIES: -:header-args+: :tangle ~/.config/systemd/user/getmail.service -:END: - -#+begin_src conf :tangle no -[Unit] -Description=getmail service - -[Service] -Type=oneshot -ExecStart=/usr/bin/getmail -StandardOutput=syslog -StandardError=syslog -#+end_src - -*** getmail.timer -:PROPERTIES: -:header-args+: :tangle ~/.config/systemd/user/getmail.timer -:END: - -#+begin_src conf :tangle no -[Unit] -Description=getmail timer - -[Timer] -OnCalendar=*:0/30 -Persistent=true -Unit=getmail.service - -[Install] -WantedBy=timers.target -#+end_src - -** Git - -*** gitconfig -:PROPERTIES: -:header-args+: :tangle ~/.gitconfig -:END: - -**** user -#+begin_src conf -[user] - name = Amin Bandali - email = bandali@gnu.org - signingkey = BE6273738E616D6D1B3A08E8A21A020248816103 -#+end_src - -**** signing -#+begin_src conf -[commit] - gpgsign = true -# [format] -# signoff = true -#+end_src - -**** core -#+begin_src conf -[core] - autocrlf = input # CRLF -> LF on commit - editor = emacsclient -t - excludesfile = ~/.gitignore_global - pager = "less" -#+end_src - -**** gpg -#+begin_src conf -[gpg] - program = gpg2 -#+end_src - -**** alias -#+begin_src conf -[alias] - git = !exec git # handle nested git calls, e.g. git git status - aliases = config --get-regexp '^alias\\.' - a = add - s = status - sl = status --long - c = checkout - cb = checkout -b - b = branch - r = rebase - p = pull - pr = pull --rebase - ps = push - psf = push --force - nmam = "!f() { notmuch show --format=raw $1 | git am -; }; f" - nmam3 = "!f() { notmuch show --format=raw $1 | git am -3 -; }; f" -#+end_src - -**** color -#+begin_src conf -[color] - ui = auto -[color "status"] - added = green bold - changed = red bold - untracked = red bold -[color "branch"] - current = green bold - remote = magenta bold -[color "diff"] - new = green bold - old = red bold -#+end_src - -**** status -#+begin_src conf -[status] - # showUntrackedFiles = all - short=true - branch=true -#+end_src - -**** github -#+begin_src conf -[github] - user = aminb -#+end_src - -**** send-email -#+begin_src conf -[sendemail] - smtpuser = bandali - smtpserver = fencepost.gnu.org - smtpserverport = 587 - smtpencryption = tls - annotate = yes -#+end_src - -*** gitignore -:PROPERTIES: -:header-args+: :tangle ~/.gitignore_global -:END: - -#+begin_src conf -*.orig -*.py[co] -*.sublime-workspace -*~ -.DS_Store -*.elc -*-autoloads.el -#+end_src - -** GnuPG -:PROPERTIES: -:header-args+: :tangle ~/.gnupg/gpg-agent.conf -:END: - -#+begin_src conf -default-cache-ttl 43200 -max-cache-ttl 43200 - -default-cache-ttl-ssh 10800 -max-cache-ttl-ssh 10800 - -# pinentry-program /usr/bin/pinentry-qt -#+end_src - -** GTK - -*** gtk-2.0 -:PROPERTIES: -:header-args+: :tangle ~/.gtkrc-2.0 -:END: - -#+begin_src conf -gtk-theme-name="Greybird" -gtk-icon-theme-name="Paper" -gtk-font-name="Ubuntu 10" -gtk-menu-images=0 -# gtk-key-theme-name = "Emacs" -#+end_src - -*** gtk-3.0 -:PROPERTIES: -:header-args+: :tangle ~/.config/gtk-3.0/settings.ini -:END: - -#+begin_src conf :tangle no -[Settings] -gtk-icon-theme-name = Paper -# gtk-theme-name = Adwaita - -gtk-theme-name = Greybird -# gtk-theme-name = Arc-Darker -# gtk-theme-name = Numix-ArchBlue - -gtk-font-name = Ubuntu 10 -# gtk-key-theme-name = Emacs -#+end_src - -** [[https://github.com/Leinnan/i3gs][i3gs]] -:PROPERTIES: -:header-args+: :tangle ~/.config/i3gs/config -:END: - -#+begin_src conf :comments none :tangle no -borders_width=0 0 2 0 -separator_width=10 - -#[mpd] -#preset=MPD -#title=  -#borders_color=#7FDBFF - -[ram] -preset=RAM -title=  -borders_color=#3D9970 - -#[cpu] -#preset=CPU -#title=  -#borders_color=#2ECC40 - -#[hdd] -#preset=HDD -#title=  -#borders_color=#01FF70 - -[volume] -command=volume-info -title= -borders_color=#7FDBFF - -[battery] -preset=BAT -command=battery-percentage-time -title=  -borders_color=#39CCCC - -[wifi] -preset=WIFI -title=  -borders_color=#01FF70 - -[date] -preset=DATE -command=date '+%-I:%M, %a %b %d ' -title=  -borders_color=#FFDC00 -separator_width=0 -#+end_src - -** i3status -:PROPERTIES: -:header-args+: :tangle ~/.config/i3status/config -:END: - -#+begin_src conf :comments none -# i3status configuration file. -# see "man i3status" for documentation. - -# It is important that this file is edited as UTF-8. -# The following line should contain a sharp s: -# ß -# If the above line is not correctly displayed, fix your editor first! - -general { - colors = true - interval = 5 - output_format = "i3bar" -} - -# order += "ipv6" -order += "disk /" -order += "disk /data" -# order += "wireless _first_" -order += "ethernet _first_" -order += "battery 0" -order += "volume master" -# order += "load" -order += "tztime local" - -wireless _first_ { - format_up = "W:%quality %essid %ip" - format_down = "W: down" -} - -ethernet _first_ { - # if you use %speed, i3status requires root privileges - # format_up = "E: %ip (%speed)" - format_up = "E: %ip" - format_down = "E: down" -} - -battery 0 { - format = "%status %percentage %remaining %consumption" - path = "/sys/class/power_supply/BAT%d/uevent" - low_threshold = "10" - threshold_type = "percentage" - last_full_capacity = true - integer_battery_capacity = true - hide_seconds = true -} - -tztime local { - format = "%A %Y-%m-%d %I:%M %p" -} - -volume master { - format = "♪ %volume" - format_muted = "🔇 %volume" - device = "pulse" -} - -load { - format = "%1min" -} - -disk "/" { - format = "/ %avail" -} - -disk "/data" { - format = "/data %avail" -} -#+end_src - -** isync - -*** mbsyncrc -:PROPERTIES: -:header-args+: :tangle ~/.mbsyncrc -:END: - -#+begin_src conf -# Global defaults -CopyArrivalDate yes -Create Both -Expunge Both - -###### -IMAPAccount amin -Host mail.bndl.org -User amin@bndl.org -PassCmd "gpg -q --for-your-eyes-only --no-tty -d ~/.passwd/amin.gpg" -SSLType IMAPS - -IMAPStore amin-remote -Account amin - -IMAPAccount amin-dovecot -Host 127.0.0.1 -Port 143 -User amin@bndl.org -PassCmd "gpg -q --for-your-eyes-only --no-tty -d ~/.passwd/amin-dovecot.gpg" -SSLType None - -IMAPStore amin-local -Account amin-dovecot - -Channel amin -Master :amin-remote: -Slave :amin-local: -Patterns * - -###### -IMAPAccount uwaterloo -Host connect.uwaterloo.ca -User abandali -PassCmd "gpg -q --for-your-eyes-only --no-tty -d ~/.passwd/uwaterloo.gpg" -SSLType IMAPS - -IMAPStore uwaterloo-remote -Account uwaterloo - -IMAPAccount uwaterloo-dovecot -Host 127.0.0.1 -Port 143 -User abandali@uwaterloo.ca -PassCmd "gpg -q --for-your-eyes-only --no-tty -d ~/.passwd/uwaterloo-dovecot.gpg" -SSLType None - -IMAPStore uwaterloo-local -Account uwaterloo-dovecot - -Channel uwaterloo -Master :uwaterloo-remote: -Slave :uwaterloo-local: -Patterns * - -###### -IMAPAccount csclub -Host mail.csclub.uwaterloo.ca -User abandali -PassCmd "gpg -q --for-your-eyes-only --no-tty -d ~/.passwd/csclub.gpg" -SSLType IMAPS - -IMAPStore csclub-remote -Account csclub - -IMAPAccount csclub-dovecot -Host 127.0.0.1 -Port 143 -User abandali@csclub.uw -PassCmd "gpg -q --for-your-eyes-only --no-tty -d ~/.passwd/csclub-dovecot.gpg" -SSLType None - -IMAPStore csclub-local -Account csclub-dovecot - -Channel csclub -Master :csclub-remote: -Slave :csclub-local: -Patterns * -#+end_src - -*** mbsync.service -:PROPERTIES: -:header-args+: :tangle ~/.config/systemd/user/mbsync.service -:END: - -#+begin_src conf :tangle no -[Unit] -Description=mbsync service - -[Service] -Type=oneshot -ExecStart=/usr/bin/mbsync -Va -StandardOutput=syslog -StandardError=syslog -#+end_src - -*** mbsync.timer -:PROPERTIES: -:header-args+: :tangle ~/.config/systemd/user/mbsync.timer -:END: - -#+begin_src conf :tangle no -[Unit] -Description=mbsync timer - -[Timer] -OnCalendar=*:0/15 -Persistent=true -Unit=mbsync.service - -[Install] -WantedBy=timers.target -#+end_src - -** Latexmk -:PROPERTIES: -:header-args+: :tangle ~/.latexmkrc -:END: - -#+begin_src conf -$pdf_previewer = "start zathura %O %S"; -$clean_ext = "aux out"; - -# $pdf_update_method = 4; -# $pdf_update_command = "zathura %O %S"; - -# Synctex allows one to jump to from the PDF in Zathura to the source in Emacs -# by Ctrl+click in the PDF. -# Tell latexmk to use Zathura as a previewer, and run emacsclient as the Synctex -# editor. -# $pdf_previewer = 'exec zathura --synctex-forward -x \'emacsclient --no-wait +%{line} %{input}\' %O %S'; -#+end_src - ** libinput Improve XPS 15 9560's touchpad experience. @@ -1406,73 +563,6 @@ audio_output { ############################################################################### #+end_src -** msmtp -:PROPERTIES: -:header-args+: :tangle ~/.msmtprc -:END: - -#+begin_src conf -# Set default values for all following accounts. -defaults -port 587 -tls on -auth on -#tls_trust_file /etc/ssl/certs/ca-certificates.crt -logfile ~/.msmtp.log - -# amin -account amin -host mail.bndl.org -# use `msmtp -a amin --serverinfo --tls --tls-certcheck=off --tls-fingerprint=` to get the current fingerprint -tls_fingerprint B8:17:DF:D7:26:56:4F:CD:F0:51:D5:E5:4C:44:B6:F1:C9:47:E7:A2:C7:36:C9:C1:F2:10:85:18:43:72:9D:ED -tls_starttls on -from amin@bndl.org -user amin@bndl.org -passwordeval gpg2 --no-tty -q -d ~/.passwd/amin.gpg - -account aminb : amin -from amin@aminb.org - -# gnu -account gnu -host fencepost.gnu.org -# use `msmtp -a gnu --serverinfo --tls --tls-certcheck=off --tls-fingerprint=` to get the current fingerprint -tls_fingerprint FB:DB:E3:7D:96:22:22:20:9F:4A:FD:70:96:99:50:5C:39:B2:29:D9:47:47:52:A8:5A:4A:DF:70:9D:21:DE:C4 -tls_starttls on -from bandali@gnu.org -user bandali -passwordeval gpg2 --no-tty -q -d ~/.passwd/gnu.gpg - -# gnu (old) -account gnu-aminb : gnu -from aminb@gnu.org -account gnu-amin : gnu -from amin@gnu.org -account gnu-mab : gnu -from mab@gnu.org - -# uwaterloo -account uwaterloo -host connect.uwaterloo.ca -tls_starttls on -from abandali@uwaterloo.ca -user abandali -passwordeval gpg2 --no-tty -q -d ~/.passwd/uwaterloo.gpg -tls_trust_file /etc/ssl/certs/ca-certificates.crt - -# csclub -account csclub -host mail.csclub.uwaterloo.ca -tls_starttls on -from abandali@csclub.uwaterloo.ca -user abandali -passwordeval gpg2 --no-tty -q -d ~/.passwd/csclub.gpg -tls_trust_file /etc/ssl/certs/ca-certificates.crt - -# Set a default account -account default : amin -#+end_src - ** ncmpcpp *** config @@ -2050,229 +1140,6 @@ def_key "K" move_sort_order_up #+end_src -** notmuch - -*** notmuch-config -:PROPERTIES: -:header-args+: :tangle ~/.notmuch-config -:END: - -#+begin_src conf -# .notmuch-config - Configuration file for the notmuch mail system -# -# For more information about notmuch, see https://notmuchmail.org - -# Database configuration -# -# The only value supported here is 'path' which should be the top-level -# directory where your mail currently exists and to where mail will be -# delivered in the future. Files should be individual email messages. -# Notmuch will store its database within a sub-directory of the path -# configured here named ".notmuch". -# -[database] -path=/home/amin/oldmail - -# User configuration -# -# Here is where you can let notmuch know how you would like to be -# addressed. Valid settings are -# -# name Your full name. -# primary_email Your primary email address. -# other_email A list (separated by ';') of other email addresses -# at which you receive email. -# -# Notmuch will use the various email addresses configured here when -# formatting replies. It will avoid including your own addresses in the -# recipient list of replies, and will set the From address based on the -# address to which the original email was addressed. -# -[user] -name=Amin Bandali -primary_email=amin@aminb.org -other_email=bandali@gnu.org;abandali@uwaterloo.ca; - -# Configuration for "notmuch new" -# -# The following options are supported here: -# -# tags A list (separated by ';') of the tags that will be -# added to all messages incorporated by "notmuch new". -# -# ignore A list (separated by ';') of file and directory names -# that will not be searched for messages by "notmuch new". -# -# NOTE: *Every* file/directory that goes by one of those -# names will be ignored, independent of its depth/location -# in the mail store. -# -[new] -tags=new; -#tags=unread;inbox; -ignore=.uidvalidity;.mbsyncstate;/.*/dovecot*/ - -# Search configuration -# -# The following option is supported here: -# -# exclude_tags -# A ;-separated list of tags that will be excluded from -# search results by default. Using an excluded tag in a -# query will override that exclusion. -# -[search] -exclude_tags=deleted;spam; - -# Maildir compatibility configuration -# -# The following option is supported here: -# -# synchronize_flags Valid values are true and false. -# -# If true, then the following maildir flags (in message filenames) -# will be synchronized with the corresponding notmuch tags: -# -# Flag Tag -# ---- ------- -# D draft -# F flagged -# P passed -# R replied -# S unread (added when 'S' flag is not present) -# -# The "notmuch new" command will notice flag changes in filenames -# and update tags, while the "notmuch tag" and "notmuch restore" -# commands will notice tag changes and update flags in filenames -# -[maildir] -synchronize_flags=true - -# Cryptography related configuration -# -# The following option is supported here: -# -# gpg_path -# binary name or full path to invoke gpg. -# -[crypto] -gpg_path=gpg -#+end_src - -*** pre-new hook -:PROPERTIES: -:header-args+: :tangle ~/mail/.notmuch/hooks/pre-new :shebang "#!/bin/sh" -:END: - -#+begin_src sh -touch /tmp/gnusieve.log -sieve-filter -eW -o postmaster_address=postmaster@aminb.org \ - -o mail_location=maildir:$MAILDIR/gnu:LAYOUT=fs:INBOX=$MAILDIR/gnu/Inbox ~/sieve/gnu.sieve INBOX delete &>>/tmp/gnusieve.log -#+end_src - -*** post-new hook -:PROPERTIES: -:header-args+: :tangle ~/mail/.notmuch/hooks/post-new :shebang "#!/bin/sh" -:END: - -#+begin_src sh -# apply sent tag to messages sent by me -notmuch tag -new +sent -- from:amin@aminb.org or from:bandali@gnu.org or from:aminb@gnu.org or from:amin@gnu.org or from:mab@gnu.org or from:abandali@uwaterloo.ca - -# initial tagging -notmuch tag -latest -- tag:latest -notmuch tag +inbox +unread +latest -new -- tag:new - - -# apply tags to lists - -# -notmuch tag -inbox +lists/hackernewsletter -- folder:amin/lists/hackernewsletter -notmuch tag -inbox +lists/haskell-weekly -- folder:amin/lists/haskell-weekly - -notmuch tag -inbox +pay -- folder:amin/pay -notmuch tag -inbox +banking -- folder:amin/banking -notmuch tag -inbox +work -- folder:amin/work -# - -# -notmuch tag -inbox +uw/cs136 -- folder:uwaterloo/lists/cs136 -notmuch tag -inbox +uw/cs846 -- folder:uwaterloo/lists/cs846 -notmuch tag -inbox +uw/ece750 -- folder:uwaterloo/lists/ece750 -notmuch tag -inbox +uw/se212 -- folder:uwaterloo/lists/se212 -notmuch tag -inbox +uw/se463 -- folder:uwaterloo/lists/se463 - -notmuch tag -inbox +lists/alloytools -- folder:uwaterloo/lists/alloytools -notmuch tag -inbox +lists/clvsingle -- folder:uwaterloo/lists/Clvsingle -notmuch tag -inbox +lists/gsa -- folder:uwaterloo/lists/GSA -notmuch tag -inbox +lists/math-grad -- folder:uwaterloo/lists/Math-grad -notmuch tag -inbox +lists/scs-grads -- folder:uwaterloo/lists/scs-grads -notmuch tag -inbox +lists/watform-students -- folder:uwaterloo/lists/Watform-students -# - -# -notmuch tag -inbox +l/emacs-devel -- folder:gnu/l/emacs-devel -notmuch tag -inbox +l/emacs-orgmode -- folder:gnu/l/emacs-orgmode -notmuch tag -inbox +l/emacsconf-discuss -- folder:gnu/l/emacsconf-discuss -notmuch tag -inbox +l/fencepost-users -- folder:gnu/l/fencepost-users -notmuch tag -inbox +l/guix-devel -- folder:gnu/l/guix-devel -notmuch tag -inbox +l/guile-devel -- folder:gnu/l/guile-devel -notmuch tag -inbox +l/help-gnu-emacs -- folder:gnu/l/help-gnu-emacs -notmuch tag -inbox +l/info-gnu-emacs -- folder:gnu/l/info-gnu-emacs -notmuch tag -inbox +l/www-commits -- folder:gnu/l/www-commits -notmuch tag -inbox +l/www-discuss -- folder:gnu/l/www-discuss -notmuch tag -inbox +webmasters -- folder:gnu/webmasters - -notmuch tag -inbox +l/deepspec -- folder:gnu/l/deepspec -notmuch tag -inbox +l/haskell-cafe -- folder:gnu/l/haskell-cafe -notmuch tag -inbox +l/haskell-art -- folder:gnu/l/haskell-art -notmuch tag -inbox +l/notmuch -- folder:gnu/l/notmuch - -notmuch tag -inbox +l/~aminb/test-priv -- folder:gnu/l/~aminb/test-priv -notmuch tag -inbox +l/~sircmpwn/sr.ht-admins -- folder:gnu/l/~sircmpwn/sr.ht-admins -notmuch tag -inbox +l/~sircmpwn/sr.ht-announce -- folder:gnu/l/~sircmpwn/sr.ht-announce -notmuch tag -inbox +l/~sircmpwn/sr.ht-dev -- folder:gnu/l/~sircmpwn/sr.ht-dev -notmuch tag -inbox +l/~sircmpwn/sr.ht-discuss -- folder:gnu/l/~sircmpwn/sr.ht-discuss -# - -notmuch tag -inbox -unread +archive/notmuch -- path:archive/notmuch/** -notmuch tag -inbox -unread +archive/emacs-devel -- path:archive/emacs-devel/** -#+end_src - -*** notmuch.service -:PROPERTIES: -:header-args+: :tangle ~/.config/systemd/user/notmuch.service -:END: - -#+begin_src conf :tangle no -[Unit] -Description=notmuch service - -[Service] -Type=oneshot -ExecStart=/usr/bin/notmuch new -StandardOutput=syslog -StandardError=syslog -#+end_src - -*** notmuch.timer -:PROPERTIES: -:header-args+: :tangle ~/.config/systemd/user/notmuch.timer -:END: - -#+begin_src conf :tangle no -[Unit] -Description=notmuch timer - -[Timer] -OnCalendar=*:0/5 -Persistent=true -Unit=notmuch.service - -[Install] -WantedBy=timers.target -#+end_src - ** pacman *** conf @@ -2656,492 +1523,6 @@ adjustment-method=randr ;screen=1 #+end_src -** rofi -:PROPERTIES: -:header-args+: :tangle ~/.config/rofi/config -:END: - -#+begin_src conf -! rofi.font: Ubuntu Mono 13 -! rofi.font: Inconsolata 16 -! rofi.font: Iosevka 13 -! rofi.font: Source Code Pro 11 -rofi.font: Source Code Pro 10.5 -rofi.modi: run,window -! rofi.width: 640 -rofi.width: 600 -!rofi.location: 2 -!rofi.yoffset: 200 -rofi.monitor: -1 -!rofi.lines: 10 - -!rofi.theme: /usr/share/rofi/themes//Arc.rasi -!rofi.theme: /usr/share/rofi/themes//Paper.rasi -!rofi.theme: /usr/share/rofi/themes//sidebar.rasi - -rofi.theme: /usr/share/rofi/themes//gruvbox-light.rasi -#+end_src - -** rofi-pass -:PROPERTIES: -:header-args+: :tangle ~/.config/rofi-pass/config -:END: - -#+begin_src conf -# permanently set alternative root dir -# root=/path/to/root - -# rofi command. Make sure to have "$@" as last argument -_rofi () { - #rofi -no-auto-select -kb-accept-entry "!Return" -i -no-levenshtein-sort "$@" - rofi -i -no-auto-select -kb-accept-entry "!Return" "$@" -} - -# xdotool needs the keyboard layout to be set using setxkbmap -# You can do this in your autostart scripts (e.g. xinitrc) - -# If for some reason, you cannot do this, you can set the command here. -# and set fix_layout to true -fix_layout=false - -layout_cmd () { - setxkbmap us -} - -# fields to be used -URL_field='url' -USERNAME_field='user' -AUTOTYPE_field='autotype' - -# delay to be used for :delay keyword -delay=2 - -## Programs to be used -# Editor -EDITOR='gvim -f' - -# Browser -BROWSER='chromium' - -## Misc settings - -default_do='menu' # menu, autotype, copyPass, typeUser, typePass, copyUser, copyUrl, viewEntry, typeMenu, actionMenu, copyMenu, openUrl -auto_enter='false' -notify='false' -default_autotype='user :tab pass' - -# color of the help messages -# leave empty for autodetection -help_color="#4872FF" - -# Clipboard settings -# Possible options: primary, clipboard, both -clip=primary - -# Options for generating new password entries -# default_user is also used for password files that have no user field. -default_user=aminb -default_user2=bandali -password_length=30 - -# Custom Keybindings -#autotype="Alt+1" -autotype="Alt+m" -type_user="Alt+2" -type_pass="Alt+3" -open_url="Alt+4" -copy_name="Alt+u" -copy_url="Alt+l" -copy_pass="Alt+p" -show="Alt+o" -copy_entry="Alt+2" -type_entry="Alt+1" -copy_menu="Alt+c" -action_menu="Alt+a" -type_menu="Alt+t" -help="Alt+h" -switch="Alt+x" -insert_pass="Alt+n" -#+end_src - -** sway - -*** main -:PROPERTIES: -:header-args+: :tangle ~/.config/sway/config -:END: - -#+begin_src conf -### Variables -# super -set $mod Mod4 -# alt -set $mod2 Mod1 -set $left h -set $down j -set $up k -set $right l -set $term alacritty -set $term2 urxvt -set $menu rofi -show run -display-run '> ' -display-window ' 🗔 ' - -### Output configuration -# -# Default wallpaper (more resolutions are available in __DATADIR__/backgrounds/sway/) -output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill -# -# Example configuration: -# -# output HDMI-A-1 resolution 1920x1080 position 1920,0 -# -# You can get the names of your outputs by running: swaymsg -t get_outputs - -output DP-1 res 2560x1440 pos 0,0 -# 597 = (2560/2) - (1366/2) -output LVDS-1 pos 597,1440 - -### Idle configuration - -exec swayidle \ - timeout 120 '[ -f ~/.nosleep ] || swaymsg "output * dpms off"' \ - resume '[ -f ~/.nosleep ] || swaymsg "output * dpms on"' \ - - -### Key bindings -# -# Basics: -# - # start a terminal - bindsym $mod+Return exec $term - bindsym $mod+Shift+Return exec $term2 - - # kill focused window - bindsym $mod+Shift+q kill - - # start your launcher - bindsym $mod+d exec $menu - - # password manager - bindsym $mod2+space exec rofi-pass - - # Drag floating windows by holding down $mod and left mouse button. - # Resize them with right mouse button + $mod. - # Despite the name, also works for non-floating windows. - # Change normal to inverse to use left mouse button for resizing and right - # mouse button for dragging. - floating_modifier $mod normal - - # reload the configuration file - bindsym $mod+Shift+c reload - - # exit sway (logs you out of your wayland session) - # bindsym $mod+Shift+e exit - - bindsym $mod+apostrophe exec rofi-light # rofi-based brightness chooser - bindsym XF86MonBrightnessUp exec light -A 5 # increase screen brightness - bindsym XF86MonBrightnessDown exec light -U 5 # decrease screen brightness - - bindsym XF86AudioRaiseVolume exec pamixer --allow-boost --increase 5 - bindsym XF86AudioLowerVolume exec pamixer --allow-boost --decrease 5 - bindsym XF86AudioMute exec pamixer --toggle-mute - bindsym XF86AudioMicMute exec pactl set-source-mute 1 toggle - - bindsym $mod+Shift+apostrophe exec rofi-remmina.py # choose remmina connection - - # original sway workspace switch and window move - bindsym $mod+bracketleft workspace prev - bindsym $mod+bracketright workspace next - bindsym $mod+braceleft move container to workspace prev - bindsym $mod+braceright move container to workspace next - - # bspwm-esque workspace switch and window move - bindsym $mod2+bracketleft exec sway-ws-util switch prev - bindsym $mod2+bracketright exec sway-ws-util switch next - bindsym $mod2+braceleft exec sway-ws-util move prev follow - bindsym $mod2+braceright exec sway-ws-util move next follow -# -# Moving around: -# - # Move your focus around - bindsym $mod+$left focus left - bindsym $mod+$down focus down - bindsym $mod+$up focus up - bindsym $mod+$right focus right - # or use $mod+[up|down|left|right] - bindsym $mod+Left focus left - bindsym $mod+Down focus down - bindsym $mod+Up focus up - bindsym $mod+Right focus right - - # _move_ the focused window with the same, but add Shift - bindsym $mod+Shift+$left move left - bindsym $mod+Shift+$down move down - bindsym $mod+Shift+$up move up - bindsym $mod+Shift+$right move right - # ditto, with arrow keys - bindsym $mod+Shift+Left move left - bindsym $mod+Shift+Down move down - bindsym $mod+Shift+Up move up - bindsym $mod+Shift+Right move right -# -# Workspaces: -# - # switch to workspace - bindsym $mod+1 workspace 1 - bindsym $mod+2 workspace 2 - bindsym $mod+3 workspace 3 - bindsym $mod+4 workspace 4 - bindsym $mod+5 workspace 5 - bindsym $mod+6 workspace 6 - bindsym $mod+7 workspace 7 - bindsym $mod+8 workspace 8 - bindsym $mod+9 workspace 9 - bindsym $mod+0 workspace 10 - # move focused container to workspace - bindsym $mod+Shift+1 move container to workspace 1 - bindsym $mod+Shift+2 move container to workspace 2 - bindsym $mod+Shift+3 move container to workspace 3 - bindsym $mod+Shift+4 move container to workspace 4 - bindsym $mod+Shift+5 move container to workspace 5 - bindsym $mod+Shift+6 move container to workspace 6 - bindsym $mod+Shift+7 move container to workspace 7 - bindsym $mod+Shift+8 move container to workspace 8 - bindsym $mod+Shift+9 move container to workspace 9 - bindsym $mod+Shift+0 move container to workspace 10 - # Note: workspaces can have any name you want, not just numbers. - # We just use 1-10 as the default. -# -# Layout stuff: -# - # You can "split" the current object of your focus with - # $mod+b or $mod+v, for horizontal and vertical splits - # respectively. - bindsym $mod+b splith - bindsym $mod+v splitv - - # Switch the current container between different layout styles - bindsym $mod+s layout stacking - bindsym $mod+w layout tabbed - bindsym $mod+e layout toggle split - - # Make the current focus fullscreen - bindsym $mod+f fullscreen - - # Toggle sticky-ness of the current (floating) window - bindsym $mod+$mod2+space sticky toggle - - # Toggle the current focus between tiling and floating mode - bindsym $mod+Shift+space floating toggle - - # Swap focus between the tiling area and the floating area - bindsym $mod+space focus mode_toggle - - # move focus to the parent container - bindsym $mod+a focus parent -# -# Scratchpad: -# - # Sway has a "scratchpad", which is a bag of holding for windows. - # You can send windows there and get them back later. - - # Move the currently focused window to the scratchpad - bindsym $mod+Shift+minus move scratchpad - - # Show the next scratchpad window or hide the focused scratchpad window. - # If there are multiple scratchpad windows, this command cycles through them. - bindsym $mod+minus scratchpad show -# -# Resizing containers: -# -mode "resize" { - # left will shrink the containers width - # right will grow the containers width - # up will shrink the containers height - # down will grow the containers height - bindsym $left resize shrink width 10px - bindsym $down resize grow height 10px - bindsym $up resize shrink height 10px - bindsym $right resize grow width 10px - - # ditto, with arrow keys - bindsym Left resize shrink width 10px - bindsym Down resize grow height 10px - bindsym Up resize shrink height 10px - bindsym Right resize grow width 10px - - # return to default mode - bindsym Return mode "default" - bindsym Escape mode "default" -} -bindsym $mod+Shift+r mode "resize" - -# -# Power button -# - -set $mode_system System (l)ock, (e)xit sway, (s)uspend, (h)ibernate, (r)eboot, (S)hutdown -mode "$mode_system" { - bindsym l exec swaylock, mode "default" - bindsym e exec swaymsg exit, mode "default" - bindsym s exec systemctl suspend, mode "default" - bindsym h exec systemctl hibernate, mode "default" - bindsym r exec systemctl reboot, mode "default" - bindsym Shift+s exec systemctl poweroff -i, mode "default" - - # back to normal: Enter, Escape, or q - bindsym Return mode "default" - bindsym Escape mode "default" - bindsym q mode "default" -} -# bindsym XF86PowerOff mode "$mode_system" -bindsym $mod+Shift+e mode "$mode_system" - -# -# Presentation mode -# - -bindsym $mod+$mod2+p exec ([ ! -e ~/.nosleep ] && touch ~/.nosleep || rm ~/.nosleep) && killall -USR1 i3status - -# -# Notifications -# - -bindsym $mod+Shift+n mode notifications -mode notifications { - bindsym Return exec makoctl invoke; exec makoctl dismiss; mode default - bindsym d exec makoctl dismiss; mode default - bindsym Shift+d exec makoctl dismiss -a; mode default - - bindsym Escape mode default - bindsym q mode default -} - -# -# Screenshotting -# - -bindsym $mod+Shift+s mode screenshot -mode screenshot { - bindsym a exec grim $(xdg-user-dir PICTURES)/shots/$(date +'%Y-%m-%d-%H%M%S.png'); mode default - bindsym r exec slurp | grim -g - $(xdg-user-dir PICTURES)/shots/$(date +'%Y-%m-%d-%H%M%S.png'); mode default - - bindsym Escape mode default - bindsym q mode default -} - -# -# Window configurations -# -for_window [class="mpv"] floating enable -for_window [class="TelegramDesktop"] floating enable -for_window [app_id="pavucontrol"] floating enable -for_window [app_id="meld"] floating enable -for_window [app_id="nm-connection-editor"] floating enable - -set $blue #285577 -set $gray #1e1f21 -set $red #900000 - -# -# Status Bar: -# -# Read `man 5 sway-bar` for more information about this section. -bar { - position bottom - colors { - background $gray - inactive_workspace $gray $gray #888888 - active_workspace $gray $gray #ffffff - urgent_workspace $red $red #ffffff - focused_workspace $blue $blue #ffffff - } - status_command i3status | my-i3status.py -} - -client.focused $blue $blue #ffffff $blue $blue -client.unfocused $gray $gray #ffffff $gray $gray -client.focused_inactive $gray $gray #ffffff $gray $gray - -# font pango: benis uushi 9 -# font pango: Ubuntu Mono 11 -# font pango: Inconsolata 11 -font pango: DejaVu Sans Mono 9 -# font pango: Liberation Mono 9 - -# get rid of title bars -default_border pixel 4 - -exec xrdb .Xresources -# exec pgrep -x "systemd-inhibit" || \ -# systemd-inhibit --what=handle-power-key --who=aminb \ -# --why="Handle power button in sway" sleep infinity -exec mako 2>&1 >/tmp/mako.log -exec /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 - -include /etc/sway/config.d/* -include ~/.config/sway/`hostname` - -exec systemd-notify --ready || true - -#+end_src - -*** langa -:PROPERTIES: -:header-args+: :tangle ~/.config/sway/langa -:END: - -#+begin_src conf -input "2:7:SynPS/2_Synaptics_TouchPad" { - events disabled - dwt enabled - tap enabled - natural_scroll enabled - click_method clickfinger -} - -input "1:1:AT_Translated_Set_2_keyboard" { - repeat_delay 200 - repeat_rate 45 - xkb_layout us_ab,ir - xkb_options ctrl:nocaps,altwin:swap_alt_win,grp:shifts_toggle -} - -input "65261:24672:technomancy_Atreus" { - repeat_delay 200 - repeat_rate 45 -} -#+end_src - -*** shemshak -:PROPERTIES: -:header-args+: :tangle ~/.config/sway/shemshak -:END: - -#+begin_src conf -input "1739:31251:DLL07BE:01_06CB:7A13_Touchpad" { - dwt enabled - tap enabled - natural_scroll enabled - middle_emulation enabled - click_method clickfinger -} - -input "1:1:AT_Translated_Set_2_keyboard" { - repeat_delay 200 - repeat_rate 45 - xkb_layout us,ir - xkb_options ctrl:nocaps,altwin:swap_alt_win,ctrl:rctrl_ralt,grp:shifts_toggle -} -#+end_src -** swaylock -:PROPERTIES: -:header-args+: :tangle ~/.config/swaylock/config -:END: - -#+begin_src conf -image=/home/amin/usr/pics/wp/wp2445784-blurred-wallpapers.jpg -scaling=fill -#+end_src ** systemd Keep boot messages on tty1 (see [[https://wiki.archlinux.org/index.php/getty#Have_boot_messages_stay_on_tty1][here]]) @@ -3916,334 +2297,6 @@ fi bspwm & #+end_src -*** X resources - -**** Xresources -:PROPERTIES: -:header-args+: :tangle (when (eq system-type 'gnu/linux) "~/.Xresources") -:END: - -#+begin_src conf-xdefaults -#include ".Xresources.d/fonts" -! #include ".Xresources.d/colors" -#include ".Xresources.d/emacs" -#include ".Xresources.d/rxvt-unicode" -#+end_src - -**** Xresources.d - -***** fonts -:PROPERTIES: -:header-args+: :tangle (when (eq system-type 'gnu/linux) "~/.Xresources.d/fonts") -:END: - -#+begin_src conf-xdefaults -Xft.lcdfilter: lcddefault -Xft.antialias: true -Xft.autohint: 0 -Xft.hinting: true -Xft.hintstyle: hintslight -! Xft.hintstyle: hintfull -Xft.rgba: rgb -Xft.dpi: 96 -#+end_src - -***** colors -:PROPERTIES: -:header-args+: :tangle (when (eq system-type 'gnu/linux) "~/.Xresources.d/colors") -:END: - -#+begin_src conf-xdefaults :tangle no -#include "gruvbox-light.xresources" -! #include "gruvbox-dark.xresources" -#include "gruvbox-urxvt256.xresources" -#+end_src - -#+begin_src conf-xdefaults :tangle no -! ----------------------------------------------------------------------------- -! File: gruvbox-light.xresources -! Description: Retro groove colorscheme generalized -! Author: morhetz -! Source: https://github.com/morhetz/gruvbox-generalized -! Last Modified: 6 Sep 2014 -! ----------------------------------------------------------------------------- - -! hard contrast: *background: #f9f5d7 -*background: #fbf1c7 -! soft contrast: *background: #f2e5bc -*foreground: #3c3836 -! Black + DarkGrey -*color0: #fdf4c1 -*color8: #928374 -! DarkRed + Red -*color1: #cc241d -*color9: #9d0006 -! DarkGreen + Green -*color2: #98971a -*color10: #79740e -! DarkYellow + Yellow -*color3: #d79921 -*color11: #b57614 -! DarkBlue + Blue -*color4: #458588 -*color12: #076678 -! DarkMagenta + Magenta -*color5: #b16286 -*color13: #8f3f71 -! DarkCyan + Cyan -*color6: #689d6a -*color14: #427b58 -! LightGrey + White -*color7: #7c6f64 -*color15: #3c3836 -#+end_src - -#+begin_src conf-xdefaults :tangle no -! ----------------------------------------------------------------------------- -! File: gruvbox-dark.xresources -! Description: Retro groove colorscheme generalized -! Author: morhetz -! Source: https://github.com/morhetz/gruvbox-generalized -! Last Modified: 6 Sep 2014 -! ----------------------------------------------------------------------------- - -! hard contrast: *background: #1d2021 -*background: #282828 -! soft contrast: *background: #32302f -*foreground: #ebdbb2 -! Black + DarkGrey -*color0: #282828 -*color8: #928374 -! DarkRed + Red -*color1: #cc241d -*color9: #fb4934 -! DarkGreen + Green -*color2: #98971a -*color10: #b8bb26 -! DarkYellow + Yellow -*color3: #d79921 -*color11: #fabd2f -! DarkBlue + Blue -*color4: #458588 -*color12: #83a598 -! DarkMagenta + Magenta -*color5: #b16286 -*color13: #d3869b -! DarkCyan + Cyan -*color6: #689d6a -*color14: #8ec07c -! LightGrey + White -*color7: #a89984 -*color15: #ebdbb2 -#+end_src - -#+begin_src conf-xdefaults :tangle no -! ----------------------------------------------------------------------------- -! File: gruvbox-urxvt256.xresources -! Description: Retro groove colorscheme generalized -! Author: morhetz -! Source: https://github.com/morhetz/gruvbox-generalized -! Last Modified: 13 Dec 2013 -! ----------------------------------------------------------------------------- - -URxvt.color24: #076678 -URxvt.color66: #427b58 -URxvt.color88: #9d0006 -URxvt.color96: #8f3f71 -URxvt.color100: #79740e -URxvt.color108: #8ec07c -URxvt.color109: #83a598 -URxvt.color130: #af3a03 -URxvt.color136: #b57614 -URxvt.color142: #b8bb26 -URxvt.color167: #fb4934 -URxvt.color175: #d3869b -URxvt.color208: #fe8019 -URxvt.color214: #fabd2f -URxvt.color223: #ebdbb2 -URxvt.color228: #f2e5bc -URxvt.color229: #fbf1c7 -URxvt.color230: #f9f5d7 -URxvt.color234: #1d2021 -URxvt.color235: #282828 -URxvt.color236: #32302f -URxvt.color237: #3c3836 -URxvt.color239: #504945 -URxvt.color241: #665c54 -URxvt.color243: #7c6f64 -URxvt.color244: #928374 -URxvt.color245: #928374 -URxvt.color246: #a89984 -URxvt.color248: #bdae93 -URxvt.color250: #d5c4a1 -#+end_src - -***** emacs -:PROPERTIES: -:header-args+: :tangle (when (eq system-type 'gnu/linux) "~/.Xresources.d/emacs") -:END: - -#+begin_src conf-xdefaults -Emacs.menuBar: off -Emacs.toolBar: off -Emacs.verticalScrollBars: off -Emacs.cursorBlink: off -Emacs.FontBackend: xft,x -! Emacs.font: Ubuntu Mono-12 -! Emacs.font: Triplicate T4C-11 -! Emacs.font: Ubuntu Mono-10.5 -! Emacs.font: Ubuntu Mono-12 -! Emacs.font: Iosevka-11 - -! Emacs.font: Fira Mono:size=15 -! Emacs.font: DejaVu Sans Mono:size=15 -! Emacs.font: Inconsolata:size=17 -! Emacs.font: Inconsolata:size=16 -! Emacs.font: Inconsolata LGC:size=14 -! Emacs.font: Source Code Pro Medium-10.5 -Emacs.font: Source Code Pro:size=14 -! Emacs.font: Ubuntu Mono:size=16 -! Emacs.font: Iosevka:size=16 -#+end_src - -***** rxvt-unicode -:PROPERTIES: -:header-args+: :tangle (when (eq system-type 'gnu/linux) "~/.Xresources.d/rxvt-unicode") -:END: - -#+begin_src conf-xdefaults -! Font -URxvt.font: xft:source code pro:pixelsize=14:antialias=true:hinting=true, xft:dejavu sans mono:pixelsize=15:antialias=true:hinting=true -URxvt.boldFont: xft:source code pro:semibold:pixelsize=14:antialias=true:hinting=true:bold, xft:dejavu sans mono:pixelsize=15:antialias=true:hinting=true:bold -URxvt.italicFont: xft:source code pro:italic:pixelsize=14:antialias=true:hinting=true:italic, xft:dejavu sans mono:pixelsize=15:antialias=true:hinting=true:italic -URxvt.bolditalicFont: xft:source code pro:semibold:italic:pixelsize=14:antialias=true:hinting=true:bold:italic, xft:dejavu sans mono:pixelsize=15:antialias=true:hinting=true:bolditalic - -URxvt.xftAntialias: true -URxvt.letterSpace: 0 - -URxvt.depth: 0 -URxvt.loginShell: true -URxvt.saveLines: 100000 -URxvt.internalBorder: 3 -URxvt.lineSpace: 0 -URxvt.scrollBar: false -URxvt.scrollStyle: rxvt -URxvt*scrollTtyOutput: false -URxvt*scrollWithBuffer: true -URxvt*scrollTtyKeypress: true -URxvt.keysym.Shift-Up: command:\033]720;1\007 -URxvt.keysym.Shift-Down: command:\033]721;1\007 - -URxvt.perl-ext-common: default,clipboard,url-select,keyboard-select -URxvt.url-select.launcher: firefox -URxvt.url-select.underline: true -URxvt.keysym.M-u: perl:url-select:select_next -URxvt.keysym.M-Escape: perl:keyboard-select:activate -URxvt.keysym.M-s: perl:keyboard-select:search -URxvt.url-launcher: /usr/bin/firefox -URxvt.matcher.button: 1 -URxvt.iso14755: false -URxvt.iso14755_53: false -URxvt.keysym.M-c: perl:clipboard:copy -URxvt.keysym.M-v: perl:clipboard:paste -URxvt.keysym.C-A-V: perl:clipboard:paste_escaped -URxvt.keysym.C-Up: font-size:increase -URxvt.keysym.C-Down: font-size:decrease -URxvt.keysym.C-S-Up: font-size:incglobal -URxvt.keysym.C-S-Down: font-size:decglobal -URxvt.keysym.C-equal: font-size:reset -!URxvt.keysym.C-question: font-size:show - -URxvt.iconFile: /usr/share/icons/Paper/48x48/apps/utilities-terminal.png - -!urxvt*foreground: white -!urxvt*background: black - -!*color0: #2E3436 -!*color1: #a40000 -!*color2: #4E9A06 -!*color3: #C4A000 -!*color4: #3465A4 -!*color5: #75507B -!*color6: #ce5c00 -!*color7: #babdb9 -!*color8: #555753 -!*color9: #EF2929 -!*color10: #8AE234 -!*color11: #FCE94F -!*color12: #729FCF -!*color13: #AD7FA8 -!*color14: #fcaf3e -!*color15: #EEEEEC - -!URxvt.foreground: #C8C8C8 -!URxvt.background: #FFFFFF - -!! black -!*color0: #2E3436 -!*color8: #555753 -!! red -!*color1: #a40000 -!*color9: #EF2929 -!! green -!*color2: #4E9A06 -!*color10: #8AE234 -!! yellow -!*color3: #C4A000 -!*color11: #FCE94F -!! blue -!*color4: #3465A4 -!*color12: #729FCF -!! purple -!*color5: #75507B -!*color13: #AD7FA8 -!! orange (replaces cyan) -!*color6: #ce5c00 -!*color14: #fcaf3e -!! white -!*color7: #babdb9 -!*color15: #EEEEEC - -! Tango colour theme for rxvt-unicode -URxvt.background: #FFFFFF -URxvt.foreground: #000000 - -! Black -URxvt.color0: #2E3436 -URxvt.color8: #757773 - -! Red -URxvt.color1: #CC0000 -URxvt.color9: #EF2929 - -! Green -URxvt.color2: #4E9A06 -URxvt.color10: #8AE234 - -! Yellow -URxvt.color3: #C4A000 -URxvt.color11: #FCE94F - -! Blue -URxvt.color4: #3465A4 -URxvt.color12: #729FCF - -! Magenta -URxvt.color5: #75507B -URxvt.color13: #AD7FA8 - -!! Cyan -!URxvt.color6: #06989A -!URxvt.color14: #34E2E2 -! orange (replaces cyan) -,*color6: #ce5c00 -,*color14: #fcaf3e - -! White -URxvt.color7: #D3D7CF -URxvt.color15: #EEEEEC -#+end_src - *** xkb us_ab keyboard layout #+begin_src conf :tangle "/sudo::/usr/share/X11/xkb/symbols/us_ab" :comments none @@ -4256,36 +2309,6 @@ xkb_symbols "us_ab" { }; #+end_src -** XDG -:PROPERTIES: -:header-args+: :tangle ~/.config/user-dirs.dirs -:END: - -#+begin_src conf -XDG_DESKTOP_DIR="$HOME/Desktop" -XDG_DOCUMENTS_DIR="$HOME/usr/docs" -XDG_DOWNLOAD_DIR="$HOME/usr/dls" -XDG_MUSIC_DIR="$HOME/usr/music" -XDG_PICTURES_DIR="$HOME/usr/pics" -XDG_PUBLICSHARE_DIR="$HOME/usr/Public" -XDG_TEMPLATES_DIR="$HOME/usr/Templates" -XDG_VIDEOS_DIR="$HOME/usr/vids" -#+end_src - -** Zathura -:PROPERTIES: -:header-args+: :tangle ~/.config/zathura/zathurarc -:END: - -#+begin_src conf -set smooth-scroll true -set selection-clipboard clipboard -set zoom-step 05 -set default-bg "#272727" -set statusbar-bg "#272727" -set inputbar-bg "#373737" -#+end_src - ** Zsh My zsh setup is built on [[https://github.com/zimfw/zimfw][Zim]]. Further, my zshrc references [[https://github.com/junegunn/fzf][fzf]], @@ -4759,22 +2782,6 @@ elif [ "$op" = "move" ]; then fi #+end_src -** toggle-layout -:PROPERTIES: -:header-args+: :tangle ~/.local/bin/toggle-layout :shebang "#!/bin/bash" -:END: - -#+begin_src bash :tangle no -lang="$(setxkbmap -print | grep xkb_symbols | cut -d'+' -f 2)" - -if [ "$lang" = "us" ]; then - setxkbmap ir -else - setxkbmap us - # xmodmap $HOME/.Xmodmap -fi -#+end_src - ** toggle-presentation-mode :PROPERTIES: :header-args+: :tangle ~/.local/bin/toggle-presentation-mode :shebang "#!/bin/bash" @@ -4822,17 +2829,6 @@ case $(xfconf-query -c pointers -p /Wacom_ISDv4_E6_Pen_stylus/Properties/Wacom_R esac #+end_src -** unlock-def-gk.py -:PROPERTIES: -:header-args+: :tangle ~/.local/bin/unlock-def-gk.py :shebang "#!/usr/bin/env python2" -:END: - -#+begin_src python :tangle no -import gnomekeyring as gk -# list_item_ids_sync('login')[0] == 1L -gk.unlock_sync('Default_keyring',gk.item_get_info_sync('login',1L).get_secret()) -#+end_src - ** volume-info :PROPERTIES: :header-args+: :tangle ~/.local/bin/volume-info :shebang "#!/bin/sh" @@ -4848,118 +2844,6 @@ else fi #+end_src -** wp - -My little wallpaper changer script. - -*** wp -:PROPERTIES: -:header-args+: :tangle ~/.local/bin/wp :shebang "#!/bin/bash" -:END: - -#+begin_src bash :tangle no -export DISPLAY=:0 - -case "$1" in - "day") - feh --bg-scale $HOME/usr/pics/island_day_by_arsenixc-d6ctqon.jpg - ;; - "night") - feh --bg-scale $HOME/usr/pics/island_night_by_arsenixc-d6cz757.jpg - ;; - *) - echo $"Usage: $0 {day|night}" - exit 1 -esac -#+end_src - -*** wp-auto -:PROPERTIES: -:header-args+: :tangle ~/.local/bin/wp-auto :shebang "#!/bin/bash" -:END: - -#+begin_src bash :tangle no -SED=$(which sed) -ROFI=$(which rofi) - -export DISPLAY=:0 -HOUR=$(date +%H) - -if [ -z "${SED}" ] -then - echo "Did not find 'sed', script cannot continue." - exit 1 -fi -if [ -z "${ROFI}" ] -then - echo "Did not find rofi, there is no point to continue." - exit 1 -fi - -### -# Create if not exists, then removes #include of .theme file (if present) and add the selected theme to the end. -# Repeated calls should leave the config clean-ish -### -function set_theme() -{ - CDIR="${HOME}/.config/rofi/" - if [ ! -d "${CDIR}" ] - then - mkdir -p ${CDIR} - fi - if [ -f "${CDIR}/config" ] - then - ${SED} -i "/rofi\.theme: .*\.rasi$/d" "${CDIR}/config" - fi - echo "rofi.theme: ${1}" >> "${CDIR}/config" - -} - -if [ "$HOUR" -gt "19" ] || [ "$HOUR" -lt "7" ] - then - feh --bg-scale $HOME/usr/pics/island_night_by_arsenixc-d6cz757.jpg - xrdb -merge $HOME/.Xresources.d/gruvbox-dark.xresources - set_theme "/usr/share/rofi/themes//gruvbox-dark.rasi" - else - feh --bg-scale $HOME/usr/pics/island_day_by_arsenixc-d6ctqon.jpg - xrdb -merge $HOME/.Xresources.d/gruvbox-light.xresources - set_theme "/usr/share/rofi/themes//gruvbox-light.rasi" -fi -#+end_src - -*** wp.service -:PROPERTIES: -:header-args+: :tangle ~/.config/systemd/user/wp.service -:END: - -#+begin_src conf :tangle no -[Unit] -Description=wallpaper service - -[Service] -Type=oneshot -ExecStart=/usr/bin/bash -c %h/.local/bin/wp-auto -#+end_src - -*** wp.timer -:PROPERTIES: -:header-args+: :tangle ~/.config/systemd/user/wp.timer -:END: - -#+begin_src conf :tangle no -[Unit] -[Unit] -Description=wallpaper timer - -[Timer] -OnCalendar=07,21:00 -Unit=wp.service -Persistent=true - -[Install] -WantedBy=timers.target -#+end_src - ** zathura-sync.sh :PROPERTIES: :header-args+: :tangle ~/.local/bin/zathura-sync.sh :shebang "#!/bin/sh" @@ -4973,110 +2857,3 @@ zathura --synctex-forward "$pos" "$pdffile" || \ zathura -x "emacsclient --eval '(progn (switch-to-buffer (file-name-nondirectory \"%{input}\")) (goto-line %{line}))'" "$pdffile" & sleep 1; zathura --synctex-forward "$pos" "$pdffile" ) #+end_src -** Fun :) - -*** eat-em -:PROPERTIES: -:header-args+: :tangle ~/.local/bin/eat-em :shebang "#!/bin/sh" -:END: - -#+begin_src sh -# Original Posted at http://crunchbang.org/forums/viewtopic.php?pid=126921%23p126921#p126921 -# [ESC] character in original post removed here. - -# ANSI Color -- use these variables to easily have different color -# and format output. Make sure to output the reset sequence after -# colors (f = foreground, b = background), and use the 'off' -# feature for anything you turn on. - -initializeANSI() -{ - esc="$(echo -en '\e')" - - blackf="${esc}[30m"; redf="${esc}[31m"; greenf="${esc}[32m" - yellowf="${esc}[33m" bluef="${esc}[34m"; purplef="${esc}[35m" - cyanf="${esc}[36m"; whitef="${esc}[37m" - - blackb="${esc}[40m"; redb="${esc}[41m"; greenb="${esc}[42m" - yellowb="${esc}[43m" blueb="${esc}[44m"; purpleb="${esc}[45m" - cyanb="${esc}[46m"; whiteb="${esc}[47m" - - boldon="${esc}[1m"; boldoff="${esc}[22m" - italicson="${esc}[3m"; italicsoff="${esc}[23m" - ulon="${esc}[4m"; uloff="${esc}[24m" - invon="${esc}[7m"; invoff="${esc}[27m" - - reset="${esc}[0m" -} - -# note in this first use that switching colors doesn't require a reset -# first - the new color overrides the old one. - -#clear - -initializeANSI - -cat << EOF - - ${yellowf} ▄███████▄${reset} ${redf} ▄██████▄${reset} ${greenf} ▄██████▄${reset} ${bluef} ▄██████▄${reset} ${purplef} ▄██████▄${reset} ${cyanf} ▄██████▄${reset} - ${yellowf}▄█████████▀▀${reset} ${redf}▄${whitef}█▀█${redf}██${whitef}█▀█${redf}██▄${reset} ${greenf}▄${whitef}█▀█${greenf}██${whitef}█▀█${greenf}██▄${reset} ${bluef}▄${whitef}█▀█${bluef}██${whitef}█▀█${bluef}██▄${reset} ${purplef}▄${whitef}█▀█${purplef}██${whitef}█▀█${purplef}██▄${reset} ${cyanf}▄${whitef}█▀█${cyanf}██${whitef}█▀█${cyanf}██▄${reset} - ${yellowf}███████▀${reset} ${redf}█${whitef}▄▄█${redf}██${whitef}▄▄█${redf}███${reset} ${greenf}█${whitef}▄▄█${greenf}██${whitef}▄▄█${greenf}███${reset} ${bluef}█${whitef}▄▄█${bluef}██${whitef}▄▄█${bluef}███${reset} ${purplef}█${whitef}▄▄█${purplef}██${whitef}▄▄█${purplef}███${reset} ${cyanf}█${whitef}▄▄█${cyanf}██${whitef}▄▄█${cyanf}███${reset} - ${yellowf}███████▄${reset} ${redf}████████████${reset} ${greenf}████████████${reset} ${bluef}████████████${reset} ${purplef}████████████${reset} ${cyanf}████████████${reset} - ${yellowf}▀█████████▄▄${reset} ${redf}██▀██▀▀██▀██${reset} ${greenf}██▀██▀▀██▀██${reset} ${bluef}██▀██▀▀██▀██${reset} ${purplef}██▀██▀▀██▀██${reset} ${cyanf}██▀██▀▀██▀██${reset} - ${yellowf} ▀███████▀${reset} ${redf}▀ ▀ ▀ ▀${reset} ${greenf}▀ ▀ ▀ ▀${reset} ${bluef}▀ ▀ ▀ ▀${reset} ${purplef}▀ ▀ ▀ ▀${reset} ${cyanf}▀ ▀ ▀ ▀${reset} - - ${boldon}${yellowf} ▄███████▄ ${redf} ▄██████▄ ${greenf} ▄██████▄ ${bluef} ▄██████▄ ${purplef} ▄██████▄ ${cyanf} ▄██████▄${reset} - ${boldon}${yellowf}▄█████████▀▀ ${redf}▄${whitef}█▀█${redf}██${whitef}█▀█${redf}██▄ ${greenf}▄${whitef}█▀█${greenf}██${whitef}█▀█${greenf}██▄ ${bluef}▄${whitef}█▀█${bluef}██${whitef}█▀█${bluef}██▄ ${purplef}▄${whitef}█▀█${purplef}██${whitef}█▀█${purplef}██▄ ${cyanf}▄${whitef}█▀█${cyanf}██${whitef}█▀█${cyanf}██▄${reset} - ${boldon}${yellowf}███████▀ ${redf}█${whitef}▄▄█${redf}██${whitef}▄▄█${redf}███ ${greenf}█${whitef}▄▄█${greenf}██${whitef}▄▄█${greenf}███ ${bluef}█${whitef}▄▄█${bluef}██${whitef}▄▄█${bluef}███ ${purplef}█${whitef}▄▄█${purplef}██${whitef}▄▄█${purplef}███ ${cyanf}█${whitef}▄▄█${cyanf}██${whitef}▄▄█${cyanf}███${reset} - ${boldon}${yellowf}███████▄ ${redf}████████████ ${greenf}████████████ ${bluef}████████████ ${purplef}████████████ ${cyanf}████████████${reset} - ${boldon}${yellowf}▀█████████▄▄ ${redf}██▀██▀▀██▀██ ${greenf}██▀██▀▀██▀██ ${bluef}██▀██▀▀██▀██ ${purplef}██▀██▀▀██▀██ ${cyanf}██▀██▀▀██▀██${reset} - ${boldon}${yellowf} ▀███████▀ ${redf}▀ ▀ ▀ ▀ ${greenf}▀ ▀ ▀ ▀ ${bluef}▀ ▀ ▀ ▀ ${purplef}▀ ▀ ▀ ▀ ${cyanf}▀ ▀ ▀ ▀${reset} - -EOF -#+end_src - -*** invade-em -:PROPERTIES: -:header-args+: :tangle ~/.local/bin/invade-em :shebang "#!/bin/bash" -:END: - -#+begin_src bash -# -# ANSI color scheme script featuring Space Invaders -# -# Original: http://crunchbang.org/forums/viewtopic.php?pid=126921%23p126921#p126921 -# Modified by lolilolicon -# - -f=3 b=4 -for j in f b; do - for i in {0..7}; do - printf -v $j$i %b "\e[${!j}${i}m" - done -done -bld=$'\e[1m' -rst=$'\e[0m' - -cat << EOF - - $f1 ▀▄ ▄▀ $f2 ▄▄▄████▄▄▄ $f3 ▄██▄ $f4 ▀▄ ▄▀ $f5 ▄▄▄████▄▄▄ $f6 ▄██▄ $rst - $f1 ▄█▀███▀█▄ $f2███▀▀██▀▀███ $f3▄█▀██▀█▄ $f4 ▄█▀███▀█▄ $f5███▀▀██▀▀███ $f6▄█▀██▀█▄$rst - $f1█▀███████▀█ $f2▀▀███▀▀███▀▀ $f3▀█▀██▀█▀ $f4█▀███████▀█ $f5▀▀███▀▀███▀▀ $f6▀█▀██▀█▀$rst - $f1▀ ▀▄▄ ▄▄▀ ▀ $f2 ▀█▄ ▀▀ ▄█▀ $f3▀▄ ▄▀ $f4▀ ▀▄▄ ▄▄▀ ▀ $f5 ▀█▄ ▀▀ ▄█▀ $f6▀▄ ▄▀$rst - - $bld$f1▄ ▀▄ ▄▀ ▄ $f2 ▄▄▄████▄▄▄ $f3 ▄██▄ $f4▄ ▀▄ ▄▀ ▄ $f5 ▄▄▄████▄▄▄ $f6 ▄██▄ $rst - $bld$f1█▄█▀███▀█▄█ $f2███▀▀██▀▀███ $f3▄█▀██▀█▄ $f4█▄█▀███▀█▄█ $f5███▀▀██▀▀███ $f6▄█▀██▀█▄$rst - $bld$f1▀█████████▀ $f2▀▀▀██▀▀██▀▀▀ $f3▀▀█▀▀█▀▀ $f4▀█████████▀ $f5▀▀▀██▀▀██▀▀▀ $f6▀▀█▀▀█▀▀$rst - $bld$f1 ▄▀ ▀▄ $f2▄▄▀▀ ▀▀ ▀▀▄▄ $f3▄▀▄▀▀▄▀▄ $f4 ▄▀ ▀▄ $f5▄▄▀▀ ▀▀ ▀▀▄▄ $f6▄▀▄▀▀▄▀▄$rst - - - $f7▌$rst - - $f7▌$rst - - $f7 ▄█▄ $rst - $f7▄█████████▄$rst - $f7▀▀▀▀▀▀▀▀▀▀▀$rst - -EOF -#+end_src