Compare commits
65 Commits
server
...
950d1d371d
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
950d1d371d | ||
|
|
ea019a8e23 | ||
|
|
d599275642 | ||
|
|
2da801cc05 | ||
|
|
3e43a85d37 | ||
|
|
26a04410cd | ||
|
|
15fbcb9787 | ||
|
|
17235038a3 | ||
|
|
4357ddfab9 | ||
|
|
2ec6bd1753 | ||
|
|
8407f9178f | ||
|
|
01219976e2 | ||
|
|
ec600ea478 | ||
|
|
154a77b825 | ||
|
|
1a34f11484 | ||
|
|
cb58e2601b | ||
|
|
83ca8d206e | ||
|
|
d1594924ac | ||
|
|
58f9f1832f | ||
|
|
4cbb1f271b | ||
|
|
47badc0949 | ||
|
|
65cc09edea | ||
|
|
e2e61cd55c | ||
|
|
696a8e7250 | ||
|
|
700a61ab36 | ||
|
|
12e36af05d | ||
|
|
717a2c29b7 | ||
|
|
d9b50de699 | ||
|
|
175e11ab4a | ||
|
|
5eaab4e1f9 | ||
|
|
777a1eeacb | ||
|
|
619c86e1c8 | ||
|
|
c421b2be7f | ||
|
|
3673889d55 | ||
|
|
35e6c623dd | ||
|
|
ea17ee824b | ||
|
|
fbac99c3c5 | ||
|
|
d27b3c1101 | ||
|
|
e1b640fac5 | ||
|
|
7a0f8b2645 | ||
|
|
b08cff74e3 | ||
|
|
2303f6f7f3 | ||
|
|
bb76a182df | ||
|
|
58c80b2b1d | ||
|
|
ad66c9387f | ||
|
|
eb9b2a0792 | ||
|
|
5ec861b4ef | ||
|
|
1c4d4f26fa | ||
|
|
dc6da63645 | ||
|
|
4e6224981e | ||
|
|
4b9610dfb9 | ||
|
|
796510f1da | ||
|
|
7a58e5f86a | ||
|
|
6ac05e9c1c | ||
|
|
f18711f073 | ||
|
|
29cb35f4f3 | ||
|
|
3af2ef2226 | ||
|
|
7039ee7377 | ||
|
|
586492d910 | ||
|
|
7ccb7c4c22 | ||
|
|
4aa982ced8 | ||
|
|
ceb1fb4474 | ||
|
|
bf0d1ea78e | ||
|
|
13b015c693 | ||
|
|
852f6a527e |
58
.config/alacritty/alacritty.toml
Normal file
58
.config/alacritty/alacritty.toml
Normal 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
|
||||||
@@ -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
|
|
||||||
@@ -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 light_mode is None:
|
||||||
if current_color_scheme == "dark_mode":
|
if ALACRITTY_DARK_THEME in color_line:
|
||||||
new_scheme = "solarized_light"
|
color_line = color_line.replace(ALACRITTY_DARK_THEME, ALACRITTY_LIGHT_THEME)
|
||||||
|
new_scheme = "light"
|
||||||
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(
|
elif light_mode == True:
|
||||||
new_scheme)
|
new_scheme = "light"
|
||||||
|
color_line = color_line.replace(ALACRITTY_DARK_THEME, ALACRITTY_LIGHT_THEME)
|
||||||
with open(CONFIG_FILE_PATH, "w") as config_file:
|
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:
|
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__":
|
||||||
|
if len(sys.argv) == 2:
|
||||||
|
main(sys.argv == "light")
|
||||||
|
else:
|
||||||
main()
|
main()
|
||||||
|
|||||||
23
.config/alacritty/dark_mode.toml
Normal file
23
.config/alacritty/dark_mode.toml
Normal 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
41
.config/alacritty/screenshot_mode.py
Normal file
41
.config/alacritty/screenshot_mode.py
Normal 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")
|
||||||
23
.config/alacritty/solarized_light.toml
Normal file
23
.config/alacritty/solarized_light.toml
Normal 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
1
.gitignore
vendored
@@ -1,5 +1,4 @@
|
|||||||
*.swp
|
*.swp
|
||||||
.shared_config
|
|
||||||
tags
|
tags
|
||||||
.DS_STORE
|
.DS_STORE
|
||||||
__pycache__
|
__pycache__
|
||||||
|
|||||||
1
.gitignore_global
Normal file
1
.gitignore_global
Normal file
@@ -0,0 +1 @@
|
|||||||
|
.DS_Store
|
||||||
10
brew_autoupdate
Executable file
10
brew_autoupdate
Executable 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
|
||||||
@@ -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
20
clone_and_link_mac.sh
Executable 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
9
compile_ycm.sh
Normal 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
|
||||||
BIN
fonts/FuraMono-Bold Powerline.otf
Normal file
BIN
fonts/FuraMono-Bold Powerline.otf
Normal file
Binary file not shown.
BIN
fonts/FuraMono-Medium Powerline.otf
Normal file
BIN
fonts/FuraMono-Medium Powerline.otf
Normal file
Binary file not shown.
BIN
fonts/FuraMono-Regular Powerline.otf
Normal file
BIN
fonts/FuraMono-Regular Powerline.otf
Normal file
Binary file not shown.
12
general_setup.sh
Executable file
12
general_setup.sh
Executable 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
3
gitconfig/fhms.gitconfig
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
[user]
|
||||||
|
name = Fabian Ising
|
||||||
|
email = f.ising@fh-muenster.de
|
||||||
35
gitconfig/gitconfig
Normal file
35
gitconfig/gitconfig
Normal 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
|
||||||
3
gitconfig/github.gitconfig
Normal file
3
gitconfig/github.gitconfig
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
[user]
|
||||||
|
name = Fabian Ising
|
||||||
|
email = github@murgi.de
|
||||||
3
gitconfig/murgi.gitconfig
Normal file
3
gitconfig/murgi.gitconfig
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
[user]
|
||||||
|
name = Fabian Ising
|
||||||
|
email = fabian@murgi.de
|
||||||
3
gitconfig/sit.gitconfig
Normal file
3
gitconfig/sit.gitconfig
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
[user]
|
||||||
|
name = Fabian Ising
|
||||||
|
email = fabian.ising@sit.fraunhofer.de
|
||||||
104
i3/.Xresources
Normal file
104
i3/.Xresources
Normal 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
5
i3/.xinitrc
Normal 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
|
||||||
1
i3/98-monitor-hotplug.rules
Normal file
1
i3/98-monitor-hotplug.rules
Normal 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
62
i3/auto_monitor.sh
Executable 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
232
i3/i3config
Normal 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 doesn’t 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 window’s width.
|
||||||
|
# Pressing right will grow the window’s width.
|
||||||
|
# Pressing up will shrink the window’s height.
|
||||||
|
# Pressing down will grow the window’s height.
|
||||||
|
bindsym j resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym k resize grow height 10 px or 10 ppt
|
||||||
|
bindsym l resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym 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
25
i3/link_config.sh
Executable 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
474
i3/polybarconfig
Normal 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
115
i3/switch_monitors.sh
Executable 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
|
||||||
@@ -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
|
|
||||||
|
|||||||
@@ -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
|
else
|
||||||
let shared_config = 1
|
let g:python_interpreter="/usr/local/bin/python3"
|
||||||
echo "Using shared config."
|
|
||||||
endif
|
endif
|
||||||
|
let g:tagbar_ctags="/opt/homebrew/bin/ctags"
|
||||||
|
else
|
||||||
|
let g:python_interpreter = 'python3'
|
||||||
|
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,11 +242,6 @@ nmap <Leader>t :call TextWrapToggle()<CR>
|
|||||||
"augroup END
|
"augroup END
|
||||||
|
|
||||||
"Copying
|
"Copying
|
||||||
if ((!shared_config) && (exists('$LC_OSC52') && $LC_OSC52 == '1'))
|
|
||||||
lua << EOF
|
|
||||||
vim.g.clipboard = 'osc52'
|
|
||||||
EOF
|
|
||||||
endif
|
|
||||||
set clipboard=unnamedplus,unnamed " Copy/Paste
|
set clipboard=unnamedplus,unnamed " Copy/Paste
|
||||||
|
|
||||||
" Airline
|
" Airline
|
||||||
@@ -218,11 +252,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 +323,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
|
|
||||||
|
|
||||||
|
|||||||
64
scripts/yank
64
scripts/yank
@@ -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
|
|
||||||
@@ -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
35
setup_mac.sh
Executable 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."
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
Host *
|
|
||||||
IdentityAgent $SSH_REAL_SOCK
|
|
||||||
AddKeysToAgent yes
|
|
||||||
@@ -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/"
|
||||||
|
|
||||||
|
|||||||
@@ -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
77
update_mac.sh
Executable 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
|
||||||
6
virtualenvwrapper/postactivate
Normal file
6
virtualenvwrapper/postactivate
Normal 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
|
||||||
6
virtualenvwrapper/postdeactivate
Normal file
6
virtualenvwrapper/postdeactivate
Normal 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
|
||||||
4
virtualenvwrapper/postmkvirtualenv
Normal file
4
virtualenvwrapper/postmkvirtualenv
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/zsh
|
||||||
|
# This hook is sourced after a new virtualenv is activated.
|
||||||
|
|
||||||
|
pip3 install neovim
|
||||||
1
zsh/.gitignore
vendored
1
zsh/.gitignore
vendored
@@ -1,4 +1,5 @@
|
|||||||
.*_config*
|
.*_config*
|
||||||
!.*_config*.example
|
!.*_config*.example
|
||||||
|
.p10k.zsh
|
||||||
.p10k.mac.zsh
|
.p10k.mac.zsh
|
||||||
antigen/
|
antigen/
|
||||||
|
|||||||
@@ -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"
|
|
||||||
21
zsh/.mac_config.zsh_mac.example
Normal file
21
zsh/.mac_config.zsh_mac.example
Normal 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
|
||||||
@@ -1 +0,0 @@
|
|||||||
[[ -f /etc/zsh_command_not_found ]] && source /etc/zsh_command_not_found
|
|
||||||
1635
zsh/.p10k.zsh
1635
zsh/.p10k.zsh
File diff suppressed because it is too large
Load Diff
1709
zsh/.p10k_shared.zsh
1709
zsh/.p10k_shared.zsh
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||||
|
|
||||||
|
function workon() {
|
||||||
|
if ! { [ "$TERM" = "screen" ] && [ -n "$TMUX" ]; } then
|
||||||
|
if ! { [ -z "$1" ] } then
|
||||||
|
tmux setenv VIRTUAL_ENV "$1"
|
||||||
|
fi
|
||||||
|
source /usr/share/virtualenvwrapper/virtualenvwrapper.sh
|
||||||
|
workon "$@"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
if [ -n "$VIRTUAL_ENV" ]; then
|
if [ -n "$VIRTUAL_ENV" ]; then
|
||||||
if [[ -f "$VIRTUAL_ENV/bin/activate" ]]; then
|
workon $VIRTUAL_ENV
|
||||||
source $VIRTUAL_ENV/bin/activate;
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
|
||||||
119
zsh/.zshrc
119
zsh/.zshrc
@@ -1,94 +1,44 @@
|
|||||||
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
|
||||||
|
setopt HIST_IGNORE_SPACE
|
||||||
# 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
|
||||||
|
|
||||||
|
# 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 +46,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 +98,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
|
|
||||||
|
|||||||
Reference in New Issue
Block a user