commit 2fd8d2d7d668d648c21f35a1e7d9d49c758caa52 Author: ackman678 Date: Wed Feb 6 17:12:59 2019 -0800 init minimal diff --git a/.Xresources b/.Xresources new file mode 100644 index 0000000..7292507 --- /dev/null +++ b/.Xresources @@ -0,0 +1,26 @@ +!HiDPI displays +! Xft.dpi: 144 +! Xft.autohint: 0 +! Xft.lcdfilter: lcddefault +! Xft.hintstyle: hintfull +! Xft.hinting: 1 +! Xft.antialias: 1 +! Xft.rgba: rgb + +URxvt.scrollBar: false +URxvt.saveLines: 5000 + +!DejaVu +!URxvt.font: xft:DejaVu Sans Mono:size=11:antialias=true +!URxvt.boldfont: xft:DejaVu Sans Mono:bold:size=11:antialias=true + +!Bitstream +!URxvt.font: xft:bitstream vera sans mono:size=11:antialias=true +!URxvt.boldFont: xft:bitstream vera sans mono:bold:size=11:antialias=true +!URxvt.letterSpace: -1 + +!Inconsolata +URxvt.font: xft:Inconsolata:style=Regular:size=11 +URxvt.boldFont: xft:Inconsolata:style=Bold:size=11 +URxvt.letterSpace: -1 + diff --git a/.bash_profile b/.bash_profile new file mode 100644 index 0000000..5a0c486 --- /dev/null +++ b/.bash_profile @@ -0,0 +1,10 @@ +# +# ~/.bash_profile +# + +[[ -f ~/.bashrc ]] && . ~/.bashrc + +if [ -z "$DISPLAY" -a $XDG_VTNR -eq 1 ]; then + #date --iso-8601="seconds" + exec startx -- -keeptty >> ~/.xorg.log 2>&1 +fi diff --git a/.bashrc b/.bashrc new file mode 100644 index 0000000..9d0511d --- /dev/null +++ b/.bashrc @@ -0,0 +1,56 @@ +# +# ~/.bashrc +# + +# If not running interactively, don't do anything +[[ $- != *i* ]] && return + +#customize prompt see https://wiki.archlinux.org/index.php/Bash/Prompt_customization +RED="\[$(tput setaf 1)\]" +YELLOW="\[$(tput setaf 3)\]" +LIGHTBLUE="\[$(tput setaf 4)\]" +BLUE="\[$(tput setaf 27)\]" +RESET="\[$(tput sgr0)\]" +#PS1="${BLUE}\u@\h \W>${RESET} " +PS1="${BLUE}\W>${RESET} " + +alias ls='ls --color=auto' +alias l='ls' +alias la='ls -A' +alias ll='ls -lah' +alias tree='tree -CL 2' +#alias vim='nvim' +alias nv='nvim' +export EDITOR=nvim + +#alias xclip="xclip -selection clipboard" +#alias ts="date --iso-8601='seconds' | tr -d '\n' | xclip" + +# Base16 Shell +BASE16_SHELL="$HOME/.config/base16-shell/" +[ -n "$PS1" ] && \ + [ -s "$BASE16_SHELL/profile_helper.sh" ] && \ + eval "$("$BASE16_SHELL/profile_helper.sh")" + +#add private usr bin to path if exists +if [ -d "$HOME/bin" ] ; then + PATH="$HOME/bin:$PATH" +fi + +#fast fuzzy file searching with fzf and ripgrep if installed +#fzf kbd shortcuts: , , +source /usr/share/fzf/key-bindings.bash +source /usr/share/fzf/completion.bash +#export FZF_DEFAULT_COMMAND='rg --files --no-ignore --hidden --follow --glob "!.git/*"' +export FZF_DEFAULT_COMMAND='rg -i --files --glob "!.git/*"' +bind -x '"\C-p": nvim $(fzf);' + +if [ -d "$HOME/bin/Fiji.app" ]; then + alias fiji="~/bin/Fiji.app/ImageJ-linux64" +fi + +#source custom user aliases +if [[ -e $HOME/.myconfig ]]; then + source $HOME/.myconfig +fi + diff --git a/.config/gtk-3.0/settings.ini b/.config/gtk-3.0/settings.ini new file mode 100644 index 0000000..a5d49aa --- /dev/null +++ b/.config/gtk-3.0/settings.ini @@ -0,0 +1,18 @@ +[Settings] +gtk-theme-name=Arc-Dark-solid +gtk-icon-theme-name=Arc +gtk-font-name=Noto Sans 11 +gtk-cursor-theme-name=Adwaita +gtk-cursor-theme-size=0 +gtk-toolbar-style=GTK_TOOLBAR_BOTH +gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR +gtk-button-images=1 +gtk-menu-images=1 +gtk-enable-event-sounds=1 +gtk-enable-input-feedback-sounds=1 +gtk-xft-antialias=1 +gtk-xft-hinting=1 +gtk-xft-hintstyle=hintfull +gtk-xft-rgba=rgb +gtk-decoration-layout=menu:close +gtk-application-prefer-dark-theme=1 diff --git a/.config/i3/config b/.config/i3/config new file mode 100644 index 0000000..0cb9217 --- /dev/null +++ b/.config/i3/config @@ -0,0 +1,273 @@ +# This file has been auto-generated by i3-config-wizard(1). +# It will not be overwritten, so edit it as you like. +# +# Should you change your keyboard layout some time, delete +# this file and re-run i3-config-wizard(1). +# + +# i3 config file (v4) +# +# Please see https://i3wm.org/docs/userguide.html for a complete reference! + +set $mod Mod4 + +#jba +#bindsym --release $mod+z exec scrot -s +bindsym --release $mod+z exec scrot -u '%Y-%m-%d_$wx$h.png' -e '~/bin/mv2figs.sh $f' +bindsym $mod+Shift+z exec "date --iso-8601='seconds' | tr -d '\n' | xclip -selection clipboard" + +#audio output kbd control- pulse audio +bindsym XF86AudioRaiseVolume exec pactl set-sink-volume 0 +5% +bindsym XF86AudioLowerVolume exec pactl set-sink-volume 0 -5% +bindsym XF86AudioMute exec pactl set-sink-mute 0 toggle +#audio output kbd control- alsa utils +#bindsym XF86AudioRaiseVolume exec amixer -q set Master 2dB+ unmute +#bindsym XF86AudioRaiseVolume exec amixer -q set Master 2dB+ unmute +#bindsym XF86AudioMute exec amixer -q set Master toggle +#display brigthnesss +#bindsym XF86MonBrightnessDown exec brightnessctl set 5%- +#bindsym XF86MonBrightnessUp exec brightnessctl set +5% + +# Font for window titles. Will also be used by the bar unless a different font +# is used in the bar {} block below. +font pango:monospace 8 + +# 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 doesn’t scale on retina/hidpi displays. + +# Use Mouse+$mod to drag floating windows to their wanted position +floating_modifier $mod + +# start a terminal +bindsym $mod+Return exec i3-sensible-terminal + +# kill focused window +bindsym $mod+Shift+q kill + +# start dmenu (a program launcher) +bindsym $mod+d exec dmenu_run +# There also is the (new) i3-dmenu-desktop which only displays applications +# shipping a .desktop file. It is a wrapper around dmenu, so you need that +# installed. +# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop + +## change focus +#bindsym $mod+j focus left +#bindsym $mod+k focus down +#bindsym $mod+l focus up +#bindsym $mod+semicolon focus right +bindsym $mod+h focus left +bindsym $mod+j focus down +bindsym $mod+k focus up +bindsym $mod+l focus right + +# alternatively, you can use the cursor keys: +bindsym $mod+Left focus left +bindsym $mod+Down focus down +bindsym $mod+Up focus up +bindsym $mod+Right focus right + +## move focused window +#bindsym $mod+Shift+j move left +#bindsym $mod+Shift+k move down +#bindsym $mod+Shift+l move up +#bindsym $mod+Shift+semicolon move right +bindsym $mod+Shift+h move left +bindsym $mod+Shift+j move down +bindsym $mod+Shift+k move up +bindsym $mod+Shift+l move right + +# alternatively, you can use the cursor keys: +bindsym $mod+Shift+Left move left +bindsym $mod+Shift+Down move down +bindsym $mod+Shift+Up move up +bindsym $mod+Shift+Right move right + +# split in horizontal orientation +#bindsym $mod+h split h +bindsym $mod+Shift+v split h + +# split in vertical orientation +bindsym $mod+v split v + +# enter fullscreen mode for the focused container +bindsym $mod+f fullscreen toggle + +# change container layout (stacked, tabbed, toggle split) +bindsym $mod+s layout stacking +bindsym $mod+w layout tabbed +bindsym $mod+e layout toggle split + +# toggle tiling / floating +bindsym $mod+Shift+space floating toggle + +# change focus between tiling / floating windows +bindsym $mod+space focus mode_toggle + +# focus the parent container +bindsym $mod+a focus parent + +# focus the child container +#bindsym $mod+d focus child + +# Define names for default workspaces for which we configure key bindings later on. +# We use variables to avoid repeating the names in multiple places. +set $ws1 "1" +set $ws2 "2" +set $ws3 "3" +set $ws4 "4" +set $ws5 "5" +set $ws6 "6" +set $ws7 "7" +set $ws8 "8" +set $ws9 "9" +set $ws10 "10" + +# switch to workspace +bindsym $mod+1 workspace $ws1 +bindsym $mod+2 workspace $ws2 +bindsym $mod+3 workspace $ws3 +bindsym $mod+4 workspace $ws4 +bindsym $mod+5 workspace $ws5 +bindsym $mod+6 workspace $ws6 +bindsym $mod+7 workspace $ws7 +bindsym $mod+8 workspace $ws8 +bindsym $mod+9 workspace $ws9 +bindsym $mod+0 workspace $ws10 + +# move focused container to workspace +bindsym $mod+Shift+1 move container to workspace $ws1 +bindsym $mod+Shift+2 move container to workspace $ws2 +bindsym $mod+Shift+3 move container to workspace $ws3 +bindsym $mod+Shift+4 move container to workspace $ws4 +bindsym $mod+Shift+5 move container to workspace $ws5 +bindsym $mod+Shift+6 move container to workspace $ws6 +bindsym $mod+Shift+7 move container to workspace $ws7 +bindsym $mod+Shift+8 move container to workspace $ws8 +bindsym $mod+Shift+9 move container to workspace $ws9 +bindsym $mod+Shift+0 move container to workspace $ws10 + +# reload the configuration file +bindsym $mod+Shift+c reload +# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) +bindsym $mod+Shift+r restart +# exit i3 (logs you out of your X session) +bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'" + +# resize window (you can also use the mouse for that) +mode "resize" { + # These bindings trigger as soon as you enter the resize mode + + # Pressing left will shrink the window’s width. + # Pressing right will grow the window’s width. + # Pressing up will shrink the window’s height. + # Pressing down will grow the window’s height. + bindsym j resize shrink width 10 px or 10 ppt + bindsym k resize grow height 10 px or 10 ppt + bindsym l resize shrink height 10 px or 10 ppt + bindsym semicolon resize grow width 10 px or 10 ppt + + # same bindings, but for the arrow keys + bindsym Left resize shrink width 10 px or 10 ppt + bindsym Down resize grow height 10 px or 10 ppt + bindsym Up resize shrink height 10 px or 10 ppt + bindsym Right resize grow width 10 px or 10 ppt + + # back to normal: Enter or Escape or $mod+r + bindsym Return mode "default" + bindsym Escape mode "default" + bindsym $mod+r mode "default" +} + +bindsym $mod+r mode "resize" + +# Start i3bar to display a workspace bar (plus the system information i3status +# finds out, if available) +#bar { +# status_command i3status +#} + +#bindsym $mod+F1 exec firefox + +########################################################################33 +## Base16 Default Dark +# Author: Chris Kempson (http://chriskempson.com) +# +# You can use these variables anywhere in the i3 configuration file. + +set $base00 #181818 +set $base01 #282828 +set $base02 #383838 +set $base03 #585858 +set $base04 #b8b8b8 +set $base05 #d8d8d8 +set $base06 #e8e8e8 +set $base07 #f8f8f8 +set $base08 #ab4642 +set $base09 #dc9656 +set $base0A #f7ca88 +set $base0B #a1b56c +set $base0C #86c1b9 +set $base0D #7cafc2 +set $base0E #ba8baf +set $base0F #a16946 + +# Basic bar configuration using the Base16 variables. +bar { + status_command i3status + position top + + mode dock + hidden_state hide + modifier Mod1 + + colors { + background $base00 + separator $base01 + statusline $base04 + + # State Border BG Text + focused_workspace $base05 $base0D $base00 + active_workspace $base05 $base03 $base00 + inactive_workspace $base03 $base01 $base05 + urgent_workspace $base08 $base08 $base00 + binding_mode $base00 $base0A $base00 + } + +# colors { +# background #000000 +# statusline #ffffff +# separator #666666 +# +# focused_workspace #4c7899 #285577 #ffffff +# active_workspace #333333 #5f676a #ffffff +# inactive_workspace #333333 #222222 #888888 +# urgent_workspace #2f343a #900000 #ffffff +# binding_mode #2f343a #900000 #ffffff +# } + +} + +# Toggle between dock mode and hide mode for i3 bar +bindsym $mod+Shift+b bar mode toggle + +# Basic color configuration using the Base16 variables for windows and borders. +# Property Name Border BG Text Indicator Child Border +#client.focused $base05 $base0D $base00 $base0D $base0D +#client.focused_inactive $base01 $base01 $base05 $base03 $base01 +#client.unfocused $base01 $base00 $base05 $base01 $base01 +#client.urgent $base08 $base08 $base00 $base08 $base08 +#client.placeholder $base00 $base00 $base05 $base00 $base00 +#client.background $base07 + +#Can use the following with custom workspace save files to reload layouts +#exec --no-startup-id "i3-msg 'workspace 1; append_layout ~/.config/i3/workspace-1.json'" + diff --git a/.config/i3/workspace-1.json b/.config/i3/workspace-1.json new file mode 100644 index 0000000..c18d5a2 --- /dev/null +++ b/.config/i3/workspace-1.json @@ -0,0 +1,122 @@ +// vim:ts=4:sw=4:et +{ + // splith split container with 2 children + "border": "normal", + "floating": "auto_off", + "layout": "splith", + "percent": null, + "type": "con", + "nodes": [ + { + // splitv split container with 2 children + "border": "normal", + "floating": "auto_off", + "layout": "splitv", + "percent": 0.5, + "type": "con", + "nodes": [ + { + // stacked split container with 1 children + "border": "normal", + "floating": "auto_off", + "layout": "stacked", + "percent": 0.5, + "type": "con", + "nodes": [ + { + "border": "normal", + "current_border_width": 2, + "floating": "auto_off", + "geometry": { + "height": 388, + "width": 564, + "x": 0, + "y": 0 + }, + "name": "Welcome to i3wm. Press cmd-return or cmd-d to begin", + "percent": 1, + "swallows": [ + { + "class": "^URxvt$", + "instance": "^urxvt$" + } + ], + "type": "con" + } + ] + }, + { + "border": "normal", + "current_border_width": 2, + "floating": "auto_off", + "geometry": { + "height": 388, + "width": 564, + "x": 0, + "y": 0 + }, + "name": " ", + "percent": 0.5, + "swallows": [ + { + "class": "^URxvt$", + "instance": "^urxvt$" + } + ], + "type": "con" + } + ] + }, + { + // stacked split container with 2 children + "border": "normal", + "floating": "auto_off", + "layout": "stacked", + "percent": 0.5, + "type": "con", + "nodes": [ + { + "border": "normal", + "current_border_width": 2, + "floating": "auto_off", + "geometry": { + "height": 388, + "width": 564, + "x": 0, + "y": 0 + }, + "name": " ", + "percent": 0.5, + "swallows": [ + { + "class": "^URxvt$", + "instance": "^urxvt$" + } + ], + "type": "con" + }, + { + "border": "normal", + "current_border_width": 2, + "floating": "auto_off", + "geometry": { + "height": 388, + "width": 564, + "x": 0, + "y": 0 + }, + "name": " ", + "percent": 0.5, + "swallows": [ + { + "class": "^URxvt$", + "instance": "^urxvt$" + } + ], + "type": "con" + } + ] + } + ] +} + diff --git a/.config/i3status/config b/.config/i3status/config new file mode 100644 index 0000000..6af7363 --- /dev/null +++ b/.config/i3status/config @@ -0,0 +1,71 @@ +# i3status configuration file. +# see "man i3status" for documentation. + +# It is important that this file is edited as UTF-8. +# The following line should contain a sharp s: +# ß +# If the above line is not correctly displayed, fix your editor first! + +general { + colors = true + interval = 5 + color_good = "#7cafc2" + color_degraded = "#dc9656" + color_bad = "#ab4642" +} + +#color_good = "#a1b56c" #light green +#color_degraded = "#f7ca88" #light yellow +#color_degraded = "#dc9656" #light orange +#color_bad = "#ab4642" #light red +#color_good = "#86c1b9" #light cyan +#color_good = "#7cafc2" #light blue +#color_good = "#4A6EF" #blue +#color_degraded = "#85678F" +#color_bad = "#FF1D1D" #red + +order += "ipv6" +order += "disk /" +order += "wireless _first_" +order += "ethernet _first_" +#order += "run_watch DHCP" +order += "path_exists VPN" +order += "battery all" +order += "load" +order += "tztime local" + +wireless _first_ { + format_up = "W: (%quality at %essid) %ip" + format_down = "W: down" +} + +ethernet _first_ { + # if you use %speed, i3status requires root privileges + format_up = "E: %ip (%speed)" + format_down = "E: down" +} + +battery all { + format = "%status %percentage %remaining" +} + +tztime local { + format = "%Y-%m-%d %H:%M:%S" +} + +load { + format = "%1min" +} + +disk "/" { + format = "%avail" +} + +path_exists VPN { + # path exists when a VPN tunnel launched by nmcli/nm-applet is active + path = "/proc/sys/net/ipv4/conf/tun0" +} + +run_watch DHCP { + pidfile = "/var/run/dhclient*.pid" +} diff --git a/.config/nvim/defaults.vim b/.config/nvim/defaults.vim new file mode 100644 index 0000000..0dcb922 --- /dev/null +++ b/.config/nvim/defaults.vim @@ -0,0 +1,135 @@ +" The default vimrc file. +" +" Maintainer: Bram Moolenaar +" Last change: 2017 Jun 13 +" +" This is loaded if no vimrc file was found. +" Except when Vim is run with "-u NONE" or "-C". +" Individual settings can be reverted with ":set option&". +" Other commands can be reverted as mentioned below. + +" When started as "evim", evim.vim will already have done these settings. +if v:progname =~? "evim" + finish +endif + +" Bail out if something that ran earlier, e.g. a system wide vimrc, does not +" want Vim to use these default values. +if exists('skip_defaults_vim') + finish +endif + +" Use Vim settings, rather than Vi settings (much better!). +" This must be first, because it changes other options as a side effect. +" Avoid side effects when it was already reset. +if &compatible + set nocompatible +endif + +" When the +eval feature is missing, the set command above will be skipped. +" Use a trick to reset compatible only when the +eval feature is missing. +silent! while 0 + set nocompatible +silent! endwhile + +" Allow backspacing over everything in insert mode. +set backspace=indent,eol,start + +set history=200 " keep 200 lines of command line history +set ruler " show the cursor position all the time +set showcmd " display incomplete commands +set wildmenu " display completion matches in a status line + +set ttimeout " time out for key codes +set ttimeoutlen=100 " wait up to 100ms after Esc for special key + +" Show @@@ in the last line if it is truncated. +set display=truncate + +" Show a few lines of context around the cursor. Note that this makes the +" text scroll if you mouse-click near the start or end of the window. +set scrolloff=5 + +" Do incremental searching when it's possible to timeout. +if has('reltime') + set incsearch +endif + +" Do not recognize octal numbers for Ctrl-A and Ctrl-X, most users find it +" confusing. +set nrformats-=octal + +" For Win32 GUI: remove 't' flag from 'guioptions': no tearoff menu entries. +if has('win32') + set guioptions-=t +endif + +" Don't use Ex mode, use Q for formatting. +" Revert with ":unmap Q". +map Q gq + +" CTRL-U in insert mode deletes a lot. Use CTRL-G u to first break undo, +" so that you can undo CTRL-U after inserting a line break. +" Revert with ":iunmap ". +inoremap u + +" In many terminal emulators the mouse works just fine. By enabling it you +" can position the cursor, Visually select and scroll with the mouse. +if has('mouse') + set mouse=a +endif + +" Switch syntax highlighting on when the terminal has colors or when using the +" GUI (which always has colors). +if &t_Co > 2 || has("gui_running") + " Revert with ":syntax off". + syntax on + + " I like highlighting strings inside C comments. + " Revert with ":unlet c_comment_strings". + let c_comment_strings=1 +endif + +" Only do this part when compiled with support for autocommands. +if has("autocmd") + + " Enable file type detection. + " Use the default filetype settings, so that mail gets 'tw' set to 72, + " 'cindent' is on in C files, etc. + " Also load indent files, to automatically do language-dependent indenting. + " Revert with ":filetype off". + filetype plugin indent on + + " Put these in an autocmd group, so that you can revert them with: + " ":augroup vimStartup | au! | augroup END" + augroup vimStartup + au! + + " When editing a file, always jump to the last known cursor position. + " Don't do it when the position is invalid, when inside an event handler + " (happens when dropping a file on gvim) and for a commit message (it's + " likely a different one than last time). + autocmd BufReadPost * + \ if line("'\"") >= 1 && line("'\"") <= line("$") && &ft !~# 'commit' + \ | exe "normal! g`\"" + \ | endif + + augroup END + +endif " has("autocmd") + +" Convenient command to see the difference between the current buffer and the +" file it was loaded from, thus the changes you made. +" Only define it when not defined already. +" Revert with: ":delcommand DiffOrig". +if !exists(":DiffOrig") + command DiffOrig vert new | set bt=nofile | r ++edit # | 0d_ | diffthis + \ | wincmd p | diffthis +endif + +if has('langmap') && exists('+langremap') + " Prevent that the langmap option applies to characters that result from a + " mapping. If set (default), this may break plugins (but it's backward + " compatible). + set nolangremap +endif diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim new file mode 120000 index 0000000..71b3819 --- /dev/null +++ b/.config/nvim/init.vim @@ -0,0 +1 @@ +../../.vimrc \ No newline at end of file diff --git a/.config/systemd/user/check-battery.service b/.config/systemd/user/check-battery.service new file mode 100644 index 0000000..272f49f --- /dev/null +++ b/.config/systemd/user/check-battery.service @@ -0,0 +1,7 @@ +[Unit] +Description=check-battery + +[Service] +Type=oneshot +ExecStart=%h/bin/check-battery.sh + diff --git a/.config/systemd/user/check-battery.timer b/.config/systemd/user/check-battery.timer new file mode 100644 index 0000000..f54a309 --- /dev/null +++ b/.config/systemd/user/check-battery.timer @@ -0,0 +1,8 @@ +[Unit] +Description=Timer to run check-battery.service every 10 minutes + +[Timer] +OnCalendar=*:0/10 + +[Install] +WantedBy=timers.target diff --git a/.ctags.d/config.ctags b/.ctags.d/config.ctags new file mode 100644 index 0000000..e8a0b07 --- /dev/null +++ b/.ctags.d/config.ctags @@ -0,0 +1,23 @@ +--langdef=markdown +--langmap=markdown:.md +--regex-markdown=/^#[ \t]+(.*)/\1/h,Heading_L1/ +--regex-markdown=/^##[ \t]+(.*)/\1/i,Heading_L2/ +--regex-markdown=/^###[ \t]+(.*)/\1/k,Heading_L3/ + +--langdef=bib +--langmap=bib:.bib +--regex-bib=/^@article\{([^,]*)/\1/a,article/i +--regex-bib=/^@book\{([^,]*)/\1/b,book/i +--regex-bib=/^@booklet\{([^,]*)/\1/L,booklet/i +--regex-bib=/^@conference\{([^,]*)/\1/c,conference/i +--regex-bib=/^@inbook\{([^,]*)/\1/B,inbook/i +--regex-bib=/^@incollection\{([^,]*)/\1/C,incollection/i +--regex-bib=/^@inproceedings\{([^,]*)/\1/P,inproceedings/i +--regex-bib=/^@manual\{([^,]*)/\1/m,manual/i +--regex-bib=/^@mastersthesis\{([^,]*)/\1/T,mastersthesis/i +--regex-bib=/^@misc\{([^,]*)/\1/M,misc/i +--regex-bib=/^@phdthesis\{([^,]*)/\1/t,phdthesis/i +--regex-bib=/^@proceedings\{([^,]*)/\1/p,proceedings/i +--regex-bib=/^@techreport\{([^,]*)/\1/r,techreport/i +--regex-bib=/^@unpublished\{([^,]*)/\1/u,unpublished/i + diff --git a/.cups/lpoptions b/.cups/lpoptions new file mode 100644 index 0000000..5759973 --- /dev/null +++ b/.cups/lpoptions @@ -0,0 +1 @@ +Default HP402dn diff --git a/.vimrc b/.vimrc new file mode 100644 index 0000000..18c24b9 --- /dev/null +++ b/.vimrc @@ -0,0 +1,224 @@ +set runtimepath^=~/.vim runtimepath+=~/.vim/after +let &packpath = &runtimepath +"/usr/share/vim/vim81/defaults.vim, normally sourced in default arch linux vim +source ~/.config/nvim/defaults.vim +"https://wiki.archlinux.org/index.php/Neovim +"ln -s ~/.vimrc ~/.config/nvim/init.vim +"set rtp^=/usr/share/vim/vimfiles/ + +if &t_Co > 2 || has("gui_running") + " Switch on highlighting the last used search pattern. + set hlsearch +endif + +" Only do this part when compiled with support for autocommands. +if has("autocmd") + + " Put these in an autocmd group, so that we can delete them easily. + augroup vimrcEx + au! + + " For all text files set 'textwidth' to 78 characters. + autocmd FileType text setlocal textwidth=78 + + augroup END + +else + + set autoindent " always set autoindenting on + +endif " has("autocmd") + +" Setup vim-plugin +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 + +call plug#begin('~/.vim/plugged') +Plug '/usr/bin/fzf' +Plug 'junegunn/fzf.vim' +Plug 'tpope/vim-sensible' +Plug 'chriskempson/base16-vim' + +" Comments +"Plug 'tpope/vim-commentary' +"Plug 'tpope/surround' +"use \cc \cl c, \cm \ci for commenting lines blocks in vis, norm modes +"use ,c to comment out line(s) +Plug 'scrooloose/nerdcommenter' +Plug 'majutsushi/tagbar' +" Plug 'vimwiki/vimwiki' +"Plug 'jedi-vim' +"Plug 'bling/vim-airline' +"Plug 'vim-airline/vim-airline-themes' +" Denite, like emacs 'Helm' app +"Plug 'Shougo/denite.nvim' + +" Search +"Plug 'ctrlpvim/ctrlp.vim' +"Plug 'vim-grepper' +"Plug 'vim-netranger' + +" Git integration +"Plug 'tpope/vim-fugitive' +"Plug 'airblade/vim-gitgutter' + +" Linting +" Plug 'neomake/neomake' +" Plug 'w0rp/ale' + +" Syntax +"Plug 'sheerun/vim-polyglot' +"Plug 'matthewbdaly/vim-filetype-settings' +"Plug 'rhysd/vim-grammarous' "cmd :GrammarousCheck, req java + + +" External languages +" Plug 'Vigemus/iron.nvim' +" Plug 'bfredl/nvim-ipy' +" Plug 'jalvesaq/Nvim-R' +"Plug 'python-mode/python-mode', { 'branch': 'develop' } + +"latex +"Plug 'lervag/vimtex' +"Plug 'vim-pandoc' + +" Markdown +"Plug 'suan/vim-instant-markdown' " Markdown preview instant-markdown-d +"next one uses a rust lib for fast async md, requires rust/cargo install +"Plug 'euclio/vim-markdown-composer' +"Plug 'aaren/notedown' +"https://github.com/iamcco/markdown-preview.nvim +" if have nodejs and yarn, this is markdown-it js lib based +" Plug 'iamcco/markdown-preview.nvim', { 'do': 'cd app & yarn install' } + +call plug#end() + +filetype plugin indent on + +"Syntax highlighting in Markdown +"au BufNewFile,BufReadPost *.md set filetype=markdown +"let g:polyglot_disabled = ['markdown'] +let g:markdown_fenced_languages = ['html','r', 'javascript', 'python', 'sh', 'bash=sh', 'css', 'js=javascript', 'json=javascript'] + +let g:tagbar_type_markdown = { + \ 'ctagstype' : 'markdown', + \ 'kinds' : [ + \ 'h:Heading_L1', + \ 'i:Heading_L2', + \ 'k:Heading_L3' + \ ] +\ } + +let g:tagbar_type_bib = { + \ 'ctagstype' : 'bib', + \ 'kinds' : [ + \ 'a:Articles', + \ 'b:Books', + \ 'L:Booklets', + \ 'c:Conferences', + \ 'B:Inbook', + \ 'C:Incollection', + \ 'P:Inproceedings', + \ 'm:Manuals', + \ 'T:Masterstheses', + \ 'M:Misc', + \ 't:Phdtheses', + \ 'p:Proceedings', + \ 'r:Techreports', + \ 'u:Unpublished', + \ ] +\ } + +let g:python_host_prog = '/usr/bin/python3' +let g:loaded_python3_provider = 1 + +":vertical terminal ipython +"set updatetime=100 + +"nnoremap yr :IronRepl +"nmap ,r (iron-send-motion) +"xmap ,r (iron-send-motion) +"nmap yR V,r + + +" Neomake config +" Full config: when writing or reading a buffer, and on changes in insert and +" normal mode (after 1s; no delay when writing). +"call neomake#configure#automake('nrwi', 500) + +set tabstop=4 +set shiftwidth=4 +set expandtab +" set number +" set relativenumber +" set hlsearch +" set spell +" set mouse=a "already set by defaults.vim +set mouse=n +" OR try set mouse=r mouse=& +" shortcuts for next or prev file like after vim *.py +" :map v :n +" :map V :N +" or just use :n or :N followed by the dot . cmd! +" quick save from insert mode if any changes +imap jjw :update +" vs and running code +imap jk `^ +":imap kj +" Two semicolons are easy to type. The `^ fixes the cursor position. +" imap ;; `^ +inoremap `^ +"imap ;; i +" Just press Space to enter insert mode. +nmap i +" On gvim and Linux console Vim, you can also use ctrl-Space. +" :imap <> + +"copy with ctrl-c in visual highlight mode +vmap "+y + +"use system clipboard: Now yank y, delete d, or paste p work to/from system +set clipboard=unnamedplus + +"auto fix common sp errors +:ab teh the +:ab Teh The +:ab adn and +:ab Adn And + +let mapleader = ',' +nmap :TagbarToggle + +if filereadable(expand("~/.vimrc_background")) + let base16colorspace=256 + source ~/.vimrc_background +endif + +augroup resCur + autocmd! + autocmd BufReadPost * call setpos(".", getpos("'\"")) +augroup END + +set title + +" latex settings +"let g:tex_flavor="latex" +"let g:Tex_DefaultTargetFormat =" pdf" +"let g:Tex_IgnoredWarnings ='' + +" make vimtex work with neovim +"let g:vimtex_compiler_progname='nvr' +"let g:vimtex_view_use_temp_files=2 +"let g:vimtex_view_method='zathura' +"let g:vimtex_quickfix_mode=0 " do not open the quickfix window automatically + +" Allow commenting and inverting empty lines (useful when commenting a region +let g:NERDCommentEmptyLines = 1 +" Add spaces after comment delimiters by default +let g:NERDSpaceDelims = 1 +" Use compact syntax for prettified multi-line comments +let g:NERDCompactSexyComs = 1 + diff --git a/.xinitrc b/.xinitrc new file mode 100644 index 0000000..dfec193 --- /dev/null +++ b/.xinitrc @@ -0,0 +1,58 @@ +#!/bin/sh + +userresources=$HOME/.Xresources +usermodmap=$HOME/.Xmodmap +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 + +if [ -f "$userresources" ]; then + xrdb -merge "$userresources" +fi + +if [ -f "$usermodmap" ]; then + xmodmap "$usermodmap" +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 + +systemctl --user start check-battery.timer & + +#twm & +#xclock -geometry 50x50-1+1 & +#xterm -geometry 80x50+494+51 & +#xterm -geometry 80x20+494-0 & +#exec xterm -geometry 80x66+0+0 -name login + +# Adjust keyboard typematic delay and rate +#xset r rate 270 30 + +# Fix fonts for high resolution retina/hidpi display: +# Start Xorg server at this DPI +#xrandr --dpi 144 + +# QT and GTK autodetect retina screen and autoadjust +#export QT_AUTO_SCREEN_SCALE_FACTOR=1 +#export GDK_SCALE=2 +#export GDK_DPI_SCALE=0.5 + +#xrdb -merge ~/.Xresources #already performed above + +#exec openbox-session +exec i3 +