Move chezmoi root

This commit is contained in:
Maximilian Friedersdorff 2024-09-30 16:26:45 +01:00
parent 319e92155d
commit 7dc536bd75
17 changed files with 1 additions and 0 deletions

View file

@ -0,0 +1,194 @@
# -*- conf -*-
# shell=$SHELL (if set, otherwise user's default shell from /etc/passwd)
# term=foot (or xterm-256color if built with -Dterminfo=disabled)
# login-shell=no
# app-id=foot
# title=foot
# locked-title=no
font=monospace:size={{ .term_fontsize }}
# font-bold=<bold variant of regular font>
# font-italic=<italic variant of regular font>
# font-bold-italic=<bold+italic variant of regular font>
# line-height=<font metrics>
# letter-spacing=0
# horizontal-letter-offset=0
# vertical-letter-offset=0
# underline-offset=<font metrics>
# box-drawings-uses-font-glyphs=no
# dpi-aware=auto
# initial-window-size-pixels=700x500 # Or,
# initial-window-size-chars=<COLSxROWS>
# initial-window-mode=windowed
# pad=2x2 # optionally append 'center'
# resize-delay-ms=100
# notify=notify-send -a ${app-id} -i ${app-id} ${title} ${body}
# bold-text-in-bright=no
# word-delimiters=,│`|:"'()[]{}<>
# selection-target=primary
# workers=<number of logical CPUs>
[environment]
# name=value
[bell]
# urgent=no
# notify=no
# command=
# command-focused=no
[scrollback]
# lines=1000
# multiplier=3.0
# indicator-position=relative
# indicator-format=
[url]
# launch=xdg-open ${url}
# label-letters=sadfjklewcmpgh
# osc8-underline=url-mode
# protocols=http, https, ftp, ftps, file, gemini, gopher
# uri-characters=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+="'()[]
[cursor]
# style=block
# color=<inverse foreground/background>
# blink=no
# beam-thickness=1.5
# underline-thickness=<font underline thickness>
[mouse]
# hide-when-typing=no
# alternate-scroll-mode=yes
[colors]
# alpha=1.0
foreground=657b83
background=fdf6e3
## Normal/regular colors (color palette 0-7)
regular0=073642
regular1=dc322f
regular2=859900
regular3=b58900
regular4=268bd2
regular5=d33682
regular6=2aa198
regular7=eee8d5
## Bright colors (color palette 8-15)
bright0=002b36
bright1=cb4b16
bright2=586e75
bright3=657b83
bright4=839496
bright5=6c71c4
bright6=93a1a1
bright7=fdf6e3
## dimmed colors (see foot.ini(5) man page)
# dim0=<not set>
# ...
# dim7=<not-set>
## The remaining 256-color palette
# 16 = <256-color palette #16>
# ...
# 255 = <256-color palette #255>
## Misc colors
# selection-foreground=<inverse foreground/background>
# selection-background=<inverse foreground/background>
# jump-labels=<regular0> <regular3> # black-on-yellow
# scrollback-indicator=<regular0> <bright4> # black-on-bright-blue
# search-box-no-match=<regular0> <regular1> # black-on-red
# search-box-match=<regular0> <regular3> # black-on-yellow
# urls=<regular3>
[csd]
# preferred=server
# size=26
# font=<primary font>
# color=<foreground color>
# hide-when-typing=no
# border-width=0
# border-color=<csd.color>
# button-width=26
# button-color=<background color>
# button-minimize-color=<regular4>
# button-maximize-color=<regular2>
# button-close-color=<regular1>
[key-bindings]
# scrollback-up-page=Shift+Page_Up
# scrollback-up-half-page=none
# scrollback-up-line=none
# scrollback-down-page=Shift+Page_Down
# scrollback-down-half-page=none
# scrollback-down-line=none
# clipboard-copy=Control+Shift+c XF86Copy
# clipboard-paste=Control+Shift+v XF86Paste
# primary-paste=Shift+Insert
# search-start=Control+Shift+r
# font-increase=Control+plus Control+equal Control+KP_Add
# font-decrease=Control+minus Control+KP_Subtract
# font-reset=Control+0 Control+KP_0
# spawn-terminal=Control+Shift+n
# minimize=none
# maximize=none
# fullscreen=none
# pipe-visible=[sh -c "xurls | fuzzel | xargs -r firefox"] none
# pipe-scrollback=[sh -c "xurls | fuzzel | xargs -r firefox"] none
# pipe-selected=[xargs -r firefox] none
# show-urls-launch=Control+Shift+u
# show-urls-copy=none
# show-urls-persistent=none
# prompt-prev=Control+Shift+z
# prompt-next=Control+Shift+x
# unicode-input=none
# noop=none
[search-bindings]
# cancel=Control+g Control+c Escape
# commit=Return
# find-prev=Control+r
# find-next=Control+s
# cursor-left=Left Control+b
# cursor-left-word=Control+Left Mod1+b
# cursor-right=Right Control+f
# cursor-right-word=Control+Right Mod1+f
# cursor-home=Home Control+a
# cursor-end=End Control+e
# delete-prev=BackSpace
# delete-prev-word=Mod1+BackSpace Control+BackSpace
# delete-next=Delete
# delete-next-word=Mod1+d Control+Delete
# extend-to-word-boundary=Control+w
# extend-to-next-whitespace=Control+Shift+w
# clipboard-paste=Control+v Control+Shift+v Control+y XF86Paste
# primary-paste=Shift+Insert
# unicode-input=none
[url-bindings]
# cancel=Control+g Control+c Control+d Escape
# toggle-url-visible=t
[text-bindings]
# \x03=Mod4+c # Map Super+c -> Ctrl+c
[mouse-bindings]
# selection-override-modifiers=Shift
# primary-paste=BTN_MIDDLE
# select-begin=BTN_LEFT
# select-begin-block=Control+BTN_LEFT
# select-extend=BTN_RIGHT
# select-extend-character-wise=Control+BTN_RIGHT
# select-word=BTN_LEFT-2
# select-word-whitespace=Control+BTN_LEFT-2
# select-row=BTN_LEFT-3
# vim: ft=dosini

View file

@ -0,0 +1,29 @@
" Enable Mouse
set mouse=a
" Set Editor Font
if exists(':GuiFont')
" Use GuiFont! to ignore font errors
GuiFont Monaco Nerd Font Mono:h10
endif
" Disable GUI Tabline
if exists(':GuiTabline')
GuiTabline 0
endif
" Disable GUI Popupmenu
if exists(':GuiPopupmenu')
GuiPopupmenu 0
endif
" Enable GUI ScrollBar
if exists(':GuiScrollBar')
GuiScrollBar 1
endif
" Right Click Context Menu (Copy-Cut-Paste)
nnoremap <silent><RightMouse> :call GuiShowContextMenu()<CR>
inoremap <silent><RightMouse> <Esc>:call GuiShowContextMenu()<CR>
xnoremap <silent><RightMouse> :call GuiShowContextMenu()<CR>gv
snoremap <silent><RightMouse> <C-G>:call GuiShowContextMenu()<CR>gv

View file

@ -0,0 +1,218 @@
vim.g.mapleader = ','
vim.g.maplocalleader = '\\'
local Plug = vim.fn['plug#']
vim.call('plug#begin')
Plug 'junegunn/vim-plug'
-- Language Server protocol config
Plug 'neovim/nvim-lspconfig'
-- Colorschemes
Plug 'shaunsingh/solarized.nvim'
-- Syntax Highlighting and folding
Plug('nvim-treesitter/nvim-treesitter', {['do'] = ':TSUpdate'})
Plug 'nvim-lualine/lualine.nvim'
-- Tags
Plug 'liuchengxu/vista.vim'
-- Navigation
Plug 'preservim/nerdtree'
-- Telescope finding shit
Plug 'nvim-lua/plenary.nvim'
Plug('nvim-telescope/telescope.nvim', {['branch'] = '0.1.x'})
Plug('nvim-telescope/telescope-fzf-native.nvim', {['do'] = 'make' })
Plug 'doctorfree/cheatsheet.nvim'
-- Omnisharp
Plug 'Hoffs/omnisharp-extended-lsp.nvim'
-- Git
Plug 'tpope/vim-fugitive'
Plug 'tommcdo/vim-fubitive'
-- ZK Zettlekasten Notes
Plug 'zk-org/zk-nvim'
-- Misc
Plug 'lukas-reineke/indent-blankline.nvim'
vim.call('plug#end')
require'lspconfig'.pylsp.setup{
settings = { pylsp = {
plugins = {
pycodestyle = { enabled = false, },
pyflakes = { enabled = false, },
rope_autoimport = { enabled = true, },
},
configurationSources = 'flake8'
}}
}
require'lspconfig'.omnisharp.setup{
cmd = { "dotnet", "/usr/lib/omnisharp-roslyn/OmniSharp.dll" },
enable_roslyn_analyzers = false,
handlers = {
["textDocument/definition"] = require('omnisharp_extended').handler,
},
}
require'lspconfig'.marksman.setup{}
require'lspconfig'.ruff_lsp.setup{}
require'zk'.setup()
vim.diagnostic.config{
float = {
source = 'always',
}
}
-- Global mappings.
-- See `:help vim.diagnostic.*` for documentation on any of the below functions
vim.keymap.set('n', '<space>e', vim.diagnostic.open_float)
vim.keymap.set('n', '[d', vim.diagnostic.goto_prev)
vim.keymap.set('n', ']d', vim.diagnostic.goto_next)
vim.keymap.set('n', '<space>q', vim.diagnostic.setloclist)
-- Use LspAttach autocommand to only map the following keys
-- after the language server attaches to the current buffer
vim.api.nvim_create_autocmd('LspAttach', {
group = vim.api.nvim_create_augroup('UserLspConfig', {}),
callback = function(ev)
-- Enable completion triggered by <c-x><c-o>
vim.bo[ev.buf].omnifunc = 'v:lua.vim.lsp.omnifunc'
-- Buffer local mappings.
-- See `:help vim.lsp.*` for documentation on any of the below functions
local opts = { buffer = ev.buf }
vim.keymap.set('n', '<leader>gd', vim.lsp.buf.definition, opts)
vim.keymap.set('n', '<leader>K', vim.lsp.buf.hover, opts)
vim.keymap.set('n', '<leader>k', vim.lsp.buf.signature_help, opts)
vim.keymap.set('n', '<leader>D', vim.lsp.buf.type_definition, opts)
vim.keymap.set('n', '<leader>rn', vim.lsp.buf.rename, opts)
vim.keymap.set('n', '<leader>fo', function() vim.lsp.buf.format { async = true } end, opts)
vim.keymap.set({ 'n', 'v' }, '<leader>ca', vim.lsp.buf.code_action, opts)
vim.keymap.set('n', '<space>f', function()
vim.lsp.buf.format { async = true }
end, opts)
end,
})
-- Treesiter for syntax highlighting and folding
require'nvim-treesitter.configs'.setup {
ensure_installed = { "c", "lua", "vim", "vimdoc", "python", "html" },
auto_install = true,
highlight = {
enable = true,
disable = { "markdown" },
},
indent = { enable = true, },
}
vim.opt.foldmethod = "expr"
vim.opt.foldexpr = "nvim_treesitter#foldexpr()"
vim.opt.foldenable = false
-- Tag bar
vim.g.vista_default_executive = 'nvim_lsp'
vim.keymap.set('n', '<F8>', ':Vista!!<CR>')
-- Colourscheme
vim.opt.background = 'light'
vim.g.solarized_borders = true
-- This setting needs to be set before solarized is loaded
-- so it can't go into ginit.vim, since that is loaded after
-- this file
if vim.fn.has('gui_running') == 0 then
vim.g.solarized_disable_background = true
else
vim.g.solarized_disable_background = false
end
require('solarized').set()
-- Lualine (powerline like thing) setup
require('lualine').setup {
options = {
theme = 'solarized'
}
}
-- Nerdree mappings
vim.keymap.set('n', '<C-n>', ':NERDTreeToggle<CR>')
vim.keymap.set('n', '<C-f>', ':NERDTreeFind<CR>')
-- Telescope
require('telescope').setup{
extensions = {
fzf = {
fuzzy = true, -- false will only do exact matching
override_generic_sorter = true, -- override the generic sorter
override_file_sorter = true, -- override the file sorter
case_mode = "smart_case",
}
},
pickers = {
find_files = {
theme = "dropdown",
},
live_grep = {
theme = "dropdown",
},
lsp_references = {
theme = "dropdown",
},
}
}
local tele_builtin = require('telescope.builtin')
vim.keymap.set('n', '<leader>ff', tele_builtin.find_files, {})
vim.keymap.set('n', '<leader>fg', tele_builtin.live_grep, {})
vim.keymap.set('n', '<leader>gr', tele_builtin.lsp_references, {})
require('telescope').load_extension('fzf')
-- General Setup
-- Relative line numbering
vim.opt.relativenumber = true
vim.opt.number = true
-- Ruler at 80 and 100 cols
vim.o.colorcolumn = "80,100"
-- Show Spaces, newlines tabs etc
vim.opt.listchars = {
trail = '',
extends = '>',
precedes = '<',
nbsp = '',
eol = '',
tab = '→,',
}
vim.opt.list = true
-- Clear highlights from search with Ctrl-l
vim.keymap.set('n', '<C-l>', ':noh<CR>')
-- Indentline
require("ibl").setup()
-- Whitespace --
vim.o.expandtab = true
vim.o.smartindent = true
vim.o.tabstop = 4
vim.o.shiftwidth = 4

View file

@ -0,0 +1,412 @@
# Colors
set $black #000000
set $black_super #555555
set $red #f92672
set $red_super #dd4278
set $green #74e22e
set $green_super #9dc54b
set $yellow #e6db74
set $yellow_super #d1ca89
set $blue #66d9ef
set $blue_super #7accda
set $magenta #ae81ff
set $magenta_super #b392ef
set $cyan #00d9d9
set $cyan_super #c8f0f0
set $white #f5deb3
set $white_super #ffffff
client.focused $black $yellow_super $black $black $black
client.focused_inactive $black $black_super $white $black $black
# Slight gaps around windows
gaps inner 6
# Read `man 5 sway` for a complete reference.
### Variables
#
# Logo key. Use Mod1 for Alt.
set $mod Mod4
# Home row direction keys, like vim
set $left h
set $down j
set $up k
set $right l
# Your preferred terminal emulator
set $term foot
# Your preferred application launcher
# Note: pass the final command to swaymsg so that the resulting window can be opened
# on the original workspace that the command was run on.
set $menu rofi -show drun | xargs swaymsg exec --
include /etc/sway/config-vars.d/*
### Output configuration
#
# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/)
output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill
#
# Example configuration:
#
# output HDMI-A-1 resolution 1920x1080 position 1920,0
#
# You can get the names of your outputs by running: swaymsg -t get_outputs
### Idle configuration
#
# Example configuration:
#
# exec swayidle -w \
# timeout 300 'swaylock -f -c 000000' \
# timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \
# before-sleep 'swaylock -f -c 000000'
#
# This will lock your screen after 300 seconds of inactivity, then turn off
# your displays after another 300 seconds, and turn your screens back on when
# resumed. It will also lock your screen before your computer goes to sleep.
exec swayidle -w \
timeout 300 "swaylock -e -f -i ~/Pictures/Backgrounds/DSC02113.jpg" \
timeout 600 'systemctl suspend' \
before-sleep "swaylock -e -f -i ~/Pictures/Backgrounds/DSC02113.jpg"
### Input configuration
#
# Example configuration:
#
# input "2:14:SynPS/2_Synaptics_TouchPad" {
# dwt enabled
# tap enabled
# natural_scroll enabled
# middle_emulation enabled
# }
#
# You can get the names of your inputs by running: swaymsg -t get_inputs
# Read `man 5 sway-input` for more information about this section.
# This keyboard has this layout on all machines:
input 5426:133:Razer_Razer_Basilisk_V2 {
accel_profile flat
pointer_accel -0.5
}
input type:touchpad {
dwt enabled
tap enabled
tap_button_map lmr
natural_scroll enabled
}
input 1241:36:HOLDCHIP_USB_Keyboard {
xkb_layout us
xkb_variant colemak
xkb_options ctrl:nocaps
}
input 16700:8455:DELL_Dell_USB_Entry_Keyboard {
xkb_layout gb
xkb_variant colemak
xkb_options ctrl:nocaps
}
input 65261:4871:TMK/Cub_Ergodox {
xkb_layout gb
xkb_options compose:prsc
}
input 9494:21:CM_Storm_Quickfire_Pro_Ultimate_6_key {
xkb_layout gb
xkb_variant colemak
xkb_options ctrl:nocaps
}
input 1:1:AT_Translated_Set_2_keyboard {
xkb_layout gb
xkb_variant colemak
xkb_options ctrl:nocaps
}
input 9610:4102:Gaming_KB__Gaming_KB {
xkb_layout gb
xkb_variant colemak
xkb_options ctrl:nocaps
}
input 1133:49948:Logitech_USB_Keyboard {
xkb_layout gb
xkb_variant colemak
xkb_options ctrl:nocaps
}
### Key bindings
#
# Basics:
#
# Start a terminal
bindsym $mod+Return exec $term
# Kill focused window
bindsym $mod+Shift+q kill
# Start your launcher
bindsym $mod+d exec $menu
# Drag floating windows by holding down $mod and left mouse button.
# Resize them with right mouse button + $mod.
# Despite the name, also works for non-floating windows.
# Change normal to inverse to use left mouse button for resizing and right
# mouse button for dragging.
floating_modifier $mod normal
# Reload the configuration file
bindsym $mod+Shift+c reload
# Exit sway (logs you out of your Wayland session)
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
#
# Moving around:
#
# Move your focus around
bindsym $mod+$left focus left
bindsym $mod+$down focus down
bindsym $mod+$up focus up
bindsym $mod+$right focus right
# Or use $mod+[up|down|left|right]
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# Move the focused window with the same, but add Shift
bindsym $mod+Shift+$left move left
bindsym $mod+Shift+$down move down
bindsym $mod+Shift+$up move up
bindsym $mod+Shift+$right move right
# Ditto, with arrow 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
#
# Workspaces:
#
# Switch to workspace
bindsym $mod+0 workspace number 0
# Move focused container to workspace
bindsym $mod+Shift+0 move container to workspace number 0
bindsym $mod+1 workspace number 1
# Move focused container to workspace
bindsym $mod+Shift+1 move container to workspace number 1
bindsym $mod+2 workspace number 2
# Move focused container to workspace
bindsym $mod+Shift+2 move container to workspace number 2
bindsym $mod+3 workspace number 3
# Move focused container to workspace
bindsym $mod+Shift+3 move container to workspace number 3
bindsym $mod+4 workspace number 4
# Move focused container to workspace
bindsym $mod+Shift+4 move container to workspace number 4
bindsym $mod+5 workspace number 5
# Move focused container to workspace
bindsym $mod+Shift+5 move container to workspace number 5
bindsym $mod+6 workspace number 6
# Move focused container to workspace
bindsym $mod+Shift+6 move container to workspace number 6
bindsym $mod+7 workspace number 7
# Move focused container to workspace
bindsym $mod+Shift+7 move container to workspace number 7
bindsym $mod+8 workspace number 8
# Move focused container to workspace
bindsym $mod+Shift+8 move container to workspace number 8
bindsym $mod+9 workspace number 9
# Move focused container to workspace
bindsym $mod+Shift+9 move container to workspace number 9
#
# Layout stuff:
#
# You can "split" the current object of your focus with
# $mod+b or $mod+v, for horizontal and vertical splits
# respectively.
bindsym $mod+b splith
bindsym $mod+v splitv
# Switch the current container between different layout styles
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# Make the current focus fullscreen
bindsym $mod+f fullscreen
# Toggle the current focus between tiling and floating mode
bindsym $mod+Shift+space floating toggle
# Swap focus between the tiling area and the floating area
bindsym $mod+space focus mode_toggle
# Move focus to the parent container
bindsym $mod+a focus parent
#
# Scratchpad:
#
# Sway has a "scratchpad", which is a bag of holding for windows.
# You can send windows there and get them back later.
# Move the currently focused window to the scratchpad
bindsym $mod+Shift+minus move scratchpad
# Show the next scratchpad window or hide the focused scratchpad window.
# If there are multiple scratchpad windows, this command cycles through them.
bindsym $mod+minus scratchpad show
#
# Resizing containers:
#
mode "resize" {
# left will shrink the containers width
# right will grow the containers width
# up will shrink the containers height
# down will grow the containers height
bindsym $left resize shrink width 10px
bindsym $down resize grow height 10px
bindsym $up resize shrink height 10px
bindsym $right resize grow width 10px
# Ditto, with arrow keys
bindsym Left resize shrink width 10px
bindsym Down resize grow height 10px
bindsym Up resize shrink height 10px
bindsym Right resize grow width 10px
# Return to default mode
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
bindsym $mod+Alt+l exec 'swaylock -e -f -i ~/Pictures/Backgrounds/DSC02113.jpg'
include /etc/sway/config.d/*
# host specific section
{{- if eq .chezmoi.hostname "baryte" }}
bar {
id bar_right
status_command ~/.local/bin/conky-i3bar ~/.conkyrc-net
position top
output "Acer Technologies VG270U P 0x05217924"
font pango:Liberation Mono 11
colors {
background $black_super
focused_background $black
focused_workspace $black_super $yellow_super $black
active_workspace $black_super $blue_super $black
inactive_workspace $black_super $black_super $white_super
urgent_workspace $black $red_super $white
separator $white
}
}
bar {
id bar_right_alt
status_command ~/.local/bin/conky-i3bar ~/.conkyrc-net
position top
output HDMI-A-1
font pango:Liberation Mono 11
colors {
background $black_super
focused_background $black
focused_workspace $black_super $yellow_super $black
active_workspace $black_super $blue_super $black
inactive_workspace $black_super $black_super $white_super
urgent_workspace $black $red_super $white
separator $white
}
}
bar {
id bar_internal
status_command ~/.local/bin/conky-i3bar ~/.conkyrc-main
position top
output "eDP-1"
font pango:Liberation Mono 10
colors {
background $black_super
focused_background $black
focused_workspace $black_super $yellow_super $black
active_workspace $black_super $blue_super $black
inactive_workspace $black_super $black_super $white_super
urgent_workspace $black $red_super $white
separator $white
}
}
output eDP-1 {
background ~/Pictures/Backgrounds/DSC02113.jpg fill
position 231 1080
scale 2
}
output "Acer Technologies VG270U P 0x05217924" {
background ~/Pictures/Backgrounds/DSC02111.jpg fill
position 1670 810
scale 1
}
output "LG Electronics LG FULL HD Unknown" {
background ~/Pictures/Backgrounds/DSC02111.jpg fill
position 0 0
scale 1
}
workspace 1 output eDP-1
workspace 3 output eDP-1
workspace 2 output "Acer Technologies VG270U P 0x05217924"
workspace 4 output "Acer Technologies VG270U P 0x05217924"
exec dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway
exec mako&
exec zoom&
for_window [class="zoom"] floating enable
for_window [class="zoom" title="Zoom Workplace - Licensed account"] floating disable
for_window [app_id="firefox" title="Extension:*"] floating enable
{{- end }}

52
home/dot_conkyrc Normal file
View file

@ -0,0 +1,52 @@
-- vim: ts=4 sw=4 noet ai cindent syntax=lua
conky.config = {
out_to_x = false,
own_window = false,
out_to_console = true,
short_units = true,
update_interval = 0.5,
background = false,
max_text_width = 0,
total_run_times = 0,
short_units = true,
if_up_strictness = 'address',
use_spacer = 'left',
cpu_avg_samples = 2,
};
conky.text = [[
[
${if_running mutt}
{"full_text": "${new_mails mail_aber/Inbox} new mails", "color": "\#ffa500"},
${endif}
{"full_text": "Home ${fs_free /home} Free", "color": "\#ffffff"},
{"full_text": "Root ${fs_free /root} Free", "color": "\#ffffff"},
{"full_text": "Disk r:${diskio_read} w:${diskio_write}", "color": "\#ffffff"},
{"full_text": "CPU ${cpu cpu0}%", "color": "\#ffffff"},
{
"full_text": "d:${downspeed eno1} u:${upspeed eno1} ${addr eno1}",
"color":
${if_match "${addr eno1}"=="No Address"}
"\#ff0000"
${else}
"\#00ff00"
${endif}
},
${if_match "${addr tun0}"!="No Address"}
{"full_text": "VPN", "color": "\#00ff00"},
${endif}
{
"full_text": "RAM ${memperc}%",
"color":
${if_match ${memperc}<90}
"\#ffffff"
${else}
"\#ff0000"
${endif}
},
{"full_text": "${time}", "color": "\#ffffff"}
],
]];

54
home/dot_conkyrc-main Normal file
View file

@ -0,0 +1,54 @@
-- vim: ts=4 sw=4 noet ai cindent syntax=lua
conky.config = {
out_to_x = false,
own_window = false,
out_to_console = true,
short_units = true,
update_interval = 0.5,
background = false,
max_text_width = 0,
total_run_times = 0,
short_units = true,
if_up_strictness = 'address',
use_spacer = 'left',
cpu_avg_samples = 2,
};
conky.text = [[
[
${if_match "${exec cat ~/.local/share/pomodoro}"!="done"}
{"full_text": "Pomodoro: ${exec cat ~/.local/share/pomodoro}", "color": "\#ea0501"},
${endif}
{"full_text": "Tea: ${execi 30 tail -n 1 ~/.local/share/teatimer.log}s", "color": "\#ffffff"},
{"full_text": "~ ${fs_free /home}", "color": "\#ffffff"},
{"full_text": "/ ${fs_free /root}", "color": "\#ffffff"},
{"full_text": "IO r:${diskio_read} w:${diskio_write}", "color": "\#ffffff"},
{"full_text": "CPU ${cpu cpu0}%", "color": "\#ffffff"},
{
"full_text": "RAM ${memperc}%",
"color":
${if_match ${memperc}<90}
"\#ffffff"
${else}
"\#ff0000"
${endif}
},
{
"full_text": "BAT ${battery_short} ${battery_time}",
"color":
${if_match ${battery_percent}<20}
"\#ff0000"
${else}
"\#00ff00"
${endif}
},
{"full_text": "${time %Y-%m-%d %H:%M}", "color": "\#ffffff"}
],
]];

72
home/dot_conkyrc-net Normal file
View file

@ -0,0 +1,72 @@
-- vim: ts=4 sw=4 noet ai cindent syntax=lua
conky.config = {
out_to_x = false,
own_window = false,
out_to_console = true,
short_units = true,
update_interval = 0.5,
background = false,
max_text_width = 0,
total_run_times = 0,
short_units = true,
if_up_strictness = 'address',
use_spacer = 'left',
cpu_avg_samples = 2,
};
conky.text = [[
[
${if_match "${addr enp6s0}"!="No Address"}
{
"full_text": "enp6s0 d:${downspeed enp6s0} u:${upspeed enp6s0} ${addr enp6s0}",
"color": "\#00ff00"
},
${endif}
${if_match "${addr enp4s0}"!="No Address"}
{
"full_text": "enp4s0 d:${downspeed enp4s0} u:${upspeed enp4s0} ${addr enp4s0}",
"color": "\#00ff00"
},
${endif}
${if_match "${addr enp0s13f0u1u4}"!="No Address"}
{
"full_text": "enp0s13f0u1u4 d:${downspeed enp0s13f0u1u4} u:${upspeed enp0s13f0u1u4} ${addr enp0s13f0u1u4}",
"color": "\#00ff00"
},
${endif}
${if_match "${addr eth0}"!="No Address"}
{
"full_text": "eth0 d:${downspeed eth0} u:${upspeed eth0} ${addr eth0}",
"color": "\#00ff00"
},
${endif}
${if_match "${addr wlp2s0}"!="No Address"}
{
"full_text": "WLAN: wlp2s0 q: ${wireless_link_bar wlp2s0} r: ${wireless_bitrate wlp2s0} d:${downspeed wlp2s0} u:${upspeed wlp2s0} ${addr wlp2s0} ${wireless_essid wlp2s0}",
"color": "\#00ff00"
},
${endif}
${if_match "${addr wlo1}"!="No Address"}
{
"full_text": "WLAN: wlo1 q: ${wireless_link_bar wlo1} r: ${wireless_bitrate wlo1} d:${downspeed wlo1} u:${upspeed wlo1} ${addr wlo1} ${wireless_essid wlo1}",
"color": "\#00ff00"
},
${endif}
${if_match "${addr tun0}"!="No Address"}
{"full_text": "VPN", "color": "\#00ff00"},
${endif}
],
]];

485
home/dot_dir_colors Normal file
View file

@ -0,0 +1,485 @@
# Exact Solarized Light color theme for the color GNU ls utility.
# Designed for dircolors (GNU coreutils) 5.97
#
# This simple theme was simultaneously designed for these terminal color schemes:
# - Solarized dark
# - Solarized light (best)
# - default dark
# - default light
# with a slight optimization for Solarized Light.
#
# How the colors were selected:
# - Terminal emulators often have an option typically enabled by default that makes
# bold a different color. It is important to leave this option enabled so that
# you can access the entire 16-color Solarized palette, and not just 8 colors.
# - We favor universality over a greater number of colors. So we limit the number
# of colors so that this theme will work out of the box in all terminals,
# Solarized or not, dark or light.
# - We choose to have the following category of files:
# NORMAL & FILE, DIR, LINK, EXEC and
# editable text including source, unimportant text, binary docs & multimedia source
# files, viewable multimedia, archived/compressed, and unimportant non-text
# - For uniqueness, we stay away from the Solarized foreground colors are -- either
# base00 (brightyellow) or base0 (brightblue). However, they can be used if
# you know what the bg/fg colors of your terminal are, in order to optimize the display.
# - 3 different options are provided: universal, solarized dark, and solarized light.
# The only difference between the universal scheme and one that's optimized for
# dark/light is the color of "unimportant" files, which should blend more with the
# background
# - We note that blue is the hardest color to see on dark bg and yellow is the hardest
# color to see on light bg (with blue being particularly bad). So we choose yellow
# for multimedia files which are usually accessed in a GUI folder browser anyway.
# And blue is kept for custom use of this scheme's user.
# - See table below to see the assignments.
# Installation instructions:
# This file goes in the /etc directory, and must be world readable.
# You can copy this file to .dir_colors in your $HOME directory to override
# the system defaults.
# COLOR needs one of these arguments: 'tty' colorizes output to ttys, but not
# pipes. 'all' adds color characters to all output. 'none' shuts colorization
# off.
COLOR tty
# Below, there should be one TERM entry for each termtype that is colorizable
TERM alacritty
TERM ansi
TERM color_xterm
TERM color-xterm
TERM con132x25
TERM con132x30
TERM con132x43
TERM con132x60
TERM con80x25
TERM con80x28
TERM con80x30
TERM con80x43
TERM con80x50
TERM con80x60
TERM cons25
TERM console
TERM cygwin
TERM dtterm
TERM dvtm
TERM dvtm-256color
TERM Eterm
TERM eterm-color
TERM fbterm
TERM gnome
TERM gnome-256color
TERM jfbterm
TERM konsole
TERM konsole-256color
TERM kterm
TERM linux
TERM linux-c
TERM mach-color
TERM mlterm
TERM nxterm
TERM putty
TERM putty-256color
TERM rxvt
TERM rxvt-256color
TERM rxvt-cygwin
TERM rxvt-cygwin-native
TERM rxvt-unicode
TERM rxvt-unicode256
TERM rxvt-unicode-256color
TERM screen
TERM screen-16color
TERM screen-16color-bce
TERM screen-16color-s
TERM screen-16color-bce-s
TERM screen-256color
TERM screen-256color-bce
TERM screen-256color-s
TERM screen-256color-bce-s
TERM screen-256color-italic
TERM screen-bce
TERM screen-w
TERM screen.linux
TERM screen.xterm-256color
TERM screen.xterm-new
TERM st
TERM st-meta
TERM st-256color
TERM st-meta-256color
TERM tmux
TERM tmux-256color
TERM vt100
TERM xterm
TERM xterm-new
TERM xterm-16color
TERM xterm-256color
TERM xterm-256color-italic
TERM xterm-88color
TERM xterm-color
TERM xterm-debian
TERM xterm-kitty
TERM xterm-termite
# EIGHTBIT, followed by '1' for on, '0' for off. (8-bit output)
EIGHTBIT 1
#############################################################################
# Below are the color init strings for the basic file types. A color init
# string consists of one or more of the following numeric codes:
#
# Attribute codes:
# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed
# Text color codes:
# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
# Background color codes:
# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white
#
# NOTES:
# - See http://www.oreilly.com/catalog/wdnut/excerpt/color_names.html
# - Color combinations
# ANSI Color code Solarized Notes Universal SolDark SolLight
# ~~~~~~~~~~~~~~~ ~~~~~~~~~ ~~~~~ ~~~~~~~~~ ~~~~~~~ ~~~~~~~~
# 00 none NORMAL, FILE <SAME> <SAME>
# 30 black base02
# 01;30 bright black base03 bg of SolDark
# 31 red red docs & mm src <SAME> <SAME>
# 01;31 bright red orange EXEC <SAME> <SAME>
# 32 green green editable text <SAME> <SAME>
# 01;32 bright green base01 unimportant text <SAME>
# 33 yellow yellow unclear in light bg multimedia <SAME> <SAME>
# 01;33 bright yellow base00 fg of SolLight unimportant non-text
# 34 blue blue unclear in dark bg user customized <SAME> <SAME>
# 01;34 bright blue base0 fg in SolDark unimportant text
# 35 magenta magenta LINK <SAME> <SAME>
# 01;35 bright magenta violet archive/compressed <SAME> <SAME>
# 36 cyan cyan DIR <SAME> <SAME>
# 01;36 bright cyan base1 unimportant non-text <SAME>
# 37 white base2
# 01;37 bright white base3 bg in SolLight
# 05;37;41 unclear in Putty dark
### By file type
# global default
NORMAL 00
# normal file
FILE 00
# directory
DIR 36
# XX2, XX3, XX6, and XX7 directories
OTHER_WRITABLE 34;47
# symbolic link
LINK 35
# pipe, socket, block device, character device (blue bg)
FIFO 30;44
SOCK 35;44
DOOR 35;44 # Solaris 2.5 and later
BLK 33;44
CHR 37;44
#############################################################################
### By file attributes
# Orphaned symlinks (blinking white on red)
# Blink may or may not work (works on iTerm dark or light, and Putty dark)
ORPHAN 05;37;41
# ... and the files that orphaned symlinks point to (blinking white on red)
MISSING 05;37;41
# files with execute permission
EXEC 01;31 # Unix
.cmd 01;31 # Win
.exe 01;31 # Win
.com 01;31 # Win
.bat 01;31 # Win
.reg 01;31 # Win
.app 01;31 # OSX
#############################################################################
### By extension
# List any file extensions like '.gz' or '.tar' that you would like ls
# to colorize below. Put the extension, a space, and the color init string.
# (and any comments you want to add after a '#')
### Text formats
# Text that we can edit with a regular editor
.txt 32
.org 32
.md 32
.mkd 32
# Source text
.h 32
.hpp 32
.c 32
.C 32
.cc 32
.cpp 32
.cxx 32
.objc 32
.cl 32
.sh 32
.bash 32
.csh 32
.zsh 32
.el 32
.vim 32
.java 32
.pl 32
.pm 32
.py 32
.rb 32
.hs 32
.php 32
.htm 32
.html 32
.shtml 32
.erb 32
.haml 32
.xml 32
.rdf 32
.css 32
.sass 32
.scss 32
.less 32
.js 32
.coffee 32
.man 32
.0 32
.1 32
.2 32
.3 32
.4 32
.5 32
.6 32
.7 32
.8 32
.9 32
.l 32
.n 32
.p 32
.pod 32
.tex 32
.go 32
.sql 32
.csv 32
.sv 32
.svh 32
.v 32
.vh 32
.vhd 32
### Multimedia formats
# Image
.bmp 33
.cgm 33
.dl 33
.dvi 33
.emf 33
.eps 33
.gif 33
.jpeg 33
.jpg 33
.JPG 33
.mng 33
.pbm 33
.pcx 33
.pdf 33
.pgm 33
.png 33
.PNG 33
.ppm 33
.pps 33
.ppsx 33
.ps 33
.svg 33
.svgz 33
.tga 33
.tif 33
.tiff 33
.xbm 33
.xcf 33
.xpm 33
.xwd 33
.xwd 33
.yuv 33
.nef 33 # Nikon RAW format
.NEF 33
# Audio
.aac 33
.au 33
.flac 33
.m4a 33
.mid 33
.midi 33
.mka 33
.mp3 33
.mpa 33
.mpeg 33
.mpg 33
.ogg 33
.opus 33
.ra 33
.wav 33
# Video
.anx 33
.asf 33
.avi 33
.axv 33
.flc 33
.fli 33
.flv 33
.gl 33
.m2v 33
.m4v 33
.mkv 33
.mov 33
.MOV 33
.mp4 33
.mp4v 33
.mpeg 33
.mpg 33
.nuv 33
.ogm 33
.ogv 33
.ogx 33
.qt 33
.rm 33
.rmvb 33
.swf 33
.vob 33
.webm 33
.wmv 33
### Misc
# Binary document formats and multimedia source
.doc 31
.docx 31
.rtf 31
.odt 31
.dot 31
.dotx 31
.ott 31
.xls 31
.xlsx 31
.ods 31
.ots 31
.ppt 31
.pptx 31
.odp 31
.otp 31
.fla 31
.psd 31
# Archives, compressed
.7z 1;35
.apk 1;35
.arj 1;35
.bin 1;35
.bz 1;35
.bz2 1;35
.cab 1;35 # Win
.deb 1;35
.dmg 1;35 # OSX
.gem 1;35
.gz 1;35
.iso 1;35
.jar 1;35
.msi 1;35 # Win
.rar 1;35
.rpm 1;35
.tar 1;35
.tbz 1;35
.tbz2 1;35
.tgz 1;35
.tx 1;35
.war 1;35
.xpi 1;35
.xz 1;35
.z 1;35
.Z 1;35
.zip 1;35
.zst 1;35
# For testing
.ANSI-30-black 30
.ANSI-01;30-brblack 01;30
.ANSI-31-red 31
.ANSI-01;31-brred 01;31
.ANSI-32-green 32
.ANSI-01;32-brgreen 01;32
.ANSI-33-yellow 33
.ANSI-01;33-bryellow 01;33
.ANSI-34-blue 34
.ANSI-01;34-brblue 01;34
.ANSI-35-magenta 35
.ANSI-01;35-brmagenta 01;35
.ANSI-36-cyan 36
.ANSI-01;36-brcyan 01;36
.ANSI-37-white 37
.ANSI-01;37-brwhite 01;37
#############################################################################
# Your customizations
# Unimportant text files
# For universal scheme, use brightgreen 01;32
# For optimal on light bg (but too prominent on dark bg), use white 01;34
#.log 01;32
#*~ 01;32
#*# 01;32
.log 01;34
*~ 01;34
*# 01;34
# Unimportant non-text files
# For universal scheme, use brightcyan 01;36
# For optimal on dark bg (but too prominent on light bg), change to 01;33
.bak 01;36
.BAK 01;36
.old 01;36
.OLD 01;36
.org_archive 01;36
.off 01;36
.OFF 01;36
.dist 01;36
.DIST 01;36
.orig 01;36
.ORIG 01;36
.swp 01;36
.swo 01;36
*.v 01;36
#.bak 01;33
#.BAK 01;33
#.old 01;33
#.OLD 01;33
#.org_archive 01;33
#.off 01;33
#.OFF 01;33
#.dist 01;33
#.DIST 01;33
#.orig 01;33
#.ORIG 01;33
#.swp 01;33
#.swo 01;33
#*.v 01;33
# The brightmagenta (Solarized: purple) color is free for you to use for your
# custom file type
.gpg 34
.gpg 34
.pgp 34
.asc 34
.3des 34
.aes 34
.enc 34
.sqlite 34

39
home/dot_gitconfig.tmpl Normal file
View file

@ -0,0 +1,39 @@
[color]
ui = true
branch = always
status = always
interactive = always
diff = true
[user]
name = Maximilian Friedersdorff
email = {{ .email | quote }}
[core]
editor = nvim
excludesfile = {{ .chezmoi.homeDir }}/.gitignore
[merge]
tool = diffuse
ff = true
[push]
default = simple
[alias]
lg = log --graph --pretty=format:'%Cred%h%Creset %G? %ad %s %C(bold blue)<%an>%Creset %C(yellow)%d%Creset' --date=short
hist = log --graph --full-history --all --pretty=format:'%Cred%h%Creset %G? %ad %s %C(bold blue)<%an>%Creset %C(yellow)%d%Creset' --date=short
struct = log --graph --full-history --all --pretty=format:'%ad %s %Creset %C(yellow)%d%Creset' --date=short --simplify-by-decoration
co = checkout
ci = commit
st = status
br = branch
df = diff
commit = commit -S
vt = tag -v
tag = tag -s
t = tag -s
alias = "!req=$'\\033[0;31m=\\033[0m'; git config --get-regexp ^alias\\. | sed -e s/^alias\\.// -e \"s/\\ /\t$req\\ /\""
pa = !git remote | xargs -L1 git push --all
[pull]
rebase = false
[sendemail]
smtpserver = mail.friedersdorff.com
smtpuser = max
smtpencryption = tls
smtpserverport = 587

6
home/dot_gitignore Normal file
View file

@ -0,0 +1,6 @@
[._]*.s[a-w][a-z]
[._]s[a-w][a-z]
*.un~
Session.vim
.netrwhist
*~

4
home/dot_inputrc Normal file
View file

@ -0,0 +1,4 @@
set editing-mode vi
set keymap vi-command
set horizontal-scroll-mode Off

84
home/dot_tmux.conf Normal file
View file

@ -0,0 +1,84 @@
# Set vi mode
set -g mode-keys vi
set -g history-limit 10000
set -g default-command $SHELL
unbind C-b
set -g prefix C-a
bind C-a send-prefix
set -g default-terminal "screen-256color"
set -s escape-time 0
# Options from https://www.hamvocke.com/blog/a-guide-to-customizing-your-tmux-conf/
# Better switching
bind | split-window -h
bind - split-window -v
unbind '"'
unbind %
# Easier pane switching
bind -n M-k select-pane -U
bind -n M-j select-pane -D
bind -n M-h select-pane -L
bind -n M-l select-pane -R
# Easy reloading of config
bind r source-file ~/.tmux.conf
# Mouse bindings. THIS IS AWESOME!
set -g mouse on
# Dont rename windows (allows setting mail for instance)
set -g allow-rename off
## move x clipboard into tmux buffer
#bind C-p run "tmux set-buffer \"$(xclip -o)\""
## move tmux copy buffer into x clipboard
#bind C-y run "tmux save-buffer - | xclip -i"
#move wayland clipbord into tmux buffer
bind C-p run "tmux set-buffer \"$(wm_paste)\""
# move tmux copy buffer into wayland clipboard
bind C-y run "tmux save-buffer - | wm_copy"
# loud or quiet?
set-option -g visual-activity off
set-option -g visual-bell off
set-option -g visual-silence off
set-window-option -g monitor-activity off
set-option -g bell-action none
#### COLOUR (Solarized light)
# default statusbar colors
set-option -g status-style fg=yellow,bg=white #yellow and base2
# default window title colors
set-window-option -g window-status-style fg=brightyellow,bg=default #base0 and default
#set-window-option -g window-status-style dim
# active window title colors
set-window-option -g window-status-current-style fg=brightred,bg=default #orange and default
#set-window-option -g window-status-current-style bright
# pane border
set-option -g pane-border-style fg=white #base2
set-option -g pane-active-border-style fg=brightcyan #base1
# message text
set-option -g message-style fg=brightred,bg=white #orange and base2
# pane number display
set-option -g display-panes-active-colour blue #blue
set-option -g display-panes-colour brightred #orange
# clock
set-window-option -g clock-mode-colour green #green
# bell
set-window-option -g window-status-bell-style fg=white,bg=red #base2, red

12
home/dot_zprofile Normal file
View file

@ -0,0 +1,12 @@
# Make XDG_RUNTIME_DIR
if [ -z "${XDG_RUNTIME_DIR}" ]; then
export XDG_RUNTIME_DIR=/tmp/${UID}-runtime-dir
if [ ! -d "${XDG_RUNTIME_DIR}" ]; then
mkdir "${XDG_RUNTIME_DIR}"
chmod 0700 "${XDG_RUNTIME_DIR}"
fi
fi
# Make temporary directory
mkdir -p "/tmp/${USER}"
chmod 770 "/tmp/${USER}"

36
home/dot_zshenv Normal file
View file

@ -0,0 +1,36 @@
typeset -U path
path=(~/.local/bin ~/.cargo/bin $path[@])
if [[ $XDG_SESSION_TYPE == "wayland" ]]; then
export QT_QPA_PLATFORM=wayland-egl
export MOZ_ENABLE_WAYLAND=1
fi
# make less more friendly for non-text input files, see lesspipe(1)
if [ -x /usr/bin/lesspipe ]; then
export LESSOPEN="|lesspipe %s"
elif [ -x /usr/bin/lesspipe.sh ]; then
export LESSOPEN="|lesspipe.sh %s"
fi
# colored GCC warnings and errors
export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
export EDITOR="nvim"
export TMPDIR="/tmp/${USER}"
export GIT_PS1_SHOWDIRTYSTATE=true
export GIT_PS1_SHOWSTASHSTATE=true
export GIT_PS1_SHOWUNTRACKEDFILEDS=true
export GIT_PS1_SHOWUPSTREAM="verbose"
export GIT_PS1_DESCRIBE_STYLE="branch"
export GIT_PS1_SHOWCOLORHINTS="color"
eval $(dircolors ~/.dir_colors)
export GPG_TTY=$(tty)
export _JAVA_AWT_WM_NONREPARENTING=1
export DOCKER_HOST=unix://$XDG_RUNTIME_DIR/docker.sock
export SSH_AUTH_SOCK=$XDG_RUNTIME_DIR/ssh-agent.socket

108
home/dot_zshrc Normal file
View file

@ -0,0 +1,108 @@
# The following lines were added by compinstall
zstyle ':completion:*' completer _expand _complete _ignored _correct _approximate
zstyle ':completion:*' completions 1
zstyle ':completion:*' expand suffix
zstyle ':completion:*' glob 1
zstyle ':completion:*' ignore-parents parent pwd
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
zstyle ':completion:*' list-prompt %SAt %p: Hit TAB for more, or the character to insert%s
zstyle ':completion:*' list-suffixes true
zstyle ':completion:*' max-errors 1
zstyle ':completion:*' menu select=1
zstyle ':completion:*' preserve-prefix '//[^/]##/'
zstyle ':completion:*' prompt 'Corrections with %e differences:'
zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s
zstyle ':completion:*' substitute 1
zstyle :compinstall filename '/home/max/.zshrc'
autoload -Uz compinit
compinit
# End of lines added by compinstall
# Lines configured by zsh-newuser-install
HISTFILE=~/.histfile
HISTSIZE=100000
SAVEHIST=100000
setopt appendhistory autocd extendedglob nomatch extendedhistory correct
unsetopt beep notify
bindkey -v
# End of lines configured by zsh-newuser-install
# Prompt
NEWLINE=$'\n'
setopt prompt_subst
p="%(?;%F{green};%F{red})[%h]%f "
p+="%F{red}%B%n%b%f@%F{red}%B%m%b%f"
p+=":%F{blue}%~%f"
p+="${NEWLINE}%(!.#.$) "
virtual_env() {
if [ -n "${VIRTUAL_ENV+1}" ]; then
home_rel_path=$(echo ${VIRTUAL_ENV} | sed "s;^${HOME};~;")
echo -n "(${home_rel_path}) "
fi
}
source ~/.git-prompt.sh
precmd () {
__git_ps1 "" "$(virtual_env)${p}" "${NEWLINE}[%s]${NEWLINE}"
}
bindkey '^R' history-incremental-search-backward
if [[ -f ~/.shell_aliases ]]; then
source ~/.shell_aliases
fi
export WORKON_HOME=~/.virtualenvs
source /usr/bin/virtualenvwrapper_lazy.sh
chpwd() {
src_dir="$(readlink -f ~/src/)/"
if [[ $PWD == "$src_dir"* ]]; then
if git status &>/dev/null; then
venv_name=$(basename $(git rev-parse --show-toplevel))
if [[ -n "$VIRTUAL_ENV" ]]; then
current_venv_name=$(basename "$VIRTUAL_ENV")
if [[ "$current_venv_name" != "$venv_name" ]]; then
deactivate
workon "$venv_name"
fi
else
if workon | grep -q "$venv_name"; then
workon "$venv_name"
fi
fi
else
if [[ -n "$VIRTUAL_ENV" ]]; then
deactivate
fi
fi
else
if [[ -n "$VIRTUAL_ENV" ]]; then
deactivate
fi
fi
}
export GPG_TTY=$(tty)
gpg-connect-agent updatestartuptty /bye >/dev/null
ZSH_AUTOSUGGEST_STRATEGY=(history completion)
ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE=30
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
sri() {
base64_hash=$(shasum -b -a 384 "$1" | awk '{print $1}' | xxd -r -p | base64)
echo "sha384-${base64_hash}"
}
scrot() {
tmp_file=$(mktemp --tmpdir XXXXXX_scrot.png)
grim -g "$(slurp)" "$tmp_file"
echo "$tmp_file"
}

View file

@ -0,0 +1,18 @@
-----BEGIN PGP MESSAGE-----
jA0ECQMIThPXbGkoa6L/0ukBT/O5aawq/z1j2GdDcoEbRNzul5940DuRaPpVOGzk
uYJQBrgWSRSgRl+HSG6xW3ASVb5BS7qeuG5vjjrK1L2bRdK0psBvRw6o49d/hd1g
87XLf0OPOzSqDsByk8HvF+xE46FUNJZwgunkwO+/4aSZOth/GEpFnYIQ47Xm8a0j
TgzVSQHVgtdBar7f1xPiLERcA4OEiH25VzAzc6MLeyM9bNxe6ya/Q2ZiSzqDdrls
zF9ntdWwXVzgDH4Bob2WzmTRIXPwZl7vexZKOPK1B1gewgPkOB5WcfpshBjlIUhx
tgnOK9zfuTZNdQllXHawhLsVUVGocBHYsqOjv1R5IAzF2UbizeoD/IiXAT9k0SUf
PYNQpTy7Mf84CqMAAQHn30lXfNOGHi05KVnZ1e0JUA9yEoW/Wo5+eVVMdYm86VkO
5L5h5kY8ZqrDIQSgcrQh7lmPItHidyGDFzskTvEKnfqlA+IJl4qAS4yKgyMooinI
h9AWVEg+IJRbu5TksgTfYaxqIcbJsGnGv2MkObmKGzLMf/db9siILbNQOwvAmRn/
OuMgVwjfs96WttaDizo852arkR3HQmkCvKFJsLZ0wmCmfOO+tI+fwJIHNm/UXb+7
0Q4Uc3Ev3ov4BseO8tNQvN/iUKvrZDVkbqLKAj9So6TLhSVpd3qkTQf1OSFyADJ8
sYVhavNBkQ9Hn1N2ylXQPTwxFCwU4ZY6SAO7EJmveg3G+KRVJsrHA4lal11itnz/
idiVY1jkioY7CHpcmfxj2YLq+AmnU3W0/7wDzDd2nACHGPrS7P5FczoAiPJ1YBc0
P2uuAnYuRYZPnuhxErsLIuRaaUzTUazOX6pTSyUFQDngI1lA/MOw
=i82k
-----END PGP MESSAGE-----