diff --git a/README.md b/README.md index 92b177d..e425231 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,48 @@ # dotfiles This repo will hold a copy of most of my dotfiles. + +## flake.nix + +You can use these dotfiles ad-hoc under nixos using: +```bash +nix run nixpkgs#home-manager -- switch --impure --flake . +``` + +## Self build dependencies + +- dwm +- st +- slstatus + +## Dependencies + +- aur/zsh-manydots-magic +- aur/breeze-red-cursor-theme +- aur/hyprland-git +- aur/hyprsome-git +- aur/mimi-git +- aur/picom-animations-git +- aur/shellgpt-git +- aur/vifmimg-git +- aur/waybar-hyprland-git 0.9.17.r159.ga9a22234-1 +- aur/xdg-desktop-portal-hyprland-git 1:r272.04f5793-1 +- dunst +- feh +- ffmpeg-python +- ffmpegthumbnailer +- gallery-dl +- i3lock +- jq +- mpv +- nvim +- python-eyed3 +- python-pynvim +- qutebrowser +- sxiv +- ueberzug +- unclutter +- vifm +- youtube-dl +- zathura +- zsh-completions +- zsh-syntax-highlighting diff --git a/_Xresources b/_Xresources new file mode 100644 index 0000000..cdae435 --- /dev/null +++ b/_Xresources @@ -0,0 +1,53 @@ +URxvt.scrollBar: false + +urxvt*depth: 32 +urxvt.imLocale: de_DE.UTF-8 +urxvt*background: rgba:0000/0000/0200/DDDD +URxvt*foreground: white + +URxvt*font: xft:Source Code Pro:size=10:antialias=true:hinting=true +URxvt*boldFont: xft:Source Code Pro:size=10:antialias=true:hinting=true +URxvt*italicFont: xft:Source Code Pro:style=Oblique:size=10:antialias=true:hinting=true +URxvt*boldItalicFont: xft:Source Code Pro:style=Bold Oblique:size=10:antialias=true:hinting=true +URxvt*letterSpace: -2 + +!black +*color0: #251f1f +*color8: #5e5e5e +!red +*color1: #eb4509 +*color9: #eb4509 +!green +*color2: #94e76b +*color10: #95e76b +!yellow +*color3: #ffac18 +*color11: #ffac18 +!blue +*color4: #46aede +*color12: #46aede +!magenta +*color5: #e32c57 +*color13: #e32c57 +!cyan +*color6: #d6dbac +*color14: #d6dbac +!white +*color7: #efefef +*color15: #efefef + +rofi.lines: 5 +rofi.eh: 2 +rofi.padding: 200 +rofi.fullscreen: true +rofi.bw: 0 +rofi.separator-style: none +rofi.hide-scrollbar: true +rofi.opacity: 10000 + +! 'background', 'border', 'separator' +rofi.color-window: argb:c82d303b, #7c8389, #1d1f21 +! State: 'bg', 'fg', 'bgalt', 'hlbg', 'hlfg' +rofi.color-normal: argb:031d1f21, #f3f4f5, argb:031d1f21, argb:031d1f21, #9575cd + +rofi.font: Source Code Pro 12 diff --git a/_bash_aliases b/_bash_aliases new file mode 100755 index 0000000..9f064a6 --- /dev/null +++ b/_bash_aliases @@ -0,0 +1,41 @@ +#!/bin/sh + +alias e="$EDITOR" +alias p="sudo pacman" +alias SS="sudo systemctl" +alias v="nvim" +alias vi='nvim' +alias vim='nvim' +alias sv="sudo nvim" +alias n="nnn" +alias sn="sudo nnn" +alias ka="killall" +alias g="git" +alias mkd="mkdir -pv" + +alias yv='youtube-viewer -C' +alias yd="youtube-dl --add-metadata -ic" # Download video link +alias yda="youtube-dl --add-metadata -xic" # Download only audio + +alias ls='ls --color=auto' +alias ll='ls -l --color=auto' +alias la='ls -la --color=auto' + +alias grep='grep --color=auto' +alias feh='feh -F' +alias sudo='sudo ' + +function mandelbrot { + local lines columns colour a b p q i pnew + ((columns=COLUMNS-1, lines=LINES-1, colour=0)) + for ((b=-1.5; b<=1.5; b+=3.0/lines)) do + for ((a=-2.0; a<=1; a+=3.0/columns)) do + for ((p=0.0, q=0.0, i=0; p*p+q*q < 4 && i < 32; i++)) do + ((pnew=p*p-q*q+a, q=2*p*q+b, p=pnew)) + done + ((colour=(i/4)%8)) + echo -n "\\e[4${colour}m " + done + echo + done +} diff --git a/_bash_logout b/_bash_logout new file mode 100644 index 0000000..0e4e4f1 --- /dev/null +++ b/_bash_logout @@ -0,0 +1,3 @@ +# +# ~/.bash_logout +# diff --git a/_bash_profile b/_bash_profile new file mode 100755 index 0000000..a94bff0 --- /dev/null +++ b/_bash_profile @@ -0,0 +1,16 @@ +#!/bin/sh + +export BROWSER="qutebrowser" +export GOPATH="$HOME/Programming/go" +export PATH="$HOME/.local/bin:$GOPATH/bin:$PATH" +export _JAVA_AWT_WM_NONREPARENTING=1 +export QT_AUTO_SCREEN_SCALE_FACTOR=0 +export EDITOR="nvim" +export SYSTEMD_EDITOR="$EDITOR" +export TERMINAL="st" + +export WINEPREFIX="$HOME/.wine64" + +[ "$(tty)" == "/dev/tty1" ] && exec sx + +[ -f "$HOME/.bashrc" ] && . "$HOME/.bashrc" diff --git a/_bashrc b/_bashrc new file mode 100755 index 0000000..f51f3d6 --- /dev/null +++ b/_bashrc @@ -0,0 +1,29 @@ +#!/bin/sh + +alias la='ls --color=auto -la' +alias ll='ls --color=auto -l' +alias ls='ls --color=auto' +alias grep='grep --color=auto' + +alias :e="nvim" +alias v="nvim" +alias vi="nvim" +alias vim="nvim" + +alias f="fuck" + +alias irssi='irssi --config="$XDG_CONFIG_HOME"/irssi/config --home="$XDG_DATA_HOME"/irssi' + +alias unison="unison -logfile ~/.unison/unison.log" +alias unison-2.48="unison-2.48 -logfile ~/.unison/unison.log" + +alias pacman="aura" + +mkcd() { + mkdir -p "$1" + cd "$1" +} + +export PS1=" +$(tput bold)$(tput setaf 1)[$(tput setaf 3)\u$(tput setaf 2)@$(tput setaf 4)\H $(tput setaf 5)\w$(tput setaf 1)]$(tput setaf 7) +$ $(tput sgr0)" diff --git a/_config/gtk-3.0/settings.ini b/_config/gtk-3.0/settings.ini new file mode 100644 index 0000000..6f52df0 --- /dev/null +++ b/_config/gtk-3.0/settings.ini @@ -0,0 +1,2 @@ +[Settings] +gtk-theme-name = Arc-Dark diff --git a/_config/i3/config b/_config/i3/config new file mode 100755 index 0000000..99ae952 --- /dev/null +++ b/_config/i3/config @@ -0,0 +1,221 @@ +# This file has been auto-generated by i3-config-wizard(1). +# It will not be overwritten, so edit it as you like. +# +# Should you change your keyboard layout some time, delete +# this file and re-run i3-config-wizard(1). +# + +# i3 config file (v4) +# +# Please see https://i3wm.org/docs/userguide.html for a complete reference! + +set $mod Mod4 + +# Font for window titles. Will also be used by the bar unless a different font +# is used in the bar {} block below. +font pango:Source Code Pro 8 + +# This font is widely installed, provides lots of unicode glyphs, right-to-left +# text rendering and scalability on retina/hidpi displays (thanks to pango). +#font pango:DejaVu Sans Mono 8 + +# Before i3 v4.8, we used to recommend this one as the default: +# font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1 +# The font above is very space-efficient, that is, it looks good, sharp and +# clear in small sizes. However, its unicode glyph coverage is limited, the old +# X core fonts rendering does not support right-to-left and this being a bitmap +# font, it doesn’t scale on retina/hidpi displays. + +# smart fullscreen popup +popup_during_fullscreen smart + +# Use Mouse+$mod to drag floating windows to their wanted position +floating_modifier $mod + +# start a terminal +bindsym $mod+Return exec i3-sensible-terminal +bindsym $mod+Shift+Return exec --no-startup-id samedir + +# kill focused window +bindsym $mod+x kill + +# start dmenu (a program launcher) +bindsym $mod+r exec dmenu_run +bindsym $mod+Shift+r exec dmenu_run_term + +# run clipmenu using dmenu +bindsym $mod+v exec clipmenu + +# change focus +bindsym $mod+h focus left +bindsym $mod+j focus down +bindsym $mod+k focus up +bindsym $mod+l focus right + +# alternatively, you can use the cursor keys: +bindsym $mod+Left focus left +bindsym $mod+Down focus down +bindsym $mod+Up focus up +bindsym $mod+Right focus right + +# move focused window +bindsym $mod+Shift+h move left +bindsym $mod+Shift+j move down +bindsym $mod+Shift+k move up +bindsym $mod+Shift+l move right + +# alternatively, you can use the cursor keys: +bindsym $mod+Shift+Left move left +bindsym $mod+Shift+Down move down +bindsym $mod+Shift+Up move up +bindsym $mod+Shift+Right move right + +# split in horizontal orientation +bindsym $mod+n split h + +# split in vertical orientation +bindsym $mod+m split v + +# enter fullscreen mode for the focused container +bindsym $mod+f fullscreen toggle + +# change container layout (stacked, tabbed, toggle split) +bindsym $mod+s layout stacking +bindsym $mod+w layout tabbed +bindsym $mod+e layout toggle split + +# toggle tiling / floating +bindsym $mod+Shift+space floating toggle + +# change focus between tiling / floating windows +bindsym $mod+space focus mode_toggle + +# focus the parent and child containers +bindsym $mod+a focus parent +bindsym $mod+d focus child + +# Change multi-display mode +bindsym XF86Display exec multipromt "Multi-Display Settings" "same" "multi_display same" "right" "multi_display right" "left" "multi_display left" + +# volume buttons +bindsym XF86AudioMute exec pactl set-sink-mute 0 toggle +bindsym XF86AudioRaiseVolume exec amixer set Master 3%+ ; exec pkill -SIGRTMIN+10 i3blocks +bindsym XF86AudioLowerVolume exec amixer set Master 3%- ; exec pkill -SIGRTMIN+10 i3blocks + +# dmenu for lock/shutdown/restart options +bindsym Control+mod1+Delete exec multipromt "lock/shutdown/restart" "lock Screen" "lock" "Shutdown" "sudo shutdown now" "reboot" "sudo reboot" "exit I3wm" "i3-msg exit" "restart I3wm" "i3-msg restart" "reload I3wm" "i3-msg reload" + +# lock on Fn-lock +bindsym XF86ScreenSaver exec lock + +# Define names for default workspaces for which we configure key bindings later on. +# We use variables to avoid repeating the names in multiple places. +set $ws1 "01: TERM" +set $ws2 "02: TERM" +set $ws3 "03: FIREFOX" +set $ws4 "04: GUI EDITOR" +set $ws5 "05" +set $ws6 "06" +set $ws7 "07" +set $ws8 "08: MUSIK" +set $ws9 "09" +set $ws10 "10: MSG" + +# switch to workspace +bindsym $mod+1 workspace $ws1 +bindsym $mod+2 workspace $ws2 +bindsym $mod+3 workspace $ws3 +bindsym $mod+4 workspace $ws4 +bindsym $mod+5 workspace $ws5 +bindsym $mod+6 workspace $ws6 +bindsym $mod+7 workspace $ws7 +bindsym $mod+8 workspace $ws8 +bindsym $mod+9 workspace $ws9 +bindsym $mod+0 workspace $ws10 + +# move focused container to workspace +bindsym $mod+Shift+1 move container to workspace $ws1 +bindsym $mod+Shift+2 move container to workspace $ws2 +bindsym $mod+Shift+3 move container to workspace $ws3 +bindsym $mod+Shift+4 move container to workspace $ws4 +bindsym $mod+Shift+5 move container to workspace $ws5 +bindsym $mod+Shift+6 move container to workspace $ws6 +bindsym $mod+Shift+7 move container to workspace $ws7 +bindsym $mod+Shift+8 move container to workspace $ws8 +bindsym $mod+Shift+9 move container to workspace $ws9 +bindsym $mod+Shift+0 move container to workspace $ws10 + +# assign windows to workspace ; get class with xprop +assign [class="Firefox"] $ws3 +assign [class="TelegramDesktop"] $ws10 + +# for_window specials +for_window [title="xzoom*"] floating enable + +# Mute audio and go to workspake 99 +# by this hiding all nsfw stuff +bindsym $mod+Control+Shift+h workspace "NSFW" ; exec pactl set-sink-mute 0 1 + +# resize window (you can also use the mouse for that) +#mode "resize" { +# # These bindings trigger as soon as you enter the resize mode +# +# # Pressing left will shrink the window’s width. +# # Pressing right will grow the window’s width. +# # Pressing up will shrink the window’s height. +# # Pressing down will grow the window’s height. +# bindsym j resize shrink width 10 px or 10 ppt +# bindsym k resize grow height 10 px or 10 ppt +# bindsym l resize shrink height 10 px or 10 ppt +# bindsym semicolon resize grow width 10 px or 10 ppt +# +# # same bindings, but for the arrow keys +# bindsym Left resize shrink width 10 px or 10 ppt +# bindsym Down resize grow height 10 px or 10 ppt +# bindsym Up resize shrink height 10 px or 10 ppt +# bindsym Right resize grow width 10 px or 10 ppt +# +# # back to normal: Enter or Escape or $mod+r +# bindsym Return mode "default" +# bindsym Escape mode "default" +# bindsym $mod+Shift+r mode "default" +#} +# +#bindsym $mod+Shift+r mode "resize" + +# Start i3bar to display a workspace bar (plus the system information i3status +# finds out, if available) +bar { + status_command i3blocks -c ~/.config/i3/i3blocks.conf + position top +} + +gaps outer 5 +gaps inner 5 + +set $border #2e9ef4 +# class border backgr. text indicator child_border +client.focused #4c7899 #285577 #ffffff $border $border +client.focused_inactive #333333 #5f676a #ffffff #5f676a #5f676a +client.unfocused #333333 #222222 #888888 #222222 #222222 +client.urgent #2f343a #900000 #ffffff #900000 #900000 +client.placeholder #000000 #0c0c0c #ffffff #0c0c0c #0c0c0c + +exec_always feh --bg-fill --randomize ~/.config/i3/wallpapers/* + +for_window [class=".*"] border pixel 2 +hide_edge_borders both + +# clear clipboard cache +exec clipdel ".*" + +# autostart services +exec compton -f +#exec devmon +exec clipmenud +exec unclutter -idle 1 -jitter 2 -root + +# autostart apps +#exec keepassxc +#exec telegram-desktop +exec sleep 1 ; i3-sensible-terminal diff --git a/_config/i3/i3blocks.conf b/_config/i3/i3blocks.conf new file mode 100755 index 0000000..fa5887e --- /dev/null +++ b/_config/i3/i3blocks.conf @@ -0,0 +1,155 @@ +# i3blocks config file +# +# Please see man i3blocks for a complete reference! +# The man page is also hosted at http://vivien.github.io/i3blocks +# +# List of valid properties: +# +# align +# color +# command +# full_text +# instance +# interval +# label +# min_width +# name +# separator +# separator_block_width +# short_text +# signal +# urgent + +# Global properties +# +# The top properties below are applied to every block, but can be overridden. +# Each block command defaults to the script name to avoid boilerplate. +command=/usr/lib/i3blocks/$BLOCK_NAME +separator_block_width=20 +markup=none + +# Volume indicator +# +# The first parameter sets the step (and units to display) +# The second parameter overrides the mixer selection +# See the script for details. +[volume] +label=VOL +instance=Master +#instance=PCM +interval=1 +signal=10 + +# Memory usage +# +# The type defaults to "mem" if the instance is not specified. +[memory] +label=MEM +separator=false +interval=30 + +[memory] +label=SWAP +instance=swap +separator=false +interval=30 + +[battery] +interval=10 + +# Disk usage +# +# The directory defaults to $HOME if the instance is not specified. +# The script may be called with a optional argument to set the alert +# (defaults to 10 for 10%). +[disk] +label=HOME +#instance=/mnt/data +interval=30 + +# Network interface monitoring +# +# If the instance is not specified, use the interface used for default route. +# The address can be forced to IPv4 or IPv6 with -4 or -6 switches. +[iface] +#instance=wlan0 +color=#00FF00 +interval=10 +separator=false + +[wifi] +#instance=wlp3s0 +interval=10 +separator=false + +[bandwidth] +#instance=eth0 +interval=5 + +# CPU usage +# +# The script may be called with -w and -c switches to specify thresholds, +# see the script for details. +[cpu_usage] +label=CPU +interval=10 +min_width=CPU: 100.00% +#separator=false + +#[load_average] +#interval=10 + +# Battery indicator +# +# The battery instance defaults to 0. +[battery] +label=BAT +#label=⚡ +instance=1 +interval=30 + +# Date Time +# +[time] +command=date '+%d.%m.%Y %H:%M:%S' +interval=1 + +# Generic media player support +# +# This displays "ARTIST - SONG" if a music is playing. +# Supported players are: spotify, vlc, audacious, xmms2, mplayer, and others. +#[mediaplayer] +#instance=spotify +#interval=5 +#signal=10 + +# OpenVPN support +# +# Support multiple VPN, with colors. +#[openvpn] +#interval=20 + +# Temperature +# +# Support multiple chips, though lm-sensors. +# The script may be called with -w and -c switches to specify thresholds, +# see the script for details. +#[temperature] +#label=TEMP +#interval=10 + +# Key indicators +# +# Add the following bindings to i3 config file: +# +# bindsym --release Caps_Lock exec pkill -SIGRTMIN+11 i3blocks +# bindsym --release Num_Lock exec pkill -SIGRTMIN+11 i3blocks +#[keyindicator] +#instance=CAPS +#interval=once +#signal=11 + +#[keyindicator] +#instance=NUM +#interval=once +#signal=11 diff --git a/_config/i3/wallpapers/lsdCat.jpg b/_config/i3/wallpapers/lsdCat.jpg new file mode 100644 index 0000000..32772e0 Binary files /dev/null and b/_config/i3/wallpapers/lsdCat.jpg differ diff --git a/_config/nvim/lsp/luals.lua b/_config/nvim/lsp/luals.lua new file mode 100644 index 0000000..fa01006 --- /dev/null +++ b/_config/nvim/lsp/luals.lua @@ -0,0 +1,19 @@ +return { + -- Command and arguments to start the server. + cmd = { 'lua-language-server' }, + -- Filetypes to automatically attach to. + filetypes = { 'lua' }, + -- Sets the "workspace" to the directory where any of these files is found. + -- Files that share a root directory will reuse the LSP server connection. + -- Nested lists indicate equal priority, see |vim.lsp.Config|. + root_markers = { { '.luarc.json', '.luarc.jsonc' }, '.git' }, + -- Specific settings to send to the server. The schema is server-defined. + -- Example: https://raw.githubusercontent.com/LuaLS/vscode-lua/master/setting/schema.json + settings = { + Lua = { + runtime = { + version = 'LuaJIT', + } + } + } +} diff --git a/_config/nvim/plugin/lsp.lua b/_config/nvim/plugin/lsp.lua index 810e407..2383d58 100644 --- a/_config/nvim/plugin/lsp.lua +++ b/_config/nvim/plugin/lsp.lua @@ -1,49 +1,56 @@ -vim.diagnostic.config({ virtual_text = true }) +vim.lsp.enable('ts_ls') +vim.lsp.enable('luals') +vim.lsp.enable('clangd') -local lsp = require('lsp-zero').preset({}) +-- LSP keymaps to mimic lsp-zero's defaults +-- Source for lsp-zero defaults: see note at bottom -lsp.on_attach(function(client, bufnr) - -- see :help lsp-zero-keybindings - -- to learn the available actions - lsp.default_keymaps({buffer = bufnr}) -end) +-- Create the autocommand once +vim.api.nvim_create_autocmd('LspAttach', { + group = vim.api.nvim_create_augroup('UserLspKeymaps', { clear = true }), + callback = function(ev) + local buf = ev.buf --- " (Optional) Configure lua language server for neovim -require('lspconfig').lua_ls.setup(lsp.nvim_lua_ls()) + local function map(mode, lhs, rhs, desc) + vim.keymap.set(mode, lhs, rhs, { buffer = buf, silent = true, noremap = true, desc = desc }) + end + + -- Hover + map('n', 'K', vim.lsp.buf.hover, 'LSP: Hover') + + -- Go to... + map('n', 'gd', vim.lsp.buf.definition, 'LSP: Go to Definition') + map('n', 'gD', vim.lsp.buf.declaration, 'LSP: Go to Declaration') + map('n', 'gi', vim.lsp.buf.implementation, 'LSP: Go to Implementation') + map('n', 'go', vim.lsp.buf.type_definition, 'LSP: Go to Type Definition') + map('n', 'gr', vim.lsp.buf.references, 'LSP: List References') + + -- Signatures + map('n', 'gs', vim.lsp.buf.signature_help, 'LSP: Signature Help') + + -- Rename / Actions / Format (normal + visual) + map('n', '', vim.lsp.buf.rename, 'LSP: Rename') + map({ 'n', 'x' }, '', function() + vim.lsp.buf.format({ async = false }) + end, 'LSP: Format') + map({ 'n', 'x' }, '', vim.lsp.buf.code_action, 'LSP: Code Action') + end, +}) + +require("mason").setup() +require("mason-lspconfig").setup({}) --- You need to setup `cmp` after lsp-zero local cmp = require('cmp') -local cmp_action = require('lsp-zero').cmp_action() +local cmp_nvim_lsp = require('cmp_nvim_lsp') +vim.opt.completeopt = { 'menu', 'menuone', 'noselect' } cmp.setup({ - mapping = { - -- `Enter` key to confirm completion - [''] = cmp.mapping.confirm({select = false}), - - -- Ctrl+Space to trigger completion menu - [''] = cmp.mapping.complete(), - - -- Navigate between snippet placeholder - [''] = cmp_action.luasnip_jump_forward(), - [''] = cmp_action.luasnip_jump_backward(), - } + sources = { + { name = 'nvim_lsp' }, + }, + mapping = cmp.mapping.preset.insert({ + [''] = cmp.mapping.confirm({ select = false }), + }), }) -lsp.ensure_installed({ - 'ts_ls', -}) - -local null_ls = require('null-ls') -local null_opts = lsp.build_options('null-ls', {}) - -null_ls.setup({ - on_attach = function(client, bufnr) - null_opts.on_attach(client, bufnr) - --- you can add more stuff here if you need it - end, - sources = { - null_ls.builtins.formatting.black, - } -}) - -lsp.setup() +cmp_nvim_lsp.default_capabilities() diff --git a/_config/nvim/plugin/rust.lua b/_config/nvim/plugin/rust.lua index 24c043d..ce44aba 100644 --- a/_config/nvim/plugin/rust.lua +++ b/_config/nvim/plugin/rust.lua @@ -1,13 +1,10 @@ -local rt = require("rust-tools") - -rt.setup({ - server = { - on_attach = function(_, bufnr) - -- Hover actions - vim.keymap.set("n", "", rt.hover_actions.hover_actions, { buffer = bufnr }) - - -- Code action groups - vim.keymap.set("n", "a", rt.code_action_group.code_action_group, { buffer = bufnr }) - end, - }, +require('rust-tools').setup({ + server = { + on_attach = function(_, bufnr) + -- Example keymaps + vim.keymap.set("n", "", require("rust-tools").hover_actions.hover_actions, { buffer = bufnr }) + vim.keymap.set("n", "a", require("rust-tools").code_action_group.code_action_group, + { buffer = bufnr }) + end, + }, }) diff --git a/_config/nvim/plugins.vim b/_config/nvim/plugins.vim index 6420866..5be30f5 100644 --- a/_config/nvim/plugins.vim +++ b/_config/nvim/plugins.vim @@ -4,14 +4,7 @@ Plug 'tpope/vim-fugitive' Plug 'vim-syntastic/syntastic' Plug 'junegunn/fzf.vim' Plug 'tpope/vim-surround' -" Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' } -" Plug 'deoplete-plugins/deoplete-clang' -" Plug 'deoplete-plugins/deoplete-jedi' -" Plug 'deoplete-plugins/deoplete-go', { 'do': 'make'} -" Plug 'carlitux/deoplete-ternjs', { 'do': 'npm install tern'} -" Plug 'tbodt/deoplete-tabnine', { 'do': './install.sh' } Plug 'mg979/vim-visual-multi' -" Plug 'fatih/vim-go', { 'do': ':GoUpdateBinaries' } " Plug 'ndmitchell/ghcid', { 'rtp': 'plugins/nvim' } Plug 'luochen1990/rainbow' " Plug 'wlangstroth/vim-racket' @@ -24,18 +17,14 @@ Plug 'neovim/nvim-lspconfig' Plug 'williamboman/mason.nvim' Plug 'williamboman/mason-lspconfig.nvim' -Plug 'nvim-lua/plenary.nvim' -Plug 'nvimtools/none-ls.nvim' - " Autocompletion Plug 'hrsh7th/nvim-cmp' Plug 'hrsh7th/cmp-nvim-lsp' Plug 'L3MON4D3/LuaSnip' -Plug 'VonHeikemen/lsp-zero.nvim', {'branch': 'v2.x'} - Plug 'simrat39/rust-tools.nvim' +" Debugging Plug 'mfussenegger/nvim-dap' Plug 'rcarriga/nvim-dap-ui' Plug 'nvim-neotest/nvim-nio' diff --git a/_gtkrc-2.0 b/_gtkrc-2.0 new file mode 100644 index 0000000..d24ef68 --- /dev/null +++ b/_gtkrc-2.0 @@ -0,0 +1 @@ +gtk-theme-name = "Arc-Dark" diff --git a/_scripts/dmenu_run_term b/_scripts/dmenu_run_term new file mode 100755 index 0000000..e465579 --- /dev/null +++ b/_scripts/dmenu_run_term @@ -0,0 +1,6 @@ +#!/bin/sh + +# select a command with dmenu_run but run it in the terminal emulator + +command=$(dmenu_path | dmenu "$@") +[[ $command != "" ]] && exec urxvt -e $command diff --git a/_scripts/excelDecode.py b/_scripts/excelDecode.py new file mode 100755 index 0000000..edbd90f --- /dev/null +++ b/_scripts/excelDecode.py @@ -0,0 +1,19 @@ +#!/usr/bin/python + +import sys +import re +import string + +alphabet = "0" + string.ascii_lowercase +goodRe = re.compile("^[0a-z]*$") + +for s in [s.lower() for s in sys.argv[1:]]: + if not goodRe.match(s): + print(f"failed to decode {s}: wrong format", file=sys.stderr) + continue + result = 0 + for c in s: + result *= 26 + result += alphabet.index(c) + print(f"{s} = {result-1}") + diff --git a/_scripts/fi_fos b/_scripts/fi_fos new file mode 100755 index 0000000..cb6ebc9 --- /dev/null +++ b/_scripts/fi_fos @@ -0,0 +1,3 @@ +#!/bin/sh + +python ~/Documents/fi_fos $@ diff --git a/_scripts/lock b/_scripts/lock new file mode 100755 index 0000000..265c1a1 --- /dev/null +++ b/_scripts/lock @@ -0,0 +1,6 @@ +#!/bin/sh + +bg_file=/tmp/$(dd if=/dev/urandom bs=8 count=1 2> /dev/null | base32).png +scrot $bg_file -q 30 +convert $bg_file -blur 8x8 $bg_file +exec i3lock -i $bg_file diff --git a/_scripts/multi_display b/_scripts/multi_display new file mode 100755 index 0000000..e567c08 --- /dev/null +++ b/_scripts/multi_display @@ -0,0 +1,22 @@ +#!/bin/sh + +case $1 in + same) + xrandr --output VGA-1 --same-as LVDS-1 + ;; + right) + xrandr --output VGA-1 --right-of LVDS-1 + ;; + left) + xrandr --output VGA-1 --left-of LVDS-1 + ;; + *) + echo $0 "same|right|left" + exit 1 + ;; +esac + + + + + diff --git a/_scripts/multipromt b/_scripts/multipromt new file mode 100755 index 0000000..16c44c3 --- /dev/null +++ b/_scripts/multipromt @@ -0,0 +1,24 @@ +#!/usr/bin/python + +# runs dmenu with the first value of $@ as promt, each even value of $@ as option and the following odd value as command for that option +# for example $ ./multipromt "Power Button Pressed?" "Shutdown" "sudo shutdown now" "Reboot" "sudo reboot now" "Exit I3wm" "i3-msg exit" + +import subprocess +from sys import argv + +def pairs(iterable): + return zip(iterable[::2], iterable[1::2]) + +def demnu_select(options, promt=""): + return subprocess.run(["dmenu", "-p", promt], stdout=subprocess.PIPE, input="\n".join(options).encode("UTF-8")).stdout.decode().strip() + +def main(): + cmds = dict(pairs(["Abort", ""] + argv[2:])) + selected = demnu_select(cmds, argv[1]) + cmd = cmds.get(selected, "").split() + if len(cmd) > 0: + subprocess.run(cmd) + +if __name__ == "__main__": + main() + diff --git a/_scripts/processing b/_scripts/processing new file mode 100755 index 0000000..cb210c9 --- /dev/null +++ b/_scripts/processing @@ -0,0 +1,5 @@ +#!/bin/sh + +cd ~/.programs/processing + +./processing diff --git a/_scripts/promt b/_scripts/promt new file mode 100755 index 0000000..28def13 --- /dev/null +++ b/_scripts/promt @@ -0,0 +1,11 @@ +#!/bin/sh + +# Use dmenu to promt no or yes with $1 as promt. If the use clickes yes run $2" +# example: promt "Shutdown?" "sudo shutdown now" + +posRep="Yes" +negRep="No" +choosen=$(echo -e "$negRep\n$posRep" | dmenu -p "$1") + +[[ "$choosen" == "$posRep" ]] && $2 + diff --git a/_scripts/samedir b/_scripts/samedir new file mode 100755 index 0000000..dd4f6d0 --- /dev/null +++ b/_scripts/samedir @@ -0,0 +1,28 @@ +#!/bin/bash +# i3 thread: https://faq.i3wm.org/question/150/how-to-launch-a-terminal-from-here/?answer=152#post-id-152 + +CMD=$TERMINAL +CWD='' + +# Get window ID +ID=$(xdpyinfo | grep focus | cut -f4 -d " ") + +# Get PID of process whose window this is +PID=$(xprop -id $ID | grep -m 1 PID | cut -d " " -f 3) + +# Get last child process (shell, vim, etc) +if [ -n "$PID" ]; then + TREE=$(pstree -lpA $PID | tail -n 1) + PID=$(echo $TREE | awk -F'---' '{print $NF}' | sed -re 's/[^0-9]//g') + + # If we find the working directory, run the command in that directory + if [ -e "/proc/$PID/cwd" ]; then + CWD=$(readlink /proc/$PID/cwd) + fi +fi +if [ -n "$CWD" ]; then + cd $CWD && $CMD +else + $CMD +fi + diff --git a/_viminfo b/_viminfo new file mode 100644 index 0000000..d5853a3 --- /dev/null +++ b/_viminfo @@ -0,0 +1,1880 @@ +# This viminfo file was generated by Vim 8.1. +# You may edit it if you're careful! + +# Viminfo version +|1,4 + +# Value of 'encoding' when this file was written +*encoding=utf-8 + + +# hlsearch on (H) or off (h): +~h +# Last Search Pattern: +~MSle0~/\\$ + +# Last Substitute Search Pattern: +~MSle0&obj + +# Last Substitute String: +$OBJ + +# Command Line History (newest to oldest): +:q +|2,0,1542545854,,"q" +:qa! +|2,0,1542545583,,"qa!" +:wq +|2,0,1542545579,,"wq" +:w +|2,0,1542385729,,"w" +::w +|2,0,1542127018,,":w" +:s +|2,0,1542102432,,"s" +:q! +|2,0,1542043569,,"q!" +:retab +|2,0,1542043537,,"retab" +:w hello.h +|2,0,1542030589,,"w hello.h" +:w hello.c +|2,0,1542030562,,"w hello.c" +:%s/obj/OBJ/g +|2,0,1541786409,,"%s/obj/OBJ/g" +:%s/src/SRC/g +|2,0,1541786384,,"%s/src/SRC/g" +:wq# +|2,0,1541442144,,"wq#" +:setlocal spell +|2,0,1541418104,,"setlocal spell " +:'<,'>q +|2,0,1541417897,,"'<,'>q" +:hi SpellBad cterm=underline +|2,0,1541417879,,"hi SpellBad cterm=underline" +:hi clear SpellBad +|2,0,1541417876,,"hi clear SpellBad" +:hi SpellBad clear +|2,0,1541417845,,"hi SpellBad clear" +:color +|2,0,1541417788,,"color " +:color default +|2,0,1541417783,,"color default" +:color defaukt +|2,0,1541417780,,"color defaukt" +:color --list +|2,0,1541417775,,"color --list" +:color nomral +|2,0,1541417767,,"color nomral" +:color day +|2,0,1541417759,,"color day" +:color evening +|2,0,1541417746,,"color evening" +:colorsheme evening +|2,0,1541417739,,"colorsheme evening" +:.,.+2 +|2,0,1541203179,,".,.+2" +:tabe auslosung_10.txt +|2,0,1541203076,,"tabe auslosung_10.txt" +:set nospell +|2,0,1541151735,,"set nospell" +:set spell spelllang=de +|2,0,1541151704,,"set spell spelllang=de" +:3 +|2,0,1540916519,,"3" +:reg +|2,0,1540810402,,"reg" +:r !ls +|2,0,1540810196,,"r !ls" +:%s/\ndo\n +|2,0,1540763814,,"%s/\\ndo\\n" +:%s/active_players/alive_players/g +|2,0,1540590930,,"%s/active_players/alive_players/g" +:noh +|2,0,1540589778,,"noh" +:W +|2,0,1540589770,,"W" +:2 +|2,0,1540412009,,"2" +:YcmRestartServer +|2,0,1540411709,,"YcmRestartServer" +:YcmCompleter +|2,0,1540411693,,"YcmCompleter" +:YC +|2,0,1540411668,,"YC" +:PluginInstall +|2,0,1540411492,,"PluginInstall" +:o .vimrc +|2,0,1540411473,,"o .vimrc" +:PluginSearch YouCompleteMe +|2,0,1540411304,,"PluginSearch YouCompleteMe" +:nohl +|2,0,1540408929,,"nohl" +:set ic +|2,0,1540408922,,"set ic" +:set hls is +|2,0,1540408896,,"set hls is" +:r ! ls +|2,0,1540408536,,"r ! ls" +:r ! la +|2,0,1540408527,,"r ! la" +:'<,'>w TEST +|2,0,1540408444,,"'<,'>w TEST" +:!ls +|2,0,1540408329,,"!ls" +:ls +|2,0,1540408325,,"ls" +:%s/thee/the/g +|2,0,1540408281,,"%s/thee/the/g" +:s%/thee/the/g +|2,0,1540408267,,"s%/thee/the/g" +:set nonu +|2,0,1540407999,,"set nonu" +:unset nu +|2,0,1540407990,,"unset nu" +:nu +|2,0,1540407984,,"nu" +:set nu +|2,0,1540407979,,"set nu" +:486 +|2,0,1540407926,,"486" +:help +|2,0,1540406306,,"help" +:qw +|2,0,1540324148,,"qw" +:7 +|2,0,1540285936,,"7" +:%s +|2,0,1540237606,,"%s" +:%norm A +|2,0,1540228226,,"%norm A " +:norm A +|2,0,1540228208,,"norm A " +:norm % A +|2,0,1540228201,,"norm % A " +:%s/\n*[^\n]/$1 /g +|2,0,1540227976,,"%s/\\n*[^\\n]/$1 /g" +:%s/(\n*)/ +|2,0,1540227934,,"%s/(\\n*)/" +:! espeak -f % +|2,0,1540227598,,"! espeak -f %" +:! espeak % +|2,0,1540227589,,"! espeak %" +:! espeal % +|2,0,1540227564,,"! espeal %" +:!pandoc % +|2,0,1540220564,,"!pandoc %" +:!padnoc % +|2,0,1540220534,,"!padnoc %" +:padnoc % +|2,0,1540220530,,"padnoc %" +:tabe ~/.vimrc +|2,0,1540201632,,"tabe ~/.vimrc" +:tabe ha.txt +|2,0,1540201546,,"tabe ha.txt" +:tabc +|2,0,1540201542,,"tabc" +:tabe ha.txtr +|2,0,1540201537,,"tabe ha.txtr" +:spell english +|2,0,1540201245,,"spell english" +:spell EN +|2,0,1540201240,,"spell EN" +:spell en +|2,0,1540201235,,"spell en" +::wq +|2,0,1540119411,,":wq" +:!samedir +|2,0,1540033546,,"!samedir" +:samedir +|2,0,1540033543,,"samedir" +:!bash -c " samedir &" +|2,0,1540033534,,"!bash -c \" samedir &\"" +:! samedir & +|2,0,1540033511,,"! samedir &" +:set +|2,0,1540032608,,"set " +: +|2,0,1540030696,," " + +# Search String History (newest to oldest): +?/\\$ +|2,1,1542545543,47,"\\\\$" +?///$ +|2,1,1542545536,47,"//$" +?/Matthias M +|2,1,1542408453,47,"Matthias M" +?/Tobi +|2,1,1542408420,47,"Tobi" +?/Jörg +|2,1,1542359582,47,"Jörg" +?/Jannik +|2,1,1542359570,47,"Jannik" +?/Jonas +|2,1,1542359557,47,"Jonas" +? \ +|2,1,1542036587,,"\\" +?/ss +|2,1,1542036022,47,"ss" +?/clean +|2,1,1542030807,47,"clean" +? \ +|2,1,1542030601,,"\\" +? @$ +|2,1,1541799045,,"@$" +? obj +|2,1,1541786409,,"obj" +? src +|2,1,1541786384,,"src" +?/lerni +|2,1,1541775880,47,"lerni" +?/Machine +|2,1,1541775818,47,"Machine" +?/high +|2,1,1541417954,47,"high" +?/spell +|2,1,1541417915,47,"spell" +?/Jan Bu +|2,1,1541186936,47,"Jan Bu" +?/feh +|2,1,1541114055,47,"feh" +?/Jann +|2,1,1541113035,47,"Jann" +?/+h +|2,1,1540848968,47,"+h" +?/do +|2,1,1540763821,47,"do" +? \ndo\n +|2,1,1540763814,,"\\ndo\\n" +?/filter +|2,1,1540763176,47,"filter" +? active_players +|2,1,1540590930,,"active_players" +?/Tom +|2,1,1540589751,47,"Tom" +?/ignore +|2,1,1540408885,47,"ignore" +? thee +|2,1,1540408281,,"thee" +? /thee/the/g +|2,1,1540408267,,"/thee/the/g" +?/%s/thee/the/g +|2,1,1540408252,47,"%s/thee/the/g" +?/errroor +|2,1,1540408092,47,"errroor" +?/i +|2,1,1540328108,47,"i" +?/work +|2,1,1540324005,47,"work" +?/num +|2,1,1540306744,47,"num" +?/number +|2,1,1540306742,47,"number" +?/primes +|2,1,1540306715,47,"primes" +?/split +|2,1,1540288713,47,"split" +?/Py_LIMITED_API +|2,1,1540288290,47,"Py_LIMITED_API" +?/TSS_KEY_T +|2,1,1540288179,47,"TSS_KEY_T" +?/" +|2,1,1540288019,47,"\"" +?/Schiedsrichter +|2,1,1540237595,47,"Schiedsrichter" +?/What +|2,1,1540237573,47,"What" +?/brands +|2,1,1540237468,47,"brands" +?/what +|2,1,1540228406,47,"what" +? \n*[^\n] +|2,1,1540227976,,"\\n*[^\\n]" +? (\n*) +|2,1,1540227934,,"(\\n*)" +?/always +|2,1,1540225510,47,"always" +?/daewd +|2,1,1540118346,47,"daewd" +? \ +|2,1,1540118318,,"\\" +?/Return +|2,1,1540033327,47,"Return" +?/urxvt +|2,1,1540030001,47,"urxvt" +?/client. +|2,1,1540029853,47,"client." +?/tabb +|2,1,1540028920,47,"tabb" +?/Udo +|2,1,1539989933,47,"Udo" +?/Maja +|2,1,1539989912,47,"Maja" +? ^" \a +|2,1,1539793392,,"^\" \\a" +?/+r +|2,1,1539792526,47,"+r" +?/QTextStream +|2,1,1539641053,47,"QTextStream" +?/QTestStream +|2,1,1539641042,47,"QTestStream" +?/QTextString +|2,1,1539641030,47,"QTextString" +?/Qtext +|2,1,1539641021,47,"Qtext" +?/n +|2,1,1539625879,47,"n" +?/\sn\s +|2,1,1539625850,47,"\\sn\\s" +?/%s/\sn\s/\snumber\s/g +|2,1,1539625831,47,"%s/\\sn\\s/\\snumber\\s/g" +?/}o +|2,1,1539625172,47,"}o" +?/prime[ +|2,1,1539625065,47,"prime[" +? i +|2,1,1539624850,,"i" +?/Rainer +|2,1,1539382802,47,"Rainer" +? a +|2,1,1539269389,,"a" +? : +|2,1,1539269115,,":" +? \ +|2,1,1539268821,,"\\" +? max +|2,1,1539268755,,"max" +? do +|2,1,1539267221,,"do" +?/nu +|2,1,1539267078,47,"nu" + +# Expression History (newest to oldest): + +# Input Line History (newest to oldest): + +# Debug Line History (newest to oldest): + +# Registers: +"0 LINE 0 + - +|3,0,0,1,1,0,1542359519," - " +"1 LINE 0 + - + - +|3,0,1,1,2,0,1542385764," - "," - " +"2 LINE 0 + - + - + - +|3,0,2,1,3,0,1542130747," - "," - "," - " +"3 LINE 0 + sieve (x:xs) = x : +|3,0,3,1,1,0,1542043441,"sieve (x:xs) = x :" +"4 LINE 0 + +|3,0,4,1,1,0,1542038858,"" +"5 LINE 0 + precmd() { print "" } +|3,0,5,1,1,0,1542038857,"precmd() { print \"\" }" +"6 LINE 0 + +|3,0,6,1,1,0,1542037951," " +"7 LINE 0 + +|3,0,7,1,1,0,1542037687," " +"8 LINE 0 + } +|3,0,8,1,1,0,1542037686," }" +"9 LINE 0 + 2. Make in a new project: ` ` +|3,0,9,1,1,0,1542036643,"2. Make in a new project: ` ` " +"q CHAR 0 +  +|3,0,26,0,1,0,1540286586,"" +""- CHAR 0 + true +|3,1,36,0,1,0,1542408454,"true" + +# File marks: +'0 1 0 ~/.xinitrc +|4,48,1,0,1542545854,"~/.xinitrc" +'1 552 0 ~/.zcompdump +|4,49,552,0,1542545790,"~/.zcompdump" +'2 1 0 ~/.bash_profile +|4,50,1,0,1542545583,"~/.bash_profile" +'3 21 8 ~/Documents/SK_Langen/pokal/auslosung.py +|4,51,21,8,1542408636,"~/Documents/SK_Langen/pokal/auslosung.py" +'4 32 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,52,32,21,1542408457,"~/Documents/SK_Langen/pokal/spieler.json" +'5 1 0 ~/Documents/SK_Langen/pokal/spieler. +|4,53,1,0,1542408376,"~/Documents/SK_Langen/pokal/spieler." +'6 8 2 ~/Documents/fi_fos/berichte/2018/11_Nov/46_week/5_Fri.yml +|4,54,8,2,1542385765,"~/Documents/fi_fos/berichte/2018/11_Nov/46_week/5_Fri.yml" +'7 3 10 ~/Documents/fi_fos/berichte/2018/11_Nov/46_week/2_Tue.yml +|4,55,3,10,1542361582,"~/Documents/fi_fos/berichte/2018/11_Nov/46_week/2_Tue.yml" +'8 7 2 ~/Documents/fi_fos/berichte/2018/11_Nov/46_week/5_Fri.yml +|4,56,7,2,1542361149,"~/Documents/fi_fos/berichte/2018/11_Nov/46_week/5_Fri.yml" +'9 7 2 ~/Documents/fi_fos/berichte/2018/11_Nov/46_week/5_Fri.yml +|4,57,7,2,1542361149,"~/Documents/fi_fos/berichte/2018/11_Nov/46_week/5_Fri.yml" + +# Jumplist (newest first): +-' 1 0 ~/.xinitrc +|4,39,1,0,1542545854,"~/.xinitrc" +-' 552 0 ~/.zcompdump +|4,39,552,0,1542545790,"~/.zcompdump" +-' 552 0 ~/.zcompdump +|4,39,552,0,1542545790,"~/.zcompdump" +-' 1 0 ~/.zcompdump +|4,39,1,0,1542545783,"~/.zcompdump" +-' 1 0 ~/.zcompdump +|4,39,1,0,1542545783,"~/.zcompdump" +-' 1 0 ~/.bash_profile +|4,39,1,0,1542545583,"~/.bash_profile" +-' 1 0 ~/.bash_profile +|4,39,1,0,1542545583,"~/.bash_profile" +-' 1 0 ~/.bash_profile +|4,39,1,0,1542545583,"~/.bash_profile" +-' 1 0 ~/.bash_profile +|4,39,1,0,1542545583,"~/.bash_profile" +-' 3 0 ~/.bash_profile +|4,39,3,0,1542545499,"~/.bash_profile" +-' 3 0 ~/.bash_profile +|4,39,3,0,1542545499,"~/.bash_profile" +-' 3 0 ~/.bash_profile +|4,39,3,0,1542545499,"~/.bash_profile" +-' 3 0 ~/.bash_profile +|4,39,3,0,1542545499,"~/.bash_profile" +-' 21 8 ~/Documents/SK_Langen/pokal/auslosung.py +|4,39,21,8,1542408636,"~/Documents/SK_Langen/pokal/auslosung.py" +-' 21 8 ~/Documents/SK_Langen/pokal/auslosung.py +|4,39,21,8,1542408636,"~/Documents/SK_Langen/pokal/auslosung.py" +-' 21 8 ~/Documents/SK_Langen/pokal/auslosung.py +|4,39,21,8,1542408636,"~/Documents/SK_Langen/pokal/auslosung.py" +-' 21 8 ~/Documents/SK_Langen/pokal/auslosung.py +|4,39,21,8,1542408636,"~/Documents/SK_Langen/pokal/auslosung.py" +-' 21 8 ~/Documents/SK_Langen/pokal/auslosung.py +|4,39,21,8,1542408636,"~/Documents/SK_Langen/pokal/auslosung.py" +-' 21 8 ~/Documents/SK_Langen/pokal/auslosung.py +|4,39,21,8,1542408636,"~/Documents/SK_Langen/pokal/auslosung.py" +-' 21 8 ~/Documents/SK_Langen/pokal/auslosung.py +|4,39,21,8,1542408636,"~/Documents/SK_Langen/pokal/auslosung.py" +-' 21 8 ~/Documents/SK_Langen/pokal/auslosung.py +|4,39,21,8,1542408636,"~/Documents/SK_Langen/pokal/auslosung.py" +-' 32 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,32,21,1542408457,"~/Documents/SK_Langen/pokal/spieler.json" +-' 32 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,32,21,1542408457,"~/Documents/SK_Langen/pokal/spieler.json" +-' 32 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,32,21,1542408457,"~/Documents/SK_Langen/pokal/spieler.json" +-' 32 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,32,21,1542408457,"~/Documents/SK_Langen/pokal/spieler.json" +-' 32 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,32,21,1542408457,"~/Documents/SK_Langen/pokal/spieler.json" +-' 32 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,32,21,1542408457,"~/Documents/SK_Langen/pokal/spieler.json" +-' 32 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,32,21,1542408457,"~/Documents/SK_Langen/pokal/spieler.json" +-' 32 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,32,21,1542408457,"~/Documents/SK_Langen/pokal/spieler.json" +-' 32 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,32,21,1542408457,"~/Documents/SK_Langen/pokal/spieler.json" +-' 32 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,32,21,1542408457,"~/Documents/SK_Langen/pokal/spieler.json" +-' 32 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,32,21,1542408457,"~/Documents/SK_Langen/pokal/spieler.json" +-' 32 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,32,21,1542408457,"~/Documents/SK_Langen/pokal/spieler.json" +-' 32 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,32,21,1542408457,"~/Documents/SK_Langen/pokal/spieler.json" +-' 32 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,32,21,1542408457,"~/Documents/SK_Langen/pokal/spieler.json" +-' 32 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,32,21,1542408457,"~/Documents/SK_Langen/pokal/spieler.json" +-' 32 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,32,21,1542408457,"~/Documents/SK_Langen/pokal/spieler.json" +-' 8 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,8,21,1542408453,"~/Documents/SK_Langen/pokal/spieler.json" +-' 8 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,8,21,1542408453,"~/Documents/SK_Langen/pokal/spieler.json" +-' 8 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,8,21,1542408453,"~/Documents/SK_Langen/pokal/spieler.json" +-' 8 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,8,21,1542408453,"~/Documents/SK_Langen/pokal/spieler.json" +-' 8 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,8,21,1542408453,"~/Documents/SK_Langen/pokal/spieler.json" +-' 8 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,8,21,1542408453,"~/Documents/SK_Langen/pokal/spieler.json" +-' 8 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,8,21,1542408453,"~/Documents/SK_Langen/pokal/spieler.json" +-' 8 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,8,21,1542408453,"~/Documents/SK_Langen/pokal/spieler.json" +-' 8 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,8,21,1542408453,"~/Documents/SK_Langen/pokal/spieler.json" +-' 8 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,8,21,1542408453,"~/Documents/SK_Langen/pokal/spieler.json" +-' 8 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,8,21,1542408453,"~/Documents/SK_Langen/pokal/spieler.json" +-' 8 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,8,21,1542408453,"~/Documents/SK_Langen/pokal/spieler.json" +-' 8 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,8,21,1542408453,"~/Documents/SK_Langen/pokal/spieler.json" +-' 8 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,8,21,1542408453,"~/Documents/SK_Langen/pokal/spieler.json" +-' 8 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,8,21,1542408453,"~/Documents/SK_Langen/pokal/spieler.json" +-' 8 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,8,21,1542408453,"~/Documents/SK_Langen/pokal/spieler.json" +-' 16 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,16,21,1542408420,"~/Documents/SK_Langen/pokal/spieler.json" +-' 16 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,16,21,1542408420,"~/Documents/SK_Langen/pokal/spieler.json" +-' 16 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,16,21,1542408420,"~/Documents/SK_Langen/pokal/spieler.json" +-' 16 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,16,21,1542408420,"~/Documents/SK_Langen/pokal/spieler.json" +-' 16 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,16,21,1542408420,"~/Documents/SK_Langen/pokal/spieler.json" +-' 16 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,16,21,1542408420,"~/Documents/SK_Langen/pokal/spieler.json" +-' 16 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,16,21,1542408420,"~/Documents/SK_Langen/pokal/spieler.json" +-' 16 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,16,21,1542408420,"~/Documents/SK_Langen/pokal/spieler.json" +-' 16 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,16,21,1542408420,"~/Documents/SK_Langen/pokal/spieler.json" +-' 16 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,16,21,1542408420,"~/Documents/SK_Langen/pokal/spieler.json" +-' 16 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,16,21,1542408420,"~/Documents/SK_Langen/pokal/spieler.json" +-' 16 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,16,21,1542408420,"~/Documents/SK_Langen/pokal/spieler.json" +-' 16 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,16,21,1542408420,"~/Documents/SK_Langen/pokal/spieler.json" +-' 16 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,16,21,1542408420,"~/Documents/SK_Langen/pokal/spieler.json" +-' 16 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,16,21,1542408420,"~/Documents/SK_Langen/pokal/spieler.json" +-' 16 21 ~/Documents/SK_Langen/pokal/spieler.json +|4,39,16,21,1542408420,"~/Documents/SK_Langen/pokal/spieler.json" +-' 1 0 ~/Documents/SK_Langen/pokal/spieler. +|4,39,1,0,1542408376,"~/Documents/SK_Langen/pokal/spieler." +-' 1 0 ~/Documents/SK_Langen/pokal/spieler. +|4,39,1,0,1542408376,"~/Documents/SK_Langen/pokal/spieler." +-' 1 0 ~/Documents/SK_Langen/pokal/spieler. +|4,39,1,0,1542408376,"~/Documents/SK_Langen/pokal/spieler." +-' 1 0 ~/Documents/SK_Langen/pokal/spieler. +|4,39,1,0,1542408376,"~/Documents/SK_Langen/pokal/spieler." +-' 1 0 ~/Documents/SK_Langen/pokal/spieler. +|4,39,1,0,1542408376,"~/Documents/SK_Langen/pokal/spieler." +-' 1 0 ~/Documents/SK_Langen/pokal/spieler. +|4,39,1,0,1542408376,"~/Documents/SK_Langen/pokal/spieler." +-' 1 0 ~/Documents/SK_Langen/pokal/spieler. +|4,39,1,0,1542408376,"~/Documents/SK_Langen/pokal/spieler." +-' 1 0 ~/Documents/SK_Langen/pokal/spieler. +|4,39,1,0,1542408376,"~/Documents/SK_Langen/pokal/spieler." +-' 1 0 ~/Documents/SK_Langen/pokal/spieler. +|4,39,1,0,1542408376,"~/Documents/SK_Langen/pokal/spieler." +-' 1 0 ~/Documents/SK_Langen/pokal/spieler. +|4,39,1,0,1542408376,"~/Documents/SK_Langen/pokal/spieler." +-' 1 0 ~/Documents/SK_Langen/pokal/spieler. +|4,39,1,0,1542408376,"~/Documents/SK_Langen/pokal/spieler." +-' 1 0 ~/Documents/SK_Langen/pokal/spieler. +|4,39,1,0,1542408376,"~/Documents/SK_Langen/pokal/spieler." +-' 1 0 ~/Documents/SK_Langen/pokal/spieler. +|4,39,1,0,1542408376,"~/Documents/SK_Langen/pokal/spieler." +-' 1 0 ~/Documents/SK_Langen/pokal/spieler. +|4,39,1,0,1542408376,"~/Documents/SK_Langen/pokal/spieler." +-' 1 0 ~/Documents/SK_Langen/pokal/spieler. +|4,39,1,0,1542408376,"~/Documents/SK_Langen/pokal/spieler." +-' 1 0 ~/Documents/SK_Langen/pokal/spieler. +|4,39,1,0,1542408376,"~/Documents/SK_Langen/pokal/spieler." +-' 1 0 ~/Documents/SK_Langen/pokal/spieler. +|4,39,1,0,1542408376,"~/Documents/SK_Langen/pokal/spieler." +-' 1 0 ~/Documents/SK_Langen/pokal/spieler. +|4,39,1,0,1542408376,"~/Documents/SK_Langen/pokal/spieler." +-' 1 0 ~/Documents/SK_Langen/pokal/spieler. +|4,39,1,0,1542408376,"~/Documents/SK_Langen/pokal/spieler." +-' 1 0 ~/Documents/SK_Langen/pokal/spieler. +|4,39,1,0,1542408376,"~/Documents/SK_Langen/pokal/spieler." +-' 1 0 ~/Documents/SK_Langen/pokal/spieler. +|4,39,1,0,1542408376,"~/Documents/SK_Langen/pokal/spieler." +-' 1 0 ~/Documents/SK_Langen/pokal/spieler. +|4,39,1,0,1542408376,"~/Documents/SK_Langen/pokal/spieler." +-' 1 0 ~/Documents/SK_Langen/pokal/spieler. +|4,39,1,0,1542408376,"~/Documents/SK_Langen/pokal/spieler." +-' 1 0 ~/Documents/SK_Langen/pokal/spieler. +|4,39,1,0,1542408376,"~/Documents/SK_Langen/pokal/spieler." +-' 1 0 ~/Documents/SK_Langen/pokal/spieler. +|4,39,1,0,1542408376,"~/Documents/SK_Langen/pokal/spieler." +-' 1 0 ~/Documents/SK_Langen/pokal/spieler. +|4,39,1,0,1542408376,"~/Documents/SK_Langen/pokal/spieler." +-' 1 0 ~/Documents/SK_Langen/pokal/spieler. +|4,39,1,0,1542408376,"~/Documents/SK_Langen/pokal/spieler." +-' 1 0 ~/Documents/SK_Langen/pokal/spieler. +|4,39,1,0,1542408376,"~/Documents/SK_Langen/pokal/spieler." +-' 1 0 ~/Documents/SK_Langen/pokal/spieler. +|4,39,1,0,1542408376,"~/Documents/SK_Langen/pokal/spieler." +-' 1 0 ~/Documents/SK_Langen/pokal/spieler. +|4,39,1,0,1542408376,"~/Documents/SK_Langen/pokal/spieler." +-' 1 0 ~/Documents/SK_Langen/pokal/spieler. +|4,39,1,0,1542408376,"~/Documents/SK_Langen/pokal/spieler." + +# History of marks within files (newest to oldest): + +> ~/.xinitrc + * 1542545853 0 + " 1 0 + +> ~/.Xresources + * 1542545852 0 + " 42 0 + +> ~/.Xauthority + * 1542545841 0 + " 1 0 + +> ~/.zcompdump + * 1542545789 0 + " 552 0 + +> ~/.bash_profile + * 1542545579 0 + " 1 0 + +> ~/.bashrc + * 1542545571 0 + " 22 0 + ^ 22 0 + . 21 140 + + 21 0 + + 21 140 + +> ~/.bash_logout + * 1542545491 0 + " 1 0 + +> ~/.bash_aliases + * 1542545487 0 + " 1 0 + +> ~/Documents/SK_Langen/pokal/auslosung.py + * 1542408618 0 + " 21 8 + ^ 22 14 + . 19 0 + + 7 0 + + 8 46 + + 5 0 + + 3 0 + + 24 0 + + 13 4 + + 15 53 + + 16 0 + + 10 0 + + 11 0 + + 12 0 + + 11 26 + + 15 43 + + 16 0 + + 14 34 + + 15 35 + + 15 0 + + 14 17 + + 15 36 + + 14 40 + + 17 4 + + 21 20 + + 22 13 + + 19 0 + +> ~/Documents/SK_Langen/pokal/spieler.json + * 1542408455 0 + " 32 21 + ^ 32 22 + . 32 21 + + 52 21 + + 4 21 + + 48 21 + + 56 22 + + 56 21 + + 4 20 + + 36 21 + + 40 21 + + 12 21 + + 44 21 + + 36 20 + + 16 21 + + 8 21 + + 32 21 + +> ~/Documents/SK_Langen/pokal/spieler. + * 1542408376 0 + " 1 0 + +> ~/Documents/fi_fos/berichte/2018/11_Nov/46_week/5_Fri.yml + * 1542385764 0 + " 8 2 + ^ 3 11 + . 9 0 + + 2 11 + + 5 14 + + 7 4 + + 8 0 + + 7 5 + + 6 61 + + 7 83 + + 8 18 + + 7 91 + + 8 53 + + 3 10 + + 9 0 + +> ~/Documents/fi_fos/berichte/2018/11_Nov/46_week/2_Tue.yml + * 1542361581 0 + " 3 10 + ^ 3 11 + . 3 10 + + 2 12 + + 5 13 + + 6 0 + + 5 13 + + 6 77 + + 7 115 + + 8 65 + + 9 0 + + 3 10 + +> ~/Do + * 1542106463 0 + " 1 0 + +> ~/D + * 1542106459 0 + " 1 0 + +> ~/Desktop/death.md + * 1542106409 0 + " 6 5 + ^ 19 6 + . 19 5 + + 54 27 + + 31 5 + + 63 5 + + 58 5 + + 24 5 + + 19 5 + +> ~/Desktop/webside.md + * 1542106385 0 + " 1 0 + +> ~/Programing/python/send_more_money.py + * 1542043568 0 + " 40 0 + . 3 0 + + 3 0 + +> ~/Programing/Haskell/primes.hs + * 1542043463 0 + " 1 0 + ^ 1 0 + . 1 0 + + 1 0 + e 1 0 + +> ~/Programing/Haskell/primes.gs + * 1542043340 0 + " 1 0 + +> ~/Documents/fi_fos/berichte/2018/11_Nov/46_week/1_Mon.yml + * 1542043273 0 + " 3 10 + ^ 3 11 + . 3 10 + + 2 13 + + 5 14 + + 6 89 + + 7 65 + + 3 10 + +> ~/.zshrc + * 1542038892 0 + " 58 0 + ^ 58 0 + . 57 12 + + 13 9 + + 5 0 + + 4 1 + + 2 21 + + 3 23 + + 2 9 + + 3 12 + + 57 172 + + 61 20 + + 57 171 + + 61 0 + + 57 12 + +> ~/Programing/c_cpp/1millePrimes/src/linked_list.hpp + * 1542038028 0 + " 1 0 + +> ~/Programing/c_cpp/1millePrimes/src/linked_list.cpp + * 1542037988 0 + " 14 12 + ^ 14 13 + . 14 12 + + 4 0 + + 3 8 + + 15 1 + + 6 11 + + 4 13 + + 15 0 + + 15 3 + + 16 0 + + 6 18 + + 3 0 + + 17 0 + + 18 26 + + 21 1 + + 20 24 + + 15 0 + + 9 14 + + 10 29 + + 13 9 + + 10 23 + + 13 19 + + 15 2 + + 11 12 + + 10 20 + + 11 24 + + 12 27 + + 15 0 + + 20 19 + + 6 21 + + 14 12 + +> ~/Programing/c_cpp/1millePrimes/src/linked_list.h + * 1542037317 0 + " 3 25 + ^ 3 26 + . 3 25 + + 3 25 + +> ~/Programing/c_cpp/1millePrimes/src/main.c + * 1542036941 0 + " 4 51 + ^ 4 52 + . 4 51 + + 1 17 + + 2 13 + + 2 34 + + 2 13 + + 2 12 + + 1 0 + + 1 13 + + 1 3 + + 5 0 + + 1 17 + + 5 0 + + 4 51 + +> ~/Programing/c_cpp/1millePrimes/README.md + * 1542036761 0 + " 12 18 + ^ 12 19 + . 12 18 + + 2 1 + + 2 0 + + 3 0 + + 2 53 + + 4 17 + + 10 0 + + 4 28 + + 5 21 + + 8 43 + + 6 74 + + 7 15 + + 6 15 + + 5 3 + + 6 3 + + 7 33 + + 8 67 + + 9 0 + + 10 31 + + 4 29 + + 11 22 + + 4 4 + + 11 23 + + 11 0 + + 11 49 + + 13 3 + + 11 3 + + 13 0 + + 12 18 + +> ~/Programing/c_cpp/1millePrimes/makefile + * 1542036092 0 + " 40 0 + ^ 36 7 + . 36 6 + + 1 28 + + 1 16 + + 1 8 + + 1 16 + + 1 6 + + 1 0 + + 1 8 + + 1 19 + + 1 0 + + 1 16 + + 1 0 + + 1 6 + + 1 0 + + 1 15 + + 1 5 + + 1 22 + + 1 8 + + 1 14 + + 1 0 + + 1 16 + + 1 13 + + 1 11 + + 1 0 + + 1 21 + + 1 15 + + 1 0 + + 1 11 + + 1 0 + + 1 16 + + 1 18 + + 12 0 + + 1 10 + + 1 11 + + 3 9 + + 1 12 + + 10 45 + + 11 39 + + 19 36 + + 19 21 + + 19 34 + + 21 15 + + 13 3 + + 21 28 + + 22 0 + + 23 9 + + 24 15 + + 19 21 + + 24 22 + + 26 18 + + 23 10 + + 27 0 + + 28 4 + + 29 26 + + 31 24 + + 15 0 + + 15 35 + + 15 48 + + 32 1 + + 28 4 + + 36 21 + + 37 1 + + 32 0 + + 35 0 + + 33 0 + + 35 0 + + 33 0 + + 33 13 + + 33 15 + + 33 0 + + 33 11 + + 33 0 + + 41 15 + + 33 16 + + 38 0 + + 38 31 + + 39 2 + + 36 2 + + 33 3 + + 39 4 + + 7 33 + + 13 28 + + 16 30 + + 33 0 + + 29 27 + + 24 23 + + 19 22 + + 20 18 + + 25 0 + + 30 0 + + 43 16 + + 13 0 + + 36 6 + +> ~/Programing/c_cpp/1millePrimes/build/src/main.c.o + * 1542030442 0 + " 1 0 + +> ~/Programing/c_cpp/1millePrimes/hello.c + * 1542013300 0 + " 5 4 + ^ 5 5 + . 5 4 + + 7 0 + + 6 15 + + 1 18 + + 2 17 + + 5 4 + +> ~/Programing/c_cpp/1millePrimes/main.c + * 1542013287 0 + " 5 0 + ^ 4 10 + . 4 9 + + 5 0 + + 5 10 + + 4 20 + + 1 18 + + 4 9 + +> ~/Programing/c_cpp/1millePrimes/hello.h + * 1542013224 0 + " 3 12 + ^ 3 13 + . 3 12 + + 3 12 + +> ~/git/OSH_GRIEF/Grief Plugin/src/de/oshgnacknak/noplugin/commands/executors/HelloWorldCommand.java + * 1541799366 0 + " 36 0 + +> ~/git/OSH_GRIEF/Grief Plugin/src/de/oshgnacknak/noplugin/commands/executors/ShellCommand.java + * 1541799339 0 + " 1 0 + +> ~/git/OSH_GRIEF/Grief Plugin/src/de/oshgnacknak/noplugin/commands/CommandExecutor.java + * 1541799320 0 + " 1 0 + +> ~/git/OSH_GRIEF/Grief Plugin/src/de/oshgnacknak/noplugin/commands/CommandHandler.java + * 1541799308 0 + " 11 0 + +> ~/git/OSH_GRIEF/Grief Plugin/src/de/oshgnacknak/noplugin/commands/executors/ForceChatCommand.java + * 1541799147 0 + " 50 0 + +> ~/Programing/c_cpp/1millePrimes/primes.h + * 1541786564 0 + " 1 16 + ^ 1 17 + . 1 16 + + 1 16 + +> ~/Documents/fi_fos/berichte/2018/11_Nov/45_week/5_Fri.yml + * 1541775889 0 + " 11 41 + ^ 11 49 + . 11 41 + + 2 11 + + 5 14 + + 6 12 + + 7 12 + + 8 26 + + 9 83 + + 10 66 + + 11 68 + + 3 10 + + 11 41 + +> ~/Documents/fi_fos/berichte/2018/11_Nov/45_week/2_Tue.yml + * 1541529542 0 + " 7 2 + ^ 7 113 + . 8 0 + + 2 13 + + 5 14 + + 6 78 + + 3 10 + + 6 85 + + 7 112 + + 8 0 + +> ~/Documents/fi_fos/berichte/2018/11_Nov/45_week/1_Mon.yml + * 1541442144 0 + " 3 10 + ^ 3 11 + . 3 10 + + 2 11 + + 9 0 + + 5 13 + + 6 64 + + 7 57 + + 8 70 + + 9 0 + + 3 10 + +> ~/.vimrc + * 1541418024 0 + " 85 38 + ^ 85 39 + . 85 38 + + 2 5 + + 2 0 + + 74 18 + + 79 0 + + 78 9 + + 82 0 + + 72 0 + + 73 0 + + 72 0 + + 83 41 + + 83 35 + + 81 7 + + 83 39 + + 84 53 + + 83 17 + + 28 43 + + 29 0 + + 1 27 + + 30 0 + + 53 0 + + 15 0 + + 14 0 + + 13 29 + + 14 0 + + 13 30 + + 85 0 + + 85 38 + +> ~/Documents/fi_fos/__main__.py + * 1541417637 0 + " 87 39 + ^ 87 40 + . 87 39 + + 87 39 + +> ~/Documents/christ_vs_nornmann.txt + * 1541374397 0 + " 30 43 + ^ 30 44 + . 30 43 + + 31 0 + + 1 0 + + 30 43 + +> ~/Documents/SK_Langen/pokal/auslosung_11.txt + * 1541203179 0 + " 1 0 + ^ 4 1 + . 4 0 + + 5 0 + + 2 0 + + 1 0 + + 2 0 + + 3 0 + + 4 0 + +> ~/Documents/SK_Langen/pokal/auslosung_10.txt + * 1541203077 0 + " 2 0 + +> ~/Documents/fi_fos/berichte/2018/11_Nov/44_week/5_Fri.yml + * 1541174112 0 + " 8 111 + ^ 8 112 + . 8 111 + + 2 13 + + 5 14 + + 7 0 + + 5 99 + + 6 76 + + 3 10 + + 7 69 + + 8 0 + + 7 124 + + 8 111 + +> ~/.config/i3/config + * 1541114056 0 + " 196 12 + ^ 144 44 + . 144 43 + + 132 0 + + 131 0 + + 103 20 + + 132 23 + + 208 0 + + 209 9 + + 102 18 + + 186 0 + + 208 0 + + 204 10 + + 103 12 + + 132 0 + + 209 0 + + 208 0 + + 209 0 + + 185 0 + + 182 88 + + 183 0 + + 208 0 + + 207 0 + + 96 25 + + 189 24 + + 131 0 + + 39 24 + + 15 55 + + 15 0 + + 16 27 + + 208 0 + + 131 0 + + 40 13 + + 171 18 + + 168 26 + + 171 13 + + 168 21 + + 171 17 + + 209 11 + + 43 15 + + 209 0 + + 210 0 + + 209 15 + + 176 0 + + 176 1 + + 177 0 + + 189 70 + + 189 64 + + 189 24 + + 182 67 + + 183 0 + + 189 70 + + 189 64 + + 189 0 + + 95 17 + + 98 16 + + 97 14 + + 102 14 + + 96 10 + + 189 0 + + 189 72 + + 189 0 + + 189 65 + + 189 0 + + 189 65 + + 189 0 + + 189 45 + + 189 0 + + 189 70 + + 194 64 + + 190 49 + + 188 18 + + 190 56 + + 191 0 + + 190 0 + + 191 0 + + 190 64 + + 188 18 + + 189 0 + + 188 0 + + 34 53 + + 35 0 + + 209 35 + + 55 21 + + 56 0 + + 43 13 + + 44 0 + + 39 0 + + 44 13 + + 45 13 + + 46 13 + + 47 13 + + 56 0 + + 59 20 + + 68 13 + + 71 13 + + 209 11 + + 96 17 + + 98 14 + + 144 15 + + 144 20 + + 143 30 + + 144 43 + +> ~/.fehbg + * 1541114037 0 + " 1 0 + +> ~/magic8.py + * 1541100887 0 + " 7 34 + ^ 7 35 + . 7 34 + + 6 0 + + 4 0 + + 1 13 + + 1 12 + + 8 0 + + 7 34 + +> ~/Documents/fi_fos/berichte/2018/10_Oct/44_week/2_Tue.yml + * 1540917153 0 + " 3 10 + ^ 3 11 + . 3 10 + + 2 11 + + 5 15 + + 7 0 + + 8 0 + + 6 7 + + 7 131 + + 7 99 + + 3 10 + +> ~/Documents/fi_fos/berichte/2018/10_Oct/43_week/2_Tue.yml + * 1540833235 0 + " 3 10 + ^ 3 11 + . 3 10 + + 2 11 + + 7 0 + + 5 0 + + 6 149 + + 7 0 + + 3 10 + +> ~/Documents/fi_fos/berichte/2018/10_Oct/44_week/1_Mon.yml + * 1540832293 0 + " 7 2 + ^ 3 11 + . 8 0 + + 2 11 + + 6 0 + + 5 41 + + 6 93 + + 8 0 + + 7 108 + + 3 10 + + 8 0 + +> ~/Programing/JS/ProjectEuler/p6.js + * 1540830604 0 + " 8 0 + ^ 8 0 + . 8 0 + + 8 22 + + 6 0 + + 5 13 + + 8 0 + +> ~/git/p5JS/index.html + * 1540816188 0 + " 12 0 + . 10 0 + + 6 37 + + 8 0 + + 12 0 + + 13 0 + + 14 0 + + 12 0 + + 11 4 + + 9 10 + + 10 7 + + 10 28 + + 12 0 + + 10 17 + + 12 0 + + 10 17 + + 12 0 + + 10 0 + + 10 30 + + 12 0 + + 10 0 + +> ~/git/p5JS/CNAME + * 1540810124 0 + " 1 0 + +> ~/git/p5JS/README.md + * 1540810071 0 + " 1 0 + +> ~/Programing/JS/english_word_game/word_game.js + * 1540765760 0 + " 32 13 + ^ 32 17 + . 32 0 + + 32 0 + +> ~/Programing/JS/english_unscramble_latters/words_alpha.txt + * 1540763830 0 + " 90532 0 + ^ 1 0 + . 90527 0 + + 1 0 + + 90527 0 + +> ~/Programing/JS/english_unscramble_latters/unscrampe_letters.js + * 1540763460 0 + " 51 15 + . 32 13 + + 32 13 + +> ~/git/Hello-World/main.c + * 1540412416 0 + " 28 9 + ^ 29 22 + . 29 21 + + 18 0 + + 20 0 + + 19 0 + + 18 0 + + 32 0 + + 4 0 + + 1 0 + + 4 0 + + 2 19 + + 30 0 + + 29 21 + +> ~/Programing/python/chuck_a_luck.py + * 1540411977 0 + " 33 0 + . 34 0 + + 34 0 + +> ~/.gitconfig + * 1540411083 0 + " 3 1 + . 4 0 + + 4 0 + +> ~/[Vundle] Installer + * 1540410888 0 + " 4 0 + . 1 0 + + 1 0 + +> ~/git/YouCompleteMe/install.sh + * 1540410640 0 + " 17 34 + +> ~/git/YouCompleteMe/install.py + * 1540410616 0 + " 30 0 + +> /tmp/tutorTmDUhp + * 1540409057 0 + " 965 20 + . 798 0 + + 85 27 + + 109 45 + + 132 46 + + 134 42 + + 203 27 + + 222 47 + + 288 49 + + 288 51 + + 289 0 + + 222 46 + + 291 28 + + 312 0 + + 313 0 + + 333 0 + + 380 0 + + 382 0 + + 381 0 + + 382 0 + + 381 0 + + 379 0 + + 400 59 + + 425 55 + + 450 0 + + 555 0 + + 684 0 + + 685 0 + + 722 0 + + 726 3 + + 749 50 + + 772 35 + + 798 28 + + 798 0 + +> ~/TEST + * 1540408455 0 + " 1 0 + +> ~/tutor + * 1540406889 0 + " 24 0 + . 25 0 + + 1 22 + + 16 24 + + 17 0 + + 15 2 + + 23 27 + + 25 3 + + 25 0 + +> /usr/share/vim/vim81/doc/help.txt + * 1540406306 0 + " 1 0 + +> ~/toms_mail + * 1540328502 0 + " 1 19 + ^ 1 20 + . 1 19 + + 1 19 + +> ~/.bash + * 1540327839 0 + " 1 0 + +> ~/git/Hello-World/.bash_aliases + * 1540327574 0 + " 1 8 + ^ 1 9 + . 1 8 + + 2 26 + + 1 8 + +> ~/Programing/JS/ProjectEuler/p5.js + * 1540312900 0 + " 3 22 + ^ 7 21 + . 3 22 + + 11 0 + + 4 19 + + 9 0 + + 6 3 + + 5 20 + + 8 0 + + 8 21 + + 10 16 + + 11 0 + + 11 9 + + 5 26 + + 3 25 + + 10 20 + + 5 0 + + 8 0 + + 11 0 + + 10 0 + + 11 0 + + 10 0 + + 11 7 + + 3 6 + + 6 7 + + 7 20 + + 3 22 + +> ~/Programing/JS/ProjectEuler/p3.js + * 1540308346 0 + " 6 0 + ^ 5 0 + . 6 0 + + 4 0 + + 3 17 + + 5 0 + + 5 12 + + 5 13 + + 5 0 + + 5 17 + + 5 0 + + 5 3 + + 5 16 + + 5 7 + + 5 47 + + 5 7 + + 5 13 + + 5 0 + + 5 1 + + 5 13 + + 5 0 + + 5 10 + + 5 8 + + 5 0 + + 5 4 + + 5 24 + + 5 11 + + 5 16 + + 5 9 + + 5 4 + + 5 23 + + 5 0 + + 5 11 + + 5 5 + + 5 0 + + 5 15 + + 5 32 + + 5 28 + + 5 6 + + 5 0 + + 5 2 + + 5 0 + + 5 7 + + 5 3 + + 5 12 + + 5 15 + + 5 7 + + 5 8 + + 5 0 + + 1 36 + + 2 0 + + 5 33 + + 5 6 + + 5 3 + + 5 15 + + 5 6 + + 5 0 + + 5 5 + + 5 0 + + 3 0 + + 5 16 + + 5 0 + + 5 21 + + 5 20 + + 5 27 + + 5 0 + + 5 13 + + 5 12 + + 5 0 + + 3 24 + + 5 16 + + 5 3 + + 5 31 + + 5 17 + + 5 0 + + 5 5 + + 5 3 + + 5 0 + + 22 1 + + 21 0 + + 21 8 + + 23 14 + + 1 32 + + 10 17 + + 14 21 + + 5 2 + + 6 26 + + 14 10 + + 15 24 + + 17 0 + + 16 12 + + 14 19 + + 21 0 + + 20 0 + + 19 9 + + 10 16 + + 9 28 + + 10 21 + + 13 0 + + 12 5 + + 6 2 + + 5 0 + + 6 0 + b 4 0 + s 1 0 + +> ~/.zprofile + * 1540306968 0 + " 8 19 + +> ~/Programing/JS/ProjectEuler/.zshrc + * 1540306924 0 + " 1 0 + +> ~/Programing/JS/prime.js + * 1540306241 0 + " 1 0 + +> ~/eclipse-workspace/hw/src/hw/hw.java + * 1540298482 0 + " 1 0 + +> ~/eclipse-workspace/hw/bin/hw/hw.class + * 1540298474 0 + " 1 0 + +> ~/.atom/packages/emmet/LICENSE.txt + * 1540298422 0 + " 1 0 + +> /usr/include/python3.7m/pythread.h + * 1540288302 0 + " 125 8 + +> ~/.aur/vim-clipboard/PKGBUILD + * 1540286586 0 + " 17 19 + +> ~/.aur/vim-clipboard/vimrc + * 1540285751 0 + " 1 0 + +> ~/3 + * 1540237445 0 + " 1 0 + +> ~/Documents/fi_fos/berichte/2018/10_Oct/43_week/1_Mon.yml + * 1540229840 0 + " 3 9 + ^ 3 11 + . 3 9 + + 6 0 + + 5 14 + + 6 108 + + 7 63 + + 8 0 + + 3 9 + +> ~/Destop/death.md + * 1540228799 0 + " 6 1 + ^ 6 1 + . 6 1 + + 1 31 + + 1 0 + + 65 33 + + 65 23 + + 65 17 + + 65 0 + + 65 2 + + 65 23 + + 65 8 + + 65 20 + + 65 0 + + 65 5 + + 65 14 + + 65 11 + + 65 0 + + 65 5 + + 65 14 + + 65 17 + + 65 0 + + 65 5 + + 65 9 + + 65 0 + + 65 10 + + 65 0 + + 65 23 + + 65 14 + + 65 23 + + 65 15 + + 65 18 + + 65 16 + + 65 0 + + 65 4 + + 65 29 + + 65 0 + + 65 2 + + 65 0 + + 65 11 + + 65 0 + + 65 19 + + 65 31 + + 1 0 + + 26 0 + + 66 0 + + 67 1 + + 1 21 + + 3 21 + + 4 20 + + 67 2 + + 6 1 + +> ~/Destop/death.html + * 1540228427 0 + " 24 4 + . 24 4 + + 5 1 + + 24 4 + +> ~/Destop/text.js + * 1540202490 0 + " 2 0 + ^ 2 0 + . 1 2 + + 1 2 + +> ~/Destop/ha.txt + * 1540201557 0 + " 1 0 + . 2 0 + + 1 10 + + 2 0 + +> ~/Destop/ha.txtr + * 1540201537 0 + " 1 0 + +> ~/Destop/turnierleitung.md + * 1540199087 0 + " 1 0 + +> ~/Destop/webside.md + * 1540199075 0 + " 1 0 + . 1 0 + + 2 50 + + 2 0 + + 2 1 + + 2 0 + + 3 30 + + 2 38 + + 3 0 + + 3 33 + + 3 0 + + 2 0 + + 1 0 + +> ~/Destop/fuerMichUndTobi.md + * 1540119415 0 + " 1 40 + ^ 1 41 + . 1 40 + + 1 40 + + 2 0 + + 1 9 + + 4 0 + + 2 59 + + 1 40 + +> ~/Destop/test.md + * 1540115594 0 + " 5 0 + ^ 5 0 + . 4 0 + + 4 0 + +> ~/Programing/c_cpp/ceaser_bruteforce/ceaser_bruteforce.c + * 1540033903 0 + " 34 0 + . 8 0 + + 8 0 + +> ~/.scripts/samedir + * 1540033695 0 + " 28 0 + ^ 28 0 + . 27 2 + + 27 2 + +> /tmp/dirCWIxd + * 1540033618 0 + " 1 10 + . 1 10 + + 1 10 + +> ~/Programing/c_cpp/ceaser bruteforce/ceaser_bruteforce.c + * 1540033552 0 + " 9 0 + +> ~/Programing/JS/args/args.js + * 1539970801 0 + " 1 11 + ^ 1 12 + . 1 11 + + 1 11 diff --git a/_vimrc b/_vimrc new file mode 100644 index 0000000..d4e5f43 --- /dev/null +++ b/_vimrc @@ -0,0 +1,124 @@ +" This section is for vundle +set nocompatible " be iMproved, required +filetype off " required + +" set the runtime path to include Vundle and initialize +set rtp+=~/.vim/bundle/Vundle.vim +call vundle#begin() +" alternatively, pass a path where Vundle should install plugins +"call vundle#begin('~/some/path/here') + +" let Vundle manage Vundle, required +"Plugin 'Valloric/YouCompleteMe' +Plugin 'VundleVim/Vundle.vim' +Plugin 'jreybert/vimagit' +Plugin 'sbdchd/vim-run' +Plugin 'scrooloose/nerdtree' +"Plugin 'takac/vim-hardtime' + +" All of your Plugins must be added before the following line +call vundle#end() " required +filetype plugin indent on " required +" To ignore plugin indent changes, instead use: +"filetype plugin on +" +" Brief help +" :PluginList - lists configured plugins +" :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate +" :PluginSearch foo - searches for foo; append `!` to refresh local cache +" :PluginClean - confirms removal of unused plugins; append `!` to auto-approve removal +" +" see :h vundle for more details or wiki for FAQ +" Put your non-Plugin stuff after this line + + + +" Get the defaults that most users want. +source $VIMRUNTIME/defaults.vim + +if has("vms") + set nobackup " do not keep a backup file, use versions instead +else + set backup " keep a backup file (restore to previous version) + if has('persistent_undo') + set undofile " keep an undo file (undo changes after closing) + endif +endif + +if &t_Co > 2 || has("gui_running") + " Switch on highlighting the last used search pattern. + set hlsearch +endif + +" Only do this part when compiled with support for autocommands. +if has("autocmd") + + " Put these in an autocmd group, so that we can delete them easily. + augroup vimrcEx + au! + + " For all text files set 'textwidth' to 78 characters. + autocmd FileType text setlocal textwidth=78 + + augroup END + +else + + set autoindent " always set autoindenting on + +endif " has("autocmd") + +" Add optional packages. +" +" The matchit plugin makes the % command work better, but it is not backwards +" compatible. +" The ! means the package won't be loaded right away but when plugins are +" loaded during initialization. +"if has('syntax') && has('eval') +" packadd! matchit +"endif + +" -- by osh -- +map :NERDTreeToggle +map :Magit + +" navigate in splitted buffers +nnoremap +nnoremap +nnoremap +nnoremap + +" swap lines +nnoremap :m .+1== +nnoremap :m .-2== +vnoremap :m '>+1gv=gv +vnoremap :m '<-2gv=gv + +set splitbelow +set splitright + +set number relativenumber +augroup numbertoggle + autocmd! + autocmd BufEnter,FocusGained,InsertLeave * set relativenumber + autocmd BufLeave,FocusLost,InsertEnter * set norelativenumber +augroup END + +set tabstop=2 shiftwidth=2 expandtab +set visualbell + +set complete+=kspell + +autocmd FileType markdown setlocal spell +autocmd FileType gitcommit setlocal spell textwidth=72 +"hi SpellBad cterm=underline ctermfg=red + +" cursor shapes +let &t_SI = "\[6 q" +let &t_SR = "\[4 q" +let &t_EI = "\[2 q" + +" exec current file +nnoremap :Run +nnoremap :make + diff --git a/_xinitrc b/_xinitrc new file mode 100644 index 0000000..f436906 --- /dev/null +++ b/_xinitrc @@ -0,0 +1,4 @@ +#!/bin/sh + +xrdb ~/.Xresources +exec i3 diff --git a/_zprofile b/_zprofile new file mode 100755 index 0000000..9f5ff5b --- /dev/null +++ b/_zprofile @@ -0,0 +1,5 @@ +#!/bin/sh + +[ -f "$HOME/.bash_profile" ] && emulate sh -c "source $HOME/.bash_profile" + +[ -f "$HOME/.zshrc" ] && source "$HOME/.zshrc" diff --git a/_zshrc b/_zshrc index 9884429..dda566f 100755 --- a/_zshrc +++ b/_zshrc @@ -1,25 +1,21 @@ #!/bin/zsh -# The following lines were added by compinstall zstyle ':completion:*' completer _expand _complete _ignored zstyle ':completion:*' list-colors '' zstyle ':completion:*' menu select=0 zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s zstyle :compinstall filename '/home/osh/.zshrc' -autoload -Uz compinit +autoload -Uz compinit manydots-magic compinit -# End of lines added by compinstall +manydots-magic -# Lines configured by zsh-newuser-install HISTFILE=~/.histfile HISTSIZE=1000 -SAVEHIST=1000 +SAVEHIST=100000 setopt appendhistory nomatch notify extendedglob bindkey -v -# End of lines configured by zsh-newuser-install -# Change cursor shape for different vi modes. function zle-keymap-select { if [[ ${KEYMAP} == vicmd ]] || [[ $1 = 'block' ]]; then @@ -34,11 +30,13 @@ function zle-keymap-select { } zle -N zle-keymap-select +[ -f "$HOME/./config/bashrc" ] && emulate sh -c "source $HOME/./config/bashrc" [ -f "$HOME/.bashrc" ] && emulate sh -c "source $HOME/.bashrc" -source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh -source /usr/share/fzf/key-bindings.zsh -source /usr/share/fzf/completion.zsh +[ -f "/usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" ] && source "/usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" +[ -f "/usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh" ] && source "/usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh" +[ -f "/usr/share/fzf/key-bindings.zsh" ] && source "/usr/share/fzf/key-bindings.zsh" +[ -f "/usr/share/fzf/completion.zsh" ] && source "/usr/share/fzf/completion.zsh" setopt interactivecomments setopt HIST_IGNORE_SPACE diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..dbf71a3 --- /dev/null +++ b/flake.nix @@ -0,0 +1,127 @@ +{ + description = "OSHs dotfiles"; + + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05"; + neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; + home-manager.url = "github:nix-community/home-manager/release-24.05"; + home-manager.inputs.nixpkgs.follows = "nixpkgs"; + }; + + outputs = { self, nixpkgs, home-manager, neovim-nightly-overlay, ... }: + let + system = builtins.currentSystem; + username = builtins.getEnv "USER"; + homeDir = builtins.getEnv "HOME"; + pkgs = import nixpkgs { inherit system; }; + in { + homeConfigurations.${username} = home-manager.lib.homeManagerConfiguration { + inherit pkgs; + modules = [ + { + nixpkgs.overlays = [ + neovim-nightly-overlay.overlays.default + ]; + + home.username = username; + home.homeDirectory = homeDir; + # Only manage what you explicitly turn on below + # (this keeps you from overriding distro-level things) + programs.git = { + enable = true; + userName = "Oshgnacknak"; + userEmail = "osh@oshgnacknak.de"; + }; + + programs.neovim = { + enable = true; + package = neovim-nightly-overlay.packages.${pkgs.system}.default; + viAlias = true; + vimAlias = true; + }; + + programs.home-manager.enable = true; + + programs.zsh = { + enable = true; + + enableCompletion = true; + autosuggestion.enable = true; + syntaxHighlighting.enable = true; + + initExtra = '' + source ${pkgs.fzf}/share/fzf/key-bindings.zsh + source ${pkgs.fzf}/share/fzf/completion.zsh + source ${pkgs.fzf-zsh}/share/zsh/plugins/fzf-zsh/fzf-zsh.plugin.zsh + + [ -f "$HOME/.config/zshrc" ] && source $HOME/.config/zshrc + ''; + + plugins = [ + { + name = "manydots-magic"; + src = pkgs.fetchFromGitHub { + owner = "knu"; + repo = "zsh-manydots-magic"; + rev = "master"; + sha256 = "sha256-lv7e7+KBR/nxC43H0uvphLcI7fALPvxPSGEmBn0g8HQ="; + }; + file = "manydots-magic"; + } + ]; + + zplug = { + enable = true; + plugins = [ + { name = "zsh-users/zsh-autosuggestions"; } + ]; + }; + }; + + programs.fzf = { + enable = true; + enableZshIntegration = true; + }; + + # Put extra packages in the *user* profile (not system) + home.packages = with pkgs; [ + ripgrep + fd + tmux + xsel + fzf + fzf-zsh + thefuck + rust-analyzer + ]; + + # Link dotfiles without forcing overwrite (fails safely if a file already exists) + home.file.".tmux.conf".source = ./_tmux.conf; + home.file.".config/zshrc".source = ./_zshrc; + home.file.".config/bashrc".source = ./_bashrc; + + home.file.".local/share/nvim/site/autoload/plug.vim".source = pkgs.fetchurl { + url = "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim"; + sha256 = "c2d8998469a049a51225a71128a12917b379822d16b639493e29ea02d8787306"; + }; + + xdg.configFile."nvim" = { + source = ./_config/nvim; + recursive = true; + force = true; + }; + + # Environment variables only for this user/session + home.sessionVariables = { + EDITOR = "nvim"; + }; + + # Good HM hygiene + xdg.enable = true; + home.stateVersion = "24.05"; + } + ]; + }; + }; +} +