commit 7ff943606e6c9d7cbdc038e6c1e28dbb7d6548e0
Author: Mikołaj Lenczewski <mblenczewski@gmail.com>
Date: Thu, 28 May 2026 14:42:32 +0100
Initial dump
Diffstat:
34 files changed, 708 insertions(+), 0 deletions(-)
diff --git a/asoundrc b/asoundrc
@@ -0,0 +1,105 @@
+defaults.ctl.!card Unity
+
+pcm.!default {
+ type plug
+ slave.pcm {
+ type asym
+ playback.pcm "audio-out"
+ capture.pcm {
+ @func getenv
+ vars [ CAPTURE_DEV ]
+ default "loopback-in"
+ }
+ }
+}
+
+pcm.audio-out {
+ type route
+
+ slave.pcm {
+ type multi
+
+ slaves.a { pcm "desktop-out"; channels 2; }
+ slaves.b { pcm "loopback-out"; channels 2; }
+
+ bindings.0 { slave a; channel 0; }
+ bindings.1 { slave a; channel 1; }
+ bindings.2 { slave b; channel 0; }
+ bindings.3 { slave b; channel 1; }
+ }
+
+ ttable.0.0 1
+ ttable.1.1 1
+ ttable.0.2 1
+ ttable.1.3 1
+}
+
+pcm.desktop-out {
+ type dmix
+
+ ipc_key 1024
+ ipc_key_add_uid true
+
+ slave {
+ pcm "hw:Unity,0"
+ rate 48000
+ period_time 0
+ period_size 1024
+ buffer_size 4096
+ }
+}
+
+pcm.loopback-out {
+ type dmix
+
+ ipc_key 1024
+ ipc_key_add_uid true
+
+ slave {
+ pcm "hw:Loopback,0,0"
+ rate 48000
+ period_time 0
+ period_size 1024
+ buffer_size 4096
+ }
+}
+
+pcm.loopback-in {
+ type dsnoop
+
+ ipc_key 1025
+ ipc_key_add_uid true
+
+ slave {
+ pcm "hw:Loopback,1,0"
+ rate 48000
+ channels 1
+ period_time 0
+ period_size 1024
+ buffer_size 4096
+ }
+}
+
+# TODO: mix microphone-in with loopback-in?
+pcm.microphone-in {
+ type dsnoop
+
+ ipc_key 1026
+ ipc_key_add_uid true
+
+ slave {
+ pcm "hw:Device_1,0"
+ rate 48000
+ channels 2
+ period_time 0
+ period_size 1024
+ buffer_size 4096
+ }
+}
+
+#https://noisybox.net/blog/2016/01/alsa_recording_of_device_output
+#https://www.alsa-project.org/alsa-doc/alsa-lib/pcm_plugins.html
+#https://wiki.archlinux.org/title/Advanced_Linux_Sound_Architecture
+#https://unix.stackexchange.com/questions/629348/what-exactly-is-the-default-pcm-alsa-device
+#https://stackoverflow.com/questions/43939191/alsa-how-to-duplicate-a-stream-on-2-outputs-and-save-system-configs
+#https://bootlin.com/blog/audio-multi-channel-routing-and-mixing-using-alsalib/
diff --git a/browse/bookmarks b/browse/bookmarks
@@ -0,0 +1,17 @@
+https://jvns.ca/
+https://tls13.xargs.org/
+https://settlersonlinewiki.eu/
+https://www.settlerscombatsimulator.com/uk
+https://www.thesettlersonline.com/en/play
+https://http.dev
+https://unixism.net
+https://250bpm.com/index.html
+https://draw.io/
+https://c9x.me/
+https://en.cppreference.com/w/
+https://virtual-graph-paper.com/
+https://akkadia.org/drepper/
+https://web.libera.chat/#gentoo
+https://lenczewski.org
+https://git.lenczewski.org
+https://searx.lenczewski.org
diff --git a/browse/bookmarks.bak b/browse/bookmarks.bak
@@ -0,0 +1,18 @@
+https://draw.io/
+https://c9x.me/
+https://en.cppreference.com/w/
+https://virtual-graph-paper.com/
+https://akkadia.org/drepper/
+https://web.libera.chat/#gentoo
+https://mblenczewski.com
+https://searx.mblenczewski.com
+https://retail.santander.co.uk/EBAN_Accounts_ENS/channel.ssobto?dse_operationName=MyAccounts
+https://gitlab.cs.man.ac.uk/
+https://studentadmin.manchester.ac.uk/psp/CSPROD/EMPLOYEE/SA/c/SA_LEARNER_SERVICES.SSS_STUDENT_CENTER.GBL
+https://studentnet.cs.manchester.ac.uk/ugt/attendance/
+https://studentnet.cs.manchester.ac.uk/me/spotv2/spotv2.php
+https://my.manchester.ac.uk
+https://my.manchester.ac.uk/MyCheckIn
+https://my.manchester.ac.uk/uPortal/f/mylearning/normal/render.uP
+https://timetables.manchester.ac.uk/
+https://online.manchester.ac.uk/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_92_1
diff --git a/config/foot/foot.ini b/config/foot/foot.ini
@@ -0,0 +1,5 @@
+workers=0
+
+font=monospace:size=8
+
+include=/usr/share/foot/themes/st
diff --git a/config/git/ignore b/config/git/ignore
@@ -0,0 +1,4 @@
+**/.*.swp
+**/.*.swo
+
+tags
diff --git a/config/mktexproj/skel/build b/config/mktexproj/skel/build
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+. ./common.sh
+
+pdflatex "$OPTS" "$SRC"
diff --git a/config/mktexproj/skel/common.sh b/config/mktexproj/skel/common.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+export OUT=out
+export OPTS="-output-directory=$OUT"
+export SRC=document.tex
+
+[ ! -d $OUT ] && mkdir $OUT
diff --git a/config/mktexproj/skel/default_author b/config/mktexproj/skel/default_author
@@ -0,0 +1 @@
+Mikołaj Lenczewski
diff --git a/config/mktexproj/skel/document.tex b/config/mktexproj/skel/document.tex
@@ -0,0 +1,22 @@
+\documentclass{article}
+
+%\setcounter{tocdepth}{1} % show sections
+%\setcounter{tocdepth}{2} % + subsections
+\setcounter{tocdepth}{3} % + subsubsections
+%\setcounter{tocdepth}{4} % + paragraphs
+%\setcounter{tocdepth}{5} % + subparagraphs
+
+\author{AUTHOR}
+\title{TITLE}
+
+\begin{document}
+
+\maketitle
+\newpage
+
+\tableofcontents
+\newpage
+
+Hello, World!
+
+\end{document}
diff --git a/config/mpd/mpd.conf b/config/mpd/mpd.conf
@@ -0,0 +1,28 @@
+pid_file "~/.mpd/pid"
+state_file "~/.mpd/state"
+sticker_file "~/.mpd/sticker.sql"
+
+playlist_directory "~/playlists"
+music_directory "~/music"
+
+metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc"
+metadata_to_use "+comment"
+auto_update "yes"
+auto_update_depth "3"
+
+database {
+ plugin "simple"
+ path "~/.mpd/db"
+}
+
+audio_output {
+ type "alsa"
+ name "default"
+ mixer_type "software"
+}
+
+input_cache {
+ size "64 MB"
+}
+
+filesystem_charset "UTF-8"
diff --git a/config/mutt/accounts/00 b/config/mutt/accounts/00
@@ -0,0 +1,30 @@
+#
+# account_00
+#
+
+set folder = "~/.local/share/email/folder"
+set sendmail = "msmtp -a email@server.com"
+
+mailboxes =INBOX =Important =Starred =Drafts =Sent =Trash =Spam
+
+set spoolfile = "+INBOX"
+set postponed = "+Drafts"
+set record = "+Sent"
+set trash = "+Trash"
+
+set from = "email@server.com"
+set realname = "Firstname Lastname"
+set use_from = yes
+set envelope_from = yes
+set hostname = "server.com"
+
+set signature = "$XDG_CONFIG_HOME/mutt/accounts/00.signature"
+
+# fetching mail
+macro index,pager \Cf "<shell-escape>mbsync folder<enter>" "synchronise mailbox"
+
+# navigation
+macro index,pager gi "<change-folder>=INBOX<enter>" "go to inbox"
+macro index,pager gd "<change-folder>=Drafts<enter>" "go to drafts"
+macro index,pager gs "<change-folder>=Sent<enter>" "go to sent mail"
+macro index,pager gt "<change-folder>=Trash<enter>" "go to trash"
diff --git a/config/mutt/accounts/00.signature b/config/mutt/accounts/00.signature
@@ -0,0 +1,2 @@
+Kind regards,
+Firstname Lastname
diff --git a/config/mutt/accounts/reset b/config/mutt/accounts/reset
@@ -0,0 +1,5 @@
+unset hostname
+unset signature
+unmy_hdr *
+unmailboxes *
+unalternates *
diff --git a/ctags.d/local.ctags b/ctags.d/local.ctags
@@ -0,0 +1,5 @@
+--recurse=yes
+--exclude=.git
+--exclude=\*.swp
+--exclude=bin
+--exclude=obj
diff --git a/gitconfig b/gitconfig
@@ -0,0 +1,14 @@
+[core]
+ editor = vim
+ pager = less
+[init]
+ defaultBranch = master
+[user]
+ name = Mikołaj Lenczewski
+ email = mikolaj@lenczewski.org
+ signingkey = ADD67E585F42E22C
+[commit]
+ gpgSign = true
+[tag]
+ gpgSign = true
+
diff --git a/lldbinit b/lldbinit
@@ -0,0 +1 @@
+settings set target.load-cwd-lldbinit true
diff --git a/local/bin/backup b/local/bin/backup
@@ -0,0 +1,43 @@
+#!/bin/sh
+
+DATESTAMP=$(date +%Y%m%d)
+
+OPTS="cfJ"
+EXT="xz"
+
+INCLUDED_DIRS=".*(bin|Downloads|latex|git|services)$"
+INCLUDED_FILES=".*\.(md|pdf|png|config|py)$"
+EXCLUDED_DIRS=""
+EXCLUDED_FILES=""
+
+OLD=$(pwd)
+INCLUDED=$(mktemp)
+EXCLUDED=$(mktemp)
+
+EXIT () {
+ rm $INCLUDED $EXCLUDED
+ cd $OLD
+ exit $1
+}
+
+cd $HOME
+
+find . -maxdepth 1 -type d -regextype posix-egrep -regex $INCLUDED_DIRS -print >> $INCLUDED
+find . -maxdepth 1 -type f -regextype posix-egrep -regex $INCLUDED_FILES -print >> $INCLUDED
+
+for DIR in $EXCLUDED_DIRS; do
+ sed "/$DIR/d" -i $INCLUDED
+done
+
+for FILE in $EXCLUDED_FILES; do
+ sed "/$FILE/d" -i $INCLUDED
+done
+
+if [ ! "${INCLUDED:-x}" = "x" ]; then
+ tar cfJ "$HOME/backup-$DATESTAMP.tar.$EXT" -T $INCLUDED --backup=numbered
+ # TODO(mikolaj): encrypt and sign the resulting backup file
+ EXIT 0
+else
+ echo "No files selected to back up!"
+ EXIT 1
+fi
diff --git a/local/bin/cputemp b/local/bin/cputemp
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+while :
+do
+ cat /sys/class/thermal/thermal_zone0/temp
+ sleep 1
+done
diff --git a/local/bin/firefox b/local/bin/firefox
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+export CAPTURE_DEV=microphone-in
+exec /usr/lib/firefox/firefox $@
diff --git a/local/bin/mktexproj b/local/bin/mktexproj
@@ -0,0 +1,93 @@
+#!/bin/sh
+
+help() {
+ echo "Usage: $(basename -- "$0") -h"
+ echo "-h :"
+ echo " Displays usage information"
+ echo "-n <folder_name> :"
+ echo " Creates a new latex project folder, with the given name."
+ echo "-t <title> :"
+ echo " Sets the document title."
+}
+
+DIRNAME=
+TITLE=
+
+OPTSTRING="ht:n:"
+while getopts "${OPTSTRING}" OPT; do
+ case "${OPT}" in
+ h)
+ help && exit 1
+ ;;
+ t)
+ [ ! "${OPTARG}" = "" ] && TITLE="${OPTARG}"
+ ;;
+ n)
+ [ ! "${OPTARG}" = "" ] && DIRNAME="${OPTARG}"
+ ;;
+ default)
+ help
+ ;;
+ esac
+done
+
+[ "${DIRNAME}" = "" ] && \
+ echo "Incorrect usage! No project name given (see -h)!" && exit 1
+
+[ "${TITLE}" = "" ] && \
+ echo "Incorrect usage! No project title given (see -h)!" && exit 1
+
+mkdir -p "$DIRNAME"
+
+## create the skeleton document if it doesnt exist
+cat > "$DIRNAME/document.tex" <<EOF
+\\documentclass{article}
+
+\\usepackage[utf8]{inputenc}
+\\usepackage{amsmath}
+\\usepackage{listings}
+
+\\setcounter{tocdepth}{1} % show sections
+\\setcounter{tocdepth}{2} % + subsections
+\\setcounter{tocdepth}{3} % + subsubsections
+%\\setcounter{tocdepth}{4} % + paragraphs
+%\\setcounter{tocdepth}{5} % + subparagraphs
+
+\\author{Mikołaj Lenczewski}
+\\title{$TITLE}
+
+\\begin{document}
+
+\\maketitle
+\\newpage
+
+\\tableofcontents
+\\newpage
+
+Hello, World!
+
+\\end{document}
+EOF
+
+## create the build script
+cat > "$DIRNAME/build" <<'EOF'
+#!/bin/sh
+
+. "$(dirname $0)/common.sh"
+
+pdflatex "$OPTS" "$SRC"
+EOF
+
+chmod +x "$DIRNAME/build"
+
+## create the build options script
+cat > "$DIRNAME/common.sh" <<EOF
+#!/bin/sh
+
+export ROOT="$(dirname $0)"
+export OUT="$ROOT/out"
+export OPTS="-output-directory=\$OUT"
+export SRC="$ROOT/document.tex"
+
+[ ! -d \$OUT ] && mkdir \$OUT
+EOF
diff --git a/local/bin/res-desktop b/local/bin/res-desktop
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+wlr-randr --output DP-1 --mode 3440x1440@100
diff --git a/local/bin/res-stream b/local/bin/res-stream
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+wlr-randr --output DP-1 --mode 1920x1080@60
diff --git a/local/bin/screencap b/local/bin/screencap
@@ -0,0 +1,75 @@
+#!/bin/sh
+
+USAGE() {
+ echo "Usage: $0 [-o <output>] [-s <stream-url.gpg>]"
+ echo " -h: Print usage information"
+ echo " -a: Use the given audio codec (default: libvorbis)"
+ echo " -d: Record the given display (default: $DISPLAY)"
+ echo " -f: Record the screen with the given framerate (default: 30)"
+ echo " -i: Use the given audio input (default: default)"
+ echo " -o: Output to the given file"
+ echo " -s: Stream the screen capture to url in the given gpg2-encrypted file (ignores any -o options)"
+ echo " This option will require the -a and -v options, depending on the streaming service"
+ echo " -v: Output using the given container format (default: guessed)"
+}
+
+while getopts ":h:a:d:f:i:o:s:v:" cmdarg; do
+ case "$cmdarg" in
+ h)
+ USAGE
+ exit 1
+ ;;
+ a)
+ ACODEC="$OPTARG"
+ ;;
+ d)
+ CAPTURE="$OPTARG"
+ ;;
+ f)
+ FRAMERATE="$OPTARG"
+ ;;
+ i)
+ AINPUT="$OPTARG"
+ ;;
+
+ o)
+ OUTPUT="$OPTARG"
+ ;;
+ s)
+ STREAMURL="$OPTARG"
+ ;;
+ v)
+ CONTAINER="$OPTARG"
+ ;;
+ *)
+ echo "Unknown option: $cmdarg"
+ USAGE
+ exit 1
+ ;;
+ esac
+done
+
+if [ "${STREAMURL:-z}" = "z" ]; then
+ [ "${OUTPUT:-z}" = "z" ] && echo "Missing output file!" && USAGE && exit 1
+else
+ OUTPUT="$(gpg2 -dq $STREAMURL)"
+fi
+
+[ ! "${CONTAINER:-z}" = "z" ] && OUTPUT="-f $CONTAINER $OUTPUT"
+
+# NOTE: change /dev/dri/renderD128 to whatever your main GPU shows up as
+ACCEL_DEV="-init_hw_device vaapi=gpu:/dev/dri/renderD128 -hwaccel vaapi -hwaccel_output_format vaapi -hwaccel_device gpu"
+ACCEL="-filter_hw_device gpu -vf format=nv12|vaapi,hwupload"
+AUDIO="-f alsa -ac 2 -ar 48000 -a:c pcm_s24le -i ${AINPUT:-hw:4}"
+VIDEO="-f x11grab -video_size 1920x1080 -framerate ${FRAMERATE:-30} -i ${CAPTURE:-$DISPLAY}"
+CODEC="-c:v h264_vaapi -b:v 10M -maxrate 10M -bf 0 -c:a ${ACODEC:-libvorbis} -af aresample=44100"
+
+FFMPEG_OPTS="-thread_queue_size 64 $ACCEL_DEV $VIDEO $AUDIO $ACCEL $CODEC $OUTPUT"
+
+# NOTE: feel free to remove DRI_PRIME=1 and LIBVA_DRIVER_NAME=radeonsi
+# as these are only useful on systems with multiple gpus (with
+# a discrete AMD gpu)
+DRI_PRIME=1 LIBVA_DRIVER_NAME=radeonsi \
+ffmpeg -y $FFMPEG_OPTS
+
+# ffmpeg -device /dev/dri/card0 -f kmsgrab -i - -vf 'hwmap=derive_device=vaapi,scale_vaapi=w=3440^C=1440:format=nv12' -c:v av1_vaapi -q 24 -y output-file.mkv
diff --git a/local/bin/twitch-tv b/local/bin/twitch-tv
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+firefox -P twitch
diff --git a/local/bin/twitchcap.sh b/local/bin/twitchcap.sh
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+USAGE() {
+ echo "Usage: $0"
+ echo " -a: Use the first monitor"
+ echo " -b: Use the second monitor"
+}
+
+while getopts ":ab" cmdarg; do
+ case "$cmdarg" in
+ a)
+ MONITOR="$DISPLAY+0,0"
+ ;;
+ b)
+ MONITOR="$DISPLAY+1920,0"
+ ;;
+ *)
+ echo "Unknown option: $cmdarg"
+ USAGE
+ exit 1
+ ;;
+ esac
+done
+
+[ "${MONITOR:-z}" = "z" ] && USAGE && exit 1
+
+$HOME/.local/bin/screencap -d "$MONITOR" -a aac -v flv -s $HOME/.config/twitch.streamurl.gpg
diff --git a/local/bin/webpaste b/local/bin/webpaste
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+for f in $@; do
+ scp "$f" "router:/srv/www/lenczewski.org/pastebin/$(basename $f)"
+ echo "https://lenczewski.org/pastebin/$(basename $f)"
+done
diff --git a/local/bin/wlr-desktop b/local/bin/wlr-desktop
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+res-desktop
+
+rc-service --user wireplumber restart
+dbus-update-activation-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=dwl
+rc-service --user xdg-desktop-portal restart
diff --git a/local/share/foot/themes/st b/local/share/foot/themes/st
@@ -0,0 +1,22 @@
+[colors]
+# alpha=1.0
+background=000000
+foreground=e5e5e5
+
+regular0=000000 # black
+regular1=cd0000 # red
+regular2=00cd00 # green
+regular3=cdcd00 # yellow
+regular4=0000ee # blue
+regular5=cd00cd # magenta
+regular6=00cdcd # cyan
+regular7=e5e5e5 # white
+
+bright0=7f7f7f # bright black
+bright1=ff0000 # bright red
+bright2=00ff00 # bright green
+bright3=ffff00 # bright yellow
+bright4=5c5cff # bright blue
+bright5=ff00ff # bright magenta
+bright6=00ffff # bright cyan
+bright7=ffffff # bright white
diff --git a/mailcap b/mailcap
@@ -0,0 +1,5 @@
+application/pdf; $READER %s;
+application/pgp-encrypted; gpg2 -d '%s'; copiousoutput;
+application/pgp-keys; gpg2 --import '%s'; copiousoutput;
+text/plain; $EDITOR %s;
+text/html; w3m -I %{charset} -T text/html; copiousoutput;
diff --git a/muttrc b/muttrc
@@ -0,0 +1,75 @@
+# vim: filetype=muttrc
+
+# viewing and attachments
+auto_view application/pgp-encrypted
+auto_view text/html
+alternative_order text/plain text/enriched text/html
+bind attach <return> view-mailcap
+
+# general settings
+set charset = "utf-8"
+set send_charset = "utf-8"
+set assumed_charset = "iso-8859-1"
+
+set editor = "vim -c 'set syntax=mail ft=mail enc=utf-8'"
+
+set rfc2047_parameters = yes
+
+set wait_key = no # dont ask "Press key to continue"
+set sleep_time = 0 # dont pause to show informational messages
+set markers = no # dont wrap long links with +
+set mark_old = no # unread email stays unread until opened
+set mime_forward = yes # attachments are forwarded with email body
+set fast_reply = yes # skip to composing a reply
+set fcc_attach = yes # save attachments with email body
+set forward_format = "Fwd: %s" # set the subject format for forwarded emails
+set forward_quote = yes # include message in forwarded emails
+set reverse_name = yes # include the senders name in replies
+set reverse_realname = yes # include the senders real name in replies
+set include = yes # include the original message in replies
+
+set sort = threads
+set sort_aux = reverse-last-date-received
+set strict_threads = yes
+
+set header_cache = ~/.cache/mutt
+set message_cachedir = "~/.cache/mutt"
+
+# accounts
+# ============================================================================
+
+set ssl_client_cert = "/path/to/client/cert"
+set ssl_force_tls
+
+# IMAP
+# ============================================================================
+
+set folder = imaps://mail.server.com/
+
+set spoolfile = +INBOX
+set postponed = +Drafts
+set record = +Sent
+
+mailboxes = +INBOX +Drafts +Sent
+
+set imap_user = user
+
+set imap_idle
+set imap_check_subscribed
+unset imap_passive
+unset imap_peek
+
+set mail_check = 120
+set timeout = 15
+
+# SMTP
+# ============================================================================
+
+set smtp_authenticators = "login"
+
+set smtp_url = smtps://$imap_user@mail.server.com/
+
+set realname = "Firstname Lastname"
+set from = "firlas@server.com"
+
+set signature = "~/.signature"
diff --git a/profile b/profile
@@ -0,0 +1,26 @@
+[ -d "$HOME/bin" ] && PATH="$HOME/bin:$PATH"
+[ -d "$HOME/.local/bin" ] && PATH="$HOME/.local/bin:$PATH"
+export PATH
+
+export XDG_CACHE_HOME="$HOME/.cache"
+export XDG_CONFIG_HOME="$HOME/.config"
+export XDG_DATA_HOME="$HOME/.local/share"
+
+export XDG_CURRENT_DESKTOP=dwl
+
+export TZ="Europe/London"
+
+export EDITOR="vim"
+export TERMINAL="foot"
+export READER="zathura"
+
+export LESSHISTFILE="-"
+export HISTFILE="$XDG_DATA_HOME/history"
+export HISTSIZE=
+export HISTFILESIZE=
+
+export _JAVA_AWT_WM_NONREPARENTING=1
+
+# enter shell
+
+. $HOME/.bashrc
diff --git a/shellrc b/shellrc
@@ -0,0 +1,9 @@
+[[ $- != *i* ]] && return
+
+export GPG_TTY="$(tty)"
+
+stty -ixon
+
+alias ls="ls -hN --color=auto --group-directories-first"
+alias grep="grep --color=auto"
+alias diff="diff --color=auto"
diff --git a/signature b/signature
@@ -0,0 +1,2 @@
+Kind regards,
+Mikołaj Lenczewski
diff --git a/vimrc b/vimrc
@@ -0,0 +1,29 @@
+packadd! editorconfig
+
+syntax off
+filetype plugin on
+
+if has('autocmd')
+ filetype indent on
+else
+ set autoindent
+endif
+
+set lazyredraw
+
+set cc=80,120,160
+set number
+
+:nnoremap <C-V> <C-W>v
+:nnoremap <C-S> <C-W>s
+:nnoremap <C-H> <C-W>h
+:nnoremap <C-J> <C-W>j
+:nnoremap <C-K> <C-W>k
+:nnoremap <C-L> <C-W>l
+
+:tnoremap <C-N> <C-W>n
+:tnoremap <C-P> <C-W>p
+:tnoremap <C-H> <C-W>h
+:tnoremap <C-L> <C-W>l
+
+set belloff=all