Compare commits
73 Commits
d923b4747d
...
1735f9cbec
Author | SHA1 | Date |
---|---|---|
Sebastian Schulze | 1735f9cbec | |
Sebastian Schulze | 7d64c504a5 | |
Sebastian Schulze | 84f0f64886 | |
Sebastian Schulze | d323fcd97f | |
Sebastian Schulze | 179243dc71 | |
Sebastian Schulze | 75be5d032f | |
Sebastian Schulze | 788a29fef0 | |
Sebastian Schulze | 6c1dc805e4 | |
Sebastian Schulze | a0ce3c5e30 | |
Sebastian Schulze | 095b2a56c2 | |
Sebastian Schulze | d7d6d54ac0 | |
Sebastian Schulze | 618718d664 | |
Sebastian Schulze | 2c7722ca4f | |
Sebastian Schulze | 81cd5ea099 | |
Sebastian Schulze | 583a477deb | |
Sebastian Schulze | 84fb1ac236 | |
Sebastian Schulze | 5d9b50e60b | |
Sebastian Schulze | f5824ae53c | |
Sebastian Schulze | 62081a7710 | |
Sebastian Schulze | 937498bedb | |
Sebastian Schulze | 99d6cbd076 | |
Sebastian Schulze | 06e0c9d618 | |
Sebastian Schulze | 9a2691f413 | |
Sebastian Schulze | 7d632f7584 | |
Sebastian Schulze | 619b26b7d0 | |
Sebastian Schulze | f776ced6cf | |
Sebastian Schulze | 11dec5c8e6 | |
Sebastian Schulze | cb61fb2a28 | |
Sebastian Schulze | 12faf1d4b0 | |
Sebastian Schulze | e99d9480dd | |
Sebastian Schulze | 9a2573fd35 | |
Sebastian Schulze | 3f2063d8db | |
Sebastian Schulze | a5aaf0a7c8 | |
Sebastian Schulze | e63bd1edc9 | |
Sebastian Schulze | f2f7751cb0 | |
Sebastian Schulze | 92542b5675 | |
Sebastian Schulze | 87d34832ab | |
Sebastian Schulze | fcb9c33587 | |
Sebastian Schulze | 8c65669340 | |
Sebastian Schulze | 840c1a1512 | |
Sebastian Schulze | 33800bcf7e | |
Sebastian Schulze | a0ebef017e | |
Sebastian Schulze | 4c0c31d72e | |
Sebastian Schulze | b32865e311 | |
Sebastian Schulze | f1b8212ec6 | |
Sebastian Schulze | 1fafcf530b | |
Sebastian Schulze | a4c1e62357 | |
Sebastian Schulze | 8187dcd10f | |
Sebastian Schulze | 20755c5a24 | |
Sebastian Schulze | e61cd83fa3 | |
Sebastian Schulze | 987367ad05 | |
Sebastian Schulze | 13faf0ad65 | |
Sebastian Schulze | 80a03719dd | |
Sebastian Schulze | c7640e4317 | |
Sebastian Schulze | 87a517b471 | |
Sebastian Schulze | 91f922370d | |
Sebastian Schulze | f1233020fa | |
Sebastian Schulze | f2e680de25 | |
Sebastian Schulze | 88f0a2adae | |
Sebastian Schulze | 5bc4f0c181 | |
Sebastian Schulze | 5eb5a62b0b | |
Sebastian Schulze | 375e763e1e | |
Sebastian Schulze | 27905eab84 | |
Sebastian Schulze | dedee63ed3 | |
Sebastian Schulze | b3254ce91d | |
Sebastian Schulze | 3cceb24c9c | |
Sebastian Schulze | 22ec4c1190 | |
Sebastian Schulze | b3eae34fa8 | |
Sebastian Schulze | e2d1e75de6 | |
Sebastian Schulze | 1f95cd68d7 | |
Sebastian Schulze | b6e901d16e | |
Sebastian Schulze | a667e614eb | |
Sebastian Schulze | 31feace4e6 |
|
@ -12,4 +12,13 @@
|
||||||
url = https://github.com/romkatv/powerlevel10k.git
|
url = https://github.com/romkatv/powerlevel10k.git
|
||||||
[submodule "home/.zsh-custom/plugins/fzf-marks"]
|
[submodule "home/.zsh-custom/plugins/fzf-marks"]
|
||||||
path = home/.zsh-custom/plugins/fzf-marks
|
path = home/.zsh-custom/plugins/fzf-marks
|
||||||
url = git@github.com:urbainvaes/fzf-marks.git
|
url = https://github.com/urbainvaes/fzf-marks.git
|
||||||
|
[submodule "home/.fzf"]
|
||||||
|
path = home/.fzf
|
||||||
|
url = https://github.com/junegunn/fzf.git
|
||||||
|
[submodule "home/.config/base16-shell"]
|
||||||
|
path = home/.config/base16-shell
|
||||||
|
url = https://github.com/chriskempson/base16-shell.git
|
||||||
|
[submodule "home/.vim/bundle/Vundle.vim"]
|
||||||
|
path = home/.vim/bundle/Vundle.vim
|
||||||
|
url = https://github.com/VundleVim/Vundle.vim.git
|
||||||
|
|
|
@ -1,364 +1,64 @@
|
||||||
# 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 itself.
|
|
||||||
env:
|
env:
|
||||||
# TERM variable
|
TERM: xterm-24bit
|
||||||
#
|
|
||||||
# This value is used to set the `$TERM` environment variable for
|
|
||||||
# each instance of Alacritty. If it is not present, alacritty will
|
|
||||||
# check the local terminfo database and use 'alacritty' if it is
|
|
||||||
# available, otherwise 'xterm-256color' is used.
|
|
||||||
TERM: xterm-256color
|
|
||||||
|
|
||||||
window:
|
window:
|
||||||
# Window dimensions (changes require restart)
|
|
||||||
#
|
|
||||||
# Specified in number of columns/lines, not pixels.
|
|
||||||
# If both are `0`, this setting is ignored.
|
|
||||||
dimensions:
|
dimensions:
|
||||||
columns: 80
|
columns: 80
|
||||||
lines: 24
|
lines: 24
|
||||||
|
|
||||||
# Window padding (changes require restart)
|
|
||||||
#
|
|
||||||
# Blank space added around the window in pixels. This padding is scaled
|
|
||||||
# by DPI and the specified value is always added at both opposing sides.
|
|
||||||
padding:
|
padding:
|
||||||
x: 10
|
x: 12
|
||||||
y: 10
|
y: 12
|
||||||
|
decorations: none
|
||||||
# Window decorations
|
|
||||||
#
|
|
||||||
# Values for `decorations`:
|
|
||||||
# - full: Borders and title bar
|
|
||||||
# - none: Neither borders nor title bar
|
|
||||||
decorations: full
|
|
||||||
|
|
||||||
scrolling:
|
scrolling:
|
||||||
# Maximum number of lines in the scrollback buffer.
|
|
||||||
# Specifying '0' will disable scrolling.
|
|
||||||
history: 10000
|
history: 10000
|
||||||
|
|
||||||
# Number of lines the viewport will move for every line scrolled when
|
|
||||||
# scrollback is enabled (history > 0).
|
|
||||||
multiplier: 3
|
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`.
|
|
||||||
#
|
|
||||||
# Specifying `0` will disable faux scrolling.
|
|
||||||
faux_multiplier: 3
|
|
||||||
|
|
||||||
# Scroll to the bottom when new text is written to the terminal.
|
|
||||||
auto_scroll: false
|
auto_scroll: false
|
||||||
|
|
||||||
# Spaces per Tab (changes require restart)
|
|
||||||
#
|
|
||||||
# This setting defines the width of a tab in cells.
|
|
||||||
#
|
|
||||||
# Some applications, like Emacs, rely on knowing about the width of a tab.
|
|
||||||
# To prevent unexpected behavior in these applications, it's also required to
|
|
||||||
# change the `it` value in terminfo when altering this setting.
|
|
||||||
tabspaces: 8
|
tabspaces: 8
|
||||||
|
|
||||||
# Font configuration (changes require restart)
|
draw_bold_text_with_bright_colors: true
|
||||||
#
|
|
||||||
# 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:
|
font:
|
||||||
# Normal (roman) font face
|
|
||||||
normal:
|
normal:
|
||||||
family: FuraMono Nerd Font
|
family: FuraMono NerdFont
|
||||||
# The `style` can be specified to pick a specific face.
|
|
||||||
style: Regular
|
|
||||||
|
|
||||||
# Bold font face
|
|
||||||
bold:
|
bold:
|
||||||
family: FuraMono Nerd Font
|
family: monospace
|
||||||
# The `style` can be specified to pick a specific face.
|
|
||||||
style: Bold
|
|
||||||
|
|
||||||
# Italic font face
|
|
||||||
italic:
|
italic:
|
||||||
family: FuraMono Nerd Font
|
family: monospace
|
||||||
# The `style` can be specified to pick a specific face.
|
size: 12.0
|
||||||
style: Italic
|
|
||||||
|
|
||||||
# Point size
|
|
||||||
size: 12
|
|
||||||
|
|
||||||
# Offset is the extra space around each character. `offset.y` can be thought of
|
|
||||||
# as modifying the line spacing, and `offset.x` as modifying the letter spacing.
|
|
||||||
offset:
|
offset:
|
||||||
x: 0
|
x: 0
|
||||||
y: 0
|
y: 0
|
||||||
|
|
||||||
# Glyph offset determines the locations of the glyphs within their cells with
|
|
||||||
# the default being at the bottom. Increasing `x` moves the glyph to the right,
|
|
||||||
# increasing `y` moves the glyph upwards.
|
|
||||||
glyph_offset:
|
glyph_offset:
|
||||||
x: 0
|
x: 0
|
||||||
y: 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: true
|
|
||||||
|
|
||||||
# Display the time it takes to redraw each frame.
|
|
||||||
|
|
||||||
# If `true`, bold text is drawn using the bright color variants.
|
|
||||||
draw_bold_text_with_bright_colors: true
|
|
||||||
|
|
||||||
# Base16 iA Light 256 - alacritty color config
|
|
||||||
# iA Inc. (modified by aramisgithub)
|
|
||||||
colors:
|
|
||||||
# Default colors
|
|
||||||
primary:
|
|
||||||
background: '0xf6f6f6'
|
|
||||||
foreground: '0x181818'
|
|
||||||
|
|
||||||
# Colors the cursor will use if `custom_cursor_colors` is true
|
|
||||||
cursor:
|
|
||||||
text: '0xf6f6f6'
|
|
||||||
cursor: '0x181818'
|
|
||||||
|
|
||||||
# Normal colors
|
|
||||||
normal:
|
|
||||||
black: '0xf6f6f6'
|
|
||||||
red: '0x9c5a02'
|
|
||||||
green: '0x38781c'
|
|
||||||
yellow: '0xc48218'
|
|
||||||
blue: '0x48bac2'
|
|
||||||
magenta: '0xa94598'
|
|
||||||
cyan: '0x2d6bb1'
|
|
||||||
white: '0x181818'
|
|
||||||
|
|
||||||
# Bright colors
|
|
||||||
bright:
|
|
||||||
black: '0x898989'
|
|
||||||
red: '0x9c5a02'
|
|
||||||
green: '0x38781c'
|
|
||||||
yellow: '0xc48218'
|
|
||||||
blue: '0x48bac2'
|
|
||||||
magenta: '0xa94598'
|
|
||||||
cyan: '0x2d6bb1'
|
|
||||||
white: '0xf8f8f8'
|
|
||||||
|
|
||||||
indexed_colors:
|
|
||||||
- { index: 16, color: '0xc43e18' }
|
|
||||||
- { index: 17, color: '0x8b6c37' }
|
|
||||||
- { index: 18, color: '0xdedede' }
|
|
||||||
- { index: 19, color: '0xbde5f2' }
|
|
||||||
- { index: 20, color: '0x767676' }
|
|
||||||
- { index: 21, color: '0xe8e8e8' }
|
|
||||||
|
|
||||||
# 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.
|
|
||||||
#
|
|
||||||
# Values for `animation`:
|
|
||||||
# - Ease
|
|
||||||
# - EaseOut
|
|
||||||
# - EaseOutSine
|
|
||||||
# - EaseOutQuad
|
|
||||||
# - EaseOutCubic
|
|
||||||
# - EaseOutQuart
|
|
||||||
# - EaseOutQuint
|
|
||||||
# - EaseOutExpo
|
|
||||||
# - EaseOutCirc
|
|
||||||
# - Linear
|
|
||||||
#
|
|
||||||
# Specifying a `duration` of `0` will disable the visual bell.
|
|
||||||
visual_bell:
|
visual_bell:
|
||||||
animation: EaseOutExpo
|
animation: EaseOutExpo
|
||||||
duration: 100
|
duration: 0 # disabled
|
||||||
|
|
||||||
# Background opacity
|
|
||||||
#
|
|
||||||
# Window opacity as a floating point number from `0.0` to `1.0`.
|
|
||||||
# The value `0.0` is completely transparent and `1.0` is opaque.
|
|
||||||
background_opacity: 1.0
|
background_opacity: 1.0
|
||||||
|
|
||||||
# Mouse bindings
|
|
||||||
#
|
|
||||||
# Available fields:
|
|
||||||
# - mouse
|
|
||||||
# - action
|
|
||||||
# - mods (optional)
|
|
||||||
#
|
|
||||||
# Values for `mouse`:
|
|
||||||
# - Middle
|
|
||||||
# - Left
|
|
||||||
# - Right
|
|
||||||
# - Numeric identifier such as `5`
|
|
||||||
#
|
|
||||||
# All available `mods` and `action` values are documented in the key binding
|
|
||||||
# section.
|
|
||||||
mouse_bindings:
|
mouse_bindings:
|
||||||
- { mouse: Middle, action: PasteSelection }
|
- { mouse: Middle, action: PasteSelection }
|
||||||
|
|
||||||
|
|
||||||
mouse:
|
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 }
|
double_click: { threshold: 300 }
|
||||||
triple_click: { threshold: 300 }
|
triple_click: { threshold: 300 }
|
||||||
|
|
||||||
# If this is `true`, the cursor is temporarily hidden when typing.
|
|
||||||
hide_when_typing: false
|
|
||||||
|
|
||||||
url:
|
url:
|
||||||
# URL launcher
|
launcher: firefox
|
||||||
#
|
modifiers: Control
|
||||||
# This program is executed when clicking on a text which is recognized as a URL.
|
|
||||||
# The URL is always added to the command as the last parameter.
|
|
||||||
launcher: xdg-open
|
|
||||||
|
|
||||||
# URL modifiers
|
|
||||||
#
|
|
||||||
# These are the modifiers that need to be held down for opening URLs when clicking
|
|
||||||
# on them. The available modifiers are documented in the key binding section.
|
|
||||||
modifiers: Control|Shift
|
|
||||||
|
|
||||||
selection:
|
selection:
|
||||||
semantic_escape_chars: ",│`|:\"' ()[]{}<>"
|
semantic_escape_chars: ",│`|:\"' ()[]{}<>"
|
||||||
|
|
||||||
# When set to `true`, selected text will be copied to both the primary and
|
|
||||||
# the selection clipboard. Otherwise, it will only be copied to the selection
|
|
||||||
# clipboard.
|
|
||||||
save_to_clipboard: false
|
|
||||||
|
|
||||||
dynamic_title: true
|
dynamic_title: true
|
||||||
|
|
||||||
cursor:
|
|
||||||
# Cursor style
|
|
||||||
#
|
|
||||||
# Values for 'style':
|
|
||||||
# - ▇ Block
|
|
||||||
# - _ Underline
|
|
||||||
# - | Beam
|
|
||||||
style: Block
|
|
||||||
|
|
||||||
# If this is `true`, the cursor will be rendered as a hollow box when the
|
|
||||||
# window is not focused.
|
|
||||||
unfocused_hollow: true
|
|
||||||
|
|
||||||
# Live config reload (changes require restart)
|
|
||||||
live_config_reload: true
|
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
|
|
||||||
#
|
|
||||||
# Key bindings are specified as a list of objects. Each binding will specify
|
|
||||||
# a key and modifiers required to trigger it, terminal modes where the binding
|
|
||||||
# is applicable, and what should be done when the key binding fires. It can
|
|
||||||
# either send a byte sequnce to the running application (`chars`), execute
|
|
||||||
# a predefined action (`action`) or fork and execute a specified command plus
|
|
||||||
# arguments (`command`).
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# `- { key: V, mods: Command, action: Paste }`
|
|
||||||
#
|
|
||||||
# Available fields:
|
|
||||||
# - key
|
|
||||||
# - mods (optional)
|
|
||||||
# - chars | action | command (exactly one required)
|
|
||||||
# - mode (optional)
|
|
||||||
#
|
|
||||||
# Values for `key`:
|
|
||||||
# - `A` -> `Z`
|
|
||||||
# - `F1` -> `F12`
|
|
||||||
# - `Key1` -> `Key0`
|
|
||||||
#
|
|
||||||
# A full list with available key codes can be found here:
|
|
||||||
# https://docs.rs/glutin/*/glutin/enum.VirtualKeyCode.html#variants
|
|
||||||
#
|
|
||||||
# Instead of using the name of the keys, the `key` field also supports using
|
|
||||||
# the scancode of the desired key. Scancodes have to be specified as a
|
|
||||||
# decimal number.
|
|
||||||
# This command will allow you to display the hex scancodes for certain keys:
|
|
||||||
# `showkey --scancodes`
|
|
||||||
#
|
|
||||||
# Values for `mods`:
|
|
||||||
# - Command
|
|
||||||
# - Control
|
|
||||||
# - Shift
|
|
||||||
# - Alt
|
|
||||||
#
|
|
||||||
# Multiple `mods` can be combined using `|` like this: `mods: Control|Shift`.
|
|
||||||
# Whitespace and capitalization is relevant and must match the example.
|
|
||||||
#
|
|
||||||
# Values for `chars`:
|
|
||||||
# The `chars` field writes the specified string to the terminal. This makes
|
|
||||||
# it possible to pass escape sequences.
|
|
||||||
# To find escape codes for bindings like `PageUp` ("\x1b[5~"), you can run
|
|
||||||
# the command `showkey -a` outside of tmux.
|
|
||||||
# Note that applications use terminfo to map escape sequences back to
|
|
||||||
# keys. It is therefore required to update the terminfo when
|
|
||||||
# changing an escape sequence.
|
|
||||||
#
|
|
||||||
# Values for `action`:
|
|
||||||
# - Paste
|
|
||||||
# - PasteSelection
|
|
||||||
# - Copy
|
|
||||||
# - IncreaseFontSize
|
|
||||||
# - DecreaseFontSize
|
|
||||||
# - ResetFontSize
|
|
||||||
# - ScrollPageUp
|
|
||||||
# - ScrollPageDown
|
|
||||||
# - ScrollToTop
|
|
||||||
# - ScrollToBottom
|
|
||||||
# - ClearHistory
|
|
||||||
# - Hide
|
|
||||||
# - Quit
|
|
||||||
#
|
|
||||||
# Values for `command`:
|
|
||||||
# The `command` field must be a map containing a `program` string and
|
|
||||||
# an `args` array of command line parameter strings.
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# `command: { program: "alacritty", args: ["-e", "vttest"] }`
|
|
||||||
#
|
|
||||||
# Values for `mode`:
|
|
||||||
# - ~AppCursor
|
|
||||||
# - AppCursor
|
|
||||||
# - ~AppKeypad
|
|
||||||
# - AppKeypad
|
|
||||||
key_bindings:
|
key_bindings:
|
||||||
- { key: V, mods: Control|Shift, action: Paste }
|
- { key: V, mods: Control|Shift, action: Paste }
|
||||||
- { key: C, mods: Control|Shift, action: Copy }
|
- { key: C, mods: Control|Shift, action: Copy }
|
||||||
|
@ -368,7 +68,7 @@ key_bindings:
|
||||||
- { key: W, mods: Command, action: Quit }
|
- { key: W, mods: Command, action: Quit }
|
||||||
- { key: Insert, mods: Shift, action: PasteSelection }
|
- { key: Insert, mods: Shift, action: PasteSelection }
|
||||||
- { key: Key0, mods: Control, action: ResetFontSize }
|
- { key: Key0, mods: Control, action: ResetFontSize }
|
||||||
- { key: Add, mods: Control, action: IncreaseFontSize }
|
- { key: Equals, mods: Control, action: IncreaseFontSize }
|
||||||
- { key: Subtract, mods: Control, action: DecreaseFontSize }
|
- { key: Subtract, mods: Control, action: DecreaseFontSize }
|
||||||
- { key: Home, chars: "\x1bOH", mode: AppCursor }
|
- { key: Home, chars: "\x1bOH", mode: AppCursor }
|
||||||
- { key: Home, chars: "\x1b[H", mode: ~AppCursor }
|
- { key: Home, chars: "\x1b[H", mode: ~AppCursor }
|
||||||
|
@ -465,3 +165,46 @@ key_bindings:
|
||||||
- { key: F10, mods: Super, chars: "\x1b[21;3~" }
|
- { key: F10, mods: Super, chars: "\x1b[21;3~" }
|
||||||
- { key: F11, mods: Super, chars: "\x1b[23;3~" }
|
- { key: F11, mods: Super, chars: "\x1b[23;3~" }
|
||||||
- { key: F12, mods: Super, chars: "\x1b[24;3~" }
|
- { key: F12, mods: Super, chars: "\x1b[24;3~" }
|
||||||
|
|
||||||
|
# Base16 One Light 256 - alacritty color config
|
||||||
|
# Daniel Pfeifer (http://github.com/purpleKarrot)
|
||||||
|
colors:
|
||||||
|
# Default colors
|
||||||
|
primary:
|
||||||
|
background: '0xfafafa'
|
||||||
|
foreground: '0x383a42'
|
||||||
|
|
||||||
|
# Colors the cursor will use if `custom_cursor_colors` is true
|
||||||
|
cursor:
|
||||||
|
text: '0xfafafa'
|
||||||
|
cursor: '0x383a42'
|
||||||
|
|
||||||
|
# Normal colors
|
||||||
|
normal:
|
||||||
|
black: '0xfafafa'
|
||||||
|
red: '0xca1243'
|
||||||
|
green: '0x50a14f'
|
||||||
|
yellow: '0xc18401'
|
||||||
|
blue: '0x4078f2'
|
||||||
|
magenta: '0xa626a4'
|
||||||
|
cyan: '0x0184bc'
|
||||||
|
white: '0x383a42'
|
||||||
|
|
||||||
|
# Bright colors
|
||||||
|
bright:
|
||||||
|
black: '0xa0a1a7'
|
||||||
|
red: '0xca1243'
|
||||||
|
green: '0x50a14f'
|
||||||
|
yellow: '0xc18401'
|
||||||
|
blue: '0x4078f2'
|
||||||
|
magenta: '0xa626a4'
|
||||||
|
cyan: '0x0184bc'
|
||||||
|
white: '0x090a0b'
|
||||||
|
|
||||||
|
indexed_colors:
|
||||||
|
- { index: 16, color: '0xd75f00' }
|
||||||
|
- { index: 17, color: '0x986801' }
|
||||||
|
- { index: 18, color: '0xf0f0f1' }
|
||||||
|
- { index: 19, color: '0xe5e5e6' }
|
||||||
|
- { index: 20, color: '0x696c77' }
|
||||||
|
- { index: 21, color: '0x202227' }
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit ce8e1e540367ea83cc3e01eec7b2a11783b3f9e1
|
|
@ -0,0 +1 @@
|
||||||
|
--theme="base16"
|
|
@ -0,0 +1,6 @@
|
||||||
|
PATH=$HOME/.local/bin:$HOME/bin:$HOME/bin/go/bin:$HOME/.cargo/bin:$PATH
|
||||||
|
DICPATH="${HOME}/.local/share/hunspell"
|
||||||
|
XDG_CURRENT_DESKTOP=GNOME
|
||||||
|
PASSWORD_STORE_DIR="${HOME}/Documents/Passwords/.password-store"
|
||||||
|
MOZ_ENABLE_WAYLAND=1
|
||||||
|
MOZ_USE_XINPUT2=1
|
|
@ -1,11 +1,11 @@
|
||||||
command=/usr/local/libexec/i3blocks/$BLOCK_NAME
|
command=/usr/libexec/i3blocks/$BLOCK_NAME
|
||||||
separator=true
|
separator=true
|
||||||
separator_block_width=12
|
separator_block_width=20
|
||||||
markup=pango
|
markup=pango
|
||||||
border_top=0
|
# border_top=0
|
||||||
border_left=0
|
# border_left=30
|
||||||
border_right=0
|
# border_right=25
|
||||||
border_bottom=0
|
# border_bottom=0
|
||||||
|
|
||||||
[mail]
|
[mail]
|
||||||
command=i3-mail
|
command=i3-mail
|
||||||
|
@ -13,10 +13,14 @@ interval=10
|
||||||
label=
|
label=
|
||||||
border=#f5f5f5
|
border=#f5f5f5
|
||||||
|
|
||||||
|
[memory-label]
|
||||||
|
separator_block_width=0
|
||||||
|
separator=false
|
||||||
|
full_text=
|
||||||
|
|
||||||
[memory]
|
[memory]
|
||||||
label=
|
|
||||||
interval=30
|
interval=30
|
||||||
border=#d79921
|
# border=#d79921
|
||||||
|
|
||||||
[memory]
|
[memory]
|
||||||
label=
|
label=
|
||||||
|
@ -33,11 +37,10 @@ interval=10
|
||||||
label=
|
label=
|
||||||
|
|
||||||
[openvpn]
|
[openvpn]
|
||||||
command= /usr/local/share/doc/i3blocks/contrib/openvpn
|
|
||||||
interval=10
|
interval=10
|
||||||
|
|
||||||
[mediaplayer]
|
[mediaplayer]
|
||||||
command= /usr/local/share/doc/i3blocks/contrib/mediaplayer
|
command=mpc status|head -1
|
||||||
interval=5
|
interval=5
|
||||||
signal=10
|
signal=10
|
||||||
label=
|
label=
|
||||||
|
|
|
@ -37,16 +37,17 @@ set $term alacritty
|
||||||
# Your preferred application launcher
|
# Your preferred application launcher
|
||||||
# Note: it's recommended that you pass the final command to sway
|
# Note: it's recommended that you pass the final command to sway
|
||||||
set $menu dmenu_path | i3-rofi | xargs swaymsg exec
|
set $menu dmenu_path | i3-rofi | xargs swaymsg exec
|
||||||
|
set $display_laptop eDP-1
|
||||||
|
set $display_dell "Dell Inc. DELL U2415 7MT018BM1PGU"
|
||||||
|
set $display_lg "Goldstar Company Ltd 34UM95 0x00000101"
|
||||||
|
set $display_coworking "Dell Inc. DELL U2713H C6F0K34O095L"
|
||||||
### Output configuration
|
### Output configuration
|
||||||
#
|
#
|
||||||
# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/)
|
# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/)
|
||||||
output * bg ~/Pictures/Wallpapers/mountains-blue.jpg fill
|
output * bg ~/Pictures/Wallpapers/scheidegg-mountains.jpg fill
|
||||||
output "Dell Inc. DELL U2415 7MT018BM1PGU" transform 270 pos 0 0
|
output $display_dell transform 270 pos 0 0
|
||||||
#output eDP-1 scale 1 pos 1440 500
|
output $display_lg mode 3440x1440@49.987000Hz pos 1200 290
|
||||||
output "Goldstar Company Ltd 34UM95 0x00000101" mode 3440x1440@49.987000Hz pos 1200 290
|
output $display_coworking pos 2560 0
|
||||||
# output "Dell Inc. DELL U2713H C6F0K34O095L" transform 270 pos 0 0
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Example configuration:
|
# Example configuration:
|
||||||
#
|
#
|
||||||
|
@ -103,6 +104,8 @@ input "2:10:TPPS/2_IBM_TrackPoint" {
|
||||||
|
|
||||||
input "1390:269:ELECOM_TrackBall_Mouse_HUGE_TrackBall" {
|
input "1390:269:ELECOM_TrackBall_Mouse_HUGE_TrackBall" {
|
||||||
natural_scroll enabled
|
natural_scroll enabled
|
||||||
|
scroll_button 279
|
||||||
|
scroll_method on_button_down
|
||||||
}
|
}
|
||||||
|
|
||||||
input "65261:4871:ErgoDox_EZ_ErgoDox_EZ_Keyboard" {
|
input "65261:4871:ErgoDox_EZ_ErgoDox_EZ_Keyboard" {
|
||||||
|
@ -117,6 +120,9 @@ input "1:1:AT_Translated_Set_2_keyboard" {
|
||||||
|
|
||||||
input * xkb_layout "de"
|
input * xkb_layout "de"
|
||||||
|
|
||||||
|
bindswitch --locked lid:on output $display_laptop disable
|
||||||
|
bindswitch --locked lid:off output $display_laptop enable
|
||||||
|
|
||||||
bindsym $mod+shift+b border toggle
|
bindsym $mod+shift+b border toggle
|
||||||
|
|
||||||
|
|
||||||
|
@ -142,17 +148,8 @@ bindsym shift+Print exec i3-screenshot -s
|
||||||
bindsym control+shift+Print exec i3-dropshot
|
bindsym control+shift+Print exec i3-dropshot
|
||||||
bindsym control+alt+l exec i3-blur-lock
|
bindsym control+alt+l exec i3-blur-lock
|
||||||
|
|
||||||
bindsym $mod+shift+m exec em
|
bindsym $mod+shift+o move workspace to output right
|
||||||
bindsym $mod+shift+v exec rofi-pass
|
bindsym $mod+o focus output right
|
||||||
bindsym $mod+shift+o exec nautilus
|
|
||||||
|
|
||||||
|
|
||||||
bindsym $mod+shift+x exec rofi-clipboard
|
|
||||||
bindsym $mod+shift+a exec rofi-marks
|
|
||||||
|
|
||||||
bindsym control+shift+Space exec makoctl dismiss
|
|
||||||
|
|
||||||
bindsym $mod+o move workspace to output right
|
|
||||||
|
|
||||||
# Basics:
|
# Basics:
|
||||||
#
|
#
|
||||||
|
@ -162,11 +159,9 @@ bindsym $mod+Return exec $term
|
||||||
# kill focused window
|
# kill focused window
|
||||||
bindsym $mod+q kill
|
bindsym $mod+q kill
|
||||||
|
|
||||||
# start your launcher
|
|
||||||
bindsym $mod+d exec $menu
|
|
||||||
|
|
||||||
bindsym $mod+shift+d exec alacritty --class 'launcher' --command bash -c 'compgen -c | sort -u | fzf | xargs -r swaymsg -t command exec'
|
bindsym $mod+shift+d exec alacritty --class 'launcher' --command bash -c 'compgen -c | sort -u | fzf | xargs -r swaymsg -t command exec'
|
||||||
for_window [app_id="^launcher$"] floating enable, border none, resize set width 25 ppt height 100 ppt, move position 0 px 0 px
|
for_window [app_id="^launcher$"] floating enable, border pixel 4, resize set width 25 ppt height 100 ppt, move position center
|
||||||
|
|
||||||
# Drag floating windows by holding down $mod and left mouse button.
|
# Drag floating windows by holding down $mod and left mouse button.
|
||||||
# Resize them with right mouse button + $mod.
|
# Resize them with right mouse button + $mod.
|
||||||
|
@ -255,10 +250,11 @@ bindsym $mod+f fullscreen
|
||||||
bindsym $mod+Shift+space floating toggle
|
bindsym $mod+Shift+space floating toggle
|
||||||
|
|
||||||
# Swap focus between the tiling area and the floating area
|
# Swap focus between the tiling area and the floating area
|
||||||
bindsym $mod+space focus mode_toggle
|
bindsym $mod+alt+space focus mode_toggle
|
||||||
|
|
||||||
# move focus to the parent container
|
# move focus to the parent container
|
||||||
bindsym $mod+a focus parent
|
bindsym $mod+a focus parent
|
||||||
|
bindsym $mod+shift+a focus child
|
||||||
#
|
#
|
||||||
# Scratchpad:
|
# Scratchpad:
|
||||||
#
|
#
|
||||||
|
@ -274,51 +270,88 @@ bindsym $mod+minus scratchpad show
|
||||||
|
|
||||||
bindsym $mod+t scratchpad toggle
|
bindsym $mod+t scratchpad toggle
|
||||||
|
|
||||||
for_window [title="terminal_scratchpad"] move scratchpad
|
for_window [title="terminal_scratchpad"] move scratchpad, fullscreen disable, border pixel 4, move position center
|
||||||
for_window [title="terminal_scratchpad"] fullscreen enable
|
|
||||||
|
|
||||||
bindsym $mod+u exec swaymsg [title="terminal_scratchpad"] scratchpad show
|
bindsym $mod+u exec swaymsg [title="terminal_scratchpad"] scratchpad show
|
||||||
|
|
||||||
exec alacritty --title terminal_scratchpad
|
exec alacritty --title terminal_scratchpad
|
||||||
|
|
||||||
for_window [title="worklogger"] floating enable
|
# mako
|
||||||
|
bindsym $mod+n exec makoctl dismiss
|
||||||
|
bindsym $mod+Shift+n exec makoctl dismiss -a
|
||||||
|
|
||||||
|
for_window [title="^worklogger.*$"] floating enable, border pixel 4, move position center
|
||||||
|
for_window [title="nm-tray"] floating enable
|
||||||
|
for_window [app_id="org.gnome.Nautilus"] floating enable
|
||||||
|
for_window [title="Firefox - Sharing Indicator"] floating enable
|
||||||
|
|
||||||
assign [instance="^.*\.yakshed\.org$"] "3: Comms"
|
assign [instance="^.*\.yakshed\.org$"] "3: Comms"
|
||||||
assign [instance="^.*\.slack\.com$"] "3: Comms"
|
assign [instance="^.*\.slack\.com$"] "3: Comms"
|
||||||
assign [instance="web.whatsapp.com"] "3: Comms"
|
assign [instance="web.whatsapp.com"] "3: Comms"
|
||||||
assign [instance="inoreader.com"] "3: Comms"
|
assign [instance="inoreader.com"] "3: Comms"
|
||||||
|
assign [title="^.*qutebrowser-comms$"] "3: Comms"
|
||||||
|
assign [title="Wire"] "3: Comms"
|
||||||
|
assign [title="Signal"] "3: Comms"
|
||||||
|
|
||||||
#
|
#
|
||||||
# Resizing containers:
|
# Resizing containers:
|
||||||
#
|
#
|
||||||
mode "resize" {
|
mode "resize" {
|
||||||
# left will shrink the containers width
|
# left will shrink the containers width
|
||||||
# right will grow the containers width
|
# right will grow the containers width
|
||||||
# up will shrink the containers height
|
# up will shrink the containers height
|
||||||
# down will grow the containers height
|
# down will grow the containers height
|
||||||
bindsym $left resize shrink width 10px
|
bindsym $left resize shrink width 10px
|
||||||
bindsym $down resize grow height 10px
|
bindsym $down resize grow height 10px
|
||||||
bindsym $up resize shrink height 10px
|
bindsym $up resize shrink height 10px
|
||||||
bindsym $right resize grow width 10px
|
bindsym $right resize grow width 10px
|
||||||
|
|
||||||
# ditto, with arrow keys
|
# ditto, with arrow keys
|
||||||
bindsym Left resize shrink width 10px
|
bindsym Left resize shrink width 10px
|
||||||
bindsym Down resize grow height 10px
|
bindsym Down resize grow height 10px
|
||||||
bindsym Up resize shrink height 10px
|
bindsym Up resize shrink height 10px
|
||||||
bindsym Right resize grow width 10px
|
bindsym Right resize grow width 10px
|
||||||
|
|
||||||
# return to default mode
|
# return to default mode
|
||||||
bindsym Return mode "default"
|
bindsym Return mode "default"
|
||||||
bindsym Escape mode "default"
|
bindsym Escape mode "default"
|
||||||
}
|
}
|
||||||
|
|
||||||
bindsym $mod+r mode "resize"
|
bindsym $mod+r mode "resize"
|
||||||
|
|
||||||
|
mode "run" {
|
||||||
|
# start your launcher
|
||||||
|
bindsym $mod+d exec $menu; mode "default";
|
||||||
|
bindsym d exec $menu; mode "default";
|
||||||
|
bindsym r exec i3-rofi; mode "default";
|
||||||
|
bindsym p exec rofi-pass; mode "default";
|
||||||
|
|
||||||
|
bindsym w exec qutebrowser; mode "default";
|
||||||
|
|
||||||
|
bindsym e exec em; mode "default"
|
||||||
|
bindsym f exec nautilus; mode "default"
|
||||||
|
|
||||||
|
bindsym c exec clipman pick --tool=rofi; mode "default"
|
||||||
|
bindsym b exec rofi-marks; mode "default"
|
||||||
|
bindsym o exec pavucontrol; mode "default"
|
||||||
|
|
||||||
|
bindsym v exec alacritty --class 'vm' --command zsh -c 'vm'
|
||||||
|
# return to default mode
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
bindsym $mod+d mode "run"
|
||||||
|
|
||||||
set $font_family FuraMono Nerd Font
|
set $font_family FuraMono Nerd Font
|
||||||
set $font_size 10
|
set $font_size 10
|
||||||
font pango:$font_family $font_size
|
font pango:$font_family $font_size
|
||||||
default_border pixel 1
|
default_border pixel 2
|
||||||
|
workspace_auto_back_and_forth yes
|
||||||
|
|
||||||
|
|
||||||
|
smart_gaps on
|
||||||
|
smart_borders on
|
||||||
|
|
||||||
# class border backgr. text indic. child_border
|
# class border backgr. text indic. child_border
|
||||||
|
|
||||||
|
@ -330,33 +363,30 @@ client.urgent $base08 $base08 $base00 $base08 $base08
|
||||||
client.placeholder $base00 $base00 $base05 $base00 $base00
|
client.placeholder $base00 $base00 $base05 $base00 $base00
|
||||||
client.background $base07
|
client.background $base07
|
||||||
|
|
||||||
#
|
|
||||||
# Status Bar:
|
|
||||||
#
|
|
||||||
# Read `man 5 sway-bar` for more information about this section.
|
|
||||||
bar {
|
bar {
|
||||||
position top
|
position top
|
||||||
|
status_command i3status-rs ~/.config/i3status-rs.toml
|
||||||
|
font pango:FuraMono Nerd Font, FontAwesome 12
|
||||||
|
colors {
|
||||||
|
background $base00
|
||||||
|
separator $base01
|
||||||
|
statusline $base04
|
||||||
|
|
||||||
# When the status_command prints a new line to stdout, swaybar updates.
|
# State Border BG Text
|
||||||
# The default just shows the current date and time.
|
focused_workspace $base05 $base0D $base00
|
||||||
# swaybar_command waybar
|
active_workspace $base05 $base03 $base00
|
||||||
status_command i3status
|
inactive_workspace $base03 $base01 $base05
|
||||||
|
urgent_workspace $base08 $base08 $base00
|
||||||
|
binding_mode $base00 $base0A $base00
|
||||||
colors {
|
}
|
||||||
background $base00
|
|
||||||
separator $base01
|
|
||||||
statusline $base04
|
|
||||||
|
|
||||||
# State Border BG Text
|
|
||||||
focused_workspace $base05 $base0D $base00
|
|
||||||
active_workspace $base05 $base03 $base00
|
|
||||||
inactive_workspace $base03 $base01 $base05
|
|
||||||
urgent_workspace $base08 $base08 $base00
|
|
||||||
binding_mode $base00 $base0A $base00
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
include /etc/sway/config.d/*
|
include /etc/sway/config.d/*
|
||||||
|
|
||||||
|
# Currently inactive – see https://github.com/swaywm/sway/issues/4649
|
||||||
|
#exec wl-paste -t text --watch clipman store
|
||||||
|
|
||||||
|
# See https://github.com/swaywm/sway/wiki#after-unplugging-an-external-display-some-applications-appear-too-large-on-my-hidpi-screen
|
||||||
|
exec xrdb -load ~/.Xresources
|
||||||
exec i3-autostart
|
exec i3-autostart
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
/home/bascht/.config/systemd/user/emacs.service
|
|
@ -4,8 +4,8 @@ Documentation=info:emacs man:emacs(1) https://gnu.org/software/emacs/
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Type=forking
|
Type=forking
|
||||||
ExecStart=/usr/bin/emacs --daemon
|
ExecStart=/usr/bin/emacs --bg-daemon=daemacs
|
||||||
ExecStop=/usr/bin/emacsclient --eval "(kill-emacs)"
|
ExecStop=/usr/bin/emacsclient -s daemacs --eval "(save-buffers-kill-emacs)"
|
||||||
Environment=SSH_AUTH_SOCK=%t/keyring/ssh
|
Environment=SSH_AUTH_SOCK=%t/keyring/ssh
|
||||||
Restart=on-failure
|
Restart=on-failure
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
[Unit]
|
||||||
|
Description=Run maid cleanup
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
ExecStart=maid clean --force
|
|
@ -0,0 +1,10 @@
|
||||||
|
[Unit]
|
||||||
|
Description=Run maid timer
|
||||||
|
|
||||||
|
[Timer]
|
||||||
|
OnActiveSec=30s
|
||||||
|
OnUnitActiveSec=120m
|
||||||
|
Unit=maid.service
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=timers.target
|
|
@ -0,0 +1 @@
|
||||||
|
/home/bascht/.config/systemd/user/maid.timer
|
|
@ -1 +1 @@
|
||||||
Subproject commit 0e0319968db33a0846252d4cc42b96e1f0d46617
|
Subproject commit fdd38eec9b7bcb5ed92404d3c30401791808e968
|
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit ff951341c993ed84ad65344e496e122ee3dddf67
|
|
@ -1 +1 @@
|
||||||
Subproject commit 9817e1e7ff62494abf9d7c78870e92908567e8f4
|
Subproject commit e38099de96e8b62976354b468da1b21ec2d57f68
|
|
@ -90,6 +90,7 @@ values."
|
||||||
flycheck-plantuml
|
flycheck-plantuml
|
||||||
backline
|
backline
|
||||||
magit-todos
|
magit-todos
|
||||||
|
enh-ruby-mode
|
||||||
)
|
)
|
||||||
;; A list of packages that cannot be updated.
|
;; A list of packages that cannot be updated.
|
||||||
dotspacemacs-frozen-packages '()
|
dotspacemacs-frozen-packages '()
|
||||||
|
@ -167,15 +168,15 @@ values."
|
||||||
;; Press <SPC> T n to cycle to the next theme in the list (works great
|
;; Press <SPC> T n to cycle to the next theme in the list (works great
|
||||||
;; with 2 themes variants, one dark and one light)
|
;; with 2 themes variants, one dark and one light)
|
||||||
dotspacemacs-themes '(doom-one-light
|
dotspacemacs-themes '(doom-one-light
|
||||||
|
spacemacs-light
|
||||||
|
doom-nord-light
|
||||||
doom-opera-light
|
doom-opera-light
|
||||||
doom-solarized-light
|
doom-solarized-light
|
||||||
doom-nord-light
|
doom-one-light
|
||||||
|
doom-nord
|
||||||
doom-dracula
|
doom-dracula
|
||||||
doom-spacegrey
|
doom-spacegrey
|
||||||
doom-one-light
|
|
||||||
doom-one
|
doom-one
|
||||||
doom-nord
|
|
||||||
spacemacs-light
|
|
||||||
spacemacs-dark)
|
spacemacs-dark)
|
||||||
;; If non nil the cursor color matches the state color in GUI Emacs.
|
;; If non nil the cursor color matches the state color in GUI Emacs.
|
||||||
dotspacemacs-colorize-cursor-according-to-state t
|
dotspacemacs-colorize-cursor-according-to-state t
|
||||||
|
@ -344,7 +345,8 @@ values."
|
||||||
;; delete only whitespace for changed lines or `nil' to disable cleanup.
|
;; delete only whitespace for changed lines or `nil' to disable cleanup.
|
||||||
;; (default nil)
|
;; (default nil)
|
||||||
dotspacemacs-whitespace-cleanup nil
|
dotspacemacs-whitespace-cleanup nil
|
||||||
))
|
)
|
||||||
|
)
|
||||||
|
|
||||||
(defun dotspacemacs/user-init ()
|
(defun dotspacemacs/user-init ()
|
||||||
"Initialization function for user code.
|
"Initialization function for user code.
|
||||||
|
@ -377,19 +379,24 @@ you should place your code here."
|
||||||
(global-set-key (kbd "C->") 'mc/mark-next-like-this)
|
(global-set-key (kbd "C->") 'mc/mark-next-like-this)
|
||||||
(global-set-key (kbd "C-<") 'mc/mark-previous-like-this)
|
(global-set-key (kbd "C-<") 'mc/mark-previous-like-this)
|
||||||
|
|
||||||
(spacemacs/set-leader-keys "oa" 'org-agenda)
|
(spacemacs/set-leader-keys "oa" 'my-org-agenda)
|
||||||
(spacemacs/set-leader-keys "om" 'mu4e)
|
(spacemacs/set-leader-keys "om" 'bascht/mu4e-inbox)
|
||||||
(spacemacs/set-leader-keys "oo" 'helm-org-rifle-agenda-files)
|
(spacemacs/set-leader-keys "oo" 'helm-org-rifle-agenda-files)
|
||||||
(spacemacs/set-leader-keys "oc" 'org-mru-clock-in)
|
(spacemacs/set-leader-keys "oc" 'org-mru-clock-in)
|
||||||
(spacemacs/set-leader-keys "ok" 'org-clock-goto)
|
(spacemacs/set-leader-keys "ok" 'org-clock-goto)
|
||||||
(spacemacs/set-leader-keys "or" 'org-refile-goto-last-stored)
|
(spacemacs/set-leader-keys "or" 'org-refile-goto-last-stored)
|
||||||
(spacemacs/set-leader-keys "od" 'my-daily-review)
|
(spacemacs/set-leader-keys "od" 'my-daily-review)
|
||||||
|
(spacemacs/set-leader-keys "og" 'bascht/go-to-org-file)
|
||||||
(spacemacs/set-leader-keys "glu" 'mu4e-view-go-to-url)
|
(spacemacs/set-leader-keys "glu" 'mu4e-view-go-to-url)
|
||||||
(spacemacs/set-leader-keys "drr" 'rake)
|
(spacemacs/set-leader-keys "drr" 'rake)
|
||||||
(spacemacs/set-leader-keys "drl" 'rake-rerun)
|
(spacemacs/set-leader-keys "drl" 'rake-rerun)
|
||||||
(spacemacs/toggle-hungry-delete-on)
|
(spacemacs/toggle-hungry-delete-on)
|
||||||
|
|
||||||
|
(defun bascht/go-to-org-file ()
|
||||||
|
"Jump to one of my Agenda files via helm"
|
||||||
|
(interactive)
|
||||||
|
(helm-find-files-1 "~/Documents/Zettelkasten/"))
|
||||||
|
|
||||||
(with-eval-after-load 'org
|
(with-eval-after-load 'org
|
||||||
(if
|
(if
|
||||||
(or (s-starts-with? "zog" system-name) (s-starts-with? "kandalingo" system-name))
|
(or (s-starts-with? "zog" system-name) (s-starts-with? "kandalingo" system-name))
|
||||||
|
@ -399,6 +406,9 @@ you should place your code here."
|
||||||
(load-file "~/.spacemacs.d/private/org-config.el")))
|
(load-file "~/.spacemacs.d/private/org-config.el")))
|
||||||
)
|
)
|
||||||
|
|
||||||
|
;; Don't litter. Use one file per VM.
|
||||||
|
(setq recentf-save-file (format "%s.%s.%s" recentf-save-file system-name server-name))
|
||||||
|
|
||||||
;; Tramp speed up
|
;; Tramp speed up
|
||||||
(setq remote-file-name-inhibit-cache nil)
|
(setq remote-file-name-inhibit-cache nil)
|
||||||
(setq vc-ignore-dir-regexp
|
(setq vc-ignore-dir-regexp
|
||||||
|
@ -444,7 +454,16 @@ you should place your code here."
|
||||||
(flycheck-yamllint-setup)
|
(flycheck-yamllint-setup)
|
||||||
))
|
))
|
||||||
|
|
||||||
|
(with-eval-after-load "ispell"
|
||||||
|
(setq ispell-program-name "hunspell")
|
||||||
|
;; ispell-set-spellchecker-params has to be called
|
||||||
|
;; before ispell-hunspell-add-multi-dic will work
|
||||||
|
(ispell-set-spellchecker-params)
|
||||||
|
(ispell-hunspell-add-multi-dic "de_DE,en_GB")
|
||||||
|
(setq ispell-dictionary "de_DE,en_GB"))
|
||||||
|
|
||||||
(add-hook 'git-commit-mode-hook 'evil-insert-state)
|
(add-hook 'git-commit-mode-hook 'evil-insert-state)
|
||||||
|
(add-hook 'org-capture-mode-hook 'evil-insert-state)
|
||||||
|
|
||||||
(setq delete-selection-mode nil)
|
(setq delete-selection-mode nil)
|
||||||
(setq hledger-currency-string "EUR")
|
(setq hledger-currency-string "EUR")
|
||||||
|
@ -463,7 +482,6 @@ you should place your code here."
|
||||||
(setq atomic-chrome-default-major-mode 'markdown-mode)
|
(setq atomic-chrome-default-major-mode 'markdown-mode)
|
||||||
(setq web-mode-engines-alist
|
(setq web-mode-engines-alist
|
||||||
'(("go" . "\\.phtml\\'")))
|
'(("go" . "\\.phtml\\'")))
|
||||||
(setq recentf-save-file "~/.emacs.d.recentf")
|
|
||||||
)
|
)
|
||||||
|
|
||||||
;; Do not write anything past this comment. This is where Emacs will
|
;; Do not write anything past this comment. This is where Emacs will
|
||||||
|
|
|
@ -56,7 +56,14 @@
|
||||||
(setq org-refile-allow-creating-parent-nodes 'confirm)
|
(setq org-refile-allow-creating-parent-nodes 'confirm)
|
||||||
(setq org-clock-sound t)
|
(setq org-clock-sound t)
|
||||||
(setq org-clock-out-remove-zero-time-clocks t)
|
(setq org-clock-out-remove-zero-time-clocks t)
|
||||||
|
;; Resume clocking task when emacs is restarted
|
||||||
|
(org-clock-persistence-insinuate)
|
||||||
|
;; Save the running clock and all clock history when exiting Emacs, load it on startup
|
||||||
(setq org-clock-persist t)
|
(setq org-clock-persist t)
|
||||||
|
;; Resume clocking task on clock-in if the clock is open
|
||||||
|
(setq org-clock-in-resume t)
|
||||||
|
;; Do not prompt to resume an active clock, just resume it
|
||||||
|
(setq org-clock-persist-query-resume nil)
|
||||||
|
|
||||||
(setq org-agenda-start-with-clockreport-mode t)
|
(setq org-agenda-start-with-clockreport-mode t)
|
||||||
(setq org-clock-report-include-clocking-task t)
|
(setq org-clock-report-include-clocking-task t)
|
||||||
|
@ -154,7 +161,7 @@
|
||||||
:time-grid t)))))
|
:time-grid t)))))
|
||||||
(todo "" ((org-agenda-overriding-header "Other")
|
(todo "" ((org-agenda-overriding-header "Other")
|
||||||
(org-super-agenda-groups
|
(org-super-agenda-groups
|
||||||
'((auto-category t)) )))
|
'((:auto-category t)) )))
|
||||||
(todo "" ((org-agenda-overriding-header "Grouped")
|
(todo "" ((org-agenda-overriding-header "Grouped")
|
||||||
(org-super-agenda-groups
|
(org-super-agenda-groups
|
||||||
'((:name none ; Disable super group header
|
'((:name none ; Disable super group header
|
||||||
|
@ -173,6 +180,9 @@
|
||||||
(:name "Process + Shallow"
|
(:name "Process + Shallow"
|
||||||
:time-grid t
|
:time-grid t
|
||||||
:tag ("@process" "@shallow"))
|
:tag ("@process" "@shallow"))
|
||||||
|
(:name "Customer Projects"
|
||||||
|
:file-path "Customer"
|
||||||
|
)
|
||||||
(:name "Quick Picks"
|
(:name "Quick Picks"
|
||||||
:effort< "0:30"
|
:effort< "0:30"
|
||||||
)
|
)
|
||||||
|
@ -185,6 +195,9 @@
|
||||||
(setq org-agenda-span 1)
|
(setq org-agenda-span 1)
|
||||||
((org-super-agenda-groups
|
((org-super-agenda-groups
|
||||||
'(
|
'(
|
||||||
|
(:name "Quick Picks"
|
||||||
|
:effort< "0:30"
|
||||||
|
)
|
||||||
(:name "Immersive + Deep"
|
(:name "Immersive + Deep"
|
||||||
:tag ("@immersive" "@deep"))
|
:tag ("@immersive" "@deep"))
|
||||||
(:name "Immersive + Shallow"
|
(:name "Immersive + Shallow"
|
||||||
|
@ -193,10 +206,11 @@
|
||||||
:tag ("@process" "@deep"))
|
:tag ("@process" "@deep"))
|
||||||
(:name "Process + Shallow"
|
(:name "Process + Shallow"
|
||||||
:tag ("@process" "@shallow"))
|
:tag ("@process" "@shallow"))
|
||||||
(:name "Quick Picks"
|
(:name "Customer Projects"
|
||||||
:effort< "0:30"
|
:file-path "Customer"
|
||||||
)
|
)
|
||||||
(:priority<= "B"
|
(:name "Low Prio and future"
|
||||||
|
:priority<= "B"
|
||||||
:scheduled future
|
:scheduled future
|
||||||
:order 1))))
|
:order 1))))
|
||||||
(org-agenda nil "a"))
|
(org-agenda nil "a"))
|
||||||
|
@ -234,6 +248,15 @@
|
||||||
(org-cycle-hide-drawers 'all)
|
(org-cycle-hide-drawers 'all)
|
||||||
(search-forward "[ ]"))
|
(search-forward "[ ]"))
|
||||||
|
|
||||||
|
(defun my-org-agenda ()
|
||||||
|
(interactive)
|
||||||
|
(let ((org-agenda-start-with-log-mode 'nil)
|
||||||
|
(org-agenda-show-log 'nil)
|
||||||
|
(org-agenda-span 'day)
|
||||||
|
(org-agenda-use-time-grid t))
|
||||||
|
(org-agenda nil "c")
|
||||||
|
(org-agenda-redo)
|
||||||
|
))
|
||||||
; Recent loops callable for daily review
|
; Recent loops callable for daily review
|
||||||
(defun my-org-agenda-recent-open-loops ()
|
(defun my-org-agenda-recent-open-loops ()
|
||||||
(interactive)
|
(interactive)
|
||||||
|
@ -246,6 +269,19 @@
|
||||||
(add-to-list 'org-global-properties
|
(add-to-list 'org-global-properties
|
||||||
'("Effort_ALL". "0:05 0:10 0:15 0:30 1:00 2:00 3:00 4:00"))
|
'("Effort_ALL". "0:05 0:10 0:15 0:30 1:00 2:00 3:00 4:00"))
|
||||||
|
|
||||||
|
(setq org-agenda-category-icon-alist
|
||||||
|
'(("Todo" "~/.icons/emacs/todo-16x16.png" nil nil :ascent center)
|
||||||
|
("Personal.*" "~/.icons/emacs/person-16x16.png" nil nil :ascent center)
|
||||||
|
("Customer.*" "~/.icons/emacs/briefcase-16x16.png" nil nil :ascent center)
|
||||||
|
("Project.*" "~/.icons/emacs/generic-folder-16x16.png" nil nil :ascent center)
|
||||||
|
("\\(ROPrivat\\|ROArbeit\\)" "~/.icons/emacs/calendar-16x16.png" nil nil :ascent center)
|
||||||
|
(".*" '(space . (:width (16))))))
|
||||||
|
|
||||||
|
; Save file on every state change
|
||||||
|
(add-hook 'org-trigger-hook 'save-buffer)
|
||||||
|
(add-hook 'org-clock-in-hook 'save-buffer)
|
||||||
|
(add-hook 'org-clock-out-hook 'save-buffer)
|
||||||
|
|
||||||
(provide 'org-config)
|
(provide 'org-config)
|
||||||
;;; org-config.el ends here
|
;;; org-config.el ends here
|
||||||
;; Local Variables:
|
;; Local Variables:
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: lgs
|
||||||
|
# key: lgs
|
||||||
|
# --
|
||||||
|
Liebe Grüße,
|
||||||
|
Sebastian
|
Binary file not shown.
|
@ -2,7 +2,8 @@ unbind C-b
|
||||||
set-option -g prefix C-o
|
set-option -g prefix C-o
|
||||||
bind-key C-o send-prefix
|
bind-key C-o send-prefix
|
||||||
|
|
||||||
set -g default-terminal "screen-256color"
|
set -g default-terminal "xterm-24bit"
|
||||||
|
set -ag terminal-overrides ",xterm-24bit:Tc"
|
||||||
|
|
||||||
bind s split-window -v
|
bind s split-window -v
|
||||||
bind v split-window -h
|
bind v split-window -h
|
||||||
|
@ -19,12 +20,16 @@ bind > resize-pane -R 1
|
||||||
bind - resize-pane -D 1
|
bind - resize-pane -D 1
|
||||||
bind + resize-pane -U 1
|
bind + resize-pane -U 1
|
||||||
|
|
||||||
bind-key C-Tab next-window
|
bind-key -n C-Tab next-window
|
||||||
bind-key C-S-Tab previous-window
|
bind-key -n C-S-Tab previous-window
|
||||||
|
bind-key C-l last-window
|
||||||
|
|
||||||
bind-key -n C-S-Left swap-window -t -1
|
bind-key -n C-S-Left swap-window -t -1
|
||||||
bind-key -n C-S-Right swap-window -t +1
|
bind-key -n C-S-Right swap-window -t +1
|
||||||
|
|
||||||
|
bind-key S-Left swap-window -t -1
|
||||||
|
bind-key S-Right swap-window -t +1
|
||||||
|
|
||||||
bind-key -n C-S-Up switch-client -p
|
bind-key -n C-S-Up switch-client -p
|
||||||
bind-key -n C-S-Down switch-client -n
|
bind-key -n C-S-Down switch-client -n
|
||||||
|
|
||||||
|
@ -64,5 +69,6 @@ set-option -g display-panes-active-colour colour33
|
||||||
set-option -g display-panes-colour colour166
|
set-option -g display-panes-colour colour166
|
||||||
set-window-option -g clock-mode-colour colour64
|
set-window-option -g clock-mode-colour colour64
|
||||||
set-window-option -g window-status-bell-style fg=colour235,bg=colour160
|
set-window-option -g window-status-bell-style fg=colour235,bg=colour160
|
||||||
|
set -g escape-time 0
|
||||||
|
|
||||||
run-shell "~/bin/tmux-statusline"
|
run-shell "~/bin/tmux-statusline"
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit b255382d6242d7ea3877bf059d2934125e0c4d95
|
|
@ -0,0 +1,161 @@
|
||||||
|
set nocompatible
|
||||||
|
filetype off
|
||||||
|
|
||||||
|
set rtp+=~/.vim/bundle/Vundle.vim
|
||||||
|
call vundle#begin()
|
||||||
|
|
||||||
|
" Bundles
|
||||||
|
" Actual plugins
|
||||||
|
Plugin 'VundleVim/Vundle.vim'
|
||||||
|
Plugin 'tpope/vim-fugitive'
|
||||||
|
Plugin 'kien/ctrlp.vim'
|
||||||
|
Plugin 'tpope/vim-surround'
|
||||||
|
Plugin 'tpope/vim-repeat'
|
||||||
|
Plugin 'editorconfig/editorconfig-vim'
|
||||||
|
Plugin 'gerw/vim-HiLinkTrace'
|
||||||
|
" Meta plugins
|
||||||
|
Plugin 'vim-scripts/ingo-library'
|
||||||
|
Plugin 'vim-scripts/SyntaxRange'
|
||||||
|
" Syntax highlighting
|
||||||
|
Plugin 'plasticboy/vim-markdown'
|
||||||
|
Plugin 'cespare/vim-toml'
|
||||||
|
Plugin 'rust-lang/rust.vim'
|
||||||
|
Plugin 'mxw/vim-jsx'
|
||||||
|
Plugin 'pangloss/vim-javascript'
|
||||||
|
Plugin 'kchmck/vim-coffee-script'
|
||||||
|
Plugin 'google/vim-jsonnet'
|
||||||
|
Plugin 'sirtaj/vim-openscad'
|
||||||
|
Plugin 'leafgarland/typescript-vim'
|
||||||
|
Plugin 'beyondmarc/glsl.vim'
|
||||||
|
Plugin 'vim-scripts/scons.vim'
|
||||||
|
Plugin 'calviken/vim-gdscript3'
|
||||||
|
Plugin 'wannesm/wmgraphviz.vim'
|
||||||
|
Plugin 'sotte/presenting.vim'
|
||||||
|
Plugin 'ziglang/zig.vim'
|
||||||
|
Plugin 'dracula/vim', { 'name': 'dracula' }
|
||||||
|
" /Bundles
|
||||||
|
|
||||||
|
call vundle#end()
|
||||||
|
|
||||||
|
filetype plugin indent on
|
||||||
|
|
||||||
|
set laststatus=2
|
||||||
|
set t_Co=256
|
||||||
|
|
||||||
|
let g:vim_markdown_folding_disabled=1
|
||||||
|
let g:vim_markdown_frontmatter=1
|
||||||
|
let g:jsx_ext_required = 0
|
||||||
|
|
||||||
|
set encoding=utf-8
|
||||||
|
set tabstop=4
|
||||||
|
set shiftwidth=4
|
||||||
|
set autoindent
|
||||||
|
set magic " unbreak vim's regex implementation
|
||||||
|
|
||||||
|
set number
|
||||||
|
set scrolloff=3
|
||||||
|
set sidescroll=3
|
||||||
|
|
||||||
|
set ruler
|
||||||
|
set cc=80
|
||||||
|
set nowrap
|
||||||
|
|
||||||
|
set ignorecase
|
||||||
|
set smartcase
|
||||||
|
|
||||||
|
set splitbelow
|
||||||
|
set hidden
|
||||||
|
set notimeout
|
||||||
|
|
||||||
|
" Search as you type, highlight results
|
||||||
|
set incsearch
|
||||||
|
set showmatch
|
||||||
|
set hlsearch
|
||||||
|
|
||||||
|
" Resize windows and move tabs and such with the mouse
|
||||||
|
set mouse=a
|
||||||
|
|
||||||
|
" Don't litter swp files everywhere
|
||||||
|
set backupdir=~/.cache
|
||||||
|
set directory=~/.cache
|
||||||
|
|
||||||
|
set nofoldenable
|
||||||
|
set lazyredraw
|
||||||
|
|
||||||
|
set tags=./tags;
|
||||||
|
|
||||||
|
set printheader=\
|
||||||
|
|
||||||
|
syntax on
|
||||||
|
let mapleader = "\<space>"
|
||||||
|
nnoremap \\ :noh<cr> " Clear higlighting
|
||||||
|
nnoremap <silent> <F5> :let _s=@/<Bar>:%s/\s\+$//e<Bar>:let @/=_s<Bar>:nohl<CR> " Trim trailing spaces
|
||||||
|
nnoremap Y y$
|
||||||
|
nnoremap cc :center<cr>
|
||||||
|
inoremap <C-c> <ESC>
|
||||||
|
" Ex mode is fucking dumb
|
||||||
|
nnoremap Q <Nop>
|
||||||
|
|
||||||
|
command Jp e ++enc=euc-jp
|
||||||
|
|
||||||
|
" Preferences for various file formats
|
||||||
|
autocmd FileType c setlocal noet ts=4 sw=4 tw=80
|
||||||
|
autocmd FileType h setlocal noet ts=4 sw=4 tw=80
|
||||||
|
autocmd FileType cpp setlocal noet ts=4 sw=4 tw=80
|
||||||
|
autocmd FileType s setlocal noet ts=4 sw=4
|
||||||
|
autocmd FileType go setlocal noet ts=4 sw=4
|
||||||
|
autocmd FileType hy setlocal filetype=lisp
|
||||||
|
autocmd FileType sh setlocal noet ts=4 sw=4
|
||||||
|
autocmd BufRead,BufNewFile *.js setlocal et ts=2 sw=2
|
||||||
|
autocmd FileType html setlocal et ts=2 sw=2
|
||||||
|
autocmd FileType htmldjango setlocal et ts=2 sw=2
|
||||||
|
autocmd FileType ruby setlocal et ts=2 sw=2
|
||||||
|
autocmd FileType scss setlocal et ts=2 sw=2
|
||||||
|
autocmd FileType yaml setlocal et ts=2 sw=2
|
||||||
|
autocmd FileType markdown setlocal tw=80 et ts=2 sw=2
|
||||||
|
autocmd FileType text setlocal tw=80
|
||||||
|
autocmd FileType meson setlocal noet ts=2 sw=2
|
||||||
|
autocmd FileType bzl setlocal et ts=2 sw=2
|
||||||
|
autocmd FileType typescript setlocal et ts=2 sw=2
|
||||||
|
autocmd FileType python setlocal et ts=4 sw=4
|
||||||
|
autocmd BufNewFile,BufRead *.ms set syntax=python ts=4 sw=4 noet
|
||||||
|
autocmd BufNewFile,BufRead *.scd set ts=4 sw=4 noet
|
||||||
|
autocmd FileType tex hi Error ctermbg=NONE
|
||||||
|
autocmd FileType mail setlocal noautoindent
|
||||||
|
augroup filetypedetect
|
||||||
|
autocmd BufRead,BufNewFile *mutt-* setfiletype mail
|
||||||
|
augroup filetypedetect
|
||||||
|
autocmd BufRead,BufNewFile *qutebrowser-editor-* set ts=4 sw=4 et
|
||||||
|
autocmd BufNewFile,BufRead * if expand('%:t') == 'APKBUILD' | set ft=sh | endif
|
||||||
|
autocmd BufNewFile,BufRead * if expand('%:t') == 'PKGBUILD' | set ft=sh | endif
|
||||||
|
|
||||||
|
set guioptions-=m
|
||||||
|
set guioptions-=T
|
||||||
|
set guioptions-=r
|
||||||
|
set guioptions-=e
|
||||||
|
|
||||||
|
nmap <leader>l :set list!<CR>
|
||||||
|
set listchars=tab:▸\ ,eol:¬,space:.
|
||||||
|
|
||||||
|
syntax enable
|
||||||
|
|
||||||
|
|
||||||
|
" Transparent editing of gpg encrypted files.
|
||||||
|
" By Wouter Hanegraaff
|
||||||
|
augroup encrypted
|
||||||
|
au!
|
||||||
|
autocmd BufReadPre,FileReadPre *.gpg set viminfo=
|
||||||
|
autocmd BufReadPre,FileReadPre *.gpg set noswapfile noundofile nobackup
|
||||||
|
autocmd BufReadPre,FileReadPre *.gpg set bin
|
||||||
|
autocmd BufReadPre,FileReadPre *.gpg let ch_save = &ch|set ch=2
|
||||||
|
autocmd BufReadPost,FileReadPost *.gpg '[,']!gpg --decrypt 2> /dev/null
|
||||||
|
autocmd BufReadPost,FileReadPost *.gpg set nobin
|
||||||
|
autocmd BufReadPost,FileReadPost *.gpg let &ch = ch_save|unlet ch_save
|
||||||
|
autocmd BufReadPost,FileReadPost *.gpg execute ":doautocmd BufReadPost " . expand("%:r")
|
||||||
|
autocmd BufWritePre,FileWritePre *.gpg '[,']!gpg --default-recipient-self -ae 2>/dev/null
|
||||||
|
autocmd BufWritePost,FileWritePost *.gpg u
|
||||||
|
augroup END
|
||||||
|
|
||||||
|
let g:presenting_top_margin = 2
|
||||||
|
|
||||||
|
" set printdevice=EPSON_LX-350
|
|
@ -1,9 +1,10 @@
|
||||||
export PATH=$HOME/.local/bin:$HOME/bin:$HOME/bin/go/bin:$HOME/.cargo/bin:$PATH
|
source ~/.config/environment.d/*
|
||||||
|
export PATH
|
||||||
|
export DICPATH
|
||||||
|
export XDG_CURRENT_DESKTOP
|
||||||
|
export PASSWORD_STORE_DIR
|
||||||
|
export MOZ_ENABLE_WAYLAND
|
||||||
|
export MOZ_USE_XINPUT2
|
||||||
export VAGRANT_DEFAULT_PROVIDER=libvirt
|
export VAGRANT_DEFAULT_PROVIDER=libvirt
|
||||||
export VAGRANT_DOTFILE_PATH=".vagrant-$(hostname)"
|
export VAGRANT_DOTFILE_PATH=".vagrant-$(hostname)"
|
||||||
export QT_QPA_PLATFORMTHEME="qt5ct"
|
export QT_QPA_PLATFORMTHEME="qt5ct"
|
||||||
export DICPATH="${HOME}/.local/share/hunspell"
|
|
||||||
export XDG_CURRENT_DESKTOP=GNOME
|
|
||||||
export PASSWORD_STORE_DIR="${HOME}/Documents/Passwords/.password-store"
|
|
||||||
export MOZ_ENABLE_WAYLAND=1
|
|
||||||
export MOZ_USE_XINPUT2=1
|
|
||||||
|
|
33
home/.zshrc
33
home/.zshrc
|
@ -1,3 +1,8 @@
|
||||||
|
# Directly start sway if we're on tty1
|
||||||
|
if [ "$(tty)" = "/dev/tty1" ]; then
|
||||||
|
exec sway-run
|
||||||
|
fi
|
||||||
|
|
||||||
# Back out if we're surrounded by Emacs
|
# Back out if we're surrounded by Emacs
|
||||||
[ "$TERM" = "eterm-color" ] && exec bash
|
[ "$TERM" = "eterm-color" ] && exec bash
|
||||||
[ "$TERM" = "xterm-termite" ] && export TERM=xterm-256color
|
[ "$TERM" = "xterm-termite" ] && export TERM=xterm-256color
|
||||||
|
@ -15,7 +20,7 @@ fpath=( ~/.kubectx/completion "${fpath[@]}" )
|
||||||
ZSH_CUSTOM="${HOME}/.zsh-custom"
|
ZSH_CUSTOM="${HOME}/.zsh-custom"
|
||||||
ZSH_THEME="powerlevel10k/powerlevel10k"
|
ZSH_THEME="powerlevel10k/powerlevel10k"
|
||||||
ZSH_DOTENV_FILE=".direnv"
|
ZSH_DOTENV_FILE=".direnv"
|
||||||
FZF_MARKS_FILE="${HOME}/.config/fzf/${HOSTNAME}"
|
FZF_MARKS_FILE="${HOME}/.config/fzf/${HOST}"
|
||||||
|
|
||||||
export ZSH=/home/bascht/.oh-my-zsh
|
export ZSH=/home/bascht/.oh-my-zsh
|
||||||
|
|
||||||
|
@ -34,16 +39,20 @@ alias docker-rm-dangling="docker rmi (docker images -q -f dangling=true)"
|
||||||
alias dco="docker-compose"
|
alias dco="docker-compose"
|
||||||
alias dcorrm="docker-compose run --rm"
|
alias dcorrm="docker-compose run --rm"
|
||||||
alias emacseval="emacs -batch -l ~/.emacs.d/init.el -eval '(org-batch-agenda "a")'"
|
alias emacseval="emacs -batch -l ~/.emacs.d/init.el -eval '(org-batch-agenda "a")'"
|
||||||
alias dry="docker run --rm -itv /var/run/docker.sock:/var/run/docker.sock skanehira/docui"
|
alias drri="docker run --rm -ti"
|
||||||
|
alias dry="drri -v /var/run/docker.sock:/var/run/docker.sock skanehira/docui"
|
||||||
alias k=kubectl
|
alias k=kubectl
|
||||||
alias g=git
|
alias g=git
|
||||||
alias git-cleanup-merged-branches="git fetch -va && git branch --merged | egrep -v '(^\*|master)' | xargs git branch -d"
|
alias git-cleanup-merged-branches="git fetch -va && git branch --merged | egrep -v '(^\*|master)' | xargs git branch -d"
|
||||||
|
alias wttr="curl 'wttr.in/Bogenhausen?1pQF&lang=de'"
|
||||||
|
alias termbin="nc termbin.com 9999"
|
||||||
|
alias ssh='TERM=xterm-256color ssh'
|
||||||
timestamp() { date +%Y-%m-%d-%H%M%S }
|
timestamp() { date +%Y-%m-%d-%H%M%S }
|
||||||
letterup() { take $1 && cp -a ~/Documents/Personal/Brief-Vorlage/2017-LaTeX/* .; }
|
letterup() { take $1 && cp -a ~/Documents/Personal/Brief-Vorlage/2017-LaTeX/* .; }
|
||||||
|
|
||||||
# Override the tmux ssh auth sock
|
# Override the tmux ssh auth sock
|
||||||
SSH_TMUX_SOCK="${HOME}/.ssh/ssh_auth_sock"
|
SSH_TMUX_SOCK="${HOME}/.ssh/ssh_auth_sock"
|
||||||
if [ "${SSH_AUTH_SOCK}" != "${SSH_TMUX_SOCK}" ]; then
|
if [ "${SSH_AUTH_SOCK}" != "${SSH_TMUX_SOCK}" ] && [ "${SSH_AUTH_SOCK}" != "" ]; then
|
||||||
ln -sf "$SSH_AUTH_SOCK" "$SSH_TMUX_SOCK"
|
ln -sf "$SSH_AUTH_SOCK" "$SSH_TMUX_SOCK"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -68,9 +77,25 @@ function fzf-ssh () {
|
||||||
zle reset-prompt
|
zle reset-prompt
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Only load kubectl completion when needed. I's bog-slow
|
||||||
|
if [[ -f $KUBECONFIG ]]; then
|
||||||
|
source <(kubectl completion zsh);
|
||||||
|
fi;
|
||||||
|
|
||||||
zle -N fzf-ssh
|
zle -N fzf-ssh
|
||||||
bindkey '\es' fzf-ssh
|
bindkey '\es' fzf-ssh
|
||||||
|
|
||||||
|
function fzf-vm () {
|
||||||
|
local selected_vm=$(grep "Host " ~/.ssh/config | grep -oP "vm-(\w+)" | sort -u | cut -b 4- | fzf --reverse --height=20 --query "$LBUFFER")
|
||||||
|
if [ -n "$selected_vm" ]; then
|
||||||
|
BUFFER="vm ${selected_vm} ''"
|
||||||
|
zle accept-line
|
||||||
|
fi
|
||||||
|
zle reset-prompt
|
||||||
|
}
|
||||||
|
zle -N fzf-vm
|
||||||
|
bindkey '\ev' fzf-vm
|
||||||
|
|
||||||
# Via @leahneukirchen
|
# Via @leahneukirchen
|
||||||
autoload -Uz copy-earlier-word
|
autoload -Uz copy-earlier-word
|
||||||
zle -N copy-earlier-word
|
zle -N copy-earlier-word
|
||||||
|
@ -79,6 +104,6 @@ bindkey "^[m" copy-earlier-word
|
||||||
if [ -f ~/Code/architecture/bin/ia ]; then
|
if [ -f ~/Code/architecture/bin/ia ]; then
|
||||||
source <(~/Code/architecture/bin/ia completion)
|
source <(~/Code/architecture/bin/ia completion)
|
||||||
fi;
|
fi;
|
||||||
|
|
||||||
source ~/.zsh-custom/plugins/
|
source ~/.zsh-custom/plugins/
|
||||||
# To customize prompt, run `p9k_configure` or edit ~/.p10k.zsh.
|
|
||||||
source ~/.p10k.zsh
|
source ~/.p10k.zsh
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
exec emacsclient -c $*
|
exec emacsclient -s daemacs -c "${@}"
|
||||||
|
|
|
@ -30,15 +30,17 @@ else
|
||||||
swaymsg workspace "4: Docs"
|
swaymsg workspace "4: Docs"
|
||||||
swaymsg exec "emacs ~/"
|
swaymsg exec "emacs ~/"
|
||||||
swaymsg workspace "2: Web"
|
swaymsg workspace "2: Web"
|
||||||
swaymsg exec chromium-browser
|
swaymsg exec firefox-wayland
|
||||||
swaymsg workspace "3: Comms"
|
swaymsg workspace "3: Comms"
|
||||||
swaymsg exec start-comms
|
swaymsg exec start-comms
|
||||||
|
swaymsg workspace "5: Media"
|
||||||
|
swaymsg exec alacritty -- -e "mux start music"
|
||||||
swaymsg workspace "1: Code"
|
swaymsg workspace "1: Code"
|
||||||
swaymsg exec alacritty
|
swaymsg exec alacritty
|
||||||
|
|
||||||
swaymsg -- exec swayidle \
|
swayidle \
|
||||||
timeout 300 'swaylock -c 000000' \
|
timeout 300 'i3-blur-lock' \
|
||||||
timeout 600 'swaymsg "output * dpms off"' \
|
timeout 600 'swaymsg "output * dpms off"' \
|
||||||
resume 'swaymsg "output * dpms on"' \
|
resume 'swaymsg "output * dpms on"' \
|
||||||
before-sleep 'swaylock -c 000000'
|
before-sleep 'i3-blur-lock' &
|
||||||
fi;
|
fi;
|
||||||
|
|
|
@ -3,119 +3,131 @@
|
||||||
require 'json'
|
require 'json'
|
||||||
require 'erb'
|
require 'erb'
|
||||||
require 'pry'
|
require 'pry'
|
||||||
|
require 'yaml'
|
||||||
|
|
||||||
binaries = {
|
verbose = ARGV.include? "-v"
|
||||||
skaffold: {
|
|
||||||
url: "https://storage.googleapis.com/skaffold/releases/<%= version %>/skaffold-linux-amd64",
|
|
||||||
version: "v0.17.0",
|
|
||||||
version_argument: "version",
|
|
||||||
version_match: "<%= version %>"
|
|
||||||
},
|
|
||||||
kubectl: {
|
|
||||||
url: "https://storage.googleapis.com/kubernetes-release/release/<%= version %>/bin/linux/amd64/kubectl",
|
|
||||||
version: "v1.15.1",
|
|
||||||
version_argument: "version --client",
|
|
||||||
version_match: '^Client Version.*GitVersion:\"(?<version><%= version %>)\"'
|
|
||||||
},
|
|
||||||
kustomize: {
|
|
||||||
url: "https://github.com/kubernetes-sigs/kustomize/releases/download/v<%= version %>/kustomize_<%= version %>_linux_amd64",
|
|
||||||
version: "2.0.3",
|
|
||||||
version_argument: "version",
|
|
||||||
version_match: '^Version: {KustomizeVersion:(?<version><%= version %>) '
|
|
||||||
},
|
|
||||||
yq: {
|
|
||||||
url: "https://github.com/mikefarah/yq/releases/download/<%= version %>/yq_linux_amd64",
|
|
||||||
version: "2.1.1",
|
|
||||||
version_argument: "--version",
|
|
||||||
version_match: '^yq version <%= version %>'
|
|
||||||
},
|
|
||||||
lab: {
|
|
||||||
url: "https://github.com/zaquestion/lab/releases/download/v<%= version %>/lab_<%= version %>_linux_amd64.tar.gz",
|
|
||||||
version: "0.14.0",
|
|
||||||
version_argument: "version",
|
|
||||||
version_match: '^lab version <%= version %>',
|
|
||||||
},
|
|
||||||
gopass: {
|
|
||||||
url: "https://github.com/gopasspw/gopass/releases/download/v<%= version %>/gopass-<%= version %>-linux-amd64.tar.gz",
|
|
||||||
version: "1.8.6",
|
|
||||||
version_argument: "version",
|
|
||||||
version_match: '^gopass <%= version %> ',
|
|
||||||
extractor: lambda() do
|
|
||||||
Dir.glob("gopass*/gopass")
|
|
||||||
end
|
|
||||||
},
|
|
||||||
greenclip: {
|
|
||||||
url: "https://github.com/erebe/greenclip/releases/download/<%= version %>/greenclip",
|
|
||||||
version: "3.1",
|
|
||||||
version_argument: "version",
|
|
||||||
version_match: '^greenclip v<%= version %>',
|
|
||||||
},
|
|
||||||
packer: {
|
|
||||||
url: "https://releases.hashicorp.com/packer/<%= version %>/packer_<%= version %>_linux_amd64.zip",
|
|
||||||
version: "1.3.5",
|
|
||||||
version_argument: "version",
|
|
||||||
version_match: "^Packer v<%= version %>"
|
|
||||||
},
|
|
||||||
minikube: {
|
|
||||||
url: "https://storage.googleapis.com/minikube/releases/v<%= version %>/minikube-linux-amd64",
|
|
||||||
version: "0.33.1",
|
|
||||||
version_argument: "version",
|
|
||||||
version_match: "^minikube version: v<%= version %>"
|
|
||||||
},
|
|
||||||
terraform: {
|
|
||||||
url: "https://releases.hashicorp.com/terraform/<%= version %>/terraform_<%= version %>_linux_amd64.zip",
|
|
||||||
version: "0.12.2",
|
|
||||||
version_argument: "version",
|
|
||||||
version_match: "^Terraform v<%= version %>"
|
|
||||||
},
|
|
||||||
vagrant: {
|
|
||||||
url: "https://releases.hashicorp.com/vagrant/<%= version %>/vagrant_<%= version %>_linux_amd64.zip",
|
|
||||||
version: "2.2.5",
|
|
||||||
version_argument: "version",
|
|
||||||
version_match: "^Vagrant <%= version %>"
|
|
||||||
},
|
|
||||||
helm: {
|
|
||||||
url: "https://storage.googleapis.com/kubernetes-helm/helm-v<%= version %>-linux-amd64.tar.gz",
|
|
||||||
version: "2.13.0",
|
|
||||||
version_argument: "--version",
|
|
||||||
version_match: "v<%= version %>"
|
|
||||||
},
|
|
||||||
fzf: {
|
|
||||||
url: "https://github.com/junegunn/fzf-bin/releases/download/<%= version %>/fzf-<%= version %>-linux_amd64.tgz",
|
|
||||||
version: "0.17.5",
|
|
||||||
version_argument: "--version",
|
|
||||||
version_match: "<%= version %>.*"
|
|
||||||
},
|
|
||||||
bat: {
|
|
||||||
url: "https://github.com/sharkdp/bat/releases/download/v<%= version %>/bat-v<%= version %>-x86_64-unknown-linux-gnu.tar.gz",
|
|
||||||
version: "0.10.0",
|
|
||||||
version_argument: "--version",
|
|
||||||
version_match: "v<%= version %>"
|
|
||||||
},
|
|
||||||
hcloud: {
|
|
||||||
url: "https://github.com/hetznercloud/cli/releases/download/v<%= version %>/hcloud-linux-amd64-v<%= version %>.tar.gz",
|
|
||||||
version: "1.12.0",
|
|
||||||
version_argument: "version",
|
|
||||||
version_match: "v<%= version %>"
|
|
||||||
},
|
|
||||||
hugo: {
|
|
||||||
url: "https://github.com/gohugoio/hugo/releases/download/v<%= version %>/hugo_<%= version %>_Linux-64bit.tar.gz",
|
|
||||||
version: "0.55.6",
|
|
||||||
version_argument: "version",
|
|
||||||
version_match: "Hugo Static Site Generator v<%= version %>"
|
|
||||||
},
|
|
||||||
pandoc: {
|
|
||||||
url: "https://github.com/jgm/pandoc/releases/download/<%= version %>/pandoc-<%= version %>-linux.tar.gz",
|
|
||||||
version: "2.7.3",
|
|
||||||
version_argument: "--version",
|
|
||||||
version_match: "pandoc-citeproc 0.16.2"
|
|
||||||
},
|
|
||||||
"wally-cli": {
|
|
||||||
url: "https://github.com/zsa/wally/releases/download/<%= version %>-linux/wally-cli",
|
|
||||||
version: "1.1.0"
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
|
binaries = YAML.load <<EOB
|
||||||
|
---
|
||||||
|
:skaffold:
|
||||||
|
:url: https://storage.googleapis.com/skaffold/releases/<%= version %>/skaffold-linux-amd64
|
||||||
|
:version: v0.17.0
|
||||||
|
:version_argument: version
|
||||||
|
:version_match: "<%= version %>"
|
||||||
|
:kubectl:
|
||||||
|
:url: https://storage.googleapis.com/kubernetes-release/release/<%= version %>/bin/linux/amd64/kubectl
|
||||||
|
:version: v1.15.1
|
||||||
|
:version_argument: version --client
|
||||||
|
:version_match: ^Client Version.*GitVersion:\"(?<version><%= version %>)\"
|
||||||
|
:kustomize:
|
||||||
|
:url: https://github.com/kubernetes-sigs/kustomize/releases/download/v<%= version
|
||||||
|
%>/kustomize_<%= version %>_linux_amd64
|
||||||
|
:version: 2.0.3
|
||||||
|
:version_argument: version
|
||||||
|
:version_match: "^Version: {KustomizeVersion:(?<version><%= version %>) "
|
||||||
|
:yq:
|
||||||
|
:url: https://github.com/mikefarah/yq/releases/download/<%= version %>/yq_linux_amd64
|
||||||
|
:version: 2.1.1
|
||||||
|
:version_argument: "--version"
|
||||||
|
:version_match: "^yq version <%= version %>"
|
||||||
|
:lab:
|
||||||
|
:url: https://github.com/zaquestion/lab/releases/download/v<%= version %>/lab_<%=
|
||||||
|
version %>_linux_amd64.tar.gz
|
||||||
|
:version: 0.14.0
|
||||||
|
:version_argument: version
|
||||||
|
:version_match: "^lab version <%= version %>"
|
||||||
|
:gopass:
|
||||||
|
:url: https://github.com/gopasspw/gopass/releases/download/v<%= version %>/gopass-<%=
|
||||||
|
version %>-linux-amd64.tar.gz
|
||||||
|
:version: 1.8.6
|
||||||
|
:version_argument: version
|
||||||
|
:version_match: "^gopass <%= version %> "
|
||||||
|
:greenclip:
|
||||||
|
:url: https://github.com/erebe/greenclip/releases/download/<%= version %>/greenclip
|
||||||
|
:version: '3.1'
|
||||||
|
:version_argument: version
|
||||||
|
:version_match: "^greenclip v<%= version %>"
|
||||||
|
:packer:
|
||||||
|
:url: https://releases.hashicorp.com/packer/<%= version %>/packer_<%= version %>_linux_amd64.zip
|
||||||
|
:version: 1.3.5
|
||||||
|
:version_argument: version
|
||||||
|
:version_match: "^Packer v<%= version %>"
|
||||||
|
:minikube:
|
||||||
|
:url: https://storage.googleapis.com/minikube/releases/v<%= version %>/minikube-linux-amd64
|
||||||
|
:version: 0.33.1
|
||||||
|
:version_argument: version
|
||||||
|
:version_match: "^minikube version: v<%= version %>"
|
||||||
|
:terraform:
|
||||||
|
:url: https://releases.hashicorp.com/terraform/<%= version %>/terraform_<%= version
|
||||||
|
%>_linux_amd64.zip
|
||||||
|
:version: 0.12.10
|
||||||
|
:version_argument: version
|
||||||
|
:version_match: "^Terraform v<%= version %>"
|
||||||
|
:vagrant:
|
||||||
|
:url: https://releases.hashicorp.com/vagrant/<%= version %>/vagrant_<%= version
|
||||||
|
%>_linux_amd64.zip
|
||||||
|
:version: 2.2.5
|
||||||
|
:version_argument: version
|
||||||
|
:version_match: "^Installed Version: <%= version %>"
|
||||||
|
:helm:
|
||||||
|
:url: https://get.helm.sh/helm-v<%= version %>-linux-amd64.tar.gz
|
||||||
|
:version: 3.0.2
|
||||||
|
:version_argument: "version --short"
|
||||||
|
:version_match: v<%= version %>
|
||||||
|
:fzf:
|
||||||
|
:url: https://github.com/junegunn/fzf-bin/releases/download/<%= version %>/fzf-<%=
|
||||||
|
version %>-linux_amd64.tgz
|
||||||
|
:version: 0.17.5
|
||||||
|
:version_argument: "--version"
|
||||||
|
:version_match: "<%= version %>.*"
|
||||||
|
:bat:
|
||||||
|
:url: https://github.com/sharkdp/bat/releases/download/v<%= version %>/bat-v<%=
|
||||||
|
version %>-x86_64-unknown-linux-gnu.tar.gz
|
||||||
|
:version: 0.12.1
|
||||||
|
:version_argument: "--version"
|
||||||
|
:version_match: bat <%= version %>
|
||||||
|
:hcloud:
|
||||||
|
:url: https://github.com/hetznercloud/cli/releases/download/v<%= version %>/hcloud-linux-amd64-v<%=
|
||||||
|
version %>.tar.gz
|
||||||
|
:version: 1.12.0
|
||||||
|
:version_argument: version
|
||||||
|
:version_match: v<%= version %>
|
||||||
|
:hugo:
|
||||||
|
:url: https://github.com/gohugoio/hugo/releases/download/v<%= version %>/hugo_<%=
|
||||||
|
version %>_Linux-64bit.tar.gz
|
||||||
|
:version: 0.59.1
|
||||||
|
:version_argument: version
|
||||||
|
:version_match: Hugo Static Site Generator v<%= version %>
|
||||||
|
:pandoc:
|
||||||
|
:url: https://github.com/jgm/pandoc/releases/download/<%= version %>/pandoc-<%=
|
||||||
|
version %>-linux.tar.gz
|
||||||
|
:version: 2.7.3
|
||||||
|
:version_argument: "--version"
|
||||||
|
:version_match: pandoc-citeproc 0.16.2
|
||||||
|
:hadolint:
|
||||||
|
:url: https://github.com/hadolint/hadolint/releases/download/v<%= version %>/hadolint-Linux-x86_64
|
||||||
|
:version: 1.17.2
|
||||||
|
:version_match: "<%= version %>"
|
||||||
|
:version_argument: "--version"
|
||||||
|
:shellcheck:
|
||||||
|
:url: https://storage.googleapis.com/shellcheck/shellcheck-v<%= version %>.linux.x86_64.tar.xz
|
||||||
|
:version: 0.7.0
|
||||||
|
:version_match: "version: <%= version %>"
|
||||||
|
:version_argument: "--version"
|
||||||
|
:wally-cli:
|
||||||
|
:url: https://github.com/zsa/wally/releases/download/<%= version %>-linux/wally-cli
|
||||||
|
:version: 1.1.0
|
||||||
|
:version_match: "---"
|
||||||
|
:rancher:
|
||||||
|
:url: https://github.com/rancher/cli/releases/download/v<%= version %>/rancher-linux-amd64-v<%= version %>.tar.gz
|
||||||
|
:version: 2.3.0
|
||||||
|
:version_match: "rancher version v<%= version %>"
|
||||||
|
:version_argument: "--version"
|
||||||
|
:uni:
|
||||||
|
:url: https://github.com/arp242/uni/releases/download/v<%= version %>/uni-v<%= version %>-linux-amd64.gz
|
||||||
|
:version: 1.0.0
|
||||||
|
:version_match: "v<%= version %>"
|
||||||
|
EOB
|
||||||
tmpdir = Dir.mktmpdir
|
tmpdir = Dir.mktmpdir
|
||||||
|
|
||||||
binaries.each do |binary, download|
|
binaries.each do |binary, download|
|
||||||
|
@ -138,18 +150,28 @@ binaries.each do |binary, download|
|
||||||
download_dir = File.join(tmpdir, binary.to_s)
|
download_dir = File.join(tmpdir, binary.to_s)
|
||||||
Dir.mkdir(download_dir)
|
Dir.mkdir(download_dir)
|
||||||
Dir.chdir(download_dir) do
|
Dir.chdir(download_dir) do
|
||||||
|
puts "Downloading from #{download_url} to #{download_dir}" if verbose
|
||||||
system "curl -s -L -O #{download_url}"
|
system "curl -s -L -O #{download_url}"
|
||||||
downloaded_file = Dir.glob("*").first
|
downloaded_file = Dir.glob("*").first
|
||||||
|
puts "Downloaded as #{downloaded_file}" if verbose
|
||||||
extraction_command = case File.extname(downloaded_file)
|
extraction_command = case File.basename(downloaded_file)
|
||||||
when ".tgz", ".tar.gz", ".gz" then
|
when /.tgz$/, /.tar.gz$/, /.tar.xz$/ then
|
||||||
"tar xvf"
|
"tar xvf"
|
||||||
when ".zip" then
|
when /.gz$/ then
|
||||||
|
"gunzip"
|
||||||
|
when /.zip$/ then
|
||||||
"unzip"
|
"unzip"
|
||||||
end
|
end
|
||||||
system("#{extraction_command} #{downloaded_file} > /dev/null")
|
|
||||||
|
if extraction_command
|
||||||
|
puts "Using #{extraction_command} to extract" if verbose
|
||||||
|
system("#{extraction_command} #{downloaded_file} > /dev/null")
|
||||||
|
else
|
||||||
|
puts "Did not find any archive I could extract"
|
||||||
|
end
|
||||||
|
|
||||||
extracted_executables = Dir.glob("**/**").select do |f|
|
extracted_executables = Dir.glob("**/**").select do |f|
|
||||||
`file #{f}`.match(/LSB executable|ELF 64-bit LSB shared object/)
|
`file #{f}`.match(/LSB executable|ELF 64-bit LSB shared object|ELF 64-bit LSB pie executable/)
|
||||||
end
|
end
|
||||||
FileUtils.mv(File.realpath(extracted_executables.first), target)
|
FileUtils.mv(File.realpath(extracted_executables.first), target)
|
||||||
end
|
end
|
||||||
|
|
|
@ -17,7 +17,7 @@ now = Time.now
|
||||||
|
|
||||||
JOURNAL_PATH = Pathname.new("~/Documents/Worklog").expand_path
|
JOURNAL_PATH = Pathname.new("~/Documents/Worklog").expand_path
|
||||||
CURRENT_FILE = Pathname.new(JOURNAL_PATH.join(now.strftime("%Y%m%d")))
|
CURRENT_FILE = Pathname.new(JOURNAL_PATH.join(now.strftime("%Y%m%d")))
|
||||||
DIALOG="zenity --entry --title='worklogger'"
|
DIALOG="zenity --entry"
|
||||||
|
|
||||||
we_are_appending = CURRENT_FILE.exist?
|
we_are_appending = CURRENT_FILE.exist?
|
||||||
|
|
||||||
|
@ -28,11 +28,12 @@ File.open(CURRENT_FILE, "a+") do |f|
|
||||||
all_tasks = f.each_line.select{|line| line.start_with? "**" }
|
all_tasks = f.each_line.select{|line| line.start_with? "**" }
|
||||||
all_tasks.map{ |task| task.sub(/^\*\* /, "") }.last(3).join("")
|
all_tasks.map{ |task| task.sub(/^\*\* /, "") }.last(3).join("")
|
||||||
else
|
else
|
||||||
location = `#{DIALOG} --text="Where are we today?"`.strip
|
location = `#{DIALOG} --title='worklogger' --text="Where are we today?"`.strip
|
||||||
f.write(now.strftime("* %A, %d/%m/%Y\n"))
|
f.write(now.strftime("* %A, %d/%m/%Y\n"))
|
||||||
f.write(" :PROPERTIES:\n :WORKLOG_LOCATION: #{location}\n :END:\n\n")
|
f.write(" :PROPERTIES:\n :WORKLOG_LOCATION: #{location}\n :END:\n\n")
|
||||||
"First entry for today!"
|
"First entry for today!"
|
||||||
end
|
end
|
||||||
entry = `#{DIALOG} --text="#{last_tasks}"`.strip
|
time = now.strftime('%H:%M')
|
||||||
f.write("** #{now.strftime('%H:%M')} #{entry}\n") unless entry.empty?
|
entry = `#{DIALOG} --title='worklogger @#{time}' --text="#{last_tasks}"`.strip
|
||||||
|
f.write("** #{time} #{entry}\n") unless entry.empty?
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue