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