Compare commits

..

39 Commits

Author SHA1 Message Date
3ebebadc9f brightness 2026-01-19 09:02:02 -05:00
5773a89ab5 svae 2026-01-18 21:21:19 -05:00
6473a0db0c move 2026-01-18 18:22:57 -05:00
82b1f6a192 condense 2026-01-18 18:22:13 -05:00
b9b5efebd0 save 2026-01-18 15:09:03 -05:00
170ce0f13d save 2026-01-18 11:02:46 -05:00
15ea96be2f save 2026-01-15 04:05:58 -05:00
4455e55762 save 2026-01-12 16:44:14 -05:00
8e131ade05 save 2026-01-11 21:51:00 -05:00
2f6ffacce3 save 2026-01-10 14:10:47 +00:00
b9df0a4072 save 2026-01-10 10:08:05 +00:00
f6ef92c771 save 2026-01-06 16:26:29 -05:00
ffce03e4ef save 2026-01-06 15:40:01 -05:00
9b86e7fb7f save 2026-01-04 15:57:41 -05:00
26743308de save 2026-01-04 15:55:37 -05:00
8b953a8ffb save 2026-01-04 14:43:04 -05:00
acded6c018 save 2026-01-04 13:56:22 -05:00
f05a64f1eb save 2026-01-01 15:10:57 -05:00
678ab4af8b save 2026-01-01 14:37:34 -05:00
00ca1afcad save 2026-01-01 11:14:21 -05:00
963d10a58c save 2025-12-30 12:25:44 -05:00
346478017f save 2025-12-30 12:19:19 -05:00
4127ab9259 save 2025-12-30 12:18:56 -05:00
78dd207beb save 2025-12-29 21:56:07 -05:00
25ee38ab07 save 2025-12-29 17:12:37 -05:00
357a7ab1bb save 2025-12-27 14:36:46 -05:00
0aca32f1f1 save 2025-12-26 13:15:38 -05:00
b3cfc0a0b8 save 2025-12-22 21:40:11 -05:00
31ef1b6103 new nvim conf 2025-12-22 20:14:52 -05:00
76dc3678d0 idk 2025-12-19 15:27:00 -05:00
d163270c25 save 2025-12-02 18:02:08 -05:00
128a32fc25 save 2025-11-30 20:50:35 -05:00
c5a9256f19 i3 my balls 2025-11-30 20:44:40 -05:00
cc136299b7 save 2025-11-24 20:30:21 -05:00
a645b24fb0 save 2025-11-24 20:28:53 -05:00
8972505f6b save 2025-11-24 17:28:46 -05:00
ea07642046 save 2025-11-23 12:33:58 -05:00
442c65152e save 2025-11-23 07:37:19 -05:00
488bbd20d2 save 2025-11-18 15:15:04 -05:00
49 changed files with 535 additions and 836 deletions

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
zsh/.local/

6
.luarc.json Normal file
View File

@@ -0,0 +1,6 @@
{
"workspace.library": [
"/home/linuxbrew/.linuxbrew/Cellar/neovim/HEAD-c374d78_1/share/nvim/runtime",
"${3rd}/luv/library"
]
}

View File

@@ -1,44 +0,0 @@
[general]
import = []
[colors.primary]
background = "#181818"
foreground = "#E4E4E4"
[colors.normal]
black = "#181818"
red = "#F43841"
green = "#73D936"
yellow = "#FFDD33"
blue = "#96A6C8"
magenta = "#9E95C7"
cyan = "#95A99F"
white = "#E4E4E4"
[colors.bright]
black = "#52494E"
red = "#FF4F58"
green = "#73D936"
yellow = "#FFDD33"
blue = "#96A6C8"
magenta = "#AFAFD7"
cyan = "#95A99F"
white = "#F5F5F5"
[env]
TERM = "xterm-256color"
[font]
normal = { family = "ComicShannsMono Nerd Font", style = "Regular" }
bold = { family = "ComicShannsMono Nerd Font", style = "Bold" }
italic = { family = "ComicShannsMono Nerd Font", style = "Italic" }
size = 9
[window]
padding = { x = 14, y = 14 }
decorations = "none"
[[keyboard.bindings]]
key = "F11"
action = "ToggleFullscreen"

View File

@@ -1,3 +0,0 @@
#!/bin/sh
iwctl station connect wlan0 RCS

View File

@@ -1,62 +0,0 @@
#!/bin/sh
# Usage: $0 [java-source]
prog_name=$(basename $0)
tool_version="beta"
year=2025
fatal() {
echo "fatal: $*" >&2
exit 1
}
run() {
"$@" || fatal "could not run: $*"
}
print_help() {
cat <<EOF
Usage: $prog_name [java-source]...
--help print this help and exit.
--version print version information.
--save-temps don't clean up all intermediate steps
EOF
}
print_version() {
cat <<EOF
$prog_name $tool_version $(git rev-list --count --all 2>/dev/null || echo 0)
Copyright (C) $year vx-clutch.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
EOF
}
clean=true
cleanup() {
local class=$1
$clean && rm $class.class
}
runner() {
local class=$1
class="${class%.java}"
run javac $class.java
run java $class
cleanup $class
}
while [ $# -gt 0 ]; do
case "$1" in
--help) print_help; exit 0 ;;
--version) print_version; exit 0 ;;
--save-temps) clean=false ;;
*)
runner $1
;;
esac
shift
done

View File

@@ -1,136 +0,0 @@
#!/bin/sh
# vx.jnew - Create a java project
#
# FEATURES:
# - Generate single-file project
#
# COMPILATION (Linux - POSIX):
# ./jnew
#
#
# LICENSE: BSD-3-Clause
#
# Copyright (c) 2025 VX
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice, this
# list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# 3. Neither the name of the copyright holder nor the names of its
# contributors may be used to endorse or promote products derived from
# this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
me=$0
scriptversion="1.0.0"
version="$me $scriptversion
Copyright (C) 2025 VX.
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law."
usage="\
Usage: $me [project] [OPTION]...
Generate a java project
Options:
--class generate a class only file
--help print this help and exit
--version output version information"
classonly=false
classname=
while [ $# -gt 0 ]; do
case $1 in
--help)
echo "$usage"
exit 0
;;
--version)
echo "$version"
exit 0
;;
--class)
classonly=true
;;
-*)
echo "$me: unknown option '$1'" >&2
echo "Try '$me --help' for more information." >&2
exit 1
;;
*)
classname=$1
;;
esac
shift
done
if [ -z "$classname" ]; then
echo "$me: missing project name" >&2
echo "Try '$me --help' for more information." >&2
exit 1
fi
firstchar=$(printf '%s' "$classname" | cut -c1 | tr '[:lower:]' '[:upper:]')
restchars=$(printf '%s' "$classname" | cut -c2-)
classname="${firstchar}${restchars}"
file="${classname}.java"
if [ -e "$file" ]; then
echo "$me: file '$file' already exists" >&2
exit 1
fi
cat <<EOF >"$file"
/*
* Short description
*
* Author: Owen Westness <vx-clutch>
* Date: $(date +"%B %d, %Y")
* License: MIT
*/
public class $classname {
EOF
if $classonly; then
cat <<EOF >>"$file"
public $classname() {
// Your code here...
}
EOF
else
cat <<EOF >>"$file"
public static void main(String[] args) {
// Your code here...
}
EOF
fi
printf '}\n' >>"$file"
echo "Created $file"
# End: jnew

View File

@@ -1,37 +0,0 @@
#!/bin/sh
# Usage: prog | $0
prog_name=$(basename $0)
tool_version="1.0"
year=2025
print_help() {
cat <<EOF
Usage: $prog_name
--help print this help and exit.
--version print version information.
EOF
}
print_version() {
cat <<EOF
$prog_name $tool_version $(git rev-list --count --all 2>/dev/null || echo 0)
Copyright (C) $year vx-clutch.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
EOF
}
while [ $# -gt 0 ]; do
case "$1" in
--help) print_help; exit 0 ;;
--version) print_version; exit 0 ;;
*) ;;
esac
shift
done
read s
echo "$s" | tr '[:upper:]' '[:lower:]'

View File

@@ -1,53 +0,0 @@
#!/bin/sh
# Usage: $0 [name]
prog_name=$(basename $0)
tool_version="1.0"
year=2025
fatal() {
echo "fatal: $*" >&2
exit 1
}
print_help() {
cat <<EOF
Usage: $prog_name [name]...
--help print this help and exit.
--version print version information.
EOF
}
print_version() {
cat <<EOF
$prog_name $tool_version $(git rev-list --count --all 2>/dev/null || echo 0)
Copyright (C) $year vx-clutch.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
EOF
}
new_proj() {
local prj=$1
mkdir -p $HOME/probe/$prj &&
echo "cd $HOME/probe/$prj"
}
if [ "$#" -eq 0 ]; then
read -p "(project) " rp
new_proj $rp
exit 0
fi
while [ $# -gt 0 ]; do
case "$1" in
--help) print_help; exit 0 ;;
--version) print_version; exit 0 ;;
*)
new_proj $1; exit 0
;;
esac
shift
done

View File

@@ -1,37 +0,0 @@
#!/bin/sh
# Usage: prog | $0
prog_name=$(basename $0)
tool_version="1.0"
year=2025
print_help() {
cat <<EOF
Usage: $prog_name
--help print this help and exit.
--version print version information.
EOF
}
print_version() {
cat <<EOF
$prog_name $tool_version $(git rev-list --count --all 2>/dev/null || echo 0)
Copyright (C) $year vx-clutch.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
EOF
}
while [ $# -gt 0 ]; do
case "$1" in
--help) print_help; exit 0 ;;
--version) print_version; exit 0 ;;
*) ;;
esac
shift
done
read s
echo "$s" | tr '[:lower:]' '[:upper:]'

18
git/.config/git/config Normal file
View File

@@ -0,0 +1,18 @@
[user]
name = vx-clutch
email = owestness@gmail.com
[core]
editor = nvim
excludesFile = ~/.gitignore
[pull]
rebase = true
[rebase]
autoStash = true
[push]
default = current
[credential]
helper = store

View File

@@ -1,2 +0,0 @@
# Extra autostart processes
# exec-once = uwsm app -- my-service

View File

@@ -1,15 +0,0 @@
# Application bindings
$terminal = uwsm app -- $TERMINAL
$browser = omarchy-launch-browser
bindd = SUPER, RETURN, Terminal, exec, $terminal --dir="$(omarchy-cmd-terminal-cwd)"
bindd = SUPER, F, File manager, exec, uwsm app -- nautilus --new-window
bindd = SUPER , B, Browser, exec, $browser
bindd = SUPER SHIFT, B, Browser (private), exec, $browser --private
bindd = SUPER SHIFT, T, Activity, exec, $terminal -e btop
bindd = SUPER, D, Discord, exec, discord
# If your web app url contains #, type it as ## to prevent hyperland treat it as comments
bindd = SUPER SHIFT, A, ChatGPT, exec, omarchy-launch-webapp "https://chatgpt.com"
bindd = SUPER SHIFT, G, GitHub, exec, omarchy-launch-webapp "https://github.com"
bindd = SUPER SHIFT, Y, YouTube, exec, omarchy-launch-or-focus-webapp YouTube "https://youtube.com/"

View File

@@ -1,15 +0,0 @@
# Application bindings
$terminal = uwsm app -- $TERMINAL
$browser = omarchy-launch-browser
bindd = SUPER, return, Terminal, exec, $terminal --working-directory="$(omarchy-cmd-terminal-cwd)"
bindd = SUPER, F, File manager, exec, uwsm app -- nautilus --new-window
bindd = SUPER, B, Browser, exec, $browser
bindd = SUPER SHIFT, B, Browser (private), exec, $browser --private
bindd = SUPER, T, Activity, exec, $terminal -e btop
bindd = SUPER, D, Discord, exec, discord
# If your web app url contains #, type it as ## to prevent hyperland treat it as comments
bindd = SUPER, A, ChatGPT, exec, omarchy-launch-webapp "https://chatgpt.com"
bindd = SUPER, G, GitHub, exec, omarchy-launch-webapp "https://github.com"
bindd = SUPER, Y, YouTube, exec, omarchy-launch-or-focus-webapp YouTube "https://youtube.com/"

View File

@@ -1,2 +0,0 @@
# Extra env variables
# env = MY_GLOBAL_ENV,setting

View File

@@ -1,22 +0,0 @@
general {
lock_cmd = omarchy-lock-screen # lock screen and 1password
before_sleep_cmd = loginctl lock-session # lock before suspend.
after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display.
inhibit_sleep = 3 # wait until screen is locked
}
listener {
timeout = 150 # 2.5min
on-timeout = pidof hyprlock || omarchy-launch-screensaver # start screensaver (if we haven't locked already)
}
listener {
timeout = 300 # 5min
on-timeout = loginctl lock-session # lock screen when timeout has passed
}
listener {
timeout = 330 # 5.5min
on-timeout = hyprctl dispatch dpms off # screen off when timeout has passed
on-resume = hyprctl dispatch dpms on && brightnessctl -r # screen on when activity is detected
}

View File

@@ -1,21 +0,0 @@
# Learn how to configure Hyprland: https://wiki.hyprland.org/Configuring/
# Use defaults Omarchy defaults (but don't edit these directly!)
source = ~/.local/share/omarchy/default/hypr/autostart.conf
source = ~/.local/share/omarchy/default/hypr/bindings/media.conf
source = ~/.local/share/omarchy/default/hypr/bindings/clipboard.conf
source = ~/.local/share/omarchy/default/hypr/bindings/tiling-v2.conf
source = ~/.local/share/omarchy/default/hypr/bindings/utilities.conf
source = ~/.local/share/omarchy/default/hypr/envs.conf
source = ~/.local/share/omarchy/default/hypr/looknfeel.conf
source = ~/.local/share/omarchy/default/hypr/input.conf
source = ~/.local/share/omarchy/default/hypr/windows.conf
source = ~/.config/omarchy/current/theme/hyprland.conf
# Change your own setup in these files (and overwrite any settings from defaults!)
source = ~/.config/hypr/monitors.conf
source = ~/.config/hypr/input.conf
source = ~/.config/hypr/bindings.conf
source = ~/.config/hypr/envs.conf
source = ~/.config/hypr/looknfeel.conf
source = ~/.config/hypr/autostart.conf

View File

@@ -1,39 +0,0 @@
source = ~/.config/omarchy/current/theme/hyprlock.conf
background {
monitor =
color = $color
path = ~/.config/omarchy/current/background
blur_passes = 3
}
animations {
enabled = false
}
input-field {
monitor =
size = 650, 100
position = 0, 0
halign = center
valign = center
inner_color = $inner_color
outer_color = $outer_color
outline_thickness = 4
font_family = CaskaydiaMono Nerd Font Propo
font_color = $font_color
placeholder_text = Enter Password 󰈷
check_color = $check_color
fail_text = <i>$FAIL ($ATTEMPTS)</i>
rounding = 0
shadow_passes = 0
fade_on_empty = false
}
auth {
fingerprint:enabled = true
}

View File

@@ -1,6 +0,0 @@
# Makes hyprsunset do nothing to the screen by default
# Without this, the default applies some tint to the monitor
profile {
time = 07:00
identity = true
}

View File

@@ -1,37 +0,0 @@
# Control your input devices
# See https://wiki.hypr.land/Configuring/Variables/#input
input {
# Use multiple keyboard layouts and switch between them with Left Alt + Right Alt
# kb_layout = us,dk,eu
kb_layout = us
kb_options = compose:caps # ,grp:alts_toggle
# Change speed of keyboard repeat
repeat_rate = 40
repeat_delay = 600
# Start with numlock on by default
numlock_by_default = true
# Increase sensitity for mouse/trackpack (default: 0)
# sensitivity = 0.35
touchpad {
# Use natural (inverse) scrolling
# natural_scroll = true
# Use two-finger clicks for right-click instead of lower-right corner
# clickfinger_behavior = true
# Control the speed of your scrolling
scroll_factor = 0.4
}
}
# Scroll nicely in the terminal
windowrule = scrolltouchpad 1.5, class:(Alacritty|kitty)
windowrule = scrolltouchpad 0.2, class:com.mitchellh.ghostty
# Enable touchpad gestures for changing workspaces
# See https://wiki.hyprland.org/Configuring/Gestures/
# gesture = 3, horizontal, workspace

View File

@@ -1,23 +0,0 @@
# Change the default Omarchy look'n'feel
# https://wiki.hyprland.org/Configuring/Variables/#general
general {
# No gaps between windows
# gaps_in = 0
# gaps_out = 0
# Use master layout instead of dwindle
# layout = master
}
# https://wiki.hyprland.org/Configuring/Variables/#decoration
decoration {
# Use round window corners
# rounding = 8
}
# https://wiki.hypr.land/Configuring/Dwindle-Layout/
dwindle {
# Avoid overly wide single-window layouts on wide screens
# single_window_aspect_ratio = 1 1
}

View File

@@ -1,20 +0,0 @@
# See https://wiki.hyprland.org/Configuring/Monitors/
# List current monitors and resolutions possible: hyprctl monitors
# Format: monitor = [port], resolution, position, scale
# You must relaunch Hyprland after changing any envs (use Super+Esc, then Relaunch)
# Optimized for retina-class 2x displays, like 13" 2.8K, 27" 5K, 32" 6K.
env = GDK_SCALE,1
monitor=,preferred,auto,auto
# Good compromise for 27" or 32" 4K monitors (but fractional!)
# env = GDK_SCALE,1.75
# monitor=,preferred,auto,1.666667
# Straight 1x setup for low-resolution displays like 1080p or 1440p
# env = GDK_SCALE,1
# monitor=,preferred,auto,1
# Example for Framework 13 w/ 6K XDR Apple display
# monitor = DP-5, 6016x3384@60, auto, 2
# monitor = eDP-1, 2880x1920@120, auto, 2

138
i3/.config/i3/config Normal file
View File

@@ -0,0 +1,138 @@
set $mod Mod4
font pango:monospace 8
exec --no-startup-id dex-autostart --autostart --environment i3
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
exec --no-startup-id nm-applet
exec_always --no-startup-id feh --bg-center $HOME/.config/vxclutch/background.jpg
exec_always --no-startup-id fastcompmgr
# Use pactl to adjust volume in PulseAudio.
set $refresh_i3status killall -SIGUSR1 i3status
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
bindsym XF86MonBrightnessUp exec --no-startup-id brightnessctl set +10%
bindsym XF86MonBrightnessDown exec --no-startup-id brightnessctl set 10%-
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# move tiling windows via drag & drop by left-clicking into the title bar,
# or left-clicking anywhere into the window while holding the floating modifier.
floating_modifier $mod
# start a terminal
bindsym $mod+Return exec wezterm
# kill focused window
bindsym $mod+w kill
# start dmenu (a program launcher)
bindsym $mod+space exec --no-startup-id dmenu_run
# change focus
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right
# move focused window
bindsym $mod+Shift+h move left
bindsym $mod+Shift+j move down
bindsym $mod+Shift+k move up
bindsym $mod+Shift+l move right
# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle
bindsym $mod+v floating toggle
bindsym $mod+t layout tabbed
bindsym $mod+e layout toggle split
# Define names for default workspaces for which we configure key bindings later on.
# We use variables to avoid repeating the names in multiple places.
set $ws1 "1"
set $ws2 "2"
set $ws3 "3"
set $ws4 "4"
set $ws5 "5"
set $ws6 "6"
set $ws7 "7"
set $ws8 "8"
set $ws9 "9"
set $ws10 "10"
# switch to workspace
bindsym $mod+1 workspace number $ws1
bindsym $mod+2 workspace number $ws2
bindsym $mod+3 workspace number $ws3
bindsym $mod+4 workspace number $ws4
bindsym $mod+5 workspace number $ws5
bindsym $mod+6 workspace number $ws6
bindsym $mod+7 workspace number $ws7
bindsym $mod+8 workspace number $ws8
bindsym $mod+9 workspace number $ws9
bindsym $mod+0 workspace number $ws10
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace number $ws1
bindsym $mod+Shift+2 move container to workspace number $ws2
bindsym $mod+Shift+3 move container to workspace number $ws3
bindsym $mod+Shift+4 move container to workspace number $ws4
bindsym $mod+Shift+5 move container to workspace number $ws5
bindsym $mod+Shift+6 move container to workspace number $ws6
bindsym $mod+Shift+7 move container to workspace number $ws7
bindsym $mod+Shift+8 move container to workspace number $ws8
bindsym $mod+Shift+9 move container to workspace number $ws9
bindsym $mod+Shift+0 move container to workspace number $ws10
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+r restart
# exit i3 (logs you out of your X session)
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"
# resize window (you can also use the mouse for that)
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
# Pressing left will shrink the windows width.
# Pressing right will grow the windows width.
# Pressing up will shrink the windows height.
# Pressing down will grow the windows height.
bindsym h resize grow width 10 px or 10 ppt
bindsym j resize grow height 10 px or 10 ppt
bindsym k resize shrink height 10 px or 10 ppt
bindsym l resize shrink width 10 px or 10 ppt
# back to normal: Enter or Escape or $mod+r
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym $mod+r mode "default"
}
bindsym $mod+r mode "resize"
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
bar {
status_command i3status
}
set $px 20
gaps inner $px
gaps outer $px
# external programs
bindsym $mod+d exec vesktop
bindsym $mod+b exec librewolf
bindsym $mod+s exec flatpak run org.vinegarhq.Sober
bindsym $mod+g exec steam
bindsym $mod+m exec atlauncher
bindsym $mod+Shift+f exec nautilus
bindsym --release $mod+Shift+s exec sh -c "scrot -s /tmp/screenshot.png && xclip -selection clipboard -t image/png -i /tmp/screenshot.png && cp /tmp/screenshot.png ~/latest.png"

View File

@@ -0,0 +1,61 @@
# i3status configuration file.
# see "man i3status" for documentation.
# It is important that this file is edited as UTF-8.
# The following line should contain a sharp s:
# ß
# If the above line is not correctly displayed, fix your editor first!
general {
colors = true
interval = 5
}
order += "ipv6"
order += "cpu_temperature 0"
order += "disk /"
order += "wireless _first_"
order += "ethernet _first_"
order += "battery all"
order += "load"
order += "tztime local"
cpu_temperature 0 {
format = "Tea: %degrees °C"
path = "/sys/class/hwmon/hwmon1/temp1_input"
max_threshold = 80000
}
wireless _first_ {
# format_up = "W: (%quality at %essid) %ip"
format_up = "W: (%quality) Leaked IP: %ip"
format_down = "W: down"
}
ethernet _first_ {
# if you use %speed, i3status requires root privileges
# format_up = "E: %ip (%speed)"
format_up = "E: Leaked IP: %ip (%speed)"
format_down = "E: down"
}
battery all {
format = "Fairy Dust: %percentage %status %remaining"
}
tztime local {
format = "%Y-%d-%m %I:%M:%S"
}
load {
format = "Hot Loads: %1min"
}
disk "/" {
format = "Penger Folder: %avail"
}
ipv6 {
format_up = "Useless Protocol: %ipv6"
format_down = "Useless Protocol: Down"
}

View File

@@ -0,0 +1 @@
vim.opt.wrap = true

View File

@@ -1,155 +1,4 @@
vim.g.mapleader = " "
vim.opt.number = true
vim.opt.relativenumber = true
vim.opt.swapfile = false
vim.opt.wrap = false
vim.opt.splitright = true
vim.opt.splitbelow = true
vim.keymap.set("n", "<Esc>", ":nohlsearch<CR>")
vim.keymap.set("n", "<leader>en", ":edit $MYVIMRC<CR>")
vim.keymap.set("n", "<leader>ez", ":edit ~/.zshrc<CR>")
vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv")
vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv")
for _, k in ipairs({ "h", "j", "k", "l" }) do
vim.keymap.set({ "n", "i", "v" }, "<C-" .. k .. ">", "<C-w><C-" .. k .. ">")
end
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
"git",
"clone",
"--filter=blob:none",
"https://github.com/folke/lazy.nvim.git",
"--branch=stable",
lazypath,
})
end
vim.opt.rtp:prepend(lazypath)
require("lazy").setup({
{
"blazkowolf/gruber-darker.nvim",
priority = 1000,
config = function()
vim.cmd.colorscheme("gruber-darker")
end,
},
{
"williamboman/mason.nvim",
build = ":MasonUpdate",
config = function()
require("mason").setup()
end,
},
{
"williamboman/mason-lspconfig.nvim",
dependencies = { "williamboman/mason.nvim", "neovim/nvim-lspconfig" },
config = function()
local ok, cmp_nvim_lsp = pcall(require, "cmp_nvim_lsp")
local capabilities = ok and cmp_nvim_lsp.default_capabilities() or
vim.lsp.protocol.make_client_capabilities()
local servers = { "lua_ls", "clangd", "pyright", "gopls" }
require("mason").setup()
require("mason-lspconfig").setup({
ensure_installed = servers,
})
for _, name in ipairs(servers) do
local cfg = { capabilities = capabilities }
if name == "lua_ls" then
cfg.settings = {
Lua = {
diagnostics = { globals = { "vim" } },
workspace = { library = vim.api.nvim_get_runtime_file("", true) },
},
}
end
local server_cfg = vim.lsp.config[name]
if not server_cfg then
vim.notify("LSP server config not found: " .. name, vim.log.levels.WARN)
else
local cmd = server_cfg.cmd or { name }
vim.lsp.start(vim.tbl_extend("force", cfg, {
name = name,
cmd = cmd,
root_dir = vim.fs.root(0, { ".git", "Makefile", "main.c", "go.mod" }),
settings = cfg.settings,
}))
end
end
end,
},
{
"hrsh7th/nvim-cmp",
dependencies = {
"hrsh7th/cmp-nvim-lsp",
"hrsh7th/cmp-buffer",
"hrsh7th/cmp-path",
},
config = function()
local cmp = require("cmp")
cmp.setup({
mapping = cmp.mapping.preset.insert({
["<C-y>"] = cmp.mapping.confirm({ select = true }),
["<C-Space>"] = cmp.mapping.complete(),
["<C-n>"] = cmp.mapping.select_next_item(),
["<C-p>"] = cmp.mapping.select_prev_item(),
["<CR>"] = cmp.mapping.confirm({ select = true }),
}),
sources = cmp.config.sources({
{ name = "nvim_lsp" },
{ name = "buffer" },
{ name = "path" },
}),
})
end,
},
{
"folke/snacks.nvim",
priority = 1000,
lazy = false,
opts = {
bigfile = { enabled = true },
picker = { enabled = true },
quickfile = { enabled = true },
terminal = {
enabled = true,
float = {
border = "rounded",
width = 0.8,
height = 0.8,
},
},
},
config = function(_, opts)
require("snacks").setup(opts)
vim.keymap.set("n", "<C-_>", function()
require("snacks.terminal").toggle(nil, { float = true })
end)
vim.keymap.set("t", "<C-_>", function()
require("snacks.terminal").toggle(nil, { float = true })
end)
end,
},
{
'nvim-telescope/telescope.nvim', tag = '0.1.8',
dependencies = { 'nvim-lua/plenary.nvim' },
config = function ()
local builtin = require("telescope.builtin")
require("telescope").setup {}
vim.keymap.set("n", "<leader>g", builtin.live_grep)
vim.keymap.set("n", "<leader>f", builtin.find_files)
end
},
})
vim.diagnostic.config { virtual_text = true, underline = true, signs = false }
require 'plugins'
require 'configs'
require 'lsp'
require 'keymaps'

View File

@@ -1,14 +0,0 @@
{
"cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
"cmp-nvim-lsp": { "branch": "main", "commit": "bd5a7d6db125d4654b50eeae9f5217f24bb22fd3" },
"cmp-path": { "branch": "main", "commit": "c642487086dbd9a93160e1679a1327be111cbc25" },
"gruber-darker.nvim": { "branch": "main", "commit": "98a2e141981cbd5a194a97eae024bf55af854579" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "f760507df8c49a4bf46a4d12e1fc616797508979" },
"mason.nvim": { "branch": "main", "commit": "b3689a41dd77e5294498dba9757fb22cc80cbebd" },
"nvim-cmp": { "branch": "main", "commit": "106c4bcc053a5da783bf4a9d907b6f22485c2ea0" },
"nvim-lspconfig": { "branch": "master", "commit": "336b388c272555d2ae94627a50df4c2f89a5e257" },
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"snacks.nvim": { "branch": "main", "commit": "5e0e8698526f350f1280ad1ef7a8670f857c9445" },
"telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" }
}

View File

@@ -0,0 +1,11 @@
---@type vim.lsp.Config
return {
cmd = { 'bash-language-server', 'start' },
settings = {
bashIde = {
globPattern = vim.env.GLOB_PATTERN or '*@(.sh|.inc|.bash|.command)',
},
},
filetypes = { 'bash', 'sh', 'zsh' },
root_markers = { '.git' },
}

View File

@@ -0,0 +1,6 @@
---@type vim.lsp.Config
return {
cmd = { 'clangd' },
filetypes = { 'c', 'h', 'cpp' },
root_markers = { 'Makefile', '.git' },
}

View File

@@ -0,0 +1,6 @@
---@type vim.lsp.Config
return {
cmd = { 'gopls' },
filetypes = { 'go', 'gomod', 'gosum' },
root_markers = { 'go.mod', 'go.sum' },
}

View File

@@ -0,0 +1,37 @@
---@type vim.lsp.Config
return {
cmd = { 'lua-language-server' },
filetypes = { 'lua' },
root_markers = {
'.luarc.json',
'.luarc.jsonc',
'.luacheckrc',
'.stylua.toml',
'stylua.toml',
'selene.toml',
'selene.yml',
'.git',
},
settings = {
Lua = {
runtime = {
version = "Lua 5.4",
},
completion = {
enable = true,
},
diagnostics = {
enable = true,
globals = { "vim" },
},
workspace = {
library = {
vim.env.VIMRUNTIME,
"${3rd}/luv/library"
},
checkThirdParty = "Apply",
},
},
},
}

View File

@@ -0,0 +1,15 @@
---@type vim.lsp.Config
return {
cmd = { 'pyright-langserver', '--stdio' },
settings = {
python = {
analysis = {
typeCheckingMode = 'basic',
autoSearchPaths = true,
useLibraryCodeForTypes = true,
},
},
},
filetypes = { 'python' },
root_markers = { 'pyproject.toml', 'setup.py', 'requirements.txt', '.git' },
}

View File

@@ -0,0 +1,10 @@
local opt = vim.opt
opt.number = true
opt.relativenumber = true
opt.swapfile = false
opt.wrap = false
opt.splitright = true
opt.splitbelow = true
vim.cmd("colorscheme vim")

View File

@@ -0,0 +1,17 @@
local keymap = vim.keymap.set
keymap("n", "<Esc>", ":nohlsearch<CR>")
keymap("n", "<leader>en", ":edit $MYVIMRC<CR>")
keymap("n", "<leader>ez", ":edit ~/.zshrc<CR>")
keymap("v", "J", ":m '>+1<CR>gv=gv")
keymap("v", "K", ":m '<-2<CR>gv=gv")
for _, k in ipairs({ "h", "j", "k", "l" }) do
keymap({ "n", "i", "v" }, "<C-" .. k .. ">", "<C-w><C-" .. k .. ">")
end
keymap("n", "<leader>f", ":Pick files<CR>")
keymap("n", "<leader>lf", vim.lsp.buf.format)

View File

@@ -0,0 +1,8 @@
vim.lsp.enable {
"bashls",
"gopls",
"lua_ls",
"clangd",
}
vim.diagnostic.config { virtual_text = true, underline = true, signs = false }

View File

@@ -0,0 +1,55 @@
vim.g.mapleader = " "
vim.pack.add {
{ src = "https://github.com/mason-org/mason.nvim" },
{ src = "https://github.com/nvim-mini/mini.pick" },
{ src = "https://github.com/rafamadriz/friendly-snippets" },
{
src = "https://github.com/saghen/blink.cmp",
version = "1.*",
},
{ src = "https://github.com/tpope/vim-fugitive" },
}
require("mason").setup {}
require("mini.pick").setup {}
require('blink.cmp').setup {
fuzzy = { implementation = 'prefer_rust_with_warning' },
signature = { enabled = true },
keymap = {
preset = "default",
["<C-y>"] = { "select_and_accept" },
["<C-p>"] = { "select_prev", "fallback" },
["<C-n>"] = { "select_next", "fallback" },
["<C-b>"] = { "scroll_documentation_down", "fallback" },
["<C-f>"] = { "scroll_documentation_up", "fallback" },
-- ["<C-e>"] = { "hide" },
},
appearance = {
use_nvim_cmp_as_default = true,
nerd_font_variant = "normal",
},
completion = {
documentation = {
auto_show = true,
auto_show_delay_ms = 200,
}
},
cmdline = {
keymap = {
preset = 'inherit',
['<CR>'] = { 'accept_and_enter', 'fallback' },
},
},
sources = {
default = { "lsp", "snippets" },
providers = {
snippets = { opts = { friendly_snippets = true, } }
}
}
}

View File

@@ -0,0 +1,49 @@
{
"plugins": {
"alpha-nvim": {
"rev": "3979b01cb05734331c7873049001d3f2bb8477f4",
"src": "https://github.com/goolord/alpha-nvim"
},
"blink.cmp": {
"rev": "d0c5196dae32c53cde1208161554906f5b982de8",
"src": "https://github.com/saghen/blink.cmp",
"version": "'1.*'"
},
"cyberdream.nvim": {
"rev": "a43b45423e8494898c353c0604e0b2e4e99bd056",
"src": "https://github.com/scottmckendry/cyberdream.nvim"
},
"friendly-snippets": {
"rev": "572f5660cf05f8cd8834e096d7b4c921ba18e175",
"src": "https://github.com/rafamadriz/friendly-snippets"
},
"mason.nvim": {
"rev": "57e5a8addb8c71fb063ee4acda466c7cf6ad2800",
"src": "https://github.com/mason-org/mason.nvim"
},
"mini.pick": {
"rev": "0c56dc3ef9b15e9659ce09331fdc82449349701b",
"src": "https://github.com/nvim-mini/mini.pick"
},
"nvim-web-devicons": {
"rev": "6788013bb9cb784e606ada44206b0e755e4323d7",
"src": "https://github.com/nvim-tree/nvim-web-devicons"
},
"orgmode": {
"rev": "cf75da1a91071c6c041075eae4ca2326f9d1f52a",
"src": "https://github.com/nvim-orgmode/orgmode"
},
"simplyfile.nvim": {
"rev": "c4dfc0f3431898c3abbef267b226f6cdd2a67b38",
"src": "https://github.com/Rizwanelansyah/simplyfile.nvim"
},
"vim-fugitive": {
"rev": "61b51c09b7c9ce04e821f6cf76ea4f6f903e3cf4",
"src": "https://github.com/tpope/vim-fugitive"
},
"zen-mode.nvim": {
"rev": "8564ce6d29ec7554eb9df578efa882d33b3c23a7",
"src": "https://github.com/folke/zen-mode.nvim"
}
}
}

View File

@@ -1,9 +0,0 @@
add_newline = false
format = "$git_status$custom$directory"
[custom.todo]
command = "awk '/^TODAY/{getline; if (NF) {print; exit}}' ~/do"
when = "grep -A1 '^TODAY' ~/do | tail -n1 | grep -q '.'"
style = "bold white"
format = "\"[$output]($style)\" "

View File

@@ -1,16 +1,10 @@
set -g default-terminal "tmux-256color"
set -ag terminal-overrides ",xterm-256color:RGB"
set -g prefix C-s
set -g base-index 1
set -g renumber-windows on
set -g mode-keys vi
set -g status-position top
set -g status-justify absolute-centre
set -g status-style "bg=default"
set -g window-status-current-style "fg=blue bold"
set -g status-right ""
set -g status-left "#S"
unbind-key C-b
set-option -g prefix C-s
bind-key C-s send-prefix
bind r source-file "~/.config/tmux/tmux.conf"
bind b set -g status
bind G neww -n "lazygit" lazygit
bind -r k select-pane -U
bind -r j select-pane -D
bind -r h select-pane -L
bind -r l select-pane -R
set-option -s escape-time 0

View File

@@ -0,0 +1,27 @@
local wezterm = require 'wezterm'
local config = {}
if wezterm.config_builder then
config = wezterm.config_builder()
end
config.font = wezterm.font_with_fallback {
'ComicShannsMono Nerd Font',
'Iosevka Term'
}
config.font_size = 24.0
config.enable_scroll_bar = false
config.window_padding = {
left = 0,
right = 0,
top = 0,
bottom = 0,
}
config.tab_bar_at_bottom = true
config.window_background_opacity = .75
return config

View File

@@ -1,34 +0,0 @@
local wezterm = require("wezterm")
local config = {}
if wezterm.target_triple:find("windows") then
config.default_prog = { "wsl.exe", "-d", "Void", "-u", "owen", "--cd", "~" }
config.keys = {
{
key = "F11",
mods = "NONE",
action = wezterm.action.ToggleFullScreen,
},
}
end
config.enable_tab_bar = false
config.window_padding = {
left = 0,
right = 0,
top = 0,
bottom = 0,
}
config.scrollback_lines = 1000
config.font = wezterm.font("ComicShannsMono Nerd Font")
config.font_size = 20.0
config.front_end = "WebGpu"
config.window_decorations = "RESIZE"
config.color_scheme = 'Gruber (base16)'
return config

View File

@@ -1,4 +0,0 @@
alias ls='ls --color=auto'
alias ll='ls -lah'
alias gg='lazygit'
alias v='nvim'

View File

@@ -1,3 +0,0 @@
export EDITOR=nvim
export SUDO_EDITOR="$EDITOR"
export TERM=xterm-256color

View File

@@ -1,4 +0,0 @@
take() {
mkdir $1;
cd $1
}

View File

@@ -1,5 +0,0 @@
if command -v starship &> /dev/null; then
eval "$(starship init zsh)"
fi
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"

View File

@@ -1 +0,0 @@
bindkey -e

View File

@@ -1,5 +0,0 @@
[ -f "${XDG_DATA_HOME:-$HOME/.local/share}/zap/zap.zsh" ] && source "${XDG_DATA_HOME:-$HOME/.local/share}/zap/zap.zsh"
plug "zsh-users/zsh-autosuggestions"
plug "zsh-users/zsh-syntax-highlighting"
plug "zap-zsh/sudo"
plug "Aloxaf/fzf-tab"

View File

@@ -1,4 +0,0 @@
autoload -Uz compinit
compinit
if [ "$TMUX" = "" ]; then tmux; fi

View File

@@ -1,2 +0,0 @@
export PATH=$HOME/.local/bin:$PATH
export PATH=$HOME/opt/bin:$PATH

View File

@@ -1,8 +1,57 @@
source ~/.local/share/vxclutch/zsh/aliases
source ~/.local/share/vxclutch/zsh/envs
source ~/.local/share/vxclutch/zsh/functions
source ~/.local/share/vxclutch/zsh/init
source ~/.local/share/vxclutch/zsh/shell
source ~/.local/share/vxclutch/zsh/plugins
export TERM=xterm-256color
source ~/.local/share/vxclutch/zsh/rc
export EDITOR=nvim
export SUDO_EDITOR=nvim
export GOPATH="$HOME/.local/go"
export HISTSIZE=10000
export SAVEHIST=10000
export HISTFILE="$HOME/.cache/zsh/history"
setopt inc_append_history
setopt interactive_comments
export PATH="$HOME/.local/bin:$HOME/.local/go/bin:$HOME/opt/bin:$PATH"
export LD_LIBRARY_PATH="$HOME/opt/lib:${LD_LIBRARY_PATH:-}"
alias ls='ls --color=auto'
alias ll='ls -lah'
alias gg='lazygit'
alias v='nvim'
alias rr='russ read'
alias cp='cp -v'
take() {
mkdir -p -- "$1" && cd -- "$1"
}
bindkey -e
autoload -Uz compinit colors
autoload -U bashcompinit
colors
compinit
bashcompinit
PS1="%B%{$fg[red]%}[%{$fg[yellow]%}%n%{$fg[green]%}@%{$fg[blue]%}%M %{$fg[magenta]%}%~%{$fg[red]%}]%{$reset_color%}$%b "
if [ -f "$HOME/.zprofile" ]; then
source "$HOME/.zprofile"
fi
if [ -x /home/linuxbrew/.linuxbrew/bin/brew ]; then
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
fi
ZAP_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/zap"
if [ -f "$ZAP_DIR/zap.zsh" ]; then
source "$ZAP_DIR/zap.zsh"
fi
plug "zsh-users/zsh-autosuggestions"
plug "zsh-users/zsh-syntax-highlighting"
plug "zap-zsh/sudo"
plug "Aloxaf/fzf-tab"