Compare commits

114 Commits

Author SHA1 Message Date
Fabian Ising
ff125f4c7a [ZSH] Fix virt-manager 2025-10-27 09:53:45 +01:00
Fabian Ising
cda37c3415 [tmux] Fix clipboard 2025-08-26 11:16:44 +02:00
Fabian Ising
6fd62c340d [NVIM] Run YCM install script on update 2025-08-06 11:04:27 +02:00
Fabian Ising
4718c8cccc [ZSH] Add OSC52 var 2025-08-06 10:51:09 +02:00
Fabian Ising
022895d1b2 [TERM] Add xshift for curved monitor visibility 2025-08-05 14:53:27 +02:00
murgi
fb8dc68cfd [ZSH] Fix autopull 2025-08-05 14:36:11 +02:00
Fabian Ising
a13204c4b5 [ZSH] Add autopull for repo 2025-08-05 12:33:05 +02:00
Fabian Ising
e4400b13a8 [ZSH] Add completion rehash 2025-08-04 11:47:52 +02:00
Fabian Ising
b26a9904a5 [ZSH] Optimize History handling 2025-07-31 15:24:28 +02:00
Fabian Ising
ec6b42cb65 [VIM] Disable OCS52 for vscode 2025-07-31 15:24:07 +02:00
Fabian Ising
f76728180a [VIM] Change to osc52 2025-05-08 08:58:53 +02:00
Fabian Ising
950d1d371d [VIM] Fix ctags 2025-04-17 08:56:46 +02:00
Fabian Ising
ea019a8e23 [All] Add virtualenv hooks 2025-04-17 08:56:15 +02:00
Fabian Ising
d599275642 Better copy and mouse handling 2025-04-17 08:55:14 +02:00
Fabian Ising
2da801cc05 [nvim] Disable macdown 2025-01-10 10:02:06 +01:00
Fabian Ising
3e43a85d37 [nvim] Delete without copy 2025-01-10 10:01:49 +01:00
Fabian Ising
26a04410cd [ALC] Change font size 2025-01-10 09:40:03 +01:00
Fabian Ising
15fbcb9787 [ZSH] Fix mac p10k config 2025-01-06 08:02:22 +01:00
Fabian Ising
17235038a3 [zsh] Ignore .p10k.zsh 2024-12-23 15:56:48 +01:00
Fabian Ising
4357ddfab9 [All] Fix link bug 2024-12-22 12:29:28 +01:00
Fabian Ising
2ec6bd1753 [ALC] Update config to new scheme 2024-10-23 08:45:35 +02:00
Fabian Ising
8407f9178f [ZSH] Fix paste autosuggest 2024-10-14 15:54:28 +02:00
Fabian Ising
01219976e2 [ZSH] Fix slow paste 2024-10-14 15:44:52 +02:00
Fabian Ising
ec600ea478 [ZSH] Move language settings 2024-10-07 14:31:23 +02:00
Fabian Ising
154a77b825 [ZSH] Workaround for powerlevel10k issue #1554 2024-10-07 14:29:55 +02:00
Fabian Ising
1a34f11484 [NVIM] VSCode config 2024-10-05 10:56:06 +02:00
Fabian Ising
cb58e2601b [ZSH] Set mac locale 2024-08-16 09:54:36 +02:00
Fabian Ising
83ca8d206e [nvim] Fix YCM python path 2024-08-16 09:53:52 +02:00
Fabian Ising
d1594924ac [git] Auto recurse submodules 2024-08-07 12:43:11 +02:00
Fabian Ising
58f9f1832f [ZSH] Autoupdate antidote, scp hoss completion 2024-08-07 12:42:04 +02:00
Fabian Ising
4cbb1f271b [NVIM] YCM autoinstall, fix python path 2024-07-19 14:37:43 +02:00
Fabian Ising
47badc0949 [NVIM] Disable automatic macdown 2024-07-19 14:08:45 +02:00
Fabian Ising
65cc09edea [NVIM] Fix vim-plug install 2024-07-19 14:08:16 +02:00
Fabian Ising
e2e61cd55c [ZSH] Switch back docker completion 2024-07-19 13:25:17 +02:00
Fabian Ising
696a8e7250 [ZSH] Mac tailscale alias 2024-06-13 08:52:03 +02:00
Fabian Ising
700a61ab36 [GIT] Improve gitconfig 2024-06-13 08:49:59 +02:00
Fabian Ising
12e36af05d [GIT] Improve gitconfig 2024-04-05 13:17:33 +02:00
Fabian Ising
717a2c29b7 [NVIM] Add macdown 2024-04-05 12:59:08 +02:00
Fabian Ising
d9b50de699 [GIT] Add gitconfig 2024-04-05 12:58:41 +02:00
Fabian Ising
175e11ab4a [zsh] Change time style to long iso 2024-03-19 15:13:38 +01:00
Fabian Ising
5eaab4e1f9 [mac] Add brew autoupdate script 2024-03-19 15:12:09 +01:00
Fabian Ising
777a1eeacb [zsh] Disable SSH complete from hosts file 2024-02-28 11:52:27 +01:00
Fabian Ising
619c86e1c8 [all] Fix colors 2024-02-28 11:51:55 +01:00
Fabian Ising
c421b2be7f [nvim] Add neovim virtualenv 2024-02-28 11:51:10 +01:00
Fabian Ising
3673889d55 [nvim] Add ycm compile script 2024-01-09 17:28:27 +01:00
Fabian Ising
35e6c623dd [Alacritty] Fix theme path 2024-01-09 17:27:52 +01:00
Fabian Ising
ea17ee824b [zsh] Remove unnecessary defers 2024-01-03 14:19:08 +01:00
Fabian Ising
fbac99c3c5 [alacritty] Update config to toml 2024-01-03 14:18:39 +01:00
Fabian Ising
d27b3c1101 [zsh] Fix docker completion 2023-12-18 14:38:32 +01:00
Fabian Ising
e1b640fac5 Change alacritty font 2023-11-15 13:41:10 +01:00
Fabian Ising
7a0f8b2645 [zsh] Add sudo key handling 2023-10-31 11:54:49 +01:00
Murgi
b08cff74e3 [alacritty] Fix some color stuff 2023-09-18 12:26:23 +02:00
Fabian Ising
2303f6f7f3 [alacritty] Fix some color stuff 2023-09-18 10:26:30 +02:00
Fabian Ising
bb76a182df [zsh] Screenshot mode 2023-09-03 12:55:52 +02:00
Fabian Ising
58c80b2b1d [alacritty] Screenshot mode 2023-09-03 12:55:32 +02:00
Fabian Ising
ad66c9387f [nvim] Make sudo save easier 2023-07-25 13:59:37 +02:00
Fabian Ising
eb9b2a0792 [zsh] Switch docker completion 2023-07-21 09:25:03 +02:00
Fabian Ising
5ec861b4ef [zsh] vi mode, cleanup 2023-07-21 09:14:10 +02:00
Fabian Ising
1c4d4f26fa [zsh] Add brew and cnf plugins 2023-07-21 09:13:25 +02:00
Fabian Ising
dc6da63645 [zsh] More m1 improvements 2023-07-17 11:13:07 +02:00
Fabian Ising
4e6224981e [tmux] Improve copy mode, add F12 key toggle 2023-07-17 11:12:48 +02:00
Fabian Ising
4b9610dfb9 [ZSH] More ARM fixes 2023-06-02 15:51:31 +02:00
Fabian Ising
796510f1da [TMUX] Make tmux attach script use zsh 2023-06-02 14:29:36 +02:00
Fabian Ising
7a58e5f86a Fix permission fixer 2023-06-02 14:28:50 +02:00
Fabian Ising
6ac05e9c1c Add mac update script 2023-06-01 15:19:45 +02:00
Fabian Ising
f18711f073 Fix macos setup script for M1 2023-06-01 14:32:58 +02:00
murgi
29cb35f4f3 [vim] Add outdated plugin notification 2023-04-14 09:29:18 +02:00
Fabian Ising
3af2ef2226 Fix alacritty colors 2023-04-06 12:27:01 +02:00
Fabian Ising
7039ee7377 Move to new alacritty option for macOS 2023-03-27 16:57:16 +02:00
Fabian Ising
586492d910 [ZSH] Add cgrep alias 2023-02-21 11:16:26 +01:00
Fabian Ising
7ccb7c4c22 [ZSH] Add shift select 2023-02-21 11:15:19 +01:00
Fabian Ising
4aa982ced8 Add gopath if go is installed 2023-02-09 16:29:49 +01:00
Fabian Ising
ceb1fb4474 Update zsh mac config and link it automatically 2022-11-23 09:31:53 +01:00
Fabian Ising
bf0d1ea78e Fixate locale settings 2022-11-15 13:55:38 +01:00
Fabian Ising
13b015c693 Remove tmux wrapper 2022-11-14 13:37:56 +01:00
Fabian Ising
852f6a527e Remove push.sh 2022-11-14 13:37:12 +01:00
Fabian Ising
b78a34f74a Remove powerline dependency 2022-10-26 15:23:36 +02:00
Fabian Ising
2e783e24b6 Remove unnecessary PATH manipulation 2022-10-24 12:55:10 +02:00
Fabian Ising
ebd8e331d6 Reattach tmux sessions on alacritty start 2022-10-24 12:53:54 +02:00
Fabian Ising
b4d81ec06a Make colorscheme configuration templates 2022-10-24 11:59:58 +02:00
Fabian Ising
982dd1d1bf Add color switching 2022-10-24 11:38:50 +02:00
Fabian Ising
0b2f96683c Improve setup scripts, reset tmux path 2022-10-07 09:01:35 +02:00
Fabian Ising
de0e1a53e7 Cleanup 2022-10-07 08:40:03 +02:00
Fabian Ising
90f96f875f Add note on nvim plugin dir 2022-10-06 17:02:37 +02:00
Fabian Ising
6b6bbf6fcc Remove pathogen 2022-10-06 16:39:49 +02:00
Fabian Ising
532d539ddc OS agnostic tmux path for alacritty 2022-10-06 16:38:03 +02:00
Fabian Ising
0e60423de9 Auto install new nvim plugins 2022-10-06 16:37:30 +02:00
Fabian Ising
629c3b6985 Fix missing zsh cache dir 2022-10-06 16:36:52 +02:00
Fabian Ising
19d2d39e15 Remove submodules, tpm auto install 2022-10-06 16:36:16 +02:00
Fabian Ising
0b3db63868 Cleanup zshrc 2022-09-27 13:18:21 +02:00
Fabian Ising
71b9db4cae Add virtual env config on MacOS 2022-09-27 12:31:54 +02:00
Fabian Ising
11a589d138 Fix neovim in virtualenvs 2022-09-27 12:31:18 +02:00
Fabian Ising
b2b8d42d70 Fix antidote config 2022-09-06 13:25:54 +02:00
Fabian Ising
9352ac948e Switch to antidote plugin manager 2022-09-06 10:50:17 +02:00
Fabian Ising
9cd5f4323f Fix some mac setup stuff 2022-09-05 14:41:15 +02:00
Fabian Ising
c80b8a7c71 Switch from Vundle to vim-plug 2022-09-05 14:40:20 +02:00
Fabian Ising
6e1373a67d Update 2022-09-05 10:52:43 +02:00
Fabian Ising
3ccf1b4023 Disable mouse yanking 2022-07-06 12:06:58 +02:00
Fabian Ising
916095cebd Add alacritty config for macos 2022-07-06 11:41:32 +02:00
Fabian Ising
cd1f0ada29 Fix tmux copying, remove old plugins, cleanup 2022-07-06 11:41:04 +02:00
Fabian Ising
ce7869b2f0 Add mac setup script 2022-07-06 11:39:50 +02:00
Fabian Ising
3bac32cbec Update config for python3.10 2022-07-05 13:22:11 +02:00
Fabian Ising
eaddae6937 Update fonts 2022-07-05 13:01:06 +02:00
Fabian Ising
303b3f4055 Remove nerdcommenter leader-hotkey in insert mode 2022-03-08 11:35:20 +01:00
Fabian
3c91b8eed4 Ignore insecure directories for antigen compinit 2022-02-17 10:56:22 +01:00
Fabian
76af77e37f Update link scripts 2022-02-17 10:52:12 +01:00
Fabian
db0af81c9f Update antigen 2022-02-17 10:44:24 +01:00
Fabian Ising
83b60feaf7 Update linking on mac 2022-02-17 10:14:55 +01:00
Fabian Ising
3f271925e8 Fix p10k config loading 2022-02-17 10:06:56 +01:00
Fabian Ising
3a457db8e4 Gitignore mac p10k zsh config 2022-02-17 10:04:10 +01:00
Fabian Ising
5f7464780f Merge branch 'master' 2022-02-17 10:00:24 +01:00
Fabian Ising
40efd721fd Add mac specific p10k config 2022-02-17 09:59:48 +01:00
Fabian Ising
d0ae4ef7f8 Move zsh p10k context to the left 2022-02-17 09:54:33 +01:00
Fabian Ising
f511ee7e4c Cleanup init.vim, configure folding 2022-02-17 09:11:22 +01:00
70 changed files with 1128 additions and 827 deletions

1
.config/alacritty/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
schemes.yml

View File

@@ -0,0 +1,58 @@
[general]
import = ["~/.config/alacritty/solarized_light.toml"]
live_config_reload = true
[env]
TERM = "xterm-256color"
[font]
size = 14
[font.bold]
family = "Fira Mono for Powerline"
style = "Bold"
[font.italic]
family = "Fira Mono for Powerline"
style = "Regular"
[font.normal]
family = "Fira Mono for Powerline"
style = "Medium"
[[keyboard.bindings]]
key = "F"
mods = "Control"
[keyboard.bindings.command]
args = ["-c", "python3 ~/.config/alacritty/color_switcher.py"]
program = "zsh"
[[keyboard.bindings]]
key = "T"
mods = "Command"
[keyboard.bindings.command]
args = ["-e", "zsh"]
program = "alacritty"
[scrolling]
history = 0
[selection]
save_to_clipboard = false
[terminal]
osc52 = "OnlyCopy"
[terminal.shell]
args = ["-c", "$HOME/.tmux/tmux_attach.sh"]
program = "/bin/zsh"
[window]
dynamic_title = true
option_as_alt = "None"
[window.padding]
x = 2
y = 0

View File

@@ -1,48 +0,0 @@
font:
# The size to use.
size: 12
# The normal (roman) font face to use.
normal:
family: DejaVu Sans Mono For Powerline
# Style can be specified to pick a specific face.
style: Regular
# The bold font face
bold:
family: DejaVu Sans Mono For Powerline
# Style can be specified to pick a specific face.
# style: Bold
# The italic font face
italic:
family: DejaVu Sans Mono For Powerline
# Style can be specified to pick a specific face.
# style: Italic
colors:
# Default colors
primary:
background: '0x323232'
foreground: '0xeeeeec'
# Normal colors
normal:
black: '0x2e3436'
red: '0xcc0000'
green: '0x4e9a06'
yellow: '0xc4a000'
blue: '0x3465a4'
magenta: '0x75507b'
cyan: '0x06989a'
white: '0xd3d7cf'
# Bright colors
bright:
black: '0x555753'
red: '0xef2929'
green: '0x8ae234'
yellow: '0xfce94f'
blue: '0x729fcf'
magenta: '0xad7fa8'
cyan: '0x34e2e2'
white: '0xeeeeec'

View File

@@ -0,0 +1,77 @@
#!/usr/bin/env python3
import os
import re
import sys
ALACRITTY_CONFIG_FILE_NAME = "alacritty.toml"
CONFIG_FILE_DIR = os.path.expanduser("~/.config/alacritty/")
ALACRITTY_CONFIG_FILE_PATH = os.path.join(CONFIG_FILE_DIR, ALACRITTY_CONFIG_FILE_NAME)
COLOR_SCHEME_LINE_SEARCH = r'import = \[.*\]'
ALACRITTY_LIGHT_THEME="solarized_light.toml"
ALACRITTY_DARK_THEME="dark_mode.toml"
NVIM_CONFIG_FILE_DIR = os.path.expanduser("~/.config/nvim/")
NVIM_CONFIG_FILE_NAME = "scheme.vim"
NVIM_CONFIG_FILE_PATH = os.path.join(NVIM_CONFIG_FILE_DIR, NVIM_CONFIG_FILE_NAME)
NVIM_COLOR_SCHEME_LINE_SEARCH = "set background=(\S+)\ncolorscheme (\S+)"
NVIM_COLOR_SCHEME_LINE_TEMPLATE = "set background={}\ncolorscheme {}"
def change_alacritty_theme(light_mode=None):
with open(ALACRITTY_CONFIG_FILE_PATH, "r") as scheme_file:
scheme_file.seek(0)
lines = scheme_file.readlines()
colors_line_index = -1
for i, line in enumerate(lines):
match = re.search(COLOR_SCHEME_LINE_SEARCH, line)
if match is not None:
colors_line_index = i
color_line = lines[i]
break
if light_mode is None:
if ALACRITTY_DARK_THEME in color_line:
color_line = color_line.replace(ALACRITTY_DARK_THEME, ALACRITTY_LIGHT_THEME)
new_scheme = "light"
else:
color_line = color_line.replace(ALACRITTY_LIGHT_THEME, ALACRITTY_DARK_THEME)
new_scheme = "dark"
elif light_mode == True:
new_scheme = "light"
color_line = color_line.replace(ALACRITTY_DARK_THEME, ALACRITTY_LIGHT_THEME)
else:
color_line = color_line.replace(ALACRITTY_LIGHT_THEME, ALACRITTY_DARK_THEME)
new_scheme = "dark"
lines[colors_line_index] = color_line
with open(ALACRITTY_CONFIG_FILE_PATH, "w") as scheme_file:
for line in lines:
scheme_file.write(line)
return new_scheme
def change_vim_theme(light_mode=False):
with open(NVIM_CONFIG_FILE_PATH, "r") as config_file:
config_file.seek(0)
config = config_file.read()
if light_mode:
color_line = NVIM_COLOR_SCHEME_LINE_TEMPLATE.format("light", "solarized")
else:
color_line = NVIM_COLOR_SCHEME_LINE_TEMPLATE.format("dark", "badwolf")
res = re.sub(NVIM_COLOR_SCHEME_LINE_SEARCH, color_line, config)
with open(NVIM_CONFIG_FILE_PATH, "w") as config_file:
config = config_file.write(res)
def main(light_mode=None):
new_theme = change_alacritty_theme(light_mode)
change_vim_theme(new_theme == "light")
if __name__=="__main__":
if len(sys.argv) == 2:
main(sys.argv == "light")
else:
main()

View File

@@ -0,0 +1,23 @@
[colors.bright]
black = "0x555753"
blue = "0x729fcf"
cyan = "0x34e2e2"
green = "0x8ae234"
magenta = "0xad7fa8"
red = "0xef2929"
white = "0xeeeeec"
yellow = "0xfce94f"
[colors.normal]
black = "0x2e3436"
blue = "0x3465a4"
cyan = "0x06989a"
green = "0x4e9a06"
magenta = "0x75507b"
red = "0xcc0000"
white = "0xd3d7cf"
yellow = "0xc4a000"
[colors.primary]
background = "0x323232"
foreground = "0xeeeeec"

View File

@@ -0,0 +1,41 @@
#! /usr/bin/env python3
# vim:fenc=utf-8
#
# Copyright © 2023 ising <ising@mac-nurmi>
#
# Distributed under terms of the MIT license.
"""
"""
import os
import sys
import color_switcher
CONFIG_FILE_NAME = "alacritty.toml"
CONFIG_FILE_DIR = os.path.expanduser("~/.config/alacritty/")
CONFIG_FILE_PATH = os.path.join(CONFIG_FILE_DIR, CONFIG_FILE_NAME)
def main(turn_on=False):
padding_line = None
with open(CONFIG_FILE_PATH, "r") as config_file:
config_file.seek(0)
config_lines = config_file.readlines()
for i, line in enumerate(config_lines):
if "[window.padding]" in line and "x =" in config_lines[i+1]:
padding_line = i
if padding_line is None:
return
if turn_on:
config_lines[padding_line+1] = "x = 10\n"
config_lines[padding_line+2] = "y = 10\n"
else:
config_lines[padding_line+1] = "x = 0\n"
config_lines[padding_line+2] = "y = 0\n"
with open(CONFIG_FILE_PATH, "w") as config_file:
for line in config_lines:
config_file.write(line)
if __name__=="__main__":
main(len(sys.argv) == 2 and sys.argv[1] == "on")
#color_switcher.main(len(sys.argv) == 2 and sys.argv[1] == "on")

View File

@@ -0,0 +1,23 @@
[colors.bright]
black = "0x002b36"
blue = "0x839496"
cyan = "0x93a1a1"
green = "0x586e75"
magenta = "0x6c71c4"
red = "0xcb4b16"
white = "0xfdf6e3"
yellow = "0x657b83"
[colors.normal]
black = "0x073642"
blue = "0x268bd2"
cyan = "0x2aa198"
green = "0x859900"
magenta = "0xd33682"
red = "0xdc322f"
white = "0xeee8d5"
yellow = "0xb58900"
[colors.primary]
background = "0xfdf6e3"
foreground = "0x586e75"

1
.gitignore vendored
View File

@@ -1,3 +1,4 @@
*.swp *.swp
tags tags
.DS_STORE .DS_STORE
__pycache__

1
.gitignore_global Normal file
View File

@@ -0,0 +1 @@
.DS_Store

15
.gitmodules vendored
View File

@@ -1,15 +0,0 @@
[submodule "plugins/tpm"]
path = tmux/plugins/tpm
url = https://github.com/tmux-plugins/tpm.git
[submodule "antigen"]
path = zsh/antigen
url = https://github.com/zsh-users/antigen.git
[submodule "bundle/Vundle.vim"]
path = vim/bundle/Vundle.vim
url = https://github.com/VundleVim/Vundle.vim.git
[submodule "nvim/bundle/Vundle.vim"]
path = nvim/bundle/Vundle.vim
url = https://github.com/VundleVim/Vundle.vim.git

10
brew_autoupdate Executable file
View File

@@ -0,0 +1,10 @@
#!/bin/sh
export HOMEBREW_NO_BOTTLE_SOURCE_FALLBACK=1
export PATH='/opt/homebrew/Library/Homebrew/shims/shared:/opt/homebrew/opt/coreutils/libexec/gnubin:/Users/ising/.local/bin:/opt/homebrew/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/TeX/texbin:/Applications/VMware Fusion.app/Contents/Public:/Users/ising/.cargo/bin:/opt/homebrew/sbin:/Users/ising/go/bin:/opt/homebrew/Library/Taps/homebrew/homebrew-autoupdate/cmd:/opt/homebrew/Library/Taps/homebrew/homebrew-command-not-found/cmd:/opt/homebrew/Library/Taps/homebrew/homebrew-services/cmd'
export HOMEBREW_CACHE='/Users/ising/Library/Caches/Homebrew'
export HOMEBREW_LOGS='/Users/ising/Library/Logs/Homebrew'
export SUDO_ASKPASS='/Users/ising/Library/Application Support/com.github.domt4.homebrew-autoupdate/brew_autoupdate_sudo_gui'
defaults export com.apple.dock "/tmp/dock-layout.plist"
/bin/date && /opt/homebrew/bin/brew update && /opt/homebrew/bin/brew upgrade --formula -v && /opt/homebrew/bin/brew upgrade --cask -v && /opt/homebrew/bin/brew cleanup && /usr/bin/open -g /opt/homebrew/Library/Taps/homebrew/homebrew-autoupdate/notifier/brew-autoupdate.app
defaults import com.apple.dock "/tmp/dock-layout.plist"
killall dock

View File

@@ -7,12 +7,10 @@
# #
git submodule update --init --recursive
echo "ln -s $PWD/vim $HOME/.vim"
ln -Tsv $PWD/vim $HOME/.vim
ln -Tsv ~/.vim/.vimrc $HOME/.vimrc
ln -Tsv $PWD/zsh $HOME/.zsh ln -Tsv $PWD/zsh $HOME/.zsh
ln -Tsv ~/.zsh/.zshrc $HOME/.zshrc ln -Tsv ~/.zsh/.zshrc $HOME/.zshrc
ln -Tsv $PWD/tmux $HOME/.tmux ln -Tsv $PWD/tmux $HOME/.tmux
ln -Tsv ~/.tmux/.tmux.conf $HOME/.tmux.conf ln -Tsv ~/.tmux/.tmux.conf $HOME/.tmux.conf
ln -Tsv $PWD/nvim $HOME/.config/nvim ln -Tsv $PWD/nvim $HOME/.config/nvim
ln -Tsv $PWD/.config/alacritty $HOME/.config/alacritty
ln -fsv $PWD/virtualenvwrapper/* $VIRTUALENVWRAPPER_HOOK_DIR

View File

@@ -7,12 +7,14 @@
# #
git submodule update --init --recursive gln -Tsv $PWD/zsh $HOME/.zsh
echo "ln -s $PWD/vim $HOME/.vim" gln -Tsv ~/.zsh/.zshrc $HOME/.zshrc
ln -sv $PWD/vim $HOME/.vim gln -Tsv $PWD/tmux $HOME/.tmux
ln -sv ~/.vim/.vimrc $HOME/.vimrc gln -Tsv ~/.tmux/.tmux.conf $HOME/.tmux.conf
ln -sv $PWD/zsh $HOME/.zsh gln -Tsv $PWD/nvim $HOME/.config/nvim
ln -sv ~/.zsh/.zshrc $HOME/.zshrc gln -Tsv $PWD/.config/alacritty $HOME/.config/alacritty
ln -sv $PWD/tmux $HOME/.tmux gln -Tsv $PWD/zsh/.p10k.zsh_mac.example $PWD/zsh/.p10k.mac.zsh
ln -sv ~/.tmux/.tmux.conf $HOME/.tmux.conf gln -Tsv $PWD/zsh/.mac_config.example $PWD/zsh/.mac_config
gln -Tsv $PWD/zsh/.virtual_env_config.zsh_mac.example $PWD/zsh/.virtual_env_config.zsh
gln -fsv $PWD/virtualenvwrapper/* $VIRTUALENVWRAPPER_HOOK_DIR
gln -Tsv $PWD/update_mac.sh $HOME/update_mac.sh

9
compile_ycm.sh Normal file
View File

@@ -0,0 +1,9 @@
#! /bin/sh
#
# compile_ycm.sh
# Copyright (C) 2024 ising <ising@mac-nurmi>
#
# Distributed under terms of the MIT license.
#
python3 ~/.local/share/nvim/plugged/install.py --all

12
copy_fonts_arch.sh Executable file
View File

@@ -0,0 +1,12 @@
#! /bin/sh
#
# copy_fonts_arch.sh
# Copyright (C) 2022 fabian <fabian@krikkit>
#
# Distributed under terms of the MIT license.
#
mkdir -p $HOME/.local/share/fonts
for filename in fonts/*; do
cp "$filename" "$HOME/.local/share/$filename"
done

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
fonts/MesloLGS NF Bold.ttf Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

3
gitconfig/fhms.gitconfig Normal file
View File

@@ -0,0 +1,3 @@
[user]
name = Fabian Ising
email = f.ising@fh-muenster.de

35
gitconfig/gitconfig Normal file
View File

@@ -0,0 +1,35 @@
# This is Git's per-user configuration file.
[user]
# Please adapt and uncomment the following lines:
name = Fabian Ising
email = github@murgi.de
[includeIf "hasconfig:remote.*.url:https://github.com/**"]
path = ~/dotfiles/gitconfig/github.gitconfig
[includeIf "hasconfig:remote.*.url:git@github.com/**"]
path = ~/dotfiles/gitconfig/github.gitconfig
[includeIf "hasconfig:remote.*.url:https://git.fh-muenster.de/**"]
path = ~/dotfiles/gitconfig/fhms.gitconfig
[includeIf "hasconfig:remote.*.url:git@git.fh-muenster.de:*/**"]
path = ~/dotfiles/gitconfig/fhms.gitconfig
[includeIf "hasconfig:remote.*.url:ssh://git@git.fh-muenster.de:*/**"]
path = ~/dotfiles/gitconfig/fhms.gitconfig
[includeIf "hasconfig:remote.*.url:https://vcs.murgi.de/**"]
path = ~/dotfiles/gitconfig/murgi.gitconfig
[includeIf "hasconfig:remote.*.url:ssh://git@vcs.murgi.de:*/**"]
path = ~/dotfiles/gitconfig/murgi.gitconfig
[includeIf "hasconfig:remote.*.url:git@vcs.murgi.de:*/**"]
path = ~/dotfiles/gitconfig/murgi.gitconfig
[includeIf "hasconfig:remote.*.url:git@git-int.sit.fraunhofer.de:*/**"]
path = ~/dotfiles/gitconfig/sit.gitconfig
[includeIf "hasconfig:remote.*.url:https://git-int.sit.fraunhofer.de/**"]
path = ~/dotfiles/gitconfig/sit.gitconfig
[core]
excludesfile = /Users/ising/dotfiles/.gitignore_global
[submodule]
recurse = true
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
required = true

View File

@@ -0,0 +1,3 @@
[user]
name = Fabian Ising
email = github@murgi.de

View File

@@ -0,0 +1,3 @@
[user]
name = Fabian Ising
email = fabian@murgi.de

3
gitconfig/sit.gitconfig Normal file
View File

@@ -0,0 +1,3 @@
[user]
name = Fabian Ising
email = fabian.ising@sit.fraunhofer.de

View File

@@ -11,3 +11,4 @@ for filename in .config/*; do
done done
ln -Ts $PWD/nvim $HOME/.config/nvim ln -Ts $PWD/nvim $HOME/.config/nvim
ln -Ts $PWD/gitconfig/gitconfig $HOME/.gitconfig

3
nvim/.gitignore vendored
View File

@@ -6,3 +6,6 @@ __pycache__/
bundle/* bundle/*
!bundle/Vundle.vim !bundle/Vundle.vim
*.swp *.swp
# Prevent changes to propagate to all systems
scheme.vim

View File

@@ -1 +0,0 @@
set rtp+=/usr/lib/python3.6/site-packages/powerline/bindings/vim

View File

@@ -1 +0,0 @@
set rtp+=/usr/local/lib/python2.7/dist-packages/powerline/bindings/vim

View File

@@ -1 +0,0 @@
set rtp+=$HOME/.local/lib/python3.9/site-packages/powerline/bindings/vim

View File

@@ -1,347 +0,0 @@
" pathogen.vim - path option manipulation
" Maintainer: Tim Pope <http://tpo.pe/>
" Version: 2.3
" Install in ~/.vim/autoload (or ~\vimfiles\autoload).
"
" For management of individually installed plugins in ~/.vim/bundle (or
" ~\vimfiles\bundle), adding `execute pathogen#infect()` to the top of your
" .vimrc is the only other setup necessary.
"
" The API is documented inline below.
if exists("g:loaded_pathogen") || &cp
finish
endif
let g:loaded_pathogen = 1
" Point of entry for basic default usage. Give a relative path to invoke
" pathogen#interpose() (defaults to "bundle/{}"), or an absolute path to invoke
" pathogen#surround(). Curly braces are expanded with pathogen#expand():
" "bundle/{}" finds all subdirectories inside "bundle" inside all directories
" in the runtime path.
function! pathogen#infect(...) abort
for path in a:0 ? filter(reverse(copy(a:000)), 'type(v:val) == type("")') : ['bundle/{}']
if path =~# '^\%({\=[$~\\/]\|{\=\w:[\\/]\).*[{}*]'
call pathogen#surround(path)
elseif path =~# '^\%([$~\\/]\|\w:[\\/]\)'
call s:warn('Change pathogen#infect('.string(path).') to pathogen#infect('.string(path.'/{}').')')
call pathogen#surround(path . '/{}')
elseif path =~# '[{}*]'
call pathogen#interpose(path)
else
call s:warn('Change pathogen#infect('.string(path).') to pathogen#infect('.string(path.'/{}').')')
call pathogen#interpose(path . '/{}')
endif
endfor
call pathogen#cycle_filetype()
if pathogen#is_disabled($MYVIMRC)
return 'finish'
endif
return ''
endfunction
" Split a path into a list.
function! pathogen#split(path) abort
if type(a:path) == type([]) | return a:path | endif
if empty(a:path) | return [] | endif
let split = split(a:path,'\\\@<!\%(\\\\\)*\zs,')
return map(split,'substitute(v:val,''\\\([\\,]\)'',''\1'',"g")')
endfunction
" Convert a list to a path.
function! pathogen#join(...) abort
if type(a:1) == type(1) && a:1
let i = 1
let space = ' '
else
let i = 0
let space = ''
endif
let path = ""
while i < a:0
if type(a:000[i]) == type([])
let list = a:000[i]
let j = 0
while j < len(list)
let escaped = substitute(list[j],'[,'.space.']\|\\[\,'.space.']\@=','\\&','g')
let path .= ',' . escaped
let j += 1
endwhile
else
let path .= "," . a:000[i]
endif
let i += 1
endwhile
return substitute(path,'^,','','')
endfunction
" Convert a list to a path with escaped spaces for 'path', 'tag', etc.
function! pathogen#legacyjoin(...) abort
return call('pathogen#join',[1] + a:000)
endfunction
" Turn filetype detection off and back on again if it was already enabled.
function! pathogen#cycle_filetype() abort
if exists('g:did_load_filetypes')
filetype off
filetype on
endif
endfunction
" Check if a bundle is disabled. A bundle is considered disabled if its
" basename or full name is included in the list g:pathogen_disabled.
function! pathogen#is_disabled(path) abort
if a:path =~# '\~$'
return 1
endif
let sep = pathogen#slash()
let blacklist = map(
\ get(g:, 'pathogen_blacklist', get(g:, 'pathogen_disabled', [])) +
\ pathogen#split($VIMBLACKLIST),
\ 'substitute(v:val, "[\\/]$", "", "")')
return index(blacklist, fnamemodify(a:path, ':t')) != -1 || index(blacklist, a:path) != -1
endfunction "}}}1
" Prepend the given directory to the runtime path and append its corresponding
" after directory. Curly braces are expanded with pathogen#expand().
function! pathogen#surround(path) abort
let sep = pathogen#slash()
let rtp = pathogen#split(&rtp)
let path = fnamemodify(a:path, ':p:s?[\\/]\=$??')
let before = filter(pathogen#expand(path), '!pathogen#is_disabled(v:val)')
let after = filter(reverse(pathogen#expand(path.sep.'after')), '!pathogen#is_disabled(v:val[0:-7])')
call filter(rtp, 'index(before + after, v:val) == -1')
let &rtp = pathogen#join(before, rtp, after)
return &rtp
endfunction
" For each directory in the runtime path, add a second entry with the given
" argument appended. Curly braces are expanded with pathogen#expand().
function! pathogen#interpose(name) abort
let sep = pathogen#slash()
let name = a:name
if has_key(s:done_bundles, name)
return ""
endif
let s:done_bundles[name] = 1
let list = []
for dir in pathogen#split(&rtp)
if dir =~# '\<after$'
let list += reverse(filter(pathogen#expand(dir[0:-6].name.sep.'after'), '!pathogen#is_disabled(v:val[0:-7])')) + [dir]
else
let list += [dir] + filter(pathogen#expand(dir.sep.name), '!pathogen#is_disabled(v:val)')
endif
endfor
let &rtp = pathogen#join(pathogen#uniq(list))
return 1
endfunction
let s:done_bundles = {}
" Invoke :helptags on all non-$VIM doc directories in runtimepath.
function! pathogen#helptags() abort
let sep = pathogen#slash()
for glob in pathogen#split(&rtp)
for dir in map(split(glob(glob), "\n"), 'v:val.sep."/doc/".sep')
if (dir)[0 : strlen($VIMRUNTIME)] !=# $VIMRUNTIME.sep && filewritable(dir) == 2 && !empty(split(glob(dir.'*.txt'))) && (!filereadable(dir.'tags') || filewritable(dir.'tags'))
silent! execute 'helptags' pathogen#fnameescape(dir)
endif
endfor
endfor
endfunction
command! -bar Helptags :call pathogen#helptags()
" Execute the given command. This is basically a backdoor for --remote-expr.
function! pathogen#execute(...) abort
for command in a:000
execute command
endfor
return ''
endfunction
" Section: Unofficial
function! pathogen#is_absolute(path) abort
return a:path =~# (has('win32') ? '^\%([\\/]\|\w:\)[\\/]\|^[~$]' : '^[/~$]')
endfunction
" Given a string, returns all possible permutations of comma delimited braced
" alternatives of that string. pathogen#expand('/{a,b}/{c,d}') yields
" ['/a/c', '/a/d', '/b/c', '/b/d']. Empty braces are treated as a wildcard
" and globbed. Actual globs are preserved.
function! pathogen#expand(pattern) abort
if a:pattern =~# '{[^{}]\+}'
let [pre, pat, post] = split(substitute(a:pattern, '\(.\{-\}\){\([^{}]\+\)}\(.*\)', "\\1\001\\2\001\\3", ''), "\001", 1)
let found = map(split(pat, ',', 1), 'pre.v:val.post')
let results = []
for pattern in found
call extend(results, pathogen#expand(pattern))
endfor
return results
elseif a:pattern =~# '{}'
let pat = matchstr(a:pattern, '^.*{}[^*]*\%($\|[\\/]\)')
let post = a:pattern[strlen(pat) : -1]
return map(split(glob(substitute(pat, '{}', '*', 'g')), "\n"), 'v:val.post')
else
return [a:pattern]
endif
endfunction
" \ on Windows unless shellslash is set, / everywhere else.
function! pathogen#slash() abort
return !exists("+shellslash") || &shellslash ? '/' : '\'
endfunction
function! pathogen#separator() abort
return pathogen#slash()
endfunction
" Convenience wrapper around glob() which returns a list.
function! pathogen#glob(pattern) abort
let files = split(glob(a:pattern),"\n")
return map(files,'substitute(v:val,"[".pathogen#slash()."/]$","","")')
endfunction "}}}1
" Like pathogen#glob(), only limit the results to directories.
function! pathogen#glob_directories(pattern) abort
return filter(pathogen#glob(a:pattern),'isdirectory(v:val)')
endfunction "}}}1
" Remove duplicates from a list.
function! pathogen#uniq(list) abort
let i = 0
let seen = {}
while i < len(a:list)
if (a:list[i] ==# '' && exists('empty')) || has_key(seen,a:list[i])
call remove(a:list,i)
elseif a:list[i] ==# ''
let i += 1
let empty = 1
else
let seen[a:list[i]] = 1
let i += 1
endif
endwhile
return a:list
endfunction
" Backport of fnameescape().
function! pathogen#fnameescape(string) abort
if exists('*fnameescape')
return fnameescape(a:string)
elseif a:string ==# '-'
return '\-'
else
return substitute(escape(a:string," \t\n*?[{`$\\%#'\"|!<"),'^[+>]','\\&','')
endif
endfunction
" Like findfile(), but hardcoded to use the runtimepath.
function! pathogen#runtime_findfile(file,count) abort "{{{1
let rtp = pathogen#join(1,pathogen#split(&rtp))
let file = findfile(a:file,rtp,a:count)
if file ==# ''
return ''
else
return fnamemodify(file,':p')
endif
endfunction
" Section: Deprecated
function! s:warn(msg) abort
echohl WarningMsg
echomsg a:msg
echohl NONE
endfunction
" Prepend all subdirectories of path to the rtp, and append all 'after'
" directories in those subdirectories. Deprecated.
function! pathogen#runtime_prepend_subdirectories(path) abort
call s:warn('Change pathogen#runtime_prepend_subdirectories('.string(a:path).') to pathogen#infect('.string(a:path.'/{}').')')
return pathogen#surround(a:path . pathogen#slash() . '{}')
endfunction
function! pathogen#incubate(...) abort
let name = a:0 ? a:1 : 'bundle/{}'
call s:warn('Change pathogen#incubate('.(a:0 ? string(a:1) : '').') to pathogen#infect('.string(name).')')
return pathogen#interpose(name)
endfunction
" Deprecated alias for pathogen#interpose().
function! pathogen#runtime_append_all_bundles(...) abort
if a:0
call s:warn('Change pathogen#runtime_append_all_bundles('.string(a:1).') to pathogen#infect('.string(a:1.'/{}').')')
else
call s:warn('Change pathogen#runtime_append_all_bundles() to pathogen#infect()')
endif
return pathogen#interpose(a:0 ? a:1 . '/{}' : 'bundle/{}')
endfunction
if exists(':Vedit')
finish
endif
let s:vopen_warning = 0
function! s:find(count,cmd,file,lcd)
let rtp = pathogen#join(1,pathogen#split(&runtimepath))
let file = pathogen#runtime_findfile(a:file,a:count)
if file ==# ''
return "echoerr 'E345: Can''t find file \"".a:file."\" in runtimepath'"
endif
if !s:vopen_warning
let s:vopen_warning = 1
let warning = '|echohl WarningMsg|echo "Install scriptease.vim to continue using :V'.a:cmd.'"|echohl NONE'
else
let warning = ''
endif
if a:lcd
let path = file[0:-strlen(a:file)-2]
execute 'lcd `=path`'
return a:cmd.' '.pathogen#fnameescape(a:file) . warning
else
return a:cmd.' '.pathogen#fnameescape(file) . warning
endif
endfunction
function! s:Findcomplete(A,L,P)
let sep = pathogen#slash()
let cheats = {
\'a': 'autoload',
\'d': 'doc',
\'f': 'ftplugin',
\'i': 'indent',
\'p': 'plugin',
\'s': 'syntax'}
if a:A =~# '^\w[\\/]' && has_key(cheats,a:A[0])
let request = cheats[a:A[0]].a:A[1:-1]
else
let request = a:A
endif
let pattern = substitute(request,'/\|\'.sep,'*'.sep,'g').'*'
let found = {}
for path in pathogen#split(&runtimepath)
let path = expand(path, ':p')
let matches = split(glob(path.sep.pattern),"\n")
call map(matches,'isdirectory(v:val) ? v:val.sep : v:val')
call map(matches,'expand(v:val, ":p")[strlen(path)+1:-1]')
for match in matches
let found[match] = 1
endfor
endfor
return sort(keys(found))
endfunction
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Ve :execute s:find(<count>,'edit<bang>',<q-args>,0)
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vedit :execute s:find(<count>,'edit<bang>',<q-args>,0)
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vopen :execute s:find(<count>,'edit<bang>',<q-args>,1)
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vsplit :execute s:find(<count>,'split',<q-args>,<bang>1)
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vvsplit :execute s:find(<count>,'vsplit',<q-args>,<bang>1)
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vtabedit :execute s:find(<count>,'tabedit',<q-args>,<bang>1)
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vpedit :execute s:find(<count>,'pedit',<q-args>,<bang>1)
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vread :execute s:find(<count>,'read',<q-args>,<bang>1)
" vim:set et sw=2 foldmethod=expr foldexpr=getline(v\:lnum)=~'^\"\ Section\:'?'>1'\:getline(v\:lnum)=~#'^fu'?'a1'\:getline(v\:lnum)=~#'^endf'?'s1'\:'=':

1
nvim/ftplugin/python.vim Normal file
View File

@@ -0,0 +1 @@
set foldmethod=indent

View File

@@ -1,81 +1,136 @@
set nocompatible set nocompatible
filetype off filetype off
" Plugins " Find python
set rtp+=~/.config/nvim/bundle/Vundle.vim if has("macunix")
call vundle#begin("~/.config/nvim/bundle") " Required for virtualenvs
let arch=substitute(system('uname -m'), '\n', '', '')
if arch == 'arm64'
let g:python_interpreter=expand("~/python-envs/neovim/bin/python3")
else
let g:python_interpreter="/usr/local/bin/python3"
endif
let g:tagbar_ctags="/opt/homebrew/bin/ctags"
else
let g:python_interpreter = 'python3'
endif
let g:python3_host_prog=g:python_interpreter
Plugin 'VundleVim/Vundle.vim' " Plugins
" Note: on most systems, this will make the plugins reside in \
" ~/.local/share/nvim/plugged/
let data_dir = has('nvim') ? stdpath('data') . '/site' : expand('~/.vim')
if empty(glob(data_dir . '/autoload/plug.vim'))
silent execute '!curl -fLo '.data_dir.'/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
let &runtimepath = &runtimepath
autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
endif
" Disable Perl
let g:loaded_perl_provider = 0
call plug#begin()
if !exists('g:vscode')
" Warn about plugin updates
Plug 'semanser/vim-outdated-plugins'
" Powerline replacement " Powerline replacement
Plugin 'vim-airline/vim-airline' Plug 'vim-airline/vim-airline'
Plugin 'vim-airline/vim-airline-themes' Plug 'vim-airline/vim-airline-themes'
" Tags " Tags
Plugin 'xolox/vim-misc' Plug 'xolox/vim-misc'
"Plugin 'ludovicchabant/vim-gutentags' "Plugin 'ludovicchabant/vim-gutentags'
Plugin 'majutsushi/tagbar' Plug 'majutsushi/tagbar'
" Templates " Templates
Plugin 'aperezdc/vim-template' Plug 'aperezdc/vim-template'
" Selection expand " Selection expand
Plugin 'terryma/vim-expand-region' Plug 'terryma/vim-expand-region'
Plugin 'kana/vim-textobj-user' Plug 'kana/vim-textobj-user'
Plugin 'kana/vim-textobj-line' Plug 'kana/vim-textobj-line'
Plugin 'kana/vim-submode' Plug 'kana/vim-submode'
" Better Pasting " Better Pasting
Plugin 'ConradIrwin/vim-bracketed-paste' Plug 'ConradIrwin/vim-bracketed-paste'
" Tmux navigation " Tmux navigation
Plugin 'christoomey/vim-tmux-navigator' Plug 'christoomey/vim-tmux-navigator'
" YouCompleteMe " YouCompleteMe
Plugin 'Valloric/YouCompleteMe' function! BuildYCM(info)
Plugin 'rdnetto/YCM-Generator' " info is a dictionary with 3 fields
" - name: name of the plugin
" - status: 'installed', 'updated', or 'unchanged'
" - force: set on PlugInstall! or PlugUpdate!
if a:info.status == 'installed' || a:info.status == 'updated' || a:info.force
execute '!' . g:python_interpreter . ' ./install.py --all'
endif
endfunction
Plug 'ycm-core/YouCompleteMe', { 'do': function('BuildYCM') }
Plug 'rdnetto/YCM-Generator'
" Git " Git
Plugin 'tpope/vim-fugitive' Plug 'tpope/vim-fugitive'
" Comments
Plugin 'scrooloose/nerdcommenter'
" Surround
Plugin 'tpope/vim-surround'
" Snippets " Snippets
" Track the engine. " Track the engine.
Plugin 'SirVer/ultisnips' Plug 'SirVer/ultisnips'
" Snippets are separated from the engine. Add this if you want them: " Snippets are separated from the engine. Add this if you want them:
Plugin 'honza/vim-snippets' Plug 'honza/vim-snippets'
Plugin 'ervandew/supertab' Plug 'ervandew/supertab'
"Buftabeline "Buftabeline
"Plugin 'ap/vim-buftabline' "Plug 'ap/vim-buftabline'
" Highlight matching xml tags " Highlight matching xml tags
Plugin 'Valloric/MatchTagAlways' Plug 'Valloric/MatchTagAlways'
"Javascript "Javascript
Plugin 'pangloss/vim-javascript' Plug 'pangloss/vim-javascript'
" Tex " Tex
Plugin 'lervag/vimtex' Plug 'lervag/vimtex'
"Go "Go
Plugin 'fatih/vim-go' Plug 'fatih/vim-go'
"Macdown (only on macOS)
"if has("macunix")
"Plug 'hashrocket/vim-macdown'
"endif
" Comments
Plug 'scrooloose/nerdcommenter'
" Surround
Plug 'tpope/vim-surround'
endif
call plug#end()
" Run PlugInstall if there are missing plugins
autocmd VimEnter * if len(filter(values(g:plugs), '!isdirectory(v:val.dir)'))
\| PlugInstall --sync | source $MYVIMRC
\| endif
call vundle#end()
filetype plugin indent on filetype plugin indent on
set cinkeys-=0# set cinkeys-=0#
" Terminal emulator settings " Terminal emulator settings
set t_Co=256 set termguicolors
"set term=screen-256color
" Color configuration " Color configuration
colorscheme badwolf " some color .. try
source ~/.config/nvim/scheme.vim
catch
" Ignore non existing file
endtry
highlight Comment cterm=italic gui=italic
syntax enable " enable syntax processing syntax enable " enable syntax processing
" Disable annoying bell " Disable annoying bell
@@ -88,7 +143,8 @@ set modeline
let mapleader = "\<Space>" " Make space the leader key let mapleader = "\<Space>" " Make space the leader key
nnoremap <Leader>w :w<CR>| " Write file nnoremap <Leader>w :w<CR>| " Write file
nnoremap <Leader>q :q<CR>| " Close file nnoremap <Leader>q :q<CR>| " Close file
nnoremap <Leader>s :w !sudo tee %<CR>L<CR> nnoremap <Leader>s :w !sudo -A tee %<CR>L<CR>
cmap w!! w !sudo -A tee > /dev/null %
nmap <Leader><Leader> V| " Change to visual line mode nmap <Leader><Leader> V| " Change to visual line mode
map q: :q| " No command history map q: :q| " No command history
@@ -100,14 +156,23 @@ nmap <Leader>mt :tab sp<CR> | " maximize window to new tab
nmap <Leader>. <C-w>= | " Split windows equally nmap <Leader>. <C-w>= | " Split windows equally
map gb :bnext<CR> map gb :bnext<CR>
map gB :bNext<CR> map gB :bNext<CR>
if !exists('g:vscode')
call submode#enter_with('grow/shrink', 'n', '', '<Leader>r', '<Nop>') call submode#enter_with('grow/shrink', 'n', '', '<Leader>r', '<Nop>')
call submode#map('grow/shrink', 'n', '', '+', '<C-w>+') call submode#map('grow/shrink', 'n', '', '+', '<C-w>+')
call submode#map('grow/shrink', 'n', '', '-', '<C-w>-') call submode#map('grow/shrink', 'n', '', '-', '<C-w>-')
call submode#map('grow/shrink', 'n', '', '<', '<C-w><') call submode#map('grow/shrink', 'n', '', '<', '<C-w><')
call submode#map('grow/shrink', 'n', '', '>', '<C-w>>') call submode#map('grow/shrink', 'n', '', '>', '<C-w>>')
endif
set splitbelow set splitbelow
set splitright set splitright
" Delete without copying
nnoremap <leader>d "_d
xnoremap <leader>d "_d
nnoremap <leader>x "_x
xnoremap <leader>x "_x
xnoremap <leader>p "_dP
"disable submode timeouts: "disable submode timeouts:
let g:submode_timeout = 0 let g:submode_timeout = 0
" don't consume submode-leaving key " don't consume submode-leaving key
@@ -177,6 +242,37 @@ nmap <Leader>t :call TextWrapToggle()<CR>
"augroup END "augroup END
"Copying "Copying
if !exists('g:vscode')
lua << EOF
vim.g.clipboard = {
name = 'OSC 52',
copy = {
['+'] = require('vim.ui.clipboard.osc52').copy('+'),
['*'] = require('vim.ui.clipboard.osc52').copy('*'),
},
paste = {
['+'] = require('vim.ui.clipboard.osc52').paste('+'),
['*'] = require('vim.ui.clipboard.osc52').paste('*'),
},
}
if vim.env.TMUX ~= nil then
local copy = {'tmux', 'load-buffer', '-w', '-'}
local paste = {'bash', '-c', 'tmux refresh-client -l && sleep 0.05 && tmux save-buffer -'}
vim.g.clipboard = {
name = 'tmux',
copy = {
['+'] = copy,
['*'] = copy,
},
paste = {
['+'] = paste,
['*'] = paste,
},
cache_enabled = 0,
}
end
EOF
endif
set clipboard=unnamedplus,unnamed " Copy/Paste set clipboard=unnamedplus,unnamed " Copy/Paste
" Airline " Airline
@@ -189,9 +285,12 @@ nmap <C-]> <C-w><C-]><C-w>T
" YouCompleteMe " YouCompleteMe
let g:ycm_collect_identifiers_from_tags_files = 1 " Read from tag files let g:ycm_collect_identifiers_from_tags_files = 1 " Read from tag files
let g:ycm_global_ycm_extra_conf = '~/.config/nvim/.ycm_extra_conf.py' " Standard conf let g:ycm_global_ycm_extra_conf = expand('~/.config/nvim/.ycm_extra_conf.py') " Standard conf
let g:ycm_enable_diagnostic_signs = 0 " Do not show semantic error bar let g:ycm_enable_diagnostic_signs = 0 " Do not show semantic error bar
let g:ycm_server_python_interpreter = 'python' let g:ycm_server_python_interpreter=g:python_interpreter
let g:ycm_python_interpreter_path=g:python_interpreter
" Enable virtualenv autocompletion
let g:ycm_python_binary_path = 'python3'
let g:ycm_key_list_select_completion = ['<C-j>', '<C-n>', '<Down>'] let g:ycm_key_list_select_completion = ['<C-j>', '<C-n>', '<Down>']
let g:ycm_key_list_previous_completion = ['<C-k>', '<C-p>', '<Up>'] let g:ycm_key_list_previous_completion = ['<C-k>', '<C-p>', '<Up>']
@@ -199,14 +298,14 @@ let g:ycm_key_list_previous_completion = ['<C-k>', '<C-p>', '<Up>']
let g:easytags_async = 1 let g:easytags_async = 1
" make " make
autocmd QuickFixCmdPre make set cmdheight=2 set switchbuf=split
"autocmd QuickFixCmdPre make set cmdheight=2
"autocmd QuickFixCmdPost make nested cwindow "Open the quickfix window "autocmd QuickFixCmdPost make nested cwindow "Open the quickfix window
"autocmd QuickFixCmdPost make nested lwindow "Change to the quickfix window "autocmd QuickFixCmdPost make nested lwindow "Change to the quickfix window
set switchbuf=split "nmap <F9> :silent! make<CR>:redraw!<CR>
nmap <F9> :silent! make<CR>:redraw!<CR> "nmap <Leader>m :silent! make<CR>:redraw!<CR>
nmap <Leader>m :silent! make<CR>:redraw!<CR> "nmap <Leader>x :silent! make ex<CR>:redraw!<CR>
nmap <Leader>x :silent! make ex<CR>:redraw!<CR> "imap <F9> <ESC>:make<CR>:redraw!<CR>i
imap <F9> <ESC>:make<CR>:redraw!<CR>i
" vim-templates config-file " vim-templates config-file
try try
@@ -229,6 +328,18 @@ let g:UltiSnipsJumpBackwardTrigger="<s-tab>"
let g:UltiSnipsEditSplit="vertical" let g:UltiSnipsEditSplit="vertical"
set rtp+=~/.config/nvim/my-snippets set rtp+=~/.config/nvim/my-snippets
" Folding
set foldmethod=syntax
set foldlevel=100
" Use F9 to toggle folding
inoremap <F9> <C-O>za
nnoremap <F9> za
onoremap <F9> <C-C>za
vnoremap <F9> zf
nnoremap <Leader>a za
onoremap <Leader>a <C-C>za
vnoremap <Leader>a zf
try try
source ~/.config/nvim/.vimrc_config_expand_region source ~/.config/nvim/.vimrc_config_expand_region
catch catch

2
nvim/scheme.vim.template Normal file
View File

@@ -0,0 +1,2 @@
set background=dark
colorscheme badwolf

14
push.sh
View File

@@ -1,14 +0,0 @@
#! /bin/sh
#
# update.sh
# Copyright (C) 2017 Fabian Ising <fabian@murgi.de>
#
# Distributed under terms of the Apache v2.0 license.
#
git pull
git subtree push --prefix=i3 i3 master
git subtree push --prefix=tmux tmux master
git subtree push --prefix=zsh zsh master
git subtree push --prefix=vim vim master

View File

@@ -5,14 +5,17 @@
# #
# Distributed under terms of the MIT license. # Distributed under terms of the MIT license.
# #
set -e
sudo pacman --needed -Sy archlinux-keyring --noconfirm sudo pacman --needed -Sy archlinux-keyring --noconfirm
sudo pacman --needed -Syu --noconfirm sudo pacman --needed -Syu --noconfirm
yes | sudo pacman --needed -Sy vte3-ng sudo pacman --needed -Sy base-devel gnome neovim zsh tmux openssh alacritty powerline-fonts python-pip python-pynvim --noconfirm
sudo pacman --needed -Sy base-devel xorg xorg-xinit gnome gnome-extra neovim zsh tmux openssh termite powerline powerline-fonts i3 rofi nitrogen python-pip --noconfirm
./clone_and_link.sh ./clone_and_link.sh
cp zsh/.powerline_config_arch.example zsh/.powerline_config ./copy_fonts_arch.sh
cp vim/.vimrc_config_powerline_arch.example vim/.vimrc_config_powerline
cp $PWD/nvim/scheme.vim.template $PWD/nvim/scheme.vim
cp $PWD/.config/alacritty/schemes.yml.template $PWD/.config/alacritty/schemes.yml
if [ $SHELL != "/bin/zsh" ]; then if [ $SHELL != "/bin/zsh" ]; then
chsh -s /usr/bin/zsh; chsh -s /usr/bin/zsh;
fi fi
@@ -28,3 +31,4 @@ done
for filename in vim/.*_arch.example; do for filename in vim/.*_arch.example; do
cp $filename ${filename:0:-13} cp $filename ${filename:0:-13}
done done
echo "You should now start tmux (and zsh) and nvim for automatic plugin installation."

35
setup_mac.sh Executable file
View File

@@ -0,0 +1,35 @@
#! /bin/zsh
#
# setup_mac.sh
# Copyright (C) 2022 fabian <fabian@FordPrefect.home>
#
# Distributed under terms of the MIT license.
#
brew install neovim tmux alacritty coreutils cmake golang npm virtualenvwrapper
source /opt/homebrew/bin/virtualenvwrapper.sh
mkvirtualenv neovim
pip3 install pynvim
npm install -g neovim
echo For alacritty to work seemlessly with tmux, we will have to add '/usr/local/bin'\
to the path. This will require your root password.
sudo launchctl config user path /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
cp $PWD/nvim/scheme.vim.template $PWD/nvim/scheme.vim
cp $PWD/.config/alacritty/schemes.yml.template $PWD/.config/alacritty/schemes.yml
./clone_and_link_mac.sh
for filename in zsh/.*_mac.example(N); do
gln -Tsvf $PWD/$filename $PWD/${filename:0:-12}
done
for filename in tmux/.*_mac.example(N); do
gln -Tsvf $PWD/$filename $PWD/${filename:0:-12}
done
for filename in vim/.*_mac.example(N); do
gln -Tsvf $PWD/$filename $PWD/${filename:0:-12}
done
open fonts/*.ttf
echo "You should now start tmux (and zsh) and nvim for automatic plugin installation."

View File

@@ -1,13 +0,0 @@
#! /bin/sh
#
# setup_remotes.sh
# Copyright (C) 2017 Fabian Ising <fabian@murgi.de>
#
# Distributed under terms of the Apache v2.0 license.
#
git remote add i3 git@vcs.murgi.de:dotfiles_fabian/i3config.git
git remote add tmux git@vcs.murgi.de:dotfiles_fabian/tmux.git
git remote add tmux git@vcs.murgi.de:dotfiles_fabian/tmux.git
git remote add vim git@vcs.murgi.de:dotfiles_fabian/vim.git
git remote add zsh git@vcs.murgi.de:dotfiles_fabian/zsh.git

1
tmux/.gitignore vendored
View File

@@ -1,5 +1,4 @@
.tmux_config_* .tmux_config_*
!.tmux_config_*.example !.tmux_config_*.example
plugins/ plugins/
!plugins/tpm
*.log *.log

3
tmux/.gitmodules vendored
View File

@@ -1,3 +0,0 @@
[submodule "plugins/tpm"]
path = plugins/tpm
url = https://github.com/tmux-plugins/tpm.git

View File

@@ -1,4 +1,4 @@
set-option -g default-shell /bin/zsh set-option -g default-shell /bin/zsh
bind -Tcopy-mode-vi y send -X copy-pipe "pbcopy" \; display-message "copied to system clipboard" #bind -Tcopy-mode-vi y send -X copy-pipe "pbcopy" \; display-message "copied to system clipboard"
bind C-p run "tmux set-buffer \"$pbpaste\"; tmux paste-buffer" #bind C-p run "tmux set-buffer \"$pbpaste\"; tmux paste-buffer"
bind C-y run "tmux save-buffer - | pbcopy" #bind C-y run "tmux save-buffer - | pbcopy"

View File

@@ -1,7 +1,8 @@
set-environment -g PATH "/usr/local/bin:/bin:/usr/bin" set-environment -g PATH "/usr/local/bin:/bin:/usr/bin:/opt/homebrew/bin"
set -g default-terminal "xterm-256color" set -g default-terminal "tmux-256color"
set -sa terminal-features ",xterm-256color:RGB"
set -g history-limit 100000 set -g history-limit 20000
# Remap prefix # Remap prefix
unbind C-b unbind C-b
@@ -10,6 +11,19 @@ bind-key C-a send-prefix
bind-key -n C-b send-keys C-b bind-key -n C-b send-keys C-b
#bind-key -n C-b send-prefix #bind-key -n C-b send-prefix
# Use F12 to toggle hotekys on/off for nested remote tmux sessions
bind -T root F12 \
set prefix None \;\
set key-table off \;\
set status-style "fg=colour245,bg=colour238"\;\
refresh-client -S
bind -T off F12 \
set -u prefix \;\
set -u key-table \;\
set -u status-style \;\
refresh-client -S
setw -g mode-keys vi setw -g mode-keys vi
set-option -g status-keys vi set-option -g status-keys vi
@@ -33,15 +47,14 @@ bind k clear-history\; display "History cleared"
bind-key a set-window-option synchronize-panes bind-key a set-window-option synchronize-panes
bind r source-file ~/.tmux.conf\; display "Conf reloaded!" bind r source-file ~/.tmux.conf\; display "Tmux conf reloaded!"
set -g mouse on set -g mouse on
set-option -g focus-events on
# Vi copypaste mode #bind-key -Tcopy-mode-vi 'v' send -X begin-selection
set-window-option -g mode-keys vi #bind-key -Tcopy-mode-vi 'y' send -X copy-selection
bind-key -Tcopy-mode-vi 'v' send -X begin-selection #bind -Tcopy-mode-vi y send -X copy-pipe "xclip -i -sel p -f | xclip -i -sel c" \; display-message "copied to system clipboard"
bind-key -Tcopy-mode-vi 'y' send -X copy-selection
bind -Tcopy-mode-vi y send -X copy-pipe "xclip -i -sel p -f | xclip -i -sel c" \; display-message "copied to system clipboard"
# Smart pane switching with awareness of vim splits # Smart pane switching with awareness of vim splits
# See: https://github.com/christoomey/vim-tmux-navigator # See: https://github.com/christoomey/vim-tmux-navigator
@@ -55,15 +68,24 @@ bind -n C-l if-shell "$is_vim" "send-keys C-l" "select-pane -R"
bind-key C-x send-keys C-x bind-key C-x send-keys C-x
bind-key C-o send-keys C-o bind-key C-o send-keys C-o
# Copying # Copying - Most of this is done in tmux-yank!
# move x clipboard into tmux paste buffer # move x clipboard into tmux paste buffer
bind C-p run "tmux set-buffer \"$(xclip -o)\"; tmux paste-buffer" #bind C-p run "tmux set-buffer \"$(xclip -o)\"; tmux paste-buffer"
# move tmux copy buffer into x clipboard # move tmux copy buffer into x clipboard
set-option -s set-clipboard on # Vi copypaste mode
set-window-option -g mode-keys vi
set -g allow-passthrough on
set-option -g set-clipboard on
set -g @yank_with_mouse off
set -g @yank_action 'copy-pipe'
bind-key -Tcopy-mode-vi 'C-right' send -X next-word
bind-key -Tcopy-mode-vi 'C-left' send -X previous-word
unbind-key -T copy-mode-vi MouseDragEnd1Pane
if '[ `uname` == Darwin ]' \ if '[ `uname` == Darwin ]' \
'source-file ~/.tmux/.mac_config' 'source-file ~/.tmux/.mac_config'
source-file ~/.tmux/.tmux_config_powerline
set-option -g set-titles on
# Escape timeout for nvim # Escape timeout for nvim
@@ -72,17 +94,19 @@ set -sg escape-time 10
# List of plugins # List of plugins
set -g @plugin 'tmux-plugins/tpm' set -g @plugin 'tmux-plugins/tpm'
#set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-sidebar'
set -g @plugin 'tmux-plugins/tmux-open' set -g @plugin 'tmux-plugins/tmux-open'
set -g @plugin 'tmux-plugins/tmux-yank' set -g @plugin 'tmux-plugins/tmux-yank'
set -g @plugin 'jimeh/tmux-themepack' set -g @plugin 'jimeh/tmux-themepack'
set -g @themepack 'powerline/double/blue' set -g @plugin 'nhdaly/tmux-better-mouse-mode'
set -g @themepack 'powerline/double/green'
# Other examples: set -g @tpm-clean 'u'
# set -g @plugin 'github_username/plugin_name'
# set -g @plugin 'git@github.com/user/plugin' setenv -g TMUX_PLUGIN_MANAGER_PATH "$HOME/.tmux/plugins/"
# set -g @plugin 'git@bitbucket.com/user/plugin'
if "test ! -d ~/.tmux/plugins/tpm" \
"run 'git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm && \
~/.tmux/plugins/tpm/bin/install_plugins'"
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) # Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm' # >> /tmp/tpm_out 2>&1 >> /tmp/tpm_out' run -b '~/.tmux/plugins/tpm/tpm || true'

View File

@@ -1 +0,0 @@
source /usr/lib/python3.7/site-packages/powerline/bindings/tmux/powerline.conf

View File

@@ -1 +0,0 @@
source /usr/local/lib/python2.7/dist-packages/powerline/bindings/tmux/powerline.conf

View File

@@ -1,2 +0,0 @@
source $HOME/.local/lib/python3.9/site-packages/powerline/bindings/tmux/powerline.conf

View File

@@ -1 +0,0 @@
source '/usr/local/lib/python3.6/site-packages/powerline/bindings/tmux/powerline.conf'

View File

@@ -1,11 +0,0 @@
#! /bin/sh
#
# test.sh
# Copyright (C) 2018 fabian <fabian@FordPrefect.local>
#
# Distributed under terms of the MIT license.
#
export PATH=$PATH:/usr/local/bin
tmux

Submodule tmux/plugins/tpm deleted from 26d9ace1b4

View File

@@ -1 +0,0 @@
/Users/fabian/Masterarbeit/thesis 40

13
tmux/tmux_attach.sh Executable file
View File

@@ -0,0 +1,13 @@
#!/bin/sh
#
# tmux-attach - attach to first unattached session or
# create new session if none are found
#
N=$(tmux ls | grep -v attached | head -1 | cut -d: -f1)
if [[ ! -z $N ]]
then
ATTACH_OPTS="attach -t $N"
fi
exec tmux $ATTACH_OPTS

View File

@@ -1,14 +0,0 @@
#! /bin/sh
#
# update.sh
# Copyright (C) 2017 Fabian Ising <fabian@murgi.de>
#
# Distributed under terms of the Apache v2.0 license.
#
git pull
git subtree pull --prefix=i3 i3 master --squash
git subtree pull --prefix=tmux tmux master --squash
git subtree pull --prefix=zsh zsh master --squash
git subtree pull --prefix=vim vim master --squash

77
update_mac.sh Executable file
View File

@@ -0,0 +1,77 @@
#!/bin/bash
ARCH=`uname -m`
if [[ $ARCH == "arm64" ]]; then
PREFIX="/opt/homebrew/"
else
PREFIX="/usr/local/"
fi
function set_permissions {
echo "----------"
echo "Disabling Quarantine for Casks ..."
echo "----------"
find $PREFIX/Caskroom -name *.app -exec bash -c "xattr -d com.apple.quarantine {} 2> /dev/null" \;
find $PREFIX/Caskroom -type f -perm +111 -exec bash -c "xattr -d com.apple.quarantine {} 2> /dev/null" \;
find /Applications/ -name *.app -exec bash -c 'xattr -d com.apple.quarantine "{}" 2> /dev/null' \;
find /Applications/ -type f -perm +111 -exec bash -c 'xattr -d com.apple.quarantine "{}" 2> /dev/null' \;
}
function software_update {
echo "----------"
echo "Running software update"
echo "----------"
softwareupdate --all --install --force
}
function update_brew {
echo "----------"
echo "Updating brew software"
echo "----------"
brew update
brew upgrade
echo "----------"
echo "Updating casks"
echo "----------"
brew upgrade --cask --greedy --verbose
}
function cleanup {
echo "----------"
echo "Running cleanup"
echo "----------"
brew cleanup -s
}
function diagnostics {
echo "----------"
echo "Running diagnostics"
echo "----------"
brew doctor
brew missing
}
if [[ $* == *--help* ]]; then
echo "Usage: $0 [option]"
echo "Default options: --brew-update --cleanup --diagnostics"
echo -e "Options:\n\t--brew-update\n\t--cleanup\n\t--diagnostics\n\t--permission-fix\n\t--system-update"
fi
if [[ -z $* ]]; then
set -- "$*" "--brew-update --cleanup --diagnostics"
fi
if [[ $* == *--system-update* ]]; then
software_update
fi
if [[ $* == *--brew-update* ]]; then
update_brew
fi
if [[ $* == *--cleanup* ]]; then
cleanup
fi
if [[ $* == *--diagnostics* ]]; then
diagnostics
fi
if [[ $* == *--permission-fix* ]]; then
set_permissions
fi

View File

@@ -0,0 +1,6 @@
#!/bin/zsh
# This hook is sourced after every virtualenv is activated.
if [[ -n "$TMUX" ]]; then
tmux set-environment VIRTUAL_ENV $VIRTUAL_ENV
fi

View File

@@ -0,0 +1,6 @@
#!/bin/zsh
# This hook is sourced after every virtualenv is deactivated.
if [[ -n "$TMUX" ]]; then
tmux set-environment -r VIRTUAL_ENV
fi

View File

@@ -0,0 +1,4 @@
#!/bin/zsh
# This hook is sourced after a new virtualenv is activated.
pip3 install neovim

3
zsh/.gitignore vendored
View File

@@ -1,2 +1,5 @@
.*_config* .*_config*
!.*_config*.example !.*_config*.example
.p10k.zsh
.p10k.mac.zsh
antigen/

3
zsh/.gitmodules vendored
View File

@@ -1,3 +0,0 @@
[submodule "antigen"]
path = antigen
url = https://github.com/zsh-users/antigen.git

View File

@@ -1,13 +0,0 @@
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export POWERLINE_CONFIG_COMMAND=/usr/local/bin/powerline-config
export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
# Set path to work with pycharm ...
[[ "$PATH" =~ /usr/local/bin ]] || export PATH=$PATH:/usr/local/bin
PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"
test -e "${HOME}/.iterm2_shell_integration.zsh" && source "${HOME}/.iterm2_shell_integration.zsh"
# Research
export PATH="/Users/fabian/Labor/Research/code_signing/02-tools:$PATH"

View File

@@ -0,0 +1,31 @@
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export JAVA_HOME=`/usr/libexec/java_home`
defaults write .GlobalPreferences AppleLocale en_DE
# Set path to work with pycharm ...
# [[ "$PATH" =~ /usr/local/bin ]] || export PATH=$PATH:/usr/local/bin
ARCH=`uname -m`
if [[ $ARCH == "arm64" ]]; then
HOMEBREWPREFIX="/opt/homebrew"
else
HOMEBREWPREFIX="/usr/local"
fi
export PATH="$HOMEBREWPREFIX/opt/coreutils/libexec/gnubin:$HOME/.local/bin:$HOMEBREWPREFIX/bin:$PATH:$HOMEBREWPREFIX/sbin"
# test -e "${HOME}/.iterm2_shell_integration.zsh" && source "${HOME}/.iterm2_shell_integration.zsh"
# Research
# export PATH="/Users/fabian/Labor/Research/code_signing/02-tools:$PATH"
alias tailscale=/Applications/Tailscale.app/Contents/MacOS/Tailscale
alias virt-manager="LD_PRELOAD=/opt/homebrew/Cellar/glib/2.86.0/lib virt-manager"
HOMEBREW_COMMAND_NOT_FOUND_HANDLER="$(brew --repository)/Library/Homebrew/command-not-found/handler.sh"
if [ -f "$HOMEBREW_COMMAND_NOT_FOUND_HANDLER" ]; then
source "$HOMEBREW_COMMAND_NOT_FOUND_HANDLER";
fi
export DYLD_FALLBACK_LIBRARY_PATH="$HOMEBREW_PREFIX/lib:${DYLD_FALLBACK_LIBRARY_PATH}"
export GI_TYPELIB_PATH="$HOMEBREW_PREFIX/lib/girepository-1.0:${GI_TYPELIB_PATH}"
export PKG_CONFIG_PATH="$HOMEBREW_PREFIX/lib/pkgconfig:$HOMEBREW_PREFIX/share/pkgconfig:${PKG_CONFIG_PATH}"

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
source /usr/lib/python3.8/site-packages/powerline/bindings/zsh/powerline.zsh

View File

@@ -1 +0,0 @@
source /usr/local/lib/python2.7/dist-packages/powerline/bindings/zsh/powerline.zsh

View File

@@ -1 +0,0 @@
source $HOME/.local/lib/python3.9/site-packages/powerline/bindings/zsh/powerline.zsh

View File

@@ -0,0 +1,15 @@
ARCH=`uname -m`
if [[ $ARCH == "arm64" ]]; then
PREFIX="/opt/homebrew"
else
PREFIX="/usr/local"
fi
export WORKON_HOME=~/python-envs
export VIRTUALENVWRAPPER_VIRTUALENV=$PREFIX/bin/virtualenv
mkdir -p $WORKON_HOME
source $PREFIX/bin/virtualenvwrapper.sh
if [ -n "$VIRTUAL_ENV" ] && [[ -f "$VIRTUAL_ENV/bin/activate" ]]; then
source $VIRTUAL_ENV/bin/activate;
fi

29
zsh/.zsh_plugins.txt Normal file
View File

@@ -0,0 +1,29 @@
# Load OMZ plugins
ohmyzsh/ohmyzsh
ohmyzsh/ohmyzsh path:lib
ohmyzsh/ohmyzsh path:plugins/git
ohmyzsh/ohmyzsh path:plugins/golang
ohmyzsh/ohmyzsh path:plugins/ssh-agent
ohmyzsh/ohmyzsh path:plugins/pip
ohmyzsh/ohmyzsh path:plugins/python
ohmyzsh/ohmyzsh path:plugins/brew
ohmyzsh/ohmyzsh path:plugins/virtualenv
ohmyzsh/ohmyzsh path:plugins/python
ohmyzsh/ohmyzsh path:plugins/command-not-found
ohmyzsh/ohmyzsh path:plugins/docker-compose
ohmyzsh/ohmyzsh path:plugins/docker
ohmyzsh/ohmyzsh path:plugins/vi-mode
romkatv/powerlevel10k
zsh-users/zsh-syntax-highlighting
zsh-users/zsh-autosuggestions
zsh-users/zsh-completions
zsh-users/zsh-history-substring-search
urbainvaes/fzf-marks
zdharma-continuum/fast-syntax-highlighting
# Select with shift
jirutka/zsh-shift-select
# Initialize completions
belak/zsh-utils path:completion

View File

@@ -1,74 +1,69 @@
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc. # Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
# Initialization code that may require console input (password prompts, [y/n] # Initialization code that may require console input (password prompts, [y/n]
# confirmations, etc.) must go above this block; everything else may go below. # confirmations, etc.) must go above this block; everything else may go below.
#if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
#source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
#fi
export PATH="$HOME/.local/bin:$PATH"
[[ -f ~/.zsh/.powerline_config ]] && source ~/.zsh/.powerline_config [[ -f ~/.zsh/.powerline_config ]] && source ~/.zsh/.powerline_config
[[ -f ~/.zsh/.user_config ]] && source ~/.zsh/.user_config [[ -f ~/.zsh/.user_config ]] && source ~/.zsh/.user_config
[[ -f ~/.zsh/.virtual_env_config.zsh ]] && source ~/.zsh/.virtual_env_config.zsh [[ -f ~/.zsh/.virtual_env_config.zsh ]] && source ~/.zsh/.virtual_env_config.zsh
[[ -f /usr/share/doc/find-the-command/ftc.zsh ]] && source /usr/share/doc/find-the-command/ftc.zsh
[[ -f ~/.zsh/.local_config ]] && source ~/.zsh/.local_config [[ -f ~/.zsh/.local_config ]] && source ~/.zsh/.local_config
# Load Antigen update_dotfiles() {
setopt interactivecomments cd ~/dotfiles || return
setopt HIST_IGNORE_SPACE if git fetch --dry-run 2>&1 | grep -q .; then
source ~/.zsh/antigen/antigen.zsh git pull > /dev/null 2>&1
fi
}
update_dotfiles 2>&1 &!
export LC_OSC52=1
# Load Antidote
mkdir -p ${ZDOTDIR:-~}/.cache/zsh
static_file=${ZDOTDIR:-~}/.cache/zsh/.zsh_plugins.zsh
plugins_txt=${ZDOTDIR:-~}/.zsh/.zsh_plugins.txt
# clone antidote if necessary
if ! [[ -e ${ZDOTDIR:-~}/.antidote ]]; then
git clone https://github.com/mattmc3/antidote.git ${ZDOTDIR:-~}/.antidote
fi
zstyle ':completion:*:ssh:*' hosts off
zstyle ':completion:*:scp:*' hosts off
# Run rehash for external commands
zstyle ":completion:*:commands" rehash 1
# source antidote and load plugins from `${ZDOTDIR:-~}/.zsh_plugins.txt`
source ${ZDOTDIR:-~}/.antidote/antidote.zsh
antidote load ${plugins_txt} ${static_file}
setopt interactivecomments
# History options
HISTSIZE=100000 # Set the amount of lines you want saved
SAVEHIST=100000 # This is required to actually save them, needs to match with HISTSIZE
setopt EXTENDED_HISTORY # Write the history file in the ":start:elapsed;command" format.
setopt INC_APPEND_HISTORY # Write to the history file immediately, not when the shell exits.
setopt SHARE_HISTORY # Share history between all sessions.
setopt HIST_EXPIRE_DUPS_FIRST # Expire duplicate entries first when trimming history.
setopt HIST_IGNORE_DUPS # Don\'t record an entry that was just recorded again.
setopt HIST_IGNORE_ALL_DUPS # Delete old recorded entry if new entry is a duplicate.
setopt HIST_FIND_NO_DUPS # Do not display a line previously found.
setopt HIST_IGNORE_SPACE # Don\'t record an entry starting with a space.
setopt HIST_SAVE_NO_DUPS # Don\'t write duplicate entries in the history file.
setopt HIST_REDUCE_BLANKS # Remove superfluous blanks before recording entry.
# Clear screen by ctrl+q # Clear screen by ctrl+q
bindkey '^q' clear-screen bindkey '^q' clear-screen
# Load various lib files # Bind Ctrl-W to kill-region
antigen use oh-my-zsh bindkey "^w" kill-region
bindkey -v
VI_MODE_SET_CURSOR=true
# Antigen Theme
antigen theme romkatv/powerlevel10k powerlevel10k
# Antigen Bundles
antigen bundle git
antigen bundle heroku
#antigen bundle command-not-found
antigen bundle go
# antigen bundle tmuxinator
antigen bundle zsh-users/zsh-syntax-highlighting
antigen bundle zsh-users/zsh-autosuggestions
antigen bundle zsh-users/zsh-completions
antigen bundle urbainvaes/fzf-marks
# For SSH, starting ssh-agent is annoying
antigen bundle ssh-agent
# Python Plugins
antigen bundle pip
antigen bundle python
antigen bundle virtualenv
antigen bundle virtualenv
antigen bundle "greymd/docker-zsh-completion"
antigen apply
alias vim=nvim alias vim=nvim
alias sudo='sudo ' alias sudo='sudo '
export EDITOR='nvim' export EDITOR='nvim'
export PATH="/usr/local/opt/gnu-getopt/bin:$PATH" export VISUAL='nvim'
test -e "${HOME}/.iterm2_shell_integration.zsh" && source "${HOME}/.iterm2_shell_integration.zsh"
PATH="/home/fabian/perl5/bin${PATH:+:${PATH}}"; export PATH;
PERL5LIB="/home/fabian/perl5/lib/perl5${PERL5LIB:+:${PERL5LIB}}"; export PERL5LIB;
PERL_LOCAL_LIB_ROOT="/home/fabian/perl5${PERL_LOCAL_LIB_ROOT:+:${PERL_LOCAL_LIB_ROOT}}"; export PERL_LOCAL_LIB_ROOT;
PERL_MB_OPT="--install_base \"/home/fabian/perl5\""; export PERL_MB_OPT;
PERL_MM_OPT="INSTALL_BASE=/home/fabian/perl5"; export PERL_MM_OPT;
alias ls="ls --color=always" alias ls="ls --color=always"
export PATH="$PATH:${HOME}/Labor/tls-in-muas/starttls-research/99-Tools:/home/fabian/go/bin" alias cgrep="grep --color=always"
# For ccache
export CCACHE_CPP2=YES
delzip() { delzip() {
unzip -Z -1 "$@" | xargs -I{} rm -rf {} unzip -Z -1 "$@" | xargs -I{} rm -rf {}
@@ -76,11 +71,58 @@ delzip() {
# mitmproxy # mitmproxy
export MITMPROXY_SSLKEYLOGFILE="~/.mitmproxy/sslkeylogfile.txt" export MITMPROXY_SSLKEYLOGFILE="~/.mitmproxy/sslkeylogfile.txt"
[[ -f ~/.zsh/.mac_config ]] && source ~/.zsh/.mac_config [[ -f ~/.zsh/.mac_config.zsh ]] && source ~/.zsh/.mac_config.zsh
if `which go &>/dev/null`; then
export PATH="$PATH:$(go env GOPATH)/bin"
export GOPATH=$(go env GOPATH)
fi
if [[ -f ~/.ssh/sudo_key ]]; then
[[ -e /tmp/sudo-agent.sock ]] || ssh-agent -a /tmp/sudo-agent.sock &> /dev/null
SSH_AUTH_SOCK=/tmp/sudo-agent.sock ssh-add -l | grep -q `ssh-keygen -lf ~/.ssh/sudo_key | awk '{print $2}'` || SSH_AUTH_SOCK=/tmp/sudo-agent.sock ssh-add ~/.ssh/sudo_key
fi
# Sudo workaround for neovim
export SUDO_ASKPASS=$(command -v ssh-askpass)
# Workaround for async issues https://github.com/romkatv/powerlevel10k/issues/1554
unset ZSH_AUTOSUGGEST_USE_ASYNC
# Fixate language
export LANG="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
export TIME_STYLE="long-iso"
# Powerlevel 10k # Powerlevel 10k
# Remove padding on right side # Remove padding on right side
ZLE_RPROMPT_INDENT=0 ZLE_RPROMPT_INDENT=0
# To customize prompt, run `p10k configure` or edit ~/dotfiles/zsh/.p10k.zsh. # To customize prompt, run `p10k configure` or edit ~/dotfiles/zsh/.p10k.zsh.
function load_p10k() {
if test -f ~/dotfiles/zsh/.p10k.mac.zsh; then
source ~/dotfiles/zsh/.p10k.mac.zsh
else
[[ ! -f ~/dotfiles/zsh/.p10k.zsh ]] || source ~/dotfiles/zsh/.p10k.zsh [[ ! -f ~/dotfiles/zsh/.p10k.zsh ]] || source ~/dotfiles/zsh/.p10k.zsh
fi
}
load_p10k
alias screenshot_mode='powerlevel10k_plugin_unload; export PS1="$ "; python3 ~/.config/alacritty/screenshot_mode.py on'
alias screenshot_mode_off='prompt_powerlevel9k_setup; python3 ~/.config/alacritty/screenshot_mode.py off'
antidote update &> /dev/null &|
# This speeds up pasting w/ autosuggest
# https://github.com/zsh-users/zsh-autosuggestions/issues/238
pasteinit() {
OLD_SELF_INSERT=${${(s.:.)widgets[self-insert]}[2,3]}
zle -N self-insert url-quote-magic # I wonder if you'd need `.url-quote-magic`?
}
pastefinish() {
zle -N self-insert $OLD_SELF_INSERT
}
zstyle :bracketed-paste-magic paste-init pasteinit
zstyle :bracketed-paste-magic paste-finish pastefinish
# https://github.com/zsh-users/zsh-autosuggestions/issues/351
ZSH_AUTOSUGGEST_CLEAR_WIDGETS+=(bracketed-paste)

Submodule zsh/antigen deleted from 74aa897570