Compare commits

..

No commits in common. "main" and "mercury" have entirely different histories.

187 changed files with 19899 additions and 798 deletions

View File

@ -0,0 +1,58 @@
# _____ _
# _____ ___ |___ |__| |__ Swy7ch's fish shell config file
# / __\ \ /\ / / | | | / / __| '_ \
# \__ \\ V V /| |_| |/ / (__| | | |
# |___/ \_/\_/ \__, /_/ \___|_| |_|
# |___/
# Start X at login
if status is-login
if test -z "$DISPLAY" -a $XDG_VTNR = 1
exec startx -- -keeptty
end
end
# True gruvbox colors in vim
#bash $HOME/.vim/plugins/gruvbox/gruvbox_256palette.sh
# User configuration
function fish_greeting
set_color $fish_color_autosuggestion
uname -msr
command -s uptime >/dev/null
and uptime
set_color normal
end
# Set less colors (-> manpages)
set -xU LESS_TERMCAP_md (printf "\e[01;36m")
set -xU LESS_TERMCAP_me (printf "\e[0m")
set -xU LESS_TERMCAP_se (printf "\e[0m")
set -xU LESS_TERMCAP_so (printf "\e[01;44;33em")
set -xU LESS_TERMCAP_ue (printf "\e[0m")
set -xU LESS_TERMCAP_us (printf "\e[01;32m")
#################################################
############### PROMPT CONFIG ################
#################################################
# change colorscheme
set -g theme_color_scheme gruvbox
# show the name of the process in polybar
set -g theme_title_display_process yes
# set the right date formate
set -g theme_date_format "+%X"
# to use nerd fonts
# set -g theme_nerd_fonts yes
# do not alert untracked files in git
# set -g theme_display_git_untracked no
# changes to git glyphs
set -g git_plus_glyph \uF4A7 '' # PLUS
set -g git_minus_glyph \uF48B '' # MINUS

View File

@ -0,0 +1 @@
fisher complete

View File

@ -0,0 +1,30 @@
# Swy7ch' config file for the FiSHell
# Start X at login
if status is-login
if test -z "$DISPLAY" -a $XDG_VTNR = 1
exec startx -- -keeptty
end
end
# True gruvbox colors in vim
#bash $HOME/.vim/plugins/gruvbox/gruvbox_256palette.sh
# User configuration
function fish_greeting
set_color $fish_color_autosuggestion
uname -msr
command -s uptime >/dev/null
and uptime
set_color normal
end
# Set less colors (-> manpages)
set -xU LESS_TERMCAP_md (printf "\e[01;36m")
set -xU LESS_TERMCAP_me (printf "\e[0m")
set -xU LESS_TERMCAP_se (printf "\e[0m")
set -xU LESS_TERMCAP_so (printf "\e[01;44;33em")
set -xU LESS_TERMCAP_ue (printf "\e[0m")
set -xU LESS_TERMCAP_us (printf "\e[01;32m")

View File

@ -0,0 +1,50 @@
# This file contains fish universal variable definitions.
# VERSION: 3.0
SETUVAR --export LESS_TERMCAP_md:\x1b\x5b01\x3b36m
SETUVAR --export LESS_TERMCAP_me:\x1b\x5b0m
SETUVAR --export LESS_TERMCAP_se:\x1b\x5b0m
SETUVAR --export LESS_TERMCAP_so:\x1b\x5b01\x3b44\x3b33em
SETUVAR --export LESS_TERMCAP_ue:\x1b\x5b0m
SETUVAR --export LESS_TERMCAP_us:\x1b\x5b01\x3b32m
SETUVAR __fish_init_2_39_8:\x1d
SETUVAR __fish_init_2_3_0:\x1d
SETUVAR __fish_init_3_x:\x1d
SETUVAR _fish_abbr_backup:sudo\x20/usr/local/bin/snapbackup\x2esh
SETUVAR _fish_abbr_gu:git\x20fetch\x20upstream\x20\x26\x26\x20git\x20merge\x20upstream/master
SETUVAR _fish_abbr_hs:htop\x20\x2du\x20swytch
SETUVAR _fish_abbr_nf:neofetch
SETUVAR _fish_abbr_pc:sudo\x20pacman\x20\x2dRsn\x20\x28pacman\x20\x2dQdtq\x29
SETUVAR _fish_abbr_pd:expac\x20\x2d\x2dtimefmt\x3d\x27\x25Y\x2d\x25m\x2d\x25d\x20\x25T\x27\x20\x27\x25l\x5ct\x25n\x27\x20\x7c\x20sort\x20\x7c\x20tail\x20\x2dn\x2020
SETUVAR _fish_abbr_rbup:sudo\x20rsync\x20\x2daAXv\x20\x2d\x2dexclude\x3d\x7b\x22/dev/\x2a\x22\x2c\x22/proc/\x2a\x22\x2c\x22/sys/\x2a\x22\x2c\x22/tmp/\x2a\x22\x2c\x22/run/\x2a\x22\x2c\x22/mnt/\x2a\x22\x2c\x22/media/\x2a\x22\x2c\x22/lost\x2bfound\x22\x2c\x22home\x22\x7d\x20/\x20/mnt/backup/root/
SETUVAR _fish_abbr_sdn:shutdown\x20now
SETUVAR _fish_abbr_um:unimatrix\x20\x2da\x20\x2df\x20\x2dc\x3dcyan\x20\x2ds\x3d95
SETUVAR _fish_abbr_untar:tar\x20zxvf
SETUVAR _fish_abbr_yayu:yay\x20\x2dSyu
SETUVAR fish_color_autosuggestion:969896
SETUVAR fish_color_cancel:normal
SETUVAR fish_color_command:afd75f
SETUVAR fish_color_comment:f0c674
SETUVAR fish_color_cwd:008000
SETUVAR fish_color_cwd_root:800000
SETUVAR fish_color_end:b294bb
SETUVAR fish_color_error:cc6666
SETUVAR fish_color_escape:00a6b2
SETUVAR fish_color_history_current:normal
SETUVAR fish_color_host:normal
SETUVAR fish_color_match:normal
SETUVAR fish_color_normal:normal
SETUVAR fish_color_operator:00a6b2
SETUVAR fish_color_param:f0c674
SETUVAR fish_color_quote:b294bb
SETUVAR fish_color_redirection:8abeb7
SETUVAR fish_color_search_match:ffff00
SETUVAR fish_color_selection:c0c0c0
SETUVAR fish_color_status:red
SETUVAR fish_color_user:00ff00
SETUVAR fish_color_valid_path:normal
SETUVAR fish_greeting:\x1d
SETUVAR fish_key_bindings:fish_default_key_bindings
SETUVAR fish_pager_color_completion:normal
SETUVAR fish_pager_color_description:B3A06D\x1eyellow
SETUVAR fish_pager_color_prefix:white\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan

View File

@ -0,0 +1 @@

View File

@ -0,0 +1,45 @@
# Options
#set __fish_git_prompt_showupstream "informative"
#set __fish_git_prompt_showdirtystate 1
#set __fish_git_prompt_showstashstate 1
#set __fish_git_prompt_showuntrackedfiles 1
set __fish_git_prompt_showcolorhints
set __fish_git_prompt_show_informative_status
# Colors
set green (set_color green)
set magenta (set_color magenta)
set normal (set_color normal)
set red (set_color red)
set yellow (set_color yellow)
set __fish_git_prompt_color_branch magenta --bold
set __fish_git_prompt_color_dirtystate white --bold
set __fish_git_prompt_color_stashstate magenta
set __fish_git_prompt_color_invalidstate red
set __fish_git_prompt_color_merging yellow
set __fish_git_prompt_color_stagedstate yellow
set __fish_git_prompt_color_upstream yellow --bold
# Icons
set __fish_git_prompt_char_cleanstate ' '
set __fish_git_prompt_char_invalidstate ' '
set __fish_git_prompt_char_dirtystate ' !'
set __fish_git_prompt_char_stagedstate ' '
set __fish_git_prompt_char_stashstate ' $'
set __fish_git_prompt_char_stateseparator ' |'
set __fish_git_prompt_char_untrackedfiles ' ?'
set __fish_git_prompt_char_upstream_ahead ' '
set __fish_git_prompt_char_upstream_behind ' '
set __fish_git_prompt_char_upstream_diverged ' 祈'
function fish_prompt
set last_status $status
set_color cyan --bold
printf '%s' (prompt_pwd)
set_color normal
printf '%s ' (__fish_git_prompt)
set_color normal
end

View File

@ -0,0 +1,86 @@
# David JULIEN - GitLab@Swy7ch
# _____ _
# _____ ___ |___ |__| |__
# / __\ \ /\ / / | | | / / __| '_ \
# \__ \\ V V /| |_| |/ / (__| | | |
# |___/ \_/\_/ \__, /_/ \___|_| |_|
# |___/
# Start X at login
if status is-login
if test -z "$DISPLAY" -a $XDG_VTNR = 1
exec startx -- -keeptty
end
end
# True gruvbox colors in vim
#bash $HOME/.vim/plugins/gruvbox/gruvbox_256palette.sh
# User configuration
function fish_greeting
set_color $fish_color_autosuggestion
uname -msr
command -s uptime >/dev/null
and uptime
set_color normal
end
# Set less colors (-> manpages)
set -xU LESS_TERMCAP_md (printf "\e[01;36m")
set -xU LESS_TERMCAP_me (printf "\e[0m")
set -xU LESS_TERMCAP_se (printf "\e[0m")
set -xU LESS_TERMCAP_so (printf "\e[01;44;33em")
set -xU LESS_TERMCAP_ue (printf "\e[0m")
set -xU LESS_TERMCAP_us (printf "\e[01;32m")
# Set environment variables (user-wide)
export TERMINAL=st
#################################################
############### PROMPT CONFIG ################
#################################################
# CHAR
set SPACEFISH_CHAR_SYMBOL ""
# TIME
set SPACEFISH_TIME_SHOW false
#set SPACEFISH_TIME_COLOR white
set SPACEFISH_TIME_SUFFIX " > "
# USER
set SPACEFISH_USER_SHOW never
set SPACEFISH_USER_PREFIX"" # remove `with` before username
set SPACEFISH_USER_COLOR yellow
# DIR
set SPACEFISH_DIR_TRUNC 0
set SPACEFISH_DIR_PREFIX ""
# HOST
# Result will look like this:
# username@:(hostname)
set SPACEFISH_HOST_PREFIX "@["
set SPACEFISH_HOST_SUFFIX "]"
set SPACEFISH_HOST_SHOW never
# GIT
# Get spaces from `[...]`
set SPACEFISH_GIT_SYMBOL " "
set SPACEFISH_GIT_STATUS_DELETED ""
set SPACEFISH_GIT_STATUS_AHEAD ""
set SPACEFISH_GIT_STATUS_BEHIND ""
set SPACEFISH_GIT_TRUNC 3
# JOBS
set SPACEFISH_JOBS_SYMBOL ""

205
.config/.old/i3/config Normal file
View File

@ -0,0 +1,205 @@
# Swy7ch' config file for i3
# This file has been auto-generated by i3-config-wizard(1).
# It will not be overwritten, so edit it as you like.
#
# Should you change your keyboard layout some time, delete
# this file and re-run i3-config-wizard(1).
#
# i3 config file (v4)
#
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
set $super Mod4
set $alt Mod1
# Font for window titles. Will also be used by the bar unless a different font
# is used in the bar {} block below.
font pango: FuraCode Nerd Font Mono 10
# This font is widely installed, provides lots of unicode glyphs, right-to-left
# text rendering and scalability on retina/hidpi displays (thanks to pango).
#font pango:DejaVu Sans Mono 8
# Before i3 v4.8, we used to recommend this one as the default:
# font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
# The font above is very space-efficient, that is, it looks good, sharp and
# clear in small sizes. However, its unicode glyph coverage is limited, the old
# X core fonts rendering does not support right-to-left and this being a bitmap
# font, it doesnt scale on retina/hidpi displays.
# Use Mouse+$super to drag floating windows to their wanted position
floating_modifier $super
# Execute at launch
exec_always --no-startup-id $HOME/.config/polybar/launch.sh
exec_always --no-startup-id feh --bg-fill $HOME/.wallpaper.png
exec --no-startup-id compton --config $HOME/.config/compton/compton.conf
exec --no-startup-id xss-lock -- i3lock -n -i $HOME/.lockscreen.png
exec --no-startup-id redshift
exec --no-startup-id pamixer --set-volume 40
exec --no-startup-id setxkbmap 'fr(oss)'
# Trackpad settings
exec --no-startup-id xinput set-prop 13 'libinput Tapping Enabled' 1
exec --no-startup-id xinput set-prop 13 'libinput Natural Scrolling En abled' 1
# exec_always xinput --no-startup-id set-prop 13 'libinput Disable While Typing Enabled' 1
# Mouse acceleration
exec --no-startup-id xinput set-prop 13 'libinput Accel Speed' 0.4
# Common app launchers
bindsym $super+Return exec st;focus
bindsym $super+Shift+Return workspace 1;exec st;focus
bindsym $super+Shift+i workspace 1;exec st -e gotop;focus
bindsym $super+Shift+f workspace 1;exec st -e ranger;focus
bindsym $super+Shift+w exec qutebrowser;workspace 2; focus
bindsym $super+$alt+w exec firefox-beta;workspace 2;focus
bindsym $super+Shift+m workspace 2;exec st -e neomutt;focus
bindsym $super+Shift+n exec firefox-beta -private-window;workspace 2;focus
bindsym $super+Shift+c exec whatsie;workspace 4;focus
bindsym $super+Shift+p exec pavucontrol;workspace 5;focus
bindsym $super+Shift+s exec spotify;workspace 5; focus
# Control the audio
bindsym F3 exec pamixer --increase 7
bindsym F2 exec pamixer --decrease 7
bindsym F1 exec pamixer --toggle-mute
# Control display backlight
bindsym F6 exec xbacklight -inc 5
bindsym F5 exec xbacklight -dec 5
# kill focused window
bindsym $super+w kill
# start dmenu (a program launcher)
bindsym $super+d exec rofi -lines 12 -padding 18 -width 60 -location 0 -show drun -sidebar-supere -columns 3 -font 'FuraCode Nerd Font Mono 12' -theme purple
# There also is the (new) i3-dmenu-desktop which only displays applications
# shipping a .desktop file. It is a wrapper around dmenu, so you need that
# installed.
# bindsym $super+d exec --no-startup-id i3-dmenu-desktop
# change focus
bindsym $super+h focus left
bindsym $super+j focus down
bindsym $super+k focus up
bindsym $super+l focus right
# move focused window
bindsym $super+Shift+h move left
bindsym $super+Shift+j move down
bindsym $super+Shift+k move up
bindsym $super+Shift+l move right
# split in horizontal orientation
bindsym $super+c split h
# split in vertical orientation
bindsym $super+v split v
# enter fullscreen supere for the focused container
bindsym $super+f fullscreen toggle
# change container layout (stacked, tabbed, toggle split)
bindsym $super+s layout stacking
bindsym $super+z layout tabbed
bindsym $super+e layout toggle split
# toggle tiling / floating
bindsym $super+Shift+space floating toggle
# change focus between tiling / floating windows
bindsym $super+space focus mode_toggle
# Define names for default workspaces for which we configure key bindings later on.
# We use variables to avoid repeating the names in multiple places.
set $ws1 "1"
set $ws2 "2"
set $ws3 "3"
set $ws4 "4"
set $ws5 "5"
set $ws6 "6"
set $ws7 "7"
set $ws8 "8"
set $ws9 "9"
set $ws10 "10"
# switch to workspace
bindsym $super+1 workspace $ws1
bindsym $super+2 workspace $ws2
bindsym $super+3 workspace $ws3
bindsym $super+4 workspace $ws4
bindsym $super+5 workspace $ws5
bindsym $super+6 workspace $ws6
bindsym $super+7 workspace $ws7
bindsym $super+8 workspace $ws8
bindsym $super+9 workspace $ws9
bindsym $super+0 workspace $ws10
# move focused container to workspace
bindsym $super+Shift+1 move container to workspace $ws1
bindsym $super+Shift+2 move container to workspace $ws2
bindsym $super+Shift+3 move container to workspace $ws3
bindsym $super+Shift+4 move container to workspace $ws4
bindsym $super+Shift+5 move container to workspace $ws5
bindsym $super+Shift+6 move container to workspace $ws6
bindsym $super+Shift+7 move container to workspace $ws7
bindsym $super+Shift+8 move container to workspace $ws8
bindsym $super+Shift+9 move container to workspace $ws9
bindsym $super+Shift+0 move container to workspace $ws10
# reload the configuration file
bindsym $super+Control+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $super+Shift+r restart
# exit i3 (logs you out of your X session)
bindsym $super+q exec "i3-nagbar -t warning -m 'Do you want to exit i3?' -B 'Yes, exit i3' 'i3-msg exit'"
# lock the screen
bindsym $super+Control+l exec i3lock -n -i $HOME/Images/red_rocks.png
# resize window (you can also use the mouse for that)
mode "resize" {
# These bindings trigger as soon as you enter the resize supere
# Pressing left will shrink the windows width.
# Pressing right will grow the windows width.
# Pressing up will shrink the windows height.
# Pressing down will grow the windows height.
bindsym j resize shrink width 10 px or 10 ppt
bindsym k resize grow height 10 px or 10 ppt
bindsym l resize shrink height 10 px or 10 ppt
bindsym m resize grow width 10 px or 10 ppt
# same bindings, but for the arrow keys
bindsym Left resize shrink width 10 px or 10 ppt
bindsym Down resize grow height 10 px or 10 ppt
bindsym Up resize shrink height 10 px or 10 ppt
bindsym Right resize grow width 10 px or 10 ppt
# back to normal: Enter or Escape or $super+r
bindsym Return supere "default"
bindsym Escape supere "default"
bindsym $super+r supere "default"
}
bindsym $super+r mode "resize"
# window rules, you can find the window class using xprop
for_window [class=".*"] border pixel 3
assign [class="Firefox Beta|Qutebrowser"] 2
assign [class="Inkscape"] 3
assign [class="Transmission"] 4
assign [class="Pavucontrol|Spotify|mpv"] 5
# colour of border, background, text, indicator, and child_border
client.focused #bf616a #2f343f #d8dee8 #b16286 #83a598
client.focused_inactive #2f343f #2f343f #d8dee8 #2f343f #2f343f
client.unfocused #2f343f #2f343f #d8dee8 #2f343f #427b58
client.urgent #2f343f #2f343f #d8dee8 #2f343f #2f343f
client.placeholder #2f343f #2f343f #d8dee8 #2f343f #2f343f
client.background #2f343f
# Gaps
gaps inner 5
gaps outer 5

187
.config/.old/ncmpc/config Normal file
View File

@ -0,0 +1,187 @@
##
## Configuration file for ncmpc (~/.config/ncmpc/config)
##
############## Connection ###################
## Connect to mpd running on a specified host
#host = "localhost"
## Connect to mpd on the specified port.
#port = 6600
## Connect to mpd using the specified password.
#password = "secret"
## Reconnect after NUM seconds of MPD not responding.
#timeout = 5
############## Interface ####################
## Enable mouse support (if enabled at compile time).
#enable-mouse = no
# Which tags shall be grouped on the library page?
#library-page-tags = artist album
## A list of screens to cycle through when using
## the previous/next screen commands (tab and shift+tab).
## names: playlist browse help library search song keydef lyrics outputs chat
screen-list = playlist browse
## Default search mode for the search screen. The mode is an
## integer index, with 0 for title, 1 for artist, 2 for album,
## 3 for filename, and 4 for artist+title.
#search-mode = 0
## Auto center (center the playing track in the playlist)
auto-center = yes
## Keep at least NUM lines above and below the cursor on list windows, if possible.
scroll-offset = 4
## Show the most recent query when using find.
#find-show-last = no
## Wrapped find mode.
#find-wrap = yes
## Wrapped cursor movement.
#wrap-around = no
## Ring bell when find wraps around.
#bell-on-wrap = yes
## Sound audible bell on alerts.
#audible-bell = yes
## Enable visible bell on alerts.
#visible-bell = no
## Default crossfade time in seconds.
#crossfade-time = 10
## Seek forward/backward by NUM seconds.
#seek-time = 1
## Quits downloading lyrics of a song after the timeout of NUM seconds is reached, if NUM is greater than zero.
#lyrics-timeout = 60
############## Display ######################
## Show a list of the screens in the top line.
#welcome-screen-list = yes
## Make the cursor as wide as the screen.
#wide-cursor = yes
## Use the terminal's hardware cursor instead of inverse colors
#hardware-cursor = yes
## Hide playlist cursor after x seconds (0 disables this feature).
#hide-cursor = 5
## Scroll the title if it is too long for the screen.
scroll = yes
## The separator to show at the end of the scrolling title.
scroll-sep = " *** "
## list-format
## The format used to display songs in the main window.
#list-format = "%name%|[[%artist%|%performer%|%composer%] - ][%title%|%shortfile%]"
## The format used to display songs in the search window.
#search-format = "%name%|[[%artist%|%performer%|%composer%] - ][%title%|%shortfile%]"
## The format used to display songs on the status line.
#status-format = "[[%artist%|%performer%|%composer%] - ][%title%|%shortfile%]"
## The time, in seconds, for which status messages will be displayed.
#status-message-time = 3
## Sets whether to display remaining or elapsed time in
## the status window. Default is elapsed.
#timedisplay-type = elapsed
## Show the bitrate in the status bar when playing a stream.
#visible-bitrate = no
## Change the XTerm title (ncmpc will not restore the title).
#set-xterm-title = no
## The format used to for the xterm title when ncmpc is playing.
#xterm-title-format = "ncmpc: [%name%|[[%artist%|%performer%|%composer%] - ][%title%|%shortfile%]]"
## Automatically save the lyrics after receiving them.
#lyrics-autosave = no
## Show the name of the plugin used to receive lyrics on the lyrics screen.
#lyrics-show-plugin = no
## The text editor used for editing lyrics.
#text-editor = emacs
## Ask before starting an editor.
#text-editor-ask = yes
## The prefix of chat messages
#chat-prefix = "<user> "
## Display song length in second column
#second-column = yes
############## Colors #######################
## colors: none, black, red, green, yellow, blue, magenta, cyan, white
## attributes: standout, underline, reverse, blink, dim, bold
##
## Colors can also be given as an integer representing a terminal specific
## color code. The special color, none, represents the terminals default color.
## Enable/disable colors.
#enable-colors = no
## Set the background color.
#color background = black
## Set the text color for the title row.
color title = white/black
## Set the text color for the title row (the bold part).
#color title-bold = yellow,bold
## Set the color of the line on the second row.
#color line = white
## Set the text color used to indicate mpd flags on the second row.
#color line-flags = white,bold
## Set the text color in the main area of ncmpc.
#color list = yellow
## Set the bold text color in the main area of ncmpc.
#color list-bold = green,bold
## Sets the text color of directories in the browser
#color browser-directory = yellow
## Sets the text color of playlists in the browser
#color browser-playlist = red
## Set the color of the progress indicator.
color progressbar = blue/black
## Set the text color used to display mpd status in the status window.
color status-state = yellow,bold/black
## Set the text color used to display song names in the status window.
color status-song = green,bold/black
## Set the text color used to display time the status window.
#color status-time = red
## Text color used to display alerts in the status window.
#color alert = red,bold
## Redefine any of the base colors.
## The RGB values must be an integer value between 0 and 1000.
## Note: Only some terminals allow redefinitions of colors!
#colordef yellow = 255, 140, 0

View File

@ -0,0 +1,765 @@
# Swy7ch' config file for neofetch
# See this wiki page for more info:
# https://github.com/dylanaraps/neofetch/wiki/Customizing-Info
print_info() {
prin
info title
info underline
info "OS" distro
#info "Host" model
info "Kernel" kernel
info "Uptime" uptime
info "Packages" packages
info "Shell" shell
#info "Resolution" resolution
#info "DE" de
info "WM" wm
info "WM Theme" wm_theme
# info "Theme" theme
# info "Icons" icons
info "Terminal" term
info "Terminal Font" term_font
#info "CPU" cpu
#info "GPU" gpu
info "Memory" memory
# info "GPU Driver" gpu_driver # Linux/macOS only
# info "CPU Usage" cpu_usage
# info "Disk" disk
# info "Battery" battery
# info "Font" font
# info "Song" song
# [[ $player ]] && prin "Music Player" "$player"
# info "Local IP" local_ip
# info "Public IP" public_ip
# info "Users" users
# info "Locale" locale # This only works on glibc systems.
info cols
}
# Kernel
# Shorten the output of the kernel function.
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --kernel_shorthand
# Supports: Everything except *BSDs (except PacBSD and PC-BSD)
#
# Example:
# on: '4.8.9-1-ARCH'
# off: 'Linux 4.8.9-1-ARCH'
kernel_shorthand="off"
# Distro
# Shorten the output of the distro function
#
# Default: 'off'
# Values: 'on', 'off', 'tiny'
# Flag: --distro_shorthand
# Supports: Everything except Windows and Haiku
distro_shorthand="off"
# Show/Hide OS Architecture.
# Show 'x86_64', 'x86' and etc in 'Distro:' output.
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --os_arch
#
# Example:
# on: 'Arch Linux x86_64'
# off: 'Arch Linux'
os_arch="on"
# Uptime
# Shorten the output of the uptime function
#
# Default: 'on'
# Values: 'on', 'off', 'tiny'
# Flag: --uptime_shorthand
#
# Example:
# on: '2 days, 10 hours, 3 mins'
# off: '2 days, 10 hours, 3 minutes'
# tiny: '2d 10h 3m'
uptime_shorthand="on"
# Memory
# Show memory pecentage in output.
#
# Default: 'off'
# Values: 'on', 'off'
# Flag: --memory_percent
#
# Example:
# on: '1801MiB / 7881MiB (22%)'
# off: '1801MiB / 7881MiB'
memory_percent="off"
# Packages
# Show/Hide Package Manager names.
#
# Default: 'tiny'
# Values: 'on', 'tiny' 'off'
# Flag: --package_managers
#
# Example:
# on: '998 (pacman), 8 (flatpak), 4 (snap)'
# tiny: '908 (pacman, flatpak, snap)'
# off: '908'
package_managers="on"
# Shell
# Show the path to $SHELL
#
# Default: 'off'
# Values: 'on', 'off'
# Flag: --shell_path
#
# Example:
# on: '/bin/bash'
# off: 'bash'
shell_path="on"
# Show $SHELL version
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --shell_version
#
# Example:
# on: 'bash 4.4.5'
# off: 'bash'
shell_version="on"
# CPU
# CPU speed type
#
# Default: 'bios_limit'
# Values: 'scaling_cur_freq', 'scaling_min_freq', 'scaling_max_freq', 'bios_limit'.
# Flag: --speed_type
# Supports: Linux with 'cpufreq'
# NOTE: Any file in '/sys/devices/system/cpu/cpu0/cpufreq' can be used as a value.
speed_type="bios_limit"
# CPU speed shorthand
#
# Default: 'off'
# Values: 'on', 'off'.
# Flag: --speed_shorthand
# NOTE: This flag is not supported in systems with CPU speed less than 1 GHz
#
# Example:
# on: 'i7-6500U (4) @ 3.1GHz'
# off: 'i7-6500U (4) @ 3.100GHz'
speed_shorthand="off"
# Enable/Disable CPU brand in output.
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --cpu_brand
#
# Example:
# on: 'Intel i7-6500U'
# off: 'i7-6500U (4)'
cpu_brand="on"
# CPU Speed
# Hide/Show CPU speed.
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --cpu_speed
#
# Example:
# on: 'Intel i7-6500U (4) @ 3.1GHz'
# off: 'Intel i7-6500U (4)'
cpu_speed="on"
# CPU Cores
# Display CPU cores in output
#
# Default: 'logical'
# Values: 'logical', 'physical', 'off'
# Flag: --cpu_cores
# Support: 'physical' doesn't work on BSD.
#
# Example:
# logical: 'Intel i7-6500U (4) @ 3.1GHz' (All virtual cores)
# physical: 'Intel i7-6500U (2) @ 3.1GHz' (All physical cores)
# off: 'Intel i7-6500U @ 3.1GHz'
cpu_cores="logical"
# CPU Temperature
# Hide/Show CPU temperature.
# Note the temperature is added to the regular CPU function.
#
# Default: 'off'
# Values: 'C', 'F', 'off'
# Flag: --cpu_temp
# Supports: Linux, BSD
# NOTE: For FreeBSD and NetBSD-based systems, you'll need to enable
# coretemp kernel module. This only supports newer Intel processors.
#
# Example:
# C: 'Intel i7-6500U (4) @ 3.1GHz [27.2°C]'
# F: 'Intel i7-6500U (4) @ 3.1GHz [82.0°F]'
# off: 'Intel i7-6500U (4) @ 3.1GHz'
cpu_temp="off"
# GPU
# Enable/Disable GPU Brand
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --gpu_brand
#
# Example:
# on: 'AMD HD 7950'
# off: 'HD 7950'
gpu_brand="on"
# Which GPU to display
#
# Default: 'all'
# Values: 'all', 'dedicated', 'integrated'
# Flag: --gpu_type
# Supports: Linux
#
# Example:
# all:
# GPU1: AMD HD 7950
# GPU2: Intel Integrated Graphics
#
# dedicated:
# GPU1: AMD HD 7950
#
# integrated:
# GPU1: Intel Integrated Graphics
gpu_type="all"
# Resolution
# Display refresh rate next to each monitor
# Default: 'off'
# Values: 'on', 'off'
# Flag: --refresh_rate
# Supports: Doesn't work on Windows.
#
# Example:
# on: '1920x1080 @ 60Hz'
# off: '1920x1080'
refresh_rate="on"
# Gtk Theme / Icons / Font
# Shorten output of GTK Theme / Icons / Font
#
# Default: 'off'
# Values: 'on', 'off'
# Flag: --gtk_shorthand
#
# Example:
# on: 'Numix, Adwaita'
# off: 'Numix [GTK2], Adwaita [GTK3]'
gtk_shorthand="off"
# Enable/Disable gtk2 Theme / Icons / Font
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --gtk2
#
# Example:
# on: 'Numix [GTK2], Adwaita [GTK3]'
# off: 'Adwaita [GTK3]'
gtk2="on"
# Enable/Disable gtk3 Theme / Icons / Font
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --gtk3
#
# Example:
# on: 'Numix [GTK2], Adwaita [GTK3]'
# off: 'Numix [GTK2]'
gtk3="on"
# IP Address
# Website to ping for the public IP
#
# Default: 'http://ident.me'
# Values: 'url'
# Flag: --ip_host
public_ip_host="http://ident.me"
# Public IP timeout.
#
# Default: '2'
# Values: 'int'
# Flag: --ip_timeout
public_ip_timeout=2
# Disk
# Which disks to display.
# The values can be any /dev/sdXX, mount point or directory.
# NOTE: By default we only show the disk info for '/'.
#
# Default: '/'
# Values: '/', '/dev/sdXX', '/path/to/drive'.
# Flag: --disk_show
#
# Example:
# disk_show=('/' '/dev/sdb1'):
# 'Disk (/): 74G / 118G (66%)'
# 'Disk (/mnt/Videos): 823G / 893G (93%)'
#
# disk_show=('/'):
# 'Disk (/): 74G / 118G (66%)'
#
disk_show=('/')
# Disk subtitle.
# What to append to the Disk subtitle.
#
# Default: 'mount'
# Values: 'mount', 'name', 'dir'
# Flag: --disk_subtitle
#
# Example:
# name: 'Disk (/dev/sda1): 74G / 118G (66%)'
# 'Disk (/dev/sdb2): 74G / 118G (66%)'
#
# mount: 'Disk (/): 74G / 118G (66%)'
# 'Disk (/mnt/Local Disk): 74G / 118G (66%)'
# 'Disk (/mnt/Videos): 74G / 118G (66%)'
#
# dir: 'Disk (/): 74G / 118G (66%)'
# 'Disk (Local Disk): 74G / 118G (66%)'
# 'Disk (Videos): 74G / 118G (66%)'
disk_subtitle="mount"
# Song
# Manually specify a music player.
#
# Default: 'auto'
# Values: 'auto', 'player-name'
# Flag: --music_player
#
# Available values for 'player-name':
#
# amarok
# audacious
# banshee
# bluemindo
# clementine
# cmus
# deadbeef
# deepin-music
# dragon
# elisa
# exaile
# gnome-music
# gmusicbrowser
# guayadeque
# iTunes
# juk
# lollypop
# mocp
# mopidy
# mpd
# netease-cloud-music
# pogo
# pragha
# qmmp
# quodlibet
# rhythmbox
# sayonara
# smplayer
# spotify
# tomahawk
# vlc
# xmms2d
# yarock
music_player="auto"
# Format to display song information.
#
# Default: '%artist% - %album% - %title%'
# Values: '%artist%', '%album%', '%title%'
# Flag: --song_format
#
# Example:
# default: 'Song: Jet - Get Born - Sgt Major'
song_format="%artist% - %album% - %title%"
# Print the Artist, Album and Title on separate lines
#
# Default: 'off'
# Values: 'on', 'off'
# Flag: --song_shorthand
#
# Example:
# on: 'Artist: The Fratellis'
# 'Album: Costello Music'
# 'Song: Chelsea Dagger'
#
# off: 'Song: The Fratellis - Costello Music - Chelsea Dagger'
song_shorthand="off"
# 'mpc' arguments (specify a host, password etc).
#
# Default: ''
# Example: mpc_args=(-h HOST -P PASSWORD)
mpc_args=()
# Text Colors
# Text Colors
#
# Default: 'distro'
# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num'
# Flag: --colors
#
# Each number represents a different part of the text in
# this order: 'title', '@', 'underline', 'subtitle', 'colon', 'info'
#
# Example:
# colors=(distro) - Text is colored based on Distro colors.
# colors=(4 6 1 8 8 6) - Text is colored in the order above.
colors=(9 15 15 15 15 15)
# Text Options
# Toggle bold text
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --bold
bold="on"
# Enable/Disable Underline
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --underline
underline_enabled="on"
# Underline character
#
# Default: '-'
# Values: 'string'
# Flag: --underline_char
underline_char="-"
# Info Separator
# Replace the default separator with the specified string.
#
# Default: ':'
# Flag: --separator
#
# Example:
# separator="->": 'Shell-> bash'
# separator=" =": 'WM = dwm'
separator=":"
# Color Blocks
# Color block range
# The range of colors to print.
#
# Default: '0', '7'
# Values: 'num'
# Flag: --block_range
#
# Example:
#
# Display colors 0-7 in the blocks. (8 colors)
# neofetch --block_range 0 7
#
# Display colors 0-15 in the blocks. (16 colors)
# neofetch --block_range 0 15
block_range=(0 15)
# Toggle color blocks
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --color_blocks
color_blocks="on"
# Color block width in spaces
#
# Default: '3'
# Values: 'num'
# Flag: --block_width
block_width=4
# Color block height in lines
#
# Default: '1'
# Values: 'num'
# Flag: --block_height
block_height=1
# Progress Bars
# Bar characters
#
# Default: '-', '='
# Values: 'string', 'string'
# Flag: --bar_char
#
# Example:
# neofetch --bar_char 'elapsed' 'total'
# neofetch --bar_char '-' '='
bar_char_elapsed="-"
bar_char_total="="
# Toggle Bar border
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --bar_border
bar_border="on"
# Progress bar length in spaces
# Number of chars long to make the progress bars.
#
# Default: '15'
# Values: 'num'
# Flag: --bar_length
bar_length=15
# Progress bar colors
# When set to distro, uses your distro's logo colors.
#
# Default: 'distro', 'distro'
# Values: 'distro', 'num'
# Flag: --bar_colors
#
# Example:
# neofetch --bar_colors 3 4
# neofetch --bar_colors distro 5
bar_color_elapsed="distro"
bar_color_total="distro"
# Info display
# Display a bar with the info.
#
# Default: 'off'
# Values: 'bar', 'infobar', 'barinfo', 'off'
# Flags: --cpu_display
# --memory_display
# --battery_display
# --disk_display
#
# Example:
# bar: '[---=======]'
# infobar: 'info [---=======]'
# barinfo: '[---=======] info'
# off: 'info'
cpu_display="off"
memory_display="off"
battery_display="off"
disk_display="off"
# Backend Settings
# Image backend.
#
# Default: 'ascii'
# Values: 'ascii', 'caca', 'chafa', 'jp2a', 'iterm2', 'off',
# 'termpix', 'pixterm', 'tycat', 'w3m', 'kitty'
# Flag: --backend
image_backend="ascii"
# Image Source
#
# Which image or ascii file to display.
#
# Default: 'auto'
# Values: 'auto', 'ascii', 'wallpaper', '/path/to/img', '/path/to/ascii', '/path/to/dir/'
# 'command output (neofetch --ascii "$(fortune | cowsay -W 30)")'
# Flag: --source
#
# NOTE: 'auto' will pick the best image source for whatever image backend is used.
# In ascii mode, distro ascii art will be used and in an image mode, your
# wallpaper will be used.
image_source="auto"
# Ascii Options
# Ascii distro
# Which distro's ascii art to display.
#
# Default: 'auto'
# Values: 'auto', 'distro_name'
# Flag: --ascii_distro
#
# NOTE: Arch and Ubuntu have 'old' logo variants.
# Change this to 'arch_old' or 'ubuntu_old' to use the old logos.
# NOTE: Ubuntu has flavor variants.
# Change this to 'Lubuntu', 'Xubuntu', 'Ubuntu-GNOME' or 'Ubuntu-Budgie' to use the flavors.
# NOTE: Arch, Crux and Gentoo have a smaller logo variant.
# Change this to 'arch_small', 'crux_small' or 'gentoo_small' to use the small logos.
ascii_distro="arch_old"
# Ascii Colors
#
# Default: 'distro'
# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num'
# Flag: --ascii_colors
#
# Example:
# ascii_colors=(distro) - Ascii is colored based on Distro colors.
# ascii_colors=(4 6 1 8 8 6) - Ascii is colored using these colors.
ascii_colors=(2 2)
# Bold ascii logo
# Whether or not to bold the ascii logo.
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --ascii_bold
ascii_bold="on"
# Image Options
# Image loop
# Setting this to on will make neofetch redraw the image constantly until
# Ctrl+C is pressed. This fixes display issues in some terminal emulators.
#
# Default: 'off'
# Values: 'on', 'off'
# Flag: --loop
image_loop="off"
# Thumbnail directory
#
# Default: '~/.cache/thumbnails/neofetch'
# Values: 'dir'
thumbnail_dir="${XDG_CACHE_HOME:-${HOME}/.cache}/thumbnails/neofetch"
# Crop mode
#
# Default: 'normal'
# Values: 'normal', 'fit', 'fill'
# Flag: --crop_mode
#
# See this wiki page to learn about the fit and fill options.
# https://github.com/dylanaraps/neofetch/wiki/What-is-Waifu-Crop%3F
crop_mode="normal"
# Crop offset
# Note: Only affects 'normal' crop mode.
#
# Default: 'center'
# Values: 'northwest', 'north', 'northeast', 'west', 'center'
# 'east', 'southwest', 'south', 'southeast'
# Flag: --crop_offset
crop_offset="center"
# Image size
# The image is half the terminal width by default.
#
# Default: 'auto'
# Values: 'auto', '00px', '00%', 'none'
# Flags: --image_size
# --size
image_size="auto"
# Gap between image and text
#
# Default: '3'
# Values: 'num', '-num'
# Flag: --gap
gap=3
# Image offsets
# Only works with the w3m backend.
#
# Default: '0'
# Values: 'px'
# Flags: --xoffset
# --yoffset
yoffset=0
xoffset=0
# Image background color
# Only works with the w3m backend.
#
# Default: ''
# Values: 'color', 'blue'
# Flag: --bg_color
background_color=
# Misc Options
# Stdout mode
# Turn off all colors and disables image backend (ASCII/Image).
# Useful for piping into another command.
# Default: 'off'
# Values: 'on', 'off'
stdout="off"

View File

@ -0,0 +1,41 @@
" Author : swytch
" Created : 06/05/2020
" License : GPLv3
" Description : groff filetype config
inoremap <buffer> à \[`a]
inoremap <buffer> 'A \[`A]
inoremap <buffer> â \[^a]
inoremap <buffer> Â \[^A]
inoremap <buffer> ç \[,c]
inoremap <buffer> CC \[,C]
inoremap <buffer> é \['e]
inoremap <buffer> 'E \['E]
inoremap <buffer> è \[`e]
inoremap <buffer> ê \[^e]
inoremap <buffer> Ê \[^E]
inoremap <buffer> ï \[¨i]
inoremap <buffer> î \[^i]
inoremap <buffer> Î \[^I]
inoremap <buffer> oe \[oe]
inoremap <buffer> ô \[^o]
inoremap <buffer> Ô \[^O]
inoremap <buffer> û \[^u]
inoremap <buffer> ù \[`u]
" Unbreakable space before 'etc'
inoremap <buffer> <Space>etc \~etc.
" Unbreakable space before ':'
inoremap <buffer> <Space>: \~:
" Centered point
inoremap <buffer> .. \[u00B7]
" Italics
inoremap <buffer> II \*[IT]\*[PREV]<Esc>F\i
" Bold
inoremap <buffer> BB \*[BD]\*[PREV]<Esc>F\i
" Bold + Italics
inoremap <buffer> BI \*[BDI]\*[PREV]<Esc>F\i
" Real dashes
" - short one
inoremap <buffer> -- \[en]
" -- long one
inoremap <buffer> __ \[em]

View File

@ -0,0 +1,11 @@
" Author : swytch
" Created : 06/05/2020
" License : GPLv3
" Description : python filetype config
" PEP8
set tabstop=4
set softtabstop=4
set shiftwidth=4
set textwidth=80
set expandtab

View File

@ -0,0 +1,28 @@
" Author : swytch
" Created : 06/05/2020
" License : GPLv3
" Description : tex filetype config
" spellcheck enabled
setlocal spell spelllang=fr
" Caps
inoremap <buffer> AA À
inoremap <buffer> CC Ç
inoremap <buffer> EE É
" Unbreakable space before 'etc'
inoremap <buffer> <Space>etc \,etc.
" Unbreakable space before ':'
inoremap <buffer> <Space>: \,:
" Centered point
inoremap <buffer> .. \textperiodcentered
" But don't overreact
inoremap <buffer> ... ...
" Italics
inoremap <buffer> II \textit{}<Esc>i
" Bold
inoremap <buffer> BB \textbf{}<Esc>i
" Bold + Italics
inoremap <buffer> BI \textit{\textbf{}}<Esc>hi
" Smallcaps
inoremap <buffer> SC \fsc{}<Esc>i

View File

@ -0,0 +1,8 @@
" Author : swytch
" Created : 06/05/2020
" License : GPLv3
" Description : text filetype config
setlocal spell spelllang=fr,en_us
set expandtab
noremap <leader><Enter> :w! \| :!sent % &<CR><CR>

View File

@ -0,0 +1,6 @@
" Author : swytch
" Created : 06/05/2020
" License : GPLv3
" Description : verilog fietype config
noremap <leader><Enter> :w! \| :CoqRunToCursor<CR>

View File

@ -0,0 +1,181 @@
" Author : swytch
" Created : 06/05/2020
" License : GPLv3
" Description : My own personnal nvim configuration
"" Plugin stuff
" Vim-Plug
""""""""""""""""""""""""""""""""""""""""""""""""""
" Autoinstall Plug
if empty(glob('~/.local/share/nvim/site/autoload/plug.vim'))
echo "Downloading junegunn/vim-plug"
silent !curl -fLo '~/.local/share/nvim/site/autoload/plug.vim' --create-dir \
'https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
endif
" Plugins will be downloaded under the specified directory
call plug#begin('$HOME/.config/nvim/plugged')
""""""""""""""""""""""""""""""""""""""""""""""""""
" Language highlighting packages
Plug 'sheerun/vim-polyglot'
" Indentation guides
Plug 'nathanaelkane/vim-indent-guides'
" Colorscheme management
Plug 'lifepillar/vim-colortemplate'
" Neovim colorizer
Plug 'norcalli/nvim-colorizer.lua'
" Templates
Plug 'tibabit/vim-templates'
" All Plugins must be added before the following line
call plug#end()
" Brief help
" :PlugInstall - installs plugins; append `!` to update or just :PluginUpdate
" :PlugUpdate - updates plugins
" :PlugUpgrade - upgrades vim-plug
" :PlugClean - confirms removal of unused plugins; append `!` to auto-approve removal
" Indent Guides
let g:indent_guides_enable_on_vim_startup=1
"" General
""""""""""""""""""""""""""""""""""""""""""""""""""
" Set vim update time (milliseconds)
set updatetime=250
" Detect filetypes plugins and indent rules
filetype plugin indent on
" Defining the <leader>
map <Space> <leader>
" Remove the pause when leaving insert mode
set ttimeoutlen=10
" No netrw history
let g:netrw_dirhistmax=0
"" User Interface
""""""""""""""""""""""""""""""""""""""""""""""""""
" Shows the current position
set number
" Shows line numbers relative to the cursor
set relativenumber
" A buffer becomes hidden when abandonned
set hid
" Shows matching brackets when cursor is over them
set showmatch
" Splits to the right
set splitright
" Prevents nvim from being customized by text files commands
set nomodeline
" GUI colors
set termguicolors
" Colorscheme
set background=dark
colorscheme polyjuice
" Change cursor behaviour when entering insert mode
let &t_SI.="\e[6 q" "SI = INSERT mode // steady bar
let &t_SR.="\e[4 q" "SR = REPLACE mode // underline
"" Text, tab and indent
""""""""""""""""""""""""""""""""""""""""""""""""""
" Do not use spaces instead of tabs
set noexpandtab
" 1 tab = 4 spaces
set tabstop=4
set shiftwidth=4
" Indent and wrap rules
set autoindent
" Formatting
set textwidth=80
autocmd FileType * setlocal formatoptions+=jpt
autocmd FileType * setlocal formatoptions-=ro
" Enable autocompletion
set wildmode=longest,full
" Automatically remove all trailing whitespaces on save
autocmd BufWritePre * %s/\s\+$//e
" To recognize groff filetype
au BufNewFile,BufRead *.mom set filetype=groff
" Always use LaTeX flavor
au BufNewFile,BufRead *.tex set filetype=tex
"" Status line
"""""""""""""""""""""""""""""""""""""""""""""""""""
"Don't show editor mode
set noshowmode
source $XDG_CONFIG_HOME/nvim/statusline.vim
augroup statusline
autocmd!
autocmd VimEnter *
\ call UpdateInactiveWindows()
autocmd VimEnter,WinEnter,BufWinEnter *
\ call RefreshStatusLine('active')
autocmd WinLeave *
\ call RefreshStatusLine('inactive')
augroup END
"" Misc
""""""""""""""""""""""""""""""""""""""""""""""""""
" Templates location
let g:tmpl_search_paths=['$XDG_CONFIG_HOME/nvim/templates']
"" Macros
""""""""""""""""""""""""""""""""""""""""""""""""""
" Source files
noremap <leader>s :source ~/.config/nvim/init.vim <CR>
" Circle through buffers
noremap <leader>n :bn<CR>
noremap <leader>b :bp<CR>
" Clear the search highlight
noremap <leader>h :nohl<CR>
" Make use of xclipboard
nnoremap <leader>v "+p
vnoremap <leader>c "+y
" Compile document
noremap <leader><Enter> :w! \| !compiler %<CR>
" Compile mom folder into pdf
noremap <leader>m :w! \| !mommerge<CR>
" Plugin management
noremap <leader>pi :PlugInstall<CR>
noremap <leader>pc :PlugClean<CR>
noremap <leader>pu :PlugUpdate \| PlugUpgrade<CR>
" Colorize
noremap <leader>cc :ColorizerToggle<CR>
" Template
noremap <leader>ti :TemplateInit<CR>
noremap <leader>te :TemplateExpand<CR>

View File

@ -0,0 +1,10 @@
metadata
autrice
l'autrice
rice
Gaudé
Laurent
Kerangal
Maylis
d'Informatique
Andréas

View File

@ -0,0 +1,133 @@
" Author : swytch
" Created : 08/05/2020
" License : GPLv3
" Description : My own personnal statusline script
function! CurrentMode()
let g:currentmode={
\ 'n' : '[ NRM ]',
\ 'v' : '[ VIS ]',
\ 'V' : '[ V·L ]',
\ '' : '[ V·B ]',
\ 'i' : '[ INS ]',
\ 'R' : '[ RPL ]',
\ 'Rv' : '[ V·R ]',
\ 'c' : '[ CMD ]',
\}
return g:currentmode[mode()]
endfunction
function! ModeColor()
let g:modecolor={
\ 'n' : '%#NormalMode#',
\ 'v' : '%#VisualMode#',
\ 'V' : '%#VisualMode#',
\ '' : '%#VisualMode#',
\ 'i' : '%#InsertMode#',
\ 'R' : '%#ReplaceMode#',
\ 'Rv' : '%#ReplaceMode#',
\ 'c' : '%#CommandMode#',
\}
return g:modecolor[mode()]
endfunction
function! FileName()
let g:name=' '
if winwidth(0)>90
let g:name.='%F'
else
let g:name.='%t'
endif
return g:name
endfunction
function! StatusLine()
let l:statusline=''
" Buffer number
let l:statusline.='%#Buffer#'
let l:statusline.='[%n]'
" Show current mode
let l:statusline.=ModeColor()
let l:statusline.=CurrentMode().'%*'
" File path, absolute or relative to ~/
let l:statusline.='%#File#'
let l:statusline.=FileName()
" File status
let l:statusline .= "%{&readonly?' [RO]':''}"
let l:statusline .= "%{&modified?' [MO]':''}"
" Truncate line here
let l:statusline.='%<'
" Separation point between left and right aligned items.
let l:statusline.='%=%* '
let l:statusline.='%#SpellLocal#'
let l:statusline.="%{&spell?'[SPELL] ':''}%*"
" Filetype
let l:statusline.='%#FileType#'
let l:statusline.="%{&filetype!=#''?&filetype.' ':'no ft '}%*"
" Encoding & Fileformat
"let l:statusline.='%#WarningMsg#'
"let l:statusline.="%{&fileencoding!='utf-8'?'['.&fileencoding.'] ':''}%*"
" Depth
let l:statusline.='%#Percent#'
let l:statusline.='%03.p%%%* '
" Location of cursor in line
let l:statusline.='%#Column#'
let l:statusline.='-%03.c-'
return l:statusline
endfunction
function! StatusLineNC()
let l:statusline=''
" Buffer number
let l:statusline.='[%n]'
" File name and status
let l:statusline.=' %t'
let l:statusline .= "%{&readonly?' [RO]':''}"
let l:statusline .= "%{&modified?' [MO]':''}"
" Truncate line here
let l:statusline.='%<'
" Separation point between left and right aligned items.
let l:statusline.='%='
" Depth
let l:statusline.='%#Percent#'
let l:statusline.=' %03.p%%'
return l:statusline
endfunction
function! UpdateInactiveWindows()
for winnum in range(1, winnr('$'))
if winnum != winnr()
call setwinvar(winnum, '&statusline', '%!StatusLineNC()')
endif
endfor
endfunction
function! RefreshStatusLine(mode)
if a:mode == "active"
setlocal statusline=%!StatusLine()
else
setlocal statusline=%!StatusLineNC()
endif
endfunction

View File

@ -0,0 +1,10 @@
/**
* @author : {{NAME}} ({{EMAIL}})
* @file : {{FILE}}
* @license : {{LICENSE}}
* @created : {{TIMESTAMP}}
*/
#include "{{FILE}}.h"
{{CURSOR}}

View File

@ -0,0 +1,17 @@
/**
* @author : {{NAME}} ({{EMAIL}})
* @file : {{FILE}}
* @license : {{LICENSE}}
* @created : {{TIMESTAMP}}
*/
#include "{{FILE}}.hpp"
{{CAMEL_CLASS}}::{{CAMEL_CLASS}}()
{
{{CURSOR}}
}
{{CAMEL_CLASS}}::~{{CAMEL_CLASS}}()
{
}

View File

@ -0,0 +1,15 @@
/**
* @author : {{NAME}} ({{EMAIL}})
* @file : {{FILE}}
* @license : {{LICENSE}}
* @created : {{TIMESTAMP}}
*/
#ifndef {{MACRO_GUARD}}
#define {{MACRO_GUARD}}
{{CURSOR}}
#endif /* end of include guard {{MACRO_GUARD}} */

View File

@ -0,0 +1,22 @@
/**
* @author : {{NAME}} ({{EMAIL}})
* @file : {{FILE}}
* @license : {{LICENSE}}
* @created : {{TIMESTAMP}}
*/
#ifndef {{MACRO_GUARD}}
#define {{MACRO_GUARD}}
class {{CAMEL_CLASS}}
{
public:
{{CAMEL_CLASS}}({{CURSOR}});
virtual ~{{CAMEL_CLASS}}();
private:
/* private data */
};
#endif /* end of include guard {{MACRO_GUARD}} */

View File

@ -0,0 +1,14 @@
/**
* @author : {{NAME}} ({{EMAIL}})
* @file : {{FILE}}
* @license : {{LICENSE}}
* @created : {{TIMESTAMP}}
*/
#include <stdio.h>
int main()
{
{{CURSOR}}
return 0;
}

View File

@ -0,0 +1,14 @@
/**
* @author : {{NAME}} ({{EMAIL}})
* @file : {{FILE}}
* @license : {{LICENSE}}
* @created : {{TIMESTAMP}}
*/
#include <iostream>
int main()
{
{{CURSOR}}
return 0;
}

View File

@ -0,0 +1,28 @@
######################################################################
# @author : {{NAME}} ({{EMAIL}})
# @file : {{FILE}}
# @license : {{LICENSE}}
# @created : {{TIMESTAMP}}
######################################################################
IDIR =./include
CC=gcc
CFLAGS=-I$(IDIR)
ODIR=obj
LIBS=
_OBJ = main.o {{CURSOR}}
OBJ = $(patsubst %,$(ODIR)/%,$(_OBJ))
$(ODIR)/%.o: %.c
$(CC) -c -o $@ $< $(CFLAGS)
main: $(OBJ)
$(CC) -o $@ $^ $(CFLAGS) $(LIBS)
.PHONY: clean
clean:
rm -f $(ODIR)/*.o

View File

@ -0,0 +1,11 @@
#! /usr/bin/env python
#
# @author : {{NAME}} ({{EMAIL}})
# @file : {{FILE}}
# @license : {{LICENSE}}
# @created : {{TIMESTAMP}}
#
"""
{{CURSOR}}
"""

View File

@ -0,0 +1,12 @@
#!/usr/bin/env sh
######################################################################
# @author : {{NAME}} ({{EMAIL}})
# @file : {{FILE}}
# @license : {{LICENSE}}
# @created : {{TIMESTAMP}}
#
# @description : {{CURSOR}}
######################################################################

View File

@ -0,0 +1,4 @@
" Author : {{NAME}}
" Created : {{TODAY}}
" License : {{LICENSE}}
" Description : {{CURSOR}}

293
.config/.old/polybar/config Normal file
View File

@ -0,0 +1,293 @@
; Swy7ch' config file for polybar
;==========================================================
;
;
; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗
; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║
; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
;
;
; To learn more about how to configure Polybar
; go to https://github.com/jaagr/polybar
;
; The README contains alot of information
;
;==========================================================
[colors]
background = #171717
background-alt = #383838
foreground = #ebdbb2
foreground-alt = #d3869b
primary = #427b58
secondary = #d3869b
alert = #751715
;background = ${xrdb:color0:#222}
;background-alt = ${xrdb:color0:#222}
;foreground = ${xrdb:color7:#222}
;foreground-alt = ${xrdb:color7:#222}
;primary = ${xrdb:color1:#222}
;secondary = ${xrdb:color2:#222}
;alert = ${xrdb:color3:#222}
[bar/top]
dpi = 210
width = 100%
height = 35
radius = 0.0
fixed-center = true
background = ${colors.background}
foreground = ${colors.foreground}
line-size = 5
line-color = #f00
border-size = 0
border-color = #00000000
padding-left = 0
padding-right = 3
module-margin-left = 2
module-margin-right = 1
font-0 = "Fira Code:style=Regular:size=8:antialias=true;4"
font-1 = "FuraCode Nerd Font Mono:style=Regular:size=9:antialias=true;4"
modules-left = i3 xwindow
modules-right = xkeyboard alsa xbacklight network battery date
tray-position = right
tray-padding = 0
wm-restack = i3
;override-redirect = true
;scroll-up = i3wm-wsprev
;scroll-down = i3wm-wsnext
################################################################################
################################################################################
################################ MODULES ####################################
################################################################################
################################################################################
[module/xwindow]
type = internal/xwindow
label = %title:0:56:...%
[module/xkeyboard]
type = internal/xkeyboard
blacklist-0 = num lock
label-layout =
label-layout-underline = ${colors.primary}
label-indicator-padding = 1
label-indicator-margin = 0
label-indicator-foreground = ${colors.foreground}
label-indicator-background = ${colors.primary}
label-indicator-underline = ${colors.primary}
[module/i3]
type = internal/i3
format = <label-state> <label-mode> //
index-sort = true
wrapping-scroll = true
strip-wsnumbers = true
ws-icon-0 = 1;
ws-icon-1 = 2;
ws-icon-2 = 3;
ws-icon-3 = 4;
ws-icon-4 = 5;
ws-icon-5 = 6;調
ws-icon-default =
;
label-focused = %index% %icon%
label-focused-background = ${colors.background-alt}
label-focused-underline = ${colors.primary}
label-focused-padding = 1
label-unfocused = %index% %icon%
label-unfocused-padding = 1
label-visible = V %icon%
label-visible-background = ${self.label-focused-background}
label-visible-underline = ${self.label-focused-background}
label-visible-padding = ${self.label-focused-padding}
label-urgent = %index% %icon%
label-urgent-background = ${colors.alert}
label-urgent-padding = 2
[module/cpu]
type = internal/cpu
interval = 2
format-prefix = " "
;alt : 勞  
format-prefix-foreground = ${colors.foreground-alt}
format-underline = #00000000
label = %percentage:2%%
[module/memory]
type = internal/memory
interval = 2
format-prefix = "兩 "
format-prefix-foreground = ${colors.foreground-alt}
format-underline = #00000000
label = %percentage_used%%
[module/network]
type = internal/network
interface = wlp4s0
interval = 2.0
format-connected = <ramp-signal> <label-connected>
format-connected-underline = #00000000
label-connected = "%essid%"
format-disconnected = <label-disconnected>
format-disconnected-underline = ${colors.alert}
label-disconnected = xx.xx.xx.xx
label-disconnected-foreground = ${colors.foreground-alt}
ramp-signal-0 =
ramp-signal-foreground = ${colors.foreground-alt}
[module/date]
type = internal/date
interval = 1
date = "%a. %d/%m"
date-alt = "%Y-%m-%d"
time = " %I:%M %p"
time-alt = " %H:%M:%S"
format-prefix = 
format-prefix-foreground = ${colors.foreground-alt}
format-underline = #00000000
label = %time% | %date%
[module/temperature]
type = internal/temperature
thermal-zone = 0
warn-temperature = 70
format = <ramp> <label>
format-underline = #00000000
format-warn = <ramp> <label-warn>
format-warn-underline = ${self.format-underline}
label = %temperature-c%
label-warn = %temperature-c%
label-warn-foreground = ${colors.foreground}
label-warn-background = ${colors.alert}
label-warn-padding = 2
ramp-0 = 
ramp-1 = 
ramp-2 = 
ramp-3 = 
ramp-4 = 
ramp-foreground = ${colors.foreground-alt}
[module/xbacklight]
type = internal/xbacklight
format = <label>
label = "%percentage%%"
label-foreground = ${colors.foreground}
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
[module/alsa]
type = internal/alsa
format-volume = <bar-volume>
label-volume = "%percentage%%"
label-volume-foreground = ${colors.foreground}
format-volume-prefix = "蓼 "
format-volume-prefix-foreground = ${colors.foreground-alt}
format-muted-prefix =
format-muted-foreground = ${colors.foreground}
format-muted-background = ${colors.foreground-alt}
label-muted = 婢 sound muted
label-muted-padding = 1
label-muted-margin = 1
bar-volume-width = 15
bar-volume-foreground-0 = #f9b1a4
bar-volume-foreground-1 = #f9b1a4
bar-volume-foreground-2 = #f9b1a4
bar-volume-foreground-3 = #f9b1a4
bar-volume-foreground-4 = #f9b1a4
bar-volume-foreground-5 = #f9b1a4
bar-volume-foreground-6 = #f9b1a4
bar-volume-foreground-7 = #f9b1a4
bar-volume-foreground-8 = #f9b1a4
bar-volume-foreground-9 = #ff5555
bar-volume-gradient = false
bar-volume-indicator = |
bar-volume-indicator-font = 1
bar-volume-fill = ─
bar-volume-fill-font = 3
bar-volume-empty = ─
bar-volume-empty-font = 3
bar-volume-empty-foreground = ${colors.foreground}
[module/battery]
type = internal/battery
battery = BAT0
adapter = AC
full-at = 98
format-charging = <animation-charging> <label-charging>
format-discharging = <ramp-capacity> <label-discharging>
format-full-prefix = " "
format-full-prefix-foreground = ${colors.foreground-alt}
ramp-capacity-0 =
ramp-capacity-1 =
ramp-capacity-2 =
ramp-capacity-foreground = ${colors.foreground-alt}
animation-charging-0 =
animation-charging-1 =
animation-charging-2 =
animation-charging-foreground = ${colors.foreground-alt}
animation-charging-framerate = 1500
animation-discharging-0 =
animation-discharging-1 =
animation-discharging-2 =
animation-discharging-foreground = ${colors.foreground-alt}
animation-discharging-framerate = 2000
[settings]
screenchange-reload = true
;compositing-background = xor
;compositing-background = screen
;compositing-foreground = source
;compositing-border = over
[global/wm]
margin-top = 0
margin-bottom = 0

12
.config/.old/polybar/launch.sh Executable file
View File

@ -0,0 +1,12 @@
#!/bin/bash
# Terminate already running bar instances
killall -q polybar
# Wait until the processes have been shut down
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done
# Launch Polybar, using default config location ~/.config/polybar/config
polybar top &
echo "Polybar launched..."

View File

@ -0,0 +1,62 @@
# This is a sample commands.py. You can add your own commands here.
#
# Please refer to commands_full.py for all the default commands and a complete
# documentation. Do NOT add them all here, or you may end up with defunct
# commands when upgrading ranger.
# A simple command for demonstration purposes follows.
# -----------------------------------------------------------------------------
from __future__ import (absolute_import, division, print_function)
# You can import any python module as needed.
import os
# You always need to import ranger.api.commands here to get the Command class:
from ranger.api.commands import Command
# Any class that is a subclass of "Command" will be integrated into ranger as a
# command. Try typing ":my_edit<ENTER>" in ranger!
class my_edit(Command):
# The so-called doc-string of the class will be visible in the built-in
# help that is accessible by typing "?c" inside ranger.
""":my_edit <filename>
A sample command for demonstration purposes that opens a file in an editor.
"""
# The execute method is called when you run this command in ranger.
def execute(self):
# self.arg(1) is the first (space-separated) argument to the function.
# This way you can write ":my_edit somefilename<ENTER>".
if self.arg(1):
# self.rest(1) contains self.arg(1) and everything that follows
target_filename = self.rest(1)
else:
# self.fm is a ranger.core.filemanager.FileManager object and gives
# you access to internals of ranger.
# self.fm.thisfile is a ranger.container.file.File object and is a
# reference to the currently selected file.
target_filename = self.fm.thisfile.path
# This is a generic function to print text in ranger.
self.fm.notify("Let's edit the file " + target_filename + "!")
# Using bad=True in fm.notify allows you to print error messages:
if not os.path.exists(target_filename):
self.fm.notify("The given file does not exist!", bad=True)
return
# This executes a function from ranger.core.acitons, a module with a
# variety of subroutines that can help you construct commands.
# Check out the source, or run "pydoc ranger.core.actions" for a list.
self.fm.edit_file(target_filename)
# The tab method is called when you press tab, and should return a list of
# suggestions that the user will tab through.
# tabnum is 1 for <TAB> and -1 for <S-TAB> by default
def tab(self, tabnum):
# This is a generic tab-completion function that iterates through the
# content of the current directory.
return self._tab_directory_content()

File diff suppressed because it is too large Load Diff

725
.config/.old/ranger/rc.conf Normal file
View File

@ -0,0 +1,725 @@
# ===================================================================
# This file contains the default startup commands for ranger.
# To change them, it is recommended to create either /etc/ranger/rc.conf
# (system-wide) or ~/.config/ranger/rc.conf (per user) and add your custom
# commands there.
#
# If you copy this whole file there, you may want to set the environment
# variable RANGER_LOAD_DEFAULT_RC to FALSE to avoid loading it twice.
#
# The purpose of this file is mainly to define keybindings and settings.
# For running more complex python code, please create a plugin in "plugins/" or
# a command in "commands.py".
#
# Each line is a command that will be run before the user interface
# is initialized. As a result, you can not use commands which rely
# on the UI such as :delete or :mark.
# ===================================================================
# ===================================================================
# == Options
# ===================================================================
# Which viewmode should be used? Possible values are:
# miller: Use miller columns which show multiple levels of the hierarchy
# multipane: Midnight-commander like multipane view showing all tabs next
# to each other
set viewmode miller
#set viewmode multipane
# How many columns are there, and what are their relative widths?
set column_ratios 1,3,4
# Which files should be hidden? (regular expression)
set hidden_filter ^\.|\.(?:pyc|pyo|bak|swp)$|^lost\+found$|^__(py)?cache__$
# Show hidden files? You can toggle this by typing 'zh'
set show_hidden true
# Ask for a confirmation when running the "delete" command?
# Valid values are "always", "never", "multiple" (default)
# With "multiple", ranger will ask only if you delete multiple files at once.
set confirm_on_delete multiple
# Use non-default path for file preview script?
# ranger ships with scope.sh, a script that calls external programs (see
# README.md for dependencies) to preview images, archives, etc.
#set preview_script ~/.config/ranger/scope.sh
# Use the external preview script or display simple plain text or image previews?
set use_preview_script true
# Automatically count files in the directory, even before entering them?
set automatically_count_files true
# Open all images in this directory when running certain image viewers
# like feh or sxiv? You can still open selected files by marking them.
set open_all_images true
# Be aware of version control systems and display information.
set vcs_aware false
# State of the four backends git, hg, bzr, svn. The possible states are
# disabled, local (only show local info), enabled (show local and remote
# information).
set vcs_backend_git enabled
set vcs_backend_hg disabled
set vcs_backend_bzr disabled
set vcs_backend_svn disabled
# Use one of the supported image preview protocols
set preview_images true
# Set the preview image method. Supported methods:
#
# * w3m (default):
# Preview images in full color with the external command "w3mimgpreview"?
# This requires the console web browser "w3m" and a supported terminal.
# It has been successfully tested with "xterm" and "urxvt" without tmux.
#
# * iterm2:
# Preview images in full color using iTerm2 image previews
# (http://iterm2.com/images.html). This requires using iTerm2 compiled
# with image preview support.
#
# This feature relies on the dimensions of the terminal's font. By default, a
# width of 8 and height of 11 are used. To use other values, set the options
# iterm2_font_width and iterm2_font_height to the desired values.
#
# * terminology:
# Previews images in full color in the terminology terminal emulator.
# Supports a wide variety of formats, even vector graphics like svg.
#
# * urxvt:
# Preview images in full color using urxvt image backgrounds. This
# requires using urxvt compiled with pixbuf support.
#
# * urxvt-full:
# The same as urxvt but utilizing not only the preview pane but the
# whole terminal window.
#
# * kitty:
# Preview images in full color using kitty image protocol.
# Requires python PIL or pillow library.
# If ranger does not share the local filesystem with kitty
# the transfer method is changed to encode the whole image;
# while slower, this allows remote previews,
# for example during an ssh session.
# Tmux is unsupported.
set preview_images_method w3m
# Delay in seconds before displaying an image with the w3m method.
# Increase it in case of experiencing display corruption.
set w3m_delay 0.02
# Default iTerm2 font size (see: preview_images_method: iterm2)
set iterm2_font_width 8
set iterm2_font_height 11
# Use a unicode "..." character to mark cut-off filenames?
set unicode_ellipsis false
# BIDI support - try to properly display file names in RTL languages (Hebrew, Arabic).
# Requires the python-bidi pip package
set bidi_support false
# Show dotfiles in the bookmark preview box?
set show_hidden_bookmarks true
# Which colorscheme to use? These colorschemes are available by default:
# default, jungle, snow, solarized
set colorscheme default
# Preview files on the rightmost column?
# And collapse (shrink) the last column if there is nothing to preview?
set preview_files true
set preview_directories true
set collapse_preview true
# Save the console history on exit?
set save_console_history true
# Draw the status bar on top of the browser window (default: bottom)
set status_bar_on_top false
# Draw a progress bar in the status bar which displays the average state of all
# currently running tasks which support progress bars?
set draw_progress_bar_in_status_bar true
# Draw borders around columns? (separators, outline, both, or none)
# Separators are vertical lines between columns.
# Outline draws a box around all the columns.
# Both combines the two.
set draw_borders both
# Display the directory name in tabs?
set dirname_in_tabs false
# Enable the mouse support?
set mouse_enabled false
# Display the file size in the main column or status bar?
set display_size_in_main_column true
set display_size_in_status_bar true
# Display the free disk space in the status bar?
set display_free_space_in_status_bar true
# Display files tags in all columns or only in main column?
set display_tags_in_all_columns true
# Set a title for the window?
set update_title false
# Set the title to "ranger" in the tmux program?
set update_tmux_title true
# Shorten the title if it gets long? The number defines how many
# directories are displayed at once, 0 turns off this feature.
set shorten_title 3
# Show hostname in titlebar?
set hostname_in_titlebar true
# Abbreviate $HOME with ~ in the titlebar (first line) of ranger?
set tilde_in_titlebar false
# How many directory-changes or console-commands should be kept in history?
set max_history_size 20
set max_console_history_size 50
# Try to keep so much space between the top/bottom border when scrolling:
set scroll_offset 8
# Flush the input after each key hit? (Noticeable when ranger lags)
set flushinput true
# Padding on the right when there's no preview?
# This allows you to click into the space to run the file.
set padding_right true
# Save bookmarks (used with mX and `X) instantly?
# This helps to synchronize bookmarks between multiple ranger
# instances but leads to *slight* performance loss.
# When false, bookmarks are saved when ranger is exited.
set autosave_bookmarks true
# Save the "`" bookmark to disk. This can be used to switch to the last
# directory by typing "``".
set save_backtick_bookmark true
# You can display the "real" cumulative size of directories by using the
# command :get_cumulative_size or typing "dc". The size is expensive to
# calculate and will not be updated automatically. You can choose
# to update it automatically though by turning on this option:
set autoupdate_cumulative_size false
# Turning this on makes sense for screen readers:
set show_cursor false
# One of: size, natural, basename, atime, ctime, mtime, type, random
set sort natural
# Additional sorting options
set sort_reverse false
set sort_case_insensitive true
set sort_directories_first true
set sort_unicode false
# Enable this if key combinations with the Alt Key don't work for you.
# (Especially on xterm)
set xterm_alt_key false
# Whether to include bookmarks in cd command
set cd_bookmarks true
# Changes case sensitivity for the cd command tab completion
set cd_tab_case sensitive
# Use fuzzy tab completion with the "cd" command. For example,
# ":cd /u/lo/b<tab>" expands to ":cd /usr/local/bin".
set cd_tab_fuzzy false
# Avoid previewing files larger than this size, in bytes. Use a value of 0 to
# disable this feature.
set preview_max_size 0
# The key hint lists up to this size have their sublists expanded.
# Otherwise the submaps are replaced with "...".
set hint_collapse_threshold 10
# Add the highlighted file to the path in the titlebar
set show_selection_in_titlebar true
# The delay that ranger idly waits for user input, in milliseconds, with a
# resolution of 100ms. Lower delay reduces lag between directory updates but
# increases CPU load.
set idle_delay 2000
# When the metadata manager module looks for metadata, should it only look for
# a ".metadata.json" file in the current directory, or do a deep search and
# check all directories above the current one as well?
set metadata_deep_search false
# Clear all existing filters when leaving a directory
set clear_filters_on_dir_change false
# Disable displaying line numbers in main column.
# Possible values: false, absolute, relative.
set line_numbers false
# When line_numbers=relative show the absolute line number in the
# current line.
set relative_current_zero false
# Start line numbers from 1 instead of 0
set one_indexed false
# Save tabs on exit
set save_tabs_on_exit false
# Enable scroll wrapping - moving down while on the last item will wrap around to
# the top and vice versa.
set wrap_scroll false
# Set the global_inode_type_filter to nothing. Possible options: d, f and l for
# directories, files and symlinks respectively.
set global_inode_type_filter
# This setting allows to freeze the list of files to save I/O bandwidth. It
# should be 'false' during start-up, but you can toggle it by pressing F.
set freeze_files false
# ===================================================================
# == Local Options
# ===================================================================
# You can set local options that only affect a single directory.
# Examples:
# setlocal path=~/downloads sort mtime
# ===================================================================
# == Command Aliases in the Console
# ===================================================================
alias e edit
alias q quit
alias q! quit!
alias qa quitall
alias qa! quitall!
alias qall quitall
alias qall! quitall!
alias setl setlocal
alias filter scout -prts
alias find scout -aets
alias mark scout -mr
alias unmark scout -Mr
alias search scout -rs
alias search_inc scout -rts
alias travel scout -aefklst
# ===================================================================
# == Define keys for the browser
# ===================================================================
# Basic
map Q quitall
map q quit
copymap q ZZ ZQ
map R reload_cwd
map F set freeze_files!
map <C-r> reset
map <C-l> redraw_window
map <C-c> abort
map <esc> change_mode normal
map ~ set viewmode!
map i display_file
map ? help
map W display_log
map w taskview_open
map S shell $SHELL
map : console
map ; console
map ! console shell%space
map @ console -p6 shell %%s
map # console shell -p%space
map s console shell%space
map r chain draw_possible_programs; console open_with%%space
map f console find%space
map cd console cd%space
map <C-p> chain console; eval fm.ui.console.history_move(-1)
# Change the line mode
map Mf linemode filename
map Mi linemode fileinfo
map Mm linemode mtime
map Mp linemode permissions
map Ms linemode sizemtime
map Mt linemode metatitle
# Tagging / Marking
map t tag_toggle
map ut tag_remove
map "<any> tag_toggle tag=%any
map <Space> mark_files toggle=True
map v mark_files all=True toggle=True
map uv mark_files all=True val=False
map V toggle_visual_mode
map uV toggle_visual_mode reverse=True
# For the nostalgics: Midnight Commander bindings
map <F1> help
map <F2> rename_append
map <F3> display_file
map <F4> edit
map <F5> copy
map <F6> cut
map <F7> console mkdir%space
map <F8> console delete
map <F10> exit
# In case you work on a keyboard with dvorak layout
map <UP> move up=1
map <DOWN> move down=1
map <LEFT> move left=1
map <RIGHT> move right=1
map <HOME> move to=0
map <END> move to=-1
map <PAGEDOWN> move down=1 pages=True
map <PAGEUP> move up=1 pages=True
map <CR> move right=1
#map <DELETE> console delete
map <INSERT> console touch%space
# VIM-like
copymap <UP> k
copymap <DOWN> j
copymap <LEFT> h
copymap <RIGHT> l
copymap <HOME> gg
copymap <END> G
copymap <PAGEDOWN> <C-F>
copymap <PAGEUP> <C-B>
map J move down=0.5 pages=True
map K move up=0.5 pages=True
copymap J <C-D>
copymap K <C-U>
# Jumping around
map H history_go -1
map L history_go 1
map ] move_parent 1
map [ move_parent -1
map } traverse
map { traverse_backwards
map ) jump_non
map gh cd ~
map ge cd /etc
map gu cd /usr
map gd cd /dev
map gl cd -r .
map gL cd -r %f
map go cd /opt
map gv cd /var
map gm cd /media
map gi eval fm.cd('/run/media/' + os.getenv('USER'))
map gM cd /mnt
map gs cd /srv
map gp cd /tmp
map gr cd /
map gR eval fm.cd(ranger.RANGERDIR)
map g/ cd /
map g? cd /usr/share/doc/ranger
# External Programs
map E edit
map du shell -p du --max-depth=1 -h --apparent-size
map dU shell -p du --max-depth=1 -h --apparent-size | sort -rh
map yp yank path
map yd yank dir
map yn yank name
map y. yank name_without_extension
# Filesystem Operations
map = chmod
map cw console rename%space
map a rename_append
map A eval fm.open_console('rename ' + fm.thisfile.relative_path.replace("%", "%%"))
map I eval fm.open_console('rename ' + fm.thisfile.relative_path.replace("%", "%%"), position=7)
map pp paste
map po paste overwrite=True
map pP paste append=True
map pO paste overwrite=True append=True
map pl paste_symlink relative=False
map pL paste_symlink relative=True
map phl paste_hardlink
map pht paste_hardlinked_subtree
map dD console delete
map dd cut
map ud uncut
map da cut mode=add
map dr cut mode=remove
map dt cut mode=toggle
map yy copy
map uy uncut
map ya copy mode=add
map yr copy mode=remove
map yt copy mode=toggle
# Temporary workarounds
map dgg eval fm.cut(dirarg=dict(to=0), narg=quantifier)
map dG eval fm.cut(dirarg=dict(to=-1), narg=quantifier)
map dj eval fm.cut(dirarg=dict(down=1), narg=quantifier)
map dk eval fm.cut(dirarg=dict(up=1), narg=quantifier)
map ygg eval fm.copy(dirarg=dict(to=0), narg=quantifier)
map yG eval fm.copy(dirarg=dict(to=-1), narg=quantifier)
map yj eval fm.copy(dirarg=dict(down=1), narg=quantifier)
map yk eval fm.copy(dirarg=dict(up=1), narg=quantifier)
# Searching
map / console search%space
map n search_next
map N search_next forward=False
map ct search_next order=tag
map cs search_next order=size
map ci search_next order=mimetype
map cc search_next order=ctime
map cm search_next order=mtime
map ca search_next order=atime
# Tabs
map <C-n> tab_new
map <C-w> tab_close
map <TAB> tab_move 1
map <S-TAB> tab_move -1
map <A-Right> tab_move 1
map <A-Left> tab_move -1
map gt tab_move 1
map gT tab_move -1
map gn tab_new
map gc tab_close
map uq tab_restore
map <a-1> tab_open 1
map <a-2> tab_open 2
map <a-3> tab_open 3
map <a-4> tab_open 4
map <a-5> tab_open 5
map <a-6> tab_open 6
map <a-7> tab_open 7
map <a-8> tab_open 8
map <a-9> tab_open 9
map <a-r> tab_shift 1
map <a-l> tab_shift -1
# Sorting
map or set sort_reverse!
map oz set sort=random
map os chain set sort=size; set sort_reverse=False
map ob chain set sort=basename; set sort_reverse=False
map on chain set sort=natural; set sort_reverse=False
map om chain set sort=mtime; set sort_reverse=False
map oc chain set sort=ctime; set sort_reverse=False
map oa chain set sort=atime; set sort_reverse=False
map ot chain set sort=type; set sort_reverse=False
map oe chain set sort=extension; set sort_reverse=False
map oS chain set sort=size; set sort_reverse=True
map oB chain set sort=basename; set sort_reverse=True
map oN chain set sort=natural; set sort_reverse=True
map oM chain set sort=mtime; set sort_reverse=True
map oC chain set sort=ctime; set sort_reverse=True
map oA chain set sort=atime; set sort_reverse=True
map oT chain set sort=type; set sort_reverse=True
map oE chain set sort=extension; set sort_reverse=True
map dc get_cumulative_size
# Settings
map zc set collapse_preview!
map zd set sort_directories_first!
map zh set show_hidden!
map <C-h> set show_hidden!
copymap <C-h> <backspace>
copymap <backspace> <backspace2>
map zI set flushinput!
map zi set preview_images!
map zm set mouse_enabled!
map zp set preview_files!
map zP set preview_directories!
map zs set sort_case_insensitive!
map zu set autoupdate_cumulative_size!
map zv set use_preview_script!
map zf console filter%space
copymap zf zz
# Filter stack
map .n console filter_stack add name%space
map .m console filter_stack add mime%space
map .d filter_stack add type d
map .f filter_stack add type f
map .l filter_stack add type l
map .| filter_stack add or
map .& filter_stack add and
map .! filter_stack add not
map .r console filter_stack rotate
map .c filter_stack clear
map .* filter_stack decompose
map .p filter_stack pop
map .. filter_stack show
# Bookmarks
map `<any> enter_bookmark %any
map '<any> enter_bookmark %any
map m<any> set_bookmark %any
map um<any> unset_bookmark %any
map m<bg> draw_bookmarks
copymap m<bg> um<bg> `<bg> '<bg>
# Generate all the chmod bindings with some python help:
eval for arg in "rwxXst": cmd("map +u{0} shell -f chmod u+{0} %s".format(arg))
eval for arg in "rwxXst": cmd("map +g{0} shell -f chmod g+{0} %s".format(arg))
eval for arg in "rwxXst": cmd("map +o{0} shell -f chmod o+{0} %s".format(arg))
eval for arg in "rwxXst": cmd("map +a{0} shell -f chmod a+{0} %s".format(arg))
eval for arg in "rwxXst": cmd("map +{0} shell -f chmod u+{0} %s".format(arg))
eval for arg in "rwxXst": cmd("map -u{0} shell -f chmod u-{0} %s".format(arg))
eval for arg in "rwxXst": cmd("map -g{0} shell -f chmod g-{0} %s".format(arg))
eval for arg in "rwxXst": cmd("map -o{0} shell -f chmod o-{0} %s".format(arg))
eval for arg in "rwxXst": cmd("map -a{0} shell -f chmod a-{0} %s".format(arg))
eval for arg in "rwxXst": cmd("map -{0} shell -f chmod u-{0} %s".format(arg))
# ===================================================================
# == Define keys for the console
# ===================================================================
# Note: Unmapped keys are passed directly to the console.
# Basic
cmap <tab> eval fm.ui.console.tab()
cmap <s-tab> eval fm.ui.console.tab(-1)
cmap <ESC> eval fm.ui.console.close()
cmap <CR> eval fm.ui.console.execute()
cmap <C-l> redraw_window
copycmap <ESC> <C-c>
copycmap <CR> <C-j>
# Move around
cmap <up> eval fm.ui.console.history_move(-1)
cmap <down> eval fm.ui.console.history_move(1)
cmap <left> eval fm.ui.console.move(left=1)
cmap <right> eval fm.ui.console.move(right=1)
cmap <home> eval fm.ui.console.move(right=0, absolute=True)
cmap <end> eval fm.ui.console.move(right=-1, absolute=True)
cmap <a-b> eval fm.ui.console.move_word(left=1)
cmap <a-f> eval fm.ui.console.move_word(right=1)
copycmap <a-b> <a-left>
copycmap <a-f> <a-right>
# Line Editing
cmap <backspace> eval fm.ui.console.delete(-1)
cmap <delete> eval fm.ui.console.delete(0)
cmap <C-w> eval fm.ui.console.delete_word()
cmap <A-d> eval fm.ui.console.delete_word(backward=False)
cmap <C-k> eval fm.ui.console.delete_rest(1)
cmap <C-u> eval fm.ui.console.delete_rest(-1)
cmap <C-y> eval fm.ui.console.paste()
# And of course the emacs way
copycmap <ESC> <C-g>
copycmap <up> <C-p>
copycmap <down> <C-n>
copycmap <left> <C-b>
copycmap <right> <C-f>
copycmap <home> <C-a>
copycmap <end> <C-e>
copycmap <delete> <C-d>
copycmap <backspace> <C-h>
# Note: There are multiple ways to express backspaces. <backspace> (code 263)
# and <backspace2> (code 127). To be sure, use both.
copycmap <backspace> <backspace2>
# This special expression allows typing in numerals:
cmap <allow_quantifiers> false
# ===================================================================
# == Pager Keybindings
# ===================================================================
# Movement
pmap <down> pager_move down=1
pmap <up> pager_move up=1
pmap <left> pager_move left=4
pmap <right> pager_move right=4
pmap <home> pager_move to=0
pmap <end> pager_move to=-1
pmap <pagedown> pager_move down=1.0 pages=True
pmap <pageup> pager_move up=1.0 pages=True
pmap <C-d> pager_move down=0.5 pages=True
pmap <C-u> pager_move up=0.5 pages=True
copypmap <UP> k <C-p>
copypmap <DOWN> j <C-n> <CR>
copypmap <LEFT> h
copypmap <RIGHT> l
copypmap <HOME> g
copypmap <END> G
copypmap <C-d> d
copypmap <C-u> u
copypmap <PAGEDOWN> n f <C-F> <Space>
copypmap <PAGEUP> p b <C-B>
# Basic
pmap <C-l> redraw_window
pmap <ESC> pager_close
copypmap <ESC> q Q i <F3>
pmap E edit_file
# ===================================================================
# == Taskview Keybindings
# ===================================================================
# Movement
tmap <up> taskview_move up=1
tmap <down> taskview_move down=1
tmap <home> taskview_move to=0
tmap <end> taskview_move to=-1
tmap <pagedown> taskview_move down=1.0 pages=True
tmap <pageup> taskview_move up=1.0 pages=True
tmap <C-d> taskview_move down=0.5 pages=True
tmap <C-u> taskview_move up=0.5 pages=True
copytmap <UP> k <C-p>
copytmap <DOWN> j <C-n> <CR>
copytmap <HOME> g
copytmap <END> G
copytmap <C-u> u
copytmap <PAGEDOWN> n f <C-F> <Space>
copytmap <PAGEUP> p b <C-B>
# Changing priority and deleting tasks
tmap J eval -q fm.ui.taskview.task_move(-1)
tmap K eval -q fm.ui.taskview.task_move(0)
tmap dd eval -q fm.ui.taskview.task_remove()
tmap <pagedown> eval -q fm.ui.taskview.task_move(-1)
tmap <pageup> eval -q fm.ui.taskview.task_move(0)
tmap <delete> eval -q fm.ui.taskview.task_remove()
# Basic
tmap <C-l> redraw_window
tmap <ESC> taskview_close
copytmap <ESC> q Q w <C-c>

View File

@ -0,0 +1,256 @@
# vim: ft=cfg
#
# This is the configuration file of "rifle", ranger's file executor/opener.
# Each line consists of conditions and a command. For each line the conditions
# are checked and if they are met, the respective command is run.
#
# Syntax:
# <condition1> , <condition2> , ... = command
#
# The command can contain these environment variables:
# $1-$9 | The n-th selected file
# $@ | All selected files
#
# If you use the special command "ask", rifle will ask you what program to run.
#
# Prefixing a condition with "!" will negate its result.
# These conditions are currently supported:
# match <regexp> | The regexp matches $1
# ext <regexp> | The regexp matches the extension of $1
# mime <regexp> | The regexp matches the mime type of $1
# name <regexp> | The regexp matches the basename of $1
# path <regexp> | The regexp matches the absolute path of $1
# has <program> | The program is installed (i.e. located in $PATH)
# env <variable> | The environment variable "variable" is non-empty
# file | $1 is a file
# directory | $1 is a directory
# number <n> | change the number of this command to n
# terminal | stdin, stderr and stdout are connected to a terminal
# X | $DISPLAY is not empty (i.e. Xorg runs)
#
# There are also pseudo-conditions which have a "side effect":
# flag <flags> | Change how the program is run. See below.
# label <label> | Assign a label or name to the command so it can
# | be started with :open_with <label> in ranger
# | or `rifle -p <label>` in the standalone executable.
# else | Always true.
#
# Flags are single characters which slightly transform the command:
# f | Fork the program, make it run in the background.
# | New command = setsid $command >& /dev/null &
# r | Execute the command with root permissions
# | New command = sudo $command
# t | Run the program in a new terminal. If $TERMCMD is not defined,
# | rifle will attempt to extract it from $TERM.
# | New command = $TERMCMD -e $command
# Note: The "New command" serves only as an illustration, the exact
# implementation may differ.
# Note: When using rifle in ranger, there is an additional flag "c" for
# only running the current file even if you have marked multiple files.
#-------------------------------------------
# Websites
#-------------------------------------------
# Rarely installed browsers get higher priority; It is assumed that if you
# install a rare browser, you probably use it. Firefox/konqueror/w3m on the
# other hand are often only installed as fallback browsers.
ext x?html?, has surf, X, flag f = surf -- file://"$1"
ext x?html?, has vimprobable, X, flag f = vimprobable -- "$@"
ext x?html?, has vimprobable2, X, flag f = vimprobable2 -- "$@"
ext x?html?, has qutebrowser, X, flag f = qutebrowser -- "$@"
ext x?html?, has dwb, X, flag f = dwb -- "$@"
ext x?html?, has jumanji, X, flag f = jumanji -- "$@"
ext x?html?, has luakit, X, flag f = luakit -- "$@"
ext x?html?, has uzbl, X, flag f = uzbl -- "$@"
ext x?html?, has uzbl-tabbed, X, flag f = uzbl-tabbed -- "$@"
ext x?html?, has uzbl-browser, X, flag f = uzbl-browser -- "$@"
ext x?html?, has uzbl-core, X, flag f = uzbl-core -- "$@"
ext x?html?, has midori, X, flag f = midori -- "$@"
ext x?html?, has chromium-browser, X, flag f = chromium-browser -- "$@"
ext x?html?, has chromium, X, flag f = chromium -- "$@"
ext x?html?, has google-chrome, X, flag f = google-chrome -- "$@"
ext x?html?, has opera, X, flag f = opera -- "$@"
ext x?html?, has firefox, X, flag f = firefox -- "$@"
ext x?html?, has seamonkey, X, flag f = seamonkey -- "$@"
ext x?html?, has iceweasel, X, flag f = iceweasel -- "$@"
ext x?html?, has epiphany, X, flag f = epiphany -- "$@"
ext x?html?, has konqueror, X, flag f = konqueror -- "$@"
ext x?html?, has elinks, terminal = elinks "$@"
ext x?html?, has links2, terminal = links2 "$@"
ext x?html?, has links, terminal = links "$@"
ext x?html?, has lynx, terminal = lynx -- "$@"
ext x?html?, has w3m, terminal = w3m "$@"
#-------------------------------------------
# Misc
#-------------------------------------------
# Define the "editor" for text files as first action
mime ^text, label editor = ${VISUAL:-$EDITOR} -- "$@"
mime ^text, label pager = "$PAGER" -- "$@"
!mime ^text, label editor, ext xml|json|csv|tex|py|pl|rb|js|sh|php = ${VISUAL:-$EDITOR} -- "$@"
!mime ^text, label pager, ext xml|json|csv|tex|py|pl|rb|js|sh|php = "$PAGER" -- "$@"
ext 1 = man "$1"
ext s[wmf]c, has zsnes, X = zsnes "$1"
ext s[wmf]c, has snes9x-gtk,X = snes9x-gtk "$1"
ext nes, has fceux, X = fceux "$1"
ext exe = wine "$1"
name ^[mM]akefile$ = make
#--------------------------------------------
# Code
#-------------------------------------------
ext py = python -- "$1"
ext pl = perl -- "$1"
ext rb = ruby -- "$1"
ext js = node -- "$1"
ext sh = sh -- "$1"
ext php = php -- "$1"
#--------------------------------------------
# Audio without X
#-------------------------------------------
mime ^audio|ogg$, terminal, has mpv = mpv -- "$@"
mime ^audio|ogg$, terminal, has mplayer2 = mplayer2 -- "$@"
mime ^audio|ogg$, terminal, has mplayer = mplayer -- "$@"
ext midi?, terminal, has wildmidi = wildmidi -- "$@"
#--------------------------------------------
# Video/Audio with a GUI
#-------------------------------------------
mime ^video|audio, has gmplayer, X, flag f = gmplayer -- "$@"
mime ^video|audio, has smplayer, X, flag f = smplayer "$@"
mime ^video, has mpv, X, flag f = mpv -- "$@"
mime ^video, has mpv, X, flag f = mpv --fs -- "$@"
mime ^video, has mplayer2, X, flag f = mplayer2 -- "$@"
mime ^video, has mplayer2, X, flag f = mplayer2 -fs -- "$@"
mime ^video, has mplayer, X, flag f = mplayer -- "$@"
mime ^video, has mplayer, X, flag f = mplayer -fs -- "$@"
mime ^video|audio, has vlc, X, flag f = vlc -- "$@"
mime ^video|audio, has totem, X, flag f = totem -- "$@"
mime ^video|audio, has totem, X, flag f = totem --fullscreen -- "$@"
#--------------------------------------------
# Video without X:
#-------------------------------------------
mime ^video, terminal, !X, has mpv = mpv -- "$@"
mime ^video, terminal, !X, has mplayer2 = mplayer2 -- "$@"
mime ^video, terminal, !X, has mplayer = mplayer -- "$@"
#-------------------------------------------
# Documents
#-------------------------------------------
ext pdf, has llpp, X, flag f = llpp "$@"
ext pdf, has zathura, X, flag f = zathura -- "$@"
ext pdf, has mupdf, X, flag f = mupdf "$@"
ext pdf, has mupdf-x11,X, flag f = mupdf-x11 "$@"
ext pdf, has apvlv, X, flag f = apvlv -- "$@"
ext pdf, has xpdf, X, flag f = xpdf -- "$@"
ext pdf, has evince, X, flag f = evince -- "$@"
ext pdf, has atril, X, flag f = atril -- "$@"
ext pdf, has okular, X, flag f = okular -- "$@"
ext pdf, has epdfview, X, flag f = epdfview -- "$@"
ext pdf, has qpdfview, X, flag f = qpdfview "$@"
ext pdf, has open, X, flag f = open "$@"
ext docx?, has catdoc, terminal = catdoc -- "$@" | "$PAGER"
ext sxc|xlsx?|xlt|xlw|gnm|gnumeric, has gnumeric, X, flag f = gnumeric -- "$@"
ext sxc|xlsx?|xlt|xlw|gnm|gnumeric, has kspread, X, flag f = kspread -- "$@"
ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has libreoffice, X, flag f = libreoffice "$@"
ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has soffice, X, flag f = soffice "$@"
ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has ooffice, X, flag f = ooffice "$@"
ext djvu, has zathura,X, flag f = zathura -- "$@"
ext djvu, has evince, X, flag f = evince -- "$@"
ext djvu, has atril, X, flag f = atril -- "$@"
ext djvu, has djview, X, flag f = djview -- "$@"
ext epub, has ebook-viewer, X, flag f = ebook-viewer -- "$@"
ext mobi, has ebook-viewer, X, flag f = ebook-viewer -- "$@"
#-------------------------------------------
# Image Viewing:
#-------------------------------------------
mime ^image/svg, has inkscape, X, flag f = inkscape -- "$@"
mime ^image/svg, has display, X, flag f = display -- "$@"
mime ^image, has pqiv, X, flag f = pqiv -- "$@"
mime ^image, has sxiv, X, flag f = sxiv -- "$@"
mime ^image, has feh, X, flag f = feh -- "$@"
mime ^image, has mirage, X, flag f = mirage -- "$@"
mime ^image, has ristretto, X, flag f = ristretto "$@"
mime ^image, has eog, X, flag f = eog -- "$@"
mime ^image, has eom, X, flag f = eom -- "$@"
mime ^image, has nomacs, X, flag f = nomacs -- "$@"
mime ^image, has geeqie, X, flag f = geeqie -- "$@"
mime ^image, has gwenview, X, flag f = gwenview -- "$@"
mime ^image, has gimp, X, flag f = gimp -- "$@"
ext xcf, X, flag f = gimp -- "$@"
#-------------------------------------------
# Archives
#-------------------------------------------
# avoid password prompt by providing empty password
ext 7z, has 7z = 7z -p l "$@" | "$PAGER"
# This requires atool
ext ace|ar|arc|bz2?|cab|cpio|cpt|deb|dgc|dmg|gz, has atool = atool --list --each -- "$@" | "$PAGER"
ext iso|jar|msi|pkg|rar|shar|tar|tgz|xar|xpi|xz|zip, has atool = atool --list --each -- "$@" | "$PAGER"
ext 7z|ace|ar|arc|bz2?|cab|cpio|cpt|deb|dgc|dmg|gz, has atool = atool --extract --each -- "$@"
ext iso|jar|msi|pkg|rar|shar|tar|tgz|xar|xpi|xz|zip, has atool = atool --extract --each -- "$@"
# Listing and extracting archives without atool:
ext tar|gz|bz2|xz, has tar = tar vvtf "$1" | "$PAGER"
ext tar|gz|bz2|xz, has tar = for file in "$@"; do tar vvxf "$file"; done
ext bz2, has bzip2 = for file in "$@"; do bzip2 -dk "$file"; done
ext zip, has unzip = unzip -l "$1" | less
ext zip, has unzip = for file in "$@"; do unzip -d "${file%.*}" "$file"; done
ext ace, has unace = unace l "$1" | less
ext ace, has unace = for file in "$@"; do unace e "$file"; done
ext rar, has unrar = unrar l "$1" | less
ext rar, has unrar = for file in "$@"; do unrar x "$file"; done
#-------------------------------------------
# Flag t fallback terminals
#-------------------------------------------
# Rarely installed terminal emulators get higher priority; It is assumed that
# if you install a rare terminal emulator, you probably use it.
# gnome-terminal/konsole/xterm on the other hand are often installed as part of
# a desktop environment or as fallback terminal emulators.
mime ^ranger/x-terminal-emulator, has terminology = terminology -e "$@"
mime ^ranger/x-terminal-emulator, has kitty = kitty -- "$@"
mime ^ranger/x-terminal-emulator, has alacritty = alacritty -e "$@"
mime ^ranger/x-terminal-emulator, has sakura = sakura -e "$@"
mime ^ranger/x-terminal-emulator, has lilyterm = lilyterm -e "$@"
#mime ^ranger/x-terminal-emulator, has cool-retro-term = cool-retro-term -e "$@"
mime ^ranger/x-terminal-emulator, has termite = termite -x '"$@"'
#mime ^ranger/x-terminal-emulator, has yakuake = yakuake -e "$@"
mime ^ranger/x-terminal-emulator, has guake = guake -ne "$@"
mime ^ranger/x-terminal-emulator, has tilda = tilda -c "$@"
mime ^ranger/x-terminal-emulator, has st = st -e "$@"
mime ^ranger/x-terminal-emulator, has terminator = terminator -x "$@"
mime ^ranger/x-terminal-emulator, has urxvt = urxvt -e "$@"
mime ^ranger/x-terminal-emulator, has pantheon-terminal = pantheon-terminal -e "$@"
mime ^ranger/x-terminal-emulator, has lxterminal = lxterminal -e "$@"
mime ^ranger/x-terminal-emulator, has mate-terminal = mate-terminal -x "$@"
mime ^ranger/x-terminal-emulator, has xfce4-terminal = xfce4-terminal -x "$@"
mime ^ranger/x-terminal-emulator, has konsole = konsole -e "$@"
mime ^ranger/x-terminal-emulator, has gnome-terminal = gnome-terminal -- "$@"
mime ^ranger/x-terminal-emulator, has xterm = xterm -e "$@"
#-------------------------------------------
# Misc
#-------------------------------------------
label wallpaper, number 11, mime ^image, has feh, X = feh --bg-scale "$1"
label wallpaper, number 12, mime ^image, has feh, X = feh --bg-tile "$1"
label wallpaper, number 13, mime ^image, has feh, X = feh --bg-center "$1"
label wallpaper, number 14, mime ^image, has feh, X = feh --bg-fill "$1"
# Define the editor for non-text files + pager as last action
!mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = ask
label editor, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = ${VISUAL:-$EDITOR} -- "$@"
label pager, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php = "$PAGER" -- "$@"
# The very last action, so that it's never triggered accidentally, is to execute a program:
mime application/x-executable = "$1"

216
.config/.old/ranger/scope.sh Executable file
View File

@ -0,0 +1,216 @@
#!/usr/bin/env bash
set -o noclobber -o noglob -o nounset -o pipefail
IFS=$'\n'
# If the option `use_preview_script` is set to `true`,
# then this script will be called and its output will be displayed in ranger.
# ANSI color codes are supported.
# STDIN is disabled, so interactive scripts won't work properly
# This script is considered a configuration file and must be updated manually.
# It will be left untouched if you upgrade ranger.
# Meanings of exit codes:
# code | meaning | action of ranger
# -----+------------+-------------------------------------------
# 0 | success | Display stdout as preview
# 1 | no preview | Display no preview at all
# 2 | plain text | Display the plain content of the file
# 3 | fix width | Don't reload when width changes
# 4 | fix height | Don't reload when height changes
# 5 | fix both | Don't ever reload
# 6 | image | Display the image `$IMAGE_CACHE_PATH` points to as an image preview
# 7 | image | Display the file directly as an image
# Script arguments
FILE_PATH="${1}" # Full path of the highlighted file
PV_WIDTH="${2}" # Width of the preview pane (number of fitting characters)
PV_HEIGHT="${3}" # Height of the preview pane (number of fitting characters)
IMAGE_CACHE_PATH="${4}" # Full path that should be used to cache image preview
PV_IMAGE_ENABLED="${5}" # 'True' if image previews are enabled, 'False' otherwise.
FILE_EXTENSION="${FILE_PATH##*.}"
FILE_EXTENSION_LOWER=$(echo ${FILE_EXTENSION} | tr '[:upper:]' '[:lower:]')
# Settings
HIGHLIGHT_SIZE_MAX=262143 # 256KiB
HIGHLIGHT_TABWIDTH=8
HIGHLIGHT_STYLE='pablo'
PYGMENTIZE_STYLE='autumn'
handle_extension() {
case "${FILE_EXTENSION_LOWER}" in
# Archive
a|ace|alz|arc|arj|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|\
rpm|rz|t7z|tar|tbz|tbz2|tgz|tlz|txz|tZ|tzo|war|xpi|xz|Z|zip)
atool --list -- "${FILE_PATH}" && exit 5
bsdtar --list --file "${FILE_PATH}" && exit 5
exit 1;;
rar)
# Avoid password prompt by providing empty password
unrar lt -p- -- "${FILE_PATH}" && exit 5
exit 1;;
7z)
# Avoid password prompt by providing empty password
7z l -p -- "${FILE_PATH}" && exit 5
exit 1;;
# PDF
pdf)
# Preview as text conversion
pdftotext -l 10 -nopgbrk -q -- "${FILE_PATH}" - | fmt -w ${PV_WIDTH} && exit 5
mutool draw -F txt -i -- "${FILE_PATH}" 1-10 | fmt -w ${PV_WIDTH} && exit 5
exiftool "${FILE_PATH}" && exit 5
exit 1;;
# BitTorrent
torrent)
transmission-show -- "${FILE_PATH}" && exit 5
exit 1;;
# OpenDocument
odt|ods|odp|sxw)
# Preview as text conversion
odt2txt "${FILE_PATH}" && exit 5
exit 1;;
# HTML
htm|html|xhtml)
# Preview as text conversion
w3m -dump "${FILE_PATH}" && exit 5
lynx -dump -- "${FILE_PATH}" && exit 5
elinks -dump "${FILE_PATH}" && exit 5
;; # Continue with next handler on failure
esac
}
handle_image() {
local mimetype="${1}"
case "${mimetype}" in
# SVG
# image/svg+xml)
# convert "${FILE_PATH}" "${IMAGE_CACHE_PATH}" && exit 6
# exit 1;;
# Image
image/*)
local orientation
orientation="$( identify -format '%[EXIF:Orientation]\n' -- "${FILE_PATH}" )"
# If orientation data is present and the image actually
# needs rotating ("1" means no rotation)...
if [[ -n "$orientation" && "$orientation" != 1 ]]; then
# ...auto-rotate the image according to the EXIF data.
convert -- "${FILE_PATH}" -auto-orient "${IMAGE_CACHE_PATH}" && exit 6
fi
# `w3mimgdisplay` will be called for all images (unless overriden as above),
# but might fail for unsupported types.
exit 7;;
# Video
# video/*)
# # Thumbnail
# ffmpegthumbnailer -i "${FILE_PATH}" -o "${IMAGE_CACHE_PATH}" -s 0 && exit 6
# exit 1;;
# PDF
# application/pdf)
# pdftoppm -f 1 -l 1 \
# -scale-to-x 1920 \
# -scale-to-y -1 \
# -singlefile \
# -jpeg -tiffcompression jpeg \
# -- "${FILE_PATH}" "${IMAGE_CACHE_PATH%.*}" \
# && exit 6 || exit 1;;
# Preview archives using the first image inside.
# (Very useful for comic book collections for example.)
# application/zip|application/x-rar|application/x-7z-compressed|\
# application/x-xz|application/x-bzip2|application/x-gzip|application/x-tar)
# local fn=""; local fe=""
# local zip=""; local rar=""; local tar=""; local bsd=""
# case "${mimetype}" in
# application/zip) zip=1 ;;
# application/x-rar) rar=1 ;;
# application/x-7z-compressed) ;;
# *) tar=1 ;;
# esac
# { [ "$tar" ] && fn=$(tar --list --file "${FILE_PATH}"); } || \
# { fn=$(bsdtar --list --file "${FILE_PATH}") && bsd=1 && tar=""; } || \
# { [ "$rar" ] && fn=$(unrar lb -p- -- "${FILE_PATH}"); } || \
# { [ "$zip" ] && fn=$(zipinfo -1 -- "${FILE_PATH}"); } || return
#
# fn=$(echo "$fn" | python -c "import sys; import mimetypes as m; \
# [ print(l, end='') for l in sys.stdin if \
# (m.guess_type(l[:-1])[0] or '').startswith('image/') ]" |\
# sort -V | head -n 1)
# [ "$fn" = "" ] && return
# [ "$bsd" ] && fn=$(printf '%b' "$fn")
#
# [ "$tar" ] && tar --extract --to-stdout \
# --file "${FILE_PATH}" -- "$fn" > "${IMAGE_CACHE_PATH}" && exit 6
# fe=$(echo -n "$fn" | sed 's/[][*?\]/\\\0/g')
# [ "$bsd" ] && bsdtar --extract --to-stdout \
# --file "${FILE_PATH}" -- "$fe" > "${IMAGE_CACHE_PATH}" && exit 6
# [ "$bsd" ] || [ "$tar" ] && rm -- "${IMAGE_CACHE_PATH}"
# [ "$rar" ] && unrar p -p- -inul -- "${FILE_PATH}" "$fn" > \
# "${IMAGE_CACHE_PATH}" && exit 6
# [ "$zip" ] && unzip -pP "" -- "${FILE_PATH}" "$fe" > \
# "${IMAGE_CACHE_PATH}" && exit 6
# [ "$rar" ] || [ "$zip" ] && rm -- "${IMAGE_CACHE_PATH}"
# ;;
esac
}
handle_mime() {
local mimetype="${1}"
case "${mimetype}" in
# Text
text/* | */xml)
# Syntax highlight
if [[ "$( stat --printf='%s' -- "${FILE_PATH}" )" -gt "${HIGHLIGHT_SIZE_MAX}" ]]; then
exit 2
fi
if [[ "$( tput colors )" -ge 256 ]]; then
local pygmentize_format='terminal256'
local highlight_format='xterm256'
else
local pygmentize_format='terminal'
local highlight_format='ansi'
fi
highlight --replace-tabs="${HIGHLIGHT_TABWIDTH}" --out-format="${highlight_format}" \
--style="${HIGHLIGHT_STYLE}" --force -- "${FILE_PATH}" && exit 5
# pygmentize -f "${pygmentize_format}" -O "style=${PYGMENTIZE_STYLE}" -- "${FILE_PATH}" && exit 5
exit 2;;
# Image
image/*)
# Preview as text conversion
# img2txt --gamma=0.6 --width="${PV_WIDTH}" -- "${FILE_PATH}" && exit 4
exiftool "${FILE_PATH}" && exit 5
exit 1;;
# Video and audio
video/* | audio/*)
mediainfo "${FILE_PATH}" && exit 5
exiftool "${FILE_PATH}" && exit 5
exit 1;;
esac
}
handle_fallback() {
echo '----- File Type Classification -----' && file --dereference --brief -- "${FILE_PATH}" && exit 5
exit 1
}
MIMETYPE="$( file --dereference --brief --mime-type -- "${FILE_PATH}" )"
if [[ "${PV_IMAGE_ENABLED}" == 'True' ]]; then
handle_image "${MIMETYPE}"
fi
handle_extension
handle_mime "${MIMETYPE}"
handle_fallback
exit 1

102
.config/.old/termite/config Normal file
View File

@ -0,0 +1,102 @@
# Swy7ch' config file for termite
[options]
#allow_bold = true
#audible_bell = false
#bold_is_bright = true
#clickable_url = true
#dynamic_title = true
font = FuraCode Nerd Font Mono 16
#fullscreen = true
#icon_name = terminal
#mouse_autohide = false
#scroll_on_output = false
#scroll_on_keystroke = true
# Length of the scrollback buffer, 0 disabled the scrollback buffer
# and setting it to a negative value means "infinite scrollback"
scrollback_lines = 10000
#search_wrap = true
#urgent_on_bell = true
#hyperlinks = false
# $BROWSER is used by default if set, with xdg-open as a fallback
#browser = xdg-open
# "system", "on" or "off"
#cursor_blink = system
# "block", "underline" or "ibeam"
cursor_shape = block
# Hide links that are no longer valid in url select overlay mode
#filter_unmatched_urls = true
# Emit escape sequences for extra modified keys
#modify_other_keys = false
# set size hints for the window
#size_hints = false
# "off", "left" or "right"
#scrollbar = off
[colors]
# If unset, will reverse foreground and background
highlight = #2f2f2f
# Colors from color0 to color254 can be set
# special
foreground = #d3d0c8
foreground_bold = #d3d0c8
cursor = #d3d0c8
cursor_foreground = #2d2d2d
background = rgba(0, 0, 0, 0.8)
# dark0 + gray
color0 = #282828
color8 = #928374
# neutral_red + bright_red
color1 = #cc241d
color9 = #fb4934
# neutral_green + bright_green
color2 = #98971a
color10 = #b8bb26
# neutral_yellow + bright_yellow
color3 = #d79921
color11 = #fabd2f
# neutral_blue + bright_blue
color4 = #83a598
color12 = #458588
# neutral_purple + bright_purple
color5 = #b16286
color13 = #d3869b
# neutral_aqua + faded_aqua
color6 = #689d6a
color14 = #8ec07c
# light4 + light1
color7 = #a89984
color15 = #ebdbb2
[hints]
#font = Monospace 12
#foreground = #dcdccc
#background = #3f3f3f
#active_foreground = #e68080
#active_background = #3f3f3f
#padding = 2
#border = #3f3f3f
#border_width = 0.5
#roundness = 2.0
# vim: ft=dosini cms=#%s

View File

@ -0,0 +1,574 @@
" Name: Polyjuice
" Description: A simple yet customizable pastel colorscheme
" Author: David JULIEN <swy7ch@protonmail.com>
" Maintainer: David JULIEN <swy7ch@protonmail.com>
" Website: https://github.com/vim/vim/blob/master/src/syntax.c
" License: Vim License (see `:help license`)
" Last Updated: Fri 19 Jun 2020 01:13:22 AM CEST
" Generated by Colortemplate v2.0.0
hi clear
if exists('syntax_on')
syntax reset
endif
let g:colors_name = 'polyjuice'
let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co > 1 ? &t_Co : 2
hi! link EndOfBuffer NonText
hi! link QuickFixLine Search
hi! link Boolean Constant
hi! link Character Constant
hi! link Conditional Statement
hi! link Define PreProc
hi! link Debug Special
hi! link Delimiter Special
hi! link Exception Statement
hi! link Float Number
hi! link Function Identifier
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 Tag Special
hi! link Typedef Type
if (has('termguicolors') && &termguicolors) || has('gui_running')
if &background ==# 'dark'
let g:terminal_ansi_colors = ['#1d2021', '#b73935', '#5d9179', '#f7a583',
\ '#458588', '#b16286', '#7cafa3', '#373737', '#7c6f64', '#ea6962',
\ '#89b594', '#ffeca3', '#7daea3', '#d3869b', '#ace5d7', '#ebdbb2']
hi Normal guifg=#ebdbb2 guibg=#1d2021 guisp=NONE gui=NONE cterm=NONE
hi Terminal guifg=#ebdbb2 guibg=#1d2021 guisp=NONE gui=NONE cterm=NONE
hi Cursor guifg=#1d2021 guibg=#ebdbb2 guisp=NONE gui=NONE cterm=NONE
hi CursorLine guifg=NONE guibg=#373737 guisp=NONE gui=NONE cterm=NONE
hi CursorColumn guifg=NONE guibg=#373737 guisp=NONE gui=NONE cterm=NONE
hi CursorLineNr guifg=#f7a583 guibg=NONE guisp=NONE gui=bold cterm=bold
hi Pmenu guifg=#ebdbb2 guibg=#1d2021 guisp=NONE gui=NONE cterm=NONE
hi PmenuSel guifg=#1d2021 guibg=#89b594 guisp=NONE gui=bold cterm=bold
hi PmenuSbar guifg=#1d2021 guibg=#7c6f64 guisp=NONE gui=NONE cterm=NONE
hi PmenuThumb guifg=#ebdbb2 guibg=NONE guisp=NONE gui=NONE cterm=NONE
hi SpellBad guifg=#ea6962 guibg=NONE guisp=NONE gui=underline cterm=underline
hi SpellCap guifg=#7daea3 guibg=NONE guisp=NONE gui=NONE cterm=NONE
hi SpellLocal guifg=#ace5d7 guibg=NONE guisp=NONE gui=NONE cterm=NONE
hi SpellRare guifg=#f7a583 guibg=NONE guisp=NONE gui=NONE cterm=NONE
hi Conceal guifg=#7c6f64 guibg=#7c6f64 guisp=NONE gui=NONE cterm=NONE
hi DiffAdd guifg=#1d2021 guibg=#5d9179 guisp=NONE gui=NONE cterm=NONE
hi DiffChange guifg=#1d2021 guibg=#f7a583 guisp=NONE gui=NONE cterm=NONE
hi DiffDelete guifg=#1d2021 guibg=#b73935 guisp=NONE gui=bold cterm=bold
hi DiffText guifg=#1d2021 guibg=#ea6962 guisp=NONE gui=bold cterm=bold
hi Directory guifg=#d3869b guibg=NONE guisp=NONE gui=NONE cterm=NONE
hi Folded guifg=#f7a583 guibg=#458588 guisp=NONE gui=NONE cterm=NONE
hi IncSearch guifg=NONE guibg=NONE guisp=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
hi LineNr guifg=#7c6f64 guibg=NONE guisp=NONE gui=NONE cterm=NONE
hi MatchParen guifg=NONE guibg=NONE guisp=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
hi ErrorMsg guifg=#ffeca3 guibg=#b73935 guisp=NONE gui=bold cterm=bold
hi ModeMsg guifg=NONE guibg=NONE guisp=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold
hi MoreMsg guifg=#89b594 guibg=NONE guisp=NONE gui=bold cterm=bold
hi WarningMsg guifg=#ea6962 guibg=NONE guisp=NONE gui=NONE cterm=NONE
hi NonText guifg=#7daea3 guibg=NONE guisp=NONE gui=bold cterm=bold
hi Question guifg=#89b594 guibg=NONE guisp=NONE gui=bold cterm=bold
hi Search guifg=#1d2021 guibg=#f7a583 guisp=NONE gui=NONE cterm=NONE
hi ColorColumn guifg=NONE guibg=#b73935 guisp=NONE gui=NONE cterm=NONE
hi FoldColumn guifg=#f7a583 guibg=#458588 guisp=NONE gui=NONE cterm=NONE
hi SignColumn guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi SpecialKey guifg=#89b594 guibg=NONE guisp=NONE gui=NONE cterm=NONE
hi TabLine guifg=#ebdbb2 guibg=#7c6f64 guisp=NONE gui=underline cterm=underline
hi TabLineFill guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi TabLineSel guifg=NONE guibg=NONE guisp=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold
hi Title guifg=#f7a583 guibg=NONE guisp=NONE gui=bold cterm=bold
hi VertSplit guifg=#7c6f64 guibg=NONE guisp=NONE gui=NONE cterm=NONE
hi Visual guifg=#ffeca3 guibg=#b16286 guisp=NONE gui=NONE cterm=NONE
hi VisualNOS guifg=NONE guibg=NONE guisp=NONE gui=bold,underline ctermfg=NONE ctermbg=NONE cterm=bold,underline
hi WildMenu guifg=#1d2021 guibg=#89b594 guisp=NONE gui=bold cterm=bold
hi Comment guifg=#7c6f64 guibg=NONE guisp=NONE gui=NONE cterm=NONE
hi Constant guifg=#89b594 guibg=NONE guisp=NONE gui=NONE cterm=NONE
hi Error guifg=#ebdbb2 guibg=#ea6962 guisp=NONE gui=bold cterm=bold
hi Identifier guifg=#7daea3 guibg=NONE guisp=NONE gui=bold cterm=bold
hi Ignore guifg=#1d2021 guibg=NONE guisp=NONE gui=NONE cterm=NONE
hi PreProc guifg=#d3869b guibg=NONE guisp=NONE gui=NONE cterm=NONE
hi Special guifg=#f7a583 guibg=NONE guisp=NONE gui=NONE cterm=NONE
hi Statement guifg=#ffeca3 guibg=NONE guisp=NONE gui=bold cterm=bold
hi Todo guifg=#1d2021 guibg=#f7a583 guisp=NONE gui=bold cterm=bold
hi Type guifg=#ffeca3 guibg=NONE guisp=NONE gui=bold cterm=bold
hi Underlined guifg=#458588 guibg=NONE guisp=NONE gui=underline cterm=underline
hi! link lCursor Cursor
hi ToolbarLine guifg=NONE guibg=#7c6f64 guisp=NONE gui=NONE cterm=NONE
hi ToolbarButton guifg=#1d2021 guibg=#7c6f64 guisp=NONE gui=bold cterm=bold
hi gitcommitSummary guifg=#7daea3 guibg=NONE guisp=NONE gui=bold cterm=bold
hi gitcommitBranch guifg=#5d9179 guibg=NONE guisp=NONE gui=bold cterm=bold
hi gitcommitHeader guifg=#d3869b guibg=NONE guisp=NONE gui=bold cterm=bold
hi gitcommitFile guifg=#89b594 guibg=NONE guisp=NONE gui=NONE cterm=NONE
hi gitcommitType guifg=#ea6962 guibg=NONE guisp=NONE gui=bold cterm=bold
hi StatusLine guifg=NONE guibg=#1d2021 guisp=NONE gui=NONE cterm=NONE
hi StatusLineTerm guifg=#1d2021 guibg=#89b594 guisp=NONE gui=bold cterm=bold
hi StatusLineNC guifg=#7c6f64 guibg=NONE guisp=NONE gui=NONE cterm=NONE
hi Buffer guifg=#89b594 guibg=NONE guisp=NONE gui=NONE cterm=NONE
hi NormalMode guifg=#1d2021 guibg=#89b594 guisp=NONE gui=bold cterm=bold
hi VisualMode guifg=#1d2021 guibg=#d3869b guisp=NONE gui=bold cterm=bold
hi InsertMode guifg=#1d2021 guibg=#ace5d7 guisp=NONE gui=bold cterm=bold
hi ReplaceMode guifg=#1d2021 guibg=#ea6962 guisp=NONE gui=bold cterm=bold
hi CommandMode guifg=#ebdbb2 guibg=NONE guisp=NONE gui=bold cterm=bold
hi File guifg=#ebdbb2 guibg=#373737 guisp=NONE gui=NONE cterm=NONE
hi FileType guifg=#7cafa3 guibg=NONE guisp=NONE gui=NONE cterm=NONE
hi Percent guifg=#7c6f64 guibg=NONE guisp=NONE gui=NONE cterm=NONE
hi Column guifg=#7cafa3 guibg=NONE guisp=NONE gui=NONE cterm=NONE
unlet s:t_Co
finish
endif
" Light background
let g:terminal_ansi_colors = ['#1d2021', '#b73935', '#5a8471', '#ef936b',
\ '#458588', '#b16286', '#7cafa3', '#373737', '#7c6f64', '#ea6962',
\ '#89b594', '#f7dea0', '#7daea3', '#d3869b', '#ace5d7', '#f9f7d7']
hi Normal guifg=#1d2021 guibg=#f9f7d7 guisp=NONE gui=NONE cterm=NONE
hi Terminal guifg=#1d2021 guibg=#f9f7d7 guisp=NONE gui=NONE cterm=NONE
hi Cursor guifg=#1d2021 guibg=#f7dea0 guisp=NONE gui=NONE cterm=NONE
hi CursorLine guifg=#f9f7d7 guibg=#ef936b guisp=NONE gui=NONE cterm=NONE
hi CursorColumn guifg=#f9f7d7 guibg=#ef936b guisp=NONE gui=NONE cterm=NONE
hi CursorLineNr guifg=#ef936b guibg=NONE guisp=NONE gui=bold cterm=bold
hi Pmenu guifg=#1d2021 guibg=#f9f7d7 guisp=NONE gui=NONE cterm=NONE
hi PmenuSel guifg=#1d2021 guibg=#89b594 guisp=NONE gui=bold cterm=bold
hi PmenuSbar guifg=#1d2021 guibg=#7c6f64 guisp=NONE gui=NONE cterm=NONE
hi PmenuThumb guifg=#1d2021 guibg=NONE guisp=NONE gui=NONE cterm=NONE
hi SpellBad guifg=#ea6962 guibg=NONE guisp=NONE gui=underline cterm=underline
hi SpellCap guifg=#7daea3 guibg=NONE guisp=NONE gui=NONE cterm=NONE
hi SpellLocal guifg=#ace5d7 guibg=NONE guisp=NONE gui=NONE cterm=NONE
hi SpellRare guifg=#ef936b guibg=NONE guisp=NONE gui=NONE cterm=NONE
hi Conceal guifg=#7c6f64 guibg=#7c6f64 guisp=NONE gui=NONE cterm=NONE
hi DiffAdd guifg=#1d2021 guibg=#5a8471 guisp=NONE gui=NONE cterm=NONE
hi DiffChange guifg=#1d2021 guibg=#ef936b guisp=NONE gui=NONE cterm=NONE
hi DiffDelete guifg=#1d2021 guibg=#b73935 guisp=NONE gui=bold cterm=bold
hi DiffText guifg=#1d2021 guibg=#ea6962 guisp=NONE gui=bold cterm=bold
hi Directory guifg=#d3869b guibg=NONE guisp=NONE gui=NONE cterm=NONE
hi Folded guifg=#ef936b guibg=#458588 guisp=NONE gui=NONE cterm=NONE
hi IncSearch guifg=NONE guibg=NONE guisp=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
hi LineNr guifg=#7c6f64 guibg=NONE guisp=NONE gui=NONE cterm=NONE
hi MatchParen guifg=NONE guibg=NONE guisp=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
hi ErrorMsg guifg=#f7dea0 guibg=#b73935 guisp=NONE gui=bold cterm=bold
hi ModeMsg guifg=NONE guibg=NONE guisp=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold
hi MoreMsg guifg=#89b594 guibg=NONE guisp=NONE gui=bold cterm=bold
hi WarningMsg guifg=#ea6962 guibg=NONE guisp=NONE gui=NONE cterm=NONE
hi NonText guifg=#7daea3 guibg=NONE guisp=NONE gui=bold cterm=bold
hi Question guifg=#89b594 guibg=NONE guisp=NONE gui=bold cterm=bold
hi Search guifg=#1d2021 guibg=#ef936b guisp=NONE gui=NONE cterm=NONE
hi ColorColumn guifg=NONE guibg=#b73935 guisp=NONE gui=NONE cterm=NONE
hi FoldColumn guifg=#ef936b guibg=#458588 guisp=NONE gui=NONE cterm=NONE
hi SignColumn guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi SpecialKey guifg=#5a8471 guibg=NONE guisp=NONE gui=NONE cterm=NONE
hi TabLine guifg=#f9f7d7 guibg=#7c6f64 guisp=NONE gui=underline cterm=underline
hi TabLineFill guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi TabLineSel guifg=NONE guibg=NONE guisp=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold
hi Title guifg=#ef936b guibg=NONE guisp=NONE gui=bold cterm=bold
hi VertSplit guifg=#1d2021 guibg=NONE guisp=NONE gui=NONE cterm=NONE
hi Visual guifg=#1d2021 guibg=#d3869b guisp=NONE gui=NONE cterm=NONE
hi VisualNOS guifg=NONE guibg=NONE guisp=NONE gui=bold,underline ctermfg=NONE ctermbg=NONE cterm=bold,underline
hi WildMenu guifg=#1d2021 guibg=#89b594 guisp=NONE gui=bold cterm=bold
hi Comment guifg=#7c6f64 guibg=NONE guisp=NONE gui=NONE cterm=NONE
hi Constant guifg=#b16286 guibg=NONE guisp=NONE gui=NONE cterm=NONE
hi Error guifg=#f9f7d7 guibg=#ea6962 guisp=NONE gui=bold cterm=bold
hi Identifier guifg=#5a8471 guibg=NONE guisp=NONE gui=bold cterm=bold
hi Ignore guifg=#1d2021 guibg=NONE guisp=NONE gui=NONE cterm=NONE
hi PreProc guifg=#458588 guibg=NONE guisp=NONE gui=NONE cterm=NONE
hi Special guifg=#ea6962 guibg=NONE guisp=NONE gui=NONE cterm=NONE
hi Statement guifg=#ea6962 guibg=NONE guisp=NONE gui=bold cterm=bold
hi Todo guifg=#1d2021 guibg=#ef936b guisp=NONE gui=bold cterm=bold
hi Type guifg=#ef936b guibg=NONE guisp=NONE gui=bold cterm=bold
hi Underlined guifg=#458588 guibg=NONE guisp=NONE gui=underline cterm=underline
hi! link lCursor Cursor
hi ToolbarLine guifg=NONE guibg=#7c6f64 guisp=NONE gui=NONE cterm=NONE
hi ToolbarButton guifg=#1d2021 guibg=#7c6f64 guisp=NONE gui=bold cterm=bold
hi gitcommitSummary guifg=#458588 guibg=NONE guisp=NONE gui=bold cterm=bold
hi gitcommitBranch guifg=#5a8471 guibg=NONE guisp=NONE gui=bold cterm=bold
hi gitcommitHeader guifg=#b16286 guibg=NONE guisp=NONE gui=bold cterm=bold
hi gitcommitFile guifg=#5a8471 guibg=NONE guisp=NONE gui=NONE cterm=NONE
hi gitcommitType guifg=#ea6962 guibg=NONE guisp=NONE gui=bold cterm=bold
hi StatusLine guifg=NONE guibg=#f9f7d7 guisp=NONE gui=NONE cterm=NONE
hi StatusLineTerm guifg=#1d2021 guibg=#89b594 guisp=NONE gui=bold cterm=bold
hi StatusLineNC guifg=#7c6f64 guibg=NONE guisp=NONE gui=NONE cterm=NONE
hi Buffer guifg=#373737 guibg=NONE guisp=NONE gui=NONE cterm=NONE
hi NormalMode guifg=#1d2021 guibg=#89b594 guisp=NONE gui=bold cterm=bold
hi VisualMode guifg=#1d2021 guibg=#d3869b guisp=NONE gui=bold cterm=bold
hi InsertMode guifg=#1d2021 guibg=#ace5d7 guisp=NONE gui=bold cterm=bold
hi ReplaceMode guifg=#1d2021 guibg=#ea6962 guisp=NONE gui=bold cterm=bold
hi CommandMode guifg=#1d2021 guibg=NONE guisp=NONE gui=bold cterm=bold
hi File guifg=#373737 guibg=#f7dea0 guisp=NONE gui=NONE cterm=NONE
hi FileType guifg=#458588 guibg=NONE guisp=NONE gui=NONE cterm=NONE
hi Percent guifg=#373737 guibg=NONE guisp=NONE gui=NONE cterm=NONE
hi Column guifg=#458588 guibg=NONE guisp=NONE gui=NONE cterm=NONE
unlet s:t_Co
finish
endif
if s:t_Co >= 256
if &background ==# 'dark'
hi Normal ctermfg=229 ctermbg=234 cterm=NONE
if !has('patch-8.0.0616') " Fix for Vim bug
set background=dark
endif
hi Terminal ctermfg=229 ctermbg=234 cterm=NONE
hi Cursor ctermfg=234 ctermbg=229 cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=243 cterm=NONE
hi CursorColumn ctermfg=NONE ctermbg=243 cterm=NONE
hi CursorLineNr ctermfg=216 ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=229 ctermbg=234 cterm=NONE
hi PmenuSel ctermfg=234 ctermbg=71 cterm=bold
hi PmenuSbar ctermfg=234 ctermbg=243 cterm=NONE
hi PmenuThumb ctermfg=229 ctermbg=NONE cterm=NONE
hi SpellBad ctermfg=203 ctermbg=NONE cterm=underline
hi SpellCap ctermfg=24 ctermbg=NONE cterm=NONE
hi SpellLocal ctermfg=81 ctermbg=NONE cterm=NONE
hi SpellRare ctermfg=216 ctermbg=NONE cterm=NONE
hi Conceal ctermfg=243 ctermbg=243 cterm=NONE
hi DiffAdd ctermfg=234 ctermbg=2 cterm=NONE
hi DiffChange ctermfg=234 ctermbg=216 cterm=NONE
hi DiffDelete ctermfg=234 ctermbg=160 cterm=NONE
hi DiffText ctermfg=234 ctermbg=203 cterm=bold
hi Directory ctermfg=181 ctermbg=NONE cterm=NONE
hi Folded ctermfg=216 ctermbg=24 cterm=NONE
hi IncSearch ctermfg=NONE ctermbg=NONE cterm=reverse
hi LineNr ctermfg=243 ctermbg=NONE cterm=NONE
hi MatchParen ctermfg=NONE ctermbg=NONE cterm=reverse
hi ErrorMsg ctermfg=230 ctermbg=160 cterm=bold
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
hi MoreMsg ctermfg=71 ctermbg=NONE cterm=NONE
hi WarningMsg ctermfg=203 ctermbg=NONE cterm=NONE
hi NonText ctermfg=24 ctermbg=NONE cterm=NONE
hi Question ctermfg=71 ctermbg=NONE cterm=NONE
hi Search ctermfg=234 ctermbg=216 cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=160 cterm=NONE
hi FoldColumn ctermfg=216 ctermbg=24 cterm=NONE
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=71 ctermbg=NONE cterm=NONE
hi TabLine ctermfg=229 ctermbg=243 cterm=underline
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=NONE
hi TabLineSel ctermfg=NONE ctermbg=NONE cterm=bold
hi Title ctermfg=216 ctermbg=NONE cterm=NONE
hi VertSplit ctermfg=243 ctermbg=NONE cterm=NONE
hi Visual ctermfg=230 ctermbg=138 cterm=NONE
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=bold,underline
hi WildMenu ctermfg=234 ctermbg=71 cterm=bold
hi Comment ctermfg=243 ctermbg=NONE cterm=NONE
hi Constant ctermfg=71 ctermbg=NONE cterm=NONE
hi Error ctermfg=229 ctermbg=203 cterm=bold
hi Identifier ctermfg=24 ctermbg=NONE cterm=bold
hi Ignore ctermfg=234 ctermbg=NONE cterm=NONE
hi PreProc ctermfg=181 ctermbg=NONE cterm=NONE
hi Special ctermfg=216 ctermbg=NONE cterm=NONE
hi Statement ctermfg=230 ctermbg=NONE cterm=NONE
hi Todo ctermfg=234 ctermbg=216 cterm=bold
hi Type ctermfg=230 ctermbg=NONE cterm=NONE
hi Underlined ctermfg=24 ctermbg=NONE cterm=underline
hi! link lCursor Cursor
hi ToolbarLine ctermfg=NONE ctermbg=243 cterm=NONE
hi ToolbarButton ctermfg=234 ctermbg=243 cterm=bold
hi gitcommitSummary ctermfg=24 ctermbg=NONE cterm=bold
hi gitcommitBranch ctermfg=2 ctermbg=NONE cterm=bold
hi gitcommitHeader ctermfg=181 ctermbg=NONE cterm=bold
hi gitcommitFile ctermfg=71 ctermbg=NONE cterm=NONE
hi gitcommitType ctermfg=203 ctermbg=NONE cterm=bold
hi StatusLine ctermfg=NONE ctermbg=234 cterm=NONE
hi StatusLineTerm ctermfg=234 ctermbg=71 cterm=bold
hi StatusLineNC ctermfg=243 ctermbg=NONE cterm=NONE
hi Buffer ctermfg=71 ctermbg=NONE cterm=NONE
hi NormalMode ctermfg=234 ctermbg=71 cterm=bold
hi VisualMode ctermfg=234 ctermbg=181 cterm=bold
hi InsertMode ctermfg=234 ctermbg=81 cterm=bold
hi ReplaceMode ctermfg=234 ctermbg=203 cterm=bold
hi CommandMode ctermfg=229 ctermbg=NONE cterm=bold
hi File ctermfg=229 ctermbg=243 cterm=NONE
hi FileType ctermfg=30 ctermbg=NONE cterm=NONE
hi Percent ctermfg=243 ctermbg=NONE cterm=NONE
hi Column ctermfg=30 ctermbg=NONE cterm=NONE
unlet s:t_Co
finish
endif
" Light background
hi Normal ctermbg=229 cterm=NONE
hi Terminal ctermbg=229 cterm=NONE
hi Cursor ctermbg=230 cterm=NONE
hi CursorLine ctermfg=229 ctermbg=216 cterm=NONE
hi CursorColumn ctermfg=229 ctermbg=216 cterm=NONE
hi CursorLineNr ctermfg=216 ctermbg=NONE cterm=NONE
hi Pmenu ctermbg=229 cterm=NONE
hi PmenuSel ctermbg=71 cterm=bold
hi PmenuSbar ctermbg=243 cterm=NONE
hi PmenuThumb ctermbg=NONE cterm=NONE
hi SpellBad ctermfg=203 ctermbg=NONE cterm=underline
hi SpellCap ctermfg=24 ctermbg=NONE cterm=NONE
hi SpellLocal ctermfg=81 ctermbg=NONE cterm=NONE
hi SpellRare ctermfg=216 ctermbg=NONE cterm=NONE
hi Conceal ctermfg=243 ctermbg=243 cterm=NONE
hi DiffAdd ctermbg=2 cterm=NONE
hi DiffChange ctermbg=216 cterm=NONE
hi DiffDelete ctermbg=160 cterm=NONE
hi DiffText ctermbg=203 cterm=bold
hi Directory ctermfg=181 ctermbg=NONE cterm=NONE
hi Folded ctermfg=216 ctermbg=24 cterm=NONE
hi IncSearch ctermfg=NONE ctermbg=NONE cterm=reverse
hi LineNr ctermfg=243 ctermbg=NONE cterm=NONE
hi MatchParen ctermfg=NONE ctermbg=NONE cterm=reverse
hi ErrorMsg ctermfg=230 ctermbg=160 cterm=bold
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
hi MoreMsg ctermfg=71 ctermbg=NONE cterm=NONE
hi WarningMsg ctermfg=203 ctermbg=NONE cterm=NONE
hi NonText ctermfg=24 ctermbg=NONE cterm=NONE
hi Question ctermfg=71 ctermbg=NONE cterm=NONE
hi Search ctermbg=216 cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=160 cterm=NONE
hi FoldColumn ctermfg=216 ctermbg=24 cterm=NONE
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=2 ctermbg=NONE cterm=NONE
hi TabLine ctermfg=229 ctermbg=243 cterm=underline
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=NONE
hi TabLineSel ctermfg=NONE ctermbg=NONE cterm=bold
hi Title ctermfg=216 ctermbg=NONE cterm=NONE
hi VertSplit ctermbg=NONE cterm=NONE
hi Visual ctermbg=181 cterm=NONE
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=bold,underline
hi WildMenu ctermbg=71 cterm=bold
hi Comment ctermfg=243 ctermbg=NONE cterm=NONE
hi Constant ctermfg=138 ctermbg=NONE cterm=NONE
hi Error ctermfg=229 ctermbg=203 cterm=bold
hi Identifier ctermfg=2 ctermbg=NONE cterm=bold
hi Ignore ctermbg=NONE cterm=NONE
hi PreProc ctermfg=24 ctermbg=NONE cterm=NONE
hi Special ctermfg=203 ctermbg=NONE cterm=NONE
hi Statement ctermfg=203 ctermbg=NONE cterm=NONE
hi Todo ctermbg=216 cterm=bold
hi Type ctermfg=216 ctermbg=NONE cterm=NONE
hi Underlined ctermfg=24 ctermbg=NONE cterm=underline
hi! link lCursor Cursor
hi ToolbarLine ctermfg=NONE ctermbg=243 cterm=NONE
hi ToolbarButton ctermbg=243 cterm=bold
hi gitcommitSummary ctermfg=24 ctermbg=NONE cterm=bold
hi gitcommitBranch ctermfg=2 ctermbg=NONE cterm=bold
hi gitcommitHeader ctermfg=138 ctermbg=NONE cterm=bold
hi gitcommitFile ctermfg=2 ctermbg=NONE cterm=NONE
hi gitcommitType ctermfg=203 ctermbg=NONE cterm=bold
hi StatusLine ctermfg=NONE ctermbg=229 cterm=NONE
hi StatusLineTerm ctermbg=71 cterm=bold
hi StatusLineNC ctermfg=243 ctermbg=NONE cterm=NONE
hi Buffer ctermfg=243 ctermbg=NONE cterm=NONE
hi NormalMode ctermbg=71 cterm=bold
hi VisualMode ctermbg=181 cterm=bold
hi InsertMode ctermbg=81 cterm=bold
hi ReplaceMode ctermbg=203 cterm=bold
hi CommandMode ctermbg=NONE cterm=bold
hi File ctermfg=243 ctermbg=230 cterm=NONE
hi FileType ctermfg=24 ctermbg=NONE cterm=NONE
hi Percent ctermfg=243 ctermbg=NONE cterm=NONE
hi Column ctermfg=24 ctermbg=NONE cterm=NONE
unlet s:t_Co
finish
endif
if s:t_Co >= 8
if &background ==# 'dark'
hi Normal ctermfg=LightYellow ctermbg=Black cterm=NONE
hi Terminal ctermfg=LightYellow ctermbg=Black cterm=NONE
hi Cursor ctermfg=Black ctermbg=LightYellow cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=Grey cterm=NONE
hi CursorColumn ctermfg=NONE ctermbg=Grey cterm=NONE
hi CursorLineNr ctermfg=LightRed ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=LightYellow ctermbg=Black cterm=NONE
hi PmenuSel ctermfg=Black ctermbg=Green cterm=bold
hi PmenuSbar ctermfg=Black ctermbg=Grey cterm=NONE
hi PmenuThumb ctermfg=LightYellow ctermbg=NONE cterm=NONE
hi SpellBad ctermfg=Red ctermbg=NONE cterm=underline
hi SpellCap ctermfg=DarkCyan ctermbg=NONE cterm=NONE
hi SpellLocal ctermfg=LightBlue ctermbg=NONE cterm=NONE
hi SpellRare ctermfg=LightRed ctermbg=NONE cterm=NONE
hi Conceal ctermfg=Grey ctermbg=Grey cterm=NONE
hi DiffAdd ctermfg=Black ctermbg=DarkGreen cterm=NONE
hi DiffChange ctermfg=Black ctermbg=LightRed cterm=NONE
hi DiffDelete ctermfg=Black ctermbg=DarkRed cterm=NONE
hi DiffText ctermfg=Black ctermbg=Red cterm=bold
hi Directory ctermfg=Magenta ctermbg=NONE cterm=NONE
hi Folded ctermfg=LightRed ctermbg=DarkBlue cterm=NONE
hi IncSearch ctermfg=NONE ctermbg=NONE cterm=reverse
hi LineNr ctermfg=Grey ctermbg=NONE cterm=NONE
hi MatchParen ctermfg=NONE ctermbg=NONE cterm=reverse
hi ErrorMsg ctermfg=LightYellow ctermbg=DarkRed cterm=bold
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
hi MoreMsg ctermfg=Green ctermbg=NONE cterm=NONE
hi WarningMsg ctermfg=Red ctermbg=NONE cterm=NONE
hi NonText ctermfg=DarkCyan ctermbg=NONE cterm=NONE
hi Question ctermfg=Green ctermbg=NONE cterm=NONE
hi Search ctermfg=Black ctermbg=LightRed cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=DarkRed cterm=NONE
hi FoldColumn ctermfg=LightRed ctermbg=DarkBlue cterm=NONE
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=Green ctermbg=NONE cterm=NONE
hi TabLine ctermfg=LightYellow ctermbg=Grey cterm=underline
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=NONE
hi TabLineSel ctermfg=NONE ctermbg=NONE cterm=bold
hi Title ctermfg=LightRed ctermbg=NONE cterm=NONE
hi VertSplit ctermfg=Grey ctermbg=NONE cterm=NONE
hi Visual ctermfg=LightYellow ctermbg=DarkMagenta cterm=NONE
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=bold,underline
hi WildMenu ctermfg=Black ctermbg=Green cterm=bold
hi Comment ctermfg=Grey ctermbg=NONE cterm=NONE
hi Constant ctermfg=Green ctermbg=NONE cterm=NONE
hi Error ctermfg=LightYellow ctermbg=Red cterm=bold
hi Identifier ctermfg=DarkCyan ctermbg=NONE cterm=bold
hi Ignore ctermfg=Black ctermbg=NONE cterm=NONE
hi PreProc ctermfg=Magenta ctermbg=NONE cterm=NONE
hi Special ctermfg=LightRed ctermbg=NONE cterm=NONE
hi Statement ctermfg=LightYellow ctermbg=NONE cterm=NONE
hi Todo ctermfg=Black ctermbg=LightRed cterm=bold
hi Type ctermfg=LightYellow ctermbg=NONE cterm=NONE
hi Underlined ctermfg=DarkBlue ctermbg=NONE cterm=underline
hi! link lCursor Cursor
hi ToolbarLine ctermfg=NONE ctermbg=Grey cterm=NONE
hi ToolbarButton ctermfg=Black ctermbg=Grey cterm=bold
hi gitcommitSummary ctermfg=DarkCyan ctermbg=NONE cterm=bold
hi gitcommitBranch ctermfg=DarkGreen ctermbg=NONE cterm=bold
hi gitcommitHeader ctermfg=Magenta ctermbg=NONE cterm=bold
hi gitcommitFile ctermfg=Green ctermbg=NONE cterm=NONE
hi gitcommitType ctermfg=Red ctermbg=NONE cterm=bold
hi StatusLine ctermfg=NONE ctermbg=Black cterm=NONE
hi StatusLineTerm ctermfg=Black ctermbg=Green cterm=bold
hi StatusLineNC ctermfg=Grey ctermbg=NONE cterm=NONE
hi Buffer ctermfg=Green ctermbg=NONE cterm=NONE
hi NormalMode ctermfg=Black ctermbg=Green cterm=bold
hi VisualMode ctermfg=Black ctermbg=Magenta cterm=bold
hi InsertMode ctermfg=Black ctermbg=LightBlue cterm=bold
hi ReplaceMode ctermfg=Black ctermbg=Red cterm=bold
hi CommandMode ctermfg=LightYellow ctermbg=NONE cterm=bold
hi File ctermfg=LightYellow ctermbg=Grey cterm=NONE
hi FileType ctermfg=DarkCyan ctermbg=NONE cterm=NONE
hi Percent ctermfg=Grey ctermbg=NONE cterm=NONE
hi Column ctermfg=DarkCyan ctermbg=NONE cterm=NONE
unlet s:t_Co
finish
endif
" Light background
hi Normal ctermfg=Black ctermbg=LightYellow cterm=NONE
hi Terminal ctermfg=Black ctermbg=LightYellow cterm=NONE
hi Cursor ctermfg=Black ctermbg=LightYellow cterm=NONE
hi CursorLine ctermfg=LightYellow ctermbg=LightRed cterm=NONE
hi CursorColumn ctermfg=LightYellow ctermbg=LightRed cterm=NONE
hi CursorLineNr ctermfg=LightRed ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=Black ctermbg=LightYellow cterm=NONE
hi PmenuSel ctermfg=Black ctermbg=Green cterm=bold
hi PmenuSbar ctermfg=Black ctermbg=Grey cterm=NONE
hi PmenuThumb ctermfg=Black ctermbg=NONE cterm=NONE
hi SpellBad ctermfg=Red ctermbg=NONE cterm=underline
hi SpellCap ctermfg=DarkCyan ctermbg=NONE cterm=NONE
hi SpellLocal ctermfg=LightBlue ctermbg=NONE cterm=NONE
hi SpellRare ctermfg=LightRed ctermbg=NONE cterm=NONE
hi Conceal ctermfg=Grey ctermbg=Grey cterm=NONE
hi DiffAdd ctermfg=Black ctermbg=DarkGreen cterm=NONE
hi DiffChange ctermfg=Black ctermbg=LightRed cterm=NONE
hi DiffDelete ctermfg=Black ctermbg=DarkRed cterm=NONE
hi DiffText ctermfg=Black ctermbg=Red cterm=bold
hi Directory ctermfg=Magenta ctermbg=NONE cterm=NONE
hi Folded ctermfg=LightRed ctermbg=DarkBlue cterm=NONE
hi IncSearch ctermfg=NONE ctermbg=NONE cterm=reverse
hi LineNr ctermfg=Grey ctermbg=NONE cterm=NONE
hi MatchParen ctermfg=NONE ctermbg=NONE cterm=reverse
hi ErrorMsg ctermfg=LightYellow ctermbg=DarkRed cterm=bold
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
hi MoreMsg ctermfg=Green ctermbg=NONE cterm=NONE
hi WarningMsg ctermfg=Red ctermbg=NONE cterm=NONE
hi NonText ctermfg=DarkCyan ctermbg=NONE cterm=NONE
hi Question ctermfg=Green ctermbg=NONE cterm=NONE
hi Search ctermfg=Black ctermbg=LightRed cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=DarkRed cterm=NONE
hi FoldColumn ctermfg=LightRed ctermbg=DarkBlue cterm=NONE
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=DarkGreen ctermbg=NONE cterm=NONE
hi TabLine ctermfg=LightYellow ctermbg=Grey cterm=underline
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=NONE
hi TabLineSel ctermfg=NONE ctermbg=NONE cterm=bold
hi Title ctermfg=LightRed ctermbg=NONE cterm=NONE
hi VertSplit ctermfg=Black ctermbg=NONE cterm=NONE
hi Visual ctermfg=Black ctermbg=Magenta cterm=NONE
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=bold,underline
hi WildMenu ctermfg=Black ctermbg=Green cterm=bold
hi Comment ctermfg=Grey ctermbg=NONE cterm=NONE
hi Constant ctermfg=DarkMagenta ctermbg=NONE cterm=NONE
hi Error ctermfg=LightYellow ctermbg=Red cterm=bold
hi Identifier ctermfg=DarkGreen ctermbg=NONE cterm=bold
hi Ignore ctermfg=Black ctermbg=NONE cterm=NONE
hi PreProc ctermfg=DarkBlue ctermbg=NONE cterm=NONE
hi Special ctermfg=Red ctermbg=NONE cterm=NONE
hi Statement ctermfg=Red ctermbg=NONE cterm=NONE
hi Todo ctermfg=Black ctermbg=LightRed cterm=bold
hi Type ctermfg=LightRed ctermbg=NONE cterm=NONE
hi Underlined ctermfg=DarkBlue ctermbg=NONE cterm=underline
hi! link lCursor Cursor
hi ToolbarLine ctermfg=NONE ctermbg=Grey cterm=NONE
hi ToolbarButton ctermfg=Black ctermbg=Grey cterm=bold
hi gitcommitSummary ctermfg=DarkBlue ctermbg=NONE cterm=bold
hi gitcommitBranch ctermfg=DarkGreen ctermbg=NONE cterm=bold
hi gitcommitHeader ctermfg=DarkMagenta ctermbg=NONE cterm=bold
hi gitcommitFile ctermfg=DarkGreen ctermbg=NONE cterm=NONE
hi gitcommitType ctermfg=Red ctermbg=NONE cterm=bold
hi StatusLine ctermfg=NONE ctermbg=LightYellow cterm=NONE
hi StatusLineTerm ctermfg=Black ctermbg=Green cterm=bold
hi StatusLineNC ctermfg=Grey ctermbg=NONE cterm=NONE
hi Buffer ctermfg=Grey ctermbg=NONE cterm=NONE
hi NormalMode ctermfg=Black ctermbg=Green cterm=bold
hi VisualMode ctermfg=Black ctermbg=Magenta cterm=bold
hi InsertMode ctermfg=Black ctermbg=LightBlue cterm=bold
hi ReplaceMode ctermfg=Black ctermbg=Red cterm=bold
hi CommandMode ctermfg=Black ctermbg=NONE cterm=bold
hi File ctermfg=Grey ctermbg=LightYellow cterm=NONE
hi FileType ctermfg=DarkBlue ctermbg=NONE cterm=NONE
hi Percent ctermfg=Grey ctermbg=NONE cterm=NONE
hi Column ctermfg=DarkBlue ctermbg=NONE cterm=NONE
unlet s:t_Co
finish
endif
" Background: dark
" Color: black #1d2021 234 Black
" Color: darkred #b73935 160 DarkRed
" Color: darkgreen #5d9179 2 DarkGreen
" Color: orange #f7a583 216 LightRed
" Color: darkblue #458588 24 DarkBlue
" Color: darkmagenta #b16286 138 DarkMagenta
" Color: darkcyan #7cafa3 30 DarkCyan
" Color: grey #7c6f64 243 Grey
" Color: darkgrey #373737 243 Grey
" Color: red #ea6962 203 Red
" Color: green #89b594 71 Green
" Color: yellow #ffeca3 230 LightYellow
" Color: blue #7daea3 24 DarkCyan
" Color: magenta #d3869b 181 Magenta
" Color: cyan #ace5d7 81 LightBlue
" Color: white #ebdbb2 229 LightYellow
" Term Colors: black darkred darkgreen orange darkblue darkmagenta darkcyan darkgrey
" Term Colors: grey red green yellow blue magenta cyan white
" Background: light
" Color: black #1d2021 0 Black
" Color: darkred #b73935 160 DarkRed
" Color: darkgreen #5a8471 2 DarkGreen
" Color: orange #ef936b 216 LightRed
" Color: darkblue #458588 24 DarkBlue
" Color: darkmagenta #b16286 138 DarkMagenta
" Color: darkcyan #7cafa3 30 DarkCyan
" Color: grey #7c6f64 243 Grey
" Color: darkgrey #373737 243 Grey
" Color: red #ea6962 203 Red
" Color: green #89b594 71 Green
" Color: yellow #f7dea0 230 LightYellow
" Color: blue #7daea3 24 DarkCyan
" Color: magenta #d3869b 181 Magenta
" Color: cyan #ace5d7 81 LightBlue
" Color: white #f9f7d7 229 LightYellow
" Term Colors: black darkred darkgreen orange darkblue darkmagenta darkcyan darkgrey
" Term Colors: grey red green yellow blue magenta cyan white
" vim: et ts=2 sw=2

View File

@ -0,0 +1,273 @@
# vim: ft=colortemplate fdm=marker cc=22,42,60 et ts=2 sw=2
# Information {{{
Full name: Polyjuice
Short name: polyjuice
Author: David JULIEN <swy7ch@protonmail.com>
Maintainer: David JULIEN <swy7ch@protonmail.com>
Website: https://github.com/vim/vim/blob/master/src/syntax.c
Description: A simple yet customizable pastel colorscheme
# }}}
# Common linked groups {{{
EndOfBuffer -> NonText
QuickFixLine -> Search
Boolean -> Constant
Character -> Constant
Conditional -> Statement
Define -> PreProc
Debug -> Special
Delimiter -> Special
Exception -> Statement
Float -> Number
Function -> Identifier
Include -> PreProc
Keyword -> Statement
Label -> Statement
Macro -> PreProc
Number -> Constant
Operator -> Statement
PreCondit -> PreProc
Repeat -> Statement
SpecialChar -> Special
SpecialComment -> Special
StorageClass -> Type
String -> Constant
Structure -> Type
Tag -> Special
Typedef -> Type
# }}}
Background: dark
# Color palette {{{
# Color name GUI Base256 Base16
Color: black #1d2021 234 Black
Color: darkred #b73935 160 DarkRed
Color: darkgreen #5d9179 2 DarkGreen
Color: orange #f7a583 216 LightRed
Color: darkblue #458588 24 DarkBlue
Color: darkmagenta #b16286 138 DarkMagenta
Color: darkcyan #7cafa3 30 DarkCyan
Color: grey #7c6f64 243 Grey
Color: darkgrey #373737 243 Grey
Color: red #ea6962 203 Red
Color: green #89b594 71 Green
Color: yellow #ffeca3 230 LightYellow
Color: blue #7daea3 24 DarkCyan
Color: magenta #d3869b 181 Magenta
Color: cyan #ace5d7 81 LightBlue
Color: white #ebdbb2 229 LightYellow
# }}}
# Terminal colors {{{
# Vim by default does not define g:terminal_ansi_colors
Term Colors: black darkred darkgreen orange darkblue darkmagenta darkcyan darkgrey
Term Colors: grey red green yellow blue magenta cyan white
# }}}
# Default highlight groups for dark variant {{{
Variant: gui 256 8
# Group Foreground Background Attributes
# NOTE: Vim's default does not define Normal
Normal white black
Terminal white black
Cursor black white
CursorLine none darkgrey
CursorColumn none darkgrey
CursorLineNr orange none g=bold
Pmenu white black
PmenuSel black green bold
PmenuSbar black grey
PmenuThumb white none
SpellBad red none underline
SpellCap blue none
SpellLocal cyan none
SpellRare orange none
Conceal grey grey
DiffAdd black darkgreen
DiffChange black orange
DiffDelete black darkred g=bold
DiffText black red bold
Directory magenta none
Folded orange darkblue
IncSearch none none reverse
LineNr grey none
MatchParen none none reverse
ErrorMsg yellow darkred bold
ModeMsg none none bold
MoreMsg green none g=bold
WarningMsg red none
NonText blue none g=bold
Question green none g=bold
Search black orange
ColorColumn none darkred
FoldColumn orange darkblue
SignColumn none none
SpecialKey green none
TabLine white grey underline
TabLineFill none none
TabLineSel none none bold
Title orange none g=bold
VertSplit grey none
Visual yellow darkmagenta
VisualNOS none none underline,bold
WildMenu black green bold
# Other conventional group names (see `:help group-name`)
Comment grey none
Constant green none
Error white red bold
Identifier blue none bold
Ignore black none
PreProc magenta none
Special orange none
Statement yellow none g=bold
Todo black orange bold
Type yellow none g=bold
Underlined darkblue none underline
# See `:help lCursor`
lCursor -> Cursor
# See `:help window-toolbar`
ToolbarLine none grey
ToolbarButton black grey bold
# git
gitcommitSummary blue none bold
gitcommitBranch darkgreen none bold
gitcommitHeader magenta none bold
gitcommitFile green none
gitcommitType red none bold
# }}}
# Statusline
StatusLine none black
StatusLineTerm black green bold
StatusLineNC grey none
Buffer green none
NormalMode black green bold
VisualMode black magenta bold
InsertMode black cyan bold
ReplaceMode black red bold
CommandMode white none bold
File white darkgrey
FileType darkcyan none
Percent grey none
Column darkcyan none
##########
Background: light
# Color palette {{{
# Color name GUI Base256 Base16
Color: black #1d2021 0 Black
Color: darkred #b73935 160 DarkRed
Color: darkgreen #5a8471 2 DarkGreen
Color: orange #ef936b 216 LightRed
Color: darkblue #458588 24 DarkBlue
Color: darkmagenta #b16286 138 DarkMagenta
Color: darkcyan #7cafa3 30 DarkCyan
Color: grey #7c6f64 243 Grey
Color: darkgrey #373737 243 Grey
Color: red #ea6962 203 Red
Color: green #89b594 71 Green
Color: yellow #f7dea0 230 LightYellow
Color: blue #7daea3 24 DarkCyan
Color: magenta #d3869b 181 Magenta
Color: cyan #ace5d7 81 LightBlue
Color: white #f9f7d7 229 LightYellow
# }}}
# Terminal colors {{{
# Vim by default does not define g:terminal_ansi_colors
Term Colors: black darkred darkgreen orange darkblue darkmagenta darkcyan darkgrey
Term Colors: grey red green yellow blue magenta cyan white
# }}}
Variant: gui 256 8
# Group Foreground Background Attributes
# NOTE: Vim's default does not define Normal
Normal black white
Terminal black white
Cursor black yellow
CursorLine white orange
CursorColumn white orange
CursorLineNr orange none g=bold
Pmenu black white
PmenuSel black green bold
PmenuSbar black grey
PmenuThumb black none
SpellBad red none underline
SpellCap blue none
SpellLocal cyan none
SpellRare orange none
Conceal grey grey
DiffAdd black darkgreen
DiffChange black orange
DiffDelete black darkred g=bold
DiffText black red bold
Directory magenta none
Folded orange darkblue
IncSearch none none reverse
LineNr grey none
MatchParen none none reverse
ErrorMsg yellow darkred bold
ModeMsg none none bold
MoreMsg green none g=bold
WarningMsg red none
NonText blue none g=bold
Question green none g=bold
Search black orange
ColorColumn none darkred
FoldColumn orange darkblue
SignColumn none none
SpecialKey darkgreen none
TabLine white grey underline
TabLineFill none none
TabLineSel none none bold
Title orange none g=bold
VertSplit black none
Visual black magenta
VisualNOS none none underline,bold
WildMenu black green bold
# Other conventional group names (see `:help group-name`)
Comment grey none
Constant darkmagenta none
Error white red bold
Identifier darkgreen none bold
Ignore black none
PreProc darkblue none
Special red none
Statement red none g=bold
Todo black orange bold
Type orange none g=bold
Underlined darkblue none underline
# See `:help lCursor`
lCursor -> Cursor
# See `:help window-toolbar`
ToolbarLine none grey
ToolbarButton black grey bold
# git
gitcommitSummary darkblue none bold
gitcommitBranch darkgreen none bold
gitcommitHeader darkmagenta none bold
gitcommitFile darkgreen none
gitcommitType red none bold
# }}}
# Statusline
StatusLine none white
StatusLineTerm black green bold
StatusLineNC grey none
Buffer darkgrey none
NormalMode black green bold
VisualMode black magenta bold
InsertMode black cyan bold
ReplaceMode black red bold
CommandMode black none bold
File darkgrey yellow
FileType darkblue none
Percent darkgrey none
Column darkblue none

View File

@ -0,0 +1,128 @@
function! CurrentMode()
let g:currentmode={
\ 'n' : '[ NRM ]',
\ 'v' : '[ VIS ]',
\ 'V' : '[ V·L ]',
\ '' : '[ V·B ]',
\ 'i' : '[ INS ]',
\ 'R' : '[ RPL ]',
\ 'Rv' : '[ V·R ]',
\ 'c' : '[ CMD ]',
\}
return g:currentmode[mode()]
endfunction
function! ModeColor()
let g:modecolor={
\ 'n' : '%#NormalMode#',
\ 'v' : '%#VisualMode#',
\ 'V' : '%#VisualMode#',
\ '' : '%#VisualMode#',
\ 'i' : '%#InsertMode#',
\ 'R' : '%#ReplaceMode#',
\ 'Rv' : '%#ReplaceMode#',
\ 'c' : '%#CommandMode#',
\}
return g:modecolor[mode()]
endfunction
function! FileName()
let g:name=' '
if winwidth(0)>90
let g:name.='%F'
else
let g:name.='%t'
endif
return g:name
endfunction
function! StatusLine()
let l:statusline=''
" Buffer number
let l:statusline.='%#Buffer#'
let l:statusline.='[%n]'
" Show current mode
let l:statusline.=ModeColor()
let l:statusline.=CurrentMode().'%*'
" File path, absolute or relative to ~/
let l:statusline.='%#File#'
let l:statusline.=FileName()
" File status
let l:statusline .= "%{&readonly?' [RO]':''}"
let l:statusline .= "%{&modified?' [MO]':''}"
" Truncate line here
let l:statusline.='%<'
" Separation point between left and right aligned items.
let l:statusline.='%=%* '
let l:statusline.='%#SpellLocal#'
let l:statusline.="%{&spell?'[SPELL] ':''}%*"
" Filetype
let l:statusline.='%#FileType#'
let l:statusline.="%{&filetype!=#''?&filetype.' ':'no ft '}%*"
" Encoding & Fileformat
"let l:statusline.='%#WarningMsg#'
"let l:statusline.="%{&fileencoding!='utf-8'?'['.&fileencoding.'] ':''}%*"
" Depth
let l:statusline.='%#Percent#'
let l:statusline.='%03.p%%%* '
" Location of cursor in line
let l:statusline.='%#Column#'
let l:statusline.='-%03.c-'
return l:statusline
endfunction
function! StatusLineNC()
let l:statusline=''
" Buffer number
let l:statusline.='[%n]'
" File name and status
let l:statusline.=' %t'
let l:statusline .= "%{&readonly?' [MO]':''}"
let l:statusline .= "%{&modified?' [RO]':''}"
" Truncate line here
let l:statusline.='%<'
" Separation point between left and right aligned items.
let l:statusline.='%='
" Depth
let l:statusline.='%#Percent#'
let l:statusline.='%03.p%%'
return l:statusline
endfunction
function! UpdateInactiveWindows()
for winnum in range(1, winnr('$'))
if winnum != winnr()
call setwinvar(winnum, '&statusline', '%!StatusLineNC()')
endif
endfor
endfunction
function! RefreshStatusLine(mode)
if a:mode == "active"
setlocal statusline=%!StatusLine()
else
setlocal statusline=%!StatusLineNC()
endif
endfunction

203
.config/.old/vim/vimrc Normal file
View File

@ -0,0 +1,203 @@
""""""""""""""""""""""""""""""""""""""""""""""""""
" Vim-Plug
""""""""""""""""""""""""""""""""""""""""""""""""""
"Automatic installation
if empty(glob('~/.vim/autoload/plug.vim'))
silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
endif
" Necessary to do cool stuff
set nocompatible
"Pluggins will be downloaded under the specified directory
call plug#begin('~/.vim/plugins')
""""""""""""""""""""""""""""""""""""""""""""""""""
" Language hilighting packages
Plug 'sheerun/vim-polyglot'
" Shows indent guides
Plug 'nathanaelkane/vim-indent-guides'
" Colorscheme management
Plug 'lifepillar/vim-colortemplate'
" Templates
Plug 'tibabit/vim-templates'
" All Plugins must be added before the following line
call plug#end()
" Brief help
" :PlugInstall - installs plugins; append `!` to update or just :PluginUpdate
" :PlugUpdate - updates plugins
" :PlugUpgrade - upgrades vim-plug
" :PlugClean - confirms removal of unused plugins; append `!` to auto-approve removal
"
" Indent Guides
let g:indent_guides_enable_on_vim_startup=1
""""""""""""""""""""""""""""""""""""""""""""""""""
" "
" Non-plugin stuff : "
" "
""""""""""""""""""""""""""""""""""""""""""""""""""
"-> General
""""""""""""""""""""""""""""""""""""""""""""""""""
" Sets how many lines VIM has to remember
set history=500
" Set vim update time (milliseconds)
set updatetime=250
" Detect plugins filetypes
filetype plugin on
" To recognize groff filetype
au BufNewFile,BufRead *.mom set filetype=groff
" Defining the <leader>
let mapleader = " "
" Remove the pause when leaving insert mode
set ttimeoutlen=10
" Autocomplete settings
set wildmode=longest,list,full
""""""""""""""""""""""""""""""""""""""""""""""""""
" -> VIM User Interface
""""""""""""""""""""""""""""""""""""""""""""""""""
" Sets the font
set guifont=FuraCode\ Nerd\ Font\ Mono\ 12
" Set utf8 as standard encoding
set encoding=utf-8
" Shows the current position
set ruler
" Shows line numbers
set number
" Shows line numbers relative to the cursor
set relativenumber
" A buffer becomes hidden when abandonned
set hid
" Highlights search results
set hlsearch
" Searches before hitting ENTER
set incsearch
" Shows matching brackets when cursor is over them
set showmatch
" Shows the command that's being typed
set showcmd
" Splits to the right
set splitright
" Prevents nvim from being customized by text files commands
set nomodeline
"""""""""""""""""""""""""""""""""""""""""""""""""""
" -> Status line
"""""""""""""""""""""""""""""""""""""""""""""""""""
"Always show the status line
set laststatus=2
"Don't show editor mode
set noshowmode
source $HOME/.vim/statusline.vim
augroup statusline
autocmd!
autocmd VimEnter *
\ call UpdateInactiveWindows()
autocmd VimEnter,WinEnter,BufWinEnter *
\ call RefreshStatusLine('active')
autocmd WinLeave *
\ call RefreshStatusLine('inactive')
augroup END
" GUI colors
" set Vim-specific sequences for RGB colors
let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum"
let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum"
set termguicolors
syntax enable
" Colorscheme
set background=dark
colorscheme polyjuice
""""""""""""""""""""""""""""""""""""""""""""""""""
" -> Text, tab and indent
""""""""""""""""""""""""""""""""""""""""""""""""""
" Do not use spaces instead of tabs
set noexpandtab
" But be smart with tabs
set smarttab
" 1 tab = 4 spaces
set tabstop=4
set shiftwidth=4 "for indent operations
" Indent and wrap rules
set si "smart indent
set wrap "wrap lines
" Stops the auto-commenting new line
autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o
" Enable autocompletion
set wildmode=longest,list,full
" Automatically removes all trailing whitespaces on save
autocmd BufWritePre * %s/\s\+$//e
""""""""""""""""""""""""""""""""""""""""""""""""""
" -> Macros
""""""""""""""""""""""""""""""""""""""""""""""""""
" Source files
noremap <leader>s :source ~/.vim/vimrc <CR>
" Circle through buffers
noremap <leader>n :bn<CR>
noremap <leader>b :bp<CR>
" Clear the search highlight
noremap <leader>h :nohl<CR>
" Make use of xclipboard
nnoremap <leader>v "+p
vnoremap <leader>c "+y
" Compile document
noremap <leader><Enter> :w! \| !compiler %<CR>
" Compile mom folder into pdf
noremap <leader>m :w! \| !mommerge<CR>
" Plugin management
noremap <leader>pi :PlugInstall<CR>
noremap <leader>pc :PlugClean<CR>
noremap <leader>pu :PlugUpdate \| PlugUpgrade<CR>
" Colorize
noremap <leader>cc :ColorizerToggle<CR>
" Template
noremap <leader>ti :TemplateInit<CR>
noremap <leader>te :TemplateExpand<CR>

40
.config/X11/xcolors_dark Normal file
View File

@ -0,0 +1,40 @@
/* name dark light */
/* black 0 8 */
/* red 1 9 */
/* green 2 10 */
/* yellow 3 11 */
/* blue 4 12 */
/* purple 5 13 */
/* cyan 6 14 */
/* white 7 15 */
/* theme */
*.color0: #131616
*.color1: #b73935
*.color2: #427d61
*.color3: #f7a583
*.color4: #458588
*.color5: #b16286
*.color6: #7cafa3
*.color7: #d5c4a1
*.color8: #373737
*.color9: #ea6962
*.color10: #89b594
*.color11: #ffeca3
*.color12: #7daea3
*.color13: #d3869b
*.color14: #ace5d7
*.color15: #fbf1c7
*.background: #131616
*.selbackground: #373737
*.foreground: #fbf1c7
*.normforeground: #a89984
*.selforeground: #ebdbb2
*.selborder: #427d61
*.cursorColor: #ebdbb2
/* dmenu colors */
dmenu.background: #131616
dmenu.foreground: #fbf1c7
dmenu.selbackground: #427d61
dmenu.selforeground: #fbf1c7

40
.config/X11/xcolors_light Normal file
View File

@ -0,0 +1,40 @@
/* name dark light */
/* black 0 8 */
/* red 1 9 */
/* green 2 10 */
/* yellow 3 11 */
/* blue 4 12 */
/* purple 5 13 */
/* cyan 6 14 */
/* white 7 15 */
/* theme */
*.color0: #1d2021
*.color1: #9d0006
*.color2: #427d61
*.color3: #d65d0e
*.color4: #076678
*.color5: #8f3f71
*.color6: #4a8785
*.color7: #a89984
*.color8: #373737
*.color9: #b73935
*.color10: #689d6a
*.color11: #d79921
*.color12: #458588
*.color13: #b16286
*.color14: #7cafa3
*.color15: #fbf1c7
*.background: #fbf1c7
*.selbackground: #ebdbb2
*.foreground: #665c64
*.normforeground: #665c64
*.selforeground: #1d2021
*.selborder: #d65d0e
*.cursorColor: #1d2021
/* dmenu colors */
dmenu.background: #fbf1c7
dmenu.foreground: #665c64
dmenu.selbackground: #427d61
dmenu.selforeground: #fbf1c7

31
.config/X11/xinitrc Normal file
View File

@ -0,0 +1,31 @@
#!/bin/sh
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap
# merge in defaults and keymaps
if [ -f $sysresources ]; then
xrdb -merge $sysresources
fi
if [ -f $sysmodmap ]; then
xmodmap $sysmodmap
fi
# start some nice programs
if [ -d /etc/X11/xinit/xinitrc.d ] ; then
for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
[ -x "$f" ] && . "$f"
done
unset f
fi
if [ -f "${XDG_CONFIG_HOME:-$HOME/.config}/X11/xprofile" ]; then
. "${XDG_CONFIG_HOME:-$HOME/.config}/X11/xprofile"
else
. "$HOME/.xprofile"
fi
exec /usr/bin/dbus-launch --sh-syntax --exit-with-session dwm

24
.config/X11/xprofile Normal file
View File

@ -0,0 +1,24 @@
#!/usr/bin/env sh
# This file is sourced when launching a DM from startx/xinit
# session launch
eval $(dbus-launch --sh-syntax --exit-with-session)
redshift &
dunst &> /dev/null & #temp fix
# MPD daemon start (if no other user instance exists)
[ -z "$(pgrep -fx mpd)" ] && mpd
[ -z "$(pgrep -f sb-mpdup)" ] && sb-mpdup &
pulsemixer --set-volume 50
sbacklight set 3 &
setbg &
dwmblocks &
xrdb "$XDG_CONFIG_HOME/X11/xresources"
xrdb -merge "$XDG_STATE_HOME/xcolors"
xss-lock -- slock &
get_dbus &
setxkbmap 'fr(oss)'
remaps &
sxhkd &

14
.config/X11/xresources Normal file
View File

@ -0,0 +1,14 @@
!! Set a default font and font size as below:
*.font: Fira Code:size=12
*.symbols: Symbols Nerd Font:size=12
*.japan: IPAexGothic:size=12
/* dwm config */
dwm.borderpx: 3
dwm.gappx: 15
/* st config */
st.font: Fira Code:size=12
st.symbols: Symbols Nerd Font:size=12
st.termname: st-256color
st.borderpx: 5

35
.config/aliasrc Normal file
View File

@ -0,0 +1,35 @@
# a file containing all my aliases
# sourced at launch
# Verbosity
alias cp="cp -iv"
alias mv="mv -iv"
alias rm="rm -vI"
alias bc="bc -ql"
alias mkd="mkdir -pv"
alias yt-dlp="yt-dlp --embed-metadata -iv"
alias rsync="rsync --progress"
# Colors
alias diff="diff --color=auto"
alias grep="grep --color=auto"
alias ip="ip -color=auto"
alias ls="ls --color=auto"
# Handy stuff
alias abcde="abcde -c $XDG_CONFIG_HOME/abcde/config"
alias abook="abook --config $XDG_CONFIG_HOME/abook/abookrc --datafile $XDG_DATA_HOME/abook/addressbook"
alias backup='rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /'
alias dotfiles="/usr/bin/git --git-dir=$DOTFILES --work-tree=$HOME"
alias irssi="irssi --config=$XDG_CONFIG_HOME/irssi/config --home=$XDG_DATA_HOME/irssi"
alias ll="ls -lh"
alias la="ls -lah"
alias pip-upgrade="pip freeze --user | cut -d'=' -f1 | xargs -n1 pip install -U"
alias podget="podget --dir_config $XDG_CONFIG_HOME/podget"
alias printenv="printenv | sort"
alias wget="wget --hsts-file=$XDG_CACHE_HOME/wget-hsts"
alias yta="yt-dlp -x -f ogg/6"
# Website
alias root@site="ssh root@davidjulien.xyz"
alias swytch@site="ssh swytch@davidjulien.xyz"

10
.config/beets/config.yaml Normal file
View File

@ -0,0 +1,10 @@
directory: ~/music
original_date: yes
timid: yes
plugins: fetchart
fetchart:
cautious: yes
cover_names: cover front art album folder
maxwidth: 800
cover_format: JPEG

461
.config/dunst/dunstrc Normal file
View File

@ -0,0 +1,461 @@
[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 = keyboard
# dynamic width from 0 to 300
# width = (0, 300)
# constant width of 300
width = 450
# The maximum height of a single notification, excluding the frame.
height = 300
# Position the notification in the top right corner
origin = top-right
# Offset from the origin
offset = 25x47
# Scale factor. It is auto-detected if value is 0.
scale = 0
# Turn on the progess bar
progress_bar = true
# Set the progress bar height. This includes the frame, so make sure
# it's at least twice as big as the frame width.
progress_bar_height = 10
# Set the frame width of the progress bar
progress_bar_frame_width = 1
# Set the minimum width for the progress bar
progress_bar_min_width = 150
# Set the maximum width for the progress bar
progress_bar_max_width = 300
# Show how many messages are currently hidden (because of geometry).
indicate_hidden = yes
# Shrink window if it's smaller than the width. Will be ignored if
# width is 0.
shrink = no
# The transparency of the window. Range: [0; 100].
# This option will only work if a compositing window manager is
# present (e.g. xcompmgr, compiz, etc.).
transparency = 0
# The height of the entire notification. If the height is smaller
# than the font height and padding combined, it will be raised
# to the font height and padding.
notification_height = 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
# Padding between text and icon.
text_icon_padding = 0
# 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 = "#aaaaaa"
# Define a color for the separator.
# possible values are:
# * auto: dunst tries to find a color fitting to the background;
# * foreground: use the same color as the foreground;
# * frame: use the same color as the frame;
# * anything else will be interpreted as a X color.
separator_color = frame
# Sort messages by urgency.
sort = yes
# 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 = FiraCode 12
# 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
# <https://developer.gnome.org/pango/stable/pango-Markup.html>.
#
# strip: This setting is provided for compatibility with some broken
# clients that send markup even though it's not enabled on the
# server. Dunst will try to strip the markup but the parsing is
# simplistic so using this option outside of matching rules for
# specific applications *IS GREATLY DISCOURAGED*.
#
# no: Disable markup parsing, incoming notifications will be treated as
# plain text. Dunst will not advertise that it has the body-markup
# capability if this is set as a global setting.
#
# It's important to note that markup inside the format option will be parsed
# regardless of what this is set to.
markup = full
# The format of the message. Possible variables are:
# %a appname
# %s summary
# %b body
# %i iconname (including its path)
# %I iconname (without its path)
# %p progress value if set ([ 0%] to [100%]) or nothing
# %n progress value if set without any extra characters
# %% Literal %
# Markup is allowed
format = "<b>%s</b>\n%b"
# Alignment of message text.
# Possible values are "left", "center" and "right".
alignment = center
# Vertical alignment of message text and icon.
# Possible values are "top", "center" and "bottom".
vertical_alignment = center
# Show age of message if message is older than show_age_threshold
# seconds.
# Set to -1 to disable.
show_age_threshold = -1
# Split notifications into multiple lines if they don't fit into
# geometry.
word_wrap = yes
# 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 small icons up to this size, set to 0 to disable. Helpful
# for e.g. small files or high-dpi screens. In case of conflict,
# max_icon_size takes precedence over this.
min_icon_size = 0
# Scale larger icons down to this size, set to 0 to disable
max_icon_size = 80
# Paths to default icons.
icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
### History ###
# Should a notification popped up from history be sticky or timeout
# as if it would normally do.
sticky_history = yes
# Maximum amount of notifications kept in history
history_length = 20
### Misc/Advanced ###
# dmenu path.
dmenu = /usr/bin/dmenu -p dunst:
# Browser for opening urls in context menu.
browser = /usr/bin/firefox -new-tab
# Always run rule-defined scripts, even if the notification is suppressed
always_run_script = true
# Define the title of the windows spawned by dunst
title = Dunst
# Define the class of the windows spawned by dunst
class = Dunst
# Print a notification on startup.
# This is mainly for error detection, since dbus (re-)starts dunst
# automatically after a crash.
startup_notification = false
# 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 = 0
# Ignore the dbus closeNotification message.
# Useful to enforce the timeout set by dunst configuration. Without this
# parameter, an application may close the notification sent before the
# user defined timeout.
ignore_dbusclose = false
### Legacy
# Use the Xinerama extension instead of RandR for multi-monitor support.
# This setting is provided for compatibility with older nVidia drivers that
# do not support RandR and using it on systems that support RandR is highly
# discouraged.
#
# By enabling this setting dunst will not be able to detect when a monitor
# is connected or disconnected which might break follow mode if the screen
# layout changes.
force_xinerama = false
### mouse
# Defines list of actions for each 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.
# These values can be strung together for each mouse event, and
# will be executed in sequence.
mouse_left_click = close_current
mouse_middle_click = do_action, close_current
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
# The internal keyboard shortcut support in dunst is now considered deprecated
# and should be replaced by dunstctl calls. You can use the configuration of your
# WM or DE to bind these to shortcuts of your choice.
# Check the dunstctl manual page for more info.
[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. Equivalent dunstctl command:
# dunstctl close
# close = ctrl+space
# Close all notifications. Equivalent dunstctl command:
# dunstctl close-all
# close_all = ctrl+shift+space
# Redisplay last message(s). Equivalent dunstctl command:
# dunstctl history-pop
# history = ctrl+grave
# Context menu. Equivalent dunstctl command:
# dunstctl context
# 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 = "#131616"
foreground = "#89b594"
frame_color = "#89b594"
timeout = 4
# Icon for notifications with low urgency, uncomment to enable
#icon = /path/to/icon
[urgency_normal]
background = "#131616"
foreground = "#ffeca3"
frame_color = "#ffeca3"
timeout = 6
# Icon for notifications with normal urgency, uncomment to enable
#icon = /path/to/icon
[urgency_critical]
background = "#131616"
foreground = "#ea6962"
frame_color = "#ea6962"
timeout = 10
# Icon for notifications with critical urgency, uncomment to enable
#icon = /path/to/icon
# Every section that isn't one of the above is interpreted as a rules to
# override settings for certain messages.
#
# Messages can be matched by
# appname (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

20
.config/git/config Normal file
View File

@ -0,0 +1,20 @@
[user]
email = swytch@mailo.com
name = David JULIEN
signingKey = AA82A06F
[gpg]
program = gpg2
[init]
defaultBranch = main
[status]
submodulesummary = 1
[fetch]
prune = true
recurseSubmodules = on-demand
[pull]
rebase = false
[push]
recurseSubmodules = check
[alias]
lg1 = log --graph --abbrev-commit --decorate --date-order --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(bold white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --all
lg2 = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold yellow)%d%C(reset)%n'' %C(white)%s%C(reset) %C(bold white)- %an%C(reset)' --all

View File

@ -0,0 +1,4 @@
default-cache-ttl 86400
max-cache-ttl 86400
pinentry-program /usr/bin/pinentry-gnome3

26
.config/htop/htoprc Normal file
View File

@ -0,0 +1,26 @@
# 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 38 39 46 47 49 1
sort_key=47
sort_direction=1
hide_threads=0
hide_kernel_threads=1
hide_userland_threads=1
shadow_other_users=1
show_thread_names=1
show_program_path=0
highlight_base_name=1
highlight_megabytes=1
highlight_threads=1
tree_view=1
header_margin=1
detailed_cpu_time=0
cpu_count_from_zero=0
update_process_names=0
account_guest_in_cpu_meter=0
color_scheme=6
delay=15
left_meters=AllCPUs Memory Swap
left_meter_modes=1 1 1
right_meters=Tasks LoadAverage Uptime Battery Blank Hostname
right_meter_modes=2 2 2 2 2 2

View File

@ -0,0 +1,366 @@
servers = (
{ address = "irc.dal.net"; chatnet = "DALnet"; port = "6667"; },
{
address = "ssl.efnet.org";
chatnet = "EFNet";
port = "9999";
use_tls = "yes";
},
{
address = "irc.esper.net";
chatnet = "EsperNet";
port = "6697";
use_tls = "yes";
tls_verify = "yes";
},
{
address = "chat.freenode.net";
chatnet = "Freenode";
port = "6697";
use_tls = "yes";
tls_verify = "yes";
},
{
address = "irc.gamesurge.net";
chatnet = "GameSurge";
port = "6667";
},
{
address = "eu.irc6.net";
chatnet = "IRCnet";
port = "6667";
use_tls = "yes";
},
{ address = "open.ircnet.net"; chatnet = "IRCnet"; port = "6667"; },
{
address = "irc.ircsource.net";
chatnet = "IRCSource";
port = "6667";
},
{ address = "irc.netfuze.net"; chatnet = "NetFuze"; port = "6667"; },
{
address = "irc.oftc.net";
chatnet = "OFTC";
port = "6697";
use_tls = "yes";
tls_verify = "yes";
},
{
address = "irc.quakenet.org";
chatnet = "QuakeNet";
port = "6667";
},
{
address = "irc.rizon.net";
chatnet = "Rizon";
port = "6697";
use_tls = "yes";
tls_verify = "yes";
},
{ address = "silc.silcnet.org"; chatnet = "SILC"; port = "706"; },
{
address = "irc.undernet.org";
chatnet = "Undernet";
port = "6667";
},
{
address = "irc.libera.chat";
chatnet = "LiberaChat";
port = "6697";
use_tls = "yes";
tls_verify = "yes";
autoconnect = "yes";
},
{
address = "irc.epiknet.org";
chatnet = "Epinet";
port = "6697";
use_tls = "yes";
tls_verify = "yes";
},
{
address = "irc.epiknet.org";
chatnet = "EpikNet";
port = "6697";
use_tls = "yes";
tls_verify = "yes";
}
);
chatnets = {
DALnet = {
type = "IRC";
max_kicks = "4";
max_msgs = "20";
max_whois = "30";
};
EFNet = {
type = "IRC";
max_kicks = "1";
max_msgs = "4";
max_whois = "1";
};
EsperNet = {
type = "IRC";
max_kicks = "1";
max_msgs = "4";
max_whois = "1";
};
Freenode = {
type = "IRC";
max_kicks = "1";
max_msgs = "4";
max_whois = "1";
};
GameSurge = {
type = "IRC";
max_kicks = "1";
max_msgs = "1";
max_whois = "1";
};
IRCnet = {
type = "IRC";
max_kicks = "1";
max_msgs = "1";
max_whois = "1";
};
IRCSource = {
type = "IRC";
max_kicks = "1";
max_msgs = "4";
max_whois = "1";
};
NetFuze = {
type = "IRC";
max_kicks = "1";
max_msgs = "1";
max_whois = "1";
};
OFTC = { type = "IRC"; max_kicks = "1"; max_msgs = "1"; max_whois = "1"; };
QuakeNet = {
type = "IRC";
max_kicks = "1";
max_msgs = "1";
max_whois = "1";
};
Rizon = {
type = "IRC";
max_kicks = "1";
max_msgs = "1";
max_whois = "1";
};
SILC = { type = "SILC"; };
Undernet = {
type = "IRC";
max_kicks = "1";
max_msgs = "1";
max_whois = "1";
};
LiberaChat = {
type = "IRC";
sasl_mechanism = "PLAIN";
sasl_username = "swytch";
};
EpikNet = { type = "IRC"; };
};
channels = (
{ name = "#lobby"; chatnet = "EsperNet"; autojoin = "No"; },
{ name = "#freenode"; chatnet = "Freenode"; autojoin = "No"; },
{ name = "#irssi"; chatnet = "Freenode"; autojoin = "No"; },
{ name = "#gamesurge"; chatnet = "GameSurge"; autojoin = "No"; },
{ name = "#irssi"; chatnet = "IRCNet"; autojoin = "No"; },
{ name = "#ircsource"; chatnet = "IRCSource"; autojoin = "No"; },
{ name = "#netfuze"; chatnet = "NetFuze"; autojoin = "No"; },
{ name = "#oftc"; chatnet = "OFTC"; autojoin = "No"; },
{ name = "silc"; chatnet = "SILC"; autojoin = "No"; },
{ name = "#gentoo"; chatnet = "LiberaChat"; },
{ name = "#gentoo-fr"; chatnet = "LiberaChat"; },
{ name = "#neovim"; chatnet = "LiberaChat"; },
{ name = "#git"; chatnet = "LiberaChat"; },
{ name = "#coq"; chatnet = "LiberaChat"; },
{ name = "#18-25"; chatnet = "EpikNet"; },
{ name = "#irssi"; chatnet = "LiberaChat"; }
);
aliases = {
ATAG = "WINDOW SERVER";
ADDALLCHANS = "SCRIPT EXEC foreach my \\$channel (Irssi::channels()) { Irssi::command(\"CHANNEL ADD -auto \\$channel->{visible_name} \\$channel->{server}->{tag} \\$channel->{key}\")\\;}";
B = "BAN";
BACK = "AWAY";
BANS = "BAN";
BYE = "QUIT";
C = "CLEAR";
CALC = "EXEC - if command -v bc >/dev/null 2>&1\\; then printf '%s=' '$*'\\; echo '$*' | bc -l\\; else echo bc was not found\\; fi";
CHAT = "DCC CHAT";
DATE = "TIME";
DEHIGHLIGHT = "DEHILIGHT";
DESCRIBE = "ACTION";
DHL = "DEHILIGHT";
EXEMPTLIST = "MODE $C +e";
EXIT = "QUIT";
GOTO = "SCROLLBACK GOTO";
HIGHLIGHT = "HILIGHT";
HL = "HILIGHT";
HOST = "USERHOST";
INVITELIST = "MODE $C +I";
J = "JOIN";
K = "KICK";
KB = "KICKBAN";
KN = "KNOCKOUT";
LAST = "LASTLOG";
LEAVE = "PART";
M = "MSG";
MUB = "UNBAN *";
N = "NAMES";
NMSG = "^MSG";
P = "PART";
Q = "QUERY";
RESET = "SET -default";
RUN = "SCRIPT LOAD";
SAY = "MSG *";
SB = "SCROLLBACK";
SBAR = "STATUSBAR";
SIGNOFF = "QUIT";
SV = "MSG * Irssi $J ($V) - https://irssi.org";
T = "TOPIC";
UB = "UNBAN";
UMODE = "MODE $N";
UNSET = "SET -clear";
W = "WHO";
WC = "WINDOW CLOSE";
WG = "WINDOW GOTO";
WJOIN = "JOIN -window";
WI = "WHOIS";
WII = "WHOIS $0 $0";
WL = "WINDOW LIST";
WN = "WINDOW NEW HIDDEN";
WQUERY = "QUERY -window";
WW = "WHOWAS";
};
statusbar = {
items = {
barstart = "{sbstart}";
barend = "{sbend}";
topicbarstart = "{topicsbstart}";
topicbarend = "{topicsbend}";
time = "{sb $Z}";
user = "{sb {sbnickmode $cumode}$N{sbmode $usermode}{sbaway $A}}";
window = "{sb $winref:$tag/$itemname{sbmode $M}}";
window_empty = "{sb $winref{sbservertag $tag}}";
prompt = "{prompt $[.15]itemname}";
prompt_empty = "{prompt $winname}";
topic = " $topic";
topic_empty = " Irssi v$J - https://irssi.org";
lag = "{sb Lag: $0-}";
act = "{sb Act: $0-}";
more = "-- more --";
};
default = {
window = {
disabled = "no";
type = "window";
placement = "bottom";
position = "1";
visible = "active";
items = {
barstart = { priority = "100"; };
time = { };
user = { };
window = { };
window_empty = { };
lag = { priority = "-1"; };
act = { priority = "10"; };
more = { priority = "-1"; alignment = "right"; };
barend = { priority = "100"; alignment = "right"; };
};
};
window_inact = {
type = "window";
placement = "bottom";
position = "1";
visible = "inactive";
items = {
barstart = { priority = "100"; };
window = { };
window_empty = { };
more = { priority = "-1"; alignment = "right"; };
barend = { priority = "100"; alignment = "right"; };
};
};
prompt = {
type = "root";
placement = "bottom";
position = "100";
visible = "always";
items = {
prompt = { priority = "-1"; };
prompt_empty = { priority = "-1"; };
input = { priority = "10"; };
};
};
topic = {
type = "root";
placement = "top";
position = "1";
visible = "always";
items = {
topicbarstart = { priority = "100"; };
topic = { };
topic_empty = { };
topicbarend = { priority = "100"; alignment = "right"; };
};
};
};
};
settings = {
core = {
real_name = "DavidJ";
user_name = "swytch";
nick = "swytch";
timestamp_format = "%H:%M:%S";
};
"fe-text" = { actlist_sort = "refnum"; };
"fe-common/core" = { theme = "elf"; };
};
hilights = ( { text = "swytch"; nick = "yes"; word = "yes"; } );
windows = {
1 = { immortal = "yes"; name = "(status)"; level = "ALL"; };
2 = { name = "hilight"; sticky = "yes"; };
};
mainwindows = {
1 = {
first_line = "12";
lines = "39";
first_column = "0";
columns = "191";
};
2 = {
first_line = "1";
lines = "11";
first_column = "0";
columns = "191";
};
};

View File

@ -0,0 +1,25 @@
# Personnal - Critical
IMAPStore email@address.you-remote
Host address.you
Port 993
User email@address.you
PassCmd "pass address.you/email"
AuthMechs LOGIN
SSLType IMAPS
CertificateFile /etc/ssl/certs/ca-certificates.crt
MaildirStore email@address.you-local
Subfolders Verbatim
Path /home/user/.local/share/mail/address/
Inbox /home/user/.local/share/mail/address/INBOX
Channel address
Expunge Both
Far :email@address.you-remote:
Near :email@address.you-local:
Patterns * !"[Gmail]/All Mail"
Create Both
SyncState *
MaxMessages 0
ExpireUnread no
# End Profile

18
.config/mimeapps.list Normal file
View File

@ -0,0 +1,18 @@
[Default Applications]
# xdg-open will use these settings to determine how to open filetypes.
# These .desktop entries can also be seen and changed in ~/.local/share/applications/
text/x-shellscript=text.desktop;
x-scheme-handler/magnet=torrent.desktop;
application/x-bittorrent=torrent.desktop;
x-scheme-handler/mailto=mail.desktop;
text/plain=text.desktop;
application/postscript=pdf.desktop;
application/pdf=pdf.desktop;
image/png=img.desktop;
image/jpeg=img.desktop;
image/gif=img.desktop;
application/rss+xml=rss.desktop
video/x-matroska=video.desktop
inode/directory=file.desktop

29
.config/mpd/mpd.conf Normal file
View File

@ -0,0 +1,29 @@
# Recommended location for database
db_file "~/.config/mpd/database"
# Logs to systemd journal
log_file "syslog"
# The music directory is by default the XDG directory, uncomment to amend and choose a different directory
music_directory "~/music"
# Uncomment to refresh the database whenever files in the music_directory are changed
auto_update "yes"
# Uncomment to enable the functionalities
playlist_directory "~/.config/mpd/playlists"
pid_file "~/.config/mpd/pid"
#state_file "~/.config/mpd/state"
sticker_file "~/.config/mpd/sticker.sql"
audio_output {
type "pulse"
name "pulse audio"
}
audio_output {
type "fifo"
name "my_fifo"
path "/tmp/mpd.fifo"
format "44100:16:2"
}

View File

@ -0,0 +1,10 @@
account address
host address.you
port 587
from email@address.you
user email@address.you
passwordeval "pass address.you/email"
auth on
tls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile /home/user/.local/share/msmtp/msmtp.log

563
.config/ncmpcpp/bindings Normal file
View File

@ -0,0 +1,563 @@
##############################################################
## This is the example bindings file. Copy it to ##
## $XDG_CONFIG_HOME/ncmpcpp/bindings or ~/.ncmpcpp/bindings ##
## and set up your preferences. ##
##############################################################
##
##### General rules #####
##
## 1) Because each action has runtime checks whether it's
## ok to run it, a few actions can be bound to one key.
## Actions will be bound in order given in configuration
## file. When a key is pressed, first action in order
## will test itself whether it's possible to run it. If
## test succeeds, action is executed and other actions
## bound to this key are ignored. If it doesn't, next
## action in order tests itself etc.
##
## 2) It's possible to bind more that one action at once
## to a key. It can be done using the following syntax:
##
## def_key "key"
## action1
## action2
## ...
##
## This creates a chain of actions. When such chain is
## executed, each action in chain is run until the end of
## chain is reached or one of its actions fails to execute
## due to its requirements not being met. If multiple actions
## and/or chains are bound to the same key, they will be
## consecutively run until one of them gets fully executed.
##
## 3) When ncmpcpp starts, bindings configuration file is
## parsed and then ncmpcpp provides "missing pieces"
## of default keybindings. If you want to disable some
## bindings, there is a special action called 'dummy'
## for that purpose. Eg. if you want to disable ability
## to crop playlists, you need to put the following
## into configuration file:
##
## def_key "C"
## dummy
##
## After that ncmpcpp will not bind any default action
## to this key.
##
## 4) To let you write simple macros, the following special
## actions are provided:
##
## - push_character "character" - pushes given special
## character into input queue, so it will be immediately
## picked by ncmpcpp upon next call to readKey function.
## Accepted values: mouse, up, down, page_up, page_down,
## home, end, space, enter, insert, delete, left, right,
## tab, ctrl-a, ctrl-b, ..., ctrl-z, ctrl-[, ctrl-\\,
## ctrl-], ctrl-^, ctrl-_, f1, f2, ..., f12, backspace.
## In addition, most of these names can be prefixed with
## alt-/ctrl-/shift- to be recognized with the appropriate
## modifier key(s).
##
## - push_characters "string" - pushes given string into
## input queue.
##
## - require_runnable "action" - checks whether given action
## is runnable and fails if it isn't. This is especially
## useful when mixed with previous two functions. Consider
## the following macro definition:
##
## def_key "key"
## push_characters "custom_filter"
## apply_filter
##
## If apply_filter can't be currently run, we end up with
## sequence of characters in input queue which will be
## treated just as we typed them. This may lead to unexpected
## results (in this case 'c' will most likely clear current
## playlist, 'u' will trigger database update, 's' will stop
## playback etc.). To prevent such thing from happening, we
## need to change above definition to this one:
##
## def_key "key"
## require_runnable "apply_filter"
## push_characters "custom_filter"
## apply_filter
##
## Here, first we test whether apply_filter can be actually run
## before we stuff characters into input queue, so if condition
## is not met, whole chain is aborted and we're fine.
##
## - require_screen "screen" - checks whether given screen is
## currently active. accepted values: browser, clock, help,
## media_library, outputs, playlist, playlist_editor,
## search_engine, tag_editor, visualizer, last_fm, lyrics,
## selected_items_adder, server_info, song_info,
## sort_playlist_dialog, tiny_tag_editor.
##
## - run_external_command "command" - runs given command using
## system() function.
##
## - run_external_console_command "command" - runs given console
## command using system() function.
##
##
## 5) In addition to binding to a key, you can also bind actions
## or chains of actions to a command. If it comes to commands,
## syntax is very similar to defining keys. Here goes example
## definition of a command:
##
## def_command "quit" [deferred]
## stop
## quit
##
## If you execute the above command (which can be done by
## invoking action execute_command, typing 'quit' and pressing
## enter), ncmpcpp will stop the player and then quit. Note the
## presence of word 'deferred' enclosed in square brackets. It
## tells ncmpcpp to wait for confirmation (ie. pressing enter)
## after you typed quit. Instead of 'deferred', 'immediate'
## could be used. Then ncmpcpp will not wait for confirmation
## (enter) and will execute the command the moment it sees it.
##
## Note: while command chains are executed, internal environment
## update (which includes current window refresh and mpd status
## update) is not performed for performance reasons. However, it
## may be desirable to do so in some situration. Therefore it's
## possible to invoke by hand by performing 'update enviroment'
## action.
##
## Note: There is a difference between:
##
## def_key "key"
## action1
##
## def_key "key"
## action2
##
## and
##
## def_key "key"
## action1
## action2
##
## First one binds two single actions to the same key whilst
## second one defines a chain of actions. The behavior of
## these two is different and is described in (1) and (2).
##
## Note: Function def_key accepts non-ascii characters.
##
##### List of unbound actions #####
##
## The following actions are not bound to any key/command:
##
## - set_volume
## - load
##
#
#def_key "mouse"
# mouse_event
#
def_key "k"
scroll_up
#
#def_key "shift-up"
# select_item
# scroll_up
#
def_key "j"
scroll_down
#
#def_key "shift-down"
# select_item
# scroll_down
#
#def_key "["
# scroll_up_album
#
#def_key "]"
# scroll_down_album
#
#def_key "{"
# scroll_up_artist
#
#def_key "}"
# scroll_down_artist
#
#def_key "page_up"
# page_up
#
def_key "g"
page_up
#
def_key "G"
page_down
#
#def_key "page_down"
# page_down
#
#def_key "home"
# move_home
#
#def_key "end"
# move_end
#
#def_key "insert"
# select_item
#
def_key "l"
enter_directory
#
#def_key "enter"
# enter_directory
#
#def_key "enter"
# toggle_output
#
#def_key "enter"
# run_action
#
#def_key "enter"
# play_item
#
#def_key "space"
# add_item_to_playlist
#
#def_key "space"
# toggle_lyrics_update_on_song_change
#
#def_key "space"
# toggle_visualization_type
#
#def_key "delete"
# delete_playlist_items
#
#def_key "delete"
# delete_browser_items
#
#def_key "delete"
# delete_stored_playlist
#
#def_key "right"
# next_column
#
#def_key "right"
# slave_screen
#
#def_key "right"
# volume_up
#
#def_key "+"
# volume_up
#
#def_key "left"
# previous_column
#
#def_key "left"
# master_screen
#
#def_key "left"
# volume_down
#
#def_key "-"
# volume_down
#
#def_key ":"
# execute_command
#
#def_key "tab"
# next_screen
#
#def_key "shift-tab"
# previous_screen
#
#def_key "f1"
# show_help
#
#def_key "1"
# show_playlist
#
#def_key "2"
# show_browser
#
#def_key "2"
# change_browse_mode
#
#def_key "3"
# show_search_engine
#
#def_key "3"
# reset_search_engine
#
#def_key "4"
# show_media_library
#
#def_key "4"
# toggle_media_library_columns_mode
#
#def_key "5"
# show_playlist_editor
#
#def_key "6"
# show_tag_editor
#
#def_key "7"
# show_outputs
#
#def_key "8"
# show_visualizer
#
#def_key "="
# show_clock
#
#def_key "@"
# show_server_info
#
#def_key "s"
# stop
#
#def_key "p"
# pause
#
#def_key ">"
# next
#
#def_key "<"
# previous
#
#def_key "ctrl-h"
# jump_to_parent_directory
#
#def_key "ctrl-h"
# replay_song
#
def_key "h"
jump_to_parent_directory
#
#def_key "backspace"
# jump_to_parent_directory
#
#def_key "backspace"
# replay_song
#
#def_key "backspace"
# play
#
#def_key "f"
# seek_forward
#
#def_key "b"
# seek_backward
#
#def_key "r"
# toggle_repeat
#
#def_key "z"
# toggle_random
#
#def_key "y"
# save_tag_changes
#
#def_key "y"
# start_searching
#
#def_key "y"
# toggle_single
#
#def_key "R"
# toggle_consume
#
#def_key "Y"
# toggle_replay_gain_mode
#
#def_key "T"
# toggle_add_mode
#
#def_key "|"
# toggle_mouse
#
#def_key "#"
# toggle_bitrate_visibility
#
#def_key "Z"
# shuffle
#
#def_key "x"
# toggle_crossfade
#
#def_key "X"
# set_crossfade
#
#def_key "u"
# update_database
#
#def_key "ctrl-s"
# sort_playlist
#
#def_key "ctrl-s"
# toggle_browser_sort_mode
#
#def_key "ctrl-s"
# toggle_media_library_sort_mode
#
#def_key "ctrl-r"
# reverse_playlist
#
#def_key "ctrl-f"
# apply_filter
#
#def_key "ctrl-_"
# select_found_items
#
#def_key "/"
# find
#
#def_key "/"
# find_item_forward
#
#def_key "?"
# find
#
#def_key "?"
# find_item_backward
#
#def_key "."
# next_found_item
#
#def_key ","
# previous_found_item
#
#def_key "w"
# toggle_find_mode
#
#def_key "e"
# edit_song
#
#def_key "e"
# edit_library_tag
#
#def_key "e"
# edit_library_album
#
#def_key "e"
# edit_directory_name
#
#def_key "e"
# edit_playlist_name
#
#def_key "e"
# edit_lyrics
#
#def_key "i"
# show_song_info
#
#def_key "I"
# show_artist_info
#
#def_key "g"
# jump_to_position_in_song
#
#def_key "l"
# show_lyrics
#
#def_key "ctrl-v"
# select_range
#
#def_key "v"
# reverse_selection
#
#def_key "V"
# remove_selection
#
#def_key "B"
# select_album
#
#def_key "a"
# add_selected_items
#
#def_key "c"
# clear_playlist
#
#def_key "c"
# clear_main_playlist
#
#def_key "C"
# crop_playlist
#
#def_key "C"
# crop_main_playlist
#
#def_key "m"
# move_sort_order_up
#
#def_key "m"
# move_selected_items_up
#
#def_key "n"
# move_sort_order_down
#
#def_key "n"
# move_selected_items_down
#
#def_key "M"
# move_selected_items_to
#
#def_key "A"
# add
#
#def_key "S"
# save_playlist
#
#def_key "o"
# jump_to_playing_song
#
#def_key "G"
# jump_to_browser
#
#def_key "G"
# jump_to_playlist_editor
#
#def_key "~"
# jump_to_media_library
#
#def_key "E"
# jump_to_tag_editor
#
#def_key "U"
# toggle_playing_song_centering
#
#def_key "P"
# toggle_display_mode
#
#def_key "\\"
# toggle_interface
#
#def_key "!"
# toggle_separators_between_albums
#
#def_key "L"
# toggle_lyrics_fetcher
#
#def_key "F"
# fetch_lyrics_in_background
#
#def_key "alt-l"
# toggle_fetching_lyrics_in_background
#
#def_key "ctrl-l"
# toggle_screen_lock
#
#def_key "`"
# toggle_library_tag_type
#
#def_key "`"
# refetch_lyrics
#
#def_key "`"
# add_random_items
#
#def_key "ctrl-p"
# set_selected_items_priority
#
#def_key "q"
# quit
#

601
.config/ncmpcpp/config Normal file
View File

@ -0,0 +1,601 @@
##############################################################
## This is an example configuration file. Copy it to ##
## $XDG_CONFIG_HOME/ncmpcpp/config or $HOME/.ncmpcpp/config ##
## and set up your preferences. ##
##############################################################
#
##### directories ######
##
## Directory for storing ncmpcpp related files. Changing it is useful if you
## want to store everything somewhere else and provide command line setting for
## alternative location to config file which defines that while launching
## ncmpcpp.
##
#
#ncmpcpp_directory = ~/.config/ncmpcpp
#
##
## Directory for storing downloaded lyrics. It defaults to ~/.lyrics since other
## MPD clients (eg. ncmpc) also use that location.
##
#
lyrics_directory = ~/music/.lyrics
#
##### connection settings #####
#
mpd_host = localhost
#
mpd_port = 6600
#
mpd_connection_timeout = 5
#
## Needed for tag editor and file operations to work.
##
mpd_music_dir = ~/music
#
#mpd_crossfade_time = 5
#
# Exclude pattern for random song action
# http://www.boost.org/doc/libs/1_46_1/libs/regex/doc/html/boost_regex/syntax/perl_syntax.html
#random_exclude_pattern = "^(temp|midi_songs).*"
#
##### music visualizer #####
##
## In order to make music visualizer work with MPD you need to use the fifo
## output. Its format parameter has to be set to 44100:16:1 for mono
## visualization or 44100:16:2 for stereo visualization. As an example here is
## the relevant section for mpd.conf:
##
## audio_output {
## type "fifo"
## name "Visualizer feed"
## path "/tmp/mpd.fifo"
## format "44100:16:2"
## }
##
## If the visualization on occasion diverges from the audio output, please set
## 'buffer_time' parameter of your audio output in mpd.conf to '100000' (100ms)
## or less to prevent that from happening.
##
## Note: If you're using Mopidy, an address of a udpsink gstreamer's output is
## also accepted. For example, the following section in mopidy.conf:
##
## [audio]
## output = tee name=t ! queue ! autoaudiosink t.
## ! queue ! audio/x-raw,rate=44100,channels=2,format=S16LE
## ! udpsink host=localhost port=5555
##
## will make localhost:5555 available as a source of data for the stereo
## visualizer.
##
#
#visualizer_data_source = /tmp/mpd.fifo
#
##
## Note: Below parameter is needed for ncmpcpp to determine which output
## provides data for visualizer and reset it at the beginning of visualization
## to synchronize with audio.
##
#
#visualizer_output_name = Visualizer feed
#
##
## If you set format to 44100:16:2, make it 'yes'.
##
#visualizer_in_stereo = yes
#
##
## Note: set below to >=10 only if you have synchronization issues with
## visualization and audio.
##
#
#visualizer_sync_interval = 0
#
##
## Note: To enable spectrum frequency visualization you need to compile ncmpcpp
## with fftw3 support.
##
#
## Available values: spectrum, wave, wave_filled, ellipse.
##
#visualizer_type = spectrum
#
#visualizer_fps = 60
#
#visualizer_autoscale = no
#
#visualizer_look = ●▮
#
#visualizer_color = blue, cyan, green, yellow, magenta, red
#
## Alternative subset of 256 colors for terminals that support it.
##
#visualizer_color = 47, 83, 119, 155, 191, 227, 221, 215, 209, 203, 197, 161
#
##
## Note: The next few visualization options apply to the spectrum visualizer.
##
#
## Use unicode block characters for a smoother, more continuous look.
## This will override the visualizer_look option. With transparent terminals
## and visualizer_in_stereo set, artifacts may be visible on the bottom half of
## the visualization.
#
#visualizer_spectrum_smooth_look = yes
#
## A value between 1 and 5 inclusive. Specifying a larger value makes the
## visualizer look at a larger slice of time, which results in less jumpy
## visualizer output.
#
#visualizer_spectrum_dft_size = 2
#
#visualizer_spectrum_gain = 10
#
## Left-most frequency of visualizer in Hz, must be less than HZ MAX
#
#visualizer_spectrum_hz_min = 20
#
## Right-most frequency of visualizer in Hz, must be greater than HZ MIN
#
#visualizer_spectrum_hz_max = 20000
#
##### system encoding #####
##
## ncmpcpp should detect your charset encoding but if it failed to do so, you
## can specify charset encoding you are using here.
##
## Note: You can see whether your ncmpcpp build supports charset detection by
## checking output of `ncmpcpp --version`.
##
## Note: Since MPD uses UTF-8 by default, setting this option makes sense only
## if your encoding is different.
##
#
#system_encoding = ""
#
##### delays #####
#
## Time of inactivity (in seconds) after playlist highlighting will be disabled
## (0 = always on).
##
#playlist_disable_highlight_delay = 5
#
## Defines how long messages are supposed to be visible.
##
#message_delay_time = 5
#
##### song format #####
##
## For a song format you can use:
##
## %l - length
## %f - filename
## %D - directory
## %a - artist
## %A - album artist
## %t - title
## %b - album
## %y - date
## %n - track number (01/12 -> 01)
## %N - full track info (01/12 -> 01/12)
## %g - genre
## %c - composer
## %p - performer
## %d - disc
## %C - comment
## %P - priority
## $R - begin right alignment
##
## If you want to make sure that a part of the format is displayed only when
## certain tags are present, you can archieve it by grouping them with brackets,
## e.g. '{%a - %t}' will be evaluated to 'ARTIST - TITLE' if both tags are
## present or '' otherwise. It is also possible to define a list of
## alternatives by providing several groups and separating them with '|',
## e.g. '{%t}|{%f}' will be evaluated to 'TITLE' or 'FILENAME' if the former is
## not present.
##
## Note: If you want to set limit on maximal length of a tag, just put the
## appropriate number between % and character that defines tag type, e.g. to
## make album take max. 20 terminal cells, use '%20b'.
##
## In addition, formats support markers used for text attributes. They are
## followed by character '$'. After that you can put:
##
## - 0 - default window color (discards all other colors)
## - 1 - black
## - 2 - red
## - 3 - green
## - 4 - yellow
## - 5 - blue
## - 6 - magenta
## - 7 - cyan
## - 8 - white
## - 9 - end of current color
## - b - bold text
## - u - underline text
## - r - reverse colors
## - a - use alternative character set
##
## If you don't want to use a non-color attribute anymore, just put it again,
## but this time insert character '/' between '$' and attribute character,
## e.g. {$b%t$/b}|{$r%f$/r} will display bolded title tag or filename with
## reversed colors.
##
## If you want to use 256 colors and/or background colors in formats (the naming
## scheme is described below in section about color definitions), it can be done
## with the syntax $(COLOR), e.g. to set the artist tag to one of the
## non-standard colors and make it have yellow background, you need to write
## $(197_yellow)%a$(end). Note that for standard colors this is interchangable
## with attributes listed above.
##
## Note: colors can be nested.
##
#
song_list_format = "{$3[%l]$9} {$6%t$9}|{$6%30f$9} %n"
#song_list_format = {%a - }{%t}|{$8%f$9}$R{$3%l$9}
#
song_status_format = $b {$7%a$9 - $6{%t}}|{%f} {(%b)}
#song_status_format = {{%a{ "%b"{ (%y)}} - }{%t}}|{%f}
#
#song_library_format = {%n - }{%t}|{%f}
#
#alternative_header_first_line_format = $b$1$aqqu$/a$9 {%t}|{%f} $1$atqq$/a$9$/b
#
#alternative_header_second_line_format = {{$4$b%a$/b$9}{ - $7%b$9}{ ($4%y$9)}}|{%D}
#
#current_item_prefix = $(yellow)$r
#
#current_item_suffix = $/r$(end)
#
#current_item_inactive_column_prefix = $(white)$r
#
#current_item_inactive_column_suffix = $/r$(end)
#
#now_playing_prefix = $b
#
#now_playing_suffix = $/b
#
#browser_playlist_prefix = "$2playlist$9 "
#
#selected_item_prefix = $6
#
#selected_item_suffix = $9
#
#modified_item_prefix = $3> $9
#
##
## Note: attributes are not supported for the following variables.
##
#song_window_title_format = {%a - }{%t}|{%f}
##
## Note: Below variables are used for sorting songs in browser. The sort mode
## determines how songs are sorted, and can be used in combination with a sort
## format to specify a custom sorting format. Available values for
## browser_sort_mode are "type", "name", "mtime", "format" and "none".
##
#
#browser_sort_mode = type
#
#browser_sort_format = {%a - }{%t}|{%f} {%l}
#
##### columns settings #####
##
## syntax of song columns list format is "column column etc."
##
## - syntax for each column is:
##
## (width of the column)[color of the column]{displayed tag}
##
## Note: Width is by default in %, if you want a column to have fixed size, add
## 'f' after the value, e.g. (10)[white]{a} will be the column that take 10% of
## screen (so the real width will depend on actual screen size), whereas
## (10f)[white]{a} will take 10 terminal cells, no matter how wide the screen
## is.
##
## - color is optional (if you want the default one, leave the field empty).
##
## Note: You can give a column additional attributes by putting appropriate
## character after displayed tag character. Available attributes are:
##
## - r - column will be right aligned
## - E - if tag is empty, empty tag marker won't be displayed
##
## You can also:
##
## - give a column custom name by putting it after attributes, separated with
## character ':', e.g. {lr:Length} gives you right aligned column of lengths
## named "Length".
##
## - define sequence of tags, that have to be displayed in case predecessor is
## empty in a way similar to the one in classic song format, i.e. using '|'
## character, e.g. {a|c|p:Owner} creates column named "Owner" that tries to
## display artist tag and then composer and performer if previous ones are not
## available.
##
#
song_columns_list_format = (6f)[]{NE} (30)[magenta]{t|f:Title} (7f)[green]{l} (30)[blue]{a} (30)[blue]{b}
#song_columns_list_format = (20)[]{a} (6f)[green]{NE} (50)[white]{t|f:Title} (20)[cyan]{b} (7f)[magenta]{l}
#
##### various settings #####
#
##
## Note: Custom command that will be executed each time song changes. Useful for
## notifications etc.
##
#execute_on_song_change = ""
#
##
## Note: Custom command that will be executed each time player state
## changes. The environment variable MPD_PLAYER_STATE is set to the current
## state (either unknown, play, pause, or stop) for its duration.
##
#
#execute_on_player_state_change = ""
#
#playlist_show_mpd_host = no
#
#playlist_show_remaining_time = no
#
#playlist_shorten_total_times = no
#
#playlist_separate_albums = no
#
##
## Note: Possible display modes: classic, columns.
##
#playlist_display_mode = columns
#
#browser_display_mode = classic
#
#search_engine_display_mode = classic
#
#playlist_editor_display_mode = classic
#
#discard_colors_if_item_is_selected = yes
#
#show_duplicate_tags = yes
#
#incremental_seeking = yes
#
#seek_time = 1
#
#volume_change_step = 2
#
#autocenter_mode = no
#
#centered_cursor = no
#
##
## Note: You can specify third character which will be used to build 'empty'
## part of progressbar.
##
#progressbar_look = =>
#
## Available values: database, playlist.
##
#default_place_to_search_in = database
#
## Available values: classic, alternative.
##
#user_interface = classic
#
#data_fetching_delay = yes
#
## Available values: artist, album_artist, date, genre, composer, performer.
##
#media_library_primary_tag = artist
#
#media_library_albums_split_by_date = yes
#
#media_library_hide_album_dates = no
#
## Available values: wrapped, normal.
##
#default_find_mode = wrapped
#
#default_tag_editor_pattern = %n - %t
#
#header_visibility = yes
#
#statusbar_visibility = yes
#
## Show the "Connected to ..." message on startup
connected_message_on_startup = no
#
#titles_visibility = yes
#
#header_text_scrolling = yes
#
#cyclic_scrolling = no
#
#lyrics_fetchers = azlyrics, genius, musixmatch, sing365, metrolyrics, justsomelyrics, jahlyrics, plyrics, tekstowo, zeneszoveg, internet
#
#follow_now_playing_lyrics = no
#
#fetch_lyrics_for_current_song_in_background = no
#
#store_lyrics_in_song_dir = no
#
#generate_win32_compatible_filenames = yes
#
#allow_for_physical_item_deletion = no
#
##
## Note: If you set this variable, ncmpcpp will try to get info from last.fm in
## language you set and if it fails, it will fall back to english. Otherwise it
## will use english the first time.
##
## Note: Language has to be expressed as an ISO 639 alpha-2 code.
##
#lastfm_preferred_language = en
#
#space_add_mode = add_remove
#
#show_hidden_files_in_local_browser = no
#
##
## How shall screen switcher work?
##
## - "previous" - switch between the current and previous screen.
## - "screen1,...,screenN" - switch between given sequence of screens.
##
## Screens available for use: help, playlist, browser, search_engine,
## media_library, playlist_editor, tag_editor, outputs, visualizer, clock,
## lyrics, last_fm.
##
#screen_switcher_mode = playlist, browser
#
##
## Note: You can define startup screen by choosing screen from the list above.
##
startup_screen = browser
#
##
## Note: You can define startup slave screen by choosing screen from the list
## above or an empty value for no slave screen.
##
#startup_slave_screen = ""
#
#startup_slave_screen_focus = no
#
##
## Default width of locked screen (in %). Acceptable values are from 20 to 80.
##
#
#locked_screen_width_part = 50
#
#ask_for_locked_screen_width_part = yes
#
#jump_to_now_playing_song_at_start = yes
#
#ask_before_clearing_playlists = yes
#
#clock_display_seconds = no
#
#display_volume_level = yes
#
#display_bitrate = no
#
#display_remaining_time = no
#
## Available values: none, basic, extended, perl.
##
#regular_expressions = perl
#
##
## Note: if below is enabled, ncmpcpp will ignore leading "The" word while
## sorting items in browser, tags in media library, etc.
##
#ignore_leading_the = no
#
##
## Note: if below is enabled, ncmpcpp will ignore diacritics while searching and
## filtering lists. This takes an effect only if boost was compiled with ICU
## support.
##
#ignore_diacritics = no
#
#block_search_constraints_change_if_items_found = yes
#
#mouse_support = yes
#
#mouse_list_scroll_whole_page = no
#
#lines_scrolled = 5
#
#empty_tag_marker = <empty>
#
#tags_separator = " | "
#
#tag_editor_extended_numeration = no
#
#media_library_sort_by_mtime = no
#
#enable_window_title = yes
#
##
## Note: You can choose default search mode for search engine. Available modes
## are:
##
## - 1 - use mpd built-in searching (no regexes, pattern matching)
##
## - 2 - use ncmpcpp searching (pattern matching with support for regexes, but
## if your mpd is on a remote machine, downloading big database to process
## it can take a while
##
## - 3 - match only exact values (this mode uses mpd function for searching in
## database and local one for searching in current playlist)
##
#
#search_engine_default_search_mode = 1
#
#external_editor = nano
#
## Note: set to yes if external editor is a console application.
##
#use_console_editor = yes
#
##### colors definitions #####
##
## It is possible to set a background color by setting a color value
## "<foreground>_<background>", e.g. red_black will set foregound color to red
## and background color to black.
##
## In addition, for terminals that support 256 colors it is possible to set one
## of them by using a number in range [1, 256] instead of color name,
## e.g. numerical value corresponding to red_black is 2_1. To find out if the
## terminal supports 256 colors, run ncmpcpp and check out the bottom of the
## help screen for list of available colors and their numerical values.
##
## What is more, there are two special values for the background color:
## "transparent" and "current". The first one explicitly sets the background to
## be transparent, while the second one allows you to preserve current
## background color and change only the foreground one. It's used implicitly
## when background color is not specified.
##
## Moreover, it is possible to attach format information to selected color
## variables by appending to their end a colon followed by one or more format
## flags, e.g. black:b or red:ur. The following variables support this syntax:
## visualizer_color, color1, color2, empty_tag_color, volume_color,
## state_line_color, state_flags_color, progressbar_color,
## progressbar_elapsed_color, player_state_color, statusbar_time_color,
## alternative_ui_separator_color.
##
## Note: due to technical limitations of older ncurses version, if 256 colors
## are used there is a possibility that you'll be able to use only colors with
## transparent background.
#
#colors_enabled = yes
#
#empty_tag_color = cyan
#
#header_window_color = default
#
#volume_color = default
#
#state_line_color = default
#
#state_flags_color = default:b
#
#main_window_color = yellow
#
#color1 = white
#
#color2 = green
#
#progressbar_color = black:b
#
#progressbar_elapsed_color = green:b
#
#statusbar_color = default
#
#statusbar_time_color = default:b
#
#player_state_color = default:b
#
#alternative_ui_separator_color = black:b
#
#window_border_color = green
#
#active_window_border = red
#

View File

@ -0,0 +1,42 @@
# vim: filetype=neomuttrc
# muttrc file for account email@adress.you
set realname = "John Doe"
set from = "email@adress.you"
set sendmail = "msmtp -a email@adress.you"
alias me david.julien <email@adress.you>
set folder = "/home/johndoe/.local/share/mail/email@adress.you"
set header_cache = /home/johndoe/.cache
eomutt/email@adress.you/headers
set message_cachedir = /home/johndoe/.cache
eomutt/email@adress.you/bodies
set mbox_type = Maildir
bind index,pager gg noop
bind index,pager g noop
bind index,pager M noop
bind index,pager C noop
bind index gg first-entry
unmailboxes *
unalternates *
unset signature
unmacro index o
macro index o "<shell-escape>mw -y email@adress.you<enter>" "run mbsync to sync email@adress.you"
mailboxes "=Sent" "=Drafts" "=Trash" "=INBOX"
set record = "+Sent"
macro index,pager gs "<change-folder>=Sent<enter>" "go to sent"
macro index,pager Ms ";<save-message>=Sent<enter>" "move mail to sent"
macro index,pager Cs ";<copy-message>=Sent<enter>" "copy mail to sent"
set postponed = "+Drafts"
macro index,pager gd "<change-folder>=Drafts<enter>" "go to drafts"
macro index,pager Md ";<save-message>=Drafts<enter>" "move mail to drafts"
macro index,pager Cd ";<copy-message>=Drafts<enter>" "copy mail to drafts"
macro index,pager gt "<change-folder>=Trash<enter>" "go to trash"
macro index,pager Mt ";<save-message>=Trash<enter>" "move mail to trash"
macro index,pager Ct ";<copy-message>=Trash<enter>" "copy mail to trash"
set trash = "+Trash"
macro index,pager gi "<change-folder>=INBOX<enter>" "go to inbox"
macro index,pager Mi ";<save-message>=INBOX<enter>" "move mail to inbox"
macro index,pager Ci ";<copy-message>=INBOX<enter>" "copy mail to inbox"
set spoolfile = "+INBOX"

73
.config/neomutt/colors Normal file
View File

@ -0,0 +1,73 @@
# vim: filetype=neomuttrc
#
# Default index colors:
color index yellow default '.*'
color index_author red default '.*'
color index_number blue default
color index_subject cyan default '.*'
# New mail is boldened:
color index brightyellow default "~N"
color index_author brightred default "~N"
color index_subject brightblue default "~N"
# Tagged mail is highlighted:
color index brightyellow blue "~T"
color index_author brightred blue "~T"
color index_subject brightcyan blue "~T"
# Other colors and aesthetic settings:
mono bold bold
mono underline underline
mono indicator reverse
mono error bold
color normal default default
color indicator brightblack white
color sidebar_highlight red default
color sidebar_divider brightblack default
color sidebar_flagged red default
color sidebar_new green default
color normal brightyellow default
color error red default
color tilde black default
color message cyan default
color markers red white
color attachment white default
color search brightmagenta default
color status brightyellow default
color hdrdefault brightgreen default
color quoted green default
color quoted1 blue default
color quoted2 cyan default
color quoted3 yellow default
color quoted4 red default
color quoted5 brightred default
color signature brightgreen default
color bold black default
color underline black default
color normal default default
# Regex highlighting:
color header blue default ".*"
color header brightmagenta default "^(From)"
color header brightcyan default "^(Subject)"
color header brightwhite default "^(CC|BCC)"
color body brightred default "[\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+" # Email addresses
color body brightblue default "(https?|ftp)://[\-\.,/%~_:?&=\#a-zA-Z0-9]+" # URL
color body green default "\`[^\`]*\`" # Green text between ` and `
color body brightblue default "^# \.*" # Headings as bold blue
color body brightcyan default "^## \.*" # Subheadings as bold cyan
color body brightgreen default "^### \.*" # Subsubheadings as bold green
color body yellow default "^(\t| )*(-|\\*) \.*" # List items as yellow
color body brightcyan default "[;:][-o][)/(|]" # emoticons
color body brightcyan default "[;:][)(|]" # emoticons
color body brightcyan default "[ ][*][^*]*[*][ ]?" # more emoticon?
color body brightcyan default "[ ]?[*][^*]*[*][ ]" # more emoticon?
color body red default "(BAD signature)"
color body cyan default "(Good signature)"
color body brightblack default "^gpg: Good signature .*"
color body brightyellow default "^gpg: "
color body brightyellow red "^gpg: BAD signature from.*"
mono body bold "^gpg: Good signature"
mono body bold "^gpg: BAD signature from.*"
color body red default "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]"

9
.config/neomutt/mailcap Normal file
View File

@ -0,0 +1,9 @@
text/plain; $EDITOR %s ;
text/html; lynx -assume_charset=%{charset} -display_charset=utf-8 -dump %s; nametemplate=%s.html; copiousoutput;
text/html; mutt-openfile %s ; nametemplate=%s.html
image/*; mutt-openfile %s ;
video/*; setsid mpv --quiet %s &; copiousoutput
audio/*; mpv %s ;
application/pdf; mutt-openfile %s ;
application/pgp-encrypted; gpg -d '%s'; copiousoutput;
application/pgp-keys; gpg --import '%s'; copiousoutput;

72
.config/neomutt/maps Normal file
View File

@ -0,0 +1,72 @@
# vim: filetype=neomuttrc
bind index,pager i noop
bind index,pager g noop
bind index \Cf noop
# Switching accounts
macro index,pager i1 '<sync-mailbox><enter-command>source $XDG_CONFIG_HOME/neomutt/accounts/account_template.muttrc<enter><change-folder>!<enter>;<check-stats>' "switch to email@address.you"
# General rebindings
bind index j next-entry
bind index k previous-entry
bind index J next-new
bind index K previous-new
bind attach <return> view-mailcap
bind attach l view-mailcap
bind editor <space> noop
bind index G last-entry
bind index gg first-entry
bind pager,attach h exit
bind pager j next-line
bind pager k previous-line
bind pager l view-attachments
bind index D delete-message
bind index U undelete-message
bind index L limit
bind index h noop
bind index l display-message
bind index,query <space> tag-entry
#bind browser h goto-parent
macro browser h '<change-dir><kill-line>..<enter>' "Go to parent folder"
bind index,pager H view-raw-message
bind browser l select-entry
bind pager,browser gg top-page
bind pager,browser G bottom-page
bind index,pager,browser d half-down
bind index,pager,browser u half-up
bind index,pager S sync-mailbox
bind index,pager R group-reply
bind index \031 previous-undeleted # Mouse wheel
bind index \005 next-undeleted # Mouse wheel
bind pager \031 previous-line # Mouse wheel
bind pager \005 next-line # Mouse wheel
bind editor <Tab> complete-query
#set crypt_autosign = yes
#set crypt_opportunistic_encrypt = yes
#set pgp_self_encrypt = yes
#set pgp_default_key = 'your@gpgemailaddre.ss'
macro index,pager a "<enter-command>set my_pipe_decode=\$pipe_decode pipe_decode<return><pipe-message>$my_abook --add-email<return><enter-command>set pipe_decode=\$my_pipe_decode; unset my_pipe_decode<return>" "add the sender address to my_abook"
macro index \Cr "T~U<enter><tag-prefix><clear-flag>N<untag-pattern>.<enter>" "mark all messages as read"
macro index O "<shell-escape>mbsync -a<enter>" "run mbsync -a to sync all mail"
macro index \Cf "<enter-command>unset wait_key<enter><shell-escape>printf 'Enter a search term to find with notmuch: '; read x; echo \$x >~/.cache/neomutt_terms<enter><limit>~i \"\`notmuch search --output=messages \$(cat ~/.cache/neomutt_terms) | head -n 600 | perl -le '@a=<>;s/\^id:// for@a;$,=\"|\";print@a' | perl -le '@a=<>; chomp@a; s/\\+/\\\\+/ for@a;print@a' \`\"<enter>" "show only messages matching a notmuch pattern"
macro index A "<limit>all\n" "show all messages (undo limit)"
# Sidebar mappings
set sidebar_visible = yes
set sidebar_width = 20
set sidebar_short_path
set sidebar_folder_indent
set sidebar_indent_string = " └ "
set sidebar_next_new_wrap = yes
set mail_check_stats
set sidebar_format = '%D%?F? [%F]?%* %?N?%N/? %?S?%S?'
bind index,pager \Ck sidebar-prev
bind index,pager \Cj sidebar-next
bind index,pager \Co sidebar-open
bind index,pager \Cp sidebar-prev-new
bind index,pager \Cn sidebar-next-new
bind index,pager B sidebar-toggle-visible

View File

@ -0,0 +1,31 @@
# vim: filetype=neomuttrc
set mailcap_path = $XDG_CONFIG_HOME/neomutt/mailcap:$mailcap_path
set mime_type_query_command = "file --mime-type -b %s"
set date_format="%d/%m/%y %I:%M%p"
set index_format="%2C %Z %?X?A& ? %D %-15.15F %s (%-4.4c)"
set sort = 'reverse-date'
set smtp_authenticators = 'gssapi:login'
set my_abook = "abook --config $XDG_CONFIG_HOME/abook/abookrc --datafile \
$XDG_DATA_HOME/abook/addressbook"
set query_command = "$my_abook --mutt-query '%s'"
set rfc2047_parameters = yes
set sleep_time = 0 # Pause 0 seconds for informational messages
set markers = no # Disables the `+` displayed at line wraps
set mark_old = no # Unread mail stay unread until read
set mime_forward = yes # attachments are forwarded with mail
set wait_key = no # mutt won't ask "press key to continue"
set fast_reply # skip to compose when replying
set fcc_attach # save attachments with the body
set forward_format = "Fwd: %s" # format of subject when forwarding
set forward_quote # include message in forwards
set reverse_name # reply as whomever it was to
set include # include message in replies
set mail_check=60 # to avoid lags using IMAP with some email providers (yahoo for example)
auto_view text/html # automatically show html (mailcap uses lynx)
auto_view application/pgp-encrypted
#set display_filter = "tac | sed '/\\\[-- Autoview/,+1d' | tac" # Suppress autoview messages.
alternative_order text/plain text/enriched text/html
source $XDG_CONFIG_HOME/neomutt/maps
source $XDG_CONFIG_HOME/neomutt/colors
source $XDG_CONFIG_HOME/neomutt/accounts/account_template.muttrc

3
.config/npm/npmrc Normal file
View File

@ -0,0 +1,3 @@
prefix=${XDG_DATA_HOME}/npm
cache=${XDG_CACHE_HOME}/npm
init-module=${XDG_CONFIG_HOME}/npm/config/npm-init.js

View File

@ -0,0 +1,51 @@
-- Author : swytch
-- Created : Saturday Oct. 30, 2021 11:43:34 CET
-- License : GPLv3
-- Description : c settings file
local opt = vim.opt
local g = vim.g
opt.formatoptions = "trq1jp"
-- Snippets
local ls = require("luasnip")
-- some shorthands...
local s = ls.snippet
local t = ls.text_node
local i = ls.insert_node
local f = ls.function_node
local copy = utils.copy
ls.add_snippets( "c", {
s("main", {
t({ "int main(int argc, char* argv[])" }),
t({ "", "{", "\t" }),
i(0),
t({ "", "\treturn 0;"}),
t({ "", "}"}),
}),
s("fn", {
-- Simple static text.
t("//Parameters: "),
-- function, first parameter is the function, second the Placeholders
-- whose text it gets as input.
f(copy, 2),
t({ "", "" }),
-- Placeholder/Insert.
i(1),
t("("),
-- Placeholder with initial text.
i(2, "int foo"),
-- Linebreak
t({ ")", "{", "\t" }),
i(0),
t({ "", "\treturn 0;"}),
t({ "", "}"}),
}),
}, {
key = "c"
})

View File

@ -0,0 +1,14 @@
-- Author : swytch
-- Created : Saturday Feb. 18, 2023 20:41:05 CET
-- License : GPLv3
-- Description : javascript settings file
local format_sync_grp = vim.api.nvim_create_augroup("Format", {})
vim.api.nvim_create_autocmd("BufWritePre", {
pattern = "*.js",
callback = function()
vim.lsp.buf.format({ timeout_ms = 200 })
end,
group = format_sync_grp,
})

View File

@ -0,0 +1,10 @@
-- Author : swytch
-- Created : Saturday Oct. 30, 2021 11:43:21 CET
-- License : GPLv3
-- Description : lua settings file
local opt = vim.opt
local g = vim.g
opt.formatoptions = "trq1jp"
opt.tabstop = 4

View File

@ -0,0 +1,44 @@
-- Author : swytch
-- Created : Saturday Feb. 18, 2023 21:54:19 CET
-- License : GPLv3
-- Description : markdown settings file
-- Snippets
local ls = require("luasnip")
-- some shorthands...
local s = ls.snippet
local sn = ls.snippet_node
local t = ls.text_node
local i = ls.insert_node
local d = ls.dynamic_node
-- Returns a snippet_node wrapped around an insertNode whose initial
-- text value is set to the current date in the desired format.
local date_input = function(args, snip, old_state, fmt)
local fmt = fmt or "%Y-%m-%d"
return sn(nil, i(1, os.date(fmt)))
end
ls.add_snippets("markdown", {
s("date", {
d(1, date_input, {}, { user_args = { "%Y-%m-%d" } }),
}),
s("datep", {
d(1, date_input, {}, { user_args = { "%Y-%m-%d %X %z" } }),
}),
s("/xrpt", {
t("<!--more-->"),
}),
s("bb", {
t({ "**" }),
i(1),
t({ "**" }),
}),
s("ii", {
t({ "*" }),
i(1),
t({ "*" }),
}),
})

View File

@ -0,0 +1,13 @@
-- Author : swytch
-- Created : Thursday Dec. 01, 2022 11:41:26 CET
-- License : GPLv3
-- Description : rust settings file
local format_sync_grp = vim.api.nvim_create_augroup("Format", {})
vim.api.nvim_create_autocmd("BufWritePre", {
pattern = "*.rs",
callback = function()
vim.lsp.buf.format({ timeout_ms = 200 })
end,
group = format_sync_grp,
})

View File

@ -0,0 +1,143 @@
-- Author : swytch
-- Created : Monday Oct. 04, 2021 16:09:13 CET
-- License : GPLv3
-- Description : tex filetype config
local opt = vim.opt
opt.formatoptions = "trq1jp"
opt.tabstop = 4
-- Caps
vim.keymap.set("i", "AA", "À")
vim.keymap.set("i", "CC", "Ç")
vim.keymap.set("i", "EE", "É")
-- Unbreakable spaces
vim.keymap.set("i", "<Space>etc", "\\,etc.")
vim.keymap.set("i", "<Space>:", "\\,:")
-- pdf viewer
vim.keymap.set("n", "<leader>zm",
":!$READER main.pdf &<CR><CR>",
{ desc = "Open $READER on pdf of current file" }
)
vim.keymap.set("n", "<leader>zz",
":!$READER <C-r>=expand('%:r')<cr>.pdf &<cr><CR>",
{ desc = "Open $READER on pdf of current file" }
)
-- Snippets
local ls = require("luasnip")
-- some shorthands...
local s = ls.snippet
local sn = ls.snippet_node
local t = ls.text_node
local i = ls.insert_node
local f = ls.function_node
local c = ls.choice_node
local d = ls.dynamic_node
local copy = utils.copy
-- 'recursive' dynamic snippet. Expands to some text followed by itself.
local function rec_ls()
return sn(
nil,
c(1, {
-- Order is important, sn(...) first would cause infinite loop of expansion.
t(""),
sn(nil, { t({ "", "", "\t\\item " }), i(1), d(2, rec_ls, {}) }),
})
)
end
ls.add_snippets("tex", {
-- rec_ls is self-referencing. That makes this snippet 'infinite' eg. have as many
-- \item as necessary by utilizing a choiceNode.
s("ls", {
t({ "\\begin{itemize}", "\t\\item " }),
i(1),
t({ "" }),
d(2, rec_ls, {}),
t({ "", "\\end{itemize}" }),
}),
s("lsl", {
t({ "\\begin{itemize}[label=" }),
i(1),
t( { "]", "\t\\item " }),
i(2),
t({ "" }),
d(3, rec_ls, {}),
t({ "", "\\end{itemize}" }),
}),
s("frm", {
t({ "\\begin{" }),
i(1),
t({ "}[" }),
i(2),
t({ "]{" }),
f(copy, 1),
t({ ":" }),
i(3, "foo"),
t({ "}", "\t" }),
i(0),
t({ "", "\\end{" }),
f(copy, 1),
t({ "}" }),
}),
s("env", {
t({ "\\begin{" }),
i(1, "foo"),
t({ "}"}),
i(2),
t({ "", "\t" }),
i(3),
t({ "", "\\end{" }),
f(copy,1),
t({ "}"}),
}),
s("tikz", {
t({ "\\begin{center}" }),
t({ "", "\t\\begin{tikzpicture}[main/.style = {draw,circle}]", "\t\t" }),
i(1),
t({ "", "\t\\end{tikzpicture}", "\\end{center}" }),
}),
s("ra", { t( "\\rightarrow" )}),
s("Ra", { t("\\Rightarrow" )}),
s("la", { t("\\leftarrow" )}),
s("La", { t("\\Leftarrow" )}),
s("lra", { t("\\leftrightarrow" )}),
s("Lra", { t("\\Leftrightarrow" )}),
s("bb", {
t({ "\\textbf{" }),
i(1),
t({ "}"}),
}),
s("tt", {
t({ "\\texttt{" }),
i(1),
t({ "}"}),
}),
s("ii", {
t({ "\\emph{" }),
i(1),
t({ "}"}),
}),
s("uu", {
t({ "\\underline{" }),
i(1),
t({ "}"}),
}),
s("sc", {
t({ "\\textsc{" }),
i(1),
t({ "}"}),
}),
}, {
key = "tex"
})

View File

@ -0,0 +1,14 @@
-- Author : swytch
-- Created : Sunday Oct. 03, 2021 18:06:12 CET
-- License : GPLv3
-- Description : verilog fietype config
utils.map("n", "<C-c>", "<cmd>CoqInterrupt<CR>")
utils.map("n", "<leader>j", "<cmd>CoqNext<CR>")
utils.map("n", "<leader>k", "<cmd>CoqUndo<CR>")
utils.map("n", "<leader><CR>", "<cmd>CoqToLine<CR>")
utils.map("n", "<leader>a", ":Coq About")
utils.map("n", "<leader>s", ":Coq Search")
utils.map("n", "<leader>G", "<cmd>CoqJumpToEnd<CR>")
utils.map("i", "//", "")

12
.config/nvim/init.lua Normal file
View File

@ -0,0 +1,12 @@
-- Author : swytch
-- Created : Friday Mar 12, 2021 17:42:34 CET
-- License : GPLv3
-- Description : neovim configuration file
require("globals") -- ./lua/globals.lua
require("utils") -- ./lua/utils.lua
require("settings") -- ./lua/settings.lua
require("maps") -- ./lua/maps.lua
require("statusline") -- ./lua/statusline.lua
require("plugin")
require("lazy").setup("plugin")

View File

@ -0,0 +1,13 @@
-- Author : swytch
-- Created : Friday Oct. 22, 2021 22:07:41 CET
-- License : GPLv3
-- Description : colorscheme config file
local utils = require("utils")
local file = os.getenv("XDG_STATE_HOME") .. "/nvim_colorscheme"
local colorscheme = utils.lines_from(file)[0]
require("astronomy").setup {
variant = colorscheme,
}

View File

@ -0,0 +1,19 @@
-- Author : swytch
-- Created : Friday May 21, 2021 22:26:24 CET
-- License : GPLv3
-- Description : neovim global variables file
local M = {} -- The module to export
M = {
-- misc
sign_error = "",
sign_warn = "",
sign_hint = "",
sign_info = "",
}
-- Make it accessible everywhere
_G.globals = M
-- Export the module
return M

115
.config/nvim/lua/maps.lua Normal file
View File

@ -0,0 +1,115 @@
-- Author : swytch
-- Created : Friday Mar 12, 2021 20:17:19 CET
-- License : GPLv3
-- Description : neovim mappings file
vim.keymap.set({ "n", "v" }, "<space>",
"<Nop>",
{
silent = true,
desc = "leader key"
})
vim.g.mapleader = " "
-- dealing with word wrap
vim.keymap.set("n", "k",
"v:count == 0 ? 'gk' : 'k'",
{
expr = true,
silent = true,
desc = "Smart up motion"
})
vim.keymap.set("n", "j",
"v:count == 0 ? 'gj' : 'j'",
{
expr = true,
silent = true,
desc = "Smart down motion"
})
-- terminal-mode
vim.keymap.set({ "t" }, "<leader><Esc>",
"<C-\\><C-n>",
{ desc = "Escape terminal-mode" }
)
-- yank and pasting
vim.keymap.set({ "n", "x" }, "<leader>y",
"\"+y",
{ desc = "Yank to clipboard" }
)
vim.keymap.set("n", "<leader>p",
"\"+P",
{ desc = "Paste from clipboard" }
)
vim.keymap.set("x", "<leader>p",
"\"_dP",
{ desc = "Send selection to void register and paste from clipboard" }
)
-- deletion
vim.keymap.set({ "n", "x" }, "<leader>d",
"\"_d",
{ desc = "Send selection to void register" }
)
-- comfort zone
vim.keymap.set("n", "<leader><enter>",
"<cmd>w! | !compiler %<CR>",
{ desc = "Compile current file using ~/.local/bin/compiler" }
)
-- packer
vim.keymap.set("n", "<leader>u",
function() require("lazy").sync() end,
{ desc = "Open up Lazy.nvim" }
)
-- telescope
vim.keymap.set("n", "<leader>tf",
function() require("telescope.builtin").find_files() end,
{ desc = "Fuzzy find files" }
)
vim.keymap.set("n", "<leader>tb",
function() require("telescope").extensions.file_browser.file_browser() end,
{ desc = "Open file browser" }
)
vim.keymap.set("n", "<leader>t/",
function() require("telescope.builtin").buffers() end,
{ desc = "Grep through buffers" }
)
vim.keymap.set("n", "<leader>tg",
function() require("telescope.builtin").grep_string() end,
{ desc = "Grep current word" }
)
vim.keymap.set("n", "<leader>th",
function() require("telescope.builtin").help_tags() end,
{ desc = "Search through help" }
)
vim.keymap.set("n", "<leader>tl",
function() require("telescope.builtin").live_grep() end,
{ desc = "Grep interactively" }
)
vim.keymap.set("n", "<leader>tk",
function() require("telescope.builtin").keymaps() end,
{ desc = "Search through keymaps" }
)
vim.keymap.set("n", "<leader>tx",
function()
require("telescope.builtin").diagnostics(
{ buffnr = 0 }
)
end,
{ desc = "Search through LSP diagnostics" }
)
-- colorscheme
vim.keymap.set("n", "<leader>s",
function() require("astronomy").toggle_variant() end,
{ desc = "Switch between dark and light colorscheme" }
)
-- snippets
vim.keymap.set({ "i", "s" }, "<C-E>", "<Plug>luasnip-next-choice",
{ desc = "Cycle through luasnip choices" }
)

View File

@ -0,0 +1,17 @@
-- Author : swytch
-- Created : Sunday Jan. 29, 2023 00:50:17 CET
-- License : GPLv3
-- Description : colorscheme config file
local utils = require("utils")
local file = os.getenv("XDG_STATE_HOME") .. "/nvim_colorscheme"
local colorscheme = utils.lines_from(file)[0]
return {
{
dir = "~/.local/src/astronomy.nvim",
opts = {
variant = colorscheme,
}
},
}

View File

@ -0,0 +1,151 @@
-- Author : swytch
-- Created : Sunday Jan. 29, 00:03:53 CET
-- License : GPLv3
-- Description : completion plugin config file
return {
{
"L3MON4D3/LuaSnip",
opts = function()
local types = require("luasnip.util.types")
return {
history = true,
-- Update more often, :h events for more info.
updateevents = "TextChanged,TextChangedI",
ext_opts = {
[types.choiceNode] = {
active = {
virt_text = { { "", "LuaSnipChoice" } },
},
inactive = {
virt_text = { { "", "LuaSnipInactive" } },
},
},
[types.functionNode] = {
active = {
virt_text = { { "", "LuaSnipFunction" } },
},
inactive = {
virt_text = { { "", "LuaSnipInactive" } },
},
},
[types.insertNode] = {
active = {
virt_text = { { "", "LuaSnipInsert" } },
},
inactive = {
virt_text = { { "", "LuaSnipInactive" } },
},
},
},
-- treesitter-hl has 100, use something higher (default is 200).
ext_base_prio = 200,
-- minimal increase in priority.
ext_prio_increase = 1,
enable_autosnippets = true,
}
end,
},
{
"hrsh7th/nvim-cmp",
dependencies = {
"saadparwaiz1/cmp_luasnip",
"hrsh7th/cmp-nvim-lsp",
"hrsh7th/cmp-nvim-lua",
"hrsh7th/cmp-buffer",
"hrsh7th/cmp-path",
"hrsh7th/cmp-calc",
"ray-x/cmp-treesitter",
"f3fora/cmp-spell",
},
opts = function()
local cmp = require("cmp")
local luasnip = require("luasnip")
local has_words_before = function()
local line, col = unpack(vim.api.nvim_win_get_cursor(0))
return col ~= 0 and
vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:
sub(col, col):match('%s') == nil
end
return {
completion = {
autocomplete = true
},
sources = {
{ name = "path" },
{ name = "luasnip" },
{ name = "nvim_lsp" },
{ name = "buffer" },
{ name = "nvim_lua" },
{ name = "calc" },
{ name = "spell" },
{ name = "treesitter" },
},
formatting = {
format = function(entry, vim_item)
vim_item.menu = ({
nvim_lsp = "[lsp]",
nvim_lua = "[nvim]",
luasnip = "[snip]",
path = "[path]",
buffer = "[buff]",
calc = "[calc]",
spell = "[spel]",
treesitter = "[tree]",
})[entry.source.name]
return vim_item
end,
},
snippet = {
expand = function(args)
luasnip.lsp_expand(args.body)
end,
},
mapping = {
["<C-d>"] = cmp.mapping.scroll_docs(-4),
["<C-f>"] = cmp.mapping.scroll_docs(4),
["<C-e>"] = cmp.mapping.close(),
["<CR>"] = cmp.mapping.confirm({
behavior = cmp.ConfirmBehavior.Replace,
select = true,
}),
["<Tab>"] = cmp.mapping(function(fallback)
if luasnip.expand_or_locally_jumpable() then
luasnip.expand_or_jump()
else
fallback()
end
end, { "i", "s" }),
["<S-Tab>"] = cmp.mapping(function(fallback)
if luasnip.jumpable(-1) then
luasnip.jump(-1)
else
fallback()
end
end, { "i", "s" }),
["<C-n>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_next_item()
elseif has_words_before() then
cmp.complete()
else
fallback()
end
end, { "i", "s" }),
["<C-p>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_prev_item()
else
fallback()
end
end, { "i", "s" }),
},
view = {
entries = { name = 'custom', selection_order = 'near_cursor' }
},
}
end,
}
}

View File

@ -0,0 +1,44 @@
-- Author : swytch
-- Created : Sunday Jan. 29, 2023 00:20:31 CET
-- License : GPLv3
-- Description : Mini.comment plugin config file
return {
{
"echasnovski/mini.comment",
version = "*",
opts = {
mappings = {
comment = "<leader>c",
comment_line = "<leader><Space>",
text_object = "gc",
},
},
config = function(_, opts)
require("mini.comment").setup(opts)
end
},
{
"echasnovski/mini.pairs",
version = "*",
config = function() require("mini.pairs").setup() end,
},
{
"echasnovski/mini.indentscope",
version = "*",
opts = function()
local plugin = require("mini.indentscope")
return {
draw = {
animation = plugin.gen_animation.none()
}
}
end,
config = function(_, opts)
require("mini.indentscope").setup(opts)
end,
}
}

View File

@ -0,0 +1,20 @@
-- Author : swytch
-- Created : Friday Mar 12, 2021 22:28:34 CET
-- License : GPLv3
-- Description : neovim packer config file
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
"git",
"clone",
"--filter=blob:none",
"https://github.com/folke/lazy.nvim.git",
"--branch=stable", -- latest stable release
lazypath,
})
end
vim.opt.rtp:prepend(lazypath)
return {}

View File

@ -0,0 +1,22 @@
-- Author : swytch
-- Created : Monday May 2, 2022 21:00:24 CET
-- License : GPLv3
-- Description : neovim lsp config file for clangd
local M = {}
local clangd_binary = _G.lsp_root_dir .. "clangd/clangd/bin/clangd"
M.setup = function(opts)
opts.settings = {
cmd = { clangd_binary,
"--background-index",
"--suggest-missing-includes",
"--clang-tidy",
"--header-insertion=iwyu"
},
}
end
return M

View File

@ -0,0 +1,11 @@
-- Author : swytch
-- Created : Sunday Feb. 19, 2023 17:09:46 CET
-- License : GPLv3
-- Description : neovim lsp config file for html-lsp
local M = {}
M.setup = function(opts)
end
return M

View File

@ -0,0 +1,111 @@
-- Author : swytch
-- Created : Monday May 2, 2022 21:02:02 CET
-- License : GPLv3
-- Description : neovim global lsp config file
_G.lsp_root_dir = vim.fn.stdpath("data") .. "/mason/bin"
local servers = {
"clangd",
"rust_analyzer",
"lua_ls",
"texlab",
"tsserver",
"html",
}
return {
{
"neovim/nvim-lspconfig",
dependencies = {
"williamboman/mason.nvim",
"williamboman/mason-lspconfig.nvim",
},
config = function()
vim.diagnostic.config({
underline = true,
update_in_insert = false,
severity_sort = true,
})
local lspconfig = require("lspconfig")
local globals = require("globals")
local signs = {
Error = globals.sign_error,
Warn = globals.sign_warn,
Hint = globals.sign_hint,
Info = globals.sign_info,
}
for type, icon in pairs(signs) do
local hl = "DiagnosticSign" .. type
vim.fn.sign_define(hl, {
text = icon,
texthl = hl,
numhl = hl
})
end
local on_attach = function(_, bufnr)
local opts = { buffer = bufnr }
vim.keymap.set("n", "gD", vim.lsp.buf.declaration, opts)
vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts)
vim.keymap.set("n", "gr", vim.lsp.buf.references, opts)
vim.keymap.set("n", "K", vim.lsp.buf.hover, opts)
vim.keymap.set("n", "gi", vim.lsp.buf.implementation, opts)
vim.keymap.set("n", "<leader>ln", vim.diagnostic.goto_next, opts)
vim.keymap.set("n", "<leader>lp", vim.diagnostic.goto_prev, opts)
vim.keymap.set("n", "<leader>lf", vim.lsp.buf.format, opts)
vim.keymap.set("n", "<C-k>", vim.lsp.buf.signature_help, opts)
vim.keymap.set("n", "<leader>wa",
vim.lsp.buf.add_workspace_folder, opts)
vim.keymap.set("n", "<leader>wr",
vim.lsp.buf.remove_workspace_folder, opts)
vim.keymap.set("n", "<leader>wl", function()
vim.inspect(vim.lsp.buf.list_workspace_folders())
end, opts)
vim.keymap.set("n", "<leader>D", vim.lsp.buf.type_definition, opts)
vim.keymap.set("n", "<leader>rn", vim.lsp.buf.rename, opts)
vim.keymap.set("n", "<leader>ca", vim.lsp.buf.code_action, opts)
vim.keymap.set("n", "<leader>so",
require("telescope.builtin").lsp_document_symbols, opts)
end
-- nvim-cmp supports additional completion capabilities
local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities = require("cmp_nvim_lsp").default_capabilities(capabilities)
for _, server in ipairs(servers) do
local opts = {
on_attach = on_attach,
capabilities = capabilities,
}
local plugin = string.format("plugin.lsp.%s", server)
require(plugin).setup(opts)
lspconfig[server].setup(opts)
end
require("mason-lspconfig").setup({ ensure_installed = servers })
end
},
{
"williamboman/mason.nvim",
cmd = "Mason",
-- opts = { ensure_installed = servers },
opts = {
ui = {
icons = {
server_installed = "",
server_pending = "o",
server_uninstalled = ""
}
}
}
},
}

View File

@ -0,0 +1,48 @@
-- Author : swytch
-- Created : Monday May 2, 2022 21:00:07 CET
-- License : GPLv3
-- Description : neovim lsp config file for sumneko_lua
local M = {}
local runtime_path = vim.split(package.path, ';')
table.insert(runtime_path, "lua/?.lua")
table.insert(runtime_path, "lua/?/init.lua")
M.setup = function(opts)
opts.settings = {
Lua = {
runtime = {
-- Tell the language server which version of Lua you're
-- using (most likely LuaJIT in the case of Neovim)
version = 'LuaJIT',
-- Setup your lua path
path = runtime_path,
},
diagnostics = {
-- Get the language server to recognize the `vim` global
globals = {
"vim",
"globals",
"utils"
},
},
workspace = {
-- Make the server aware of Neovim runtime files
library =
vim.api.nvim_get_runtime_file("", true),
checkThirdParty = false,
},
-- Do not send telemetry data containing a randomized but
-- unique identifier
telemetry = {
enable = false,
},
},
}
end
return M

View File

@ -0,0 +1,16 @@
-- Author : swytch
-- Created : Wednesday Nov. 30, 2022 16:35:43 CET
-- License : GPLv3
-- Description : neovim lsp config file for rust_analyzer
local M = {}
local rust_analayzer_binary = _G.lsp_root_dir .. "rust_analyzer/rust_analyzer"
M.setup = function(opts)
opts.settings = {}
end
return M

View File

@ -0,0 +1,17 @@
-- Author : swytch
-- Created : Monday May 17, 2022 16:29:18 CET
-- License : GPLv3
-- Description : neovim lsp config file for texlab
local M = {}
M.setup = function(opts)
opts.settings = {
build = {
executable = "pdflatex"
}
}
end
return M

View File

@ -0,0 +1,12 @@
-- Author : swytch
-- Created : Sunday Feb. 19, 2023 17:12:35 CET
-- License : GPLv3
-- Description : neovim lsp config file for tsserver
local M = {}
M.setup = function(opts)
end
return M

View File

@ -0,0 +1,33 @@
-- Author : swytch
-- Created : Monday Dec. 26, 2022 18:39:16 CET
-- License : GPLv3
-- Description : telescope config file
return {
{
"nvim-telescope/telescope.nvim",
dependencies = {
{
"nvim-lua/plenary.nvim",
"nvim-telescope/telescope-file-browser.nvim",
{
"nvim-telescope/telescope-fzf-native.nvim",
build = "make"
}
}
},
opts = {
extensions = {
file_browser = {
theme = "ivy",
hijack_netrw = true,
}
}
},
config = function(_, opts)
require("telescope").setup(opts)
require("telescope").load_extension("fzf")
require("telescope").load_extension("file_browser")
end
}
}

View File

@ -0,0 +1,129 @@
-- Author : swytch
-- Created : Monday May 24, 2021 20:02:19 CET
-- License : GPLv3
-- Description : treesitter config file
return {
"nvim-treesitter/nvim-treesitter",
dependencies = {
-- Additional text objects via treesitter
"nvim-treesitter/nvim-treesitter-textobjects",
},
build = ":TSUpdate",
opts = {
ensure_installed = {
"c", "cpp", "lua", "rust", "bash", "vim", "latex", "python",
"html", "javascript", "json", "markdown"
},
highlight = {
enable = true,
},
indent = {
enable = true,
},
incremental_selection = {
enable = true,
keymaps = {
init_selection = "<C-Space>",
node_incremental = "<C-Space>",
scope_incremental = "<Tab>",
node_decremental = "<BS>",
},
},
textobjects = {
select = {
enable = true,
lookahead = true, -- Automatically jump forward to textobj, similar to targets.vim
keymaps = {
-- use the capture groups defined in textobjects.scm
["ap"] = {
query = "@parameter.outer",
desc = "Select parameter region"
},
["ip"] = {
query = "@parameter.inner",
desc = "Select inner part of a parameter region"
},
["af"] = {
query = "@function.outer",
desc = "Select a function block"
},
["if"] = {
query = "@function.inner",
desc = "Select inner part of a function"
},
["ac"] = {
query = "@class.outer",
desc = "Select a class block"
},
["ic"] = {
query = "@class.inner",
desc = "Select inner part of a class"
},
},
},
move = {
enable = true,
set_jumps = true, -- whether to set jumps in the jumplist
goto_next_start = {
["]m"] = {
query = "@function.outer",
desc = "Jump to next function",
},
["])"] = {
query = "@class.outer",
desc = "Jump to next class",
},
},
goto_next_end = {
["]M"] = {
query = "@function.outer",
desc = "Jump after next function",
},
["]]"] = {
query = "@class.outer",
desc = "Jump after next class",
},
},
goto_previous_start = {
["[m"] = {
query = "@function.outer",
desc = "Jump to previous function",
},
["[)"] = {
query = "@class.outer",
desc = "Jump to previous class",
},
},
goto_previous_end = {
["[M"] = {
query = "@function.outer",
desc = "Jump after previous function",
},
["[]"] = {
query = "@class.outer",
desc = "Jump after previous class",
},
},
},
swap = {
enable = true,
swap_next = {
["<leader>a"] = {
query = "@parameter.inner",
desc = "Swap with next parameter",
},
},
swap_previous = {
["<leader>A"] = {
query = "@parameter.inner",
desc = "Swap with previous parameter",
},
},
},
},
},
config = function(_, opts)
require("nvim-treesitter.configs").setup(opts)
end
}

View File

@ -0,0 +1,70 @@
-- Author : swytch
-- Created : Friday Mar 12, 2021 17:43:21 CET
-- License : GPLv3
-- Description : neovim settings file
local opt = vim.opt
local g = vim.g
-- general
opt.wildignore = {
".git",
"*.o", "*.class",
"*.jpg", "*.jpeg", "*.png",
"*.pdf",
"*.zip", "*.gz", "*.rar", "*.tar.xz",
}
opt.wildmode = { "longest", "full" }
opt.wildoptions = "pum"
-- editor
opt.lazyredraw = true
opt.splitright = true
opt.splitbelow = true
opt.scrolloff = 4
opt.termguicolors = true
opt.background = "dark"
opt.cursorline = true
opt.colorcolumn = "+1"
opt.shortmess = opt.shortmess:append { c = true }
opt.number = true
opt.relativenumber = true
opt.signcolumn = "yes"
opt.listchars = {
tab = "<->",
nbsp = "",
trail = "·",
extends = ">",
precedes = "<",
}
opt.showmatch = true
opt.ignorecase = true
opt.smartcase = true
opt.inccommand = "split"
opt.completeopt = { "menuone", "noselect" }
-- statusline
opt.laststatus = 2
opt.showmode = false
-- text, tabs, indents
opt.textwidth = 79
opt.tabstop = 4
opt.softtabstop = -1
opt.expandtab = true
opt.shiftwidth = 0
opt.backspace = { "indent", "eol", "start" }
-- augroups
utils.create_augroup({
{ "BufWritePre", "*", "%s/\\s\\+$//e" }
}, "remove_trailing_whitespaces")
utils.create_augroup({
{ "BufNewFile,BufRead", "*.mom", "set filetype=groff" },
{ "BufNewFile,BufRead", "*.tex", "set filetype=tex" },
}, "enforce_filetypes")
vim.api.nvim_create_autocmd({ "BufEnter", "BufWinEnter" }, {
pattern = { "*.njk" },
callback = function() vim.bo.filetype = "html" end,
})

View File

@ -0,0 +1,256 @@
-- Author : swytch
-- Created : Friday Mar 12, 2021 21:45:21 CET
-- License : GPLv3
-- Description : neovim statusline file
-- based on github/nihilistkitten's work
local function gen_section(hl_string, items)
local out = ""
for _, item in pairs(items) do
if item ~= "" then
out = out .. " " .. item
end
end
if out ~= "" then
return hl_string .. out .. " "
else
return out
end
end
-- sensible names for vim modes
local function get_mode(m)
local mode_group = {
["n"] = "Normal",
["no"] = "O-Pending",
["nov"] = "O-Pending",
["noV"] = "O-Pending",
["no"] = "O-Pending",
["niI"] = "Normal",
["niR"] = "Normal",
["niV"] = "Normal",
["v"] = "Visual",
["V"] = "V-Line",
[""] = "V-Block",
["s"] = "Select",
["S"] = "S-Line",
[""] = "S-Block",
["i"] = "Insert",
["ic"] = "Insert",
["ix"] = "Insert",
["R"] = "Replace",
["Rc"] = "Replace",
["Rv"] = "V-Replace",
["Rx"] = "Replace",
["c"] = "Command",
["cv"] = "Ex",
["ce"] = "Ex",
["r"] = "Prompt",
["rm"] = "Prompt",
["r?"] = "Prompt",
["!"] = "Shell",
["t"] = "Terminal",
}
return mode_group[m] or "None"
end
local function get_mode_display_name(m)
local mode = {
["Normal"] = "[ NRM ]",
["O-Pending"] = "[ OTR ]",
["Visual"] = "[ VSL ]",
["V-Line"] = "[ V·L ]",
["V-Block"] = "[ V·B ]",
["Select"] = "[ SEL ]",
["S-Line"] = "[ S·L ]",
["S-Block"] = "[ S·B ]",
["Insert"] = "[ INS ]",
["Replace"] = "[ RPL ]",
["Command"] = "[ CMD ]",
["Prompt"] = "[ PMT ]",
["Shell"] = "[ SHL ]",
["Terminal"] = "[ TRM ]",
["None"] = "[ --- ]"
}
return mode[m]
end
-- get the highlight group for a mode group
local function get_mode_color(m)
local color = {
["Normal"] = "%#NormalMode#",
["O-Pending"] = "%#NormalMode#",
["Visual"] = "%#VisualMode#",
["V-Line"] = "%#VisualMode#",
["V-Block"] = "%#VisualMode#",
["Select"] = "%#NormalMode#",
["S-Line"] = "%#NormalMode#",
["S-Block"] = "%#NormalMode#",
["Insert"] = "%#InsertMode#",
["Replace"] = "%#ReplaceMode#",
["Command"] = "%#CommandMode#",
["Prompt"] = "%#NormalMode#",
["Shell"] = "%#NormalMode#",
["Terminal"] = "%#NormalMode#",
["None"] = "%#NormalMode#"
}
return color[m]
end
-- from https://github.com/nvim-lualine/lualine.nvim/blob/master/lua/lualine/components/filename.lua
local function shorten_path(path, max_len)
local sep = '/'
local len = #path
if len <= max_len then
return path
end
local segments = vim.split(path, sep)
local start = 1
if segments[1] == "~" then
start = start + 1
end
for idx = start, #segments - 1 do
if len <= max_len then
break
end
local segment = segments[idx]
local short_end = 1
if (vim.startswith(segment, '.') or vim.startswith(segment, '_')) then
short_end = 2
end
local shortened = segment:sub(1, short_end)
segments[idx] = shortened
len = len - (#segment - #shortened)
end
if (len > max_len and #segments > 3) then
while (len > max_len and #segments > 3) do
table.remove(segments, 2)
end
table.insert(segments,2, "...")
end
return table.concat(segments, sep)
end
-- from https://github.com/nvim-lua/lsp-status.nvim/blob/master/lua/lsp-status/diagnostics.lua
local function get_lsp_diagnostics()
local result = {}
local levels = {
error = "Error",
warn = "Warn",
info = "Info",
hint = "Hint"
}
for k, level in pairs(levels) do
local count = 0
local diags = vim.diagnostic.get(0, { severity = level })
for _, _ in pairs(diags) do
count = count + 1
end
result[k] = count
end
return result
end
local function process_diagnostics(prefix, n, hl)
if n > 0 then
return hl .. prefix .. n
else
return ""
end
end
local function spell_check()
if vim.wo.spell then
local lang = vim.o.spelllang
return "[SPELL=" .. lang .. "]"
else
return ""
end
end
local function statusline_focused()
local file = vim.fn.expand("%:p:~")
local diagnostics = get_lsp_diagnostics()
local mode = vim.fn.mode()
local mg = get_mode(mode)
local accent_color = get_mode_color(mg)
local winwidth = vim.fn.winwidth(0)
local left = table.concat {
gen_section(accent_color, { get_mode_display_name(mg) }),
gen_section("%#Middle#", { shorten_path(file, winwidth / 2) }),
gen_section("%#Bottom#", { "%m", "%r" }),
gen_section(
"%#Alert#",
{
process_diagnostics(
globals.sign_error .. " ",
diagnostics.error,
"%#DiagnosticVirtualTextError#"
),
process_diagnostics(
globals.sign_warn .. " ",
diagnostics.warn,
"%#DiagnosticVirtualTextWarn#"
),
process_diagnostics(
globals.sign_info .. " ",
diagnostics.info,
"%#DiagnosticVirtualTextInfo#"
)
}
)
}
local right = table.concat {
gen_section(
"%#Bottom#",
{
spell_check(),
vim.bo.filetype
}
),
gen_section("%#Middle#", { "%03.p%%" }),
gen_section("%#Top#", { "-%03.c-" })
}
return table.concat {
left,
"%#Statusline#",
"%=",
right
}
end
local function statusline_not_focused()
local bufnr = vim.fn.winbufnr(vim.g.statusline_winid)
local file = vim.fn.expand("#" .. bufnr .. ":p:~")
local winwidth = vim.fn.winwidth(0)
return table.concat {
gen_section("%#StatuslineNF#", {
shorten_path(file, winwidth / 2),
"%m"
}),
"%=",
gen_section("%#StatuslineNF#", { "%03.p%%" }),
gen_section("%#StatuslineNF#", { "-%03.c-" })
}
end
function _G.gen_statusline()
if vim.g.statusline_winid == vim.fn.win_getid() then
return statusline_focused()
else
return statusline_not_focused()
end
end
vim.o.statusline = "%!luaeval(\"gen_statusline()\")"

View File

@ -0,0 +1,50 @@
-- Author : swytch
-- Created : Friday Mar 12, 2021 20:07:39 CET
-- License : GPLv3
-- Description : neovim utils file
local M = {} -- The module to export
local cmd = vim.cmd
-- augroup helper
function M.create_augroup(autocmds, name)
cmd("augroup " .. name)
cmd("autocmd!")
for _, autocmd in ipairs(autocmds) do
cmd("autocmd " .. table.concat(autocmd, " "))
end
cmd("augroup END")
end
-- add a path to the rtp
function M.add_rtp(path)
local rtp = vim.o.rtp
rtp = rtp .. "," .. path
end
-- see if a file exists
function M.file_exists(file)
local f = io.open(file, "rb")
if f then f:close() end
return f ~= nil
end
-- get all lines from a file
-- @return table (empty if the file does not exist)
function M.lines_from(file)
if not M.file_exists(file) then return {} end
local lines = {}
for line in io.lines(file) do
lines[#lines] = line
end
return lines
end
function M.copy(args)
return args[1]
end
-- Make it accessible everywhere
_G.utils = M
-- Export the module
return M

25
.config/portage/make.conf Normal file
View File

@ -0,0 +1,25 @@
# Please consult /usr/share/portage/config/make.conf.example for a more
# detailed example.
# Portage config
PORTAGE_ELOG_SYSTEM="save"
PORTAGE_ELOG_CLASSES="log warn error"
FEATURES="$FEATURES binpkg-logs split-elog split-log"
GENTOO_MIRRORS="$GENTOO_MIRRORS https://mirrors.ircam.fr/pub/gentoo-distfiles/ https://ftp.uni-hannover.de/gentoo/ https://mirror.netcologne.de/gentoo/ rsync://mirror.netcologne.de/gentoo/"
COMMON_FLAGS="-O2 -pipe"
CFLAGS="${COMMON_FLAGS} -ggdb"
CXXFLAGS="${COMMON_FLAGS} -ggdb"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"
MAKEOPTS="-j2"
# This sets the language of build output to English.
# Please keep this setting intact when reporting bugs.
LC_MESSAGES=C
# Compile options
USE="-fortran -gnome -iwd -kde -qt -systemd alsa dbus elogind ffmpeg jpeg ncurses pulseaudio wifi X zsh-completion"
VIDEO_CARDS="intel i965"
GRUB_PLATFORMS="efi-64"

View File

@ -0,0 +1,4 @@
media-sound/beets ~amd64
dev-python/munkres ~amd64
x11-misc/xcape ~amd64
net-p2p/tremc ~amd64

View File

@ -0,0 +1,16 @@
sys-libs/zlib minizip
app-admin/doas persist
app-admin/pass dmenu
app-crypt/pinentry ncurses
dev-vcs/git blksha1 curl gpg
dev-libs/boost icu
www-client/w3m imlib
mail-client/neomutt sasl gpgme
app-text/texlive cjk extra science
app-text/texlive-core cjk xetex
app-text/xmlto text
media-libs/freetype harfbuzz
media-libs/harfbuzz icu
media-fonts/source-pro cjk
media-fonts/source-han-sans l10n_zh-CN l10n_ja l10n_ko l10n_zh-TW
media-sound/sox flac ogg

View File

@ -0,0 +1 @@
app-admin/doas -persist

View File

@ -0,0 +1,9 @@
[redshift]
temp-day=6500
temp-night=4200
adjustment-method=randr
location-provider=manual
[manual]
lat=45.18
lon=5.72

View File

@ -0,0 +1,5 @@
# Prefer wpa_supplicant over wireless tools
modules_wlp3s0="wpa_supplicant"
config_wlp3s0="dhcp"
config_enp0s20f0u1="dhcp"
config_enp0s20f0u6="dhcp"

View File

@ -0,0 +1,9 @@
#%PAM-1.0
auth include system-login
account include system-login
password include system-login
session include system-login
auth optional pam_gnupg.so store-only
session optional pam_gnupg.so

View File

@ -0,0 +1,2 @@
ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="intel_backlight", RUN+="/bin/chgrp video /sys/class/backlight/%k/brightness"
ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="intel_backlight", RUN+="/bin/chmod g+w /sys/class/backlight/%k/brightness"

View File

@ -0,0 +1,7 @@
Section "Device"
Identifier "Intel Graphics"
Driver "intel"
Option "TearFree" "true"
Option "AccelMethod" "uxa"
Option "TripleBuffer" "true"
EndSection

Some files were not shown because too many files have changed in this diff Show More