Added cenny dotfiles

master
Jef Roosens 2021-04-21 14:52:27 +02:00
parent 20ab00736c
commit 885ecb33d0
Signed by: Jef Roosens
GPG Key ID: B580B976584B5F30
57 changed files with 7714 additions and 0 deletions

View File

@ -0,0 +1,414 @@
[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 = none
# 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 elxse
# 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 = "300x5-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 = 16
# 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 = 0
# 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 = "#7f3fbf"
# 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 = auto
# 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.
# A client can set the 'transient' hint to bypass this. See the rules
# section for how to disable this if necessary
idle_threshold = 120
### Text ###
font = Noto Sans Regular 9
# 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 = no
# 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 make an ellipsis in long lines.
# Possible values are "start", "middle" and "end".
ellipsize = middle
# Ignore newlines '\n' in notifications.
ignore_newline = no
# Stack together notifications with the same content
stack_duplicates = true
# Hide the count of stacked 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/
icon_path = /usr/share/icons/Paper/16x16/status/:/usr/share/icons/Paper/16x16/devices/:/usr/share/icons/Paper/16x16/apps/:/usr/share/pixmaps/
### 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
# Manage dunst's desire for talking
# Can be one of the following values:
# crit: Critical features. Dunst aborts
# warn: Only non-fatal warnings
# mesg: Important Messages
# info: all unimportant stuff
# debug: all less than unimportant stuff
verbosity = mesg
# Define the corner radius of the notification window
# in pixel size. If the radius is 0, you have no rounded
# corners.
# The radius will be automatically lowered if it exceeds half of the
# notification height to avoid clipping text and/or icons.
corner_radius = 3
### 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
### mouse
# Defines action of mouse event
# Possible values are:
# * none: Don't do anything.
# * do_action: If the notification has exactly one action, or one is marked as default,
# invoke it. If there are multiple and no default, open the context menu.
# * close_current: Close current notification.
# * close_all: Close all notifications.
mouse_left_click = close_current
mouse_middle_click = do_action
mouse_right_click = close_all
# 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 = "#28143c"
foreground = "#ffffff"
timeout = 5
# Icon for notifications with low urgency, uncomment to enable
icon = /usr/share/icons/Arc-X-D/status/16/dialog-information.png
[urgency_normal]
background = "#28143c"
foreground = "#ffffff"
timeout = 5
# Icon for notifications with normal urgency, uncomment to enable
icon = /usr/share/icons/Arc-X-D/status/16/dialog-question.png
[urgency_critical]
background = "#28143c"
foreground = "#ffffff"
frame_color = "#ff7f7f"
timeout = 120
# Icon for notifications with critical urgency, uncomment to enable
icon = /usr/share/icons/Arc-X-D/status/16/dialog-warning.png
# 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 (discouraged, see desktop_entry)
# body
# category
# desktop_entry
# icon
# match_transient
# msg_urgency
# stack_tag
# summary
#
# and you can override the
# background
# foreground
# format
# frame_color
# fullscreen
# new_icon
# set_stack_tag
# set_transient
# timeout
# urgency
#
# Shell-like globbing will get expanded.
#
# Instead of the appname filter, it's recommended to use the desktop_entry filter.
# GLib based applications export their desktop-entry name. In comparison to the appname,
# the desktop-entry won't get localized.
#
# 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.
# Disable the transient hint so that idle_threshold cannot be bypassed from the
# client
#[transient_disable]
# match_transient = yes
# set_transient = no
#
# Make the handling of transient notifications more strict by making them not
# be placed in history.
#[transient_history_ignore]
# match_transient = yes
# history_ignore = yes
# fullscreen values
# show: show the notifications, regardless if there is a fullscreen window opened
# delay: displays the new notification, if there is no fullscreen window active
# If the notification is already drawn, it won't get undrawn.
# pushback: same as delay, but when switching into fullscreen, the notification will get
# withdrawn from screen again and will get delayed like a new notification
#[fullscreen_delay_everything]
# fullscreen = delay
#[fullscreen_show_critical]
# msg_urgency = critical
# fullscreen = show
#[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
#[skip-display]
# # This notification will not be displayed, but will be included in the history
# summary = "foobar"
# skip_display = 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
#
#[stack-volumes]
# appname = "some_volume_notifiers"
# set_stack_tag = "volume"
#
# vim: ft=cfg

View File

@ -0,0 +1,5 @@
# Vim directory
.vim/
.cache/
*.lock

View File

@ -0,0 +1,39 @@
# Beware! This file is rewritten by htop when settings are changed in the interface.
# The parser is also very primitive, and not human-friendly.
fields=0 48 17 18 38 39 40 2 46 47 49 1
sort_key=47
sort_direction=1
tree_sort_key=0
tree_sort_direction=1
hide_kernel_threads=1
hide_userland_threads=0
shadow_other_users=0
show_thread_names=0
show_program_path=0
highlight_base_name=0
highlight_megabytes=1
highlight_threads=1
highlight_changes=0
highlight_changes_delay_secs=5
find_comm_in_cmdline=1
strip_exe_from_cmdline=1
show_merged_command=0
tree_view=0
tree_view_always_by_pid=0
header_margin=1
detailed_cpu_time=0
cpu_count_from_one=1
show_cpu_usage=1
show_cpu_frequency=0
show_cpu_temperature=0
degree_fahrenheit=0
update_process_names=0
account_guest_in_cpu_meter=0
color_scheme=0
enable_mouse=1
delay=15
left_meters=LeftCPUs2 Memory Swap
left_meter_modes=1 1 1
right_meters=RightCPUs2 Tasks LoadAverage Uptime
right_meter_modes=1 2 2 2
hide_function_bar=0

301
.config/i3/config 100755
View File

@ -0,0 +1,301 @@
# =====GENERAL=====
# Main modifier; Mod1 is alt
set $mod Mod1
# Modifier for floating-related operations
floating_modifier $mod
# Layout for new workspaces; default means tiling
workspace_layout default
#do not show titlebar on windows:
default_border pixel
# thin borders
hide_edge_borders both
# Font for window titles & bar, unless specified otherwise
font pango:Noto Sans Regular 8
# =====WINDOW MANAGEMENT=====
# change focus
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right
# move focused window
bindsym $mod+Shift+h move left
bindsym $mod+Shift+j move down
bindsym $mod+Shift+k move up
bindsym $mod+Shift+l move right
# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle
# kill focused window
bindsym $mod+x kill
# toggle tiling / floating
bindsym $mod+Shift+space floating toggle
# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle
# Resize focused window
mode "resize" {
bindsym h resize shrink width 10 px or 10 ppt
bindsym j resize shrink height 10 px or 10 ppt
bindsym k resize grow height 10 px or 10 ppt
bindsym l resize grow width 10 px or 10 ppt
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
#resize floating windows with mouse scroll:
bindsym --whole-window --border $mod+button4 resize shrink height 5 px or 5 ppt
bindsym --whole-window --border $mod+button5 resize grow height 5 px or 5 ppt
bindsym --whole-window --border $mod+shift+button4 resize shrink width 5 px or 5 ppt
bindsym --whole-window --border $mod+shift+button5 resize grow width 5 px or 5 ppt
# =====WORKSPACES=====
set $ws01 ""
set $ws02 ""
set $ws03 ""
set $ws04 ""
set $ws05 ""
set $ws11 "α"
set $ws12 "β"
set $ws13 "γ"
set $ws14 "δ"
set $ws15 "ε"
set $ws21 "2:1"
set $ws22 "2:2"
set $ws23 "2:3"
set $ws24 "2:4"
set $ws25 "2:5"
workspace $ws01 output primary
workspace $ws02 output primary
workspace $ws03 output primary
workspace $ws04 output primary
workspace $ws05 output primary
workspace $ws11 output eDP-1-1
workspace $ws12 output eDP-1-1
workspace $ws13 output eDP-1-1
workspace $ws14 output eDP-1-1
workspace $ws15 output eDP-1-1
workspace $ws21 output HDMI-0
workspace $ws22 output HDMI-0
workspace $ws23 output HDMI-0
workspace $ws24 output HDMI-0
workspace $ws25 output HDMI-0
# switch to main workspaces
bindsym $mod+y workspace $ws01
bindsym $mod+u workspace $ws02
bindsym $mod+i workspace $ws03
bindsym $mod+o workspace $ws04
bindsym $mod+p workspace $ws05
# move focused container to main workspace
bindsym $mod+Shift+y move container to workspace $ws01
bindsym $mod+Shift+u move container to workspace $ws02
bindsym $mod+Shift+i move container to workspace $ws03
bindsym $mod+Shift+o move container to workspace $ws04
bindsym $mod+Shift+p move container to workspace $ws05
# Manage other workspaces
mode "eDP-1-1" {
# switch to workspace
bindsym y workspace $ws11
bindsym u workspace $ws12
bindsym i workspace $ws13
bindsym o workspace $ws14
bindsym p workspace $ws15
# move focused container to workspace
bindsym Shift+y move container to workspace $ws11
bindsym Shift+u move container to workspace $ws12
bindsym Shift+i move container to workspace $ws13
bindsym Shift+o move container to workspace $ws14
bindsym Shift+p move container to workspace $ws15
# Go to HDMI-0 mode
bindsym e mode "HDMI-0"
# Go back to normal mode
bindsym Escape mode "default"
}
mode "HDMI-0" {
# switch to workspace
bindsym y workspace $ws21
bindsym u workspace $ws22
bindsym i workspace $ws23
bindsym o workspace $ws24
bindsym p workspace $ws25
# move focused container to workspace
bindsym Shift+y move container to workspace $ws21
bindsym Shift+u move container to workspace $ws22
bindsym Shift+i move container to workspace $ws23
bindsym Shift+o move container to workspace $ws24
bindsym Shift+p move container to workspace $ws25
# Go to eDP-1-1 mode
bindsym e mode "eDP-1-1"
# Go back to normal mode
bindsym Escape mode "default"
}
bindsym $mod+e mode "eDP-1-1"
# Configuration mode
mode "config" {
# Switch split mode
bindsym j split vertical; mode "default"
bindsym h split horizontal; mode "default"
bindsym k split vertical; mode "default"
bindsym l split horizontal; mode "default"
# Switch layout
bindsym y layout stacking; mode "default"
bindsym u layout tabbed; mode "default"
bindsym i layout toggle split; mode "default"
# Go back to normal mode
bindsym Escape mode "default"
}
bindsym $mod+s mode "config"
# Assign certain programs to workspaces
# for_window [class=Xfce4-terminal] focus
# assign [class="(?i)firefox"] $ws02
# for_window [class=(?i)firefox] focus
# assign [class="Thunar"] $ws03
# for_window [class=Thunar] focus
# assign [class="Thunderbird"] $ws04
# for_window [class=Thunderbird] focus
# assign [class="TelegramDesktop"] $ws05
# for_window [class=TelegramDesktop] focus
# =====OTHER KEYBINDINGS=====
# reload the configuration file
bindsym $mod+Shift+c reload
# Restart i3 in-place
bindsym $mod+Shift+r restart
# exit i3 (logs you out of your X session)
bindsym $mod+Shift+q exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
# Volume
bindsym XF86AudioRaiseVolume exec amixer -D pulse sset Master 5%+ && pkill -RTMIN+1 i3blocks
bindsym XF86AudioLowerVolume exec amixer -D pulse sset Master 5%- && pkill -RTMIN+1 i3blocks
bindsym $mod+XF86AudioRaiseVolume exec amixer -D pulse sset Master 1%+ && pkill -RTMIN+1 i3blocks
bindsym $mod+XF86AudioLowerVolume exec amixer -D pulse sset Master 1%- && pkill -RTMIN+1 i3blocks
bindsym XF86AudioMute exec amixer -D pulse set Master toggle
# Foobar2000 controls
bindsym F8 exec --no-startup-id wine ~/.wine/drive_c/users/jjr/Desktop/foobar2000/foobar2000.exe /playpause
# Backlight
bindsym XF86MonBrightnessUp exec brightnessctl --device='intel_backlight' set +10%
bindsym XF86MonBrightnessDown exec brightnessctl --device='intel_backlight' set 10%-
# Keyboard brightness
bindsym XF86KbdBrightnessUp exec brightnessctl --device='smc::kbd_backlight' set +10%
bindsym XF86KbdBrightnessDown exec brightnessctl --device='smc::kbd_backlight' set 10%-
# Screenshot
bindsym Print exec "scrot ~/%Y-%m-%d-%T-screenshot.png"
# Show shutdown menu
bindsym $mod+Escape exec ~/.config/i3/scripts/shutdown_menu -p rofi -c
# =====APPLICATIONS=====
# Launch applications
# start a terminal
bindsym $mod+Return exec --no-startup-id st
# Launch output device configuration
bindsym $mod+m exec --no-startup-id pavucontrol -t 3
# Open dmenu
bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
# Open Galculator
bindsym XF86Calculator exec --no-startup-id galculator
# =====AUTOSTART APPLICATIONS=====
#get auth work with polkit-gnome
exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
# Run setup script
exec --no-startup-id ~/.config/i3/startup.sh
# Bluetooth applet
exec --no-startup-id blueman-tray
# Nextcloud sync
exec --no-startup-id nextcloud
# Compositor
exec --no-startup-id picom --config ~/.config/picom.conf --experimental-backends
# Network Manager applet
exec --no-startup-id nm-applet
#set powersavings for display
exec --no-startup-id xset s 480 dpms 600 600 600
# Desktop notifications
exec --no-startup-id /usr/bin/dunst
# Mail notifications
# exec --no-startup-id thunderbird
# Joplin sync
exec --no-startup-id joplin-desktop
# =====FLOAT RULES=====
for_window [class="Yad" instance="yad"] floating enable
for_window [class="Galculator" instance="galculator"] floating enable
for_window [class="Xsane" instance="xsane"] floating enable
for_window [class="Pavucontrol" instance="pavucontrol"] floating enable
for_window [class="qt5ct" instance="qt5ct"] floating enable
for_window [class="Blueberry.py" instance="blueberry.py"] floating enable
for_window [class="Bluetooth-sendto" instance="bluetooth-sendto"] floating enable
for_window [class="Gufw.py" instance="gufw.py"] floating enable
# =====COLORS=====
set $bg-color #2f343f
set $inactive-bg-color #2f343f
set $text-color #f3f4f5
set $inactive-text-color #676e7d
set $urgent-bg-color #e53935
set $indicator-color #a0a0a0
# set window colors
# border background text indicator
client.focused $bg-color $bg-color $text-color $indicator-color
client.unfocused $inactive-bg-color $inactive-bg-color $inactive-text-color $indicator-color
client.focused_inactive $inactive-bg-color $inactive-bg-color $inactive-text-color $indicator-color
client.urgent $urgent-bg-color $urgent-bg-color $text-color $indicator-color
# =====STATUS BAR=====
bar {
status_command i3blocks -c ~/.config/i3/i3blocks.conf
position bottom
tray_output primary
colors {
separator #666666
background #222222
statusline #dddddd
focused_workspace #0088CC #0088CC #ffffff
active_workspace #333333 #333333 #ffffff
inactive_workspace #333333 #333333 #888888
urgent_workspace #2f343a #900000 #ffffff
}
}

View File

@ -0,0 +1,155 @@
# i3blocks config file
# source is available here:
# https://raw.githubusercontent.com/endeavouros-team/i3-EndeavourOS/master/.config/i3/i3blocks.conf
# Maintainer: joekamprad [joekamprad@endeavouros.com]
# created for i3wm setup on EndeavourOS
# https://endeavouros.com
# cheatsheet for icon fonts used on the block-bar:
# https://fontawesome.com/cheatsheet
# Please see man i3blocks for a complete reference!
# The man page is also hosted at http://vivien.github.io/i3blocks
# List of valid properties:
#
# align
# color
# command
# full_text
# instance
# interval
# label
# min_width
# name
# separator
# separator_block_width
# short_text
# signal
# urgent
# Global properties
#
# The top properties below are applied to every block, but can be overridden.
separator=false
markup=pango
#[apps]
#full_text=Applications:
#separator=true
#[terminal]
#full_text=Terminal 
#color=#807dfe
#command=xfce4-terminal
#separator=true
#
#[browser]
#full_text=Browser 
#color=#ff7f81
#command=firefox
#separator=true
#
#[files]
#full_text=Files 
#color=#7f3fbf
#command=thunar ~/
#separator=true
#[mail]
#full_text=Mail 
#color=#dbcb75
#command=thunderbird
#separator=true
#[bandwidth]
#command=~/.config/i3/scripts/bandwidth2
#color=#e07221
#interval=persist
# [net]
# label=SSID:
# command=echo "$(LANG=C nmcli d | grep connected | awk '{print $4}')"
# color=#e07221
# interval=5
# separator=true
# Players online on Karaoke server
[karaoke]
label=M
command=mcstatus karaoke.roosens.me status | grep -o '[0-9]*/[0-9]*'
color=#96c6f8
interval=60
# Memory usage
#
# The type defaults to "mem" if the instance is not specified.
[memory]
label=
command=~/.config/i3/scripts/memory
color=#96c6f8
interval=30
# Disk usage
#
# The directory defaults to $HOME if the instance is not specified.
# The script may be called with a optional argument to set the alert
# (defaults to 10 for 10%).
[disk]
label=~
instance=/home
command=~/.config/i3/scripts/disk
color=#96c6f8
interval=30
[disk]
label=
instance=/
command=~/.config/i3/scripts/disk
color=#96c6f8
interval=30
[CPU-temperature]
label=CPU
command=~/.config/i3/scripts/temperature --chip coretemp-isa-0000
color=#96c6f8
interval=5
[cpu_usage]
label=
interval=5
command=~/.config/i3/scripts/cpu_usage
color=#96c6f8
#min_width=CPU: 100.00%
# Battery indicator
#
# The battery instance defaults to 0.
[battery]
command=~/.config/i3/scripts/battery.sh
label=
#instance=1
interval=30
# Volume indicator
[volume-pulseaudio]
label=Vol:
command=~/.config/i3/scripts/volume
color=#208273
instance=Master
interval=1
[time]
label=
command=date '+%a %d %b %Y %H:%M:%S'
color=#dbcb75
interval=1
#[shutdown_menu]
#full_text=
#command=~/.config/i3/scripts/shutdown_menu -p rofi -c;
#color=#96c6f8

View File

@ -0,0 +1,104 @@
#!/usr/bin/env bash
#
# Copyright (C) 2015 James Murphy
# Licensed under the terms of the GNU GPL v2 only.
#
# i3blocks blocklet script to monitor bandwidth usage
iface="${BLOCK_INSTANCE}"
iface="${IFACE:-$iface}"
dt="${DT:-3}"
unit="${UNIT:-Mb}"
LABEL="${LABEL:-<span font='FontAwesome'> </span>}" # down arrow up arrow
printf_command="${PRINTF_COMMAND:-"printf \"${LABEL}%-5.1f/%5.1f %s/s\\n\", rx, wx, unit;"}"
function default_interface {
ip route | awk '/^default via/ {print $5; exit}'
}
function check_proc_net_dev {
if [ ! -f "/proc/net/dev" ]; then
echo "/proc/net/dev not found"
exit 1
fi
}
function list_interfaces {
check_proc_net_dev
echo "Interfaces in /proc/net/dev:"
grep -o "^[^:]\\+:" /proc/net/dev | tr -d " :"
}
while getopts i:t:u:p:lh opt; do
case "$opt" in
i) iface="$OPTARG" ;;
t) dt="$OPTARG" ;;
u) unit="$OPTARG" ;;
p) printf_command="$OPTARG" ;;
l) list_interfaces && exit 0 ;;
h) printf \
"Usage: bandwidth3 [-i interface] [-t time] [-u unit] [-p printf_command] [-l] [-h]
Options:
-i\tNetwork interface to measure. Default determined using \`ip route\`.
-t\tTime interval in seconds between measurements. Default: 3
-u\tUnits to measure bytes in. Default: Mb
\tAllowed units: Kb, KB, Mb, MB, Gb, GB, Tb, TB
\tUnits may have optional it/its/yte/ytes on the end, e.g. Mbits, KByte
-p\tAwk command to be called after a measurement is made.
\tDefault: printf \"<span font='FontAwesome'> </span>%%-5.1f/%%5.1f %%s/s\\\\n\", rx, wx, unit;
\tExposed variables: rx, wx, tx, unit, iface
-l\tList available interfaces in /proc/net/dev
-h\tShow this help text
" && exit 0;;
esac
done
check_proc_net_dev
iface="${iface:-$(default_interface)}"
while [ -z "$iface" ]; do
echo No default interface
sleep "$dt"
iface=$(default_interface)
done
case "$unit" in
Kb|Kbit|Kbits) bytes_per_unit=$((1024 / 8));;
KB|KByte|KBytes) bytes_per_unit=$((1024));;
Mb|Mbit|Mbits) bytes_per_unit=$((1024 * 1024 / 8));;
MB|MByte|MBytes) bytes_per_unit=$((1024 * 1024));;
Gb|Gbit|Gbits) bytes_per_unit=$((1024 * 1024 * 1024 / 8));;
GB|GByte|GBytes) bytes_per_unit=$((1024 * 1024 * 1024));;
Tb|Tbit|Tbits) bytes_per_unit=$((1024 * 1024 * 1024 * 1024 / 8));;
TB|TByte|TBytes) bytes_per_unit=$((1024 * 1024 * 1024 * 1024));;
*) echo Bad unit "$unit" && exit 1;;
esac
scalar=$((bytes_per_unit * dt))
init_line=$(cat /proc/net/dev | grep "^[ ]*$iface:")
if [ -z "$init_line" ]; then
echo Interface not found in /proc/net/dev: "$iface"
exit 1
fi
init_received=$(awk '{print $2}' <<< $init_line)
init_sent=$(awk '{print $10}' <<< $init_line)
(while true; do cat /proc/net/dev; sleep "$dt"; done) |\
stdbuf -oL grep "^[ ]*$iface:" |\
awk -v scalar="$scalar" -v unit="$unit" -v iface="$iface" '
BEGIN{old_received='"$init_received"';old_sent='"$init_sent"'}
{
received=$2
sent=$10
rx=(received-old_received)/scalar;
wx=(sent-old_sent)/scalar;
tx=rx+wr;
old_received=received;
old_sent=sent;
if(rx >= 0 && wx >= 0){
'"$printf_command"';
fflush(stdout);
}
}
'

View File

@ -0,0 +1,18 @@
#!/bin/bash
#simple Shellscript for i3blocks on Pinebook pro
#05012020 geri123@gmx.net Gerhard S.
#battery-symbols: on Manjaro you need the awesome-terminal-fonts package installed!
PERCENT=$(cat /sys/class/power_supply/cw2015-battery/capacity)
STATUS=$(cat /sys/class/power_supply/cw2015-battery/status)
case $((
$PERCENT >= 0 && $PERCENT <= 20 ? 1 :
$PERCENT > 20 && $PERCENT <= 40 ? 2 :
$PERCENT > 40 && $PERCENT <= 60 ? 3 :
$PERCENT > 60 && $PERCENT <= 80 ? 4 : 5)) in
#
(1) echo $STATUS:"" :$PERCENT%;;
(2) echo $STATUS:"" :$PERCENT%;;
(3) echo $STATUS:"" :$PERCENT%;;
(4) echo $STATUS:"" :$PERCENT%;;
(5) echo $STATUS:"" :$PERCENT%;;
esac

View File

@ -0,0 +1,89 @@
#!/usr/bin/perl
#
# Copyright 2014 Pierre Mavro <deimos@deimos.fr>
# Copyright 2014 Vivien Didelot <vivien@didelot.org>
#
# Licensed under the terms of the GNU GPL v3, or any later version.
#
# This script is meant to use with i3blocks. It parses the output of the "acpi"
# command (often provided by a package of the same name) to read the status of
# the battery, and eventually its remaining time (to full charge or discharge).
#
# The color will gradually change for a percentage below 85%, and the urgency
# (exit code 33) is set if there is less that 5% remaining.
use strict;
use warnings;
use utf8;
my $acpi;
my $status;
my $percent;
my $ac_adapt;
my $full_text;
my $short_text;
my $bat_number = $ENV{BLOCK_INSTANCE} || 0;
# read the first line of the "acpi" command output
open (ACPI, "acpi -b | grep 'Battery $bat_number' |") or die;
$acpi = <ACPI>;
close(ACPI);
# fail on unexpected output
if ($acpi !~ /: (\w+), (\d+)%/) {
die "$acpi\n";
}
$status = $1;
$percent = $2;
$full_text = "$percent%";
if ($status eq 'Discharging') {
$full_text .= ' DIS';
} elsif ($status eq 'Charging') {
$full_text .= ' CHR';
} elsif ($status eq 'Unknown') {
open (AC_ADAPTER, "acpi -a |") or die;
$ac_adapt = <AC_ADAPTER>;
close(AC_ADAPTER);
if ($ac_adapt =~ /: ([\w-]+)/) {
$ac_adapt = $1;
if ($ac_adapt eq 'on-line') {
$full_text .= ' CHR';
} elsif ($ac_adapt eq 'off-line') {
$full_text .= ' DIS';
}
}
}
$short_text = $full_text;
if ($acpi =~ /(\d\d:\d\d):/) {
$full_text .= " ($1)";
}
# print text
print "$full_text\n";
print "$short_text\n";
# consider color and urgent flag only on discharge
if ($status eq 'Discharging') {
if ($percent < 20) {
print "#FF0000\n";
} elsif ($percent < 40) {
print "#FFAE00\n";
} elsif ($percent < 60) {
print "#FFF600\n";
} elsif ($percent < 85) {
print "#A8FF00\n";
}
if ($percent < 5) {
exit(33);
}
}
exit(0);

View File

@ -0,0 +1,62 @@
#!/usr/bin/perl
#
# Copyright 2014 Pierre Mavro <deimos@deimos.fr>
# Copyright 2014 Vivien Didelot <vivien@didelot.org>
# Copyright 2014 Andreas Guldstrand <andreas.guldstrand@gmail.com>
#
# Licensed under the terms of the GNU GPL v3, or any later version.
use strict;
use warnings;
use utf8;
use Getopt::Long;
# default values
my $t_warn = $ENV{T_WARN} // 50;
my $t_crit = $ENV{T_CRIT} // 80;
my $cpu_usage = -1;
my $decimals = $ENV{DECIMALS} // 2;
my $label = $ENV{LABEL} // "";
sub help {
print "Usage: cpu_usage [-w <warning>] [-c <critical>] [-d <decimals>]\n";
print "-w <percent>: warning threshold to become yellow\n";
print "-c <percent>: critical threshold to become red\n";
print "-d <decimals>: Use <decimals> decimals for percentage (default is $decimals) \n";
exit 0;
}
GetOptions("help|h" => \&help,
"w=i" => \$t_warn,
"c=i" => \$t_crit,
"d=i" => \$decimals,
);
# Get CPU usage
$ENV{LC_ALL}="en_US"; # if mpstat is not run under en_US locale, things may break, so make sure it is
open (MPSTAT, 'mpstat 1 1 |') or die;
while (<MPSTAT>) {
if (/^.*\s+(\d+\.\d+)[\s\x00]?$/) {
$cpu_usage = 100 - $1; # 100% - %idle
last;
}
}
close(MPSTAT);
$cpu_usage eq -1 and die 'Can\'t find CPU information';
# Print short_text, full_text
print "${label}";
printf "%.${decimals}f%%\n", $cpu_usage;
print "${label}";
printf "%.${decimals}f%%\n", $cpu_usage;
# Print color, if needed
if ($cpu_usage >= $t_crit) {
print "#FF0000\n";
exit 33;
} elsif ($cpu_usage >= $t_warn) {
print "#FFFC00\n";
}
exit 0;

View File

@ -0,0 +1,48 @@
#!/bin/sh
# Copyright (C) 2014 Julien Bonjean <julien@bonjean.info>
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
DIR="${DIR:-$BLOCK_INSTANCE}"
DIR="${DIR:-$HOME}"
ALERT_LOW="${ALERT_LOW:-$1}"
ALERT_LOW="${ALERT_LOW:-10}" # color will turn red under this value (default: 10%)
LOCAL_FLAG="-l"
if [ "$1" = "-n" ] || [ "$2" = "-n" ]; then
LOCAL_FLAG=""
fi
df -h -P $LOCAL_FLAG "$DIR" | awk -v label="$LABEL" -v alert_low=$ALERT_LOW '
/\/.*/ {
# full text
print label $4
# short text
print label $4
use=$5
# no need to continue parsing
exit 0
}
END {
gsub(/%$/,"",use)
if (100 - use < alert_low) {
# color
print "#FF0000"
}
}
'

View File

@ -0,0 +1,10 @@
#!/bin/bash
MAX_DESKTOPS=20
WORKSPACES=$(seq -s '\n' 1 1 ${MAX_DESKTOPS})
EMPTY_WORKSPACE=$( (i3-msg -t get_workspaces | tr ',' '\n' | grep num | awk -F: '{print int($2)}' ; \
echo -e ${WORKSPACES} ) | sort -n | uniq -u | head -n 1)
i3-msg workspace ${EMPTY_WORKSPACE}

View File

@ -0,0 +1,7 @@
#!/bin/bash
while [ "$select" != "NO" -a "$select" != "YES" ]; do
select=$(echo -e 'NO\nYES' | dmenu -nb '#2f343f' -nf '#f3f4f5' -sb '#9575cd' -sf '#f3f4f5' -fn '-*-*-medium-r-normal-*-*-*-*-*-*-100-*-*' -i -p "Are you sure you want to logout?")
[ -z "$select" ] && exit 0
done
[ "$select" = "NO" ] && exit 0
i3-msg exit

View File

@ -0,0 +1,69 @@
#!/bin/sh
# Copyright (C) 2014 Julien Bonjean <julien@bonjean.info>
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
TYPE="${BLOCK_INSTANCE:-mem}"
awk -v type=$TYPE '
/^MemTotal:/ {
mem_total=$2
}
/^MemFree:/ {
mem_free=$2
}
/^Buffers:/ {
mem_free+=$2
}
/^Cached:/ {
mem_free+=$2
}
/^SwapTotal:/ {
swap_total=$2
}
/^SwapFree:/ {
swap_free=$2
}
END {
if (type == "swap") {
free=swap_free/1024/1024
used=(swap_total-swap_free)/1024/1024
total=swap_total/1024/1024
} else {
free=mem_free/1024/1024
used=(mem_total-mem_free)/1024/1024
total=mem_total/1024/1024
}
pct=0
if (total > 0) {
pct=used/total*100
}
# full text
printf("%.1fG/%.1fG (%.f%%)\n", used, total, pct)
# short text
printf("%.f%%\n", pct)
# color
if (pct > 90) {
print("#FF0000")
} else if (pct > 80) {
print("#FFAE00")
} else if (pct > 70) {
print("#FFF600")
}
}
' /proc/meminfo

View File

@ -0,0 +1,8 @@
# Weather
[Weather]
command=~/.config/i3/scripts/openweather.sh
interval=1800
color=#7275b3

View File

@ -0,0 +1,40 @@
#!/usr/bin/env bash
command -v jq >/dev/null 2>&1 || { echo >&2 "Program 'jq' required but it is not installed.
Aborting."; exit 1; }
command -v wget >/dev/null 2>&1 || { echo >&2 "Program 'wget' required but is not installed.
Aborting."; exit 1; }
APIKEY="get your key first"
#ZIPCODE="1234"
CITY_ID="Get your City ID first"
URL="http://api.openweathermap.org/data/2.5/weather?id=${CITY_ID}&units=metric&APPID=${APIKEY}"
WEATHER_RESPONSE=$(wget -qO- "${URL}")
WEATHER_CONDITION=$(echo $WEATHER_RESPONSE | jq '.weather[0].main' | sed 's/"//g')
WEATHER_TEMP=$(echo $WEATHER_RESPONSE | jq '.main.temp')
WIND_DIR=$( echo "$WEATHER_RESPONSE" | jq '.wind.deg')
WIND_SPEED=$( echo "$WEATHER_RESPONSE" | jq '.wind.speed')
WIND_SPEED=$(awk "BEGIN {print 60*60*$WIND_SPEED/1000}")
WIND_DIR=$(awk "BEGIN {print int(($WIND_DIR % 360)/22.5)}")
DIR_ARRAY=( N NNE NE ENE E ESE SE SSE S SSW SW WSW W WNW NW NNW N )
WIND_DIR=${DIR_ARRAY[WIND_DIR]}
case $WEATHER_CONDITION in
'Clouds')
WEATHER_ICON=""
;;
'Rain')
WEATHER_ICON=""
;;
'Snow')
WEATHER_ICON=""
;;
*)
WEATHER_ICON=""
;;
esac
echo "${WEATHER_ICON} ${WEATHER_TEMP}°C: ${WIND_SPEED} km/h ${WIND_DIR}"

View File

@ -0,0 +1,186 @@
#!/usr/bin/env bash
#
# Use rofi/zenity to change system runstate thanks to systemd.
#
# Note: this currently relies on associative array support in the shell.
#
# Inspired from i3pystatus wiki:
# https://github.com/enkore/i3pystatus/wiki/Shutdown-Menu
#
# Copyright 2015 Benjamin Chrétien <chretien at lirmm dot fr>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#######################################################################
# BEGIN CONFIG #
#######################################################################
# Use a custom lock script
#LOCKSCRIPT="i3lock-extra -m pixelize"
# Colors: FG (foreground), BG (background), HL (highlighted)
FG_COLOR="${FG_COLOR:-#bbbbbb}"
BG_COLOR="${BG_COLOR:-#111111}"
HLFG_COLOR="${HLFG_COLOR:-#111111}"
HLBG_COLOR="${HLBG_COLOR:-#bbbbbb}"
BORDER_COLOR="${BORDER_COLOR:-#222222}"
# Options not related to colors
ROFI_TEXT="${ROFI_TEXT:-Menu:}"
ROFI_OPTIONS=(${ROFI_OPTIONS:--width 11 -location 3 -hide-scrollbar -bw 2})
# Zenity options
ZENITY_TITLE="${ZENITY_TITLE:-Menu}"
ZENITY_TEXT="${ZENITY_TEXT:-Action:}"
ZENITY_OPTIONS=(${ZENITY_OPTIONS:---column= --hide-header})
#######################################################################
# END CONFIG #
#######################################################################
# Whether to ask for user's confirmation
enable_confirmation=${ENABLE_CONFIRMATIONS:-false}
# Preferred launcher if both are available
preferred_launcher="${LAUNCHER:-rofi}"
usage="$(basename "$0") [-h] [-c] [-p name] -- display a menu for shutdown, reboot, lock etc.
where:
-h show this help text
-c ask for user confirmation
-p preferred launcher (rofi or zenity)
This script depends on:
- systemd,
- i3,
- rofi or zenity."
# Check whether the user-defined launcher is valid
launcher_list=(rofi zenity)
function check_launcher() {
if [[ ! "${launcher_list[@]}" =~ (^|[[:space:]])"$1"($|[[:space:]]) ]]; then
echo "Supported launchers: ${launcher_list[*]}"
exit 1
else
# Get array with unique elements and preferred launcher first
# Note: uniq expects a sorted list, so we cannot use it
i=1
launcher_list=($(for l in "$1" "${launcher_list[@]}"; do printf "%i %s\n" "$i" "$l"; let i+=1; done \
| sort -uk2 | sort -nk1 | cut -d' ' -f2- | tr '\n' ' '))
fi
}
# Parse CLI arguments
while getopts "hcp:" option; do
case "${option}" in
h) echo "${usage}"
exit 0
;;
c) enable_confirmation=true
;;
p) preferred_launcher="${OPTARG}"
check_launcher "${preferred_launcher}"
;;
*) exit 1
;;
esac
done
check_launcher "${preferred_launcher}"
# Check whether a command exists
function command_exists() {
command -v "$1" &> /dev/null 2>&1
}
# systemctl required
if ! command_exists systemctl ; then
exit 1
fi
# menu defined as an associative array
typeset -A menu
# Menu with keys/commands
menu=(
[Shutdown]="systemctl poweroff"
[Reboot]="systemctl reboot"
[Hibernate]="systemctl hibernate"
[Suspend]="systemctl suspend"
[Halt]="systemctl halt"
[Lock]="${LOCKSCRIPT:-i3lock --color=${BG_COLOR#"#"}}"
[Logout]="i3-msg exit"
[Cancel]=""
)
menu_nrows=${#menu[@]}
# Menu entries that may trigger a confirmation message
menu_confirm="Shutdown Reboot Hibernate Suspend Halt Logout"
launcher_exe=""
launcher_options=""
rofi_colors=""
function prepare_launcher() {
if [[ "$1" == "rofi" ]]; then
rofi_colors=(-bc "${BORDER_COLOR}" -bg "${BG_COLOR}" -fg "${FG_COLOR}" \
-hlfg "${HLFG_COLOR}" -hlbg "${HLBG_COLOR}")
launcher_exe="rofi"
launcher_options=(-dmenu -i -lines "${menu_nrows}" -p "${ROFI_TEXT}" \
"${rofi_colors[@]}" "${ROFI_OPTIONS[@]}")
elif [[ "$1" == "zenity" ]]; then
launcher_exe="zenity"
launcher_options=(--list --title="${ZENITY_TITLE}" --text="${ZENITY_TEXT}" \
"${ZENITY_OPTIONS[@]}")
fi
}
for l in "${launcher_list[@]}"; do
if command_exists "${l}" ; then
prepare_launcher "${l}"
break
fi
done
# No launcher available
if [[ -z "${launcher_exe}" ]]; then
exit 1
fi
launcher=(${launcher_exe} "${launcher_options[@]}")
selection="$(printf '%s\n' "${!menu[@]}" | sort | "${launcher[@]}")"
function ask_confirmation() {
if [ "${launcher_exe}" == "rofi" ]; then
confirmed=$(echo -e "Yes\nNo" | rofi -dmenu -i -lines 2 -p "${selection}?" \
"${rofi_colors[@]}" "${ROFI_OPTIONS[@]}")
[ "${confirmed}" == "Yes" ] && confirmed=0
elif [ "${launcher_exe}" == "zenity" ]; then
zenity --question --text "Are you sure you want to ${selection,,}?"
confirmed=$?
fi
if [ "${confirmed}" == 0 ]; then
i3-msg -q "exec ${menu[${selection}]}"
fi
}
if [[ $? -eq 0 && ! -z ${selection} ]]; then
if [[ "${enable_confirmation}" = true && \
${menu_confirm} =~ (^|[[:space:]])"${selection}"($|[[:space:]]) ]]; then
ask_confirmation
else
i3-msg -q "exec ${menu[${selection}]}"
fi
fi

View File

@ -0,0 +1,69 @@
#!/usr/bin/env perl
# Copyright 2014 Pierre Mavro <deimos@deimos.fr>
# Copyright 2014 Vivien Didelot <vivien@didelot.org>
# Copyright 2014 Andreas Guldstrand <andreas.guldstrand@gmail.com>
# Copyright 2014 Benjamin Chretien <chretien at lirmm dot fr>
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
use strict;
use warnings;
use utf8;
use Getopt::Long;
binmode(STDOUT, ":utf8");
# default values
my $t_warn = $ENV{T_WARN} || 70;
my $t_crit = $ENV{T_CRIT} || 90;
my $chip = $ENV{SENSOR_CHIP} || "";
my $temperature = -9999;
sub help {
print "Usage: temperature [-w <warning>] [-c <critical>] [--chip <chip>]\n";
print "-w <percent>: warning threshold to become yellow\n";
print "-c <percent>: critical threshold to become red\n";
print "--chip <chip>: sensor chip\n";
exit 0;
}
GetOptions("help|h" => \&help,
"w=i" => \$t_warn,
"c=i" => \$t_crit,
"chip=s" => \$chip);
# Get chip temperature
open (SENSORS, "sensors -u $chip |") or die;
while (<SENSORS>) {
if (/^\s+temp1_input:\s+[\+]*([\-]*\d+\.\d)/) {
$temperature = $1;
last;
}
}
close(SENSORS);
$temperature eq -9999 and die 'Cannot find temperature';
# Print short_text, full_text
print "$temperature°C\n" x2;
# Print color, if needed
if ($temperature >= $t_crit) {
print "#FF0000\n";
exit 33;
} elsif ($temperature >= $t_warn) {
print "#FFFC00\n";
}
exit 0;

View File

@ -0,0 +1,83 @@
#!/usr/bin/env bash
# Copyright (C) 2014 Julien Bonjean <julien@bonjean.info>
# Copyright (C) 2014 Alexander Keller <github@nycroth.com>
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#------------------------------------------------------------------------
# The second parameter overrides the mixer selection
# For PulseAudio users, eventually use "pulse"
# For Jack/Jack2 users, use "jackplug"
# For ALSA users, you may use "default" for your primary card
# or you may use hw:# where # is the number of the card desired
if [[ -z "$MIXER" ]] ; then
MIXER="default"
if command -v pulseaudio >/dev/null 2>&1 && pulseaudio --check ; then
# pulseaudio is running, but not all installations use "pulse"
if amixer -D pulse info >/dev/null 2>&1 ; then
MIXER="pulse"
fi
fi
[ -n "$(lsmod | grep jack)" ] && MIXER="jackplug"
MIXER="${2:-$MIXER}"
fi
# The instance option sets the control to report and configure
# This defaults to the first control of your selected mixer
# For a list of the available, use `amixer -D $Your_Mixer scontrols`
if [[ -z "$SCONTROL" ]] ; then
SCONTROL="${BLOCK_INSTANCE:-$(amixer -D $MIXER scontrols |
sed -n "s/Simple mixer control '\([^']*\)',0/\1/p" |
head -n1
)}"
fi
# The first parameter sets the step to change the volume by (and units to display)
# This may be in in % or dB (eg. 5% or 3dB)
if [[ -z "$STEP" ]] ; then
STEP="${1:-5%}"
fi
#------------------------------------------------------------------------
capability() { # Return "Capture" if the device is a capture device
amixer -D $MIXER get $SCONTROL |
sed -n "s/ Capabilities:.*cvolume.*/Capture/p"
}
volume() {
amixer -D $MIXER get $SCONTROL $(capability)
}
format() {
perl_filter='if (/.*\[(\d+%)\] (\[(-?\d+.\d+dB)\] )?\[(on|off)\]/)'
perl_filter+='{CORE::say $4 eq "off" ? "MUTE" : "'
# If dB was selected, print that instead
perl_filter+=$([[ $STEP = *dB ]] && echo '$3' || echo '$1')
perl_filter+='"; exit}'
output=$(perl -ne "$perl_filter")
echo "$LABEL$output"
}
#------------------------------------------------------------------------
case $BLOCK_BUTTON in
3) amixer -q -D $MIXER sset $SCONTROL $(capability) toggle ;; # right click, mute/unmute
4) amixer -q -D $MIXER sset $SCONTROL $(capability) ${STEP}+ unmute ;; # scroll up, increase
5) amixer -q -D $MIXER sset $SCONTROL $(capability) ${STEP}- unmute ;; # scroll down, decrease
esac
volume | format

View File

@ -0,0 +1,19 @@
#!/usr/bin/env sh
# Setup displays layout
autorandr --change
# Display wallpapers
nitrogen --restore
cur_layout="$(autorandr --current)"
# Properly set DPI & keyboard layout
if [ "$cur_layout" = loftie ]; then
xrandr --dpi 120
setxkbmap -layout us -variant altgr-intl
# Display sys tray on correct display
elif [ "$cur_layout" = default ]; then
xrandr --output eDP-1-1 --primary
fi

11
.config/nvim/.gitignore vendored 100644
View File

@ -0,0 +1,11 @@
# File manager history
.netrwhist
# Directory where my swap/undo files are stored
.vim/
# Where plugins are installed; can be done locally
plugged/
# Old file after updating plug.vim
plug.vim.old

View File

@ -0,0 +1,8 @@
MIT License
Copyright (c) 2021 Jef Roosens
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@ -0,0 +1,40 @@
# neovim-config
This repo contains the full Neovim config that I use on a daily basis for
college and personal projects. This file explains the basic structure of my
config, while setting-specific information can be found inside the config files
themselves.
## Config structure
The config exists of a few key components:
* `coc-settings.json`: config for the
[CoC](https://github.com/neoclide/coc.nvim) plugin.
* `init.vim`: this is the actual config file that gets loaded. It sources
everything else.
* `autoload/`: a special directory allowing the files inside to be used in the
`:call` command. Its only use is allowing usage of
[vim-plug](https://github.com/junegunn/vim-plug), my plugin manager.
* `colors/`: contains my themes.
* `ftplugin/`: this is where you can put filetype plugins. These are vim
scripts that are sourced whenever you open a buffer with the given filetype,
e.g. if you open a file with filetype `markdown`, it will source the file
`ftplugin/markdown.vim`, if it exists. This allows for custom configs for
certain filetypes.
* `init/`: contains the various config files sourced by `init.vim`. I could
just cram it all into a single file, but I find this difficult to maintain.
## Choice of leader
In my opinion, an important part of any (Neo)vim config is choosing which
leader key to use. The default `\` leader wasn't going to cut it for me for
three main reasons:
* Backslash required me to stretch my hand every time
* In Belgium (where I live), we use AZERTY instead of QWERTY, and the backslash
key is often not present on those keyboards or requires a key combination to
type
* I use both AZERTY and QWERTY and wanted a key that was the same on both
Therefore, I chose Space as my main leader key and Tab as my local leader (even
though I've never actually used it). This allows me to use the same muscle
memory on my refurbished MacBook (AZERTY) and my Ducky (QWERTY).

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,10 @@
{
"languageserver": {
"haskell": {
"command": "haskell-language-server-wrapper",
"args": ["--lsp"],
"rootPatterns": ["*.cabal", "stack.yaml", "cabal.project", "package.yaml", "hie.yaml"],
"filetypes": ["haskell", "lhaskell"]
}
}
}

View File

@ -0,0 +1,31 @@
{
"languageserver": {
"ccls": {
"command": "ccls",
"filetypes": [
"c",
"cpp",
"objc",
"objcpp"
],
"rootPatterns": [
".ccls",
"compile_commands.json",
".vim/",
".git/",
".hg/"
],
"initializationOptions": {
"cache": {
"directory": "/tmp/ccls"
}
}
},
"haskell": {
"command": "haskell-language-server-wrapper",
"args": ["--lsp"],
"rootPatterns": ["*.cabal", "stack.yaml", "cabal.project", "package.yaml", "hie.yaml"],
"filetypes": ["haskell", "lhaskell"]
}
}
}

View File

@ -0,0 +1,325 @@
" 'flattened_dark.vim' -- Vim color scheme.
" Maintainer: Romain Lafourcade (romainlafourcade@gmail.com)
" Description: Dark Solarized, without the bullshit.
hi clear
if exists('syntax_on')
syntax reset
endif
let colors_name = 'flattened_dark'
hi Normal ctermfg=12 ctermbg=8 guifg=#839496 guibg=#002b36 gui=NONE
set background=dark
hi ColorColumn cterm=NONE ctermbg=0 guibg=#073642 gui=NONE
hi Comment cterm=NONE ctermfg=10 guifg=#586e75 gui=italic
hi ConId cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE
hi Conceal cterm=NONE ctermfg=4 ctermbg=8 guifg=#268bd2 guibg=#002b36 gui=NONE
hi Constant cterm=NONE ctermfg=6 guifg=#2aa198 gui=NONE
hi Cursor cterm=NONE ctermfg=8 ctermbg=12 guifg=#002b36 guibg=#839496 gui=NONE
hi CursorColumn cterm=NONE ctermbg=0 guibg=#073642 gui=NONE
hi CursorLine cterm=NONE ctermbg=0 guibg=#073642 guisp=#93a1a1 gui=NONE
hi CursorLineNr cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE
hi DiffAdd cterm=NONE ctermfg=2 ctermbg=0 guifg=#719e07 guibg=#073642 guisp=#719e07 gui=NONE
hi DiffChange cterm=NONE ctermfg=3 ctermbg=0 guifg=#b58900 guibg=#073642 guisp=#b58900 gui=NONE
hi DiffDelete cterm=NONE ctermfg=1 ctermbg=0 guifg=#dc322f guibg=#073642 gui=NONE
hi DiffText cterm=NONE ctermfg=4 ctermbg=0 guifg=#268bd2 guibg=#073642 guisp=#268bd2 gui=NONE
hi Directory cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi Error cterm=NONE ctermfg=1 ctermbg=NONE guifg=#dc322f guibg=#002b36 gui=NONE
hi ErrorMsg cterm=reverse ctermfg=1 ctermbg=NONE guifg=#dc322f guibg=NONE gui=reverse
hi FoldColumn cterm=NONE ctermfg=12 ctermbg=0 guifg=#839496 guibg=#073642 gui=NONE
hi Folded cterm=NONE,underline ctermfg=12 ctermbg=0 guifg=#839496 guibg=#073642 guisp=#002b36 gui=NONE
hi HelpExample cterm=NONE ctermfg=14 guifg=#93a1a1 gui=NONE
hi Identifier cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi IncSearch cterm=standout ctermfg=9 guifg=#cb4b16 gui=standout
hi LineNr cterm=NONE ctermfg=10 ctermbg=0 guifg=#586e75 guibg=#073642 gui=NONE
hi MatchParen cterm=NONE ctermfg=1 ctermbg=10 guifg=#dc322f guibg=#586e75 gui=NONE
hi ModeMsg cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi MoreMsg cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi NonText cterm=NONE ctermfg=11 guifg=#657b83 gui=NONE
hi Pmenu cterm=reverse ctermfg=12 ctermbg=0 guifg=#839496 guibg=#073642 gui=reverse
hi PmenuSbar cterm=reverse ctermfg=7 ctermbg=12 guifg=#eee8d5 guibg=#839496 gui=reverse
hi PmenuSel cterm=reverse ctermfg=10 ctermbg=7 guifg=#586e75 guibg=#eee8d5 gui=reverse
hi PmenuThumb cterm=reverse ctermfg=12 ctermbg=8 guifg=#839496 guibg=#002b36 gui=reverse
hi PreProc cterm=NONE ctermfg=1 guifg=#cb4b16 gui=NONE
hi Question cterm=NONE ctermfg=6 guifg=#2aa198 gui=NONE
hi Search cterm=reverse ctermfg=3 ctermbg=NONE guifg=#b58900 guibg=NONE gui=reverse
hi SignColumn cterm=NONE ctermfg=12 ctermbg=NONE guifg=#839496 guibg=NONE gui=NONE
hi Special cterm=NONE ctermfg=1 guifg=#dc322f gui=NONE
hi SpecialKey cterm=NONE ctermfg=11 ctermbg=0 guifg=#657b83 guibg=#073642 gui=NONE
hi SpellBad cterm=undercurl ctermfg=NONE ctermbg=NONE guisp=#dc322f gui=undercurl
hi SpellCap cterm=undercurl ctermfg=NONE ctermbg=NONE guisp=#6c71c4 gui=undercurl
hi SpellLocal cterm=undercurl ctermfg=NONE ctermbg=NONE guisp=#b58900 gui=undercurl
hi SpellRare cterm=undercurl ctermfg=NONE ctermbg=NONE guisp=#2aa198 gui=undercurl
hi Statement cterm=NONE ctermfg=2 guifg=#719e07 gui=NONE
hi StatusLine cterm=reverse ctermfg=14 ctermbg=0 guifg=#93a1a1 guibg=#073642 gui=reverse
hi StatusLineNC cterm=reverse ctermfg=11 ctermbg=0 guifg=#657b83 guibg=#073642 gui=reverse
hi TabLine cterm=underline ctermfg=12 ctermbg=0 guifg=#839496 guibg=#073642 guisp=#839496 gui=underline
hi TabLineFill cterm=underline ctermfg=12 ctermbg=0 guifg=#839496 guibg=#073642 guisp=#839496 gui=underline
hi TabLineSel cterm=underline,reverse ctermfg=10 ctermbg=7 guifg=#586e75 guibg=#eee8d5 guisp=#839496 gui=underline,reverse
hi Title cterm=NONE ctermfg=9 guifg=#cb4b16 gui=NONE
hi Todo cterm=bold ctermfg=5 ctermbg=8 guifg=#d33682 guibg=NONE gui=bold
hi Type cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE
hi Underlined cterm=NONE ctermfg=13 guifg=#6c71c4 gui=NONE
hi VarId cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi VertSplit cterm=NONE ctermfg=11 ctermbg=11 guifg=#657b83 guibg=#657b83 gui=NONE
hi Visual cterm=reverse ctermfg=10 ctermbg=8 guifg=#586e75 guibg=#002b36 gui=reverse
hi VisualNOS cterm=reverse ctermbg=0 ctermbg=NONE guibg=#073642 guifg=NONE gui=reverse
hi WarningMsg cterm=NONE ctermfg=9 guifg=#dc322f gui=NONE
hi WildMenu cterm=reverse ctermfg=7 ctermbg=0 guifg=#eee8d5 guibg=#073642 gui=reverse
hi cPreCondit cterm=NONE ctermfg=9 guifg=#cb4b16 gui=NONE
hi gitcommitBranch cterm=NONE ctermfg=5 guifg=#d33682 gui=NONE
hi gitcommitComment cterm=NONE ctermfg=10 guifg=#586e75 gui=italic
hi gitcommitDiscardedFile cterm=NONE ctermfg=1 guifg=#dc322f gui=NONE
hi gitcommitDiscardedType cterm=NONE ctermfg=1 guifg=#dc322f gui=NONE
hi gitcommitFile cterm=NONE ctermfg=12 guifg=#839496 gui=NONE
hi gitcommitHeader cterm=NONE ctermfg=10 guifg=#586e75 gui=NONE
hi gitcommitOnBranch cterm=NONE ctermfg=10 guifg=#586e75 gui=NONE
hi gitcommitSelectedFile cterm=NONE ctermfg=2 guifg=#719e07 gui=NONE
hi gitcommitSelectedType cterm=NONE ctermfg=2 guifg=#719e07 gui=NONE
hi gitcommitUnmerged cterm=NONE ctermfg=2 guifg=#719e07 gui=NONE
hi gitcommitUnmergedFile cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE
hi gitcommitUntrackedFile cterm=NONE ctermfg=6 guifg=#2aa198 gui=NONE
hi helpHyperTextEntry cterm=NONE ctermfg=2 guifg=#719e07 gui=NONE
hi helpHyperTextJump cterm=underline ctermfg=4 guifg=#268bd2 gui=underline
hi helpNote cterm=NONE ctermfg=5 guifg=#d33682 gui=NONE
hi helpOption cterm=NONE ctermfg=6 guifg=#2aa198 gui=NONE
hi helpVim cterm=NONE ctermfg=5 guifg=#d33682 gui=NONE
hi hsImport cterm=NONE ctermfg=5 guifg=#d33682 gui=NONE
hi hsImportLabel cterm=NONE ctermfg=6 guifg=#2aa198 gui=NONE
hi hsModuleName cterm=underline ctermfg=2 guifg=#719e07 gui=underline
hi hsNiceOperator cterm=NONE ctermfg=6 guifg=#2aa198 gui=NONE
hi hsStatement cterm=NONE ctermfg=6 guifg=#2aa198 gui=NONE
hi hsString cterm=NONE ctermfg=11 guifg=#657b83 gui=NONE
hi hsStructure cterm=NONE ctermfg=6 guifg=#2aa198 gui=NONE
hi hsType cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE
hi hsTypedef cterm=NONE ctermfg=6 guifg=#2aa198 gui=NONE
hi hsVarSym cterm=NONE ctermfg=6 guifg=#2aa198 gui=NONE
hi hs_DeclareFunction cterm=NONE ctermfg=9 guifg=#cb4b16 gui=NONE
hi hs_OpFunctionName cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE
hi hs_hlFunctionName cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi htmlArg cterm=NONE ctermfg=11 guifg=#657b83 gui=NONE
hi htmlEndTag cterm=NONE ctermfg=10 guifg=#586e75 gui=NONE
hi htmlSpecialTagName cterm=NONE ctermfg=4 guifg=#268bd2 gui=italic
hi htmlTag cterm=NONE ctermfg=10 guifg=#586e75 gui=NONE
hi htmlTagN cterm=NONE ctermfg=14 guifg=#93a1a1 gui=NONE
hi htmlTagName cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi javaScript cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE
hi pandocBlockQuote cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi pandocBlockQuoteLeader1 cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi pandocBlockQuoteLeader2 cterm=NONE ctermfg=6 guifg=#2aa198 gui=NONE
hi pandocBlockQuoteLeader3 cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE
hi pandocBlockQuoteLeader4 cterm=NONE ctermfg=1 guifg=#dc322f gui=NONE
hi pandocBlockQuoteLeader5 cterm=NONE ctermfg=12 guifg=#839496 gui=NONE
hi pandocBlockQuoteLeader6 cterm=NONE ctermfg=10 guifg=#586e75 gui=NONE
hi pandocCitation cterm=NONE ctermfg=5 guifg=#d33682 gui=NONE
hi pandocCitationDelim cterm=NONE ctermfg=5 guifg=#d33682 gui=NONE
hi pandocCitationID cterm=underline ctermfg=5 guifg=#d33682 gui=underline
hi pandocCitationRef cterm=NONE ctermfg=5 guifg=#d33682 gui=NONE
hi pandocComment cterm=NONE ctermfg=10 guifg=#586e75 gui=italic
hi pandocDefinitionBlock cterm=NONE ctermfg=13 guifg=#6c71c4 gui=NONE
hi pandocDefinitionIndctr cterm=NONE ctermfg=13 guifg=#6c71c4 gui=NONE
hi pandocDefinitionTerm cterm=standout ctermfg=13 guifg=#6c71c4 gui=standout
hi pandocEmphasis cterm=NONE ctermfg=12 guifg=#839496 gui=italic
hi pandocEmphasisDefinition cterm=NONE ctermfg=13 guifg=#6c71c4 gui=italic
hi pandocEmphasisHeading cterm=NONE ctermfg=9 guifg=#cb4b16 gui=NONE
hi pandocEmphasisNested cterm=NONE ctermfg=12 guifg=#839496 gui=NONE
hi pandocEmphasisNestedDefinition cterm=NONE ctermfg=13 guifg=#6c71c4 gui=NONE
hi pandocEmphasisNestedHeading cterm=NONE ctermfg=9 guifg=#cb4b16 gui=NONE
hi pandocEmphasisNestedTable cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi pandocEmphasisTable cterm=NONE ctermfg=4 guifg=#268bd2 gui=italic
hi pandocEscapePair cterm=NONE ctermfg=1 guifg=#dc322f gui=NONE
hi pandocFootnote cterm=NONE ctermfg=2 guifg=#719e07 gui=NONE
hi pandocFootnoteDefLink cterm=NONE ctermfg=2 guifg=#719e07 gui=NONE
hi pandocFootnoteInline cterm=NONE,underline ctermfg=2 guifg=#719e07 gui=NONE,underline
hi pandocFootnoteLink cterm=underline ctermfg=2 guifg=#719e07 gui=underline
hi pandocHeading cterm=NONE ctermfg=9 guifg=#cb4b16 gui=NONE
hi pandocHeadingMarker cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE
hi pandocImageCaption cterm=NONE,underline ctermfg=13 guifg=#6c71c4 gui=NONE,underline
hi pandocLinkDefinition cterm=underline ctermfg=6 guifg=#2aa198 guisp=#657b83 gui=underline
hi pandocLinkDefinitionID cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi pandocLinkDelim cterm=NONE ctermfg=10 guifg=#586e75 gui=NONE
hi pandocLinkLabel cterm=underline ctermfg=4 guifg=#268bd2 gui=underline
hi pandocLinkText cterm=NONE,underline ctermfg=4 guifg=#268bd2 gui=NONE,underline
hi pandocLinkTitle cterm=underline ctermfg=11 guifg=#657b83 gui=underline
hi pandocLinkTitleDelim cterm=underline ctermfg=10 guifg=#586e75 guisp=#657b83 gui=underline
hi pandocLinkURL cterm=underline ctermfg=11 guifg=#657b83 gui=underline
hi pandocListMarker cterm=NONE ctermfg=5 guifg=#d33682 gui=NONE
hi pandocListReference cterm=underline ctermfg=5 guifg=#d33682 gui=underline
hi pandocMetadata cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi pandocMetadataDelim cterm=NONE ctermfg=10 guifg=#586e75 gui=NONE
hi pandocMetadataKey cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi pandocNonBreakingSpace cterm=reverse ctermfg=1 ctermbg=NONE guifg=#dc322f guibg=NONE gui=reverse
hi pandocRule cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi pandocRuleLine cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi pandocStrikeout cterm=reverse ctermfg=10 ctermbg=NONE guibg=NONE guifg=#586e75 gui=reverse
hi pandocStrikeoutDefinition cterm=reverse ctermfg=13 ctermbg=NONE guibg=NONE guifg=#6c71c4 gui=reverse
hi pandocStrikeoutHeading cterm=reverse ctermfg=9 ctermbg=NONE guibg=NONE guifg=#cb4b16 gui=reverse
hi pandocStrikeoutTable cterm=reverse ctermfg=4 ctermbg=NONE guibg=NONE guifg=#268bd2 gui=reverse
hi pandocStrongEmphasis cterm=NONE ctermfg=12 guifg=#839496 gui=NONE
hi pandocStrongEmphasisDefinition cterm=NONE ctermfg=13 guifg=#6c71c4 gui=NONE
hi pandocStrongEmphasisEmphasis cterm=NONE ctermfg=12 guifg=#839496 gui=NONE
hi pandocStrongEmphasisEmphasisDefinition cterm=NONE ctermfg=13 guifg=#6c71c4 gui=NONE
hi pandocStrongEmphasisEmphasisHeading cterm=NONE ctermfg=9 guifg=#cb4b16 gui=NONE
hi pandocStrongEmphasisEmphasisTable cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi pandocStrongEmphasisHeading cterm=NONE ctermfg=9 guifg=#cb4b16 gui=NONE
hi pandocStrongEmphasisNested cterm=NONE ctermfg=12 guifg=#839496 gui=NONE
hi pandocStrongEmphasisNestedDefinition cterm=NONE ctermfg=13 guifg=#6c71c4 gui=NONE
hi pandocStrongEmphasisNestedHeading cterm=NONE ctermfg=9 guifg=#cb4b16 gui=NONE
hi pandocStrongEmphasisNestedTable cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi pandocStrongEmphasisTable cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi pandocStyleDelim cterm=NONE ctermfg=10 guifg=#586e75 gui=NONE
hi pandocSubscript cterm=NONE ctermfg=13 guifg=#6c71c4 gui=NONE
hi pandocSubscriptDefinition cterm=NONE ctermfg=13 guifg=#6c71c4 gui=NONE
hi pandocSubscriptHeading cterm=NONE ctermfg=9 guifg=#cb4b16 gui=NONE
hi pandocSubscriptTable cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi pandocSuperscript cterm=NONE ctermfg=13 guifg=#6c71c4 gui=NONE
hi pandocSuperscriptDefinition cterm=NONE ctermfg=13 guifg=#6c71c4 gui=NONE
hi pandocSuperscriptHeading cterm=NONE ctermfg=9 guifg=#cb4b16 gui=NONE
hi pandocSuperscriptTable cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi pandocTable cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi pandocTableStructure cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi pandocTableZebraDark cterm=NONE ctermfg=4 ctermbg=0 guifg=#268bd2 guibg=#073642 gui=NONE
hi pandocTableZebraLight cterm=NONE ctermfg=4 ctermbg=8 guifg=#268bd2 guibg=#002b36 gui=NONE
hi pandocTitleBlock cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi pandocTitleBlockTitle cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi pandocTitleComment cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi pandocVerbatimBlock cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE
hi pandocVerbatimInline cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE
hi pandocVerbatimInlineDefinition cterm=NONE ctermfg=13 guifg=#6c71c4 gui=NONE
hi pandocVerbatimInlineHeading cterm=NONE ctermfg=9 guifg=#cb4b16 gui=NONE
hi pandocVerbatimInlineTable cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi perlHereDoc cterm=NONE ctermfg=14 ctermbg=8 guifg=#93a1a1 guibg=#002b36 gui=NONE
hi perlStatementFileDesc cterm=NONE ctermfg=6 ctermbg=8 guifg=#2aa198 guibg=#002b36 gui=NONE
hi perlVarPlain cterm=NONE ctermfg=3 ctermbg=8 guifg=#b58900 guibg=#002b36 gui=NONE
hi rubyDefine cterm=NONE ctermfg=14 ctermbg=8 guifg=#93a1a1 guibg=#002b36 gui=NONE
hi texMathMatcher cterm=NONE ctermfg=3 ctermbg=8 guifg=#b58900 guibg=#002b36 gui=NONE
hi texMathZoneX cterm=NONE ctermfg=3 ctermbg=8 guifg=#b58900 guibg=#002b36 gui=NONE
hi texRefLabel cterm=NONE ctermfg=3 ctermbg=8 guifg=#b58900 guibg=#002b36 gui=NONE
hi texStatement cterm=NONE ctermfg=6 ctermbg=8 guifg=#2aa198 guibg=#002b36 gui=NONE
hi vimCmdSep cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi vimCommand cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE
hi vimCommentString cterm=NONE ctermfg=13 guifg=#6c71c4 gui=NONE
hi vimGroup cterm=NONE,underline ctermfg=4 guifg=#268bd2 gui=NONE,underline
hi vimHiGroup cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi vimHiLink cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi vimIsCommand cterm=NONE ctermfg=11 guifg=#657b83 gui=NONE
hi vimSynMtchOpt cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE
hi vimSynType cterm=NONE ctermfg=6 guifg=#2aa198 gui=NONE
hi link Boolean Constant
hi link Character Constant
hi link Conditional Statement
hi link Debug Special
hi link Define PreProc
hi link Delimiter Special
hi link Exception Statement
hi link Float Number
hi link Function Identifier
hi link HelpCommand Statement
hi link Include PreProc
hi link Keyword Statement
hi link Label Statement
hi link Macro PreProc
hi link Number Constant
hi link Operator Statement
hi link PreCondit PreProc
hi link Repeat Statement
hi link SpecialChar Special
hi link SpecialComment Special
hi link StorageClass Type
hi link String Constant
hi link Structure Type
hi link SyntasticError SpellBad
hi link SyntasticErrorSign Error
hi link SyntasticStyleErrorLine SyntasticErrorLine
hi link SyntasticStyleErrorSign SyntasticErrorSign
hi link SyntasticStyleWarningLine SyntasticWarningLine
hi link SyntasticStyleWarningSign SyntasticWarningSign
hi link SyntasticWarning SpellCap
hi link SyntasticWarningSign Todo
hi link Tag Special
hi link Typedef Type
hi link diffAdded Statement
hi link diffBDiffer WarningMsg
hi link diffCommon WarningMsg
hi link diffDiffer WarningMsg
hi link diffIdentical WarningMsg
hi link diffIsA WarningMsg
hi link diffLine Identifier
hi link diffNoEOL WarningMsg
hi link diffOnly WarningMsg
hi link diffRemoved WarningMsg
hi link gitcommitDiscarded gitcommitComment
hi link gitcommitDiscardedArrow gitcommitDiscardedFile
hi link gitcommitNoBranch gitcommitBranch
hi link gitcommitSelected gitcommitComment
hi link gitcommitSelectedArrow gitcommitSelectedFile
hi link gitcommitUnmergedArrow gitcommitUnmergedFile
hi link gitcommitUntracked gitcommitComment
hi link helpSpecial Special
hi link hsDelimTypeExport Delimiter
hi link hsImportParams Delimiter
hi link hsModuleStartLabel hsStructure
hi link hsModuleWhereLabel hsModuleStartLabel
hi link htmlLink Function
hi link lCursor Cursor
hi link pandocCodeBlock pandocVerbatimBlock
hi link pandocCodeBlockDelim pandocVerbatimBlock
hi link pandocEscapedCharacter pandocEscapePair
hi link pandocLineBreak pandocEscapePair
hi link pandocMetadataTitle pandocMetadata
hi link pandocTableStructureEnd pandocTableStructre
hi link pandocTableStructureTop pandocTableStructre
hi link pandocVerbatimBlockDeep pandocVerbatimBlock
hi link vimFunc Function
hi link vimSet Normal
hi link vimSetEqual Normal
hi link vimUserFunc Function
hi link vipmVar Identifier
hi clear SyntasticErrorLine
hi clear SyntasticWarningLine
hi clear helpLeadBlank
hi clear helpNormal
hi clear pandocTableStructre
if has('nvim')
let g:terminal_color_0 = '#073642'
let g:terminal_color_1 = '#dc322f'
let g:terminal_color_2 = '#859900'
let g:terminal_color_3 = '#b58900'
let g:terminal_color_4 = '#268bd2'
let g:terminal_color_5 = '#d33682'
let g:terminal_color_6 = '#2aa198'
let g:terminal_color_7 = '#eee8d5'
let g:terminal_color_8 = '#002b36'
let g:terminal_color_9 = '#cb4b16'
let g:terminal_color_10 = '#586e75'
let g:terminal_color_11 = '#657b83'
let g:terminal_color_12 = '#839496'
let g:terminal_color_13 = '#6c71c4'
let g:terminal_color_14 = '#93a1a1'
let g:terminal_color_15 = '#fdf6e3'
endif

View File

@ -0,0 +1,314 @@
" 'flattened_light.vim' -- Vim color scheme.
" Maintainer: Romain Lafourcade (romainlafourcade@gmail.com)
" Description: Light Solarized, without the bullshit.
hi clear
if exists('syntax_on')
syntax reset
endif
let colors_name = 'flattened_light'
hi Normal cterm=NONE ctermfg=11 ctermbg=15 guifg=#657b83 guibg=#fdf6e3 gui=NONE
set background=light
hi ColorColumn cterm=NONE ctermbg=7 guibg=#eee8d5 gui=NONE
hi Comment cterm=NONE ctermfg=14 guifg=#93a1a1 gui=italic
hi ConId cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE
hi Conceal cterm=NONE ctermfg=4 ctermbg=15 guifg=#268bd2 guibg=#fdf6e3 gui=NONE
hi Constant cterm=NONE ctermfg=6 guifg=#2aa198 gui=NONE
hi Cursor cterm=NONE ctermfg=15 ctermbg=11 guifg=#fdf6e3 guibg=#657b83 gui=NONE
hi CursorColumn cterm=NONE ctermbg=7 guibg=#eee8d5 gui=NONE
hi CursorLine cterm=NONE ctermbg=7 guibg=#eee8d5 guisp=#586e75 gui=NONE
hi CursorLineNr cterm=NONE ctermfg=130 gui=NONE guifg=Brown
hi DiffAdd cterm=NONE ctermfg=2 ctermbg=7 gui=NONE guifg=#719e07 guibg=#eee8d5 guisp=#719e07 gui=NONE
hi DiffChange cterm=NONE ctermfg=3 ctermbg=7 gui=NONE guifg=#b58900 guibg=#eee8d5 guisp=#b58900 gui=NONE
hi DiffDelete cterm=NONE ctermfg=1 ctermbg=7 gui=NONE guifg=#dc322f guibg=#eee8d5 gui=NONE
hi DiffText cterm=NONE ctermfg=4 ctermbg=7 gui=NONE guifg=#268bd2 guibg=#eee8d5 guisp=#268bd2 gui=NONE
hi Directory cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi Error cterm=NONE ctermfg=1 ctermbg=NONE guifg=#dc322f guibg=#fdf6e3 gui=NONE
hi ErrorMsg cterm=reverse ctermfg=1 ctermbg=NONE guifg=#dc322f guibg=NONE gui=reverse
hi FoldColumn cterm=NONE ctermfg=11 ctermbg=7 guifg=#657b83 guibg=#eee8d5 gui=NONE
hi Folded cterm=NONE,underline ctermfg=11 ctermbg=7 guifg=#657b83 guibg=#eee8d5 guisp=#fdf6e3 gui=NONE
hi HelpExample cterm=NONE ctermfg=10 guifg=#586e75 gui=NONE
hi Identifier cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi IncSearch cterm=standout ctermfg=9 gui=standout guifg=#cb4b16
hi LineNr cterm=NONE ctermfg=14 ctermbg=7 guifg=#93a1a1 guibg=#eee8d5 gui=NONE
hi MatchParen cterm=NONE ctermfg=1 ctermbg=14 gui=NONE guifg=#dc322f guibg=#93a1a1 gui=NONE
hi ModeMsg cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi MoreMsg cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi NonText cterm=NONE ctermfg=12 gui=NONE guifg=#839496 gui=NONE
hi Pmenu cterm=reverse ctermfg=11 ctermbg=7 guifg=#657b83 guibg=#eee8d5 gui=reverse
hi PmenuSbar cterm=reverse ctermfg=0 ctermbg=11 guifg=#073642 guibg=#657b83 gui=reverse
hi PmenuSel cterm=reverse ctermfg=14 ctermbg=0 guifg=#93a1a1 guibg=#073642 gui=reverse
hi PmenuThumb cterm=reverse ctermfg=11 ctermbg=15 guifg=#657b83 guibg=#fdf6e3 gui=reverse
hi PreProc cterm=NONE ctermfg=9 guifg=#cb4b16 gui=NONE
hi Question cterm=NONE ctermfg=6 gui=NONE guifg=#2aa198 gui=NONE
hi Search cterm=reverse ctermfg=3 ctermbg=NONE guifg=#b58900 guibg=NONE gui=reverse
hi SignColumn cterm=NONE ctermfg=11 ctermbg=NONE guifg=#657b83 guibg=NONE gui=NONE
hi Special cterm=NONE ctermfg=1 guifg=#dc322f gui=NONE
hi SpecialKey cterm=NONE ctermfg=12 ctermbg=7 gui=NONE guifg=#839496 guibg=#eee8d5 gui=NONE
hi SpellBad cterm=undercurl ctermfg=NONE ctermbg=NONE gui=undercurl guisp=#dc322f
hi SpellCap cterm=undercurl ctermfg=NONE ctermbg=NONE gui=undercurl guisp=#6c71c4
hi SpellLocal cterm=undercurl ctermfg=NONE ctermbg=NONE gui=undercurl guisp=#b58900
hi SpellRare cterm=undercurl ctermfg=NONE ctermbg=NONE gui=undercurl guisp=#2aa198
hi Statement cterm=NONE ctermfg=2 guifg=#719e07 gui=NONE
hi StatusLine cterm=reverse ctermfg=10 ctermbg=7 gui=reverse guifg=#586e75 guibg=#eee8d5 guibg=NONE
hi StatusLineNC cterm=reverse ctermfg=12 ctermbg=7 gui=reverse guifg=#839496 guibg=#eee8d5 guibg=NONE
hi TabLine cterm=underline ctermfg=11 ctermbg=7 gui=underline guifg=#657b83 guibg=#eee8d5 guisp=#657b83
hi TabLineFill cterm=underline ctermfg=11 ctermbg=7 gui=underline guifg=#657b83 guibg=#eee8d5 guisp=#657b83
hi TabLineSel cterm=underline,reverse ctermfg=14 ctermbg=0 gui=underline,reverse guifg=#93a1a1 guibg=#073642 guisp=#657b83
hi Title cterm=NONE ctermfg=9 guifg=#cb4b16 gui=NONE
hi Todo cterm=bold ctermfg=5 ctermbg=15 guifg=#d33682 guibg=NONE gui=bold
hi Type cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE
hi Underlined cterm=NONE ctermfg=13 guifg=#6c71c4 gui=NONE
hi VarId cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi VertSplit cterm=NONE ctermfg=12 ctermbg=12 guifg=#839496 guibg=#839496 gui=NONE
hi Visual cterm=reverse ctermfg=14 ctermbg=15 gui=reverse guifg=#93a1a1 guibg=#fdf6e3 guibg=NONE
hi VisualNOS cterm=reverse ctermbg=7 gui=reverse guibg=#eee8d5 guibg=NONE
hi WarningMsg cterm=NONE ctermfg=9 gui=NONE guifg=#dc322f gui=NONE
hi WildMenu cterm=reverse ctermfg=0 ctermbg=7 guifg=#073642 guibg=#eee8d5 gui=reverse
hi cPreCondit cterm=NONE ctermfg=9 guifg=#cb4b16 gui=NONE
hi gitcommitBranch cterm=NONE ctermfg=5 gui=NONE guifg=#d33682 gui=NONE
hi gitcommitComment cterm=NONE ctermfg=14 gui=italic guifg=#93a1a1 gui=NONE
hi gitcommitDiscardedFile cterm=NONE ctermfg=1 gui=NONE guifg=#dc322f gui=NONE
hi gitcommitDiscardedType cterm=NONE ctermfg=1 guifg=#dc322f gui=NONE
hi gitcommitFile cterm=NONE ctermfg=11 gui=NONE guifg=#657b83 gui=NONE
hi gitcommitHeader cterm=NONE ctermfg=14 guifg=#93a1a1 gui=NONE
hi gitcommitOnBranch cterm=NONE ctermfg=14 gui=NONE guifg=#93a1a1 gui=NONE
hi gitcommitSelectedFile cterm=NONE ctermfg=2 gui=NONE guifg=#719e07 gui=NONE
hi gitcommitSelectedType cterm=NONE ctermfg=2 guifg=#719e07 gui=NONE
hi gitcommitUnmerged cterm=NONE ctermfg=2 gui=NONE guifg=#719e07 gui=NONE
hi gitcommitUnmergedFile cterm=NONE ctermfg=3 gui=NONE guifg=#b58900 gui=NONE
hi gitcommitUntrackedFile cterm=NONE ctermfg=6 gui=NONE guifg=#2aa198 gui=NONE
hi helpHyperTextEntry cterm=NONE ctermfg=2 guifg=#719e07 gui=NONE
hi helpHyperTextJump cterm=underline ctermfg=4 gui=underline guifg=#268bd2
hi helpNote cterm=NONE ctermfg=5 guifg=#d33682 gui=NONE
hi helpOption cterm=NONE ctermfg=6 guifg=#2aa198 gui=NONE
hi helpVim cterm=NONE ctermfg=5 guifg=#d33682 gui=NONE
hi hsImport cterm=NONE ctermfg=5 guifg=#d33682 gui=NONE
hi hsImportLabel cterm=NONE ctermfg=6 guifg=#2aa198 gui=NONE
hi hsModuleName cterm=underline ctermfg=2 gui=underline guifg=#719e07
hi hsNiceOperator cterm=NONE ctermfg=6 guifg=#2aa198 gui=NONE
hi hsStatement cterm=NONE ctermfg=6 guifg=#2aa198 gui=NONE
hi hsString cterm=NONE ctermfg=12 guifg=#839496 gui=NONE
hi hsStructure cterm=NONE ctermfg=6 guifg=#2aa198 gui=NONE
hi hsType cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE
hi hsTypedef cterm=NONE ctermfg=6 guifg=#2aa198 gui=NONE
hi hsVarSym cterm=NONE ctermfg=6 guifg=#2aa198 gui=NONE
hi hs_DeclareFunction cterm=NONE ctermfg=9 guifg=#cb4b16 gui=NONE
hi hs_OpFunctionName cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE
hi hs_hlFunctionName cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi htmlArg cterm=NONE ctermfg=12 guifg=#839496 gui=NONE
hi htmlEndTag cterm=NONE ctermfg=14 guifg=#93a1a1 gui=NONE
hi htmlSpecialTagName cterm=NONE ctermfg=4 gui=italic guifg=#268bd2 gui=NONE
hi htmlTag cterm=NONE ctermfg=14 guifg=#93a1a1 gui=NONE
hi htmlTagN cterm=NONE ctermfg=10 gui=NONE guifg=#586e75 gui=NONE
hi htmlTagName cterm=NONE ctermfg=4 gui=NONE guifg=#268bd2 gui=NONE
hi javaScript cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE
hi pandocBlockQuote cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi pandocBlockQuoteLeader1 cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi pandocBlockQuoteLeader2 cterm=NONE ctermfg=6 guifg=#2aa198 gui=NONE
hi pandocBlockQuoteLeader3 cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE
hi pandocBlockQuoteLeader4 cterm=NONE ctermfg=1 guifg=#dc322f gui=NONE
hi pandocBlockQuoteLeader5 cterm=NONE ctermfg=11 guifg=#657b83 gui=NONE
hi pandocBlockQuoteLeader6 cterm=NONE ctermfg=14 guifg=#93a1a1 gui=NONE
hi pandocCitation cterm=NONE ctermfg=5 guifg=#d33682 gui=NONE
hi pandocCitationDelim cterm=NONE ctermfg=5 guifg=#d33682 gui=NONE
hi pandocCitationID cterm=underline ctermfg=5 gui=underline guifg=#d33682
hi pandocCitationRef cterm=NONE ctermfg=5 guifg=#d33682 gui=NONE
hi pandocComment cterm=NONE ctermfg=14 gui=italic guifg=#93a1a1 gui=NONE
hi pandocDefinitionBlock cterm=NONE ctermfg=13 guifg=#6c71c4 gui=NONE
hi pandocDefinitionIndctr cterm=NONE ctermfg=13 gui=NONE guifg=#6c71c4 gui=NONE
hi pandocDefinitionTerm cterm=standout ctermfg=13 gui=standout guifg=#6c71c4
hi pandocEmphasis cterm=NONE ctermfg=11 gui=italic guifg=#657b83 gui=NONE
hi pandocEmphasisDefinition cterm=NONE ctermfg=13 gui=italic guifg=#6c71c4 gui=NONE
hi pandocEmphasisHeading cterm=NONE ctermfg=9 gui=NONE guifg=#cb4b16 gui=NONE
hi pandocEmphasisNested cterm=NONE ctermfg=11 gui=NONE guifg=#657b83 gui=NONE
hi pandocEmphasisNestedDefinition cterm=NONE ctermfg=13 gui=NONE guifg=#6c71c4 gui=NONE
hi pandocEmphasisNestedHeading cterm=NONE ctermfg=9 gui=NONE guifg=#cb4b16 gui=NONE
hi pandocEmphasisNestedTable cterm=NONE ctermfg=4 gui=NONE guifg=#268bd2 gui=NONE
hi pandocEmphasisTable cterm=NONE ctermfg=4 gui=italic guifg=#268bd2 gui=NONE
hi pandocEscapePair cterm=NONE ctermfg=1 gui=NONE guifg=#dc322f gui=NONE
hi pandocFootnote cterm=NONE ctermfg=2 guifg=#719e07 gui=NONE
hi pandocFootnoteDefLink cterm=NONE ctermfg=2 gui=NONE guifg=#719e07 gui=NONE
hi pandocFootnoteInline cterm=NONE,underline ctermfg=2 gui=NONE,underline guifg=#719e07 gui=NONE
hi pandocFootnoteLink cterm=underline ctermfg=2 gui=underline guifg=#719e07
hi pandocHeading cterm=NONE ctermfg=9 gui=NONE guifg=#cb4b16 gui=NONE
hi pandocHeadingMarker cterm=NONE ctermfg=3 gui=NONE guifg=#b58900 gui=NONE
hi pandocImageCaption cterm=NONE,underline ctermfg=13 gui=NONE,underline guifg=#6c71c4 gui=NONE
hi pandocLinkDefinition cterm=underline ctermfg=6 gui=underline guifg=#2aa198 guisp=#839496
hi pandocLinkDefinitionID cterm=NONE ctermfg=4 gui=NONE guifg=#268bd2 gui=NONE
hi pandocLinkDelim cterm=NONE ctermfg=14 guifg=#93a1a1 gui=NONE
hi pandocLinkLabel cterm=underline ctermfg=4 gui=underline guifg=#268bd2
hi pandocLinkText cterm=NONE,underline ctermfg=4 gui=NONE,underline guifg=#268bd2 gui=NONE
hi pandocLinkTitle cterm=underline ctermfg=12 gui=underline guifg=#839496
hi pandocLinkTitleDelim cterm=underline ctermfg=14 gui=underline guifg=#93a1a1 guisp=#839496
hi pandocLinkURL cterm=underline ctermfg=12 gui=underline guifg=#839496
hi pandocListMarker cterm=NONE ctermfg=5 guifg=#d33682 gui=NONE
hi pandocListReference cterm=underline ctermfg=5 gui=underline guifg=#d33682
hi pandocMetadata cterm=NONE ctermfg=4 gui=NONE guifg=#268bd2 gui=NONE
hi pandocMetadataDelim cterm=NONE ctermfg=14 guifg=#93a1a1 gui=NONE
hi pandocMetadataKey cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi pandocNonBreakingSpace cterm=reverse ctermfg=1 ctermbg=NONE gui=reverse guifg=#dc322f guibg=NONE
hi pandocRule cterm=NONE ctermfg=4 gui=NONE guifg=#268bd2 gui=NONE
hi pandocRuleLine cterm=NONE ctermfg=4 gui=NONE guifg=#268bd2 gui=NONE
hi pandocStrikeout cterm=reverse ctermfg=14 ctermbg=NONE gui=reverse guifg=#93a1a1 guibg=NONE
hi pandocStrikeoutDefinition cterm=reverse ctermfg=13 ctermbg=NONE gui=reverse guifg=#6c71c4 guibg=NONE
hi pandocStrikeoutHeading cterm=reverse ctermfg=9 ctermbg=NONE gui=reverse guifg=#cb4b16 guibg=NONE
hi pandocStrikeoutTable cterm=reverse ctermfg=4 ctermbg=NONE gui=reverse guifg=#268bd2 guibg=NONE
hi pandocStrongEmphasis cterm=NONE ctermfg=11 gui=NONE guifg=#657b83 gui=NONE
hi pandocStrongEmphasisDefinition cterm=NONE ctermfg=13 gui=NONE guifg=#6c71c4 gui=NONE
hi pandocStrongEmphasisEmphasis cterm=NONE ctermfg=11 gui=NONE guifg=#657b83 gui=NONE
hi pandocStrongEmphasisEmphasisDefinition cterm=NONE ctermfg=13 gui=NONE guifg=#6c71c4 gui=NONE
hi pandocStrongEmphasisEmphasisHeading cterm=NONE ctermfg=9 gui=NONE guifg=#cb4b16 gui=NONE
hi pandocStrongEmphasisEmphasisTable cterm=NONE ctermfg=4 gui=NONE guifg=#268bd2 gui=NONE
hi pandocStrongEmphasisHeading cterm=NONE ctermfg=9 gui=NONE guifg=#cb4b16 gui=NONE
hi pandocStrongEmphasisNested cterm=NONE ctermfg=11 gui=NONE guifg=#657b83 gui=NONE
hi pandocStrongEmphasisNestedDefinition cterm=NONE ctermfg=13 gui=NONE guifg=#6c71c4 gui=NONE
hi pandocStrongEmphasisNestedHeading cterm=NONE ctermfg=9 gui=NONE guifg=#cb4b16 gui=NONE
hi pandocStrongEmphasisNestedTable cterm=NONE ctermfg=4 gui=NONE guifg=#268bd2 gui=NONE
hi pandocStrongEmphasisTable cterm=NONE ctermfg=4 gui=NONE guifg=#268bd2 gui=NONE
hi pandocStyleDelim cterm=NONE ctermfg=14 guifg=#93a1a1 gui=NONE
hi pandocSubscript cterm=NONE ctermfg=13 guifg=#6c71c4 gui=NONE
hi pandocSubscriptDefinition cterm=NONE ctermfg=13 guifg=#6c71c4 gui=NONE
hi pandocSubscriptHeading cterm=NONE ctermfg=9 gui=NONE guifg=#cb4b16 gui=NONE
hi pandocSubscriptTable cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi pandocSuperscript cterm=NONE ctermfg=13 guifg=#6c71c4 gui=NONE
hi pandocSuperscriptDefinition cterm=NONE ctermfg=13 guifg=#6c71c4 gui=NONE
hi pandocSuperscriptHeading cterm=NONE ctermfg=9 gui=NONE guifg=#cb4b16 gui=NONE
hi pandocSuperscriptTable cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi pandocTable cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi pandocTableStructure cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi pandocTableZebraDark cterm=NONE ctermfg=4 ctermbg=7 guifg=#268bd2 guibg=#eee8d5 gui=NONE
hi pandocTableZebraLight cterm=NONE ctermfg=4 ctermbg=15 guifg=#268bd2 guibg=#fdf6e3 gui=NONE
hi pandocTitleBlock cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi pandocTitleBlockTitle cterm=NONE ctermfg=4 gui=NONE guifg=#268bd2 gui=NONE
hi pandocTitleComment cterm=NONE ctermfg=4 gui=NONE guifg=#268bd2 gui=NONE
hi pandocVerbatimBlock cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE
hi pandocVerbatimInline cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE
hi pandocVerbatimInlineDefinition cterm=NONE ctermfg=13 guifg=#6c71c4 gui=NONE
hi pandocVerbatimInlineHeading cterm=NONE ctermfg=9 gui=NONE guifg=#cb4b16 gui=NONE
hi pandocVerbatimInlineTable cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi perlHereDoc cterm=NONE ctermfg=10 ctermbg=15 guifg=#586e75 guibg=#fdf6e3 gui=NONE
hi perlStatementFileDesc cterm=NONE ctermfg=6 ctermbg=15 guifg=#2aa198 guibg=#fdf6e3 gui=NONE
hi perlVarPlain cterm=NONE ctermfg=3 ctermbg=15 guifg=#b58900 guibg=#fdf6e3 gui=NONE
hi rubyDefine cterm=NONE ctermfg=10 ctermbg=15 gui=NONE guifg=#586e75 guibg=#fdf6e3 gui=NONE
hi texMathMatcher cterm=NONE ctermfg=3 ctermbg=15 guifg=#b58900 guibg=#fdf6e3 gui=NONE
hi texMathZoneX cterm=NONE ctermfg=3 ctermbg=15 guifg=#b58900 guibg=#fdf6e3 gui=NONE
hi texRefLabel cterm=NONE ctermfg=3 ctermbg=15 guifg=#b58900 guibg=#fdf6e3 gui=NONE
hi texStatement cterm=NONE ctermfg=6 ctermbg=15 guifg=#2aa198 guibg=#fdf6e3 gui=NONE
hi vimCmdSep cterm=NONE ctermfg=4 gui=NONE guifg=#268bd2 gui=NONE
hi vimCommand cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE
hi vimCommentString cterm=NONE ctermfg=13 guifg=#6c71c4 gui=NONE
hi vimGroup cterm=NONE,underline ctermfg=4 gui=NONE,underline guifg=#268bd2 gui=NONE
hi vimHiGroup cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi vimHiLink cterm=NONE ctermfg=4 guifg=#268bd2 gui=NONE
hi vimIsCommand cterm=NONE ctermfg=12 guifg=#839496 gui=NONE
hi vimSynMtchOpt cterm=NONE ctermfg=3 guifg=#b58900 gui=NONE
hi vimSynType cterm=NONE ctermfg=6 guifg=#2aa198 gui=NONE
hi link Boolean Constant
hi link Character Constant
hi link Conditional Statement
hi link Debug Special
hi link Define PreProc
hi link Delimiter Special
hi link Exception Statement
hi link Float Number
hi link Function Identifier
hi link HelpCommand Statement
hi link Include PreProc
hi link Keyword Statement
hi link Label Statement
hi link Macro PreProc
hi link Number Constant
hi link Operator Statement
hi link PreCondit PreProc
hi link Repeat Statement
hi link SpecialChar Special
hi link SpecialComment Special
hi link StorageClass Type
hi link String Constant
hi link Structure Type
hi link SyntasticError SpellBad
hi link SyntasticErrorSign Error
hi link SyntasticStyleErrorLine SyntasticErrorLine
hi link SyntasticStyleErrorSign SyntasticErrorSign
hi link SyntasticStyleWarningLine SyntasticWarningLine
hi link SyntasticStyleWarningSign SyntasticWarningSign
hi link SyntasticWarning SpellCap
hi link SyntasticWarningSign Todo
hi link Tag Special
hi link Typedef Type
hi link diffAdded Statement
hi link diffBDiffer WarningMsg
hi link diffCommon WarningMsg
hi link diffDiffer WarningMsg
hi link diffIdentical WarningMsg
hi link diffIsA WarningMsg
hi link diffLine Identifier
hi link diffNoEOL WarningMsg
hi link diffOnly WarningMsg
hi link diffRemoved WarningMsg
hi link gitcommitDiscarded gitcommitComment
hi link gitcommitDiscardedArrow gitcommitDiscardedFile
hi link gitcommitNoBranch gitcommitBranch
hi link gitcommitSelected gitcommitComment
hi link gitcommitSelectedArrow gitcommitSelectedFile
hi link gitcommitUnmergedArrow gitcommitUnmergedFile
hi link gitcommitUntracked gitcommitComment
hi link helpSpecial Special
hi link hsDelimTypeExport Delimiter
hi link hsImportParams Delimiter
hi link hsModuleStartLabel hsStructure
hi link hsModuleWhereLabel hsModuleStartLabel
hi link htmlLink Function
hi link lCursor Cursor
hi link pandocCodeBlock pandocVerbatimBlock
hi link pandocCodeBlockDelim pandocVerbatimBlock
hi link pandocEscapedCharacter pandocEscapePair
hi link pandocLineBreak pandocEscapePair
hi link pandocMetadataTitle pandocMetadata
hi link pandocTableStructureEnd pandocTableStructre
hi link pandocTableStructureTop pandocTableStructre
hi link pandocVerbatimBlockDeep pandocVerbatimBlock
hi link vimFunc Function
hi link vimSet Normal
hi link vimSetEqual Normal
hi link vimUserFunc Function
hi link vipmVar Identifier
hi clear SyntasticErrorLine
hi clear SyntasticWarningLine
hi clear helpLeadBlank
hi clear helpNormal
hi clear pandocTableStructre
if has('nvim')
let g:terminal_color_0 = '#eee8d5'
let g:terminal_color_1 = '#dc322f'
let g:terminal_color_2 = '#859900'
let g:terminal_color_3 = '#b58900'
let g:terminal_color_4 = '#268bd2'
let g:terminal_color_5 = '#d33682'
let g:terminal_color_6 = '#2aa198'
let g:terminal_color_7 = '#073642'
let g:terminal_color_8 = '#fdf6e3'
let g:terminal_color_9 = '#cb4b16'
let g:terminal_color_10 = '#93a1a1'
let g:terminal_color_11 = '#839496'
let g:terminal_color_12 = '#657b83'
let g:terminal_color_13 = '#6c71c4'
let g:terminal_color_14 = '#586e75'
let g:terminal_color_15 = '#002b36'
endif

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,2 @@
setlocal colorcolumn=80
setlocal textwidth=79

View File

@ -0,0 +1,2 @@
setlocal colorcolumn=80
setlocal textwidth=79

View File

@ -0,0 +1,2 @@
set textwidth=79
set colorcolumn=80

View File

@ -0,0 +1,10 @@
" Show a visual line at width 120
setlocal colorcolumn=80
" This auto-wraps the lines after it's reached more than 119 characters.
setlocal textwidth=79
" Spellcheck
" Turn on spell check
setlocal spell
" Set it to English US
setlocal spelllang=en

View File

@ -0,0 +1,6 @@
" Show a visual market at text width 80
setlocal colorcolumn=81
" Auto-wrap lines
setlocal textwidth=80

View File

@ -0,0 +1,2 @@
setlocal colorcolumn=80
setlocal textwidth=79

View File

@ -0,0 +1,2 @@
setlocal textwidth=79
setlocal colorcolumn=80

View File

@ -0,0 +1,25 @@
" The leader key is the main modifier used for keybindings.
" You can use it inside keybindings by using <leader>
" I use space as my leader key
let g:mapleader = ' '
" Local leader is the same principle as leader, but it's used
" for keybindings that are local to the current buffer, to
" avoid confusion
" I use tab as my local leader
let g:maplocalleader = "\<tab>"
" Here, I source the various config files. I explicitely source them one by one
" to ensure their order is always the same (the autocmds are needed later, e.g.
" when the colorscheme is sourced)
runtime init/autocmds.vim
runtime init/keys.vim
runtime init/netrw.vim
runtime init/settings.vim
" The configs for the various plugins don't have a particular order to them
runtime! init/plugins/*.vim
" This sources a .vim/local.vim file in the current directory, if it exists.
" This allows for project-specific settings, such as on-write autocmd's etc.
" The silent! prevents it from showing an error if no local.vim file is found
silent! source .vim/local.vim

View File

@ -0,0 +1,12 @@
function! OverwriteBackground()
" We only want a transparent background if we're using the dark theme
if g:colors_name == 'flattened_dark'
highlight Normal guibg=NONE ctermbg=NONE
highlight LineNr ctermfg=NONE ctermbg=NONE
endif
endfunction
augroup ColorschemeOverwrite
autocmd!
autocmd ColorScheme * call OverwriteBackground()
augroup END

View File

@ -0,0 +1,94 @@
" zz centers the cursor, so combining this with navigation commands keeps my
" cursor centered
" nnoremap j jzz
" nnoremap k kzz
" nnoremap gg ggzz
" nnoremap G Gzz
" I navigate my splits using <leader>hjkl. This setup allows for fast
" switching, which is important as I often end up with 3-4 splits after a while
nnoremap <silent> <leader>h :wincmd h<CR>
nnoremap <silent> <leader>j :wincmd j<CR>
nnoremap <silent> <leader>k :wincmd k<CR>
nnoremap <silent> <leader>l :wincmd l<CR>
" These mappings just exist because I'm lazy, and they only really work in
" QWERTY
nnoremap <silent> <leader>w :w<CR>
nnoremap <silent> <leader>q :q<CR>
" As I don't use the arrow keys for navigation, I remapped them to allow for
" resizing of my splits. If you hold down shift, you can control the size of
" the splits more precisely
nnoremap <silent> <Up> :resize +5<CR>
nnoremap <silent> <Down> :resize -5<CR>
nnoremap <silent> <Right> :vertical resize +5<CR>
nnoremap <silent> <Left> :vertical resize -5<CR>
nnoremap <silent> <S-Up> :resize +1<CR>
nnoremap <silent> <S-Down> :resize -1<CR>
nnoremap <silent> <S-Right> :vertical resize +1<CR>
nnoremap <silent> <S-Left> :vertical resize -1<CR>
" Disable arrow keys in editing & visual mode, as I have no need for them
inoremap <Right> <nop>
inoremap <Left> <nop>
inoremap <Up> <nop>
inoremap <Down> <nop>
vnoremap <Right> <nop>
vnoremap <Left> <nop>
vnoremap <Up> <nop>
vnoremap <Down> <nop>
" Tabs bindings
" TODO improve on these
" Create tab
nnoremap <silent> <leader>o :tabnew<CR>
" Close current tab
nnoremap <silent> <leader>p :tabclose<CR>
" Go to next tab
nnoremap <silent> <leader>i :tabnext<CR>
" Go to previous tab
nnoremap <silent> <leader>u :tabprevious<CR>
" This function allows me to switch between a dark & light theme. I mainly use
" the dark theme, but when I'm sitting outside, the light theme can be much
" more readable
function! ColorschemeToggle()
if g:colors_name == 'flattened_dark'
colorscheme flattened_light
else
colorscheme flattened_dark
endif
endfunction
nnoremap <silent> <leader>c :call ColorschemeToggle()<CR>
" As I'm constantly tweaking my config, I use keybindings to easily open &
" source it without leaving my session
nnoremap <silent> <leader>vs :source $MYVIMRC<CR>
" Opens CtrlP in my config directory
nnoremap <silent> <leader>ve :split<CR>:exec 'CtrlP ' . fnamemodify($MYVIMRC, ':h')<CR>
" This was probably one of the best ideas I found (it wasn't my original idea).
" By remapping Esc to jk, I could switch between modes without moving my hands.
" This improved my speed by much more than I was expecting, and helped with not
" straining my hands as much.
inoremap jk <Esc>
inoremap <Esc> <nop>
" I use this binding to quickly switch between two files.
nnoremap <leader>a <C-^>
" Terminal keybindings
" I use the terminal inside Neovim a lot, so I have some keybindings to easily
" open one
" Use jk in terminal as well
tnoremap <silent> jk <C-\><C-n>
" I explicitely use $SHELL, because my main shell is not necessarily Bash, and
" I want to use my main shell inside Vim as well
nnoremap <silent> <leader>rr :e term://$SHELL<CR>
nnoremap <silent> <leader>rh :vsp<CR>:wincmd h<CR>:e term://$SHELL<CR>
nnoremap <silent> <leader>rl :vsp<CR>:e term://$SHELL<CR>
nnoremap <silent> <leader>rk :sp<CR>:wincmd k<CR>:e term://$SHELL<CR>
nnoremap <silent> <leader>rj :sp<CR>:e term://$SHELL<CR>

View File

@ -0,0 +1,20 @@
" Open in tree view by default
let g:netrw_liststyle = 3
" Hide banner at the top
let g:netrw_banner = 0
" Change how netrc opens files
" 1 - horizontal split
" 2 - vertical split
" 3 - new tab
" 4 - previous window
let g:netrw_browse_split = 4
" Width of the view
let g:netrw_winsize = 15
" Start netrc on startup
augroup netrc
autocmd!
augroup END

View File

@ -0,0 +1,46 @@
# Plugins
I use quite a lot of plugins, as they greatly improve my workflow or just add
features that you most definitely need if you want to use Vim as your main
editor.
## List of plugins
* [CoC](https://github.com/neoclide/coc.nvim): my autocomplete plugin of
choice. It provide full LSP support, so many of its plugins use the exact
same setup as a VSCode plugin.
* [CtrlP](https://github.com/ctrlpvim/ctrlp.vim): a fuzzy search tool which I
use for most navigation.
* [vim-fugitive](https://github.com/tpope/vim-fugitive): an amazing Git client
for Vim. It has support for all the usual stuff (commits, adding/removing
files etc.), as well as a merge conflict resolver using Vim's built-in diff
view.
* [vim-surround](https://github.com/tpope/vim-surround): adds mappings to
change/remove surrounding characters (e.g. (), "", '' etc.). It integrates
really well with already existing bindings, making it feel like it's a
built-in feature.
* [vim-commentary](https://github.com/tpope/vim-commentary): adds mappings for
commenting/uncommenting lines easily. It has support for basically all
languages I ever use.
* [tagbar](https://github.com/preservim/tagbar): a sidebar chowing you the
layout of the current file. It helps me orient myself within the file/class
I'm currently working on, as well as easing the movement between
classes, functions etc...
* [vim-gitgutter](https://github.com/airblade/vim-gitgutter): shows Git
diff markers in the sidebar.
* [indentline](https://github.com/Yggdroot/indentLine): shows a visual line to
indicate which lines are on the same indentation level.
* vim-python-pep8-indent: makes Vim properly indent Python according to PEP8
* [vim-indent-object](https://github.com/michaeljsmith/vim-indent-object):
allows you to select the current indentation block using the same bindings as
paragraphs, inner brackets, etc...
* NERDTree: file browser, useful for getting your bearings in a large project.
* [vim-toml](https://github.com/cespare/vim-toml): syntax highlighting for toml
files
* [auto-pairs](https://github.com/jiangmiao/auto-pairs): auto-insert matching
pairs
* [Tabular](https://github.com/godlygeek/tabular): useful plugin for aligning
text
* [haskell-vim](https://github.com/neovimhaskell/haskell-vim): indentation for
Haskell
* [ion-vim](https://github.com/vmchale/ion-vim): syntax highlighting for the
[ion shell](https://github.com/redox-os/ion) (my current shell).

View File

@ -0,0 +1,38 @@
function! s:check_back_space() abort
let col = col('.') - 1
return !col || getline('.')[col - 1] =~ '\s'
endfunction
inoremap <silent><expr> <Tab>
\ pumvisible() ? "\<C-n>" :
\ <SID>check_back_space() ? "\<Tab>" :
\ coc#refresh()
" Navigating through results list
" Tab to select next result
inoremap <expr> <Tab> pumvisible() ? "\<C-n>" : "\<Tab>"
" Shift+Tab to select previous
inoremap <expr> <S-Tab> pumvisible() ? "\<C-p>" : "\<S-Tab>"
" Use enter to confirm completion
inoremap <expr> <cr> pumvisible() ? "\<C-y>" : "\<C-g>u\<CR>"
" Select first option if no option is selected on enter
inoremap <silent><expr> <cr> pumvisible() ? coc#_select_confirm() : "\<C-g>u\<CR>"
" Project refactoring keybinding
nnoremap <silent> <leader>pwr :CocSearch <C-R>=expand("<cword>")<CR><CR>
" Go to definition
nmap gd <Plug>(coc-definition)
nmap gb <C-o>
nmap gi <Plug>(coc-implementation)
nmap gr <Plug>(coc-references)
" Jump between diagnostic positions
nmap <silent> <leader>dk <Plug>(coc-diagnostic-prev)
nmap <silent> <leader>dK <Plug>(coc-diagnostic-prev-error)
nmap <silent> <leader>dj <Plug>(coc-diagnostic-next)
nmap <silent> <leader>dJ <Plug>(coc-diagnostic-next-error)
" Show full diagnostics list
nmap <silent> <leader>dd :CocDiagnostics<CR>

View File

@ -0,0 +1,28 @@
" Remap CtrlP shortcut
let g:ctrlp_map = '<leader>t'
" Enable caching
" I think this'll make it run just a bit faster
let g:ctrlp_use_caching = 1
" Don't clear the cache on exit, so it won't re-index every time we open the
" project
let g:ctrlp_clear_cache_on_exit = 0
" Cache inside the project's .vim directory to keep things tidy
let g:ctrlp_cache_dir = './.vim/cache/ctrlp'
" You can define different listing commands for different version controls
" systems etc.
" I currently only have experience with Git, but I've written the config like
" this to allow for easy expansion if needed.
let g:ctrlp_user_command = {
\ 'types': {
\ 1: ['.git', 'git --git-dir=%s/.git ls-files -oc --exclude-standard']
\ },
\ 'fallback': 'find %s -type f'
\ }
" Limit max number of files
" This prevents me from indexing my entire HOME by accident
let g:ctrlp_max_files = 10000
" Also limit recursion depth
let g:ctrlp_max_depth = 40

View File

@ -0,0 +1,12 @@
" Key bindings for quicker Git work
" Status
nnoremap <silent> <leader>gg :Git<CR>
" Commit
nnoremap <silent> <leader>gc :Git commit<CR>
" Push
nnoremap <silent> <leader>gp :Git push<CR>
" Show diffs
nnoremap <silent> <leader>gd :Gvdiffsplit!<CR>
" Easily resolve merges
nnoremap <silent> <leader>gh :diffget //2<CR>
nnoremap <silent> <leader>gl :diffget //3<CR>

View File

@ -0,0 +1,2 @@
" Disable key mappings
let g:gitgutter_map_keys = 0

View File

@ -0,0 +1,2 @@
" Set name of tags file; should put it inside .vim directory
let g:gutentags_ctags_tagfile='.vim/tags'

View File

@ -0,0 +1,2 @@
" Make each indent level have a specific character
let g:indentLine_char_list = ['|', '¦', '┆', '┊']

View File

@ -0,0 +1,47 @@
" Listing of paths to ignore. I think I could use something similar to CtrlP
" here as well, but I want NERDTree to also show some non-version
" controlled files. It ignores the following files:
" Vim
" Other IDEs
" Python
" Java
" Git
" Stack & Haskell
" CMake
" Non-text files
let NERDTreeIgnore = [
\ '^\.vim$[[dir]]',
\ '^\.vscode$[[dir]]', '.*\.code-workspace$[[file]]', '^\.idea$[[dir]]',
\ '^__pycache__$[[dir]]', '^\.pytest_cache$[[dir]]', '^venv$[[dir]]',
\ '\.egg-info$[[dir]]', '^dist$[[dir]]', '^build$[[dir]]',
\ '^\.eggs$[[dir]]',
\ '^out$[[dir]]',
\ '^\.git$[[dir]]',
\ '^\.stack-work$[[dir]]', '\.lock$',
\ '^CMakeFiles$[[dir]]', '^CMakeCache.txt$[[file]]',
\ '.pdf$[[file]]']
" Show files starting with .
let NERDTreeShowHidden = 1
" Hide 'Press ? for help'
let NERDTreeMinimalUI = 1
let NERDTreeDirArrows = 1
" Close NERDTree after opening a file
let NERDTreeQuitOnOpen = 1
" Explicitely tell NERDTree to never change my current working directory
let NERDTreeChDirMode = 0
" Sort naturally, e.g. z10.txt comes after z1.txt
let NERDTreeNaturalSort = 1
" Show files, not only directories
let NERDTreeShowFiles = 1
" Don't show line numbers
let NERDTreeShowLineNumbers = 0
" Show NERDTree on the left side
let NERDTreeWinPos = 'left'
" Use the minimal menu system
let NERDTreeMinimalMenu = 1
" Always delete the buffer when you rename the file
let NERDTreeAutoDeleteBuffer = 1
" Open NERDTree on the current file
nnoremap <silent> tt :NERDTreeFind<CR>

View File

@ -0,0 +1,68 @@
" See README.md for more information about the plugins
"
" Load the plugins
call plug#begin('~/.config/nvim/plugged')
" Powerful auto-complete engine
" TODO switch to coc-jedi for Python stuff
Plug 'neoclide/coc.nvim', {'branch': 'release'}
" Fast file navigation using fuzzy search
Plug 'ctrlpvim/ctrlp.vim'
" Git client within Vim
Plug 'tpope/vim-fugitive'
" Change surrounding quotes, brackets...
Plug 'tpope/vim-surround'
" Comment out lines easily
Plug 'tpope/vim-commentary'
" Show ctags in sidebar, useful for navigation
Plug 'majutsushi/tagbar'
" Show Git diffs in sidebar
Plug 'airblade/vim-gitgutter'
" Show indentation using thin lines
Plug 'yggdroot/indentline'
" Auto-indent according to PEP8 rules
Plug 'hynek/vim-python-pep8-indent'
" Text object based on current indent level (e.g. Python)
Plug 'michaeljsmith/vim-indent-object'
" Sidebar showing file structure
Plug 'scrooloose/nerdtree'
" Toml syntax highlighting
Plug 'cespare/vim-toml'
" Auto-bracket pairs
Plug 'jiangmiao/auto-pairs'
" This plugin allows you to align text according to specified delimiters
" e.g. this:
" x = 5
" alongname = 15
" can become this:
" x = 15
" alongname = 15
Plug 'godlygeek/tabular'
" Some auto-complete for haskell
Plug 'neovimhaskell/haskell-vim'
Plug 'vmchale/ion-vim'
Plug 'Chiel92/vim-autoformat'
Plug 'leafoftree/vim-vue-plugin'
Plug 'othree/javascript-libraries-syntax.vim'
Plug 'udalov/kotlin-vim'
call plug#end()

View File

@ -0,0 +1,25 @@
" Navigating between tags
" Go to next top-level tag
let g:tagbar_map_nexttag = 'J'
" Same, but previous
let g:tagbar_map_prevtag = 'K'
" Show prototype of current tag
let g:tagbar_map_showproto = 'u'
" Use order from source file
let g:tagbar_sort = 0
" Don't show help tip at the top
let g:tagbar_compact = 1
" Auto-open folds while following cursor
let g:tagbar_autoshowtag = 1
" Don't show status line
let g:no_status_line = 1
" Close tagbar when a tag is selected
let g:tagbar_autoclose = 1
" Open tagbar when opening certain language types
" autocmd BufNewFile,BufReadPre *.py,*.java,*.rs,*.cpp,*.c,*.r TagbarOpen
" Explicitly close tagbar for these types
" autocmd BufNewFile,BufReadPre *.txt,*.rst TagbarClose
nnoremap <silent> tr :TagbarToggle<CR>

View File

@ -0,0 +1,63 @@
" Terminal
" As I often use non-standard shells, certain things can break if this isn't
" explicitely set
" TODO maybe use which to find the executable?
set shell=/bin/bash
" Makes your cursor centered whenever possible. 999 is just a large number,
" making it always centered
set scrolloff=999
" Colorscheme
" This forces (Neo)Vim to assume the terminal supports 256 colors.
" Without this, some colorschemes (including mine) don't work properly.
set termguicolors
" Set colorscheme
colorscheme flattened_dark
hi Normal guibg=NONE ctermbg=NONE
hi LineNr ctermfg=NONE ctermbg=NONE
" Line numbers
" I use the combination of absolute and relative line numbers. On the
" current line, it shows the absolute; on all the others, the relative.
set number relativenumber
" Splits
" I prefer the logic of 'open your main window first, and all other
" afterwards', so this makes a new file open below or to the right of the
" current one.
set splitbelow splitright
" Indentation
" I only use four spaces as indentation. This configures Vim to always use four
" spaces, for both manual tabs and automatic indentation.
set expandtab tabstop=4 shiftwidth=4
" Search functionality
" Show matches as pattern is being typed
set incsearch
" Ignore case as long as there are no capital letters in the pattern
set smartcase
" Don't hightlight search results after search is finished
set nohlsearch
" autocmd BufReadPre * call SetDirs()
" Turn on swap files
set swapfile
set directory=./.vim/swap//
" Create file backups
" set backup
" Store backups in .vim directory, next to swap files
" set backupdir=./.vim/backup/,
" Temporary, until I've found a fix
set nobackup
" Create an undo file for each file; this makes undo persistent
set undofile
set undodir=./.vim/undo//
" Increases speed of CoC and Gitgutter
set updatetime=250
" Make Vim use pipes instead of temp files when running commands
set noshelltemp

View File

@ -0,0 +1,16 @@
# If a config.py file exists, this file is ignored unless it's explicitly loaded
# via config.load_autoconfig(). For more information, see:
# https://github.com/qutebrowser/qutebrowser/blob/master/doc/help/configuring.asciidoc#loading-autoconfigyml
# DO NOT edit this file by hand, qutebrowser will overwrite it.
# Instead, create a config.py - see :help for details.
config_version: 2
settings:
colors.webpage.darkmode.enabled:
global: false
content.notifications:
global: false
https://www.tubxporn.com: false
https://www.vrt.be: false
content.persistent_storage:
https://mega.nz: false

View File

@ -0,0 +1,29 @@
import yaml
def iterate_dict(dic, prefix=None):
for key, value in dic.items():
if isinstance(value, dic):
pass
with (config.configdir / "config.yml").open() as f:
yaml_data = yaml.safe_load(f)
# How frequently to save config/cookies etc. (in ms)
c.auto_save.interval = 5000
# Backend to use; webengine is recommended
c.backend = "webengine"
# TODO keybindings
# Show a changelog after every patch update
c.changelog_after_upgrade = "patch"
# TODO color config
c.confirm_quit = ["downloads"]
c.content.blocking.adblock.lists.append("https://www.i-dont-care-about-cookies.eu/abp/")
config.load_autoconfig()

View File

@ -0,0 +1,17 @@
auto_save:
interval: 5000
confirm_quit:
- "downloads"
backend: "webengine"
changelog_after_upgrade: "patch"
confirm_quit:
- "downloads"
content:
blocking:
adblock:
lists:
- "https://www.i-dont-care-about-cookies.eu/abp/"

View File

@ -0,0 +1,8 @@
[FileDialog]
history=file:///home/jjr/Documents/College/mm/practica/practicum-1.git
lastVisited=file:///home/jjr/Documents/College/mm/practica/practicum-1.git
qtVersion=5.15.2
shortcuts=file:, file:///home/jjr
sidebarWidth=106
treeViewHeader=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x2g\0\0\0\x4\x1\x1\0\0\0\0\0\0\0\0\0\0\0\0\0\0}\xff\xff\xff\xff\0\0\0\x81\0\0\0\0\0\0\0\x4\0\0\x1?\0\0\0\x1\0\0\0\0\0\0\0O\0\0\0\x1\0\0\0\0\0\0\0P\0\0\0\x1\0\0\0\0\0\0\0\x89\0\0\0\x1\0\0\0\0\0\0\x3\xe8\0\xff\xff\xff\xff)
viewMode=Detail

View File

@ -0,0 +1,2 @@
ghu https://github.ugent.be/
ufo https://ufora.ugent.be/d2l/home

View File

@ -0,0 +1,43 @@
{
"aururl": "https://aur.archlinux.org",
"buildDir": "/home/jjr/.cache/yay",
"absdir": "/home/jjr/.cache/yay/abs",
"editor": "",
"editorflags": "",
"makepkgbin": "makepkg",
"makepkgconf": "",
"pacmanbin": "pacman",
"pacmanconf": "/etc/pacman.conf",
"redownload": "no",
"rebuild": "no",
"answerclean": "",
"answerdiff": "",
"answeredit": "",
"answerupgrade": "",
"gitbin": "git",
"gpgbin": "gpg",
"gpgflags": "",
"mflags": "",
"sortby": "votes",
"searchby": "name-desc",
"gitflags": "",
"removemake": "yes",
"sudobin": "sudo",
"sudoflags": "",
"requestsplitn": 150,
"sortmode": 0,
"completionrefreshtime": 7,
"sudoloop": true,
"timeupdate": false,
"devel": false,
"cleanAfter": true,
"provides": true,
"pgpfetch": true,
"upgrademenu": true,
"cleanmenu": true,
"diffmenu": true,
"editmenu": false,
"combinedupgrade": false,
"useask": false,
"batchinstall": true
}