Compare commits

..

37 Commits

Author SHA1 Message Date
3ff0adcbf3 libsecret credentials 2025-11-14 19:24:58 +01:00
c6705a2229 ssh vim and tmux 2025-11-14 13:39:26 +01:00
41e9336603 sshconfig 2025-03-05 11:27:17 +01:00
93473be663 Vundle -> Plug 2024-03-31 15:42:40 +02:00
912afb5576 ssh config 2024-01-26 08:29:27 +01:00
913de0fa24 slurm alias 2024-01-24 10:25:00 +01:00
1d1cabbd38 Slurm aliases 2024-01-19 09:31:58 +01:00
75b08a39f6 Read npy files 2024-01-18 16:40:44 +01:00
af4e2d4364 pylab 2023-12-21 08:06:55 +01:00
5b12de7672 vimrc: YCM only if python3 enabled 2023-12-20 12:47:22 +01:00
144ea8b936 i3 2023-11-26 16:43:56 +01:00
6ec0d320c3 Update 2023-11-26 16:43:30 +01:00
f81face7de ssh 2023-11-26 16:43:30 +01:00
1fbd656840 i3 2023-11-21 19:43:30 +01:00
eabfa84c6a vimrc: node 2023-11-21 19:40:50 +01:00
10ff2034bb vimrc: YCM only if python3 enabled 2023-05-17 11:29:50 +02:00
04273c2422 Break tools out into modules 2023-03-09 11:15:53 +01:00
522854ab3d vimrc: CtrlP, slime, tagbar 2023-03-08 15:26:53 +01:00
1c8133c827 Slurm aliases 2023-01-12 10:46:49 +01:00
d933b8a830 .bashrc: Watch 2022-12-20 16:34:39 +01:00
34451575a9 vimrc: autopep8 2022-12-20 16:34:39 +01:00
2ba88ea838 Local settings on aino. DO NOT PUSH 2022-12-20 16:34:39 +01:00
4aa6e57064 python alias 2022-12-17 19:39:07 +01:00
037b8321d6 Picom config 2022-12-17 19:36:23 +01:00
e7ece8748b Enchance npz_preview 2022-03-16 15:51:07 +01:00
13baa5f8ce Tmux ssh config 2022-03-16 09:20:17 +01:00
b082cc00b2 ssh rc 2022-03-15 14:53:24 +01:00
9c6ecfce28 rsync 2022-02-23 20:52:05 +01:00
eb7a79a758 .vimrc Julia 2022-02-14 17:17:44 +01:00
5fc158cf12 More slurm aliases 2022-02-09 10:34:40 +01:00
135b6c5ea3 Get rid of gpaw and ase modules 2022-01-27 17:10:09 +01:00
e3a67128fa Source optional local settings 2022-01-25 17:15:48 +01:00
715d630ff7 Better handle lmod in bashrc.kuba 2022-01-13 14:11:11 +01:00
438051159a xclip 2022-01-13 09:32:14 +01:00
ec76425031 .ssh: Dardel config 2022-01-03 16:42:42 +01:00
be733bbcba snakemake and myqueue completion 2021-12-13 11:03:47 +01:00
5b02e1ea77 gitconfig 2021-12-13 11:03:47 +01:00
29 changed files with 767 additions and 309 deletions

View File

@@ -4,3 +4,8 @@
if [ -f "$HOME/.bashrc.kuba" ]; then if [ -f "$HOME/.bashrc.kuba" ]; then
. "$HOME/.bashrc.kuba" . "$HOME/.bashrc.kuba"
fi fi
# Settings not included in dotfiles repo
if [ -f "$HOME/.bashrc.local" ]; then
. "$HOME/.bashrc.local"
fi

View File

@@ -35,40 +35,6 @@ complete -o bashdefault -o default -o nospace -F __git_wrap__git_main dotfiles
# Define a OS X-like open command # Define a OS X-like open command
open() { command xdg-open "$@" > /dev/null 2>&1 & } open() { command xdg-open "$@" > /dev/null 2>&1 & }
# Inspect .npz files
npz_py_str="$(cat << EOM
from sys import argv
import numpy as np
try:
import matplotlib.pyplot as plt
print('Imported matplotlib.pyplot as plt')
except ImportError:
pass
class Wrap:
def __init__(self, fname):
n = np.load(fname, allow_pickle=True)
files = n.files
globs = globals()
print('Contains files', files)
for f in files:
setattr(self, f, n[f])
globs[f] = n[f]
archive = Wrap(argv[1])
print('Global namespace populated with "archive" and all files')
EOM
)"
npz_preview() {
if [ $# -lt 1 ]; then
echo "Please specify file to open as argument"
return
fi
python -ic "$npz_py_str" "$1"
}
# Source git prompt # Source git prompt
source_existing ~/scripts/git-prompt.sh source_existing ~/scripts/git-prompt.sh
source_existing ~/.bash_prompt.kuba source_existing ~/.bash_prompt.kuba
@@ -76,28 +42,25 @@ source_existing ~/.bash_prompt.kuba
# Activate python virtualenv # Activate python virtualenv
source_existing ~/.python-venv.kuba/bin/activate source_existing ~/.python-venv.kuba/bin/activate
# Source lmod module setup if command -v ipython &> /dev/null; then
source_existing /usr/share/lmod/lmod/init/profile alias p="ipython --pylab"
elif command -v python &> /dev/null; then
alias p=python
fi
complete -o default -C "python ~/.python-venv.kuba/lib/python3.9/site-packages/myqueue/complete.py" mq
complete -o bashdefault -C snakemake-bash-completion snakemake
if [ -z "$DONT_LOAD_LMOD" ]; then
if [ -e /usr/share/lmod/lmod/init/profile ]; then
# Source lmod module setup
. /usr/share/lmod/lmod/init/profile
case $(hostname) in
vera* )
module use "$HOME/.modules.kuba/" module use "$HOME/.modules.kuba/"
module load iccifort/2019.5.281 module use "$HOME/git/auto-venv-setup/lmod-modules/"
module load impi/2018.5.288 module load tools
module load imkl/2019.5.281 else
module load Python/3.7.4 # lmod does not exist
module load clusterappl source $HOME/.modules.kuba/.tools.sh
module load slurm-aliases fi
;; fi
tetralith* )
module use "$HOME/.modules.kuba/"
module load Python/3.6.3-anaconda-5.0.1-nsc1
module load clusterappl
;;
* )
if [ -e /usr/share/lmod/lmod/init/profile ]; then
module use "$HOME/.modules.kuba/"
module use "$HOME/git/auto-venv-setup/lmod-modules/"
fi
esac

View File

@@ -1,12 +0,0 @@
[$Version]
update_info=okular.upd:annotation-toolbar,okular.upd:builtin-annotations
[Identity]
IdentityAuthor=Jakub Fojt
[Main View]
SplitterSizes=145,719
[Reviews]
BuiltinAnnotationTools=<tool name="Yellow Highlighter" type="highlight" id="1"><engine type="TextSelector" color="#fff9f06b"><annotation type="Highlight" opacity="0.5" color="#fff9f06b"/></engine><shortcut>2</shortcut></tool>,<tool type="underline" id="2"><engine type="TextSelector" color="#ff0000"><annotation type="Underline" color="#ffff0000"/></engine></tool>,<tool type="squiggly" id="3"><engine type="TextSelector" color="#ff0000"><annotation type="Squiggly" color="#ffff0000"/></engine></tool>,<tool type="strikeout" id="4"><engine type="TextSelector" color="#ff0000"><annotation type="StrikeOut" color="#ffff0000"/></engine></tool>,<tool name="Totalpoäng" type="typewriter" id="5"><engine type="PickPoint" block="true"><annotation textColor="#1a5fb4" type="Typewriter" color="#00ffffff" width="0" font="Cantarell\\,26\\,-1\\,5\\,50\\,0\\,0\\,0\\,0\\,0"/></engine></tool>,<tool type="note-inline" id="6"><engine hoverIcon="tool-note-inline" type="PickPoint" block="true" color="#ffff00"><annotation textColor="#ff000000" type="FreeText" color="#ffffff00"/></engine></tool>,<tool name="Yellow popup note" type="note-linked" id="7"><engine hoverIcon="tool-note" type="PickPoint" color="#fff9f06b"><annotation icon="Comment" type="Text" color="#fff9f06b"/></engine><shortcut>8</shortcut></tool>,<tool type="ink" id="8"><engine type="SmoothLine" color="#00ff00"><annotation type="Ink" color="#ff00ff00" width="2"/></engine></tool>,<tool name="Arrow" type="straight-line" id="9"><engine type="PolyLine" color="#000000" points="2"><annotation type="Line" endStyle="3" color="#ff000000" width="2"/></engine></tool>,<tool type="straight-line" id="10"><engine type="PolyLine" color="#000000" points="2"><annotation type="Line" color="#ff000000" width="2"/></engine></tool>,<tool name="Yellow transparent fill" type="rectangle" id="11"><engine type="PickPoint" block="true" color="#fff9f06b"><annotation type="GeomSquare" opacity="0.5" color="#fff9f06b" innerColor="#f9f06b" width="5"/></engine><shortcut>5</shortcut></tool>,<tool name="Green transparent fill" type="ellipse" id="12"><engine type="PickPoint" block="true" color="#ff33d17a"><annotation type="GeomCircle" opacity="0.5" color="#ff33d17a" innerColor="#33d17a" width="5"/></engine><shortcut>6</shortcut></tool>,<tool type="polygon" id="13"><engine type="PolyLine" color="#007eee" points="-1"><annotation type="Line" color="#ff007eee" width="2"/></engine></tool>,<tool type="stamp" id="14"><engine hoverIcon="Sold" type="PickPoint" block="true" size="64"><annotation icon="Sold" type="Stamp"/></engine></tool>
QuickAnnotationTools=<tool id="1" name="Red highlighter" type="highlight"><engine type="TextSelector" color="#fff66151"><annotation opacity="0.5" type="Highlight" color="#fff66151"/></engine><shortcut>1</shortcut></tool>,<tool id="2" name="Yellow Highlighter" type="highlight"><engine type="TextSelector" color="#fff9f06b"><annotation opacity="0.5" type="Highlight" color="#fff9f06b"/></engine><shortcut>2</shortcut></tool>,<tool id="3" name="Green Highlighter" type="highlight"><engine type="TextSelector" color="#ff8ff0a4"><annotation opacity="0.5" type="Highlight" color="#ff8ff0a4"/></engine><shortcut>3</shortcut></tool>,<tool id="4" name="Red transparent fill" type="rectangle"><engine block="true" type="PickPoint" color="#fff66151"><annotation width="5" innerColor="#f66151" opacity="0.5" type="GeomSquare" color="#fff66151"/></engine><shortcut>4</shortcut></tool>,<tool id="5" name="Yellow transparent fill" type="rectangle"><engine block="true" type="PickPoint" color="#fff9f06b"><annotation width="5" innerColor="#f9f06b" opacity="0.5" type="GeomSquare" color="#fff9f06b"/></engine><shortcut>5</shortcut></tool>,<tool id="6" name="Green transparent fill" type="rectangle"><engine block="true" type="PickPoint" color="#ff8ff0a4"><annotation width="5" innerColor="#8ff0a4" opacity="0.5" type="GeomSquare" color="#ff8ff0a4"/></engine><shortcut>6</shortcut></tool>,<tool id="7" name="Red popup note" type="note-linked"><engine hoverIcon="tool-note" type="PickPoint" color="#fff66151"><annotation icon="Comment" type="Text" color="#fff66151"/></engine><shortcut>7</shortcut></tool>,<tool id="8" name="Yellow popup note" type="note-linked"><engine hoverIcon="tool-note" type="PickPoint" color="#fff9f06b"><annotation icon="Comment" type="Text" color="#fff9f06b"/></engine><shortcut>8</shortcut></tool>,<tool id="9" name="Green pop-up note" type="note-linked"><engine hoverIcon="tool-note" type="PickPoint" color="#ff8ff0a4"><annotation icon="Comment" type="Text" color="#ff8ff0a4"/></engine><shortcut>9</shortcut></tool>,<tool id="10" type="note-inline"><engine hoverIcon="tool-note-inline" block="true" type="PickPoint" color="#ffff00"><annotation textColor="#ff000000" type="FreeText" color="#ffffff00"/></engine></tool>,<tool id="11" name="Insert Text" type="typewriter"><engine block="true" type="PickPoint"><annotation width="0" textColor="#000000" type="Typewriter" color="#00ffffff"/></engine></tool>,<tool id="12" name="Totalpoäng" type="typewriter"><engine block="true" type="PickPoint"><annotation width="0" textColor="#1a5fb4" type="Typewriter" font="Cantarell\\,26\\,-1\\,5\\,50\\,0\\,0\\,0\\,0\\,0" color="#00ffffff"/></engine></tool>,<tool id="13" type="underline"><engine type="TextSelector" color="#ff0000"><annotation type="Underline" color="#ffff0000"/></engine></tool>

433
.config/picom.conf Normal file
View File

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

View File

@@ -7,6 +7,7 @@
title_inactive_bg_color = "#4C566A" title_inactive_bg_color = "#4C566A"
always_split_with_profile = True always_split_with_profile = True
[keybindings] [keybindings]
help = ""
[profiles] [profiles]
[[default]] [[default]]
background_color = "#12204d" background_color = "#12204d"

View File

@@ -7,8 +7,11 @@
process = git-lfs filter-process process = git-lfs filter-process
required = true required = true
[credential] [credential]
helper = cache --timeout=3600 helper = libsecret
[color] [color]
ui = auto ui = auto
[pull] [pull]
ff = only ff = only
[init]
deafaultBranch = main
defaultBranch = main

2
.i3

Submodule .i3 updated: 6c27c94e91...6f3a75a596

View File

@@ -5,18 +5,18 @@
i3config="/tmp/i3_${USER}_config" i3config="/tmp/i3_${USER}_config"
rm -f $i3config rm -f $i3config
if [ -f ~/.i3/base.config ]; then if [ -f "$HOME/.i3/base.config" ]; then
cat ~/.i3/base.config >> $i3config cat "$HOME/.i3/base.config" >> $i3config
fi fi
if [ "`hostname`" = "kubaArch-Laptop" ] && [ -f ~/.i3/home.config ]; then if [ "`hostname`" = "kubaArch-Laptop" ] && [ -f "$HOME/.i3/home.config" ]; then
cat ~/.i3/home.config >> $i3config cat "$HOME/.i3/home.config" >> $i3config
elif [ "`hostname`" = "kubaDesktop" ] && [ -f ~/.i3/home.config ]; then elif [ "`hostname`" = "kubaDesktop" ] && [ -f "$HOME/.i3/home.config" ]; then
cat ~/.i3/home.config >> $i3config cat "$HOME/.i3/home.config" >> $i3config
elif [ "`hostname`" = "JakubArch" ] && [ -f ~/.i3/work.config ]; then elif [ "`hostname`" = "JakubArch" ] && [ -f "$HOME/.i3/work.config" ]; then
cat ~/.i3/work.config >> $i3config cat "$HOME/.i3/work.config" >> $i3config
fi fi
#exec i3 -c $i3config -V >> ~/${WM}.log 2>&1 #exec i3 -c $i3config -V >> ~/${WM}.log 2>&1
sh ~/.i3/scripts/displays.sh auto sh "$HOME/.i3/scripts/displays.sh" auto
exec i3 -c $i3config exec i3 -c $i3config

View File

@@ -0,0 +1,33 @@
qnode() {
[ $# -lt 1 ] && echo "Usage qnode JOBID" && return 0
squeue --noheader --jobs $1 -o %R
}
qssh() {
[ $# -lt 1 ] && echo "Usage qssh JOBID" && return 0
ssh $(qnode $1)
}
taillog() { [ $# -lt 1 ] && echo "Usage taillog LOGFILE [JOBIDs ..]" && return 0
if [ $# -lt 2 ] ; then
tail "$1"
else
tail "$1" "$1.$2"{.e,.o}
fi
}
catlog() { [ $# -lt 1 ] && echo "Usage catlog LOGFILE [JOBIDs ..]" && return 0
if [ $# -lt 2 ] ; then
cat "$1" | less
else
cat "$1" "$1.$2"{.e,.o} | less
fi
}
watchlog() { [ $# -lt 2 ] && echo "Usage watchlog INTERVAL LOGFILE [JOBIDs ..]" && return 0;
if [ $# -lt 3 ] ; then
watch -n $1 tail "$2"
else
watch -n $1 tail "$2" "$2.$3"{.e,.o}
fi
}

131
.modules.kuba/.tools.sh Normal file
View File

@@ -0,0 +1,131 @@
# Inspect .npz files
npz_py_str="$(cat << EOM
from sys import argv
import numpy as np
try:
import matplotlib.pyplot as plt
print('Imported matplotlib.pyplot as plt')
except ImportError:
pass
class Wrap:
def __init__(self, fname):
n = np.load(fname, allow_pickle=True)
globs = globals()
if isinstance(n, np.lib.npyio.NpzFile):
files = n.files
print('Contains files', files)
for f in files:
setattr(self, f, n[f])
globs[f] = n[f]
else:
print('Loaded data of shape', n.shape)
setattr(self, 'data', n)
globs['data'] = n
argv = argv[argv.index('--')+1:]
archives = [Wrap(arg) for arg in argv]
archive = archives[-1]
print('Global namespace populated with "archive", "archives" and all files')
for i, fname in enumerate(argv):
print(f' {i:<3.0f}: {fname}')
EOM
)"
npz_preview() {
if [ $# -lt 1 ]; then
echo "Please specify file to open as argument"
return
fi
python -ic "$npz_py_str" -- "$@"
}
npz_previewi() {
if [ $# -lt 1 ]; then
echo "Please specify file to open as argument"
return
fi
ipython -i -c "$npz_py_str" -- "$@"
}
rsync_wrap() {
cmd="rsync -a -R -r --copy-links --exclude .git --exclude __pycache__ --progress"
if [ $# == 0 ]; then
echo "Usage rsync_wrap [...]
Useful for synchronizing repositories
Calls $cmd [...]"
return
fi
$cmd $@
}
rsync_wrap_huge() {
cmd="rsync -a -R -r --copy-links --size-only --exclude .git --exclude __pycache__ --progress"
if [ $# == 0 ]; then
echo "Usage rsync_wrap_huge [...]
Useful for synchronizing repositories. Does not do checksum
Calls $cmd [...]"
return
fi
$cmd $@
}
if command -v xclip &> /dev/null; then
alias selc="xclip -sel primary -i"
alias selv="xclip -sel primary -o"
alias clipc="xclip -sel clip -i"
alias clipv="xclip -sel clip -o"
fi
watch_modify() {
if [ $# -lt 2 ]; then
echo "Usage watch_modify FILE CMD ARGS...
Run CMD ARGS... when file FILE is updated
"
return
fi
file="$1"
base="$(basename "$file")"
dir="$(dirname "$file")"
inotifywait -r -m -e modify "$dir" | while read file_path file_event file_name; do
[ "$base" == "$file_name" ] && echo ${@:2} && ${@:2}
done
}
pdftoclipboard() {
if [ $# -lt 1 ]; then
echo "Usage pdftoclipboard FILE [DPI]
Convert pdf file FILE to png and copy to clipboard. Default DPI is 600
"
return
fi
file="$1"
dpi="${2:-600}"
pdftoppm -png -r "$dpi" "$file" | xclip -sel clip -t image/png -i
}
gitgrepsed() {
if [ $# -lt 2 ]; then
echo "Usage gitgrepsed SEARCH REPLACE
Search and replace in git repository.
Alias for git grep -l \$SEARCH | xargs sed -i "s/\$SEARCH/\$REPLACE/g"
"
return
fi
search="$1"
replace="$2"
git grep -l "$search" | xargs sed -i "s/$search/$replace/g"
}

View File

@@ -1,27 +0,0 @@
whatis("Ase")
conflict("ASE")
function ld (m)
if not ( isloaded(m) ) then
load(m)
end
end
ld("iccifort/2019.5.281")
ld("impi/2018.5.288")
ld("imkl/2019.5.281")
ld("Python/3.7.4")
ld("Tkinter/3.7.4")
ld("matplotlib/3.1.1-Python-3.7.4")
ld("clusterappl") -- Sets up MYNOBACKUP
local nobackup = os.getenv("MYNOBACKUP")
local root = pathJoin(nobackup, "git/ase/dev")
prepend_path("PYTHONPATH", root)
prepend_path("PATH", pathJoin(root, "tools"))
prepend_path("PATH", pathJoin(root, "bin"))
execute {cmd='complete -o default -C "/usr/bin/python3 ' .. root .. '/ase/cli/complete.py" ase', modeA={"load"}}

View File

@@ -1,25 +0,0 @@
whatis([==[
Creates $USERAPPL environment variable and adds paths
]==])
local pyver = subprocess([[python --version 2>&1 | sed 's/.*\([23]\.[0-9]\).*/\1/']])
if pyver:sub(1, 1) == "2" then
LmodError("Must have Python 3 loaded")
end
local home = os.getenv("HOME")
local nobackup = pathJoin(home, "nobackup")
local userappl = pathJoin(nobackup, "appl")
local git = pathJoin(nobackup, "git")
local pythonp = pathJoin(userappl, "lib", "python" .. pyver, "site-packages")
local binp = pathJoin(userappl, "bin")
local libp = pathJoin(userappl, "lib")
setenv("MYNOBACKUP", nobackup)
setenv("USERAPPL", userappl)
prepend_path("PYTHONPATH", pythonp)
prepend_path("PYTHONPATH", ".")
prepend_path("PATH", binp)
prepend_path("LD_LIBRARY_PATH", libp)
execute {cmd='`snakemake --bash-completion`', modeA={"load"}}

View File

@@ -1,7 +0,0 @@
local name = myModuleName()
local version = myModuleVersion()
local home = os.getenv("HOME")
local setups_root = pathJoin(home, "gpaw-setups", version)
prepend_path("GPAW_SETUP_PATH", pathJoin(setups_root, "gpaw-setups-" .. version))
prepend_path("GPAW_SETUP_PATH", pathJoin(setups_root, "gpaw-basis-pvalence-" .. version))

View File

@@ -1,26 +0,0 @@
whatis([==[My compiled version of GPAW]==])
unload("GPAW")
function ld (m)
if not ( isloaded(m) ) then
load(m)
end
end
ld("clusterappl")
local nobackup = os.getenv("MYNOBACKUP")
local root = pathJoin(nobackup, "git/gpaw/20.1.0")
ld("Python/3.6.7-env-nsc1-gcc-2018a-eb")
-- ld("Python/3.6.3-anaconda-5.0.1-nsc1")
ld("ASE/3.18.0-nsc1")
ld("gpaw-setups/0.9.20000")
setenv("OMP_NUM_THREADS", 1)
prepend_path("PATH", pathJoin(root, "tools"))
prepend_path("PYTHONPATH", root)
prepend_path("PYTHONPATH", pathJoin(root, "build/lib.linux-x86_64-3.7"))
execute {cmd='complete -o default -C "/usr/bin/python3 ' .. root .. '/gpaw/cli/complete.py" gpaw', modeA={"load"}}

View File

@@ -1 +0,0 @@
dev.lua

View File

@@ -1,23 +0,0 @@
whatis([==[My compiled version of GPAW]==])
unload("GPAW")
function ld (m)
if not ( isloaded(m) ) then
load(m)
end
end
ld("ase/dev")
ld("libxc/4.3.4")
ld("gpaw-setups/0.9.20000")
local _, version = splitFileName(myModuleVersion())
local nobackup = os.getenv("MYNOBACKUP")
local root = pathJoin(nobackup, "git/gpaw", version)
setenv("OMP_NUM_THREADS", 1)
prepend_path("PATH", pathJoin(root, "tools"))
prepend_path("PYTHONPATH", root)
prepend_path("PYTHONPATH", pathJoin(root, "build/lib.linux-x86_64-3.7"))
execute {cmd='complete -o default -C "/usr/bin/python3 ' .. root .. '/gpaw/cli/complete.py" gpaw', modeA={"load"}}

View File

@@ -1 +0,0 @@
dev.lua

3
.modules.kuba/node.lua Normal file
View File

@@ -0,0 +1,3 @@
local home = os.getenv("HOME")
local pkg = pathJoin(home, "node-v21.1.0-linux-x64")
prepend_path("PATH", pathJoin(pkg, "bin"))

View File

@@ -3,6 +3,16 @@ Defines useful SLURM aliases
]==]) ]==])
set_alias("si", 'sinfo -e -o "%9P %4a %8s %.10l %11A %6z %.7m %40N"') set_alias("si", 'sinfo -e -o "%9P %4a %8s %.10l %11A %6z %.7m %40N"')
set_alias("q", 'squeue -u $USER -o "%7A %56j %2t %16S %.10M %.10L %.2D %4N"') set_alias("q", 'squeue -u $USER -o "%8A %56j %2t %16S %.10M %.10L %.2D %4N"')
set_alias("ql", 'squeue -u $USER -o "%8A %7K %56j %2t %3r %16S %.10M %.10L %.4D %8N %4f"') set_alias("ql", 'squeue -u $USER -o "%8A %7K %56j %2t %3r %16S %.10M %.10L %.4D %8N %4f"')
set_alias("qll", 'squeue -u $USER -o "%8A %7K %150j %2t %3r %16S %.10M %.10L %.4D %8N %4f"')
set_alias("qa", 'squeue -o "%8A %10u %.6Q %24j %2t %3r %16S %.10M %.10L %.4D %16N" -S t,-p | less') set_alias("qa", 'squeue -o "%8A %10u %.6Q %24j %2t %3r %16S %.10M %.10L %.4D %16N" -S t,-p | less')
set_alias("qq", 'squeue -u $USER -o "%8A %7K %76j %9F %2t %.10L"')
set_alias("qid", 'squeue -h -u $USER -o "%A"')
set_alias("scancelall", 'squeue -h -u $USER -o "%A" | xargs scancel')
local path = splitFileName(myFileName());
local loadscript = pathJoin(path, '.' .. myModuleName() .. '.sh');
execute{cmd='source ' .. loadscript, modeA={"load"}}
execute{cmd='unset -f qnode qssh watchlog catlog taillog;', modeA={"unload"}}

12
.modules.kuba/tools.lua Normal file
View File

@@ -0,0 +1,12 @@
whatis([==[
Loads useful tools
]==])
local path = splitFileName(myFileName());
local loadscript = pathJoin(path, '.' .. myModuleName() .. '.sh');
execute{cmd='source ' .. loadscript, modeA={"load"}}
execute{cmd='unset -f npz_preview npz_previewi ' ..
'rsync_wrap rsync_wrap_huge selc selv cliipc clipv watch_modify pdftoclipboard gitgrepsed' ..
'rsync_wrap rsync_wrap_huge selc selv cliipc clipv watch_modify' ..
';', modeA={"unload"}}

View File

@@ -15,15 +15,15 @@ Host aino
User jakub User jakub
Port 22209 Port 22209
Host tahoe Host puffinus
HostName tahoe.fy.chalmers.se HostName puffinus.fy.chalmers.se
User jakub User jakub
Port 22209 Port 22209
Host geym Host sharknado
HostName geym.fy.chalmers.se HostName 130.239.81.182
User jakub User ubuntu
Port 22209 IdentityFile ~/.ssh/jupyterhub_rsa
Host pi4 Host pi4
HostName 192.168.0.200 HostName 192.168.0.200
@@ -48,11 +48,7 @@ Host vera2
User fojt User fojt
Host tetralith Host tetralith
Hostname tetralith1.nsc.liu.se Hostname tetralith.nsc.liu.se
User x_jakfo
Host tetralith2
Hostname tetralith2.nsc.liu.se
User x_jakfo User x_jakfo
Host remote11 Host remote11
@@ -63,29 +59,10 @@ Host remote11
ControlPersist yes ControlPersist yes
ControlPath ~/.ssh/socket-%r@%h:%p ControlPath ~/.ssh/socket-%r@%h:%p
Host beskow Host dardel
Hostname beskow.pdc.kth.se Hostname dardel.pdc.kth.se
User fojt User fojt
GSSAPIAuthentication yes IdentityFile ~/.ssh/id-ed25519-pdc
GSSAPIKeyExchange yes
GSSAPIDelegateCredentials yes
PreferredAuthentications gssapi-keyex,gssapi-with-mic
Host pdctransfer
Hostname t04n27.pdc.kth.se
User fojt
GSSAPIAuthentication yes
GSSAPIKeyExchange yes
GSSAPIDelegateCredentials yes
PreferredAuthentications gssapi-keyex,gssapi-with-mic
Host tegner
Hostname tegner.pdc.kth.se
User fojt
GSSAPIAuthentication yes
GSSAPIKeyExchange yes
GSSAPIDelegateCredentials yes
PreferredAuthentications gssapi-keyex,gssapi-with-mic
Host * Host *
ForwardAgent no ForwardAgent no

11
.ssh/rc
View File

@@ -3,3 +3,14 @@
if [ ! -S ~/.ssh/ssh_auth_sock ] && [ -S "$SSH_AUTH_SOCK" ]; then if [ ! -S ~/.ssh/ssh_auth_sock ] && [ -S "$SSH_AUTH_SOCK" ]; then
ln -sf $SSH_AUTH_SOCK ~/.ssh/ssh_auth_sock ln -sf $SSH_AUTH_SOCK ~/.ssh/ssh_auth_sock
fi fi
# Taken from the sshd(8) manpage.
if read proto cookie && [ -n "$DISPLAY" ]; then
if [ `echo $DISPLAY | cut -c1-10` = 'localhost:' ]; then
# X11UseLocalhost=yes
echo add unix:`echo $DISPLAY | cut -c11-` $proto $cookie
else
# X11UseLocalhost=no
echo add $DISPLAY $proto $cookie
fi | xauth -q -
fi

View File

@@ -1,16 +1,24 @@
# Prefix
unbind C-b unbind C-b
set-option -g prefix C-a set-option -g prefix C-a
bind-key C-a send-prefix bind-key C-a send-prefix
set -g mouse on
# Mouse and colors
set -g mouse on
set -g default-terminal "screen-256color" set -g default-terminal "screen-256color"
# pane movement # pane movement
bind-key j command-prompt -p "join pane from:" "join-pane -s '%%'" bind-key j command-prompt -p "join pane from:" "join-pane -s '%%'"
bind-key s command-prompt -p "send pane to:" "join-pane -t '%%'" bind-key s command-prompt -p "send pane to:" "join-pane -t '%%'"
# ssh socket, important to create symlink in ~/.ssh/rc # Update the session environment upon attaching
set-environment -g 'SSH_AUTH_SOCK' ~/.ssh/ssh_auth_sock set-option -g update-environment 'SSH_AUTH_SOCK SSH_CONNECTION DISPLAY'
set-hook -g client-attached 'run-shell /bin/update_display.sh'
# Rename the session to the path
set-option -g status-interval 5
set-option -g automatic-rename on
set-option -g automatic-rename-format '#{pane_current_path}'
# Shorten delay for relaying Esc (to e.g. vim). Too short and PgUp will not work # Shorten delay for relaying Esc (to e.g. vim). Too short and PgUp will not work
set -sg escape-time 20 set -sg escape-time 20

109
.vimrc
View File

@@ -2,44 +2,50 @@ let mapleader = ","
set nocompatible " be iMproved, required set nocompatible " be iMproved, required
filetype off " required filetype off " required
let vundle_dir="~/.vim/bundle/Vundle.vim" let plug_fpath="~/.vim/autoload/plug.vim"
if filereadable(expand(vundle_dir) . "/README.md") if filereadable(expand(plug_fpath))
" set the runtime path to include Vundle and initialize call plug#begin()
let &rtp .= "," . vundle_dir
call vundle#begin()
Plugin 'VundleVim/Vundle.vim' " let Vundle manage Vundle, required Plug 'scrooloose/nerdtree'
Plug 'vim-scripts/c.vim'
Plugin 'scrooloose/nerdtree' Plug 'jeetsukumaran/vim-buffergator'
Plugin 'c.vim' Plug 'ericcurtin/CurtineIncSw.vim'
Plugin 'jeetsukumaran/vim-buffergator' Plug 'tpope/vim-fugitive'
Plugin 'ericcurtin/CurtineIncSw.vim' Plug 'tpope/vim-surround'
Plugin 'tpope/vim-fugitive' Plug 'ctrlpvim/ctrlp.vim'
Plugin 'tpope/vim-surround' Plug 'rhysd/vim-clang-format'
Plugin 'ctrlpvim/ctrlp.vim' Plug 'godlygeek/tabular'
Plugin 'rhysd/vim-clang-format' Plug 'airblade/vim-gitgutter'
Plugin 'godlygeek/tabular' Plug 'jeetsukumaran/vim-pythonsense'
Plugin 'airblade/vim-gitgutter' Plug 'easymotion/vim-easymotion'
Plugin 'jeetsukumaran/vim-pythonsense' Plug 'cpiger/NeoDebug'
Plugin 'easymotion/vim-easymotion' Plug 'ivan-krukov/vim-snakemake'
Plugin 'cpiger/NeoDebug' Plug 'nvie/vim-flake8'
Plugin 'ivan-krukov/vim-snakemake' Plug 'ludovicchabant/vim-gutentags'
Plugin 'nvie/vim-flake8' Plug 'junegunn/vim-peekaboo'
Plugin 'ludovicchabant/vim-gutentags' if has('python3') && empty($VIM_DISABLE_YCM)
Plugin 'junegunn/vim-peekaboo' Plug 'ycm-core/YouCompleteMe', { 'do': './install.py' }
if empty($VIM_DISABLE_YCM)
Plugin 'ycm-core/YouCompleteMe'
endif endif
Plugin 'dense-analysis/ale' Plug 'dense-analysis/ale'
Plugin 'tpope/vim-unimpaired' Plug 'tpope/vim-unimpaired'
Plug 'JuliaEditorSupport/julia-vim'
Plug 'tell-k/vim-autopep8'
Plug 'tell-k/vim-autoflake'
Plug 'jpalardy/vim-slime'
Plug 'preservim/tagbar'
Plug 'wellle/context.vim'
call vundle#end() " required call plug#end()
else else
let vundle_repo="https://github.com/VundleVim/Vundle.vim.git" let plug_url="https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim"
echo "Vundle not installed, type :CloneVundle to clone the vundle repo and install it" echo "Plug not installed, type :CurlPlug to download and install plug"
command! CloneVundle execute "!git clone " . vundle_repo . " " . vundle_dir | source $MYVIMRC | echo "Cloned Vundle. Do :PluginInstall" command! CurlPlug execute "!curl -fLo " . plug_fpath . " --create-dirs " . plug_url | source $MYVIMRC | echo "Curled Plug. Do :PlugInstall"
endif endif
set tabstop=4 " show existing tab with 4 spaces width
set shiftwidth=4 " when indenting with '>', use 4 spaces width
set expandtab " On pressing tab, insert 4 spaces
if !exists("vimrc_autocmds_loaded") if !exists("vimrc_autocmds_loaded")
let vimrc_autocmds_loaded = 1 let vimrc_autocmds_loaded = 1
@@ -55,6 +61,10 @@ if !exists("vimrc_autocmds_loaded")
au BufRead,BufNewFile *.md setlocal textwidth=80 | setlocal colorcolumn=80 au BufRead,BufNewFile *.md setlocal textwidth=80 | setlocal colorcolumn=80
au BufRead,BufNewFile *.py setlocal colorcolumn=100 au BufRead,BufNewFile *.py setlocal colorcolumn=100
au FileType html setlocal shiftwidth=2 tabstop=2 au FileType html setlocal shiftwidth=2 tabstop=2
autocmd FileType javascript setlocal shiftwidth=2 tabstop=2
autocmd FileType javascriptreact setlocal shiftwidth=2 tabstop=2
autocmd FileType typescript setlocal shiftwidth=2 tabstop=2
autocmd FileType typescriptreact setlocal shiftwidth=2 tabstop=2
if exists(":NERDTree") if exists(":NERDTree")
" Open NERDTree if no file specified " Open NERDTree if no file specified
@@ -80,10 +90,6 @@ autocmd GUIEnter * set visualbell t_vb=
vnoremap > ><CR>gv vnoremap > ><CR>gv
vnoremap < <<CR>gv vnoremap < <<CR>gv
set tabstop=4 " show existing tab with 4 spaces width
set shiftwidth=4 " when indenting with '>', use 4 spaces width
set expandtab " On pressing tab, insert 4 spaces
set mouse=a set mouse=a
set hlsearch set hlsearch
set scrolloff=5 " Don't let cursor be within 5 lines from top or bottom set scrolloff=5 " Don't let cursor be within 5 lines from top or bottom
@@ -125,10 +131,21 @@ noremap Y y$
command! -bang -range=% -complete=file -nargs=* W <line1>,<line2>write<bang> <args> command! -bang -range=% -complete=file -nargs=* W <line1>,<line2>write<bang> <args>
command! -bang Q quit<bang> command! -bang Q quit<bang>
let g:ctrlp_map = '<c-p>'
let g:ctrlp_cmd = 'CtrlPMixed'
let g:ctrlp_working_path_mode = 'ra' " Look for .git .hg .svn .bzr _darcs
let g:ctrlp_custom_ignore = {
\ 'dir': '\v[\/]\.(git|hg|svn|data|logs)$',
\ 'file': '\v\.(exe|so|dll)$',
\ }
" Gutentags configuration " Gutentags configuration
if !executable('ctags') if !executable('ctags')
let g:gutentags_enabled = 0 let g:gutentags_enabled = 0
else else
nmap <F1> :CtrlPTag<CR>
nmap <F4> :TagbarToggle<CR>
let g:gutentags_add_default_project_roots = 0 let g:gutentags_add_default_project_roots = 0
let g:gutentags_project_root = ['.git'] let g:gutentags_project_root = ['.git']
@@ -206,6 +223,7 @@ let g:ale_linters = {
\ 'python': ['flake8'], \ 'python': ['flake8'],
\ 'c': ['gcc'] \ 'c': ['gcc']
\} \}
let g:ale_virtualtext_cursor = 'disable'
let g:ale_set_highlights = 1 let g:ale_set_highlights = 1
let g:ale_sign_error = '>>' let g:ale_sign_error = '>>'
let g:ale_sign_warning = '--' let g:ale_sign_warning = '--'
@@ -248,6 +266,7 @@ highlight GitGutterDelete ctermbg=NONE ctermfg=DarkRed
highlight Search ctermbg=Brown ctermfg=LightRed highlight Search ctermbg=Brown ctermfg=LightRed
highlight ColorColumn ctermbg=DarkBlue highlight ColorColumn ctermbg=DarkBlue
highlight Visual ctermbg=LightBlue highlight Visual ctermbg=LightBlue
highlight DiffChange ctermbg=black ctermfg=lightgreen
highlight ALEInfo ctermbg=DarkBlue ctermfg=White highlight ALEInfo ctermbg=DarkBlue ctermfg=White
highlight ALEWarning ctermbg=DarkBlue ctermfg=Black highlight ALEWarning ctermbg=DarkBlue ctermfg=Black
highlight ALEError ctermbg=DarkRed ctermfg=Black highlight ALEError ctermbg=DarkRed ctermfg=Black
@@ -322,6 +341,20 @@ nmap <F2> :NERDTreeToggle<CR>
nmap <F3> :NERDTreeFind<CR> nmap <F3> :NERDTreeFind<CR>
map <F5> :call CurtineIncSw()<CR> map <F5> :call CurtineIncSw()<CR>
let g:context_enabled = 0
map <F6> :ContextToggle<CR>
map cp :ContextPeek<CR>
" Julialang
let g:latex_to_unicode_auto = 1
noremap <expr> <F7> LaTeXtoUnicode#Toggle()
noremap! <expr> <F7> LaTeXtoUnicode#Toggle()
autocmd FileType python noremap <buffer> :call Autoflake()<CR> :call Autopep8()<CR>
let g:slime_target = "tmux"
let g:slime_default_config = {"socket_name": "default", "target_pane": "{last}"}
nmap <Leader>cf :cd %:p:h <CR> " Change dir to parent of current file nmap <Leader>cf :cd %:p:h <CR> " Change dir to parent of current file
nmap <Leader>cg :cd $git_root_location <CR> " Change dir to git root nmap <Leader>cg :cd $git_root_location <CR> " Change dir to git root
nmap <Leader>vs :sp $HOME/.vimrc <CR> nmap <Leader>vs :sp $HOME/.vimrc <CR>
@@ -364,3 +397,7 @@ nmap <Leader>p :set paste! <CR>
map <Leader>n :noh<CR> map <Leader>n :noh<CR>
vmap <Leader>T :'<,'> Tabularize / vmap <Leader>T :'<,'> Tabularize /
nnoremap <leader>c :execute "set colorcolumn=" . (&colorcolumn == "" ? "120" : "")<CR> nnoremap <leader>c :execute "set colorcolumn=" . (&colorcolumn == "" ? "120" : "")<CR>
" Insert "Embed IPython" command
:command InsIPython :normal oimport IPython<CR>IPython.embed()<ESC><up>^
nmap <Leader>i :InsIPython <CR>

View File

@@ -1,33 +0,0 @@
#!/bin/sh
#
# ~/.xinitrc
#
# Executed by startx (run your window manager from here)
WM=i3
if (( $# == 1 ))
then
WM=$1
fi
if [ -d /etc/X11/xinit/xinitrc.d ]; then
for f in /etc/X11/xinit/xinitrc.d/*; do
[ -x "$f" ] && . "$f"
done
unset f
fi
export EDITOR="vim"
export CUPS_GSSSERVICENAME=HTTP
[[ -f ~/.Xresources ]] && xrdb -merge ~/.Xresources
rm -f "~/${WM}.log.old"
mv -f "~/${WM}.log" "~/${WM}.log.old"
rm -f "~/${WM}.log"
rm -f "~/${WM}.log"
if [ "$WM" = "i3" ]; then
. ~/.i3initrc
else
exec $WM >> "~/${WM}.log" 2>&1
fi

View File

@@ -1,3 +0,0 @@
if [ "$1" = "i3" ]; then
. ~/.i3initrc
fi

View File

@@ -1,11 +0,0 @@
#!/bin/bash
# To generate list of large packages
# pacman -Qi | grep 'Name\|Size\|Description' | cut -d: -f2 | paste - - - | awk -F'\t' 'BEGIN{ s["MiB"]=1024; s["KiB"]=1;} {split($3, a, " "); print a[1] * s[a[2]], "KiB", $1}' | sort -n
LARGE_PKGS='linux jdk10-openjdk jre8-openjdk-headless jre10-openjdk-headless gimp gcc-list webkit2gtk gcc python chromium dropbox spotify mono bazel valgrind texlive-core linux-firmware'
echo -n "==> Looking for old packages to prune"
paccache -rk1
echo -n "==> Looking for old large packages to prune"
paccache -rk0 $LARGE_PKGS