diff --git a/dot_config/alacritty/alacritty.toml b/dot_config/alacritty/alacritty.toml deleted file mode 100644 index 0761e47..0000000 --- a/dot_config/alacritty/alacritty.toml +++ /dev/null @@ -1,48 +0,0 @@ -import = ["./dracula.toml"] - -[env] -TERM = "xterm-256color" - -[font] -size = 10 - -[font.bold] -family = "FiraCode Nerd Font" -style = "Bold" - -[font.bold_italic] -family = "FiraCode Nerd Font" -style = "Bold Italic" - -[font.italic] -family = "FiraCode Nerd Font" -style = "Italic" - -[font.normal] -family = "FiraCode Nerd Font" -style = "Regular" - -[[keyboard.bindings]] -action = "Paste" -key = "V" -mods = "Control|Shift" - -[[keyboard.bindings]] -action = "Copy" -key = "C" -mods = "Control|Shift" - -[scrolling] -history = 99999 - -[shell] -args = ["--login"] -program = "/usr/bin/zsh" - -[window] -opacity = 0.95 -title = "Alacritty" - -[window.class] -general = "Alacritty" -instance = "Alacritty" diff --git a/dot_config/alacritty/dracula.toml b/dot_config/alacritty/dracula.toml deleted file mode 100644 index 0a56c29..0000000 --- a/dot_config/alacritty/dracula.toml +++ /dev/null @@ -1,76 +0,0 @@ -# Dracula theme for Alacritty -# https://draculatheme.com/alacritty -# -# Color palette -# https://spec.draculatheme.com -# -# Instructions -# https://github.com/alacritty/alacritty/blob/master/extra/man/alacritty.5.scd - -[colors.primary] - -background = "#282a36" -foreground = "#f8f8f2" -bright_foreground = "#ffffff" - -[colors.cursor] - -text = "#282a36" -cursor = "#f8f8f2" - -[colors.vi_mode_cursor] - -text = "CellBackground" -cursor = "CellForeground" - -[colors.selection] - -text = "CellForeground" -background = "#44475a" - -[colors.normal] - -black = "#21222c" -red = "#ff5555" -green = "#50fa7b" -yellow = "#f1fa8c" -blue = "#bd93f9" -magenta = "#ff79c6" -cyan = "#8be9fd" -white = "#f8f8f2" - -[colors.bright] - -black = "#6272a4" -red = "#ff6e6e" -green = "#69ff94" -yellow = "#ffffa5" -blue = "#d6acff" -magenta = "#ff92df" -cyan = "#a4ffff" -white = "#ffffff" - -[colors.search.matches] - -foreground = "#44475a" -background = "#50fa7b" - -[colors.search.focused_match] - -foreground = "#44475a" -background = "#ffb86c" - -[colors.footer_bar] - -background = "#282a36" -foreground = "#f8f8f2" - -[colors.hints.start] - -foreground = "#282a36" -background = "#f1fa8c" - -[colors.hints.end] - -foreground = "#f1fa8c" -background = "#282a36" diff --git a/dot_config/brewfile/Brewfile b/dot_config/brewfile/Brewfile deleted file mode 100644 index 47111a2..0000000 --- a/dot_config/brewfile/Brewfile +++ /dev/null @@ -1,78 +0,0 @@ -tap "homebrew/bundle" -tap "homebrew/command-not-found" -tap "homebrew/core" -tap "homebrew/services" -tap "kdabir/tap" -tap "msoap/tools" -tap "xwmx/taps" -tap "yxdunc/tools" -brew "asciinema" -brew "perl" -brew "asdf" -brew "bat" -brew "brotli" -brew "node" -brew "gettext" -brew "bitwarden-cli" -brew "bottom" -brew "bpytop" -brew "cheat" -brew "chezmoi" -brew "choose-rust" -brew "util-linux" -brew "curlie" -brew "direnv" -brew "dog" -brew "duf" -brew "dust" -brew "libgit2" -brew "exa" -brew "fd" -brew "llvm" -brew "gh" -brew "git-delta" -brew "glances" -brew "grex" -brew "gron" -brew "hexyl" -brew "httpie" -brew "hub" -brew "hyperfine" -brew "ipinfo-cli" -brew "jc" -brew "jq" -brew "lf" -brew "lnav" -brew "lsd" -brew "mcfly" -brew "miller" -brew "name-that-hash" -brew "navi" -brew "nmap" -brew "ripgrep" -brew "w3m" -brew "nb" -brew "nghttp2" -brew "procs" -brew "pywhat" -brew "ranger" -brew "rm-improved" -brew "rust" -brew "scc" -brew "sd" -brew "shellcheck" -brew "spark" -brew "speedtest-cli" -brew "starship" -brew "tokei" -brew "up" -brew "viddy" -brew "wget" -brew "wgetpaste" -brew "whalebrew" -brew "xh" -brew "xsv" -brew "zoxide" -brew "kdabir/tap/has" -brew "msoap/tools/shell2http" -brew "yxdunc/tools/lipl" diff --git a/dot_config/kitty/kitty.conf b/dot_config/kitty/kitty.conf index d4c30d8..798ac0d 100644 --- a/dot_config/kitty/kitty.conf +++ b/dot_config/kitty/kitty.conf @@ -4,10 +4,10 @@ copy_on_select no strip_trailing_spaces smart window_padding_width 5 enable_audio_bell no -shell_integration disabled # Fonts -font_family FiraCode Nerd Font +font_family 0xproto Nerd Font +font_size 13 # BEGIN_KITTY_THEME # Dracula diff --git a/dot_config/kitty/themes/embark.conf b/dot_config/kitty/themes/embark.conf deleted file mode 100644 index aa45826..0000000 --- a/dot_config/kitty/themes/embark.conf +++ /dev/null @@ -1,53 +0,0 @@ -background #1E1C31 -foreground #CBE3E7 - -cursor #A1EFD3 - -selection_background #3E3859 -selection_foreground #CBE3E7 - -# black -color0 #1E1C31 -color8 #585273 - -# red -color1 #F48FB1 -color9 #F02E6E - -# green -color2 #A1EFD3 -color10 #7FE9C3 - -# yellow -color3 #FFE6B3 -color11 #F2B482 - -# blue -color4 #91DDFF -color12 #78A8FF - -# magenta -color5 #D4BFFF -color13 #7676FF - -# cyan -color6 #ABF8F7 -color14 #63F2F1 - -# white -color7 #CBE3E7 -color15 #8A889D - -active_border_color #A1EFD3 -inactive_border_color #585273 -bell_border_color #F56574 - -active_tab_foreground #2D2B40 -active_tab_background #63F2F1 -active_tab_font_style bold - -inactive_tab_foreground #CBE3E7 -inactive_tab_background #585273 -inactive_tab_font_style normal - -url_color #D4BFFF diff --git a/dot_config/kitty/themes/penumbra.conf b/dot_config/kitty/themes/penumbra.conf deleted file mode 100644 index 81e91cd..0000000 --- a/dot_config/kitty/themes/penumbra.conf +++ /dev/null @@ -1,91 +0,0 @@ -# vim:ft=kitty - -## name: Penumbra -### license: MIT License -## blurb: Kitty terminal port of the dark Penumbra color theme -## by Neal McKee. https://github.com/nealmckee/penumbra -## This theme uses the balanced 7 colors plus sun and shade -## as well as the the contrast++ for the 16 color palette - -# Place this theme in your `~/.config/kitty/themes` directory -# and select it using `kitty +kitten themes` in the User menu - -#: The basic colors -#:sky -foreground #8F8F8F -#:shade -background #303338 -#:shade -selection_foreground #303338 -#:sun -selection_background #FFF7ED - -#: Cursor colors -#:sun -cursor #FFF7ED -#:shade -cursor_text_color #303338 - -#: URL underline color when hovering with mouse -#:blue -url_color #6E8DD5 - -#: The basic 16 colors -#: black -#: shade- balanced -color0 #24272B -#: shade- contrast++ -color8 #0D0F13 - -#: red -#: red balanced -color1 #CA736C -#: red contrast++ -color9 #F18AA1 - -#: green -#: green balanced -color2 #3EA57B -#: green contrast++ -color10 #58C792 - -#: yellow -#: yellow balanced -color3 #92963A -#: yellow contrast++ -color11 #B4B44A - -#: blue -#: blue balanced -color4 #6E8DD5 -#: blue contrast++ -color12 #83ADFF - -#: magenta (we replace with orange) -#: orange balanced -color5 #C27D40 -#: orange contrast++ -color13 #EA9856 - -#: cyan -#: cyan balanced -color6 #00A0BA -#: cyan contrast++ -color14 #16C3DD - -#: white -#: sun -color7 #FFF7ED -#: sun+ -color15 #FFFDFB - -# colors used by lsd -color187 #F2E6D4 -color230 #FFF7ED -color245 #636363 -color229 #8D9741 -color216 #BA823A -color172 #CA736C -color40 #54C794 -color42 #50B584 -color36 #47A477 diff --git a/dot_config/qtile/bars.py b/dot_config/qtile/bars.py deleted file mode 100644 index 57a80bc..0000000 --- a/dot_config/qtile/bars.py +++ /dev/null @@ -1,38 +0,0 @@ -from libqtile import bar, widget -from colors import colors - -def base(fg='foreground', bg='background'): - return { 'foreground': colors[fg], 'background': colors[bg] } - -widget_defaults = { - 'font': 'FiraCode Mono Nerd Font', - 'fontsize': 12, - 'padding': 5, - 'foreground': colors['black'], - 'background': colors['background'] -} - -group_box = { - 'fontsize': 28, - 'active': colors['purple'], - 'inactive': colors['purple'], - 'highlight_method': 'line', - 'this_current_screen_border': colors['green'] -} - -green = { 'background': colors['green'] } -yellow = { 'background': colors['yellow'] } - -widgets_list = [ - widget.GroupBox(**group_box), - widget.WindowName(**base(fg='yellow')), - widget.Memory(**yellow), - widget.Battery(**green), - widget.Volume(**yellow), - widget.CapsNumLockIndicator(**green), - widget.CurrentLayout(**yellow), - widget.Clock(format='%A, %B %d (%T)', **green), - widget.Systray() -] - -top = bar.Bar(widgets_list, 30) diff --git a/dot_config/qtile/colors.py b/dot_config/qtile/colors.py deleted file mode 100644 index 4d70971..0000000 --- a/dot_config/qtile/colors.py +++ /dev/null @@ -1,9 +0,0 @@ -import json -import os - -theme = 'nord' - -user = os.path.expanduser('~') - -with open(user + "/.config/qtile/themes/" + theme + ".json") as theme_json: - colors = json.load(theme_json) diff --git a/dot_config/qtile/config.py b/dot_config/qtile/config.py deleted file mode 100644 index 2cc9cdc..0000000 --- a/dot_config/qtile/config.py +++ /dev/null @@ -1,15 +0,0 @@ -import subprocess -import os - -from libqtile import hook - -from keys import keys -from groups import groups -from screens import screens -from bars import widget_defaults -from layouts import layouts, floating_layout - -#@hook.subscribe.startup_once -# def start_once(): -# user = os.path.expanduser('~') -# subprocess.call([user + '/.config/qtile/scripts/autostart.sh']) diff --git a/dot_config/qtile/groups.py b/dot_config/qtile/groups.py deleted file mode 100644 index 40b3dac..0000000 --- a/dot_config/qtile/groups.py +++ /dev/null @@ -1,20 +0,0 @@ -from libqtile.config import Group, ScratchPad, DropDown - -group_names = [ - ("WWW", {'layout': 'treetab', 'label': ''}), - ("DEV", {'layout': 'monadtall', 'label': ''}), - ("SYS", {'layout': 'treetab', 'label': ''}), - ("VMS", {'layout': 'monadtall', 'label': ''}), - ("DOC", {'layout': 'monadtall', 'label': ''}), - ("IRC", {'layout': 'monadtall', 'label': ''}), - ("MUS", {'layout': 'monadtall', 'label': ''}), - ("VID", {'layout': 'monadtall', 'label': ''}), - ("GFX", {'layout': 'floating', 'label': ''}) -] - -terminals = [ - DropDown("term", "kitty", height = 0.65, width = 0.85, warp_pointer = False) -] - -groups = [Group(name, **kwargs) for name, kwargs in group_names] -groups.append(ScratchPad("DRP", dropdowns = terminals)) diff --git a/dot_config/qtile/keys.py b/dot_config/qtile/keys.py deleted file mode 100644 index a5c487a..0000000 --- a/dot_config/qtile/keys.py +++ /dev/null @@ -1,62 +0,0 @@ -from libqtile.config import Key, Drag, Click -from libqtile.lazy import lazy - -from groups import group_names - -mod = ["mod4"] -modshift = ["mod4", "shift"] -modctrl = ["mod4", "control"] -ctrl = ["control"] - -keys = [ - # Standard Controls - Key(modshift, "d", lazy.window.kill(), desc='kill active window'), - Key(modctrl, "r", lazy.restart(), desc='reload qtile config'), - Key(modctrl, "l", lazy.spawn('xdg-screensaver lock'), desc='lock screen'), - Key(modshift, "q", lazy.spawn('rofi -show p -modi p:rofi-power-menu'), desc="shutdown menu"), - Key(mod, "Tab", lazy.spawn('rofi -show window'), desc='window menu'), - - # Treetab controls - Key(modctrl, "Up", lazy.layout.section_up(), desc='Move up a section in treetab'), - Key(modctrl, "Down", lazy.layout.section_down(), desc='Move down a section in treetab'), - - # Window controls - Key(mod, "Up", lazy.layout.up(), desc='Move focus up in current stack pane'), - Key(mod, "Down", lazy.layout.down(), desc='Move focus down in current stack pane'), - Key(mod, "Left", lazy.layout.shrink(), lazy.layout.decrease_nmaster(), desc='Shrink window (MonadTall), decrease number in master pane (Tile)'), - Key(mod, "Right", lazy.layout.grow(), lazy.layout.increase_nmaster(), desc='Expand window (MonadTall), increase number in master pane (Tile)'), - Key(modshift, "Down", lazy.layout.shuffle_down(), desc='Move windows down in current stack'), - Key(modshift, "Up", lazy.layout.shuffle_up(), desc='Move windows up in current stack'), - Key(modctrl, "f", lazy.window.toggle_floating(), desc='toggle floating'), - Key(mod, "n", lazy.layout.normalize(), desc='normalize window size ratios'), - Key(mod, "m", lazy.layout.maximize(), desc='toggle window between minimum and maximum sizes'), - - # Stack controls - Key(modshift, "space", lazy.layout.rotate(), lazy.layout.flip(), desc='Switch which side main pane occupies (XmonadTall)'), - Key(mod, "space", lazy.layout.next(), desc='Switch window focus to other pane(s) of stack'), - Key(modctrl, "Return", lazy.layout.toggle_split(), desc='Toggle between split and unsplit sides of stack'), - - # run programs - Key(mod, "Return", lazy.spawn('rofi -show drun'), desc='launcher'), - Key(modshift, "r", lazy.spawn('pcmanfm'), desc='filebrowser'), - Key(modshift, "p", lazy.spawn('bwmenu'), desc='passwordmenu'), - Key(ctrl, "space", lazy.group["DRP"].dropdown_toggle("term")), - - # sound + brightness - Key([], "XF86AudioMute", lazy.spawn('pactl set-sink-mute @DEFAULT_SINK@ toggle')), - Key([], "XF86AudioMicMute", lazy.spawn('pactl set-source-mute @DEFAULT_SOURCE@ toggle')), - Key([], "XF86AudioLowerVolume", lazy.spawn('pactl set-sink-volume @DEFAULT_SINK@ -5%')), - Key([], "XF86AudioRaiseVolume", lazy.spawn('pactl set-sink-volume @DEFAULT_SINK@ +5%')), - Key([], "XF86MonBrightnessUp", lazy.spawn('brightnessctl set +10%')), - Key([], "XF86MonBrightnessDown", lazy.spawn('brightnessctl set 10%-')) -] - -mouse = [ - Drag(mod, "Button1", lazy.window.set_position_floating(), start=lazy.window.get_position()), - Drag(mod, "Button3", lazy.window.set_size_floating(), start=lazy.window.get_size()), - Click(mod, "Button2", lazy.window.bring_to_front()) -] - -for i, (name, kwargs) in enumerate(group_names, 1): - keys.append(Key(mod, str(i), lazy.group[name].toscreen())) - keys.append(Key(modshift, str(i), lazy.window.togroup(name))) diff --git a/dot_config/qtile/layouts.py b/dot_config/qtile/layouts.py deleted file mode 100644 index ebd9638..0000000 --- a/dot_config/qtile/layouts.py +++ /dev/null @@ -1,53 +0,0 @@ -from libqtile import layout -from libqtile.config import Match - -from colors import colors - -layout_theme = { - "border_width": 1, - "margin": 5, - "border_focus": colors['green'], - "border_normal": colors['cyan'] -} - -treetab_layout = { - "font": "FiraCode Nerd Font", - "fontsize": 10, - "sections": [""], - "section_fontsize": 8, - "bg_color": colors['background'], - "active_bg": colors['foreground'], - "active_fg": colors['background'], - "inactive_bg": colors['background'], - "inactive_fg": colors['white'], - "padding_y": 5, - "section_top": 10, - "panel_width": 100 -} - -layouts = [ - # layout.MonadWide(**layout_theme), - # layout.Bsp(**layout_theme), - # layout.Stack(num_stacks=2, **layout_theme), - # layout.Columns(**layout_theme), - # layout.RatioTile(**layout_theme), - # layout.VerticalTile(**layout_theme), - # layout.Matrix(**layout_theme), - layout.MonadTall(**layout_theme), - # layout.Max(**layout_theme), - # layout.Tile(shift_windows=True, **layout_theme), - layout.TreeTab(**treetab_layout), - layout.Floating(**layout_theme) -] - -floatrules = [ - *layout.Floating.default_float_rules, - Match(wm_class="confirmreset"), # gitk - Match(wm_class="makebranch"), # gitk - Match(wm_class="maketag"), # gitk - Match(wm_class="ssh-askpass"), # ssh-askpass - Match(title="branchdialog"), # gitk - Match(title="pinentry"), # GPG key password entry -] - -floating_layout = layout.Floating(float_rules = floatrules, border_width = 0) diff --git a/dot_config/qtile/old_configs/config.py b/dot_config/qtile/old_configs/config.py deleted file mode 100644 index 87ce40f..0000000 --- a/dot_config/qtile/old_configs/config.py +++ /dev/null @@ -1,170 +0,0 @@ -import json -import subprocess - -from libqtile import layout, bar, widget, hook -from libqtile.command import lazy -from libqtile.config import Key, Screen, Group, Drag, Click - -@hook.subscribe.startup_once -def start_once(): - subprocess.call(['/home/eeleater/.config/qtile/scripts/autostart.sh']) - -terminal = "kitty" -mod = ["mod4"] -modshift = ["mod4", "shift"] -modctrl = ["mod4", "control"] - -keys = [ - # Standard Controls - Key(modshift, "d", lazy.window.kill(), desc='kill active window'), - Key(modctrl, "r", lazy.restart(), desc='reload qtile config'), - Key(modctrl, "l", lazy.spawn("xdg-screensaver lock"), desc='lock screen'), - Key(modshift, "q", lazy.spawn("rofi -show p -modi p:rofi-power-menu"), desc="shutdown menu"), - Key(mod, "Tab", lazy.spawn("rofi -show window"), desc='window menu'), - - # Treetab controls - Key(modctrl, "Up", lazy.layout.section_up(), desc='Move up a section in treetab'), - Key(modctrl, "Down", lazy.layout.section_down(), desc='Move down a section in treetab'), - - # Window controls - Key(mod, "Up", lazy.layout.up(), desc='Move focus up in current stack pane'), - Key(mod, "Down", lazy.layout.down(), desc='Move focus down in current stack pane'), - Key(mod, "Left", lazy.layout.shrink(), lazy.layout.decrease_nmaster(), desc='Shrink window (MonadTall), decrease number in master pane (Tile)'), - Key(mod, "Right", lazy.layout.grow(), lazy.layout.increase_nmaster(), desc='Expand window (MonadTall), increase number in master pane (Tile)'), - Key(modshift, "Down", lazy.layout.shuffle_down(), desc='Move windows down in current stack'), - Key(modshift, "Up", lazy.layout.shuffle_up(), desc='Move windows up in current stack'), - Key(modctrl, "f", lazy.window.toggle_floating(), desc='toggle floating'), - Key(mod, "n", lazy.layout.normalize(), desc='normalize window size ratios'), - Key(mod, "m", lazy.layout.maximize(), desc='toggle window between minimum and maximum sizes'), - - # Stack controls - Key(modshift, "space", lazy.layout.rotate(), lazy.layout.flip(), desc='Switch which side main pane occupies (XmonadTall)'), - Key(mod, "space", lazy.layout.next(), desc='Switch window focus to other pane(s) of stack'), - Key(modctrl, "Return", lazy.layout.toggle_split(), desc='Toggle between split and unsplit sides of stack'), - - # run programs - Key(mod, "Return", lazy.spawn(terminal + ' --single-instance'), desc='terminal'), - Key(modshift, "Return", lazy.spawn("rofi -show drun"), desc='launcher'), - Key(modshift, "r", lazy.spawn("pcmanfm"), desc='filebrowser'), - Key(modshift, "p", lazy.spawn("bwmenu"), desc='passwordmenu'), - - # sound + brightness - Key([], "XF86AudioMute", lazy.spawn("pactl set-sink-mute @DEFAULT_SINK@ toggle")), - Key([], "XF86AudioMicMute", lazy.spawn("pactl set-source-mute @DEFAULT_SOURCE@ toggle")), - Key([], "XF86AudioLowerVolume", lazy.spawn("pactl set-sink-volume @DEFAULT_SINK@ -5%")), - Key([], "XF86AudioRaiseVolume", lazy.spawn("pactl set-sink-volume @DEFAULT_SINK@ +5%")), - Key([], "XF86MonBrightnessUp", lazy.spawn("brightnessctl set +10%")), - Key([], "XF86MonBrightnessDown", lazy.spawn("brightnessctl set 10%-")) -] - -mouse = [ - Drag(mod, "Button1", lazy.window.set_position_floating(), start=lazy.window.get_position()), - Drag(mod, "Button3", lazy.window.set_size_floating(), start=lazy.window.get_size()), - Click(mod, "Button2", lazy.window.bring_to_front()) -] - -# GROUPS -group_names = [ - ("WWW", {'layout': 'treetab', 'label': ''}), - ("DEV", {'layout': 'monadtall', 'label': ''}), - ("SYS", {'layout': 'monadtall', 'label': ''}), - ("VMS", {'layout': 'monadtall', 'label': ''}), - ("DOC", {'layout': 'monadtall', 'label': ''}), - ("IRC", {'layout': 'monadtall', 'label': ''}), - ("MUS", {'layout': 'monadtall', 'label': ''}), - ("VID", {'layout': 'monadtall', 'label': ''}), - ("GFX", {'layout': 'floating', 'label': ''}) -] - -groups = [Group(name, **kwargs) for name, kwargs in group_names] - -for i, (name, kwargs) in enumerate(group_names, 1): - keys.append(Key(mod, str(i), lazy.group[name].toscreen())) - keys.append(Key(modshift, str(i), lazy.window.togroup(name))) - -# LAYOUTS -layout_theme = {"border_width": 1, "margin": 5, "border_focus": "53bdfa", "border_normal": "01060e"} -treetab_layout = { - "font": "FiraCode Nerd Font", - "fontsize": 10, - "sections": [""], - "section_fontsize": 8, - "bg_color": "141414", - "active_bg": "90C435", - "active_fg": "000000", - "inactive_bg": "384323", - "inactive_fg": "a0a0a0", - "padding_y": 5, - "section_top": 10, - "panel_width": 100 -} - -layouts = [ - # layout.MonadWide(**layout_theme), - # layout.Bsp(**layout_theme), - # layout.Stack(num_stacks=2, **layout_theme), - # layout.Columns(**layout_theme), - # layout.RatioTile(**layout_theme), - # layout.VerticalTile(**layout_theme), - # layout.Matrix(**layout_theme), - layout.MonadTall(**layout_theme), - # layout.Max(**layout_theme), - # layout.Tile(shift_windows=True, **layout_theme), - layout.TreeTab(**treetab_layout), - layout.Floating(**layout_theme) -] - -# COLORS -theme = 'hopscotch' - -with open("/home/eeleater/.config/qtile/themes/" + theme + ".json") as theme_json: - colors = json.load(theme_json) - -def base(fg='foreground', bg='background'): - return {'foreground': colors[fg], 'background': colors[bg]} - -# DEFAULTS -widget_defaults = {'font': 'FiraCode Mono Nerd Font', 'fontsize': 12, 'padding': 5, 'foreground': colors['black'], 'background': colors['background']} -extension_defaults = widget_defaults.copy() - -group_box = { - 'fontsize': 25, - 'active': colors['purple'], - 'inactive': colors['purple'], - 'highlight_method': 'line', - 'this_current_screen_border': colors['green'] -} - -pacman = { 'update_interval': 1800 } -clock = { 'format': '%A, %B %d (%T)' } -wid_bg_one = { 'background': colors['green'] } -wid_bg_two = { 'background': colors['yellow'] } - -widgets_list = [ - widget.GroupBox(**group_box), - widget.WindowName(**base(fg='yellow')), - widget.Pacman(**pacman, **wid_bg_one), - widget.TextBox(text="Updates", **wid_bg_one), - widget.Memory(**wid_bg_two), - widget.Battery(**wid_bg_one), - widget.Volume(**wid_bg_two), - widget.CapsNumLockIndicator(**wid_bg_one), - widget.CurrentLayout(**wid_bg_two), - widget.Clock(**wid_bg_one, **clock), - widget.Systray() -] - -screens = [Screen(top=bar.Bar(widgets_list, 25))] - -floating_layout = layout.Floating(float_rules=[ - {'wmclass': 'confirm'}, {'wmclass': 'dialog'}, - {'wmclass': 'download'}, {'wmclass': 'error'}, - {'wmclass': 'file_progress'}, {'wmclass': 'notification'}, - {'wmclass': 'splash'}, {'wmclass': 'toolbar'}, - {'wmclass': 'confirmreset'}, {'wmclass': 'makebranch'}, - {'wmclass': 'maketag'}, {'wmclass': 'ssh-askpass'}, - {'wmclass': 'microsoft teams - preview'}, - {'wname': 'branchdialog'}, {'wname': 'pinentry-gtk-2'}, - {'wname': 'pinentry'}, {'wname': 'Welcome to PyCharm'}, - {'wname': 'Kali'} -]) diff --git a/dot_config/qtile/old_configs/sweenu/bars.py b/dot_config/qtile/old_configs/sweenu/bars.py deleted file mode 100644 index 1d5acf8..0000000 --- a/dot_config/qtile/old_configs/sweenu/bars.py +++ /dev/null @@ -1,127 +0,0 @@ -from pathlib import Path -from libqtile import bar, widget - -from colors import theme, border_color - -icon_theme_path = Path.home() / '{{ icon_dir | replace(user_dir + '/', '') }}' -bar_size = 36 - -groupbox = { - 'center_aligned': True, - 'foreground': theme['very_light_white'], - 'inactive': theme['gray'], - 'other_current_screen_border': theme['gray'], - 'this_current_screen_border': theme['dark_blue'], - 'this_screen_border': theme['dark_blue'], - 'urgent_border': theme['red'], - 'urgent_text': theme['red']} - -sep = { - 'linewidth': 2, - 'size_percent': 100, - 'padding': 12} - -soft_sep = { - 'linewidth': 2, - 'size_percent': 70, - 'foreground': theme['dark_gray'], - 'padding': 7} - -tasklist = { - 'border': border_color, - 'max_title_width': 200, - 'txt_floating': '🗗', - 'txt_maximized': '🗖', - 'txt_minimized': '🗕'} - - -volume = {'theme_path': icon_theme_path} - -clock = { - 'timezone': 'Europe/Paris', - 'format': '%B %-d, %H:%M'} - -music = widget.Mpris2( - background=theme['dark_blue'], - name='spotify', - scroll_chars=0, - stop_pause_text='', - display_metadata=['xesam:title', 'xesam:artist'], - objname="org.mpris.MediaPlayer2.spotify") - -disk = widget.DF( - update_interval=3600, - warn_space=5, - format=' {p} ({uf}{m})') - -updates = widget.CheckUpdates( - distro='Arch_checkupdates', - display_format=' {updates}', - execute='termite -e "pikaur -Syu"', - colour_have_updates=theme['dark_blue'], - colour_no_updates=theme['dark_green'], - update_interval=600) - -battery = widget.Battery( - foreground=theme['green'], - low_percentage=0.10, - low_foreground=theme['red'], - update_delay=10, - format='{percent:.0%} {hour:d}:{min:02d} {watt:.2}W') - -battery_icon = widget.BatteryIcon( - theme_path=icon_theme_path, - update_interval=120) - -systray = widget.Systray( - icon_size=24 -) - -main_bar = bar.Bar( - [ - widget.GroupBox(**groupbox, visible_groups=['a', 's', 'd', 'f', - 'music', 'chat', 'game']), - widget.Sep(**sep), - widget.Volume(**volume), - music, - widget.TaskList(**tasklist), - - systray, - widget.Sep(**sep), - disk, - updates, - widget.Sep(**soft_sep), - battery_icon, - battery, - widget.Sep(**soft_sep), - widget.Clock(**clock), - ], bar_size) - -bar1 = bar.Bar( - [ - widget.GroupBox(**groupbox, visible_groups=['a', 's', 'd', 'f', 'game']), - widget.Sep(**sep), - widget.Volume(**volume), - music, - widget.TaskList(**tasklist), - - systray, - widget.Sep(**sep), - disk, - updates, - widget.Sep(**soft_sep), - widget.Clock(**clock), - ], bar_size) - -bar2 = bar.Bar( - [ - widget.GroupBox(**groupbox, visible_groups=['u', 'i', 'o', 'p', 'music', 'chat']), - widget.Sep(**sep), - widget.Volume(**volume), - widget.TaskList(**tasklist), - - battery_icon, - battery, - widget.Sep(**soft_sep), - widget.Clock(**clock), - ], bar_size) diff --git a/dot_config/qtile/old_configs/sweenu/colors.py b/dot_config/qtile/old_configs/sweenu/colors.py deleted file mode 100644 index f4294f6..0000000 --- a/dot_config/qtile/old_configs/sweenu/colors.py +++ /dev/null @@ -1,40 +0,0 @@ -# gruvbox -theme = { - 'dark_black': '{{ theme.dark_black }}', - 'black': '{{ theme.black }}', - 'light_black': '{{ theme.light_black }}', - 'very_light_black': '{{ theme.very_light_black }}', - - 'dark_gray': '{{ theme.dark_gray }}', - 'gray': '{{ theme.gray }}', - 'light_gray': '{{ theme.light_gray }}', - 'very_light_gray': '{{ theme.very_light_gray }}', - - 'dark_white': '{{ theme.dark_white }}', - 'white': '{{ theme.white }}', - 'light_white': '{{ theme.light_white }}', - 'very_light_white': '{{ theme.very_light_white }}', - - 'dark_red': '{{ theme.dark_red }}', - 'red': '{{ theme.red }}', - - 'dark_green': '{{ theme.dark_green }}', - 'green': '{{ theme.green }}', - - 'dark_yellow': '{{ theme.dark_yellow }}', - 'yellow': '{{ theme.yellow }}', - - 'dark_blue': '{{ theme.dark_blue }}', - 'blue': '{{ theme.blue }}', - - 'dark_purple': '{{ theme.dark_purple }}', - 'purple': '{{ theme.purple }}', - - 'dark_teal': '{{ theme.dark_teal }}', - 'teal': '{{ theme.teal }}', - - 'dark_orange': '{{ theme.dark_orange }}', - 'orange': '{{ theme.orange }}', -} - -border_color = theme['white'] diff --git a/dot_config/qtile/old_configs/sweenu/config.py b/dot_config/qtile/old_configs/sweenu/config.py deleted file mode 100644 index cca870b..0000000 --- a/dot_config/qtile/old_configs/sweenu/config.py +++ /dev/null @@ -1,131 +0,0 @@ -import re -from subprocess import run -from pathlib import Path -from typing import List - -from libqtile import layout, hook -from libqtile.config import Group, Match, Screen, Rule - -from bars import main_bar, bar1, bar2 -from keys import keys, mouse, sc, get_backlight_keys -from colors import border_color, theme -from util import qtile_func -from util.monitor import enable_monitor - - -keys = keys -mouse = mouse -screens: List[Screen] = [] -groups = [ - Group('game', layouts=[layout.Max()], persist=False, init=False, - matches=[Match(wm_class=['Steam'])], label=''), - - Group('chat', layouts=[layout.Max()], persist=False, init=False, - matches=[Match(wm_class=['discord'])], label=''), - - Group('music', layouts=[layout.Max()], persist=False, init=False, - matches=[Match(wm_class=[re.compile('spotify', re.I)])], label=''), -] - - -float_rules = [ - {'wmclass': 'confirm'}, - {'wmclass': 'dialog'}, - {'wmclass': 'download'}, - {'wmclass': 'error'}, - {'wmclass': 'file_progress'}, - {'wmclass': 'notification'}, - {'wmclass': 'splash'}, - {'wmclass': 'toolbar'}, - {'wmclass': 'Xephyr'}, - {'wmclass': 'feh'}, - {'wmclass': 'Sms.py'}, - {'wmclass': 'leagueclientux.exe'}, - {'wmclass': 'Gcr-prompter'}, - {'wmclass': 'scrcpy'}, - {'wname': 'Friends'}, -] - -floating_layout = layout.Floating(border_focus=f'#{border_color}', - float_rules=float_rules) - - -layouts = [ - layout.Max(), - layout.Stack(num_stacks=2, border_focus=f'#{border_color}') -] - - -widget_defaults = {'font': 'DejaVu Sans', - 'fontsize': 18, - 'padding': 4, - 'foreground': theme['very_light_white'], - 'background': theme['dark_black']} - - -def setup_monitors(qtile): - monitors = qtile.conn.monitors - nb_monitors = len(monitors) - if nb_monitors == 1: - run('xrandr --auto'.split()) - elif nb_monitors == 2: - laptop_monitor = None - other_monitor = None - for monitor in monitors: - if monitor.name.startswith('eDP'): - laptop_monitor = monitor - else: - other_monitor = monitor - enable_monitor(other_monitor, primary=True, side='left-of', - relative_monitor=laptop_monitor) - - -def setup_screens(qtile, screens, groups): - nb_monitors = len(qtile.conn.monitors) - if nb_monitors == 1: - screens.append(Screen(top=main_bar)) - groups += [Group(i) for i in 'asdf'] - else: - screens += [Screen(top=bar1), Screen(top=bar2)] - groups += [Group(i) for i in 'asdfuiop'] - - -def main(qtile): - global keys - setup_monitors(qtile) - setup_screens(qtile, screens, groups) - keys += get_backlight_keys(qtile) - -def wallpaper(): - wallpaper_path = Path.home() / '.wallpaper' - run(['feh', '--bg-scale', wallpaper_path]) - - -@hook.subscribe.startup -def autostart(): - wallpaper() - sc.set_profile('analog') - - -@hook.subscribe.addgroup -def go_to_group(qtile, group): - try: - qtile.groupMap[group].cmd_toscreen() - except AttributeError: - pass - - -@hook.subscribe.screen_change -def configure_monitors(qtile, ev): - setup_monitors(qtile) - qtile.cmd_restart() - - -dgroups_app_rules: List[Rule] = [] -dgroups_key_binder = None -follow_mouse_focus = False -bring_front_click = False -cursor_warp = False -auto_fullscreen = True -focus_on_window_activation = 'focus' -wmname = 'LG3D' diff --git a/dot_config/qtile/old_configs/sweenu/keys.py b/dot_config/qtile/old_configs/sweenu/keys.py deleted file mode 100644 index f670047..0000000 --- a/dot_config/qtile/old_configs/sweenu/keys.py +++ /dev/null @@ -1,124 +0,0 @@ -from libqtile.config import Key, Drag -from libqtile.command import lazy - -from util.backlight import Backlight -from util.screenshot import screenshot -from util.soundcard import SoundCard -from util import qtile_func - - -# super = mod4, alt = mod1 -mod = 'mod4' - -BROWSER = '{{ browser }}' -TERM= '{{ term }}' -MUSIC_PLAYER = 'spotify' - -# add 'PlayPause', 'Next' or 'Previous' -spotify_cmd = ('dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify ' - '/org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.') -amixer_cmd = 'amixer -D pulse set Master' -rofi_cmd = 'rofi -combi-modi window,run -show combi -modi combi -monitor -4' - -sc = SoundCard('alsa_card.pci-0000_00_1f.3') - - -def app_or_group(group, app): - """Go to app if already open else open it.""" - def f(qtile): - if group in {'music'}: - qtile.cmd_to_screen(1) - try: - qtile.groupMap[group].cmd_toscreen() - except KeyError: - qtile.cmd_spawn(app) - return f - - -def go_to_group(group): - """The groups 'asdf' are accessible on screen 1, 'uiop' on screen 2.""" - def f(qtile): - if group in 'asdf': - qtile.cmd_to_screen(0) - qtile.groupMap[group].cmd_toscreen() - elif group in 'uiop': - qtile.cmd_to_screen(1) - qtile.groupMap[group].cmd_toscreen() - return f - - -# TODO: make this function work for more than two monitors -def get_backlight_keys(qtile): - monitors = qtile.conn.monitors - keys = [] - for monitor in monitors: - bl = Backlight(ctrl=monitor.backlight_ctrl) - if monitor.name.startswith('eDP'): - keys.append(Key([], 'XF86MonBrightnessUp', lazy.function(bl.change_backlight('inc')))) - keys.append(Key([], 'XF86MonBrightnessDown', lazy.function(bl.change_backlight('dec')))) - keys.append(Key([], 'F7', lazy.function(bl.turn_off_screen(monitor.x)))) - else: - keys.append(Key([mod], 'Up', lazy.function(bl.change_backlight('inc')))) - keys.append(Key([mod], 'Down', lazy.function(bl.change_backlight('dec')))) - keys.append(Key([mod], 'F7', lazy.function(bl.turn_off_screen(monitor.x)))) - return keys - - -keys = [ - Key([mod, 'control'], 'p', lazy.spawn('xbacklight -set 50')), - Key([mod], 'k', lazy.layout.down()), # noqa - Key([mod], 'j', lazy.layout.up()), # noqa - Key([mod], 'space', lazy.layout.next()), # noqa - Key([mod, 'control'], 'k', lazy.layout.shuffle_down()), # noqa - Key([mod, 'control'], 'j', lazy.layout.shuffle_up()), # noqa - Key([mod, 'shift'], 'h', lazy.layout.client_to_previous()), # noqa - Key([mod, 'shift'], 'l', lazy.layout.client_to_next()), # noqa - Key([mod, 'shift'], 'space', lazy.layout.rotate()), # noqa - Key([mod, 'shift'], 'Return', lazy.layout.toggle_split()), # noqa - - Key([mod], 'slash', lazy.screen.toggle_group()), # noqa - - Key([mod], 'x', lazy.window.kill()), # noqa - Key([mod], 'y', lazy.window.toggle_floating()), # noqa - - Key([mod], '1', lazy.to_screen(0)), # noqa - Key([mod], '2', lazy.to_screen(1)), # noqa - Key([mod], 'Tab', lazy.next_layout()), # noqa - Key([mod, 'control'], 'r', lazy.restart()), # noqa - Key([mod, 'control'], 'q', lazy.shutdown()), # noqa - - # Audio - Key([], 'XF86AudioMute', lazy.spawn(amixer_cmd + ' 1+ toggle')), # noqa - Key([], 'XF86AudioRaiseVolume', lazy.spawn(amixer_cmd + ' 5%+')), # noqa - Key([], 'XF86AudioLowerVolume', lazy.spawn(amixer_cmd + ' 5%-')), # noqa - Key([], 'XF86AudioPlay', lazy.spawn(spotify_cmd + 'PlayPause')), # noqa - Key([], 'XF86AudioNext', lazy.spawn(spotify_cmd + 'Next')), # noqa - Key([], 'XF86AudioPrev', lazy.spawn(spotify_cmd + 'Previous')), # noqa - - Key([mod], 'bracketleft', lazy.function(sc.change_sink('prev'))), # noqa - Key([mod], 'bracketright', lazy.function(sc.change_sink('next'))), # noqa - Key([], 'F8', lazy.function(sc.swap_profile())), # noqa - - # Apps - Key([mod], 't', lazy.spawn(rofi_cmd)), # noqa - Key([mod], 'Return', lazy.spawn(TERM)), # noqa - Key([mod], 'b', lazy.spawn(BROWSER)), # noqa - Key([mod], 'g', lazy.function(app_or_group('game', 'steam'))), # noqa - Key([mod], 'n', lazy.function(app_or_group('chat', 'discord'))), # noqa - Key([mod], 'm', lazy.function(app_or_group('music', MUSIC_PLAYER))), # noqa - - # Screenshots - Key([], 'Print', lazy.function(screenshot())), # noqa - Key(['control'], 'Print', lazy.spawn('deepin-screenshot')), # noqa -] - -for i in 'asdfuiop': - keys.append(Key([mod], i, lazy.function(go_to_group(i)))) # noqa - keys.append(Key([mod, 'shift'], i, lazy.window.togroup(i))) # noqa - -mouse = [ - Drag([mod], "Button1", lazy.window.set_position_floating(), - start=lazy.window.get_position()), - Drag([mod, 'control'], "Button1", lazy.window.set_size_floating(), - start=lazy.window.get_size()), -] diff --git a/dot_config/qtile/old_configs/sweenu/util/__main__.py b/dot_config/qtile/old_configs/sweenu/util/__main__.py deleted file mode 100644 index b455da1..0000000 --- a/dot_config/qtile/old_configs/sweenu/util/__main__.py +++ /dev/null @@ -1,23 +0,0 @@ -from functools import wraps -from subprocess import run, PIPE -from typing import Callable, Any - -import parse - - -def qtile_func(func: Callable[..., Any]) -> Callable[..., Any]: - """ - This decorator makes a function suitable to be used as a parameter for - `lazy.function()` by making the wrapped function return a function that - takes the qtile instance as first parameter. - """ - @wraps(func) - def wrapper(*args, **kwargs): - def f(qtile): - func(*args, **kwargs) - return f - return wrapper - - -def notify(summary: str, body: str, urgency: str='normal') -> None: - run(['notify-send', '-u', urgency, summary, body]) diff --git a/dot_config/qtile/old_configs/sweenu/util/backlight.py b/dot_config/qtile/old_configs/sweenu/util/backlight.py deleted file mode 100644 index c197b19..0000000 --- a/dot_config/qtile/old_configs/sweenu/util/backlight.py +++ /dev/null @@ -1,50 +0,0 @@ -from subprocess import run, PIPE -from typing import Optional - -from pynput import mouse - -from . import qtile_func - -class Backlight: - def __init__(self, ctrl: Optional[str]=None) -> None: - self.command = ['xbacklight'] - if ctrl: - self.command += ['-ctrl', ctrl] - - def _get_brightness(self) -> int: - return int(run(self.command + ['-get'], stdout=PIPE).stdout) - - def _set_brightness(self, percentage: int) -> None: - run(self.command + [f'-set', str(percentage)]) - - @qtile_func - def change_backlight(self, action: str) -> None: - """ - Increase or decrease bightness. - Takes 'dec' or 'inc' as parameter. Goes 1% percent at a time from - 1% to 40% and 10% at a time from 40% to 100%. - """ - brightness = self._get_brightness() - if brightness != 1 or action != 'dec': - if (brightness > 49 and action == 'dec') \ - or (brightness > 39 and action == 'inc'): - run(self.command + [f'-{action}', '10', '-fps', '10']) - else: - run(self.command + [f'-{action}', '1']) - - @qtile_func - def turn_off_screen(self, screen_offset: int) -> None: - """ - Turn off the laptop's screen. - Use xset if there is only one screen, else, set backlight to - zero. In both case, moving the mouse will turn on the screen. - """ - current_brightness = self._get_brightness() - self._set_brightness(0) - - def on_move(x: int, y: int): - if x > screen_offset: - self._set_brightness(current_brightness) - raise mouse.Listener.StopException - - mouse.Listener(on_move=on_move).start() diff --git a/dot_config/qtile/old_configs/sweenu/util/monitor.py b/dot_config/qtile/old_configs/sweenu/util/monitor.py deleted file mode 100644 index fe4542a..0000000 --- a/dot_config/qtile/old_configs/sweenu/util/monitor.py +++ /dev/null @@ -1,24 +0,0 @@ -from subprocess import run -from pathlib import Path -from typing import Optional - -from libqtile.log_utils import logger -from libqtile.xcbq import Monitor - -from .backlight import Backlight - - -Side = str # one of 'left-of', 'right-of', 'above', 'below' or 'same-as' - - -def enable_monitor(monitor: Monitor, primary: bool=False, side: Optional[Side]=None, - relative_monitor: Optional[Monitor]=None) -> None: - command = ['xrandr', '--output', monitor.name, '--auto'] - if primary: - command += ['--primary'] - if side: - if not relative_monitor: - raise Exception('Need a monitor to be relative to') - command += ['--{}'.format(side), relative_monitor.name] - run(command) - logger.info(f'Running command: {" ".join(command)}') diff --git a/dot_config/qtile/old_configs/sweenu/util/screenshot.py b/dot_config/qtile/old_configs/sweenu/util/screenshot.py deleted file mode 100644 index c689f81..0000000 --- a/dot_config/qtile/old_configs/sweenu/util/screenshot.py +++ /dev/null @@ -1,16 +0,0 @@ -from time import time -from pathlib import Path -from subprocess import run, PIPE - -from . import qtile_func - -@qtile_func -def screenshot(save: bool=True, copy: bool=True) -> None: - shot = run(['maim'], stdout=PIPE) - if save: - path = Path.home() / 'Pictures' - path /= f'screenshot_{str(int(time() * 100))}.png' - with open(path, 'wb') as sc: - sc.write(shot.stdout) - if copy: - run('xclip -sel clip -t image/png'.split(), input=shot.stdout) diff --git a/dot_config/qtile/old_configs/sweenu/util/soundcard.py b/dot_config/qtile/old_configs/sweenu/util/soundcard.py deleted file mode 100644 index 63c3cae..0000000 --- a/dot_config/qtile/old_configs/sweenu/util/soundcard.py +++ /dev/null @@ -1,79 +0,0 @@ -from subprocess import run, PIPE - -import parse - -from . import qtile_func, notify - -class SoundCard(): - def __init__(self, primary_card_name): - self.primary_card = primary_card_name - - def get_current_sink(self): - cp = run(['pactl', 'info'], stdout=PIPE) - output = cp.stdout.decode('utf-8') - return parse.search('Default Sink: {}\n', output)[0] - - def list_sinks(self): - """Generator that yields for each sink, the sink and card name.""" - cp = run(['pactl', 'list', 'sinks'], stdout=PIPE) - output = cp.stdout.decode('utf-8') - for sink in output.split('\nSink'): - sink_name = parse.search('Name: {}\n', sink)[0] - card_name = parse.search('alsa.card_name = "{}"', sink)[0] - yield sink_name, card_name - - def set_new_sink(self, sink_card_tuple): - run(['pactl', 'set-default-sink', sink_card_tuple[0]]) - - def list_sink_inputs(self): - cp = run(['pactl', 'list', 'short', 'sink-inputs'], stdout=PIPE) - output = cp.stdout.decode('utf-8') - return {line.split()[0] for line in output.split('\n') if line} - - def move_sink_input(self, name, new_sink): - run(['pactl', 'move-sink-input', name, new_sink]) - - def get_current_profile(self): - cp = run(['pactl', 'list', 'cards'], stdout=PIPE) - cp = run(['grep', 'Active'], stdout=PIPE, input=cp.stdout) - - return 'hdmi' if b'hdmi' in cp.stdout else 'analog' - - def set_profile(self, profile): - cmd = f'output:{profile}-stereo+input:analog-stereo' - run(['pactl', 'set-card-profile', self.primary_card, cmd]) - - @qtile_func - def change_sink(self, direction): - sinks = list(self.list_sinks()) - - # get the index of the tuple containing the current default sink - current_sink = self.get_current_sink() - for index, tup in enumerate(sinks): - if current_sink in tup: - default_sink_index = index - break - - if direction == 'next': - new_sink = sinks[default_sink_index - 1] - elif direction == 'prev': - new_sink = sinks[(default_sink_index + 1) % len(sinks)] - - self.set_new_sink(new_sink) - notify('Sound Card', new_sink[1]) - - # move current sink inputs, if any, to the new default sink - sink_inputs = self.list_sink_inputs() - if sink_inputs: - for sink_input in sink_inputs: - self.move_sink_input(sink_input, new_sink[0]) - - @qtile_func - def swap_profile(self): - profile = self.get_current_profile() - if profile == 'analog': - self.set_profile('hdmi') - notify('Sound Profile', 'HDMI') - elif profile == 'hdmi': - self.set_profile('analog') - notify('Sound Profile', 'Analog') diff --git a/dot_config/qtile/old_configs/sweenu/widgets.py b/dot_config/qtile/old_configs/sweenu/widgets.py deleted file mode 100644 index 8ff287e..0000000 --- a/dot_config/qtile/old_configs/sweenu/widgets.py +++ /dev/null @@ -1,9 +0,0 @@ -import subprocess - -from libqtile import widget - - -class CheckUpdates(widget.CheckUpdates): - def __init__(self, **config): - super().__init__(**config) - self.cmd_dict.update({'Arch': ('pikaur -Sup', 0)}) diff --git a/dot_config/qtile/screens.py b/dot_config/qtile/screens.py deleted file mode 100644 index 4789a26..0000000 --- a/dot_config/qtile/screens.py +++ /dev/null @@ -1,5 +0,0 @@ -from libqtile.config import Screen - -from bars import top - -screens = [Screen(top=top)] diff --git a/dot_config/qtile/scripts/executable_autostart.sh b/dot_config/qtile/scripts/executable_autostart.sh deleted file mode 100644 index 6f2e081..0000000 --- a/dot_config/qtile/scripts/executable_autostart.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash - -function run { - if ! pgrep "$1"; then - "$@" & - fi -} - -setxkbmap -layout de - -run nm-applet -run xfce4-power-manager -run blueberry-tray -run picom -run volumeicon -# run deadd-notification-center - -run /usr/bin/lxqt-policykit-agent -run nitrogen --restore diff --git a/dot_config/qtile/themes/ayu-dark.json b/dot_config/qtile/themes/ayu-dark.json deleted file mode 100644 index d48ac7f..0000000 --- a/dot_config/qtile/themes/ayu-dark.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "black": "#01060e", - "red": "#ea6c73", - "green": "#91b362", - "yellow": "#f9af4f", - "blue": "#53bdfa", - "purple": "#fae994", - "cyan": "#90e1c6", - "white": "#c7c7c7", - "background": "#brb1ad", - "foreground": "#0a0e14" -} \ No newline at end of file diff --git a/dot_config/qtile/themes/dracula.json b/dot_config/qtile/themes/dracula.json deleted file mode 100644 index 49d79d1..0000000 --- a/dot_config/qtile/themes/dracula.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "black": "#21222c", - "red": "#ff5555", - "green": "#50fa7b", - "yellow": "#ffcb6b", - "blue": "#82aaff", - "purple": "#c792ea", - "cyan": "#8be9fd", - "white": "#f8f8f2", - "background": "#212121", - "foreground": "#f8f8f2" -} \ No newline at end of file diff --git a/dot_config/qtile/themes/hopscotch.json b/dot_config/qtile/themes/hopscotch.json deleted file mode 100644 index 4fcf47b..0000000 --- a/dot_config/qtile/themes/hopscotch.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "black": "#322931", - "red": "#dd464c", - "green": "#8fc13e", - "yellow": "#fdcc59", - "blue": "#1290bf", - "purple": "#c85e7c", - "cyan": "#149b93", - "white": "#b9b5b8", - "background": "#322931", - "foreground": "#b9b5b8" -} diff --git a/dot_config/qtile/themes/material-darker.json b/dot_config/qtile/themes/material-darker.json deleted file mode 100644 index fa6db4a..0000000 --- a/dot_config/qtile/themes/material-darker.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "black": "#000000", - "red": "#ff5370", - "green": "#c3e88d", - "yellow": "#ffcb6b", - "blue": "#82aaff", - "purple": "#c792ea", - "cyan": "#89ddff", - "white": "#ffffff", - "background": "#212121", - "foreground": "#eeffff" -} \ No newline at end of file diff --git a/dot_config/qtile/themes/nord.json b/dot_config/qtile/themes/nord.json deleted file mode 100644 index f6b8731..0000000 --- a/dot_config/qtile/themes/nord.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "black": "#3b4252", - "red": "#bf616a", - "green": "#a3be8c", - "yellow": "#ebcb8b", - "blue": "#81a1c1", - "purple": "#b48ead", - "cyan": "#88c0d0", - "white": "#e5e9f0", - "background": "#2e3440", - "foreground": "#d8dee9" -} diff --git a/dot_config/qtile/themes/one-dark.json b/dot_config/qtile/themes/one-dark.json deleted file mode 100644 index c70a4a2..0000000 --- a/dot_config/qtile/themes/one-dark.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "black": "#131613", - "red": "#e06c75", - "green": "#98c379", - "yellow": "#d19a66", - "blue": "#61afef", - "purple": "#c678dd", - "cyan": "#56b6c2", - "white": "#abb2bf", - "background": "#282c34", - "foreground": "#abb2bf" -} diff --git a/dot_config/qtile/themes/operator.json b/dot_config/qtile/themes/operator.json deleted file mode 100644 index 468f1fd..0000000 --- a/dot_config/qtile/themes/operator.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "black": "#5a5a5a", - "red": "#ca372d", - "green": "#4d7b3a", - "yellow": "#d4d697", - "blue": "#4387cf", - "purple": "#b86cb4", - "cyan": "#72d5c6", - "white": "#ced4cd", - "background": "#191919", - "foreground": "#c3cac2" -} \ No newline at end of file diff --git a/dot_config/qtile/themes/royal.json b/dot_config/qtile/themes/royal.json deleted file mode 100644 index f34f19a..0000000 --- a/dot_config/qtile/themes/royal.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "black": "#241f2b", - "red": "#91284c", - "green": "#23801c", - "yellow": "#b49d27", - "blue": "#6580b0", - "purple": "#674d96", - "cyan": "#8aaabe", - "white": "#524966", - "background": "#100815", - "foreground": "#514968" -} \ No newline at end of file diff --git a/dot_config/qtile/themes/seashells.json b/dot_config/qtile/themes/seashells.json deleted file mode 100644 index 930fcaf..0000000 --- a/dot_config/qtile/themes/seashells.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "black": "#17384c", - "red": "#d15123", - "green": "#027c9b", - "yellow": "#fca02f", - "blue": "#1e4950", - "purple": "#68d4f1", - "cyan": "#50a3b5", - "white": "#deb88d", - "background": "#09141b", - "foreground": "#deb88d" -} \ No newline at end of file diff --git a/dot_config/qtile/themes/smyck.json b/dot_config/qtile/themes/smyck.json deleted file mode 100644 index a08c684..0000000 --- a/dot_config/qtile/themes/smyck.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "black": "#000000", - "red": "#b84131", - "green": "#7da900", - "yellow": "#c4a500", - "blue": "#62a3c4", - "purple": "#ba8acc", - "cyan": "#207383", - "white": "#a1a1a1", - "background": "#1b1b1b", - "foreground": "#f7f7f7" -} \ No newline at end of file diff --git a/dot_config/qtile/themes/spacedust.json b/dot_config/qtile/themes/spacedust.json deleted file mode 100644 index 00976f7..0000000 --- a/dot_config/qtile/themes/spacedust.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "black": "#6e5346", - "red": "#e35b00", - "green": "#5cab96", - "yellow": "#e3cd7b", - "blue": "#0f548b", - "purple": "#e35b00", - "cyan": "#06afc7", - "white": "#f0f1ce", - "background": "#0a1e24", - "foreground": "#ecf0c1" -} \ No newline at end of file diff --git a/dot_config/qtile/themes/spacegray.json b/dot_config/qtile/themes/spacegray.json deleted file mode 100644 index a243554..0000000 --- a/dot_config/qtile/themes/spacegray.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "black": "#000000", - "red": "#b04b57", - "green": "#87b379", - "yellow": "#e5c179", - "blue": "#7d8fa4", - "purple": "#a47996", - "cyan": "#85a7a5", - "white": "#b3b8c3", - "background": "#20242d", - "foreground": "#b3b8c3" -} \ No newline at end of file diff --git a/dot_config/qtile/themes/square.json b/dot_config/qtile/themes/square.json deleted file mode 100644 index 28da9a4..0000000 --- a/dot_config/qtile/themes/square.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "black": "#050505", - "red": "#e9897c", - "green": "#b6377d", - "yellow": "#ecebbe", - "blue": "#a9cdeb", - "purple": "#75507b", - "cyan": "#c9caec", - "white": "#f2f2f2", - "background": "#1a1a1a", - "foreground": "#acacab" -} \ No newline at end of file diff --git a/dot_config/qtile/themes/tomorrow-nb.json b/dot_config/qtile/themes/tomorrow-nb.json deleted file mode 100644 index 1f4416a..0000000 --- a/dot_config/qtile/themes/tomorrow-nb.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "black": "#000000", - "red": "#d54e53", - "green": "#b9ca4a", - "yellow": "#e7c547", - "blue": "#7aa6da", - "purple": "#c397d8", - "cyan": "#70c0b1", - "white": "#ffffff", - "background": "#000000", - "foreground": "#eaeaea" -} \ No newline at end of file diff --git a/dot_config/sheldon/plugins.toml b/dot_config/sheldon/plugins.toml deleted file mode 100644 index 72c9e62..0000000 --- a/dot_config/sheldon/plugins.toml +++ /dev/null @@ -1,72 +0,0 @@ -shell = "zsh" - -# own files -[plugins.compinit] -local = "~/.config/zsh/files/" -use = ["compinit.zsh"] - -# completions -[plugins.completions] -github = "zsh-users/zsh-completions" - -# lscolors -[plugins.lscolors] -github = "trapd00r/LS_COLORS" - -# plugins -[plugins.omzlib] -github = "ohmyzsh/ohmyzsh" -dir = "lib" -use = ["{completion,key-bindings,history,directories}.zsh"] - -[plugins.omzplugins] -github = "ohmyzsh/ohmyzsh" -dir = "plugins" -use = ["{systemd,command-not-found,ssh-agent}/*.plugin.zsh"] - -[plugins.fzftab] -github = "Aloxaf/fzf-tab" - -[plugins.fzfmarks] -github = "urbainvaes/fzf-marks" - -[plugins.evalcache] -github = "mroth/evalcache" - -[plugins.colorize] -github = "zpm-zsh/colorize" - -[plugins.wakatime] -github = "sobolevn/wakatime-zsh-plugin" - -[plugins.titles] -github = "amyreese/zsh-titles" - -[plugins.thefuck] -github = "laggardkernel/zsh-thefuck" - -[plugins.eza] -github = "twopizza9621536/zsh-eza" - -[plugins.bat] -github = "fdellwing/zsh-bat" - -[plugins.youshoulduse] -github = "MichaelAquilina/zsh-you-should-use" - -[plugins.asdf] -github = "asdf-vm/asdf" - -[plugins.abbr] -github = "olets/zsh-abbr" -use = ["zsh-abbr.zsh"] - -[plugins.autosuggestions] -github = "zsh-users/zsh-autosuggestions" - -[plugins.syntaxhighlighting] -github = "zsh-users/zsh-syntax-highlighting" - -[plugins.ownconfigs] -local = "~/.config/zsh/files/" -use = ["{bashcomps,evalstuff,options,sshcomp,aliases,functions,distroicon}.zsh"] diff --git a/dot_config/starship.toml b/dot_config/starship.toml deleted file mode 100644 index 31eebd9..0000000 --- a/dot_config/starship.toml +++ /dev/null @@ -1,8 +0,0 @@ -add_newline = false - -format = """$env_var $all""" - -[env_var.DISTROICON] -format = '[$env_value](white)' -variable = "DISTROICON" -disabled = false diff --git a/dot_config/topgrade.toml.tmpl b/dot_config/topgrade.toml.tmpl index f293b35..c589131 100644 --- a/dot_config/topgrade.toml.tmpl +++ b/dot_config/topgrade.toml.tmpl @@ -1,9 +1,14 @@ + [misc] # Don't ask for confirmations #assume_yes = true # Disable specific steps - same options as the command line flag -disable = ["tldr", "pip3", "node", "vim", "git_repos", "containers", "asdf", "distrobox", "helix", "composer", "yarn", "cargo", "remotes", "rustup", "vscode", "powershell", "dotnet", "flatpak", "shell", "snap", "firmware", "clam_av_db"] +{{- if eq .chezmoi.osRelease.id "endeavouros" }} +disable = ["tldr", "pip3", "node", "vim", "git_repos", "containers", "asdf", "distrobox", "helix", "composer", "yarn", "cargo", "remotes", "rustup", "vscode", "powershell", "dotnet", "flatpak", "shell", "snap", "sheldon", "clam_av_db", "helm", "certbot", "bun", "bun_packages", "jet_brains_toolbox", "nix"] +{{- else }} +disable = ["tldr", "pip3", "node", "vim", "git_repos", "containers", "asdf", "distrobox", "helix", "composer", "yarn", "cargo", "remotes", "rustup", "vscode", "powershell", "dotnet", "flatpak", "shell", "snap", "sheldon", "clam_av_db", "helm", "certbot", "bun", "bun_packages", "jet_brains_toolbox", "firmware"] +{{- end }} # Skip Notify skip_notify = true @@ -21,11 +26,11 @@ skip_notify = true #run_in_tmux = true # List of remote machines with Topgrade installed on them -{{ if eq .chezmoi.hostname "pxm" }} -remote_topgrades = ["docker", "kali", "mail"] -{{ else }} -remote_topgrades = ["pxm", "web", "infra"] -{{ end }} +{{- if eq .chezmoi.hostname "pxm" }} +remote_topgrades = ["mail"] +{{- else }} +remote_topgrades = ["pxm", "web", "kube", "kali", "uptime"] +{{- end }} # Arguments to pass SSH when upgrading remote systems #ssh_arguments = "-o ConnectTimeout=2" diff --git a/dot_config/zsh-abbr/private_user-abbreviations b/dot_config/zsh-abbr/private_user-abbreviations deleted file mode 100644 index b6e2458..0000000 --- a/dot_config/zsh-abbr/private_user-abbreviations +++ /dev/null @@ -1,8 +0,0 @@ -abbr -g "g"="git" -abbr -g "git m"="git checkout main" -abbr -g "git rei"="git rebase -i" -abbr -g "git reim"="git rebase -i main" -abbr -g "git ri"="git rebase -i" -abbr "m"="git checkout main" -abbr "rei"="git rebase -i" -abbr "reim"="git rebase -i main" diff --git a/dot_config/zsh/dot_zprofile b/dot_config/zsh/dot_zprofile deleted file mode 100644 index 4e2652e..0000000 --- a/dot_config/zsh/dot_zprofile +++ /dev/null @@ -1 +0,0 @@ -# create the file diff --git a/dot_config/zsh/dot_zsh_plugins.txt.tmpl b/dot_config/zsh/dot_zsh_plugins.txt.tmpl new file mode 100644 index 0000000..d9f6509 --- /dev/null +++ b/dot_config/zsh/dot_zsh_plugins.txt.tmpl @@ -0,0 +1,35 @@ +# ohmyzsh +getantidote/use-omz +ohmyzsh/ohmyzsh path:lib + +# omz plugins +ohmyzsh/ohmyzsh path:plugins/systemd +ohmyzsh/ohmyzsh path:plugins/command-not-found +ohmyzsh/ohmyzsh path:plugins/fzf +ohmyzsh/ohmyzsh path:plugins/ssh-agent + +# utility plugins +trapd00r/LS_COLORS +3v1n0/zsh-bash-completions-fallback +QuarticCat/zsh-smartcache +unixorn/warhol.plugin.zsh +twopizza9621536/zsh-eza +fdellwing/zsh-bat +amyreese/zsh-titles +Aloxaf/fzf-tab +{{- if eq .chezmoi.osRelease.id "endeavouros" }} +sunlei/zsh-ssh +{{- end }} + +# other plugins +urbainvaes/fzf-marks +{{- if eq .chezmoi.osRelease.id "endeavouros" }} +sobolevn/wakatime-zsh-plugin +{{- end }} +laggardkernel/zsh-thefuck +MichaelAquilina/zsh-you-should-use + +# fish like (load last) +zsh-users/zsh-completions path:src kind:fpath +zsh-users/zsh-autosuggestions +zdharma-continuum/fast-syntax-highlighting diff --git a/dot_config/zsh/dot_zshenv.tmpl b/dot_config/zsh/dot_zshenv.tmpl index c409fc4..70c27ec 100644 --- a/dot_config/zsh/dot_zshenv.tmpl +++ b/dot_config/zsh/dot_zshenv.tmpl @@ -40,17 +40,21 @@ export GNUPGHOME="$XDG_DATA_HOME"/gnupg export W3M_DIR="$XDG_DATA_HOME"/w3m export GIBO_BOILERPLATES="$XDG_DATA_HOME"/giboboilerplates export REDISCLI_HISTFILE="$XDG_DATA_HOME"/redis/history +export IPFS_PATH="$XDG_DATA_HOME"/ipfs # other programs export LESSHISTFILE="$XDG_STATE_HOME"/less/history +{{- if eq .chezmoi.osRelease.id "endeavouros" }} export EDITOR=nvim +{{- else }} +export EDITOR=vim +{{- end }} export ZSH_WAKATIME_BIN=/usr/bin/wakatime export PYTHONSTARTUP=/etc/python/pythonrc # stuff export ZELLIJ_AUTO_ATTACH=true export ZELLIJ_AUTO_EXIT=true -export TERMINALNAME=$(fastfetch --pipe -s Terminal 2>/dev/null | awk '{print $2}') export MANROFFOPT="-c" export FZF_DEFAULT_OPTS='--color=fg:#f8f8f2,bg:#282a36,hl:#bd93f9 --color=fg+:#f8f8f2,bg+:#44475a,hl+:#bd93f9 --color=info:#ffb86c,prompt:#50fa7b,pointer:#ff79c6 --color=marker:#ff79c6,spinner:#ffb86c,header:#6272a4' @@ -60,8 +64,9 @@ export HISTSIZE=$(( 1.2 * SAVEHIST )) export ZSH_CACHE_DIR="$XDG_CACHE_HOME"/zsh export HISTFILE="$ZSH_CACHE_DIR"/history export GPG_TTY="$TTY" -{{ if eq .chezmoi.osRelease.id "endeavouros" }} +unset FZF_MARKS_JUMP +{{- if eq .chezmoi.osRelease.id "endeavouros" }} export DIFFPROG='meld' -{{ end }} +{{- end }} export AUTO_NTFY_DONE_IGNORE="ntfy emacs htop info less mail man meld most mutt nano screen ssh tail tmux top vi vim watch bat cat kate topgrade" export EXA_COLORS="uu=36:gu=37:sn=32:sb=32:da=34:ur=34:uw=35:ux=36:ue=36:gr=34:gw=35:gx=36:tr=34:tw=35:tx=36" diff --git a/dot_config/zsh/dot_zshrc b/dot_config/zsh/dot_zshrc deleted file mode 100644 index 8927d24..0000000 --- a/dot_config/zsh/dot_zshrc +++ /dev/null @@ -1,25 +0,0 @@ -test -v DISTROBOX_HOST_HOME && { unset ZDOTDIR; exec zsh } # fix distrobox -test "x$TERMINALNAME" = "xalacritty" && eval "$(zellij setup --generate-auto-start zsh)" # autostart zellij only in alacritty - -# deduplicate path -typeset -U path PATH -path+=("$XDG_DATA_HOME"/JetBrains/Toolbox/scripts) # jetbrains toolbox -path+=("$HOME"/.local/bin) # local bin - -# startup banner -potentialBanner=('joke bofh' 'joke dad' 'fastfetch') # 'colorscript random' 'joke hq dijkstra' 'joke hq knuth' 'joke hq perlis' 'joke hq mimsc' -eval "$potentialBanner[$RANDOM%$#potentialBanner+1]" - -# disable flowcontrol -stty -ixon - -# source plugins -eval "$(sheldon source)" - -# local overrides -for sourced in "$XDG_DATA_HOME"/zsh/files/*; do source $sourced; done - -# theme -#potentialTheme=('emodipt-extend') # 'kali' 'lambda' 'bubblesextra' 'illusi0n' 'nordtron' 'di4am0nd' 'atomic' -#eval "$(oh-my-posh init zsh --config="$XDG_CACHE_HOME/oh-my-posh/themes/$potentialTheme[$RANDOM%$#potentialTheme+1].omp.json")" -eval "$(oh-my-posh init zsh --config="$XDG_CACHE_HOME/oh-my-posh/themes/emodipt-extend.omp.json")" diff --git a/dot_config/zsh/dot_zshrc.tmpl b/dot_config/zsh/dot_zshrc.tmpl new file mode 100644 index 0000000..5f633bc --- /dev/null +++ b/dot_config/zsh/dot_zshrc.tmpl @@ -0,0 +1,53 @@ +{{- if eq .chezmoi.osRelease.id "endeavouros" }} +test -v DISTROBOX_HOST_HOME && { unset ZDOTDIR; exec zsh } +test -v SSH_CONNECTION && eval "$(zellij setup --generate-auto-start zsh)" + +{{- end }} +# options +setopt NO_CLOBBER +unsetopt FLOW_CONTROL + +# deduplicate path +typeset -U path PATH +{{- if eq .chezmoi.osRelease.id "endeavouros" }} +path+=("$XDG_DATA_HOME"/JetBrains/Toolbox/scripts) # jetbrains toolbox +path+=("$XDG_DATA_HOME/mise/shims") # mise +path+=("$XDG_CONFIG_HOME"/composer/vendor/bin) # composer +{{- end }} +path+=("$HOME"/.local/bin) # local bin + +# startup banner +potentialBanner=('joke bofh' 'joke dad' 'fastfetch') +eval "$potentialBanner[$RANDOM%$#potentialBanner+1]" + +# antidote +{{- if eq .chezmoi.osRelease.id "endeavouros" }} +source '/usr/share/zsh-antidote/antidote.zsh' +{{- else }} +test -r "$XDG_DATA_HOME"/antidote/antidote.zsh || git clone https://github.com/mattmc3/antidote.git "$XDG_DATA_HOME"/antidote +source "$XDG_DATA_HOME"/antidote/antidote.zsh +{{- end }} +zstyle ':antidote:bundle' use-friendly-names 'yes' +antidote load + +# load programs +smartcache eval zoxide init --cmd cd zsh +smartcache eval atuin init zsh +smartcache eval direnv hook zsh +{{- if eq .chezmoi.osRelease.id "endeavouros" }} +eval "$(mise activate zsh)" +{{- end }} + +{{- if eq .chezmoi.osRelease.id "endeavouros" }} +zstyle ':completion:*:(scp|sftp|rsh|rsync):*' hosts ${=${${(f)"$(cat ~/.ssh/known_hosts/{default,priv,work/*}(|2)(N) /dev/null)"}%%[# ]*}//,/ } +{{- end }} + +# source files +source "$ZDOTDIR"/files/aliases.zsh + +# local overrides +for sourced in "$XDG_DATA_HOME"/zsh/*; do source $sourced; done + +# theme +ompTheme="https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/refs/heads/main/themes/emodipt-extend.omp.json" +eval "$(oh-my-posh init zsh --config="$ompTheme")" diff --git a/dot_config/zsh/files/aliases.zsh b/dot_config/zsh/files/aliases.zsh index c5bcaf0..7b8f08a 100644 --- a/dot_config/zsh/files/aliases.zsh +++ b/dot_config/zsh/files/aliases.zsh @@ -1,6 +1,3 @@ -# temp fix for eza -alias ls='eza -F -gh --group-directories-first --git --git-ignore --icons --color-scale all --hyperlink' - alias grep='rg' alias find='fd' @@ -19,3 +16,66 @@ if (( ${+commands[nvim]} )); then alias vim="nvim"; fi alias peda="gdb -iex 'source /usr/share/peda/peda.py' --nh -q" alias gef="gdb -iex 'source /usr/share/gef/gef.py' --nh -q" alias pwndbg="gdb -iex 'source /usr/share/pwndbg/gdbinit.py' --nh -q" + +# add previous command to pet +function prev() { + PREV=$(fc -lrn | head -n 1) + sh -c "pet new `printf %q "$PREV"`" +} + +# select from pet snippets +function petselect() { + BUFFER=$(pet search --query "$LBUFFER") + CURSOR=$#BUFFER + zle redisplay +} +zle -N petselect +bindkey '^s' petselect + +# ranger as cli file manager +function runranger() { + echo + ranger < $TTY + zle redisplay +} +zle -N runranger +bindkey '^f' runranger + +function yy() { + if [ -n "$YAZI_LEVEL" ]; then + exit + fi + + local tmp="$(mktemp -t "yazi-cwd.XXXXX")" + yazi "$@" --cwd-file="$tmp" + if cwd="$(cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then + cd -- "$cwd" + fi + rm -f -- "$tmp" +} +bindkey -s "^y" "yy\n" + +function ss() { + command grc --colour=auto ss "$@" +} + +function gi() { + curl -sLw "\n" "https://www.toptal.com/developers/gitignore/api/$@" +} + +function findfile() { + local search + if test "$1" = "--update"; then + sudo updatedb + shift + search=$1 + else + search=$1 + fi + + locate "$PWD*$search*" +} + +function scanKeys() { + ssh-keyscan $1 | grep -v '#' +} diff --git a/dot_config/zsh/files/bashcomps.zsh b/dot_config/zsh/files/bashcomps.zsh deleted file mode 100644 index 7c9b85c..0000000 --- a/dot_config/zsh/files/bashcomps.zsh +++ /dev/null @@ -1,11 +0,0 @@ -if (( ${+commands[distrobox]} )); then - source /usr/share/bash-completion/completions/distrobox - source /usr/share/bash-completion/completions/distrobox-create - source /usr/share/bash-completion/completions/distrobox-enter - source /usr/share/bash-completion/completions/distrobox-ephemeral - source /usr/share/bash-completion/completions/distrobox-generate-entry - source /usr/share/bash-completion/completions/distrobox-list - source /usr/share/bash-completion/completions/distrobox-rm - source /usr/share/bash-completion/completions/distrobox-stop - source /usr/share/bash-completion/completions/distrobox-upgrade -fi diff --git a/dot_config/zsh/files/compinit.zsh b/dot_config/zsh/files/compinit.zsh deleted file mode 100644 index afd93cc..0000000 --- a/dot_config/zsh/files/compinit.zsh +++ /dev/null @@ -1,4 +0,0 @@ -mkdir -p "$XDG_CACHE_HOME"/zsh &>/dev/null - -autoload -Uz compinit -compinit -d "$XDG_CACHE_HOME"/zsh/compdump diff --git a/dot_config/zsh/files/distroicon.zsh b/dot_config/zsh/files/distroicon.zsh deleted file mode 100644 index fc4599c..0000000 --- a/dot_config/zsh/files/distroicon.zsh +++ /dev/null @@ -1,33 +0,0 @@ -# find out which distribution we are running on -FILE="/etc/*-release" -if [[ -f $FILE ]]; then - _distro=$(awk '/^ID=/' /etc/*-release | awk -F'=' '{ print tolower($2) }') -fi - -# set an icon based on the distro -case $_distro in - *kali*) ICON="ﴣ";; - *arch*|*endeavouros*) ICON="";; - *debian*) ICON="";; - *raspbian*) ICON="";; - *ubuntu*) ICON="";; - *elementary*) ICON="";; - *fedora*) ICON="";; - *coreos*) ICON="";; - *gentoo*) ICON="";; - *mageia*) ICON="";; - *centos*) ICON="";; - *opensuse*|*tumbleweed*) ICON="";; - *sabayon*) ICON="";; - *slackware*) ICON="";; - *linuxmint*) ICON="";; - *alpine*) ICON="";; - *aosc*) ICON="";; - *nixos*) ICON="";; - *devuan*) ICON="";; - *manjaro*) ICON="";; - *rhel*) ICON="";; - *) ICON="";; -esac - -export DISTROICON="$ICON" diff --git a/dot_config/zsh/files/evalstuff.zsh b/dot_config/zsh/files/evalstuff.zsh deleted file mode 100644 index b19e153..0000000 --- a/dot_config/zsh/files/evalstuff.zsh +++ /dev/null @@ -1,8 +0,0 @@ -# evalstuff -_evalcache fzf --zsh -_evalcache zoxide init --cmd cd zsh -_evalcache atuin init zsh -_evalcache navi widget zsh -_evalcache direnv hook zsh -#_evalcache ntfy shell-integration -#eval "$(keychain --dir "$XDG_CACHE_HOME"/keychain --eval --quiet id_rsa)" diff --git a/dot_config/zsh/files/functions.zsh b/dot_config/zsh/files/functions.zsh deleted file mode 100644 index 1fbf928..0000000 --- a/dot_config/zsh/files/functions.zsh +++ /dev/null @@ -1,20 +0,0 @@ -pet_select () { - BUFFER=$(pet search --query "$LBUFFER") - CURSOR=$#BUFFER - zle redisplay -} -zle -N pet_select -bindkey '^s' pet_select - -prev () { - PREV=$(fc -lrn | head -n 1) - sh -c "pet new $(printf %q "$PREV")" -} - -run_ranger () { - echo - ranger < $TTY - zle redisplay -} -zle -N run_ranger -bindkey '^f' run_ranger diff --git a/dot_config/zsh/files/mal.zsh b/dot_config/zsh/files/mal.zsh deleted file mode 100644 index fc14d7d..0000000 --- a/dot_config/zsh/files/mal.zsh +++ /dev/null @@ -1,195 +0,0 @@ -export ALIASES_FILE="$XDG_CONFIG_HOME"/aliasesrc - -function mal { - # Use fzf to allow the user to select an alias from the aliases file - function _execute_alias { - local alias_to_execute=$(cut -d' ' -f2- "$ALIASES_FILE" | fzf) - - # Check if the user cancelled the selection - test -z $alias_to_execute && return 1 - - echo "Executing alias: $alias_to_execute" - # Execute the selected alias - eval ${alias_to_execute%%=*} - return 0 - } - - # Delete an existing alias by selecting it from a list - function _interactive_delete { - local alias_to_delete=$(cut -d' ' -f2- "$ALIASES_FILE" | fzf) - - # Check if the user cancelled the selection - test -z $alias_to_delete && return 1 - - echo "Deleted alias: $alias_to_delete" - # Delete the selected alias from the aliases file - sed -i "/^alias ${alias_to_delete%%=*}=/d" "$ALIASES_FILE" - unalias ${alias_to_delete%%=*} - } - - # Delete an existing alias using specified name - function _parameter_delete { - local alias_to_delete=$1 - local line_with_alias=$(grep "$1=" "$ALIASES_FILE") - - # Check if the alias exists in the aliases file - if test -z "$line_with_alias"; then - echo "No alias with the name $1 found." - return 2 - fi - - echo "Deleted alias: $alias_to_delete" - # Delete the selected alias from the aliases file - sed -i "/^alias ${alias_to_delete%%=*}=/d" "$ALIASES_FILE" - unalias ${alias_to_delete%%=*} - } - - # Rename an existing alias by selecting it from a list - function _interactive_rename { - local alias_to_rename=$(cut -d' ' -f2- "$ALIASES_FILE" | fzf) - - # Check if the user cancelled the selection - test -z $alias_to_rename && return 1 - - echo "Input new name:" - read new_name - echo "Renaming alias from $alias_to_rename to $new_name" - sed -i "s/^alias ${alias_to_rename%%=*}=/alias ${new_name}=/g" "$ALIASES_FILE" - unalias ${alias_to_rename%%=*} - } - - # Rename an existing alias using specified old and new names - function _parameter_rename { - local old_alias_name=$1 - local new_alias_name=$2 - local line_with_alias=$(grep "^alias ${old_alias_name}=" "$ALIASES_FILE") - - if test -z "$line_with_alias"; then - echo "No alias with the name $old_alias_name found." - return 1 - fi - - echo "Renaming alias from $old_alias_name to $new_alias_name" - sed -i "s/^alias ${old_alias_name}=/alias ${new_alias_name}=/g" "$ALIASES_FILE" - unalias ${old_alias_name} - } - - # Change the command associated with an existing alias by selecting it from a list - function _interactive_command_change { - local alias_to_change=$(cut -d' ' -f2- "$ALIASES_FILE" | fzf) - - # Check if the user cancelled the selection - test -z $alias_to_change && return 1 - - echo "Input new command:" - read new_command - echo "Changing command for alias ${alias_to_change%%=*} to \"$new_command\"" - sed -i "/^alias ${alias_to_change%%=*}=/{s/=.*/=\"$new_command\"/}" "$ALIASES_FILE" - } - - # Change the command associated with an existing alias using specified name and command - function _parameter_command_change { - local alias_to_change=$1 - local new_command="${@:2}" - local line_with_alias=$(grep "$alias_to_change=" "$ALIASES_FILE") - - if test -z "$line_with_alias"; then - echo "No alias with the name $alias_to_change found." - return 1 - fi - - echo "Changing command for alias $alias_to_change to \"$new_command\"" - sed -i "/^alias ${alias_to_change}=/{s/=.*/=\"$new_command\"/}" "$ALIASES_FILE" - } - - # Add a new alias - function _add_command { - local line_with_alias=$(grep "$1=" "$ALIASES_FILE") - - if test ! -z "$line_with_alias"; then - echo "Alias found: $line_with_alias; change alias by using the -c flag." - return 1 - fi - - local lh="alias $1" - local rh=\"${@:2}\" - local alias_str="$lh=$rh" - - echo $alias_str >>"$ALIASES_FILE" - echo "added '$alias_str' to .aliases" - } - - # List all aliases from the aliases file - function _list_aliases { - cut -d' ' -f2- "$ALIASES_FILE" | command cat - } - - # ============================================================================================================================================================== - - action="$1" - param1="$2" - param2="$3" - - # Check if the user has provided a help option or no arguments - helpParams=('-h' '--help' '-help') - if (($helpParams[(Ie)$action])) || test $# -eq 0; then - # Display usage information - echo "Usage: mal [OPTION]... [ALIAS_NAME] [ALIAS_COMMAND]..." - echo "" - echo "Create, delete, change, or execute aliases interactively." - echo "" - echo "Options:" - echo " -h, --help display this help and exit" - echo " -l list all defined aliases" - echo " -e execute an alias interactively" - echo " -d delete an alias interactively" - echo " -dn NAME delete an alias by name" - echo " -r rename an alias interactively" - echo " -rn OLD NEW rename an existing alias" - echo " -c change the command associated with an existing alias interactively" - echo " -cc NAME COMMAND change the command associated with an existing alias by name" - return 0 - fi - - case "$action" in - "-e") - # Execute an alias interactively - _execute_alias - ;; - "-l") - # List all aliases - _list_aliases - ;; - "-d") - # Delete an alias interactively - _interactive_delete - ;; - "-dn") - # Delete an alias using a parameter - _parameter_delete "$param1" - ;; - "-r") - # rename an alias interactively - _interactive_rename - ;; - "-rn") - # rename an alias using parameters - _parameter_rename "$param1" "$param2" - ;; - "-c") - # change a command interactively - _interactive_command_change - ;; - "-cc") - # change a command using parameters - _parameter_command_change "$param1" "$param2" - ;; - *) - # add a new command - _add_command "$action" "$param1" - ;; - esac - - # Reload aliases - source "$ALIASES_FILE" -} diff --git a/dot_config/zsh/files/options.zsh b/dot_config/zsh/files/options.zsh deleted file mode 100644 index a8477c6..0000000 --- a/dot_config/zsh/files/options.zsh +++ /dev/null @@ -1,5 +0,0 @@ -setopt NO_CLOBBER -setopt INTERACTIVE_COMMENTS -setopt HASH_EXECUTABLES_ONLY -setopt NUMERIC_GLOB_SORT -unsetopt FLOW_CONTROL diff --git a/dot_config/zsh/files/sshcomp.zsh b/dot_config/zsh/files/sshcomp.zsh deleted file mode 100644 index 799786b..0000000 --- a/dot_config/zsh/files/sshcomp.zsh +++ /dev/null @@ -1,24 +0,0 @@ -zstyle ':completion:*:(ssh|scp|sshfs|mosh|rsync):*' sort false -zstyle ':completion:*:(ssh|scp|sshfs|mosh|rsync):*' group-name '' -zstyle ':completion:*:(ssh|scp|sshfs|mosh|rsync):*' verbose yes - -zstyle ':completion:*:(ssh|scp|sshfs|mosh|rsync):*' tag-order 'hosts:-host:host hosts:-domain:domain hosts:-ipaddr:ip\ address *' -zstyle ':completion:*:(scp|sshfs|rsync):*' group-order users files all-files hosts-domain hosts-host hosts-ipaddr -zstyle ':completion:*:(ssh|mosh):*' group-order users hosts-domain hosts-host users hosts-ipaddr - -zstyle ':completion:*:(ssh|scp|sshfs|mosh|rsync):*:users' ignored-patterns '*' -zstyle ':completion:*:(ssh|scp|sshfs|mosh|rsync):*:hosts-host' ignored-patterns '*(.|:)*' loopback localhost broadcasthost 'ip6-*' 'hbz*' -zstyle ':completion:*:(ssh|scp|sshfs|mosh|rsync):*:hosts-domain' ignored-patterns '<->.<->.<->.<->' '^[-[:alnum:]]##(.[-[:alnum:]]##)##' '*@*' '*.eeleater.org' '*.hbz-nrw.de' -zstyle ':completion:*:(ssh|scp|sshfs|mosh|rsync):*:hosts-ipaddr' ignored-patterns '^(<->.<->.<->.<->|(|::)([[:xdigit:].]##:(#c,2))##(|%*))' '127.*' '255.255.255.255' '::1' 'fe80::*' 'ff02::*' - -[ -r ~/.ssh/config ] && _ssh_config=($(cat ~/.ssh/config | sed -ne 's/Host[=\t ]//p')) || _ssh_config=() -[ -r /etc/ssh/ssh_known_hosts ] && _global_ssh_hosts=(${${${${(f)"$(/{gsub(/.*
/,""); print "- " $0}' + ;; esac diff --git a/dot_local/bin/executable_updateOhMyPosh b/dot_local/bin/executable_updateOhMyPosh old mode 100755 new mode 100644 index e8366eb..ed0ca60 --- a/dot_local/bin/executable_updateOhMyPosh +++ b/dot_local/bin/executable_updateOhMyPosh @@ -1,6 +1,6 @@ #!/bin/bash -newestVersion="$(curl -sL https://api.github.com/repos/JanDeDobbeleer/oh-my-posh/releases/latest | jq -r '.name' | cut -dv -f2)" -localVersion="$(oh-my-posh --version)" +newestVersion="$(curl -sL https://api.github.com/repos/JanDeDobbeleer/oh-my-posh/releases/latest | jq -r '.name')" +localVersion="v$(oh-my-posh version)" tmpFile="$(mktemp -u)" test "$newestVersion" != "$localVersion" && { diff --git a/dot_local/bin/executable_zellijCreateLayout b/dot_local/bin/executable_zellijCreateLayout new file mode 100644 index 0000000..c867981 --- /dev/null +++ b/dot_local/bin/executable_zellijCreateLayout @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +set -euo pipefail +ZJ_LAYOUT_DIR=$(zellij setup --check | grep "LAYOUT DIR" - | grep -o '".*"' - | tr -d '"') + +if [[ -d "${ZJ_LAYOUT_DIR}" ]]; then + ZJ_LAYOUT="$ZJ_LAYOUT_DIR/$(fd --type file . "${ZJ_LAYOUT_DIR}" | sed 's|.*/||' | fzf || exit)" + zellij --layout "${ZJ_LAYOUT}" +fi diff --git a/dot_local/bin/executable_zellijList b/dot_local/bin/executable_zellijList new file mode 100644 index 0000000..cc16b0f --- /dev/null +++ b/dot_local/bin/executable_zellijList @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +ZJ_SESSIONS=$(zellij list-sessions) +NO_SESSIONS=$(echo "${ZJ_SESSIONS}" | wc -l) + +if [ "${NO_SESSIONS}" -ge 2 ]; then + zellij attach \ + "$(echo "${ZJ_SESSIONS}" | fzf | cut -d' ' -f1)" +else + zellij attach -c +fi