822a4b46e9f774f9a213c51c515ea45f63aedc0c
- Author
- Pavle Portic <pavle.portic@tilda.center>
- Committer
- Pavle Portic <pavle.portic@tilda.center>
- Date
Message
Diff
This diff is truncated to protect this page.
1diff --git a/.gitignore b/.gitignore
2new file mode 100644
3index 0000000000000000000000000000000000000000..bee8a64b79a99590d5303307144172cfe824fbf7
4--- /dev/null
5+++ b/.gitignore
6@@ -0,0 +1 @@
7+__pycache__
8diff --git a/dot_Xresources b/dot_Xresources
9new file mode 100644
10index 0000000000000000000000000000000000000000..6d36d385df18014345e18db8cf08c99ef459b43e
11--- /dev/null
12+++ b/dot_Xresources
13@@ -0,0 +1,31 @@
14+! -- Color settings
15+*foreground: #ebdbb2
16+*background: #282828
17+
18+!black
19+*color0: #1d2021
20+*color8: #665c54
21+!red
22+*color1: #cc241d
23+*color9: #fb4934
24+!green
25+*color2: #98971a
26+*color10: #b8bb26
27+!yellow
28+*color3: #d79921
29+*color11: #fabd2f
30+!blue
31+*color4: #388588
32+*color12: #72a591
33+!magenta
34+*color5: #b16286
35+*color13: #d3869b
36+!cyan
37+*color6: #689d6a
38+*color14: #8ec07c
39+!white
40+*color7: #dbae93
41+*color15: #fbf1c7
42+
43+Xcursor.theme: Human
44+
45diff --git a/dot_config/flake8 b/dot_config/flake8
46new file mode 100644
47index 0000000000000000000000000000000000000000..04456669d2f1b2241ade6a276e8ec51b8104753f
48--- /dev/null
49+++ b/dot_config/flake8
50@@ -0,0 +1,3 @@
51+[flake8]
52+max-line-length = 256
53+ignore = E202,W191,W391,E117
54diff --git a/dot_config/i3/config b/dot_config/i3/config
55new file mode 100644
56index 0000000000000000000000000000000000000000..521d8590015d9ad074196bcb01f5a55920e7f021
57--- /dev/null
58+++ b/dot_config/i3/config
59@@ -0,0 +1,249 @@
60+# vim: syntax=i3config ft=i3config ts=4 sts=4 sw=4 noet
61+#
62+# i3 config file
63+#
64+# Please see http://i3wm.org/docs/userguide.html for a complete reference!
65+
66+set $foreground #ebdbb2
67+set $background #282828
68+set $color0 #1d2021
69+set $color1 #cc241d
70+set $color2 #98971a
71+set $color3 #d79921
72+set $color4 #458588
73+set $color5 #b16286
74+set $color6 #689d6a
75+set $color7 #a89984
76+set $color8 #665c54
77+set $color9 #fb4934
78+set $color10 #b8bb26
79+set $color11 #fabd2f
80+set $color12 #83a598
81+set $color13 #d3869b
82+set $color14 #8ec07c
83+set $color15 #fbf1c7
84+set $color16 #d65d0e
85+set $color17 #fe8019
86+
87+set $mod Mod4
88+
89+# Font for window titles. Will also be used by the bar unless a different font
90+# is used in the bar {} block below.
91+font pango:Pragmata Pro, FontAwesome 11
92+
93+#class background border text split
94+client.focused $color8 $color8 $foreground $color7
95+client.focused_inactive $background $background $color7 $color0
96+client.unfocused $color0 $background $color8 $color0
97+client.urgent $color1 $color1 $foreground $color1
98+client.background $background
99+
100+# Use Mouse+$mod to drag floating windows to their wanted position
101+floating_modifier $mod
102+
103+# start a terminal
104+bindsym $mod+Return exec roxterm
105+
106+# kill focused window
107+bindsym $mod+Shift+q kill
108+
109+# start rofi (a program launcher)
110+bindsym $mod+space exec "rofi -show drun"
111+bindsym $mod+BackSpace exec "rofi -show drun"
112+
113+# change focus
114+bindsym $mod+h focus left
115+bindsym $mod+n focus down
116+bindsym $mod+e focus up
117+bindsym $mod+i focus right
118+bindsym $mod+Left focus left
119+bindsym $mod+Down focus down
120+bindsym $mod+Up focus up
121+bindsym $mod+Right focus right
122+
123+# move focused window
124+bindsym $mod+Shift+h move left
125+bindsym $mod+Shift+n move down
126+bindsym $mod+Shift+e move up
127+bindsym $mod+Shift+i move right
128+bindsym $mod+Shift+Left move left
129+bindsym $mod+Shift+Down move down
130+bindsym $mod+Shift+Up move up
131+bindsym $mod+Shift+Right move right
132+
133+# split in horizontal orientation
134+bindsym $mod+c split h
135+
136+# split in vertical orientation
137+bindsym $mod+v split v
138+
139+# enter fullscreen mode for the focused container
140+bindsym $mod+f fullscreen toggle
141+
142+# change container layout (tabbed, toggle split)
143+bindsym $mod+s layout toggle split
144+bindsym $mod+t layout tabbed
145+
146+# toggle tiling / floating
147+bindsym $mod+Shift+space floating toggle
148+bindsym $mod+Shift+BackSpace floating toggle
149+bindsym $mod+g focus mode_toggle
150+
151+bindsym $mod+Tab workspace next
152+bindsym $mod+Shift+Tab workspace prev
153+
154+# switch to workspace
155+bindsym $mod+1 workspace number 1
156+bindsym $mod+2 workspace number 2
157+bindsym $mod+3 workspace number 3
158+bindsym $mod+4 workspace number 4
159diff --git a/dot_config/i3/i3-autoname-workspaces.py b/dot_config/i3/i3-autoname-workspaces.py
160new file mode 100644
161index 0000000000000000000000000000000000000000..e16bc2c2e3f3c0d4abf220fc8bd30cdac54c011e
162--- /dev/null
163+++ b/dot_config/i3/i3-autoname-workspaces.py
164@@ -0,0 +1,198 @@
165+#!/usr/bin/env python3
166+
167+# This script listens for i3 events and updates workspace names to show icons
168+# for running programs. It contains icons for a few programs, but more can
169+# easily be added by inserting them into WINDOW_ICONS below.
170+#
171+# Dependencies
172+# * xorg-xprop - install through system package manager
173+# * i3ipc - install with pip
174+# * fontawesome - install with pip
175+#
176+# Installation:
177+# * Download this script and place it in ~/.config/i3/ (or anywhere you want)
178+# * Add "exec_always ~/.config/i3/i3-autoname-workspaces.py &" to your i3 config
179+# * Restart i3: "$ i3-msg restart"
180+#
181+# Configuration:
182+# The default i3 config's keybingings reference workspaces by name, which is an
183+# issue when using this script because the "names" are constantaly changing to
184+# show window icons. Instead, you'll need to change the keybindings to
185+# reference workspaces by number. Change lines like:
186+# bindsym $mod+1 workspace 1
187+# To:
188+# bindsym $mod+1 workspace number 1
189+
190+
191+import re
192+import signal
193+import subprocess as proc
194+import sys
195+
196+import fontawesome as fa
197+import i3ipc
198+
199+# Add icons here for common programs you use. The keys are the X window class
200+# (WM_CLASS) names (lower-cased) and the icons can be any text you want to
201+# display.
202+#
203+# Most of these are character codes for font awesome:
204+# http://fortawesome.github.io/Font-Awesome/icons/
205+#
206+# If you're not sure what the WM_CLASS is for your application, you can use
207+# xprop (https://linux.die.net/man/1/xprop). Run `xprop | grep WM_CLASS`
208+# then click on the application you want to inspect.
209+WINDOW_ICONS = {
210+ 'blender': fa.icons['cube'],
211+ 'blueman-manager': fa.icons['bluetooth'],
212+ 'chromium': fa.icons['chrome'],
213+ 'cities.x64': fa.icons['city'],
214+ 'code': fa.icons['code'],
215+ 'darktable': fa.icons['camera'],
216+ 'dwarf_fortress': fa.icons['fort-awesome'],
217+ 'eclipse': fa.icons['code'],
218+ 'emacs': fa.icons['code'],
219+ 'evince': fa.icons['file-pdf'],
220+ 'factorio': fa.icons['cog'],
221+ 'feh': fa.icons['image'],
222+ 'firefox': fa.icons['firefox'],
223+ 'firefox-developer': fa.icons['firefox'],
224+ 'ghb': fa.icons['video'],
225+ 'gimp': fa.icons['file-image'],
226+ 'google-chrome': fa.icons['chrome'],
227+ 'gparted': fa.icons['hdd'],
228+ 'gpicview': fa.icons['image'],
229+ 'gsmartcontrol': fa.icons['hdd'],
230+ 'inkscape': fa.icons['pen-nib'],
231+ 'jetbrains-studio': fa.icons['code'],
232+ 'kicad': fa.icons['microchip'],
233+ 'roxterm': fa.icons['terminal'],
234+ 'ksp.x86_64': fa.icons['space-shuttle'],
235+ 'libreoffice-impress': fa.icons['file-powerpoint'],
236+ 'libreoffice-writer': fa.icons['file-alt'],
237+ 'lutris': fa.icons['gamepad'],
238+ 'minecraft 1.12.2': fa.icons['cube'],
239+ 'mirage': fa.icons['image'],
240+ 'mpv': fa.icons['video'],
241+ 'multimc': fa.icons['cube'],
242+ 'mupdf': fa.icons['file-pdf'],
243+ 'nm-connection-editor': fa.icons['wifi'],
244+ 'org-openstreetmap-josm-gui-mainapplication': fa.icons['map'],
245+ 'pavucontrol': fa.icons['volume-up'],
246+ 'qbittorrent': fa.icons['download'],
247+ 'qtcreator': fa.icons['code'],
248+ 'riot': fa.icons['comments'],
249+ 'seahorse': fa.icons['lock'],
250+ 'spotify': fa.icons['spotify'],
251+ 'sqlitebrowser': fa.icons['database'],
252+ 'steam': fa.icons['steam'],
253+ 'subl': fa.icons['file-alt'],
254+ 'subl3': fa.icons['file-alt'],
255+ 'surviving mars': fa.icons['rocket'],
256+ 'telegram-desktop': fa.icons['telegram'],
257+ 'terraria.bin.x86_64': fa.icons['tree'],
258+ 'thunderbird': fa.icons['envelope'],
259+ 'vim': fa.icons['code'],
260+ 'virt-manager': fa.icons['desktop'],
261+ 'virtualbox manager': fa.icons['desktop'],
262+ 'vivifyscrum': fa.icons['check'],
263+ 'vlc': fa.icons['video'],
264diff --git a/dot_config/private_user-dirs.dirs b/dot_config/private_user-dirs.dirs
265new file mode 100644
266index 0000000000000000000000000000000000000000..d2e4b56f64e16108c89a35b80c73db1dc4578317
267--- /dev/null
268+++ b/dot_config/private_user-dirs.dirs
269@@ -0,0 +1,15 @@
270+# This file is written by xdg-user-dirs-update
271+# If you want to change or add directories, just edit the line you're
272+# interested in. All local changes will be retained on the next run.
273+# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
274+# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
275+# absolute path. No other format is supported.
276+#
277+XDG_DESKTOP_DIR="$HOME/"
278+XDG_DOCUMENTS_DIR="$HOME/documents/"
279+XDG_DOWNLOAD_DIR="$HOME/downloads/"
280+XDG_MUSIC_DIR="$HOME/music/"
281+XDG_PICTURES_DIR="$HOME/pictures/"
282+XDG_VIDEOS_DIR="$HOME/videos/"
283+XDG_TEMPLATES_DIR="$HOME/"
284+XDG_PUBLICSHARE_DIR="$HOME/"
285diff --git a/dot_config/rofi/config b/dot_config/rofi/config
286new file mode 100644
287index 0000000000000000000000000000000000000000..61617584a04f93c6ad5770b4cecb7e5f6684ae3b
288--- /dev/null
289+++ b/dot_config/rofi/config
290@@ -0,0 +1,23 @@
291+! vim: set ft=xdefaults:
292+! General settings
293+rofi.levenshtein-sort: false
294+rofi.matching: fuzzy
295+rofi.modi: drun,ssh
296+
297+! Styling
298+rofi.color-window: #1d2021,#665c54
299+rofi.color-normal: #1d2021,#665c54,#1d2021,#665c54,#1d2021
300+rofi.bc: #1d2021
301+rofi.location: 0
302+rofi.lines: 10
303+rofi.bw: 0
304+rofi.hide-scrollbar: true
305+rofi.font: Pragmata Pro 13
306+rofi.separator-style: none
307+rofi.show-icons: false
308+
309+! Running
310+rofi.terminal: terminator
311+rofi.ssh-command: {terminal} -x "{ssh-client} {host}"
312+rofi.run-command: {cmd}
313+rofi.run-shell-command: {terminal} -c "{cmd}"
314diff --git a/dot_config/roxterm.sourceforge.net/Colours/Default b/dot_config/roxterm.sourceforge.net/Colours/Default
315new file mode 100644
316index 0000000000000000000000000000000000000000..bb0ad727ae56469de5c839cfadad284135ba55ca
317--- /dev/null
318+++ b/dot_config/roxterm.sourceforge.net/Colours/Default
319@@ -0,0 +1,20 @@
320+[roxterm colour scheme]
321+foreground=#ebebdbdbb2b2
322+background=#282828282828
323+palette_size=16
324+0=#282828282828
325+1=#cccc24241d1d
326+2=#989897971a1a
327+3=#d7d799992121
328+4=#383885858888
329+5=#b1b162628686
330+6=#68689d9d6a6a
331+7=#dbdbaeae9393
332+8=#66665c5c5454
333+9=#fbfb49493434
334+10=#b8b8bbbb2626
335+11=#fafabdbd2f2f
336+12=#7272a5a59191
337+13=#d3d386869b9b
338+14=#8e8ec0c07c7c
339+15=#ebebdbdbb2b2
340diff --git a/dot_config/roxterm.sourceforge.net/Global b/dot_config/roxterm.sourceforge.net/Global
341new file mode 100644
342index 0000000000000000000000000000000000000000..64c1bc579ddc0f92c98f84c565fb6a79e9d107a1
343--- /dev/null
344+++ b/dot_config/roxterm.sourceforge.net/Global
345@@ -0,0 +1,4 @@
346+[roxterm options]
347+prefer_dark_theme=0
348+warn_close=1
349+only_warn_running=1
350diff --git a/dot_config/roxterm.sourceforge.net/Profiles/Default b/dot_config/roxterm.sourceforge.net/Profiles/Default
351new file mode 100644
352index 0000000000000000000000000000000000000000..d054863dc1c78b9bf2f0515ed842127d559c3c98
353--- /dev/null
354+++ b/dot_config/roxterm.sourceforge.net/Profiles/Default
355@@ -0,0 +1,13 @@
356+[roxterm profile]
357+font=Pragmata Pro 11
358+always_show_tabs=0
359+colour_scheme=Default
360+bell_highlights_tab=0
361+audible_bell=0
362+autowrap=1
363+cursor_blink_mode=2
364+scrollbar_pos=0
365+limit_scrollback=0
366+vspacing=8
367+hide_menubar=1
368+scroll_on_keystroke=1
369diff --git a/dot_config/twmn/twmn.conf b/dot_config/twmn/twmn.conf
370new file mode 100644
371index 0000000000000000000000000000000000000000..22d82cb45c61f96c813d8324f228ff3a64faf068
372--- /dev/null
373+++ b/dot_config/twmn/twmn.conf
374@@ -0,0 +1,31 @@
375+[gui]
376+absolute_position=
377+always_on_top=true
378+background_color=#3c3836
379+bounce=false
380+bounce_duration=500
381+font=Ubuntu
382+font_size=26
383+font_variant=regular
384+foreground_color=#fbf1c7
385+height=80
386+in_animation=38
387+in_animation_duration=150
388+opacity=100
389+out_animation=13
390+out_animation_duration=150
391+position=top_right
392+screen=0
393+
394+[icons]
395+info_icon=
396+warning_icon=
397+critical_icon=
398+
399+[main]
400+activate_command=
401+duration=5000
402+enable_shortcuts=true
403+host=127.0.0.1
404+port=9797
405+sound_command=
406diff --git a/dot_config/zsh/antigen.zsh b/dot_config/zsh/antigen.zsh
407new file mode 100644
408index 0000000000000000000000000000000000000000..e81320767aefeaaf4ee4cb321a081bb1e04e2422
409--- /dev/null
410+++ b/dot_config/zsh/antigen.zsh
411@@ -0,0 +1,2057 @@
412+######################################################################
413+# This file was autogenerated by `make`. Do not edit it directly!
414+######################################################################
415+# Antigen: A simple plugin manager for zsh
416+ # Authors: Shrikant Sharat Kandula
417+ # and Contributors <https://github.com/zsh-users/antigen/contributors>
418+ # Homepage: http://antigen.sharats.me
419+ # License: MIT License <mitl.sharats.me>
420+zmodload zsh/parameter
421+autoload -U is-at-least
422+
423+# While boot.zsh is part of the ext/cache functionallity it may be disabled
424+# with ANTIGEN_CACHE flag, and it's always compiled with antigen.zsh
425+if [[ $ANTIGEN_CACHE != false ]]; then
426+ ANTIGEN_CACHE="${ANTIGEN_CACHE:-${ADOTDIR:-$HOME/.antigen}/init.zsh}"
427+ ANTIGEN_RSRC="${ANTIGEN_RSRC:-${ADOTDIR:-$HOME/.antigen}/.resources}"
428+
429+ # It may not be necessary to check ANTIGEN_AUTO_CONFIG.
430+ if [[ $ANTIGEN_AUTO_CONFIG != false && -f $ANTIGEN_RSRC ]]; then
431+ # Check the list of files for configuration changes (uses -nt comp)
432+ ANTIGEN_CHECK_FILES=$(cat $ANTIGEN_RSRC 2> /dev/null)
433+ ANTIGEN_CHECK_FILES=(${(@f)ANTIGEN_CHECK_FILES})
434+
435+ for config in $ANTIGEN_CHECK_FILES; do
436+ if [[ "$config" -nt "$config.zwc" ]]; then
437+ # Flag configuration file as newer
438+ { zcompile "$config" } &!
439+ # Kill cache file in order to force full loading (see a few lines below)
440+ [[ -f "$ANTIGEN_CACHE" ]] && rm -f "$ANTIGEN_CACHE"
441+ fi
442+ done
443+ fi
444+
445+ # If there is a cache file do load from it
446+ if [[ -f $ANTIGEN_CACHE && ! $_ANTIGEN_CACHE_LOADED == true ]]; then
447+ # Wrap antigen in order to defer cache source until `antigen-apply`
448+ antigen() {
449+ if [[ $1 == "apply" ]]; then
450+ source "$ANTIGEN_CACHE"
451+ # Handle `antigen-init` command properly
452+ elif [[ $1 == "init" ]]; then
453+ source "$2"
454+ fi
455+ }
456+ # Do not continue loading antigen as cache bundle takes care of it.
457+ return 0
458+ fi
459+fi
460+[[ -z "$_ANTIGEN_INSTALL_DIR" ]] && _ANTIGEN_INSTALL_DIR=${0:A:h}
461+
462+# Each line in this string has the following entries separated by a space
463+# character.
464+# <repo-url>, <plugin-location>, <bundle-type>, <has-local-clone>
465+[[ $_ANTIGEN_CACHE_LOADED != true ]] && typeset -aU _ANTIGEN_BUNDLE_RECORD
466+
467+# Do not load anything if git is not available.
468+if (( ! $+commands[git] )); then
469+ echo 'Antigen: Please install git to use Antigen.' >&2
470+ return 1
471+fi
472+
473+# Used to defer compinit/compdef
474+typeset -a __deferred_compdefs
475+compdef () { __deferred_compdefs=($__deferred_compdefs "$*") }
476+
477+# A syntax sugar to avoid the `-` when calling antigen commands. With this
478+# function, you can write `antigen-bundle` as `antigen bundle` and so on.
479+antigen () {
480+ local cmd="$1"
481+ if [[ -z "$cmd" ]]; then
482+ echo 'Antigen: Please give a command to run.' >&2
483+ return 1
484+ fi
485+ shift
486+
487+ if (( $+functions[antigen-$cmd] )); then
488+ "antigen-$cmd" "$@"
489+ return $?
490+ else
491+ echo "Antigen: Unknown command: $cmd" >&2
492+ return 1
493+ fi
494+}
495+# Returns the bundle's git revision
496+#
497+# Usage
498+# -antigen-bundle-rev bundle-name [is_local_clone]
499+#
500+# Returns
501+# Bundle rev-parse output (branch name or short ref name)
502+-antigen-bundle-rev () {
503+ local bundle=$1
504+ local is_local_clone=$2
505+
506+ local bundle_path=$bundle
507+ # Get bunde path inside $ADOTDIR if bundle was effectively cloned
508+ if [[ "$is_local_clone" == "true" ]]; then
509+ bundle_path=$(-antigen-get-clone-dir $bundle)
510+ fi
511diff --git a/dot_config/zsh/functions/genpass b/dot_config/zsh/functions/genpass
512new file mode 100644
513index 0000000000000000000000000000000000000000..8448ef1f5e81c9a8ac028679bdf6bc5e992c6231
514--- /dev/null
515+++ b/dot_config/zsh/functions/genpass
516@@ -0,0 +1,3 @@
517+# Function to generate random string from /dev/urandom
518+
519+< /dev/urandom tr -dc 'A-Za-z0-9%+,-./:=@^_' | head -c $1
520diff --git a/dot_config/zsh/functions/gitignore b/dot_config/zsh/functions/gitignore
521new file mode 100644
522index 0000000000000000000000000000000000000000..08432cc907a1364bddcb24fc9d069be9c4501c16
523--- /dev/null
524+++ b/dot_config/zsh/functions/gitignore
525@@ -0,0 +1,10 @@
526+# Function to add files and folders to the .gitignore file
527+
528+if (( $# < 1 )); then
529+ echo "Need at least one argument"
530+fi
531+
532+for var in "$@"; do
533+ echo "$var" >> .gitignore
534+done
535+
536diff --git a/dot_config/zsh/functions/pbin b/dot_config/zsh/functions/pbin
537new file mode 100644
538index 0000000000000000000000000000000000000000..472ba54b80a2d5fabe6fcb83d2120e5c13a95d18
539--- /dev/null
540+++ b/dot_config/zsh/functions/pbin
541@@ -0,0 +1,16 @@
542+# vim: ft=zsh
543+# Wrapper function for pbincli for easier output parsing
544+
545+LOGFILE="$HOME/.local/share/pbincli/pbincli.log"
546+DATADIR="$HOME/.local/share/pbincli"
547+
548+mkdir -p $DATADIR
549+echo "-------------------------------------------" >> $LOGFILE
550+date --iso-8601=seconds >> $LOGFILE
551+
552+OUTPUT=$(pbincli send $@)
553+echo $OUTPUT >> $LOGFILE
554+echo "" >> $LOGFILE
555+
556+echo $OUTPUT | tail -n1 | cut -d $'\t' -f 3
557+
558diff --git a/dot_config/zsh/functions/sha256 b/dot_config/zsh/functions/sha256
559new file mode 100644
560index 0000000000000000000000000000000000000000..821abb4921bb2a6a64b7ae91bd8f67eb99aab8dd
561--- /dev/null
562+++ b/dot_config/zsh/functions/sha256
563@@ -0,0 +1,4 @@
564+# Function to Calculate the sha256sum of a string
565+
566+echo -n "$@" | sha256sum | base64 | head -n1 | tr -d '\n'
567+
568diff --git a/dot_config/zsh/load_functions.zsh b/dot_config/zsh/load_functions.zsh
569new file mode 100644
570index 0000000000000000000000000000000000000000..a63d8fde913133b1a11900293b3928e9838be4e8
571--- /dev/null
572+++ b/dot_config/zsh/load_functions.zsh
573@@ -0,0 +1,2 @@
574+autoload -Uz *
575+
576diff --git a/dot_config/zsh/private_histfile b/dot_config/zsh/private_histfile
577new file mode 100644
578index 0000000000000000000000000000000000000000..cbf4974803f793ad8911ab045ef81e53ab1a89a3
579--- /dev/null
580+++ b/dot_config/zsh/private_histfile
581@@ -0,0 +1,10173 @@
582+: 1545394432:0;ll /usr/bin/gpg2
583+: 1545394452:0;rm .authinfo
584+: 1545394456:0;gpg -d .authinfo.gpg
585+: 1545394487:0;gpg --help G -- --for-your-eyes-only
586+: 1545394491:0;gpg --help
587+: 1545394494:0;man gpg
588+: 1545394857:0;systemctl list-unit-files
589+: 1545394861:0;systemctl list-unit-files G mbs
590+: 1545394863:0;systemctl list-unit-files G sync
591+: 1545394932:0;vim .isyncrc
592+: 1545394964:0;cd .config/isync
593+: 1545394969:0;mv isyncpass.gpg tildapass.gpg
594+: 1545394979:0;mv .isyncrc .config/isync/config
595+: 1545395015:0;ll /etc/ssl/certs/
596+: 1545395020:0;cd /etc/ss
597+: 1545395048:0;cat cert.pem
598+: 1545395065:0;md email
599+: 1545395066:0;cd email
600+: 1545395102:0;md tilda
601+: 1545395112:0;isync --help
602+: 1545395115:0;isync -l
603+: 1545395132:0;isync -l -c ~/.config/isync/config
604+: 1545395143:0;isync -w
605+: 1545395145:0;mbsync
606+: 1545395151:0;mbsync -l -c ~/.config/isync/config
607+: 1545395155:0;mbsync -h
608+: 1545395200:0;mbsync -l -c ~/.config/isync/config tilda
609+: 1545395213:0;cd email/tilda
610+: 1545395214:0;cd INBOX
611+: 1545395222:0;cat cur/1545395205.1610_1.neon,U=1:2,S
612+: 1545395262:0;man isync
613+: 1545395308:0;isync -c ~/.config/isync/config
614+: 1545395332:0;man mbsync
615+: 1545395545:0;cd tilda
616+: 1545395548:0;rmr INBOX/
617+: 1545395672:0;l Inbox
618+: 1545395675:0;mbsync -c ~/.config/isync/config tilda
619+: 1545395702:0;ll Archives
620+: 1545395736:0;vim ~/.config/systemd/user/mbsync.service
621+: 1545395790:0;vim ~/.config/systemd/user/mbsync.timer
622+: 1545395862:0;emacsclient
623+: 1545395878:0;emacsclient -e '(mu4e-update-index)'
624+: 1545395916:0;vim /usr/lib/systemd/user/emacs.service
625+: 1545395925:0;sustatus emacs.service
626+: 1545395929:0;sustatus start emacs.service
627+: 1545395937:0;sustart emacs.service
628+: 1545395944:0;suenable emacs.service
629+: 1545395961:0;sustatus mbsync.service
630+: 1545395963:0;sustatus mbsync.timer
631+: 1545396082:0;cp df.desktop emacsclient.desktop
632+: 1545396093:0;which emacsclient
633+: 1545396104:0;cat /usr/share/applications/emacs.desktop
634+: 1545396133:0;emacsclient --help
635+: 1545396144:0;vim emacsclient.desktop
636+: 1545396179:0;vim rofi3.druncache
637+: 1545396189:0;/cl
638+: 1545396319:0;ll multi-user.target.wants
639+: 1545396342:0;mv *.service ~/.config/systemd/user
640+: 1545396347:0;vim pscircle.service
641+: 1545396420:0;cp mbsync.timer pscircle.timer
642+: 1545396423:0;vim pscircle.timer
643+: 1545396489:0;rm default.target.wants/i3control.service default.target.wants/pscircle.service
644+: 1545396496:0;suenable pscircle.timer
645+: 1545396514:0;suenable i3control.service
646+: 1545396522:0;suctl daemon-reload
647+: 1545396541:0;notify-send "This is a notification"
648+: 1545396556:0;sustop pscircle.service
649+: 1545396574:0;suenable mbsync.timer
650+: 1545396648:0;mu index --maildir=~/email/tilda
651+: 1545396702:0;yar html2text
652+: 1545396722:0;rmr Maildir\
653+cl
654+: 1545396829:0;rg .spacevim
655+: 1545396834:0;rg "\.spacevim"
656+: 1545397127:0;cat .config/systemd/user/mbsync.service
657+: 1545397136:0;mbsync --help
658+: 1545397275:0;rmr email
659+: 1545397278:0;rmr isync
660+: 1545397281:0;rm .authinfo.gpg
661+: 1545397288:0;cd .config/systemd
662+: 1545397293:0;sudisable mbsync.timer
663+: 1545397295:0;rm mbsync.*
664+: 1545397297:0;ll default.target.wants
665+: 1545397299:0;ll timers.target.wants
666+: 1545397387:0;cd .space-vim/layers
667+: 1545397389:0;cd +programming/programming
668+: 1545397477:0;cd vim/templates
669+: 1545397478:0;vim \=template=.py
670+: 1545397519:0;sudisable emacs.service
671+: 1545397521:0;sustop emacs.service
672+: 1545397527:0;rm emacsclient.desktop
673+: 1545397540:0;gcl
674+: 1545397544:0;vim .spacemacs
675+: 1545397653:0;gcmsg "Remove mu4e from emacs layers"
676+: 1545397696:0;gcmsg "Add spacemacs indentation settings to spacevim"
677+: 1545398020:0;yar qtcreator
678+: 1545398494:0;gcmsg "Add qtcreator icon to i3-autoname"
679+: 1545398515:0;vim li
680+: 1545398642:0;gcmsg "Optionally install and link spacemacs files"
681diff --git a/dot_gitconfig b/dot_gitconfig
682new file mode 100644
683index 0000000000000000000000000000000000000000..40b36ff494cd6a60da74041654ab66b92f251f27
684--- /dev/null
685+++ b/dot_gitconfig
686@@ -0,0 +1,15 @@
687+[user]
688+ name = Pavle Portic
689+ email = pavle.portic@tilda.center
690+ signingkey = 6758ACE46AA2A849
691+[alias]
692+ lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
693+[diff]
694+ tool = vimdiff
695+[difftool]
696+ prompt = false
697+[commit]
698+ gpgsign = true
699+[pull]
700+ rebase = true
701+
702diff --git a/dot_local/bin/executable_flac2mp3 b/dot_local/bin/executable_flac2mp3
703new file mode 100644
704index 0000000000000000000000000000000000000000..0c55d59be4bf09b6e29919624a394bc098e40365
705--- /dev/null
706+++ b/dot_local/bin/executable_flac2mp3
707@@ -0,0 +1,4 @@
708+#!/bin/zsh
709+
710+ffmpeg -n -i "$1" -acodec libmp3lame -ab 320k -map_metadata 0 -id3v2_version 3 "$2" &> /dev/null
711+
712diff --git a/dot_local/bin/executable_smart-resize b/dot_local/bin/executable_smart-resize
713new file mode 100644
714index 0000000000000000000000000000000000000000..9b20f003ff53abebe073e0f00550f859474fad22
715--- /dev/null
716+++ b/dot_local/bin/executable_smart-resize
717@@ -0,0 +1,21 @@
718+#!/usr/bin/env bash
719+#
720+# resize-test.sh
721+# Copyright (C) 2018 pavle <pavle.portic@tilda.center>
722+#
723+# Distributed under terms of the MIT license.
724+#
725+
726+echo "Resizing "$1
727+
728+RES=$(identify -format '%G\n' $1)
729+
730+XRES=$(echo $RES | cut -d "x" -f1)
731+YRES=$(echo $RES | cut -d "x" -f2)
732+
733+if (( XRES > YRES )); then
734+ convert $1 -resize x$2 $1
735+else
736+ convert $1 -resize $2x $1
737+fi
738+
739diff --git a/dot_local/bin/executable_start-ssh-agent b/dot_local/bin/executable_start-ssh-agent
740new file mode 100644
741index 0000000000000000000000000000000000000000..9b9c56daf546d266182e8bf6c12b5a45a297afd7
742--- /dev/null
743+++ b/dot_local/bin/executable_start-ssh-agent
744@@ -0,0 +1,22 @@
745+#!/bin/zsh
746+SSH_ENV="$HOME/.ssh/environment"
747+
748+function start_agent {
749+ echo "Initialising new SSH agent..."
750+ /usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}"
751+ echo succeeded
752+ chmod 600 "${SSH_ENV}"
753+ . "${SSH_ENV}" > /dev/null
754+}
755+
756+# Source SSH settings, if applicable
757+
758+if [ -f "${SSH_ENV}" ]; then
759+ . "${SSH_ENV}" > /dev/null
760+ #ps ${SSH_AGENT_PID} doesn't work under cywgin
761+ ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
762+ start_agent;
763+ }
764+else
765+ start_agent;
766+fi
767diff --git a/dot_local/bin/executable_testcolor b/dot_local/bin/executable_testcolor
768new file mode 100644
769index 0000000000000000000000000000000000000000..a1381187997a0e758ebaf2f18088873f9fe831fa
770--- /dev/null
771+++ b/dot_local/bin/executable_testcolor
772@@ -0,0 +1,43 @@
773+#!/usr/bin/perl
774+# Author: Todd Larason <jtl@molehill.org>
775+# $XFree86: xc/programs/xterm/vttests/256colors2.pl,v 1.2 2002/03/26 01:46:43 dickey Exp $
776+
777+# use the resources for colors 0-15 - usually more-or-less a
778+# reproduction of the standard ANSI colors, but possibly more
779+# pleasing shades
780+
781+# colors 232-255 are a grayscale ramp, intentionally leaving out
782+
783+# display the colors
784+
785+# first the system ones:
786+print "ANSI colors:\n";
787+for ($color = 0; $color < 8; $color++) {
788+ print "\x1b[48;5;${color}m ";
789+}
790+print "\x1b[0m\n";
791+for ($color = 8; $color < 16; $color++) {
792+ print "\x1b[48;5;${color}m ";
793+}
794+print "\x1b[0m\n\n";
795+
796+# now the color cube
797+print "Color cube, 6x6x6:\n";
798+for ($green = 0; $green < 6; $green++) {
799+ for ($red = 0; $red < 6; $red++) {
800+ for ($blue = 0; $blue < 6; $blue++) {
801+ $color = 16 + ($red * 36) + ($green * 6) + $blue;
802+ print "\x1b[48;5;${color}m ";
803+ }
804+ print "\x1b[0m ";
805+ }
806+ print "\n";
807+}
808+
809+# now the grayscale ramp
810+print "Grayscale ramp:\n";
811+for ($color = 232; $color < 256; $color++) {
812+ print "\x1b[48;5;${color}m ";
813+}
814+print "\x1b[0m\n";
815+
816diff --git a/dot_local/bin/executable_testtruecolor b/dot_local/bin/executable_testtruecolor
817new file mode 100644
818index 0000000000000000000000000000000000000000..19349cbe17ac65eebab5f07eeae3c8f712108550
819--- /dev/null
820+++ b/dot_local/bin/executable_testtruecolor
821@@ -0,0 +1,17 @@
822+#!/bin/bash
823+
824+# Print True color test strip
825+awk -v term_cols="${width:-$(tput cols || echo 80)}" 'BEGIN{
826+ s=" ";
827+ for (colnum = 0; colnum<term_cols; colnum++) {
828+ r = 255-(colnum*255/term_cols);
829+ g = (colnum*510/term_cols);
830+ b = (colnum*255/term_cols);
831+ if (g>255) g = 510-g;
832+ printf "\033[48;2;%d;%d;%dm", r,g,b;
833+ printf "\033[38;2;%d;%d;%dm", 255-r,255-g,255-b;
834+ printf "%s\033[0m", substr(s,colnum%2+1,1);
835+ }
836+ printf "\n";
837+}'
838+
839diff --git a/dot_local/bin/symlink_myazo b/dot_local/bin/symlink_myazo
840new file mode 100644
841index 0000000000000000000000000000000000000000..808e5c46a5fe8e2f36af6d04fdd56ae4f748422e
842--- /dev/null
843+++ b/dot_local/bin/symlink_myazo
844@@ -0,0 +1 @@
845+/home/pavle/dev/webdev/myazo/client/myazo.py
846diff --git a/dot_local/bin/symlink_myazo-image b/dot_local/bin/symlink_myazo-image
847new file mode 100644
848index 0000000000000000000000000000000000000000..3ab4b9ec2c632771cb7121a5bc90044092b7cfd4
849--- /dev/null
850+++ b/dot_local/bin/symlink_myazo-image
851@@ -0,0 +1 @@
852+/home/pavle/dev/webdev/myazo/client/myazo-image.py
853diff --git a/dot_local/bin/symlink_rpn b/dot_local/bin/symlink_rpn
854new file mode 100644
855index 0000000000000000000000000000000000000000..29d4f7916aa0d8618974ce356ae823038fc1217f
856--- /dev/null
857+++ b/dot_local/bin/symlink_rpn
858@@ -0,0 +1 @@
859+/home/pavle/dev/python/rpncalc/rpncalc.py
860diff --git a/dot_local/share/nvim/templates/=template=.c b/dot_local/share/nvim/templates/=template=.c
861new file mode 100644
862index 0000000000000000000000000000000000000000..636275a5294f6c905f3835be05a941d9caac32d9
863--- /dev/null
864+++ b/dot_local/share/nvim/templates/=template=.c
865@@ -0,0 +1,8 @@
866+/*
867+ * %FFILE%
868+ * Copyright (C) %YEAR% %USER% <%MAIL%>
869+ *
870+ * Distributed under terms of the %LICENSE% license.
871+ */
872+
873+%HERE%
874diff --git a/dot_local/share/nvim/templates/=template=.html b/dot_local/share/nvim/templates/=template=.html
875new file mode 100644
876index 0000000000000000000000000000000000000000..983317ba639b10a3e453c8ec3a76849b1610acb5
877--- /dev/null
878+++ b/dot_local/share/nvim/templates/=template=.html
879@@ -0,0 +1,11 @@
880+<!DOCTYPE html>
881+<html>
882+ <head>
883+ <meta charset="utf-8" />
884+ <title>%CLASS%</title>
885+ </head>
886+ <body>
887+ %HERE%
888+ </body>
889+</html>
890+
891diff --git a/dot_local/share/nvim/templates/=template=.js b/dot_local/share/nvim/templates/=template=.js
892new file mode 100644
893index 0000000000000000000000000000000000000000..f1bc8bb90647e8918484909178ff887ee14fe5e7
894--- /dev/null
895+++ b/dot_local/share/nvim/templates/=template=.js
896@@ -0,0 +1,9 @@
897+/*
898+ * %FFILE%
899+ * Copyright (C) %YEAR% %USER% <%MAIL%>
900+ *
901+ * Distributed under terms of the %LICENSE% license.
902+ */
903+
904+%HERE%
905+
906diff --git a/dot_local/share/nvim/templates/=template=.py b/dot_local/share/nvim/templates/=template=.py
907new file mode 100644
908index 0000000000000000000000000000000000000000..48f9aa3667ec3e7d8bcab30cc065459b65ef145b
909--- /dev/null
910+++ b/dot_local/share/nvim/templates/=template=.py
911@@ -0,0 +1,11 @@
912+#! /usr/bin/env python
913+# -*- coding: utf-8 -*-
914+# vim:fenc=utf-8
915+#
916+# Copyright © %YEAR% %USER% <%MAIL%>
917+#
918+# Distributed under terms of the %LICENSE% license.
919+
920+
921+%HERE%
922+
923diff --git a/dot_spacevim b/dot_spacevim
924new file mode 100644
925index 0000000000000000000000000000000000000000..0d328ae19dbd00798f407d15bb3f967597f6315f
926--- /dev/null
927+++ b/dot_spacevim
928@@ -0,0 +1,325 @@
929+" vim: set ft=vim: syntax=vim
930+" Use exclude option if you don't want the full Layer,
931+" e.g., Layer 'better-defaults', { 'exclude': 'itchyny/vim-cursorword' }
932+function! Layers()
933+
934+ Layer 'better-defaults', { 'exclude': [
935+ \ 'kshenoy/vim-signature',
936+ \ 'google/vim-searchindex',
937+ \ 'mhinz/vim-startify',
938+ \ ] }
939+ Layer 'unite'
940+ Layer 'airline'
941+ Layer 'programming', { 'exclude': [
942+ \ 'luochen1990/rainbow',
943+ \ ] }
944+ Layer 'editing'
945+ Layer 'fzf'
946+ Layer 'git'
947+ Layer 'syntax-checking'
948+ Layer 'deoplete', {'exclude': [
949+ \ 'eagletmt/neco-ghc',
950+ \ 'sebastianmarkow/deoplete-rust',
951+ \ 'zchee/deoplete-go',
952+ \ ]}
953+ Layer 'c-c++'
954+ Layer 'docker'
955+ Layer 'html'
956+ Layer 'javascript'
957+ Layer 'markdown'
958+ Layer 'python', {'exclude': [
959+ \ 'python-mode/python-mode',
960+ \ ]}
961+
962+endfunction
963+
964+function! UserInit()
965+
966+ Plug 'morhetz/gruvbox'
967+ Plug 'chr4/nginx.vim'
968+ Plug 'Firef0x/PKGBUILD.vim'
969+ Plug 'alvan/vim-closetag'
970+ Plug 'lepture/vim-jinja'
971+ Plug 'aperezdc/vim-template'
972+ Plug 'elzr/vim-json'
973+ Plug 'andymass/vim-matchup'
974+ Plug 'zchee/deoplete-jedi', { 'for': 'python' }
975+ Plug 'davidhalter/jedi-vim', { 'for': 'python' }
976+ Plug 'idbrii/vim-remarkjs'
977+ Plug 'idbrii/vim-gogo'
978+ Plug 'edkolev/tmuxline.vim'
979+ Plug 'tpope/vim-repeat'
980+ Plug 'diepm/vim-rest-console'
981+ Plug 'RRethy/vim-hexokinase'
982+ Plug 'mbbill/undotree'
983+
984+endfunction
985+
986+" Override the existing configurations and add extras here.
987+function! UserConfig()
988+
989+ set termguicolors
990+ color gruvbox
991+ set encoding=utf8
992+ set shell=/bin/bash
993+ set autochdir
994+ set laststatus=2
995+ "set timeoutlen=300
996+ "set backspace=2
997+ set showcmd
998+ set wrap
999+ set linebreak
1000+ set number
1001+ set relativenumber
1002+ set cursorline
1003+ set cursorcolumn
1004+ set tabstop=4
1005+ set shiftwidth=4
1006+ set softtabstop=4
1007+ set textwidth=0
1008+ set noexpandtab
1009+ set autoindent
1010+ set background=dark
1011+ set list
1012+ set listchars=tab:│\ ,trail:~,extends:>,precedes:<
1013+ set splitright
1014+ set splitbelow
1015+ set foldmethod=indent
1016+
1017+ " Persistent undo
1018+ set undofile
1019+ set undodir=~/.local/share/nvim/undodir
1020+
1021+ " Set default LICENSE
1022+ let g:license = 'BSD-3-Clause'
1023+ let g:email = 'pavle.portic@tilda.center'
1024+
1025+ " Set python path
1026+ let g:python_host_prog = '/usr/bin/python'
1027+
1028diff --git a/dot_xinitrc b/dot_xinitrc
1029new file mode 100644
1030index 0000000000000000000000000000000000000000..3688c9740e2f3032fba41706662c33ddf10d8b74
1031--- /dev/null
1032+++ b/dot_xinitrc
1033@@ -0,0 +1,26 @@
1034+#!/bin/bash
1035+
1036+userresources=$HOME/.Xresources
1037+usermodmap=$HOME/.Xmodmap
1038+
1039+if [ -f "$userresources" ]; then
1040+ xrdb -merge "$userresources"
1041+fi
1042+
1043+if [ -f "$usermodmap" ]; then
1044+ xmodmap "$usermodmap"
1045+fi
1046+
1047+source /etc/X11/xinit/xinitrc.d/50-systemd-user.sh
1048+
1049+xset fp rehash
1050+xset dpms 3600 3600 3600
1051+xset s 3600 3600
1052+xhost +localhost
1053+xhost +natrium
1054+xcape -e 'Control_L=Escape'
1055+xbindkeys
1056+feh --bg-fill /home/pavle/pictures/wallpapers/arboreal_serenity.jpg
1057+
1058+exec i3
1059+
1060diff --git a/dot_zshrc b/dot_zshrc
1061new file mode 100644
1062index 0000000000000000000000000000000000000000..2e95f22f77f1e9d63c5ab1b16179a77c96dc74c5
1063--- /dev/null
1064+++ b/dot_zshrc
1065@@ -0,0 +1,148 @@
1066+# vim: ft=zsh
1067+# History settings
1068+HISTFILE=~/.config/zsh/histfile
1069+HISTSIZE=10000
1070+SAVEHIST=10000
1071+setopt HIST_IGNORE_DUPS
1072+
1073+# Misc options
1074+setopt autocd extendedglob notify
1075+# setopt SOURCE_TRACE
1076+unsetopt beep nomatch
1077+bindkey -v
1078+
1079+source ~/.config/zsh/antigen.zsh
1080+
1081+# Load the oh-my-zsh's library.
1082+antigen use oh-my-zsh
1083+
1084+# Load plugins from oh-my-zsh
1085+antigen bundle archlinux
1086+antigen bundle aws
1087+antigen bundle colored-man-pages
1088+antigen bundle colorize
1089+antigen bundle common-aliases
1090+antigen bundle copybuffer
1091+antigen bundle docker
1092+antigen bundle docker-compose
1093+antigen bundle extract
1094+antigen bundle git
1095+
1096+# Additional antigen plugins
1097+antigen bundle zsh-users/zsh-autosuggestions
1098+antigen bundle zsh-users/zsh-syntax-highlighting
1099+antigen bundle MichaelAquilina/zsh-you-should-use
1100+antigen bundle zsh-users/zsh-completions
1101+
1102+# Load theme
1103+antigen theme https://gitlab.theedgeofrage.com/TheEdgeOfRage/boban-zsh.git
1104+antigen apply
1105+
1106+# Completion options
1107+zstyle :compinstall filename '$HOME/.zshrc'
1108+zstyle ':completion:*' menu select
1109+fpath=(~/.config/zsh/completions ~/.config/zsh/functions $fpath)
1110+autoload -Uz compinit && compinit
1111+autoload -Uz ~/.config/zsh/functions/*
1112+
1113+# Aliases
1114+alias '...'='../..'
1115+alias '....'='../../..'
1116+alias '.....'='../../../..'
1117+alias '......'='../../../../..'
1118+alias '.......'='../../../../../..'
1119+alias '........'='../../../../../../..'
1120+alias ls='ls --group-directories-first --color=always --time-style=long-iso'
1121+alias cl=clear
1122+alias cdl='cd ~/ && cl'
1123+alias rmr='rm -rIf'
1124+alias mkdir='mkdir -p'
1125+alias df='df -h'
1126+alias ran=ranger
1127+alias -g WC='| wc -l'
1128+alias rcp='rsync -rPv'
1129+alias cal='cal -m'
1130+alias grep='grep -Hn --color=always'
1131+alias -g NO='>/dev/null 2>&1'
1132+alias -g clip='xclip -selection c'
1133+alias db='sudo duplicity-backup -c /etc/duplicity/duplicity-backup.conf'
1134+alias wakerouter='wol 18:a9:05:39:c4:4d'
1135+alias myip='curl icanhazip.com'
1136+alias -g vim='nvim'
1137+alias manage='python manage.py'
1138+alias zpool='sudo zpool'
1139+alias 'zpool import'='zpool import -d /dev/disk/by-id'
1140+alias zfs='sudo zfs'
1141+alias fdisk='sudo fdisk'
1142+alias cfn='cfn-lint'
1143+alias diff='diff -y --suppress-common-lines'
1144+alias -g HASH='| sha256sum | base64 H -n1 | clip'
1145+alias cz=chezmoi
1146+
1147+# Systemctl aliases
1148+alias sctl='sudo systemctl'
1149+alias sstatus='sudo systemctl status'
1150+alias sstart='sudo systemctl start'
1151+alias srestart='sudo systemctl restart'
1152+alias sreload='sudo systemctl reload'
1153+alias sstop='sudo systemctl stop'
1154+alias senable='sudo systemctl enable'
1155+alias sdisable='sudo systemctl disable'
1156+alias hib='sudo systemctl suspend'
1157+
1158+alias suctl='systemctl --user'
1159+alias sustatus='systemctl --user status'
1160+alias sustart='systemctl --user start'
1161+alias surestart='systemctl --user restart'
1162+alias sureload='systemctl --user reload'
1163+alias sustop='systemctl --user stop'
1164+alias suenable='systemctl --user enable'