current
This commit is contained in:
parent
07816eb302
commit
09d717fab8
63 changed files with 2945 additions and 34 deletions
33
.gitmodules
vendored
Normal file
33
.gitmodules
vendored
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
[submodule "/home/michael/dotfiles/vim/pack/plugins/start/nerdtree"]
|
||||
path = /home/michael/dotfiles/vim/pack/plugins/start/nerdtree
|
||||
url = https://github.com/preservim/nerdtree.git
|
||||
[submodule "/home/michael/dotfiles/vim/.vim/pack/plugins/start/nerdtree-git-plugin"]
|
||||
path = /home/michael/dotfiles/vim/.vim/pack/plugins/start/nerdtree-git-plugin
|
||||
url = https://github.com/Xuyuanp/nerdtree-git-plugin.git
|
||||
[submodule "vim/.vim/pack/plugins/start/vim-perl"]
|
||||
path = vim/.vim/pack/plugins/start/vim-perl
|
||||
url = https://github.com/vim-perl/vim-perl.git
|
||||
[submodule "vim/.vim/pack/plugins/start/ale"]
|
||||
path = vim/.vim/pack/plugins/start/ale
|
||||
url = https://github.com/dense-analysis/ale.git
|
||||
[submodule "vim/.vim/pack/plugins/start/fzf"]
|
||||
path = vim/.vim/pack/plugins/start/fzf
|
||||
url = https://github.com/junegunn/fzf.git
|
||||
[submodule "vim/.vim/pack/plugins/start/fzf.vim"]
|
||||
path = vim/.vim/pack/plugins/start/fzf.vim
|
||||
url = https://github.com/junegunn/fzf.vim.git
|
||||
[submodule "vim/.vim/pack/plugins/start/vim-commentary"]
|
||||
path = vim/.vim/pack/plugins/start/vim-commentary
|
||||
url = https://github.com/tpope/vim-commentary.git
|
||||
[submodule "vim/.vim/pack/plugins/start/vim-airline"]
|
||||
path = vim/.vim/pack/plugins/start/vim-airline
|
||||
url = https://github.com/vim-airline/vim-airline.git
|
||||
[submodule "vim/.vim/pack/plugins/start/nord-vim"]
|
||||
path = vim/.vim/pack/plugins/start/nord-vim
|
||||
url = https://github.com/arcticicestudio/nord-vim.git
|
||||
[submodule "tmux/.tmux/themes/nord-tmux"]
|
||||
path = tmux/.tmux/themes/nord-tmux
|
||||
url = https://github.com/nordtheme/tmux.git
|
||||
[submodule "emacs/.config/emacs"]
|
||||
path = emacs/.config/emacs
|
||||
url = https://github.com/doomemacs/doomemacs
|
||||
1
bash/.alias
Normal file
1
bash/.alias
Normal file
|
|
@ -0,0 +1 @@
|
|||
alias vim=nvim
|
||||
16
bash/.bashrc
16
bash/.bashrc
|
|
@ -12,12 +12,26 @@
|
|||
|
||||
test -s ~/.alias && . ~/.alias || true
|
||||
|
||||
|
||||
#function set_perllib() {
|
||||
# if [[ "$PWD" == "$HOME/work/os-autoinst-distri-opensuse"* ]]; then
|
||||
# export PERL5LIB="$HOME/work/os-autoinst-distri-opensuse/lib"
|
||||
# else
|
||||
# unset PERL5LIB
|
||||
# fi
|
||||
#}
|
||||
|
||||
#PROMPT_COMMAND="set_perllib;$PROMPT_COMMAND"
|
||||
|
||||
|
||||
export MOZ_ENABLE_WAYLAND=1
|
||||
export QUTE_PASS_MENU=rofi
|
||||
|
||||
export TERMINAL=kitty
|
||||
export EDITOR="emacs -nw"
|
||||
export EDITOR="nvim"
|
||||
|
||||
export PATH="$PATH:/home/michael/bin/yubico-authenticator-7.2.3-linux"
|
||||
|
||||
eval "$(keychain --quiet --eval --agents ssh)"
|
||||
|
||||
|
||||
|
|
|
|||
25
bash/.profile
Normal file
25
bash/.profile
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
# Sample .profile for SUSE Linux
|
||||
# rewritten by Christian Steinruecken <cstein@suse.de>
|
||||
#
|
||||
# This file is read each time a login shell is started.
|
||||
# All other interactive shells will only read .bashrc; this is particularly
|
||||
# important for language settings, see below.
|
||||
|
||||
test -z "$PROFILEREAD" && . /etc/profile || true
|
||||
|
||||
# Some applications read the EDITOR variable to determine your favourite text
|
||||
# editor. So uncomment the line below and enter the editor of your choice :-)
|
||||
export EDITOR=/usr/bin/vim
|
||||
#export EDITOR=/usr/bin/mcedit
|
||||
export MOZ_ENABLE_WAYLAND=1
|
||||
# For some news readers it makes sense to specify the NEWSSERVER variable here
|
||||
#export NEWSSERVER=your.news.server
|
||||
|
||||
# Some people don't like fortune. If you uncomment the following lines,
|
||||
# you will have a fortune each time you log in ;-)
|
||||
|
||||
#if [ -x /usr/bin/fortune ] ; then
|
||||
# echo
|
||||
# /usr/bin/fortune
|
||||
# echo
|
||||
#fi
|
||||
1
emacs/.config/emacs
Submodule
1
emacs/.config/emacs
Submodule
|
|
@ -0,0 +1 @@
|
|||
Subproject commit ed9190ef005829c7a2331e12fb36207794c5ad75
|
||||
5
environment/.config/environment.d/99-sway.conf
Normal file
5
environment/.config/environment.d/99-sway.conf
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
XDG_CURRENT_DESKTOP=sway
|
||||
XDG_SESSION_TYPE=wayland
|
||||
XDG_DESKTOP_PORTAL=xdg-desktop-portal-wlr
|
||||
|
||||
|
||||
6
foot/.config/foot/foot.ini
Normal file
6
foot/.config/foot/foot.ini
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
# -*- conf -*-
|
||||
[main]
|
||||
include=/usr/share/foot/themes/tokyonight-night
|
||||
|
||||
#font=JetBrains Mono:size=11, Symbols Nerd Font:size=11
|
||||
font=FiraCode Nerd Font:size=11
|
||||
18
fuzzel/.config/fuzzel/fuzzel.ini
Normal file
18
fuzzel/.config/fuzzel/fuzzel.ini
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
[main]
|
||||
font = monospace:size=10
|
||||
lines = 1
|
||||
width = 100 # ← GANZE Breite
|
||||
horizontal-pad = 10
|
||||
vertical-pad = 5
|
||||
inner-pad = 5
|
||||
anchor = center
|
||||
layer = overlay
|
||||
|
||||
[colors]
|
||||
background=16161eff
|
||||
text=c0caf5ff
|
||||
match=2ac3deff
|
||||
selection=343a55ff
|
||||
selection-match=2ac3deff
|
||||
selection-text=c0caf5ff
|
||||
border=27a1b9ff
|
||||
35
hyperland/.config/hypr/conf/animations.conf
Normal file
35
hyperland/.config/hypr/conf/animations.conf
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
animations {
|
||||
enabled = true
|
||||
# Animation curves
|
||||
|
||||
bezier = linear, 0, 0, 1, 1
|
||||
bezier = md3_standard, 0.2, 0, 0, 1
|
||||
bezier = md3_decel, 0.05, 0.7, 0.1, 1
|
||||
bezier = md3_accel, 0.3, 0, 0.8, 0.15
|
||||
bezier = overshot, 0.05, 0.9, 0.1, 1.1
|
||||
bezier = crazyshot, 0.1, 1.5, 0.76, 0.92
|
||||
bezier = hyprnostretch, 0.05, 0.9, 0.1, 1.0
|
||||
bezier = menu_decel, 0.1, 1, 0, 1
|
||||
bezier = menu_accel, 0.38, 0.04, 1, 0.07
|
||||
bezier = easeInOutCirc, 0.85, 0, 0.15, 1
|
||||
bezier = easeOutCirc, 0, 0.55, 0.45, 1
|
||||
bezier = easeOutExpo, 0.16, 1, 0.3, 1
|
||||
bezier = softAcDecel, 0.26, 0.26, 0.15, 1
|
||||
bezier = md2, 0.4, 0, 0.2, 1 # use with .2s duration
|
||||
# Animation configs
|
||||
animation = windows, 1, 3, md3_decel, popin 60%
|
||||
animation = windowsIn, 1, 3, md3_decel, popin 60%
|
||||
animation = windowsOut, 1, 3, md3_accel, popin 60%
|
||||
animation = border, 1, 10, default
|
||||
animation = fade, 1, 3, md3_decel
|
||||
# animation = layers, 1, 2, md3_decel, slide
|
||||
animation = layersIn, 1, 3, menu_decel, slide
|
||||
animation = layersOut, 1, 1.6, menu_accel
|
||||
animation = fadeLayersIn, 1, 2, menu_decel
|
||||
animation = fadeLayersOut, 1, 4.5, menu_accel
|
||||
animation = workspaces, 1, 7, menu_decel, slide
|
||||
# animation = workspaces, 1, 2.5, softAcDecel, slide
|
||||
# animation = workspaces, 1, 7, menu_decel, slidefade 15%
|
||||
# animation = specialWorkspace, 1, 3, md3_decel, slidefadevert 15%
|
||||
animation = specialWorkspace, 1, 3, md3_decel, slidevert
|
||||
}
|
||||
7
hyperland/.config/hypr/conf/autostart.conf
Normal file
7
hyperland/.config/hypr/conf/autostart.conf
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
# Execute your favorite apps at launch
|
||||
exec-once = hyprpaper
|
||||
exec-once = dunst
|
||||
|
||||
exec-once = nm-applet --indicator
|
||||
exec-once = waybar -c ~/.config/waybar/config-hyprland -s ~/.config/waybar/style.css
|
||||
exec = ~/.config/ml4w-hyprland-settings/hyprctl.sh
|
||||
69
hyperland/.config/hypr/conf/binds.conf
Normal file
69
hyperland/.config/hypr/conf/binds.conf
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||
|
||||
# SUPER key
|
||||
$mainMod = SUPER
|
||||
|
||||
# Actions
|
||||
bind = $mainMod, RETURN, exec, foot # Open Alactritty
|
||||
bind = $mainMod, Q, killactive # Close current window
|
||||
bind = $mainMod, M, exit # Exit Hyprland
|
||||
bind = $mainMod, E, exec, ~/.config/ml4w/settings/filemanager.sh # Opens the filemanager
|
||||
bind = $mainMod, T, togglefloating # Toggle between tiling and floating window
|
||||
bind = $mainMod, F, fullscreen # Open the window in fullscreen
|
||||
bind = $mainMod CTRL, RETURN, exec, rofi -show drun # Open rofi
|
||||
bind = $mainMod, P, pseudo, # dwindle
|
||||
bind = $mainMod, J, togglesplit, # dwindle
|
||||
bind = $mainMod, B, exec, ~/.config/ml4w/settings/browser.sh # Opens the browser
|
||||
bind = $mainMod SHIFT, B, exec, ~/.config/ml4w/scripts/reload-waybar.sh # Reload Waybar
|
||||
bind = $mainMod SHIFT, W, exec, ~/.config/ml4w/scripts/reload-hyprpaper.sh # Reload hyprpaper after a changing the wallpaper
|
||||
bind = , XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 5%+
|
||||
bind = , XF86AudioLowerVolume, exec, wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 5%-
|
||||
bind = , XF86MonBrightnessUp, exec, brightnessctl set 10%+
|
||||
bind = , XF86MonBrightnessDown, exec, brightnessctl set 10%-
|
||||
bind = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
||||
bind = , XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
|
||||
bind = , XF86WLAN, exec, nmcli radio wifi toggle
|
||||
bind = , XF86Refresh, exec, xdotool key F5
|
||||
|
||||
bind = $mainMod SHIFT, P, exec, hyprshot -m output
|
||||
|
||||
# Move focus with mainMod + arrow keys
|
||||
bind = $mainMod, left, movefocus, l # Move focus left
|
||||
bind = $mainMod, right, movefocus, r # Move focus right
|
||||
bind = $mainMod, up, movefocus, u # Move focus up
|
||||
bind = $mainMod, down, movefocus, d # Move focus down
|
||||
|
||||
# Switch workspaces with mainMod + [0-9]
|
||||
bind = $mainMod, 1, workspace, 1 # Switch to workspace 1
|
||||
bind = $mainMod, 2, workspace, 2 # Switch to workspace 2
|
||||
bind = $mainMod, 3, workspace, 3 # Switch to workspace 3
|
||||
bind = $mainMod, 4, workspace, 4 # Switch to workspace 4
|
||||
bind = $mainMod, 5, workspace, 5 # Switch to workspace 5
|
||||
bind = $mainMod, 6, workspace, 6 # Switch to workspace 6
|
||||
bind = $mainMod, 7, workspace, 7 # Switch to workspace 7
|
||||
bind = $mainMod, 8, workspace, 8 # Switch to workspace 8
|
||||
bind = $mainMod, 9, workspace, 9 # Switch to workspace 9
|
||||
bind = $mainMod, 0, workspace, 10 # Switch to workspace 10
|
||||
|
||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||
bind = $mainMod SHIFT, 1, movetoworkspace, 1 # Move window to workspace 1
|
||||
bind = $mainMod SHIFT, 2, movetoworkspace, 2 # Move window to workspace 2
|
||||
bind = $mainMod SHIFT, 3, movetoworkspace, 3 # Move window to workspace 3
|
||||
bind = $mainMod SHIFT, 4, movetoworkspace, 4 # Move window to workspace 4
|
||||
bind = $mainMod SHIFT, 5, movetoworkspace, 5 # Move window to workspace 5
|
||||
bind = $mainMod SHIFT, 6, movetoworkspace, 6 # Move window to workspace 6
|
||||
bind = $mainMod SHIFT, 7, movetoworkspace, 7 # Move window to workspace 7
|
||||
bind = $mainMod SHIFT, 8, movetoworkspace, 8 # Move window to workspace 8
|
||||
bind = $mainMod SHIFT, 9, movetoworkspace, 9 # Move window to workspace 9
|
||||
bind = $mainMod SHIFT, 0, movetoworkspace, 10 # Move window to workspace 10
|
||||
|
||||
# Scroll through existing workspaces with mainMod + scroll
|
||||
bind = $mainMod, mouse_down, workspace, e+1 # Scroll workspaces
|
||||
bind = $mainMod, mouse_up, workspace, e-1 # Scroll workspaces
|
||||
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
bindm = $mainMod, mouse:272, movewindow # Move window
|
||||
bindm = $mainMod, mouse:273, resizewindow # Resize window
|
||||
|
||||
bind = $mainMod, d, exec, /usr/bin/bemenu-run
|
||||
#bind = $mainMod, D, exec, BEMENU_BACKEND=wayland /usr/bin/bemenu-run --fn "monospace 10" --nb "#000000" --nf "#ffffff" --hb "#005577" --hf "#ffffff" --fb "#000000" --ff "#00ffff" --tb "#000000" --tf "#ffffff" --prompt "Run: " --line-height 24 --border 0
|
||||
1
hyperland/.config/hypr/conf/cursor.conf
Normal file
1
hyperland/.config/hypr/conf/cursor.conf
Normal file
|
|
@ -0,0 +1 @@
|
|||
env = XCURSOR_SIZE,24
|
||||
4
hyperland/.config/hypr/conf/decoration.conf
Normal file
4
hyperland/.config/hypr/conf/decoration.conf
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
decoration {
|
||||
rounding = 6
|
||||
}
|
||||
|
||||
36
hyperland/.config/hypr/conf/environments.conf
Normal file
36
hyperland/.config/hypr/conf/environments.conf
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
# XDG Desktop Portal
|
||||
env = XDG_CURRENT_DESKTOP,Hyprland
|
||||
env = XDG_SESSION_TYPE,wayland
|
||||
env = XDG_SESSION_DESKTOP,Hyprland
|
||||
|
||||
# QT
|
||||
env = QT_QPA_PLATFORM,wayland;xcb
|
||||
env = QT_QPA_PLATFORMTHEME,qt6ct
|
||||
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
|
||||
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
|
||||
|
||||
# GTK
|
||||
env = GDK_SCALE,1
|
||||
|
||||
# Mozilla
|
||||
env = MOZ_ENABLE_WAYLAND,1
|
||||
|
||||
# Set the cursor size for xcursor
|
||||
env = XCURSOR_SIZE,24
|
||||
|
||||
# Disable appimage launcher by default
|
||||
env = APPIMAGELAUNCHER_DISABLE,1
|
||||
|
||||
# OZONE
|
||||
env = OZONE_PLATFORM,wayland
|
||||
|
||||
# For KVM virtual machines
|
||||
# env = WLR_NO_HARDWARE_CURSORS, 1
|
||||
# env = WLR_RENDERER_ALLOW_SOFTWARE, 1
|
||||
|
||||
# NVIDIA https://wiki.hyprland.org/Nvidia/
|
||||
#env = LIBVA_DRIVER_NAME,nvidia
|
||||
#env = GBM_BACKEND,nvidia-drm
|
||||
#env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
||||
#env = __GL_VRR_ALLOWED,1
|
||||
#env = WLR_DRM_NO_ATOMIC,1
|
||||
10
hyperland/.config/hypr/conf/general.conf
Normal file
10
hyperland/.config/hypr/conf/general.conf
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
general {
|
||||
gaps_in = 5
|
||||
gaps_out = 20
|
||||
border_size = 2
|
||||
col.active_border = rgba(4f76c7ff) # Kuronami-Blau
|
||||
col.inactive_border = rgba(1a1a1aff) # Dunkles Grau
|
||||
layout = dwindle
|
||||
resize_on_border = true
|
||||
}
|
||||
4
hyperland/.config/hypr/conf/gestures.conf
Normal file
4
hyperland/.config/hypr/conf/gestures.conf
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
gestures {
|
||||
workspace_swipe = true
|
||||
}
|
||||
16
hyperland/.config/hypr/conf/input.conf
Normal file
16
hyperland/.config/hypr/conf/input.conf
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
|
||||
input {
|
||||
kb_layout = de
|
||||
kb_variant = nodeadkeys
|
||||
kb_model =
|
||||
kb_options =
|
||||
kb_rules =
|
||||
|
||||
follow_mouse = 1
|
||||
|
||||
touchpad {
|
||||
natural_scroll = false
|
||||
}
|
||||
|
||||
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
||||
}
|
||||
10
hyperland/.config/hypr/conf/layouts.conf
Normal file
10
hyperland/.config/hypr/conf/layouts.conf
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
dwindle {
|
||||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
||||
pseudotile = true # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||
preserve_split = true # you probably want this
|
||||
}
|
||||
|
||||
master {
|
||||
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
||||
# new_status = master
|
||||
}
|
||||
5
hyperland/.config/hypr/conf/misc.conf
Normal file
5
hyperland/.config/hypr/conf/misc.conf
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
misc {
|
||||
disable_hyprland_logo = true
|
||||
disable_splash_rendering = true
|
||||
}
|
||||
2
hyperland/.config/hypr/conf/monitor.conf
Normal file
2
hyperland/.config/hypr/conf/monitor.conf
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||
monitor=,preferred,auto,1
|
||||
1
hyperland/.config/hypr/conf/windowrules.conf
Normal file
1
hyperland/.config/hypr/conf/windowrules.conf
Normal file
|
|
@ -0,0 +1 @@
|
|||
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
||||
25
hyperland/.config/hypr/hyprland.conf
Normal file
25
hyperland/.config/hypr/hyprland.conf
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
|
||||
# _ _ _ _
|
||||
# | | | |_ _ _ __ _ __| | __ _ _ __ __| |
|
||||
# | |_| | | | | '_ \| '__| |/ _` | '_ \ / _` |
|
||||
# | _ | |_| | |_) | | | | (_| | | | | (_| |
|
||||
# |_| |_|\__, | .__/|_| |_|\__,_|_| |_|\__,_|
|
||||
# |___/|_|
|
||||
#
|
||||
# -----------------------------------------------------
|
||||
# Full documentation https://wiki.hyprland.org
|
||||
|
||||
source = ~/.config/hypr/conf/monitor.conf
|
||||
source = ~/.config/hypr/conf/autostart.conf
|
||||
source = ~/.config/hypr/conf/cursor.conf
|
||||
source = ~/.config/hypr/conf/environments.conf
|
||||
source = ~/.config/hypr/conf/input.conf
|
||||
source = ~/.config/hypr/conf/general.conf
|
||||
source = ~/.config/hypr/conf/decoration.conf
|
||||
source = ~/.config/hypr/conf/animations.conf
|
||||
source = ~/.config/hypr/conf/layouts.conf
|
||||
source = ~/.config/hypr/conf/gestures.conf
|
||||
source = ~/.config/hypr/conf/misc.conf
|
||||
source = ~/.config/hypr/conf/windowrules.conf
|
||||
source = ~/.config/hypr/conf/binds.conf
|
||||
|
||||
70
hyperland/.config/hypr/hyprlock.conf
Normal file
70
hyperland/.config/hypr/hyprlock.conf
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
# _ _ _
|
||||
# | |__ _ _ _ __ _ __| | ___ ___| | __
|
||||
# | '_ \| | | | '_ \| '__| |/ _ \ / __| |/ /
|
||||
# | | | | |_| | |_) | | | | (_) | (__| <
|
||||
# |_| |_|\__, | .__/|_| |_|\___/ \___|_|\_\
|
||||
# |___/|_|
|
||||
#
|
||||
|
||||
background {
|
||||
monitor =
|
||||
path = $HOME/.config/ml4w/wallpapers/hyprland.png
|
||||
|
||||
}
|
||||
|
||||
input-field {
|
||||
monitor =
|
||||
size = 200, 50
|
||||
outline_thickness = 3
|
||||
dots_size = 0.33 # Scale of input-field height, 0.2 - 0.8
|
||||
dots_spacing = 0.15 # Scale of dots' absolute size, 0.0 - 1.0
|
||||
dots_center = true
|
||||
dots_rounding = -1 # -1 default circle, -2 follow input-field rounding
|
||||
outer_color = rgb(151515)
|
||||
inner_color = rgb(FFFFFF)
|
||||
font_color = rgb(10, 10, 10)
|
||||
fade_on_empty = true
|
||||
fade_timeout = 1000 # Milliseconds before fade_on_empty is triggered.
|
||||
placeholder_text = <i>Input Password...</i> # Text rendered in the input box when it's empty.
|
||||
hide_input = false
|
||||
rounding = -1 # -1 means complete rounding (circle/oval)
|
||||
check_color = rgb(204, 136, 34)
|
||||
fail_color = rgb(204, 34, 34) # if authentication failed, changes outer_color and fail message color
|
||||
fail_text = <i>$FAIL <b>($ATTEMPTS)</b></i> # can be set to empty
|
||||
fail_transition = 300 # transition time in ms between normal outer_color and fail_color
|
||||
capslock_color = -1
|
||||
numlock_color = -1
|
||||
bothlock_color = -1 # when both locks are active. -1 means don't change outer color (same for above)
|
||||
invert_numlock = false # change color if numlock is off
|
||||
swap_font_color = false # see below
|
||||
position = 0, -20
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
|
||||
label {
|
||||
monitor =
|
||||
#clock
|
||||
text = cmd[update:1000] echo "$TIME"
|
||||
color = rgba(200, 200, 200, 1.0)
|
||||
font_size = 55
|
||||
font_family = Fira Semibold
|
||||
position = -100, 40
|
||||
halign = right
|
||||
valign = bottom
|
||||
shadow_passes = 5
|
||||
shadow_size = 10
|
||||
}
|
||||
|
||||
label {
|
||||
monitor =
|
||||
text = $USER
|
||||
color = rgba(200, 200, 200, 1.0)
|
||||
font_size = 20
|
||||
font_family = Fira Semibold
|
||||
position = -100, 160
|
||||
halign = right
|
||||
valign = bottom
|
||||
shadow_passes = 5
|
||||
shadow_size = 10
|
||||
}
|
||||
5
hyperland/.config/hypr/hyprpaper.conf
Normal file
5
hyperland/.config/hypr/hyprpaper.conf
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
# You can find more wallpapers in ~/.config/ml4w/wallpapers/
|
||||
# Run ~/.config/hypr/reload-hyprpaper.sh after changing your wallpaper
|
||||
preload = ~/.config/ml4w/wallpapers/wallpaper.jpg
|
||||
wallpaper = ,~/.config/ml4w/wallpapers/wallpaper.jpg
|
||||
splash = false
|
||||
80
kitty/.config/kitty/catppuccin-mocha.conf
Normal file
80
kitty/.config/kitty/catppuccin-mocha.conf
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
# vim:ft=kitty
|
||||
|
||||
## name: Catppuccin Kitty Mocha
|
||||
## author: Catppuccin Org
|
||||
## license: MIT
|
||||
## upstream: https://github.com/catppuccin/kitty/blob/main/themes/mocha.conf
|
||||
## blurb: Soothing pastel theme for the high-spirited!
|
||||
|
||||
|
||||
|
||||
# The basic colors
|
||||
foreground #cdd6f4
|
||||
background #1e1e2e
|
||||
selection_foreground #1e1e2e
|
||||
selection_background #f5e0dc
|
||||
|
||||
# Cursor colors
|
||||
cursor #f5e0dc
|
||||
cursor_text_color #1e1e2e
|
||||
|
||||
# URL underline color when hovering with mouse
|
||||
url_color #f5e0dc
|
||||
|
||||
# Kitty window border colors
|
||||
active_border_color #b4befe
|
||||
inactive_border_color #6c7086
|
||||
bell_border_color #f9e2af
|
||||
|
||||
# OS Window titlebar colors
|
||||
wayland_titlebar_color system
|
||||
macos_titlebar_color system
|
||||
|
||||
# Tab bar colors
|
||||
active_tab_foreground #11111b
|
||||
active_tab_background #cba6f7
|
||||
inactive_tab_foreground #cdd6f4
|
||||
inactive_tab_background #181825
|
||||
tab_bar_background #11111b
|
||||
|
||||
# Colors for marks (marked text in the terminal)
|
||||
mark1_foreground #1e1e2e
|
||||
mark1_background #b4befe
|
||||
mark2_foreground #1e1e2e
|
||||
mark2_background #cba6f7
|
||||
mark3_foreground #1e1e2e
|
||||
mark3_background #74c7ec
|
||||
|
||||
# The 16 terminal colors
|
||||
|
||||
# black
|
||||
color0 #45475a
|
||||
color8 #585b70
|
||||
|
||||
# red
|
||||
color1 #f38ba8
|
||||
color9 #f38ba8
|
||||
|
||||
# green
|
||||
color2 #a6e3a1
|
||||
color10 #a6e3a1
|
||||
|
||||
# yellow
|
||||
color3 #f9e2af
|
||||
color11 #f9e2af
|
||||
|
||||
# blue
|
||||
color4 #89b4fa
|
||||
color12 #89b4fa
|
||||
|
||||
# magenta
|
||||
color5 #f5c2e7
|
||||
color13 #f5c2e7
|
||||
|
||||
# cyan
|
||||
color6 #94e2d5
|
||||
color14 #94e2d5
|
||||
|
||||
# white
|
||||
color7 #bac2de
|
||||
color15 #a6adc8
|
||||
13
kitty/.config/kitty/kitty.conf
Normal file
13
kitty/.config/kitty/kitty.conf
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
# Schriftart
|
||||
font_family JetBrainsMono Nerd Font
|
||||
bold_font auto
|
||||
italic_font auto
|
||||
font_size 11.0
|
||||
|
||||
|
||||
background_opacity 0.9
|
||||
|
||||
enable_mouse_focus yes
|
||||
scrollback_lines 50000
|
||||
|
||||
include catppuccin-mocha.conf
|
||||
59
mutt/.muttrc
59
mutt/.muttrc
|
|
@ -29,10 +29,10 @@ set editor = "nano"
|
|||
# Signatur (optional)
|
||||
set signature = "~/.signature"
|
||||
|
||||
# Farben (einfaches Setup)
|
||||
color normal white black
|
||||
color indicator yellow black
|
||||
color header yellow black
|
||||
set sidebar_visible = yes
|
||||
set sidebar_width = 30
|
||||
set sidebar_sort_method = 'alpha'
|
||||
|
||||
|
||||
# Benachrichtigung bei neuer Mail
|
||||
unset beep
|
||||
|
|
@ -47,4 +47,55 @@ set trash = "~/.mail/posteo/.Trash"
|
|||
|
||||
# Quelltext für erweiterte Funktionen, z.B. PGP, kannst du später ergänzen.
|
||||
|
||||
# Tokyo Night Dark Colors for NeoMutt
|
||||
# Terminal: 256-color compatible
|
||||
|
||||
color normal white default
|
||||
color error brightred default
|
||||
color status brightmagenta default
|
||||
color tree cyan default
|
||||
color indicator black brightcyan
|
||||
color search yellow default
|
||||
color tilde blue default
|
||||
color message cyan default
|
||||
color markers brightblue default
|
||||
color attachment magenta default
|
||||
color signature brightblack default
|
||||
color bold brightwhite default
|
||||
color underline brightcyan default
|
||||
|
||||
# Index colors
|
||||
color index white default
|
||||
color index_author magenta default
|
||||
color index_subject cyan default
|
||||
color index_collapsed brightblue default
|
||||
#color index_thread blue default
|
||||
#color index_flagged brightred default
|
||||
#color index_new brightcyan default
|
||||
#color index_unread brightcyan default
|
||||
|
||||
# Header colors
|
||||
color hdrdefault brightblue default
|
||||
color header cyan default "^Subject:"
|
||||
color header magenta default "^From:"
|
||||
color header blue default "^To:"
|
||||
color header yellow default "^Date:"
|
||||
|
||||
# Compose screen
|
||||
color quoted brightblue default
|
||||
color quoted1 blue default
|
||||
color quoted2 magenta default
|
||||
color quoted3 brightmagenta default
|
||||
|
||||
# PGP
|
||||
#color pgpmsg cyan default
|
||||
#color pgpheader magenta default
|
||||
#color signature_good green default
|
||||
#color signature_bad red default
|
||||
|
||||
# Sidebar
|
||||
#color sidebar_new brightcyan default
|
||||
#color sidebar_flagged brightred default
|
||||
#color sidebar_highlight white blue
|
||||
#color sidebar_divider brightblack default
|
||||
#color sidebar_marker brightmagenta default
|
||||
|
|
|
|||
114
nvim/.config/nvim/init.lua
Normal file
114
nvim/.config/nvim/init.lua
Normal file
|
|
@ -0,0 +1,114 @@
|
|||
vim.g.mapleader = " "
|
||||
vim.opt.clipboard:append("unnamedplus")
|
||||
|
||||
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not vim.loop.fs_stat(lazypath) then
|
||||
vim.fn.system({
|
||||
"git", "clone", "--filter=blob:none",
|
||||
"https://github.com/folke/lazy.nvim.git",
|
||||
lazypath
|
||||
})
|
||||
end
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
-- Plugin-Setup
|
||||
require("lazy").setup("plugins")
|
||||
|
||||
|
||||
-- Ensure nvim-lspconfig is loaded
|
||||
local lspconfig = require('lspconfig')
|
||||
|
||||
-- Define the corrected command to run Perl::LanguageServer inside the Distrobox
|
||||
-- Replace 'perl-ls-debian' with the actual name of your Distrobox container
|
||||
local perl_ls_cmd = {
|
||||
'distrobox',
|
||||
'enter',
|
||||
'perl-ls-debian',
|
||||
'--', -- This separates distrobox commands from the command to run inside
|
||||
'perl',
|
||||
'-MPerl::LanguageServer',
|
||||
'-e',
|
||||
[[Perl::LanguageServer->run("--stdio")]] -- Use Lua long string literal
|
||||
}
|
||||
|
||||
-- Configure perlpls (Perl::LanguageServer)
|
||||
lspconfig.perlpls.setup({
|
||||
cmd = perl_ls_cmd,
|
||||
settings = {
|
||||
pls = {
|
||||
inc = {
|
||||
"${workspaceFolder}/lib",
|
||||
"${workspaceFolder}/os-autoinst/lib",
|
||||
},
|
||||
perlcritic = {
|
||||
enabled = true,
|
||||
perlcriticrc = '${workspaceFolder}/.perlcriticrc',
|
||||
},
|
||||
perltidy = {
|
||||
perltidyrc = '${workspaceFolder}/.perltidyrc',
|
||||
},
|
||||
}
|
||||
},
|
||||
on_attach = function(client, bufnr)
|
||||
-- IMPORTANT: Remove the line `require('lspconfig.util').default_on_attach(client, bufnr)`
|
||||
|
||||
-- Set options for the buffer (e.g., enable completion, formatting)
|
||||
-- Many of these are now handled by Neovim's LSP client automatically,
|
||||
-- but you can explicitly enable them if needed.
|
||||
vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') -- for C-x C-o completion
|
||||
|
||||
-- Basic LSP keymaps (you can customize these)
|
||||
local opts = { noremap=true, silent=true }
|
||||
vim.api.nvim_buf_set_keymap(bufnr, 'n', 'gd', '<cmd>lua vim.lsp.buf.definition()<CR>', opts)
|
||||
vim.api.nvim_buf_set_keymap(bufnr, 'n', 'gD', '<cmd>lua vim.lsp.buf.declaration()<CR>', opts)
|
||||
vim.api.nvim_buf_set_keymap(bufnr, 'n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', opts)
|
||||
vim.api.nvim_buf_set_keymap(bufnr, 'n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', opts)
|
||||
vim.api.nvim_buf_set_keymap(bufnr, 'n', 'K', '<cmd>lua vim.lsp.buf.hover()<CR>', opts)
|
||||
vim.api.nvim_buf_set_keymap(bufnr, 'n', '<leader>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)
|
||||
vim.api.nvim_buf_set_keymap(bufnr, 'n', '<leader>ca', '<cmd>lua vim.lsp.buf.code_action()<CR>', opts)
|
||||
vim.api.nvim_buf_set_keymap(bufnr, 'n', '[d', '<cmd>lua vim.diagnostic.goto_prev()<CR>', opts)
|
||||
vim.api.nvim_buf_set_keymap(bufnr, 'n', ']d', '<cmd>lua vim.diagnostic.goto_next()<CR>', opts)
|
||||
vim.api.nvim_buf_set_keymap(bufnr, 'n', '<leader>f', '<cmd>lua vim.lsp.buf.format()<CR>', opts)
|
||||
|
||||
-- Example: Set up automatic formatting on save (if the LSP server supports it)
|
||||
if client.supports_method('textDocument/formatting') then
|
||||
vim.api.nvim_create_autocmd('BufWritePre', {
|
||||
group = vim.api.nvim_create_augroup('LspFormatting' .. bufnr, { clear = true }),
|
||||
buffer = bufnr,
|
||||
callback = function()
|
||||
vim.lsp.buf.format({ bufnr = bufnr, async = false })
|
||||
end,
|
||||
})
|
||||
end
|
||||
|
||||
-- You can add more client capabilities here, for example with nvim-cmp:
|
||||
-- require('cmp_nvim_lsp').setup_client(client)
|
||||
end,
|
||||
})
|
||||
|
||||
vim.api.nvim_create_user_command('OrgYtDl', function()
|
||||
local url = vim.fn.expand('<cfile>')
|
||||
if url:match('^https?://') then
|
||||
vim.fn.jobstart({ 'yt-dlp', url }, {
|
||||
stdout_buffered = true,
|
||||
on_stdout = function(_, data)
|
||||
if data then
|
||||
print(table.concat(data, '\n'))
|
||||
end
|
||||
end,
|
||||
on_stderr = function(_, data)
|
||||
if data then
|
||||
print('[yt-dlp] error:', table.concat(data, '\n'))
|
||||
end
|
||||
end,
|
||||
})
|
||||
else
|
||||
print('No link under cursor.')
|
||||
end
|
||||
end, {})
|
||||
|
||||
-- Kopiert visuell markierten Text ins Clipboard mit <leader>y
|
||||
vim.keymap.set("v", "<leader>y", '"+y', { desc = "Yank selection to system clipboard" })
|
||||
vim.keymap.set('n', '<leader>oy', ':OrgYtDl<CR>', { desc = 'yt-dlp link under cursor' })
|
||||
|
||||
49
nvim/.config/nvim/init.old
Normal file
49
nvim/.config/nvim/init.old
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
-- init.lua
|
||||
|
||||
-- 1. lazy.nvim bootstrap
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not vim.loop.fs_stat(lazypath) then
|
||||
vim.fn.system({
|
||||
"git", "clone", "--filter=blob:none",
|
||||
"https://github.com/folke/lazy.nvim.git",
|
||||
lazypath,
|
||||
})
|
||||
end
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
-- 2. Plugin Setup
|
||||
require("lazy").setup({
|
||||
{
|
||||
"kyazdani42/nvim-tree.lua",
|
||||
dependencies = { "kyazdani42/nvim-web-devicons" },
|
||||
lazy = false,
|
||||
config = function()
|
||||
require("nvim-tree").setup {}
|
||||
vim.api.nvim_set_keymap('n', '<C-n>', ':NvimTreeToggle<CR>', { noremap = true, silent = true })
|
||||
end,
|
||||
},
|
||||
{
|
||||
"nvim-lualine/lualine.nvim",
|
||||
dependencies = { "nvim-tree/nvim-web-devicons" }, -- für hübsche Icons
|
||||
lazy = false,
|
||||
config = function()
|
||||
require("lualine").setup({
|
||||
options = {
|
||||
theme = "tokyonight",
|
||||
section_separators = "",
|
||||
component_separators = "",
|
||||
globalstatus = true,
|
||||
},
|
||||
})
|
||||
end,
|
||||
},
|
||||
{
|
||||
"folke/tokyonight.nvim",
|
||||
lazy = false,
|
||||
priority = 1000,
|
||||
config = function()
|
||||
require("tokyonight").setup({ style = "night" })
|
||||
vim.cmd("colorscheme tokyonight")
|
||||
end,
|
||||
},
|
||||
})
|
||||
23
nvim/.config/nvim/lazy-lock.json
Normal file
23
nvim/.config/nvim/lazy-lock.json
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"gen.nvim": { "branch": "main", "commit": "c8e1f574d4a3a839dde73a87bdc319a62ee1e559" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
|
||||
"llm.nvim": { "branch": "main", "commit": "ce69731ba3f8d3ea8bc4c8f58c74c2f9ea0b33de" },
|
||||
"lua-utils.nvim": { "branch": "main", "commit": "e565749421f4bbb5d2e85e37c3cef9d56553d8bd" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "a94fc68960665e54408fe37dcf573193c4ce82c9" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "bb3a17efc797c34c054463174e5522442576ebd8" },
|
||||
"mason.nvim": { "branch": "main", "commit": "197f6352c276bbc2d25541dfce00ec50d1a4e88f" },
|
||||
"mini.nvim": { "branch": "main", "commit": "432a0614f8dc38715892b0eec537716457ea4c2f" },
|
||||
"neorg": { "branch": "main", "commit": "e206c9642f4a115cd836e76c98ef785623d335bc" },
|
||||
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "4d3b3bb8815fbe37bcaf3dbdb12a22382bc11ebe" },
|
||||
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
|
||||
"nvim-tree.lua": { "branch": "master", "commit": "543ed3cac212dc3993ef9f042f6c0812e34ddd43" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "0422a19d9aa3aad2c7e5cca167e5407b13407a9d" },
|
||||
"orgmode": { "branch": "master", "commit": "ffa4d804115881d2a44ae5063ecb28f9686b4797" },
|
||||
"pathlib.nvim": { "branch": "main", "commit": "57e5598af6fe253761c1b48e0b59b7cd6699e2c1" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
|
||||
"render-markdown.nvim": { "branch": "main", "commit": "b540997fbf7ccf3a39ce21162ce8957be2f67e37" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
|
||||
"tokyonight.nvim": { "branch": "main", "commit": "057ef5d260c1931f1dffd0f052c685dcd14100a3" }
|
||||
}
|
||||
30
nvim/.config/nvim/lua/plugins/gen.lua
Normal file
30
nvim/.config/nvim/lua/plugins/gen.lua
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
return {
|
||||
"David-Kunz/gen.nvim",
|
||||
opts = {
|
||||
model = "deepseek-coder:latest", -- The default model to use.
|
||||
quit_map = "q", -- set keymap to close the response window
|
||||
retry_map = "<c-r>", -- set keymap to re-send the current prompt
|
||||
accept_map = "<c-cr>", -- set keymap to replace the previous selection with the last result
|
||||
host = "localhost", -- The host running the Ollama service.
|
||||
port = "11434", -- The port on which the Ollama service is listening.
|
||||
display_mode = "float", -- The display mode. Can be "float" or "split" or "horizontal-split" or "vertical-split".
|
||||
show_prompt = false, -- Shows the prompt submitted to Ollama. Can be true (3 lines) or "full".
|
||||
show_model = false, -- Displays which model you are using at the beginning of your chat session.
|
||||
no_auto_close = false, -- Never closes the window automatically.
|
||||
file = false, -- Write the payload to a temporary file to keep the command short.
|
||||
hidden = false, -- Hide the generation window (if true, will implicitly set `prompt.replace = true`), requires Neovim >= 0.10
|
||||
init = function(options) pcall(io.popen, "ollama serve > /dev/null 2>&1 &") end,
|
||||
-- Function to initialize Ollama
|
||||
command = function(options)
|
||||
local body = {model = options.model, stream = true}
|
||||
return "curl --silent --no-buffer -X POST http://" .. options.host .. ":" .. options.port .. "/api/chat -d $body"
|
||||
end,
|
||||
-- The command for the Ollama service. You can use placeholders $prompt, $model and $body (shellescaped).
|
||||
-- This can also be a command string.
|
||||
-- The executed command must return a JSON object with { response, context }
|
||||
-- (context property is optional).
|
||||
-- list_models = '<omitted lua function>', -- Retrieves a list of model names
|
||||
result_filetype = "markdown", -- Configure filetype of the result buffer
|
||||
debug = false -- Prints errors and the command which is run.
|
||||
}
|
||||
}
|
||||
13
nvim/.config/nvim/lua/plugins/lualine.lua
Normal file
13
nvim/.config/nvim/lua/plugins/lualine.lua
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
return {
|
||||
"nvim-lualine/lualine.nvim",
|
||||
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||||
lazy = false,
|
||||
config = function()
|
||||
require("lualine").setup({
|
||||
options = {
|
||||
theme = "tokyonight",
|
||||
globalstatus = true,
|
||||
},
|
||||
})
|
||||
end,
|
||||
}
|
||||
33
nvim/.config/nvim/lua/plugins/neorg.lua
Normal file
33
nvim/.config/nvim/lua/plugins/neorg.lua
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
return {
|
||||
"nvim-neorg/neorg",
|
||||
lazy = false,
|
||||
version = "*",
|
||||
dependencies = { "nvim-lua/plenary.nvim" },
|
||||
config = function()
|
||||
require("neorg").setup({
|
||||
load = {
|
||||
["core.defaults"] = {}, -- Basismodule
|
||||
["core.concealer"] = {}, -- Schönes Rendering
|
||||
["core.dirman"] = { -- Workspace-Management
|
||||
config = {
|
||||
workspaces = {
|
||||
notes = "~/Nextcloud/neorg",
|
||||
},
|
||||
default_workspace = "notes",
|
||||
},
|
||||
},
|
||||
["core.qol.toc"] = {}, -- Table of Contents
|
||||
},
|
||||
})
|
||||
|
||||
-- ⛔ Standard-gO löschen
|
||||
vim.keymap.del("n", "gO")
|
||||
|
||||
-- ✅ Neorg TOC auf gO binden
|
||||
vim.keymap.set("n", "gO", "<cmd>Neorg toc<CR>", {
|
||||
desc = "Neorg Table of Contents",
|
||||
noremap = true,
|
||||
silent = true,
|
||||
})
|
||||
end,
|
||||
}
|
||||
9
nvim/.config/nvim/lua/plugins/nvim-tree.lua
Normal file
9
nvim/.config/nvim/lua/plugins/nvim-tree.lua
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
return {
|
||||
"kyazdani42/nvim-tree.lua",
|
||||
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||||
lazy = false,
|
||||
config = function()
|
||||
require("nvim-tree").setup()
|
||||
vim.keymap.set("n", "<C-n>", ":NvimTreeToggle<CR>", { noremap = true, silent = true })
|
||||
end,
|
||||
}
|
||||
11
nvim/.config/nvim/lua/plugins/orgmode.lua
Normal file
11
nvim/.config/nvim/lua/plugins/orgmode.lua
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
return {
|
||||
'nvim-orgmode/orgmode',
|
||||
event = 'VeryLazy',
|
||||
config = function()
|
||||
-- Setup orgmode
|
||||
require('orgmode').setup({
|
||||
org_agenda_files = '~/Nextcloud/org/**/*',
|
||||
org_default_notes_file = '~/Nextcloud/org/refile.org',
|
||||
})
|
||||
end,
|
||||
}
|
||||
11
nvim/.config/nvim/lua/plugins/perl-lspconfig.lua
Normal file
11
nvim/.config/nvim/lua/plugins/perl-lspconfig.lua
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
return {
|
||||
'neovim/nvim-lspconfig',
|
||||
event = 'BufReadPre',
|
||||
dependencies = {
|
||||
'williamboman/mason.nvim', -- Optional, but good for managing LSPs
|
||||
'williamboman/mason-lspconfig.nvim', -- Integrates mason with lspconfig
|
||||
},
|
||||
config = function()
|
||||
-- your lspconfig setup here
|
||||
end
|
||||
}
|
||||
9
nvim/.config/nvim/lua/plugins/render-markdown.lua
Normal file
9
nvim/.config/nvim/lua/plugins/render-markdown.lua
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
return {
|
||||
'MeanderingProgrammer/render-markdown.nvim',
|
||||
dependencies = { 'nvim-treesitter/nvim-treesitter', 'echasnovski/mini.nvim' }, -- if you use the mini.nvim suite
|
||||
-- dependencies = { 'nvim-treesitter/nvim-treesitter', 'echasnovski/mini.icons' }, -- if you use standalone mini plugins
|
||||
-- dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-tree/nvim-web-devicons' }, -- if you prefer nvim-web-devicons
|
||||
---@module 'render-markdown'
|
||||
---@type render.md.UserConfig
|
||||
opts = {},
|
||||
}
|
||||
13
nvim/.config/nvim/lua/plugins/telescope.lua
Normal file
13
nvim/.config/nvim/lua/plugins/telescope.lua
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
return {
|
||||
'nvim-telescope/telescope.nvim',
|
||||
dependencies = { 'nvim-lua/plenary.nvim' },
|
||||
config = function()
|
||||
require('telescope').setup()
|
||||
|
||||
local builtin = require('telescope.builtin')
|
||||
vim.keymap.set('n', '<leader>ff', builtin.find_files, { desc = "Find Files" })
|
||||
vim.keymap.set('n', '<leader>fg', builtin.live_grep, { desc = "Live Grep" })
|
||||
vim.keymap.set('n', '<leader>fb', builtin.buffers, { desc = "Find Buffers" })
|
||||
vim.keymap.set('n', '<leader>fh', builtin.help_tags, { desc = "Help Tags" })
|
||||
end
|
||||
}
|
||||
10
nvim/.config/nvim/lua/plugins/tokyonight.lua
Normal file
10
nvim/.config/nvim/lua/plugins/tokyonight.lua
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
return {
|
||||
"folke/tokyonight.nvim",
|
||||
lazy = false,
|
||||
priority = 1000,
|
||||
config = function()
|
||||
require("tokyonight").setup({ style = "night" })
|
||||
vim.cmd("colorscheme tokyonight")
|
||||
end,
|
||||
}
|
||||
|
||||
25
nvim/.config/nvim/lua/plugins/treesitter.lua
Normal file
25
nvim/.config/nvim/lua/plugins/treesitter.lua
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
return {
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
build = ":TSUpdate",
|
||||
event = { "BufReadPost", "BufNewFile" },
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"lua",
|
||||
"bash",
|
||||
"markdown",
|
||||
"norg",
|
||||
"c",
|
||||
"perl",
|
||||
"python",
|
||||
},
|
||||
highlight = {
|
||||
enable = true,
|
||||
additional_vim_regex_highlighting = false,
|
||||
},
|
||||
},
|
||||
config = function(_, opts)
|
||||
require("nvim-treesitter.configs").setup(opts)
|
||||
end,
|
||||
},
|
||||
}
|
||||
247
sway/.config/sway/config
Normal file
247
sway/.config/sway/config
Normal file
|
|
@ -0,0 +1,247 @@
|
|||
# This file has been auto-generated by i3-config-wizard(1).
|
||||
# It will not be overwritten, so edit it as you like.
|
||||
#
|
||||
# Should you change your keyboard layout some time, delete
|
||||
# this file and re-run i3-config-wizard(1).
|
||||
#
|
||||
|
||||
# i3 config file (v4)
|
||||
#
|
||||
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
|
||||
|
||||
set $mod Mod4
|
||||
|
||||
# Start D-Bus session (falls du das drin hast)
|
||||
exec --no-startup-id dbus-launch --sh-syntax
|
||||
|
||||
|
||||
# placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c
|
||||
client.focused #9aa5ce #16161d #c0caf5 #9aa5ce #9aa5ce
|
||||
client.focused_inactive #16161d #16161d #c0caf5 #16161d #16161d
|
||||
client.unfocused #16161d #16161d #c0caf5 #16161d #16161d
|
||||
|
||||
|
||||
# Gaps
|
||||
# gaps inner|outer|horizontal|vertical|top|right|bottom|left <amount>
|
||||
# Sets default amount pixels of inner or outer gap
|
||||
# the inner affects spacing around each view
|
||||
# the outer affects the spacing around each workspace
|
||||
# To reduce or remove outer gaps, outer gaps can be set to a negative value.
|
||||
gaps inner 5
|
||||
gaps outer 1
|
||||
gaps top 1
|
||||
gaps bottom 1
|
||||
|
||||
# Hide gaps when there is only 1 window
|
||||
smart_gaps on
|
||||
# Fensterrahmen schmal
|
||||
#new_window pixel 2
|
||||
#new_float normal
|
||||
|
||||
# Font
|
||||
font pango:JetBrains Mono 10
|
||||
|
||||
# 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
|
||||
|
||||
# Start XDG autostart .desktop files using dex. See also
|
||||
# https://wiki.archlinux.org/index.php/XDG_Autostart
|
||||
exec --no-startup-id dex --autostart --environment sway
|
||||
|
||||
# The combination of xss-lock, nm-applet and pactl is a popular choice, so
|
||||
# they are included here as an example. Modify as you see fit.
|
||||
|
||||
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
|
||||
# screen before suspend. Use loginctl lock-session to lock your screen.
|
||||
exec --no-startup-id xss-lock --transfer-sleep-lock -- swaylock -f
|
||||
|
||||
# Use pactl to adjust volume in PulseAudio.
|
||||
set $refresh_i3status killall -SIGUSR1 i3status
|
||||
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
|
||||
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
|
||||
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
|
||||
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
|
||||
|
||||
bindsym $mod+Shift+p exec grim ~/Bilder/screenshot-$(date +%Y-%m-%d-%H%M%S).png
|
||||
bindsym $mod+p exec ~/bin/pass-fuzzel.sh -c
|
||||
|
||||
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||
floating_modifier $mod
|
||||
|
||||
# move tiling windows via drag & drop by left-clicking into the title bar,
|
||||
# or left-clicking anywhere into the window while holding the floating modifier.
|
||||
#tiling_drag modifier titlebar
|
||||
# start a terminal
|
||||
#bindsym $mod+Return exec i3-sensible-terminal
|
||||
#bindsym $mod+Return exec kitty
|
||||
bindsym $mod+Return exec foot
|
||||
|
||||
|
||||
# kill focused window
|
||||
bindsym $mod+Shift+q kill
|
||||
|
||||
# start dmenu (a program launcher)
|
||||
#bindsym $mod+d exec --no-startup-id dmenu_run
|
||||
#bindsym $mod+d exec --no-startup-id BEMENU_BACKEND=wayland bemenu-run --fn "Monospace 10" --tb "#222222" --fb "#000000" --hb "#005577" --hf "#ffffff" --nf "#bbbbbb" --nb "#000000"
|
||||
#bindsym $mod+d exec wofi --show drun
|
||||
bindsym $mod+d exec fuzzel
|
||||
# A more modern dmenu replacement is rofi:
|
||||
# bindcode $mod+40 exec "rofi -modi drun,run -show drun"
|
||||
# There also is i3-dmenu-desktop which only displays applications shipping a
|
||||
# .desktop file. It is a wrapper around dmenu, so you need that installed.
|
||||
# bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop
|
||||
|
||||
# change focus
|
||||
bindsym $mod+j focus left
|
||||
bindsym $mod+k focus down
|
||||
bindsym $mod+l focus up
|
||||
bindsym $mod+odiaeresis 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+j move left
|
||||
bindsym $mod+Shift+k move down
|
||||
bindsym $mod+Shift+l move up
|
||||
bindsym $mod+Shift+odiaeresis 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+h split h
|
||||
|
||||
# split in vertical orientation
|
||||
bindsym $mod+v 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
|
||||
|
||||
# Define names for default workspaces for which we configure key bindings later on.
|
||||
# We use variables to avoid repeating the names in multiple places.
|
||||
set $ws1 "1"
|
||||
set $ws2 "2"
|
||||
set $ws3 "3"
|
||||
set $ws4 "4"
|
||||
set $ws5 "5"
|
||||
set $ws6 "6"
|
||||
set $ws7 "7"
|
||||
set $ws8 "8"
|
||||
set $ws9 "9"
|
||||
set $ws10 "10"
|
||||
|
||||
# switch to workspace
|
||||
bindsym $mod+1 workspace number $ws1
|
||||
bindsym $mod+2 workspace number $ws2
|
||||
bindsym $mod+3 workspace number $ws3
|
||||
bindsym $mod+4 workspace number $ws4
|
||||
bindsym $mod+5 workspace number $ws5
|
||||
bindsym $mod+6 workspace number $ws6
|
||||
bindsym $mod+7 workspace number $ws7
|
||||
bindsym $mod+8 workspace number $ws8
|
||||
bindsym $mod+9 workspace number $ws9
|
||||
bindsym $mod+0 workspace number $ws10
|
||||
|
||||
# move focused container to workspace
|
||||
bindsym $mod+Shift+1 move container to workspace number $ws1
|
||||
bindsym $mod+Shift+2 move container to workspace number $ws2
|
||||
bindsym $mod+Shift+3 move container to workspace number $ws3
|
||||
bindsym $mod+Shift+4 move container to workspace number $ws4
|
||||
bindsym $mod+Shift+5 move container to workspace number $ws5
|
||||
bindsym $mod+Shift+6 move container to workspace number $ws6
|
||||
bindsym $mod+Shift+7 move container to workspace number $ws7
|
||||
bindsym $mod+Shift+8 move container to workspace number $ws8
|
||||
bindsym $mod+Shift+9 move container to workspace number $ws9
|
||||
bindsym $mod+Shift+0 move container to workspace number $ws10
|
||||
|
||||
# reload the configuration file
|
||||
bindsym $mod+Shift+c reload
|
||||
# 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 "swaymsg exit"
|
||||
|
||||
bindsym $mod+Shift+v exec pavucontrol
|
||||
|
||||
# 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 or $mod+r
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
bindsym $mod+r mode "default"
|
||||
}
|
||||
|
||||
bindsym $mod+r mode "resize"
|
||||
|
||||
# Start i3bar to display a workspace bar (plus the system information i3status
|
||||
# finds out, if available)
|
||||
#bar {
|
||||
# status_command i3status
|
||||
# font pango:JetBrains Mono 10
|
||||
# colors {
|
||||
# background #0f111a
|
||||
# statusline #dcd7ba
|
||||
# separator #44475a
|
||||
#
|
||||
# focused_workspace #7e9cd8 #7e9cd8 #0f111a
|
||||
# inactive_workspace #1a1b26 #1a1b26 #545c7e
|
||||
# urgent_workspace #e46876 #e46876 #0f111a
|
||||
# }
|
||||
#}
|
||||
|
||||
|
||||
input "type:keyboard" {
|
||||
xkb_layout de
|
||||
xkb_variant nodeadkeys
|
||||
}
|
||||
|
||||
exec --no-startup-id pasystray
|
||||
exec --no-startup-id nm-applet
|
||||
exec --no-startup-id waybar
|
||||
exec --no-startup-id swaybg -m stretch -i ~/wallpaper/HD-wallpaper-soft-minimal-abstract-blue-idigo-minimal-purple.jpg
|
||||
2
tmux/.tmux.conf
Normal file
2
tmux/.tmux.conf
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
|
||||
run-shell "~/.tmux/themes/nord-tmux/nord.tmux"
|
||||
1
tmux/.tmux/themes/nord-tmux
Submodule
1
tmux/.tmux/themes/nord-tmux
Submodule
|
|
@ -0,0 +1 @@
|
|||
Subproject commit f7b6da07ab55fe32ee5f7d62da56d8e5ac691a92
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
let g:netrw_dirhistmax =10
|
||||
let g:netrw_dirhistcnt =2
|
||||
let g:netrw_dirhist_2='/home/michael/.local/share/qutebrowser/userscripts'
|
||||
let g:netrw_dirhist_1='/home/michael/vpn'
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
" kuronami.vim - a Kuronami inspired colorscheme for Vim
|
||||
|
||||
if exists("syntax_on")
|
||||
syntax reset
|
||||
endif
|
||||
let g:colors_name = "kuronami"
|
||||
|
||||
" Background and foreground
|
||||
hi Normal guifg=#c9c9c9 guibg=#181a26
|
||||
hi Cursor guibg=#e97f86
|
||||
hi Comment guifg=#7fbbe9 gui=italic
|
||||
hi Constant guifg=#cdb38f
|
||||
hi String guifg=#65bab4
|
||||
hi Function guifg=#fffafa
|
||||
hi Keyword guifg=#a5bad7
|
||||
hi Identifier guifg=#fffafa
|
||||
hi Error guifg=#e97f86 gui=bold
|
||||
hi WarningMsg guifg=#cdb38f gui=bold
|
||||
hi Search guibg=#e97f86 guifg=#181a26
|
||||
hi Visual guibg=#2e41ac
|
||||
hi LineNr guifg=#a5bad7 guibg=#181a26
|
||||
hi StatusLine guifg=#232328 guibg=#b3b3b3
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
colorscheme kuronami
|
||||
|
||||
filetype indent on
|
||||
145
waybar/.config/waybar/config
Normal file
145
waybar/.config/waybar/config
Normal file
|
|
@ -0,0 +1,145 @@
|
|||
{
|
||||
"layer": "bottom",
|
||||
"position": "bottom",
|
||||
"height": 30,
|
||||
|
||||
"modules-left": ["sway/workspaces", "sway/mode", "sway/window"],
|
||||
"modules-center": ["clock"],
|
||||
"modules-right": ["cpu","memory","temperature", "custom/gpu","tray"],
|
||||
|
||||
|
||||
"clock#time": {
|
||||
"interval": 1,
|
||||
"format": "{:%H:%M:%S}",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"clock#date": {
|
||||
"interval": 10,
|
||||
"format": " {:%e %b %Y}", // Icon: calendar-alt
|
||||
"tooltip-format": "{:%e %B %Y}"
|
||||
},
|
||||
|
||||
"cpu": {
|
||||
"interval": 5,
|
||||
"format": " {usage}% ({load})", // Icon: microchip
|
||||
"states": {
|
||||
"warning": 70,
|
||||
"critical": 90
|
||||
}
|
||||
},
|
||||
|
||||
"custom/keyboard-layout": {
|
||||
"exec": "swaymsg -t get_inputs | grep -m1 'xkb_active_layout_name' | cut -d '\"' -f4",
|
||||
// Interval set only as a fallback, as the value is updated by signal
|
||||
"interval": 30,
|
||||
"format": " {}", // Icon: keyboard
|
||||
// Signal sent by Sway key binding (~/.config/sway/key-bindings)
|
||||
"signal": 1, // SIGHUP
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"memory": {
|
||||
"interval": 5,
|
||||
"format": " {}%", // Icon: memory
|
||||
"states": {
|
||||
"warning": 70,
|
||||
"critical": 90
|
||||
}
|
||||
},
|
||||
|
||||
"network": {
|
||||
"interface": "tun0",
|
||||
"interval": 5,
|
||||
"format": "🔒 VPN up",
|
||||
"format-disconnected": "🔓 VPN down",
|
||||
"tooltip-format": "{ifname} {ipaddr}"
|
||||
},
|
||||
|
||||
"sway/mode": {
|
||||
"format": "<span style=\"italic\"> {}</span>", // Icon: expand-arrows-alt
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"sway/window": {
|
||||
"format": "{}",
|
||||
"max-length": 120
|
||||
},
|
||||
|
||||
"sway/workspaces": {
|
||||
"persistent_workspaces": {
|
||||
"1": [],
|
||||
"2": [],
|
||||
"3": [],
|
||||
"4": [],
|
||||
"5": [],
|
||||
"6": [],
|
||||
"7": [],
|
||||
"8": [],
|
||||
"9": [],
|
||||
"10": []
|
||||
},
|
||||
"disable-scroll": true,
|
||||
"all-outputs": true,
|
||||
"format": "{name}",
|
||||
"on-click": "activate",
|
||||
},
|
||||
|
||||
"pulseaudio": {
|
||||
"format": "{icon} {volume}%",
|
||||
"format-bluetooth": "{icon} {volume}%",
|
||||
"format-muted": "",
|
||||
"format-icons": {
|
||||
"headphones": "",
|
||||
"handsfree": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": ["", ""]
|
||||
},
|
||||
"on-click": "pavucontrol"
|
||||
},
|
||||
|
||||
"temperature": {
|
||||
"critical-threshold": 80,
|
||||
"interval": 5,
|
||||
"format": "{icon} CPU: {temperatureC}°C",
|
||||
"format-icons": [
|
||||
"", // Icon: temperature-empty
|
||||
"", // Icon: temperature-quarter
|
||||
"", // Icon: temperature-half
|
||||
"", // Icon: temperature-three-quarters
|
||||
"" // Icon: temperature-full
|
||||
],
|
||||
"tooltip": true
|
||||
},
|
||||
|
||||
"tray": {
|
||||
"icon-size": 21,
|
||||
"spacing": 10
|
||||
},
|
||||
"custom/vpn": {
|
||||
"exec": "~/.config/waybar/scripts/vpn-status.sh",
|
||||
"interval": 5,
|
||||
"return-type": "text",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/gpu": {
|
||||
"exec": "~/.config/waybar/scripts/gpu-temp.sh",
|
||||
"interval": 10,
|
||||
"return-type": "json",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/powermenu": {
|
||||
"return-type": "json",
|
||||
"exec": "/home/michael/.config/waybar/modules/powermenu.sh",
|
||||
"format": "<span font='Font Awesome 5 Free 9'>{icon}</span> {}",
|
||||
"format-icons": [""],
|
||||
"interval": 3600,
|
||||
"escape": true,
|
||||
"on-click": "/home/marco/.config/wofi/wofi-power.sh"
|
||||
},
|
||||
|
||||
}
|
||||
|
||||
195
waybar/.config/waybar/config-hyprland
Normal file
195
waybar/.config/waybar/config-hyprland
Normal file
|
|
@ -0,0 +1,195 @@
|
|||
// =============================================================================
|
||||
//
|
||||
// Waybar configuration
|
||||
//
|
||||
// Configuration reference: https://github.com/Alexays/Waybar/wiki/Configuration
|
||||
//
|
||||
// =============================================================================
|
||||
|
||||
{
|
||||
// -------------------------------------------------------------------------
|
||||
// Global configuration
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
"layer": "bottom",
|
||||
|
||||
"position": "bottom",
|
||||
|
||||
// If height property would be not present, it'd be calculated dynamically
|
||||
"height": 30,
|
||||
|
||||
"modules-left": [
|
||||
"hyprland/workspaces",
|
||||
"sway/mode"
|
||||
],
|
||||
"modules-center": [
|
||||
"sway/window"
|
||||
],
|
||||
"modules-right": [
|
||||
"custom/vpn",
|
||||
"memory",
|
||||
"cpu",
|
||||
"custom/gpu",
|
||||
"temperature",
|
||||
"clock#date",
|
||||
"clock#time",
|
||||
"tray"
|
||||
],
|
||||
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Modules
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
"clock#time": {
|
||||
"interval": 1,
|
||||
"format": "{:%H:%M:%S}",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"clock#date": {
|
||||
"interval": 10,
|
||||
"format": " {:%e %b %Y}", // Icon: calendar-alt
|
||||
"tooltip-format": "{:%e %B %Y}"
|
||||
},
|
||||
|
||||
"cpu": {
|
||||
"interval": 5,
|
||||
"format": " {usage}% ({load})", // Icon: microchip
|
||||
"states": {
|
||||
"warning": 70,
|
||||
"critical": 90
|
||||
}
|
||||
},
|
||||
|
||||
"custom/keyboard-layout": {
|
||||
"exec": "swaymsg -t get_inputs | grep -m1 'xkb_active_layout_name' | cut -d '\"' -f4",
|
||||
// Interval set only as a fallback, as the value is updated by signal
|
||||
"interval": 30,
|
||||
"format": " {}", // Icon: keyboard
|
||||
// Signal sent by Sway key binding (~/.config/sway/key-bindings)
|
||||
"signal": 1, // SIGHUP
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"memory": {
|
||||
"interval": 5,
|
||||
"format": " {}%", // Icon: memory
|
||||
"states": {
|
||||
"warning": 70,
|
||||
"critical": 90
|
||||
}
|
||||
},
|
||||
|
||||
"network": {
|
||||
"interface": "tun0",
|
||||
"interval": 5,
|
||||
"format": "🔒 VPN up",
|
||||
"format-disconnected": "🔓 VPN down",
|
||||
"tooltip-format": "{ifname} {ipaddr}"
|
||||
},
|
||||
// "network": {
|
||||
// "interval": 5,
|
||||
// "format-wifi": " {essid} ({signalStrength}%)", // Icon: wifi
|
||||
// "format-ethernet": " {ifname}: {ipaddr}/{cidr}", // Icon: ethernet
|
||||
// "format-disconnected": "⚠ Disconnected",
|
||||
// "tooltip-format": "{ifname}: {ipaddr}"
|
||||
// },
|
||||
|
||||
"sway/mode": {
|
||||
"format": "<span style=\"italic\"> {}</span>", // Icon: expand-arrows-alt
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"sway/window": {
|
||||
"format": "{}",
|
||||
"max-length": 120
|
||||
},
|
||||
|
||||
"sway/workspaces": {
|
||||
"persistent_workspaces": {
|
||||
"1": [],
|
||||
"2": [],
|
||||
"3": [],
|
||||
"4": [],
|
||||
"5": [],
|
||||
"6": [],
|
||||
"7": [],
|
||||
"8": [],
|
||||
"9": [],
|
||||
"10": []
|
||||
},
|
||||
"disable-scroll": true,
|
||||
"all-outputs": false,
|
||||
// "format": "({name}){icon}",
|
||||
// "format-icons": {
|
||||
// "1": "",
|
||||
// "2": "",
|
||||
// "3": "",
|
||||
// "4": "",
|
||||
// "5": "",
|
||||
// "1": "",
|
||||
// "2": "",
|
||||
// "3": "",
|
||||
// "4": "🪲 Debug",
|
||||
// "5": "📁 Files",
|
||||
// "6": "🎧 Music",
|
||||
// "7": "⏵ Video",
|
||||
// "8": "🗨 IRC",
|
||||
// "9": "Steam",
|
||||
// "10":"Scratch",
|
||||
// },
|
||||
},
|
||||
|
||||
"pulseaudio": {
|
||||
//"scroll-step": 1,
|
||||
"format": "{icon} {volume}%",
|
||||
"format-bluetooth": "{icon} {volume}%",
|
||||
"format-muted": "",
|
||||
"format-icons": {
|
||||
"headphones": "",
|
||||
"handsfree": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": ["", ""]
|
||||
},
|
||||
"on-click": "pavucontrol"
|
||||
},
|
||||
|
||||
"temperature": {
|
||||
"critical-threshold": 80,
|
||||
"interval": 5,
|
||||
"format": "{icon} {temperatureC}°C",
|
||||
"format-icons": [
|
||||
"", // Icon: temperature-empty
|
||||
"", // Icon: temperature-quarter
|
||||
"", // Icon: temperature-half
|
||||
"", // Icon: temperature-three-quarters
|
||||
"" // Icon: temperature-full
|
||||
],
|
||||
"tooltip": true
|
||||
},
|
||||
|
||||
"tray": {
|
||||
"icon-size": 21,
|
||||
"spacing": 10
|
||||
},
|
||||
"custom/vpn": {
|
||||
"exec": "~/.config/waybar/scripts/vpn-status.sh",
|
||||
"interval": 5,
|
||||
"return-type": "text",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/gpu": {
|
||||
"exec": "~/.config/waybar/scripts/gpu-temp.sh",
|
||||
"interval": 10,
|
||||
"return-type": "json",
|
||||
"tooltip": false
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
10
waybar/.config/waybar/launch.sh
Executable file
10
waybar/.config/waybar/launch.sh
Executable file
|
|
@ -0,0 +1,10 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
# Terminate already running bar instances
|
||||
killall -q waybar
|
||||
|
||||
# Wait until the processes have been shut down
|
||||
while pgrep -x waybar >/dev/null; do sleep 1; done
|
||||
|
||||
# Launch main
|
||||
waybar
|
||||
207
waybar/.config/waybar/modules.json
Normal file
207
waybar/.config/waybar/modules.json
Normal file
|
|
@ -0,0 +1,207 @@
|
|||
// __ __ _ _
|
||||
// | \/ | ___ __| |_ _| | ___ ___
|
||||
// | |\/| |/ _ \ / _` | | | | |/ _ \/ __|
|
||||
// | | | | (_) | (_| | |_| | | __/\__ \
|
||||
// |_| |_|\___/ \__,_|\__,_|_|\___||___/
|
||||
//
|
||||
//
|
||||
// by Stephan Raabe (2023)
|
||||
// -----------------------------------------------------
|
||||
//
|
||||
{
|
||||
// Workspaces
|
||||
"hyprland/workspaces" : {
|
||||
"on-click": "activate",
|
||||
"active-only": false,
|
||||
"all-outputs": true,
|
||||
"format": "{}",
|
||||
"format-icons": {
|
||||
"urgent": "",
|
||||
"active": "",
|
||||
"default": ""
|
||||
},
|
||||
"persistent-workspaces": {
|
||||
"*": 5
|
||||
}
|
||||
},
|
||||
|
||||
// Hyprland Window
|
||||
"hyprland/window": {
|
||||
"rewrite": {
|
||||
"(.*) - Brave": "$1",
|
||||
"(.*) - Chromium": "$1",
|
||||
"(.*) - Brave Search": "$1",
|
||||
"(.*) - Outlook": "$1",
|
||||
"(.*) Microsoft Teams": "$1"
|
||||
},
|
||||
"separate-outputs": true
|
||||
},
|
||||
|
||||
// Rofi Application Launcher
|
||||
"custom/appmenu": {
|
||||
"format": "Apps",
|
||||
"tooltip-format": "Left: Open the application launcher\nRight: Show all keybindings",
|
||||
"on-click": "rofi -show drun -replace",
|
||||
"on-click-right": "~/.config/ml4w/scripts/keybindings.sh",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
// Power Menu
|
||||
"custom/exit": {
|
||||
"format": "",
|
||||
"tooltip-format": "Powermenu",
|
||||
"on-click": "wlogout -b 4",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
// Keyboard State
|
||||
"keyboard-state": {
|
||||
"numlock": true,
|
||||
"capslock": true,
|
||||
"format": "{name} {icon}",
|
||||
"format-icons": {
|
||||
"locked": "",
|
||||
"unlocked": ""
|
||||
}
|
||||
},
|
||||
|
||||
// System tray
|
||||
"tray": {
|
||||
// "icon-size": 21,
|
||||
"spacing": 10
|
||||
},
|
||||
|
||||
// Clock
|
||||
"clock": {
|
||||
// "timezone": "America/New_York",
|
||||
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||
"format-alt": "{:%Y-%m-%d}"
|
||||
},
|
||||
|
||||
// System
|
||||
"custom/system": {
|
||||
"format": "",
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
// CPU
|
||||
"cpu": {
|
||||
"format": "/ C {usage}% ",
|
||||
"on-click": "alacritty -e htop"
|
||||
},
|
||||
|
||||
// Memory
|
||||
"memory": {
|
||||
"format": "/ M {}% ",
|
||||
"on-click": "alacritty -e htop"
|
||||
},
|
||||
|
||||
// Harddisc space used
|
||||
"disk": {
|
||||
"interval": 30,
|
||||
"format": "D {percentage_used}% ",
|
||||
"path": "/",
|
||||
"on-click": "alacritty -e htop"
|
||||
},
|
||||
|
||||
"hyprland/language": {
|
||||
"format": "/ K {short}"
|
||||
},
|
||||
|
||||
// Group Hardware
|
||||
"group/hardware": {
|
||||
"orientation": "inherit",
|
||||
"drawer": {
|
||||
"transition-duration": 300,
|
||||
"children-class": "not-memory",
|
||||
"transition-left-to-right": false
|
||||
},
|
||||
"modules": [
|
||||
"custom/system",
|
||||
"disk",
|
||||
"cpu",
|
||||
"memory",
|
||||
"hyprland/language"
|
||||
]
|
||||
},
|
||||
|
||||
// Network
|
||||
"network": {
|
||||
"format": "{ifname}",
|
||||
"format-wifi": " {essid} ({signalStrength}%)",
|
||||
"format-ethernet": " {ifname}",
|
||||
"format-disconnected": "Disconnected ⚠",
|
||||
"tooltip-format": " {ifname} via {gwaddri}",
|
||||
"tooltip-format-wifi": " {ifname} @ {essid}\nIP: {ipaddr}\nStrength: {signalStrength}%\nFreq: {frequency}MHz\nUp: {bandwidthUpBits} Down: {bandwidthDownBits}",
|
||||
"tooltip-format-ethernet": " {ifname}\nIP: {ipaddr}\n up: {bandwidthUpBits} down: {bandwidthDownBits}",
|
||||
"tooltip-format-disconnected": "Disconnected",
|
||||
"max-length": 50,
|
||||
"on-click": "~/.config/ml4w/settings/networkmanager.sh",
|
||||
"on-click-right": "~/.config/ml4w/scripts/nm-applet.sh toggle",
|
||||
},
|
||||
|
||||
// Battery
|
||||
"battery": {
|
||||
"states": {
|
||||
// "good": 95,
|
||||
"warning": 30,
|
||||
"critical": 15
|
||||
},
|
||||
"format": "{icon} {capacity}%",
|
||||
"format-charging": " {capacity}%",
|
||||
"format-plugged": " {capacity}%",
|
||||
"format-alt": "{icon} {time}",
|
||||
// "format-good": "", // An empty format will hide the module
|
||||
// "format-full": "",
|
||||
"format-icons": [" ", " ", " ", " ", " "]
|
||||
},
|
||||
|
||||
// Pulseaudio
|
||||
"pulseaudio": {
|
||||
// "scroll-step": 1, // %, can be a float
|
||||
// "format": "{icon} {volume}%",
|
||||
"format": "{icon}",
|
||||
"format-bluetooth": "{volume}% {icon} {format_source}",
|
||||
"format-bluetooth-muted": " {icon} {format_source}",
|
||||
"format-muted": " {format_source}",
|
||||
"format-source": "{volume}% ",
|
||||
"format-source-muted": "",
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"hands-free": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": ["", " ", " "]
|
||||
},
|
||||
"on-click": "pavucontrol"
|
||||
},
|
||||
|
||||
// Bluetooth
|
||||
"bluetooth": {
|
||||
"format-disabled": "",
|
||||
"format-off": "",
|
||||
"interval": 30,
|
||||
"on-click": "blueman-manager",
|
||||
"format-no-controller": ""
|
||||
},
|
||||
|
||||
// Other
|
||||
"user": {
|
||||
"format": "{user}",
|
||||
"interval": 60,
|
||||
"icon": false,
|
||||
},
|
||||
|
||||
// Idle Inhibator
|
||||
"idle_inhibitor": {
|
||||
"format": "{icon}",
|
||||
"tooltip": true,
|
||||
"format-icons":{
|
||||
"activated": "",
|
||||
"deactivated": ""
|
||||
},
|
||||
"on-click-right": "hyprlock"
|
||||
}
|
||||
}
|
||||
7
waybar/.config/waybar/modules/powermenu.sh
Normal file
7
waybar/.config/waybar/modules/powermenu.sh
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
#!/bin/bash
|
||||
|
||||
me=`whoami`
|
||||
me_name=`getent passwd ${me} | cut -d ':' -f 5 | cut -d ',' -f 1`
|
||||
class=powermenu
|
||||
|
||||
echo -e "{\"text\":\""$me_name"\", \"class\":\""$class"\"}"
|
||||
16
waybar/.config/waybar/old/config
Normal file
16
waybar/.config/waybar/old/config
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"layer": "bottom",
|
||||
"position": "bottom",
|
||||
"modules-left": ["sway/workspaces"],
|
||||
"modules-center": ["clock"],
|
||||
"modules-right": ["network", "pulseaudio", "cpu", "tray"],
|
||||
"clock": {
|
||||
"format": "{:%a %d %b %H:%M}"
|
||||
},
|
||||
"cpu": {
|
||||
"format": "{usage}% CPU"
|
||||
},
|
||||
"tray": {
|
||||
"icon-theme": "Papirus"
|
||||
}
|
||||
}
|
||||
34
waybar/.config/waybar/old/style.css
Normal file
34
waybar/.config/waybar/old/style.css
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
* {
|
||||
font-family: "JetBrains Mono", monospace;
|
||||
font-size: 11px;
|
||||
background-color: #121212; /* dunkles Grau/Schwarz */
|
||||
color: #c0c0c0; /* helles Grau */
|
||||
}
|
||||
|
||||
#sway-workspaces {
|
||||
background-color: #1f2335; /* dunkles Blau/Grau */
|
||||
color: #a0a0a0;
|
||||
padding: 0 12px;
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
#sway-workspaces > .focused {
|
||||
background-color: #5c7eae; /* kühles Blau */
|
||||
color: #1a1a1a;
|
||||
font-weight: bold;
|
||||
box-shadow: 0 0 8px 2px rgba(92, 126, 174, 0.8);
|
||||
border-radius: 6px;
|
||||
padding: 0 12px;
|
||||
transition: background-color 0.3s ease;
|
||||
}
|
||||
|
||||
#sway-workspaces .urgent {
|
||||
background-color: #e06c75; /* rotes Accent */
|
||||
color: #1a1a1a;
|
||||
border-radius: 6px;
|
||||
padding: 0 12px;
|
||||
}
|
||||
|
||||
#clock, #network, #pulseaudio, #battery, #cpu {
|
||||
padding: 0 12px;
|
||||
}
|
||||
504
waybar/.config/waybar/old/style.css.orig
Normal file
504
waybar/.config/waybar/old/style.css.orig
Normal file
|
|
@ -0,0 +1,504 @@
|
|||
/*
|
||||
* __ __ _ ____ _ _
|
||||
* \ \ / /_ _ _ _| |__ __ _ _ __ / ___|| |_ _ _| | ___
|
||||
* \ \ /\ / / _` | | | | '_ \ / _` | '__| \___ \| __| | | | |/ _ \
|
||||
* \ V V / (_| | |_| | |_) | (_| | | ___) | |_| |_| | | __/
|
||||
* \_/\_/ \__,_|\__, |_.__/ \__,_|_| |____/ \__|\__, |_|\___|
|
||||
* |___/ |___/
|
||||
*
|
||||
* by Stephan Raabe (2024)
|
||||
* -----------------------------------------------------
|
||||
*/
|
||||
|
||||
@define-color backgroundlight #FFFFFF;
|
||||
@define-color backgrounddark #FFFFFF;
|
||||
@define-color workspacesbackground1 #FFFFFF;
|
||||
@define-color workspacesbackground2 #CCCCCC;
|
||||
@define-color bordercolor #FFFFFF;
|
||||
@define-color textcolor1 #000000;
|
||||
@define-color textcolor2 #000000;
|
||||
@define-color textcolor3 #000000;
|
||||
@define-color iconcolor #FFFFFF;
|
||||
|
||||
/* -----------------------------------------------------
|
||||
* General
|
||||
* ----------------------------------------------------- */
|
||||
|
||||
* {
|
||||
font-family: "Fira Sans Semibold", "Font Awesome 6 Free", FontAwesome, Roboto, Helvetica, Arial, sans-serif;
|
||||
border: none;
|
||||
border-radius: 0px;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background-color: rgba(0,0,0,0.8);
|
||||
border-bottom: 0px solid #ffffff;
|
||||
/* color: #FFFFFF; */
|
||||
background: transparent;
|
||||
transition-property: background-color;
|
||||
transition-duration: .5s;
|
||||
}
|
||||
|
||||
/* -----------------------------------------------------
|
||||
* Workspaces
|
||||
* ----------------------------------------------------- */
|
||||
|
||||
#workspaces {
|
||||
background: @workspacesbackground1;
|
||||
margin: 2px 18px 3px 1px;
|
||||
padding: 0px 2px;
|
||||
border-radius: 5px 5px 5px 5px;
|
||||
font-weight: bold;
|
||||
font-style: normal;
|
||||
opacity: 1.0;
|
||||
color: @textcolor1;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
padding: 0px 6px;
|
||||
margin: 3px 2px;
|
||||
border-radius: 3px 3px 3px 3px;
|
||||
color: @textcolor1;
|
||||
background-color: @workspacesbackground2;
|
||||
transition: all 0.1s linear;
|
||||
opacity: 0.4;
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
color: @textcolor1;
|
||||
background: @workspacesbackground2;
|
||||
border-radius: 3px 3px 3px 3px;
|
||||
min-width: 30px;
|
||||
transition: all 0.1s linear;
|
||||
opacity:1.0;
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
color: @textcolor1;
|
||||
background: @workspacesbackground2;
|
||||
border-radius: 5px 5px 5px 5px;
|
||||
opacity:0.7;
|
||||
}
|
||||
|
||||
/* -----------------------------------------------------
|
||||
* Tooltips
|
||||
* ----------------------------------------------------- */
|
||||
|
||||
tooltip {
|
||||
border-radius: 16px;
|
||||
background-color: @backgroundlight;
|
||||
opacity:0.9;
|
||||
padding:20px;
|
||||
margin:0px;
|
||||
}
|
||||
|
||||
tooltip label {
|
||||
color: @textcolor2;
|
||||
}
|
||||
|
||||
/* -----------------------------------------------------
|
||||
* Window
|
||||
* ----------------------------------------------------- */
|
||||
|
||||
#window {
|
||||
margin: 3px 15px 3px 0px;
|
||||
padding: 2px 10px 0px 10px;
|
||||
border-radius: 5px 5px 5px 5px;
|
||||
color:white;
|
||||
font-size:16px;
|
||||
font-weight:normal;
|
||||
opacity:1.0;
|
||||
}
|
||||
|
||||
window#waybar.empty #window {
|
||||
background-color:transparent;
|
||||
}
|
||||
|
||||
/* -----------------------------------------------------
|
||||
* Taskbar
|
||||
* ----------------------------------------------------- */
|
||||
|
||||
#taskbar {
|
||||
background: @backgroundlight;
|
||||
margin: 3px 15px 3px 0px;
|
||||
padding:0px;
|
||||
border-radius: 5px 5px 5px 5px;
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
opacity:1.0;
|
||||
border: 3px solid @backgroundlight;
|
||||
}
|
||||
|
||||
#taskbar button {
|
||||
margin:0;
|
||||
border-radius: 5px 5px 5px 5px;
|
||||
padding: 0px 5px 0px 5px;
|
||||
}
|
||||
|
||||
#taskbar.empty {
|
||||
background:transparent;
|
||||
border:0;
|
||||
padding:0;
|
||||
margin:0;
|
||||
}
|
||||
|
||||
/* -----------------------------------------------------
|
||||
* Modules
|
||||
* ----------------------------------------------------- */
|
||||
|
||||
.modules-left > widget:first-child > #workspaces {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.modules-right > widget:last-child > #workspaces {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
/* -----------------------------------------------------
|
||||
* Custom Quicklinks
|
||||
* ----------------------------------------------------- */
|
||||
|
||||
#custom-brave,
|
||||
#custom-browser,
|
||||
#custom-keybindings,
|
||||
#custom-outlook,
|
||||
#custom-filemanager,
|
||||
#custom-teams,
|
||||
#custom-chatgpt,
|
||||
#custom-calculator,
|
||||
#custom-windowsvm,
|
||||
#custom-cliphist,
|
||||
#custom-settings,
|
||||
#custom-wallpaper,
|
||||
#custom-system,
|
||||
#custom-hyprshade,
|
||||
#custom-hypridle,
|
||||
#custom-tools,
|
||||
#custom-quicklink1,
|
||||
#custom-quicklink2,
|
||||
#custom-quicklink3,
|
||||
#custom-quicklink4,
|
||||
#custom-quicklink5,
|
||||
#custom-quicklink6,
|
||||
#custom-quicklink7,
|
||||
#custom-quicklink8,
|
||||
#custom-quicklink9,
|
||||
#custom-quicklink10,
|
||||
#custom-quicklink_chromium,
|
||||
#custom-quicklink_edge,
|
||||
#custom-quicklink_firefox,
|
||||
#custom-quicklink_browser,
|
||||
#custom-quicklink_filemanager,
|
||||
#custom-quicklink_email,
|
||||
#custom-quicklink_thunderbird,
|
||||
#custom-quicklink_calculator,
|
||||
#custom-waybarthemes {
|
||||
margin-right: 10px;
|
||||
font-size: 20px;
|
||||
font-weight: bold;
|
||||
opacity: 1.0;
|
||||
color: @iconcolor;
|
||||
}
|
||||
|
||||
#custom-quicklink1,
|
||||
#custom-quicklink2,
|
||||
#custom-quicklink3,
|
||||
#custom-quicklink4,
|
||||
#custom-quicklink5,
|
||||
#custom-quicklink6,
|
||||
#custom-quicklink7,
|
||||
#custom-quicklink8,
|
||||
#custom-quicklink9,
|
||||
#custom-quicklink10 {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
#custom-tools {
|
||||
margin-right:12px;
|
||||
}
|
||||
|
||||
#custom-hypridle.active {
|
||||
color: @iconcolor;
|
||||
}
|
||||
|
||||
#custom-hypridle.notactive {
|
||||
color: #dc2f2f;
|
||||
}
|
||||
|
||||
#custom-ml4w-welcome {
|
||||
margin-right: 12px;
|
||||
background-image: url("../assets/ml4w-icon.svg");
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
background-size: contain;
|
||||
padding-right: 20px;
|
||||
}
|
||||
|
||||
#custom-chatgpt {
|
||||
margin-right: 16px;
|
||||
background-image: url("../assets/openai.svg");
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
background-size: contain;
|
||||
padding-right: 18px;
|
||||
opacity: 0.8;
|
||||
}
|
||||
|
||||
/* -----------------------------------------------------
|
||||
* Idle Inhibator
|
||||
* ----------------------------------------------------- */
|
||||
|
||||
#idle_inhibitor {
|
||||
margin-right: 15px;
|
||||
font-size: 22px;
|
||||
font-weight: bold;
|
||||
opacity: 0.8;
|
||||
color: @iconcolor;
|
||||
}
|
||||
|
||||
#idle_inhibitor.activated {
|
||||
margin-right: 15px;
|
||||
font-size: 20px;
|
||||
font-weight: bold;
|
||||
opacity: 0.8;
|
||||
color: #dc2f2f;
|
||||
}
|
||||
|
||||
/* -----------------------------------------------------
|
||||
* Custom Modules
|
||||
* ----------------------------------------------------- */
|
||||
|
||||
#custom-appmenu {
|
||||
background-color: @backgrounddark;
|
||||
font-size: 16px;
|
||||
color: @textcolor1;
|
||||
border-radius: 5px 5px 5px 5px;
|
||||
padding: 0px 10px 0px 10px;
|
||||
margin: 2px 17px 2px 0px;
|
||||
opacity:1.0;
|
||||
border:3px solid @bordercolor;
|
||||
}
|
||||
|
||||
/* -----------------------------------------------------
|
||||
* Custom Notification
|
||||
* ----------------------------------------------------- */
|
||||
|
||||
#custom-notification {
|
||||
margin: 0px 13px 0px 0px;
|
||||
padding:0px;
|
||||
font-size:20px;
|
||||
color: @iconcolor;
|
||||
opacity: 0.8;
|
||||
}
|
||||
|
||||
/* -----------------------------------------------------
|
||||
* Custom Exit
|
||||
* ----------------------------------------------------- */
|
||||
|
||||
#custom-exit {
|
||||
margin: 0px 13px 0px 0px;
|
||||
padding:0px;
|
||||
font-size:20px;
|
||||
color: @iconcolor;
|
||||
opacity: 0.8;
|
||||
}
|
||||
|
||||
/* -----------------------------------------------------
|
||||
* Custom Updates
|
||||
* ----------------------------------------------------- */
|
||||
|
||||
#custom-updates {
|
||||
background-color: @backgroundlight;
|
||||
font-size: 16px;
|
||||
color: @textcolor2;
|
||||
border-radius: 5px 5px 5px 5px;
|
||||
padding: 2px 10px 0px 10px;
|
||||
margin: 3px 15px 3px 0px;
|
||||
opacity:1.0;
|
||||
}
|
||||
|
||||
#custom-updates.green {
|
||||
background-color: @backgroundlight;
|
||||
}
|
||||
|
||||
#custom-updates.yellow {
|
||||
background-color: #ff9a3c;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
#custom-updates.red {
|
||||
background-color: #dc2f2f;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
/* -----------------------------------------------------
|
||||
* Hardware Group
|
||||
* ----------------------------------------------------- */
|
||||
|
||||
#disk,#memory,#cpu,#language {
|
||||
margin:0px 10px 0px 0px;
|
||||
padding:0px;
|
||||
font-size:16px;
|
||||
color:@iconcolor;
|
||||
}
|
||||
|
||||
#language {
|
||||
margin-right:10px;
|
||||
}
|
||||
|
||||
/* -----------------------------------------------------
|
||||
* Power Profiles Daemon
|
||||
* ----------------------------------------------------- */
|
||||
|
||||
#power-profiles-daemon {
|
||||
margin: 0px 13px 0px 0px;
|
||||
padding:0px;
|
||||
font-size:16px;
|
||||
color:@iconcolor;
|
||||
}
|
||||
|
||||
/* -----------------------------------------------------
|
||||
* Clock
|
||||
* ----------------------------------------------------- */
|
||||
|
||||
#clock {
|
||||
background-color: @backgrounddark;
|
||||
font-size: 16px;
|
||||
color: @textcolor1;
|
||||
border-radius: 3px 5px 3px 5px;
|
||||
padding: 1px 10px 0px 10px;
|
||||
margin: 3px 10px 3px 0px;
|
||||
opacity:1.0;
|
||||
border:3px solid @bordercolor;
|
||||
}
|
||||
|
||||
/* -----------------------------------------------------
|
||||
* Backlight
|
||||
* ----------------------------------------------------- */
|
||||
|
||||
#backlight {
|
||||
background-color: @backgroundlight;
|
||||
font-size: 16px;
|
||||
color: @textcolor2;
|
||||
border-radius: 5px 5px 5px 5px;
|
||||
padding: 2px 10px 0px 10px;
|
||||
margin: 3px 15px 3px 0px;
|
||||
opacity:1.0;
|
||||
}
|
||||
|
||||
/* -----------------------------------------------------
|
||||
* Pulseaudio
|
||||
* ----------------------------------------------------- */
|
||||
|
||||
#pulseaudio {
|
||||
background-color: @backgroundlight;
|
||||
font-size: 16px;
|
||||
color: @textcolor2;
|
||||
border-radius: 5px 5px 5px 5px;
|
||||
padding: 2px 10px 0px 10px;
|
||||
margin: 3px 15px 3px 0px;
|
||||
opacity:1.0;
|
||||
}
|
||||
|
||||
#pulseaudio.muted {
|
||||
background-color: @backgrounddark;
|
||||
color: @textcolor1;
|
||||
}
|
||||
|
||||
/* -----------------------------------------------------
|
||||
* Network
|
||||
* ----------------------------------------------------- */
|
||||
|
||||
#network {
|
||||
background-color: @backgroundlight;
|
||||
font-size: 16px;
|
||||
color: @textcolor2;
|
||||
border-radius: 5px 5px 5px 5px;
|
||||
padding: 2px 10px 0px 10px;
|
||||
margin: 3px 15px 3px 0px;
|
||||
opacity:1.0;
|
||||
}
|
||||
|
||||
#network.ethernet {
|
||||
background-color: @backgroundlight;
|
||||
color: @textcolor2;
|
||||
}
|
||||
|
||||
#network.wifi {
|
||||
background-color: @backgroundlight;
|
||||
color: @textcolor2;
|
||||
}
|
||||
|
||||
/* -----------------------------------------------------
|
||||
* Bluetooth
|
||||
* ----------------------------------------------------- */
|
||||
|
||||
#bluetooth, #bluetooth.on, #bluetooth.connected {
|
||||
background-color: @backgroundlight;
|
||||
font-size: 16px;
|
||||
color: @textcolor2;
|
||||
border-radius: 5px 5px 5px 5px;
|
||||
padding: 2px 10px 0px 10px;
|
||||
margin: 3px 15px 3px 0px;
|
||||
opacity:1.0;
|
||||
}
|
||||
|
||||
#bluetooth.off {
|
||||
background-color: transparent;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
/* -----------------------------------------------------
|
||||
* Battery
|
||||
* ----------------------------------------------------- */
|
||||
|
||||
#battery {
|
||||
background-color: @backgroundlight;
|
||||
font-size: 16px;
|
||||
color: @textcolor2;
|
||||
border-radius: 5px 5px 5px 5px;
|
||||
padding: 2px 15px 0px 10px;
|
||||
margin: 3px 15px 3px 0px;
|
||||
opacity:1.0;
|
||||
}
|
||||
|
||||
#battery.charging, #battery.plugged {
|
||||
color: @textcolor2;
|
||||
background-color: @backgroundlight;
|
||||
}
|
||||
|
||||
@keyframes blink {
|
||||
to {
|
||||
background-color: @backgroundlight;
|
||||
color: @textcolor2;
|
||||
}
|
||||
}
|
||||
|
||||
#battery.critical:not(.charging) {
|
||||
background-color: #f53c3c;
|
||||
color: @textcolor3;
|
||||
animation-name: blink;
|
||||
animation-duration: 0.5s;
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
}
|
||||
|
||||
/* -----------------------------------------------------
|
||||
* Tray
|
||||
* ----------------------------------------------------- */
|
||||
|
||||
#tray {
|
||||
padding: 0px 15px 0px 0px;
|
||||
}
|
||||
|
||||
#tray > .passive {
|
||||
-gtk-icon-effect: dim;
|
||||
}
|
||||
|
||||
#tray > .needs-attention {
|
||||
-gtk-icon-effect: highlight;
|
||||
}
|
||||
|
||||
|
||||
16
waybar/.config/waybar/scripts/gpu-temp.sh
Executable file
16
waybar/.config/waybar/scripts/gpu-temp.sh
Executable file
|
|
@ -0,0 +1,16 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Junction-Temperatur auslesen
|
||||
TEMP_RAW=$(sensors | grep 'junction:' | awk '{print $2}' | tr -d '+°C')
|
||||
TEMP_INT=${TEMP_RAW%.*} # Ganzzahl
|
||||
|
||||
# Farbliche Klassifikation
|
||||
if [ "$TEMP_INT" -lt 55 ]; then
|
||||
CLASS="cool" # grün
|
||||
elif [ "$TEMP_INT" -lt 75 ]; then
|
||||
CLASS="warm" # gelb/orange
|
||||
else
|
||||
CLASS="hot" # rot
|
||||
fi
|
||||
|
||||
echo "{\"text\": \"GPU: ${TEMP_RAW}°C\", \"class\": \"${CLASS}\"}"
|
||||
7
waybar/.config/waybar/scripts/vpn-status.sh
Executable file
7
waybar/.config/waybar/scripts/vpn-status.sh
Executable file
|
|
@ -0,0 +1,7 @@
|
|||
#!/bin/bash
|
||||
|
||||
if nmcli con show --active | grep -qi vpn; then
|
||||
echo "🔒 VPN connected"
|
||||
else
|
||||
echo "🔓 VPN disconnected"
|
||||
fi
|
||||
125
waybar/.config/waybar/style.css
Normal file
125
waybar/.config/waybar/style.css
Normal file
|
|
@ -0,0 +1,125 @@
|
|||
#waybar {
|
||||
font-family: "JetBrainsMono Nerd Font", monospace;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
#window {
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
box-shadow: none;
|
||||
text-shadow: none;
|
||||
transition-duration: 0s;
|
||||
color: rgba(217, 216, 216, 1);
|
||||
background: #1a1b26;
|
||||
}
|
||||
|
||||
#workspaces {
|
||||
margin: 0 5px;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
padding: 0 6px;
|
||||
margin: 0 2px;
|
||||
border-radius: 4px;
|
||||
border: none;
|
||||
background: transparent;
|
||||
color: #c0caf5; /* normale Textfarbe */
|
||||
font-weight: normal;
|
||||
}
|
||||
#workspaces button.focused {
|
||||
border-bottom: 2px solid #7aa2f7; /* unterstrichenes aktiviertes WS */
|
||||
color: #7aa2f7; /* aktive Farbe */
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
color: #f7768e;
|
||||
}
|
||||
|
||||
#workspaces button.empty {
|
||||
color: #565f89; /* gedimmt für leere */
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
box-shadow: inherit;
|
||||
border-color: #bb9af7;
|
||||
color: #bb9af7;
|
||||
}
|
||||
|
||||
/* Repeat style here to ensure properties are overwritten as there's no !important and button:hover above resets the colour */
|
||||
|
||||
#workspaces button.focused {
|
||||
color: #7aa2f7;
|
||||
}
|
||||
#workspaces button.focused:hover {
|
||||
color: #bb9af7;
|
||||
}
|
||||
|
||||
#pulseaudio {
|
||||
/* font-size: 26px; */
|
||||
}
|
||||
|
||||
#custom-recorder {
|
||||
font-size: 18px;
|
||||
margin: 2px 7px 0px 7px;
|
||||
color:#ee2e24;
|
||||
}
|
||||
|
||||
#tray,
|
||||
#mode,
|
||||
#battery,
|
||||
#temperature,
|
||||
#cpu,
|
||||
#memory,
|
||||
#network,
|
||||
#pulseaudio,
|
||||
#idle_inhibitor,
|
||||
#sway-language,
|
||||
#backlight,
|
||||
#custom-storage,
|
||||
#custom-cpu_speed,
|
||||
#custom-powermenu,
|
||||
#custom-spotify,
|
||||
#custom-weather,
|
||||
#custom-mail,
|
||||
#custom-media {
|
||||
margin: 0px 0px 0px 10px;
|
||||
padding: 0 5px;
|
||||
/* border-top: 3px solid rgba(217, 216, 216, 0.5); */
|
||||
}
|
||||
|
||||
/* #clock {
|
||||
margin: 0px 16px 0px 10px;
|
||||
min-width: 140px;
|
||||
} */
|
||||
|
||||
#battery.warning {
|
||||
color: rgba(255, 210, 4, 1);
|
||||
}
|
||||
|
||||
#battery.critical {
|
||||
color: rgba(238, 46, 36, 1);
|
||||
}
|
||||
|
||||
#battery.charging {
|
||||
color: rgba(217, 216, 216, 1);
|
||||
}
|
||||
|
||||
#custom-storage.warning {
|
||||
color: rgba(255, 210, 4, 1);
|
||||
}
|
||||
|
||||
#custom-storage.critical {
|
||||
color: rgba(238, 46, 36, 1);
|
||||
}
|
||||
|
||||
@keyframes blink {
|
||||
to {
|
||||
background-color: #ffffff;
|
||||
color: black;
|
||||
}
|
||||
}
|
||||
144
waybar/.config/waybar/style.css.1
Normal file
144
waybar/.config/waybar/style.css.1
Normal file
|
|
@ -0,0 +1,144 @@
|
|||
* {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
font-family: VictorMono Nerd Font;
|
||||
font-weight: 600;
|
||||
font-size: 12px;
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background: #12131a;
|
||||
color: white;
|
||||
}
|
||||
|
||||
#workspaces {
|
||||
background-color: #1d202e;
|
||||
margin: 5px;
|
||||
margin-left: 6px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
#workspaces button {
|
||||
padding: 2px 8px;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#workspaces button.focused {
|
||||
color: #24283b;
|
||||
background-color: #7aa2f7;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
background-color: #7dcfff;
|
||||
color: #24283b;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
#custom-date,
|
||||
#clock,
|
||||
#battery,
|
||||
#pulseaudio,
|
||||
#network {
|
||||
background-color: #1d202e;
|
||||
padding: 2px 10px;
|
||||
margin: 5px 0px;
|
||||
}
|
||||
|
||||
#custom-date {
|
||||
color: #7dcfff;
|
||||
}
|
||||
|
||||
#custom-power {
|
||||
color: #24283b;
|
||||
background-color: #db4b4b;
|
||||
border-radius: 5px;
|
||||
margin-right: 10px;
|
||||
margin-top: 5px;
|
||||
margin-bottom: 5px;
|
||||
margin-left: 0px;
|
||||
padding: 3px 10px;
|
||||
}
|
||||
|
||||
#clock {
|
||||
color: #b48ead;
|
||||
border-radius: 0px 5px 5px 0px;
|
||||
margin-right: 6px;
|
||||
}
|
||||
|
||||
#battery {
|
||||
color: #9ece6a;
|
||||
}
|
||||
|
||||
#battery.charging {
|
||||
color: #9ece6a;
|
||||
}
|
||||
|
||||
#battery.warning:not(.charging) {
|
||||
background-color: #f7768e;
|
||||
color: #24283b;
|
||||
border-radius: 5px 5px 5px 5px;
|
||||
}
|
||||
|
||||
#network {
|
||||
color: #f7768e;
|
||||
border-radius: 5px 0px 0px 5px;
|
||||
}
|
||||
|
||||
#pulseaudio {
|
||||
color: #e0af68;
|
||||
}
|
||||
|
||||
#temperature {
|
||||
background-color: #24283b;
|
||||
margin: 5px 0;
|
||||
padding: 0 10px;
|
||||
border-top-left-radius: 5px;
|
||||
border-bottom-left-radius: 5px;
|
||||
color: #82e4ff;
|
||||
}
|
||||
|
||||
#disk {
|
||||
color: #b9f27c;
|
||||
margin: 5px 0;
|
||||
padding-right: 10px;
|
||||
background-color: #24283b;
|
||||
border-top-right-radius: 5px;
|
||||
border-bottom-right-radius: 5px;
|
||||
margin-right: 3px;
|
||||
}
|
||||
|
||||
#memory {
|
||||
margin-left: 5px;
|
||||
background: #2a3152;
|
||||
margin: 5px 0;
|
||||
padding: 0 10px;
|
||||
margin-left: 3px;
|
||||
border-top-left-radius: 5px;
|
||||
border-bottom-left-radius: 5px;
|
||||
color: #ff9e64;
|
||||
}
|
||||
|
||||
#cpu {
|
||||
margin: 5px 0;
|
||||
padding: 0 10px;
|
||||
background-color: #2a3152;
|
||||
color: #ff7a93;
|
||||
border-top-right-radius: 5px;
|
||||
border-bottom-right-radius: 5px;
|
||||
margin-right: 6px;
|
||||
}
|
||||
|
||||
#tray {
|
||||
background-color: #455085;
|
||||
margin: 5px;
|
||||
margin-left: 0px;
|
||||
margin-right: 6px;
|
||||
border-radius: 5px;
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
||||
#tray > * {
|
||||
padding: 0 2px;
|
||||
margin: 0 2px;
|
||||
}
|
||||
13
wofi/.config/wofi/config
Normal file
13
wofi/.config/wofi/config
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
show=drun
|
||||
width=750
|
||||
height=400
|
||||
always_parse_args=true
|
||||
show_all=false
|
||||
term=kitty
|
||||
hide_scroll=true
|
||||
print_command=true
|
||||
insensitive=true
|
||||
prompt=
|
||||
columns=2
|
||||
|
||||
style=~/.config/wofi/style.css
|
||||
1
wofi/.config/wofi/style.css
Normal file
1
wofi/.config/wofi/style.css
Normal file
|
|
@ -0,0 +1 @@
|
|||
404: Not Found
|
||||
2
zsh/.ls_colors_tokyonight
Normal file
2
zsh/.ls_colors_tokyonight
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
di=1;34:ln=1;36:so=1;33:pi=1;35:ex=1;32:bd=1;33;40:cd=1;33;40:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:mi=5;37;41:or=1;31:*.tar=1;31:*.zip=1;31:*.gz=1;31:*.xz=1;31:*.rar=1;31:*.7z=1;31:*.pdf=1;35:*.jpg=1;35:*.png=1;35:*.mp3=1;36:*.mp4=1;36:*.pl=1;33:*.sh=1;32:*.bash=1;32:*.c=1;34:*.h=1;34:*.cpp=1;34:*.rs=1;33
|
||||
|
||||
295
zsh/.zsh/completion/_git
Normal file
295
zsh/.zsh/completion/_git
Normal file
|
|
@ -0,0 +1,295 @@
|
|||
#compdef git gitk
|
||||
|
||||
# zsh completion wrapper for git
|
||||
#
|
||||
# Copyright (c) 2012-2020 Felipe Contreras <felipe.contreras@gmail.com>
|
||||
#
|
||||
# The recommended way to install this script is to make a copy of it as a
|
||||
# file named '_git' inside any directory in your fpath.
|
||||
#
|
||||
# For example, create a directory '~/.zsh/', copy this file to '~/.zsh/_git',
|
||||
# and then add the following to your ~/.zshrc file:
|
||||
#
|
||||
# fpath=(~/.zsh $fpath)
|
||||
#
|
||||
# You need git's bash completion script installed. By default bash-completion's
|
||||
# location will be used (e.g. pkg-config --variable=completionsdir bash-completion).
|
||||
#
|
||||
# If your bash completion script is somewhere else, you can specify the
|
||||
# location in your ~/.zshrc:
|
||||
#
|
||||
# zstyle ':completion:*:*:git:*' script ~/.git-completion.bash
|
||||
#
|
||||
|
||||
zstyle -T ':completion:*:*:git:*' tag-order && \
|
||||
zstyle ':completion:*:*:git:*' tag-order 'common-commands'
|
||||
|
||||
zstyle -s ":completion:*:*:git:*" script script
|
||||
if [ -z "$script" ]; then
|
||||
local -a locations
|
||||
local e bash_completion
|
||||
|
||||
bash_completion=$(pkg-config --variable=completionsdir bash-completion 2>/dev/null) ||
|
||||
bash_completion='/usr/share/bash-completion/completions/'
|
||||
|
||||
locations=(
|
||||
"$(dirname ${funcsourcetrace[1]%:*})"/git-completion.bash
|
||||
"$HOME/.local/share/bash-completion/completions/git"
|
||||
"$bash_completion/git"
|
||||
'/etc/bash_completion.d/git' # old debian
|
||||
)
|
||||
for e in $locations; do
|
||||
test -f $e && script="$e" && break
|
||||
done
|
||||
fi
|
||||
|
||||
local old_complete="$functions[complete]"
|
||||
functions[complete]=:
|
||||
GIT_SOURCING_ZSH_COMPLETION=y . "$script"
|
||||
functions[complete]="$old_complete"
|
||||
|
||||
__gitcomp ()
|
||||
{
|
||||
emulate -L zsh
|
||||
|
||||
local cur_="${3-$cur}"
|
||||
|
||||
case "$cur_" in
|
||||
--*=)
|
||||
;;
|
||||
--no-*)
|
||||
local c IFS=$' \t\n'
|
||||
local -a array
|
||||
for c in ${=1}; do
|
||||
if [[ $c == "--" ]]; then
|
||||
continue
|
||||
fi
|
||||
c="$c${4-}"
|
||||
case $c in
|
||||
--*=|*.) ;;
|
||||
*) c="$c " ;;
|
||||
esac
|
||||
array+=("$c")
|
||||
done
|
||||
compset -P '*[=:]'
|
||||
compadd -Q -S '' -p "${2-}" -a -- array && _ret=0
|
||||
;;
|
||||
*)
|
||||
local c IFS=$' \t\n'
|
||||
local -a array
|
||||
for c in ${=1}; do
|
||||
if [[ $c == "--" ]]; then
|
||||
c="--no-...${4-}"
|
||||
array+=("$c ")
|
||||
break
|
||||
fi
|
||||
c="$c${4-}"
|
||||
case $c in
|
||||
--*=|*.) ;;
|
||||
*) c="$c " ;;
|
||||
esac
|
||||
array+=("$c")
|
||||
done
|
||||
compset -P '*[=:]'
|
||||
compadd -Q -S '' -p "${2-}" -a -- array && _ret=0
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
__gitcomp_direct ()
|
||||
{
|
||||
emulate -L zsh
|
||||
|
||||
compset -P '*[=:]'
|
||||
compadd -Q -S '' -- ${(f)1} && _ret=0
|
||||
}
|
||||
|
||||
__gitcomp_nl ()
|
||||
{
|
||||
emulate -L zsh
|
||||
|
||||
compset -P '*[=:]'
|
||||
compadd -Q -S "${4- }" -p "${2-}" -- ${(f)1} && _ret=0
|
||||
}
|
||||
|
||||
__gitcomp_file ()
|
||||
{
|
||||
emulate -L zsh
|
||||
|
||||
compset -P '*[=:]'
|
||||
compadd -f -p "${2-}" -- ${(f)1} && _ret=0
|
||||
}
|
||||
|
||||
__gitcomp_direct_append ()
|
||||
{
|
||||
__gitcomp_direct "$@"
|
||||
}
|
||||
|
||||
__gitcomp_nl_append ()
|
||||
{
|
||||
__gitcomp_nl "$@"
|
||||
}
|
||||
|
||||
__gitcomp_file_direct ()
|
||||
{
|
||||
__gitcomp_file "$1" ""
|
||||
}
|
||||
|
||||
_git_zsh ()
|
||||
{
|
||||
__gitcomp "v1.1"
|
||||
}
|
||||
|
||||
__git_complete_command ()
|
||||
{
|
||||
emulate -L zsh
|
||||
|
||||
local command="$1"
|
||||
local completion_func="_git_${command//-/_}"
|
||||
if (( $+functions[$completion_func] )); then
|
||||
emulate ksh -c $completion_func
|
||||
return 0
|
||||
else
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
__git_zsh_bash_func ()
|
||||
{
|
||||
emulate -L ksh
|
||||
|
||||
local command=$1
|
||||
|
||||
__git_complete_command "$command" && return
|
||||
|
||||
local expansion=$(__git_aliased_command "$command")
|
||||
if [ -n "$expansion" ]; then
|
||||
words[1]=$expansion
|
||||
__git_complete_command "$expansion"
|
||||
fi
|
||||
}
|
||||
|
||||
__git_zsh_cmd_common ()
|
||||
{
|
||||
local -a list
|
||||
list=(
|
||||
add:'add file contents to the index'
|
||||
bisect:'find by binary search the change that introduced a bug'
|
||||
branch:'list, create, or delete branches'
|
||||
checkout:'checkout a branch or paths to the working tree'
|
||||
clone:'clone a repository into a new directory'
|
||||
commit:'record changes to the repository'
|
||||
diff:'show changes between commits, commit and working tree, etc'
|
||||
fetch:'download objects and refs from another repository'
|
||||
grep:'print lines matching a pattern'
|
||||
init:'create an empty Git repository or reinitialize an existing one'
|
||||
log:'show commit logs'
|
||||
merge:'join two or more development histories together'
|
||||
mv:'move or rename a file, a directory, or a symlink'
|
||||
pull:'fetch from and merge with another repository or a local branch'
|
||||
push:'update remote refs along with associated objects'
|
||||
rebase:'forward-port local commits to the updated upstream head'
|
||||
reset:'reset current HEAD to the specified state'
|
||||
restore:'restore working tree files'
|
||||
rm:'remove files from the working tree and from the index'
|
||||
show:'show various types of objects'
|
||||
status:'show the working tree status'
|
||||
switch:'switch branches'
|
||||
tag:'create, list, delete or verify a tag object signed with GPG')
|
||||
_describe -t common-commands 'common commands' list && _ret=0
|
||||
}
|
||||
|
||||
__git_zsh_cmd_alias ()
|
||||
{
|
||||
local -a list
|
||||
list=(${${(0)"$(git config -z --get-regexp '^alias\.*')"}#alias.})
|
||||
list=(${(f)"$(printf "%s:alias for '%s'\n" ${(f@)list})"})
|
||||
_describe -t alias-commands 'aliases' list && _ret=0
|
||||
}
|
||||
|
||||
__git_zsh_cmd_all ()
|
||||
{
|
||||
local -a list
|
||||
emulate ksh -c __git_compute_all_commands
|
||||
list=( ${=__git_all_commands} )
|
||||
_describe -t all-commands 'all commands' list && _ret=0
|
||||
}
|
||||
|
||||
__git_zsh_main ()
|
||||
{
|
||||
local curcontext="$curcontext" state state_descr line
|
||||
typeset -A opt_args
|
||||
local -a orig_words
|
||||
|
||||
orig_words=( ${words[@]} )
|
||||
|
||||
_arguments -C \
|
||||
'(-p --paginate --no-pager)'{-p,--paginate}'[pipe all output into ''less'']' \
|
||||
'(-p --paginate)--no-pager[do not pipe git output into a pager]' \
|
||||
'--git-dir=-[set the path to the repository]: :_directories' \
|
||||
'--bare[treat the repository as a bare repository]' \
|
||||
'(- :)--version[prints the git suite version]' \
|
||||
'--exec-path=-[path to where your core git programs are installed]:: :_directories' \
|
||||
'--html-path[print the path where git''s HTML documentation is installed]' \
|
||||
'--info-path[print the path where the Info files are installed]' \
|
||||
'--man-path[print the manpath (see `man(1)`) for the man pages]' \
|
||||
'--work-tree=-[set the path to the working tree]: :_directories' \
|
||||
'--namespace=-[set the git namespace]' \
|
||||
'--no-replace-objects[do not use replacement refs to replace git objects]' \
|
||||
'(- :)--help[prints the synopsis and a list of the most commonly used commands]: :->arg' \
|
||||
'(-): :->command' \
|
||||
'(-)*:: :->arg' && return
|
||||
|
||||
case $state in
|
||||
(command)
|
||||
_tags common-commands alias-commands all-commands
|
||||
while _tags; do
|
||||
_requested common-commands && __git_zsh_cmd_common
|
||||
_requested alias-commands && __git_zsh_cmd_alias
|
||||
_requested all-commands && __git_zsh_cmd_all
|
||||
let _ret || break
|
||||
done
|
||||
;;
|
||||
(arg)
|
||||
local command="${words[1]}" __git_dir __git_cmd_idx=1
|
||||
|
||||
if (( $+opt_args[--bare] )); then
|
||||
__git_dir='.'
|
||||
else
|
||||
__git_dir=${opt_args[--git-dir]}
|
||||
fi
|
||||
|
||||
(( $+opt_args[--help] )) && command='help'
|
||||
|
||||
words=( ${orig_words[@]} )
|
||||
|
||||
__git_zsh_bash_func $command
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
_git ()
|
||||
{
|
||||
local _ret=1
|
||||
local cur cword prev
|
||||
local __git_repo_path
|
||||
|
||||
cur=${words[CURRENT]}
|
||||
prev=${words[CURRENT-1]}
|
||||
let cword=CURRENT-1
|
||||
|
||||
if (( $+functions[__${service}_zsh_main] )); then
|
||||
__${service}_zsh_main
|
||||
elif (( $+functions[__${service}_main] )); then
|
||||
emulate ksh -c __${service}_main
|
||||
elif (( $+functions[_${service}] )); then
|
||||
emulate ksh -c _${service}
|
||||
elif (( $+functions[_${service//-/_}] )); then
|
||||
emulate ksh -c _${service//-/_}
|
||||
fi
|
||||
|
||||
let _ret && _default && _ret=0
|
||||
return _ret
|
||||
}
|
||||
|
||||
_git
|
||||
72
zsh/.zshrc
Normal file
72
zsh/.zshrc
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
|
||||
# The following lines were added by compinstall
|
||||
zstyle :compinstall filename '/home/michael/.zshrc'
|
||||
|
||||
|
||||
fpath=(~/.zsh/completion $fpath)
|
||||
|
||||
autoload -Uz compinit
|
||||
compinit
|
||||
|
||||
autoload -Uz _git
|
||||
compdef _git git
|
||||
|
||||
# End of lines added by compinstall
|
||||
# Lines configured by zsh-newuser-install
|
||||
HISTFILE=~/.zsh_history
|
||||
HISTSIZE=10000
|
||||
SAVEHIST=10000
|
||||
# End of lines configured by zsh-newuser-install
|
||||
|
||||
|
||||
PROMPT='%n@%m:%~> '
|
||||
|
||||
setopt histignoredups
|
||||
setopt share_history
|
||||
|
||||
|
||||
# Key Bindings
|
||||
bindkey '^R' history-incremental-search-backward
|
||||
|
||||
export LS_COLORS="$(cat ~/.ls_colors_tokyonight)"
|
||||
|
||||
alias mutt='neomutt'
|
||||
alias ls='ls --color=auto'
|
||||
|
||||
# chpwd Funktion für PERL5LIB setzen
|
||||
function chpwd() {
|
||||
if [[ "$PWD" == $HOME/work/os-autoinst-distri-opensuse* ]]; then
|
||||
export PERL5LIB="$HOME/work/os-autoinst-distri-opensuse/lib:$HOME/work/os-autoinst-distri-opensuse/os-autoinst"
|
||||
else
|
||||
unset PERL5LIB
|
||||
fi
|
||||
}
|
||||
|
||||
if [[ "$PWD" == $HOME/work/os-autoinst-distri-opensuse* ]]; then
|
||||
export PERL5LIB="$HOME/work/os-autoinst-distri-opensuse/lib"
|
||||
fi
|
||||
|
||||
|
||||
|
||||
# Pfad zur Datei, die den letzten Ausführungs-Tag speichert
|
||||
ORG_AGENDA_RUNFILE="$HOME/.cache/org_agenda_last_run"
|
||||
|
||||
# Heutiges Datum in JJJJ-MM-TT Format
|
||||
today=$(date +%F)
|
||||
|
||||
# Prüfen, ob die Datei existiert und Datum stimmt
|
||||
if [[ ! -f "$ORG_AGENDA_RUNFILE" || "$(cat $ORG_AGENDA_RUNFILE)" != "$today" ]]; then
|
||||
# Skript ausführen
|
||||
~/bin/org-agenda
|
||||
|
||||
# Datum in Datei schreiben
|
||||
echo "$today" > "$ORG_AGENDA_RUNFILE"
|
||||
fi
|
||||
|
||||
if gpgconf --launch gpg-agent &>/dev/null; then
|
||||
export GPG_TTY=$(tty)
|
||||
gpg-connect-agent updatestartuptty /bye &>/dev/null
|
||||
fi
|
||||
|
||||
eval "$(keychain --quiet --eval --agents ssh)"
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue