diff --git a/.bashrc b/.bashrc
index 501cce7bc..5fc248080 100644
--- a/.bashrc
+++ b/.bashrc
@@ -238,3 +238,4 @@ alias \
# starship prompt
eval "$(starship init bash)"
+eval "$(zoxide init bash)"
diff --git a/.config/hypr/hypridle.conf b/.config/hypr/hypridle.conf
index 20fd04c25..5eea973e7 100644
--- a/.config/hypr/hypridle.conf
+++ b/.config/hypr/hypridle.conf
@@ -3,7 +3,7 @@
# ┻ ┻┛ ┗┛┗┛
general {
- lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances.
+ lock_cmd = pidof lock || $HOME/.config/hypr/scripts/lock # avoid starting multiple hyprlock instances.
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.
}
diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf
index 7e99fc745..cdf2a9ba2 100644
--- a/.config/hypr/hyprland.conf
+++ b/.config/hypr/hyprland.conf
@@ -8,7 +8,7 @@ exec-once = waybar
exec-once = dunst --config $HOME/.config/dunst/dunstrc
exec-once = wl-paste --type text --watch cliphist store
exec-once = wl-paste --type image --watch cliphist store
-exec-once = hyprpaper
+exec-once = swww-daemon
exec-once = hypridle
exec-once = /usr/bin/emacs --daemon
diff --git a/.config/hypr/hyprlock.conf b/.config/hypr/hyprlock.conf
deleted file mode 100644
index 9b885347e..000000000
--- a/.config/hypr/hyprlock.conf
+++ /dev/null
@@ -1,73 +0,0 @@
-# _ _ _
-# | |__ _ _ _ __ _ __| | ___ ___| | __
-# | '_ \| | | | '_ \| '__| |/ _ \ / __| |/ /
-# | | | | |_| | |_) | | | | (_) | (__| <
-# |_| |_|\__, | .__/|_| |_|\___/ \___|_|\_\
-# |___/|_|
-
-general {
- grace = 1
-}
-
-background {
- monitor =
- path = $HOME/.config/hypr/wall/lock.png # only png supported for now
- blur_passes = 3 # 0 disables blurring
- blur_size = 3
- noise = 0.0117
- contrast = 0.8916
- brightness = 0.8172
- vibrancy = 0.1696
- vibrancy_darkness = 0.0
-}
-
-input-field {
- monitor =
- size = 300, 50
- outline_thickness = 2
- dots_size = 0.33 # Scale of input-field height, 0.2 - 0.8
- dots_spacing = 0.15 # Scale of dots' absolute size, 0.0 - 1.0
- dots_center = true
- dots_rounding = -1 # -1 default circle, -2 follow input-field rounding
- outer_color = rgb(203, 166, 247)
- inner_color = rgb(30, 30, 46)
- font_color = rgb(205, 214, 244)
- fade_on_empty = false
- fade_timeout = 1000 # Milliseconds before fade_on_empty is triggered.
- placeholder_text = Input password... # Text rendered in the input box when it's empty.
- hide_input = false
- rounding = -1 # -1 means complete rounding (circle/oval)
- check_color = rgb(249, 226, 175)
- fail_color = rgb(243, 139, 168) # if authentication failed, changes outer_color and fail message color
- fail_text = $FAIL ($ATTEMPTS) # can be set to empty
- fail_transition = 300 # transition time in ms between normal outer_color and fail_color
- capslock_color = rgb(166, 227, 161)
- numlock_color = -1
- bothlock_color = -1 # when both locks are active. -1 means don't change outer color (same for above)
- invert_numlock = false # change color if numlock is off
- position = 0, -50
- halign = center
- valign = center
-}
-
-label {
- monitor =
- text = cmd[update:1000] echo "$TIME"
- color = rgb(205, 214, 244)
- font_size = 92
- font_family = Inter Bold
- position = 0, 80
- halign = center
- valign = center
-}
-
-label {
- monitor =
- text = or press Enter for fingerprint auth...
- color = rgb(205, 214, 244)
- font_size = 10
- font_family = Inter
- position = 0, -90
- halign = center
- valign = center
-}
diff --git a/.config/hypr/hyprpaper.conf b/.config/hypr/hyprpaper.conf
deleted file mode 100644
index 06d8dbdda..000000000
--- a/.config/hypr/hyprpaper.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-preload = $HOME/.config/hypr/wall/wall.png
-wallpaper = eDP-1,$HOME/.config/hypr/wall/wall.png
-wallpaper = HDMI-A-1,$HOME/.config/hypr/wall/wall.png
-splash = false
diff --git a/.config/hypr/keybindings.conf b/.config/hypr/keybindings.conf
index 8116750fb..7ba95541b 100644
--- a/.config/hypr/keybindings.conf
+++ b/.config/hypr/keybindings.conf
@@ -85,6 +85,7 @@ binde = $supMod_$conMod_SHIFT, p, exec, hyprpicker -n -a
# run launcher binds
binde = $supMod_SHIFT, d, exec, pkill fuzzel || $RUNNER_EX # launch desktop run launcher
binde = $supMod_SHIFT, i, exec, pkill fuzzel || $HOME/.config/rofi/scripts/rs_wifi # launch wifi configuration utility
+binde = $supMod_SHIFT, w, exec, pkill fuzzel || $HOME/.config/rofi/scripts/rs_wall # launch wallpaper configuration utility
binde = $supMod_SHIFT, e, exec, pkill fuzzel || $HOME/.config/rofi/scripts/rs_emoji # launch emoji picker
binde = $supMod_SHIFT, c, exec, pkill fuzzel || $HOME/.config/rofi/scripts/rs_clip # launch clipboard manager
binde = $supMod_SHIFT, s, exec, pkill fuzzel || $HOME/.config/rofi/scripts/rs_scrot # launch screenshot utility
diff --git a/.config/hypr/scripts/lock b/.config/hypr/scripts/lock
new file mode 100755
index 000000000..976a44550
--- /dev/null
+++ b/.config/hypr/scripts/lock
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+currwall=$(swww query | awk '{print $8}')
+
+swaylock -f -i "$currwall"
diff --git a/.config/hypr/wall/lock.png b/.config/hypr/wall/lock.png
deleted file mode 100644
index 52c9029d8..000000000
Binary files a/.config/hypr/wall/lock.png and /dev/null differ
diff --git a/.config/hypr/wall/wall.png b/.config/hypr/wall/wall.png
deleted file mode 100644
index 52c9029d8..000000000
Binary files a/.config/hypr/wall/wall.png and /dev/null differ
diff --git a/.config/lvim/config.lua b/.config/lvim/config.lua
new file mode 100644
index 000000000..f53b61f69
--- /dev/null
+++ b/.config/lvim/config.lua
@@ -0,0 +1,60 @@
+-- nvim options
+vim.opt.shiftwidth = 4
+vim.opt.tabstop = 4
+vim.opt.relativenumber = true
+vim.cmd('autocmd FileType markdown setlocal nospell')
+vim.opt.wrap = true -- wrap lines
+vim.opt.spell = false
+vim.o.shell = '/usr/bin/fish'
+vim.o.autochdir = true
+vim.cmd('autocmd BufEnter * lcd %:p:h')
+
+-- general
+lvim.use_icons = true
+lvim.log.level = "info"
+
+-- change theme settings
+lvim.colorscheme = "catppuccin-mocha"
+lvim.transparent_window = true
+lvim.builtin.alpha.active = true
+lvim.builtin.alpha.mode = "dashboard"
+lvim.builtin.terminal.active = true
+lvim.builtin.nvimtree.setup.view.side = "left"
+lvim.builtin.nvimtree.setup.renderer.icons.show.git = false
+lvim.builtin.lualine.style = "default"
+
+lvim.builtin.treesitter.ensure_installed = {
+ "bash",
+ "c",
+ "javascript",
+ "json",
+ "lua",
+ "python",
+ "typescript",
+ "tsx",
+ "css",
+ "rust",
+ "java",
+ "yaml",
+ "toml",
+ "sql",
+}
+
+-- additional Plugins
+lvim.plugins = {
+ { "lunarvim/colorschemes" },
+ { "catppuccin/nvim" },
+ { "tpope/vim-dadbod" },
+ { "kristijanhusak/vim-dadbod-ui" },
+ { "kristijanhusak/vim-dadbod-completion", after = "nvim-cmp" },
+ { "SirVer/ultisnips" },
+}
+
+lvim.keys.normal_mode["D"] = ":DBUIToggle"
+
+vim.api.nvim_create_autocmd("FileType", {
+ pattern = { "sql", "mysql", "plsql" },
+ command = ":lua require('cmp').setup.buffer({ sources = {{ name = 'vim-dadbod-completion' }} })",
+})
+
+local cmp = require("cmp")
diff --git a/.config/rofi/scripts/rs_clip b/.config/rofi/scripts/rs_clip
index ddb5fd254..249eccb3e 100755
--- a/.config/rofi/scripts/rs_clip
+++ b/.config/rofi/scripts/rs_clip
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
-# rs-clip - A simple clipboard menu script for rofi/dmenu/wofi
+# rs_clip - A simple clipboard menu script for rofi/dmenu/wofi
# Author: Clay Gomera (Drake)
# Dependencies: {rofi || dmenu || wofi}, cliphist, wl-clipboard (wl-copy)
diff --git a/.config/rofi/scripts/rs_emoji b/.config/rofi/scripts/rs_emoji
index a32edcc84..41ee23d00 100755
--- a/.config/rofi/scripts/rs_emoji
+++ b/.config/rofi/scripts/rs_emoji
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
-# rs-emoji - A simple emoji picker menu script for rofi/dmenu/wofi
+# rs_emoji - A simple emoji picker menu script for rofi/dmenu/wofi
# Author: Clay Gomera (Drake)
# Dependencies: {rofi || dmenu || wofi}, wl-clipboard (wl-copy)
diff --git a/.config/rofi/scripts/rs_power b/.config/rofi/scripts/rs_power
index 7016651bf..0b5ccdf7a 100755
--- a/.config/rofi/scripts/rs_power
+++ b/.config/rofi/scripts/rs_power
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
-# rs-power - A simple power options menu script for rofi/dmenu/wofi
+# rs_power - A simple power options menu script for rofi/dmenu/wofi
# Author: Clay Gomera (Drake)
# Dependencies: {rofi || dmenu || wofi}, power-profiles-daemon (powerprofilesctl), loginctl, libnotify (notify-send)
@@ -31,9 +31,6 @@ currentpwr=$(powerprofilesctl get)
## This variable will store your current session at tty1
currentsession=$(loginctl list-sessions | awk '$5 == "tty1" {print $1}')
-## Modify this variable to set your desired lockscreen program
-lockscreen="hyprlock"
-
########################
# Function Definitions #
########################
@@ -104,7 +101,7 @@ case "$action" in
systemctl suspend
;;
"$option5")
- $lockscreen
+ loginctl lock-session "$currentsession"
;;
"$option6")
## Get current power profile for display
diff --git a/.config/rofi/scripts/rs_scrot b/.config/rofi/scripts/rs_scrot
index cb2cad2d7..dbbd16039 100755
--- a/.config/rofi/scripts/rs_scrot
+++ b/.config/rofi/scripts/rs_scrot
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
-# rs-scrot - A simple screenshot menu script for rofi/dmenu/wofi
+# rs_scrot - A simple screenshot menu script for rofi/dmenu/wofi
# Author: Clay Gomera (Drake)
# Dependencies: {rofi || dmenu || wofi}, grim, slurp, jq, wf-recorder, wl-clipboard (wl-copy), libnotify (notify-send)
@@ -248,8 +248,8 @@ VidStopRecording() {
# Show help information
if [ "$1" == '--help' ] || [ "$1" = '-h' ]; then
- echo "rs-scrot"
- echo "USAGE: rs-scrot [OPTION]"
+ echo "rs_scrot"
+ echo "USAGE: rs_scrot [OPTION]"
echo -e "(no option)\tshow the screenshot menu"
echo -e "-s, --stop\tstop recording"
echo -e "-h, --help\tthis screen"
diff --git a/.config/rofi/scripts/rs_wall b/.config/rofi/scripts/rs_wall
new file mode 100755
index 000000000..ed39222b3
--- /dev/null
+++ b/.config/rofi/scripts/rs_wall
@@ -0,0 +1,58 @@
+#!/usr/bin/env bash
+
+# rs_wall - A simple screenshot menu script for rofi/dmenu/wofi
+# Author: Clay Gomera (Drake)
+# Dependencies: {rofi || dmenu || wofi}, swww
+
+############################
+# Configuration Parameters #
+############################
+walldir="$XDG_PICTURES_DIR/Wallpapers" # wallpapers folder, change it to yours
+
+########################
+# Function Definitions #
+########################
+
+# Check for missing dependencies
+CheckDependencies() {
+ local run_launcher_found=false
+ for launcher in rofi dmenu wofi; do
+ if command -v "$launcher" &> /dev/null; then
+ run_launcher_found=true
+ break
+ fi
+ done
+
+ if [ "$run_launcher_found" = false ]; then
+ echo "Missing dependency: one of rofi, dmenu, or wofi is required."
+ exit 1
+ fi
+
+ local missing_deps=()
+ for dep in swww; do
+ if ! command -v "$dep" &> /dev/null; then
+ missing_deps+=("$dep")
+ fi
+ done
+
+ if [ ${#missing_deps[@]} -ne 0 ]; then
+ echo "Missing dependencies: ${missing_deps[*]}"
+ exit 1
+ fi
+}
+
+####################
+# Main Script Flow #
+####################
+
+# Check for dependencies
+CheckDependencies
+
+cd "$walldir" || exit 1
+wallpaper=$(fd -p "$walldir" | $RUNNER -i -p " Wallpaper Selector")
+if [ -n "$wallpaper" ]; then
+ swww img "$wallpaper"
+else
+ exit 0
+fi
+exit 0
diff --git a/.config/rofi/scripts/rs_wifi b/.config/rofi/scripts/rs_wifi
index e80e84c0d..a37614924 100755
--- a/.config/rofi/scripts/rs_wifi
+++ b/.config/rofi/scripts/rs_wifi
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
-# rs-wifi - A simple WiFi menu script for rofi/dmenu/wofi
+# rs_wifi - A simple WiFi menu script for rofi/dmenu/wofi
# Author: Clay Gomera (Drake)
# Dependencies: {rofi || dmenu || wofi}, NetworkManager, libnotify (notify-send)
diff --git a/.config/starship.toml b/.config/starship.toml
index da6c4f2a8..7cb734f4e 100644
--- a/.config/starship.toml
+++ b/.config/starship.toml
@@ -3,7 +3,9 @@
## / / / / ___/ __ `/ //_/ _ \
## / /_/ / / / /_/ / ,< / __/ Clay Gomera (Drake)
## /_____/_/ \__,_/_/|_|\___/ My custom starship prompt config
-##
+
+# Get editor completions based on the config schema
+"$schema" = 'https://starship.rs/config-schema.json'
add_newline = false
@@ -22,7 +24,7 @@ format = "[$path](bold italic yellow) "
[hostname]
ssh_only = false
disabled = false
-style = "italic #87A752"
+style = "underline italic purple"
[package]
disabled = true