Browse Source

Dotfiles

master
akshay 4 years ago
parent
commit
cbe1f67e89
  1. 4
      README.md
  2. 10
      alacritty/alacritty.yml
  3. 326
      dunst/dunstrc
  4. BIN
      font/DejaVuSansMono.zip
  5. BIN
      font/Envy Code R.ttf
  6. BIN
      font/Iosevka-Nerd-Font.ttf
  7. 257
      i3/config
  8. BIN
      i3/lock/icon.png
  9. 11
      i3/lock/lock.sh
  10. 28
      i3/logout.sh
  11. 13
      i3/low_bat.sh
  12. 59
      i3status/config
  13. 14
      neomutt/gpg.rc
  14. 10
      neomutt/mailcap
  15. 299
      neomutt/neomuttrc
  16. 414
      picom.conf
  17. 244
      polybar/config
  18. BIN
      polybar/scripts/.cmus.swp
  19. 16
      polybar/scripts/cmus
  20. 4
      polybar/scripts/launch.sh
  21. 32
      polybar/scripts/music
  22. 7
      redshift.conf
  23. 145
      rtorrent/rtorrentrc
  24. BIN
      screenshot/cmus.png
  25. BIN
      screenshot/colorscheme.gif
  26. BIN
      screenshot/image.png
  27. BIN
      screenshot/lap.png
  28. BIN
      screenshot/lock.png
  29. 13
      systemd/lidlock.service
  30. 16
      touchpad_toggle.sh
  31. 40
      vimrc
  32. 1
      wallpaper/README.md
  33. BIN
      wallpaper/city.jpg
  34. BIN
      wallpaper/com2.png
  35. BIN
      wallpaper/comedian.jpg
  36. BIN
      wallpaper/d1.png
  37. BIN
      wallpaper/dune.jpg
  38. BIN
      wallpaper/leaves.png
  39. BIN
      wallpaper/neon.jpg
  40. BIN
      wallpaper/rhone.jpg
  41. BIN
      wallpaper/sa-flowers.jpeg
  42. BIN
      wallpaper/sa-train.jpeg
  43. BIN
      wallpaper/sa.jpeg
  44. BIN
      wallpaper/samurai-think.jpg
  45. BIN
      wallpaper/samurai.jpg
  46. BIN
      wallpaper/sea.jpg
  47. BIN
      wallpaper/space.jpg
  48. BIN
      wallpaper/starry.jpg
  49. BIN
      wallpaper/the-starry-night-over-the-rhone.jpg
  50. 40
      zsh/zimrc
  51. 186
      zsh/zshrc

4
README.md

@ -1,3 +1,3 @@
# dotfiles
![i3-wm](screenshot/lap.png)
![i3-wm](screenshot/lock.png)
Dotfiles for i3-wm, zsh, polybar, neomutt etc.

10
alacritty/alacritty.yml

@ -0,0 +1,10 @@
font:
normal:
family: Envy Code R
size: 8.0
window:
padding:
x: 18
y: 14

326
dunst/dunstrc

@ -0,0 +1,326 @@
[global]
### Display ###
# 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 window manager that exports the
# _NET_ACTIVE_WINDOW property.
# This should be the case for almost all modern window managers.
#
# If this option is set to mouse or keyboard, the monitor option
# will be ignored.
follow = mouse
# The geometry of the window:
# [{width}]x{height}[+/-{x}+/-{y}]
# The geometry of the message window.
# 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 respectively.
# 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 = "400x200-30+20"
# Show how many messages are currently hidden (because of geometry).
indicate_hidden = yes
# Shrink window if it's smaller than the width. Will be ignored if
# width is 0.
shrink = no
# The transparency of the window. Range: [0; 100].
# This option will only work if a compositing window manager is
# present (e.g. xcompmgr, compiz, etc.).
transparency = 0
# The height of the entire notification. If the height is smaller
# than the font height and padding combined, it will be raised
# to the font height and padding.
notification_height = 60
# Draw a line of "separator_height" pixel height between two
# notifications.
# Set to 0 to disable.
separator_height = 2
# Padding between text and separator.
padding = 8
# Horizontal padding.
horizontal_padding = 8
# Defines width in pixels of frame around the notification window.
# Set to 0 to disable.
frame_width = 3
# Defines color of the frame around the notification window.
frame_color = "#000000"
# 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
# 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.
# Transient notifications ignore this setting.
idle_threshold = 120
### Text ###
font = Envy Code R 14
# The spacing between lines. If the height is smaller than the
# font height, it will get raised to the font height.
line_height = 0
# Possible values are:
# full: Allow a small subset of html markup in notifications:
# <b>bold</b>
# <i>italic</i>
# <s>strikethrough</s>
# <u>underline</u>
#
# For a complete reference see
# <http://developer.gnome.org/pango/stable/PangoMarkupFormat.html>.
#
# strip: This setting is provided for compatibility with some broken
# clients that send markup even though it's not enabled on the
# server. Dunst will try to strip the markup but the parsing is
# simplistic so using this option outside of matching rules for
# specific applications *IS GREATLY DISCOURAGED*.
#
# no: Disable markup parsing, incoming notifications will be treated as
# plain text. Dunst will not advertise that it has the body-markup
# capability if this is set as a global setting.
#
# It's important to note that markup inside the format option will be parsed
# regardless of what this is set to.
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 = "<b>%s</b>\n%b"
# Alignment of message text.
# Possible values are "left", "center" and "right".
alignment = left
# Show age of message if message is older than show_age_threshold
# seconds.
# Set to -1 to disable.
show_age_threshold = 60
# Split notifications into multiple lines if they don't fit into
# geometry.
word_wrap = yes
# When word_wrap is set to no, specify where to ellipsize long lines.
# Possible values are "start", "middle" and "end".
ellipsize = middle
# Ignore newlines '\n' in notifications.
ignore_newline = no
# Merge multiple notifications with the same content
stack_duplicates = true
# Hide the count of merged notifications with the same content
hide_duplicate_count = false
# Display indicators for URLs (U) and actions (A).
show_indicators = yes
### Icons ###
# Align icons left/right/off
icon_position = left
# Scale larger icons down to this size, set to 0 to disable
max_icon_size = 32
# Paths to default icons.
icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
### History ###
# Should a notification popped up from history be sticky or timeout
# as if it would normally do.
sticky_history = yes
# Maximum amount of notifications kept in history
history_length = 20
### Misc/Advanced ###
# dmenu path.
dmenu = /usr/bin/dmenu -p dunst:
# Browser for opening urls in context menu.
browser = /usr/bin/firefox -new-tab
# Always run rule-defined scripts, even if the notification is suppressed
always_run_script = true
# Define the title of the windows spawned by dunst
title = Dunst
# Define the class of the windows spawned by dunst
class = Dunst
# Print a notification on startup.
# This is mainly for error detection, since dbus (re-)starts dunst
# automatically after a crash.
startup_notification = false
### Legacy
# Use the Xinerama extension instead of RandR for multi-monitor support.
# This setting is provided for compatibility with older nVidia drivers that
# do not support RandR and using it on systems that support RandR is highly
# discouraged.
#
# By enabling this setting dunst will not be able to detect when a monitor
# is connected or disconnected which might break follow mode if the screen
# layout changes.
force_xinerama = false
# Experimental features that may or may not work correctly. Do not expect them
# to have a consistent behaviour across releases.
[experimental]
# Calculate the dpi to use on a per-monitor basis.
# If this setting is enabled the Xft.dpi value will be ignored and instead
# dunst will attempt to calculate an appropriate dpi value for each monitor
# using the resolution and physical size. This might be useful in setups
# where there are multiple screens with very different dpi values.
per_monitor_dpi = false
[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". Make sure this key actually exists on your keyboard layout,
# e.g. check output of 'xmodmap -pke'
history = ctrl+grave
# 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 = "#000000"
foreground = "#888888"
timeout = 10
# Icon for notifications with low urgency, uncomment to enable
#icon = /path/to/icon
[urgency_normal]
background = "#000000"
foreground = "#ffffff"
timeout = 10
# Icon for notifications with normal urgency, uncomment to enable
#icon = /path/to/icon
[urgency_critical]
background = "#900000"
foreground = "#ffffff"
frame_color = "#ff0000"
timeout = 0
# Icon for notifications with critical urgency, uncomment to enable
#icon = /path/to/icon
# 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

BIN
font/DejaVuSansMono.zip

Binary file not shown.

BIN
font/Envy Code R.ttf

Binary file not shown.

BIN
font/Iosevka-Nerd-Font.ttf

Binary file not shown.

257
i3/config

@ -0,0 +1,257 @@
# This file has been auto-generated by i3-config-wizard(1).
# It will not be overwritten, so edit it as you like.
#
# Should you change your keyboard layout some time, delete
# this file and re-run i3-config-wizard(1).
#
# i3 config file (v4)
#
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
set $mod Mod4
# Font for window titles. Will also be used by the bar unless a different font
# is used in the bar {} block below.
#font pango:Iosevka Fixed Medium 0
# This font is widely installed, provides lots of unicode glyphs, right-to-left
# text rendering and scalability on retina/hidpi displays (thanks to pango).
font pango: Envy Code R 10
# The combination of xss-lock, nm-applet and pactl is a popular choice, so
# they are included here as an example. Modify as you see fit.
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
# screen before suspend. Use loginctl lock-session to lock your screen.
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
# NetworkManager is the most popular way to manage wireless networks on Linux,
# and nm-applet is a desktop environment-independent system tray GUI for it.
#exec --no-startup-id nm-applet
# Use pactl to adjust volume in PulseAudio.
set $refresh_i3status killall -SIGUSR1 i3status
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
#multimedia keys
bindsym XF86AudioPlay exec playerctl play-pause
bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# start a terminal
bindsym $mod+Return exec --no-startup-id alacritty
bindsym $mod+Shift+Return exec --no-startup-id st
# kill focused window
bindsym $mod+Shift+q kill
# start dmenu (a program launcher)
bindsym $mod+d exec rofi -show drun -theme ~/.config/rofi/menu.rasi
# There also is the (new) i3-dmenu-desktop which only displays applications
# shipping a .desktop file. It is a wrapper around dmenu, so you need that
# installed.
# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
# change focus
bindsym $mod+j focus left
bindsym $mod+k focus down
bindsym $mod+l focus up
bindsym $mod+semicolon focus right
# alternatively, you can use the cursor keys:
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# move focused window
bindsym $mod+Shift+j move left
bindsym $mod+Shift+k move down
bindsym $mod+Shift+l move up
bindsym $mod+Shift+semicolon move right
# alternatively, you can use the cursor 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
# split in horizontal orientation
bindsym $mod+h split h
# split in vertical orientation
bindsym $mod+v split v
# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle
# window borders
default_border none
#border_radius 4
# change container layout (stacked, tabbed, toggle split)
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# toggle tiling / floating
bindsym $mod+Shift+space floating toggle
# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle
# focus the parent container
bindsym $mod+a focus parent
# focus the child container
#bindsym $mod+d focus child
# Define names for default workspaces for which we configure key bindings later on.
# We use variables to avoid repeating the names in multiple places.
set $ws1 "1: "
set $ws2 "2: "
set $ws3 "3: "
set $ws4 "4:嗢 "
set $ws5 "5: "
set $ws6 "6: "
set $ws7 "7: "
set $ws8 "8"
set $ws9 "9"
set $ws10 "10: "
# switch to workspace
bindsym $mod+1 workspace number $ws1
bindsym $mod+2 workspace number $ws2
bindsym $mod+3 workspace number $ws3
bindsym $mod+4 workspace number $ws4
bindsym $mod+5 workspace number $ws5
bindsym $mod+6 workspace number $ws6
bindsym $mod+7 workspace number $ws7
bindsym $mod+8 workspace number $ws8
bindsym $mod+9 workspace number $ws9
bindsym $mod+0 workspace number $ws10
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace number $ws1
bindsym $mod+Shift+2 move container to workspace number $ws2
bindsym $mod+Shift+3 move container to workspace number $ws3
bindsym $mod+Shift+4 move container to workspace number $ws4
bindsym $mod+Shift+5 move container to workspace number $ws5
bindsym $mod+Shift+6 move container to workspace number $ws6
bindsym $mod+Shift+7 move container to workspace number $ws7
bindsym $mod+Shift+8 move container to workspace number $ws8
bindsym $mod+Shift+9 move container to workspace number $ws9
bindsym $mod+Shift+0 move container to workspace number $ws10
#assign
assign [class="Firefox"] $ws2
assign [class="TelegramDesktop"] $ws9
assign [class="Element"] $ws7
assign [class="tutanota-desktop"] $ws8
assign [class="qBittorrent"] $ws10
assign [class="vlc"] $ws4
assign [class="thunderbird"] $ws3
assign [class="Padloc"] $ws5
#assign [class="Nextcloud"] $ws6
#back and forth
bindsym $mod+b workspace back_and_forth
#sticky windows
bindsym $mod+Shift+s sticky toggle
# reload the configuration file
bindsym $mod+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+r restart
# exit i3 (logs you out of your X session)
bindsym $mod+Shift+e exec ~/.config/i3/logout.sh
# resize window (you can also use the mouse for that)
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
# Pressing left will shrink the window’s width.
# Pressing right will grow the window’s width.
# Pressing up will shrink the window’s height.
# Pressing down will grow the window’s height.
bindsym j resize shrink width 10 px or 10 ppt
bindsym k resize grow height 10 px or 10 ppt
bindsym l resize shrink height 10 px or 10 ppt
bindsym semicolon resize grow width 10 px or 10 ppt
# same bindings, but for the arrow keys
bindsym Left resize shrink width 10 px or 10 ppt
bindsym Down resize grow height 10 px or 10 ppt
bindsym Up resize shrink height 10 px or 10 ppt
bindsym Right resize grow width 10 px or 10 ppt
# back to normal: Enter or Escape or $mod+r
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym $mod+r mode "default"
}
bindsym $mod+r mode "resize"
bar {
status_command LC_ALL=C i3status -c ~/.config/i3/i3status/config
font pango:Envy Code R 10
position top
colors {
background #000000
# statusline #00ff00
separator #ffb25a
active_workspace #4c7899 #4c7899 #ffffff
focused_workspace #ffb25a #ffb25a #000000
}
}
##-c ~/.config/i3/i3status/config
bindsym XF86MonBrightnessUp exec xbacklight -inc 5
bindsym XF86MonBrightnessDown exec xbacklight -dec 5
#exec_always --no-startup-id wal -i ~/Downloads/d1.png
exec_always --no-startup-id ~/.config/i3/low_bat.sh
exec_always --no-startup-id picom --config ~/.config/picom.conf
exec_always --no-startup-id feh --bg-center ~/Downloads/d1.png
#exec_always --no-startup-id xautolock -locker ~/.config/i3/lock.sh -time 3
#exec_always --no-startup-id ~/.config/lowBat.sh
exec_always --no-startup-id setxkbmap -option caps:swapescape
bindsym $mod+Shift+x exec --no-startup-id ~/.config/i3/lock/lock.sh
#client.focused #808080 #808080 #ffffff #808080 #0000ff
#bindsym $mod+Shift+p exec --no-startup-id ~/Downloads/lw.AppImage
bindsym $mod+Shift+t exec --no-startup-id ~/Downloads/tutanota.AppImage --no-sandbox
bindsym $mod+Shift+g exec --no-startup-id signal-desktop --no-sandbox
bindsym $mod+Shift+u exec --no-startup-id ~/Downloads/Padloc.AppImage --no-sandbox
bindsym $mod+Shift+n exec --no-startup-id ~/Downloads/nextcloud.AppImage
bindsym $mod+Shift+o exec --no-startup-id scrot
bindsym $mod+Shift+i exec --no-startup-id ~/.config/i3/touchpad_toggle.sh
bindsym $mod+Shift+m exec ( st -e cava & st -e cmus ); workspace 10; layout splitv;
bindsym $mod+Shift+f exec --no-startup-id st -e nnn
### i3-gaps stuff ###
# Necessary for i3-gaps to work properly (pixel can be any value)
for_window [class="^.*"] border pixel 0
# Smart Gaps
smart_gaps on
# Smart Borders
smart_borders on
border_radius 5
# Set inner/outer gaps
gaps inner 10
gaps outer 6
client.focused #ffffcc #000000 #ffffcc #2e9ef4 #ffffcE

BIN
i3/lock/icon.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

11
i3/lock/lock.sh

@ -0,0 +1,11 @@
#!/usr/bin/env bash
icon="$HOME/.config/i3/lock/icon.png"
tmpbg='/tmp/screen.png'
(( $# )) && { icon=$1; }
scrot "$tmpbg"
convert "$tmpbg" -scale 10% -scale 1000% "$tmpbg"
convert "$tmpbg" "$icon" -gravity center -composite -matte "$tmpbg"
i3lock -u -i "$tmpbg"

28
i3/logout.sh

@ -0,0 +1,28 @@
#!/usr/bin/env bash
o0="﫼"
o1=""
o2=""
o3=""
o4=""
a1="1"
a2="0"
option="$o4\n$o1\n$o3\n$o2\n$o0"
answer="$a2\n$a1"
chosen="$(echo -e "$option" | rofi -theme ~/.config/rofi/powermenu/powermenu.rasi -lines 5 -dmenu)"
if [ -z "$chosen" ]; then
exit
else
sure="$(echo -e "$answer" | rofi -theme ~/.config/rofi/powermenu/powermenu-confirm.rasi -lines 2 -dmenu)"
case $chosen$sure in
$o0$a1)
i3-msg exit;;
$o1$a1)
systemctl suspend;;
$o2$a1)
reboot;;
$o3$a1)
poweroff;;
$o4$a1)
exec bash ~/.config/i3/lock/lock.sh;;
esac
fi

13
i3/low_bat.sh

@ -0,0 +1,13 @@
#!/bin/bash
bat_percent=$(acpi -b| grep -P -o '[0-9]+(?=%)')
bat_status=$(acpi -b| grep -c 'Charging')
bat_full=$(acpi -b | grep -c "Full")
if [ $bat_status -eq 0 -a $bat_percent -le 15 ]; then
exec /usr/bin/notify-send -u critical -t 10000 "Low Battery, Please Charge"
fi
if [ $bat_full -eq 1 -a $bat_percent -eq 100 ]; then
exec notify-send "Full Charge"
fi

59
i3status/config

@ -0,0 +1,59 @@
general {
colors = true
interval = 5
color_good = "#2AA198"
color_bad = "#586E75"
color_degraded = "#DC322F"
output_format = i3bar
}
order += "disk /"
order += "cpu_usage"
order += "wireless wlp2s0"
order += "battery all"
order += "volume master"
order += "tztime local"
order += "time"
disk "/" {
format = "  %free "
}
cpu_usage {
format = "  %usage "
}
wireless wlp2s0 {
format_up = "  %essid %bitrate "
format_down = " 睊"
}
battery all {
format = " %status %percentage "
format_down = "No battery"
last_full_capacity = true
integer_battery_capacity = true
status_chr = ""
status_bat = ""
status_unk = ""
status_full = ""
low_threshold = 20
threshold_type = percentage
}
volume master {
format = " 墳 %volume "
format_muted = " ﱝ "
device = "default"
mixer = "Master"
mixer_idx = 0
}
tztime local {
format = "  %A %d-%m-%Y "
}
time {
format = "  %H:%M "
}

14
neomutt/gpg.rc

@ -0,0 +1,14 @@
set pgp_default_key=0xkey
set pgp_sign_as=0xkey
set crypt_use_gpgme=yes
set crypt_autosign=yes
set crypt_verify_sig=yes
set crypt_replysign=yes
set crypt_replyencrypt=yes
set crypt_replysignencrypted=yes
set crypt_autoencrypt = yes
set pgp_check_gpg_decrypt_status_fd
set pgp_use_gpg_agent = yes
set pgp_self_encrypt = yes

10
neomutt/mailcap

@ -0,0 +1,10 @@
# HTML
#text/html; w3m -I %{charset} -T text/html; copiousoutput;
text/plain; vim %s
#PDFs
application/pdf; /usr/bin/okular %s pdf
#Images
image/png; /usr/bin/feh %s
image/jpeg; /usr/bin/feh %s

299
neomutt/neomuttrc

@ -0,0 +1,299 @@
#
# System configuration file for NeoMutt
#
# Default list of header fields to weed when displaying.
# Ignore all lines by default...
ignore *
# ... then allow these through.
unignore from: subject to cc date x-mailer x-url user-agent
# Display the fields in this order
hdr_order date from to cc subject
# emacs-like bindings
bind editor "\e<delete>" kill-word
bind editor "\e<backspace>" kill-word
# map delete-char to a sane value
bind editor <delete> delete-char
# some people actually like these settings
#set pager_stop
#bind pager <up> previous-line
#bind pager <down> next-line
# Specifies how to sort messages in the index menu.
set sort=threads
# The behavior of this option on the Debian mutt package is
# not the original one because exim4, the default SMTP on Debian
# does not strip bcc headers so this can cause privacy problems;
# see man muttrc for more info
#unset write_bcc
# Postfix and qmail use Delivered-To for detecting loops
unset bounce_delivered
set mixmaster="mixmaster-filter"
# System-wide CA file managed by the ca-certificates package
# set ssl_ca_certificates_file="/etc/ssl/certs/ca-certificates.crt"
# imitate the old search-body function
macro index \eb "<search>~b " "search in message bodies"
# simulate the old url menu
macro index,pager,attach,compose \cb "\
<enter-command> set my_pipe_decode=\$pipe_decode pipe_decode<Enter>\
<pipe-message> urlview<Enter>\
<enter-command> set pipe_decode=\$my_pipe_decode; unset my_pipe_decode<Enter>" \
"call urlview to extract URLs out of a message"
# Show documentation when pressing F1
macro generic,pager <F1> "<shell-escape> zcat /usr/share/doc/neomutt/manual.txt.gz | sensible-pager<enter>" "show NeoMutt documentation"
# show the incoming mailboxes list (just like "neomutt -y") and back when pressing "y"
macro index y "<change-folder>?" "show incoming mailboxes list"
macro pager y "<exit><change-folder>?" "show incoming mailboxes list"
bind browser y exit
# Handler for gzip compressed mailboxes
# open-hook '\.gz$' "gzip --stdout --decompress '%f' > '%t'"
# close-hook '\.gz$' "gzip --stdout '%t' > '%f'"
# append-hook '\.gz$' "gzip --stdout '%t' >> '%f'"
# If NeoMutt is unable to determine your site's domain name correctly, you can
# set the default here. (better: fix /etc/mailname)
#
# set hostname=cs.hmc.edu
# If your sendmail supports the -B8BITMIME flag, enable the following
#
# set use_8bitmime
# Use mime.types to look up handlers for application/octet-stream. Can
# be undone with unmime_lookup.
mime_lookup application/octet-stream
# Upgrade the progress counter every 250ms, good for mutt over SSH
# see http://bugs.debian.org/537746
set time_inc=250
# Allow mutt to understand References, Cc and In-Reply-To as headers in mailto:
mailto_allow = cc in-reply-to references
##
## *** DEFAULT SETTINGS FOR THE ATTACHMENTS PATCH ***
##
##
## Please see the manual (section "attachments") for detailed
## documentation of the "attachments" command.
##
## Removing a pattern from a list removes that pattern literally. It
## does not remove any type matching the pattern.
##
## attachments +A */.*
## attachments +A image/jpeg
## unattachments +A */.*
##
## This leaves "attached" image/jpeg files on the allowed attachments
## list. It does not remove all items, as you might expect, because the
## second */.* is not a matching expression at this time.
##
## Remember: "unattachments" only undoes what "attachments" has done!
## It does not trigger any matching on actual messages.
## Qualify any MIME part with an "attachment" disposition, EXCEPT for
## text/x-vcard and application/pgp parts. (PGP parts are already known
## to neomutt, and can be searched for with ~g, ~G, and ~k.)
##
## I've added x-pkcs7 to this, since it functions (for S/MIME)
## analogously to PGP signature attachments. S/MIME isn't supported
## in a stock neomutt build, but we can still treat it specially here.
##
attachments +A */.*
attachments -A text/x-vcard application/pgp.*
attachments -A application/x-pkcs7-.*
## Discount all MIME parts with an "inline" disposition, unless they're
## text/plain. (Why inline a text/plain part unless it's external to the
## message flow?)
##
attachments +I text/plain
## These two lines make NeoMutt qualify MIME containers. (So, for example,
## a message/rfc822 forward will count as an attachment.) The first
## line is unnecessary if you already have "attach-allow */.*", of
## course. These are off by default! The MIME elements contained
## within a message/* or multipart/* are still examined, even if the
## containers themselves don't qualify.
##
#attachments +A message/.* multipart/.*
#attachments +I message/.* multipart/.*
## You probably don't really care to know about deleted attachments.
attachments -A message/external-body
attachments -I message/external-body
##
source /usr/lib/neomutt/source-neomuttrc.d|
# main options
# set envelope_from
# set edit_headers # show headers when composing
set fast_reply # skip to compose when replying
# set askcc # ask for CC:
set fcc_attach # save attachments with the body
set forward_format = "Fwd: %s" # format of subject when forwarding
set forward_decode # decode when forwarding
set attribution = "On %d, %n wrote:" # format of quoting header
set reply_to # reply to Reply to: field
set reverse_name # reply as whomever it was to
set include # include message in replies
set forward_quote # include message in forwards
set text_flowed
unset sig_dashes # no dashes before sig
unset mime_forward # forward attachments as part of body
# status bar, date format, finding stuff etc.
set status_chars = " *%A"
set status_format = "[ Folder: %f ] [%r%m messages%?n? (%n new)?%?d? (%d to delete)?%?t? (%t tagged)? ]%>─%?p?( %p postponed )?"
set date_format = "%d.%m.%Y %H:%M"
set sort = threads
set sort_aux = reverse-last-date-received
set uncollapse_jump
set sort_re
set reply_regex = "^(([Rr][Ee]?(\[[0-9]+\])?: *)?(\[[^]]+\] *)?)*"
set quote_regex = "^( {0,4}[>|:#%]| {0,4}[a-z0-9]+[>|]+)+"
set send_charset = "utf-8:iso-8859-1:us-ascii"
set charset = "utf-8"
set arrow_cursor = "no" # Change `color indicator` depending
# Pager View Options
set pager_index_lines = 10 # Shows 10 lines of index when pager is active
set pager_context = 3
set pager_stop
set menu_scroll
set tilde
unset markers
set mailcap_path = ~/.config/neomutt/mailcap
set header_cache = "~/.cache/mutt"
set message_cachedir = "~/.cache/mutt"
#set query_command = "khard email --parsable --search-in-source-files '%s'"
set mbox_type = Maildir
set smtp_url = "https://example.com:587 "
set smtp_pass = "secret"
set folder = ""
set imap_pass = "secret"
set realname = "Akshay Pushparaj"
set spoolfile = "+INBOX"
set ssl_starttls = yes
#set ssl_force_tls = yes
mailboxes =INBOX =Sent =Drafts =Junk =Trash
set envelope_from_address = ".in"
set use_envelope_from = yes
set record = "=Sent"
set trash = "=Trash"
set postponed = "=Drafts"
set mail_check=60
set editor = "vim"
set tmpdir = "/tmp/neomutt/"
set sidebar_width = 20
set sidebar_short_path = yes
set sidebar_next_new_wrap = yes
set mail_check_stats
set sidebar_format = "%B%?F? [%F]?%* %?N?%N/?%S"
bind index,pager \Ck sidebar-prev
bind index,pager \Cj sidebar-next
bind index,pager \Co sidebar-open
bind index,pager \Cp sidebar-prev-new
bind index,pager \Cn sidebar-next-new
bind index,pager B sidebar-toggle-visible
#gpg
source ~/.config/neomutt/gpg.rc
#set autocrypt = yes
#set autocrypt_dir = "~/.neomutt/autocrypt"
#set crypt_use_gpgme = yes
#set crypt_protected_headers_write = yes
#set crypt_autosign = yes
#set crypt_autopgp = yes
#set crypt_autoencrypt = yes
# Set preffered view modes
auto_view text/html text/calendar application/ics # view html automatically
alternative_order text/html text/plain text/enriched text/*
#colors
color normal default default
color indicator brightyellow default # currently selected message. default makes bar clear, disabled arrow to save space.
color sidebar_highlight red default
color sidebar_divider brightblack black
color sidebar_flagged red black
color sidebar_new green black
color normal brightyellow default
color error red default
color tilde black default
color message cyan default
color markers red white
color attachment white default
color search brightmagenta default
color status brightyellow black
color hdrdefault brightgreen default
color quoted green default
color quoted1 blue default
color quoted2 cyan default
color quoted3 yellow default
color quoted4 red default
color quoted5 brightred default
color signature brightgreen default
color bold black default
color underline black default
color normal default default
color body brightred default "[\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+" # Email addresses
color body brightblue default "(https?|ftp)://[\-\.,/%~_:?&=\#a-zA-Z0-9]+" # URL
color body green default "\`[^\`]*\`" # Green text between ` and `
color body brightblue default "^# \.*" # Headings as bold blue
color body brightcyan default "^## \.*" # Subheadings as bold cyan
color body brightgreen default "^### \.*" # Subsubheadings as bold green
color body yellow default "^(\t| )*(-|\\*) \.*" # List items as yellow
color body brightcyan default "[;:][-o][)/(|]" # emoticons
color body brightcyan default "[;:][)(|]" # emoticons
color body brightcyan default "[ ][*][^*]*[*][ ]?" # more emoticon?
color body brightcyan default "[ ]?[*][^*]*[*][ ]" # more emoticon?
color body red default "(BAD signature)"
color body cyan default "(Good signature)"
color body brightblack default "^gpg: Good signature .*"
color body brightyellow default "^gpg: "
color body brightyellow red "^gpg: BAD signature from.*"
mono body bold "^gpg: Good signature"
#mohttps://neomutt.org/code/config_vars.htmlno body bold "^gpg: BAD signature from.*"
color body red default "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]"
# Default index colors:
color index yellow default '.*'
color index_author red default '.*'
color index_number blue default
color index_subject cyan default '.*'
# For new mail:
color index brightyellow black "~N"
color index_author brightred black "~N"
color index_subject brightcyan black "~N"
color progress black cyan

414
picom.conf

@ -0,0 +1,414 @@
#################################
# Shadows #
#################################
# Enabled client-side shadows on windows. Note desktop windows
# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow,
# unless explicitly requested using the wintypes option.
#
# shadow = false
shadow = true;
# The blur radius for shadows, in pixels. (defaults to 12)
# shadow-radius = 12
shadow-radius = 7;
# The opacity of shadows. (0.0 - 1.0, defaults to 0.75)
# shadow-opacity = .75
# The left offset for shadows, in pixels. (defaults to -15)
# shadow-offset-x = -15
shadow-offset-x = -7;
# The top offset for shadows, in pixels. (defaults to -15)
# shadow-offset-y = -15
shadow-offset-y = -7;
# Red color value of shadow (0.0 - 1.0, defaults to 0).
# shadow-red = 0
# Green color value of shadow (0.0 - 1.0, defaults to 0).
# shadow-green = 0
# Blue color value of shadow (0.0 - 1.0, defaults to 0).
# shadow-blue = 0
# Hex string color value of shadow (#000000 - #FFFFFF, defaults to #000000). This option will override options set shadow-(red/green/blue)
# shadow-color = "#000000"
# Specify a list of conditions of windows that should have no shadow.
#
# examples:
# shadow-exclude = "n:e:Notification";
#
# shadow-exclude = []
shadow-exclude = [
"name = 'Notification'",
"class_g = 'Conky'",
"class_g ?= 'Notify-osd'",
"class_g = 'Cairo-clock'",
"_GTK_FRAME_EXTENTS@:c"
];
# Specify a X geometry that describes the region in which shadow should not
# be painted in, such as a dock window region. Use
# shadow-exclude-reg = "x10+0+0"
# for example, if the 10 pixels on the bottom of the screen should not have shadows painted on.
#
# shadow-exclude-reg = ""
# Crop shadow of a window fully on a particular Xinerama screen to the screen.
# xinerama-shadow-crop = false
#################################
# Fading #
#################################
# Fade windows in/out when opening/closing and when opacity changes,
# unless no-fading-openclose is used.
# fading = false
fading = true;
# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028)
# fade-in-step = 0.028
fade-in-step = 0.03;
# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
# fade-out-step = 0.03
fade-out-step = 0.03;
# The time between steps in fade step, in milliseconds. (> 0, defaults to 10)
# fade-delta = 10
# Specify a list of conditions of windows that should not be faded.
# fade-exclude = []
# Do not fade on window open/close.
# no-fading-openclose = false
# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc.
# no-fading-destroyed-argb = false
#################################
# Transparency / Opacity #
#################################
# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0)
inactive-opacity = 0.8
#inactive-opacity = 0.8;
# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default)
# frame-opacity = 1.0
frame-opacity = 0.2;
# Let inactive opacity set by -i override the '_NET_WM_OPACITY' values of windows.
# inactive-opacity-override = true
inactive-opacity-override = false;
# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0)
active-opacity = 1.0
# Dim inactive windows. (0.0 - 1.0, defaults to 0.0)
# inactive-dim = 0.0
# Specify a list of conditions of windows that should never be considered focused.
# focus-exclude = []
focus-exclude = [ "class_g = 'Cairo-clock'" ];
# Use fixed inactive dim value, instead of adjusting according to window opacity.
# inactive-dim-fixed = 1.0
# Specify a list of opacity rules, in the format `PERCENT:PATTERN`,
# like `50:name *= "Firefox"`. picom-trans is recommended over this.
# Note we don't make any guarantee about possible conflicts with other
# programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows.
# example:
# opacity-rule = [ "80:class_g = 'URxvt'" ];
#
opacity-rule = [
"100:class_g = 'Dunst' && !focused "
]
#################################
# Corners #
#################################
# Sets the radius of rounded window corners. When > 0, the compositor will
# round the corners of windows. Does not interact well with
# `transparent-clipping`.
corner-radius = 8
# Exclude conditions for rounded corners.
rounded-corners-exclude = [
"window_type = 'dock'",
"window_type = 'desktop'"
];
#################################
# Background-Blurring #
#################################
# Parameters for background blurring, see the *BLUR* section for more information.
# blur-method =
# blur-size = 12
#
# blur-deviation = false
#
# blur-strength = 5
# Blur background of semi-transparent / ARGB windows.
# Bad in performance, with driver-dependent behavior.
# The name of the switch may change without prior notifications.
#
# blur-background = false
# Blur background of windows when the window frame is not opaque.
# Implies:
# blur-background
# Bad in performance, with driver-dependent behavior. The name may change.
#
# blur-background-frame = false
# Use fixed blur strength rather than adjusting according to window opacity.
# blur-background-fixed = false
# Specify the blur convolution kernel, with the following format:
# example:
# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1";
#
# blur-kern = ""
blur-kern = "3x3box";
# Exclude conditions for background blur.
# blur-background-exclude = []
blur-background-exclude = [
"window_type = 'dock'",
"window_type = 'desktop'",
"_GTK_FRAME_EXTENTS@:c"
];
#################################
# General Settings #
#################################
# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers.
# daemon = false
# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`.
# `xrender` is the default one.
#
# backend = "glx"
backend = "xrender";
# Enable/disable VSync.
# vsync = false
vsync = true;
# Enable remote control via D-Bus. See the *D-BUS API* section below for more details.
# dbus = false
# Try to detect WM windows (a non-override-redirect window with no
# child that has 'WM_STATE') and mark them as active.
#
# mark-wmwin-focused = false
mark-wmwin-focused = true;
# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused.
# mark-ovredir-focused = false
mark-ovredir-focused = true;
# Try to detect windows with rounded corners and don't consider them
# shaped windows. The accuracy is not very high, unfortunately.
#
# detect-rounded-corners = false
detect-rounded-corners = true;
# Detect '_NET_WM_OPACITY' on client windows, useful for window managers
# not passing '_NET_WM_OPACITY' of client windows to frame windows.
#
# detect-client-opacity = false
detect-client-opacity = true;
# Specify refresh rate of the screen. If not specified or 0, picom will
# try detecting this with X RandR extension.
#
# refresh-rate = 60
refresh-rate = 0;
# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window,
# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy,
# provided that the WM supports it.
#
# use-ewmh-active-win = false
# Unredirect all windows if a full-screen opaque window is detected,
# to maximize performance for full-screen windows. Known to cause flickering
# when redirecting/unredirecting windows.
#
# unredir-if-possible = false
# Delay before unredirecting the window, in milliseconds. Defaults to 0.
# unredir-if-possible-delay = 0
# Conditions of windows that shouldn't be considered full-screen for unredirecting screen.
# unredir-if-possible-exclude = []
# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows
# in the same group focused at the same time.
#
# detect-transient = false
detect-transient = true;
# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same
# group focused at the same time. 'WM_TRANSIENT_FOR' has higher priority if
# detect-transient is enabled, too.
#
# detect-client-leader = false
detect-client-leader = true;
# Resize damaged region by a specific number of pixels.
# A positive value enlarges it while a negative one shrinks it.
# If the value is positive, those additional pixels will not be actually painted
# to screen, only used in blur calculation, and such. (Due to technical limitations,
# with use-damage, those pixels will still be incorrectly painted to screen.)
# Primarily used to fix the line corruption issues of blur,
# in which case you should use the blur radius value here
# (e.g. with a 3x3 kernel, you should use `--resize-damage 1`,
# with a 5x5 one you use `--resize-damage 2`, and so on).
# May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly.
#
# resize-damage = 1
# Specify a list of conditions of windows that should be painted with inverted color.
# Resource-hogging, and is not well tested.
#
# invert-color-include = []
# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer.
# Might cause incorrect opacity when rendering transparent content (but never
# practically happened) and may not work with blur-background.
# My tests show a 15% performance boost. Recommended.
#
# glx-no-stencil = false
# GLX backend: Avoid rebinding pixmap on window damage.
# Probably could improve performance on rapid window content changes,
# but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.).
# Recommended if it works.
#
# glx-no-rebind-pixmap = false
# Disable the use of damage information.
# This cause the whole screen to be redrawn everytime, instead of the part of the screen
# has actually changed. Potentially degrades the performance, but might fix some artifacts.
# The opposing option is use-damage
#
# no-use-damage = false
use-damage = true;
# Use X Sync fence to sync clients' draw calls, to make sure all draw
# calls are finished before picom starts drawing. Needed on nvidia-drivers
# with GLX backend for some users.
#
# xrender-sync-fence = false
# GLX backend: Use specified GLSL fragment shader for rendering window contents.
# See `compton-default-fshader-win.glsl` and `compton-fake-transparency-fshader-win.glsl`
# in the source tree for examples.
#
# glx-fshader-win = ""
# Force all windows to be painted with blending. Useful if you
# have a glx-fshader-win that could turn opaque pixels transparent.
#
# force-win-blend = false
# Do not use EWMH to detect fullscreen windows.
# Reverts to checking if a window is fullscreen based only on its size and coordinates.
#
# no-ewmh-fullscreen = false
# Dimming bright windows so their brightness doesn't exceed this set value.
# Brightness of a window is estimated by averaging all pixels in the window,
# so this could comes with a performance hit.
# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0)
#
# max-brightness = 1.0
# Make transparent windows clip other windows like non-transparent windows do,
# instead of blending on top of them.
#
# transparent-clipping = false
# Set the log level. Possible values are:
# "trace", "debug", "info", "warn", "error"
# in increasing level of importance. Case doesn't matter.
# If using the "TRACE" log level, it's better to log into a file
# using *--log-file*, since it can generate a huge stream of logs.
#
# log-level = "debug"
log-level = "warn";
# Set the log file.
# If *--log-file* is never specified, logs will be written to stderr.
# Otherwise, logs will to written to the given file, though some of the early
# logs might still be written to the stderr.
# When setting this option from the config file, it is recommended to use an absolute path.
#
# log-file = "/path/to/your/log/file"
# Show all X errors (for debugging)
# show-all-xerrors = false
# Write process ID to a file.
# write-pid-path = "/path/to/your/log/file"
# Window type settings
#
# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard:
# "unknown", "desktop", "dock", "toolbar", "menu", "utility",
# "splash", "dialog", "normal", "dropdown_menu", "popup_menu",
# "tooltip", "notification", "combo", and "dnd".
#
# Following per window-type options are available: ::
#
# fade, shadow:::
# Controls window-type-specific shadow and fade settings.
#
# opacity:::
# Controls default opacity of the window type.
#
# focus:::
# Controls whether the window of this type is to be always considered focused.
# (By default, all window types except "normal" and "dialog" has this on.)
#
# full-shadow:::
# Controls whether shadow is drawn under the parts of the window that you
# normally won't be able to see. Useful when the window has parts of it
# transparent, and you want shadows in those areas.
#
# redir-ignore:::
# Controls whether this type of windows should cause screen to become
# redirected again after been unredirected. If you have unredir-if-possible
# set, and doesn't want certain window to cause unnecessary screen redirection,
# you can set this to `true`.
#
wintypes:
{
tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
dock = { shadow = false; }
dnd = { shadow = false; }
popup_menu = { opacity = 0.8; }
dropdown_menu = { opacity = 0.8; }
};

244
polybar/config

@ -0,0 +1,244 @@
[colors]
color0 = #0a0b08
color1 = #675638
color2 = #555B47
color3 = #5A6651
color4 = #6E6754
color5 = #656D56
color6 = #936D51
color7 = #ccc0ac
color8 = #8e8678
color9 = #675638
color10 = #555B47
color11 = #5A6651
color12 = #6E6754
color13 = #656D56
color14 = #936D51
color15 = #ccc0ac
background = #000000
;background = #0c0f10
background-alt = #ffb25a
foreground = #dfdfdf
foreground-alt = #bbb
;foreground-alt = #222
;primary = #ffb52a
;primary = #666666
primary = #abbcc8
secondary = #e60053
alert = #bd2c40
[bar/bar]
;monitor = ${env:MONITOR:HDMI-1}
width = 100%
height = 22
;offset-x = 1%
;offset-y = 1%
radius = 0.0
fixed-center = false
bottom = true
background = ${colors.color0}
foreground = ${colors.color15}
border-size = 1
border-color = #00000000
padding-left = 0
padding-right = 0
font-0 = terminessTTF Nerd Font Mono:size=12;3
font-1 = DejavuSansMono NF:style=Book:size=13;3
modules-left = i3
modules-center = media
modules-right = wlp2s0 pulseaudio battery cpu date time
tray-position = right
tray-padding = 1
tray-background = ${colors.color1}
;wm-restack = bspwm
wm-restack = i3
;override-redirect = true
;scroll-up = bspwm-desknext
;scroll-down = bspwm-deskprev
;scroll-up = i3wm-wsnext
;scroll-down = i3wm-wsprev
cursor-click = pointer
cursor-scroll = ns-resize
[module/i3]
type = internal/i3
format = <label-state> <label-mode>
index-sort = true
wrapping-scroll = false
label-mode = %mode%
; Only show workspaces on the same output as the bar
;pin-workspaces = true
label-mode-padding = 1
label-mode-foreground = ${colors.colors1}
label-mode-background = ${colors.colors0}
; focused = Active workspace on focused monitor
label-focused = %icon%
label-focused-foreground = ${colors.color0}
label-focused-background = ${colors.color1}
label-focused-padding = 1
; unfocused = Inactive workspace on any monitor
label-unfocused = %index%
label-unfocused-padding = 1
; visible = Active workspace on unfocused monitor
label-visible = %index%
label-visible-background = ${self.label-focused-background}
label-visible-padding = ${self.label-focused-padding}
; urgent = Workspace with urgency hint set
label-urgent = %icon%:%index%
label-urgent-background = ${colors.alert}
label-urgent-padding = 1
ws-icon-0 = 1;
ws-icon-1 = 2;
ws-icon-2 = 3;
ws-icon-3 = 4;嗢
ws-icon-4 = 5;
ws-icon-5 = 6;
ws-icon-6 = 7;
ws-icon-7 = 8;
ws-icon-8 = 9;
ws-icon-9 = 10;
[module/media]
type = custom/script
exec = ~/.config/polybar/scripts/music
interval = 1
tail = true
label = " %output% "
label-foreground = ${colors.color0}
label-background = ${colors.color3}
[module/wlp2s0]
type = internal/network
interface = wlp2s0
interval = 3.0
label-connected-background = ${colors.color5}
format-connected = <label-connected>
label-connected = " %signal%% %essid% %downspeed% "
label-connected-foreground = ${colors.color0}
format-disconnected = <label-disconnected>
;label-disconnected = " 睊 "
[module/eth]
type = internal/network
interface = eno0
interval = 3.0
format-connected-underline = #55aa55
format-connected-prefix = " "
format-connected-prefix-foreground = ${colors.color0}
label-connected = %essid%
format-disconnected =
[module/pulseaudio]
type = internal/pulseaudio
ramp-volume-background = ${colors.color7}
ramp-volume-foreground = ${colors.color0}
label-volume-background = ${colors.color7}
label-volume-foreground = ${colors.color0}
format-volume = <ramp-volume><label-volume>
label-volume = "%percentage% "
label-muted = 🔇 muted
label-muted-foreground = #666
ramp-volume-0 = "  "
[module/battery]
type = internal/battery
battery = BAT0
adapter = AC
full-at = 98
label-charging = "%percentage% "
label-discharging = "%percentage% "
label-full = "%percentage_raw% "
format-charging = "<animation-charging><label-charging>"
format-discharging = "<ramp-capacity><label-discharging>"
format-full-prefix = "  "
format-full-prefix-foreground = ${colors.color0}
format-full-prefix-background= ${colors.color9}
label-full-background = ${colors.color9}
label-full-foreground = ${colors.color0}
label-charging-background = ${colors.color9}
label-charging-foreground = ${colors.color0}
label-discharging-background = ${colors.color9}
label-discharging-foreground = ${colors.color0}
ramp-capacity-0 ="  "
ramp-capacity-1 ="  "
ramp-capacity-2 ="  "
ramp-capacity-3 ="  "
ramp-capacity-4 ="  "
ramp-capacity-5 ="  "
ramp-capacity-6 ="  "
ramp-capacity-7 ="  "
ramp-capacity-8 ="  "
ramp-capacity-9 ="  "
ramp-capacity-foreground = ${colors.color0}
ramp-capacity-background = ${colors.color9}
animation-charging-0 ="  "
animation-charging-foreground = ${colors.color0}
animation-charging-background = ${colors.color9}
[module/cpu]
type = internal/cpu
interval = 2
padding = 2
format-prefix = "  "
format-background = ${colors.color11}
format-prefix-foreground = ${colors.color0}
label-background = ${colors.color11}
label-foreground = ${colors.color0}
label = "%percentage% "
[module/date]
type=internal/date
date = " %d-%m-%Y "
label = %date%
label-background =${colors.color13}
label-foreground = ${colors.color0}
[module/time]
type = internal/date
interval = 5
time = " %H:%M "
time-alt = %H:%M:%S
label = %time%
label-background = ${colors.color14}
label-foreground = ${colors.color0}
[settings]
screenchange-reload = true
;compositing-background = xor
;compositing-background = screen
;compositing-foreground = source
;compositing-border = over
;pseudo-transparency = false
[global/wm]
margin-top = 1
margin-bottom = 1

BIN
polybar/scripts/.cmus.swp

Binary file not shown.

16
polybar/scripts/cmus

@ -0,0 +1,16 @@
#!/bin/bash
duration=$(cmus-remote -Q 2> /dev/null | grep duration | cut -d ' ' -f2-)
position=$(cmus-remote -Q 2> /dev/null | grep position | cut -d ' ' -f2-)
stat=$(cmus-remote -Q 2> /dev/null | grep status | cut -d ' ' -f2-)
artist=$(cmus-remote -Q 2> /dev/null | grep ' artist ' | cut -d ' ' -f3-)
song=$(cmus-remote -Q 2> /dev/null | grep title | cut -d ' ' -f3-)
if [ "$stat" != "" -a "$artist" != "" ]; then
cur=$(date -d@"$position" -u +%M:%S)
dur=$(date -d@"$duration" -u +%M:%S)
if [ "$stat" = "playing" ]; then
echo "$artist - $song || $cur"
else
echo "$song - $cur - paused"
fi
fi

4
polybar/scripts/launch.sh

@ -0,0 +1,4 @@
#! /usr/bin/env bash
killall -q polybar
echo "---" | tee -a /tmp/polybar1.log /tmp/polybar2.log
polybar bar 2>&1 | tee -a /tmp/polybar.log & disown

32
polybar/scripts/music

@ -0,0 +1,32 @@
#!/bin/bash
# install playerctl
none="No players found"
down=$(playerctl status 2>&1)
if [ "$down" = "$none" -o "$down" = "Stopped" ]; then
echo ""
exit
else
tracklength=$(playerctl metadata mpris:length 2>&1| sed 's/.\{6\}$//')
current=$(playerctl position 2>&1 | sed 's/.\{7\}$//')
if [ "$tracklength" -ge 3600 ]; then
duration=$(date -d@"$tracklength" -u +%H:%M:%S 2>&1)
else
duration=$(date -d@"$tracklength" -u +%M:%S 2>&1)
fi
if [ "$current" -ge 3600 ]; then
position=$(date -d@"$current" -u +%H:%M:%S 2>&1)
else
position=$(date -d@"$current" -u +%M:%S 2>&1)
fi
artist=$(playerctl metadata xesam:artist 2>&1)
song=$(playerctl metadata xesam:title 2>&1)
if [ "$down" = "Playing" ]; then
echo "$song | $position"
elif [ "$down" = "Paused" ]; then
echo "$song | $position | $duration | paused"
else
exit
fi
fi

7
redshift.conf

@ -0,0 +1,7 @@
[redshift]
adjustment-method=randr
location-provider=manual
[manual]
lat=11.25
lon=75.78

145
rtorrent/rtorrentrc

@ -0,0 +1,145 @@
#############################################################################
# A minimal rTorrent configuration that provides the basic features
# you want to have in addition to the built-in defaults.
#
# See https://github.com/rakshasa/rtorrent/wiki/CONFIG-Template
# for an up-to-date version.
#############################################################################
## Instance layout (base paths)
method.insert = cfg.basedir, private|const|string, (cat,"/home/akshay/Downloads/rtorrent/")
method.insert = cfg.download, private|const|string, (cat,(cfg.basedir),"download/")
method.insert = cfg.logs, private|const|string, (cat,(cfg.basedir),"log/")
method.insert = cfg.logfile, private|const|string, (cat,(cfg.logs),"rtorrent-",(system.time),".log")
method.insert = cfg.session, private|const|string, (cat,(cfg.basedir),".session/")
method.insert = cfg.watch, private|const|string, (cat,(cfg.basedir),"watch/")
## Create instance directories
execute.throw = sh, -c, (cat,\
"mkdir -p \"",(cfg.download),"\" ",\
"\"",(cfg.logs),"\" ",\
"\"",(cfg.session),"\" ",\
"\"",(cfg.watch),"/load\" ",\
"\"",(cfg.watch),"/start\" ")
## Listening port for incoming peer traffic (fixed; you can also randomize it)
network.port_range.set = 50000-50000
network.port_random.set = no
## Tracker-less torrent and UDP tracker support
## (conservative settings for 'private' trackers, change for 'public')
dht.mode.set = disable
protocol.pex.set = no
trackers.use_udp.set = no
## Peer settings
throttle.max_downloads.global.set = 100
throttle.max_uploads.global.set = 60
throttle.max_downloads.set = 50
throttle.max_uploads.set = 50
throttle.global_down.max_rate.set_kb = 0
throttle.global_up.max_rate.set_kb = 0
throttle.min_peers.normal.set = 1
throttle.max_peers.normal.set = 400
throttle.min_peers.seed.set = -1
throttle.max_peers.seed.set = -1
trackers.numwant.set = 80
protocol.encryption.set = allow_incoming,try_outgoing,enable_retry
## Limits for file handle resources, this is optimized for
## an `ulimit` of 1024 (a common default). You MUST leave
## a ceiling of handles reserved for rTorrent's internal needs!
network.http.max_open.set = 50
network.max_open_files.set = 600
network.max_open_sockets.set = 300
## Memory resource usage (increase if you have a large number of items loaded,
## and/or the available resources to spend)
pieces.memory.max.set = 1800M
network.xmlrpc.size_limit.set = 4M
## Basic operational settings (no need to change these)
session.path.set = (cat, (cfg.session))
directory.default.set = (cat, (cfg.download))
log.execute = (cat, (cfg.logs), "execute.log")
#log.xmlrpc = (cat, (cfg.logs), "xmlrpc.log")
execute.nothrow = sh, -c, (cat, "echo >",\
(session.path), "rtorrent.pid", " ",(system.pid))
## Other operational settings (check & adapt)
encoding.add = utf8
system.umask.set = 0027
system.cwd.set = (directory.default)
network.http.dns_cache_timeout.set = 25
schedule2 = monitor_diskspace, 15, 60, ((close_low_diskspace, 1000M))
#pieces.hash.on_completion.set = no
#view.sort_current = seeding, greater=d.ratio=
#keys.layout.set = qwerty
#network.http.capath.set = "/etc/ssl/certs"
#network.http.ssl_verify_peer.set = 0
#network.http.ssl_verify_host.set = 0
## Some additional values and commands
method.insert = system.startup_time, value|const, (system.time)
method.insert = d.data_path, simple,\
"if=(d.is_multi_file),\
(cat, (d.directory), /),\
(cat, (d.directory), /, (d.name))"
method.insert = d.session_file, simple, "cat=(session.path), (d.hash), .torrent"
## Watch directories (add more as you like, but use unique schedule names)
## Add torrent
schedule2 = watch_load, 11, 10, ((load.verbose, (cat, (cfg.watch), "load/*.torrent")))
## Add & download straight away
schedule2 = watch_start, 10, 10, ((load.start_verbose, (cat, (cfg.watch), "start/*.torrent")))
## Run the rTorrent process as a daemon in the background
## (and control via XMLRPC sockets)
#system.daemon.set = true
#network.scgi.open_local = (cat,(session.path),rpc.socket)
#execute.nothrow = chmod,770,(cat,(session.path),rpc.socket)
## Logging:
## Levels = critical error warn notice info debug
## Groups = connection_* dht_* peer_* rpc_* storage_* thread_* tracker_* torrent_*
print = (cat, "Logging to ", (cfg.logfile))
log.open_file = "log", (cfg.logfile)
log.add_output = "info", "log"
#log.add_output = "tracker_debug", "log"
# Create symlinks in the watch directory with a suffix indicating the download state.
method.set_key = event.download.resumed,link1,"d.create_link=tied,,.started"
method.set_key = event.download.paused,link1,"d.delete_link=tied,,.started"
method.set_key = event.download.finished,"d.create_link=tied,,.finished"
method.set_key = event.download.erased,"d.delete_link=tied,,.finished"
# Create symlinks in the same directory as the download.
method.set_key = event.download.resumed,link2,"d.create_link=base_path,,.started"
method.set_key = event.download.paused,link2,"d.delete_link=base_path,,.started"
method.set_key = event.download.finished,link2,"d.create_link=base_path,,.finished"
method.set_key = event.download.erased,link2,"d.delete_link=base_path,,.finished"
# Create a symlink in another directory without a suffix.
# You need to quote the command in this case.
method.set_key = event.download.finished,link3,"d.create_link=base_filename,/files,"
### END of rtorrent.rc ###

BIN
screenshot/cmus.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 535 KiB

BIN
screenshot/colorscheme.gif

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 MiB

BIN
screenshot/image.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 KiB

BIN
screenshot/lap.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

BIN
screenshot/lock.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

13
systemd/lidlock.service

@ -0,0 +1,13 @@
# add this to /etc/systemd/system and enable service
[Unit]
Description=i3lock on suspend
After=sleep.target
[Service]
User=akshay
Type=forking
Environment=DISPLAY=:0
ExecStart=/home/akshay/.config/i3/lock/lock.sh
[Install]
WantedBy=sleep.target

16
touchpad_toggle.sh

@ -0,0 +1,16 @@
#!/bin/bash
declare -i ID
ID=`xinput list | grep -Eio '(touchpad|glidepoint)\s*id\=[0-9]{1,2}' | grep -Eo '[0-9]{1,2}'`
declare -i STATE
STATE=`xinput list-props $ID|grep 'Device Enabled'|awk '{print $4}'`
if [ $STATE -eq 1 ]
then
xinput disable $ID
# echo "Touchpad disabled."
# notify-send -a 'Touchpad' 'Disabled' -i /usr/share/icons/Adwaita/48x48/devices/input-touchpad.png
else
xinput enable $ID
# echo "Touchpad enabled."
# notify-send -a 'Touchpad' 'Enabled' -i /usr/share/icons/Adwaita/48x48/devices/input-touchpad.png
fi

40
vimrc

@ -0,0 +1,40 @@
call plug#begin()
Plug 'ayu-theme/ayu-vim'
Plug 'scrooloose/nerdtree'
Plug 'ryanoasis/vim-devicons'
Plug 'tmsvg/pear-tree'
Plug 'makerj/vim-pdf'
Plug 'junegunn/goyo.vim'
Plug 'rust-lang/rust.vim'
Plug 'sainnhe/gruvbox-material'
call plug#end()
"merdtree
autocmd StdinReadPre * let s:std_in=1
autocmd VimEnter * if argc() == 0 && !exists('s:std_in') | NERDTree | endif
"colorscheme
set background=dark
colorscheme gruvbox-material
set tabstop=2
set number
"borders and tilde
highlight NonText ctermfg='Black'
set enc=utf-8
set fillchars=
"key remap
map <C-n> :NERDTreeToggle<CR>
map <C-l> <C-w>l
map <C-h> <C-w>h
map <C-j> <C-w>j
map <C-k> <C-w>k
autocmd! bufwritepost *.h make && sudo make install
"auto source
autocmd! bufwritepost .vimrc source %
"rust syntax
syntax enable
filetype plugin indent on

1
wallpaper/README.md

@ -0,0 +1 @@
Wallpapers from [Wallhaven](https://wallhaven.cc)

BIN
wallpaper/city.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 337 KiB

BIN
wallpaper/com2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 542 KiB

BIN
wallpaper/comedian.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

BIN
wallpaper/d1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

BIN
wallpaper/dune.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 225 KiB

BIN
wallpaper/leaves.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 MiB

BIN
wallpaper/neon.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 864 KiB

BIN
wallpaper/rhone.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

BIN
wallpaper/sa-flowers.jpeg

Binary file not shown.

After

Width:  |  Height:  |  Size: 275 KiB

BIN
wallpaper/sa-train.jpeg

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 KiB

BIN
wallpaper/sa.jpeg

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

BIN
wallpaper/samurai-think.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 469 KiB

BIN
wallpaper/samurai.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 MiB

BIN
wallpaper/sea.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 MiB

BIN
wallpaper/space.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 763 KiB

BIN
wallpaper/starry.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

BIN
wallpaper/the-starry-night-over-the-rhone.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

40
zsh/zimrc

@ -0,0 +1,40 @@
# Start configuration added by Zim install {{{
# -------
# Modules
# -------
# Sets sane Zsh built-in environment options.
zmodule environment
# Provides handy git aliases and functions.
zmodule git
# Applies correct bindkeys for input events.
zmodule input
# Sets a custom terminal title.
zmodule termtitle
# Utility aliases and functions. Adds colour to ls, grep and less.
zmodule utility
#
# Prompt
#
#
zmodule gitster
# Exposes git repository status information to prompts.
zmodule git-info
# A customizable version of steeef's prompt theme.
# Additional completion definitions for Zsh.
zmodule zsh-users/zsh-completions
# Enables and configures smart and extensive tab completion.
# completion must be sourced after zsh-users/zsh-completions
zmodule completion
# Fish-like autosuggestions for Zsh.
zmodule zsh-users/zsh-autosuggestions
# Fish-like syntax highlighting for Zsh.
# zsh-users/zsh-syntax-highlighting must be sourced after completion
zmodule zsh-users/zsh-syntax-highlighting
# Fish-like history search (up arrow) for Zsh.
# zsh-users/zsh-history-substring-search must be sourced after zsh-users/zsh-syntax-highlighting
zmodule zsh-users/zsh-history-substring-search
# }}} End configuration added by Zim install

186
zsh/zshrc

@ -0,0 +1,186 @@
# Start configuration added by Zim install {{{
#
# User configuration sourced by interactive shells
#
# -----------------
# Zsh configuration
# -----------------
#
# History
#
# Remove older command from the history if a duplicate is to be added.
setopt HIST_IGNORE_ALL_DUPS
#
# Input/output
#
# Set editor default keymap to emacs (`-e`) or vi (`-v`)
bindkey -e
# Prompt for spelling correction of commands.
#setopt CORRECT
# Customize spelling correction prompt.
#SPROMPT='zsh: correct %F{red}%R%f to %F{green}%r%f [nyae]? '
# Remove path separator from WORDCHARS.
WORDCHARS=${WORDCHARS//[\/]}
# --------------------
# Module configuration
# --------------------
#
# completion
#
# Set a custom path for the completion dump file.
# If none is provided, the default ${ZDOTDIR:-${HOME}}/.zcompdump is used.
#zstyle ':zim:completion' dumpfile "${ZDOTDIR:-${HOME}}/.zcompdump-${ZSH_VERSION}"
#
# git
#
# Set a custom prefix for the generated aliases. The default prefix is 'G'.
#zstyle ':zim:git' aliases-prefix 'g'
#
# input
#
# Append `../` to your input for each `.` you type after an initial `..`
#zstyle ':zim:input' double-dot-expand yes
#
# termtitle
#
# Set a custom terminal title format using prompt expansion escape sequences.
# See http://zsh.sourceforge.net/Doc/Release/Prompt-Expansion.html#Simple-Prompt-Escapes
# If none is provided, the default '%n@%m: %~' is used.
#zstyle ':zim:termtitle' format '%1~'
#
# zsh-autosuggestions
#
# Customize the style that the suggestions are shown with.
# See https://github.com/zsh-users/zsh-autosuggestions/blob/master/README.md#suggestion-highlight-style
#ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=10'
#
# zsh-syntax-highlighting
#
# Set what highlighters will be used.
# See https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/docs/highlighters.md
ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets)
# Customize the main highlighter styles.
# See https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/docs/highlighters/main.md#how-to-tweak-it
#typeset -A ZSH_HIGHLIGHT_STYLES
#ZSH_HIGHLIGHT_STYLES[comment]='fg=10'
# ------------------
# Initialize modules
# ------------------
if [[ ! ${ZIM_HOME}/init.zsh -nt ${ZDOTDIR:-${HOME}}/.zimrc ]]; then
# Update static initialization script if it does not exist or it's outdated, before sourcing it
source ${ZIM_HOME}/zimfw.zsh init -q
fi
source ${ZIM_HOME}/init.zsh
# ------------------------------
# Post-init module configuration
# ------------------------------
#
# zsh-history-substring-search
#
# Bind ^[[A/^[[B manually so up/down works both before and after zle-line-init
bindkey '^[[A' history-substring-search-up
bindkey '^[[B' history-substring-search-down
# Bind up and down keys
zmodload -F zsh/terminfo +p:terminfo
if [[ -n ${terminfo[kcuu1]} && -n ${terminfo[kcud1]} ]]; then
bindkey ${terminfo[kcuu1]} history-substring-search-up
bindkey ${terminfo[kcud1]} history-substring-search-down
fi
bindkey '^P' history-substring-search-up
bindkey '^N' history-substring-search-down
bindkey -M vicmd 'k' history-substring-search-up
bindkey -M vicmd 'j' history-substring-search-down
# }}} End configuration added by Zim install
# Set name of the theme to load --- if set to "random", it will
# load a random theme each time oh-my-zsh is loaded, in which case,
# to know which specific one was loaded, run: echo $RANDOM_THEME
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
#ZSH_THEME="robbyrussell"
# Which plugins would you like to load?
# Standard plugins can be found in $ZSH/plugins/
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
export LANG=en_US.UTF-8
export EDITOR='vim'
export FZF_BASE="/usr/bin/fzf"
alias vi="vim"
alias freq="watch grep \"cpu MHz\" /proc/cpuinfo"
alias c="clear"
alias cpu_p="~/.config/i3/cpu_percentage.sh"
alias screen="screen -U"
#(cat ~/.cache/wal/sequences &)
#cat ~/.cache/wal/sequences
#source ~/.cache/wal/colors-tty.sh
#source ~/git/zsh-autocomplete/zsh-autocomplete.plugin.zsh
#nnn cofig
TERMINAL="alacritty"
BLK="0B" CHR="0B" DIR="04" EXE="06" REG="00" HARDLINK="06" SYMLINK="06" MISSING="00" ORPHAN="09" FIFO="06" SOCK="0B" OTHER="06"
#export NNN_COLORS='1234'
export NNN_FCOLORS="$BLK$CHR$DIR$EXE$REG$HARDLINK$SYMLINK$MISSING$ORPHAN$FIFO$SOCK$OTHER"
export NNN_PLUG='p:preview-tui;i:imgthumb;m:nmount;k:kdeconnect;g:gpg*;t:mtpmount'
export NNN_TRASH=1
export NNN_FIFO=/tmp/nnn.fifo nnn
source /usr/share/doc/fzf/examples/key-bindings.zsh
export GEM_HOME="$HOME/.gems"
export PATH="$HOME/.gems/bin:/usr/sbin:$PATH"
#(cat ~/.cache/wal/sequences &)
# Alternative (blocks terminal for 0-3ms)
#cat ~/.cache/wal/sequences
# To add support for TTYs this line can be optionally added.
#source ~/.cache/wal/colors-tty.sh
ffs() {
firefox --search $1
}
lks() {
search="${1}"
links "https://duckduckgo.com/?q=$search"
}
if [ -z "${DISPLAY}" ] && [ "${XDG_VTNR}" -eq 1 ]; then
exec startx
fi
Loading…
Cancel
Save