Compare commits

68 Commits

Author SHA1 Message Date
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
57 changed files with 1636 additions and 5217 deletions

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 = 0
y = 0

View File

@@ -1,43 +0,0 @@
import:
- ~/.config/alacritty/schemes.yml
env:
TERM: xterm-256color
font:
# The size to use.
size: 12
# The normal (roman) font face to use.
normal:
family: "MesloLGS NF"
# Style can be specified to pick a specific face.
style: Regular
bold:
family: "MesloLGS NF"
# Style can be specified to pick a specific face.
style: Bold
bold:
family: "MesloLGS NF"
# Style can be specified to pick a specific face.
style: Bold
window:
dynamic_title: true
padding:
x: 0
y: 0
scrolling:
history: 0
shell:
program: zsh
args:
- "-c"
- "$HOME/.tmux/tmux_attach.sh"
alt_send_esc: false
live_config_reload: true
key_bindings:
- { key: F, mods: Control, command: {program: "zsh", args: ["-c","python3 ~/.config/alacritty/color_switcher.py"]} }
- { key: T, mods: Command, command: {program: "alacritty", args: ["-e","zsh"]} } # Spawn alacritty without tmux

View File

@@ -2,14 +2,15 @@
import os import os
import re import re
import sys
ALACRITTY_CONFIG_FILE_NAME = "alacritty.toml"
CONFIG_FILE_NAME = "schemes.yml"
CONFIG_FILE_DIR = os.path.expanduser("~/.config/alacritty/") CONFIG_FILE_DIR = os.path.expanduser("~/.config/alacritty/")
CONFIG_FILE_PATH = os.path.join(CONFIG_FILE_DIR, CONFIG_FILE_NAME) ALACRITTY_CONFIG_FILE_PATH = os.path.join(CONFIG_FILE_DIR, ALACRITTY_CONFIG_FILE_NAME)
COLOR_SCHEME_LINE_SEARCH = "colors: \*(\S+)" COLOR_SCHEME_LINE_SEARCH = r'import = \[.*\]'
COLOR_SCHEME_LINE_TEMPLATE = "colors: *{}\n" ALACRITTY_LIGHT_THEME="solarized_light.toml"
ALACRITTY_DARK_THEME="dark_mode.toml"
NVIM_CONFIG_FILE_DIR = os.path.expanduser("~/.config/nvim/") NVIM_CONFIG_FILE_DIR = os.path.expanduser("~/.config/nvim/")
NVIM_CONFIG_FILE_NAME = "scheme.vim" NVIM_CONFIG_FILE_NAME = "scheme.vim"
@@ -18,30 +19,37 @@ 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_SEARCH = "set background=(\S+)\ncolorscheme (\S+)"
NVIM_COLOR_SCHEME_LINE_TEMPLATE = "set background={}\ncolorscheme {}" NVIM_COLOR_SCHEME_LINE_TEMPLATE = "set background={}\ncolorscheme {}"
def change_alacritty_theme(): def change_alacritty_theme(light_mode=None):
with open(CONFIG_FILE_PATH, "r") as config_file: with open(ALACRITTY_CONFIG_FILE_PATH, "r") as scheme_file:
config_file.seek(0) scheme_file.seek(0)
lines = config_file.readlines() lines = scheme_file.readlines()
colors_line_index = -1 colors_line_index = -1
for i, line in enumerate(lines): for i, line in enumerate(lines):
match = re.search(COLOR_SCHEME_LINE_SEARCH, line) match = re.search(COLOR_SCHEME_LINE_SEARCH, line)
if match is not None: if match is not None:
current_color_scheme = match.group(1)
colors_line_index = i colors_line_index = i
color_line = lines[i]
break
if current_color_scheme == "dark_mode":
new_scheme = "solarized_light" 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: else:
new_scheme = "dark_mode" color_line = color_line.replace(ALACRITTY_LIGHT_THEME, ALACRITTY_DARK_THEME)
new_scheme = "dark"
lines[colors_line_index] = COLOR_SCHEME_LINE_TEMPLATE.format( lines[colors_line_index] = color_line
new_scheme) with open(ALACRITTY_CONFIG_FILE_PATH, "w") as scheme_file:
with open(CONFIG_FILE_PATH, "w") as config_file:
for line in lines: for line in lines:
config_file.write(line) scheme_file.write(line)
return new_scheme return new_scheme
def change_vim_theme(light_mode=False): def change_vim_theme(light_mode=False):
@@ -57,10 +65,13 @@ def change_vim_theme(light_mode=False):
config = config_file.write(res) config = config_file.write(res)
def main(): def main(light_mode=None):
new_theme = change_alacritty_theme() new_theme = change_alacritty_theme(light_mode)
change_vim_theme(new_theme == "solarized_light") change_vim_theme(new_theme == "light")
if __name__=="__main__": if __name__=="__main__":
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"

File diff suppressed because it is too large Load Diff

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,5 +1,4 @@
*.swp *.swp
.shared_config
tags tags
.DS_STORE .DS_STORE
__pycache__ __pycache__

1
.gitignore_global Normal file
View File

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

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

@@ -1,4 +1,4 @@
#! /bin/bash #! /bin/sh
# #
# clone_and_link.sh # clone_and_link.sh
# Copyright (C) 2016 fabian <fabian@fabi-laptop-arch> # Copyright (C) 2016 fabian <fabian@fabi-laptop-arch>
@@ -7,24 +7,10 @@
# #
if [[ $1 == "shared" ]]; then ln -Tsv $PWD/zsh $HOME/.zsh
ln -Tsfv $PWD/zsh $HOME/.zsh ln -Tsv ~/.zsh/.zshrc $HOME/.zshrc
ln -Tsfv ~/.zsh/.zshrc $HOME/.zshrc ln -Tsv $PWD/tmux $HOME/.tmux
touch ~/.zsh/.shared_config ln -Tsv ~/.tmux/.tmux.conf $HOME/.tmux.conf
ln -Tsfv $PWD/tmux $HOME/.tmux ln -Tsv $PWD/nvim $HOME/.config/nvim
ln -Tsfv ~/.tmux/.tmux.conf $HOME/.tmux.conf ln -Tsv $PWD/.config/alacritty $HOME/.config/alacritty
mkdir -p $HOME/.config ln -fsv $PWD/virtualenvwrapper/* $VIRTUALENVWRAPPER_HOOK_DIR
rm -rf $HOME/.config/nvim
ln -Tsfv $PWD/nvim $HOME/.config/nvim
touch $HOME/.config/nvim/.shared_config
else
ln -Tsfv $PWD/zsh $HOME/.zsh
ln -Tsfv ~/.zsh/.zshrc $HOME/.zshrc
ln -Tsfv $PWD/tmux $HOME/.tmux
ln -Tsfv ~/.tmux/.tmux.conf $HOME/.tmux.conf
mkdir -p $HOME/.config
rm -rf $HOME/.config/nvim
ln -Tsfv $PWD/nvim $HOME/.config/nvim
fi
cat $PWD/ssh_tty | sudo tee /etc/sudoers.d/ssh_tty > /dev/null

20
clone_and_link_mac.sh Executable file
View File

@@ -0,0 +1,20 @@
#! /bin/sh
#
# clone_and_link.sh
# Copyright (C) 2016 fabian <fabian@fabi-laptop-arch>
#
# Distributed under terms of the MIT license.
#
gln -Tsv $PWD/zsh $HOME/.zsh
gln -Tsv ~/.zsh/.zshrc $HOME/.zshrc
gln -Tsv $PWD/tmux $HOME/.tmux
gln -Tsv ~/.tmux/.tmux.conf $HOME/.tmux.conf
gln -Tsv $PWD/nvim $HOME/.config/nvim
gln -Tsv $PWD/.config/alacritty $HOME/.config/alacritty
gln -Tsv $PWD/zsh/.p10k.zsh_mac.example $PWD/zsh/.p10k.mac.zsh
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

Binary file not shown.

Binary file not shown.

Binary file not shown.

12
general_setup.sh Executable file
View File

@@ -0,0 +1,12 @@
#! /bin/sh
#
# general_setup.sh
# Copyright (C) 2016 fabian <fabian@testvm>
#
# Distributed under terms of the MIT license.
#
echo "exit" | zsh
chsh -s /usr/bin/zsh
tmux
echo ":PluginInstall" | vim

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

104
i3/.Xresources Normal file
View File

@@ -0,0 +1,104 @@
#if __has_include(".extend.Xresources")
#include ".extend.Xresources"
#endif
! ^ The above lines are no comments!
! Leave them as they are if a file ~/.extend.Xresources is being used on your system.
! config can be added there or also here below.
! For comments use "!"
Xft.dpi: 96
Xft.antialias: true
Xft.hinting: true
Xft.rgba: rgb
Xft.autohint: false
Xft.hintstyle: hintslight
Xft.lcdfilter: lcddefault
XTerm*background: #2b2b2b
XTerm*foreground: #e7e7e7
XTerm*pointerColor: #16A085
XTerm*faceName: Input Mono:size=9:antialias=false
XTerm*font: 7x13
#define base00 #282936
#define base01 #3a3c4e
#define base02 #4d4f68
#define base03 #626483
#define base04 #62d6e8
#define base05 #e9e9f4
#define base06 #f1f2f8
#define base07 #f7f7fb
#define base08 #ea51b2
#define base09 #b45bcf
#define base0A #00f769
#define base0B #ebff87
#define base0C #a1efe4
#define base0D #62d6e8
#define base0E #b45bcf
#define base0F #00f769
! URxvt settings
URxvt*font: xft:Input\ Mono:pixelsize=11
URxvt*boldFont: xft:Input\ Mono:pixelsize=11
URxvt*loginShell: true
URxvt*cursorUnderline: false
URxvt*scrollBar: false
URxvt*letterSpace: 1
URxvt*imLocale: en_US.UTF-8
!URxvt*scrollstyle: plain
!URxvt*scrollBar_right: true
URxvt*termName: rxvt
URxvt.buffered: true
URxvt.perl-ext: default,matcher
URxvt.urlLauncher: /bin/firefox
URxvt.matcher.button: 1
URxvt.transparent: False
URxvt.shading: 5
URxvt*foreground: #1abc9c
URxvt*background: #1F2D3A
URxvt*cursorColor: #1abc9c
URxvt*color0: #2c3e50
URxvt*color1: #c0392b
URxvt*color2: #27ae60
URxvt*color3: #f39c12
URxvt*color4: #2980b9
URxvt*color5: #8e44ad
URxvt*color6: #16a085
URxvt*color7: #bdc3c7
URxvt*color8: #34495e
URxvt*color9: #e74c3c
URxvt*color10: #2ecc71
URxvt*color11: #f1c40f
URxvt*color12: #3498db
URxvt*color13: #9b59b6
URxvt*color14: #2AA198
URxvt*color15: #ecf0f1
! Note: colors beyond 15 might not be loaded (e.g., xterm, urxvt),
! use 'shell' template to set these if necessary
URxvt*color16: base09
URxvt*color17: base0F
URxvt*color18: base01
URxvt*color19: base02
URxvt*color20: base04
URxvt*color21: base06
URxvt*keysym.Shift-Control-V: perl:clipboard:paste
URxvt*iso14755: False
URxvt*perl-ext-common: default,clipboard
! ------------------------------------------------------------------------------
! ROFI Color theme
! ------------------------------------------------------------------------------
rofi.color-enabled: true
rofi.color-window: #273238, #273238, #1e2529
rofi.color-normal: #273238, #c1c1c1, #273238, #394249, #ffffff
rofi.color-active: #273238, #80cbc4, #273238, #394249, #80cbc4
rofi.color-urgent: #273238, #ff1844, #273238, #394249, #ff1844

5
i3/.xinitrc Normal file
View File

@@ -0,0 +1,5 @@
xrandr --setprovideroffload 1 0
setxkbmap de
xrdb -merge ~/.Xresources
eval $(/usr/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh)
export SSH_AUTH_SOCK

View File

@@ -0,0 +1 @@
KERNEL=="card0", SUBSYSTEM=="drm", ACTION=="change", ENV{DISPLAY}=":0", ENV{XAUTHORITY}="/home/fabian/.Xauthority", RUN+="/bin/bash /usr/local/bin/auto_monitor.sh"

62
i3/auto_monitor.sh Executable file
View File

@@ -0,0 +1,62 @@
#! /bin/sh
#
# monitors.sh
# Copyright (C) 2017 Fabian Ising <fabian@murgi.de>
#
# Distributed under terms of the Apache v2.0 license.
#
# Get out of town if something errors
set -e
HDMI_STATUS=$(</sys/class/drm/card0/card0-HDMI-A-1/status )
HDMI2_STATUS=$(</sys/class/drm/card0/card0-HDMI-A-2/status )
DP_STATUS=$(</sys/class/drm/card0/card0-DP-1/status )
I3CONFIG=/home/fabian/i3/i3config
echo "Rule run" >> /tmp/udev_test
OUT2="eDP-1"
if [ "connected" == "$HDMI_STATUS" ]; then
xrandr >> /tmp/udev_test
/usr/bin/xrandr --output eDP-1 --auto --left-of HDMI-1
/usr/bin/notify-send --urgency=low -t 5000 "Graphics Update" "HDMI-1 plugged in"
echo "HDMI connected" >> /tmp/udev_test
xrandr >> /tmp/udev_test
OUT2="HDMI-1"
else
/usr/bin/xrandr --output HDMI-1 --off
/usr/bin/notify-send --urgency=low -t 5000 "Graphics Update" "External monitor (HDMI-1) disconnected"
echo "HDMI disconnected" >> /tmp/udev_test
fi
if [ "connected" == "$HDMI2_STATUS" ]; then
xrandr >> /tmp/udev_test
/usr/bin/xrandr --output eDP-1 --auto --left-of HDMI-2
/usr/bin/notify-send --urgency=low -t 5000 "Graphics Update" "HDMI-2 plugged in"
echo "HDMI-2 connected" >> /tmp/udev_test
xrandr >> /tmp/udev_test
OUT2="HDMI-2"
else
/usr/bin/xrandr --output HDMI-2 --off
/usr/bin/notify-send --urgency=low -t 5000 "Graphics Update" "External monitor (HDMI-2) disconnected"
echo "HDMI disconnected" >> /tmp/udev_test
fi
if [ "connected" == "$DP_STATUS" ]; then
xrandr >> /tmp/udev_test
/usr/bin/xrandr --output eDP-1 --auto --right-of DP-1
/usr/bin/notify-send --urgency=low -t 5000 "Graphics Update" "DP-1 plugged in"
echo "DP connected" >> /tmp/udev_test
xrandr >> /tmp/udev_test
OUT2="DP-1"
else
/usr/bin/xrandr --output DP-1 --off
/usr/bin/notify-send --urgency=low -t 5000 "Graphics Update" "External monitor (DP-1) disconnected"
echo "DP disconnected" >> /tmp/udev_test
fi
sed 's/^set\s\s*$OUTPUT_EVEN\s.*/set $OUTPUT_EVEN '$OUT2'/' -i "$I3CONFIG"
i3-msg [workspace=2] move workspace to output $OUT2
i3-msg [workspace=4] move workspace to output $OUT2
i3-msg [workspace=6] move workspace to output $OUT2
i3-msg reload

232
i3/i3config Normal file
View File

@@ -0,0 +1,232 @@
# This file has been auto-generated by i3-config-wizard(1).
# It will not be overwritten, so edit it as you like.
#
# Should you change your keyboard layout some time, delete
# this file and re-run i3-config-wizard(1).
#
# i3 config file (v4)
#
# Please see http://i3wm.org/docs/userguide.html for a complete reference!
set $OUTPUT_ODD eDP-1
set $OUTPUT_EVEN eDP-1
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:monospace 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 doesnt scale on retina/hidpi displays.
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# start a terminal
bindsym $mod+Return exec "termite -e tmux"
# kill focused window
bindsym $mod+Shift+q kill
# start dmenu (a program launcher)
#bindsym $mod+d exec i3-dmenu-desktop
# There also is the (new) i3-dmenu-desktop which only displays applications
# shipping a .desktop file. It is a wrapper around dmenu, so you need that
# installed.
# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
# 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+minus split h
# split in vertical orientation
bindsym $mod+bar split v
# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle
# change container layout (stacked, tabbed, toggle split)
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# toggle tiling / floating
bindsym $mod+Shift+space floating toggle
# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle
# focus the parent container
bindsym $mod+a focus parent
# focus the child container
#bindsym $mod+d focus child
# switch to workspace
bindsym $mod+1 workspace 1
bindsym $mod+2 workspace 2
bindsym $mod+3 workspace 3
bindsym $mod+4 workspace 4
bindsym $mod+5 workspace 5
bindsym $mod+6 workspace 6
bindsym $mod+7 workspace 7
bindsym $mod+8 workspace 8
bindsym $mod+9 workspace 9
bindsym $mod+0 workspace 10
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace 1
bindsym $mod+ctrl+1 move container to workspace 1
bindsym $mod+Shift+2 move container to workspace 2
bindsym $mod+ctrl+2 move container to workspace 2
bindsym $mod+Shift+3 move container to workspace 3
bindsym $mod+ctrl+3 move container to workspace 3
bindsym $mod+Shift+4 move container to workspace 4
bindsym $mod+ctrl+4 move container to workspace 4
bindsym $mod+Shift+5 move container to workspace 5
bindsym $mod+ctrl+5 move container to workspace 5
bindsym $mod+Shift+6 move container to workspace 6
bindsym $mod+ctrl+6 move container to workspace 6
bindsym $mod+Shift+7 move container to workspace 7
bindsym $mod+ctrl+7 move container to workspace 7
bindsym $mod+Shift+8 move container to workspace 8
bindsym $mod+ctrl+8 move container to workspace 8
bindsym $mod+Shift+9 move container to workspace 9
bindsym $mod+ctrl+9 move container to workspace 9
bindsym $mod+Shift+0 move container to workspace 10
bindsym $mod+ctrl+0 move container to workspace 10
# reload the configuration file
bindsym $mod+Shift+c exec "i3-msg reload && /usr/bin/notify-send -t 5000 --urgency=low 'Reload' 'Reloaded i3 config'"
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+r restart
# exit i3 (logs you out of your X session)
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
# resize window (you can also use the mouse for that)
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
# Pressing left will shrink the windows width.
# Pressing right will grow the windows width.
# Pressing up will shrink the windows height.
# Pressing down will grow the windows height.
bindsym j resize shrink width 10 px or 10 ppt
bindsym k resize grow height 10 px or 10 ppt
bindsym l resize shrink height 10 px or 10 ppt
bindsym odiaeresis resize grow width 10 px or 10 ppt
# same bindings, but for the arrow keys
bindsym Left resize shrink width 10 px or 10 ppt
bindsym Down resize grow height 10 px or 10 ppt
bindsym Up resize shrink height 10 px or 10 ppt
bindsym Right resize grow width 10 px or 10 ppt
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
mode "moveit" {
bindsym Up move up 20px
bindsym Left move left 20px
bindsym Down move down 20px
bindsym Right move right 20px
bindsym $mod+m mode "default"
bindsym Escape mode "default"
}
bindsym $mod+m focus floating; mode "moveit"
# Sound
bindsym XF86AudioRaiseVolume exec --no-startup-id amixer set Master 5%+ unmute
bindsym XF86AudioLowerVolume exec --no-startup-id amixer set Master 5%- unmute
bindsym XF86AudioMute exec "amixer set Master 1+ toggle && amixer -c 0 set IEC958 1+ toggle"
#Rofi
bindsym $mod+d exec --no-startup-id "rofi -show drun"
bindsym $mod+Shift+s exec --no-startup-id "rofi -show window"
bindsym $mod+x exec --no-startup-id "rofi -combi-modi window,drun -show window -show drun"
bindsym Mod1+Tab exec --no-startup-id "rofi -show window"
bindsym Mod1+F2 exec --no-startup-id "rofi -show run"
#Lock
bindsym $mod+Escape exec --no-startup-id "i3lock -d -c 000000 -f"
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
#bar {
#status_command i3status
#}
exec --no-startup-id nitrogen --restore
exec --no-startup-id nm-applet
exec --no-startup-id owncloud
exec --no-startup-id "xset dpms 60"
exec --no-startup-id "polybar top"
exec --no-startup-id "polybar bottom"
exec --no-startup-id "xfsettingsd"
exec --no-startup-id "xfce4-power-manager"
exec --no-startup-id "owncloud"
#exec --no-startup-id "caffeine"
#Colors
# class border backgr. text indicator child_border
client.placeholder #242424 #242424 #242424
client.background #242424 #242424 #242424
client.focused #4A4A4A #4A4A4A #e5e5e5 #4A4A4A
client.unfocused #222222 #222222 #aaaaaa #222222
client.focused_inactive #222222 #222222 #a9a9a9 #222222
client.urgent #4A4A4A #4A4A4A #f7f7f7 #4A4A4A
hide_edge_borders both
# Change monitor mirroring
bindsym XF86Display exec --no-startup-id "/usr/local/bin/switch_monitors.sh"
bindsym Shift+XF86Display exec --no-startup-id "/usr/local/bin/switch_monitors.sh mirror"
# pdfpc
assign [class="Pdfpc" window_role="presenter"] 1
assign [class="Pdfpc" window_role="presentation"] 2
# multi monitor
workspace 1 output $OUTPUT_ODD
workspace 2 output $OUTPUT_EVEN
workspace 3 output $OUTPUT_ODD
workspace 4 output $OUTPUT_EVEN
workspace 5 output $OUTPUT_ODD
workspace 6 output $OUTPUT_EVEN

25
i3/link_config.sh Executable file
View File

@@ -0,0 +1,25 @@
#! /bin/sh
#
# link_config.sh
# Copyright (C) 2016 fabian <fabian@tmurgi.de>
#
# Distributed under terms of the MIT license.
#
mkdir -p $HOME/.config/i3
mkdir -p $HOME/.config/polybar
ln -Ts $PWD/i3config ~/.config/i3/config
ln -Ts $PWD/polybarconfig ~/.config/polybar/config
ln -Ts $PWD/.xinitrc ~/.xinitrc
ln -Ts $PWD/.Xresources ~/.Xresources
while true; do
read -p "Is this your laptop? [y/n]" yn
case $yn in
[Yy]* ) break;;
[Nn]* ) exit;;
* ) echo "Please answer yes or no.";;
esac
done
sudo ln -Ts $PWD/auto_monitor.sh /usr/local/bin/auto_monitor.sh
sudo ln -Ts $PWD/switch_monitors.sh /usr/local/bin/switch_monitors.sh
sudo ln -Ts $PWD/98-monitor-hotplug.rules /etc/udev/rules.d/98-monitor-hotplug.rules

474
i3/polybarconfig Normal file
View File

@@ -0,0 +1,474 @@
;=====================================================
;
; To learn more about how to configure Polybar
; go to https://github.com/jaagr/polybar
;
; The README contains alot of information
;
;=====================================================
[colors]
background = #222
background-alt = #444
foreground = #dfdfdf
foreground-alt = #555
primary = #ffb52a
secondary = #e60053
alert = #bd2c40
[bar/top]
monitor = eDP-1
monitor-fallback = HDMI-1
width = 100%
height = 27
;offset-x = 1%
;offset-y = 1%
radius = 6.0
fixed-center = true
background = ${colors.background}
foreground = ${colors.foreground}
line-size = 3
line-color = #f00
border-size = 4
border-color = #00000000
padding-left = 0
padding-right = 2
module-margin-left = 1
module-margin-right = 2
;font-0 = fixed:pixelsize=10;1
;font-1 = unifont:fontformat=truetype:size=8:antialias=false;0
;font-2 = siji:pixelsize=10;1
font-0 = fixed:pixelsize=10;1
font-1 = unifont:fontformat=truetype:size=8:antialias=false;0
font-2 = MaterialIcons:antialias=false;pixelsize=10;1
font-3 = PowerlineSymbols:size=10;1
font-4 = FontAwesome:pixelsize=12
modules-left = i3
modules-center = date
modules-right = filesystem xkeyboard volume powermenu
;tray-position =
;tray-padding = 2
;tray-transparent = true
;tray-background = #0063ff
;wm-restack = bspwm
;wm-restack = i3
;override-redirect = true
;scroll-up = bspwm-desknext
;scroll-down = bspwm-deskprev
;scroll-up = i3wm-wsnext
;scroll-down = i3wm-wsprev
;
;[module/date]
;type = internal/date
;; Seconds to sleep between updates
;interval = 1.0
;; See "man date" for details on how to format the date string
;; NOTE: if you want to use syntax tags here you need to use %%{...}
;date = %Y-%m-%d%
;; Optional time format
;time = %H:%M
;; if `date-alt` or `time-alt` is defined, clicking
;; the module will toggle between formats
;date-alt = %A%, %d %B %Y
;time-alt = %H:%M:%S
[bar/bottom]
monitor = eDP-1
monitor-fallback = HDMI-1
width = 100%
height = 27
fixed-center = true
bottom = true
background = ${colors.background}
foreground = ${colors.foreground}
line-size = 3
line-color = #f00
border-size = 4
border-color = #00000000
padding-left = 2
padding-right = 2
module-margin-left = 1
module-margin-right = 2
font-0 = fixed:pixelsize=10;1
font-1 = unifont:fontformat=truetype:size=8:antialias=false;0
font-2 = MaterialIcons:pixelsize=10;1
font-3 = PowerlineSymbols:pixelsize=12
font-4 = FontAwesome:pixelsize=12
;modules-left = bspwm i3
;modules-right = i3
modules-center = memory cpu
modules-right = temperature
modules-left = battery backlight-acpi
tray-position = right
tray-padding = 2
;tray-background = #0063ff
;wm-restack = bspwm
;wm-restack = i3
scroll-up = i3wm-wsnext
scroll-down = i3wm-wsprev
[module/xwindow]
type = internal/xwindow
label = %title:0:30:...%
[module/xkeyboard]
type = internal/xkeyboard
blacklist-0 = num lock
format-prefix = "⌨ "
format-prefix-foreground = ${colors.foreground}
format-prefix-underline = ${colors.secondary}
label-layout = %layout%
label-layout-underline = ${colors.secondary}
label-indicator-padding = 2
label-indicator-margin = 1
label-indicator-background = ${colors.secondary}
label-indicator-underline = ${colors.secondary}
[module/filesystem]
type = internal/fs
interval = 25
mount-0 = /home
label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %percentage_used%%
label-unmounted = %mountpoint% not mounted
label-unmounted-foreground = ${colors.foreground-alt}
[module/bspwm]
type = internal/bspwm
label-focused = %index%
label-focused-background = ${colors.background-alt}
label-focused-underline= ${colors.primary}
label-focused-padding = 2
label-occupied = %index%
label-occupied-padding = 2
label-urgent = %index%!
label-urgent-background = ${colors.alert}
label-urgent-padding = 2
label-empty = %index%
label-empty-foreground = ${colors.foreground-alt}
label-empty-padding = 2
[module/i3]
type = internal/i3
format = <label-state> <label-mode>
index-sort = true
wrapping-scroll = false
; Only show workspaces on the same output as the bar
;pin-workspaces = true
label-mode-padding = 2
label-mode-foreground = #000
label-mode-background = ${colors.primary}
; focused = Active workspace on focused monitor
label-focused = %index%
label-focused-background = ${module/bspwm.label-focused-background}
label-focused-underline = ${module/bspwm.label-focused-underline}
label-focused-padding = ${module/bspwm.label-focused-padding}
; unfocused = Inactive workspace on any monitor
label-unfocused = %index%
label-unfocused-padding = ${module/bspwm.label-occupied-padding}
; visible = Active workspace on unfocused monitor
label-visible = %index%
label-visible-background = ${self.label-focused-background}
label-visible-underline = ${self.label-focused-underline}
label-visible-padding = ${self.label-focused-padding}
; urgent = Workspace with urgency hint set
label-urgent = %index%
label-urgent-background = ${module/bspwm.label-urgent-background}
label-urgent-padding = ${module/bspwm.label-urgent-padding}
[module/mpd]
type = internal/mpd
format-online = <label-song> <icon-prev> <icon-stop> <toggle> <icon-next>
icon-prev = 
icon-stop = 
icon-play = 
icon-pause = 
icon-next = 
label-song-maxlen = 25
label-song-ellipsis = true
[module/xbacklight]
type = internal/xbacklight
format = <label> <bar>
label = BL
bar-width = 20
bar-indicator = |
bar-indicator-foreground = #ff
bar-indicator-font = 2
bar-fill = ─
bar-fill-font = 2
bar-fill-foreground = #9f78e1
bar-empty = ─
bar-empty-font = 2
bar-empty-foreground = ${colors.foreground-alt}
[module/backlight-acpi]
inherit = module/xbacklight
type = internal/backlight
card = intel_backlight
[module/cpu]
type = internal/cpu
interval = 2
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
format-underline = #f90000
label = %percentage%%
;[module/memory]
;type = internal/memory
;interval = 2
;format-prefix = " "
;format-prefix-foreground = ${colors.foreground-alt}
;format-underline = #4bffdc
;label = %percentage_used%%
[module/memory]
type = internal/memory
interval = 2
; Available tags:
; <label> (default)
; <bar-used>
; <bar-free>
format = <label> <bar-used>
; Available tokens:
; %percentage_used% (default)
; %percentage_free%
; %gb_used%
; %gb_free%
; %gb_total%
; %mb_used%
; %mb_free%
; %mb_total%
label = RAM %gb_used%/%gb_total%
; Only applies if <bar-used> is used
bar-used-indicator =
bar-used-width = 15
bar-used-foreground-0 = #55aa55
bar-used-foreground-1 = #557755
bar-used-foreground-2 = #f5a70a
bar-used-foreground-3 = #ff5555
bar-used-fill = ▐
bar-used-empty = ▐
bar-used-empty-foreground = #444444
format-underline = #4bffdc
[module/wlan]
type = internal/network
interface =
interval = 3.0
format-connected = <ramp-signal> <label-connected>
format-connected-underline = #9f78e1
label-connected = %essid%
format-disconnected =
;format-disconnected = <label-disconnected>
;format-disconnected-underline = ${self.format-connected-underline}
;label-disconnected = %ifname% disconnected
;label-disconnected-foreground = ${colors.foreground-alt}
ramp-signal-0 = 
ramp-signal-1 = 
ramp-signal-2 = 
ramp-signal-3 = 
ramp-signal-4 = 
ramp-signal-foreground = ${colors.foreground-alt}
[module/eth]
type = internal/network
interface =
interval = 3.0
format-connected-underline = #55aa55
format-connected-prefix = " "
format-connected-prefix-foreground = ${colors.foreground-alt}
label-connected = %local_ip%
format-disconnected =
;format-disconnected = <label-disconnected>
;format-disconnected-underline = ${self.format-connected-underline}
;label-disconnected = %ifname% disconnected
;label-disconnected-foreground = ${colors.foreground-alt}
[module/date]
type = internal/date
interval = 5
date = " %Y-%m-%d"
date-alt = " %Y-%m-%d"
time = %H:%M:%S
time-alt = %H:%M:%S
format-prefix =
format-prefix-foreground = ${colors.foreground-alt}
format-underline = #0a6cf5
label = %date% %time%
[module/volume]
type = internal/volume
format-volume = <label-volume> <bar-volume>
label-volume = VOL
label-volume-foreground = ${root.foreground}
format-muted-prefix = " "
format-muted-foreground = ${colors.foreground}
label-muted = " sound muted"
bar-volume-width = 10
bar-volume-foreground-0 = #55aa55
bar-volume-foreground-1 = #55aa55
bar-volume-foreground-2 = #55aa55
bar-volume-foreground-3 = #55aa55
bar-volume-foreground-4 = #55aa55
bar-volume-foreground-5 = #f5a70a
bar-volume-foreground-6 = #ff5555
bar-volume-gradient = false
bar-volume-indicator = |
bar-volume-indicator-font = 2
bar-volume-fill = ─
bar-volume-fill-font = 2
bar-volume-empty = ─
bar-volume-empty-font = 2
bar-volume-empty-foreground = ${colors.foreground-alt}
[module/battery]
type = internal/battery
battery = BAT1
adapter = ACAD
full-at = 98
format-charging = <animation-charging> <label-charging>
format-charging-underline = #ffb52a
format-discharging = <ramp-capacity> <label-discharging>
format-discharging-underline = ${self.format-charging-underline}
format-full-prefix =""
format-full-prefix-foreground = ${colors.foreground-alt}
format-full-underline = ${self.format-charging-underline}
ramp-capacity-0 = 
ramp-capacity-0-foreground = ${colors.alert}
ramp-capacity-1 = 
ramp-capacity-2 = 
ramp-capacity-3 = 
ramp-capacity-foreground = ${colors.foreground-alt}
animation-charging-0 = 
animation-charging-1 = 
animation-charging-2 = 
animation-charging-3 = 
animation-charging-foreground = ${colors.foreground-alt}
animation-charging-framerate = 750
[module/temperature]
type = internal/temperature
thermal-zone = 0
warn-temperature = 60
format = <ramp> <label>
format-underline = #f50a4d
format-warn = <ramp> <label-warn>
format-warn-underline = ${self.format-underline}
label = %temperature%
label-warn = %temperature%
label-warn-foreground = ${colors.secondary}
ramp-0 = 
ramp-1 = 
ramp-2 = 
ramp-3 = 
ramp-foreground = ${colors.foreground-alt}
ramp-3-foreground = ${colors.alert}
[module/powermenu]
type = custom/menu
format-spacing = 1
label-open = 
label-open-foreground = ${colors.secondary}
label-close =  cancel
label-close-foreground = ${colors.secondary}
label-separator = |
label-separator-foreground = ${colors.foreground-alt}
menu-0-0 = reboot
menu-0-0-exec = menu-open-1
menu-0-1 = power off
menu-0-1-exec = menu-open-2
menu-0-2 =  Lock
menu-0-2-exec = i3lock
menu-1-0 = cancel
menu-1-0-exec = menu-open-0
menu-1-1 = reboot
menu-1-1-exec = systemctl reboot
menu-2-0 = power off
menu-2-0-exec = systemctl poweroff
menu-2-1 = cancel
menu-2-1-exec = menu-open-0
[settings]
screenchange-reload = true
;compositing-background = xor
;compositing-background = screen
;compositing-foreground = source
;compositing-border = over
[global/wm]
margin-top = 5
margin-bottom = 5
; vim:ft=dosini

115
i3/switch_monitors.sh Executable file
View File

@@ -0,0 +1,115 @@
#! /bin/sh
#
# switch_monitors.sh
# Copyright (C) 2017 Fabian Ising <fabian@murgi.de>
#
# Distributed under terms of the Apache v2.0 license.
#
# Get info on the monitors
HDMI_STATUS=$(</sys/class/drm/card0/card0-HDMI-A-1/status )
HDMI_ENABLED=$(</sys/class/drm/card0/card0-HDMI-A-1/enabled)
DP_STATUS=$(</sys/class/drm/card0/card0-DP-1/status )
DP_ENABLED=$(</sys/class/drm/card0/card0-DP-1/enabled )
# Check to see if our state log exists
if [ ! -f /tmp/monitor ]; then
touch /tmp/monitor
STATE=5
else
STATE=$(</tmp/monitor)
fi
# The state log has the NEXT state to go to in it
# If monitors are disconnected, stay in state 1
if [ "disconnected" == "$HDMI_STATUS" -a "disconnected" == "$DP_STATUS" ]; then
STATE=5
fi
if [ $1 == "mirror" ]; then
if [ $STATE == 4 ]; then
/usr/bin/notify-send -t 5000 --urgency=low "Graphics Update" "Mirror Stuff from $STATE to 5"
# eDP-1 is on, projectors are mirroring
if [ "connected" == "$HDMI_STATUS" ]; then
/usr/bin/xrandr --output eDP-1 --auto --output HDMI-1 --auto --same-as eDP-1
TYPE="HDMI"
elif [ "connected" == "$DP_STATUS" ]; then
/usr/bin/xrandr --output eDP-1 --auto --output HDMI-1 --off --output DP-1 --auto --same-as eDP-1
TYPE="DP-1"
fi
/usr/bin/notify-send -t 5000 --urgency=low "Graphics Update" "Switched to $TYPE mirroring"
STATE=5
else
/usr/bin/notify-send -t 5000 --urgency=low "Graphics Update" "Mirror Stuff from $STATE to 4"
# eDP-1 is on, projectors are extending
if [ "connected" == "$HDMI_STATUS" ]; then
/usr/bin/xrandr --output eDP-1 --auto --output HDMI-1 --auto --right-of eDP-1
TYPE="HDMI"
elif [ "connected" == "$DP_STATUS" ]; then
/usr/bin/xrandr --output eDP-1 --auto --output HDMI-1 --off --output DP-1 --auto --left-of eDP-1
TYPE="DP-1"
fi
/usr/bin/notify-send -t 5000 --urgency=low "Graphics Update" "Switched to $TYPE extending"
STATE=4
fi
else
TYPE="eDP-1"
case $STATE in
1)
# eDP-1 is on, projectors not connected
/usr/bin/xrandr --output eDP-1 --auto
STATE=2
/usr/bin/notify-send -t 5000 --urgency=low "Graphics Update" "Switched to $TYPE"
;;
2)
# eDP-1 is on, projectors are connected but inactive
/usr/bin/xrandr --output eDP-1 --auto --output HDMI-1 --off
TYPE="eDP-1"
STATE=3
/usr/bin/notify-send -t 5000 --urgency=low "Graphics Update" "Switched to $TYPE"
;;
3)
# eDP-1 is off, projectors are on
if [ "connected" == "$HDMI_STATUS" ]; then
/usr/bin/xrandr --output eDP-1 --off --output HDMI-1 --auto
TYPE="HDMI"
elif [ "connected" == "$DP_STATUS" ]; then
/usr/bin/xrandr --output eDP-1 --off --output HDMI-1 --off --output DP-1 --auto
TYPE="DP-1"
fi
/usr/bin/notify-send -t 5000 --urgency=low "Graphics Update" "Switched to $TYPE"
STATE=4
;;
4)
# eDP-1 is on, projectors are mirroring
if [ "connected" == "$HDMI_STATUS" ]; then
/usr/bin/xrandr --output eDP-1 --auto --output HDMI-1 --auto --same-as eDP-1
TYPE="HDMI"
elif [ "connected" == "$DP_STATUS" ]; then
/usr/bin/xrandr --output eDP-1 --auto --output HDMI-1 --off --output DP-1 --auto --same-as eDP-1
TYPE="DP-1"
fi
/usr/bin/notify-send -t 5000 --urgency=low "Graphics Update" "Switched to $TYPE mirroring"
STATE=5
;;
5)
# eDP-1 is on, projectors are extending
if [ "connected" == "$HDMI_STATUS" ]; then
/usr/bin/xrandr --output eDP-1 --auto --output HDMI-1 --auto --right-of eDP-1
TYPE="HDMI"
elif [ "connected" == "$DP_STATUS" ]; then
/usr/bin/xrandr --output eDP-1 --auto --output HDMI-1 --off --output DP-1 --auto --left-of eDP-1
TYPE="DP-1"
fi
/usr/bin/notify-send -t 5000 --urgency=low "Graphics Update" "Switched to $TYPE extending"
STATE=2
;;
*)
# Unknown state, assume we're in 1
STATE=1
esac
fi
echo $STATE > /tmp/monitor

View File

@@ -11,7 +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
mkdir -p $HOME/.ssh
chmod 700 $HOME/.ssh
cat $PWD/ssh_config >> $HOME/.ssh/config

View File

@@ -1,24 +1,37 @@
set nocompatible set nocompatible
filetype off filetype off
if ((!filereadable(stdpath('config') . "/.shared_config")) || (exists('$SUDO_USER') && $SUDO_USER == 'fabian')) " Find python
let shared_config = 0 if has("macunix")
" 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 else
let shared_config = 1 let g:python_interpreter = 'python3'
echo "Using shared config."
endif endif
let g:python3_host_prog=g:python_interpreter
" Plugins " Plugins
" Note: on most systems, this will make the plugins reside in \ " Note: on most systems, this will make the plugins reside in \
" ~/.local/share/nvim/plugged/ " ~/.local/share/nvim/plugged/
let data_dir = has('nvim') ? stdpath('data') . '/site' : '~/.vim' let data_dir = has('nvim') ? stdpath('data') . '/site' : expand('~/.vim')
if empty(glob(data_dir . '/autoload/plug.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' silent execute '!curl -fLo '.data_dir.'/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
let &runtimepath = &runtimepath let &runtimepath = &runtimepath
autocmd VimEnter * PlugInstall --sync | source $MYVIMRC autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
endif endif
" Disable Perl
let g:loaded_perl_provider = 0
call plug#begin() call plug#begin()
if !exists('g:vscode')
" Warn about plugin updates " Warn about plugin updates
Plug 'semanser/vim-outdated-plugins' Plug 'semanser/vim-outdated-plugins'
@@ -46,15 +59,23 @@ Plug 'ConradIrwin/vim-bracketed-paste'
" Tmux navigation " Tmux navigation
Plug 'christoomey/vim-tmux-navigator' Plug 'christoomey/vim-tmux-navigator'
" YouCompleteMe
function! BuildYCM(info)
" 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.force
execute '!' . g:python_interpreter . ' ./install.py --all'
endif
endfunction
Plug 'ycm-core/YouCompleteMe', { 'do': function('BuildYCM') }
Plug 'rdnetto/YCM-Generator'
" Git " Git
Plug 'tpope/vim-fugitive' Plug 'tpope/vim-fugitive'
" Comments
Plug 'scrooloose/nerdcommenter'
" Surround
Plug 'tpope/vim-surround'
" Snippets " Snippets
" Track the engine. " Track the engine.
Plug 'SirVer/ultisnips' Plug 'SirVer/ultisnips'
@@ -62,6 +83,9 @@ Plug 'SirVer/ultisnips'
Plug 'honza/vim-snippets' Plug 'honza/vim-snippets'
Plug 'ervandew/supertab' Plug 'ervandew/supertab'
"Buftabeline
"Plug 'ap/vim-buftabline'
" Highlight matching xml tags " Highlight matching xml tags
Plug 'Valloric/MatchTagAlways' Plug 'Valloric/MatchTagAlways'
@@ -74,6 +98,18 @@ Plug 'lervag/vimtex'
"Go "Go
Plug '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() call plug#end()
" Run PlugInstall if there are missing plugins " Run PlugInstall if there are missing plugins
@@ -86,8 +122,7 @@ 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
try try
@@ -95,6 +130,7 @@ try
catch catch
" Ignore non existing file " Ignore non existing file
endtry endtry
highlight Comment cterm=italic gui=italic
syntax enable " enable syntax processing syntax enable " enable syntax processing
" Disable annoying bell " Disable annoying bell
@@ -107,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
@@ -119,11 +156,13 @@ 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
@@ -203,7 +242,7 @@ nmap <Leader>t :call TextWrapToggle()<CR>
"augroup END "augroup END
"Copying "Copying
if ((!shared_config) && (exists('$LC_OSC52') && $LC_OSC52 == '1')) if !exists('g:vscode')
lua << EOF lua << EOF
vim.g.clipboard = 'osc52' vim.g.clipboard = 'osc52'
EOF EOF
@@ -218,11 +257,29 @@ nmap <F8> :TagbarToggle<CR>
imap <F8> <ESC>:TagbarToggle<CR>gi imap <F8> <ESC>:TagbarToggle<CR>gi
nmap <C-]> <C-w><C-]><C-w>T nmap <C-]> <C-w><C-]><C-w>T
" YouCompleteMe
let g:ycm_collect_identifiers_from_tags_files = 1 " Read from tag files
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_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_previous_completion = ['<C-k>', '<C-p>', '<Up>']
"Tags "Tags
let g:easytags_async = 1 let g:easytags_async = 1
" make " make
set switchbuf=split set switchbuf=split
"autocmd QuickFixCmdPre make set cmdheight=2
"autocmd QuickFixCmdPost make nested cwindow "Open the quickfix window
"autocmd QuickFixCmdPost make nested lwindow "Change to the quickfix window
"nmap <F9> :silent! make<CR>:redraw!<CR>
"nmap <Leader>m :silent! make<CR>:redraw!<CR>
"nmap <Leader>x :silent! make ex<CR>:redraw!<CR>
"imap <F9> <ESC>:make<CR>:redraw!<CR>i
" vim-templates config-file " vim-templates config-file
try try
@@ -271,10 +328,3 @@ catch
endtry endtry
let g:tex_flavor = "latex" let g:tex_flavor = "latex"
autocmd FileType yaml setlocal ts=2 sts=2 sw=2 expandtab autocmd FileType yaml setlocal ts=2 sts=2 sw=2 expandtab
if filereadable(expand("~/python-envs/neovim/bin/python3"))
let g:python3_host_prog="~/python-envs/neovim/bin/python3"
else
let g:python3_host_prog="/usr/bin/python3"
endif

View File

@@ -1,64 +0,0 @@
#!/bin/sh
#
# Usage: yank [FILE...]
#
# Copies the contents of the given files (or stdin if no files are given) to
# the terminal that runs this program. If this program is run inside tmux(1),
# then it also copies the given contents into tmux's current clipboard buffer.
# If this program is run inside X11, then it also copies to the X11 clipboard.
#
# This is achieved by writing an OSC 52 escape sequence to the said terminal.
# The maximum length of an OSC 52 escape sequence is 100_000 bytes, of which
# 7 bytes are occupied by a "\033]52;c;" header, 1 byte by a "\a" footer, and
# 99_992 bytes by the base64-encoded result of 74_994 bytes of copyable text.
#
# In other words, this program can only copy up to 74_994 bytes of its input.
# However, in such cases, this program tries to bypass the input length limit
# by copying directly to the X11 clipboard if a $DISPLAY server is available;
# otherwise, it emits a warning (on stderr) about the number of bytes dropped.
#
# See http://en.wikipedia.org/wiki/Base64 for the 4*ceil(n/3) length formula.
# See http://sourceforge.net/p/tmux/mailman/message/32221257 for copy limits.
# See http://sourceforge.net/p/tmux/tmux-code/ci/a0295b4c2f6 for DCS in tmux.
#
# Written in 2014 by Suraj N. Kurapati and documented at http://goo.gl/NwYqfW
buf=$( cat "$@" )
# Create the OSC52 escape string.
len=$( printf %s "$buf" | wc -c ) max=74994
test $len -gt $max && echo "$0: input is $(( len - max )) bytes too long" >&2
esc="\033]52;c;$( printf %s "$buf" | head -c $max | base64 | tr -d '\r\n' )\a"
test -n "$TMUX" && esc="\033Ptmux;\033$esc\033\\"
# Output the string to waiting terminals
printf "$esc"
# Attempt to push to the raw SSH_TTY if that exists.
test -n "$SSH_TTY" && printf "$esc" > $SSH_TTY
if [ -n "$TMUX" ]; then
#push the OSC52 esc string to the clients directly.
# tmux_clients=$(tmux list-clients -F "#{client_tty}")
# readarray -t tmux_clients <<<"$tmux_clients"
# for c in ${tmux_clients[@]}; do
# printf "$esc" > $c
# done
#
# And add it directly to the TMUX copy buffer.
test -n "$TMUX" && tmux set-buffer "$buf"
fi
# copy to X11 if possible...
test -n "$DISPLAY" && command -v xsel > /dev/null && command -v xclip > /dev/null \
&& printf %s "$buf" | { xsel -ib || xclip -sel c ;} && exit
# copy to pbcopy on MacOS
command -v pbcopy > /dev/null && printf %s "$buf" | pbcopy
# Copy to remote pbcopy daemon, if attached
if $(nc -z localhost 5556); then
printf %s "$buf" | nc localhost 5556
fi

View File

@@ -5,15 +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
sudo pacman --needed -Sy base-devel xorg xorg-xinit gnome gnome-extra neovim zsh tmux openssh alacritty powerline-fonts python-pip --noconfirm sudo pacman --needed -Sy base-devel gnome neovim zsh tmux openssh alacritty powerline-fonts python-pip python-pynvim --noconfirm
cp $PWD/nvim/scheme.vim.template $PWD/nvim/scheme.vim
cp $PWD/.config/alacritty/schemes.yml.template $PWD/.config/alacritty/schemes.yml
pip3 install neovim
./clone_and_link.sh ./clone_and_link.sh
./copy_fonts_arch.sh ./copy_fonts_arch.sh
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

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,29 +0,0 @@
#! /bin/bash
#
# clone_and_link.sh
# Copyright (C) 2016 fabian <fabian@fabi-laptop-arch>
#
# Distributed under terms of the MIT license.
#
shopt -s nullglob
sudo apt -y update
sudo apt -y dist-upgrade
sudo apt -y install curl zsh tmux virtualenvwrapper powerline fonts-powerline python3 python3-pip python3-pynvim
sudo snap install --classic nvim
./clone_and_link.sh; true
if [ $SHELL != "/bin/zsh" ]; then
chsh -s /usr/bin/zsh;
fi
for filename in zsh/.*_debian.example; do
ln -Tsfv $PWD/$filename $PWD/${filename:0:-15}
done
for filename in tmux/.*_debian.example; do
ln -Tsfv $PWD/$filename $PWD/${filename:0:-15}
done
for filename in nvim/.*_debian.example; do
ln -Tsfv $PWD/$filename $PWD/${filename:0:-15}
done

View File

@@ -1,27 +0,0 @@
#! /usr/bin/zsh
#
# clone_and_link.sh
# Copyright (C) 2016 fabian <fabian@fabi-laptop-arch>
#
# Distributed under terms of the MIT license.
#
sudo apt -y update
sudo apt -y dist-upgrade
sudo apt -y install curl zsh tmux virtualenvwrapper powerline fonts-powerline python3 python3-pip python3-pynvim
sudo snap install --classic nvim
./clone_and_link.sh shared; true
if [ $SHELL != "/bin/zsh" ]; then
chsh -s /usr/bin/zsh;
fi
for filename in zsh/.*_debian.example(N); do
ln -Tsfv $PWD/$filename $PWD/${filename:0:-15}
done
for filename in tmux/.*_debian.example(N); do
ln -Tsfv $PWD/$filename $PWD/${filename:0:-15}
done
for filename in nvim/.*_debian.example(N); do
ln -Tsfv $PWD/$filename $PWD/${filename:0:-15}
done

View File

@@ -1,3 +0,0 @@
Host *
IdentityAgent $SSH_REAL_SOCK
AddKeysToAgent yes

View File

@@ -1 +0,0 @@
Defaults env_keep += "SSH_TTY SSH_CONNECTION SSH_CLIENT"

View File

@@ -1,11 +1,28 @@
set-environment -g PATH "$HOME/dotfiles/scripts:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/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 20000 set -g history-limit 20000
# Remap prefix # Remap prefix
unbind C-b
set-option -g prefix C-a set-option -g prefix C-a
set-option -g prefix2 C-b bind-key C-a send-prefix
bind-key -n C-b send-keys C-b
#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
@@ -30,9 +47,10 @@ 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
#bind-key -Tcopy-mode-vi 'v' send -X begin-selection #bind-key -Tcopy-mode-vi 'v' send -X begin-selection
#bind-key -Tcopy-mode-vi 'y' send -X copy-selection #bind-key -Tcopy-mode-vi 'y' send -X copy-selection
@@ -62,8 +80,6 @@ set -g @yank_action 'copy-pipe'
bind-key -Tcopy-mode-vi 'C-right' send -X next-word bind-key -Tcopy-mode-vi 'C-right' send -X next-word
bind-key -Tcopy-mode-vi 'C-left' send -X previous-word bind-key -Tcopy-mode-vi 'C-left' send -X previous-word
unbind-key -T copy-mode-vi MouseDragEnd1Pane unbind-key -T copy-mode-vi MouseDragEnd1Pane
# Allow copy across SSH
set -g @override_copy_command 'yank > #{pane_tty}'
if '[ `uname` == Darwin ]' \ if '[ `uname` == Darwin ]' \
'source-file ~/.tmux/.mac_config' 'source-file ~/.tmux/.mac_config'
@@ -77,11 +93,13 @@ set -sg escape-time 10
# List of plugins # List of plugins
set -g @plugin 'tmux-plugins/tpm' set -g @plugin 'tmux-plugins/tpm'
# Does not work on servers without GUI 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/red' set -g @plugin 'nhdaly/tmux-better-mouse-mode'
set -g @themepack 'powerline/double/green'
set -g @tpm-clean 'u'
setenv -g TMUX_PLUGIN_MANAGER_PATH "$HOME/.tmux/plugins/" setenv -g TMUX_PLUGIN_MANAGER_PATH "$HOME/.tmux/plugins/"

View File

@@ -1,4 +1,4 @@
#!/bin/bash #!/bin/sh
# #
# tmux-attach - attach to first unattached session or # tmux-attach - attach to first unattached session or
# create new session if none are found # create new session if none are found

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

1
zsh/.gitignore vendored
View File

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

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,21 @@
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

View File

@@ -1 +0,0 @@
[[ -f /etc/zsh_command_not_found ]] && source /etc/zsh_command_not_found

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,10 +1,17 @@
export WORKON_HOME=~/python-envs export WORKON_HOME=~/python-envs
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/bin/virtualenv
mkdir -p $WORKON_HOME mkdir -p $WORKON_HOME
source /usr/share/virtualenvwrapper/virtualenvwrapper.sh source /usr/share/virtualenvwrapper/virtualenvwrapper.sh
if [ -n "$VIRTUAL_ENV" ]; then function workon() {
if [[ -f "$VIRTUAL_ENV/bin/activate" ]]; then if ! { [ "$TERM" = "screen" ] && [ -n "$TMUX" ]; } then
source $VIRTUAL_ENV/bin/activate; if ! { [ -z "$1" ] } then
tmux setenv VIRTUAL_ENV "$1"
fi
source /usr/share/virtualenvwrapper/virtualenvwrapper.sh
workon "$@"
fi fi
}
if [ -n "$VIRTUAL_ENV" ]; then
workon $VIRTUAL_ENV
fi fi

View File

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

View File

@@ -1,16 +1,18 @@
# Load OMZ plugins # Load OMZ plugins
ohmyzsh/ohmyzsh ohmyzsh/ohmyzsh
ohmyzsh/ohmyzsh path:plugins/vi-mode ohmyzsh/ohmyzsh path:lib
ohmyzsh/ohmyzsh path:plugins/git ohmyzsh/ohmyzsh path:plugins/git
ohmyzsh/ohmyzsh path:plugins/golang ohmyzsh/ohmyzsh path:plugins/golang
ohmyzsh/ohmyzsh path:plugins/ssh-agent ohmyzsh/ohmyzsh path:plugins/ssh-agent
ohmyzsh/ohmyzsh path:plugins/pip ohmyzsh/ohmyzsh path:plugins/pip
ohmyzsh/ohmyzsh path:plugins/python ohmyzsh/ohmyzsh path:plugins/python
ohmyzsh/ohmyzsh path:plugins/brew
ohmyzsh/ohmyzsh path:plugins/virtualenv ohmyzsh/ohmyzsh path:plugins/virtualenv
ohmyzsh/ohmyzsh path:plugins/python ohmyzsh/ohmyzsh path:plugins/python
ohmyzsh/ohmyzsh path:plugins/docker
ohmyzsh/ohmyzsh path:plugins/docker-compose
ohmyzsh/ohmyzsh path:plugins/command-not-found 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 romkatv/powerlevel10k
@@ -19,7 +21,9 @@ zsh-users/zsh-autosuggestions
zsh-users/zsh-completions zsh-users/zsh-completions
zsh-users/zsh-history-substring-search zsh-users/zsh-history-substring-search
urbainvaes/fzf-marks urbainvaes/fzf-marks
zdharma-continuum/fast-syntax-highlighting kind:defer zdharma-continuum/fast-syntax-highlighting
# Select with shift
jirutka/zsh-shift-select
# Initialize completions # Initialize completions
belak/zsh-utils path:completion belak/zsh-utils path:completion

View File

@@ -1,23 +0,0 @@
# Load OMZ plugins
ohmyzsh/ohmyzsh
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/virtualenv
ohmyzsh/ohmyzsh path:plugins/python
ohmyzsh/ohmyzsh path:plugins/docker
ohmyzsh/ohmyzsh path:plugins/docker-compose
ohmyzsh/ohmyzsh path:plugins/command-not-found
romkatv/powerlevel10k
zsh-users/zsh-syntax-highlighting
zsh-users/zsh-completions
zsh-users/zsh-history-substring-search
urbainvaes/fzf-marks
zdharma-continuum/fast-syntax-highlighting kind:defer
# Initialize completions
belak/zsh-utils path:completion

View File

@@ -1,66 +1,26 @@
export PATH="/snap/bin:$HOME/.local/bin:$HOME/dotfiles/scripts:$PATH" # Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
export XDG_CONFIG_HOME="$HOME/.config" # Fix nvim bug # Initialization code that may require console input (password prompts, [y/n]
# confirmations, etc.) must go above this block; everything else may go below.
[[ -z $SSH_AUTH_SOCK ]] || export FORWARD_SOCK=$SSH_AUTH_SOCK
[[ -f ~/.zsh/.powerline_config ]] && source ~/.zsh/.powerline_config [[ -f ~/.zsh/.powerline_config ]] && source ~/.zsh/.powerline_config
[[ -f ~/.zsh/.user_config ]] && source ~/.zsh/.user_config
if [[ -f ~/.zsh/.shared_config ]] && [[ "$SUDO_USER" != "fabian" ]] ; then [[ -f ~/.zsh/.virtual_env_config.zsh ]] && source ~/.zsh/.virtual_env_config.zsh
shared_config=1 [[ -f ~/.zsh/.local_config ]] && source ~/.zsh/.local_config
else
shared_config=0
fi
if [[ -f ~/.zsh/.shared_config ]] ; then
touch ~/.config/nvim/.shared_config
fi
update_dotfiles() {
cd ~/dotfiles || return
if git fetch --dry-run 2>&1 | grep -q .; then
git pull > /dev/null 2>&1
fi
}
if [ "$shared_config" -eq 0 ]; then
update_dotfiles 2>&1 &!
export GIT_AUTHOR_NAME="Fabian Ising"
export GIT_AUTHOR_EMAIL="f.ising@fh-muenster.de"
export GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME
export GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL
fi
# Load Antidote # Load Antidote
mkdir -p ${ZDOTDIR:-~}/.cache/zsh mkdir -p ${ZDOTDIR:-~}/.cache/zsh
static_file=${ZDOTDIR:-~}/.cache/zsh/.zsh_plugins.zsh static_file=${ZDOTDIR:-~}/.cache/zsh/.zsh_plugins.zsh
if [ $shared_config -eq 0 ]; then plugins_txt=${ZDOTDIR:-~}/.zsh/.zsh_plugins.txt
plugins_txt=${ZDOTDIR:-~}/.zsh/.zsh_plugins.txt
# Vi mode
bindkey -v
VI_MODE_SET_CURSOR=true
else
plugins_txt=${ZDOTDIR:-~}/.zsh/.zsh_plugins_shared.txt
static_file=${ZDOTDIR:-~}/.cache/zsh/.zsh_shared_plugins.zsh
fi
# clone antidote if necessary # clone antidote if necessary
if ! [[ -e ${ZDOTDIR:-~}/.antidote ]]; then if ! [[ -e ${ZDOTDIR:-~}/.antidote ]]; then
git clone https://github.com/mattmc3/antidote.git ${ZDOTDIR:-~}/.antidote git clone https://github.com/mattmc3/antidote.git ${ZDOTDIR:-~}/.antidote
fi fi
#zstyle ':omz:plugins:docker' legacy-completion yes
zstyle ':completion:*:ssh:*' hosts off zstyle ':completion:*:ssh:*' hosts off
zstyle ':completion:*:scp:*' 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 antidote and load plugins from `${ZDOTDIR:-~}/.zsh_plugins.txt`
source ${ZDOTDIR:-~}/.antidote/antidote.zsh source ${ZDOTDIR:-~}/.antidote/antidote.zsh
antidote load ${plugins_txt} ${static_file} antidote load ${plugins_txt} ${static_file}
export SSH_REAL_SOCK=$SSH_AUTH_SOCK
[[ -z $FORWARD_SOCK ]] || export SSH_AUTH_SOCK=$FORWARD_SOCK
setopt interactivecomments setopt interactivecomments
@@ -80,15 +40,18 @@ setopt HIST_REDUCE_BLANKS # Remove superfluous blanks before recording en
# Clear screen by ctrl+q # Clear screen by ctrl+q
bindkey '^q' clear-screen bindkey '^q' clear-screen
# Bind Ctrl-W to kill-region
bindkey "^w" kill-region
bindkey -v
VI_MODE_SET_CURSOR=true
alias vim=nvim alias vim=nvim
alias sudo='sudo ' alias sudo='sudo '
alias cgrep="grep --color=always"
export EDITOR='nvim' export EDITOR='nvim'
export VISUAL='nvim'
# Allow access to all libvirt vms
export LIBVIRT_DEFAULT_URI="qemu:///system"
alias ls="ls --color=always" alias ls="ls --color=always"
alias cgrep="grep --color=always"
delzip() { delzip() {
unzip -Z -1 "$@" | xargs -I{} rm -rf {} unzip -Z -1 "$@" | xargs -I{} rm -rf {}
@@ -96,25 +59,46 @@ 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 # Workaround for async issues https://github.com/romkatv/powerlevel10k/issues/1554
unset ZSH_AUTOSUGGEST_USE_ASYNC 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() { function load_p10k() {
if zmodload zsh/terminfo && (( terminfo[colors] >= 256 )) && [ $shared_config -eq 0 ]; then if test -f ~/dotfiles/zsh/.p10k.mac.zsh; then
[[ ! -f ~/dotfiles/zsh/.p10k.zsh ]] || source ~/dotfiles/zsh/.p10k.zsh source ~/dotfiles/zsh/.p10k.mac.zsh
else else
[[ ! -f ~/dotfiles/zsh/.p10k_shared.zsh ]] || source ~/dotfiles/zsh/.p10k_shared.zsh [[ ! -f ~/dotfiles/zsh/.p10k.zsh ]] || source ~/dotfiles/zsh/.p10k.zsh
fi fi
} }
load_p10k 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 # This speeds up pasting w/ autosuggest
# https://github.com/zsh-users/zsh-autosuggestions/issues/238 # https://github.com/zsh-users/zsh-autosuggestions/issues/238
pasteinit() { pasteinit() {
@@ -127,14 +111,6 @@ pastefinish() {
} }
zstyle :bracketed-paste-magic paste-init pasteinit zstyle :bracketed-paste-magic paste-init pasteinit
zstyle :bracketed-paste-magic paste-finish pastefinish zstyle :bracketed-paste-magic paste-finish pastefinish
# https://github.com/zsh-users/zsh-autosuggestions/issues/351 # https://github.com/zsh-users/zsh-autosuggestions/issues/351
ZSH_AUTOSUGGEST_CLEAR_WIDGETS+=(bracketed-paste) ZSH_AUTOSUGGEST_CLEAR_WIDGETS+=(bracketed-paste)
export LANG="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
export TIME_STYLE="long-iso"
[[ -f ~/.zsh/.user_config ]] && source ~/.zsh/.user_config
[[ -f ~/.zsh/.virtual_env_config.zsh ]] && source ~/.zsh/.virtual_env_config.zsh
[[ -f ~/.zsh/.local_config ]] && source ~/.zsh/.local_config
[[ -f ~/.zsh/.os_config.zsh ]] && source ~/.zsh/.os_config.zsh