ansible #1

Merged
onjen merged 14 commits from ansible into master 2021-08-26 20:53:23 +02:00
45 changed files with 558 additions and 1999 deletions

4
.gitignore vendored Normal file
View File

@ -0,0 +1,4 @@
id_rsa
id_rsa.pub
id_rsa-cert.pub
known_hosts

11
README.md Normal file
View File

@ -0,0 +1,11 @@
Ansible must be installed.
Invoke with
`ansible-playbook -i hosts.ini dotfiles.yml -K`
TODO
* monokai scheme
* gitconfig
* make idempotent
* firefox und addons/filterlisten

3
ansible.cfg Normal file
View File

@ -0,0 +1,3 @@
[defaults]
retry_files_enabled = False
interpreter_python=/usr/bin/python3

19
bashrc
View File

@ -1,19 +0,0 @@
# Magazino settings
IS_ROBOT=no
COLOR_PROMPT=yes
export CATKIN_WS=/home/rothe/catkin_ws
export CMAN_CONFIG_DIR=/opt/magazino/config
export FZF_ENABLED=yes
source /home/rothe/dotfiles/bash/bashrc_magazino
# Git settings
export GIT_AUTHOR_NAME="Johannes Rothe"
export GIT_AUTHOR_EMAIL=rothe@magazino.eu
export GIT_COMMITTER_NAME="$GIT_AUTHOR_NAME"
export GIT_COMMITTER_EMAIL="$GIT_AUTHOR_EMAIL"
# aliases
alias ..="cd .."
alias ...="cd ../.."
alias ll='ls -alFh'
alias vim="nvim"

View File

@ -1,429 +0,0 @@
# Configuration for Alacritty, the GPU enhanced terminal emulator
# Any items in the `env` entry below will be added as
# environment variables. Some entries may override variables
# set by alacritty it self.
env:
# TERM env customization.
#
# If this property is not set, alacritty will set it to xterm-256color.
#
# Note that some xterm terminfo databases don't declare support for italics.
# You can verify this by checking for the presence of `smso` and `sitm` in
# `infocmp xterm-256color`.
TERM: xterm-256color
window:
# Window dimensions in character columns and lines
# Falls back to size specified by window manager if set to 0x0.
# (changes require restart)
dimensions:
columns: 80
lines: 24
# Adds this many blank pixels of padding around the window
# Units are physical pixels; this is not DPI aware.
# (change requires restart)
padding:
x: 2
y: 2
# Window decorations
# Setting this to false will result in window without borders and title bar.
decorations: true
# Display tabs using this many cells (changes require restart)
tabspaces: 8
# When true, bold text is drawn using the bright variant of colors.
draw_bold_text_with_bright_colors: true
# Font configuration (changes require restart)
#
# Important font attributes like antialiasing, subpixel aa, and hinting can be
# controlled through fontconfig. Specifically, the following attributes should
# have an effect:
#
# * hintstyle
# * antialias
# * lcdfilter
# * rgba
#
# For instance, if you wish to disable subpixel antialiasing, you might set the
# rgba property to "none". If you wish to completely disable antialiasing, you
# can set antialias to false.
#
# Please see these resources for more information on how to use fontconfig
#
# * https://wiki.archlinux.org/index.php/font_configuration#Fontconfig_configuration
# * file:///usr/share/doc/fontconfig/fontconfig-user.html
font:
# The normal (roman) font face to use.
normal:
family: "Roboto Mono"
style: Regular
# The bold font face
bold:
family: "Roboto Mono"
style: Bold
# The italic font face
italic:
family: "Roboto Mono"
style: Italic
# Point size of the font
size: 9.0
# Offset is the extra space around each character. offset.y can be thought of
# as modifying the linespacing, and offset.x as modifying the letter spacing.
offset:
x: 0
y: 0
# Glyph offset determines the locations of the glyphs within their cells with
# the default being at the bottom. Increase the x offset to move the glyph to
# the right, increase the y offset to move the glyph upward.
glyph_offset:
x: 0
y: 0
# Scale the font size based on the monitor's DPI. This will lead to bigger text on HiDPI
# screens and make reading text a little easier.
# On X11 it is possible to change the DPI for each instance of alacritty by using
# `WINIT_HIDPI_FACTOR=1.0 alacritty` to scale the font.
scale_with_dpi: false
# OS X only: use thin stroke font rendering. Thin strokes are suitable
# for retina displays, but for non-retina you probably want this set to
# false.
use_thin_strokes: false
# Should display the render timer
render_timer: false
# Use custom cursor colors. If true, display the cursor in the cursor.foreground
# and cursor.background colors, otherwise invert the colors of the cursor.
custom_cursor_colors: false
# Colors (Tomorrow Night Bright)
colors:
# Default colors
primary:
background: '0x0f0f14'
foreground: '0xeaeaea'
# (Optional) Bright and Dim foreground colors
#
# The dimmed foreground color is calculated automatically if it is not present.
# If the bright foreground color is not set, or `draw_bold_text_with_bright_colors`
# is `false`, the normal foreground color will be used.
#
# dim_foreground: '0x9a9a9a'
# bright_foreground: '0xffffff'
# Colors the cursor will use if `custom_cursor_colors` is true
cursor:
text: '0x000000'
cursor: '0xffffff'
# Normal colors
normal:
black: '0x000000'
red: '0xd54e53'
green: '0xb9ca4a'
yellow: '0xe6c547'
blue: '0x7aa6da'
magenta: '0xc397d8'
cyan: '0x70c0ba'
white: '0xffffff'
# Bright colors
bright:
black: '0x666666'
red: '0xff3334'
green: '0x9ec400'
yellow: '0xe7c547'
blue: '0x7aa6da'
magenta: '0xb77ee0'
cyan: '0x54ced6'
white: '0xffffff'
# Dim colors (Optional)
dim:
black: '0x333333'
red: '0xf2777a'
green: '0x99cc99'
yellow: '0xffcc66'
blue: '0x6699cc'
magenta: '0xcc99cc'
cyan: '0x66cccc'
white: '0xdddddd'
scrolling:
# How many lines of scrollback to keep,
# '0' will disable scrolling.
history: 1000000
# Number of lines the viewport will move for every line
# scrolled when scrollback is enabled (history > 0).
multiplier: 3
# Faux Scrolling
#
# The `faux_multiplier` setting controls the number
# of lines the terminal should scroll when the alternate
# screen buffer is active. This is used to allow mouse
# scrolling for applications like `man`.
#
# To disable this completely, set `faux_multiplier` to 0.
faux_multiplier: 3
# Automatically scroll to the bottom when new text is written
# to the terminal.
auto_scroll: false
# Visual Bell
#
# Any time the BEL code is received, Alacritty "rings" the visual bell. Once
# rung, the terminal background will be set to white and transition back to the
# default background color. You can control the rate of this transition by
# setting the `duration` property (represented in milliseconds). You can also
# configure the transition function by setting the `animation` property.
#
# Possible values for `animation`
# `Ease`
# `EaseOut`
# `EaseOutSine`
# `EaseOutQuad`
# `EaseOutCubic`
# `EaseOutQuart`
# `EaseOutQuint`
# `EaseOutExpo`
# `EaseOutCirc`
# `Linear`
#
# To completely disable the visual bell, set its duration to 0.
#
visual_bell:
animation: EaseOutExpo
duration: 0
# Background opacity
background_opacity: 1.0
# Mouse bindings
#
# Currently doesn't support modifiers. Both the `mouse` and `action` fields must
# be specified.
#
# Values for `mouse`:
# - Middle
# - Left
# - Right
# - Numeric identifier such as `5`
#
# Values for `action`:
# - Paste
# - PasteSelection
# - Copy (TODO)
mouse_bindings:
- { mouse: Middle, action: PasteSelection }
mouse:
# Click settings
#
# The `double_click` and `triple_click` settings control the time
# alacritty should wait for accepting multiple clicks as one double
# or triple click.
double_click: { threshold: 300 }
triple_click: { threshold: 300 }
# Faux Scrollback
#
# The `faux_scrollback_lines` setting controls the number
# of lines the terminal should scroll when the alternate
# screen buffer is active. This is used to allow mouse
# scrolling for applications like `man`.
#
# To disable this completely, set `faux_scrollback_lines` to 0.
faux_scrollback_lines: 1
selection:
semantic_escape_chars: ",│`|:\"' ()[]{}<>"
dynamic_title: true
hide_cursor_when_typing: false
# Style of the cursor
#
# Values for 'cursor_style':
# - Block
# - Underline
# - Beam
cursor_style: Block
# Whether the cursor should be a hollow block on window focus loss
unfocused_hollow_cursor: true
# Live config reload (changes require restart)
live_config_reload: true
# Shell
#
# You can set shell.program to the path of your favorite shell, e.g. /bin/fish.
# Entries in shell.args are passed unmodified as arguments to the shell.
#
# shell:
# program: /bin/bash
# args:
# - --login
# Key bindings
#
# Each binding is defined as an object with some properties. Most of the
# properties are optional. All of the alphabetical keys should have a letter for
# the `key` value such as `V`. Function keys are probably what you would expect
# as well (F1, F2, ..). The number keys above the main keyboard are encoded as
# `Key1`, `Key2`, etc. Keys on the number pad are encoded `Number1`, `Number2`,
# etc. These all match the glutin::VirtualKeyCode variants.
#
# A list with all available `key` names can be found here:
# https://docs.rs/glutin/*/glutin/enum.VirtualKeyCode.html#variants
#
# Possible values for `mods`
# `Command`, `Super` refer to the super/command/windows key
# `Control` for the control key
# `Shift` for the Shift key
# `Alt` and `Option` refer to alt/option
#
# mods may be combined with a `|`. For example, requiring control and shift
# looks like:
#
# mods: Control|Shift
#
# The parser is currently quite sensitive to whitespace and capitalization -
# capitalization must match exactly, and piped items must not have whitespace
# around them.
#
# Either an `action`, `chars`, or `command` field must be present.
# `action` must be one of `Paste`, `PasteSelection`, `Copy`, or `Quit`.
# `chars` writes the specified string every time that binding is activated.
# These should generally be escape sequences, but they can be configured to
# send arbitrary strings of bytes.
# `command` must be a map containing a `program` string, and `args` array of
# strings. For example:
# - { ... , command: { program: "alacritty", args: ["-e", "vttest"] } }
#
# Want to add a binding (e.g. "PageUp") but are unsure what the X sequence
# (e.g. "\x1b[5~") is? Open another terminal (like xterm) without tmux,
# then run `showkey -a` to get the sequence associated to a key combination.
key_bindings:
- { key: V, mods: Control|Shift, action: Paste }
- { key: C, mods: Control|Shift, action: Copy }
- { key: Paste, action: Paste }
- { key: Copy, action: Copy }
- { key: Q, mods: Command, action: Quit }
- { key: W, mods: Command, action: Quit }
- { key: Insert, mods: Shift, action: PasteSelection }
- { key: Key0, mods: Control, action: ResetFontSize }
- { key: Equals, mods: Control, action: IncreaseFontSize }
- { key: Subtract, mods: Control, action: DecreaseFontSize }
- { key: Home, chars: "\x1bOH", mode: AppCursor }
- { key: Home, chars: "\x1b[H", mode: ~AppCursor }
- { key: End, chars: "\x1bOF", mode: AppCursor }
- { key: End, chars: "\x1b[F", mode: ~AppCursor }
- { key: PageUp, mods: Shift, chars: "\x1b[5;2~" }
- { key: PageUp, mods: Control, chars: "\x1b[5;5~" }
- { key: PageUp, chars: "\x1b[5~" }
- { key: PageDown, mods: Shift, chars: "\x1b[6;2~" }
- { key: PageDown, mods: Control, chars: "\x1b[6;5~" }
- { key: PageDown, chars: "\x1b[6~" }
- { key: Tab, mods: Shift, chars: "\x1b[Z" }
- { key: Back, chars: "\x7f" }
- { key: Back, mods: Alt, chars: "\x1b\x7f" }
- { key: Insert, chars: "\x1b[2~" }
- { key: Delete, chars: "\x1b[3~" }
- { key: Left, mods: Shift, chars: "\x1b[1;2D" }
- { key: Left, mods: Control, chars: "\x1b[1;5D" }
- { key: Left, mods: Alt, chars: "\x1b[1;3D" }
- { key: Left, chars: "\x1b[D", mode: ~AppCursor }
- { key: Left, chars: "\x1bOD", mode: AppCursor }
- { key: Right, mods: Shift, chars: "\x1b[1;2C" }
- { key: Right, mods: Control, chars: "\x1b[1;5C" }
- { key: Right, mods: Alt, chars: "\x1b[1;3C" }
- { key: Right, chars: "\x1b[C", mode: ~AppCursor }
- { key: Right, chars: "\x1bOC", mode: AppCursor }
- { key: Up, mods: Shift, chars: "\x1b[1;2A" }
- { key: Up, mods: Control, chars: "\x1b[1;5A" }
- { key: Up, mods: Alt, chars: "\x1b[1;3A" }
- { key: Up, chars: "\x1b[A", mode: ~AppCursor }
- { key: Up, chars: "\x1bOA", mode: AppCursor }
- { key: Down, mods: Shift, chars: "\x1b[1;2B" }
- { key: Down, mods: Control, chars: "\x1b[1;5B" }
- { key: Down, mods: Alt, chars: "\x1b[1;3B" }
- { key: Down, chars: "\x1b[B", mode: ~AppCursor }
- { key: Down, chars: "\x1bOB", mode: AppCursor }
- { key: F1, chars: "\x1bOP" }
- { key: F2, chars: "\x1bOQ" }
- { key: F3, chars: "\x1bOR" }
- { key: F4, chars: "\x1bOS" }
- { key: F5, chars: "\x1b[15~" }
- { key: F6, chars: "\x1b[17~" }
- { key: F7, chars: "\x1b[18~" }
- { key: F8, chars: "\x1b[19~" }
- { key: F9, chars: "\x1b[20~" }
- { key: F10, chars: "\x1b[21~" }
- { key: F11, chars: "\x1b[23~" }
- { key: F12, chars: "\x1b[24~" }
- { key: F1, mods: Shift, chars: "\x1b[1;2P" }
- { key: F2, mods: Shift, chars: "\x1b[1;2Q" }
- { key: F3, mods: Shift, chars: "\x1b[1;2R" }
- { key: F4, mods: Shift, chars: "\x1b[1;2S" }
- { key: F5, mods: Shift, chars: "\x1b[15;2~" }
- { key: F6, mods: Shift, chars: "\x1b[17;2~" }
- { key: F7, mods: Shift, chars: "\x1b[18;2~" }
- { key: F8, mods: Shift, chars: "\x1b[19;2~" }
- { key: F9, mods: Shift, chars: "\x1b[20;2~" }
- { key: F10, mods: Shift, chars: "\x1b[21;2~" }
- { key: F11, mods: Shift, chars: "\x1b[23;2~" }
- { key: F12, mods: Shift, chars: "\x1b[24;2~" }
- { key: F1, mods: Control, chars: "\x1b[1;5P" }
- { key: F2, mods: Control, chars: "\x1b[1;5Q" }
- { key: F3, mods: Control, chars: "\x1b[1;5R" }
- { key: F4, mods: Control, chars: "\x1b[1;5S" }
- { key: F5, mods: Control, chars: "\x1b[15;5~" }
- { key: F6, mods: Control, chars: "\x1b[17;5~" }
- { key: F7, mods: Control, chars: "\x1b[18;5~" }
- { key: F8, mods: Control, chars: "\x1b[19;5~" }
- { key: F9, mods: Control, chars: "\x1b[20;5~" }
- { key: F10, mods: Control, chars: "\x1b[21;5~" }
- { key: F11, mods: Control, chars: "\x1b[23;5~" }
- { key: F12, mods: Control, chars: "\x1b[24;5~" }
- { key: F1, mods: Alt, chars: "\x1b[1;6P" }
- { key: F2, mods: Alt, chars: "\x1b[1;6Q" }
- { key: F3, mods: Alt, chars: "\x1b[1;6R" }
- { key: F4, mods: Alt, chars: "\x1b[1;6S" }
- { key: F5, mods: Alt, chars: "\x1b[15;6~" }
- { key: F6, mods: Alt, chars: "\x1b[17;6~" }
- { key: F7, mods: Alt, chars: "\x1b[18;6~" }
- { key: F8, mods: Alt, chars: "\x1b[19;6~" }
- { key: F9, mods: Alt, chars: "\x1b[20;6~" }
- { key: F10, mods: Alt, chars: "\x1b[21;6~" }
- { key: F11, mods: Alt, chars: "\x1b[23;6~" }
- { key: F12, mods: Alt, chars: "\x1b[24;6~" }
- { key: F1, mods: Super, chars: "\x1b[1;3P" }
- { key: F2, mods: Super, chars: "\x1b[1;3Q" }
- { key: F3, mods: Super, chars: "\x1b[1;3R" }
- { key: F4, mods: Super, chars: "\x1b[1;3S" }
- { key: F5, mods: Super, chars: "\x1b[15;3~" }
- { key: F6, mods: Super, chars: "\x1b[17;3~" }
- { key: F7, mods: Super, chars: "\x1b[18;3~" }
- { key: F8, mods: Super, chars: "\x1b[19;3~" }
- { key: F9, mods: Super, chars: "\x1b[20;3~" }
- { key: F10, mods: Super, chars: "\x1b[21;3~" }
- { key: F11, mods: Super, chars: "\x1b[23;3~" }
- { key: F12, mods: Super, chars: "\x1b[24;3~" }

View File

@ -1,51 +0,0 @@
[global]
font = "Roboto Mono 8"
allow_markup = ye
format = "<b>%s</b>\n%b"
sort = yes
indicate_hidden = yes
alignment = center
bounce_freq = 0
show_age_threshold = 60
word_wrap = yes
ignore_newline = no
geometry = "200x5-6+30"
transparency = 0
idle_threshold = 120
monitor = 0
follow = mouse
sticky_history = yes
line_height = 0
separator_height = 2
padding = 8
horizontal_padding = 8
separator_color = "#585858"
startup_notification = false
# https://github.com/knopwob/dunst/issues/26#issuecomment-36159395
#icon_position = left
#icon_folders = /usr/share/icons/elementary/actions/16/
[frame]
width = 1
color = "#383838"
[shortcuts]
close = ctrl+space
close_all = ctrl+shift+space
history = ctrl+dead_circumflex
context = ctrl+shift+period
[urgency_low]
background = "#181818"
foreground = "#E3C7AF"
timeout = 5
[urgency_normal]
background = "#181818"
foreground = "#E3C7AF"
timeout = 7
[urgency_critical]
background = "#181818"
foreground = "#E3C7AF"
timeout = 0

View File

@ -1,19 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- $XDG_CONFIG_HOME/fontconfig/fonts.conf for per-user font configuration -->
<fontconfig>
<!--
Private font directory
-->
<dir prefix="xdg">fonts</dir>
<!--
use rgb sub-pixel ordering to improve glyph appearance on
LCD screens. Changes affecting rendering, but not matching
should always use target="font".
-->
<match target="font">
<edit name="rgba" mode="assign"><const>rgb</const></edit>
</match>
</fontconfig>

View File

@ -1,204 +0,0 @@
# 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 http://i3wm.org/docs/userguide.html for a complete reference!
set $mod Mod1
# Font for window titles. Will also be used by the bar unless a different font
# is used in the bar {} block below.
font pango:Roboto Medium 8
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# start a terminal
bindsym $mod+Return exec terminator
# 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
# german keyboard layout
exec setxkbmap -layout de
# notifications for offlineimap
exec '~/src/dotfiles/offlineimap_notify.py'
# add key to authentication agent
exec ssh-add
# start redshift
exec redshift-gtk
# start nm-applet
exec nm-applet
# set trackpoint accelecration
exec xinput --set-prop 12 'libinput Accel Speed' -0.75
# start dropbox
exec dropbox start
# move workspace to left and right monitors
bindsym $mod+Shift+bracketleft move workspace to output left
bindsym $mod+Shift+bracketright move workspace to output right
# scratchpad
exec chromium-browser --kiosk todoist.com
for_window [instance="chromium-browser"] move scratchpad
bindsym $mod+minus scratchpad show
# no window title
new_window 1pixel
# lock
bindsym Mod4+l exec i3lock -c 333333
# lock and suspend
bindsym Mod4+s exec i3lock -c 333333 && systemctl suspend
# screenshot
bindsym --release Print exec scrot -s '%Y-%m-%d-%H-%M-%S.png' -e 'mv $f ~/Pictures/shots/'
# Pulse Audio controls
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5%
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -5%
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle
# Sreen brightness controls, needs https://github.com/haikarainen/light
bindsym XF86MonBrightnessUp exec ~/src/light/light -A 10.0 -l
bindsym XF86MonBrightnessDown exec ~/src/light/light -U 10.0 -l
# use these keys for focus, movement, and resize directions when reaching for
# the arrows is not convenient
set $up k
set $down j
set $left h
set $right l
# change focus
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+h move left
bindsym $mod+Shift+k move down
bindsym $mod+Shift+j 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+g 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
# switch to workspace
bindsym $mod+1 workspace 1
bindsym $mod+2 workspace 2
bindsym $mod+3 workspace 3
bindsym $mod+4 workspace 4
bindsym $mod+5 workspace 5
bindsym $mod+6 workspace 6
bindsym $mod+7 workspace 7
bindsym $mod+8 workspace 8
bindsym $mod+9 workspace 9
bindsym $mod+0 workspace 10
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace 1
bindsym $mod+Shift+2 move container to workspace 2
bindsym $mod+Shift+3 move container to workspace 3
bindsym $mod+Shift+4 move container to workspace 4
bindsym $mod+Shift+5 move container to workspace 5
bindsym $mod+Shift+6 move container to workspace 6
bindsym $mod+Shift+7 move container to workspace 7
bindsym $mod+Shift+8 move container to workspace 8
bindsym $mod+Shift+9 move container to workspace 9
bindsym $mod+Shift+0 move container to workspace 10
# 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
#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 windows width.
# Pressing right will grow the windows width.
# Pressing up will shrink the windows height.
# Pressing down will grow the windows height.
bindsym j resize shrink width 10 px or 10 ppt
bindsym k resize grow height 10 px or 10 ppt
bindsym l resize shrink height 10 px or 10 ppt
bindsym 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
bindsym Return mode "default"
bindsym Escape 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 ~/src/dotfiles/i3status_append.sh
}

View File

@ -1,77 +0,0 @@
general {
# output_format = "dzen2"
colors = true
interval = 5
}
# order += "ipv6"
# order += "disk /"
# order += "run_watch DHCP"
# order += "run_watch VPNC"
order += "wireless wlp3s0"
order += "ethernet enp0s31f6"
order += "battery 0"
order += "cpu_temperature 0"
order += "load"
order += "tztime local"
# order += "tztime berlin"
wireless wlp3s0 {
format_up = "%quality %essid %bitrate"
format_down = "W: down"
}
ethernet enp0s31f6 {
# if you use %speed, i3status requires the cap_net_admin capability
format_up = "E: %ip (%speed)"
format_down = ""
}
battery 0 {
format = "%status %percentage %remaining"
format_down = "No battery"
integer_battery_capacity = true
status_chr = "⚇ CHR"
status_bat = "⚡ BAT"
status_full = "☻ FULL"
path = "/sys/class/power_supply/BAT%d/uevent"
low_threshold = 10
}
run_watch DHCP {
pidfile = "/var/run/dhclient*.pid"
}
run_watch VPNC {
# file containing the PID of a vpnc process
pidfile = "/var/run/vpnc/pid"
}
path_exists VPN {
# path exists when a VPN tunnel launched by nmcli/nm-applet is active
path = "/proc/sys/net/ipv4/conf/tun0"
format_down = "%title"
}
tztime local {
format = "%d.%m.%Y %H:%M:%S"
}
tztime berlin {
format = "%Y-%m-%d %H:%M:%S %Z"
timezone = "Europe/Berlin"
}
load {
format = "%5min"
}
cpu_temperature 0 {
format = "%degrees °C"
path = "/sys/devices/platform/coretemp.0/hwmon/hwmon3/temp1_input"
}
disk "/" {
format = "%free"
}

View File

@ -1,5 +0,0 @@
let g:netrw_dirhistmax =10
let g:netrw_dirhistcnt =3
let g:netrw_dirhist_3='/home/rothe/.config/nvim'
let g:netrw_dirhist_2='/home/rothe/.config'
let g:netrw_dirhist_1='/home/rothe/.config/inkscape'

View File

@ -1,276 +0,0 @@
" Vim color file
"
" Author: Tomas Restrepo <tomas@winterdom.com>
" https://github.com/tomasr/molokai
"
" Note: Based on the Monokai theme for TextMate
" by Wimer Hazenberg and its darker variant
" by Hamish Stuart Macpherson
"
hi clear
if version > 580
" no guarantees for version 5.8 and below, but this makes it stop
" complaining
hi clear
if exists("syntax_on")
syntax reset
endif
endif
let g:colors_name="molokai"
if exists("g:molokai_original")
let s:molokai_original = g:molokai_original
else
let s:molokai_original = 0
endif
hi Boolean guifg=#AE81FF
hi Character guifg=#E6DB74
hi Number guifg=#AE81FF
hi String guifg=#E6DB74
hi Conditional guifg=#F92672 gui=bold
hi Constant guifg=#AE81FF gui=bold
hi Cursor guifg=#000000 guibg=#F8F8F0
hi iCursor guifg=#000000 guibg=#F8F8F0
hi Debug guifg=#BCA3A3 gui=bold
hi Define guifg=#66D9EF
hi Delimiter guifg=#8F8F8F
hi DiffAdd guibg=#13354A
hi DiffChange guifg=#89807D guibg=#4C4745
hi DiffDelete guifg=#960050 guibg=#1E0010
hi DiffText guibg=#4C4745 gui=italic,bold
hi Directory guifg=#A6E22E gui=bold
hi Error guifg=#E6DB74 guibg=#1E0010
hi ErrorMsg guifg=#F92672 guibg=#232526 gui=bold
hi Exception guifg=#A6E22E gui=bold
hi Float guifg=#AE81FF
hi FoldColumn guifg=#465457 guibg=#000000
hi Folded guifg=#465457 guibg=#000000
hi Function guifg=#A6E22E
hi Identifier guifg=#FD971F
hi Ignore guifg=#808080 guibg=bg
hi IncSearch guifg=#C4BE89 guibg=#000000
hi Keyword guifg=#F92672 gui=bold
hi Label guifg=#E6DB74 gui=none
hi Macro guifg=#C4BE89 gui=italic
hi SpecialKey guifg=#66D9EF gui=italic
hi MatchParen guifg=#000000 guibg=#FD971F gui=bold
hi ModeMsg guifg=#E6DB74
hi MoreMsg guifg=#E6DB74
hi Operator guifg=#F92672
" complete menu
hi Pmenu guifg=#66D9EF guibg=#000000
hi PmenuSel guibg=#808080
hi PmenuSbar guibg=#080808
hi PmenuThumb guifg=#66D9EF
hi PreCondit guifg=#A6E22E gui=bold
hi PreProc guifg=#A6E22E
hi Question guifg=#66D9EF
hi Repeat guifg=#F92672 gui=bold
hi Search guifg=#000000 guibg=#FFE792
" marks
hi SignColumn guifg=#A6E22E guibg=#232526
hi SpecialChar guifg=#F92672 gui=bold
hi SpecialComment guifg=#7E8E91 gui=bold
hi Special guifg=#66D9EF guibg=bg gui=italic
if has("spell")
hi SpellBad guisp=#FF0000 gui=undercurl
hi SpellCap guisp=#7070F0 gui=undercurl
hi SpellLocal guisp=#70F0F0 gui=undercurl
hi SpellRare guisp=#FFFFFF gui=undercurl
endif
hi Statement guifg=#F92672 gui=bold
hi StatusLine guifg=#455354 guibg=fg
hi StatusLineNC guifg=#808080 guibg=#080808
hi StorageClass guifg=#FD971F gui=italic
hi Structure guifg=#66D9EF
hi Tag guifg=#F92672 gui=italic
hi Title guifg=#ef5939
hi Todo guifg=#FFFFFF guibg=bg gui=bold
hi Typedef guifg=#66D9EF
hi Type guifg=#66D9EF gui=none
hi Underlined guifg=#808080 gui=underline
hi VertSplit guifg=#808080 guibg=#080808 gui=bold
hi VisualNOS guibg=#403D3D
hi Visual guibg=#403D3D
hi WarningMsg guifg=#FFFFFF guibg=#333333 gui=bold
hi WildMenu guifg=#66D9EF guibg=#000000
hi TabLineFill guifg=#1B1D1E guibg=#1B1D1E
hi TabLine guibg=#1B1D1E guifg=#808080 gui=none
if s:molokai_original == 1
hi Normal guifg=#F8F8F2 guibg=#272822
hi Comment guifg=#75715E
hi CursorLine guibg=#3E3D32
hi CursorLineNr guifg=#FD971F gui=none
hi CursorColumn guibg=#3E3D32
hi ColorColumn guibg=#3B3A32
hi LineNr guifg=#BCBCBC guibg=#3B3A32
hi NonText guifg=#75715E
hi SpecialKey guifg=#75715E
else
hi Normal guifg=#F8F8F2 guibg=#1B1D1E
hi Comment guifg=#7E8E91
hi CursorLine guibg=#293739
hi CursorLineNr guifg=#FD971F gui=none
hi CursorColumn guibg=#293739
hi ColorColumn guibg=#232526
hi LineNr guifg=#465457 guibg=#232526
hi NonText guifg=#465457
hi SpecialKey guifg=#465457
end
"
" Support for 256-color terminal
"
if &t_Co > 255
if s:molokai_original == 1
hi Normal ctermbg=234
hi CursorLine ctermbg=235 cterm=none
hi CursorLineNr ctermfg=208 cterm=none
else
hi Normal ctermfg=252 ctermbg=233
hi CursorLine ctermbg=234 cterm=none
hi CursorLineNr ctermfg=208 cterm=none
endif
hi Boolean ctermfg=135
hi Character ctermfg=144
hi Number ctermfg=135
hi String ctermfg=144
hi Conditional ctermfg=161 cterm=bold
hi Constant ctermfg=135 cterm=bold
hi Cursor ctermfg=16 ctermbg=253
hi Debug ctermfg=225 cterm=bold
hi Define ctermfg=81
hi Delimiter ctermfg=241
hi DiffAdd ctermbg=24
hi DiffChange ctermfg=181 ctermbg=239
hi DiffDelete ctermfg=162 ctermbg=53
hi DiffText ctermbg=102 cterm=bold
hi Directory ctermfg=118 cterm=bold
hi Error ctermfg=219 ctermbg=89
hi ErrorMsg ctermfg=199 ctermbg=16 cterm=bold
hi Exception ctermfg=118 cterm=bold
hi Float ctermfg=135
hi FoldColumn ctermfg=67 ctermbg=16
hi Folded ctermfg=67 ctermbg=16
hi Function ctermfg=118
hi Identifier ctermfg=208 cterm=none
hi Ignore ctermfg=244 ctermbg=232
hi IncSearch ctermfg=193 ctermbg=16
hi keyword ctermfg=161 cterm=bold
hi Label ctermfg=229 cterm=none
hi Macro ctermfg=193
hi SpecialKey ctermfg=81
hi MatchParen ctermfg=233 ctermbg=208 cterm=bold
hi ModeMsg ctermfg=229
hi MoreMsg ctermfg=229
hi Operator ctermfg=161
" complete menu
hi Pmenu ctermfg=81 ctermbg=16
hi PmenuSel ctermfg=255 ctermbg=242
hi PmenuSbar ctermbg=232
hi PmenuThumb ctermfg=81
hi PreCondit ctermfg=118 cterm=bold
hi PreProc ctermfg=118
hi Question ctermfg=81
hi Repeat ctermfg=161 cterm=bold
hi Search ctermfg=0 ctermbg=222 cterm=NONE
" marks column
hi SignColumn ctermfg=118 ctermbg=235
hi SpecialChar ctermfg=161 cterm=bold
hi SpecialComment ctermfg=245 cterm=bold
hi Special ctermfg=81
if has("spell")
hi SpellBad ctermbg=52
hi SpellCap ctermbg=17
hi SpellLocal ctermbg=17
hi SpellRare ctermfg=none ctermbg=none cterm=reverse
endif
hi Statement ctermfg=161 cterm=bold
hi StatusLine ctermfg=238 ctermbg=253
hi StatusLineNC ctermfg=244 ctermbg=232
hi StorageClass ctermfg=208
hi Structure ctermfg=81
hi Tag ctermfg=161
hi Title ctermfg=166
hi Todo ctermfg=231 ctermbg=232 cterm=bold
hi Typedef ctermfg=81
hi Type ctermfg=81 cterm=none
hi Underlined ctermfg=244 cterm=underline
hi VertSplit ctermfg=244 ctermbg=232 cterm=bold
hi VisualNOS ctermbg=238
hi Visual ctermbg=235
hi WarningMsg ctermfg=231 ctermbg=238 cterm=bold
hi WildMenu ctermfg=81 ctermbg=16
hi Comment ctermfg=59
hi CursorColumn ctermbg=236
hi ColorColumn ctermbg=236
hi LineNr ctermfg=250 ctermbg=236
hi NonText ctermfg=59
hi SpecialKey ctermfg=59
if exists("g:rehash256") && g:rehash256 == 1
hi Normal ctermfg=252 ctermbg=234
hi CursorLine ctermbg=236 cterm=none
hi CursorLineNr ctermfg=208 cterm=none
hi Boolean ctermfg=141
hi Character ctermfg=222
hi Number ctermfg=141
hi String ctermfg=222
hi Conditional ctermfg=197 cterm=bold
hi Constant ctermfg=141 cterm=bold
hi DiffDelete ctermfg=125 ctermbg=233
hi Directory ctermfg=154 cterm=bold
hi Error ctermfg=222 ctermbg=233
hi Exception ctermfg=154 cterm=bold
hi Float ctermfg=141
hi Function ctermfg=154
hi Identifier ctermfg=208
hi Keyword ctermfg=197 cterm=bold
hi Operator ctermfg=197
hi PreCondit ctermfg=154 cterm=bold
hi PreProc ctermfg=154
hi Repeat ctermfg=197 cterm=bold
hi Statement ctermfg=197 cterm=bold
hi Tag ctermfg=197
hi Title ctermfg=203
hi Visual ctermbg=238
hi Comment ctermfg=244
hi LineNr ctermfg=239 ctermbg=235
hi NonText ctermfg=239
hi SpecialKey ctermfg=239
endif
end
" Must be at the end, because of ctermbg=234 bug.
" https://groups.google.com/forum/#!msg/vim_dev/afPqwAFNdrU/nqh6tOM87QUJ
set background=dark

View File

@ -1,19 +0,0 @@
colorscheme molokai
set tabstop=4
set expandtab
set shiftwidth=4
set softtabstop=4
set colorcolumn=80
let g:deoplete#enable_at_startup = 1
let g:rainbow_active = 1
let g:ale_lint_delay = 1000
let g:ale_linters = {'python': ['flake8', 'python']}
let g:ale_set_hightlights = 0
let g:ale_sign_error = '!'
let g:ale_sign_warning = '▪'
let g:ale_running = 0
let g:python_highlight_all = 1
au BufNewFile,BufRead *.md set spell

View File

@ -1,8 +0,0 @@
MTTF
MTTR
SRE
MTBF
playbook
automatable
Borgmon
Heka

Binary file not shown.

View File

@ -1,474 +0,0 @@
;==========================================================
;
;
; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗
; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║
; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
;
;
; To learn more about how to configure Polybar
; go to https://github.com/jaagr/polybar
;
; The README contains alot of information
;
;==========================================================
[colors]
;background = ${xrdb:color0:#222}
background = #222
background-alt = #444
;foreground = ${xrdb:color7:#222}
foreground = #dfdfdf
foreground-alt = #555
primary = #ffb52a
secondary = #3b3b3b
light = #4e4e4e
alert = #bd2c40
green = #2b8029
red = #802929
[bar/thebar]
monitor = ${env:MONITOR:eDP1}
width = 100%
height = 22
;offset-x = 1%
;offset-y = 1%
;radius = 6.0
fixed-center = false
bottom = true
background = ${colors.background}
foreground = ${colors.foreground}
line-size = 1
line-color = #fff
#border-size = 1
#border-color = #00000000
#padding-left = 0
#padding-right = 2
module-margin-left = 2
module-margin-right = 2
font-0 = fontawesome:pixelsize=10;1
font-1 = unifont:fontformat=truetype:size=8:antialias=false;0
modules-left = i3
#modules-center = mpd
modules-right = spotify cpu memory xbacklight xkeyboard wlan eth temperature battery-combined date mail powermenu
tray-position = right
tray-padding = 2
;tray-transparent = true
;tray-background = #0063ff
;wm-restack = bspwm
;wm-restack = i3
;override-redirect = true
;scroll-up = bspwm-desknext
;scroll-down = bspwm-deskprev
;scroll-up = i3wm-wsnext
;scroll-down = i3wm-wsprev
cursor-click = pointer
cursor-scroll = ns-resize
[module/xwindow]
type = internal/xwindow
label = %title:0:30:...%
[module/xkeyboard]
type = internal/xkeyboard
blacklist-0 = num lock
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
format-prefix-underline = ${colors.secondary}
label-layout = %layout%
label-layout-underline = ${colors.secondary}
label-indicator-padding = 2
label-indicator-margin = 1
label-indicator-background = ${colors.secondary}
label-indicator-underline = ${colors.secondary}
[module/filesystem]
type = internal/fs
interval = 25
mount-0 = /
label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %percentage_used%%
label-unmounted = %mountpoint% not mounted
label-unmounted-foreground = ${colors.foreground-alt}
[module/bspwm]
type = internal/bspwm
label-focused = %index%
label-focused-background = ${colors.background-alt}
label-focused-underline= ${colors.primary}
label-focused-padding = 2
label-occupied = %index%
label-occupied-padding = 2
label-urgent = %index%!
label-urgent-background = ${colors.alert}
label-urgent-padding = 2
label-empty = %index%
label-empty-foreground = ${colors.foreground-alt}
label-empty-padding = 2
; Separator in between workspaces
; label-separator = |
[module/i3]
type = internal/i3
format = <label-state> <label-mode>
index-sort = true
wrapping-scroll = false
; Only show workspaces on the same output as the bar
;pin-workspaces = true
label-mode-padding = 2
label-mode-foreground = #000
label-mode-background = ${colors.primary}
; focused = Active workspace on focused monitor
label-focused = %index%
label-focused-background = ${module/bspwm.label-focused-background}
label-focused-underline = ${module/bspwm.label-focused-underline}
label-focused-padding = ${module/bspwm.label-focused-padding}
; unfocused = Inactive workspace on any monitor
label-unfocused = %index%
label-unfocused-padding = ${module/bspwm.label-occupied-padding}
; visible = Active workspace on unfocused monitor
label-visible = %index%
label-visible-background = ${self.label-focused-background}
label-visible-underline = ${self.label-focused-underline}
label-visible-padding = ${self.label-focused-padding}
; urgent = Workspace with urgency hint set
label-urgent = %index%
label-urgent-background = ${module/bspwm.label-urgent-background}
label-urgent-padding = ${module/bspwm.label-urgent-padding}
; Separator in between workspaces
; label-separator = |
#[module/mpd]
#type = internal/mpd
#format-online = <label-song> <icon-prev> <icon-stop> <toggle> <icon-next>
#
#icon-prev = 
#icon-stop = 
#icon-play = 
#icon-pause = 
#icon-next = 
#
#label-song-maxlen = 25
#label-song-ellipsis = true
[module/xbacklight]
type = internal/xbacklight
format = <label> <bar>
label = 
bar-width = 5
bar-indicator = |
bar-indicator-foreground = #fff
bar-indicator-font = 0
bar-fill = ─
bar-fill-font = 0
bar-fill-foreground = #9f78e1
bar-empty = ─
bar-empty-font = 0
bar-empty-foreground = ${colors.foreground-alt}
[module/backlight-acpi]
inherit = module/xbacklight
type = internal/backlight
card = intel_backlight
[module/cpu]
type = internal/cpu
interval = 2
format-prefix = "CPU "
format-prefix-foreground = ${colors.foreground-alt}
format-underline = ${colors.secondary}
label = %percentage:2%%
[module/memory]
type = internal/memory
interval = 2
format-prefix = "MEM "
format-prefix-foreground = ${colors.foreground-alt}
format-underline = ${colors.secondary}
label = %percentage_used%%
[module/wlan]
type = internal/network
interface = wlp4s0
interval = 3.0
format-connected = <ramp-signal> <label-connected>
#format-connected = <label-connected>
format-connected-underline = ${colors.green}
label-connected = %essid% (%signal%%) %local_ip%
format-disconnected = no_wifi
;format-disconnected = <label-disconnected>
format-disconnected-underline = ${colors.red}
;label-disconnected = %ifname% disconnected
;label-disconnected-foreground = ${colors.foreground-alt}
ramp-signal-0 = 
ramp-signal-1 = 
ramp-signal-2 = 
ramp-signal-3 = 
ramp-signal-4 = 
ramp-signal-foreground = ${colors.foreground-alt}
[module/eth]
type = internal/network
interface = enp0s31f6
interval = 3.0
format-connected-underline = ${colors.green}
#format-connected-prefix = " "
format-connected-prefix-foreground = ${colors.foreground-alt}
label-connected = %local_ip%
format-disconnected =
;format-disconnected = <label-disconnected>
format-disconnected-underline = ${colors.red}
;label-disconnected = %ifname% disconnected
;label-disconnected-foreground = ${colors.foreground-alt}
[module/date]
type = internal/date
interval = 5
date = " %Y-%m-%d"
time = %H:%M
format-prefix = 
format-prefix-foreground = ${colors.foreground-alt}
format-underline = ${colors.light}
label = %date% %time%
[module/pulseaudio]
type = internal/pulseaudio
format-volume = <label-volume> <bar-volume>
label-volume = VOL %percentage%%
label-volume-foreground = ${root.foreground}
label-muted = 🔇 muted
label-muted-foreground = #666
bar-volume-width = 10
bar-volume-foreground-0 = #55aa55
bar-volume-foreground-1 = #55aa55
bar-volume-foreground-2 = #55aa55
bar-volume-foreground-3 = #55aa55
bar-volume-foreground-4 = #55aa55
bar-volume-foreground-5 = #f5a70a
bar-volume-foreground-6 = #ff5555
bar-volume-gradient = false
bar-volume-indicator = |
bar-volume-indicator-font = 0
bar-volume-fill = ─
bar-volume-fill-font = 0
bar-volume-empty = ─
bar-volume-empty-font = 0
bar-volume-empty-foreground = ${colors.foreground-alt}
[module/alsa]
type = internal/alsa
format-volume = <label-volume> <bar-volume>
label-volume = VOL
label-volume-foreground = ${root.foreground}
#format-muted-prefix = " "
format-muted-foreground = ${colors.foreground-alt}
label-muted = sound muted
bar-volume-width = 10
bar-volume-foreground-0 = #55aa55
bar-volume-foreground-1 = #55aa55
bar-volume-foreground-2 = #55aa55
bar-volume-foreground-3 = #55aa55
bar-volume-foreground-4 = #55aa55
bar-volume-foreground-5 = #f5a70a
bar-volume-foreground-6 = #ff5555
bar-volume-gradient = false
bar-volume-indicator = |
bar-volume-indicator-font = 2
bar-volume-fill = ─ bar-volume-fill-font = 2
bar-volume-empty = ─
bar-volume-empty-font = 2
bar-volume-empty-foreground = ${colors.foreground-alt}
[module/battery]
type = internal/battery
battery = BAT0
adapter = AC
full-at = 98
#format-charging = <animation-charging> <label-charging>
format-charging = CHR
format-charging-underline = #ffb52a
#format-discharging = <animation-discharging> <label-discharging>
format-discharging = DSC
#format-discharging-underline = ${self.format-charging-underline}
#format-full-prefix = " "
format-full-prefix = FUL
#format-full-prefix-foreground = ${colors.foreground-alt}
#format-full-underline = ${self.format-charging-underline}
#ramp-capacity-0 = 
#ramp-capacity-1 = 
#ramp-capacity-2 = 
#ramp-capacity-foreground = ${colors.foreground-alt}
#animation-charging-0 = 
#animation-charging-1 = 
#animation-charging-2 = 
#animation-charging-foreground = ${colors.foreground-alt}
#animation-charging-framerate = 750
#animation-discharging-0 = 
#animation-discharging-1 = 
#animation-discharging-2 = 
#animation-discharging-foreground = ${colors.foreground-alt}
#animation-discharging-framerate = 750
[module/temperature]
type = internal/temperature
thermal-zone = 0
warn-temperature = 60
#format = <ramp> <label>
format = <label>
#format-warn = <ramp> <label-warn>
format-underline = ${colors.secondary}
format-warn = <label-warn>
format-warn-underline = ${colors.red}
format-prefix = 
format-prefix-foreground = ${colors.foreground-alt}
label = %temperature-c%
label-warn = %temperature-c%
label-warn-foreground = ${colors.secondary}
#ramp-0 = 
#ramp-1 = 
#ramp-2 = 
ramp-foreground = ${colors.foreground-alt}
[module/powermenu]
type = custom/menu
expand-right = true
format-spacing = 1
label-open = 
label-open-foreground = ${colors.foreground-alt}
label-close = 
label-close-foreground = ${colors.foreground-alt}
label-separator = |
label-separator-foreground = ${colors.foreground-alt}
format-underline = ${colors.secondary}
menu-0-0 = reboot
menu-0-0-exec = menu-open-1
menu-0-1 = power off
menu-0-1-exec = menu-open-2
menu-0-2 = logout
menu-0-2-exec = menu-open-3
menu-1-0 = cancel
menu-1-0-exec = menu-open-0
menu-1-1 = reboot
menu-1-1-exec = sudo reboot
menu-2-0 = power off
menu-2-0-exec = sudo poweroff
menu-2-1 = cancel
menu-2-1-exec = menu-open-0
menu-3-0 = log out
menu-3-0-exec = i3-msg exit
menu-3-1 = cancel
menu-3-1-exec = menu-open-0
[module/pactl]
type = custom/script
exec = ~/src/dotfiles/scripts/pulseaudio-tail.sh
lick-right = exec pavucontrol &
click-left = ~/src/dotfiles/scripts/pulseaudio-tail.sh --mute
scroll-up = ~/src/dotfiles/scripts/pulseaudio-tail.sh --up
scroll-down = ~/src/dotfiles/scripts/pulseaudio-tail.sh --down
tail = true
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
[module/mail]
type = custom/script
exec = ~/src/dotfiles/scripts/check_mail.sh
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
format-underline = ${colors.secondary}
[module/battery-combined]
type = custom/script
exec = ~/src/dotfiles/scripts/battery.sh
interval = 5.0
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
format-underline = ${colors.secondary}
[module/spotify]
type = custom/script
exec = ~/src/dotfiles/scripts/spotify.sh
interval = 1.0
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
format-underline = ${colors.secondary}
[settings]
screenchange-reload = true
;compositing-background = xor
;compositing-background = screen
;compositing-foreground = source
;compositing-border = over
[global/wm]
margin-top = 5
margin-bottom = 5
; vim:ft=dosini

View File

@ -1,28 +0,0 @@
[global_config]
title_inactive_bg_color = "#737475"
title_inactive_fg_color = "#b7b8b9"
title_transmit_bg_color = "#0c0d0e"
title_transmit_fg_color = "#b7b8b9"
[keybindings]
[layouts]
[[default]]
[[[child1]]]
parent = window0
type = Terminal
[[[window0]]]
parent = ""
type = Window
[plugins]
[profiles]
[[default]]
background_color = "#0c0d0e"
cursor_color = "#b7b8b9"
font = Roboto Mono for Powerline 9
foreground_color = "#b7b8b9"
palette = "#0c0d0e:#e31a1c:#31a354:#dca060:#3182bd:#756bb1:#80b1d3:#b7b8b9:#737475:#e31a1c:#31a354:#dca060:#3182bd:#756bb1:#80b1d3:#fcfdfe"
scrollback_infinite = True
scrollbar_position = hidden
show_titlebar = False
use_system_font = False
[[TCC]]
foreground_color = "#e500b7"

9
dotfiles.yml Normal file
View File

@ -0,0 +1,9 @@
---
# - fix symlinks for folders
- hosts: all
roles:
- dotfiles
tasks:
- debug:
msg:
"System operating with {{ ansible_distribution }} {{ ansible_distribution_major_version }}"

View File

@ -1,7 +0,0 @@
# screen backlight
ACTION=="add", SUBSYSTEM=="backlight", RUN+="/bin/chgrp video /sys/class/backlight/%k/brightness"
ACTION=="add", SUBSYSTEM=="backlight", RUN+="/bin/chmod g+w /sys/class/backlight/%k/brightness"
# keyboard backlight
ACTION=="add", SUBSYSTEM=="leds", RUN+="/bin/chgrp video /sys/devices/platform/thinkpad_acpi/leds/tpacpi::kbd_backlight/brightness"
ACTION=="add", SUBSYSTEM=="leds", RUN+="/bin/chmod g+w /sys/devices/platform/thinkpad_acpi/leds/tpacpi::kbd_backlight/brightness"

6
group_vars/all.yaml Normal file
View File

@ -0,0 +1,6 @@
home: '{{ "~" | expanduser }}'
dotfiles_dir: '{{home}}/src/dotfiles'
files_dir: '{{dotfiles_dir}}/roles/dotfiles/files'
git_mail: 'mail@johannes-rothe.de'
git_name: 'Johannes Rothe'
diff_tool: 'vimdiff'

2
hosts.ini Normal file
View File

@ -0,0 +1,2 @@
[dotfiles]
localhost ansible_connection=local

View File

@ -1,18 +0,0 @@
#!/bin/sh
# shell script to prepend i3status with more stuff
eml(){
maildirs="$HOME/Mail/magazino/INBOX/new/"
ml="$(find "$maildirs" -type f | wc -l)"
if [ $ml > 0 ]; then
echo "$ml"
else
echo "0"
fi
}
i3status | while :
do
read line
echo "Mails $(eml) | $line" || exit 1
done

View File

@ -1,2 +0,0 @@
text/html; firefox -new-tab %s & sleep 5;
image/*; eog %s;

View File

@ -1,87 +0,0 @@
# simplify folder change
# notmuch for searching
# SMTP setting (smtp_pass is set in sourced file)
source "~/.mutt/mag_smtp"
set smtp_url='smtp://rothe@magazino.eu@smtp.office365.com'
set ssl_force_tls = yes
set realname="Johannes Rothe"
set from="rothe@magazino.eu"
set use_from = yes
set folder="~/Mail/"
set spoolfile="+magazino/INBOX"
set postponed="+magazino/Drafts"
set record="+magazino/Sent"
# offlineimap automatically creates this file
source "~/.mutt/mailboxes"
set pager_index_lines=10 # number of index lines to show
set pager_context=3 # number of context lines to show when scrolling
set pager_stop=yes # don't go to next message automatically
set menu_scroll=yes # scroll in menus
set tilde=yes # show tildes like in vim
unset markers # no ugly plus signs
set smart_wrap
set editor="nvim -c 'set spell' -c 'set spelllang=de,en'"
## html view options
auto_view text/html
alternative_order text/plain text/enriched text/html
# Delete messages without asking when Mutt is quit
set delete
set confirmappend=no
# forward options
# ask if the whole message including attachments should be forwarded
set mime_forward=ask-no
#set forward_format = "Fwd: %s"
set forward_format = "%s"
set include
set forward_quote
# faster mail checking
set timeout = 15
set mail_check = 60
# Macros
macro index,pager D "<save-message>+magazino/Done<enter><sync-mailbox>"
macro index,pager t "<forward-message>add.task.19025132.2196901048.bdb8e86d4bb9ff17@todoist.net<enter><enter><enter>
# Status Bar
set status_chars = " *%A"
set status_format = "───[ Folder: %f ]───[%r%m messages%?n? (%n new)?%?d? (%d to delete)?%?t? (%t tagged)? ]───%>─%?p?( %p postponed )?───"
# ctrl+b to view URLs
macro index \cb "|urlview\n"
macro pager \cb "|urlview\n"
# first, ignore all headers
ignore *
# then, show only these
unignore from: to: cc: date: subject:
# and in this order
hdr_order from: to: cc: date: subject:
# sidebar options
set sidebar_visible=no
# colors from /usr/share/doc/mutt/examples
color hdrdefault blue black
color quoted blue black
color signature blue black
color attachment brightblue black
color prompt brightmagenta black
color message white black
color error brightred black
color indicator brightwhite blue
color status black brightblue
color tree white black
color normal white black
color markers brightblue black
color search white black
color tilde brightmagenta black
color index blue black ~F
color index brightblue black "~N|~O"

View File

@ -1,39 +0,0 @@
#!/usr/bin/env python
import pynotify
import pyinotify
from os.path import expanduser, join
from mailbox import MaildirMessage
maildir = expanduser('~/Mail')
pynotify.init('offlineimap_notify')
with open(expanduser('~/.mutt/mailboxes')) as f:
mailboxes = f.read()
boxes = []
for m in mailboxes.strip('\n').split(" "):
if not m == 'mailboxes':
boxes.append(m.replace('"', '').replace('+', ''))
def new_mail(event):
with open(event.pathname, 'r') as f:
mail = MaildirMessage(message=f)
efrom = 'From: ' + mail['From']
esubject = 'Subject: ' + mail['Subject']
n = pynotify.Notification("New mail in " + '/'.join(
event.path.split('/')[-3:-1]), efrom + "\n" + esubject)
n.set_timeout(8000)
n.show()
watch_manager = pyinotify.WatchManager()
file_notifier = pyinotify.Notifier(watch_manager, new_mail)
for box in boxes:
watch_manager.add_watch(join(maildir, box, 'new'),
pyinotify.IN_CREATE | pyinotify.IN_MOVED_TO)
print('running new mail notifier in a loop...')
file_notifier.loop()

View File

@ -1,30 +0,0 @@
#!/bin/bash
# sync offlineimap if you have connection to the internet
# and you can ping your imap server successfully.
# just add this to your crontab
# */1 * * * * /home/user/src/dotfiles/offlineimap_sync.sh > /tmp/imap.log
# shamelessly stolen from
# https://hobo.house/2015/09/09/take-control-of-your-email-with-mutt-offlineimap-notmuch/
source /home/rothe/.profile
imapserver=$(cat ~/.offlineimaprc | grep remotehost | awk '{print $3}')
imapactive=$(ps -ef | grep '[o]fflineimap' | wc -l)
netactive=$(ping -c3 $imapserver >/dev/null 2>&1 && echo up || echo down)
mailsync="/usr/bin/offlineimap -o -u quiet"
# kill offlineimap if active, sometimes it hangs
case $imapactive in
'1')
killall offlineimap && sleep 5
;;
esac
# Check that you can access the SMTP server
case $netactive in
'up')
$mailsync
;;
'down')
:
;;
esac

View File

@ -1,32 +0,0 @@
[general]
accounts = magazino
[mbnames]
enabled = yes
filename = ~/.mutt/mailboxes
header = "mailboxes "
peritem = "+%(accountname)s/%(foldername)s"
sep = " "
footer = "\n"
[Account magazino]
localrepository = magazino-local
remoterepository = magazino-remote
maxconnections = 3
maxage = 30
[Repository magazino-local]
type = Maildir
localfolders = ~/Mail/magazino
[Repository magazino-remote]
type = IMAP
remotehost = outlook.office365.com
remoteuser = rothe@magazino.eu
remotepassfile = ~/.password.offlineimap
auth_mechanisms = GSSAPI, CRAM-MD5, PLAIN, LOGIN
realdelete = no
maxconnections = 3
ssl = yes
sslcacertfile = /etc/ssl/certs/ca-certificates.crt
folderfilter = lambda foldername: foldername in ['INBOX', 'Sent', 'Drafts', 'Done', 'Todo', 'Reservierungen', 'Confluence']

View File

@ -0,0 +1,10 @@
# variables
export EDITOR=vim
# Start X at login
if status --is-login
if test -z "$DISPLAY" -a $XDG_VTNR = 1
exec startx
end
end
eval (keychain --eval --agents ssh --quick)

View File

@ -0,0 +1,35 @@
# This file contains fish universal variable definitions.
# VERSION: 3.0
SETUVAR __fish_init_2_3_0:\x1d
SETUVAR __fish_initialized:3100
SETUVAR _fish_abbr_upd:sudo\x20apt\x20update
SETUVAR _fish_abbr_upg:sudo\x20apt\x20upgrade
SETUVAR fish_color_autosuggestion:555
SETUVAR fish_color_cancel:normal
SETUVAR fish_color_command:ff5faf
SETUVAR fish_color_comment:990000
SETUVAR fish_color_cwd:008000
SETUVAR fish_color_cwd_root:800000
SETUVAR fish_color_end:ffaf00
SETUVAR fish_color_error:ff0000
SETUVAR fish_color_escape:00a6b2
SETUVAR fish_color_history_current:normal
SETUVAR fish_color_host:normal
SETUVAR fish_color_host_remote:yellow
SETUVAR fish_color_match:normal
SETUVAR fish_color_normal:normal
SETUVAR fish_color_operator:00a6b2
SETUVAR fish_color_param:afd700
SETUVAR fish_color_quote:d7ff5f
SETUVAR fish_color_redirection:af00ff
SETUVAR fish_color_search_match:ffff00
SETUVAR fish_color_selection:c0c0c0
SETUVAR fish_color_status:red
SETUVAR fish_color_user:00ff00
SETUVAR fish_color_valid_path:normal
SETUVAR fish_greeting:Welcome\x20to\x20fish\x2c\x20the\x20friendly\x20interactive\x20shell
SETUVAR fish_key_bindings:fish_default_key_bindings
SETUVAR fish_pager_color_completion:normal
SETUVAR fish_pager_color_description:B3A06D\x1eyellow
SETUVAR fish_pager_color_prefix:white\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan

View File

@ -0,0 +1,87 @@
function fish_prompt
set -l __last_command_exit_status $status
if not set -q -g __fish_robbyrussell_functions_defined
set -g __fish_robbyrussell_functions_defined
function _git_branch_name
set -l branch (git symbolic-ref --quiet HEAD 2>/dev/null)
if set -q branch[1]
echo (string replace -r '^refs/heads/' '' $branch)
else
echo (git rev-parse --short HEAD 2>/dev/null)
end
end
function _is_git_dirty
echo (git status -s --ignore-submodules=dirty 2>/dev/null)
end
function _is_git_repo
type -q git
or return 1
git rev-parse --git-dir >/dev/null 2>&1
end
function _hg_branch_name
echo (hg branch 2>/dev/null)
end
function _is_hg_dirty
echo (hg status -mard 2>/dev/null)
end
function _is_hg_repo
fish_print_hg_root >/dev/null
end
function _repo_branch_name
_$argv[1]_branch_name
end
function _is_repo_dirty
_is_$argv[1]_dirty
end
function _repo_type
if _is_hg_repo
echo 'hg'
return 0
else if _is_git_repo
echo 'git'
return 0
end
return 1
end
end
set -l cyan (set_color -o cyan)
set -l yellow (set_color -o yellow)
set -l red (set_color -o red)
set -l green (set_color -o green)
set -l blue (set_color -o blue)
set -l normal (set_color normal)
set -l arrow_color "$green"
if test $__last_command_exit_status != 0
set arrow_color "$red"
end
set -l arrow "$arrow_color"
if test "$USER" = 'root'
set arrow "$arrow_color# "
end
set -l cwd $cyan(basename (prompt_pwd))
if set -l repo_type (_repo_type)
set -l repo_branch $red(_repo_branch_name $repo_type)
set repo_info "$blue $repo_type:($repo_branch$blue)"
if [ (_is_repo_dirty $repo_type) ]
set -l dirty "$yellow"
set repo_info "$repo_info$dirty"
end
end
echo -n -s $arrow ' '$cwd $repo_info $normal ' '
end

View File

@ -0,0 +1 @@
fzf_key_bindings

View File

@ -0,0 +1,3 @@
function ll --description 'List contents of directory using long format'
ls -lh $argv
end

View File

@ -0,0 +1,173 @@
set $mod Mod4
font pango:Roboto Medium 8
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
# screen before suspend. Use loginctl lock-session to lock your screen.
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
# NetworkManager is the most popular way to manage wireless networks on Linux,
# and nm-applet is a desktop environment-independent system tray GUI for it.
exec --no-startup-id nm-applet
# Use pactl to adjust volume in PulseAudio.
set $refresh_i3status killall -SIGUSR1 i3status
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# hide window title
new_window 1pixel
# start a terminal
bindsym $mod+Return exec gnome-terminal
# lock
bindsym Mod1+l exec i3lock-fancy
# lock & suspend
bindsym Mod1+s exec i3lock-fancy && systemctl suspend
# screenshot
bindsym --release Print exec "scrot -s '%Y-%m-%d-%H-%M-%S.png' -e 'mv $f ~/pictures/shots/'"
# kill focused window
bindsym $mod+Shift+q kill
# bindsym $mod+d exec --no-startup-id dmenu_run
# A more modern dmenu replacement is rofi:
# bindcode $mod+40 exec "rofi -modi drun,run -show drun"
bindsym $mod+d exec "rofi -modi drun,run -show drun"
# change focus
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+odiaeresis 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+g 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 number $ws1
bindsym $mod+2 workspace number $ws2
bindsym $mod+3 workspace number $ws3
bindsym $mod+4 workspace number $ws4
bindsym $mod+5 workspace number $ws5
bindsym $mod+6 workspace number $ws6
bindsym $mod+7 workspace number $ws7
bindsym $mod+8 workspace number $ws8
bindsym $mod+9 workspace number $ws9
bindsym $mod+0 workspace number $ws10
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace number $ws1
bindsym $mod+Shift+2 move container to workspace number $ws2
bindsym $mod+Shift+3 move container to workspace number $ws3
bindsym $mod+Shift+4 move container to workspace number $ws4
bindsym $mod+Shift+5 move container to workspace number $ws5
bindsym $mod+Shift+6 move container to workspace number $ws6
bindsym $mod+Shift+7 move container to workspace number $ws7
bindsym $mod+Shift+8 move container to workspace number $ws8
bindsym $mod+Shift+9 move container to workspace number $ws9
bindsym $mod+Shift+0 move container to workspace number $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 windows width.
# Pressing right will grow the windows width.
# Pressing up will shrink the windows height.
# Pressing down will grow the windows height.
bindsym j resize shrink width 10 px or 10 ppt
bindsym k resize grow height 10 px or 10 ppt
bindsym l resize shrink height 10 px or 10 ppt
bindsym odiaeresis 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
font pango:Roboto 10
}

View File

@ -0,0 +1,41 @@
general {
colors = true
interval = 5
}
order += "wireless _first_"
order += "ethernet _first_"
order += "battery all"
order += "disk /"
order += "load"
order += "memory"
order += "tztime local"
wireless _first_ {
format_up = "Wifi (%quality at %essid) %ip"
format_down = "Wifi down"
}
ethernet _first_ {
format_up = "Eth %ip (%speed)"
format_down = "Eth down"
}
battery all {
format = "Battery %status %percentage %remaining"
}
load {
format = "Load %1min"
}
memory {
#format = "%used | %available"
format = "Mem %used"
threshold_degraded = "1G"
format_degraded = "MEMORY < %available"
}
tztime local {
format = "%a, %d.%m.%Y %H:%M"
}

View File

@ -0,0 +1,4 @@
[xin_-1]
file=/home/rothe/pictures/wallpaper/malle.jpg
mode=5
bgcolor=#ff0000

View File

@ -0,0 +1,12 @@
[geometry]
posx=1280
posy=0
sizex=1278
sizey=1418
[nitrogen]
view=icon
recurse=true
sort=alpha
icon_caps=false
dirs=/home/rothe/pictures/wallpaper;

View File

@ -0,0 +1,12 @@
Host base
HostName skaq5lpru2kvl6hu.myfritz.net
Port 2222
User johannes
Host ovh
HostName 51.89.23.55
Port 2222
User rothe
Host strato
HostName ssh.strato.de
Port 22
User 510616466.swh.strato-hosting.eu

View File

@ -0,0 +1,57 @@
set number
set colorcolumn=80
set background=dark
set cursorline
syntax on
colorscheme monokai
" python
au BufNewFile,BufRead *.py,*.go set tabstop=4 softtabstop=4 shiftwidth=4
\ textwidth=79 expandtab autoindent fileformat=unix
au BufNewFile,BufRead *.yaml set tabstop=2 softtabstop=2 shiftwidth=2
\ textwidth=79 expandtab autoindent fileformat=unix
au BufNewFile,BufRead *.html,*.css set tabstop=2 softtabstop=2 shiftwidth=2
\ expandtab autoindent colorcolumn=0
au BufNewFile,BufRead *.launch set filetype=xml
" vim-plug
" :PlugInstall to install new one
call plug#begin('~/.vim/plugged')
Plug 'dense-analysis/ale'
Plug 'Valloric/YouCompleteMe'
" enhanced search
Plug 'junegunn/vim-slash'
Plug 'preservim/nerdtree'
Plug 'vim-airline/vim-airline'
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
Plug 'junegunn/fzf.vim'
Plug 'luochen1990/rainbow'
" Themes
Plug 'crusoexia/vim-monokai'
" Language specific
Plug 'vim-python/python-syntax'
call plug#end()
" Preconditions for plugins
" ale: apt install pylint flake8
" Ale
let g:ale_linters = {
\ 'python': ['flake8', 'pylint'],
\}
" NERDTREE
" open nerdtree when no file is specified on startup
autocmd StdinReadPre * let s:std_in=1
autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif
" toggle nerdtree keyboard shortcut
map <C-t> :NERDTreeToggle<CR>
" RAINBOW_PARENTHESES
au FileType c,cpp,py call rainbow#load()
" python syntax
let g:python_highlight_all = 1
let g:python_highlight_func_calls = 0
" enable rainbow brackets
let g:rainbow_active = 1

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 MiB

View File

@ -0,0 +1,88 @@
---
# Install base packages
- name: Install necessary packages
become: yes
become_method: su
become_user: root
apt:
name:
- ack
- feh # set background
- fish
- fzf
- htop
- ispell
- i3
- i3lock-fancy
- keychain
- nitrogen
- pass
- polybar
- pulseaudio-utils # pactl volume control
- rofi # dmenu replacement
- scrot # screenshot
- tmux
- vim
state: present
cache_valid_time: 3600
- name: Remove old backup
file:
path: '{{home}}/tmp/dotfiles_backup'
state: absent
- name: Create new backup dir
file:
path: '{{home}}/tmp/dotfiles_backup'
state: directory
- name: Backup stuff
copy:
src: '{{ item }}'
dest: '{{home}}/tmp/dotfiles_backup'
remote_src: True # copy the folder from the host instead of ansible
ignore_errors: yes
loop:
# dirs (without trailing '/' copies the whole dir)
- '{{home}}/.config/fish'
- '{{home}}/.config/nitrogen'
# files
- '{{home}}/.tmux.conf'
- '{{home}}/.vimrc'
- '{{home}}/.ssh/config'
- '{{home}}/.config/i3/config'
- '{{home}}/.config/i3status/config'
- name: Make sure folders exist
file:
path: '{{item}}'
state: directory
loop:
- '{{home}}/.config/i3/'
- '{{home}}/.config/i3status/'
- '{{home}}/.ssh/'
- '{{home}}/pictures/shots/'
- name: Link files
file:
src: '{{ item.src }}'
dest: '{{ item.dest }}'
state: link
force: True
loop:
- src: '{{files_dir}}/vimrc'
dest: '{{home}}/.vimrc'
- src: '{{files_dir}}/i3_config'
dest: '{{home}}/.config/i3/config'
- src: '{{files_dir}}/i3status_config'
dest: '{{home}}/.config/i3status/config'
- src: '{{files_dir}}/tmux.conf'
dest: '{{home}}/.tmux.conf'
- src: '{{files_dir}}/ssh_config'
dest: '{{home}}/.ssh/config'
- src: '{{files_dir}}/fish'
dest: '{{home}}/.config/fish'
- src: '{{files_dir}}/nitrogen'
dest: '{{home}}/.config/nitrogen'
- src: '{{files_dir}}/wallpaper'
dest: '{{home}}/pictures/wallpaper'

View File

@ -1,3 +0,0 @@
count=$(acpi -b | wc -l)
sum=$(acpi -b | grep -Eo '[0-9]{1,3}%' | tr -d '%' | xargs | sed -e 's/ /+/g' | bc)
echo $((sum / count))%

View File

@ -1,8 +0,0 @@
#!/bin/sh
maildirs="$HOME/Mail/magazino/INBOX/new/"
ml="$(find "$maildirs" -type f | wc -l)"
if [ $ml > 0 ]; then
echo "$ml"
else
echo "0"
fi

View File

@ -1,51 +0,0 @@
#!/bin/sh
sink=$(pactl list sinks short | grep RUNNING | cut -c1)
volume_print() {
muted=$(~/src/pamixer/pamixer --sink $sink --get-mute)
if [ "$muted" = true ]; then
echo "$sink --"
else
echo "$sink: $(~/src/pamixer/pamixer --sink $sink --get-volume)"
fi
}
volume_up() {
pactl set-sink-volume $sink +1%
}
volume_down() {
pactl set-sink-volume $sink -1%
}
volume_mute() {
pactl set-sink-mute $sink toggle
}
listen() {
volume_print
pactl subscribe | while read -r event; do
if echo "$event" | grep -q "#$sink"; then
volume_print
fi
done
}
case "$1" in
--up)
volume_up
;;
--down)
volume_down
;;
--mute)
volume_mute
;;
*)
listen
;;
esac

View File

@ -1,24 +0,0 @@
#!/bin/sh
# https://raw.githubusercontent.com/NicholasFeldman/dotfiles/master/polybar/.config/polybar/spotify.sh
main() {
if ! pgrep -x spotify >/dev/null; then
echo ""; exit
fi
cmd="org.freedesktop.DBus.Properties.Get"
domain="org.mpris.MediaPlayer2"
path="/org/mpris/MediaPlayer2"
meta=$(dbus-send --print-reply --dest=${domain}.spotify \
/org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get string:${domain}.Player string:Metadata)
artist=$(echo "$meta" | sed -nr '/xesam:artist"/,+2s/^ +string "(.*)"$/\1/p' | tail -1 | sed 's/\&/\\&/g' | sed 's#\/#\\/#g')
album=$(echo "$meta" | sed -nr '/xesam:album"/,+2s/^ +variant +string "(.*)"$/\1/p' | tail -1| sed 's/\&/\\&/g'| sed 's#\/#\\/#g')
title=$(echo "$meta" | sed -nr '/xesam:title"/,+2s/^ +variant +string "(.*)"$/\1/p' | tail -1 | sed 's/\&/\\&/g'| sed 's#\/#\\/#g')
echo "${*:-%artist% - %title%}" | sed "s/%artist%/$artist/g;s/%title%/$title/g;s/%album%/$album/g"i | sed "s/\&/\&/g" | sed "s#\/#\/#g"
}
main "$@"

89
zshrc
View File

@ -1,89 +0,0 @@
# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:/usr/local/bin:$PATH
# Path to your oh-my-zsh installation.
export ZSH=~/.oh-my-zsh
if [[ -f ~/.django_conf ]]; then
source ~/.django_conf
fi
# Set name of the theme to load. Optionally, if you set this to "random"
# it'll load a random theme each time that oh-my-zsh is loaded.
# See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
ZSH_THEME="robbyrussell"
# Uncomment the following line to use case-sensitive completion.
# CASE_SENSITIVE="true"
# Uncomment the following line to use hyphen-insensitive completion. Case
# sensitive completion must be off. _ and - will be interchangeable.
# HYPHEN_INSENSITIVE="true"
# Uncomment the following line to disable bi-weekly auto-update checks.
# DISABLE_AUTO_UPDATE="true"
# Uncomment the following line to change how often to auto-update (in days).
# export UPDATE_ZSH_DAYS=13
# Uncomment the following line to disable colors in ls.
# DISABLE_LS_COLORS="true"
# Uncomment the following line to disable auto-setting terminal title.
# DISABLE_AUTO_TITLE="true"
# Uncomment the following line to enable command auto-correction.
# ENABLE_CORRECTION="true"
# Uncomment the following line to display red dots whilst waiting for completion.
# COMPLETION_WAITING_DOTS="true"
# Uncomment the following line if you want to disable marking untracked files
# under VCS as dirty. This makes repository status check for large repositories
# much, much faster.
# DISABLE_UNTRACKED_FILES_DIRTY="true"
# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output.
# The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# HIST_STAMPS="mm/dd/yyyy"
# Would you like to use another custom folder than $ZSH/custom?
# ZSH_CUSTOM=/path/to/new-custom-folder
# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(git)
source $ZSH/oh-my-zsh.sh
# User configuration
# export MANPATH="/usr/local/man:$MANPATH"
# You may need to manually set your language environment
# export LANG=en_US.UTF-8
# Preferred editor for local and remote sessions
# if [[ -n $SSH_CONNECTION ]]; then
# export EDITOR='vim'
# else
# export EDITOR='mvim'
# fi
# Compilation flags
# export ARCHFLAGS="-arch x86_64"
# ssh
# export SSH_KEY_PATH="~/.ssh/rsa_id"
# Set personal aliases, overriding those provided by oh-my-zsh libs,
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
# For a full list of active aliases, run `alias`.
#
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"