From 68d4d48276421454131008e386f68a2972c30da2 Mon Sep 17 00:00:00 2001 From: Out Of Ideas Date: Sun, 24 Mar 2024 00:06:07 -0500 Subject: [PATCH] New dots --- ash/.ashrc | 12 + ash/.profile | 23 + eww/eww.scss | 60 ++ eww/eww.yuck | 159 ++++ eww/scripts/change-workspace.sh | 3 + eww/scripts/workspaces.sh | 42 + foot/{ => dawnfox}/foot.ini | 0 foot/tomorrownight/foot.ini | 36 + hyprland/onedark/hyprland.conf | 214 +++++ hyprland/tomorrownight/hyprland.conf | 239 +++++ .../tomorrownight/scripts/.monitor_status | 1 + hyprland/tomorrownight/scripts/monitor.sh | 11 + nushell/config.nu | 843 ++++++++++++++++++ nushell/env.nu | 105 +++ nushell/history.txt | 291 ++++++ .../Catpuccin-Macchiato.py} | 0 qutebrowser/{ => themes}/Daybreak.py | 0 .../themes/base16-tomorrow-night.config.py | 302 +++++++ starship/tomorrownight/starship.toml | 168 ++++ vis/{ => dawnfox}/visrc.lua | 0 vis/themes/base16-tomorrow-night.lua | 63 ++ vis/tomorrownight/visrc.lua | 15 + zsh/{Gentoo => Catpuccin-Machiato}/.profile | 0 zsh/{Gentoo => Catpuccin-Machiato}/.zshrc | 0 zsh/{OpenBSD => Daybreak}/.zshrc | 0 zsh/tomorrownight/.zshrc | 143 +++ 26 files changed, 2730 insertions(+) create mode 100644 ash/.ashrc create mode 100644 ash/.profile create mode 100644 eww/eww.scss create mode 100644 eww/eww.yuck create mode 100755 eww/scripts/change-workspace.sh create mode 100755 eww/scripts/workspaces.sh rename foot/{ => dawnfox}/foot.ini (100%) create mode 100644 foot/tomorrownight/foot.ini create mode 100644 hyprland/onedark/hyprland.conf create mode 100644 hyprland/tomorrownight/hyprland.conf create mode 100644 hyprland/tomorrownight/scripts/.monitor_status create mode 100755 hyprland/tomorrownight/scripts/monitor.sh create mode 100644 nushell/config.nu create mode 100644 nushell/env.nu create mode 100644 nushell/history.txt rename qutebrowser/{theme.py => themes/Catpuccin-Macchiato.py} (100%) rename qutebrowser/{ => themes}/Daybreak.py (100%) create mode 100644 qutebrowser/themes/base16-tomorrow-night.config.py create mode 100644 starship/tomorrownight/starship.toml rename vis/{ => dawnfox}/visrc.lua (100%) create mode 100644 vis/themes/base16-tomorrow-night.lua create mode 100644 vis/tomorrownight/visrc.lua rename zsh/{Gentoo => Catpuccin-Machiato}/.profile (100%) rename zsh/{Gentoo => Catpuccin-Machiato}/.zshrc (100%) rename zsh/{OpenBSD => Daybreak}/.zshrc (100%) create mode 100644 zsh/tomorrownight/.zshrc diff --git a/ash/.ashrc b/ash/.ashrc new file mode 100644 index 0000000..4003c7a --- /dev/null +++ b/ash/.ashrc @@ -0,0 +1,12 @@ +########### +# Aliases # +########### + +alias lynx="~/.local/bin/lynx" +alias e="ls" + +############# +# Autostart # +############# + +fastfetch diff --git a/ash/.profile b/ash/.profile new file mode 100644 index 0000000..bd77bde --- /dev/null +++ b/ash/.profile @@ -0,0 +1,23 @@ +####### +# ASH # +####### + +ENV="$HOME/.ashrc" +export ENV +. $ENV +. .ashrc + +################### +# XDG_RUNTIME_DIR # +################### + +# Set $XDG_RUNTIME_DIR +if test -z "${XDG_RUNTIME_DIR}"; then + export XDG_RUNTIME_DIR=/tmp/${UID}-runtime-dir + if ! test -d "${XDG_RUNTIME_DIR}"; then + mkdir "${XDG_RUNTIME_DIR}" + chmod 0700 "${XDG_RUNTIME_DIR}" + fi +fi + +if [ -e /home/vehementham/.nix-profile/etc/profile.d/nix.sh ]; then . /home/vehementham/.nix-profile/etc/profile.d/nix.sh; fi # added by Nix installer diff --git a/eww/eww.scss b/eww/eww.scss new file mode 100644 index 0000000..47c2023 --- /dev/null +++ b/eww/eww.scss @@ -0,0 +1,60 @@ +* { + all: unset; /* Unsets everything so you can style everything from scratch */ +} + +/* Global Styles */ +.bar0 { + font-size: 18px; + background-color: #1d1f21; + color: #c5c8c6; + padding: 10px; + border-radius: 16px; +} .bar1 { + font-size: 18px; + background-color: #1d1f21; + color: #c5c8c6; + padding: 10px; + border-radius: 16px; +} + +/* Styles on classes (see eww.yuck for more information) */ + +.left_status { + all: unset; + margin-left: 12px; +} + +.right_status slider { + all: unset; + color: #1d1f21; +} + +.right_status button { + all: unset; + color: #1d2594; + margin-right: 23px; + font-size: 30px; +} + +} .metric scale trough highlight { + all: unset; + background-color: #cc6666; + background-image: linear-gradient(to right, #81a2be, #8abeb7, #b294bb); + border-radius: 10px; + min-width: 7px; +} .metric scale trough { + all: unset; + background-color: #373b41; + border-radius: 50px; + min-height: 10px; + min-width: 100px; + margin-left: 13px; + margin-right: 15px; +} + +.workspaces button { + color: #c5c8c6; + font-size: 17px; +} .workspaces button:hover { + color: #cc6666; +} diff --git a/eww/eww.yuck b/eww/eww.yuck new file mode 100644 index 0000000..9a6e170 --- /dev/null +++ b/eww/eww.yuck @@ -0,0 +1,159 @@ +;; Bars + +;; Variables +(defpoll volume :interval "1s" + "pactl get-sink-volume $(pactl get-default-sink) | awk '{print $5}' | head -n1") + +(defpoll time :interval "10s" + "date '+%H:%M %b %d, %Y'") + +(defvar logo "") + +(deflisten music :initial "" + "playerctl --follow metadata --format '{{ artist }} - {{ title }}' || true") + +;; workspaces +;; monitor 0 +(defvar workspace_1_monitor_0 "") +(defvar workspace_2_monitor_0 "") +(defvar workspace_3_monitor_0 "") +(defvar workspace_4_monitor_0 "") +(defvar workspace_5_monitor_0 "") +(defvar workspace_6_monitor_0 "") +(defvar workspace_7_monitor_0 "") +(defvar workspace_8_monitor_0 "") +(defvar workspace_9_monitor_0 "") + +;; monitor 1 +(defvar workspace_1_monitor_1 "") +(defvar workspace_2_monitor_1 "") +(defvar workspace_3_monitor_1 "") +(defvar workspace_4_monitor_1 "") +(defvar workspace_5_monitor_1 "") +(defvar workspace_6_monitor_1 "") +(defvar workspace_7_monitor_1 "") +(defvar workspace_8_monitor_1 "") +(defvar workspace_9_monitor_1 "") + +;; Full Bar +;; monitor 0 +(defwidget bar0 [] + (centerbox :orientation "h" + (left_status) + (workspaces_monitor_0) + ;;(music) + (right_status))) + +;; monitor 1 +(defwidget bar1 [] + (centerbox :orientation "h" + (left_status) + (workspaces_monitor_1) + ;;(music) + (right_status))) + +;; Bar Sections +;; left +(defwidget left_status [] + (box :class "left_status" :orientation "h" :space-evenly false :halign "start" + time)) + +;; right +(defwidget right_status [] + (box :class "right_status" :orientation "h" :space-evenly false :halign "end" + (metric :label "󰋋" + :value volume + :onchange "pactl set-sink-volume $(pactl get-default-sink) {}%") + (metric :label "" + :value {EWW_RAM.used_mem_perc} + :onchange "") + (metric :label "" + :value {EWW_CPU.avg} + :onchange "") + (button :onclick "echo" ""))) + +;; monitor 0 +(defwidget workspaces_monitor_0 [] + (box :class "workspaces" + :orientation "h" + :space-evenly false + :halign "center" + :spacing 10 + (button :onclick "scripts/change-workspace.sh 1" "${workspace_1_monitor_0}" ) + (button :onclick "scripts/change-workspace.sh 2" "${workspace_2_monitor_0}" ) + (button :onclick "scripts/change-workspace.sh 3" "${workspace_3_monitor_0}" ) + (button :onclick "scripts/change-workspace.sh 4" "${workspace_4_monitor_0}" ) + (button :onclick "scripts/change-workspace.sh 5" "${workspace_5_monitor_0}" ) + (button :onclick "scripts/change-workspace.sh 6" "${workspace_6_monitor_0}" ) + (button :onclick "scripts/change-workspace.sh 7" "${workspace_7_monitor_0}" ) + (button :onclick "scripts/change-workspace.sh 8" "${workspace_8_monitor_0}" ) + (button :onclick "scripts/change-workspace.sh 9" "${workspace_9_monitor_0}" ))) + +;; monitor 1 +(defwidget workspaces_monitor_1 [] + (box :class "workspaces" + :orientation "h" + :space-evenly false + :halign "center" + :spacing 10 + (button :onclick "scripts/change-workspace.sh 1" "${workspace_1_monitor_1}" ) + (button :onclick "scripts/change-workspace.sh 2" "${workspace_2_monitor_1}" ) + (button :onclick "scripts/change-workspace.sh 3" "${workspace_3_monitor_1}" ) + (button :onclick "scripts/change-workspace.sh 4" "${workspace_4_monitor_1}" ) + (button :onclick "scripts/change-workspace.sh 5" "${workspace_5_monitor_1}" ) + (button :onclick "scripts/change-workspace.sh 6" "${workspace_6_monitor_1}" ) + (button :onclick "scripts/change-workspace.sh 7" "${workspace_7_monitor_1}" ) + (button :onclick "scripts/change-workspace.sh 8" "${workspace_8_monitor_1}" ) + (button :onclick "scripts/change-workspace.sh 9" "${workspace_9_monitor_1}" ))) + +;; Bar Modules +(defwidget music [] + (box :class "music" + :orientation "h" + :space-evenly false + :halign "center" + {music != "" ? "🎵${music}" : ""})) + +(defwidget metric [label value onchange] + (box :orientation "h" + :class "metric" + :space-evenly false + (box :class "label" label) + (scale :min 0 + :max 101 + :active {onchange != ""} + :value value + :onchange onchange))) + +;; logo +(defwidget logo [text] + (box :orientation "h" + :class "logo" + (scale :min 0 + :max 101))) + +;; Total Window definitions +;; monitor 0 +(defwindow bar0 + :monitor 0 + :windowtype "dock" + :geometry (geometry :x "0%" + :y "5px" + :width "98%" + :height "35px" + :anchor "top center") + :exclusive true + :reserve (struts :side "top" :distance "4%") + (bar0)) + +;; monitor 1 +(defwindow bar1 + :monitor 1 + :geometry (geometry :x "0%" + :y "5px" + :width "98%" + :height "35px" + :anchor "top center") + :exclusive true + :reserve (struts :side "top" :distance "4%") + (bar1)) diff --git a/eww/scripts/change-workspace.sh b/eww/scripts/change-workspace.sh new file mode 100755 index 0000000..1a51bf2 --- /dev/null +++ b/eww/scripts/change-workspace.sh @@ -0,0 +1,3 @@ +#!/bin/sh +hyprctl dispatch workspace $1 +$HOME/.config/eww/scripts/workspaces.sh diff --git a/eww/scripts/workspaces.sh b/eww/scripts/workspaces.sh new file mode 100755 index 0000000..19dc0cb --- /dev/null +++ b/eww/scripts/workspaces.sh @@ -0,0 +1,42 @@ +#!/bin/sh +ACTIVE_MONITOR=$(hyprctl activeworkspace | grep "monitorID:" | awk '{print $2}') +ACTIVE_WORKSPACE=$(hyprctl monitors | grep -A 6 "(ID ${ACTIVE_MONITOR})" | tail -n1 | awk '{print $4}' | sed 's/(//' | sed 's/)//') + +NUMBER_OF_MONITORS=$(expr $(hyprctl monitors | grep " " | wc -l) / 17 - 1) +i=0 +while [ "$i" -le "$NUMBER_OF_MONITORS" ]; do + if [ "$ACTIVE_MONITOR" -eq "$i" ]; then + WORKSPACE_1="" + WORKSPACE_2="" + WORKSPACE_3="" + WORKSPACE_4="" + WORKSPACE_5="" + WORKSPACE_6="" + WORKSPACE_7="" + WORKSPACE_8="" + WORKSPACE_9="" + + if [ $ACTIVE_WORKSPACE -eq 1 ]; then WORKSPACE_1=""; fi + if [ $ACTIVE_WORKSPACE -eq 2 ]; then WORKSPACE_2=""; fi + if [ $ACTIVE_WORKSPACE -eq 3 ]; then WORKSPACE_3=""; fi + if [ $ACTIVE_WORKSPACE -eq 4 ]; then WORKSPACE_4=""; fi + if [ $ACTIVE_WORKSPACE -eq 5 ]; then WORKSPACE_5=""; fi + if [ $ACTIVE_WORKSPACE -eq 6 ]; then WORKSPACE_6=""; fi + if [ $ACTIVE_WORKSPACE -eq 7 ]; then WORKSPACE_7=""; fi + if [ $ACTIVE_WORKSPACE -eq 8 ]; then WORKSPACE_8=""; fi + if [ $ACTIVE_WORKSPACE -eq 9 ]; then WORKSPACE_9=""; fi + + eww update workspace_1_monitor_${i}=$WORKSPACE_1 + eww update workspace_2_monitor_${i}=$WORKSPACE_2 + eww update workspace_3_monitor_${i}=$WORKSPACE_3 + eww update workspace_4_monitor_${i}=$WORKSPACE_4 + eww update workspace_5_monitor_${i}=$WORKSPACE_5 + eww update workspace_6_monitor_${i}=$WORKSPACE_6 + eww update workspace_7_monitor_${i}=$WORKSPACE_7 + eww update workspace_8_monitor_${i}=$WORKSPACE_8 + eww update workspace_9_monitor_${i}=$WORKSPACE_9 + fi + i=$(expr $i + 1) +done + +# Create a set of workspace variables in eww config for each monitor diff --git a/foot/foot.ini b/foot/dawnfox/foot.ini similarity index 100% rename from foot/foot.ini rename to foot/dawnfox/foot.ini diff --git a/foot/tomorrownight/foot.ini b/foot/tomorrownight/foot.ini new file mode 100644 index 0000000..f302adc --- /dev/null +++ b/foot/tomorrownight/foot.ini @@ -0,0 +1,36 @@ +[cursor] +color=1d1f21 aeafad + +[colors] +alpha=1 +foreground=c5c8c6 +background=1d1f21 + +regular0=1d1f21 +regular1=912226 +regular2=778900 +regular3=ae7b00 +regular4=1d2594 +regular5=682a9b +regular6=2b6651 +regular7=929593 + +bright0=969896 +bright1=cc6666 +bright2=b5bd68 +bright3=f0c674 +bright4=81a2be +bright5=b294bb +bright6=8abeb7 +bright7=ecebec + +[scrollback] +indicator-position=none + +[main] +shell=nu -e fastfetch +pad=10x10 +font=Mononoki Nerd Font Mono:size=11 +font-bold=Mononoki Nerd Font Mono:size=11:weight=bold +font-italic=Mononoki Nerd Font Mono:size=11:stant=italic +font-bold-italic=Mononoki Nerd Font Mono:size=11:weight=bold:slant=italic diff --git a/hyprland/onedark/hyprland.conf b/hyprland/onedark/hyprland.conf new file mode 100644 index 0000000..59277ad --- /dev/null +++ b/hyprland/onedark/hyprland.conf @@ -0,0 +1,214 @@ +monitor = eDP-1, 1920x1080@60, 0x0, 1 +monitor = DP-2, 1920x1080@60, 1920x0, 1 + +# See https://wiki.hyprland.org/Configuring/Keywords/ for more + +# Execute your favorite apps at launch +exec-once = hyprpaper + +# Source a file (multi-file configs) +# source = ~/.config/hypr/myColors.conf + +# Some default env vars. +env = XCURSOR_SIZE,24 + +# For all categories, see https://wiki.hyprland.org/Configuring/Variables/ +input { + kb_layout = us + kb_variant = + kb_model = + kb_options = + kb_rules = + + follow_mouse = 1 + + touchpad { + natural_scroll = no + } + + sensitivity = 0 # -1.0 - 1.0, 0 means no modification. +} + +general { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + + gaps_in = 10 + gaps_out = 40 + border_size = 2 + col.active_border = rgba(56B6C2ee) rgba(56B6c2ee) rgba(C678DDee) 45deg + col.inactive_border = rgba(1e2127aa) + + layout = dwindle +} + +decoration { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + + rounding = 36 + + blur { + enabled = true + size = 3 + passes = 1 + } + + drop_shadow = yes + shadow_range = 4 + shadow_render_power = 3 + col.shadow = rgba(1a1a1aee) +} + +animations { + enabled = yes + + # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more + + bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + + animation = windows, 1, 7, myBezier + animation = windowsOut, 1, 7, default, popin 80% + animation = border, 1, 10, default + animation = borderangle, 1, 8, default + animation = fade, 1, 7, default + animation = workspaces, 1, 6, default +} + +dwindle { + # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more + pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = yes # you probably want this +} + +master { + # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more + new_is_master = true +} + +gestures { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + workspace_swipe = off +} + +# Example per-device config +# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more +device:epic-mouse-v1 { + sensitivity = -0.5 +} + +# Example windowrule v1 +# windowrule = float, ^(kitty)$ +# Example windowrule v2 +# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ +# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more + + +# See https://wiki.hyprland.org/Configuring/Keywords/ for more +$mainMod = ALT + +# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more +bind = $mainMod, Q, exec, kitty +bind = $mainMod SHIFT, Q, exec, firefox +bind = $mainMod SHIFT, E, exec, ArmCord +bind = $mainMod, C, killactive, +bind = $mainMod SHIFT, X, exit, +bind = $mainMod, E, exec, dolphin +bind = $mainMod, V, togglefloating, +bind = $mainMod, D, exec, wofi --show drun +bind = $mainMod, P, pseudo, # dwindle +bind = $mainMod, S, togglesplit, # dwindle +bind = $mainMod, M, fullscreen, 1 +bind = $mainMod SHIFT, M, fullscreen + +# Move focus with mainMod + arrow keys +bind = $mainMod, H, movefocus, l +bind = $mainMod, L, movefocus, r +bind = $mainMod, K, movefocus, u +bind = $mainMod, J, movefocus, d + +bind = $mainMod, left, movefocus, l +bind = $mainMod, right, movefocus, r +bind = $mainMod, up, movefocus, u +bind = $mainMod, down, movefocus, d + +bind = $mainMod SHIFT, H, movewindow, l +bind = $mainMod SHIFT, L, movewindow, r +bind = $mainMod SHIFT, K, movewindow, u +bind = $mainMod SHIFT, J, movewindow, d + +bind = $mainMod SHIFT, left, movewindow, l +bind = $mainMod SHIFT, right, movewindow, r +bind = $mainMod SHIFT, up, movewindow, u +bind = $mainMod SHIFT, down, movewindow, d + + +# Switch workspaces with mainMod + [0-9] +bind = $mainMod, 1, workspace, 1 +bind = $mainMod, 2, workspace, 2 +bind = $mainMod, 3, workspace, 3 +bind = $mainMod, 4, workspace, 4 +bind = $mainMod, 5, workspace, 5 +bind = $mainMod, 6, workspace, 6 +bind = $mainMod, 7, workspace, 7 +bind = $mainMod, 8, workspace, 8 +bind = $mainMod, 9, workspace, 9 +bind = $mainMod, 0, workspace, 10 + +# Move active window to a workspace with CTRL + [0-9] +bind = CTRL, 1, movetoworkspace, 1 +bind = CTRL, 2, movetoworkspace, 2 +bind = CTRL, 3, movetoworkspace, 3 +bind = CTRL, 4, movetoworkspace, 4 +bind = CTRL, 5, movetoworkspace, 5 +bind = CTRL, 6, movetoworkspace, 6 +bind = CTRL, 7, movetoworkspace, 7 +bind = CTRL, 8, movetoworkspace, 8 +bind = CTRL, 9, movetoworkspace, 9 +bind = CTRL, 0, movetoworkspace, 10 + +# Scroll through existing workspaces with mainMod + scroll +bind = $mainMod, mouse_down, workspace, e+1 +bind = $mainMod, mouse_up, workspace, e-1 + +# Resize # + +# Move/resize windows with mainMod + LMB/RMB and dragging +bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:273, resizewindow + +# will switch to a submap called resize +bind = $mainMod, R, submap, resize + +# will start a submap called "resize" +submap = resize + +# sets repeatable binds for resizing the active window +binde= , right, resizeactive, 10 0 +binde= , left, resizeactive, -10 0 +binde= , up, resizeactive, 0 -10 +binde= , down, resizeactive, 0 10 + +binde = , L, resizeactive, 10 0 +binde = , H, resizeactive, -10 0 +binde = , K, resizeactive, 0 -10 +binde = , J, resizeactive, 0 10 + +# use reset to go back to the global submap +bind = , escape, submap, reset + +# will reset the submap, meaning end the current one and return to the global one +submap = reset + +# Screenshots # + +# Print: Current window +# SHIFT+PRINT: Select area +# Alt+PRINT: Current output +# Ctrl+PRINT: All outputs + +bind = , PRINT, exec, grimblast save active +bind = SHIFT, PRINT, exec, grimblast save area +bind = $mainMod, PRINT, exec, grimblast save output +bind = $mainMod SHIFT, PRINT, exec, grimblast save scree + +# Environmental Variables # +env = WLR_NO_HARDWARE_CURSORS, 1 diff --git a/hyprland/tomorrownight/hyprland.conf b/hyprland/tomorrownight/hyprland.conf new file mode 100644 index 0000000..40dd9b4 --- /dev/null +++ b/hyprland/tomorrownight/hyprland.conf @@ -0,0 +1,239 @@ +monitor = eDP-1, 1920x1080@60, 0x0, 1 +monitor = HDMI-A-2, 1920x1080@60, 1920x0, 1 + +# See https://wiki.hyprland.org/Configuring/Keywords/ for more + +# Some default env vars. +env = XCURSOR_SIZE, 24 + +# For all categories, see https://wiki.hyprland.org/Configuring/Variables/ +input { + kb_layout = us + kb_variant = dvorak + kb_model = + kb_options = + kb_rules = + + follow_mouse = 1 + + touchpad { + natural_scroll = no + } + + sensitivity = 0 # -1.0 - 1.0, 0 means no modification. +} + +general { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + + gaps_in = 10 + gaps_out = 40 + border_size = 3 + col.active_border = rgba(8abeb7ee) rgba(b294bbee) rgba(81a2beee) 45deg + col.inactive_border = rgba(373b41f0) + + layout = dwindle +} + +decoration { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + + rounding = 3 + + blur { + enabled = true + size = 0 + passes = 3 + } + + drop_shadow = yes + shadow_range = 7 + shadow_render_power = 3 + col.shadow = rgba(1d1f21ee) +} + +animations { + enabled = yes + + # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more + + bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + + animation = windows, 1, 7, myBezier + animation = windowsOut, 1, 7, default, popin 80% + animation = border, 1, 10, default + animation = borderangle, 1, 8, default + animation = fade, 1, 7, default + animation = workspaces, 1, 6, default +} + +dwindle { + # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more + pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = yes # you probably want this +} + +master { + # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more + new_is_master = true +} + +gestures { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + workspace_swipe = off +} + +# Example per-device config +# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more +#device:epic-mouse-v1 { +# sensitivity = -0.5 +#} + +# Example windowrule v1 +# windowrule = float, ^(kitty)$ +# Example windowrule v2 +# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ +# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more + + +# See https://wiki.hyprland.org/Configuring/Keywords/ for more +$mainMod = ALT + +# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more +bind = $mainMod, Q, exec, foot +bind = $mainMod SHIFT, Q, exec, qutebrowser +bind = $mainMod SHIFT, E, exec, element-desktop +bind = $mainMod, K, killactive, +bind = $mainMod SHIFT, X, exit, +#bind = $mainMod, E, exec, dolphin +bind = $mainMod, V, togglefloating, +bind = $mainMod, P, exec, fuzzel +bind = $mainMod, A, exec, ~/.config/fuzzel/scripts/pipewire.sh +bind = $mainMod, O, exec, ~/.config/hypr/scripts/monitor.sh +bind = $mainMod, W, pseudo, # dwindle +bind = $mainMod, S, togglesplit, # dwindle +bind = $mainMod, M, fullscreen, 1 +bind = $mainMod SHIFT, M, fullscreen + +# Move focus with mainMod + arrow keys +bind = $mainMod, D, movefocus, l +bind = $mainMod, H, movefocus, d +bind = $mainMod, T, movefocus, u +bind = $mainMod, N, movefocus, r + +bind = $mainMod, left, movefocus, l +bind = $mainMod, right, movefocus, d +bind = $mainMod, up, movefocus, u +bind = $mainMod, down, movefocus, r + +bind = $mainMod SHIFT, D, movewindow, l +bind = $mainMod SHIFT, H, movewindow, d +bind = $mainMod SHIFT, T, movewindow, u +bind = $mainMod SHIFT, N, movewindow, r + +bind = $mainMod SHIFT, left, movewindow, l +bind = $mainMod SHIFT, down, movewindow, d +bind = $mainMod SHIFT, up, movewindow, u +bind = $mainMod SHIFT, right, movewindow, r + + +# Switch workspaces with mainMod + [0-9] +bind = $mainMod, 1, workspace, 1 +bind = $mainMod, 2, workspace, 2 +bind = $mainMod, 3, workspace, 3 +bind = $mainMod, 4, workspace, 4 +bind = $mainMod, 5, workspace, 5 +bind = $mainMod, 6, workspace, 6 +bind = $mainMod, 7, workspace, 7 +bind = $mainMod, 8, workspace, 8 +bind = $mainMod, 9, workspace, 9 + +bind = $mainMod, 1, exec, ~/.config/eww/scripts/workspaces.sh +bind = $mainMod, 2, exec, ~/.config/eww/scripts/workspaces.sh +bind = $mainMod, 3, exec, ~/.config/eww/scripts/workspaces.sh +bind = $mainMod, 4, exec, ~/.config/eww/scripts/workspaces.sh +bind = $mainMod, 5, exec, ~/.config/eww/scripts/workspaces.sh +bind = $mainMod, 6, exec, ~/.config/eww/scripts/workspaces.sh +bind = $mainMod, 7, exec, ~/.config/eww/scripts/workspaces.sh +bind = $mainMod, 8, exec, ~/.config/eww/scripts/workspaces.sh +bind = $mainMod, 9, exec, ~/.config/eww/scripts/workspaces.sh + +# Move active window to a workspace with CTRL + [0-9] +bind = CTRL, 1, movetoworkspace, 1 +bind = CTRL, 2, movetoworkspace, 2 +bind = CTRL, 3, movetoworkspace, 3 +bind = CTRL, 4, movetoworkspace, 4 +bind = CTRL, 5, movetoworkspace, 5 +bind = CTRL, 6, movetoworkspace, 6 +bind = CTRL, 7, movetoworkspace, 7 +bind = CTRL, 8, movetoworkspace, 8 +bind = CTRL, 9, movetoworkspace, 9 + +bind = CTRL, 1, exec, ~/.config/eww/scripts/workspaces.sh +bind = CTRL, 2, exec, ~/.config/eww/scripts/workspaces.sh +bind = CTRL, 3, exec, ~/.config/eww/scripts/workspaces.sh +bind = CTRL, 4, exec, ~/.config/eww/scripts/workspaces.sh +bind = CTRL, 5, exec, ~/.config/eww/scripts/workspaces.sh +bind = CTRL, 6, exec, ~/.config/eww/scripts/workspaces.sh +bind = CTRL, 7, exec, ~/.config/eww/scripts/workspaces.sh +bind = CTRL, 8, exec, ~/.config/eww/scripts/workspaces.sh +bind = CTRL, 9, exec, ~/.config/eww/scripts/workspaces.sh + +# Scroll through existing workspaces with mainMod + scroll +bind = $mainMod, mouse_down, workspace, e+1 +bind = $mainMod, mouse_up, workspace, e-1 + +# Resize # + +# Move/resize windows with mainMod + LMB/RMB and dragging +bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:273, resizewindow + +# will switch to a submap called resize +bind = $mainMod, R, submap, resize + +# will start a submap called "resize" +submap = resize + +# sets repeatable binds for resizing the active window +binde= , right, resizeactive, 10 0 +binde= , left, resizeactive, -10 0 +binde= , up, resizeactive, 0 -10 +binde= , down, resizeactive, 0 10 + +binde = , N, resizeactive, 10 0 +binde = , D, resizeactive, -10 0 +binde = , T, resizeactive, 0 -10 +binde = , H, resizeactive, 0 10 + +# use reset to go back to the global submap +bind = , escape, submap, reset + +# will reset the submap, meaning end the current one and return to the global one +submap = reset + +# Screenshots # + +# Print: Current window +# SHIFT+PRINT: Select area +# Alt+PRINT: Current output +# Ctrl+PRINT: All outputs + +bind = , PRINT, exec, grimblast copysave active +bind = SHIFT, PRINT, exec, grimblast copysave area +bind = $mainMod, PRINT, exec, grimblast copysave output +bind = $mainMod SHIFT, PRINT, exec, grimblast copysave screen + +# Environmental Variables # +#env = WLR_NO_HARDWARE_CURSORS, 1 + +# Autostart +exec-once="pipewire" +exec-once="pipewire-pulse" +exec-once="wireplumber" + +exec-once=wbg ~/.local/share/wallpapers/wallpaper.jpg + +exec-once=eww daemon +exec-once=eww open bar0 +exec-once=eww open bar1 diff --git a/hyprland/tomorrownight/scripts/.monitor_status b/hyprland/tomorrownight/scripts/.monitor_status new file mode 100644 index 0000000..27ba77d --- /dev/null +++ b/hyprland/tomorrownight/scripts/.monitor_status @@ -0,0 +1 @@ +true diff --git a/hyprland/tomorrownight/scripts/monitor.sh b/hyprland/tomorrownight/scripts/monitor.sh new file mode 100755 index 0000000..9d2b342 --- /dev/null +++ b/hyprland/tomorrownight/scripts/monitor.sh @@ -0,0 +1,11 @@ +#!/bin/sh +STATUS_FILE="$HOME/.config/hypr/scripts/.monitor_status" + +status=$(cat $STATUS_FILE) +if $status ; then + echo false > $STATUS_FILE + wlr-randr --output eDP-1 --off +else + echo true > $STATUS_FILE + wlr-randr --output eDP-1 --on +fi diff --git a/nushell/config.nu b/nushell/config.nu new file mode 100644 index 0000000..b97ad81 --- /dev/null +++ b/nushell/config.nu @@ -0,0 +1,843 @@ +# Nushell Config File +# +# version = "0.90.1" + +# For more information on defining custom themes, see +# https://www.nushell.sh/book/coloring_and_theming.html +# And here is the theme collection +# https://github.com/nushell/nu_scripts/tree/main/themes +let dark_theme = { + # color for nushell primitives + separator: white + leading_trailing_space_bg: { attr: n } # no fg, no bg, attr none effectively turns this off + header: green_bold + empty: blue + # Closures can be used to choose colors for specific values. + # The value (in this case, a bool) is piped into the closure. + # eg) {|| if $in { 'light_cyan' } else { 'light_gray' } } + bool: light_cyan + int: white + filesize: cyan + duration: white + date: purple + range: white + float: white + string: white + nothing: white + binary: white + cell-path: white + row_index: green_bold + record: white + list: white + block: white + hints: dark_gray + search_result: {bg: red fg: white} + shape_and: purple_bold + shape_binary: purple_bold + shape_block: blue_bold + shape_bool: light_cyan + shape_closure: green_bold + shape_custom: green + shape_datetime: cyan_bold + shape_directory: cyan + shape_external: cyan + shape_externalarg: green_bold + shape_external_resolved: light_yellow_bold + shape_filepath: cyan + shape_flag: blue_bold + shape_float: purple_bold + # shapes are used to change the cli syntax highlighting + shape_garbage: { fg: white bg: red attr: b} + shape_globpattern: cyan_bold + shape_int: purple_bold + shape_internalcall: cyan_bold + shape_keyword: cyan_bold + shape_list: cyan_bold + shape_literal: blue + shape_match_pattern: green + shape_matching_brackets: { attr: u } + shape_nothing: light_cyan + shape_operator: yellow + shape_or: purple_bold + shape_pipe: purple_bold + shape_range: yellow_bold + shape_record: cyan_bold + shape_redirection: purple_bold + shape_signature: green_bold + shape_string: green + shape_string_interpolation: cyan_bold + shape_table: blue_bold + shape_variable: purple + shape_vardecl: purple +} + +let light_theme = { + # color for nushell primitives + separator: dark_gray + leading_trailing_space_bg: { attr: n } # no fg, no bg, attr none effectively turns this off + header: green_bold + empty: blue + # Closures can be used to choose colors for specific values. + # The value (in this case, a bool) is piped into the closure. + # eg) {|| if $in { 'dark_cyan' } else { 'dark_gray' } } + bool: dark_cyan + int: dark_gray + filesize: cyan_bold + duration: dark_gray + date: purple + range: dark_gray + float: dark_gray + string: dark_gray + nothing: dark_gray + binary: dark_gray + cell-path: dark_gray + row_index: green_bold + record: dark_gray + list: dark_gray + block: dark_gray + hints: dark_gray + search_result: {fg: white bg: red} + shape_and: purple_bold + shape_binary: purple_bold + shape_block: blue_bold + shape_bool: light_cyan + shape_closure: green_bold + shape_custom: green + shape_datetime: cyan_bold + shape_directory: cyan + shape_external: cyan + shape_externalarg: green_bold + shape_external_resolved: light_purple_bold + shape_filepath: cyan + shape_flag: blue_bold + shape_float: purple_bold + # shapes are used to change the cli syntax highlighting + shape_garbage: { fg: white bg: red attr: b} + shape_globpattern: cyan_bold + shape_int: purple_bold + shape_internalcall: cyan_bold + shape_keyword: cyan_bold + shape_list: cyan_bold + shape_literal: blue + shape_match_pattern: green + shape_matching_brackets: { attr: u } + shape_nothing: light_cyan + shape_operator: yellow + shape_or: purple_bold + shape_pipe: purple_bold + shape_range: yellow_bold + shape_record: cyan_bold + shape_redirection: purple_bold + shape_signature: green_bold + shape_string: green + shape_string_interpolation: cyan_bold + shape_table: blue_bold + shape_variable: purple + shape_vardecl: purple +} + +# External completer example +# let carapace_completer = {|spans| +# carapace $spans.0 nushell ...$spans | from json +# } + +# The default config record. This is where much of your global configuration is setup. +$env.config = { + show_banner: false # true or false to enable or disable the welcome banner at startup + + ls: { + use_ls_colors: true # use the LS_COLORS environment variable to colorize output + clickable_links: true # enable or disable clickable links. Your terminal has to support links. + } + + rm: { + always_trash: false # always act as if -t was given. Can be overridden with -p + } + + table: { + mode: rounded # basic, compact, compact_double, light, thin, with_love, rounded, reinforced, heavy, none, other + index_mode: always # "always" show indexes, "never" show indexes, "auto" = show indexes when a table has "index" column + show_empty: true # show 'empty list' and 'empty record' placeholders for command output + padding: { left: 1, right: 1 } # a left right padding of each column in a table + trim: { + methodology: wrapping # wrapping or truncating + wrapping_try_keep_words: true # A strategy used by the 'wrapping' methodology + truncating_suffix: "..." # A suffix used by the 'truncating' methodology + } + header_on_separator: false # show header text on separator/border line + # abbreviated_row_count: 10 # limit data rows from top and bottom after reaching a set point + } + + error_style: "fancy" # "fancy" or "plain" for screen reader-friendly error messages + + # datetime_format determines what a datetime rendered in the shell would look like. + # Behavior without this configuration point will be to "humanize" the datetime display, + # showing something like "a day ago." + datetime_format: { + # normal: '%a, %d %b %Y %H:%M:%S %z' # shows up in displays of variables or other datetime's outside of tables + # table: '%m/%d/%y %I:%M:%S%p' # generally shows up in tabular outputs such as ls. commenting this out will change it to the default human readable datetime format + } + + explore: { + status_bar_background: {fg: "#1D1F21", bg: "#C4C9C6"}, + command_bar_text: {fg: "#C4C9C6"}, + highlight: {fg: "black", bg: "yellow"}, + status: { + error: {fg: "white", bg: "red"}, + warn: {} + info: {} + }, + table: { + split_line: {fg: "#404040"}, + selected_cell: {bg: light_blue}, + selected_row: {}, + selected_column: {}, + }, + } + + history: { + max_size: 100_000 # Session has to be reloaded for this to take effect + sync_on_enter: true # Enable to share history between multiple sessions, else you have to close the session to write history to file + file_format: "plaintext" # "sqlite" or "plaintext" + isolation: false # only available with sqlite file_format. true enables history isolation, false disables it. true will allow the history to be isolated to the current session using up/down arrows. false will allow the history to be shared across all sessions. + } + + completions: { + case_sensitive: false # set to true to enable case-sensitive completions + quick: true # set this to false to prevent auto-selecting completions when only one remains + partial: true # set this to false to prevent partial filling of the prompt + algorithm: "prefix" # prefix or fuzzy + external: { + enable: true # set to false to prevent nushell looking into $env.PATH to find more suggestions, `false` recommended for WSL users as this look up may be very slow + max_results: 100 # setting it lower can improve completion performance at the cost of omitting some options + completer: null # check 'carapace_completer' above as an example + } + } + + filesize: { + metric: false # true => KB, MB, GB (ISO standard), false => KiB, MiB, GiB (Windows standard) + format: "auto" # b, kb, kib, mb, mib, gb, gib, tb, tib, pb, pib, eb, eib, auto + } + + cursor_shape: { + emacs: line # block, underscore, line, blink_block, blink_underscore, blink_line, inherit to skip setting cursor shape (line is the default) + vi_insert: block # block, underscore, line, blink_block, blink_underscore, blink_line, inherit to skip setting cursor shape (block is the default) + vi_normal: underscore # block, underscore, line, blink_block, blink_underscore, blink_line, inherit to skip setting cursor shape (underscore is the default) + } + + color_config: $dark_theme # if you want a more interesting theme, you can replace the empty record with `$dark_theme`, `$light_theme` or another custom record + use_grid_icons: true + footer_mode: "25" # always, never, number_of_rows, auto + float_precision: 2 # the precision for displaying floats in tables + buffer_editor: "" # command that will be used to edit the current line buffer with ctrl+o, if unset fallback to $env.EDITOR and $env.VISUAL + use_ansi_coloring: true + bracketed_paste: true # enable bracketed paste, currently useless on windows + edit_mode: emacs # emacs, vi + shell_integration: false # enables terminal shell integration. Off by default, as some terminals have issues with this. + render_right_prompt_on_last_line: false # true or false to enable or disable right prompt to be rendered on last line of the prompt. + use_kitty_protocol: false # enables keyboard enhancement protocol implemented by kitty console, only if your terminal support this. + highlight_resolved_externals: false # true enables highlighting of external commands in the repl resolved by which. + + plugins: {} # Per-plugin configuration. See https://www.nushell.sh/contributor-book/plugins.html#configuration. + + hooks: { + pre_prompt: [{ null }] # run before the prompt is shown + pre_execution: [{ null }] # run before the repl input is run + env_change: { + PWD: [{|before, after| null }] # run if the PWD environment is different since the last repl input + } + display_output: "if (term size).columns >= 100 { table -e } else { table }" # run to display the output of a pipeline + command_not_found: { null } # return an error message when a command is not found + } + + menus: [ + # Configuration for default nushell menus + # Note the lack of source parameter + { + name: completion_menu + only_buffer_difference: false + marker: "| " + type: { + layout: columnar + columns: 4 + col_width: 20 # Optional value. If missing all the screen width is used to calculate column width + col_padding: 2 + } + style: { + text: green + selected_text: {attr: r} + description_text: yellow + match_text: {attr: u} + selected_match_text: {attr: ur} + } + } + { + name: ide_completion_menu + only_buffer_difference: false + marker: "| " + type: { + layout: ide + min_completion_width: 0, + max_completion_width: 50, + # max_completion_height: 10, # will be limited by the available lines in the terminal + padding: 0, + border: true, + cursor_offset: 0, + description_mode: "prefer_right" + min_description_width: 0 + max_description_width: 50 + max_description_height: 10 + description_offset: 1 + # If true, the cursor pos will be corrected, so the suggestions match up with the typed text + # + # C:\> str + # str join + # str trim + # str split + correct_cursor_pos: false + } + style: { + text: green + selected_text: {attr: r} + description_text: yellow + match_text: {attr: u} + selected_match_text: {attr: ur} + } + } + { + name: history_menu + only_buffer_difference: true + marker: "? " + type: { + layout: list + page_size: 10 + } + style: { + text: green + selected_text: green_reverse + description_text: yellow + } + } + { + name: help_menu + only_buffer_difference: true + marker: "? " + type: { + layout: description + columns: 4 + col_width: 20 # Optional value. If missing all the screen width is used to calculate column width + col_padding: 2 + selection_rows: 4 + description_rows: 10 + } + style: { + text: green + selected_text: green_reverse + description_text: yellow + } + } + ] + + keybindings: [ + { + name: completion_menu + modifier: none + keycode: tab + mode: [emacs vi_normal vi_insert] + event: { + until: [ + { send: menu name: completion_menu } + { send: menunext } + { edit: complete } + ] + } + } + { + name: ide_completion_menu + modifier: control + keycode: char_n + mode: [emacs vi_normal vi_insert] + event: { + until: [ + { send: menu name: ide_completion_menu } + { send: menunext } + { edit: complete } + ] + } + } + { + name: history_menu + modifier: control + keycode: char_r + mode: [emacs, vi_insert, vi_normal] + event: { send: menu name: history_menu } + } + { + name: help_menu + modifier: none + keycode: f1 + mode: [emacs, vi_insert, vi_normal] + event: { send: menu name: help_menu } + } + { + name: completion_previous_menu + modifier: shift + keycode: backtab + mode: [emacs, vi_normal, vi_insert] + event: { send: menuprevious } + } + { + name: next_page_menu + modifier: control + keycode: char_x + mode: emacs + event: { send: menupagenext } + } + { + name: undo_or_previous_page_menu + modifier: control + keycode: char_z + mode: emacs + event: { + until: [ + { send: menupageprevious } + { edit: undo } + ] + } + } + { + name: escape + modifier: none + keycode: escape + mode: [emacs, vi_normal, vi_insert] + event: { send: esc } # NOTE: does not appear to work + } + { + name: cancel_command + modifier: control + keycode: char_c + mode: [emacs, vi_normal, vi_insert] + event: { send: ctrlc } + } + { + name: quit_shell + modifier: control + keycode: char_d + mode: [emacs, vi_normal, vi_insert] + event: { send: ctrld } + } + { + name: clear_screen + modifier: control + keycode: char_l + mode: [emacs, vi_normal, vi_insert] + event: { send: clearscreen } + } + { + name: search_history + modifier: control + keycode: char_q + mode: [emacs, vi_normal, vi_insert] + event: { send: searchhistory } + } + { + name: open_command_editor + modifier: control + keycode: char_o + mode: [emacs, vi_normal, vi_insert] + event: { send: openeditor } + } + { + name: move_up + modifier: none + keycode: up + mode: [emacs, vi_normal, vi_insert] + event: { + until: [ + {send: menuup} + {send: up} + ] + } + } + { + name: move_down + modifier: none + keycode: down + mode: [emacs, vi_normal, vi_insert] + event: { + until: [ + {send: menudown} + {send: down} + ] + } + } + { + name: move_left + modifier: none + keycode: left + mode: [emacs, vi_normal, vi_insert] + event: { + until: [ + {send: menuleft} + {send: left} + ] + } + } + { + name: move_right_or_take_history_hint + modifier: none + keycode: right + mode: [emacs, vi_normal, vi_insert] + event: { + until: [ + {send: historyhintcomplete} + {send: menuright} + {send: right} + ] + } + } + { + name: move_one_word_left + modifier: control + keycode: left + mode: [emacs, vi_normal, vi_insert] + event: {edit: movewordleft} + } + { + name: move_one_word_right_or_take_history_hint + modifier: control + keycode: right + mode: [emacs, vi_normal, vi_insert] + event: { + until: [ + {send: historyhintwordcomplete} + {edit: movewordright} + ] + } + } + { + name: move_to_line_start + modifier: none + keycode: home + mode: [emacs, vi_normal, vi_insert] + event: {edit: movetolinestart} + } + { + name: move_to_line_start + modifier: control + keycode: char_a + mode: [emacs, vi_normal, vi_insert] + event: {edit: movetolinestart} + } + { + name: move_to_line_end_or_take_history_hint + modifier: none + keycode: end + mode: [emacs, vi_normal, vi_insert] + event: { + until: [ + {send: historyhintcomplete} + {edit: movetolineend} + ] + } + } + { + name: move_to_line_end_or_take_history_hint + modifier: control + keycode: char_e + mode: [emacs, vi_normal, vi_insert] + event: { + until: [ + {send: historyhintcomplete} + {edit: movetolineend} + ] + } + } + { + name: move_to_line_start + modifier: control + keycode: home + mode: [emacs, vi_normal, vi_insert] + event: {edit: movetolinestart} + } + { + name: move_to_line_end + modifier: control + keycode: end + mode: [emacs, vi_normal, vi_insert] + event: {edit: movetolineend} + } + { + name: move_up + modifier: control + keycode: char_p + mode: [emacs, vi_normal, vi_insert] + event: { + until: [ + {send: menuup} + {send: up} + ] + } + } + { + name: move_down + modifier: control + keycode: char_t + mode: [emacs, vi_normal, vi_insert] + event: { + until: [ + {send: menudown} + {send: down} + ] + } + } + { + name: delete_one_character_backward + modifier: none + keycode: backspace + mode: [emacs, vi_insert] + event: {edit: backspace} + } + { + name: delete_one_word_backward + modifier: control + keycode: backspace + mode: [emacs, vi_insert] + event: {edit: backspaceword} + } + { + name: delete_one_character_forward + modifier: none + keycode: delete + mode: [emacs, vi_insert] + event: {edit: delete} + } + { + name: delete_one_character_forward + modifier: control + keycode: delete + mode: [emacs, vi_insert] + event: {edit: delete} + } + { + name: delete_one_character_forward + modifier: control + keycode: char_h + mode: [emacs, vi_insert] + event: {edit: backspace} + } + { + name: delete_one_word_backward + modifier: control + keycode: char_w + mode: [emacs, vi_insert] + event: {edit: backspaceword} + } + { + name: move_left + modifier: none + keycode: backspace + mode: vi_normal + event: {edit: moveleft} + } + { + name: newline_or_run_command + modifier: none + keycode: enter + mode: emacs + event: {send: enter} + } + { + name: move_left + modifier: control + keycode: char_b + mode: emacs + event: { + until: [ + {send: menuleft} + {send: left} + ] + } + } + { + name: move_right_or_take_history_hint + modifier: control + keycode: char_f + mode: emacs + event: { + until: [ + {send: historyhintcomplete} + {send: menuright} + {send: right} + ] + } + } + { + name: redo_change + modifier: control + keycode: char_g + mode: emacs + event: {edit: redo} + } + { + name: undo_change + modifier: control + keycode: char_z + mode: emacs + event: {edit: undo} + } + { + name: paste_before + modifier: control + keycode: char_y + mode: emacs + event: {edit: pastecutbufferbefore} + } + { + name: cut_word_left + modifier: control + keycode: char_w + mode: emacs + event: {edit: cutwordleft} + } + { + name: cut_line_to_end + modifier: control + keycode: char_k + mode: emacs + event: {edit: cuttoend} + } + { + name: cut_line_from_start + modifier: control + keycode: char_u + mode: emacs + event: {edit: cutfromstart} + } + { + name: swap_graphemes + modifier: control + keycode: char_t + mode: emacs + event: {edit: swapgraphemes} + } + { + name: move_one_word_left + modifier: alt + keycode: left + mode: emacs + event: {edit: movewordleft} + } + { + name: move_one_word_right_or_take_history_hint + modifier: alt + keycode: right + mode: emacs + event: { + until: [ + {send: historyhintwordcomplete} + {edit: movewordright} + ] + } + } + { + name: move_one_word_left + modifier: alt + keycode: char_b + mode: emacs + event: {edit: movewordleft} + } + { + name: move_one_word_right_or_take_history_hint + modifier: alt + keycode: char_f + mode: emacs + event: { + until: [ + {send: historyhintwordcomplete} + {edit: movewordright} + ] + } + } + { + name: delete_one_word_forward + modifier: alt + keycode: delete + mode: emacs + event: {edit: deleteword} + } + { + name: delete_one_word_backward + modifier: alt + keycode: backspace + mode: emacs + event: {edit: backspaceword} + } + { + name: delete_one_word_backward + modifier: alt + keycode: char_m + mode: emacs + event: {edit: backspaceword} + } + { + name: cut_word_to_right + modifier: alt + keycode: char_d + mode: emacs + event: {edit: cutwordright} + } + { + name: upper_case_word + modifier: alt + keycode: char_u + mode: emacs + event: {edit: uppercaseword} + } + { + name: lower_case_word + modifier: alt + keycode: char_l + mode: emacs + event: {edit: lowercaseword} + } + { + name: capitalize_char + modifier: alt + keycode: char_c + mode: emacs + event: {edit: capitalizechar} + } + { + name: copy_selection + modifier: control_shift + keycode: char_c + mode: emacs + event: { edit: copyselection } + } + { + name: cut_selection + modifier: control_shift + keycode: char_x + mode: emacs + event: { edit: cutselection } + } + { + name: select_all + modifier: control_shift + keycode: char_a + mode: emacs + event: { edit: selectall } + } + { + name: paste + modifier: control_shift + keycode: char_v + mode: emacs + event: { edit: pastecutbufferbefore } + } + ] +} + +# Starship +use ~/.cache/starship/init.nu diff --git a/nushell/env.nu b/nushell/env.nu new file mode 100644 index 0000000..3652c3c --- /dev/null +++ b/nushell/env.nu @@ -0,0 +1,105 @@ +# Nushell Environment Config File +# +# version = "0.90.1" + +def create_left_prompt [] { + let home = $nu.home-path + + # Perform tilde substitution on dir + # To determine if the prefix of the path matches the home dir, we split the current path into + # segments, and compare those with the segments of the home dir. In cases where the current dir + # is a parent of the home dir (e.g. `/home`, homedir is `/home/user`), this comparison will + # also evaluate to true. Inside the condition, we attempt to str replace `$home` with `~`. + # Inside the condition, either: + # 1. The home prefix will be replaced + # 2. The current dir is a parent of the home dir, so it will be uneffected by the str replace + let dir = ( + if ($env.PWD | path split | zip ($home | path split) | all { $in.0 == $in.1 }) { + ($env.PWD | str replace $home "~") + } else { + $env.PWD + } + ) + + let path_color = (if (is-admin) { ansi red_bold } else { ansi green_bold }) + let separator_color = (if (is-admin) { ansi light_red_bold } else { ansi light_green_bold }) + let path_segment = $"($path_color)($dir)" + + $path_segment | str replace --all (char path_sep) $"($separator_color)(char path_sep)($path_color)" +} + +def create_right_prompt [] { + # create a right prompt in magenta with green separators and am/pm underlined + let time_segment = ([ + (ansi reset) + (ansi magenta) + (date now | format date '%x %X %p') # try to respect user's locale + ] | str join | str replace --regex --all "([/:])" $"(ansi green)${1}(ansi magenta)" | + str replace --regex --all "([AP]M)" $"(ansi magenta_underline)${1}") + + let last_exit_code = if ($env.LAST_EXIT_CODE != 0) {([ + (ansi rb) + ($env.LAST_EXIT_CODE) + ] | str join) + } else { "" } + + ([$last_exit_code, (char space), $time_segment] | str join) +} + +# Use nushell functions to define your right and left prompt +$env.PROMPT_COMMAND = {|| create_left_prompt } +# FIXME: This default is not implemented in rust code as of 2023-09-08. +$env.PROMPT_COMMAND_RIGHT = {|| create_right_prompt } + +# The prompt indicators are environmental variables that represent +# the state of the prompt +$env.PROMPT_INDICATOR = {|| "> " } +$env.PROMPT_INDICATOR_VI_INSERT = {|| ": " } +$env.PROMPT_INDICATOR_VI_NORMAL = {|| "> " } +$env.PROMPT_MULTILINE_INDICATOR = {|| "::: " } + +# If you want previously entered commands to have a different prompt from the usual one, +# you can uncomment one or more of the following lines. +# This can be useful if you have a 2-line prompt and it's taking up a lot of space +# because every command entered takes up 2 lines instead of 1. You can then uncomment +# the line below so that previously entered commands show with a single `🚀`. +# $env.TRANSIENT_PROMPT_COMMAND = {|| "🚀 " } +# $env.TRANSIENT_PROMPT_INDICATOR = {|| "" } +# $env.TRANSIENT_PROMPT_INDICATOR_VI_INSERT = {|| "" } +# $env.TRANSIENT_PROMPT_INDICATOR_VI_NORMAL = {|| "" } +# $env.TRANSIENT_PROMPT_MULTILINE_INDICATOR = {|| "" } +# $env.TRANSIENT_PROMPT_COMMAND_RIGHT = {|| "" } + +# Specifies how environment variables are: +# - converted from a string to a value on Nushell startup (from_string) +# - converted from a value back to a string when running external commands (to_string) +# Note: The conversions happen *after* config.nu is loaded +$env.ENV_CONVERSIONS = { + "PATH": { + from_string: { |s| $s | split row (char esep) | path expand --no-symlink } + to_string: { |v| $v | path expand --no-symlink | str join (char esep) } + } + "Path": { + from_string: { |s| $s | split row (char esep) | path expand --no-symlink } + to_string: { |v| $v | path expand --no-symlink | str join (char esep) } + } +} + +# Directories to search for scripts when calling source or use +# The default for this is $nu.default-config-dir/scripts +$env.NU_LIB_DIRS = [ + ($nu.default-config-dir | path join 'scripts') # add /scripts +] + +# Directories to search for plugin binaries when calling register +# The default for this is $nu.default-config-dir/plugins +$env.NU_PLUGIN_DIRS = [ + ($nu.default-config-dir | path join 'plugins') # add /plugins +] + +# To add entries to PATH (on Windows you might use Path), you can use the following pattern: +# $env.PATH = ($env.PATH | split row (char esep) | prepend '/some/path') + +# Starship +mkdir ~/.cache/starship +starship init nu | save -f ~/.cache/starship/init.nu diff --git a/nushell/history.txt b/nushell/history.txt new file mode 100644 index 0000000..96c5f26 --- /dev/null +++ b/nushell/history.txt @@ -0,0 +1,291 @@ +ls +alias e=ls +alias e = ls +e +e -a +clear && fastfetch +clear and fastfetch +clear; and fastfetch +clear; fastfetch +clear fastfetch +clear && fastfetch +clear; fastfetch +vis .config/foot/foot.ini +cd .config/nushell/env.nu +cd .config/nushell/ +ls +mkdir Langs +mv TI/ Shell/ HTML/ Langs/ +mv TI Shell HTML/ Langs/ +mv --help +mv TI Shell HTML/ Langs/ +mv TI Langs/ +mv Shell/ Langs/ +mv HTML/ Langs/ +ls +mv C Langs/ +mv Lua/ Langs/ +ls +mv Recipies/ Documents/ +mv Thumbnails/ Pictures/ +mkdir Notes +mv `Video Ideas/` Notes/ +ls +alias e = ls +e +e Downloads/ +e Downloads2/ +mv `Downloads2/Mericoï (alias Eric M.)/` Music/Artists/ +mv Downloads2/* Downloads/ +tree +ls +!?e +^e^ls^ +ls -a +ls | sort +cd +ls -a | awk '{print $2}' +ls -a +ls -a | awk '{print $4}' +ls -a | awk '{print $3}' +netsurf https://www.nushell.sh/book/quick_tour.html +cd .config/nushell/ +ls +vis config.nu +vis env.nu +ls | sort-by size | reversie +ls | sort-by size | reverse +ls | where size > 1kb +fastfetch +cd +ls +ls | sort-by size | reverse +ls | where size > 1kb +3ps +ps +ps | less +ps | vis +cd .config/eww/ +ls +cd scripts/ +e +ls +cd .config/eww/ +ls +clear; fastfetch +cat .config/foot/foot.ini +vis eww.scss +cd .config/eww/ +eww daemon +eww reload +eww open bar0 +eww open bar1 +cd .config/eww/ +vis eww.yukc +cd .config/eww/ +eww open powermenu +eww daemon +eww open powermenu +eww daemon +eww open powermenu +eww reload +eww open powermenu +eww open bar1 bar0 +eww open bar1 +eww open bar0 +eww kill +eww daemon +eww kill +eww daemon +eww open bar0 +clear; fastfetch +sys +sys | get host +syn +sys +ps aux +ps -aux +ps --aux +sys | get host.name +help path +help get +help help +$XDG_RUNTIME_DIR +$nu.env-path +vis $nu.env-path +nu --help +nu fastfetch +vis config.nu +vis $nu.config-path +vis .config/foot/foot.ini +ls +aoeuaoeu +aoea +aoeuaoeu +vis $nu.env-path +vis $nu.config-path +cd .Git +ls +cd dotfiles +e +ls +cd starship +ls +cd Catpuccin/ +ls +mkdir ~/.config/starship +cp starship.toml ~/.config/starship +cd ~/.config/starship +vis starship.toml +sed 's/red/aqua/g' starship.toml +sed 's/red/aqua/g' starship.toml > starship.toml +vis starship.toml +ash sed 's/red/aqua/g' starship.toml > starship.toml +ash $(which sed) 's/red/aqua/g' starship.toml > starship.toml +cat starship.toml +$(which sed) 's/red/aqua/g' starship.toml | save starship.toml +sed 's/red/aqua/g' starship.toml | save starship.toml +sed 's/red/aqua/g' starship.toml | save -f starship.toml +mv .config/starship/starship.toml .config/starship/ +rm -r .config/starship/ +starship --help +starship config +ls .config/ +cat .config/foot/foot.ini +vis starship.toml +cd .. +vis starship.toml +ls +vis starship.toml +grim -g "$(slurp -p)" -t ppm - | convert - -format '%[pixel:p{0,0}]' txt:- +zsh +grim -g "$(slurp -p)" -t ppm +grim -g "$(slurp -p)" -t ppm - +grim -g "$(slurp -p)" +grim -g +grim -g "$(slurp -p)" +grim -g "$(slurp -p)" -t ppm - | convert - -format '%[pixel:p{0,0}]' txt:- +zsh +apk search hypr +apk info hyprcursor +cd .Git +git clone https://github.com/hyprwm/hyprpicker +cd hyprpicker/ +doas apk add cmake +cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -S . -B ./build<\n>cmake --build ./build --config Release --target hyprpicker -j`nproc 2>/dev/null || getconf NPROCESSORS_CONF` +cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -S . -B ./build<\n> +zsh +doas apk del cmake +cd Music/ +ls +cd Ar +cd Artists/ +cd .. +cd Artists/ +ls +cd `Rivers of Nihil/(2021) The Work [FLAC]/` +mpv +ls +cd .config +cd .. +cat 20240323_20h08m29s_grim.ppm +cd .config/fuzzel/ +ls +cd scripts/ +ls +./pipewire.sh +puzzel +fuzzel +pactl info +doas reboot +pactl info +cd `Music/Artists/Rivers of Nihil/(2021) The Work [FLAC]/` +cd .config/v +cd .config/ +cat .config/foot/foot.ini +vis starship.toml +sed 's/bg0/bg1/g' starship.toml | save -f starship.toml +vis starship.toml +cp ~/.Git/dotfiles/starship/Catpuccin/starship.toml . +cd .Git/dotfiles/ +fastfetch +ls +vis starship.toml +sed 's/bg1/bg0/g' starship.toml | save starship2.toml +vis starship.toml +sed 's/bg1/bg0/g' starship.toml +ls +sed 's/bg1/bg0/g' starship.toml | save -f starship2.toml +vis starship2.toml +mv starship.toml starship.toml.bu +mv starship2.toml starship.toml +rm starship.toml.bu +ls +vis .config/eww/eww.yuck +vis .config/eww/scripts/workspaces.sh +rm *.png +rm *.ppm +clear; fastfetch +ls +l- +ls +sys +apk --help +apk info --vv +apk info -vv +apk info -vv | wc -l +echo "Packages: apk info -vv | wc -l" +echo "Packages: $(apk info -vv | wc -l)" +echo -e "Packages: $(apk info -vv | wc -l)" +eval "$(echo 'Packages:' $(apk info -vv | wc -l))" +cowsay +apk search pipes +curl https://raw.githubusercontent.com/pipeseroni/pipes.sh/master/pipes.sh | ash +curl https://raw.githubusercontent.com/pipeseroni/pipes.sh/master/pipes.sh | save pipes.sh +chmod +x pipes.sh +./pipes.sh +zsh ./pipes.sh +zsh pipes.sh +rm pipes.sh +cd .config/eww/ +ls +eww reload +eww open bar1 +ls +imv 2024-03-23T21:23:42,000000000-05:00.png +rm 2024-03-23T21:23:15,000000000-05:00.png +rm 2024-03-23T21:23:36,000000000-05:00.png +imv 2024-03-23T21:23:42,000000000-05:00.png +ls +mv 2024-03-23T21:23:42,000000000-05:00.png Pictures/ScreenShots/ +cd .Git/dotfiles/ +cd .config/ +ls +ls +mkdir nushell +mkdir eww +cd starshpu +cd starship +cd starship +mkdir tomorrownight +vis starship.toml +cp ~/.config/starship.toml tomorrownight/ +ls +cd Pictures/ +ls +find ~ -name rice1.png +find ~ rice1.png +find ~ rice.png +find ~ Rice.png +find ~ --name Rice.png +find --help +zsh +imv Rice.png +cd ~/Downloads/Pictures/ +imv rice5.png +:q +rn +ls +cd .. +ls +mkdir nushell diff --git a/qutebrowser/theme.py b/qutebrowser/themes/Catpuccin-Macchiato.py similarity index 100% rename from qutebrowser/theme.py rename to qutebrowser/themes/Catpuccin-Macchiato.py diff --git a/qutebrowser/Daybreak.py b/qutebrowser/themes/Daybreak.py similarity index 100% rename from qutebrowser/Daybreak.py rename to qutebrowser/themes/Daybreak.py diff --git a/qutebrowser/themes/base16-tomorrow-night.config.py b/qutebrowser/themes/base16-tomorrow-night.config.py new file mode 100644 index 0000000..7a6a659 --- /dev/null +++ b/qutebrowser/themes/base16-tomorrow-night.config.py @@ -0,0 +1,302 @@ +# base16-qutebrowser (https://github.com/theova/base16-qutebrowser) +# Scheme name: Tomorrow Night +# Scheme author: Chris Kempson (http://chriskempson.com) +# Template author: theova +# Commentary: Tinted Theming: (https://github.com/tinted-theming) + +base00 = "#1d1f21" +base01 = "#282a2e" +base02 = "#373b41" +base03 = "#969896" +base04 = "#b4b7b4" +base05 = "#c5c8c6" +base06 = "#e0e0e0" +base07 = "#ffffff" +base08 = "#cc6666" +base09 = "#de935f" +base0A = "#f0c674" +base0B = "#b5bd68" +base0C = "#8abeb7" +base0D = "#81a2be" +base0E = "#b294bb" +base0F = "#a3685a" + +# set qutebrowser colors + +# Text color of the completion widget. May be a single color to use for +# all columns or a list of three colors, one for each column. +c.colors.completion.fg = base05 + +# Background color of the completion widget for odd rows. +c.colors.completion.odd.bg = base01 + +# Background color of the completion widget for even rows. +c.colors.completion.even.bg = base00 + +# Foreground color of completion widget category headers. +c.colors.completion.category.fg = base0A + +# Background color of the completion widget category headers. +c.colors.completion.category.bg = base00 + +# Top border color of the completion widget category headers. +c.colors.completion.category.border.top = base00 + +# Bottom border color of the completion widget category headers. +c.colors.completion.category.border.bottom = base00 + +# Foreground color of the selected completion item. +c.colors.completion.item.selected.fg = base05 + +# Background color of the selected completion item. +c.colors.completion.item.selected.bg = base02 + +# Top border color of the selected completion item. +c.colors.completion.item.selected.border.top = base02 + +# Bottom border color of the selected completion item. +c.colors.completion.item.selected.border.bottom = base02 + +# Foreground color of the matched text in the selected completion item. +c.colors.completion.item.selected.match.fg = base0B + +# Foreground color of the matched text in the completion. +c.colors.completion.match.fg = base0B + +# Color of the scrollbar handle in the completion view. +c.colors.completion.scrollbar.fg = base05 + +# Color of the scrollbar in the completion view. +c.colors.completion.scrollbar.bg = base00 + +# Background color of disabled items in the context menu. +c.colors.contextmenu.disabled.bg = base01 + +# Foreground color of disabled items in the context menu. +c.colors.contextmenu.disabled.fg = base04 + +# Background color of the context menu. If set to null, the Qt default is used. +c.colors.contextmenu.menu.bg = base00 + +# Foreground color of the context menu. If set to null, the Qt default is used. +c.colors.contextmenu.menu.fg = base05 + +# Background color of the context menu’s selected item. If set to null, the Qt default is used. +c.colors.contextmenu.selected.bg = base02 + +#Foreground color of the context menu’s selected item. If set to null, the Qt default is used. +c.colors.contextmenu.selected.fg = base05 + +# Background color for the download bar. +c.colors.downloads.bar.bg = base00 + +# Color gradient start for download text. +c.colors.downloads.start.fg = base00 + +# Color gradient start for download backgrounds. +c.colors.downloads.start.bg = base0D + +# Color gradient end for download text. +c.colors.downloads.stop.fg = base00 + +# Color gradient stop for download backgrounds. +c.colors.downloads.stop.bg = base0C + +# Foreground color for downloads with errors. +c.colors.downloads.error.fg = base08 + +# Font color for hints. +c.colors.hints.fg = base00 + +# Background color for hints. Note that you can use a `rgba(...)` value +# for transparency. +c.colors.hints.bg = base0A + +# Font color for the matched part of hints. +c.colors.hints.match.fg = base05 + +# Text color for the keyhint widget. +c.colors.keyhint.fg = base05 + +# Highlight color for keys to complete the current keychain. +c.colors.keyhint.suffix.fg = base05 + +# Background color of the keyhint widget. +c.colors.keyhint.bg = base00 + +# Foreground color of an error message. +c.colors.messages.error.fg = base00 + +# Background color of an error message. +c.colors.messages.error.bg = base08 + +# Border color of an error message. +c.colors.messages.error.border = base08 + +# Foreground color of a warning message. +c.colors.messages.warning.fg = base00 + +# Background color of a warning message. +c.colors.messages.warning.bg = base0E + +# Border color of a warning message. +c.colors.messages.warning.border = base0E + +# Foreground color of an info message. +c.colors.messages.info.fg = base05 + +# Background color of an info message. +c.colors.messages.info.bg = base00 + +# Border color of an info message. +c.colors.messages.info.border = base00 + +# Foreground color for prompts. +c.colors.prompts.fg = base05 + +# Border used around UI elements in prompts. +c.colors.prompts.border = base00 + +# Background color for prompts. +c.colors.prompts.bg = base00 + +# Background color for the selected item in filename prompts. +c.colors.prompts.selected.bg = base02 + +# Foreground color for the selected item in filename prompts. +c.colors.prompts.selected.fg = base05 + +# Foreground color of the statusbar. +c.colors.statusbar.normal.fg = base0B + +# Background color of the statusbar. +c.colors.statusbar.normal.bg = base00 + +# Foreground color of the statusbar in insert mode. +c.colors.statusbar.insert.fg = base00 + +# Background color of the statusbar in insert mode. +c.colors.statusbar.insert.bg = base0D + +# Foreground color of the statusbar in passthrough mode. +c.colors.statusbar.passthrough.fg = base00 + +# Background color of the statusbar in passthrough mode. +c.colors.statusbar.passthrough.bg = base0C + +# Foreground color of the statusbar in private browsing mode. +c.colors.statusbar.private.fg = base00 + +# Background color of the statusbar in private browsing mode. +c.colors.statusbar.private.bg = base01 + +# Foreground color of the statusbar in command mode. +c.colors.statusbar.command.fg = base05 + +# Background color of the statusbar in command mode. +c.colors.statusbar.command.bg = base00 + +# Foreground color of the statusbar in private browsing + command mode. +c.colors.statusbar.command.private.fg = base05 + +# Background color of the statusbar in private browsing + command mode. +c.colors.statusbar.command.private.bg = base00 + +# Foreground color of the statusbar in caret mode. +c.colors.statusbar.caret.fg = base00 + +# Background color of the statusbar in caret mode. +c.colors.statusbar.caret.bg = base0E + +# Foreground color of the statusbar in caret mode with a selection. +c.colors.statusbar.caret.selection.fg = base00 + +# Background color of the statusbar in caret mode with a selection. +c.colors.statusbar.caret.selection.bg = base0D + +# Background color of the progress bar. +c.colors.statusbar.progress.bg = base0D + +# Default foreground color of the URL in the statusbar. +c.colors.statusbar.url.fg = base05 + +# Foreground color of the URL in the statusbar on error. +c.colors.statusbar.url.error.fg = base08 + +# Foreground color of the URL in the statusbar for hovered links. +c.colors.statusbar.url.hover.fg = base05 + +# Foreground color of the URL in the statusbar on successful load +# (http). +c.colors.statusbar.url.success.http.fg = base0C + +# Foreground color of the URL in the statusbar on successful load +# (https). +c.colors.statusbar.url.success.https.fg = base0B + +# Foreground color of the URL in the statusbar when there's a warning. +c.colors.statusbar.url.warn.fg = base0E + +# Background color of the tab bar. +c.colors.tabs.bar.bg = base00 + +# Color gradient start for the tab indicator. +c.colors.tabs.indicator.start = base0D + +# Color gradient end for the tab indicator. +c.colors.tabs.indicator.stop = base0C + +# Color for the tab indicator on errors. +c.colors.tabs.indicator.error = base08 + +# Foreground color of unselected odd tabs. +c.colors.tabs.odd.fg = base05 + +# Background color of unselected odd tabs. +c.colors.tabs.odd.bg = base01 + +# Foreground color of unselected even tabs. +c.colors.tabs.even.fg = base05 + +# Background color of unselected even tabs. +c.colors.tabs.even.bg = base00 + +# Background color of pinned unselected even tabs. +c.colors.tabs.pinned.even.bg = base0C + +# Foreground color of pinned unselected even tabs. +c.colors.tabs.pinned.even.fg = base07 + +# Background color of pinned unselected odd tabs. +c.colors.tabs.pinned.odd.bg = base0B + +# Foreground color of pinned unselected odd tabs. +c.colors.tabs.pinned.odd.fg = base07 + +# Background color of pinned selected even tabs. +c.colors.tabs.pinned.selected.even.bg = base02 + +# Foreground color of pinned selected even tabs. +c.colors.tabs.pinned.selected.even.fg = base05 + +# Background color of pinned selected odd tabs. +c.colors.tabs.pinned.selected.odd.bg = base02 + +# Foreground color of pinned selected odd tabs. +c.colors.tabs.pinned.selected.odd.fg = base05 + +# Foreground color of selected odd tabs. +c.colors.tabs.selected.odd.fg = base05 + +# Background color of selected odd tabs. +c.colors.tabs.selected.odd.bg = base02 + +# Foreground color of selected even tabs. +c.colors.tabs.selected.even.fg = base05 + +# Background color of selected even tabs. +c.colors.tabs.selected.even.bg = base02 + +# Background color for webpages if unset (or empty to use the theme's +# color). +c.colors.webpage.bg = base00 diff --git a/starship/tomorrownight/starship.toml b/starship/tomorrownight/starship.toml new file mode 100644 index 0000000..73d68ed --- /dev/null +++ b/starship/tomorrownight/starship.toml @@ -0,0 +1,168 @@ +"$schema" = 'https://starship.rs/config-schema.json' + +format = """ +[](fg:color_dark_blue bg:color_bg0)\ +$username\ +[ ](fg:color_dark_blue bg:color_dark_blue)\ +[](fg:color_dark_blue bg:color_orange)\ +$directory\ +[](fg:color_orange bg:color_red)\ +$git_branch\ +$git_status\ +[](fg:color_red bg:color_fg2)\ +$c\ +$rust\ +$golang\ +$nodejs\ +$php\ +$java\ +$kotlin\ +$haskell\ +$python\ +[](fg:color_fg2 bg:color_bg2)\ +[](fg:color_bg2 bg:color_bg0)\ +$docker_context\ +$time\ +$os\ +[ ](fg:color_fg0)\ +$line_break$character""" + +palette = 'tomorrownight' +[palettes.tomorrownight] +color_fg0 = '#c5c8c6' +color_bg0 = '#1d1f21' +color_red = '#cc6666' +color_orange = '#de935f' +color_yellow = '#f0c674' +color_dark_yellow = '#ae7b00' +color_green = '#b5bd68' +color_blue = '#81a2be' +color_dark_blue = '#1d2594' +color_aqua = '#8abeb7' +color_dark_aqua = '#2b6651' +color_purple = '#b294bb' +color_dark_purple = '#682a9b' +color_bg2 = '#373b41' +color_fg2 = '#929593' + +[os] +disabled = false +style = "bg:color_bg0 fg:color_dark_blue" + +[os.symbols] +Windows = "󰍲" +Ubuntu = "󰕈" +SUSE = "" +Raspbian = "󰐿" +Mint = "󰣭" +Macos = "󰀵" +Manjaro = "" +Linux = "󰌽" +Gentoo = "󰣨" +Fedora = "󰣛" +Alpine = "" +Amazon = "" +Android = "" +Arch = "󰣇" +Artix = "󰣇" +CentOS = "" +Debian = "󰣚" +Redhat = "󱄛" +RedHatEnterprise = "󱄛" +FreeBSD = "" + +[username] +show_always = true +style_user = "bold bg:color_dark_blue fg:color_fg0" +style_root = "bold bg:color_dark_blue fg:color_fg0" +format = '[ $user ]($style)' + +[directory] +style = "bold fg:color_fg0 bg:color_orange" +format = "[ $path ]($style)" +truncation_length = 3 +truncation_symbol = "…/" + +[directory.substitutions] +"Documents" = "󰈙 " +"Downloads" = " " +"Music" = "󰝚 " +"Pictures" = " " +"Developer" = "󰲋 " + +[git_branch] +symbol = "" +style = "bg:color_red" +format = '[[ $symbol $branch ](bold fg:color_fg0 bg:color_red)]($style)' + +[git_status] +style = "bg:color_red" +format = '[[($all_status$ahead_behind )](bold fg:color_fg0 bg:color_red)]($style)' + +[nodejs] +symbol = "" +style = "bg:color_blue" +format = '[[ $symbol( $version) ](bold fg:color_fg0 bg:color_blue)]($style)' + +[c] +symbol = " " +style = "bg:color_blue" +format = '[[ $symbol( $version) ](bold fg:color_fg0 bg:color_blue)]($style)' + +[rust] +symbol = "" +style = "bg:color_blue" +format = '[[ $symbol( $version) ]bold (fg:color_fg0 bg:color_blue)]($style)' + +[golang] +symbol = "" +style = "bg:color_blue" +format = '[[ $symbol( $version) ](bold fg:color_fg0 bg:color_blue)]($style)' + +[php] +symbol = "" +style = "bg:color_blue" +format = '[[ $symbol( $version) ](bold fg:color_fg0 bg:color_blue)]($style)' + +[java] +symbol = " " +style = "bg:color_blue" +format = '[[ $symbol( $version) ](bold fg:color_fg0 bg:color_blue)]($style)' + +[kotlin] +symbol = "" +style = "bg:color_blue" +format = '[[ $symbol( $version) ](bold fg:color_fg0 bg:color_blue)]($style)' + +[haskell] +symbol = "" +style = "bg:color_blue" +format = '[[ $symbol( $version) ](bold fg:color_fg0 bg:color_blue)]($style)' + +[python] +symbol = "" +style = "bg:color_blue" +format = '[[ $symbol( $version) ](bold fg:color_fg0 bg:color_blue)]($style)' + +[docker_context] +symbol = "" +style = "bg:color_blue" +format = '[[ $symbol( $context) ](bold fg:color_fg0 bg:color_blue)]($style)' + +[time] +disabled = false +time_format = "%R" +style = "bg:color_bg0" +format = '[[  $time ](fg:color_fg0 bg:color_bg0)]($style)' + +[line_break] +disabled = true + +[character] +disabled = false +success_symbol = '[](bold fg:color_green)' +error_symbol = '[](bold fg:color_red)' +vimcmd_symbol = '[](bold fg:color_purple)' +vimcmd_replace_one_symbol = '[](bold fg:color_blue)' +vimcmd_replace_symbol = '[](bold fg:color_blue)' +vimcmd_visual_symbol = '[](bold fg:color_orange)' diff --git a/vis/visrc.lua b/vis/dawnfox/visrc.lua similarity index 100% rename from vis/visrc.lua rename to vis/dawnfox/visrc.lua diff --git a/vis/themes/base16-tomorrow-night.lua b/vis/themes/base16-tomorrow-night.lua new file mode 100644 index 0000000..431e1f7 --- /dev/null +++ b/vis/themes/base16-tomorrow-night.lua @@ -0,0 +1,63 @@ +-- base16-vis (https://github.com/pshevtsov/base16-vis) +-- by Petr Shevtsov +-- Tomorrow Night scheme by Chris Kempson (http://chriskempson.com) + +local lexers = vis.lexers + +local colors = { + ['base00'] = '#1d1f21', + ['base01'] = '#282a2e', + ['base02'] = '#373b41', + ['base03'] = '#969896', + ['base04'] = '#b4b7b4', + ['base05'] = '#c5c8c6', + ['base06'] = '#e0e0e0', + ['base07'] = '#ffffff', + ['base08'] = '#cc6666', + ['base09'] = '#de935f', + ['base0A'] = '#f0c674', + ['base0B'] = '#b5bd68', + ['base0C'] = '#8abeb7', + ['base0D'] = '#81a2be', + ['base0E'] = '#b294bb', + ['base0F'] = '#a3685a', +} + +lexers.colors = colors + +local fg = ',fore:'..colors.base05..',' +local bg = ',back:'..colors.base00..',' + +lexers.STYLE_DEFAULT = bg..fg +lexers.STYLE_NOTHING = bg +lexers.STYLE_CLASS = 'fore:'..colors.base0A +lexers.STYLE_COMMENT = 'fore:'..colors.base03..',italics' +lexers.STYLE_CONSTANT = 'fore:'..colors.base09 +lexers.STYLE_DEFINITION = 'fore:'..colors.base0E +lexers.STYLE_ERROR = 'fore:'..colors.base08..',italics' +lexers.STYLE_FUNCTION = 'fore:'..colors.base0D +lexers.STYLE_KEYWORD = 'fore:'..colors.base0E +lexers.STYLE_LABEL = 'fore:'..colors.base0A +lexers.STYLE_NUMBER = 'fore:'..colors.base09 +lexers.STYLE_OPERATOR = 'fore:'..colors.base05 +lexers.STYLE_REGEX = 'fore:'..colors.base0C +lexers.STYLE_STRING = 'fore:'..colors.base0B +lexers.STYLE_PREPROCESSOR = 'fore:'..colors.base0A +lexers.STYLE_TAG = 'fore:'..colors.base0A +lexers.STYLE_TYPE = 'fore:'..colors.base0A +lexers.STYLE_VARIABLE = 'fore:'..colors.base0D +lexers.STYLE_WHITESPACE = 'fore:'..colors.base02 +lexers.STYLE_EMBEDDED = 'fore:'..colors.base0F +lexers.STYLE_IDENTIFIER = 'fore:'..colors.base08 + +lexers.STYLE_LINENUMBER = 'fore:'..colors.base02..',back:'..colors.base00 +lexers.STYLE_CURSOR = 'fore:'..colors.base00..',back:'..colors.base05 +lexers.STYLE_CURSOR_PRIMARY = 'fore:'..colors.base00..',back:'..colors.base05 +lexers.STYLE_CURSOR_LINE = 'back:'..colors.base01 +lexers.STYLE_COLOR_COLUMN = 'back:'..colors.base01 +lexers.STYLE_SELECTION = 'back:'..colors.base02 +lexers.STYLE_STATUS = 'fore:'..colors.base04..',back:'..colors.base01 +lexers.STYLE_STATUS_FOCUSED = 'fore:'..colors.base09..',back:'..colors.base01 +lexers.STYLE_SEPARATOR = lexers.STYLE_DEFAULT +lexers.STYLE_INFO = 'fore:default,back:default,bold' +lexers.STYLE_EOF = '' diff --git a/vis/tomorrownight/visrc.lua b/vis/tomorrownight/visrc.lua new file mode 100644 index 0000000..d0432c8 --- /dev/null +++ b/vis/tomorrownight/visrc.lua @@ -0,0 +1,15 @@ +-- load standard vis module, providing parts of the Lua API +require('vis') +require('plugins/vis-title') +require('plugins/vis-shebang') + +vis.events.subscribe(vis.events.INIT, function() + -- Your global configuration options +end) + +vis.events.subscribe(vis.events.WIN_OPEN, function(win) -- luacheck: no unused args + -- Your per window configuration options e.g. + vis:command('set theme base16-tomorrow-night') + vis:command('set number') + vis:command('set cursorline') +end) diff --git a/zsh/Gentoo/.profile b/zsh/Catpuccin-Machiato/.profile similarity index 100% rename from zsh/Gentoo/.profile rename to zsh/Catpuccin-Machiato/.profile diff --git a/zsh/Gentoo/.zshrc b/zsh/Catpuccin-Machiato/.zshrc similarity index 100% rename from zsh/Gentoo/.zshrc rename to zsh/Catpuccin-Machiato/.zshrc diff --git a/zsh/OpenBSD/.zshrc b/zsh/Daybreak/.zshrc similarity index 100% rename from zsh/OpenBSD/.zshrc rename to zsh/Daybreak/.zshrc diff --git a/zsh/tomorrownight/.zshrc b/zsh/tomorrownight/.zshrc new file mode 100644 index 0000000..ffe7e96 --- /dev/null +++ b/zsh/tomorrownight/.zshrc @@ -0,0 +1,143 @@ +############# +# Autostart # +############# + +# Test for an interactive shell. There is no need to set anything +# past this point for scp and rcp, and it's important to refrain from +# outputting anything in those cases. +if [[ $- != *i* ]] ; then + # Shell is non-interactive. Be done now! + return +fi + +#exec fastfetch + +#source .profile + +########## +# Prompt # +########## +if [[ $(tty) != "/dev/tty"* ]]; then + eval "$(starship init zsh)" +else + autoload -U colors && colors + + # No Directory Shortening + #PS1="%{$fg[cyan]%}%n%{$reset_color%}@%{$fg[red]%}%m %{$fg[magenta]%}%~ %{$reset_color%}%% " + + # Directory Shortening + PS1="%{$fg[cyan]%}%n%{$reset_color%}@%{$fg[red]%}%m %{$fg[magenta]%}%(5~|%-1~/.../%3~|%4~) %{$reset_color%}%% " +fi + +########### +# Aliases # +########### +alias doas="doas " +alias bat="bat --plain --paging never --theme='Catppuccin-macchiato'" +alias eza="eza --long --icons --git --no-permissions" +alias neofetch="clear && neofetch" +alias audio-dlp="yt-dlp -f \"bestaudio\" --extract-audio --audio-format vorbis" +alias hfnn="fc -ln 0" +alias cmd="command" +alias c="cd" +alias e="eza" +alias b="bat" +alias n="nvim" +alias d="pwd" +alias k="rm" +alias y="cp" +alias no="nano" +alias v="vi" +alias vm="vim" +alias src="source" +alias gr="grep" +alias g="git" +alias p="pkg" +alias pa="pkg_add" +alias pi="pkg_info" +alias cm="chmod" +alias cr="chroot" +alias da="doas" +alias s="su" +alias sd="sudo" +alias mk="make" +alias mkd="mkdir" +alias x="mv" +alias m="mg" +alias em="emacs" +alias tn="ping suckless.org" +alias mnt="mount" +alias u="dd" +alias wai="whoami" +alias h="echo" +alias a="awk" +alias llama2="~/LLaMa2/llama.cpp/main -m ~/LLaMa2/llama.cpp/models/llama-2-13b-chat.Q6_K.gguf --color -c 4096 --temp 0.7 --repeat_penalty 1.1 -n -1 -i -ins" + +########################### +# Environmental Variables # +########################### + +# Man +export MANPAGER='nvim +Man!' + +# Bat +BAT_PAGER="" + +export TERM=xterm + +# Configuration Directory +export XDG_CONFIG_DIR="$HOME/.config" + +# Vis Path +VIS_PATH="$XDG_CONGIG_DIR/vis" +########### +# Plugins # +########### + +# Syntax Highlighting +source "$HOME/.config/zsh/plugins/F-Sy-H/F-Sy-H.plugin.zsh" + +# Auto Suggestions +source "$HOME/.config/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh" + +# Hisory Substring Search +source "$HOME/.config/zsh/plugins/zsh-history-substring-search/zsh-history-substring-search.zsh" + +########### +# Options # +########### +HISTFILE=~/.histfile +HISTSIZE=1000 +SAVEHIST=1000 +setopt appendhistory + +############### +# Keybindings # +############### + +# Bind Alt + Delete for forward deleting a word +bindkey -M emacs '^[[3;3~' kill-word + +# Bind Delete to delete a letter to the right +bindkey "^[[3~" delete-char + +# Ctrl binds +# Bind Ctrl + Delete to delete word to the right +bindkey '^[[3;5~' kill-word + +# Bind Ctrl + Backspace to delete word to the left +bindkey '^H' backward-kill-word + +# Bind Ctrl + Right Arrow to move to the next word +bindkey '^[[1;5C' forward-word + +# Bind Ctrl + Left Arrow to move to the previous word +bindkey '^[[1;5D' backward-word + +# Hisory Substring Search Options +bindkey '^[[A' history-substring-search-up +bindkey '^[[B' history-substring-search-down + +if [ -e /home/vehementham/.nix-profile/etc/profile.d/nix.sh ]; then . /home/vehementham/.nix-profile/etc/profile.d/nix.sh; fi # added by Nix installer + +