From 311db4a0a567fab1ddee976135fcb98319b32f3f Mon Sep 17 00:00:00 2001 From: josuezamudio Date: Thu, 6 Mar 2025 19:34:04 -0800 Subject: [PATCH 01/45] latest --- .bashrc | 21 ++++++------- .config/alacritty/alacritty.toml | 6 ++-- .config/nvim/lazy-lock.json | 35 +++++++++++---------- .config/nvim/lua/plugins/render-makdown.lua | 14 +++++++++ .gitignore | 3 +- 5 files changed, 45 insertions(+), 34 deletions(-) diff --git a/.bashrc b/.bashrc index e09b4d4..7a583d0 100644 --- a/.bashrc +++ b/.bashrc @@ -56,19 +56,11 @@ if [ -n "$force_color_prompt" ]; then fi fi -#if [ "$color_prompt" = yes ]; then -# PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' -#else -# PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' -#fi -parse_git_branch() { - git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/' -} - +source ~/.local/scripts/git-prompt.sh if [ "$color_prompt" = yes ]; then - PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[01;31m\]$(parse_git_branch)\[\033[00m\]\$ ' + PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]$(__git_ps1 " (%s)") \$ ' else - PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w $(parse_git_branch)\$ ' + PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' fi unset color_prompt force_color_prompt @@ -126,7 +118,12 @@ if ! shopt -oq posix; then fi fi +PATH=$PATH:~/.local/bin/ alias vim='nvim' alias ssh='ssh -XC' -alias xfreerdp='xfreerdp +clipboard /dynamic-resolution' +alias xfreerdp='xfreerdp +clipboard /dynamic-resolution ' + +# Set up fzf key bindings and fuzzy completion +eval "$(fzf --bash)" + diff --git a/.config/alacritty/alacritty.toml b/.config/alacritty/alacritty.toml index 2f10a5b..40738bf 100644 --- a/.config/alacritty/alacritty.toml +++ b/.config/alacritty/alacritty.toml @@ -2,12 +2,12 @@ live_config_reload = true [font] normal = { family = "JetBrainsMono NF", style = "Regular" } -size = 12 +size = 9.5 [window] -decorations = 'buttonless' -dynamic_padding = false +dynamic_padding = true opacity = 0.9 +decorations = "None" [colors] draw_bold_text_with_bright_colors = true diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index ad37cfc..ebc14dd 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,26 +1,27 @@ { - "LuaSnip": { "branch": "master", "commit": "8d7aa7a7b7c0875e4878d1d2590924bc1c229305" }, + "LuaSnip": { "branch": "master", "commit": "c9b9a22904c97d0eb69ccb9bab76037838326817" }, "async.vim": { "branch": "master", "commit": "2082d13bb195f3203d41a308b89417426a7deca1" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, - "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "99290b3ec1322070bcfb9e846450a46f6efa50f0" }, "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, - "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, - "friendly-snippets": { "branch": "main", "commit": "de8fce94985873666bd9712ea3e49ee17aadb1ed" }, - "gruvbox.nvim": { "branch": "main", "commit": "49d9c0b150ba70efcd831ec7b3cb8ee740067045" }, + "cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" }, + "friendly-snippets": { "branch": "main", "commit": "efff286dd74c22f731cdec26a70b46e5b203c619" }, + "gruvbox.nvim": { "branch": "main", "commit": "15958f5ee43e144856cd2084ce6c571bfdb44504" }, "harpoon": { "branch": "master", "commit": "1bc17e3e42ea3c46b33c0bbad6a880792692a1b3" }, - "lazy.nvim": { "branch": "main", "commit": "077102c5bfc578693f12377846d427f49bc50076" }, + "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, "lsp-zero.nvim": { "branch": "v2.x", "commit": "9a686513eaaa13d737d0fec8956a18268ead8b29" }, - "lualine.nvim": { "branch": "master", "commit": "b431d228b7bbcdaea818bdc3e25b8cdbe861f056" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "4d0e5b49363cac187326998b96aa6a2884e0e89b" }, - "mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" }, - "mini.nvim": { "branch": "main", "commit": "0a8a1072137d916406507c941698a4bfa9dbbe7a" }, - "nvim-cmp": { "branch": "main", "commit": "29fb4854573355792df9e156cb779f0d31308796" }, - "nvim-lspconfig": { "branch": "master", "commit": "54617a18f4cf46f0c2f6d024fa6feb7515fe036d" }, - "nvim-treesitter": { "branch": "master", "commit": "92d2501d698e0fe855bd222540f9648890fab6c7" }, - "nvim-web-devicons": { "branch": "master", "commit": "19d257cf889f79f4022163c3fbb5e08639077bd8" }, - "plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" }, - "render-markdown.nvim": { "branch": "main", "commit": "fc05fb7c56795f191b6800799a2ec6ea325ba715" }, + "lualine.nvim": { "branch": "master", "commit": "f4f791f67e70d378a754d02da068231d2352e5bc" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" }, + "mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" }, + "mini.nvim": { "branch": "main", "commit": "22a7bcc9e67a86379e95edf00f62ed643f48f5e0" }, + "nvim-cmp": { "branch": "main", "commit": "c27370703e798666486e3064b64d59eaf4bdc6d5" }, + "nvim-lspconfig": { "branch": "master", "commit": "84e0cd5a3c58e88ef706fdf4a1eed59ded1d3ce2" }, + "nvim-treesitter": { "branch": "master", "commit": "794cf2f6309691d4e9d3945ae33943a3d90ddd84" }, + "nvim-web-devicons": { "branch": "master", "commit": "ab4cfee554e501f497bce0856788d43cf2eb93d7" }, + "plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" }, + "render-markdown.nvim": { "branch": "main", "commit": "b56fa1bc7b513f16a1c361b81438f4944b420a32" }, "telescope.nvim": { "branch": "master", "commit": "776b509f80dd49d8205b9b0d94485568236d1192" }, - "vim-arsync": { "branch": "master", "commit": "dd5fd93182aafb67ede2ef465f379610980b52d3" } + "vim-arsync": { "branch": "master", "commit": "dd5fd93182aafb67ede2ef465f379610980b52d3" }, + "vim-tmux-navigator": { "branch": "master", "commit": "791dacfcfc8ccb7f6eb1c853050883b03e5a22fe" } } diff --git a/.config/nvim/lua/plugins/render-makdown.lua b/.config/nvim/lua/plugins/render-makdown.lua index fc80960..6a5a30a 100644 --- a/.config/nvim/lua/plugins/render-makdown.lua +++ b/.config/nvim/lua/plugins/render-makdown.lua @@ -10,6 +10,20 @@ return { config = function() require('render-markdown').setup({ render_modes = true, + heading = { + width = 'block', + min_width = 81, + }, + + indent = { + enabled = true, + skip_heading = true, + }, + + sign = { + enabled = true, + }, + }) end } diff --git a/.gitignore b/.gitignore index 275115e..8bdb1b2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1 @@ -.config/nvim/lazy-lock.json - +./.config/nvim/lazy-lock.json From 7fdd22930caf8823c83c6b81a8bc3f3b994e6740 Mon Sep 17 00:00:00 2001 From: josuezamudio Date: Thu, 6 Mar 2025 20:10:47 -0800 Subject: [PATCH 02/45] add foot and way config --- .config/foot/foot.ini | 237 ++++++++++++++++++++++++++++++++++++++++ .config/sway/config | 244 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 481 insertions(+) create mode 100644 .config/foot/foot.ini create mode 100644 .config/sway/config diff --git a/.config/foot/foot.ini b/.config/foot/foot.ini new file mode 100644 index 0000000..453d33d --- /dev/null +++ b/.config/foot/foot.ini @@ -0,0 +1,237 @@ +# -*- conf -*- + +# shell=$SHELL (if set, otherwise user's default shell from /etc/passwd) +# term=foot (or xterm-256color if built with -Dterminfo=disabled) +term=xterm-256color +# login-shell=no + +# app-id=foot # globally set wayland app-id. Default values are "foot" and "footclient" for desktop and server mode +# title=foot +# locked-title=no + +font=JetBrainsMono NF:size=10 +# font-bold= +# font-italic= +# font-bold-italic= +# font-size-adjustment=0.5 +# line-height= +# letter-spacing=0 +# horizontal-letter-offset=0 +# vertical-letter-offset=0 +# underline-offset= +# underline-thickness= +# box-drawings-uses-font-glyphs=no +# dpi-aware=no + +# initial-window-size-pixels=700x500 # Or, +# initial-window-size-chars= +# initial-window-mode=windowed +# pad=0x0 # optionally append 'center' +# resize-by-cells=yes +# resize-delay-ms=100 + +# bold-text-in-bright=no +# word-delimiters=,│`|:"'()[]{}<> +# selection-target=primary +# workers= +# utmp-helper=/usr/lib/utempter/utempter # When utmp backend is ‘libutempter’ (Linux) +# utmp-helper=/usr/libexec/ulog-helper # When utmp backend is ‘ulog’ (FreeBSD) + +[environment] +# name=value + +[bell] +# urgent=no +# notify=no +# visual=no +# command= +# command-focused=no + +[desktop-notifications] +# command=notify-send --wait --app-name ${app-id} --icon ${app-id} --category ${category} --urgency ${urgency} --expire-time ${expire-time} --hint STRING:image-path:${icon} --hint BOOLEAN:suppress-sound:${muted} --hint STRING:sound-name:${sound-name} --replace-id ${replace-id} ${action-argument} --print-id -- ${title} ${body} +# command-action-argument=--action ${action-name}=${action-label} +# close="" +# inhibit-when-focused=yes + + +[scrollback] +# lines=1000 +# multiplier=3.0 +# indicator-position=relative +# indicator-format="" + +[url] +launch=xdg-open ${url} +# label-letters=sadfjklewcmpgh +# osc8-underline=url-mode +# protocols=http, https, ftp, ftps, file, gemini, gopher +# uri-characters=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+="'()[] + +[cursor] +# style=block +# color= +# blink=no +# blink-rate=500 +# beam-thickness=1.5 +# underline-thickness= + +[mouse] +# hide-when-typing=no +# alternate-scroll-mode=yes + +[touch] +# long-press-delay=400 + +[colors] +# alpha=1.0 +# background=242424 +# foreground=ffffff +# flash=7f7f00 +# flash-alpha=0.5 + +# Normal/regular colors (color palette 0-7) + regular0=242424 # black + regular1=f62b5a # red + regular2=47b413 # green + regular3=e3c401 # yellow + regular4=24acd4 # blue + regular5=f2affd # magenta + regular6=13c299 # cyan + regular7=e6e6e6 # white + +# Bright colors (color palette 8-15) + bright0=616161 # bright black + bright1=ff4d51 # bright red + bright2=35d450 # bright green + bright3=e9e836 # bright yellow + bright4=5dc5f8 # bright blue + bright5=feabf2 # bright magenta + bright6=24dfc4 # bright cyan + bright7=ffffff # bright white + +## dimmed colors (see foot.ini(5) man page) +# dim0= +# ... +# dim7= + +## The remaining 256-color palette +# 16 = <256-color palette #16> +# ... +# 255 = <256-color palette #255> + +## Misc colors +# selection-foreground= +# selection-background= +# jump-labels= # black-on-yellow +# scrollback-indicator= # black-on-bright-blue +# search-box-no-match= # black-on-red +# search-box-match= # black-on-yellow +# urls= + +[csd] +# preferred=server +# size=26 +# font= +# color= +# hide-when-maximized=no +# double-click-to-maximize=yes +# border-width=0 +# border-color= +# button-width=26 +# button-color= +# button-minimize-color= +# button-maximize-color= +# button-close-color= + +[key-bindings] +# scrollback-up-page=Shift+Page_Up +# scrollback-up-half-page=none +# scrollback-up-line=none +# scrollback-down-page=Shift+Page_Down +# scrollback-down-half-page=none +# scrollback-down-line=none +# scrollback-home=none +# scrollback-end=none +# clipboard-copy=Control+Shift+c XF86Copy +# clipboard-paste=Control+Shift+v XF86Paste +# primary-paste=Shift+Insert +# search-start=Control+Shift+r +# font-increase=Control+plus Control+equal Control+KP_Add +# font-decrease=Control+minus Control+KP_Subtract +# font-reset=Control+0 Control+KP_0 +# spawn-terminal=Control+Shift+n +# minimize=none +# maximize=none +# fullscreen=none +# pipe-visible=[sh -c "xurls | fuzzel | xargs -r firefox"] none +# pipe-scrollback=[sh -c "xurls | fuzzel | xargs -r firefox"] none +# pipe-selected=[xargs -r firefox] none +# pipe-command-output=[wl-copy] none # Copy last command's output to the clipboard +# show-urls-launch=Control+Shift+o +# show-urls-copy=none +# show-urls-persistent=none +# prompt-prev=Control+Shift+z +# prompt-next=Control+Shift+x +# unicode-input=Control+Shift+u +# noop=none + +[search-bindings] +# cancel=Control+g Control+c Escape +# commit=Return +# find-prev=Control+r +# find-next=Control+s +# cursor-left=Left Control+b +# cursor-left-word=Control+Left Mod1+b +# cursor-right=Right Control+f +# cursor-right-word=Control+Right Mod1+f +# cursor-home=Home Control+a +# cursor-end=End Control+e +# delete-prev=BackSpace +# delete-prev-word=Mod1+BackSpace Control+BackSpace +# delete-next=Delete +# delete-next-word=Mod1+d Control+Delete +# extend-char=Shift+Right +# extend-to-word-boundary=Control+w Control+Shift+Right +# extend-to-next-whitespace=Control+Shift+w +# extend-line-down=Shift+Down +# extend-backward-char=Shift+Left +# extend-backward-to-word-boundary=Control+Shift+Left +# extend-backward-to-next-whitespace=none +# extend-line-up=Shift+Up +# clipboard-paste=Control+v Control+Shift+v Control+y XF86Paste +# primary-paste=Shift+Insert +# unicode-input=none +# quit=none +# scrollback-up-page=Shift+Page_Up +# scrollback-up-half-page=none +# scrollback-up-line=none +# scrollback-down-page=Shift+Page_Down +# scrollback-down-half-page=none +# scrollback-down-line=none +# scrollback-home=none +# scrollback-end=none + +[url-bindings] +# cancel=Control+g Control+c Control+d Escape +# toggle-url-visible=t + +[text-bindings] +# \x03=Mod4+c # Map Super+c -> Ctrl+c + +[mouse-bindings] +# scrollback-up-mouse=BTN_WHEEL_BACK +# scrollback-down-mouse=BTN_WHEEL_FORWARD +# font-increase=Control+BTN_WHEEL_BACK +# font-decrease=Control+BTN_WHEEL_FORWARD +# selection-override-modifiers=Shift +# primary-paste=BTN_MIDDLE +# select-begin=BTN_LEFT +# select-begin-block=Control+BTN_LEFT +# select-extend=BTN_RIGHT +# select-extend-character-wise=Control+BTN_RIGHT +# select-word=BTN_LEFT-2 +# select-word-whitespace=Control+BTN_LEFT-2 +# select-quote = BTN_LEFT-3 +# select-row=BTN_LEFT-4 + +# vim: ft=dosini diff --git a/.config/sway/config b/.config/sway/config new file mode 100644 index 0000000..509f5d7 --- /dev/null +++ b/.config/sway/config @@ -0,0 +1,244 @@ +# Default config for sway +# +# Copy this to ~/.config/sway/config and edit it to your liking. +# +# Read `man 5 sway` for a complete reference. + +font 'JetBrainsMono NF' 9 + +### Variables +# +# Logo key. Use Mod1 for Alt. +set $mod Mod4 +# Home row direction keys, like vim +set $left h +set $down j +set $up k +set $right l +# Your preferred terminal emulator +set $term foot +# Your preferred application launcher +# Note: pass the final command to swaymsg so that the resulting window can be opened +# on the original workspace that the command was run on. +set $menu dmenu_path | wmenu-run | xargs swaymsg exec -- + +include /etc/sway/config-vars.d/* + +### Output configuration +# +# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/) +output * bg /usr/share/backgrounds/ubuntu-wallpaper-d.png fill +# +# Example configuration: +# +# output HDMI-A-1 resolution 1920x1080 position 1920,0 +# +# You can get the names of your outputs by running: swaymsg -t get_outputs + +output eDP-1 scale 1.8 + +### Idle configuration +# +# Example configuration: +# +exec swayidle -w \ + timeout 300 'swaylock -f -c 000000' \ + timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \ + before-sleep 'swaylock -f -c 000000' +# +# This will lock your screen after 300 seconds of inactivity, then turn off +# your displays after another 300 seconds, and turn your screens back on when +# resumed. It will also lock your screen before your computer goes to sleep. + +### Input configuration +# +# Example configuration: +# +# input "2:14:SynPS/2_Synaptics_TouchPad" { +# dwt enabled +# tap enabled +# natural_scroll enabled +# middle_emulation enabled +# } +# +# You can get the names of your inputs by running: swaymsg -t get_inputs +# Read `man 5 sway-input` for more information about this section. + +### Key bindings +# +# Basics: +# + # Start a terminal + bindsym $mod+Return exec $term + + # Kill focused window + bindsym $mod+Shift+q kill + + # Start your launcher + bindsym $mod+d exec $menu + + # Drag floating windows by holding down $mod and left mouse button. + # Resize them with right mouse button + $mod. + # Despite the name, also works for non-floating windows. + # Change normal to inverse to use left mouse button for resizing and right + # mouse button for dragging. + floating_modifier $mod normal + + # Reload the configuration file + bindsym $mod+Shift+c reload + + # Exit sway (logs you out of your Wayland session) + bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit' +# +# Moving around: +# + # Move your focus around + bindsym $mod+$left focus left + bindsym $mod+$down focus down + bindsym $mod+$up focus up + bindsym $mod+$right focus right + # Or use $mod+[up|down|left|right] + bindsym $mod+Left focus left + bindsym $mod+Down focus down + bindsym $mod+Up focus up + bindsym $mod+Right focus right + + # Move the focused window with the same, but add Shift + bindsym $mod+Shift+$left move left + bindsym $mod+Shift+$down move down + bindsym $mod+Shift+$up move up + bindsym $mod+Shift+$right move right + # Ditto, with arrow keys + bindsym $mod+Shift+Left move left + bindsym $mod+Shift+Down move down + bindsym $mod+Shift+Up move up + bindsym $mod+Shift+Right move right +# +# Workspaces: +# + # Switch to workspace + bindsym $mod+1 workspace number 1 + bindsym $mod+2 workspace number 2 + bindsym $mod+3 workspace number 3 + bindsym $mod+4 workspace number 4 + bindsym $mod+5 workspace number 5 + bindsym $mod+6 workspace number 6 + bindsym $mod+7 workspace number 7 + bindsym $mod+8 workspace number 8 + bindsym $mod+9 workspace number 9 + bindsym $mod+0 workspace number 10 + # Move focused container to workspace + bindsym $mod+Shift+1 move container to workspace number 1 + bindsym $mod+Shift+2 move container to workspace number 2 + bindsym $mod+Shift+3 move container to workspace number 3 + bindsym $mod+Shift+4 move container to workspace number 4 + bindsym $mod+Shift+5 move container to workspace number 5 + bindsym $mod+Shift+6 move container to workspace number 6 + bindsym $mod+Shift+7 move container to workspace number 7 + bindsym $mod+Shift+8 move container to workspace number 8 + bindsym $mod+Shift+9 move container to workspace number 9 + bindsym $mod+Shift+0 move container to workspace number 10 + # Note: workspaces can have any name you want, not just numbers. + # We just use 1-10 as the default. +# +# Layout stuff: +# + # You can "split" the current object of your focus with + # $mod+b or $mod+v, for horizontal and vertical splits + # respectively. + bindsym $mod+b splith + bindsym $mod+v splitv + + # Switch the current container between different layout styles + bindsym $mod+s layout stacking + bindsym $mod+w layout tabbed + bindsym $mod+e layout toggle split + + # Make the current focus fullscreen + bindsym $mod+f fullscreen + + # Toggle the current focus between tiling and floating mode + bindsym $mod+Shift+space floating toggle + + # Swap focus between the tiling area and the floating area + bindsym $mod+space focus mode_toggle + + # Move focus to the parent container + bindsym $mod+a focus parent +# +# Scratchpad: +# + # Sway has a "scratchpad", which is a bag of holding for windows. + # You can send windows there and get them back later. + + # Move the currently focused window to the scratchpad + bindsym $mod+Shift+minus move scratchpad + + # Show the next scratchpad window or hide the focused scratchpad window. + # If there are multiple scratchpad windows, this command cycles through them. + bindsym $mod+minus scratchpad show +# +# Resizing containers: +# +mode "resize" { + # left will shrink the containers width + # right will grow the containers width + # up will shrink the containers height + # down will grow the containers height + bindsym $left resize shrink width 10px + bindsym $down resize grow height 10px + bindsym $up resize shrink height 10px + bindsym $right resize grow width 10px + + # Ditto, with arrow keys + bindsym Left resize shrink width 10px + bindsym Down resize grow height 10px + bindsym Up resize shrink height 10px + bindsym Right resize grow width 10px + + # Return to default mode + bindsym Return mode "default" + bindsym Escape mode "default" +} +bindsym $mod+r mode "resize" + +# +# Status Bar: +# +# Read `man 5 sway-bar` for more information about this section. +bar { + position top + + # When the status_command prints a new line to stdout, swaybar updates. + # The default just shows the current date and time. + status_command i3blocks + + colors { + statusline #ffffff + background #323232 + inactive_workspace #32323200 #32323200 #5c5c5c + } +} + + +bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5% \ + && pkill -RTMIN+10 i3blocks + +bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5% \ + && pkill -RTMIN+10 i3blocks + +bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle \ + && pkill -RTMIN+10 i3blocks + +bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle +bindsym XF86MonBrightnessDown exec brightnessctl set 5%- +bindsym XF86MonBrightnessUp exec brightnessctl set 5%+ +bindsym XF86AudioPlay exec playerctl play-pause +bindsym XF86AudioNext exec playerctl next +bindsym XF86AudioPrev exec playerctl previous +bindsym XF86Search exec bemenu-run + +bindsym $mod+p exec grimshot savecopy anything + +include /etc/sway/config.d/* + From 1c129553ea9410ab266c24f203ebd3edd95473d0 Mon Sep 17 00:00:00 2001 From: josuezamudio Date: Tue, 11 Mar 2025 10:14:22 -0700 Subject: [PATCH 03/45] move to hyper for better screen sharing suppor --- .bashrc | 3 +- .config/foot/foot.ini | 12 +- .config/hypr/hyprland.conf | 274 +++++++++++++++++++++++++++++++++++++ .config/sway/config | 35 +++-- 4 files changed, 309 insertions(+), 15 deletions(-) create mode 100644 .config/hypr/hyprland.conf diff --git a/.bashrc b/.bashrc index 7a583d0..f2c02d7 100644 --- a/.bashrc +++ b/.bashrc @@ -58,7 +58,7 @@ fi source ~/.local/scripts/git-prompt.sh if [ "$color_prompt" = yes ]; then - PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]$(__git_ps1 " (%s)") \$ ' + PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]$(__git_ps1 " (%s)") \n\$ ' else PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' fi @@ -123,6 +123,7 @@ PATH=$PATH:~/.local/bin/ alias vim='nvim' alias ssh='ssh -XC' alias xfreerdp='xfreerdp +clipboard /dynamic-resolution ' +alias discord='discord --enable-features=UseOzonePlatform --ozone-platform=wayland ' # Set up fzf key bindings and fuzzy completion eval "$(fzf --bash)" diff --git a/.config/foot/foot.ini b/.config/foot/foot.ini index 453d33d..f0e741e 100644 --- a/.config/foot/foot.ini +++ b/.config/foot/foot.ini @@ -5,9 +5,9 @@ term=xterm-256color # login-shell=no -# app-id=foot # globally set wayland app-id. Default values are "foot" and "footclient" for desktop and server mode -# title=foot -# locked-title=no +app-id=foot # globally set wayland app-id. Default values are "foot" and "footclient" for desktop and server mode +title=foot +locked-title=no font=JetBrainsMono NF:size=10 # font-bold= @@ -21,7 +21,7 @@ font=JetBrainsMono NF:size=10 # underline-offset= # underline-thickness= # box-drawings-uses-font-glyphs=no -# dpi-aware=no +dpi-aware=no # initial-window-size-pixels=700x500 # Or, # initial-window-size-chars= @@ -31,7 +31,7 @@ font=JetBrainsMono NF:size=10 # resize-delay-ms=100 # bold-text-in-bright=no -# word-delimiters=,│`|:"'()[]{}<> +word-delimiters=,│`|:"'()[]{}<> # selection-target=primary # workers= # utmp-helper=/usr/lib/utempter/utempter # When utmp backend is ‘libutempter’ (Linux) @@ -48,7 +48,7 @@ font=JetBrainsMono NF:size=10 # command-focused=no [desktop-notifications] -# command=notify-send --wait --app-name ${app-id} --icon ${app-id} --category ${category} --urgency ${urgency} --expire-time ${expire-time} --hint STRING:image-path:${icon} --hint BOOLEAN:suppress-sound:${muted} --hint STRING:sound-name:${sound-name} --replace-id ${replace-id} ${action-argument} --print-id -- ${title} ${body} +command=notify-send --wait --app-name ${app-id} --icon ${app-id} --category ${category} --urgency ${urgency} --expire-time ${expire-time} --hint STRING:image-path:${icon} --hint BOOLEAN:suppress-sound:${muted} --hint STRING:sound-name:${sound-name} --replace-id ${replace-id} ${action-argument} --print-id -- ${title} ${body} # command-action-argument=--action ${action-name}=${action-label} # close="" # inhibit-when-focused=yes diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf new file mode 100644 index 0000000..aae3cbd --- /dev/null +++ b/.config/hypr/hyprland.conf @@ -0,0 +1,274 @@ + +# ####################################################################################### +# AUTOGENERATED HYPR CONFIG. +# PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT, +# OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS. +# ####################################################################################### + +autogenerated = 0 # remove this line to remove the warning + +# This is an example Hyprland config file. +# Refer to the wiki for more information. +# https://wiki.hyprland.org/Configuring/Configuring-Hyprland/ + +# Please note not all available settings / options are set here. +# For a full list, see the wiki + +# You can split this configuration into multiple files +# Create your files separately and then link them to this file like this: +# source = ~/.config/hypr/myColors.conf + + +################ +### MONITORS ### +################ + +# See https://wiki.hyprland.org/Configuring/Monitors/ +monitor= eDP-1,preferred,auto,1.8 + + +################### +### MY PROGRAMS ### +################### + +# See https://wiki.hyprland.org/Configuring/Keywords/ + +# Set programs that you use +$terminal = foot +$fileManager = dolphin +$menu = wofi --show drun + + +################# +### AUTOSTART ### +################# + +# Autostart necessary processes (like notifications daemons, status bars, etc.) +# Or execute your favorite apps at launch like this: +exec-once = waybar +# exec-once = $terminal +# exec-once = nm-applet & +# exec-once = waybar & hyprpaper & firefox + + +############################# +### ENVIRONMENT VARIABLES ### +############################# + +# See https://wiki.hyprland.org/Configuring/Environment-variables/ + +env = XCURSOR_SIZE,24 +env = HYPRCURSOR_SIZE,24 + + +##################### +### LOOK AND FEEL ### +##################### + +# Refer to https://wiki.hyprland.org/Configuring/Variables/ + +# https://wiki.hyprland.org/Configuring/Variables/#general +general { + gaps_in = 5 + gaps_out = 20 + + border_size = 2 + + # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors + col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg + col.inactive_border = rgba(595959aa) + + # Set to true enable resizing windows by clicking and dragging on borders and gaps + resize_on_border = false + + # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on + allow_tearing = false + + layout = dwindle +} + +# https://wiki.hyprland.org/Configuring/Variables/#decoration +decoration { + rounding = 10 + + # Change transparency of focused and unfocused windows + active_opacity = 1.0 + inactive_opacity = 1.0 + + drop_shadow = true + shadow_range = 4 + shadow_render_power = 3 + col.shadow = rgba(1a1a1aee) + + # https://wiki.hyprland.org/Configuring/Variables/#blur + blur { + enabled = true + size = 3 + passes = 1 + + vibrancy = 0.1696 + } +} + +# https://wiki.hyprland.org/Configuring/Variables/#animations +animations { + enabled = true + + # 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 +} + +# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more +dwindle { + pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = true # You probably want this +} + +# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more +master { + new_status = master +} + +# https://wiki.hyprland.org/Configuring/Variables/#misc +misc { + force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers + disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :( +} + + +############# +### INPUT ### +############# + +# https://wiki.hyprland.org/Configuring/Variables/#input +input { + kb_layout = us + kb_variant = + kb_model = + kb_options = + kb_rules = + + follow_mouse = 1 + + sensitivity = 0 # -1.0 - 1.0, 0 means no modification. + + touchpad { + natural_scroll = false + } +} + +# https://wiki.hyprland.org/Configuring/Variables/#gestures +gestures { + workspace_swipe = true +} + +# Example per-device config +# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more +device { + name = epic-mouse-v1 + sensitivity = -0.5 +} + + +#################### +### KEYBINDINGSS ### +#################### + +# See https://wiki.hyprland.org/Configuring/Keywords/ +$mainMod = SUPER # Sets "Windows" key as main modifier + +# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more +bind = $mainMod, RETURN, exec, $terminal +bind = $mainMod, E, exec, $fileManager +bind = $mainMod, R, exec, $menu +#bind = $mainMod, P, pseudo, # dwindle +#bind = $mainMod, J, togglesplit, # dwindle +bind = $mainMod SHIFT, SPACE, togglefloating, +bind = $mainMod SHIFT, Q, killactive, +bind = $mainMod SHIFT, M, exit, + +# Move focus with hjkl +bind = $mainMod, h, movefocus, l +bind = $mainMod, l, movefocus, r +bind = $mainMod, k, movefocus, u +bind = $mainMod, j, movefocus, d + +# Move focus with mainMod + arrow keys +bind = $mainMod, left, movefocus, l +bind = $mainMod, right, movefocus, r +bind = $mainMod, up, movefocus, u +bind = $mainMod, down, movefocus, d + +# Moce windows around +bind = $mainMod SHIFT, h, movewindow, l +bind = $mainMod SHIFT, l, movewindow, r +bind = $mainMod SHIFT, k, movewindow, u +bind = $mainMod SHIFT, j, 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 mainMod + SHIFT + [0-9] +bind = $mainMod SHIFT, 1, movetoworkspace, 1 +bind = $mainMod SHIFT, 2, movetoworkspace, 2 +bind = $mainMod SHIFT, 3, movetoworkspace, 3 +bind = $mainMod SHIFT, 4, movetoworkspace, 4 +bind = $mainMod SHIFT, 5, movetoworkspace, 5 +bind = $mainMod SHIFT, 6, movetoworkspace, 6 +bind = $mainMod SHIFT, 7, movetoworkspace, 7 +bind = $mainMod SHIFT, 8, movetoworkspace, 8 +bind = $mainMod SHIFT, 9, movetoworkspace, 9 +bind = $mainMod SHIFT, 0, movetoworkspace, 10 + +bindel = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ +bindel = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- +bindl = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle +# Requires playerctl +bindl = , XF86AudioPlay, exec, playerctl play-pause +bindl = , XF86AudioPrev, exec, playerctl previous +bindl = , XF86AudioNext, exec, playerctl next + +# Example special workspace (scratchpad) +bind = $mainMod, S, togglespecialworkspace, magic +bind = $mainMod SHIFT, S, movetoworkspace, special:magic + +# Scroll through existing workspaces with mainMod + scroll +bind = $mainMod, mouse_down, workspace, e+1 +bind = $mainMod, mouse_up, workspace, e-1 + +# Move/resize windows with mainMod + LMB/RMB and dragging +bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:273, resizewindow + + +############################## +### WINDOWS AND WORKSPACES ### +############################## + +# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more +# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules + +# Example windowrule v1 +# windowrule = float, ^(kitty)$ + +# Example windowrule v2 +# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ + +windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. diff --git a/.config/sway/config b/.config/sway/config index 509f5d7..a41b0a3 100644 --- a/.config/sway/config +++ b/.config/sway/config @@ -16,11 +16,11 @@ set $down j set $up k set $right l # Your preferred terminal emulator -set $term foot +set $term footclient # Your preferred application launcher # Note: pass the final command to swaymsg so that the resulting window can be opened # on the original workspace that the command was run on. -set $menu dmenu_path | wmenu-run | xargs swaymsg exec -- +set $menu wofi -S drun -Ii include /etc/sway/config-vars.d/* @@ -35,7 +35,8 @@ output * bg /usr/share/backgrounds/ubuntu-wallpaper-d.png fill # # You can get the names of your outputs by running: swaymsg -t get_outputs -output eDP-1 scale 1.8 +output eDP-1 scale 1.8 +output DP-6 scale 1.8 ### Idle configuration # @@ -185,10 +186,10 @@ mode "resize" { # right will grow the containers width # up will shrink the containers height # down will grow the containers height - bindsym $left resize shrink width 10px + bindsym $right resize shrink width 10px bindsym $down resize grow height 10px bindsym $up resize shrink height 10px - bindsym $right resize grow width 10px + bindsym $left resize grow width 10px # Ditto, with arrow keys bindsym Left resize shrink width 10px @@ -200,6 +201,7 @@ mode "resize" { bindsym Return mode "default" bindsym Escape mode "default" } + bindsym $mod+r mode "resize" # @@ -219,13 +221,22 @@ bar { inactive_workspace #32323200 #32323200 #5c5c5c } } +# Generated windows. +for_window [title="(?:Open|Save) (?:File|Folder|As)"] floating enable; +for_window [title="(?:Open|Save) (?:File|Folder|As)"] resize set 800 600 +for_window [window_role="pop-up"] floating enable +for_window [window_role="bubble"] floating enable +for_window [window_role="task_dialog"] floating enable +for_window [window_role="Preferences"] floating enable +for_window [window_type="dialog"] floating enable +for_window [window_type="menu"] floating enable bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5% \ - && pkill -RTMIN+10 i3blocks + && pkill -RTMIN+10 i3blocks bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5% \ - && pkill -RTMIN+10 i3blocks + && pkill -RTMIN+10 i3blocks bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle \ && pkill -RTMIN+10 i3blocks @@ -239,6 +250,14 @@ bindsym XF86AudioPrev exec playerctl previous bindsym XF86Search exec bemenu-run bindsym $mod+p exec grimshot savecopy anything - + +bindgesture swipe:right workspace prev +bindgesture swipe:left workspace next + +exec nextcloud-desktop-client.nextcloud +exec foot --server +exec mako + include /etc/sway/config.d/* + From 81d65761fd1e6bbf19846745e271c86ee947a192 Mon Sep 17 00:00:00 2001 From: josuezamudio Date: Fri, 21 Mar 2025 13:06:13 -0700 Subject: [PATCH 04/45] latest --- .bashrc | 2 +- .config/foot/foot.ini | 4 +- .config/hypr/hyprland.conf | 54 ++++---- .config/sway/config | 169 +++---------------------- .config/sway/keybinds.conf | 139 ++++++++++++++++++++ .config/sway/scripts/clamshell-mode.sh | 12 ++ 6 files changed, 206 insertions(+), 174 deletions(-) create mode 100644 .config/sway/keybinds.conf create mode 100644 .config/sway/scripts/clamshell-mode.sh diff --git a/.bashrc b/.bashrc index f2c02d7..99cf20b 100644 --- a/.bashrc +++ b/.bashrc @@ -119,11 +119,11 @@ if ! shopt -oq posix; then fi PATH=$PATH:~/.local/bin/ +export WLR_DRM_NO_MODIFIERS=1 alias vim='nvim' alias ssh='ssh -XC' alias xfreerdp='xfreerdp +clipboard /dynamic-resolution ' -alias discord='discord --enable-features=UseOzonePlatform --ozone-platform=wayland ' # Set up fzf key bindings and fuzzy completion eval "$(fzf --bash)" diff --git a/.config/foot/foot.ini b/.config/foot/foot.ini index f0e741e..c6c5a24 100644 --- a/.config/foot/foot.ini +++ b/.config/foot/foot.ini @@ -21,7 +21,7 @@ font=JetBrainsMono NF:size=10 # underline-offset= # underline-thickness= # box-drawings-uses-font-glyphs=no -dpi-aware=no +#dpi-aware=no # initial-window-size-pixels=700x500 # Or, # initial-window-size-chars= @@ -31,7 +31,7 @@ dpi-aware=no # resize-delay-ms=100 # bold-text-in-bright=no -word-delimiters=,│`|:"'()[]{}<> +#word-delimiters=,│`|:"'()[]{}<> # selection-target=primary # workers= # utmp-helper=/usr/lib/utempter/utempter # When utmp backend is ‘libutempter’ (Linux) diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index aae3cbd..dc611fb 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -24,7 +24,8 @@ autogenerated = 0 # remove this line to remove the warning ################ # See https://wiki.hyprland.org/Configuring/Monitors/ -monitor= eDP-1,preferred,auto,1.8 +monitor=DP-6,preferred,0x0,auto +monitor=eDP-1,preferred,0x2160,1.8 ################### @@ -34,7 +35,7 @@ monitor= eDP-1,preferred,auto,1.8 # See https://wiki.hyprland.org/Configuring/Keywords/ # Set programs that you use -$terminal = foot +$terminal = footclient $fileManager = dolphin $menu = wofi --show drun @@ -46,6 +47,8 @@ $menu = wofi --show drun # Autostart necessary processes (like notifications daemons, status bars, etc.) # Or execute your favorite apps at launch like this: exec-once = waybar +exec-once = foot --server +exec-once = nextcloud-desktop-client.nextcoud # exec-once = $terminal # exec-once = nm-applet & # exec-once = waybar & hyprpaper & firefox @@ -69,17 +72,17 @@ env = HYPRCURSOR_SIZE,24 # https://wiki.hyprland.org/Configuring/Variables/#general general { - gaps_in = 5 - gaps_out = 20 + gaps_in = 2 + gaps_out = 2 - border_size = 2 + border_size = 1 # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg col.inactive_border = rgba(595959aa) # Set to true enable resizing windows by clicking and dragging on borders and gaps - resize_on_border = false + resize_on_border = true # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on allow_tearing = false @@ -187,10 +190,11 @@ $mainMod = SUPER # Sets "Windows" key as main modifier # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more bind = $mainMod, RETURN, exec, $terminal -bind = $mainMod, E, exec, $fileManager bind = $mainMod, R, exec, $menu -#bind = $mainMod, P, pseudo, # dwindle +bind = $mainMod, E, exec, $fileManager + #bind = $mainMod, J, togglesplit, # dwindle +bind = $mainMod, W, togglegroup, bind = $mainMod SHIFT, SPACE, togglefloating, bind = $mainMod SHIFT, Q, killactive, bind = $mainMod SHIFT, M, exit, @@ -201,17 +205,23 @@ bind = $mainMod, l, movefocus, r bind = $mainMod, k, movefocus, u bind = $mainMod, j, movefocus, d +# Move focus with hjkl +bind = $mainMod SHIFT, h, movewindoworgroup, l +bind = $mainMod SHIFT, l, movewindoworgroup, r +bind = $mainMod SHIFT, k, movewindoworgroup, u +bind = $mainMod SHIFT, j, movewindoworgroup, d + +# move inside of grouped windows +bind = $mainMod, n, changegroupactive, f +bind = $mainMod, p, changegroupactive, b + + # Move focus with mainMod + arrow keys bind = $mainMod, left, movefocus, l bind = $mainMod, right, movefocus, r bind = $mainMod, up, movefocus, u bind = $mainMod, down, movefocus, d -# Moce windows around -bind = $mainMod SHIFT, h, movewindow, l -bind = $mainMod SHIFT, l, movewindow, r -bind = $mainMod SHIFT, k, movewindow, u -bind = $mainMod SHIFT, j, movewindow, d # Switch workspaces with mainMod + [0-9] bind = $mainMod, 1, workspace, 1 @@ -237,17 +247,17 @@ bind = $mainMod SHIFT, 8, movetoworkspace, 8 bind = $mainMod SHIFT, 9, movetoworkspace, 9 bind = $mainMod SHIFT, 0, movetoworkspace, 10 -bindel = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ -bindel = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- -bindl = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle -# Requires playerctl -bindl = , XF86AudioPlay, exec, playerctl play-pause -bindl = , XF86AudioPrev, exec, playerctl previous -bindl = , XF86AudioNext, exec, playerctl next +bind = $mainMod, F, fullscreen + +bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ +bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- +bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle +bindel = ,XF86MonBrightnessDown, exec, brightnessctl set 5%- +bindel = ,XF86MonBrightnessUp ,exec ,brightnessctl set 5%+ # Example special workspace (scratchpad) -bind = $mainMod, S, togglespecialworkspace, magic -bind = $mainMod SHIFT, S, movetoworkspace, special:magic +bind = $mainMod, MINUS, togglespecialworkspace, magic +bind = $mainMod SHIFT, MINUS, movetoworkspace, special:magic # Scroll through existing workspaces with mainMod + scroll bind = $mainMod, mouse_down, workspace, e+1 diff --git a/.config/sway/config b/.config/sway/config index a41b0a3..fdb5c02 100644 --- a/.config/sway/config +++ b/.config/sway/config @@ -9,14 +9,15 @@ font 'JetBrainsMono NF' 9 ### Variables # # Logo key. Use Mod1 for Alt. -set $mod Mod4 +#set $mod Mod4 +set $mod Mod1 # Home row direction keys, like vim set $left h set $down j set $up k set $right l # Your preferred terminal emulator -set $term footclient +set $term foot # Your preferred application launcher # Note: pass the final command to swaymsg so that the resulting window can be opened # on the original workspace that the command was run on. @@ -28,6 +29,7 @@ include /etc/sway/config-vars.d/* # # Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/) output * bg /usr/share/backgrounds/ubuntu-wallpaper-d.png fill +hide_edge_borders smart # # Example configuration: # @@ -35,13 +37,16 @@ output * bg /usr/share/backgrounds/ubuntu-wallpaper-d.png fill # # You can get the names of your outputs by running: swaymsg -t get_outputs -output eDP-1 scale 1.8 -output DP-6 scale 1.8 +output * scale 1.8 + +set $laptop eDP-1 +output $laptop mode 2880x1800@60Hz scale 2 +bindswitch --reload --locked lid:on output $laptop disable +bindswitch --reload --locked lid:off output $laptop enable +exec_always ./scripts/clamshell-mode.sh + ### Idle configuration -# -# Example configuration: -# exec swayidle -w \ timeout 300 'swaylock -f -c 000000' \ timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \ @@ -66,145 +71,8 @@ exec swayidle -w \ # Read `man 5 sway-input` for more information about this section. ### Key bindings -# -# Basics: -# - # Start a terminal - bindsym $mod+Return exec $term +include ./keybinds.conf - # Kill focused window - bindsym $mod+Shift+q kill - - # Start your launcher - bindsym $mod+d exec $menu - - # Drag floating windows by holding down $mod and left mouse button. - # Resize them with right mouse button + $mod. - # Despite the name, also works for non-floating windows. - # Change normal to inverse to use left mouse button for resizing and right - # mouse button for dragging. - floating_modifier $mod normal - - # Reload the configuration file - bindsym $mod+Shift+c reload - - # Exit sway (logs you out of your Wayland session) - bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit' -# -# Moving around: -# - # Move your focus around - bindsym $mod+$left focus left - bindsym $mod+$down focus down - bindsym $mod+$up focus up - bindsym $mod+$right focus right - # Or use $mod+[up|down|left|right] - bindsym $mod+Left focus left - bindsym $mod+Down focus down - bindsym $mod+Up focus up - bindsym $mod+Right focus right - - # Move the focused window with the same, but add Shift - bindsym $mod+Shift+$left move left - bindsym $mod+Shift+$down move down - bindsym $mod+Shift+$up move up - bindsym $mod+Shift+$right move right - # Ditto, with arrow keys - bindsym $mod+Shift+Left move left - bindsym $mod+Shift+Down move down - bindsym $mod+Shift+Up move up - bindsym $mod+Shift+Right move right -# -# Workspaces: -# - # Switch to workspace - bindsym $mod+1 workspace number 1 - bindsym $mod+2 workspace number 2 - bindsym $mod+3 workspace number 3 - bindsym $mod+4 workspace number 4 - bindsym $mod+5 workspace number 5 - bindsym $mod+6 workspace number 6 - bindsym $mod+7 workspace number 7 - bindsym $mod+8 workspace number 8 - bindsym $mod+9 workspace number 9 - bindsym $mod+0 workspace number 10 - # Move focused container to workspace - bindsym $mod+Shift+1 move container to workspace number 1 - bindsym $mod+Shift+2 move container to workspace number 2 - bindsym $mod+Shift+3 move container to workspace number 3 - bindsym $mod+Shift+4 move container to workspace number 4 - bindsym $mod+Shift+5 move container to workspace number 5 - bindsym $mod+Shift+6 move container to workspace number 6 - bindsym $mod+Shift+7 move container to workspace number 7 - bindsym $mod+Shift+8 move container to workspace number 8 - bindsym $mod+Shift+9 move container to workspace number 9 - bindsym $mod+Shift+0 move container to workspace number 10 - # Note: workspaces can have any name you want, not just numbers. - # We just use 1-10 as the default. -# -# Layout stuff: -# - # You can "split" the current object of your focus with - # $mod+b or $mod+v, for horizontal and vertical splits - # respectively. - bindsym $mod+b splith - bindsym $mod+v splitv - - # Switch the current container between different layout styles - bindsym $mod+s layout stacking - bindsym $mod+w layout tabbed - bindsym $mod+e layout toggle split - - # Make the current focus fullscreen - bindsym $mod+f fullscreen - - # Toggle the current focus between tiling and floating mode - bindsym $mod+Shift+space floating toggle - - # Swap focus between the tiling area and the floating area - bindsym $mod+space focus mode_toggle - - # Move focus to the parent container - bindsym $mod+a focus parent -# -# Scratchpad: -# - # Sway has a "scratchpad", which is a bag of holding for windows. - # You can send windows there and get them back later. - - # Move the currently focused window to the scratchpad - bindsym $mod+Shift+minus move scratchpad - - # Show the next scratchpad window or hide the focused scratchpad window. - # If there are multiple scratchpad windows, this command cycles through them. - bindsym $mod+minus scratchpad show -# -# Resizing containers: -# -mode "resize" { - # left will shrink the containers width - # right will grow the containers width - # up will shrink the containers height - # down will grow the containers height - bindsym $right resize shrink width 10px - bindsym $down resize grow height 10px - bindsym $up resize shrink height 10px - bindsym $left resize grow width 10px - - # Ditto, with arrow keys - bindsym Left resize shrink width 10px - bindsym Down resize grow height 10px - bindsym Up resize shrink height 10px - bindsym Right resize grow width 10px - - # Return to default mode - bindsym Return mode "default" - bindsym Escape mode "default" -} - -bindsym $mod+r mode "resize" - -# # Status Bar: # # Read `man 5 sway-bar` for more information about this section. @@ -244,9 +112,6 @@ bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle \ bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle bindsym XF86MonBrightnessDown exec brightnessctl set 5%- bindsym XF86MonBrightnessUp exec brightnessctl set 5%+ -bindsym XF86AudioPlay exec playerctl play-pause -bindsym XF86AudioNext exec playerctl next -bindsym XF86AudioPrev exec playerctl previous bindsym XF86Search exec bemenu-run bindsym $mod+p exec grimshot savecopy anything @@ -254,9 +119,15 @@ bindsym $mod+p exec grimshot savecopy anything bindgesture swipe:right workspace prev bindgesture swipe:left workspace next +default_border pixel 2 +default_floating_border pixel 2 +titlebar_padding 2 +titlebar_border_thickness 2 + exec nextcloud-desktop-client.nextcloud -exec foot --server exec mako +exec preload + include /etc/sway/config.d/* diff --git a/.config/sway/keybinds.conf b/.config/sway/keybinds.conf new file mode 100644 index 0000000..543e324 --- /dev/null +++ b/.config/sway/keybinds.conf @@ -0,0 +1,139 @@ +### Key bindings +# +# Basics: +# +# Start a terminal +bindsym $mod+Return exec $term + +# Kill focused window +bindsym $mod+Shift+q kill + +# Start your launcher +bindsym $mod+d exec $menu + +# Drag floating windows by holding down $mod and left mouse button. +# Resize them with right mouse button + $mod. +# Despite the name, also works for non-floating windows. +# Change normal to inverse to use left mouse button for resizing and right +# mouse button for dragging. +floating_modifier $mod normal + +# Reload the configuration file +bindsym $mod+Shift+c reload + +# Exit sway (logs you out of your Wayland session) +bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit' +# +# Moving around: +# +# Move your focus around +bindsym $mod+$left focus left +bindsym $mod+$down focus down +bindsym $mod+$up focus up +bindsym $mod+$right focus right +# Or use $mod+[up|down|left|right] +bindsym $mod+Left focus left +bindsym $mod+Down focus down +bindsym $mod+Up focus up +bindsym $mod+Right focus right + +# Move the focused window with the same, but add Shift +bindsym $mod+Shift+$left move left +bindsym $mod+Shift+$down move down +bindsym $mod+Shift+$up move up +bindsym $mod+Shift+$right move right +# Ditto, with arrow keys +bindsym $mod+Shift+Left move left +bindsym $mod+Shift+Down move down +bindsym $mod+Shift+Up move up +bindsym $mod+Shift+Right move right +# +# Workspaces: +# +# Switch to workspace +bindsym $mod+1 workspace number 1 +bindsym $mod+2 workspace number 2 +bindsym $mod+3 workspace number 3 +bindsym $mod+4 workspace number 4 +bindsym $mod+5 workspace number 5 +bindsym $mod+6 workspace number 6 +bindsym $mod+7 workspace number 7 +bindsym $mod+8 workspace number 8 +bindsym $mod+9 workspace number 9 +bindsym $mod+0 workspace number 10 +# Move focused container to workspace +bindsym $mod+Shift+1 move container to workspace number 1 +bindsym $mod+Shift+2 move container to workspace number 2 +bindsym $mod+Shift+3 move container to workspace number 3 +bindsym $mod+Shift+4 move container to workspace number 4 +bindsym $mod+Shift+5 move container to workspace number 5 +bindsym $mod+Shift+6 move container to workspace number 6 +bindsym $mod+Shift+7 move container to workspace number 7 +bindsym $mod+Shift+8 move container to workspace number 8 +bindsym $mod+Shift+9 move container to workspace number 9 +bindsym $mod+Shift+0 move container to workspace number 10 +# Note: workspaces can have any name you want, not just numbers. +# We just use 1-10 as the default. +# +# Layout stuff: +# +# You can "split" the current object of your focus with +# $mod+b or $mod+v, for horizontal and vertical splits +# respectively. +bindsym $mod+b splith +bindsym $mod+v splitv + +# Switch the current container between different layout styles +bindsym $mod+s layout stacking +bindsym $mod+w layout tabbed +bindsym $mod+e layout toggle split + +# Make the current focus fullscreen +bindsym $mod+f fullscreen + +# Toggle the current focus between tiling and floating mode +bindsym $mod+Shift+space floating toggle + +# Swap focus between the tiling area and the floating area +bindsym $mod+space focus mode_toggle + +# Move focus to the parent container +bindsym $mod+a focus parent +# +# Scratchpad: +# +# Sway has a "scratchpad", which is a bag of holding for windows. +# You can send windows there and get them back later. + +# Move the currently focused window to the scratchpad +bindsym $mod+Shift+minus move scratchpad + +# Show the next scratchpad window or hide the focused scratchpad window. +# If there are multiple scratchpad windows, this command cycles through them. +bindsym $mod+minus scratchpad show +# +# Resizing containers: +# +mode "resize" { + # left will shrink the containers width + # right will grow the containers width + # up will shrink the containers height + # down will grow the containers height + bindsym $right resize shrink width 10px + bindsym $down resize grow height 10px + bindsym $up resize shrink height 10px + bindsym $left resize grow width 10px + + # Ditto, with arrow keys + bindsym Left resize shrink width 10px + bindsym Down resize grow height 10px + bindsym Up resize shrink height 10px + bindsym Right resize grow width 10px + + # Return to default mode + bindsym Return mode "default" + bindsym Escape mode "default" +} + +bindsym $mod+r mode "resize" + diff --git a/.config/sway/scripts/clamshell-mode.sh b/.config/sway/scripts/clamshell-mode.sh new file mode 100644 index 0000000..994d67d --- /dev/null +++ b/.config/sway/scripts/clamshell-mode.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +LAPTOP_OUTPUT="eDP-1" +LID_STATE_FILE="/proc/acpi/button/lid/LID0/state" + +read -r LS < "$LID_STATE_FILE" + +case "$LS" in +*open) swaymsg output "$LAPTOP_OUTPUT" enable ;; +*closed) swaymsg output "$LAPTOP_OUTPUT" disable ;; +*) echo "Could not get lid state" >&2 ; exit 1 ;; +esac From 360781528cd15c82564a703c872c4d9285dcbaed Mon Sep 17 00:00:00 2001 From: Josue Zamudio Date: Wed, 23 Apr 2025 18:36:13 -0700 Subject: [PATCH 05/45] lastes --- .config/foot/foot.ini | 13 +- .config/kitty/kitty.conf | 12 ++ .config/sway/config | 266 +++++++++++++++++++++++++++---------- .config/sway/keybinds.conf | 139 ------------------- 4 files changed, 213 insertions(+), 217 deletions(-) create mode 100644 .config/kitty/kitty.conf delete mode 100644 .config/sway/keybinds.conf diff --git a/.config/foot/foot.ini b/.config/foot/foot.ini index c6c5a24..0d95a7d 100644 --- a/.config/foot/foot.ini +++ b/.config/foot/foot.ini @@ -10,6 +10,7 @@ title=foot locked-title=no font=JetBrainsMono NF:size=10 +#font= :size=10 # font-bold= # font-italic= # font-bold-italic= @@ -21,18 +22,18 @@ font=JetBrainsMono NF:size=10 # underline-offset= # underline-thickness= # box-drawings-uses-font-glyphs=no -#dpi-aware=no +# dpi-aware=no # initial-window-size-pixels=700x500 # Or, # initial-window-size-chars= # initial-window-mode=windowed -# pad=0x0 # optionally append 'center' -# resize-by-cells=yes +pad=5x5 # optionally append 'center' +#resize-by-cells=yes # resize-delay-ms=100 # bold-text-in-bright=no -#word-delimiters=,│`|:"'()[]{}<> -# selection-target=primary +# word-delimiters=,│`|:"'()[]{}<> +selection-target=primary # workers= # utmp-helper=/usr/lib/utempter/utempter # When utmp backend is ‘libutempter’ (Linux) # utmp-helper=/usr/libexec/ulog-helper # When utmp backend is ‘ulog’ (FreeBSD) @@ -83,7 +84,7 @@ launch=xdg-open ${url} # long-press-delay=400 [colors] -# alpha=1.0 +alpha=0.9 # background=242424 # foreground=ffffff # flash=7f7f00 diff --git a/.config/kitty/kitty.conf b/.config/kitty/kitty.conf new file mode 100644 index 0000000..9ab1639 --- /dev/null +++ b/.config/kitty/kitty.conf @@ -0,0 +1,12 @@ +font_family 'JetBrainsMono NF' +font_size 11 + +#text_composition_strategy legacy +modify_font cell_width 95% + +cursor_trail 10 +cursor_trail_start_threshold 0 +shell_integration no-cursor +cursor_trail_decay 0.01 0.15 +cursor_shape block +cursor_blink true diff --git a/.config/sway/config b/.config/sway/config index fdb5c02..8a17472 100644 --- a/.config/sway/config +++ b/.config/sway/config @@ -1,93 +1,195 @@ -# Default config for sway -# -# Copy this to ~/.config/sway/config and edit it to your liking. -# -# Read `man 5 sway` for a complete reference. - -font 'JetBrainsMono NF' 9 +font 'JetBrainsMono NF' 10 ### Variables -# -# Logo key. Use Mod1 for Alt. #set $mod Mod4 set $mod Mod1 -# Home row direction keys, like vim + +set $term kitty +set $menu wofi -S drun -G + set $left h set $down j set $up k set $right l -# Your preferred terminal emulator -set $term foot -# Your preferred application launcher -# Note: pass the final command to swaymsg so that the resulting window can be opened -# on the original workspace that the command was run on. -set $menu wofi -S drun -Ii + +set $laptop eDP-1 include /etc/sway/config-vars.d/* ### Output configuration -# -# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/) -output * bg /usr/share/backgrounds/ubuntu-wallpaper-d.png fill -hide_edge_borders smart -# -# Example configuration: -# -# output HDMI-A-1 resolution 1920x1080 position 1920,0 -# # You can get the names of your outputs by running: swaymsg -t get_outputs - -output * scale 1.8 - -set $laptop eDP-1 -output $laptop mode 2880x1800@60Hz scale 2 +#output * background ~/Downloads/jordan-duca-aOqEXM_zI_4-unsplash.jpg fill +output * scale 1.8 +output $laptop scale 1.9 mode 2880x1800@60Hz bindswitch --reload --locked lid:on output $laptop disable bindswitch --reload --locked lid:off output $laptop enable -exec_always ./scripts/clamshell-mode.sh +exec_always '/home/jozamudi/.config/sway/scripts/clamshell-mode.sh' ### Idle configuration exec swayidle -w \ - timeout 300 'swaylock -f -c 000000' \ - timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \ - before-sleep 'swaylock -f -c 000000' -# -# This will lock your screen after 300 seconds of inactivity, then turn off -# your displays after another 300 seconds, and turn your screens back on when -# resumed. It will also lock your screen before your computer goes to sleep. + timeout 300 'swaylock -f -c 000000' \ + timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \ + before-sleep 'playerctl pause; swaylock -f -c 000000' -### Input configuration -# -# Example configuration: -# -# input "2:14:SynPS/2_Synaptics_TouchPad" { -# dwt enabled -# tap enabled -# natural_scroll enabled -# middle_emulation enabled -# } -# -# You can get the names of your inputs by running: swaymsg -t get_inputs -# Read `man 5 sway-input` for more information about this section. ### Key bindings -include ./keybinds.conf +# +# Basics: +# +# Start a terminal +bindsym $mod+Return exec $term + +# Kill focused window +bindsym $mod+Shift+q kill + +# Start your launcher +bindsym $mod+d exec $menu + +# Drag floating windows by holding down $mod and left mouse button. +# Resize them with right mouse button + $mod. +# Despite the name, also works for non-floating windows. +# Change normal to inverse to use left mouse button for resizing and right +# mouse button for dragging. +floating_modifier $mod normal + +# Reload the configuration file +bindsym $mod+Shift+c reload + +# Exit sway (logs you out of your Wayland session) +bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit' +# +# Moving around: +# +# Move your focus around +bindsym $mod+$left focus left +bindsym $mod+$down focus down +bindsym $mod+$up focus up +bindsym $mod+$right focus right +# Or use $mod+[up|down|left|right] +bindsym $mod+Left focus left +bindsym $mod+Down focus down +bindsym $mod+Up focus up +bindsym $mod+Right focus right + +# Move the focused window with the same, but add Shift +bindsym $mod+Shift+$left move left +bindsym $mod+Shift+$down move down +bindsym $mod+Shift+$up move up +bindsym $mod+Shift+$right move right + +# Ditto, with arrow keys +bindsym $mod+Shift+Left move left +bindsym $mod+Shift+Down move down +bindsym $mod+Shift+Up move up +bindsym $mod+Shift+Right move right +# +# Workspaces: +# +# Switch to workspace +bindsym $mod+1 workspace number 1 +bindsym $mod+2 workspace number 2 +bindsym $mod+3 workspace number 3 +bindsym $mod+4 workspace number 4 +bindsym $mod+5 workspace number 5 +bindsym $mod+6 workspace number 6 +bindsym $mod+7 workspace number 7 +bindsym $mod+8 workspace number 8 +bindsym $mod+9 workspace number 9 +bindsym $mod+0 workspace number 10 +# Move focused container to workspace +bindsym $mod+Shift+1 move container to workspace number 1 +bindsym $mod+Shift+2 move container to workspace number 2 +bindsym $mod+Shift+3 move container to workspace number 3 +bindsym $mod+Shift+4 move container to workspace number 4 +bindsym $mod+Shift+5 move container to workspace number 5 +bindsym $mod+Shift+6 move container to workspace number 6 +bindsym $mod+Shift+7 move container to workspace number 7 +bindsym $mod+Shift+8 move container to workspace number 8 +bindsym $mod+Shift+9 move container to workspace number 9 +bindsym $mod+Shift+0 move container to workspace number 10 +# Note: workspaces can have any name you want, not just numbers. +# We just use 1-10 as the default. +# +# Layout stuff: +# +# You can "split" the current object of your focus with +# $mod+b or $mod+v, for horizontal and vertical splits +# respectively. +bindsym $mod+b splith +bindsym $mod+v splitv + +# Switch the current container between different layout styles +bindsym $mod+s layout stacking +bindsym $mod+w layout tabbed +bindsym $mod+e layout toggle split + +# Make the current focus fullscreen +bindsym $mod+f fullscreen + +# Toggle the current focus between tiling and floating mode +bindsym $mod+Shift+space floating toggle + +# Swap focus between the tiling area and the floating area +bindsym $mod+space focus mode_toggle + +# Move focus to the parent container +bindsym $mod+a focus parent +# +# Scratchpad: +# +# Sway has a "scratchpad", which is a bag of holding for windows. +# You can send windows there and get them back later. + +# Move the currently focused window to the scratchpad +bindsym $mod+Shift+minus move scratchpad + +# Show the next scratchpad window or hide the focused scratchpad window. +# If there are multiple scratchpad windows, this command cycles through them. +bindsym $mod+minus scratchpad show +# +# Resizing containers: +# +mode "resize" { + # left will shrink the containers width + # right will grow the containers width + # up will shrink the containers height + # down will grow the containers height + bindsym $right resize shrink width 10px + bindsym $down resize grow height 10px + bindsym $up resize shrink height 10px + bindsym $left resize grow width 10px + + # Ditto, with arrow keys + bindsym Left resize shrink width 10px + bindsym Down resize grow height 10px + bindsym Up resize shrink height 10px + bindsym Right resize grow width 10px + + # Return to default mode + bindsym Return mode "default" + bindsym Escape mode "default" +} + +bindsym $mod+r mode "resize" +bindsym $mod+Shift+s sticky toggle +bindsym $mod+Shift+o exec 'playerctl pause && swaylock -c 0x0000' # Status Bar: # # Read `man 5 sway-bar` for more information about this section. bar { - position top + position top - # When the status_command prints a new line to stdout, swaybar updates. - # The default just shows the current date and time. - status_command i3blocks + # When the status_command prints a new line to stdout, swaybar updates. + # The default just shows the current date and time. + status_command i3blocks - colors { - statusline #ffffff - background #323232 - inactive_workspace #32323200 #32323200 #5c5c5c - } + colors { + statusline #ffffff + #background #323232 + #inactive_workspace #32323200 #32323200 #5c5c5c + } } # Generated windows. for_window [title="(?:Open|Save) (?:File|Folder|As)"] floating enable; @@ -98,20 +200,21 @@ for_window [window_role="task_dialog"] floating enable for_window [window_role="Preferences"] floating enable for_window [window_type="dialog"] floating enable for_window [window_type="menu"] floating enable +for_window [shell="xwayland"] title_format "[XWayland] %title" bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5% \ - && pkill -RTMIN+10 i3blocks + && pkill -RTMIN+10 i3blocks; bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5% \ - && pkill -RTMIN+10 i3blocks + && pkill -RTMIN+10 i3blocks; bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle \ - && pkill -RTMIN+10 i3blocks + && pkill -RTMIN+10 i3blocks; bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle -bindsym XF86MonBrightnessDown exec brightnessctl set 5%- -bindsym XF86MonBrightnessUp exec brightnessctl set 5%+ +bindsym XF86MonBrightnessDown exec brightnessctl set 1%- +bindsym XF86MonBrightnessUp exec brightnessctl set 1%+ bindsym XF86Search exec bemenu-run bindsym $mod+p exec grimshot savecopy anything @@ -119,16 +222,35 @@ bindsym $mod+p exec grimshot savecopy anything bindgesture swipe:right workspace prev bindgesture swipe:left workspace next +# Auto start .desktop files using dex +exec dex -a +exec powertop --auto-tune +exec swaync + +seat seat0 xcursor_theme Adwaita 25 + +exec dbus-update-activation-environment WAYLAND_DISPLAY \ + DISPLAY XDG_CURRENT_DESKTOP SWAYSOCK I3SOCK XCURSOR_SIZE XCURSOR_THEME + +#ENV +exec export MOZ_ENABLE_WAYLAND=1 +exec export WLR_DRM_NO_MODIFIERS=1 +exec export QT_QPA_PLATFORM="wayland-egl;xcb" +exec export SDL_VIDEODRIVER=wayland +exec export XDG_SESSION_TYPE=wayland +exec wl-paste -t text --watch clipman store --no-persist + + +# Looks default_border pixel 2 default_floating_border pixel 2 -titlebar_padding 2 -titlebar_border_thickness 2 +gaps inner 2 +gaps outer 2 +blur enable +corner_radius 5 -exec nextcloud-desktop-client.nextcloud -exec mako -exec preload +client.focused #e28743 #e28743 #ffffff include /etc/sway/config.d/* - diff --git a/.config/sway/keybinds.conf b/.config/sway/keybinds.conf deleted file mode 100644 index 543e324..0000000 --- a/.config/sway/keybinds.conf +++ /dev/null @@ -1,139 +0,0 @@ -### Key bindings -# -# Basics: -# -# Start a terminal -bindsym $mod+Return exec $term - -# Kill focused window -bindsym $mod+Shift+q kill - -# Start your launcher -bindsym $mod+d exec $menu - -# Drag floating windows by holding down $mod and left mouse button. -# Resize them with right mouse button + $mod. -# Despite the name, also works for non-floating windows. -# Change normal to inverse to use left mouse button for resizing and right -# mouse button for dragging. -floating_modifier $mod normal - -# Reload the configuration file -bindsym $mod+Shift+c reload - -# Exit sway (logs you out of your Wayland session) -bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit' -# -# Moving around: -# -# Move your focus around -bindsym $mod+$left focus left -bindsym $mod+$down focus down -bindsym $mod+$up focus up -bindsym $mod+$right focus right -# Or use $mod+[up|down|left|right] -bindsym $mod+Left focus left -bindsym $mod+Down focus down -bindsym $mod+Up focus up -bindsym $mod+Right focus right - -# Move the focused window with the same, but add Shift -bindsym $mod+Shift+$left move left -bindsym $mod+Shift+$down move down -bindsym $mod+Shift+$up move up -bindsym $mod+Shift+$right move right -# Ditto, with arrow keys -bindsym $mod+Shift+Left move left -bindsym $mod+Shift+Down move down -bindsym $mod+Shift+Up move up -bindsym $mod+Shift+Right move right -# -# Workspaces: -# -# Switch to workspace -bindsym $mod+1 workspace number 1 -bindsym $mod+2 workspace number 2 -bindsym $mod+3 workspace number 3 -bindsym $mod+4 workspace number 4 -bindsym $mod+5 workspace number 5 -bindsym $mod+6 workspace number 6 -bindsym $mod+7 workspace number 7 -bindsym $mod+8 workspace number 8 -bindsym $mod+9 workspace number 9 -bindsym $mod+0 workspace number 10 -# Move focused container to workspace -bindsym $mod+Shift+1 move container to workspace number 1 -bindsym $mod+Shift+2 move container to workspace number 2 -bindsym $mod+Shift+3 move container to workspace number 3 -bindsym $mod+Shift+4 move container to workspace number 4 -bindsym $mod+Shift+5 move container to workspace number 5 -bindsym $mod+Shift+6 move container to workspace number 6 -bindsym $mod+Shift+7 move container to workspace number 7 -bindsym $mod+Shift+8 move container to workspace number 8 -bindsym $mod+Shift+9 move container to workspace number 9 -bindsym $mod+Shift+0 move container to workspace number 10 -# Note: workspaces can have any name you want, not just numbers. -# We just use 1-10 as the default. -# -# Layout stuff: -# -# You can "split" the current object of your focus with -# $mod+b or $mod+v, for horizontal and vertical splits -# respectively. -bindsym $mod+b splith -bindsym $mod+v splitv - -# Switch the current container between different layout styles -bindsym $mod+s layout stacking -bindsym $mod+w layout tabbed -bindsym $mod+e layout toggle split - -# Make the current focus fullscreen -bindsym $mod+f fullscreen - -# Toggle the current focus between tiling and floating mode -bindsym $mod+Shift+space floating toggle - -# Swap focus between the tiling area and the floating area -bindsym $mod+space focus mode_toggle - -# Move focus to the parent container -bindsym $mod+a focus parent -# -# Scratchpad: -# -# Sway has a "scratchpad", which is a bag of holding for windows. -# You can send windows there and get them back later. - -# Move the currently focused window to the scratchpad -bindsym $mod+Shift+minus move scratchpad - -# Show the next scratchpad window or hide the focused scratchpad window. -# If there are multiple scratchpad windows, this command cycles through them. -bindsym $mod+minus scratchpad show -# -# Resizing containers: -# -mode "resize" { - # left will shrink the containers width - # right will grow the containers width - # up will shrink the containers height - # down will grow the containers height - bindsym $right resize shrink width 10px - bindsym $down resize grow height 10px - bindsym $up resize shrink height 10px - bindsym $left resize grow width 10px - - # Ditto, with arrow keys - bindsym Left resize shrink width 10px - bindsym Down resize grow height 10px - bindsym Up resize shrink height 10px - bindsym Right resize grow width 10px - - # Return to default mode - bindsym Return mode "default" - bindsym Escape mode "default" -} - -bindsym $mod+r mode "resize" - From 7ee39c0028692e563b170bcefa67c84458387984 Mon Sep 17 00:00:00 2001 From: Josue Zamudio Date: Thu, 1 May 2025 18:08:06 -0700 Subject: [PATCH 06/45] latest --- .config/kitty/kitty.conf | 4 +++- .config/sway/config | 33 ++++++++++++++++++--------------- .config/sway/scripts/env.sh | 8 ++++++++ .config/tmux/tmux.conf | 1 - 4 files changed, 29 insertions(+), 17 deletions(-) create mode 100755 .config/sway/scripts/env.sh diff --git a/.config/kitty/kitty.conf b/.config/kitty/kitty.conf index 9ab1639..cc6ff78 100644 --- a/.config/kitty/kitty.conf +++ b/.config/kitty/kitty.conf @@ -1,7 +1,7 @@ font_family 'JetBrainsMono NF' font_size 11 -#text_composition_strategy legacy +text_composition_strategy legacy modify_font cell_width 95% cursor_trail 10 @@ -10,3 +10,5 @@ shell_integration no-cursor cursor_trail_decay 0.01 0.15 cursor_shape block cursor_blink true + +include ~/.cache/wal/colors-kitty.conf diff --git a/.config/sway/config b/.config/sway/config index 8a17472..03f5f05 100644 --- a/.config/sway/config +++ b/.config/sway/config @@ -1,4 +1,4 @@ -font 'JetBrainsMono NF' 10 +font 'JetBrainsMono NF' 9 ### Variables #set $mod Mod4 @@ -19,7 +19,8 @@ include /etc/sway/config-vars.d/* ### Output configuration # You can get the names of your outputs by running: swaymsg -t get_outputs #output * background ~/Downloads/jordan-duca-aOqEXM_zI_4-unsplash.jpg fill -output * scale 1.8 + +output * scale 1.8 bg #000000 solid_color output $laptop scale 1.9 mode 2880x1800@60Hz bindswitch --reload --locked lid:on output $laptop disable bindswitch --reload --locked lid:off output $laptop enable @@ -160,6 +161,11 @@ mode "resize" { bindsym $up resize shrink height 10px bindsym $left resize grow width 10px + bindsym Shift+$right resize shrink width 40px + bindsym Shift+$down resize grow height 40px + bindsym Shift+$up resize shrink height 40px + bindsym Shift+$left resize grow width 40px + # Ditto, with arrow keys bindsym Left resize shrink width 10px bindsym Down resize grow height 10px @@ -176,7 +182,7 @@ bindsym $mod+Shift+s sticky toggle bindsym $mod+Shift+o exec 'playerctl pause && swaylock -c 0x0000' # Status Bar: -# + # Read `man 5 sway-bar` for more information about this section. bar { position top @@ -226,30 +232,27 @@ bindgesture swipe:left workspace next exec dex -a exec powertop --auto-tune exec swaync +exec sway-audio-idle-inhibit +exec wl-paste -t text --watch clipman store --no-persist seat seat0 xcursor_theme Adwaita 25 -exec dbus-update-activation-environment WAYLAND_DISPLAY \ - DISPLAY XDG_CURRENT_DESKTOP SWAYSOCK I3SOCK XCURSOR_SIZE XCURSOR_THEME +#exec dbus-update-activation-environment WAYLAND_DISPLAY \ +# DISPLAY XDG_CURRENT_DESKTOP SWAYSOCK I3SOCK XCURSOR_SIZE XCURSOR_THEME -#ENV -exec export MOZ_ENABLE_WAYLAND=1 -exec export WLR_DRM_NO_MODIFIERS=1 -exec export QT_QPA_PLATFORM="wayland-egl;xcb" -exec export SDL_VIDEODRIVER=wayland -exec export XDG_SESSION_TYPE=wayland -exec wl-paste -t text --watch clipman store --no-persist # Looks -default_border pixel 2 -default_floating_border pixel 2 +#default_border pixel 2 +#default_floating_border pixel 2 gaps inner 2 gaps outer 2 blur enable corner_radius 5 +titlebar_border_thickness 0 +titlebar_padding 0 -client.focused #e28743 #e28743 #ffffff +#client.focused #e28743 #e28743 #ffffff include /etc/sway/config.d/* diff --git a/.config/sway/scripts/env.sh b/.config/sway/scripts/env.sh new file mode 100755 index 0000000..69dc141 --- /dev/null +++ b/.config/sway/scripts/env.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +export MOZ_ENABLE_WAYLAND=1 +export WLR_DRM_NO_MODIFIERS=1 +export QT_QPA_PLATFORM="wayland-egl;xcb" +export SDL_VIDEODRIVER=wayland +export XDG_SESSION_TYPE=wayland +export XDG_CURRENT_DESKTOP=sway diff --git a/.config/tmux/tmux.conf b/.config/tmux/tmux.conf index 5b0f32d..dcf6a43 100644 --- a/.config/tmux/tmux.conf +++ b/.config/tmux/tmux.conf @@ -37,7 +37,6 @@ bind-key -T copy-mode-vi 'C-l' select-pane -R bind-key -T copy-mode-vi 'C-\' select-pane -l - set -g renumber-windows on set-option -g allow-rename off From 5caee464f37bd6c75d83217a8d4a30328a2ad66a Mon Sep 17 00:00:00 2001 From: Josue Zamudio Date: Wed, 21 May 2025 16:22:38 -0700 Subject: [PATCH 07/45] latest --- .config/alacritty/alacritty.toml | 4 +-- .config/foot/foot.ini | 4 ++- .config/sway/config | 50 ++++++-------------------------- .config/tmux/tmux.conf | 1 - 4 files changed, 14 insertions(+), 45 deletions(-) diff --git a/.config/alacritty/alacritty.toml b/.config/alacritty/alacritty.toml index 40738bf..9d5b4de 100644 --- a/.config/alacritty/alacritty.toml +++ b/.config/alacritty/alacritty.toml @@ -1,8 +1,8 @@ -live_config_reload = true +general.live_config_reload = true [font] normal = { family = "JetBrainsMono NF", style = "Regular" } -size = 9.5 +size = 10 [window] dynamic_padding = true diff --git a/.config/foot/foot.ini b/.config/foot/foot.ini index 0d95a7d..b676834 100644 --- a/.config/foot/foot.ini +++ b/.config/foot/foot.ini @@ -4,12 +4,14 @@ # term=foot (or xterm-256color if built with -Dterminfo=disabled) term=xterm-256color # login-shell=no +#include=/usr/share/foot/themes/jetbrains-darcula +#include=/usr/share/foot/themes/paper-color-dark app-id=foot # globally set wayland app-id. Default values are "foot" and "footclient" for desktop and server mode title=foot locked-title=no -font=JetBrainsMono NF:size=10 +font=JetBrainsMono NF:size=10.5 #font= :size=10 # font-bold= # font-italic= diff --git a/.config/sway/config b/.config/sway/config index 03f5f05..3b536e2 100644 --- a/.config/sway/config +++ b/.config/sway/config @@ -4,7 +4,7 @@ font 'JetBrainsMono NF' 9 #set $mod Mod4 set $mod Mod1 -set $term kitty +set $term alacritty set $menu wofi -S drun -G set $left h @@ -20,8 +20,8 @@ include /etc/sway/config-vars.d/* # You can get the names of your outputs by running: swaymsg -t get_outputs #output * background ~/Downloads/jordan-duca-aOqEXM_zI_4-unsplash.jpg fill -output * scale 1.8 bg #000000 solid_color -output $laptop scale 1.9 mode 2880x1800@60Hz +output * scale 1.5 bg #000000 solid_color +output $laptop scale 1.8 mode 2880x1800@60Hz bindswitch --reload --locked lid:on output $laptop disable bindswitch --reload --locked lid:off output $laptop enable exec_always '/home/jozamudi/.config/sway/scripts/clamshell-mode.sh' @@ -182,21 +182,8 @@ bindsym $mod+Shift+s sticky toggle bindsym $mod+Shift+o exec 'playerctl pause && swaylock -c 0x0000' # Status Bar: +bar swaybar_command waybar -# Read `man 5 sway-bar` for more information about this section. -bar { - position top - - # When the status_command prints a new line to stdout, swaybar updates. - # The default just shows the current date and time. - status_command i3blocks - - colors { - statusline #ffffff - #background #323232 - #inactive_workspace #32323200 #32323200 #5c5c5c - } -} # Generated windows. for_window [title="(?:Open|Save) (?:File|Folder|As)"] floating enable; for_window [title="(?:Open|Save) (?:File|Folder|As)"] resize set 800 600 @@ -219,40 +206,21 @@ bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle \ && pkill -RTMIN+10 i3blocks; bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle -bindsym XF86MonBrightnessDown exec brightnessctl set 1%- -bindsym XF86MonBrightnessUp exec brightnessctl set 1%+ +bindsym XF86MonBrightnessDown exec brightnessctl set 5%- +bindsym XF86MonBrightnessUp exec brightnessctl set 5%+ bindsym XF86Search exec bemenu-run -bindsym $mod+p exec grimshot savecopy anything +bindsym $mod+p exec slurp | grim -g - - | tee ~/Pictures/$(date +%s).png | wl-copy bindgesture swipe:right workspace prev bindgesture swipe:left workspace next # Auto start .desktop files using dex -exec dex -a +#exec dex -a exec powertop --auto-tune exec swaync exec sway-audio-idle-inhibit -exec wl-paste -t text --watch clipman store --no-persist - -seat seat0 xcursor_theme Adwaita 25 - -#exec dbus-update-activation-environment WAYLAND_DISPLAY \ -# DISPLAY XDG_CURRENT_DESKTOP SWAYSOCK I3SOCK XCURSOR_SIZE XCURSOR_THEME - - - -# Looks -#default_border pixel 2 -#default_floating_border pixel 2 -gaps inner 2 -gaps outer 2 -blur enable -corner_radius 5 -titlebar_border_thickness 0 -titlebar_padding 0 - -#client.focused #e28743 #e28743 #ffffff +exec eval "$(ssh-agent -s)" include /etc/sway/config.d/* diff --git a/.config/tmux/tmux.conf b/.config/tmux/tmux.conf index dcf6a43..2b12b14 100644 --- a/.config/tmux/tmux.conf +++ b/.config/tmux/tmux.conf @@ -8,7 +8,6 @@ unbind C-b set -g prefix C-Space bind C-Space send-prefix - # set vi-mode set-window-option -g mode-keys vi # keybindings From 5e635a8ef10de0a8a48bf3cae4b2601efc9c166c Mon Sep 17 00:00:00 2001 From: Josue Zamudio Date: Thu, 22 May 2025 08:04:48 -0700 Subject: [PATCH 08/45] latest --- .config/sway/config | 3 +++ applications/discord.desktop | 10 ++++++++++ 2 files changed, 13 insertions(+) create mode 100644 applications/discord.desktop diff --git a/.config/sway/config b/.config/sway/config index 3b536e2..e76e0de 100644 --- a/.config/sway/config +++ b/.config/sway/config @@ -215,8 +215,11 @@ bindsym $mod+p exec slurp | grim -g - - | tee ~/Pictures/$(date +%s).png | wl-co bindgesture swipe:right workspace prev bindgesture swipe:left workspace next +seat seat0 xcursor_theme Adwaita 25 + # Auto start .desktop files using dex #exec dex -a +exec pipewire exec powertop --auto-tune exec swaync exec sway-audio-idle-inhibit diff --git a/applications/discord.desktop b/applications/discord.desktop new file mode 100644 index 0000000..218bf40 --- /dev/null +++ b/applications/discord.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=Discord +StartupWMClass=discord +Comment=All-in-one voice and text chat for gamers that's free, secure, and works on both your desktop and phone. +GenericName=Internet Messenger +Exec=/usr/lib/discord/Discord --enable-features=UseOzonePlatform --ozone-platform=wayland +Icon=discord +Type=Application +Categories=Network;InstantMessaging; +Path=/usr/bin From e0adb27cb0aa7e44dc12bddc160f3048b4aae680 Mon Sep 17 00:00:00 2001 From: Josue Zamudio Date: Fri, 4 Jul 2025 19:57:35 -0700 Subject: [PATCH 09/45] vim copilot, waybar config --- .config/kitty/kitty.conf | 3 +- .config/nvim/init.lua | 3 +- .config/nvim/lazy-lock.json | 35 +- .config/nvim/lua/plugins/vim-copilot.lua | 6 + .config/sway/config | 216 +----------- .config/sway/config.d/keybinds | 139 ++++++++ .config/sway/config.d/windows | 15 + .config/sway/config.d/workspaces | 27 ++ .config/sway/scripts/clamshell-mode.sh | 2 +- .config/tmux/tmux.conf | 2 + .config/waybar/config.jsonc | 232 +++++++++++++ .config/waybar/style.css | 326 ++++++++++++++++++ applications/Zoom.desktop | 13 + ....nextcloud.desktopclient.nextcloud.desktop | 209 +++++++++++ applications/defaults.list | 2 + applications/discord.desktop | 1 + applications/feh.desktop | 13 + applications/userapp-Firefox-DKWX72.desktop | 8 + scripts/kanshi-save-profile | 16 + scripts/vpn | 1 + 20 files changed, 1051 insertions(+), 218 deletions(-) create mode 100644 .config/nvim/lua/plugins/vim-copilot.lua create mode 100644 .config/sway/config.d/keybinds create mode 100644 .config/sway/config.d/windows create mode 100644 .config/sway/config.d/workspaces mode change 100644 => 100755 .config/sway/scripts/clamshell-mode.sh create mode 100644 .config/waybar/config.jsonc create mode 100644 .config/waybar/style.css create mode 100644 applications/Zoom.desktop create mode 100644 applications/com.nextcloud.desktopclient.nextcloud.desktop create mode 100644 applications/defaults.list create mode 100644 applications/feh.desktop create mode 100644 applications/userapp-Firefox-DKWX72.desktop create mode 100755 scripts/kanshi-save-profile create mode 120000 scripts/vpn diff --git a/.config/kitty/kitty.conf b/.config/kitty/kitty.conf index cc6ff78..d86851e 100644 --- a/.config/kitty/kitty.conf +++ b/.config/kitty/kitty.conf @@ -9,6 +9,5 @@ cursor_trail_start_threshold 0 shell_integration no-cursor cursor_trail_decay 0.01 0.15 cursor_shape block -cursor_blink true -include ~/.cache/wal/colors-kitty.conf +#include ~/.cache/wal/colors-kitty.conf diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 35d6d25..9c88f36 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -19,7 +19,8 @@ vim.cmd('source ~/.config/nvim/settings.vim') -- colorscheme vim.o.termguicolors = true vim.o.background = "dark" -- or "light" for light mode -vim.cmd("colorscheme gruvbox ") +--vim.cmd("colorscheme gruvbox ") +vim.cmd("colorscheme retrobox") -- keymaps vim.keymap.set('n', '/', ':nohlsearch') diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index ebc14dd..6919948 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,27 +1,28 @@ { - "LuaSnip": { "branch": "master", "commit": "c9b9a22904c97d0eb69ccb9bab76037838326817" }, + "LuaSnip": { "branch": "master", "commit": "fb525166ccc30296fb3457441eb979113de46b00" }, "async.vim": { "branch": "master", "commit": "2082d13bb195f3203d41a308b89417426a7deca1" }, - "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, - "cmp-nvim-lsp": { "branch": "main", "commit": "99290b3ec1322070bcfb9e846450a46f6efa50f0" }, + "cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "a8912b88ce488f411177fc8aed358b04dc246d7b" }, "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, - "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, + "cmp-path": { "branch": "main", "commit": "c6635aae33a50d6010bf1aa756ac2398a2d54c32" }, "cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" }, - "friendly-snippets": { "branch": "main", "commit": "efff286dd74c22f731cdec26a70b46e5b203c619" }, - "gruvbox.nvim": { "branch": "main", "commit": "15958f5ee43e144856cd2084ce6c571bfdb44504" }, + "copilot.vim": { "branch": "release", "commit": "3955014c503b0cd7b30bc56c86c56c0736ca0951" }, + "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" }, + "gruvbox.nvim": { "branch": "main", "commit": "00e38a379bab3389e187b3953566d67d494dfddd" }, "harpoon": { "branch": "master", "commit": "1bc17e3e42ea3c46b33c0bbad6a880792692a1b3" }, "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, - "lsp-zero.nvim": { "branch": "v2.x", "commit": "9a686513eaaa13d737d0fec8956a18268ead8b29" }, - "lualine.nvim": { "branch": "master", "commit": "f4f791f67e70d378a754d02da068231d2352e5bc" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" }, - "mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" }, - "mini.nvim": { "branch": "main", "commit": "22a7bcc9e67a86379e95edf00f62ed643f48f5e0" }, - "nvim-cmp": { "branch": "main", "commit": "c27370703e798666486e3064b64d59eaf4bdc6d5" }, - "nvim-lspconfig": { "branch": "master", "commit": "84e0cd5a3c58e88ef706fdf4a1eed59ded1d3ce2" }, - "nvim-treesitter": { "branch": "master", "commit": "794cf2f6309691d4e9d3945ae33943a3d90ddd84" }, - "nvim-web-devicons": { "branch": "master", "commit": "ab4cfee554e501f497bce0856788d43cf2eb93d7" }, + "lsp-zero.nvim": { "branch": "v2.x", "commit": "320d5913bc5a0b0f15537e32777331d2323ab7f8" }, + "lualine.nvim": { "branch": "master", "commit": "a94fc68960665e54408fe37dcf573193c4ce82c9" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "bb30c422329e86fcaa4e4920181f6715d634e516" }, + "mason.nvim": { "branch": "main", "commit": "8024d64e1330b86044fed4c8494ef3dcd483a67c" }, + "mini.nvim": { "branch": "main", "commit": "3f5d06a6f710966cb93baaadc4897eeb6d6210e5" }, + "nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" }, + "nvim-lspconfig": { "branch": "master", "commit": "99d3a0f26bfe402f45257c1398287aef252cbe2d" }, + "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, + "nvim-web-devicons": { "branch": "master", "commit": "1fb58cca9aebbc4fd32b086cb413548ce132c127" }, "plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" }, - "render-markdown.nvim": { "branch": "main", "commit": "b56fa1bc7b513f16a1c361b81438f4944b420a32" }, + "render-markdown.nvim": { "branch": "main", "commit": "76f7ce56ccb913632745714f160faa53164c5574" }, "telescope.nvim": { "branch": "master", "commit": "776b509f80dd49d8205b9b0d94485568236d1192" }, "vim-arsync": { "branch": "master", "commit": "dd5fd93182aafb67ede2ef465f379610980b52d3" }, - "vim-tmux-navigator": { "branch": "master", "commit": "791dacfcfc8ccb7f6eb1c853050883b03e5a22fe" } + "vim-tmux-navigator": { "branch": "master", "commit": "412c474e97468e7934b9c217064025ea7a69e05e" } } diff --git a/.config/nvim/lua/plugins/vim-copilot.lua b/.config/nvim/lua/plugins/vim-copilot.lua new file mode 100644 index 0000000..2e00887 --- /dev/null +++ b/.config/nvim/lua/plugins/vim-copilot.lua @@ -0,0 +1,6 @@ +return { + 'github/copilot.vim', + config = function() + end +} + diff --git a/.config/sway/config b/.config/sway/config index e76e0de..a0c4cbd 100644 --- a/.config/sway/config +++ b/.config/sway/config @@ -1,10 +1,12 @@ font 'JetBrainsMono NF' 9 ### Variables -#set $mod Mod4 -set $mod Mod1 +#set $mod Mod1 +set $mod Mod4 + +set $term kitty -1 +#set $term ghostty -set $term alacritty set $menu wofi -S drun -G set $left h @@ -14,18 +16,16 @@ set $right l set $laptop eDP-1 -include /etc/sway/config-vars.d/* +include ~/.config/sway/config.d/* ### Output configuration # You can get the names of your outputs by running: swaymsg -t get_outputs -#output * background ~/Downloads/jordan-duca-aOqEXM_zI_4-unsplash.jpg fill +# https://gitlab.com/w0lff/shikane for multitple display handling +exec --no-startup-id nohup shikane -c /home/jozamudi/.config/shikane/config.toml -output * scale 1.5 bg #000000 solid_color -output $laptop scale 1.8 mode 2880x1800@60Hz bindswitch --reload --locked lid:on output $laptop disable bindswitch --reload --locked lid:off output $laptop enable -exec_always '/home/jozamudi/.config/sway/scripts/clamshell-mode.sh' - +exec_always --no-startup-id nohup '/home/jozamudi/.config/sway/scripts/clamshell-mode.sh' ### Idle configuration exec swayidle -w \ @@ -34,197 +34,19 @@ exec swayidle -w \ before-sleep 'playerctl pause; swaylock -f -c 000000' -### Key bindings -# -# Basics: -# -# Start a terminal -bindsym $mod+Return exec $term - -# Kill focused window -bindsym $mod+Shift+q kill - -# Start your launcher -bindsym $mod+d exec $menu - -# Drag floating windows by holding down $mod and left mouse button. -# Resize them with right mouse button + $mod. -# Despite the name, also works for non-floating windows. -# Change normal to inverse to use left mouse button for resizing and right -# mouse button for dragging. -floating_modifier $mod normal - -# Reload the configuration file -bindsym $mod+Shift+c reload - -# Exit sway (logs you out of your Wayland session) -bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit' -# -# Moving around: -# -# Move your focus around -bindsym $mod+$left focus left -bindsym $mod+$down focus down -bindsym $mod+$up focus up -bindsym $mod+$right focus right -# Or use $mod+[up|down|left|right] -bindsym $mod+Left focus left -bindsym $mod+Down focus down -bindsym $mod+Up focus up -bindsym $mod+Right focus right - -# Move the focused window with the same, but add Shift -bindsym $mod+Shift+$left move left -bindsym $mod+Shift+$down move down -bindsym $mod+Shift+$up move up -bindsym $mod+Shift+$right move right - -# Ditto, with arrow keys -bindsym $mod+Shift+Left move left -bindsym $mod+Shift+Down move down -bindsym $mod+Shift+Up move up -bindsym $mod+Shift+Right move right -# -# Workspaces: -# -# Switch to workspace -bindsym $mod+1 workspace number 1 -bindsym $mod+2 workspace number 2 -bindsym $mod+3 workspace number 3 -bindsym $mod+4 workspace number 4 -bindsym $mod+5 workspace number 5 -bindsym $mod+6 workspace number 6 -bindsym $mod+7 workspace number 7 -bindsym $mod+8 workspace number 8 -bindsym $mod+9 workspace number 9 -bindsym $mod+0 workspace number 10 -# Move focused container to workspace -bindsym $mod+Shift+1 move container to workspace number 1 -bindsym $mod+Shift+2 move container to workspace number 2 -bindsym $mod+Shift+3 move container to workspace number 3 -bindsym $mod+Shift+4 move container to workspace number 4 -bindsym $mod+Shift+5 move container to workspace number 5 -bindsym $mod+Shift+6 move container to workspace number 6 -bindsym $mod+Shift+7 move container to workspace number 7 -bindsym $mod+Shift+8 move container to workspace number 8 -bindsym $mod+Shift+9 move container to workspace number 9 -bindsym $mod+Shift+0 move container to workspace number 10 -# Note: workspaces can have any name you want, not just numbers. -# We just use 1-10 as the default. -# -# Layout stuff: -# -# You can "split" the current object of your focus with -# $mod+b or $mod+v, for horizontal and vertical splits -# respectively. -bindsym $mod+b splith -bindsym $mod+v splitv - -# Switch the current container between different layout styles -bindsym $mod+s layout stacking -bindsym $mod+w layout tabbed -bindsym $mod+e layout toggle split - -# Make the current focus fullscreen -bindsym $mod+f fullscreen - -# Toggle the current focus between tiling and floating mode -bindsym $mod+Shift+space floating toggle - -# Swap focus between the tiling area and the floating area -bindsym $mod+space focus mode_toggle - -# Move focus to the parent container -bindsym $mod+a focus parent -# -# Scratchpad: -# -# Sway has a "scratchpad", which is a bag of holding for windows. -# You can send windows there and get them back later. - -# Move the currently focused window to the scratchpad -bindsym $mod+Shift+minus move scratchpad - -# Show the next scratchpad window or hide the focused scratchpad window. -# If there are multiple scratchpad windows, this command cycles through them. -bindsym $mod+minus scratchpad show -# -# Resizing containers: -# -mode "resize" { - # left will shrink the containers width - # right will grow the containers width - # up will shrink the containers height - # down will grow the containers height - bindsym $right resize shrink width 10px - bindsym $down resize grow height 10px - bindsym $up resize shrink height 10px - bindsym $left resize grow width 10px - - bindsym Shift+$right resize shrink width 40px - bindsym Shift+$down resize grow height 40px - bindsym Shift+$up resize shrink height 40px - bindsym Shift+$left resize grow width 40px - - # Ditto, with arrow keys - bindsym Left resize shrink width 10px - bindsym Down resize grow height 10px - bindsym Up resize shrink height 10px - bindsym Right resize grow width 10px - - # Return to default mode - bindsym Return mode "default" - bindsym Escape mode "default" -} - -bindsym $mod+r mode "resize" -bindsym $mod+Shift+s sticky toggle -bindsym $mod+Shift+o exec 'playerctl pause && swaylock -c 0x0000' - -# Status Bar: -bar swaybar_command waybar - -# Generated windows. -for_window [title="(?:Open|Save) (?:File|Folder|As)"] floating enable; -for_window [title="(?:Open|Save) (?:File|Folder|As)"] resize set 800 600 -for_window [window_role="pop-up"] floating enable -for_window [window_role="bubble"] floating enable -for_window [window_role="task_dialog"] floating enable -for_window [window_role="Preferences"] floating enable -for_window [window_type="dialog"] floating enable -for_window [window_type="menu"] floating enable -for_window [shell="xwayland"] title_format "[XWayland] %title" - - -bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5% \ - && pkill -RTMIN+10 i3blocks; - -bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5% \ - && pkill -RTMIN+10 i3blocks; - -bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle \ - && pkill -RTMIN+10 i3blocks; - -bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle -bindsym XF86MonBrightnessDown exec brightnessctl set 5%- -bindsym XF86MonBrightnessUp exec brightnessctl set 5%+ -bindsym XF86Search exec bemenu-run - -bindsym $mod+p exec slurp | grim -g - - | tee ~/Pictures/$(date +%s).png | wl-copy - -bindgesture swipe:right workspace prev -bindgesture swipe:left workspace next - seat seat0 xcursor_theme Adwaita 25 # Auto start .desktop files using dex -#exec dex -a -exec pipewire -exec powertop --auto-tune -exec swaync -exec sway-audio-idle-inhibit -exec eval "$(ssh-agent -s)" +exec dex -a +exec nohup pipewire +exec nohup swaync +exec nohup sway-audio-idle-inhibit +exec nohup waybar +exec wl-paste -t text --watch clipman store --no-persist +#better audio +exec easyeffects -w -l Laptop -include /etc/sway/config.d/* +default_border pixel 2 +default_floating_border pixel 2 diff --git a/.config/sway/config.d/keybinds b/.config/sway/config.d/keybinds new file mode 100644 index 0000000..c9b1378 --- /dev/null +++ b/.config/sway/config.d/keybinds @@ -0,0 +1,139 @@ +### Key bindings +# Start a terminal +bindsym $mod+Return exec $term + +# Kill focused window +bindsym $mod+Shift+q kill + +# Start your launcher +bindsym $mod+d exec $menu + +# Drag floating windows by holding down $mod and left mouse button. +# Resize them with right mouse button + $mod. +# Despite the name, also works for non-floating windows. +# Change normal to inverse to use left mouse button for resizing and right +# mouse button for dragging. +floating_modifier $mod normal + +# Reload the configuration file +bindsym $mod+Shift+c reload + +# Exit sway (logs you out of your Wayland session) +bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit' +# +# Moving around: +# +# Move your focus around +bindsym $mod+$left focus left +bindsym $mod+$down focus down +bindsym $mod+$up focus up +bindsym $mod+$right focus right +# Or use $mod+[up|down|left|right] +bindsym $mod+Left focus left +bindsym $mod+Down focus down +bindsym $mod+Up focus up +bindsym $mod+Right focus right + +# Move the focused window with the same, but add Shift +bindsym $mod+Shift+$left move left +bindsym $mod+Shift+$down move down +bindsym $mod+Shift+$up move up +bindsym $mod+Shift+$right move right + +# Ditto, with arrow keys +bindsym $mod+Shift+Left move left +bindsym $mod+Shift+Down move down +bindsym $mod+Shift+Up move up +bindsym $mod+Shift+Right move right + +# Layout stuff: +# +# You can "split" the current object of your focus with +# $mod+b or $mod+v, for horizontal and vertical splits +# respectively. +bindsym $mod+b splith +bindsym $mod+v splitv + +# Switch the current container between different layout styles +bindsym $mod+s layout stacking +bindsym $mod+w layout tabbed +bindsym $mod+e layout toggle split + +# Make the current focus fullscreen +bindsym $mod+f fullscreen + +# Toggle the current focus between tiling and floating mode +bindsym $mod+Shift+space floating toggle + +# Swap focus between the tiling area and the floating area +bindsym $mod+space focus mode_toggle + +# Move focus to the parent container +bindsym $mod+a focus parent +# +# Scratchpad: +# +# Sway has a "scratchpad", which is a bag of holding for windows. +# You can send windows there and get them back later. + +# Move the currently focused window to the scratchpad +bindsym $mod+Shift+minus move scratchpad + +# Show the next scratchpad window or hide the focused scratchpad window. +# If there are multiple scratchpad windows, this command cycles through them. +bindsym $mod+minus scratchpad show +# +# Resizing containers: +# +mode "resize" { + # left will shrink the containers width + # right will grow the containers width + # up will shrink the containers height + # down will grow the containers height + bindsym $right resize shrink width 10px + bindsym $down resize grow height 10px + bindsym $up resize shrink height 10px + bindsym $left resize grow width 10px + + bindsym Shift+$right resize shrink width 40px + bindsym Shift+$down resize grow height 40px + bindsym Shift+$up resize shrink height 40px + bindsym Shift+$left resize grow width 40px + + # Ditto, with arrow keys + bindsym Left resize shrink width 10px + bindsym Down resize grow height 10px + bindsym Up resize shrink height 10px + bindsym Right resize grow width 10px + + # Return to default mode + bindsym Return mode "default" + bindsym Escape mode "default" +} + +bindsym $mod+r mode "resize" +bindsym $mod+Shift+s sticky toggle +#bindsym $mod+Shift+o exec 'playerctl pause && swaylock -c 0x0000' + +# Toggle laptop display +bindsym $mod+m output $laptop toggle + +bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5% \ + && pkill -RTMIN+10 i3blocks; + +bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5% \ + && pkill -RTMIN+10 i3blocks; + +bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle \ + && pkill -RTMIN+10 i3blocks; + +bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle + +bindsym XF86MonBrightnessDown exec brightnessctl set 5%- +bindsym XF86MonBrightnessUp exec brightnessctl set 5%+ + +bindsym $mod+shift+p exec slurp | grim -g - - | tee ~/Pictures/$(date +%s).png | wl-copy + +bindgesture swipe:right workspace prev +bindgesture swipe:left workspace next + diff --git a/.config/sway/config.d/windows b/.config/sway/config.d/windows new file mode 100644 index 0000000..24fa2f8 --- /dev/null +++ b/.config/sway/config.d/windows @@ -0,0 +1,15 @@ +# Generated windows. +for_window [title="(?:Open|Save) (?:File|Folder|As)"] floating enable; +for_window [title="(?:Open|Save) (?:File|Folder|As)"] resize set 800 600 +for_window [window_role="pop-up"] floating enable +for_window [window_role="bubble"] floating enable +for_window [window_role="task_dialog"] floating enable +for_window [window_role="Preferences"] floating enable +for_window [window_type="dialog"] floating enable +for_window [window_type="menu"] floating enable + +for_window [shell="xwayland"] title_format "[XWayland] %title" +for_window [title="LUCID"] floating enable +for_window [title="Pydm|pydm"] floating enable +for_window [title="Form"] floating enable +for_window [title="zoom"] floating enable diff --git a/.config/sway/config.d/workspaces b/.config/sway/config.d/workspaces new file mode 100644 index 0000000..d8466c6 --- /dev/null +++ b/.config/sway/config.d/workspaces @@ -0,0 +1,27 @@ +# Workspaces: +# Note: workspaces can have any name you want, not just numbers. +# We just use 1-10 as the default. + +# Switch to workspace +bindsym $mod+1 workspace number 1 +bindsym $mod+2 workspace number 2 +bindsym $mod+3 workspace number 3 +bindsym $mod+4 workspace number 4 +bindsym $mod+5 workspace number 5 +bindsym $mod+6 workspace number 6 +bindsym $mod+7 workspace number 7 +bindsym $mod+8 workspace number 8 +bindsym $mod+9 workspace number 9 +bindsym $mod+0 workspace number 10 + +# Move focused container to workspace +bindsym $mod+Shift+1 move container to workspace number 1 +bindsym $mod+Shift+2 move container to workspace number 2 +bindsym $mod+Shift+3 move container to workspace number 3 +bindsym $mod+Shift+4 move container to workspace number 4 +bindsym $mod+Shift+5 move container to workspace number 5 +bindsym $mod+Shift+6 move container to workspace number 6 +bindsym $mod+Shift+7 move container to workspace number 7 +bindsym $mod+Shift+8 move container to workspace number 8 +bindsym $mod+Shift+9 move container to workspace number 9 +bindsym $mod+Shift+0 move container to workspace number 10 diff --git a/.config/sway/scripts/clamshell-mode.sh b/.config/sway/scripts/clamshell-mode.sh old mode 100644 new mode 100755 index 994d67d..98de4c3 --- a/.config/sway/scripts/clamshell-mode.sh +++ b/.config/sway/scripts/clamshell-mode.sh @@ -1,7 +1,7 @@ #!/bin/sh LAPTOP_OUTPUT="eDP-1" -LID_STATE_FILE="/proc/acpi/button/lid/LID0/state" +LID_STATE_FILE="/proc/acpi/button/lid/LID/state" read -r LS < "$LID_STATE_FILE" diff --git a/.config/tmux/tmux.conf b/.config/tmux/tmux.conf index 2b12b14..883c0ee 100644 --- a/.config/tmux/tmux.conf +++ b/.config/tmux/tmux.conf @@ -3,6 +3,8 @@ set -g default-terminal "xterm-256color" bind-key r source-file ~/.config/tmux/tmux.conf \; display "Reloaded!" +set-option -g default-shell /bin/zsh + # remap prefix unbind C-b set -g prefix C-Space diff --git a/.config/waybar/config.jsonc b/.config/waybar/config.jsonc new file mode 100644 index 0000000..5c77bee --- /dev/null +++ b/.config/waybar/config.jsonc @@ -0,0 +1,232 @@ +// -*- mode: jsonc -*- +{ + // "layer": "top", // Waybar at top layer + // "position": "bottom", // Waybar position (top|bottom|left|right) + "height": 10, // Waybar height (to be removed for auto height) + // "width": 1280, // Waybar width + "spacing": 0, // Gaps between modules (4px) + // Choose the order of the modules + "modules-left": [ + "sway/workspaces", + "sway/mode", + "sway/scratchpad", + "custom/media" + ], + //"modules-center": [ + //"sway/window" + //], + "modules-right": [ + "mpd", + "custom/audio_idle_inhibitor", + "pulseaudio", + "network", + //"power-profiles-daemon", + //"cpu", + //"memory", + //"temperature", + //"backlight", + //"keyboard-state", + //"sway/language", + "battery", + //"battery#bat2", + "clock" + //"tray" + //"custom/power" + ], + // Modules configuration + // "sway/workspaces": { + // "disable-scroll": true, + // "all-outputs": true, + // "warp-on-scroll": false, + // "format": "{name}: {icon}", + // "format-icons": { + // "1": "", + // "2": "", + // "3": "", + // "4": "", + // "5": "", + // "urgent": "", + // "focused": "", + // "default": "" + // } + // }, + "keyboard-state": { + "numlock": true, + "capslock": true, + "format": "{name} {icon}", + "format-icons": { + "locked": "", + "unlocked": "" + } + }, + "sway/mode": { + "format": "{}" + }, + "sway/scratchpad": { + "format": "{icon} {count}", + "show-empty": false, + "format-icons": ["", ""], + "tooltip": true, + "tooltip-format": "{app}: {title}" + }, + "mpd": { + "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ", + "format-disconnected": "Disconnected ", + "format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", + "unknown-tag": "N/A", + "interval": 5, + "consume-icons": { + "on": " " + }, + "random-icons": { + "off": " ", + "on": " " + }, + "repeat-icons": { + "on": " " + }, + "single-icons": { + "on": "1 " + }, + "state-icons": { + "paused": "", + "playing": "" + }, + "tooltip-format": "MPD (connected)", + "tooltip-format-disconnected": "MPD (disconnected)" + }, + "idle_inhibitor": { + "format": "{icon} ", + "format-icons": { + "activated": "", + "deactivated": "" + } + }, + "tray": { + // "icon-size": 21, + "spacing": 10, + // "icons": { + // "blueman": "bluetooth", + // "TelegramDesktop": "$HOME/.local/share/icons/hicolor/16x16/apps/telegram.png" + // } + }, + "clock": { + // "timezone": "America/New_York", + "tooltip-format": "{:%Y %B}\n{calendar}", + "format": "{:%r}", + "format-alt": "{:%Y-%m-%d}" + }, + "cpu": { + "format": "{usage}% ", + "tooltip": false + }, + "memory": { + "format": "{}% " + }, + "temperature": { + // "thermal-zone": 2, + // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", + "critical-threshold": 80, + // "format-critical": "{temperatureC}°C {icon}", + "format": "{temperatureC}°C {icon}", + "format-icons": ["", "", ""] + }, + "backlight": { + // "device": "acpi_video1", + "format": "{percent}% {icon}", + "format-icons": ["", "", "", "", "", "", "", "", ""] + }, + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{capacity}% {icon}", + "format-full": "{capacity}% {icon}", + "format-charging": "{capacity}% ", + "format-plugged": "{capacity}% ", + "format-alt": "{time} {icon}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": ["", "", "", "", ""] + }, + "battery#bat2": { + "bat": "BAT2" + }, + "power-profiles-daemon": { + "format": "{icon}", + "tooltip-format": "Power profile: {profile}\nDriver: {driver}", + "tooltip": true, + "format-icons": { + "default": "", + "performance": "", + "balanced": "", + "power-saver": "" + } + }, + "network": { + // "interface": "wlp2*", // (Optional) To force the use of this interface + "format-wifi": "{essid} ({signalStrength}%) ", + "format-ethernet": "{ipaddr}/{cidr} ", + "tooltip-format": "{ifname} via {gwaddr} ", + "format-linked": "{ifname} (No IP) ", + "format-disconnected": "Disconnected ⚠", + "format-alt": "{ifname}: {ipaddr}/{cidr}" + }, + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{volume}% {icon} {format_source}", + "format-bluetooth": "{volume}% {icon} {format_source}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": " {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] + }, + "on-click": "pavucontrol" + }, + "custom/media": { + "format": "{icon} {text}", + "return-type": "json", + "max-length": 40, + "format-icons": { + "spotify": "", + "default": "🎜" + }, + "escape": true, + "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder + // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name + }, + "custom/power": { + "format" : "⏻ ", + "tooltip": false, + "menu": "on-click", + "menu-file": "$HOME/.config/waybar/power_menu.xml", // Menu file in resources folder + "menu-actions": { + "shutdown": "shutdown", + "reboot": "reboot", + "suspend": "systemctl suspend", + "hibernate": "systemctl hibernate" + } + }, + "custom/audio_idle_inhibitor": { + "format": "{icon} ", + "exec": "sway-audio-idle-inhibit --dry-print-both-waybar", + "exec-if": "which sway-audio-idle-inhibit", + "return-type": "json", + "format-icons": { + "output": "", + "input": "", + "output-input": " ", + "none": "" + } + } +} diff --git a/.config/waybar/style.css b/.config/waybar/style.css new file mode 100644 index 0000000..0762f6b --- /dev/null +++ b/.config/waybar/style.css @@ -0,0 +1,326 @@ +* { + /* `otf-font-awesome` is required to be installed for icons */ + /*font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif; */ + font-family: "JetBrainsMono NF"; + font-size: 13px; +} + +window#waybar { + background-color: rgba(43, 48, 59, 0.5); + border-bottom: 3px solid rgba(100, 114, 125, 0.5); + color: #ffffff; + transition-property: background-color; + transition-duration: .5s; +} + +window#waybar.hidden { + opacity: 0.2; +} + +window#waybar.empty { + /*background-color: transparent;*/ +} +window#waybar.solo { + /*background-color: #FFFFFF;*/ +} + +window#waybar.termite { + background-color: #3F3F3F; +} + +window#waybar.chromium { + background-color: #000000; + border: none; +} + +button { + /* Use box-shadow instead of border so the text isn't offset */ + box-shadow: inset 0 -3px transparent; + /* Avoid rounded borders under each button name */ + border: none; + border-radius: 0; +} + +/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ +button:hover { + background: inherit; + box-shadow: inset 0 -3px #ffffff; +} + +/* you can set a style on hover for any module like this */ +#pulseaudio:hover { + /*background-color: #a37800;*/ +} + +#workspaces button { + padding: 0 5px; + background-color: transparent; + color: #ffffff; +} + +#workspaces button:hover { + background: rgba(0, 0, 0, 0.2); +} + +#workspaces button.focused { + background-color: #64727D; + box-shadow: inset 0 -3px #ffffff; +} + +#workspaces button.urgent { + background-color: #eb4d4b; +} + +#mode { + background-color: #64727D; + box-shadow: inset 0 -3px #ffffff; +} + +#clock, +#battery, +#cpu, +#memory, +#disk, +#temperature, +#backlight, +#network, +#pulseaudio, +#wireplumber, +#custom-media, +#tray, +#mode, +#idle_inhibitor, +#scratchpad, +#power-profiles-daemon, +#mpd { + padding: 0 10px; + color: #ffffff; +} + +#window, +#workspaces { + margin: 0 4px; +} + +/* If workspaces is the leftmost module, omit left margin */ +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +/* If workspaces is the rightmost module, omit right margin */ +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} + +#clock { + /* background-color: #64727D;*/ +} + +#battery { + /*background-color: #ffffff; + color: #000000;*/ +} + +#battery.charging, #battery.plugged { + /*color: #ffffff; + background-color: #26A65B;*/ +} + +@keyframes blink { + to { + background-color: #ffffff; + color: #000000; + } +} + +/* Using steps() instead of linear as a timing function to limit cpu usage */ +#battery.critical:not(.charging) { + background-color: #f53c3c; + color: #ffffff; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: steps(12); + animation-iteration-count: infinite; + animation-direction: alternate; +} + +#power-profiles-daemon { + padding-right: 15px; +} + +#power-profiles-daemon.performance { + background-color: #f53c3c; + color: #ffffff; +} + +#power-profiles-daemon.balanced { + background-color: #2980b9; + color: #ffffff; +} + +#power-profiles-daemon.power-saver { + background-color: #2ecc71; + color: #000000; +} + +label:focus { + background-color: #000000; +} + +#cpu { + background-color: #2ecc71; + color: #000000; +} + +#memory { + background-color: #9b59b6; +} + +#disk { + background-color: #964B00; +} + +#backlight { + background-color: #90b1b1; +} + +#network { + /*background-color: #2980b9;*/ +} + +#network.disconnected { + /*background-color: #f53c3c;*/ +} + +#pulseaudio { + /*background-color: #f1c40f;*/ + /*color: #000000;*/ +} + +#pulseaudio.muted { + /*background-color: #90b1b1;*/ + /*color: #2a5c45;*/ +} + +#wireplumber { + background-color: #fff0f5; + color: #000000; +} + +#wireplumber.muted { + background-color: #f53c3c; +} + +#custom-media { + background-color: #66cc99; + color: #2a5c45; + min-width: 100px; +} + +#custom-media.custom-spotify { + background-color: #66cc99; +} + +#custom-media.custom-vlc { + background-color: #ffa000; +} + +#temperature { + background-color: #f0932b; +} + +#temperature.critical { + background-color: #eb4d4b; +} + +#tray { + /*background-color: #2980b9;*/ +} + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; + background-color: #eb4d4b; +} + +#idle_inhibitor { + background-color: #2d3436; +} + +#idle_inhibitor.activated { + background-color: #ecf0f1; + color: #2d3436; +} + +#mpd { + background-color: #66cc99; + color: #2a5c45; +} + +#mpd.disconnected { + background-color: #f53c3c; +} + +#mpd.stopped { + background-color: #90b1b1; +} + +#mpd.paused { + background-color: #51a37a; +} + +#language { + background: #00b093; + color: #740864; + padding: 0 5px; + margin: 0 5px; + min-width: 16px; +} + +#keyboard-state { + background: #97e1ad; + color: #000000; + padding: 0 0px; + margin: 0 5px; + min-width: 16px; +} + +#keyboard-state > label { + padding: 0 5px; +} + +#keyboard-state > label.locked { + background: rgba(0, 0, 0, 0.2); +} + +#scratchpad { + background: rgba(0, 0, 0, 0.2); +} + +#scratchpad.empty { + background-color: transparent; +} + +#privacy { + padding: 0; +} + +#privacy-item { + padding: 0 5px; + color: white; +} + +#privacy-item.screenshare { + background-color: #cf5700; +} + +#privacy-item.audio-in { + background-color: #1ca000; +} + +#privacy-item.audio-out { + background-color: #0069d4; +} diff --git a/applications/Zoom.desktop b/applications/Zoom.desktop new file mode 100644 index 0000000..24a0de3 --- /dev/null +++ b/applications/Zoom.desktop @@ -0,0 +1,13 @@ +[Desktop Entry] +Name=Zoom Workplace +Comment=Zoom Video Conference +Exec=/usr/bin/zoom %U +Icon=Zoom +Terminal=false +Type=Application +Encoding=UTF-8 +Categories=Network;Application; +StartupWMClass=zoom +MimeType=x-scheme-handler/zoommtg;x-scheme-handler/zoomus;x-scheme-handler/tel;x-scheme-handler/callto;x-scheme-handler/zoomphonecall;x-scheme-handler/zoomphonesms;x-scheme-handler/zoomcontactcentercall;application/x-zoom +X-KDE-Protocols=zoommtg;zoomus;tel;callto;zoomphonecall;zoomphonesms;zoomcontactcentercall; +Name[en_US]=Zoom Workplace diff --git a/applications/com.nextcloud.desktopclient.nextcloud.desktop b/applications/com.nextcloud.desktopclient.nextcloud.desktop new file mode 100644 index 0000000..8634b7d --- /dev/null +++ b/applications/com.nextcloud.desktopclient.nextcloud.desktop @@ -0,0 +1,209 @@ +[Desktop Entry] +Categories=Utility;X-SuSE-SyncUtility; +Type=Application +Exec=nextcloud %u +Name=Nextcloud Desktop +Comment=Nextcloud desktop synchronization client +GenericName=Folder Sync +Icon=Nextcloud +Keywords=Nextcloud;syncing;file;sharing; +X-GNOME-Autostart-Delay=3 +MimeType=application/vnd.nextcloud;x-scheme-handler/nc; +Actions=Quit; + +# Translations +Comment[oc]=Nextcloud sincronizacion del client +GenericName[oc]=Dorsièr de Sincronizacion +Name[oc]=Nextcloud sincronizacion del client +Icon[oc]=Nextcloud +Comment[ar]=Nextcloud زبون مزامنة مكتبي +GenericName[ar]=مزامنة المجلد +Name[ar]=Nextcloud زبون مزامنة مكتبي +Icon[ar]=Nextcloud +Comment[bg_BG]=Nextcloud клиент за десктоп синхронизация +GenericName[bg_BG]=Синхронизиране на папката +Name[bg_BG]=Nextcloud клиент десктоп синхронизация +Icon[bg_BG]=Nextcloud +Comment[ca]=Client de sincronització d'escriptori Nextcloud +GenericName[ca]=Sincronització de carpetes +Name[ca]=Client de sincronització d'escriptori Nextcloud +Icon[ca]=Nextcloud +Comment[da]=Nextcloud skrivebordsklient til synkronisering +GenericName[da]=Mappesynkronisering +Name[da]=Nextcloud skrivebordsklient til synk +Icon[da]=Nextcloud +Comment[de]=Nextcloud Desktop-Synchronisationsclient +GenericName[de]=Ordner-Synchronisation +Name[de]=Nextcloud Desktop-Synchronisationsclient +Icon[de]=Nextcloud +Comment[ja_JP]=Nextcloud デスクトップ同期クライアント +GenericName[ja_JP]=フォルダー同期 +Name[ja_JP]=Nextcloud デスクトップ同期クライアント +Icon[ja_JP]=Nextcloud +Comment[el]=Nextcloud συγχρονισμός επιφάνειας εργασίας πελάτη +GenericName[el]=Συγχρονισμός φακέλου +Name[el]=Nextcloud συγχρονισμός επιφάνειας εργασίας πελάτη +Icon[el]=Nextcloud +Comment[en_GB]=Nextcloud desktop synchronisation client +GenericName[en_GB]=Folder Sync +Name[en_GB]=Nextcloud desktop sync client +Icon[en_GB]=Nextcloud +Comment[es]=Nextcloud cliente de sincronización de escritorio +GenericName[es]=Sincronización de carpeta +Name[es]=Nextcloud cliente de sincronización de escritorio +Icon[es]=Nextcloud +Comment[de_DE]=Nextcloud Desktop-Synchronisationsclient +GenericName[de_DE]=Ordner-Synchronisation +Name[de_DE]=Nextcloud Desktop-Synchronisationsclient +Icon[de_DE]=Nextcloud +Comment[eu]=Nextcloud mahaigaineko sinkronizazio bezeroa +GenericName[eu]=Karpetaren sinkronizazioa +Name[eu]=Nextcloud mahaigaineko sinkronizazio bezeroa +Icon[eu]=Nextcloud +GenericName[fa]=همسان سازی پوشه‌ها +Name[fa]=nextcloud نسخه‌ی همسان سازی مشتری +Icon[fa]=Nextcloud +Comment[fr]=Synchronisez vos dossiers avec un serveur Nextcloud +GenericName[fr]=Synchronisation de dossier +Name[fr]=Client de synchronisation Nextcloud +Icon[fr]=Nextcloud +Comment[gl]=Nextcloud cliente de sincronización para escritorio +GenericName[gl]=Sincronizar Cartafol +Name[gl]=Nextcloud cliente de sincronización para escritorio +Icon[gl]=Nextcloud +Comment[he]=Nextcloud לקוח סנכון שולחן עבודה +GenericName[he]=סנכון תיקייה +Name[he]=Nextcloud לקוח סנכרון שולחן עבודה +Icon[he]=Nextcloud +Comment[ia]=Nextcloud cliente de synchronisation pro scriptorio +GenericName[ia]=Synchronisar Dossier +Name[ia]=Nextcloud cliente de synchronisation pro scriptorio +Icon[ia]=Nextcloud +Comment[id]=Klien sinkronisasi desktop Nextcloud +GenericName[id]=Folder Sync +Name[id]=Klien sync desktop Nextcloud +Icon[id]=Nextcloud +Comment[is]=Nextcloud skjáborðsforrit samstillingar +GenericName[is]=Samstilling möppu +Name[is]=Nextcloud skjáborðsforrit samstillingar +Icon[is]=Nextcloud +Comment[it]=Client di sincronizzazione del desktop di Nextcloud +GenericName[it]=Sincronizzazione cartella +Name[it]=Client di sincronizzazione del desktop di Nextcloud +Icon[it]=Nextcloud +Comment[ko]=Nextcloud 데스크톱 동기화 클라이언트 +GenericName[ko]=폴더 동기화 +Name[ko]=Nextcloud 데스크톱 동기화 클라이언트 +Icon[ko]=Nextcloud +Comment[hu_HU]=Nextcloud asztali szinkronizációs kliens +GenericName[hu_HU]=Könyvtár szinkronizálás +Name[hu_HU]=Nextcloud asztali szinkr. kliens +Icon[hu_HU]=Nextcloud +Comment[af_ZA]=Nextcloud werkskermsinchroniseerkliënt +GenericName[af_ZA]=Vouersinchronisering +Name[af_ZA]=Nextcloud werkskermsinchroniseerkliënt +Icon[af_ZA]=Nextcloud +Comment[nl]=Nextcloud desktop synchronisatie client +GenericName[nl]=Mappen sync +Name[nl]=Nextcloud desktop sync client +Icon[nl]=Nextcloud +Comment[et_EE]=Nextcloud sünkroonimise klient töölauale +GenericName[et_EE]=Kaustade sünkroonimine +Name[et_EE]=Nextcloud sünkroonimise klient töölauale +Icon[et_EE]=Nextcloud +Comment[pl]=Nextcloud klient synchronizacji dla komputerów stacjonarnych +GenericName[pl]=Folder Synchronizacji +Name[pl]=Nextcloud klient synchronizacji dla komputerów stacjonarnych +Icon[pl]=Nextcloud +Comment[pt_BR]=Nextcloud cliente de sincronização do computador +GenericName[pt_BR]=Sincronização de Pasta +Name[pt_BR]=Nextcloud cliente de sincronização de desktop +Icon[pt_BR]=Nextcloud +Comment[cs_CZ]=Nextcloud počítačový synchronizační klient +GenericName[cs_CZ]=Synchronizace adresáře +Name[cs_CZ]=Nextcloud počítačový synchronizační klient +Icon[cs_CZ]=Nextcloud +Comment[ru]=Настольный клиент синхронизации Nextcloud +GenericName[ru]=Синхронизация каталогов +Name[ru]=Настольный клиент синхронизации Nextcloud +Icon[ru]=Nextcloud +Comment[sl]=Nextcloud ‒ Program za usklajevanje datotek z namizjem +GenericName[sl]=Usklajevanje map +Name[sl]=Nextcloud ‒ Program za usklajevanje datotek z namizjem +Icon[sl]=Nextcloud +Comment[sq]=Klient njëkohësimesh Nextcloud për desktop +GenericName[sq]=Njëkohësim Dosjesh +Name[sq]=Klient njëkohësimesh Nextcloud për desktop +Icon[sq]=Nextcloud +Comment[fi_FI]=Nextcloud työpöytäsynkronointisovellus +GenericName[fi_FI]=Kansion synkronointi +Name[fi_FI]=Nextcloud työpöytäsynkronointisovellus +Icon[fi_FI]=Nextcloud +Comment[sv]=Nextcloud desktop synkroniseringsklient +GenericName[sv]=Mappsynk +Name[sv]=Nextcloud desktop synk-klient +Icon[sv]=Nextcloud +Comment[tr]=Nextcloud masaüstü eşitleme istemcisi +GenericName[tr]=Dosya Eşitleme +Name[tr]=Nextcloud masaüstü eşitleme istemcisi +Icon[tr]=Nextcloud +Comment[uk]=Настільний клієнт синхронізації Nextcloud +GenericName[uk]=Синхронізація теки +Name[uk]=Настільний клієнт синхронізації Nextcloud +Icon[uk]=Nextcloud +Comment[ro]=Nextcloud client de sincronizare pe desktop +GenericName[ro]=Sincronizare director +Name[ro]=Nextcloud client de sincronizare pe desktop +Icon[ro]=Nextcloud +Comment[zh_CN]=Nextcloud 桌面同步客户端 +GenericName[zh_CN]=文件夹同步 +Name[zh_CN]=Nextcloud 桌面同步客户端 +Icon[zh_CN]=Nextcloud +Comment[zh_HK]=桌面版同步客户端 +Comment[zh_TW]=Nextcloud 桌面同步客戶端 +GenericName[zh_TW]=資料夾同步 +Name[zh_TW]=Nextcloud 桌面同步客戶端 +Icon[zh_TW]=Nextcloud +Comment[es_AR]=Cliente de sincronización para escritorio Nextcloud +GenericName[es_AR]=Sincronización de directorio +Name[es_AR]=Cliente de sincronización para escritorio Nextcloud +Icon[es_AR]=Nextcloud +Comment[lt_LT]=Nextcloud darbalaukio sinchronizavimo programa +GenericName[lt_LT]=Katalogo sinchnorizacija +Name[lt_LT]=Nextcloud darbalaukio programa +Icon[lt_LT]=Nextcloud +Comment[th_TH]=Nextcloud ไคลเอนต์ประสานข้อมูลเดสก์ท็อป +GenericName[th_TH]=ประสานข้อมูลโฟลเดอร์ +Name[th_TH]= Nextcloud ไคลเอนต์ประสานข้อมูลเดสก์ท็อป +Icon[th_TH]=Nextcloud +Comment[es_MX]=Cliente de escritorio para sincronziación de Nextcloud +GenericName[es_MX]=Sincronización de Carpetas +Name[es_MX]=Cliente de escritorio para sincronziación de Nextcloud +Icon[es_MX]=Nextcloud +Comment[nb_NO]=Nextcloud skrivebordssynkroniseringsklient +GenericName[nb_NO]=Mappesynkronisering +Name[nb_NO]=Nextcloud skrivebordssynkroniseringsklient +Icon[nb_NO]=Nextcloud +Comment[nn_NO]=Nextcloud klient for å synkronisera frå skrivebord +GenericName[nn_NO]=Mappe synkronisering +Name[nn_NO]=Nextcloud klient for å synkronisera frå skrivebord +Icon[nn_NO]=Nextcloud +Comment[pt_PT]=Nextcloud - Cliente de Sincronização para PC +GenericName[pt_PT]=Sincronizar Pasta +Name[pt_PT]=Nextcloud - Cliente de Sincronização para PC +Icon[pt_PT]=Nextcloud +Icon[km]=Nextcloud +Comment[lb]=Nextcloud Desktop Synchronisatioun Client +GenericName[lb]=Dossier Dync +Name[lb]=Nextcloud Desktop Sync Client +Icon[lb]=Nextcloud +Implements=org.freedesktop.CloudProviders + +[org.freedesktop.CloudProviders] +BusName=com.nextcloudgmbh.Nextcloud +ObjectPath=/com/nextcloudgmbh/Nextcloud + +[Desktop Action Quit] +Exec=nextcloud --quit +Name=Quit Nextcloud +Icon=nextcloud diff --git a/applications/defaults.list b/applications/defaults.list new file mode 100644 index 0000000..d415f51 --- /dev/null +++ b/applications/defaults.list @@ -0,0 +1,2 @@ +inode/directory=thunar.desktop +x-directory/normal=thunar.desktop diff --git a/applications/discord.desktop b/applications/discord.desktop index 218bf40..1ec0ce1 100644 --- a/applications/discord.desktop +++ b/applications/discord.desktop @@ -4,6 +4,7 @@ StartupWMClass=discord Comment=All-in-one voice and text chat for gamers that's free, secure, and works on both your desktop and phone. GenericName=Internet Messenger Exec=/usr/lib/discord/Discord --enable-features=UseOzonePlatform --ozone-platform=wayland +#Exec=/usr/lib/discord/Discord Icon=discord Type=Application Categories=Network;InstantMessaging; diff --git a/applications/feh.desktop b/applications/feh.desktop new file mode 100644 index 0000000..8007630 --- /dev/null +++ b/applications/feh.desktop @@ -0,0 +1,13 @@ +[Desktop Entry] +Name=Feh +Name[en_US]=feh +GenericName=Image viewer +GenericName[en_US]=Image viewer +Comment=Image viewer and cataloguer +Exec=feh --start-at %u +Terminal=false +Type=Application +Icon=feh +Categories=Graphics;2DGraphics;Viewer; +MimeType=image/bmp;image/gif;image/jpeg;image/jpg;image/pjpeg;image/png;image/tiff;image/webp;image/x-bmp;image/x-pcx;image/x-png;image/x-portable-anymap;image/x-portable-bitmap;image/x-portable-graymap;image/x-portable-pixmap;image/x-tga;image/x-xbitmap;image/heic; +NoDisplay=true diff --git a/applications/userapp-Firefox-DKWX72.desktop b/applications/userapp-Firefox-DKWX72.desktop new file mode 100644 index 0000000..a6294ce --- /dev/null +++ b/applications/userapp-Firefox-DKWX72.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +NoDisplay=true +Exec=/usr/lib/firefox/firefox %u +Name=Firefox +Comment=Custom definition for Firefox diff --git a/scripts/kanshi-save-profile b/scripts/kanshi-save-profile new file mode 100755 index 0000000..0f2f7e4 --- /dev/null +++ b/scripts/kanshi-save-profile @@ -0,0 +1,16 @@ +#!/bin/bash + +name=$1 + +if [ -z "$name" ]; then + echo "Usage: $0 " + exit 1 +fi + +echo "Saving profile $name" + +echo -e "\nprofile $name {" >> ~/.config/kanshi/config +swaymsg -t get_outputs | \ + jq '.[] | " output '"'"'\(.make) \(.model) \(.serial)'"'"' mode \(.current_mode.width)x\(.current_mode.height) position \(.rect.x),\(.rect.y)"' -r \ + >> ~/.config/kanshi/config + diff --git a/scripts/vpn b/scripts/vpn new file mode 120000 index 0000000..0dcffb6 --- /dev/null +++ b/scripts/vpn @@ -0,0 +1 @@ +/home/jozamudi/Downloads/mullvad_config_linux_us_lax/vpn.sh \ No newline at end of file From e803a334972596e86d8b3d098bdc8a516cb713af Mon Sep 17 00:00:00 2001 From: Josue Zamudio Date: Thu, 10 Jul 2025 11:42:42 -0700 Subject: [PATCH 10/45] latest --- .config/sway/config.d/env | 0 .config/tmux/tmux.conf | 3 +++ .config/waybar/config.jsonc | 13 +++++++------ 3 files changed, 10 insertions(+), 6 deletions(-) create mode 100644 .config/sway/config.d/env diff --git a/.config/sway/config.d/env b/.config/sway/config.d/env new file mode 100644 index 0000000..e69de29 diff --git a/.config/tmux/tmux.conf b/.config/tmux/tmux.conf index 883c0ee..75c8fca 100644 --- a/.config/tmux/tmux.conf +++ b/.config/tmux/tmux.conf @@ -50,3 +50,6 @@ bind % split-window -h -c "#{pane_current_path}" set-option -g update-environment "SSH_AUTH_SOCK \ SSH_CONNECTION \ DISPLAY " + + +set -g status-style bg=default diff --git a/.config/waybar/config.jsonc b/.config/waybar/config.jsonc index 5c77bee..8d9f70f 100644 --- a/.config/waybar/config.jsonc +++ b/.config/waybar/config.jsonc @@ -2,7 +2,7 @@ { // "layer": "top", // Waybar at top layer // "position": "bottom", // Waybar position (top|bottom|left|right) - "height": 10, // Waybar height (to be removed for auto height) + //"height": 10, // Waybar height (to be removed for auto height) // "width": 1280, // Waybar width "spacing": 0, // Gaps between modules (4px) // Choose the order of the modules @@ -72,7 +72,8 @@ "mpd": { "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ", "format-disconnected": "Disconnected ", - "format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", + //"format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", + "format-stopped": "", "unknown-tag": "N/A", "interval": 5, "consume-icons": { @@ -142,10 +143,10 @@ "warning": 30, "critical": 15 }, - "format": "{capacity}% {icon}", + "format": "{capacity}% {icon}", "format-full": "{capacity}% {icon}", - "format-charging": "{capacity}% ", - "format-plugged": "{capacity}% ", + "format-charging": "{capacity}% C", + "format-plugged": "{capacity}% P", "format-alt": "{time} {icon}", // "format-good": "", // An empty format will hide the module // "format-full": "", @@ -177,7 +178,7 @@ "pulseaudio": { // "scroll-step": 1, // %, can be a float "format": "{volume}% {icon} {format_source}", - "format-bluetooth": "{volume}% {icon} {format_source}", + "format-bluetooth": "{volume}% {icon}  {format_source}", "format-bluetooth-muted": " {icon} {format_source}", "format-muted": " {format_source}", "format-source": "{volume}% ", From 17a739b0d5b9384d96b67869b908c9a11a09eb8f Mon Sep 17 00:00:00 2001 From: Josue Zamudio Date: Fri, 15 Aug 2025 22:30:49 -0700 Subject: [PATCH 11/45] latest --- .config/nvim/lua/plugins/vim-copilot.lua | 5 +++++ .config/sway/config | 16 +++++++++------- .config/sway/config.d/keybinds | 3 +++ .config/sway/config.d/windows | 1 + .config/tmux/tmux.conf | 2 +- .config/waybar/config.jsonc | 18 ++++++++++-------- .config/waybar/style.css | 5 +++-- 7 files changed, 32 insertions(+), 18 deletions(-) diff --git a/.config/nvim/lua/plugins/vim-copilot.lua b/.config/nvim/lua/plugins/vim-copilot.lua index 2e00887..55dc633 100644 --- a/.config/nvim/lua/plugins/vim-copilot.lua +++ b/.config/nvim/lua/plugins/vim-copilot.lua @@ -1,6 +1,11 @@ return { 'github/copilot.vim', config = function() + vim.keymap.set('i', '', 'copilot#Accept("\\")', { + expr = true, + replace_keycodes = false + }) + vim.g.copilot_no_tab_map = true end } diff --git a/.config/sway/config b/.config/sway/config index a0c4cbd..bee91ad 100644 --- a/.config/sway/config +++ b/.config/sway/config @@ -7,7 +7,7 @@ set $mod Mod4 set $term kitty -1 #set $term ghostty -set $menu wofi -S drun -G +set $menu wofi -S drun -GI set $left h set $down j @@ -25,7 +25,7 @@ exec --no-startup-id nohup shikane -c /home/jozamudi/.config/shikane/config.toml bindswitch --reload --locked lid:on output $laptop disable bindswitch --reload --locked lid:off output $laptop enable -exec_always --no-startup-id nohup '/home/jozamudi/.config/sway/scripts/clamshell-mode.sh' +exec_always --no-startup-id '/home/jozamudi/.config/sway/scripts/clamshell-mode.sh' ### Idle configuration exec swayidle -w \ @@ -38,15 +38,17 @@ seat seat0 xcursor_theme Adwaita 25 # Auto start .desktop files using dex exec dex -a -exec nohup pipewire -exec nohup swaync +exec pipewire +exec swaync +exec waybar +exec mpd exec nohup sway-audio-idle-inhibit -exec nohup waybar -exec wl-paste -t text --watch clipman store --no-persist +#exec wl-paste -t text --watch clipman store --no-persist #better audio -exec easyeffects -w -l Laptop +#exec easyeffects -w -l Laptop default_border pixel 2 default_floating_border pixel 2 +exec dbus-update-activation-environment --systemd WAYLAND_DISPLAY DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP=sway XDG_SESSION_DESKTOP=sway diff --git a/.config/sway/config.d/keybinds b/.config/sway/config.d/keybinds index c9b1378..9bbfacf 100644 --- a/.config/sway/config.d/keybinds +++ b/.config/sway/config.d/keybinds @@ -118,6 +118,9 @@ bindsym $mod+Shift+s sticky toggle # Toggle laptop display bindsym $mod+m output $laptop toggle +# play/pause media player +bindsym XF86Favorites exec playerctl play-pause + bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5% \ && pkill -RTMIN+10 i3blocks; diff --git a/.config/sway/config.d/windows b/.config/sway/config.d/windows index 24fa2f8..4382ab1 100644 --- a/.config/sway/config.d/windows +++ b/.config/sway/config.d/windows @@ -13,3 +13,4 @@ for_window [title="LUCID"] floating enable for_window [title="Pydm|pydm"] floating enable for_window [title="Form"] floating enable for_window [title="zoom"] floating enable + diff --git a/.config/tmux/tmux.conf b/.config/tmux/tmux.conf index 75c8fca..f76407f 100644 --- a/.config/tmux/tmux.conf +++ b/.config/tmux/tmux.conf @@ -52,4 +52,4 @@ set-option -g update-environment "SSH_AUTH_SOCK \ DISPLAY " -set -g status-style bg=default +# set -g status-style bg=default diff --git a/.config/waybar/config.jsonc b/.config/waybar/config.jsonc index 8d9f70f..f6ab771 100644 --- a/.config/waybar/config.jsonc +++ b/.config/waybar/config.jsonc @@ -4,7 +4,7 @@ // "position": "bottom", // Waybar position (top|bottom|left|right) //"height": 10, // Waybar height (to be removed for auto height) // "width": 1280, // Waybar width - "spacing": 0, // Gaps between modules (4px) + "spacing": 6, // Gaps between modules (4px) // Choose the order of the modules "modules-left": [ "sway/workspaces", @@ -70,11 +70,12 @@ "tooltip-format": "{app}: {title}" }, "mpd": { - "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ", + "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩% ", "format-disconnected": "Disconnected ", //"format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", "format-stopped": "", - "unknown-tag": "N/A", + //"unknown-tag": "N/A", + "unknown-tag": "", "interval": 5, "consume-icons": { "on": " " @@ -97,7 +98,7 @@ "tooltip-format-disconnected": "MPD (disconnected)" }, "idle_inhibitor": { - "format": "{icon} ", + "format": "{icon}", "format-icons": { "activated": "", "deactivated": "" @@ -112,10 +113,11 @@ // } }, "clock": { - // "timezone": "America/New_York", + "timezone": "America/Los_Angeles", "tooltip-format": "{:%Y %B}\n{calendar}", - "format": "{:%r}", - "format-alt": "{:%Y-%m-%d}" + "format": "{:%R%p %Y-%m-%d}", + //"format": "{:%R %p %Y-%m-%d}", + //"format-alt": "{:%Y-%m-%d}" }, "cpu": { "format": "{usage}% ", @@ -143,7 +145,7 @@ "warning": 30, "critical": 15 }, - "format": "{capacity}% {icon}", + "format": "{time} {capacity}% {icon}", "format-full": "{capacity}% {icon}", "format-charging": "{capacity}% C", "format-plugged": "{capacity}% P", diff --git a/.config/waybar/style.css b/.config/waybar/style.css index 0762f6b..9572d5c 100644 --- a/.config/waybar/style.css +++ b/.config/waybar/style.css @@ -6,8 +6,9 @@ } window#waybar { - background-color: rgba(43, 48, 59, 0.5); - border-bottom: 3px solid rgba(100, 114, 125, 0.5); + /*background-color: rgba(43, 48, 59, 0.5); + border-bottom: 3px solid rgba(100, 114, 125, 0.5); */ + background-color: rgba(0, 0, 0, 1); color: #ffffff; transition-property: background-color; transition-duration: .5s; From d38aa180bb8bd22bdcb3b35efc70dbef4f1683de Mon Sep 17 00:00:00 2001 From: Josue Zamudio Date: Sun, 24 Aug 2025 20:01:14 -0700 Subject: [PATCH 12/45] fixed waybar colors and lables; add keybinds for sway config --- .config/sway/config | 6 +++--- .config/sway/config.d/env | 0 .config/sway/config.d/keybinds | 4 ++++ .config/waybar/config.jsonc | 3 ++- 4 files changed, 9 insertions(+), 4 deletions(-) delete mode 100644 .config/sway/config.d/env diff --git a/.config/sway/config b/.config/sway/config index bee91ad..c8a73ae 100644 --- a/.config/sway/config +++ b/.config/sway/config @@ -21,7 +21,8 @@ include ~/.config/sway/config.d/* ### Output configuration # You can get the names of your outputs by running: swaymsg -t get_outputs # https://gitlab.com/w0lff/shikane for multitple display handling -exec --no-startup-id nohup shikane -c /home/jozamudi/.config/shikane/config.toml +exec --no-startup-id nohup shikane -c /home/jozamudi/.config/shikane/config.toml > /tmp/nohup-shikane.log 2>&1 +exec_always shikane -o bindswitch --reload --locked lid:on output $laptop disable bindswitch --reload --locked lid:off output $laptop enable @@ -37,12 +38,11 @@ exec swayidle -w \ seat seat0 xcursor_theme Adwaita 25 # Auto start .desktop files using dex -exec dex -a exec pipewire exec swaync exec waybar exec mpd -exec nohup sway-audio-idle-inhibit +exec dex -a #exec wl-paste -t text --watch clipman store --no-persist #better audio diff --git a/.config/sway/config.d/env b/.config/sway/config.d/env deleted file mode 100644 index e69de29..0000000 diff --git a/.config/sway/config.d/keybinds b/.config/sway/config.d/keybinds index 9bbfacf..fa7df12 100644 --- a/.config/sway/config.d/keybinds +++ b/.config/sway/config.d/keybinds @@ -120,6 +120,10 @@ bindsym $mod+m output $laptop toggle # play/pause media player bindsym XF86Favorites exec playerctl play-pause +bindsym $mod+bracketleft exec mpc prev +bindsym $mod+bracketright exec mpc next +bindsym $mod+backslash exec mpc toggle + bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5% \ && pkill -RTMIN+10 i3blocks; diff --git a/.config/waybar/config.jsonc b/.config/waybar/config.jsonc index f6ab771..fcbd344 100644 --- a/.config/waybar/config.jsonc +++ b/.config/waybar/config.jsonc @@ -70,7 +70,8 @@ "tooltip-format": "{app}: {title}" }, "mpd": { - "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩% ", + "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {title} ⸨{songPosition}|{queueLength}⸩% ", + "format-alt": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩% ", "format-disconnected": "Disconnected ", //"format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", "format-stopped": "", From 9fbf3bc8c1df9ef4475e82754d5dcd753f063010 Mon Sep 17 00:00:00 2001 From: Josue Zamudio Date: Mon, 1 Sep 2025 12:10:45 -0700 Subject: [PATCH 13/45] waybar, swaylock, swayfx, and nvim plugins --- .config/kitty/kitty.conf | 2 +- .config/nvim/lazy-lock.json | 2 ++ .config/nvim/lua/plugins/auto-save.lua | 11 +++++++++++ .config/nvim/lua/plugins/conform.lua | 19 +++++++++++++++++++ .config/sway/config | 17 +++++++++++------ .config/sway/config.d/keybinds | 15 ++++++++------- .config/sway/config.d/swayfx | 9 +++++++++ .config/swaylock/config | 15 +++++++++++++++ .config/waybar/config.jsonc | 2 +- 9 files changed, 77 insertions(+), 15 deletions(-) create mode 100644 .config/nvim/lua/plugins/auto-save.lua create mode 100644 .config/nvim/lua/plugins/conform.lua create mode 100644 .config/sway/config.d/swayfx create mode 100644 .config/swaylock/config diff --git a/.config/kitty/kitty.conf b/.config/kitty/kitty.conf index d86851e..d665feb 100644 --- a/.config/kitty/kitty.conf +++ b/.config/kitty/kitty.conf @@ -1,5 +1,5 @@ font_family 'JetBrainsMono NF' -font_size 11 +font_size 11.5 text_composition_strategy legacy modify_font cell_width 95% diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index 6919948..eea3e69 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,11 +1,13 @@ { "LuaSnip": { "branch": "master", "commit": "fb525166ccc30296fb3457441eb979113de46b00" }, "async.vim": { "branch": "master", "commit": "2082d13bb195f3203d41a308b89417426a7deca1" }, + "auto-save.nvim": { "branch": "main", "commit": "5fbcaac0a2698c87a9a1bd2083cb6949505cca12" }, "cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" }, "cmp-nvim-lsp": { "branch": "main", "commit": "a8912b88ce488f411177fc8aed358b04dc246d7b" }, "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-path": { "branch": "main", "commit": "c6635aae33a50d6010bf1aa756ac2398a2d54c32" }, "cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" }, + "conform.nvim": { "branch": "master", "commit": "b4aab989db276993ea5dcb78872be494ce546521" }, "copilot.vim": { "branch": "release", "commit": "3955014c503b0cd7b30bc56c86c56c0736ca0951" }, "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" }, "gruvbox.nvim": { "branch": "main", "commit": "00e38a379bab3389e187b3953566d67d494dfddd" }, diff --git a/.config/nvim/lua/plugins/auto-save.lua b/.config/nvim/lua/plugins/auto-save.lua new file mode 100644 index 0000000..7ff9307 --- /dev/null +++ b/.config/nvim/lua/plugins/auto-save.lua @@ -0,0 +1,11 @@ +return{ + "okuuva/auto-save.nvim", + version = '^1.0.0', -- see https://devhints.io/semver, alternatively use '*' to use the latest tagged release + cmd = "ASToggle", -- optional for lazy loading on command + event = { "InsertLeave", "TextChanged" }, -- optional for lazy loading on trigger events + opts = { + -- your config goes here + -- or just leave it empty :) + enabled = false + }, +} diff --git a/.config/nvim/lua/plugins/conform.lua b/.config/nvim/lua/plugins/conform.lua new file mode 100644 index 0000000..f6ff6a8 --- /dev/null +++ b/.config/nvim/lua/plugins/conform.lua @@ -0,0 +1,19 @@ +return { + 'stevearc/conform.nvim', + opts = {}, + config = function () + require("conform").setup({ + formatters_by_ft = { + tex = { "latexindent" }, + --lua = { "stylua" }, + -- Conform will run multiple formatters sequentially + --python = { "isort", "black" }, + -- You can customize some of the format options for the filetype (:help conform.format) + --rust = { "rustfmt", lsp_format = "fallback" }, + -- Conform will run the first available formatter + --javascript = { "prettierd", "prettier", stop_after_first = true }, + }, + }) + + end +} diff --git a/.config/sway/config b/.config/sway/config index c8a73ae..2bc00a8 100644 --- a/.config/sway/config +++ b/.config/sway/config @@ -4,7 +4,8 @@ font 'JetBrainsMono NF' 9 #set $mod Mod1 set $mod Mod4 -set $term kitty -1 +#set $term kitty -1 +set $term kitty #set $term ghostty set $menu wofi -S drun -GI @@ -21,8 +22,11 @@ include ~/.config/sway/config.d/* ### Output configuration # You can get the names of your outputs by running: swaymsg -t get_outputs # https://gitlab.com/w0lff/shikane for multitple display handling -exec --no-startup-id nohup shikane -c /home/jozamudi/.config/shikane/config.toml > /tmp/nohup-shikane.log 2>&1 -exec_always shikane -o +output * bg /home/jozamudi/Downloads/samurai-cyberpunk-3840x2160-12877.png fill +output eDP-1 scale 1.8 +#output 'BNQ BenQ PD3200U S2N01233019' scale 1.5 + +exec shikane -c /home/jozamudi/.config/shikane/config.toml bindswitch --reload --locked lid:on output $laptop disable bindswitch --reload --locked lid:off output $laptop enable @@ -31,8 +35,9 @@ exec_always --no-startup-id '/home/jozamudi/.config/sway/scripts/clamshell-mode. ### Idle configuration exec swayidle -w \ timeout 300 'swaylock -f -c 000000' \ - timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \ - before-sleep 'playerctl pause; swaylock -f -c 000000' + timeout 600 'swaymsg "output * power off"' \ + resume 'swaymsg "output * power on"' \ + before-sleep 'playerctl pause; swaymsg output $laptop power on; swaylock -f -c 000000' seat seat0 xcursor_theme Adwaita 25 @@ -50,5 +55,5 @@ exec dex -a default_border pixel 2 default_floating_border pixel 2 - +exec systemctl --user import-environment XDG_SESSION_TYPE XDG_CURRENT_DESKTOP exec dbus-update-activation-environment --systemd WAYLAND_DISPLAY DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP=sway XDG_SESSION_DESKTOP=sway diff --git a/.config/sway/config.d/keybinds b/.config/sway/config.d/keybinds index fa7df12..a07ef4e 100644 --- a/.config/sway/config.d/keybinds +++ b/.config/sway/config.d/keybinds @@ -117,12 +117,13 @@ bindsym $mod+Shift+s sticky toggle # Toggle laptop display bindsym $mod+m output $laptop toggle +bindsym $mod+shift+m exec bash -c 'playerctl pause; swaymsg output $laptop power on; swaylock -f -c 000000' # play/pause media player -bindsym XF86Favorites exec playerctl play-pause -bindsym $mod+bracketleft exec mpc prev -bindsym $mod+bracketright exec mpc next -bindsym $mod+backslash exec mpc toggle +#bindsym XF86Favorites exec playerctl play-pause +bindsym $mod+bracketleft exec playerctl previous +bindsym $mod+bracketright exec playerctl next +bindsym $mod+backslash exec playerctl play-pause bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5% \ @@ -136,10 +137,10 @@ bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle \ bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle -bindsym XF86MonBrightnessDown exec brightnessctl set 5%- -bindsym XF86MonBrightnessUp exec brightnessctl set 5%+ +bindsym XF86MonBrightnessDown exec brightnessctl set 2%- +bindsym XF86MonBrightnessUp exec brightnessctl set 2%+ -bindsym $mod+shift+p exec slurp | grim -g - - | tee ~/Pictures/$(date +%s).png | wl-copy +bindsym $mod+shift+p exec slurp | grim -g - - | tee ~/Pictures/$(date +%F-%s).png | wl-copy bindgesture swipe:right workspace prev bindgesture swipe:left workspace next diff --git a/.config/sway/config.d/swayfx b/.config/sway/config.d/swayfx new file mode 100644 index 0000000..41eb488 --- /dev/null +++ b/.config/sway/config.d/swayfx @@ -0,0 +1,9 @@ +smart_corner_radius on + +corner_radius 8 +blur enable +blur_passes 2 +blur_radius 2 +layer_effects "waybar" "blur enable"; shadows enable +shadows on +shadow_blur_radius 5 diff --git a/.config/swaylock/config b/.config/swaylock/config new file mode 100644 index 0000000..d3bee1f --- /dev/null +++ b/.config/swaylock/config @@ -0,0 +1,15 @@ +ignore-empty-password + +clock +timestr=%R +datestr=%a, %e of %B + +screenshots + +fade-in=0.2 + +effect-blur=20x2 +#effect-greyscale +effect-scale=0.3 + +indicator diff --git a/.config/waybar/config.jsonc b/.config/waybar/config.jsonc index fcbd344..8ad69d2 100644 --- a/.config/waybar/config.jsonc +++ b/.config/waybar/config.jsonc @@ -116,7 +116,7 @@ "clock": { "timezone": "America/Los_Angeles", "tooltip-format": "{:%Y %B}\n{calendar}", - "format": "{:%R%p %Y-%m-%d}", + "format": "{:%r %Y-%m-%d}", //"format": "{:%R %p %Y-%m-%d}", //"format-alt": "{:%Y-%m-%d}" }, From 91fe229e5968b5e24b793bddbf7866629318c6d2 Mon Sep 17 00:00:00 2001 From: Josue Zamudio Date: Sun, 14 Sep 2025 22:06:00 -0700 Subject: [PATCH 14/45] latest --- .config/kitty/kitty.conf | 7 +- .config/nvim/lazy-lock.json | 30 +++--- .config/nvim/lua/plugins/lsp-zero.lua | 133 +++++++++++++------------- .config/nvim/settings.vim | 26 ++--- .config/sway/config | 11 ++- .config/sway/config.d/keybinds | 12 +-- .config/swaylock/config | 2 +- .config/waybar/config.jsonc | 4 +- 8 files changed, 118 insertions(+), 107 deletions(-) diff --git a/.config/kitty/kitty.conf b/.config/kitty/kitty.conf index d665feb..c2fff81 100644 --- a/.config/kitty/kitty.conf +++ b/.config/kitty/kitty.conf @@ -1,5 +1,8 @@ font_family 'JetBrainsMono NF' font_size 11.5 +bold_font auto +italic_font auto +bold_italic_font auto text_composition_strategy legacy modify_font cell_width 95% @@ -10,4 +13,6 @@ shell_integration no-cursor cursor_trail_decay 0.01 0.15 cursor_shape block -#include ~/.cache/wal/colors-kitty.conf +linux_display_server wayland +wayland_enable_ime yes + diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index eea3e69..0e86e0f 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,30 +1,30 @@ { - "LuaSnip": { "branch": "master", "commit": "fb525166ccc30296fb3457441eb979113de46b00" }, + "LuaSnip": { "branch": "master", "commit": "21f74f7ba8c49f95f9d7c8293b147c2901dd2d3a" }, "async.vim": { "branch": "master", "commit": "2082d13bb195f3203d41a308b89417426a7deca1" }, "auto-save.nvim": { "branch": "main", "commit": "5fbcaac0a2698c87a9a1bd2083cb6949505cca12" }, "cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" }, - "cmp-nvim-lsp": { "branch": "main", "commit": "a8912b88ce488f411177fc8aed358b04dc246d7b" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "bd5a7d6db125d4654b50eeae9f5217f24bb22fd3" }, "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, - "cmp-path": { "branch": "main", "commit": "c6635aae33a50d6010bf1aa756ac2398a2d54c32" }, + "cmp-path": { "branch": "main", "commit": "c642487086dbd9a93160e1679a1327be111cbc25" }, "cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" }, "conform.nvim": { "branch": "master", "commit": "b4aab989db276993ea5dcb78872be494ce546521" }, - "copilot.vim": { "branch": "release", "commit": "3955014c503b0cd7b30bc56c86c56c0736ca0951" }, + "copilot.vim": { "branch": "release", "commit": "dfe0a3a1c256167d181488a73ec6ccab8d8931a9" }, "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" }, - "gruvbox.nvim": { "branch": "main", "commit": "00e38a379bab3389e187b3953566d67d494dfddd" }, + "gruvbox.nvim": { "branch": "main", "commit": "5e0a460d8e0f7f669c158dedd5f9ae2bcac31437" }, "harpoon": { "branch": "master", "commit": "1bc17e3e42ea3c46b33c0bbad6a880792692a1b3" }, "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, - "lsp-zero.nvim": { "branch": "v2.x", "commit": "320d5913bc5a0b0f15537e32777331d2323ab7f8" }, - "lualine.nvim": { "branch": "master", "commit": "a94fc68960665e54408fe37dcf573193c4ce82c9" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "bb30c422329e86fcaa4e4920181f6715d634e516" }, - "mason.nvim": { "branch": "main", "commit": "8024d64e1330b86044fed4c8494ef3dcd483a67c" }, - "mini.nvim": { "branch": "main", "commit": "3f5d06a6f710966cb93baaadc4897eeb6d6210e5" }, + "lsp-zero.nvim": { "branch": "v2.x", "commit": "e31028f1dba6f7b68a8b9dd3347c489ee4cd3026" }, + "lualine.nvim": { "branch": "master", "commit": "b8c23159c0161f4b89196f74ee3a6d02cdc3a955" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "7f9a39fcd2ac6e979001f857727d606888f5909c" }, + "mason.nvim": { "branch": "main", "commit": "7dc4facca9702f95353d5a1f87daf23d78e31c2a" }, + "mini.nvim": { "branch": "main", "commit": "48b924e4f3b37f62246873d237a4a89704d88948" }, "nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" }, - "nvim-lspconfig": { "branch": "master", "commit": "99d3a0f26bfe402f45257c1398287aef252cbe2d" }, + "nvim-lspconfig": { "branch": "master", "commit": "d9879110d0422a566fa01d732556f4d5515e1738" }, "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, - "nvim-web-devicons": { "branch": "master", "commit": "1fb58cca9aebbc4fd32b086cb413548ce132c127" }, - "plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" }, - "render-markdown.nvim": { "branch": "main", "commit": "76f7ce56ccb913632745714f160faa53164c5574" }, + "nvim-web-devicons": { "branch": "master", "commit": "6e51ca170563330e063720449c21f43e27ca0bc1" }, + "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, + "render-markdown.nvim": { "branch": "main", "commit": "2c6cf127c577712bd29d38f6391b3045c5f0180a" }, "telescope.nvim": { "branch": "master", "commit": "776b509f80dd49d8205b9b0d94485568236d1192" }, "vim-arsync": { "branch": "master", "commit": "dd5fd93182aafb67ede2ef465f379610980b52d3" }, - "vim-tmux-navigator": { "branch": "master", "commit": "412c474e97468e7934b9c217064025ea7a69e05e" } + "vim-tmux-navigator": { "branch": "master", "commit": "c45243dc1f32ac6bcf6068e5300f3b2b237e576a" } } diff --git a/.config/nvim/lua/plugins/lsp-zero.lua b/.config/nvim/lua/plugins/lsp-zero.lua index 38faeb9..103f0f9 100644 --- a/.config/nvim/lua/plugins/lsp-zero.lua +++ b/.config/nvim/lua/plugins/lsp-zero.lua @@ -1,81 +1,80 @@ return { - 'VonHeikemen/lsp-zero.nvim', - branch = 'v2.x', - dependencies = { - -- LSP Support - {'neovim/nvim-lspconfig'}, -- Required - {'williamboman/mason.nvim'}, -- Optional - {'williamboman/mason-lspconfig.nvim'}, -- Optional + 'VonHeikemen/lsp-zero.nvim', + branch = 'v2.x', + dependencies = { + -- LSP Support + { 'neovim/nvim-lspconfig' }, -- Required + { 'williamboman/mason.nvim' }, -- Optional + { 'williamboman/mason-lspconfig.nvim' }, -- Optional - -- Autocompletion - {'hrsh7th/nvim-cmp'}, -- Required - {'hrsh7th/cmp-nvim-lsp'}, -- Required - {'hrsh7th/cmp-buffer'}, -- Optional - {'hrsh7th/cmp-path'}, -- Optional - {'saadparwaiz1/cmp_luasnip'}, -- Optional - {'hrsh7th/cmp-nvim-lua'}, -- Optional + -- Autocompletion + { 'hrsh7th/nvim-cmp' }, -- Required + { 'hrsh7th/cmp-nvim-lsp' }, -- Required + { 'hrsh7th/cmp-buffer' }, -- Optional + { 'hrsh7th/cmp-path' }, -- Optional + { 'saadparwaiz1/cmp_luasnip' }, -- Optional + { 'hrsh7th/cmp-nvim-lua' }, -- Optional - -- snippets - {'L3MON4D3/LuaSnip'}, -- Required - {'rafamadriz/friendly-snippets'}, -- Optional - }, + -- snippets + { 'L3MON4D3/LuaSnip' }, -- Required + { 'rafamadriz/friendly-snippets' }, -- Optional + }, - config = function() - local lsp = require('lsp-zero') - lsp.preset('recommended') + config = function() + local lsp = require('lsp-zero') + lsp.preset('recommended') - lsp.on_attach(function(client, bufnr) - local opts = {buffer = bufnr, remap = false} + lsp.on_attach(function(client, bufnr) + local opts = { buffer = bufnr, remap = false } - vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, opts) - vim.keymap.set("n", "K", function() vim.lsp.buf.hover() end, opts) - vim.keymap.set("n", "vws", function() vim.lsp.buf.workspace_symbol() end, opts) - vim.keymap.set("n", "vd", function() vim.diagnostic.open_float() end, opts) - vim.keymap.set("n", "[d", function() vim.diagnostic.goto_next() end, opts) - vim.keymap.set("n", "]d", function() vim.diagnostic.goto_prev() end, opts) - vim.keymap.set("n", "ca", function() vim.lsp.buf.code_action() end, opts) - vim.keymap.set("n", "rr", function() vim.lsp.buf.references() end, opts) - vim.keymap.set("n", "rn", function() vim.lsp.buf.rename() end, opts) - vim.keymap.set("i", "", function() vim.lsp.buf.signature_help() end, opts) + vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, opts) + vim.keymap.set("n", "K", function() vim.lsp.buf.hover() end, opts) + vim.keymap.set("n", "vws", function() vim.lsp.buf.workspace_symbol() end, opts) + vim.keymap.set("n", "vd", function() vim.diagnostic.open_float() end, opts) + vim.keymap.set("n", "[d", function() vim.diagnostic.goto_next() end, opts) + vim.keymap.set("n", "]d", function() vim.diagnostic.goto_prev() end, opts) + vim.keymap.set("n", "ca", function() vim.lsp.buf.code_action() end, opts) + vim.keymap.set("n", "rr", function() vim.lsp.buf.references() end, opts) + vim.keymap.set("n", "rn", function() vim.lsp.buf.rename() end, opts) + vim.keymap.set("i", "", function() vim.lsp.buf.signature_help() end, opts) + end) - end) + local lspconfig = require('lspconfig') + local root_pattern = require('lspconfig.util').root_pattern - local lspconfig = require('lspconfig') - local root_pattern = require('lspconfig.util').root_pattern + lspconfig['jedi_language_server'].setup { + root_dir = root_pattern('.git', 'setup.py') + } - lspconfig['jedi_language_server'].setup{ - root_dir = root_pattern('.git', 'setup.py') - } + lspconfig['lua_ls'].setup { + settings = { + Lua = { + diagnostics = { + -- Get the language server to recognize the `vim` global + globals = { 'vim' }, + }, + }, + }, + } - lspconfig['lua_ls'].setup{ - settings = { - Lua = { - diagnostics = { - -- Get the language server to recognize the `vim` global - globals = {'vim'}, - }, - }, - }, - } + local cmp = require('cmp') + local cmp_action = require('lsp-zero').cmp_action() + require('luasnip.loaders.from_vscode').lazy_load() - local cmp = require('cmp') - local cmp_action = require('lsp-zero').cmp_action() - require('luasnip.loaders.from_vscode').lazy_load() + cmp.setup({ + mapping = { + [''] = cmp.mapping.confirm({ select = false }), + [''] = cmp_action.luasnip_jump_forward(), + [''] = cmp_action.luasnip_jump_backward(), + }, + snippet = { + expand = function(args) + require('luasnip').lsp_expand(args.body) + end + }, + }) - cmp.setup({ - mapping = { - [''] = cmp.mapping.confirm({select = false}), - [''] = cmp_action.luasnip_jump_forward(), - [''] = cmp_action.luasnip_jump_backward(), - }, - snippet = { - expand = function(args) - require('luasnip').lsp_expand(args.body) - end - }, - }) - - lsp.setup() - end + lsp.setup() + end } diff --git a/.config/nvim/settings.vim b/.config/nvim/settings.vim index 626ea0c..b1dbc66 100644 --- a/.config/nvim/settings.vim +++ b/.config/nvim/settings.vim @@ -30,6 +30,7 @@ set ttyfast set laststatus=1 set t_Co=256 set background=dark +let &t_ut='' set colorcolumn=81 hi ColorColumn ctermbg=lightgrey guibg=lightgrey @@ -41,25 +42,24 @@ au BufNewFile,BufRead *.py,*.pyw,*.c,*.h,*.cc,*.hh,*.sh match BadWhitespace /\s\ " File settings au FileType * - \ set tabstop=2 - \ softtabstop=2 - \ shiftwidth=2 - \ textwidth=79 - \ autoindent - \ smartindent + \ set tabstop=2 + \ softtabstop=2 + \ shiftwidth=2 + \ textwidth=79 + \ autoindent + \ smartindent "Python Specific Config au FileType python -\ set fileformat=unix -\ tabstop=4 -\ softtabstop=4 -\ shiftwidth=4 -\ encoding=utf-8 + \ set fileformat=unix + \ tabstop=4 + \ softtabstop=4 + \ shiftwidth=4 + \ encoding=utf-8 -au FileType markdown +au FileType markdown,tex \ set spell spelllang=en_us \ tabstop=4 \ softtabstop=4 \ shiftwidth=4 - diff --git a/.config/sway/config b/.config/sway/config index 2bc00a8..8c48bdc 100644 --- a/.config/sway/config +++ b/.config/sway/config @@ -19,10 +19,11 @@ set $laptop eDP-1 include ~/.config/sway/config.d/* + ### Output configuration # You can get the names of your outputs by running: swaymsg -t get_outputs # https://gitlab.com/w0lff/shikane for multitple display handling -output * bg /home/jozamudi/Downloads/samurai-cyberpunk-3840x2160-12877.png fill +#output * bg /home/jozamudi/Downloads/samurai-cyberpunk-3840x2160-12877.png fill output eDP-1 scale 1.8 #output 'BNQ BenQ PD3200U S2N01233019' scale 1.5 @@ -32,12 +33,18 @@ bindswitch --reload --locked lid:on output $laptop disable bindswitch --reload --locked lid:off output $laptop enable exec_always --no-startup-id '/home/jozamudi/.config/sway/scripts/clamshell-mode.sh' +#input "1267:12792:ELAN067B:00_04F3:31F8_Touchpad" { +# dwt enabled +# tap enabled +# middle_emulation enabled +#} + ### Idle configuration exec swayidle -w \ timeout 300 'swaylock -f -c 000000' \ timeout 600 'swaymsg "output * power off"' \ resume 'swaymsg "output * power on"' \ - before-sleep 'playerctl pause; swaymsg output $laptop power on; swaylock -f -c 000000' + before-sleep 'swaylock -f -c 000000' seat seat0 xcursor_theme Adwaita 25 diff --git a/.config/sway/config.d/keybinds b/.config/sway/config.d/keybinds index a07ef4e..10d0f3a 100644 --- a/.config/sway/config.d/keybinds +++ b/.config/sway/config.d/keybinds @@ -90,15 +90,15 @@ mode "resize" { # right will grow the containers width # up will shrink the containers height # down will grow the containers height - bindsym $right resize shrink width 10px + bindsym $left resize shrink width 10px bindsym $down resize grow height 10px bindsym $up resize shrink height 10px - bindsym $left resize grow width 10px + bindsym $right resize grow width 10px - bindsym Shift+$right resize shrink width 40px + bindsym Shift+$left resize shrink width 40px bindsym Shift+$down resize grow height 40px bindsym Shift+$up resize shrink height 40px - bindsym Shift+$left resize grow width 40px + bindsym Shift+$right resize grow width 40px # Ditto, with arrow keys bindsym Left resize shrink width 10px @@ -116,8 +116,8 @@ bindsym $mod+Shift+s sticky toggle #bindsym $mod+Shift+o exec 'playerctl pause && swaylock -c 0x0000' # Toggle laptop display -bindsym $mod+m output $laptop toggle -bindsym $mod+shift+m exec bash -c 'playerctl pause; swaymsg output $laptop power on; swaylock -f -c 000000' +bindsym $mod+shift+m output $laptop toggle +bindsym $mod+m exec bash -c 'playerctl pause; swaymsg output $laptop power on; swaylock -f -c 000000' # play/pause media player #bindsym XF86Favorites exec playerctl play-pause diff --git a/.config/swaylock/config b/.config/swaylock/config index d3bee1f..58f3a9a 100644 --- a/.config/swaylock/config +++ b/.config/swaylock/config @@ -4,10 +4,10 @@ clock timestr=%R datestr=%a, %e of %B -screenshots fade-in=0.2 +#screenshots effect-blur=20x2 #effect-greyscale effect-scale=0.3 diff --git a/.config/waybar/config.jsonc b/.config/waybar/config.jsonc index 8ad69d2..9be314d 100644 --- a/.config/waybar/config.jsonc +++ b/.config/waybar/config.jsonc @@ -29,8 +29,8 @@ //"sway/language", "battery", //"battery#bat2", - "clock" - //"tray" + "clock", + "tray" //"custom/power" ], // Modules configuration From 42b0e5c64dabf661abd944ee4f2f9679894f628f Mon Sep 17 00:00:00 2001 From: Josue Zamudio Date: Fri, 26 Sep 2025 23:14:04 -0500 Subject: [PATCH 15/45] fix lsp to and code completion --- .config/nvim/init.lua | 25 +++++- .../plugins/{vim-arsync.lua => arsync.lua} | 0 .config/nvim/lua/plugins/auto-save.lua | 12 ++- .config/nvim/lua/plugins/colorscheme.lua | 13 +++ .config/nvim/lua/plugins/copilot.lua | 12 +++ .config/nvim/lua/plugins/gruvbox.lua | 29 ------ .config/nvim/lua/plugins/lsp-config.lua | 10 +++ .config/nvim/lua/plugins/lsp-zero.lua | 80 ----------------- .config/nvim/lua/plugins/lualine.lua | 88 +++++++++---------- .config/nvim/lua/plugins/render-makdown.lua | 19 ++-- .config/nvim/lua/plugins/vim-copilot.lua | 11 --- .config/nvim/lua/plugins/zen-mode.lua | 11 +++ .config/nvim/settings.vim | 20 ++--- 13 files changed, 137 insertions(+), 193 deletions(-) rename .config/nvim/lua/plugins/{vim-arsync.lua => arsync.lua} (100%) create mode 100644 .config/nvim/lua/plugins/colorscheme.lua create mode 100644 .config/nvim/lua/plugins/copilot.lua delete mode 100644 .config/nvim/lua/plugins/gruvbox.lua create mode 100644 .config/nvim/lua/plugins/lsp-config.lua delete mode 100644 .config/nvim/lua/plugins/lsp-zero.lua delete mode 100644 .config/nvim/lua/plugins/vim-copilot.lua create mode 100644 .config/nvim/lua/plugins/zen-mode.lua diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 9c88f36..08954f3 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -11,16 +11,37 @@ if not vim.loop.fs_stat(lazypath) then end vim.opt.rtp:prepend(lazypath) +-- coq used for completion +vim.g.coq_settings = { + auto_start = true, + xdg = true, + completion = { + always = false, + }, + keymap = { + manual_complete = '', + } +} + +-- code completion require('lazy').setup('plugins') +local coq = require 'coq' +require("mason").setup() -- used for automatically enabling lsp and coq +require("mason-lspconfig").setup() + + + -- Settings vim.cmd('source ~/.config/nvim/settings.vim') + + -- colorscheme vim.o.termguicolors = true -vim.o.background = "dark" -- or "light" for light mode +--vim.o.background = "dark" -- or "light" for light mode --vim.cmd("colorscheme gruvbox ") -vim.cmd("colorscheme retrobox") +--vim.cmd("colorscheme retrobox") -- keymaps vim.keymap.set('n', '/', ':nohlsearch') diff --git a/.config/nvim/lua/plugins/vim-arsync.lua b/.config/nvim/lua/plugins/arsync.lua similarity index 100% rename from .config/nvim/lua/plugins/vim-arsync.lua rename to .config/nvim/lua/plugins/arsync.lua diff --git a/.config/nvim/lua/plugins/auto-save.lua b/.config/nvim/lua/plugins/auto-save.lua index 7ff9307..2ae9941 100644 --- a/.config/nvim/lua/plugins/auto-save.lua +++ b/.config/nvim/lua/plugins/auto-save.lua @@ -1,11 +1,19 @@ return{ "okuuva/auto-save.nvim", - version = '^1.0.0', -- see https://devhints.io/semver, alternatively use '*' to use the latest tagged release + --version = '*', -- see https://devhints.io/semver, alternatively use '*' to use the latest tagged release cmd = "ASToggle", -- optional for lazy loading on command + execution_message = { + message = function() -- message to print on save + return ("AutoSave: saved at " .. vim.fn.strftime("%H:%M:%S")) + end, + dim = 0.18, -- dim the color of `message` + cleaning_interval = 1250, -- (milliseconds) automatically clean MsgArea after displaying `message`. See :h MsgArea + }, event = { "InsertLeave", "TextChanged" }, -- optional for lazy loading on trigger events opts = { -- your config goes here -- or just leave it empty :) - enabled = false + enabled = false, + debug = true, }, } diff --git a/.config/nvim/lua/plugins/colorscheme.lua b/.config/nvim/lua/plugins/colorscheme.lua new file mode 100644 index 0000000..83a3127 --- /dev/null +++ b/.config/nvim/lua/plugins/colorscheme.lua @@ -0,0 +1,13 @@ +return { + "metalelf0/black-metal-theme-neovim", + lazy = false, + priority = 1000, + config = function() + require("black-metal").setup({ + -- optional configuration here + term_colors = true, + }) + + require("black-metal").load() + end, +} diff --git a/.config/nvim/lua/plugins/copilot.lua b/.config/nvim/lua/plugins/copilot.lua new file mode 100644 index 0000000..3e92ab6 --- /dev/null +++ b/.config/nvim/lua/plugins/copilot.lua @@ -0,0 +1,12 @@ +return { + 'github/copilot.vim', + config = function() + vim.keymap.set('i', '', 'copilot#Accept("\\")', { + expr = true, + replace_keycodes = false + }) + vim.keymap.set('i', '', '(copilot-accept-word)') + vim.g.copilot_enabled = 'v:false' + end +} + diff --git a/.config/nvim/lua/plugins/gruvbox.lua b/.config/nvim/lua/plugins/gruvbox.lua deleted file mode 100644 index 4fa0e95..0000000 --- a/.config/nvim/lua/plugins/gruvbox.lua +++ /dev/null @@ -1,29 +0,0 @@ -return { - "ellisonleao/gruvbox.nvim", - priority = 1000, - config = function () - require("gruvbox").setup({ - undercurl = true, - underline = true, - bold = true, - italic = { - strings = true, - comments = true, - operators = false, - folds = true, - }, - strikethrough = true, - invert_selection = false, - invert_signs = false, - invert_tabline = false, - invert_intend_guides = false, - inverse = true, -- invert background for search, diffs, statuslines and errors - contrast = "hard", -- can be "hard", "soft" or empty string - palette_overrides = {}, - overrides = {}, - dim_inactive = false, - transparent_mode = true, - }) - end -} - diff --git a/.config/nvim/lua/plugins/lsp-config.lua b/.config/nvim/lua/plugins/lsp-config.lua new file mode 100644 index 0000000..2dfba42 --- /dev/null +++ b/.config/nvim/lua/plugins/lsp-config.lua @@ -0,0 +1,10 @@ +return { + "mason-org/mason-lspconfig.nvim", + dependencies = { + "mason-org/mason.nvim", + "neovim/nvim-lspconfig", + "ms-jpq/coq_nvim", -- Optional (auto complete) + }, + condig = function() + end +} diff --git a/.config/nvim/lua/plugins/lsp-zero.lua b/.config/nvim/lua/plugins/lsp-zero.lua deleted file mode 100644 index 103f0f9..0000000 --- a/.config/nvim/lua/plugins/lsp-zero.lua +++ /dev/null @@ -1,80 +0,0 @@ -return { - 'VonHeikemen/lsp-zero.nvim', - branch = 'v2.x', - dependencies = { - -- LSP Support - { 'neovim/nvim-lspconfig' }, -- Required - { 'williamboman/mason.nvim' }, -- Optional - { 'williamboman/mason-lspconfig.nvim' }, -- Optional - - -- Autocompletion - { 'hrsh7th/nvim-cmp' }, -- Required - { 'hrsh7th/cmp-nvim-lsp' }, -- Required - { 'hrsh7th/cmp-buffer' }, -- Optional - { 'hrsh7th/cmp-path' }, -- Optional - { 'saadparwaiz1/cmp_luasnip' }, -- Optional - { 'hrsh7th/cmp-nvim-lua' }, -- Optional - - - -- snippets - { 'L3MON4D3/LuaSnip' }, -- Required - { 'rafamadriz/friendly-snippets' }, -- Optional - }, - - config = function() - local lsp = require('lsp-zero') - lsp.preset('recommended') - - lsp.on_attach(function(client, bufnr) - local opts = { buffer = bufnr, remap = false } - - vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, opts) - vim.keymap.set("n", "K", function() vim.lsp.buf.hover() end, opts) - vim.keymap.set("n", "vws", function() vim.lsp.buf.workspace_symbol() end, opts) - vim.keymap.set("n", "vd", function() vim.diagnostic.open_float() end, opts) - vim.keymap.set("n", "[d", function() vim.diagnostic.goto_next() end, opts) - vim.keymap.set("n", "]d", function() vim.diagnostic.goto_prev() end, opts) - vim.keymap.set("n", "ca", function() vim.lsp.buf.code_action() end, opts) - vim.keymap.set("n", "rr", function() vim.lsp.buf.references() end, opts) - vim.keymap.set("n", "rn", function() vim.lsp.buf.rename() end, opts) - vim.keymap.set("i", "", function() vim.lsp.buf.signature_help() end, opts) - end) - - local lspconfig = require('lspconfig') - local root_pattern = require('lspconfig.util').root_pattern - - lspconfig['jedi_language_server'].setup { - root_dir = root_pattern('.git', 'setup.py') - } - - lspconfig['lua_ls'].setup { - settings = { - Lua = { - diagnostics = { - -- Get the language server to recognize the `vim` global - globals = { 'vim' }, - }, - }, - }, - } - - local cmp = require('cmp') - local cmp_action = require('lsp-zero').cmp_action() - require('luasnip.loaders.from_vscode').lazy_load() - - cmp.setup({ - mapping = { - [''] = cmp.mapping.confirm({ select = false }), - [''] = cmp_action.luasnip_jump_forward(), - [''] = cmp_action.luasnip_jump_backward(), - }, - snippet = { - expand = function(args) - require('luasnip').lsp_expand(args.body) - end - }, - }) - - lsp.setup() - end -} diff --git a/.config/nvim/lua/plugins/lualine.lua b/.config/nvim/lua/plugins/lualine.lua index a633dd9..c6dd481 100644 --- a/.config/nvim/lua/plugins/lualine.lua +++ b/.config/nvim/lua/plugins/lualine.lua @@ -1,46 +1,46 @@ return{ - 'nvim-lualine/lualine.nvim', - dependencies = { 'nvim-tree/nvim-web-devicons', opt = true }, - config = function() - require('lualine').setup { - options = { - icons_enabled = true, - theme = 'auto', - component_separators = { left = '', right = ''}, - section_separators = { left = '', right = ''}, - disabled_filetypes = { - statusline = {}, - winbar = {}, - }, - ignore_focus = {}, - always_divide_middle = true, - globalstatus = false, - refresh = { - statusline = 1000, - tabline = 1000, - winbar = 1000, - } - }, - sections = { - lualine_a = {'mode'}, - lualine_b = {'branch', 'diff', 'diagnostics'}, - lualine_c = {'filename'}, - lualine_x = {'encoding', 'fileformat', 'filetype'}, - lualine_y = {'progress'}, - lualine_z = {'location'} - }, - inactive_sections = { - lualine_a = {}, - lualine_b = {}, - lualine_c = {'filename'}, - lualine_x = {'location'}, - lualine_y = {}, - lualine_z = {} - }, - tabline = {}, - winbar = {}, - inactive_winbar = {}, - extensions = {} - } - end + 'nvim-lualine/lualine.nvim', + dependencies = { 'nvim-tree/nvim-web-devicons', opt = true }, + config = function() + require('lualine').setup { + options = { + icons_enabled = true, + theme = 'auto', + component_separators = { left = '', right = ''}, + section_separators = { left = '', right = ''}, + disabled_filetypes = { + statusline = {}, + winbar = {}, + }, + ignore_focus = {}, + always_divide_middle = true, + globalstatus = false, + refresh = { + statusline = 1000, + tabline = 1000, + winbar = 1000, + } + }, + sections = { + lualine_a = {'mode'}, + lualine_b = {'branch', 'diff', 'diagnostics'}, + lualine_c = {'filename'}, + lualine_x = {'encoding', 'fileformat', 'filetype'}, + lualine_y = {'progress'}, + lualine_z = {'location'} + }, + inactive_sections = { + lualine_a = {}, + lualine_b = {}, + lualine_c = {'filename'}, + lualine_x = {'location'}, + lualine_y = {}, + lualine_z = {} + }, + tabline = {}, + winbar = {}, + inactive_winbar = {}, + extensions = {} + } + end } diff --git a/.config/nvim/lua/plugins/render-makdown.lua b/.config/nvim/lua/plugins/render-makdown.lua index 6a5a30a..8001d6c 100644 --- a/.config/nvim/lua/plugins/render-makdown.lua +++ b/.config/nvim/lua/plugins/render-makdown.lua @@ -5,25 +5,22 @@ return { -- dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-tree/nvim-web-devicons' }, -- if you prefer nvim-web-devicons ---@module 'render-markdown' ---@type render.md.UserConfig - opts = {}, - - config = function() - require('render-markdown').setup({ + opts = { + completions = { lsp = { enabled = true } }, render_modes = true, heading = { width = 'block', - min_width = 81, + min_width = 80, }, - - indent = { + code = { + disable_background = { 'diff' }, + }, + indent = { enabled = true, skip_heading = true, }, - sign = { enabled = true, }, - - }) - end + }, } diff --git a/.config/nvim/lua/plugins/vim-copilot.lua b/.config/nvim/lua/plugins/vim-copilot.lua deleted file mode 100644 index 55dc633..0000000 --- a/.config/nvim/lua/plugins/vim-copilot.lua +++ /dev/null @@ -1,11 +0,0 @@ -return { - 'github/copilot.vim', - config = function() - vim.keymap.set('i', '', 'copilot#Accept("\\")', { - expr = true, - replace_keycodes = false - }) - vim.g.copilot_no_tab_map = true - end -} - diff --git a/.config/nvim/lua/plugins/zen-mode.lua b/.config/nvim/lua/plugins/zen-mode.lua new file mode 100644 index 0000000..ad5fa76 --- /dev/null +++ b/.config/nvim/lua/plugins/zen-mode.lua @@ -0,0 +1,11 @@ +return { + "folke/zen-mode.nvim", + opts = { + -- your configuration comes here + -- or leave it empty to use the default settings + -- refer to the configuration section below + window = { + width = 90, -- width of the Zen window + } + } +} diff --git a/.config/nvim/settings.vim b/.config/nvim/settings.vim index b1dbc66..e3d7b50 100644 --- a/.config/nvim/settings.vim +++ b/.config/nvim/settings.vim @@ -17,28 +17,26 @@ set showmatch set ruler set wrap set showbreak=↳\ \ -set textwidth=79 set hidden set backspace=indent,eol,start set hlsearch set noswapfile set mouse= "remove mouse -set clipboard=unnamedplus +"set clipboard=unnamedplus " Rendering set ttyfast set laststatus=1 set t_Co=256 -set background=dark let &t_ut='' set colorcolumn=81 -hi ColorColumn ctermbg=lightgrey guibg=lightgrey +"hi ColorColumn ctermbg=lightgrey guibg=lightgrey " Show bad whitespace in an obvious but not obnoxious color -highlight pythonSpaceError ctermbg=darkgreen guibg=darkgreen -highlight BadWhitespace ctermbg=darkgreen guibg=darkgreen -au BufNewFile,BufRead *.py,*.pyw,*.c,*.h,*.cc,*.hh,*.sh match BadWhitespace /\s\+$/ +"highlight pythonSpaceError ctermbg=darkgreen guibg=darkgreen +"highlight BadWhitespace ctermbg=darkgreen guibg=darkgreen +"au BufNewFile,BufRead *.py,*.pyw,*.c,*.h,*.cc,*.hh,*.sh match BadWhitespace /\s\+$/ " File settings au FileType * @@ -52,14 +50,8 @@ au FileType * "Python Specific Config au FileType python \ set fileformat=unix - \ tabstop=4 - \ softtabstop=4 - \ shiftwidth=4 \ encoding=utf-8 au FileType markdown,tex - \ set spell spelllang=en_us - \ tabstop=4 - \ softtabstop=4 - \ shiftwidth=4 + \ set spell spelllang=en_us From e9df39d7eae905dec81c032f45e1d997a474106f Mon Sep 17 00:00:00 2001 From: Josue Zamudio Date: Mon, 6 Oct 2025 21:30:57 -0700 Subject: [PATCH 16/45] tmux and nvim changes --- .config/nvim/init.lua | 5 +-- .config/nvim/lazy-lock.json | 34 ++++++++------------ .config/nvim/lua/plugins/lsp-config.lua | 4 ++- .config/nvim/lua/plugins/render-makdown.lua | 2 +- .config/nvim/lua/plugins/treesitter.lua | 9 +++--- .config/nvim/settings.vim | 23 +++++++------ .config/nvim/spell/en.utf-8.add | 2 ++ .config/nvim/spell/en.utf-8.add.spl | Bin 0 -> 61 bytes .config/tmux/tmux.conf | 6 +++- 9 files changed, 41 insertions(+), 44 deletions(-) create mode 100644 .config/nvim/spell/en.utf-8.add create mode 100644 .config/nvim/spell/en.utf-8.add.spl diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 08954f3..23734f4 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -30,15 +30,12 @@ local coq = require 'coq' require("mason").setup() -- used for automatically enabling lsp and coq require("mason-lspconfig").setup() - - -- Settings vim.cmd('source ~/.config/nvim/settings.vim') - - -- colorscheme vim.o.termguicolors = true +vim.opt.winborder = 'rounded' --vim.o.background = "dark" -- or "light" for light mode --vim.cmd("colorscheme gruvbox ") --vim.cmd("colorscheme retrobox") diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index 0e86e0f..66e03fe 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,30 +1,22 @@ { - "LuaSnip": { "branch": "master", "commit": "21f74f7ba8c49f95f9d7c8293b147c2901dd2d3a" }, "async.vim": { "branch": "master", "commit": "2082d13bb195f3203d41a308b89417426a7deca1" }, - "auto-save.nvim": { "branch": "main", "commit": "5fbcaac0a2698c87a9a1bd2083cb6949505cca12" }, - "cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" }, - "cmp-nvim-lsp": { "branch": "main", "commit": "bd5a7d6db125d4654b50eeae9f5217f24bb22fd3" }, - "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, - "cmp-path": { "branch": "main", "commit": "c642487086dbd9a93160e1679a1327be111cbc25" }, - "cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" }, - "conform.nvim": { "branch": "master", "commit": "b4aab989db276993ea5dcb78872be494ce546521" }, - "copilot.vim": { "branch": "release", "commit": "dfe0a3a1c256167d181488a73ec6ccab8d8931a9" }, - "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" }, - "gruvbox.nvim": { "branch": "main", "commit": "5e0a460d8e0f7f669c158dedd5f9ae2bcac31437" }, + "auto-save.nvim": { "branch": "main", "commit": "37c82fd548e3f5ffc2d9d020a65dac1044584f44" }, + "black-metal-theme-neovim": { "branch": "main", "commit": "6d0207871387077f40d5396ab1ae90520e688d36" }, + "conform.nvim": { "branch": "master", "commit": "9d859cbfbde7a1bd1770e7c97aef30ec5a237a71" }, + "copilot.vim": { "branch": "release", "commit": "da369d90cfd6c396b1d0ec259836a1c7222fb2ea" }, + "coq_nvim": { "branch": "coq", "commit": "d2aeb3221cb46bfd1c51afd1b247d092c52ec0d6" }, "harpoon": { "branch": "master", "commit": "1bc17e3e42ea3c46b33c0bbad6a880792692a1b3" }, - "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, - "lsp-zero.nvim": { "branch": "v2.x", "commit": "e31028f1dba6f7b68a8b9dd3347c489ee4cd3026" }, + "lazy.nvim": { "branch": "main", "commit": "59334064f8604ca073791c25dcc5c9698865406e" }, "lualine.nvim": { "branch": "master", "commit": "b8c23159c0161f4b89196f74ee3a6d02cdc3a955" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "7f9a39fcd2ac6e979001f857727d606888f5909c" }, - "mason.nvim": { "branch": "main", "commit": "7dc4facca9702f95353d5a1f87daf23d78e31c2a" }, - "mini.nvim": { "branch": "main", "commit": "48b924e4f3b37f62246873d237a4a89704d88948" }, - "nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" }, - "nvim-lspconfig": { "branch": "master", "commit": "d9879110d0422a566fa01d732556f4d5515e1738" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "6bdb14f230de0904229ec367b410fb817e59b072" }, + "mason.nvim": { "branch": "main", "commit": "ad7146aa61dcaeb54fa900144d768f040090bff0" }, + "nvim-lspconfig": { "branch": "master", "commit": "e688b486fe9291f151eae7e5c0b5a5c4ef980847" }, "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, - "nvim-web-devicons": { "branch": "master", "commit": "6e51ca170563330e063720449c21f43e27ca0bc1" }, + "nvim-web-devicons": { "branch": "master", "commit": "b8221e42cf7287c4dcde81f232f58d7b947c210d" }, "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, - "render-markdown.nvim": { "branch": "main", "commit": "2c6cf127c577712bd29d38f6391b3045c5f0180a" }, + "render-markdown.nvim": { "branch": "main", "commit": "ea3678daff66656a9e1c20914d204b7c841c5030" }, "telescope.nvim": { "branch": "master", "commit": "776b509f80dd49d8205b9b0d94485568236d1192" }, "vim-arsync": { "branch": "master", "commit": "dd5fd93182aafb67ede2ef465f379610980b52d3" }, - "vim-tmux-navigator": { "branch": "master", "commit": "c45243dc1f32ac6bcf6068e5300f3b2b237e576a" } + "vim-tmux-navigator": { "branch": "master", "commit": "c45243dc1f32ac6bcf6068e5300f3b2b237e576a" }, + "zen-mode.nvim": { "branch": "main", "commit": "dfcb72a2dfeedc5342b2ee3a68c83243d682ba3c" } } diff --git a/.config/nvim/lua/plugins/lsp-config.lua b/.config/nvim/lua/plugins/lsp-config.lua index 2dfba42..fffe64b 100644 --- a/.config/nvim/lua/plugins/lsp-config.lua +++ b/.config/nvim/lua/plugins/lsp-config.lua @@ -5,6 +5,8 @@ return { "neovim/nvim-lspconfig", "ms-jpq/coq_nvim", -- Optional (auto complete) }, - condig = function() + config = function() + --vim.lsp.config('lua_ls',coq.lsp_ensure_capabilities()) + --vim.lsp.config('clangd',coq.lsp_ensure_capabilities()) end } diff --git a/.config/nvim/lua/plugins/render-makdown.lua b/.config/nvim/lua/plugins/render-makdown.lua index 8001d6c..dc0ecb2 100644 --- a/.config/nvim/lua/plugins/render-makdown.lua +++ b/.config/nvim/lua/plugins/render-makdown.lua @@ -1,6 +1,6 @@ return { 'MeanderingProgrammer/render-markdown.nvim', - dependencies = { 'nvim-treesitter/nvim-treesitter', 'echasnovski/mini.nvim' }, -- if you use the mini.nvim suite + -- dependencies = { 'nvim-treesitter/nvim-treesitter', 'echasnovski/mini.nvim' }, -- if you use the mini.nvim suite -- dependencies = { 'nvim-treesitter/nvim-treesitter', 'echasnovski/mini.icons' }, -- if you use standalone mini plugins -- dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-tree/nvim-web-devicons' }, -- if you prefer nvim-web-devicons ---@module 'render-markdown' diff --git a/.config/nvim/lua/plugins/treesitter.lua b/.config/nvim/lua/plugins/treesitter.lua index 5beadcf..648f979 100644 --- a/.config/nvim/lua/plugins/treesitter.lua +++ b/.config/nvim/lua/plugins/treesitter.lua @@ -4,7 +4,7 @@ return { config = function() require("nvim-treesitter.configs").setup { -- A list of parser names, or "all" (the five listed parsers should always be installed) - ensure_installed = { "c", "lua", "vim", "vimdoc", "python", "bash", "make" }, + ensure_installed = { "c", "lua", "vim", "vimdoc", "python", "bash", "make", "markdown"}, -- Install parsers synchronously (only applied to `ensure_installed`) sync_install = false, @@ -14,7 +14,7 @@ return { auto_install = true, -- List of parsers to ignore installing (for "all") - ignore_install = { "javascript" }, + -- ignore_install = { "javascript" }, ---- If you need to change the installation directory of the parsers (see -> Advanced Setup) -- parser_install_dir = "/some/path/to/store/parsers", -- Remember to run vim.opt.runtimepath:append("/some/path/to/store/parsers")! @@ -40,7 +40,8 @@ return { -- Set this to `true` if you depend on 'syntax' being enabled (like for indentation). -- Using this option may slow down your editor, and you may see some duplicate highlights. -- Instead of true it can also be a list of languages - additional_vim_regex_highlighting = false, + -- additional_vim_regex_highlighting = false, }, } -end } +end +} diff --git a/.config/nvim/settings.vim b/.config/nvim/settings.vim index e3d7b50..2a59797 100644 --- a/.config/nvim/settings.vim +++ b/.config/nvim/settings.vim @@ -1,8 +1,17 @@ set nocompatible syntax on -filetype plugin on -set autoread " Set to auto read when a file is changed from the outside +filetype plugin indent on +set number +set relativenumber +set expandtab +set shiftwidth=4 +set softtabstop=4 +set tabstop=4 +set smartindent +set backspace=indent,eol,start + +set autoread " Set to auto read when a file is changed from the outside set path+=** set wildmenu set showcmd @@ -38,16 +47,6 @@ set colorcolumn=81 "highlight BadWhitespace ctermbg=darkgreen guibg=darkgreen "au BufNewFile,BufRead *.py,*.pyw,*.c,*.h,*.cc,*.hh,*.sh match BadWhitespace /\s\+$/ -" File settings -au FileType * - \ set tabstop=2 - \ softtabstop=2 - \ shiftwidth=2 - \ textwidth=79 - \ autoindent - \ smartindent - -"Python Specific Config au FileType python \ set fileformat=unix \ encoding=utf-8 diff --git a/.config/nvim/spell/en.utf-8.add b/.config/nvim/spell/en.utf-8.add new file mode 100644 index 0000000..b03436c --- /dev/null +++ b/.config/nvim/spell/en.utf-8.add @@ -0,0 +1,2 @@ +Generative +ansible diff --git a/.config/nvim/spell/en.utf-8.add.spl b/.config/nvim/spell/en.utf-8.add.spl new file mode 100644 index 0000000000000000000000000000000000000000..2927c422be404d9af3bcc2411f21bbba843af07f GIT binary patch literal 61 zcmWIZ^erw(&B-zP&%nT-%9NPSn8#Smn8}#Ln8TRL$N Date: Fri, 17 Oct 2025 11:56:34 -0700 Subject: [PATCH 17/45] feat: add mango window manager config --- .config/mango/autostart.sh | 25 ++ .config/mango/config.conf | 278 ++++++++++++++++ .config/mango/waybar/config.jsonc | 251 +++++++++++++++ .config/mango/waybar/style.css | 405 ++++++++++++++++++++++++ .config/nvim/lua/plugins/treesitter.lua | 9 +- 5 files changed, 963 insertions(+), 5 deletions(-) create mode 100755 .config/mango/autostart.sh create mode 100644 .config/mango/config.conf create mode 100644 .config/mango/waybar/config.jsonc create mode 100644 .config/mango/waybar/style.css diff --git a/.config/mango/autostart.sh b/.config/mango/autostart.sh new file mode 100755 index 0000000..22feb58 --- /dev/null +++ b/.config/mango/autostart.sh @@ -0,0 +1,25 @@ +#! /bin/bash + +set +e + +# obs +dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=wlroots + +# wallpaper +#swaybg -i ~/.config/mango/wallpaper/room.png & + +# top bar +waybar -c ~/.config/mango/waybar/config.jsonc -s ~/.config/mango/waybar/style.css & + +# keep clipboard content +wl-clip-persist --clipboard regular --reconnect-tries 0 & + +# clipboard content manager +wl-paste --type text --watch cliphist store & + +# shikane +systemctl --user start shikane + +pipewire & +swaync & +dex -a & diff --git a/.config/mango/config.conf b/.config/mango/config.conf new file mode 100644 index 0000000..892fd53 --- /dev/null +++ b/.config/mango/config.conf @@ -0,0 +1,278 @@ +# More option see https://github.com/DreamMaoMao/mango/wiki/ + +# Window effect +blur=0 +blur_layer=0 +blur_optimized=1 +blur_params_num_passes = 2 +blur_params_radius = 5 +blur_params_noise = 0.02 +blur_params_brightness = 0.9 +blur_params_contrast = 0.9 +blur_params_saturation = 1.2 + +shadows = 0 +layer_shadows = 0 +shadow_only_floating = 1 +shadows_size = 10 +shadows_blur = 15 +shadows_position_x = 0 +shadows_position_y = 0 +shadowscolor= 0x000000ff + +border_radius=6 +no_radius_when_single=0 +focused_opacity=1.0 +unfocused_opacity=1.0 + +# Animation Configuration(support type:zoom,slide) +# tag_animation_direction: 0-horizontal,1-vertical +animations=1 +layer_animations=1 +animation_type_open=slide +animation_type_close=slide +animation_fade_in=1 +animation_fade_out=1 +tag_animation_direction=1 +zoom_initial_ratio=0.3 +zoom_end_ratio=0.8 +fadein_begin_opacity=0.5 +fadeout_begin_opacity=0.8 +animation_duration_move=500 +animation_duration_open=400 +animation_duration_tag=350 +animation_duration_close=800 +animation_curve_open=0.46,1.0,0.29,1 +animation_curve_move=0.46,1.0,0.29,1 +animation_curve_tag=0.46,1.0,0.29,1 +animation_curve_close=0.08,0.92,0,1 + +# Scroller Layout Setting +scroller_structs=20 +scroller_default_proportion=0.8 +scroller_focus_center=0 +scroller_prefer_center=0 +edge_scroller_pointer_focus=1 +scroller_default_proportion_single=1.0 +scroller_proportion_preset=0.5,0.8,1.0 + +# Master-Stack Layout Setting +new_is_master=1 +default_mfact=0.55 +default_nmaster=1 +smartgaps=0 + +# Overview Setting +hotarea_size=10 +enable_hotarea=1 +ov_tab_mode=0 +overviewgappi=5 +overviewgappo=30 + +# Misc +no_border_when_single=0 +axis_bind_apply_timeout=100 +focus_on_activate=1 +inhibit_regardless_of_visibility=0 +sloppyfocus=1 +warpcursor=1 +focus_cross_monitor=0 +focus_cross_tag=0 +enable_floating_snap=0 +snap_distance=30 +cursor_size=24 +drag_tile_to_tile=1 + +# keyboard +repeat_rate=25 +repeat_delay=600 +numlockon=1 +xkb_rules_layout=us + +# Trackpad +# need relogin to make it apply +disable_trackpad=0 +tap_to_click=1 +tap_and_drag=1 +drag_lock=1 +trackpad_natural_scrolling=0 +disable_while_typing=1 +left_handed=0 +middle_button_emulation=0 +swipe_min_threshold=1 + +# mouse +# need relogin to make it apply +mouse_natural_scrolling=0 + +# Appearance +gappih=5 +gappiv=5 +gappoh=10 +gappov=10 +scratchpad_width_ratio=0.8 +scratchpad_height_ratio=0.9 +borderpx=4 +rootcolor=0x201b14ff +bordercolor=0x444444ff +focuscolor=0xc9b890ff +maxmizescreencolor=0x89aa61ff +urgentcolor=0xad401fff +scratchpadcolor=0x516c93ff +globalcolor=0xb153a7ff +overlaycolor=0x14a57cff + +# layout support: +# tile,scroller,grid,deck,monocle,center_tile,vertical_tile,vertical_scroller +tagrule=id:1,layout_name:tile +tagrule=id:2,layout_name:tile +tagrule=id:3,layout_name:tile +tagrule=id:4,layout_name:tile +tagrule=id:5,layout_name:tile +tagrule=id:6,layout_name:tile +tagrule=id:7,layout_name:tile +tagrule=id:8,layout_name:tile +tagrule=id:9,layout_name:tile + +# Key Bindings +# key name refer to `xev` or `wev` command output, +# mod keys name: super,ctrl,alt,shift,none + +# reload config +bind=SUPER,r,reload_config + +# menu and terminal +bind=SUPER,d,spawn,wofi --show drun +bind=SUPER,Return,spawn,kitty + +# exit +bind=SUPER+SHIFT,m,quit +bind=SUPER+SHIFT,q,killclient, + +# switch window focus +#bind=SUPER,Tab,focusstack,next +#bind=ALT,Left,focusdir,left +#bind=ALT,Right,focusdir,right +#bind=ALT,Up,focusdir,up +#bind=ALT,Down,focusdir,down + +bind=SUPER,j,focusstack,next +bind=SUPER,k,focusstack,prev +bind=SUPER,h,focusdir,left +bind=SUPER,l,focusdir,right + +# swap window +bind=SUPER+SHIFT,k,exchange_client,up +bind=SUPER+SHIFT,j,exchange_client,down +bind=SUPER+SHIFT,h,exchange_client,left +bind=SUPER+SHIFT,l,exchange_client,right + +# switch window status +bind=SUPER,g,toggleglobal, +#bind=ALT,Tab,toggleoverview, +bind=SUPER,backslash,togglefloating, +#bind=ALT,a,togglemaxmizescreen, +bind=SUPER,f,togglefullscreen, +#bind=ALT+SHIFT,f,togglefakefullscreen, +# +# Go through all the bookmarks +bind=SUPER,i,toggle_scratchpad, +bind=SUPER+SHIFT,I,minimized, +#bind=SUPER,o,toggleoverlay, +#bind=SUPER+SHIFT,I,restore_minimized + +# scroller layout +bind=ALT,e,set_proportion,1.0 +bind=ALT,x,switch_proportion_preset, + +# switch layout +bind=SUPER,n,switch_layout + +# Layouts +bind=SUPER,t,setlayout,tile +bind=SUPER,v,setlayout,vertical_grid +bind=SUPER,c,setlayout,spiral +bind=SUPER,x,setlayout,scroller +bind=SUPER,a,togglegaps + +# tag switch +bind=SUPER,1,view,1,0 +bind=SUPER,2,view,2,0 +bind=SUPER,3,view,3,0 +bind=SUPER,4,view,4,0 +bind=SUPER,5,view,5,0 +bind=SUPER,6,view,6,0 +bind=SUPER,7,view,7,0 +bind=SUPER,8,view,8,0 +bind=SUPER,9,view,9,0 +bind=SUPER,0,view,0,0 + +# tag: move client to the tag and focus it +# tagsilent: move client to the tag and not focus it +# bind=Alt,1,tagsilent,1 +bind=SUPER+SHIFT,1,tagsilent,1,0 +bind=SUPER+SHIFT,2,tagsilent,2,0 +bind=SUPER+SHIFT,3,tagsilent,3,0 +bind=SUPER+SHIFT,4,tagsilent,4,0 +bind=SUPER+SHIFT,5,tagsilent,5,0 +bind=SUPER+SHIFT,6,tagsilent,6,0 +bind=SUPER+SHIFT,7,tagsilent,7,0 +bind=SUPER+SHIFT,8,tagsilent,8,0 +bind=SUPER+SHIFT,9,tagsilent,9,0 +bind=SUPER+SHIFT,0,tagsilent,0,0 + +# monitor switch +bind=alt+shift,Left,focusmon,left +bind=alt+shift,Right,focusmon,right +bind=SUPER+Alt,Left,tagmon,left +bind=SUPER+Alt,Right,tagmon,right + +# gaps +bind=ALT+SHIFT,X,incgaps,1 +bind=ALT+SHIFT,Z,incgaps,-1 +bind=ALT+SHIFT,R,togglegaps + +# movewin +bind=CTRL+SHIFT,Up,movewin,+0,-50 +bind=CTRL+SHIFT,Down,movewin,+0,+50 +bind=CTRL+SHIFT,Left,movewin,-50,+0 +bind=CTRL+SHIFT,Right,movewin,+50,+0 + +# resizewin +bind=CTRL+ALT,Up,resizewin,+0,-50 +bind=CTRL+ALT,Down,resizewin,+0,+50 +bind=CTRL+ALT,Left,resizewin,-50,+0 +bind=CTRL+ALT,Right,resizewin,+50,+0 + +# Mouse Button Bindings +# NONE mode key only work in ov mode +mousebind=SUPER,btn_left,moveresize,curmove +mousebind=SUPER,btn_right,moveresize,curresize +#mousebind=NONE,btn_middle,togglemaxmizescreen,0 +#mousebind=NONE,btn_left,toggleoverview,-1 +#mousebind=NONE,btn_right,killclient,0 + +# Axis Bindings +#axisbind=SUPER,UP,viewtoleft_have_client +#axisbind=SUPER,DOWN,viewtoright_have_client + + +# layer rule +layerrule=animation_type_open:zoom,layer_name:wofi +layerrule=animation_type_close:zoom,layer_name:wofi + + +# Volume control +bind=none,XF86AudioRaiseVolume,spawn_shell,pactl set-sink-volume @DEFAULT_SINK@ +5% && pkill -RTMIN+10 i3blocks;, +bind=none,XF86AudioLowerVolume,spawn_shell,pactl set-sink-volume @DEFAULT_SINK@ -5% && pkill -RTMIN+10 i3blocks;, +bind=none,XF86AudioMute,spawn_shell,pactl set-sink-mute @DEFAULT_SINK@ toggle && pkill -RTMIN+10 i3blocks;, +bind=none,XF86AudioMicMute,spwan_shell,pactl set-source-mute @DEFAULT_SOURCE@ toggle;, + +# Brightness Control +bind=none,XF86MonBrightnessDown,spawn_shell,brightnessctl set 2%- +bind=none,XF86MonBrightnessUp,spawn_shell,brightnessctl set 2%+ +bind=SUPER+SHIFT,p, spawn_shell, slurp | grim -g - - | tee ~/Pictures/$(date +%F-%s).png | wl-copy + + + + diff --git a/.config/mango/waybar/config.jsonc b/.config/mango/waybar/config.jsonc new file mode 100644 index 0000000..8f5764c --- /dev/null +++ b/.config/mango/waybar/config.jsonc @@ -0,0 +1,251 @@ +// -*- mode: jsonc -*- +{ + // "layer": "top", // Waybar at top layer + // "position": "bottom", // Waybar position (top|bottom|left|right) + //"height": 10, // Waybar height (to be removed for auto height) + // "width": 1280, // Waybar width + "spacing": 6, // Gaps between modules (4px) + // Choose the order of the modules + "modules-left": [ + "ext/workspaces", + "dwl/window", + "sway/mode", + "sway/scratchpad", + "custom/media" + ], + //"modules-center": [ + //"sway/window" + //], + "modules-right": [ + "mpd", + "custom/audio_idle_inhibitor", + "pulseaudio", + "network", + //"power-profiles-daemon", + //"cpu", + //"memory", + //"temperature", + //"backlight", + //"keyboard-state", + //"sway/language", + "battery", + //"battery#bat2", + "clock", + "tray" + //"custom/power" + ], + "ext/workspaces": { + "format": "{icon}", + "ignore-hidden": true, + "on-click": "activate", + "on-click-right": "deactivate", + "sort-by-id": true, + }, + "dwl/tags": { + "num-tags":9, + }, + "dwl/window": { + //"format": "[{layout}]{title}" + "format": "[{layout}]" + }, + // Modules configuration + // "sway/workspaces": { + // "disable-scroll": true, + // "all-outputs": true, + // "warp-on-scroll": false, + // "format": "{name}: {icon}", + // "format-icons": { + // "1": "", + // "2": "", + // "3": "", + // "4": "", + // "5": "", + // "urgent": "", + // "focused": "", + // "default": "" + // } + // }, + "keyboard-state": { + "numlock": true, + "capslock": true, + "format": "{name} {icon}", + "format-icons": { + "locked": "", + "unlocked": "" + } + }, + "sway/mode": { + "format": "{}" + }, + "sway/scratchpad": { + "format": "{icon} {count}", + "show-empty": false, + "format-icons": ["", ""], + "tooltip": true, + "tooltip-format": "{app}: {title}" + }, + "mpd": { + "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {title} ⸨{songPosition}|{queueLength}⸩% ", + "format-alt": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩% ", + "format-disconnected": "Disconnected ", + //"format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", + "format-stopped": "", + //"unknown-tag": "N/A", + "unknown-tag": "", + "interval": 5, + "consume-icons": { + "on": " " + }, + "random-icons": { + "off": " ", + "on": " " + }, + "repeat-icons": { + "on": " " + }, + "single-icons": { + "on": "1 " + }, + "state-icons": { + "paused": "", + "playing": "" + }, + "tooltip-format": "MPD (connected)", + "tooltip-format-disconnected": "MPD (disconnected)" + }, + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "", + "deactivated": "" + } + }, + "tray": { + // "icon-size": 21, + "spacing": 10, + // "icons": { + // "blueman": "bluetooth", + // "TelegramDesktop": "$HOME/.local/share/icons/hicolor/16x16/apps/telegram.png" + // } + }, + "clock": { + //"timezone": "America/Los_Angeles", + "tooltip-format": "{:%Y %B}\n{calendar}", + "format": "{:%r %Y-%m-%d}", + //"format": "{:%R %p %Y-%m-%d}", + //"format-alt": "{:%Y-%m-%d}" + }, + "cpu": { + "format": "{usage}% ", + "tooltip": false + }, + "memory": { + "format": "{}% " + }, + "temperature": { + // "thermal-zone": 2, + // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", + "critical-threshold": 80, + // "format-critical": "{temperatureC}°C {icon}", + "format": "{temperatureC}°C {icon}", + "format-icons": ["", "", ""] + }, + "backlight": { + // "device": "acpi_video1", + "format": "{percent}% {icon}", + "format-icons": ["", "", "", "", "", "", "", "", ""] + }, + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{time} {capacity}% {icon}", + "format-full": "{capacity}% {icon}", + "format-charging": "{capacity}% C", + "format-plugged": "{capacity}% P", + "format-alt": "{time} {icon}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": ["", "", "", "", ""] + }, + "battery#bat2": { + "bat": "BAT2" + }, + "power-profiles-daemon": { + "format": "{icon}", + "tooltip-format": "Power profile: {profile}\nDriver: {driver}", + "tooltip": true, + "format-icons": { + "default": "", + "performance": "", + "balanced": "", + "power-saver": "" + } + }, + "network": { + // "interface": "wlp2*", // (Optional) To force the use of this interface + "format-wifi": "{essid} ({signalStrength}%) ", + "format-ethernet": "{ipaddr}/{cidr} ", + "tooltip-format": "{ifname} via {gwaddr} ", + "format-linked": "{ifname} (No IP) ", + "format-disconnected": "Disconnected ⚠", + "format-alt": "{ifname}: {ipaddr}/{cidr}" + }, + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{volume}% {icon} {format_source}", + "format-bluetooth": "{volume}% {icon}  {format_source}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": " {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] + }, + "on-click": "pavucontrol" + }, + "custom/media": { + "format": "{icon} {text}", + "return-type": "json", + "max-length": 40, + "format-icons": { + "spotify": "", + "default": "🎜" + }, + "escape": true, + "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder + // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name + }, + "custom/power": { + "format" : "⏻ ", + "tooltip": false, + "menu": "on-click", + "menu-file": "$HOME/.config/waybar/power_menu.xml", // Menu file in resources folder + "menu-actions": { + "shutdown": "shutdown", + "reboot": "reboot", + "suspend": "systemctl suspend", + "hibernate": "systemctl hibernate" + } + }, + "custom/audio_idle_inhibitor": { + "format": "{icon} ", + "exec": "sway-audio-idle-inhibit --dry-print-both-waybar", + "exec-if": "which sway-audio-idle-inhibit", + "return-type": "json", + "format-icons": { + "output": "", + "input": "", + "output-input": " ", + "none": "" + } + } +} diff --git a/.config/mango/waybar/style.css b/.config/mango/waybar/style.css new file mode 100644 index 0000000..adc6847 --- /dev/null +++ b/.config/mango/waybar/style.css @@ -0,0 +1,405 @@ +* { + /* `otf-font-awesome` is required to be installed for icons */ + /*font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif; */ + font-family: "JetBrainsMono NF"; + font-size: 13px; +} + +window#waybar { + /*background-color: rgba(43, 48, 59, 0.5); + border-bottom: 3px solid rgba(100, 114, 125, 0.5); */ + background-color: rgba(0, 0, 0, 1); + color: #ffffff; + transition-property: background-color; + transition-duration: .5s; +} + +window#waybar.hidden { + opacity: 0.2; +} + +window#waybar.empty { + /*background-color: transparent;*/ +} +window#waybar.solo { + /*background-color: #FFFFFF;*/ +} + +window#waybar.termite { + background-color: #3F3F3F; +} + +window#waybar.chromium { + background-color: #000000; + border: none; +} + +button { + /* Use box-shadow instead of border so the text isn't offset */ + box-shadow: inset 0 -3px transparent; + /* Avoid rounded borders under each button name */ + border: none; + border-radius: 0; +} + +/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ +button:hover { + background: inherit; + box-shadow: inset 0 -3px #ffffff; +} + +/* you can set a style on hover for any module like this */ +#pulseaudio:hover { + /*background-color: #a37800;*/ +} + +#workspaces button { + padding: 0 5px; + background-color: transparent; + color: #ffffff; +} + +#workspaces button:hover { + background: rgba(0, 0, 0, 0.2); +} + +#workspaces button.focused { + background-color: #64727D; + box-shadow: inset 0 -3px #ffffff; +} + +#workspaces button.urgent { + background-color: #eb4d4b; +} + +#mode { + background-color: #64727D; + box-shadow: inset 0 -3px #ffffff; +} + +#clock, +#battery, +#cpu, +#memory, +#disk, +#temperature, +#backlight, +#network, +#pulseaudio, +#wireplumber, +#custom-media, +#tray, +#mode, +#idle_inhibitor, +#scratchpad, +#power-profiles-daemon, +#mpd { + padding: 0 10px; + color: #ffffff; +} + +#window, +#workspaces { + margin: 0 4px; +} + +/* If workspaces is the leftmost module, omit left margin */ +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +/* If workspaces is the rightmost module, omit right margin */ +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} + +#clock { + /* background-color: #64727D;*/ +} + +#battery { + /*background-color: #ffffff; + color: #000000;*/ +} + +#battery.charging, #battery.plugged { + /*color: #ffffff; + background-color: #26A65B;*/ +} + +@keyframes blink { + to { + background-color: #ffffff; + color: #000000; + } +} + +/* Using steps() instead of linear as a timing function to limit cpu usage */ +#battery.critical:not(.charging) { + background-color: #f53c3c; + color: #ffffff; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: steps(12); + animation-iteration-count: infinite; + animation-direction: alternate; +} + +#power-profiles-daemon { + padding-right: 15px; +} + +#power-profiles-daemon.performance { + background-color: #f53c3c; + color: #ffffff; +} + +#power-profiles-daemon.balanced { + background-color: #2980b9; + color: #ffffff; +} + +#power-profiles-daemon.power-saver { + background-color: #2ecc71; + color: #000000; +} + +label:focus { + background-color: #000000; +} + +#cpu { + background-color: #2ecc71; + color: #000000; +} + +#memory { + background-color: #9b59b6; +} + +#disk { + background-color: #964B00; +} + +#backlight { + background-color: #90b1b1; +} + +#network { + /*background-color: #2980b9;*/ +} + +#network.disconnected { + /*background-color: #f53c3c;*/ +} + +#pulseaudio { + /*background-color: #f1c40f;*/ + /*color: #000000;*/ +} + +#pulseaudio.muted { + /*background-color: #90b1b1;*/ + /*color: #2a5c45;*/ +} + +#wireplumber { + background-color: #fff0f5; + color: #000000; +} + +#wireplumber.muted { + background-color: #f53c3c; +} + +#custom-media { + background-color: #66cc99; + color: #2a5c45; + min-width: 100px; +} + +#custom-media.custom-spotify { + background-color: #66cc99; +} + +#custom-media.custom-vlc { + background-color: #ffa000; +} + +#temperature { + background-color: #f0932b; +} + +#temperature.critical { + background-color: #eb4d4b; +} + +#tray { + /*background-color: #2980b9;*/ +} + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; + background-color: #eb4d4b; +} + +#idle_inhibitor { + background-color: #2d3436; +} + +#idle_inhibitor.activated { + background-color: #ecf0f1; + color: #2d3436; +} + +#mpd { + background-color: #66cc99; + color: #2a5c45; +} + +#mpd.disconnected { + background-color: #f53c3c; +} + +#mpd.stopped { + background-color: #90b1b1; +} + +#mpd.paused { + background-color: #51a37a; +} + +#language { + background: #00b093; + color: #740864; + padding: 0 5px; + margin: 0 5px; + min-width: 16px; +} + +#keyboard-state { + background: #97e1ad; + color: #000000; + padding: 0 0px; + margin: 0 5px; + min-width: 16px; +} + +#keyboard-state > label { + padding: 0 5px; +} + +#keyboard-state > label.locked { + background: rgba(0, 0, 0, 0.2); +} + +#scratchpad { + background: rgba(0, 0, 0, 0.2); +} + +#scratchpad.empty { + background-color: transparent; +} + +#privacy { + padding: 0; +} + +#privacy-item { + padding: 0 5px; + color: white; +} + +#privacy-item.screenshare { + background-color: #cf5700; +} + +#privacy-item.audio-in { + background-color: #1ca000; +} + +#privacy-item.audio-out { + background-color: #0069d4; +} + +/*MANGO WORKSPACES */ +#workspaces { + border-style: solid; + border-color: #c9b890; + +} + +#workspaces button { + border: none; + background: none; + box-shadow: inherit; + text-shadow: inherit; + color: #ddca9e; +} + +#workspaces button.hidden { + color: #9e906f; + + background-color: transparent; +} + +#workspaces button.visible { + color: #ddca9e; +} + +#workspaces button:hover { + color: #d79921; +} + +#workspaces button.active { + background-color: #ddca9e; + color: #282828; +} + +#workspaces button.urgent { + background-color: #ef5e5e; + color: #282828; +} + +#tags { + background-color: transparent; +} + +#tags button { + color: #a585cd; +} + +#tags button:not(.occupied):not(.focused) { + font-size: 0; + min-width: 0; + min-height: 0; + margin: -17px; + padding: 0; + color: transparent; + background-color: transparent; +} + +#tags button.occupied { + background-color: #fff; + color: #cdc885; +} + +#tags button.focused { + background-color: rgb(186, 142, 213); + color: #fff; +} + +#tags button.urgent { + background: rgb(171, 101, 101); + color: #fff; +} +/* +#window { + background-color: rgb(237, 196, 147); + color: rgb(63, 37, 5); +} +*/ diff --git a/.config/nvim/lua/plugins/treesitter.lua b/.config/nvim/lua/plugins/treesitter.lua index 648f979..5beadcf 100644 --- a/.config/nvim/lua/plugins/treesitter.lua +++ b/.config/nvim/lua/plugins/treesitter.lua @@ -4,7 +4,7 @@ return { config = function() require("nvim-treesitter.configs").setup { -- A list of parser names, or "all" (the five listed parsers should always be installed) - ensure_installed = { "c", "lua", "vim", "vimdoc", "python", "bash", "make", "markdown"}, + ensure_installed = { "c", "lua", "vim", "vimdoc", "python", "bash", "make" }, -- Install parsers synchronously (only applied to `ensure_installed`) sync_install = false, @@ -14,7 +14,7 @@ return { auto_install = true, -- List of parsers to ignore installing (for "all") - -- ignore_install = { "javascript" }, + ignore_install = { "javascript" }, ---- If you need to change the installation directory of the parsers (see -> Advanced Setup) -- parser_install_dir = "/some/path/to/store/parsers", -- Remember to run vim.opt.runtimepath:append("/some/path/to/store/parsers")! @@ -40,8 +40,7 @@ return { -- Set this to `true` if you depend on 'syntax' being enabled (like for indentation). -- Using this option may slow down your editor, and you may see some duplicate highlights. -- Instead of true it can also be a list of languages - -- additional_vim_regex_highlighting = false, + additional_vim_regex_highlighting = false, }, } -end -} +end } From 64bcfde70ec1eb63f3a4ba297dc590097c4af8ce Mon Sep 17 00:00:00 2001 From: Josue Zamudio Date: Fri, 17 Oct 2025 16:17:44 -0700 Subject: [PATCH 18/45] feat: mango tweaks --- .config/mango/autostart.sh | 13 ++++++++----- .config/mango/config.conf | 32 ++++++++++++++++++-------------- 2 files changed, 26 insertions(+), 19 deletions(-) diff --git a/.config/mango/autostart.sh b/.config/mango/autostart.sh index 22feb58..4e10a34 100755 --- a/.config/mango/autostart.sh +++ b/.config/mango/autostart.sh @@ -2,9 +2,6 @@ set +e -# obs -dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=wlroots - # wallpaper #swaybg -i ~/.config/mango/wallpaper/room.png & @@ -17,9 +14,15 @@ wl-clip-persist --clipboard regular --reconnect-tries 0 & # clipboard content manager wl-paste --type text --watch cliphist store & -# shikane -systemctl --user start shikane + +# START UP +systemctl --user start shikane & +systemctl --user start sway-audio-idle-inhibit & pipewire & swaync & dex -a & + +# screen record or share +dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=wlroots +/usr/lib/xdg-desktop-portal-wlr & diff --git a/.config/mango/config.conf b/.config/mango/config.conf index 892fd53..f3128fb 100644 --- a/.config/mango/config.conf +++ b/.config/mango/config.conf @@ -49,12 +49,12 @@ animation_curve_close=0.08,0.92,0,1 # Scroller Layout Setting scroller_structs=20 -scroller_default_proportion=0.8 +scroller_default_proportion=1.0 scroller_focus_center=0 scroller_prefer_center=0 edge_scroller_pointer_focus=1 scroller_default_proportion_single=1.0 -scroller_proportion_preset=0.5,0.8,1.0 +scroller_proportion_preset=1.0,1.0,1.0 # Master-Stack Layout Setting new_is_master=1 @@ -92,7 +92,7 @@ xkb_rules_layout=us # Trackpad # need relogin to make it apply disable_trackpad=0 -tap_to_click=1 +tap_to_click=0 tap_and_drag=1 drag_lock=1 trackpad_natural_scrolling=0 @@ -140,13 +140,16 @@ tagrule=id:9,layout_name:tile # reload config bind=SUPER,r,reload_config +bind=SUPER,r,spawn_shell, notify-send 'Reloading Config!' # menu and terminal -bind=SUPER,d,spawn,wofi --show drun -bind=SUPER,Return,spawn,kitty +bind=SUPER,d,spawn,wofi --show drun -GI +bind=SUPER,Return,spawn,kitty # exit bind=SUPER+SHIFT,m,quit +bind=SUPER,m,spawn_shell, playerctl pause; swaylock -f -c 000000 # lock + bind=SUPER+SHIFT,q,killclient, # switch window focus @@ -169,15 +172,16 @@ bind=SUPER+SHIFT,l,exchange_client,right # switch window status bind=SUPER,g,toggleglobal, -#bind=ALT,Tab,toggleoverview, -bind=SUPER,backslash,togglefloating, +bind=ALT,Tab,toggleoverview, +bind=SUPER,space,togglefloating, #bind=ALT,a,togglemaxmizescreen, bind=SUPER,f,togglefullscreen, #bind=ALT+SHIFT,f,togglefakefullscreen, # +# # Go through all the bookmarks bind=SUPER,i,toggle_scratchpad, -bind=SUPER+SHIFT,I,minimized, +bind=SUPER+SHIFT,i,minimized, #bind=SUPER,o,toggleoverlay, #bind=SUPER+SHIFT,I,restore_minimized @@ -185,14 +189,14 @@ bind=SUPER+SHIFT,I,minimized, bind=ALT,e,set_proportion,1.0 bind=ALT,x,switch_proportion_preset, -# switch layout +# switcnext bind=SUPER,n,switch_layout # Layouts bind=SUPER,t,setlayout,tile bind=SUPER,v,setlayout,vertical_grid bind=SUPER,c,setlayout,spiral -bind=SUPER,x,setlayout,scroller +bind=SUPER,s,setlayout,scroller bind=SUPER,a,togglegaps # tag switch @@ -248,6 +252,7 @@ bind=CTRL+ALT,Right,resizewin,+50,+0 # NONE mode key only work in ov mode mousebind=SUPER,btn_left,moveresize,curmove mousebind=SUPER,btn_right,moveresize,curresize + #mousebind=NONE,btn_middle,togglemaxmizescreen,0 #mousebind=NONE,btn_left,toggleoverview,-1 #mousebind=NONE,btn_right,killclient,0 @@ -268,11 +273,10 @@ bind=none,XF86AudioLowerVolume,spawn_shell,pactl set-sink-volume @DEFAULT_SINK@ bind=none,XF86AudioMute,spawn_shell,pactl set-sink-mute @DEFAULT_SINK@ toggle && pkill -RTMIN+10 i3blocks;, bind=none,XF86AudioMicMute,spwan_shell,pactl set-source-mute @DEFAULT_SOURCE@ toggle;, +bind=SUPER,bracketleft,spawn_shell,playerctl previous +bind=SUPER,bracketright,spawn_shell,playerctl next + # Brightness Control bind=none,XF86MonBrightnessDown,spawn_shell,brightnessctl set 2%- bind=none,XF86MonBrightnessUp,spawn_shell,brightnessctl set 2%+ bind=SUPER+SHIFT,p, spawn_shell, slurp | grim -g - - | tee ~/Pictures/$(date +%F-%s).png | wl-copy - - - - From 1f31c845a6703aed4d40115ac1b8718fb963327e Mon Sep 17 00:00:00 2001 From: Josue Zamudio Date: Sun, 19 Oct 2025 11:59:48 -0700 Subject: [PATCH 19/45] feat: latest kitty, mango, and mango config --- .config/kitty/kitty.conf | 24 +++++++++---- .config/kitty/kitty.conf.bak | 20 +++++++++++ .config/mango/config.conf | 2 +- .config/sway/config | 15 +++++--- .config/sway/config.d/keybinds | 11 +++++- .config/sway/config.d/swayfx | 65 +++++++++++++++++++++++++++++----- .config/waybar/config.jsonc | 2 +- .config/waybar/style.css | 2 +- 8 files changed, 116 insertions(+), 25 deletions(-) create mode 100644 .config/kitty/kitty.conf.bak diff --git a/.config/kitty/kitty.conf b/.config/kitty/kitty.conf index c2fff81..c35a384 100644 --- a/.config/kitty/kitty.conf +++ b/.config/kitty/kitty.conf @@ -1,11 +1,13 @@ -font_family 'JetBrainsMono NF' -font_size 11.5 -bold_font auto -italic_font auto -bold_italic_font auto +#font_family 'JetBrainsMono NF' +# font_family 'JetBrainsMonoNL NFM ExtraBold' +font_size 11 +# bold_font auto +# italic_font auto +# bold_italic_font auto -text_composition_strategy legacy -modify_font cell_width 95% +#text_composition_strategy legacy +#modify_font cell_width 95% +#background_opacity 1.0 cursor_trail 10 cursor_trail_start_threshold 0 @@ -16,3 +18,11 @@ cursor_shape block linux_display_server wayland wayland_enable_ime yes + + +# BEGIN_KITTY_FONTS +font_family family="JetBrainsMono Nerd Font Mono" +bold_font auto +italic_font auto +bold_italic_font auto +# END_KITTY_FONTS diff --git a/.config/kitty/kitty.conf.bak b/.config/kitty/kitty.conf.bak new file mode 100644 index 0000000..cab7344 --- /dev/null +++ b/.config/kitty/kitty.conf.bak @@ -0,0 +1,20 @@ +#font_family 'JetBrainsMono NF' +font_family 'JetBrainsMonoNL NFM ExtraBold' +font_size 12 + +bold_font auto +italic_font auto +bold_italic_font auto + +text_composition_strategy legacy +modify_font cell_width 95% + +cursor_trail 10 +cursor_trail_start_threshold 0 +shell_integration no-cursor +cursor_trail_decay 0.01 0.15 +cursor_shape block + +linux_display_server wayland +wayland_enable_ime yes + diff --git a/.config/mango/config.conf b/.config/mango/config.conf index f3128fb..ec85617 100644 --- a/.config/mango/config.conf +++ b/.config/mango/config.conf @@ -57,7 +57,7 @@ scroller_default_proportion_single=1.0 scroller_proportion_preset=1.0,1.0,1.0 # Master-Stack Layout Setting -new_is_master=1 +new_is_master=0 default_mfact=0.55 default_nmaster=1 smartgaps=0 diff --git a/.config/sway/config b/.config/sway/config index 8c48bdc..7bb44a3 100644 --- a/.config/sway/config +++ b/.config/sway/config @@ -1,4 +1,5 @@ -font 'JetBrainsMono NF' 9 +#font 'JetBrainsMono NF' 9 +font 'JetBrainsMono Nerd Font Mono' 9 ### Variables #set $mod Mod1 @@ -19,15 +20,17 @@ set $laptop eDP-1 include ~/.config/sway/config.d/* +exec systemctl --user start sway-audio-idle-inhibit +exec systemctl --user start shikane + ### Output configuration # You can get the names of your outputs by running: swaymsg -t get_outputs # https://gitlab.com/w0lff/shikane for multitple display handling -#output * bg /home/jozamudi/Downloads/samurai-cyberpunk-3840x2160-12877.png fill -output eDP-1 scale 1.8 +output * bg /home/jozamudi/Documents/Wallpapers/windows-11-stock-official-colorful-3840x2160-5658.jpg fill +output eDP-1 scale 1.7 #output 'BNQ BenQ PD3200U S2N01233019' scale 1.5 - -exec shikane -c /home/jozamudi/.config/shikane/config.toml +#exec_always shikanectl reload bindswitch --reload --locked lid:on output $laptop disable bindswitch --reload --locked lid:off output $laptop enable @@ -64,3 +67,5 @@ default_border pixel 2 default_floating_border pixel 2 exec systemctl --user import-environment XDG_SESSION_TYPE XDG_CURRENT_DESKTOP exec dbus-update-activation-environment --systemd WAYLAND_DISPLAY DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP=sway XDG_SESSION_DESKTOP=sway + + diff --git a/.config/sway/config.d/keybinds b/.config/sway/config.d/keybinds index 10d0f3a..c4bfa24 100644 --- a/.config/sway/config.d/keybinds +++ b/.config/sway/config.d/keybinds @@ -140,8 +140,17 @@ bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle bindsym XF86MonBrightnessDown exec brightnessctl set 2%- bindsym XF86MonBrightnessUp exec brightnessctl set 2%+ -bindsym $mod+shift+p exec slurp | grim -g - - | tee ~/Pictures/$(date +%F-%s).png | wl-copy +bindsym $mod+shift+p exec slurp | \ + grim -g - - | \ + tee ~/Pictures/$(date +%F-%s).png | \ + wl-copy bindgesture swipe:right workspace prev bindgesture swipe:left workspace next + +# Custom App Keybinds +bindsym $mod+Shift+f exec firefox +bindsym $mod+Shift+n exec nautilus + + diff --git a/.config/sway/config.d/swayfx b/.config/sway/config.d/swayfx index 41eb488..f88264a 100644 --- a/.config/sway/config.d/swayfx +++ b/.config/sway/config.d/swayfx @@ -1,9 +1,56 @@ -smart_corner_radius on - -corner_radius 8 -blur enable -blur_passes 2 -blur_radius 2 -layer_effects "waybar" "blur enable"; shadows enable -shadows on -shadow_blur_radius 5 +#smart_corner_radius on +##gaps inner 6 +## +##default_border pixel 1 +## +##corner_radius 8 +##blur enable +##blur_passes 2 +##blur_radius 2 +##layer_effects "waybar" "blur enable"; shadows enable +##shadows on +##shadow_blur_radius 5 +## +###https://github.com/rkubosz/base16-sway +## +###set $base00 #031A16 +###set $base01 #0B342D +###set $base02 #184E45 +###set $base03 #2B685E +###set $base04 #5F9C92 +###set $base05 #81B5AC +###set $base06 #A7CEC8 +###set $base07 #D2E7E4 +###set $base08 #3E9688 +###set $base09 #3E7996 +###set $base0A #3E4C96 +###set $base0B #883E96 +###set $base0C #963E4C +###set $base0D #96883E +###set $base0E #4C963E +###set $base0F #3E965B +## +##set $base00 #000000 +##set $base01 #121212 +##set $base02 #222222 +##set $base03 #333333 +##set $base04 #999999 +##set $base05 #c1c1c1 +##set $base06 #999999 +##set $base07 #c1c1c1 +##set $base08 #5f8787 +##set $base09 #aaaaaa +##set $base0A #a06666 +##set $base0B #dd9999 +##set $base0C #aaaaaa +##set $base0D #888888 +##set $base0E #999999 +##set $base0F #444444 +## +### Property Name Border BG Text Indicator Child Border +##client.focused $base05 $base0D $base00 $base0D $base0D +##client.focused_inactive $base01 $base01 $base05 $base03 $base01 +##client.unfocused $base01 $base00 $base05 $base01 $base01 +##client.urgent $base08 $base08 $base00 $base08 $base08 +##client.placeholder $base00 $base00 $base05 $base00 $base00 +##client.background $base07 diff --git a/.config/waybar/config.jsonc b/.config/waybar/config.jsonc index 9be314d..c19eee2 100644 --- a/.config/waybar/config.jsonc +++ b/.config/waybar/config.jsonc @@ -114,7 +114,7 @@ // } }, "clock": { - "timezone": "America/Los_Angeles", + //"timezone": "America/Los_Angeles", "tooltip-format": "{:%Y %B}\n{calendar}", "format": "{:%r %Y-%m-%d}", //"format": "{:%R %p %Y-%m-%d}", diff --git a/.config/waybar/style.css b/.config/waybar/style.css index 9572d5c..67edb80 100644 --- a/.config/waybar/style.css +++ b/.config/waybar/style.css @@ -1,7 +1,7 @@ * { /* `otf-font-awesome` is required to be installed for icons */ /*font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif; */ - font-family: "JetBrainsMono NF"; + font-family: "JetBrainsMono NF"; font-size: 13px; } From c39b29f3a7a96b59c607553ce006349be8af81a4 Mon Sep 17 00:00:00 2001 From: Josue Zamudio Date: Sun, 19 Oct 2025 15:10:41 -0700 Subject: [PATCH 20/45] feat: latest nvim setup --- .config/nvim/init.lua | 23 ++++++++++++++++- .config/nvim/lazy-lock.json | 14 +++-------- .config/nvim/lua/plugins/arsync.lua | 22 ----------------- .config/nvim/lua/plugins/auto-save.lua | 19 -------------- .config/nvim/lua/plugins/conform.lua | 19 -------------- .config/nvim/lua/plugins/render-makdown.lua | 26 -------------------- .config/nvim/lua/plugins/zen-mode.lua | 11 --------- .config/nvim/settings.vim | 10 ++++---- .config/nvim/spell/en.utf-8.add | 8 ++++++ .config/nvim/spell/en.utf-8.add.spl | Bin 61 -> 154 bytes 10 files changed, 39 insertions(+), 113 deletions(-) delete mode 100644 .config/nvim/lua/plugins/arsync.lua delete mode 100644 .config/nvim/lua/plugins/auto-save.lua delete mode 100644 .config/nvim/lua/plugins/conform.lua delete mode 100644 .config/nvim/lua/plugins/render-makdown.lua delete mode 100644 .config/nvim/lua/plugins/zen-mode.lua diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 23734f4..72b2b2b 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -31,7 +31,7 @@ require("mason").setup() -- used for automatically enabling lsp and coq require("mason-lspconfig").setup() -- Settings -vim.cmd('source ~/.config/nvim/settings.vim') +--vim.cmd('source ~/.config/nvim/settings.vim') -- colorscheme vim.o.termguicolors = true @@ -40,6 +40,27 @@ vim.opt.winborder = 'rounded' --vim.cmd("colorscheme gruvbox ") --vim.cmd("colorscheme retrobox") +vim.cmd("set nocompatible") +vim.cmd("syntax on") +vim.cmd("filetype plugin indent on") +vim.cmd("set number") +vim.cmd("set relativenumber") +vim.cmd("set expandtab") +vim.cmd("set shiftwidth=4") +vim.cmd("set softtabstop=4") +vim.cmd("set tabstop=4") +vim.cmd("set smartindent") +vim.cmd("set backspace=indent,eol,start") +vim.cmd("set colorcolumn=81") +vim.cmd("set textwidth=80") +vim.cmd("set wrap") +vim.cmd("set linebreak") +vim.cmd("noswapfile") + +vim.cmd("au FileType python set fileformat=unix encoding=utf-8") +vim.cmd("au FileType markdown,tex set spell spelllang=en_us") + + -- keymaps vim.keymap.set('n', '/', ':nohlsearch') vim.keymap.set('n', 'b', ':buffers') diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index 66e03fe..bd093da 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,22 +1,16 @@ { - "async.vim": { "branch": "master", "commit": "2082d13bb195f3203d41a308b89417426a7deca1" }, - "auto-save.nvim": { "branch": "main", "commit": "37c82fd548e3f5ffc2d9d020a65dac1044584f44" }, "black-metal-theme-neovim": { "branch": "main", "commit": "6d0207871387077f40d5396ab1ae90520e688d36" }, - "conform.nvim": { "branch": "master", "commit": "9d859cbfbde7a1bd1770e7c97aef30ec5a237a71" }, "copilot.vim": { "branch": "release", "commit": "da369d90cfd6c396b1d0ec259836a1c7222fb2ea" }, - "coq_nvim": { "branch": "coq", "commit": "d2aeb3221cb46bfd1c51afd1b247d092c52ec0d6" }, + "coq_nvim": { "branch": "coq", "commit": "a63d28a9aa59c20a503ce38608fb6bc7cb3842f4" }, "harpoon": { "branch": "master", "commit": "1bc17e3e42ea3c46b33c0bbad6a880792692a1b3" }, - "lazy.nvim": { "branch": "main", "commit": "59334064f8604ca073791c25dcc5c9698865406e" }, + "lazy.nvim": { "branch": "main", "commit": "1ea3c4085785f460fb0e46d2fe1ee895f5f9e7c1" }, "lualine.nvim": { "branch": "master", "commit": "b8c23159c0161f4b89196f74ee3a6d02cdc3a955" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "6bdb14f230de0904229ec367b410fb817e59b072" }, "mason.nvim": { "branch": "main", "commit": "ad7146aa61dcaeb54fa900144d768f040090bff0" }, - "nvim-lspconfig": { "branch": "master", "commit": "e688b486fe9291f151eae7e5c0b5a5c4ef980847" }, + "nvim-lspconfig": { "branch": "master", "commit": "ac98db2f9f06a56498ec890a96928774eae412c3" }, "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, "nvim-web-devicons": { "branch": "master", "commit": "b8221e42cf7287c4dcde81f232f58d7b947c210d" }, "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, - "render-markdown.nvim": { "branch": "main", "commit": "ea3678daff66656a9e1c20914d204b7c841c5030" }, "telescope.nvim": { "branch": "master", "commit": "776b509f80dd49d8205b9b0d94485568236d1192" }, - "vim-arsync": { "branch": "master", "commit": "dd5fd93182aafb67ede2ef465f379610980b52d3" }, - "vim-tmux-navigator": { "branch": "master", "commit": "c45243dc1f32ac6bcf6068e5300f3b2b237e576a" }, - "zen-mode.nvim": { "branch": "main", "commit": "dfcb72a2dfeedc5342b2ee3a68c83243d682ba3c" } + "vim-tmux-navigator": { "branch": "master", "commit": "c45243dc1f32ac6bcf6068e5300f3b2b237e576a" } } diff --git a/.config/nvim/lua/plugins/arsync.lua b/.config/nvim/lua/plugins/arsync.lua deleted file mode 100644 index defbe37..0000000 --- a/.config/nvim/lua/plugins/arsync.lua +++ /dev/null @@ -1,22 +0,0 @@ -return { - 'KenN7/vim-arsync', - dependencies = { 'prabirshrestha/async.vim' }, - config = function() - end -} - ---[[ ---Create a .vim-arsync file on the root of your project that contains the following: -remote_host example.com -remote_user john -remote_port 22 -remote_passwd secret -remote_path ~/temp/ -local_path /home/ken/temp/vuetest/ -ignore_path ["build/","test/"] -ignore_dotfiles 1 -auto_sync_up 0 -remote_or_local remote -sleep_before_sync 0 - ---]] diff --git a/.config/nvim/lua/plugins/auto-save.lua b/.config/nvim/lua/plugins/auto-save.lua deleted file mode 100644 index 2ae9941..0000000 --- a/.config/nvim/lua/plugins/auto-save.lua +++ /dev/null @@ -1,19 +0,0 @@ -return{ - "okuuva/auto-save.nvim", - --version = '*', -- see https://devhints.io/semver, alternatively use '*' to use the latest tagged release - cmd = "ASToggle", -- optional for lazy loading on command - execution_message = { - message = function() -- message to print on save - return ("AutoSave: saved at " .. vim.fn.strftime("%H:%M:%S")) - end, - dim = 0.18, -- dim the color of `message` - cleaning_interval = 1250, -- (milliseconds) automatically clean MsgArea after displaying `message`. See :h MsgArea - }, - event = { "InsertLeave", "TextChanged" }, -- optional for lazy loading on trigger events - opts = { - -- your config goes here - -- or just leave it empty :) - enabled = false, - debug = true, - }, -} diff --git a/.config/nvim/lua/plugins/conform.lua b/.config/nvim/lua/plugins/conform.lua deleted file mode 100644 index f6ff6a8..0000000 --- a/.config/nvim/lua/plugins/conform.lua +++ /dev/null @@ -1,19 +0,0 @@ -return { - 'stevearc/conform.nvim', - opts = {}, - config = function () - require("conform").setup({ - formatters_by_ft = { - tex = { "latexindent" }, - --lua = { "stylua" }, - -- Conform will run multiple formatters sequentially - --python = { "isort", "black" }, - -- You can customize some of the format options for the filetype (:help conform.format) - --rust = { "rustfmt", lsp_format = "fallback" }, - -- Conform will run the first available formatter - --javascript = { "prettierd", "prettier", stop_after_first = true }, - }, - }) - - end -} diff --git a/.config/nvim/lua/plugins/render-makdown.lua b/.config/nvim/lua/plugins/render-makdown.lua deleted file mode 100644 index dc0ecb2..0000000 --- a/.config/nvim/lua/plugins/render-makdown.lua +++ /dev/null @@ -1,26 +0,0 @@ -return { - 'MeanderingProgrammer/render-markdown.nvim', - -- dependencies = { 'nvim-treesitter/nvim-treesitter', 'echasnovski/mini.nvim' }, -- if you use the mini.nvim suite - -- dependencies = { 'nvim-treesitter/nvim-treesitter', 'echasnovski/mini.icons' }, -- if you use standalone mini plugins - -- dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-tree/nvim-web-devicons' }, -- if you prefer nvim-web-devicons - ---@module 'render-markdown' - ---@type render.md.UserConfig - opts = { - completions = { lsp = { enabled = true } }, - render_modes = true, - heading = { - width = 'block', - min_width = 80, - }, - code = { - disable_background = { 'diff' }, - }, - indent = { - enabled = true, - skip_heading = true, - }, - sign = { - enabled = true, - }, - }, -} diff --git a/.config/nvim/lua/plugins/zen-mode.lua b/.config/nvim/lua/plugins/zen-mode.lua deleted file mode 100644 index ad5fa76..0000000 --- a/.config/nvim/lua/plugins/zen-mode.lua +++ /dev/null @@ -1,11 +0,0 @@ -return { - "folke/zen-mode.nvim", - opts = { - -- your configuration comes here - -- or leave it empty to use the default settings - -- refer to the configuration section below - window = { - width = 90, -- width of the Zen window - } - } -} diff --git a/.config/nvim/settings.vim b/.config/nvim/settings.vim index 2a59797..07c6708 100644 --- a/.config/nvim/settings.vim +++ b/.config/nvim/settings.vim @@ -10,6 +10,11 @@ set tabstop=4 set smartindent set backspace=indent,eol,start +set colorcolumn=81 +"hi ColorColumn ctermbg=lightgrey guibg=lightgrey +set textwidth=80 +set wrap +set linebreak set autoread " Set to auto read when a file is changed from the outside set path+=** @@ -20,14 +25,10 @@ set wildoptions=pum set wildignore+=*/tmp/*,*.so,*.swp,*.zip set wildignore+=*\\tmp\\*,*.exe -set number set number ruler set showmatch -set ruler -set wrap set showbreak=↳\ \ set hidden -set backspace=indent,eol,start set hlsearch set noswapfile set mouse= "remove mouse @@ -39,7 +40,6 @@ set laststatus=1 set t_Co=256 let &t_ut='' -set colorcolumn=81 "hi ColorColumn ctermbg=lightgrey guibg=lightgrey " Show bad whitespace in an obvious but not obnoxious color diff --git a/.config/nvim/spell/en.utf-8.add b/.config/nvim/spell/en.utf-8.add index b03436c..01d2444 100644 --- a/.config/nvim/spell/en.utf-8.add +++ b/.config/nvim/spell/en.utf-8.add @@ -1,2 +1,10 @@ Generative ansible +CXI +HPLC +SED +brokhorst +MOXA +CONFIG +QRIX +EPS diff --git a/.config/nvim/spell/en.utf-8.add.spl b/.config/nvim/spell/en.utf-8.add.spl index 2927c422be404d9af3bcc2411f21bbba843af07f..950d1f614496a97ded326f06efafb933e1d9c261 100644 GIT binary patch literal 154 zcmXAjOAdfA2t=92jTi7BdI}eA-B+#JSbwcCy}gc=1em~MLR&ZCFwT{ah?rb=y_x3q z4A>B0(ZRt$;IU)D%<4IZNO7q>5*i6jP}w)DERNIzZ#Jff#zo+!R*FlP);(=vQksZO MDiZlD2EOsf3q_zD6aWAK literal 61 zcmWIZ^erw(&B-zP&%nT-%9NPSn8#Smn8}#Ln8TRL$N Date: Sun, 19 Oct 2025 16:53:42 -0700 Subject: [PATCH 21/45] feat: mango animation speed and kitty opacity --- .config/kitty/kitty.conf | 2 +- .config/mango/config.conf | 31 +++++++++++++++---------------- 2 files changed, 16 insertions(+), 17 deletions(-) diff --git a/.config/kitty/kitty.conf b/.config/kitty/kitty.conf index c35a384..6c317f0 100644 --- a/.config/kitty/kitty.conf +++ b/.config/kitty/kitty.conf @@ -7,7 +7,7 @@ font_size 11 #text_composition_strategy legacy #modify_font cell_width 95% -#background_opacity 1.0 +background_opacity 0.4 cursor_trail 10 cursor_trail_start_threshold 0 diff --git a/.config/mango/config.conf b/.config/mango/config.conf index ec85617..cb632bf 100644 --- a/.config/mango/config.conf +++ b/.config/mango/config.conf @@ -1,8 +1,8 @@ # More option see https://github.com/DreamMaoMao/mango/wiki/ # Window effect -blur=0 -blur_layer=0 +blur=1 +blur_layer=1 blur_optimized=1 blur_params_num_passes = 2 blur_params_radius = 5 @@ -11,10 +11,10 @@ blur_params_brightness = 0.9 blur_params_contrast = 0.9 blur_params_saturation = 1.2 -shadows = 0 +shadows = 1 layer_shadows = 0 shadow_only_floating = 1 -shadows_size = 10 +shadows_size = 5 shadows_blur = 15 shadows_position_x = 0 shadows_position_y = 0 @@ -38,10 +38,10 @@ zoom_initial_ratio=0.3 zoom_end_ratio=0.8 fadein_begin_opacity=0.5 fadeout_begin_opacity=0.8 -animation_duration_move=500 -animation_duration_open=400 -animation_duration_tag=350 -animation_duration_close=800 +animation_duration_move=200 +animation_duration_open=200 +animation_duration_tag=250 +animation_duration_close=200 animation_curve_open=0.46,1.0,0.29,1 animation_curve_move=0.46,1.0,0.29,1 animation_curve_tag=0.46,1.0,0.29,1 @@ -139,8 +139,8 @@ tagrule=id:9,layout_name:tile # mod keys name: super,ctrl,alt,shift,none # reload config -bind=SUPER,r,reload_config -bind=SUPER,r,spawn_shell, notify-send 'Reloading Config!' +bind=SUPER,c,reload_config +bind=SUPER,c,spawn_shell, notify-send 'Reloading Config!' # menu and terminal bind=SUPER,d,spawn,wofi --show drun -GI @@ -173,7 +173,7 @@ bind=SUPER+SHIFT,l,exchange_client,right # switch window status bind=SUPER,g,toggleglobal, bind=ALT,Tab,toggleoverview, -bind=SUPER,space,togglefloating, +bind=SUPER+SHIFT,space,togglefloating, #bind=ALT,a,togglemaxmizescreen, bind=SUPER,f,togglefullscreen, #bind=ALT+SHIFT,f,togglefakefullscreen, @@ -243,10 +243,10 @@ bind=CTRL+SHIFT,Left,movewin,-50,+0 bind=CTRL+SHIFT,Right,movewin,+50,+0 # resizewin -bind=CTRL+ALT,Up,resizewin,+0,-50 -bind=CTRL+ALT,Down,resizewin,+0,+50 -bind=CTRL+ALT,Left,resizewin,-50,+0 -bind=CTRL+ALT,Right,resizewin,+50,+0 +bind=none,Up,resizewin,+0,-50 +bind=none,Down,resizewin,+0,+50 +bind=none,Left,resizewin,-50,+0 +bind=none,Right,resizewin,+50,+0 # Mouse Button Bindings # NONE mode key only work in ov mode @@ -266,7 +266,6 @@ mousebind=SUPER,btn_right,moveresize,curresize layerrule=animation_type_open:zoom,layer_name:wofi layerrule=animation_type_close:zoom,layer_name:wofi - # Volume control bind=none,XF86AudioRaiseVolume,spawn_shell,pactl set-sink-volume @DEFAULT_SINK@ +5% && pkill -RTMIN+10 i3blocks;, bind=none,XF86AudioLowerVolume,spawn_shell,pactl set-sink-volume @DEFAULT_SINK@ -5% && pkill -RTMIN+10 i3blocks;, From d524ebac95c7ec2adec53ca943b4675cd2bed387 Mon Sep 17 00:00:00 2001 From: Josue Zamudio Date: Fri, 21 Nov 2025 08:19:00 -0800 Subject: [PATCH 22/45] latest --- .config/kitty/kitty.conf | 2 +- .config/mango/autostart.sh | 2 + .config/mango/config.conf | 51 ++++++------ .config/mango/waybar/config.jsonc | 4 +- .config/nvim/init.lua | 6 ++ .config/sway/config | 20 ++--- .config/sway/config.d/swayfx | 110 ++++++++++++------------- .config/sway/scripts/screen-capture.sh | 3 + .config/tmux/tmux.conf | 4 +- .config/waybar/config.jsonc | 8 +- 10 files changed, 111 insertions(+), 99 deletions(-) create mode 100644 .config/sway/scripts/screen-capture.sh diff --git a/.config/kitty/kitty.conf b/.config/kitty/kitty.conf index 6c317f0..0584aa1 100644 --- a/.config/kitty/kitty.conf +++ b/.config/kitty/kitty.conf @@ -7,7 +7,7 @@ font_size 11 #text_composition_strategy legacy #modify_font cell_width 95% -background_opacity 0.4 +background_opacity 20 cursor_trail 10 cursor_trail_start_threshold 0 diff --git a/.config/mango/autostart.sh b/.config/mango/autostart.sh index 4e10a34..8bff596 100755 --- a/.config/mango/autostart.sh +++ b/.config/mango/autostart.sh @@ -25,4 +25,6 @@ dex -a & # screen record or share dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=wlroots + /usr/lib/xdg-desktop-portal-wlr & + diff --git a/.config/mango/config.conf b/.config/mango/config.conf index cb632bf..9dc4728 100644 --- a/.config/mango/config.conf +++ b/.config/mango/config.conf @@ -2,7 +2,7 @@ # Window effect blur=1 -blur_layer=1 +blur_layer=0 blur_optimized=1 blur_params_num_passes = 2 blur_params_radius = 5 @@ -12,7 +12,7 @@ blur_params_contrast = 0.9 blur_params_saturation = 1.2 shadows = 1 -layer_shadows = 0 +layer_shadows = 1 shadow_only_floating = 1 shadows_size = 5 shadows_blur = 15 @@ -52,7 +52,7 @@ scroller_structs=20 scroller_default_proportion=1.0 scroller_focus_center=0 scroller_prefer_center=0 -edge_scroller_pointer_focus=1 +edge_scroller_pointer_focus=0 scroller_default_proportion_single=1.0 scroller_proportion_preset=1.0,1.0,1.0 @@ -64,8 +64,8 @@ smartgaps=0 # Overview Setting hotarea_size=10 -enable_hotarea=1 -ov_tab_mode=0 +enable_hotarea=0 +ov_tab_mode=1 overviewgappi=5 overviewgappo=30 @@ -84,8 +84,9 @@ cursor_size=24 drag_tile_to_tile=1 # keyboard -repeat_rate=25 -repeat_delay=600 +#repeat_rate=25 +repeat_rate=30 +repeat_delay=300 numlockon=1 xkb_rules_layout=us @@ -112,7 +113,7 @@ gappoh=10 gappov=10 scratchpad_width_ratio=0.8 scratchpad_height_ratio=0.9 -borderpx=4 +borderpx=1 rootcolor=0x201b14ff bordercolor=0x444444ff focuscolor=0xc9b890ff @@ -138,6 +139,9 @@ tagrule=id:9,layout_name:tile # key name refer to `xev` or `wev` command output, # mod keys name: super,ctrl,alt,shift,none +bind=SUPER,period,incnmaster,+1 +bind=SUPER,comma,incnmaster,-1 + # reload config bind=SUPER,c,reload_config bind=SUPER,c,spawn_shell, notify-send 'Reloading Config!' @@ -147,7 +151,8 @@ bind=SUPER,d,spawn,wofi --show drun -GI bind=SUPER,Return,spawn,kitty # exit -bind=SUPER+SHIFT,m,quit +#bind=SUPER+SHIFT,e,quit +bind=SUPER+SHIFT,m,spawn_shell, wlr-randr --output eDP-1 --toggle bind=SUPER,m,spawn_shell, playerctl pause; swaylock -f -c 000000 # lock bind=SUPER+SHIFT,q,killclient, @@ -200,16 +205,16 @@ bind=SUPER,s,setlayout,scroller bind=SUPER,a,togglegaps # tag switch -bind=SUPER,1,view,1,0 -bind=SUPER,2,view,2,0 -bind=SUPER,3,view,3,0 -bind=SUPER,4,view,4,0 -bind=SUPER,5,view,5,0 -bind=SUPER,6,view,6,0 -bind=SUPER,7,view,7,0 -bind=SUPER,8,view,8,0 -bind=SUPER,9,view,9,0 -bind=SUPER,0,view,0,0 +bind=SUPER,1,comboview,1,0 +bind=SUPER,2,comboview,2,0 +bind=SUPER,3,comboview,3,0 +bind=SUPER,4,comboview,4,0 +bind=SUPER,5,comboview,5,0 +bind=SUPER,6,comboview,6,0 +bind=SUPER,7,comboview,7,0 +bind=SUPER,8,comboview,8,0 +bind=SUPER,9,comboview,9,0 +bind=SUPER,0,comboview,0,0 # tag: move client to the tag and focus it # tagsilent: move client to the tag and not focus it @@ -243,10 +248,10 @@ bind=CTRL+SHIFT,Left,movewin,-50,+0 bind=CTRL+SHIFT,Right,movewin,+50,+0 # resizewin -bind=none,Up,resizewin,+0,-50 -bind=none,Down,resizewin,+0,+50 -bind=none,Left,resizewin,-50,+0 -bind=none,Right,resizewin,+50,+0 +#bind=none,Up,resizewin,+0,-50 +#bind=none,Down,resizewin,+0,+50 +#bind=none,Left,resizewin,-50,+0 +#bind=none,Right,resizewin,+50,+0 # Mouse Button Bindings # NONE mode key only work in ov mode diff --git a/.config/mango/waybar/config.jsonc b/.config/mango/waybar/config.jsonc index 8f5764c..6fc30d1 100644 --- a/.config/mango/waybar/config.jsonc +++ b/.config/mango/waybar/config.jsonc @@ -45,8 +45,8 @@ "num-tags":9, }, "dwl/window": { - //"format": "[{layout}]{title}" - "format": "[{layout}]" + "format": "[{layout}] {title}" + //"format": "[{layout}]" }, // Modules configuration // "sway/workspaces": { diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 72b2b2b..d8c6be6 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -44,12 +44,14 @@ vim.cmd("set nocompatible") vim.cmd("syntax on") vim.cmd("filetype plugin indent on") vim.cmd("set number") + vim.cmd("set relativenumber") vim.cmd("set expandtab") vim.cmd("set shiftwidth=4") vim.cmd("set softtabstop=4") vim.cmd("set tabstop=4") vim.cmd("set smartindent") + vim.cmd("set backspace=indent,eol,start") vim.cmd("set colorcolumn=81") vim.cmd("set textwidth=80") @@ -57,6 +59,10 @@ vim.cmd("set wrap") vim.cmd("set linebreak") vim.cmd("noswapfile") +vim.cmd("set autoread") +vim.cmd("set complete-=i") +vim.cmd("set lazyredraw") + vim.cmd("au FileType python set fileformat=unix encoding=utf-8") vim.cmd("au FileType markdown,tex set spell spelllang=en_us") diff --git a/.config/sway/config b/.config/sway/config index 7bb44a3..eeda209 100644 --- a/.config/sway/config +++ b/.config/sway/config @@ -17,17 +17,13 @@ set $up k set $right l set $laptop eDP-1 - include ~/.config/sway/config.d/* - -exec systemctl --user start sway-audio-idle-inhibit exec systemctl --user start shikane - ### Output configuration # You can get the names of your outputs by running: swaymsg -t get_outputs # https://gitlab.com/w0lff/shikane for multitple display handling -output * bg /home/jozamudi/Documents/Wallpapers/windows-11-stock-official-colorful-3840x2160-5658.jpg fill +#output * bg /home/jozamudi/Documents/Wallpapers/windows-11-stock-official-colorful-3840x2160-5658.jpg fill output eDP-1 scale 1.7 #output 'BNQ BenQ PD3200U S2N01233019' scale 1.5 #exec_always shikanectl reload @@ -43,11 +39,11 @@ exec_always --no-startup-id '/home/jozamudi/.config/sway/scripts/clamshell-mode. #} ### Idle configuration -exec swayidle -w \ - timeout 300 'swaylock -f -c 000000' \ - timeout 600 'swaymsg "output * power off"' \ - resume 'swaymsg "output * power on"' \ - before-sleep 'swaylock -f -c 000000' +#exec swayidle -w \ +# timeout 300 'swaylock -f -c 000000' \ +# timeout 600 'swaymsg "output * power off"' \ +# resume 'swaymsg "output * power on"' \ +# before-sleep 'swaylock -f -c 000000' seat seat0 xcursor_theme Adwaita 25 @@ -63,8 +59,8 @@ exec dex -a #better audio #exec easyeffects -w -l Laptop -default_border pixel 2 -default_floating_border pixel 2 +#default_border pixel 2 +#default_floating_border pixel 2 exec systemctl --user import-environment XDG_SESSION_TYPE XDG_CURRENT_DESKTOP exec dbus-update-activation-environment --systemd WAYLAND_DISPLAY DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP=sway XDG_SESSION_DESKTOP=sway diff --git a/.config/sway/config.d/swayfx b/.config/sway/config.d/swayfx index f88264a..48dea80 100644 --- a/.config/sway/config.d/swayfx +++ b/.config/sway/config.d/swayfx @@ -1,56 +1,56 @@ #smart_corner_radius on -##gaps inner 6 -## -##default_border pixel 1 -## -##corner_radius 8 -##blur enable -##blur_passes 2 -##blur_radius 2 -##layer_effects "waybar" "blur enable"; shadows enable -##shadows on -##shadow_blur_radius 5 -## -###https://github.com/rkubosz/base16-sway -## -###set $base00 #031A16 -###set $base01 #0B342D -###set $base02 #184E45 -###set $base03 #2B685E -###set $base04 #5F9C92 -###set $base05 #81B5AC -###set $base06 #A7CEC8 -###set $base07 #D2E7E4 -###set $base08 #3E9688 -###set $base09 #3E7996 -###set $base0A #3E4C96 -###set $base0B #883E96 -###set $base0C #963E4C -###set $base0D #96883E -###set $base0E #4C963E -###set $base0F #3E965B -## -##set $base00 #000000 -##set $base01 #121212 -##set $base02 #222222 -##set $base03 #333333 -##set $base04 #999999 -##set $base05 #c1c1c1 -##set $base06 #999999 -##set $base07 #c1c1c1 -##set $base08 #5f8787 -##set $base09 #aaaaaa -##set $base0A #a06666 -##set $base0B #dd9999 -##set $base0C #aaaaaa -##set $base0D #888888 -##set $base0E #999999 -##set $base0F #444444 -## -### Property Name Border BG Text Indicator Child Border -##client.focused $base05 $base0D $base00 $base0D $base0D -##client.focused_inactive $base01 $base01 $base05 $base03 $base01 -##client.unfocused $base01 $base00 $base05 $base01 $base01 -##client.urgent $base08 $base08 $base00 $base08 $base08 -##client.placeholder $base00 $base00 $base05 $base00 $base00 -##client.background $base07 +gaps inner 6 + +default_border pixel 2 + +corner_radius 8 +blur enable +blur_passes 2 +blur_radius 2 +layer_effects "waybar" "blur enable"; shadows enable +shadows on +shadow_blur_radius 5 + +#https://github.com/rkubosz/base16-sway + +#set $base00 #031A16 +#set $base01 #0B342D +#set $base02 #184E45 +#set $base03 #2B685E +#set $base04 #5F9C92 +#set $base05 #81B5AC +#set $base06 #A7CEC8 +#set $base07 #D2E7E4 +#set $base08 #3E9688 +#set $base09 #3E7996 +#set $base0A #3E4C96 +#set $base0B #883E96 +#set $base0C #963E4C +#set $base0D #96883E +#set $base0E #4C963E +#set $base0F #3E965B + +#set $base00 #000000 +#set $base01 #121212 +#set $base02 #222222 +#set $base03 #333333 +#set $base04 #999999 +#set $base05 #c1c1c1 +#set $base06 #999999 +#set $base07 #c1c1c1 +#set $base08 #5f8787 +#set $base09 #aaaaaa +#set $base0A #a06666 +#set $base0B #dd9999 +#set $base0C #aaaaaa +#set $base0D #888888 +#set $base0E #999999 +#set $base0F #444444 + +# Property Name Border BG Text Indicator Child Border +#client.focused $base05 $base0D $base00 $base0D $base0D +#client.focused_inactive $base01 $base01 $base05 $base03 $base01 +#client.unfocused $base01 $base00 $base05 $base01 $base01 +#client.urgent $base08 $base08 $base00 $base08 $base08 +#client.placeholder $base00 $base00 $base05 $base00 $base00 +#client.background $base07 diff --git a/.config/sway/scripts/screen-capture.sh b/.config/sway/scripts/screen-capture.sh new file mode 100644 index 0000000..aa2fe68 --- /dev/null +++ b/.config/sway/scripts/screen-capture.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +slur diff --git a/.config/tmux/tmux.conf b/.config/tmux/tmux.conf index e65029f..98399f7 100644 --- a/.config/tmux/tmux.conf +++ b/.config/tmux/tmux.conf @@ -52,8 +52,8 @@ set-option -g update-environment "SSH_AUTH_SOCK \ DISPLAY " set -g status-position bottom -set -g status-left "#{session_name} " +set -g status-left " #{session_name} " set -g status-right "" set -g status-right-length 100 -set -g status-style 'fg=default' +# set -g status-style 'fg=default' diff --git a/.config/waybar/config.jsonc b/.config/waybar/config.jsonc index c19eee2..074df32 100644 --- a/.config/waybar/config.jsonc +++ b/.config/waybar/config.jsonc @@ -172,7 +172,7 @@ "network": { // "interface": "wlp2*", // (Optional) To force the use of this interface "format-wifi": "{essid} ({signalStrength}%) ", - "format-ethernet": "{ipaddr}/{cidr} ", + "format-ethernet": "{ipaddr}/{cidr} ", "tooltip-format": "{ifname} via {gwaddr} ", "format-linked": "{ifname} (No IP) ", "format-disconnected": "Disconnected ⚠", @@ -181,9 +181,9 @@ "pulseaudio": { // "scroll-step": 1, // %, can be a float "format": "{volume}% {icon} {format_source}", - "format-bluetooth": "{volume}% {icon}  {format_source}", - "format-bluetooth-muted": " {icon} {format_source}", - "format-muted": " {format_source}", + "format-bluetooth": "{volume}% {icon}  {format_source}", + "format-bluetooth-muted": " {icon}  {format_source}", + "format-muted": " {format_source}", "format-source": "{volume}% ", "format-source-muted": "", "format-icons": { From a1ef3c6e1263f74c5f7520759760d980a152da85 Mon Sep 17 00:00:00 2001 From: Josue Zamudio Date: Sat, 29 Nov 2025 11:30:17 -0800 Subject: [PATCH 23/45] feat:new nvim config and some other stuff --- .config/nvim/init.lua | 42 +------------- .config/nvim/lazy-lock.json | 13 +---- .config/nvim/lua/config/lazy.lua | 35 ++++++++++++ .config/nvim/lua/plugins/copilot.lua | 12 ---- .config/nvim/lua/plugins/harpoon.lua | 23 -------- .config/nvim/lua/plugins/lsp-config.lua | 12 ---- .config/nvim/lua/plugins/lualine.lua | 46 --------------- .config/nvim/lua/plugins/nvim-lspconfig.lua | 6 ++ .config/nvim/lua/plugins/telescope.lua | 13 +++-- .config/nvim/settings.vim | 56 ------------------ .config/nvim/spell/en.utf-8.add | 10 ---- .config/nvim/spell/en.utf-8.add.spl | Bin 154 -> 0 bytes .config/sway/config | 14 ++++- .config/sway/config.d/swayfx | 60 ++++++++++---------- .config/waybar/config.jsonc | 7 ++- .config/waybar/style.css | 14 +---- 16 files changed, 104 insertions(+), 259 deletions(-) create mode 100644 .config/nvim/lua/config/lazy.lua delete mode 100644 .config/nvim/lua/plugins/copilot.lua delete mode 100644 .config/nvim/lua/plugins/harpoon.lua delete mode 100644 .config/nvim/lua/plugins/lsp-config.lua delete mode 100644 .config/nvim/lua/plugins/lualine.lua create mode 100644 .config/nvim/lua/plugins/nvim-lspconfig.lua delete mode 100644 .config/nvim/settings.vim delete mode 100644 .config/nvim/spell/en.utf-8.add delete mode 100644 .config/nvim/spell/en.utf-8.add.spl diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index d8c6be6..11b52c8 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -1,37 +1,5 @@ -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", -- latest stable release - lazypath, - }) -end +require("config.lazy") -vim.opt.rtp:prepend(lazypath) --- coq used for completion -vim.g.coq_settings = { - auto_start = true, - xdg = true, - completion = { - always = false, - }, - keymap = { - manual_complete = '', - } -} - --- code completion -require('lazy').setup('plugins') - -local coq = require 'coq' -require("mason").setup() -- used for automatically enabling lsp and coq -require("mason-lspconfig").setup() - --- Settings ---vim.cmd('source ~/.config/nvim/settings.vim') -- colorscheme vim.o.termguicolors = true @@ -40,6 +8,8 @@ vim.opt.winborder = 'rounded' --vim.cmd("colorscheme gruvbox ") --vim.cmd("colorscheme retrobox") +vim.opt.clipboard = "unnamedplus" -- uses the clipboard register for all operations except yank. + vim.cmd("set nocompatible") vim.cmd("syntax on") vim.cmd("filetype plugin indent on") @@ -67,9 +37,3 @@ vim.cmd("au FileType python set fileformat=unix encoding=utf-8") vim.cmd("au FileType markdown,tex set spell spelllang=en_us") --- keymaps -vim.keymap.set('n', '/', ':nohlsearch') -vim.keymap.set('n', 'b', ':buffers') -vim.keymap.set('n', 'bp', ':bp') -vim.keymap.set('n', 'bn', ':bn') - diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index bd093da..eb29bbc 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,16 +1,9 @@ { "black-metal-theme-neovim": { "branch": "main", "commit": "6d0207871387077f40d5396ab1ae90520e688d36" }, - "copilot.vim": { "branch": "release", "commit": "da369d90cfd6c396b1d0ec259836a1c7222fb2ea" }, - "coq_nvim": { "branch": "coq", "commit": "a63d28a9aa59c20a503ce38608fb6bc7cb3842f4" }, - "harpoon": { "branch": "master", "commit": "1bc17e3e42ea3c46b33c0bbad6a880792692a1b3" }, - "lazy.nvim": { "branch": "main", "commit": "1ea3c4085785f460fb0e46d2fe1ee895f5f9e7c1" }, - "lualine.nvim": { "branch": "master", "commit": "b8c23159c0161f4b89196f74ee3a6d02cdc3a955" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "6bdb14f230de0904229ec367b410fb817e59b072" }, - "mason.nvim": { "branch": "main", "commit": "ad7146aa61dcaeb54fa900144d768f040090bff0" }, - "nvim-lspconfig": { "branch": "master", "commit": "ac98db2f9f06a56498ec890a96928774eae412c3" }, + "lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" }, + "nvim-lspconfig": { "branch": "master", "commit": "07f4e93de92e8d4ea7ab99602e3a8c9ac0fb778a" }, "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, - "nvim-web-devicons": { "branch": "master", "commit": "b8221e42cf7287c4dcde81f232f58d7b947c210d" }, "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, - "telescope.nvim": { "branch": "master", "commit": "776b509f80dd49d8205b9b0d94485568236d1192" }, + "telescope.nvim": { "branch": "master", "commit": "84b9ba066d1860f7a586ce9cd732fd6c4f77d1d9" }, "vim-tmux-navigator": { "branch": "master", "commit": "c45243dc1f32ac6bcf6068e5300f3b2b237e576a" } } diff --git a/.config/nvim/lua/config/lazy.lua b/.config/nvim/lua/config/lazy.lua new file mode 100644 index 0000000..731cb05 --- /dev/null +++ b/.config/nvim/lua/config/lazy.lua @@ -0,0 +1,35 @@ +-- Bootstrap lazy.nvim +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not (vim.uv or vim.loop).fs_stat(lazypath) then + local lazyrepo = "https://github.com/folke/lazy.nvim.git" + local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath }) + if vim.v.shell_error ~= 0 then + vim.api.nvim_echo({ + { "Failed to clone lazy.nvim:\n", "ErrorMsg" }, + { out, "WarningMsg" }, + { "\nPress any key to exit..." }, + }, true, {}) + vim.fn.getchar() + os.exit(1) + end +end +vim.opt.rtp:prepend(lazypath) + +-- Make sure to setup `mapleader` and `maplocalleader` before +-- loading lazy.nvim so that mappings are correct. +-- This is also a good place to setup other settings (vim.opt) +--vim.g.mapleader = "/\" +--im.g.maplocalleader = "\\" + +-- Setup lazy.nvim +require("lazy").setup({ + spec = { + -- import your plugins + { import = "plugins" }, + }, + -- Configure any other settings here. See the documentation for more details. + -- colorscheme that will be used when installing plugins. + -- install = { colorscheme = { "habamax" } }, + -- automatically check for plugin updates + checker = { enabled = true }, +}) diff --git a/.config/nvim/lua/plugins/copilot.lua b/.config/nvim/lua/plugins/copilot.lua deleted file mode 100644 index 3e92ab6..0000000 --- a/.config/nvim/lua/plugins/copilot.lua +++ /dev/null @@ -1,12 +0,0 @@ -return { - 'github/copilot.vim', - config = function() - vim.keymap.set('i', '', 'copilot#Accept("\\")', { - expr = true, - replace_keycodes = false - }) - vim.keymap.set('i', '', '(copilot-accept-word)') - vim.g.copilot_enabled = 'v:false' - end -} - diff --git a/.config/nvim/lua/plugins/harpoon.lua b/.config/nvim/lua/plugins/harpoon.lua deleted file mode 100644 index 54db346..0000000 --- a/.config/nvim/lua/plugins/harpoon.lua +++ /dev/null @@ -1,23 +0,0 @@ -return { - 'ThePrimeagen/harpoon', - config = function(_, opts) - require('harpoon').setup(opts) - local mark = require('harpoon'.. ".mark") - local ui = require('harpoon'.. ".ui") - - -- Harpoon marked files 1 through 4. - vim.keymap.set("n", "", function() ui.nav_file(1) end) - vim.keymap.set("n", "", function() ui.nav_file(2) end) - vim.keymap.set("n", "", function() ui.nav_file(3) end) - vim.keymap.set("n", "", function() ui.nav_file(4) end) - - -- Harpoon next and previous. - vim.keymap.set("n", "", function() ui.nav_next() end) - vim.keymap.set("n", "", function() ui.nav_prev() end) - - -- Harpoon user interface. - vim.keymap.set("n", "hq", ui.toggle_quick_menu) - vim.keymap.set("n", "ha", mark.add_file) - - end -} diff --git a/.config/nvim/lua/plugins/lsp-config.lua b/.config/nvim/lua/plugins/lsp-config.lua deleted file mode 100644 index fffe64b..0000000 --- a/.config/nvim/lua/plugins/lsp-config.lua +++ /dev/null @@ -1,12 +0,0 @@ -return { - "mason-org/mason-lspconfig.nvim", - dependencies = { - "mason-org/mason.nvim", - "neovim/nvim-lspconfig", - "ms-jpq/coq_nvim", -- Optional (auto complete) - }, - config = function() - --vim.lsp.config('lua_ls',coq.lsp_ensure_capabilities()) - --vim.lsp.config('clangd',coq.lsp_ensure_capabilities()) - end -} diff --git a/.config/nvim/lua/plugins/lualine.lua b/.config/nvim/lua/plugins/lualine.lua deleted file mode 100644 index c6dd481..0000000 --- a/.config/nvim/lua/plugins/lualine.lua +++ /dev/null @@ -1,46 +0,0 @@ -return{ - 'nvim-lualine/lualine.nvim', - dependencies = { 'nvim-tree/nvim-web-devicons', opt = true }, - config = function() - require('lualine').setup { - options = { - icons_enabled = true, - theme = 'auto', - component_separators = { left = '', right = ''}, - section_separators = { left = '', right = ''}, - disabled_filetypes = { - statusline = {}, - winbar = {}, - }, - ignore_focus = {}, - always_divide_middle = true, - globalstatus = false, - refresh = { - statusline = 1000, - tabline = 1000, - winbar = 1000, - } - }, - sections = { - lualine_a = {'mode'}, - lualine_b = {'branch', 'diff', 'diagnostics'}, - lualine_c = {'filename'}, - lualine_x = {'encoding', 'fileformat', 'filetype'}, - lualine_y = {'progress'}, - lualine_z = {'location'} - }, - inactive_sections = { - lualine_a = {}, - lualine_b = {}, - lualine_c = {'filename'}, - lualine_x = {'location'}, - lualine_y = {}, - lualine_z = {} - }, - tabline = {}, - winbar = {}, - inactive_winbar = {}, - extensions = {} - } - end -} diff --git a/.config/nvim/lua/plugins/nvim-lspconfig.lua b/.config/nvim/lua/plugins/nvim-lspconfig.lua new file mode 100644 index 0000000..2d78bee --- /dev/null +++ b/.config/nvim/lua/plugins/nvim-lspconfig.lua @@ -0,0 +1,6 @@ +-- plugins/telescope.lua: +return { + 'neovim/nvim-lspconfig', + config = function() + end +} diff --git a/.config/nvim/lua/plugins/telescope.lua b/.config/nvim/lua/plugins/telescope.lua index c28ed36..a459e4f 100644 --- a/.config/nvim/lua/plugins/telescope.lua +++ b/.config/nvim/lua/plugins/telescope.lua @@ -1,12 +1,13 @@ +-- plugins/telescope.lua: return { - 'nvim-telescope/telescope.nvim', tag = '0.1.2', + 'nvim-telescope/telescope.nvim', tag = 'v0.1.9', dependencies = { 'nvim-lua/plenary.nvim' }, config = function() - local builtin = require('telescope.builtin') - vim.keymap.set('n', 'ff', builtin.find_files, {}) - vim.keymap.set('n', 'fg', builtin.live_grep, {}) - vim.keymap.set('n', 'fb', builtin.buffers, {}) - vim.keymap.set('n', 'fh', builtin.help_tags, {}) + local builtin = require('telescope.builtin') + vim.keymap.set('n', 'ff', builtin.find_files, {}) + vim.keymap.set('n', 'fg', builtin.live_grep, {}) + vim.keymap.set('n', 'fb', builtin.buffers, {}) + vim.keymap.set('n', 'fh', builtin.help_tags, {}) require('telescope').setup{ pickers = { diff --git a/.config/nvim/settings.vim b/.config/nvim/settings.vim deleted file mode 100644 index 07c6708..0000000 --- a/.config/nvim/settings.vim +++ /dev/null @@ -1,56 +0,0 @@ -set nocompatible -syntax on -filetype plugin indent on -set number -set relativenumber -set expandtab -set shiftwidth=4 -set softtabstop=4 -set tabstop=4 -set smartindent -set backspace=indent,eol,start - -set colorcolumn=81 -"hi ColorColumn ctermbg=lightgrey guibg=lightgrey -set textwidth=80 -set wrap -set linebreak - -set autoread " Set to auto read when a file is changed from the outside -set path+=** -set wildmenu -set showcmd -set wildmode=longest:full,full -set wildoptions=pum -set wildignore+=*/tmp/*,*.so,*.swp,*.zip -set wildignore+=*\\tmp\\*,*.exe - -set number ruler -set showmatch -set showbreak=↳\ \ -set hidden -set hlsearch -set noswapfile -set mouse= "remove mouse -"set clipboard=unnamedplus - -" Rendering -set ttyfast -set laststatus=1 -set t_Co=256 -let &t_ut='' - -"hi ColorColumn ctermbg=lightgrey guibg=lightgrey - -" Show bad whitespace in an obvious but not obnoxious color -"highlight pythonSpaceError ctermbg=darkgreen guibg=darkgreen -"highlight BadWhitespace ctermbg=darkgreen guibg=darkgreen -"au BufNewFile,BufRead *.py,*.pyw,*.c,*.h,*.cc,*.hh,*.sh match BadWhitespace /\s\+$/ - -au FileType python - \ set fileformat=unix - \ encoding=utf-8 - -au FileType markdown,tex - \ set spell spelllang=en_us - diff --git a/.config/nvim/spell/en.utf-8.add b/.config/nvim/spell/en.utf-8.add deleted file mode 100644 index 01d2444..0000000 --- a/.config/nvim/spell/en.utf-8.add +++ /dev/null @@ -1,10 +0,0 @@ -Generative -ansible -CXI -HPLC -SED -brokhorst -MOXA -CONFIG -QRIX -EPS diff --git a/.config/nvim/spell/en.utf-8.add.spl b/.config/nvim/spell/en.utf-8.add.spl deleted file mode 100644 index 950d1f614496a97ded326f06efafb933e1d9c261..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 154 zcmXAjOAdfA2t=92jTi7BdI}eA-B+#JSbwcCy}gc=1em~MLR&ZCFwT{ah?rb=y_x3q z4A>B0(ZRt$;IU)D%<4IZNO7q>5*i6jP}w)DERNIzZ#Jff#zo+!R*FlP);(=vQksZO MDiZlD2EOsf3q_zD6aWAK diff --git a/.config/sway/config b/.config/sway/config index eeda209..075bb09 100644 --- a/.config/sway/config +++ b/.config/sway/config @@ -46,7 +46,7 @@ exec_always --no-startup-id '/home/jozamudi/.config/sway/scripts/clamshell-mode. # before-sleep 'swaylock -f -c 000000' -seat seat0 xcursor_theme Adwaita 25 +seat seat0 xcursor_theme Adwaita 35 # Auto start .desktop files using dex exec pipewire @@ -54,7 +54,19 @@ exec swaync exec waybar exec mpd exec dex -a +exec syncthing #exec wl-paste -t text --watch clipman store --no-persist +# There are two wl-paste processes running, one for the primary and one for the normal clipboard +exec wl-paste -t text --watch clipman store +exec wl-paste -p -t text --watch clipman store +# The keybind to select a clipping +bindsym $mod+y exec clipman --primary pick --tool wofi +# Clear all clippings +bindsym $mod+Shift+y exec clipman clear -a +# Remove a selected clipping +bindsym $mod+Mod1+y exec clipman clear --tool wofi +# Empty the current clipping +bindsym $mod+Ctrl+y exec : | wl-copy -p #better audio #exec easyeffects -w -l Laptop diff --git a/.config/sway/config.d/swayfx b/.config/sway/config.d/swayfx index 48dea80..1039db9 100644 --- a/.config/sway/config.d/swayfx +++ b/.config/sway/config.d/swayfx @@ -1,34 +1,34 @@ #smart_corner_radius on -gaps inner 6 +gaps inner 2 default_border pixel 2 -corner_radius 8 -blur enable -blur_passes 2 -blur_radius 2 -layer_effects "waybar" "blur enable"; shadows enable -shadows on -shadow_blur_radius 5 +#corner_radius 8 +#blur enable +#blur_passes 2 +#blur_radius 2 +#layer_effects "waybar" "blur enable"; shadows enable +#shadows on +#shadow_blur_radius 5 #https://github.com/rkubosz/base16-sway -#set $base00 #031A16 -#set $base01 #0B342D -#set $base02 #184E45 -#set $base03 #2B685E -#set $base04 #5F9C92 -#set $base05 #81B5AC -#set $base06 #A7CEC8 -#set $base07 #D2E7E4 -#set $base08 #3E9688 -#set $base09 #3E7996 -#set $base0A #3E4C96 -#set $base0B #883E96 -#set $base0C #963E4C -#set $base0D #96883E -#set $base0E #4C963E -#set $base0F #3E965B +set $base00 #031A16 +set $base01 #0B342D +set $base02 #184E45 +set $base03 #2B685E +set $base04 #5F9C92 +set $base05 #81B5AC +set $base06 #A7CEC8 +set $base07 #D2E7E4 +set $base08 #3E9688 +set $base09 #3E7996 +set $base0A #3E4C96 +set $base0B #883E96 +set $base0C #963E4C +set $base0D #96883E +set $base0E #4C963E +set $base0F #3E965B #set $base00 #000000 #set $base01 #121212 @@ -48,9 +48,9 @@ shadow_blur_radius 5 #set $base0F #444444 # Property Name Border BG Text Indicator Child Border -#client.focused $base05 $base0D $base00 $base0D $base0D -#client.focused_inactive $base01 $base01 $base05 $base03 $base01 -#client.unfocused $base01 $base00 $base05 $base01 $base01 -#client.urgent $base08 $base08 $base00 $base08 $base08 -#client.placeholder $base00 $base00 $base05 $base00 $base00 -#client.background $base07 +client.focused $base05 $base0D $base00 $base0D $base0D +client.focused_inactive $base01 $base01 $base05 $base03 $base01 +client.unfocused $base01 $base00 $base05 $base01 $base01 +client.urgent $base08 $base08 $base00 $base08 $base08 +client.placeholder $base00 $base00 $base05 $base00 $base00 +client.background $base07 diff --git a/.config/waybar/config.jsonc b/.config/waybar/config.jsonc index 074df32..c97fa55 100644 --- a/.config/waybar/config.jsonc +++ b/.config/waybar/config.jsonc @@ -4,20 +4,21 @@ // "position": "bottom", // Waybar position (top|bottom|left|right) //"height": 10, // Waybar height (to be removed for auto height) // "width": 1280, // Waybar width - "spacing": 6, // Gaps between modules (4px) + "spacing": 2, // Gaps between modules (4px) // Choose the order of the modules "modules-left": [ "sway/workspaces", "sway/mode", "sway/scratchpad", - "custom/media" + "custom/media", + "sway/window" ], //"modules-center": [ //"sway/window" //], "modules-right": [ "mpd", - "custom/audio_idle_inhibitor", + //"custom/audio_idle_inhibitor", "pulseaudio", "network", //"power-profiles-daemon", diff --git a/.config/waybar/style.css b/.config/waybar/style.css index 67edb80..9204eba 100644 --- a/.config/waybar/style.css +++ b/.config/waybar/style.css @@ -25,14 +25,6 @@ window#waybar.solo { /*background-color: #FFFFFF;*/ } -window#waybar.termite { - background-color: #3F3F3F; -} - -window#waybar.chromium { - background-color: #000000; - border: none; -} button { /* Use box-shadow instead of border so the text isn't offset */ @@ -54,8 +46,8 @@ button:hover { } #workspaces button { - padding: 0 5px; - background-color: transparent; + padding: 0 4px; + /*background-color: transparent;*/ color: #ffffff; } @@ -65,7 +57,7 @@ button:hover { #workspaces button.focused { background-color: #64727D; - box-shadow: inset 0 -3px #ffffff; + /*box-shadow: inset 0 -3px #ffffff;*/ } #workspaces button.urgent { From 833d17bc94e27e2fcf0f60366295aedce3a55369 Mon Sep 17 00:00:00 2001 From: Josue Zamudio Date: Mon, 1 Dec 2025 20:02:30 -0800 Subject: [PATCH 24/45] Update sway config to set Mod4 as mod key and other tweaks --- .config/sway/config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/sway/config b/.config/sway/config index 075bb09..6e18e81 100644 --- a/.config/sway/config +++ b/.config/sway/config @@ -24,7 +24,7 @@ exec systemctl --user start shikane # You can get the names of your outputs by running: swaymsg -t get_outputs # https://gitlab.com/w0lff/shikane for multitple display handling #output * bg /home/jozamudi/Documents/Wallpapers/windows-11-stock-official-colorful-3840x2160-5658.jpg fill -output eDP-1 scale 1.7 +#output eDP-1 scale 1.7 #output 'BNQ BenQ PD3200U S2N01233019' scale 1.5 #exec_always shikanectl reload From 798d6bb69c3af4996a74928d4e917da7e007fd15 Mon Sep 17 00:00:00 2001 From: Josue Zamudio Date: Mon, 1 Dec 2025 20:03:07 -0800 Subject: [PATCH 25/45] Add autoload autocommands for file change reload --- .config/nvim/init.lua | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 11b52c8..a9782d6 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -1,6 +1,5 @@ require("config.lazy") - -- colorscheme vim.o.termguicolors = true vim.opt.winborder = 'rounded' @@ -36,4 +35,25 @@ vim.cmd("set lazyredraw") vim.cmd("au FileType python set fileformat=unix encoding=utf-8") vim.cmd("au FileType markdown,tex set spell spelllang=en_us") +-- ------------------------------------------------------------------------ +-- Auto‑reload buffers when files change externally +-- ------------------------------------------------------------------------ +-- Ensure the option is enabled (already set above, but kept for clarity) +vim.cmd("set autoread") +-- Create a dedicated augroup to avoid duplicate autocommands if this file +-- is sourced multiple times (e.g., when using :source ~/.config/nvim/init.lua). +vim.api.nvim_create_augroup("AutoReload", { clear = true }) + +-- Run `checktime` for the following events: +-- * CursorHold, CursorHoldI – idle cursor, typical for auto‑check +-- * FocusGained – when you return to Neovim from another app +-- * BufEnter – when you jump to a buffer that may already be stale +vim.api.nvim_create_autocmd( + { "CursorHold", "CursorHoldI", "FocusGained", "BufEnter" }, + { + group = "AutoReload", + pattern = "*", + command = "silent! checktime", + } +) From acd842c2aac989bd39bbe6496acca45d526cd0eb Mon Sep 17 00:00:00 2001 From: Josue Zamudio Date: Mon, 15 Dec 2025 15:49:30 -0800 Subject: [PATCH 26/45] latest lsp config with mason and autocomplete --- .config/nvim/init.lua | 22 --------- .config/nvim/lazy-lock.json | 4 ++ .config/nvim/lua/config/lazy.lua | 2 +- .config/nvim/lua/plugins/mason.lua | 54 +++++++++++++++++++++ .config/nvim/lua/plugins/nvim-lspconfig.lua | 6 --- 5 files changed, 59 insertions(+), 29 deletions(-) create mode 100644 .config/nvim/lua/plugins/mason.lua delete mode 100644 .config/nvim/lua/plugins/nvim-lspconfig.lua diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index a9782d6..a05809b 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -30,30 +30,8 @@ vim.cmd("noswapfile") vim.cmd("set autoread") vim.cmd("set complete-=i") -vim.cmd("set lazyredraw") vim.cmd("au FileType python set fileformat=unix encoding=utf-8") vim.cmd("au FileType markdown,tex set spell spelllang=en_us") --- ------------------------------------------------------------------------ --- Auto‑reload buffers when files change externally --- ------------------------------------------------------------------------ --- Ensure the option is enabled (already set above, but kept for clarity) -vim.cmd("set autoread") --- Create a dedicated augroup to avoid duplicate autocommands if this file --- is sourced multiple times (e.g., when using :source ~/.config/nvim/init.lua). -vim.api.nvim_create_augroup("AutoReload", { clear = true }) - --- Run `checktime` for the following events: --- * CursorHold, CursorHoldI – idle cursor, typical for auto‑check --- * FocusGained – when you return to Neovim from another app --- * BufEnter – when you jump to a buffer that may already be stale -vim.api.nvim_create_autocmd( - { "CursorHold", "CursorHoldI", "FocusGained", "BufEnter" }, - { - group = "AutoReload", - pattern = "*", - command = "silent! checktime", - } -) diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index eb29bbc..aa3d07d 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,6 +1,10 @@ { "black-metal-theme-neovim": { "branch": "main", "commit": "6d0207871387077f40d5396ab1ae90520e688d36" }, "lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "3b3571b4dadbcb464804466e9872e7246c316af7" }, + "mason.nvim": { "branch": "main", "commit": "57e5a8addb8c71fb063ee4acda466c7cf6ad2800" }, + "mini.completion": { "branch": "main", "commit": "7c5edfc0e479dd4edd898cc9ddd1920d8c1ce420" }, + "mini.nvim": { "branch": "main", "commit": "6bd3a01aaf7d248aea1b78aacdd5d44bffa002c1" }, "nvim-lspconfig": { "branch": "master", "commit": "07f4e93de92e8d4ea7ab99602e3a8c9ac0fb778a" }, "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, diff --git a/.config/nvim/lua/config/lazy.lua b/.config/nvim/lua/config/lazy.lua index 731cb05..205bc87 100644 --- a/.config/nvim/lua/config/lazy.lua +++ b/.config/nvim/lua/config/lazy.lua @@ -31,5 +31,5 @@ require("lazy").setup({ -- colorscheme that will be used when installing plugins. -- install = { colorscheme = { "habamax" } }, -- automatically check for plugin updates - checker = { enabled = true }, + -- checker = { enabled = true }, }) diff --git a/.config/nvim/lua/plugins/mason.lua b/.config/nvim/lua/plugins/mason.lua new file mode 100644 index 0000000..cd7b751 --- /dev/null +++ b/.config/nvim/lua/plugins/mason.lua @@ -0,0 +1,54 @@ +return { + "mason-org/mason-lspconfig.nvim", + dependencies = { + {"mason-org/mason.nvim"}, + {'neovim/nvim-lspconfig'}, + + {'nvim-mini/mini.nvim'}, + {'nvim-mini/mini.completion'}, + }, + config = function() + require("mason").setup() + require("mason-lspconfig").setup {} + + -- NOTE: this is meant to be backwards compatible with Neovim v0.9 + --- + -- Autocompletion + --- + + require('mini.snippets').setup() + require('mini.completion').setup() + + --- + -- Language server configuration + --- + + -- These keymaps are the defaults in Neovim v0.10 + if vim.fn.has('nvim-0.11') == 0 then + -- NOTE: vim.diagnostic.goto_* methods are deprecated in v0.11 + -- that's why we put these under a conditional block + vim.keymap.set('n', '[d', 'lua vim.diagnostic.goto_prev()') + vim.keymap.set('n', ']d', 'lua vim.diagnostic.goto_next()') + vim.keymap.set('n', 'd', 'lua vim.diagnostic.open_float()') + vim.keymap.set('n', '', 'lua vim.diagnostic.open_float()') + end + + vim.api.nvim_create_autocmd('LspAttach', { + callback = function(event) + local bufmap = function(mode, rhs, lhs) + vim.keymap.set(mode, rhs, lhs, {buffer = event.buf}) + end + + -- These keymaps are the defaults in Neovim v0.11 + bufmap('n', 'K', 'lua vim.lsp.buf.hover()') + bufmap('n', 'grr', 'lua vim.lsp.buf.references()') + bufmap('n', 'gri', 'lua vim.lsp.buf.implementation()') + bufmap('n', 'grn', 'lua vim.lsp.buf.rename()') + bufmap('n', 'gra', 'lua vim.lsp.buf.code_action()') + bufmap('n', 'gO', 'lua vim.lsp.buf.document_symbol()') + bufmap({'i', 's'}, '', 'lua vim.lsp.buf.signature_help()') + end, + }) + + end +} diff --git a/.config/nvim/lua/plugins/nvim-lspconfig.lua b/.config/nvim/lua/plugins/nvim-lspconfig.lua deleted file mode 100644 index 2d78bee..0000000 --- a/.config/nvim/lua/plugins/nvim-lspconfig.lua +++ /dev/null @@ -1,6 +0,0 @@ --- plugins/telescope.lua: -return { - 'neovim/nvim-lspconfig', - config = function() - end -} From e2da3d9a203c0b8364be3949c869bbddefbe0725 Mon Sep 17 00:00:00 2001 From: Josue Zamudio Date: Fri, 19 Dec 2025 22:14:03 -0800 Subject: [PATCH 27/45] feat: Waybar --- .config/sway/config | 3 +- .config/waybar/config.jsonc | 142 +++--------------------------------- .config/waybar/style.css | 6 +- 3 files changed, 17 insertions(+), 134 deletions(-) diff --git a/.config/sway/config b/.config/sway/config index 6e18e81..ebe6ea0 100644 --- a/.config/sway/config +++ b/.config/sway/config @@ -1,5 +1,6 @@ #font 'JetBrainsMono NF' 9 -font 'JetBrainsMono Nerd Font Mono' 9 +#font 'JetBrainsMono Nerd Font Mono' 9 +font 'JetBrainsMonoNFM-Regular' 9 ### Variables #set $mod Mod1 diff --git a/.config/waybar/config.jsonc b/.config/waybar/config.jsonc index c97fa55..15df8ab 100644 --- a/.config/waybar/config.jsonc +++ b/.config/waybar/config.jsonc @@ -1,65 +1,24 @@ // -*- mode: jsonc -*- { - // "layer": "top", // Waybar at top layer - // "position": "bottom", // Waybar position (top|bottom|left|right) - //"height": 10, // Waybar height (to be removed for auto height) - // "width": 1280, // Waybar width "spacing": 2, // Gaps between modules (4px) - // Choose the order of the modules "modules-left": [ "sway/workspaces", "sway/mode", "sway/scratchpad", - "custom/media", "sway/window" ], //"modules-center": [ //"sway/window" //], "modules-right": [ - "mpd", - //"custom/audio_idle_inhibitor", + //"mpd", "pulseaudio", - "network", - //"power-profiles-daemon", - //"cpu", - //"memory", - //"temperature", - //"backlight", - //"keyboard-state", - //"sway/language", + //"network", "battery", - //"battery#bat2", "clock", "tray" //"custom/power" ], - // Modules configuration - // "sway/workspaces": { - // "disable-scroll": true, - // "all-outputs": true, - // "warp-on-scroll": false, - // "format": "{name}: {icon}", - // "format-icons": { - // "1": "", - // "2": "", - // "3": "", - // "4": "", - // "5": "", - // "urgent": "", - // "focused": "", - // "default": "" - // } - // }, - "keyboard-state": { - "numlock": true, - "capslock": true, - "format": "{name} {icon}", - "format-icons": { - "locked": "", - "unlocked": "" - } - }, "sway/mode": { "format": "{}" }, @@ -70,42 +29,6 @@ "tooltip": true, "tooltip-format": "{app}: {title}" }, - "mpd": { - "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {title} ⸨{songPosition}|{queueLength}⸩% ", - "format-alt": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩% ", - "format-disconnected": "Disconnected ", - //"format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", - "format-stopped": "", - //"unknown-tag": "N/A", - "unknown-tag": "", - "interval": 5, - "consume-icons": { - "on": " " - }, - "random-icons": { - "off": " ", - "on": " " - }, - "repeat-icons": { - "on": " " - }, - "single-icons": { - "on": "1 " - }, - "state-icons": { - "paused": "", - "playing": "" - }, - "tooltip-format": "MPD (connected)", - "tooltip-format-disconnected": "MPD (disconnected)" - }, - "idle_inhibitor": { - "format": "{icon}", - "format-icons": { - "activated": "", - "deactivated": "" - } - }, "tray": { // "icon-size": 21, "spacing": 10, @@ -121,26 +44,6 @@ //"format": "{:%R %p %Y-%m-%d}", //"format-alt": "{:%Y-%m-%d}" }, - "cpu": { - "format": "{usage}% ", - "tooltip": false - }, - "memory": { - "format": "{}% " - }, - "temperature": { - // "thermal-zone": 2, - // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", - "critical-threshold": 80, - // "format-critical": "{temperatureC}°C {icon}", - "format": "{temperatureC}°C {icon}", - "format-icons": ["", "", ""] - }, - "backlight": { - // "device": "acpi_video1", - "format": "{percent}% {icon}", - "format-icons": ["", "", "", "", "", "", "", "", ""] - }, "battery": { "states": { // "good": 95, @@ -172,18 +75,19 @@ }, "network": { // "interface": "wlp2*", // (Optional) To force the use of this interface - "format-wifi": "{essid} ({signalStrength}%) ", - "format-ethernet": "{ipaddr}/{cidr} ", - "tooltip-format": "{ifname} via {gwaddr} ", - "format-linked": "{ifname} (No IP) ", - "format-disconnected": "Disconnected ⚠", + //"format-wifi": "{essid} ({signalStrength}%) ", + //"format-ethernet": "{ipaddr}/{cidr} ", + //"tooltip-format": "{ifname} via {gwaddr} ", + //"format-linked": "{ifname} (No IP) ", + //"format-disconnected": "Disconnected ⚠", + "format-disconnected": "Disconnected", "format-alt": "{ifname}: {ipaddr}/{cidr}" }, "pulseaudio": { // "scroll-step": 1, // %, can be a float - "format": "{volume}% {icon} {format_source}", + "format": "{volume}% {icon} {format_source}", "format-bluetooth": "{volume}% {icon}  {format_source}", - "format-bluetooth-muted": " {icon}  {format_source}", + "format-bluetooth-muted": " {icon}  {format_source}", "format-muted": " {format_source}", "format-source": "{volume}% ", "format-source-muted": "", @@ -209,29 +113,5 @@ "escape": true, "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name - }, - "custom/power": { - "format" : "⏻ ", - "tooltip": false, - "menu": "on-click", - "menu-file": "$HOME/.config/waybar/power_menu.xml", // Menu file in resources folder - "menu-actions": { - "shutdown": "shutdown", - "reboot": "reboot", - "suspend": "systemctl suspend", - "hibernate": "systemctl hibernate" - } - }, - "custom/audio_idle_inhibitor": { - "format": "{icon} ", - "exec": "sway-audio-idle-inhibit --dry-print-both-waybar", - "exec-if": "which sway-audio-idle-inhibit", - "return-type": "json", - "format-icons": { - "output": "", - "input": "", - "output-input": " ", - "none": "" - } - } + } } diff --git a/.config/waybar/style.css b/.config/waybar/style.css index 9204eba..e1ecc95 100644 --- a/.config/waybar/style.css +++ b/.config/waybar/style.css @@ -1,8 +1,10 @@ * { /* `otf-font-awesome` is required to be installed for icons */ /*font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif; */ - font-family: "JetBrainsMono NF"; - font-size: 13px; + /*font-family: "JetBrainsMono NF";*/ + font-family: "JetBrainsMonoNFM-Regular"; + font-size: 14px; + font-weight: bold; } window#waybar { From 970a284ebc5e0b65bf89010492cfc84dba265d38 Mon Sep 17 00:00:00 2001 From: Josue Zamudio Date: Tue, 23 Dec 2025 19:33:56 -0800 Subject: [PATCH 28/45] latest --- .config/hypr/hyprland.conf | 280 +++++++++++++++++++++--------------- .config/sway/config | 13 +- .config/waybar/config.jsonc | 8 +- 3 files changed, 181 insertions(+), 120 deletions(-) diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index dc611fb..1364476 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -1,15 +1,14 @@ # ####################################################################################### -# AUTOGENERATED HYPR CONFIG. -# PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT, -# OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS. +# AUTOGENERATED HYPRLAND CONFIG. +# EDIT THIS CONFIG ACCORDING TO THE WIKI INSTRUCTIONS. # ####################################################################################### autogenerated = 0 # remove this line to remove the warning # This is an example Hyprland config file. # Refer to the wiki for more information. -# https://wiki.hyprland.org/Configuring/Configuring-Hyprland/ +# https://wiki.hypr.land/Configuring/ # Please note not all available settings / options are set here. # For a full list, see the wiki @@ -23,21 +22,20 @@ autogenerated = 0 # remove this line to remove the warning ### MONITORS ### ################ -# See https://wiki.hyprland.org/Configuring/Monitors/ -monitor=DP-6,preferred,0x0,auto -monitor=eDP-1,preferred,0x2160,1.8 +# See https://wiki.hypr.land/Configuring/Monitors/ +monitor=,preferred,auto,auto ################### ### MY PROGRAMS ### ################### -# See https://wiki.hyprland.org/Configuring/Keywords/ +# See https://wiki.hypr.land/Configuring/Keywords/ # Set programs that you use -$terminal = footclient +$terminal = kitty $fileManager = dolphin -$menu = wofi --show drun +$menu = wofi --show drun ################# @@ -46,102 +44,154 @@ $menu = wofi --show drun # Autostart necessary processes (like notifications daemons, status bars, etc.) # Or execute your favorite apps at launch like this: -exec-once = waybar -exec-once = foot --server -exec-once = nextcloud-desktop-client.nextcoud + # exec-once = $terminal # exec-once = nm-applet & # exec-once = waybar & hyprpaper & firefox +exec-once = nm-applet & +exec-once = blueman-applet & +exec-once = shikane & +exec-once = waybar & +exec-once = hyprpm reload -n ############################# ### ENVIRONMENT VARIABLES ### ############################# -# See https://wiki.hyprland.org/Configuring/Environment-variables/ +# See https://wiki.hypr.land/Configuring/Environment-variables/ env = XCURSOR_SIZE,24 env = HYPRCURSOR_SIZE,24 +################### +### PERMISSIONS ### +################### + +# See https://wiki.hypr.land/Configuring/Permissions/ +# Please note permission changes here require a Hyprland restart and are not applied on-the-fly +# for security reasons + +# ecosystem { +# enforce_permissions = 1 +# } + +# permission = /usr/(bin|local/bin)/grim, screencopy, allow +# permission = /usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland, screencopy, allow +permission = /usr/(bin|local/bin)/hyprpm, plugin, allow + + ##################### ### LOOK AND FEEL ### ##################### -# Refer to https://wiki.hyprland.org/Configuring/Variables/ +# Refer to https://wiki.hypr.land/Configuring/Variables/ -# https://wiki.hyprland.org/Configuring/Variables/#general -general { - gaps_in = 2 - gaps_out = 2 +# https://wiki.hypr.land/Configuring/Variables/#general +general { + gaps_in = 5 + gaps_out = 5 border_size = 1 - # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors + # https://wiki.hypr.land/Configuring/Variables/#variable-types for info about colors col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg col.inactive_border = rgba(595959aa) # Set to true enable resizing windows by clicking and dragging on borders and gaps - resize_on_border = true + resize_on_border = false - # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on + # Please see https://wiki.hypr.land/Configuring/Tearing/ before you turn this on allow_tearing = false - layout = dwindle + #layout = dwindle + layout = hy3 } -# https://wiki.hyprland.org/Configuring/Variables/#decoration + +# https://wiki.hypr.land/Configuring/Variables/#decoration decoration { - rounding = 10 + rounding = 5 + rounding_power = 2 # Change transparency of focused and unfocused windows active_opacity = 1.0 inactive_opacity = 1.0 - drop_shadow = true - shadow_range = 4 - shadow_render_power = 3 - col.shadow = rgba(1a1a1aee) + shadow { + enabled = true + range = 4 + render_power = 3 + color = rgba(1a1a1aee) + } - # https://wiki.hyprland.org/Configuring/Variables/#blur + # https://wiki.hypr.land/Configuring/Variables/#blur blur { enabled = true size = 3 passes = 1 - + vibrancy = 0.1696 } } -# https://wiki.hyprland.org/Configuring/Variables/#animations +# https://wiki.hypr.land/Configuring/Variables/#animations animations { - enabled = true + enabled = yes, please :) - # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more + # Default curves, see https://wiki.hypr.land/Configuring/Animations/#curves + # NAME, X0, Y0, X1, Y1 + bezier = easeOutQuint, 0.23, 1, 0.32, 1 + bezier = easeInOutCubic, 0.65, 0.05, 0.36, 1 + bezier = linear, 0, 0, 1, 1 + bezier = almostLinear, 0.5, 0.5, 0.75, 1 + bezier = quick, 0.15, 0, 0.1, 1 - 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 + # Default animations, see https://wiki.hypr.land/Configuring/Animations/ + # NAME, ONOFF, SPEED, CURVE, [STYLE] + animation = global, 1, 10, default + animation = border, 1, 5.39, easeOutQuint + animation = windows, 1, 4.79, easeOutQuint + animation = windowsIn, 1, 4.1, easeOutQuint, popin 87% + animation = windowsOut, 1, 1.49, linear, popin 87% + animation = fadeIn, 1, 1.73, almostLinear + animation = fadeOut, 1, 1.46, almostLinear + animation = fade, 1, 3.03, quick + animation = layers, 1, 3.81, easeOutQuint + animation = layersIn, 1, 4, easeOutQuint, fade + animation = layersOut, 1, 1.5, linear, fade + animation = fadeLayersIn, 1, 1.79, almostLinear + animation = fadeLayersOut, 1, 1.39, almostLinear + animation = workspaces, 1, 1.94, almostLinear, fade + animation = workspacesIn, 1, 1.21, almostLinear, fade + animation = workspacesOut, 1, 1.94, almostLinear, fade + animation = zoomFactor, 1, 7, quick } -# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more +# Ref https://wiki.hypr.land/Configuring/Workspace-Rules/ +# "Smart gaps" / "No gaps when only" +# uncomment all if you wish to use that. +# workspace = w[tv1], gapsout:0, gapsin:0 +# workspace = f[1], gapsout:0, gapsin:0 +# windowrule = bordersize 0, floating:0, onworkspace:w[tv1] +# windowrule = rounding 0, floating:0, onworkspace:w[tv1] +# windowrule = bordersize 0, floating:0, onworkspace:f[1] +# windowrule = rounding 0, floating:0, onworkspace:f[1] + +# See https://wiki.hypr.land/Configuring/Dwindle-Layout/ for more dwindle { pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below preserve_split = true # You probably want this } -# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more +# See https://wiki.hypr.land/Configuring/Master-Layout/ for more master { new_status = master } -# https://wiki.hyprland.org/Configuring/Variables/#misc -misc { +# https://wiki.hypr.land/Configuring/Variables/#misc +misc { force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :( } @@ -151,7 +201,7 @@ misc { ### INPUT ### ############# -# https://wiki.hyprland.org/Configuring/Variables/#input +# https://wiki.hypr.land/Configuring/Variables/#input input { kb_layout = us kb_variant = @@ -168,61 +218,61 @@ input { } } -# https://wiki.hyprland.org/Configuring/Variables/#gestures -gestures { - workspace_swipe = true -} +# See https://wiki.hypr.land/Configuring/Gestures +gesture = 3, horizontal, workspace # Example per-device config -# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more +# See https://wiki.hypr.land/Configuring/Keywords/#per-device-input-configs for more device { name = epic-mouse-v1 sensitivity = -0.5 } -#################### -### KEYBINDINGSS ### -#################### +################### +### KEYBINDINGS ### +################### -# See https://wiki.hyprland.org/Configuring/Keywords/ +# See https://wiki.hypr.land/Configuring/Keywords/ $mainMod = SUPER # Sets "Windows" key as main modifier -# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more +# Example binds, see https://wiki.hypr.land/Configuring/Binds/ for more bind = $mainMod, RETURN, exec, $terminal -bind = $mainMod, R, exec, $menu -bind = $mainMod, E, exec, $fileManager - -#bind = $mainMod, J, togglesplit, # dwindle -bind = $mainMod, W, togglegroup, -bind = $mainMod SHIFT, SPACE, togglefloating, -bind = $mainMod SHIFT, Q, killactive, -bind = $mainMod SHIFT, M, exit, - -# Move focus with hjkl -bind = $mainMod, h, movefocus, l -bind = $mainMod, l, movefocus, r -bind = $mainMod, k, movefocus, u -bind = $mainMod, j, movefocus, d - -# Move focus with hjkl -bind = $mainMod SHIFT, h, movewindoworgroup, l -bind = $mainMod SHIFT, l, movewindoworgroup, r -bind = $mainMod SHIFT, k, movewindoworgroup, u -bind = $mainMod SHIFT, j, movewindoworgroup, d - -# move inside of grouped windows -bind = $mainMod, n, changegroupactive, f -bind = $mainMod, p, changegroupactive, b +bind = $mainMod, D, exec, $menu +bind = $mainMod+SHIFT, SPACE, togglefloating, +bind = $mainMod+SHIFT, Q, hy3:killactive, +bind = $mainMod+SHIFT, M, exit, +bind = $mainMod, z, hy3:makegroup, h +bind = $mainMod, v, hy3:makegroup, v +bind = $mainMod, t, hy3:makegroup, tab +bind = $mainMod, a, hy3:changefocus, raise +bind = $mainMod+SHIFT, a, hy3:changefocus, lower +bind = $mainMod, x, hy3:locktab +bind = $mainMod, e, hy3:expand, expand +bind = $mainMod+SHIFT, e, hy3:expand, base +bind = $mainMod, r, hy3:changegroup, opposite # Move focus with mainMod + arrow keys -bind = $mainMod, left, movefocus, l -bind = $mainMod, right, movefocus, r -bind = $mainMod, up, movefocus, u -bind = $mainMod, down, movefocus, d +bind = $mainMod, h, hy3:movefocus, l +bind = $mainMod, j, hy3:movefocus, d +bind = $mainMod, k, hy3:movefocus, u +bind = $mainMod, l, hy3:movefocus, r +bind = $mainMod, left, hy3:movefocus, l +bind = $mainMod, down, hy3:movefocus, d +bind = $mainMod, up, hy3:movefocus, u +bind = $mainMod, right, hy3:movefocus, r +bind = $mainMod+SHIFT, h, hy3:movewindow, l, once +bind = $mainMod+SHIFT, j, hy3:movewindow, d, once +bind = $mainMod+SHIFT, k, hy3:movewindow, u, once +bind = $mainMod+SHIFT, l, hy3:movewindow, r, once +bind = $mainMod+SHIFT, left, hy3:movewindow, l, once +bind = $mainMod+SHIFT, down, hy3:movewindow, d, once +bind = $mainMod+SHIFT, up, hy3:movewindow, u, once +bind = $mainMod+SHIFT, right, hy3:movewindow, r, once + # Switch workspaces with mainMod + [0-9] bind = $mainMod, 1, workspace, 1 bind = $mainMod, 2, workspace, 2 @@ -236,28 +286,20 @@ bind = $mainMod, 9, workspace, 9 bind = $mainMod, 0, workspace, 10 # Move active window to a workspace with mainMod + SHIFT + [0-9] -bind = $mainMod SHIFT, 1, movetoworkspace, 1 -bind = $mainMod SHIFT, 2, movetoworkspace, 2 -bind = $mainMod SHIFT, 3, movetoworkspace, 3 -bind = $mainMod SHIFT, 4, movetoworkspace, 4 -bind = $mainMod SHIFT, 5, movetoworkspace, 5 -bind = $mainMod SHIFT, 6, movetoworkspace, 6 -bind = $mainMod SHIFT, 7, movetoworkspace, 7 -bind = $mainMod SHIFT, 8, movetoworkspace, 8 -bind = $mainMod SHIFT, 9, movetoworkspace, 9 -bind = $mainMod SHIFT, 0, movetoworkspace, 10 - -bind = $mainMod, F, fullscreen - -bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ -bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- -bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle -bindel = ,XF86MonBrightnessDown, exec, brightnessctl set 5%- -bindel = ,XF86MonBrightnessUp ,exec ,brightnessctl set 5%+ +bind = $mainMod SHIFT, 1, hy3:movetoworkspace, 1 +bind = $mainMod SHIFT, 2, hy3:movetoworkspace, 2 +bind = $mainMod SHIFT, 3, hy3:movetoworkspace, 3 +bind = $mainMod SHIFT, 4, hy3:movetoworkspace, 4 +bind = $mainMod SHIFT, 5, hy3:movetoworkspace, 5 +bind = $mainMod SHIFT, 6, hy3:movetoworkspace, 6 +bind = $mainMod SHIFT, 7, hy3:movetoworkspace, 7 +bind = $mainMod SHIFT, 8, hy3:movetoworkspace, 8 +bind = $mainMod SHIFT, 9, hy3:movetoworkspace, 9 +bind = $mainMod SHIFT, 0, hy3:movetoworkspace, 10 # Example special workspace (scratchpad) -bind = $mainMod, MINUS, togglespecialworkspace, magic -bind = $mainMod SHIFT, MINUS, movetoworkspace, special:magic +bind = $mainMod, S, togglespecialworkspace, magic +bind = $mainMod SHIFT, S, movetoworkspace, special:magic # Scroll through existing workspaces with mainMod + scroll bind = $mainMod, mouse_down, workspace, e+1 @@ -267,18 +309,32 @@ bind = $mainMod, mouse_up, workspace, e-1 bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow +# Laptop multimedia keys for volume and LCD brightness +bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+ +bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- +bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle +bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle +bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+ +bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%- + +# Requires playerctl +bindl = , XF86AudioNext, exec, playerctl next +bindl = , XF86AudioPause, exec, playerctl play-pause +bindl = , XF86AudioPlay, exec, playerctl play-pause +bindl = , XF86AudioPrev, exec, playerctl previous ############################## ### WINDOWS AND WORKSPACES ### ############################## -# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more -# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules +# See https://wiki.hypr.land/Configuring/Window-Rules/ for more +# See https://wiki.hypr.land/Configuring/Workspace-Rules/ for workspace rules -# Example windowrule v1 -# windowrule = float, ^(kitty)$ +# Example windowrule +# windowrule = float,class:^(kitty)$,title:^(kitty)$ -# Example windowrule v2 -# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ +# Ignore maximize requests from apps. You'll probably like this. +windowrule = suppressevent maximize, class:.* -windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. +# Fix some dragging issues with XWayland +windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0 diff --git a/.config/sway/config b/.config/sway/config index ebe6ea0..4c04fe5 100644 --- a/.config/sway/config +++ b/.config/sway/config @@ -19,7 +19,6 @@ set $right l set $laptop eDP-1 include ~/.config/sway/config.d/* -exec systemctl --user start shikane ### Output configuration # You can get the names of your outputs by running: swaymsg -t get_outputs @@ -49,13 +48,19 @@ exec_always --no-startup-id '/home/jozamudi/.config/sway/scripts/clamshell-mode. seat seat0 xcursor_theme Adwaita 35 -# Auto start .desktop files using dex -exec pipewire +#exec pipewire exec swaync exec waybar +exec shikane +exec nm-applet +exec blueman-applet + exec mpd -exec dex -a exec syncthing + +# Auto start .desktop files using dex +exec dex -a + #exec wl-paste -t text --watch clipman store --no-persist # There are two wl-paste processes running, one for the primary and one for the normal clipboard exec wl-paste -t text --watch clipman store diff --git a/.config/waybar/config.jsonc b/.config/waybar/config.jsonc index 15df8ab..d2be77d 100644 --- a/.config/waybar/config.jsonc +++ b/.config/waybar/config.jsonc @@ -2,10 +2,10 @@ { "spacing": 2, // Gaps between modules (4px) "modules-left": [ - "sway/workspaces", - "sway/mode", - "sway/scratchpad", - "sway/window" + "hyprland/workspaces", + "hyprland/mode", + "hyprland/scratchpad", + "hyprland/window" ], //"modules-center": [ //"sway/window" From 0d9fd45d34cebe99f7274d36473d1292a2cc6db0 Mon Sep 17 00:00:00 2001 From: Josue Zamudio Date: Thu, 25 Dec 2025 07:51:28 -0800 Subject: [PATCH 29/45] feat: hyperland with i3 manual tiling --- .config/hypr/hyprland.conf | 68 +++++++++++++++++++++----------------- 1 file changed, 38 insertions(+), 30 deletions(-) diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index 1364476..1cf66c7 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -24,6 +24,7 @@ autogenerated = 0 # remove this line to remove the warning # See https://wiki.hypr.land/Configuring/Monitors/ monitor=,preferred,auto,auto +exec-once = swaybg -i ~/Pictures/wallpapers/swoacyk0f3sf1.png ################### @@ -34,8 +35,8 @@ monitor=,preferred,auto,auto # Set programs that you use $terminal = kitty -$fileManager = dolphin -$menu = wofi --show drun +$fileManager = nautilus +$menu = wofi --show drun -GI ################# @@ -53,7 +54,10 @@ exec-once = blueman-applet & exec-once = shikane & exec-once = waybar & exec-once = hyprpm reload -n - +exec-once = flatpak run com.github.wwmm.easyeffects -w +exec-once = powertop --auto-tune +exec-once = systemctl --user start hyprpolkitagent + ############################# ### ENVIRONMENT VARIABLES ### @@ -77,8 +81,8 @@ env = HYPRCURSOR_SIZE,24 # enforce_permissions = 1 # } -# permission = /usr/(bin|local/bin)/grim, screencopy, allow -# permission = /usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland, screencopy, allow +permission = /usr/(bin|local/bin)/grim, screencopy, allow +permission = /usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland, screencopy, allow permission = /usr/(bin|local/bin)/hyprpm, plugin, allow @@ -90,8 +94,8 @@ permission = /usr/(bin|local/bin)/hyprpm, plugin, allow # https://wiki.hypr.land/Configuring/Variables/#general general { - gaps_in = 5 - gaps_out = 5 + gaps_in = 4 + gaps_out = 4 border_size = 1 @@ -112,7 +116,7 @@ general { # https://wiki.hypr.land/Configuring/Variables/#decoration decoration { - rounding = 5 + rounding = 6 rounding_power = 2 # Change transparency of focused and unfocused windows @@ -215,6 +219,7 @@ input { touchpad { natural_scroll = false + tap-to-click = false } } @@ -239,19 +244,22 @@ $mainMod = SUPER # Sets "Windows" key as main modifier # Example binds, see https://wiki.hypr.land/Configuring/Binds/ for more bind = $mainMod, RETURN, exec, $terminal bind = $mainMod, D, exec, $menu -bind = $mainMod+SHIFT, SPACE, togglefloating, -bind = $mainMod+SHIFT, Q, hy3:killactive, -bind = $mainMod+SHIFT, M, exit, +bind = $mainMod, F, fullscreen +bind = $mainMod, S, pin +bind = $mainMod SHIFT, SPACE, togglefloating, +bind = $mainMod SHIFT, Q, hy3:killactive, +bind = $mainMod SHIFT, M, exit, -bind = $mainMod, z, hy3:makegroup, h -bind = $mainMod, v, hy3:makegroup, v -bind = $mainMod, t, hy3:makegroup, tab -bind = $mainMod, a, hy3:changefocus, raise -bind = $mainMod+SHIFT, a, hy3:changefocus, lower -bind = $mainMod, x, hy3:locktab -bind = $mainMod, e, hy3:expand, expand -bind = $mainMod+SHIFT, e, hy3:expand, base -bind = $mainMod, r, hy3:changegroup, opposite + +bind = $mainMod, B, hy3:makegroup, h +bind = $mainMod, V, hy3:makegroup, v +bind = $mainMod, W, hy3:makegroup, tab +bind = $mainMod, A, hy3:changefocus, raise +bind = $mainMod, X, hy3:locktab +bind = $mainMod, E, hy3:expand, expand +bind = $mainMod, R, hy3:changegroup, opposite +bind = $mainMod SHIFT, A, hy3:changefocus, lower +bind = $mainMod SHIFT, E, hy3:expand, base # Move focus with mainMod + arrow keys bind = $mainMod, h, hy3:movefocus, l @@ -264,14 +272,14 @@ bind = $mainMod, up, hy3:movefocus, u bind = $mainMod, right, hy3:movefocus, r -bind = $mainMod+SHIFT, h, hy3:movewindow, l, once -bind = $mainMod+SHIFT, j, hy3:movewindow, d, once -bind = $mainMod+SHIFT, k, hy3:movewindow, u, once -bind = $mainMod+SHIFT, l, hy3:movewindow, r, once -bind = $mainMod+SHIFT, left, hy3:movewindow, l, once -bind = $mainMod+SHIFT, down, hy3:movewindow, d, once -bind = $mainMod+SHIFT, up, hy3:movewindow, u, once -bind = $mainMod+SHIFT, right, hy3:movewindow, r, once +bind = $mainMod SHIFT, h, hy3:movewindow, l, once +bind = $mainMod SHIFT, j, hy3:movewindow, d, once +bind = $mainMod SHIFT, k, hy3:movewindow, u, once +bind = $mainMod SHIFT, l, hy3:movewindow, r, once +bind = $mainMod SHIFT, left, hy3:movewindow, l, once +bind = $mainMod SHIFT, down, hy3:movewindow, d, once +bind = $mainMod SHIFT, up, hy3:movewindow, u, once +bind = $mainMod SHIFT, right, hy3:movewindow, r, once # Switch workspaces with mainMod + [0-9] bind = $mainMod, 1, workspace, 1 @@ -298,8 +306,8 @@ bind = $mainMod SHIFT, 9, hy3:movetoworkspace, 9 bind = $mainMod SHIFT, 0, hy3:movetoworkspace, 10 # Example special workspace (scratchpad) -bind = $mainMod, S, togglespecialworkspace, magic -bind = $mainMod SHIFT, S, movetoworkspace, special:magic +bind = $mainMod, MINUS, togglespecialworkspace, magic +bind = $mainMod SHIFT, MINUS, movetoworkspace, special:magic # Scroll through existing workspaces with mainMod + scroll bind = $mainMod, mouse_down, workspace, e+1 From 685dcfa30125c21829cb074aaec0e604cd3c69ba Mon Sep 17 00:00:00 2001 From: Josue Zamudio Date: Fri, 26 Dec 2025 10:34:05 -0800 Subject: [PATCH 30/45] fix: gitignore --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 8bdb1b2..48dabb8 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -./.config/nvim/lazy-lock.json +.config/nvim/lazy-lock.json From 087b6e8422f10268a2bb3df94d18b2f3d7a4fafe Mon Sep 17 00:00:00 2001 From: Josue Zamudio Date: Fri, 26 Dec 2025 10:35:15 -0800 Subject: [PATCH 31/45] latest --- .config/hypr/hyprland.conf | 2 +- .config/nvim/lazy-lock.json | 13 ------------- .config/tmux/tmux.conf | 10 +++++----- 3 files changed, 6 insertions(+), 19 deletions(-) delete mode 100644 .config/nvim/lazy-lock.json diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index 1cf66c7..feeee7a 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -245,10 +245,10 @@ $mainMod = SUPER # Sets "Windows" key as main modifier bind = $mainMod, RETURN, exec, $terminal bind = $mainMod, D, exec, $menu bind = $mainMod, F, fullscreen -bind = $mainMod, S, pin bind = $mainMod SHIFT, SPACE, togglefloating, bind = $mainMod SHIFT, Q, hy3:killactive, bind = $mainMod SHIFT, M, exit, +bind = $mainMod SHIFT, S, pin bind = $mainMod, B, hy3:makegroup, h diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json deleted file mode 100644 index aa3d07d..0000000 --- a/.config/nvim/lazy-lock.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "black-metal-theme-neovim": { "branch": "main", "commit": "6d0207871387077f40d5396ab1ae90520e688d36" }, - "lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "3b3571b4dadbcb464804466e9872e7246c316af7" }, - "mason.nvim": { "branch": "main", "commit": "57e5a8addb8c71fb063ee4acda466c7cf6ad2800" }, - "mini.completion": { "branch": "main", "commit": "7c5edfc0e479dd4edd898cc9ddd1920d8c1ce420" }, - "mini.nvim": { "branch": "main", "commit": "6bd3a01aaf7d248aea1b78aacdd5d44bffa002c1" }, - "nvim-lspconfig": { "branch": "master", "commit": "07f4e93de92e8d4ea7ab99602e3a8c9ac0fb778a" }, - "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, - "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, - "telescope.nvim": { "branch": "master", "commit": "84b9ba066d1860f7a586ce9cd732fd6c4f77d1d9" }, - "vim-tmux-navigator": { "branch": "master", "commit": "c45243dc1f32ac6bcf6068e5300f3b2b237e576a" } -} diff --git a/.config/tmux/tmux.conf b/.config/tmux/tmux.conf index 98399f7..0a2d382 100644 --- a/.config/tmux/tmux.conf +++ b/.config/tmux/tmux.conf @@ -3,7 +3,7 @@ set -g default-terminal "xterm-256color" bind-key r source-file ~/.config/tmux/tmux.conf \; display "Reloaded!" -set-option -g default-shell /bin/zsh +#set-option -g default-shell /bin/zsh # remap prefix unbind C-b @@ -51,9 +51,9 @@ set-option -g update-environment "SSH_AUTH_SOCK \ SSH_CONNECTION \ DISPLAY " -set -g status-position bottom -set -g status-left " #{session_name} " -set -g status-right "" -set -g status-right-length 100 +# set -g status-position bottom +# set -g status-left " #{session_name} " +# set -g status-right "" +# set -g status-right-length 100 # set -g status-style 'fg=default' From ee3428acd0f422f66548b1f7343b214a7676d2a1 Mon Sep 17 00:00:00 2001 From: Josue Zamudio Date: Thu, 1 Jan 2026 15:23:37 -0800 Subject: [PATCH 32/45] latest --- .config/hypr/hyprland.conf | 8 +- .config/hypr/waybar/config.jsonc | 118 ++++++++++++ .config/hypr/waybar/style.css | 321 +++++++++++++++++++++++++++++++ .config/kitty/kitty.conf | 2 +- .config/sway/config | 1 + .config/waybar/config.jsonc | 8 +- 6 files changed, 449 insertions(+), 9 deletions(-) create mode 100644 .config/hypr/waybar/config.jsonc create mode 100644 .config/hypr/waybar/style.css diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index feeee7a..e00f356 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -24,7 +24,7 @@ autogenerated = 0 # remove this line to remove the warning # See https://wiki.hypr.land/Configuring/Monitors/ monitor=,preferred,auto,auto -exec-once = swaybg -i ~/Pictures/wallpapers/swoacyk0f3sf1.png +exec-once = swaybg -i /usr/share/backgrounds/gnome/vnc-d.png ################### @@ -52,7 +52,7 @@ $menu = wofi --show drun -GI exec-once = nm-applet & exec-once = blueman-applet & exec-once = shikane & -exec-once = waybar & +exec-once = waybar -c ~/.config/hypr/waybar/config.jsonc -s ~/.config/hypr/waybar/style.css & exec-once = hyprpm reload -n exec-once = flatpak run com.github.wwmm.easyeffects -w exec-once = powertop --auto-tune @@ -342,7 +342,7 @@ bindl = , XF86AudioPrev, exec, playerctl previous # windowrule = float,class:^(kitty)$,title:^(kitty)$ # Ignore maximize requests from apps. You'll probably like this. -windowrule = suppressevent maximize, class:.* +#windowrule = suppressevent maximize, class:.* # Fix some dragging issues with XWayland -windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0 +#windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0 diff --git a/.config/hypr/waybar/config.jsonc b/.config/hypr/waybar/config.jsonc new file mode 100644 index 0000000..7a39245 --- /dev/null +++ b/.config/hypr/waybar/config.jsonc @@ -0,0 +1,118 @@ +// -*- mode: jsonc -*- +{ + "spacing": 2, // Gaps between modules (4px) + "modules-left": [ + "hyprland/workspaces", + "hyprland/mode", + "hyprland/scratchpad", + "hyprland/window" + ], + "modules-center": [ + //"sway/window" + "clock", + ], + "modules-right": [ + //"mpd", + "pulseaudio", + //"network", + "battery", + "tray" + //"custom/power" + ], + "sway/mode": { + "format": "{}" + }, + "sway/scratchpad": { + "format": "{icon} {count}", + "show-empty": false, + "format-icons": ["", ""], + "tooltip": true, + "tooltip-format": "{app}: {title}" + }, + "tray": { + // "icon-size": 21, + "spacing": 10, + // "icons": { + // "blueman": "bluetooth", + // "TelegramDesktop": "$HOME/.local/share/icons/hicolor/16x16/apps/telegram.png" + // } + }, + "clock": { + //"timezone": "America/Los_Angeles", + "tooltip-format": "{:%Y %B}\n{calendar}", + "format": "{:%r %Y-%m-%d}", + //"format": "{:%R %p %Y-%m-%d}", + //"format-alt": "{:%Y-%m-%d}" + }, + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + //"format": "{time} {capacity}% {icon}", + "format": "{capacity}% {icon}", + "format-full": "{capacity}% {icon}", + "format-charging": "{capacity}% C", + "format-plugged": "{capacity}% P", + "format-alt": "{time} {icon}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": ["", "", "", "", ""] + }, + "battery#bat2": { + "bat": "BAT2" + }, + "power-profiles-daemon": { + "format": "{icon}", + "tooltip-format": "Power profile: {profile}\nDriver: {driver}", + "tooltip": true, + "format-icons": { + "default": "", + "performance": "", + "balanced": "", + "power-saver": "" + } + }, + "network": { + // "interface": "wlp2*", // (Optional) To force the use of this interface + //"format-wifi": "{essid} ({signalStrength}%) ", + //"format-ethernet": "{ipaddr}/{cidr} ", + //"tooltip-format": "{ifname} via {gwaddr} ", + //"format-linked": "{ifname} (No IP) ", + //"format-disconnected": "Disconnected ⚠", + "format-disconnected": "Disconnected", + "format-alt": "{ifname}: {ipaddr}/{cidr}" + }, + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{volume}% {icon} {format_source}", + "format-bluetooth": "{volume}% {icon}  {format_source}", + "format-bluetooth-muted": " {icon}  {format_source}", + "format-muted": " {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] + }, + "on-click": "pavucontrol" + }, + "custom/media": { + "format": "{icon} {text}", + "return-type": "json", + "max-length": 40, + "format-icons": { + "spotify": "", + "default": "🎜" + }, + "escape": true, + "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder + // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name + } +} diff --git a/.config/hypr/waybar/style.css b/.config/hypr/waybar/style.css new file mode 100644 index 0000000..3fe99e7 --- /dev/null +++ b/.config/hypr/waybar/style.css @@ -0,0 +1,321 @@ +* { + /* `otf-font-awesome` is required to be installed for icons */ + /*font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif; */ + /*font-family: "JetBrainsMono NF";*/ + font-family: "JetBrainsMonoNFM-Regular"; + font-size: 13px; + font-weight: bold; +} + +window#waybar { + /*background-color: rgba(43, 48, 59, 0.5); + border-bottom: 3px solid rgba(100, 114, 125, 0.5); */ + background-color: rgba(0, 0, 0, 1); + color: #ffffff; + transition-property: background-color; + transition-duration: .5s; +} + +window#waybar.hidden { + opacity: 0.2; +} + +window#waybar.empty { + /*background-color: transparent;*/ +} +window#waybar.solo { + /*background-color: #FFFFFF;*/ +} + + +button { + /* Use box-shadow instead of border so the text isn't offset */ + box-shadow: inset 0 -3px transparent; + /* Avoid rounded borders under each button name */ + border: none; + border-radius: 0; +} + +/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ +button:hover { + background: inherit; + box-shadow: inset 0 -3px #ffffff; +} + +/* you can set a style on hover for any module like this */ +#pulseaudio:hover { + /*background-color: #a37800;*/ +} + +#workspaces button { + padding: 0 4px; + /*background-color: transparent;*/ + color: #ffffff; +} + +#workspaces button:hover { + background: rgba(0, 0, 0, 0.2); +} + +#workspaces button.focused { + background-color: #64727D; + /*box-shadow: inset 0 -3px #ffffff;*/ +} + +#workspaces button.urgent { + background-color: #eb4d4b; +} + +#mode { + background-color: #64727D; + box-shadow: inset 0 -3px #ffffff; +} + +#clock, +#battery, +#cpu, +#memory, +#disk, +#temperature, +#backlight, +#network, +#pulseaudio, +#wireplumber, +#custom-media, +#tray, +#mode, +#idle_inhibitor, +#scratchpad, +#power-profiles-daemon, +#mpd { + padding: 0 10px; + color: #ffffff; +} + +#window, +#workspaces { + margin: 0 4px; +} + +/* If workspaces is the leftmost module, omit left margin */ +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +/* If workspaces is the rightmost module, omit right margin */ +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} + +#clock { + /* background-color: #64727D;*/ +} + +#battery { + /*background-color: #ffffff; + color: #000000;*/ +} + +#battery.charging, #battery.plugged { + /*color: #ffffff; + background-color: #26A65B;*/ +} + +@keyframes blink { + to { + background-color: #ffffff; + color: #000000; + } +} + +/* Using steps() instead of linear as a timing function to limit cpu usage */ +#battery.critical:not(.charging) { + background-color: #f53c3c; + color: #ffffff; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: steps(12); + animation-iteration-count: infinite; + animation-direction: alternate; +} + +#power-profiles-daemon { + padding-right: 15px; +} + +#power-profiles-daemon.performance { + background-color: #f53c3c; + color: #ffffff; +} + +#power-profiles-daemon.balanced { + background-color: #2980b9; + color: #ffffff; +} + +#power-profiles-daemon.power-saver { + background-color: #2ecc71; + color: #000000; +} + +label:focus { + background-color: #000000; +} + +#cpu { + background-color: #2ecc71; + color: #000000; +} + +#memory { + background-color: #9b59b6; +} + +#disk { + background-color: #964B00; +} + +#backlight { + background-color: #90b1b1; +} + +#network { + /*background-color: #2980b9;*/ +} + +#network.disconnected { + /*background-color: #f53c3c;*/ +} + +#pulseaudio { + /*background-color: #f1c40f;*/ + /*color: #000000;*/ +} + +#pulseaudio.muted { + /*background-color: #90b1b1;*/ + /*color: #2a5c45;*/ +} + +#wireplumber { + background-color: #fff0f5; + color: #000000; +} + +#wireplumber.muted { + background-color: #f53c3c; +} + +#custom-media { + background-color: #66cc99; + color: #2a5c45; + min-width: 100px; +} + +#custom-media.custom-spotify { + background-color: #66cc99; +} + +#custom-media.custom-vlc { + background-color: #ffa000; +} + +#temperature { + background-color: #f0932b; +} + +#temperature.critical { + background-color: #eb4d4b; +} + +#tray { + /*background-color: #2980b9;*/ +} + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; + background-color: #eb4d4b; +} + +#idle_inhibitor { + background-color: #2d3436; +} + +#idle_inhibitor.activated { + background-color: #ecf0f1; + color: #2d3436; +} + +#mpd { + background-color: #66cc99; + color: #2a5c45; +} + +#mpd.disconnected { + background-color: #f53c3c; +} + +#mpd.stopped { + background-color: #90b1b1; +} + +#mpd.paused { + background-color: #51a37a; +} + +#language { + background: #00b093; + color: #740864; + padding: 0 5px; + margin: 0 5px; + min-width: 16px; +} + +#keyboard-state { + background: #97e1ad; + color: #000000; + padding: 0 0px; + margin: 0 5px; + min-width: 16px; +} + +#keyboard-state > label { + padding: 0 5px; +} + +#keyboard-state > label.locked { + background: rgba(0, 0, 0, 0.2); +} + +#scratchpad { + background: rgba(0, 0, 0, 0.2); +} + +#scratchpad.empty { + background-color: transparent; +} + +#privacy { + padding: 0; +} + +#privacy-item { + padding: 0 5px; + color: white; +} + +#privacy-item.screenshare { + background-color: #cf5700; +} + +#privacy-item.audio-in { + background-color: #1ca000; +} + +#privacy-item.audio-out { + background-color: #0069d4; +} diff --git a/.config/kitty/kitty.conf b/.config/kitty/kitty.conf index 0584aa1..2068bfe 100644 --- a/.config/kitty/kitty.conf +++ b/.config/kitty/kitty.conf @@ -1,6 +1,6 @@ #font_family 'JetBrainsMono NF' # font_family 'JetBrainsMonoNL NFM ExtraBold' -font_size 11 +font_size 10.5 # bold_font auto # italic_font auto # bold_italic_font auto diff --git a/.config/sway/config b/.config/sway/config index 4c04fe5..eb41dd1 100644 --- a/.config/sway/config +++ b/.config/sway/config @@ -54,6 +54,7 @@ exec waybar exec shikane exec nm-applet exec blueman-applet +exec systemctl --user start hyperolkitagent exec mpd exec syncthing diff --git a/.config/waybar/config.jsonc b/.config/waybar/config.jsonc index d2be77d..15df8ab 100644 --- a/.config/waybar/config.jsonc +++ b/.config/waybar/config.jsonc @@ -2,10 +2,10 @@ { "spacing": 2, // Gaps between modules (4px) "modules-left": [ - "hyprland/workspaces", - "hyprland/mode", - "hyprland/scratchpad", - "hyprland/window" + "sway/workspaces", + "sway/mode", + "sway/scratchpad", + "sway/window" ], //"modules-center": [ //"sway/window" From 0ff69d94b3f4c95f23dbe27a06bc48af2c3e3c13 Mon Sep 17 00:00:00 2001 From: Josue Zamudio Date: Mon, 5 Jan 2026 15:06:24 -0800 Subject: [PATCH 33/45] fix: xwayland scaling --- .config/hypr/hyprland.conf | 21 ++++++++++++++------- .config/hypr/waybar/style.css | 2 +- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index e00f356..25b5c67 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -24,7 +24,7 @@ autogenerated = 0 # remove this line to remove the warning # See https://wiki.hypr.land/Configuring/Monitors/ monitor=,preferred,auto,auto -exec-once = swaybg -i /usr/share/backgrounds/gnome/vnc-d.png +#exec-once = swaybg -i /usr/share/backgrounds/gnome/vnc-d.png ################### @@ -36,7 +36,7 @@ exec-once = swaybg -i /usr/share/backgrounds/gnome/vnc-d.png # Set programs that you use $terminal = kitty $fileManager = nautilus -$menu = wofi --show drun -GI +$menu = wofi --show drun -Gn -L 4 ################# @@ -104,7 +104,7 @@ general { col.inactive_border = rgba(595959aa) # Set to true enable resizing windows by clicking and dragging on borders and gaps - resize_on_border = false + resize_on_border = true # Please see https://wiki.hypr.land/Configuring/Tearing/ before you turn this on allow_tearing = false @@ -124,7 +124,7 @@ decoration { inactive_opacity = 1.0 shadow { - enabled = true + enabled = false range = 4 render_power = 3 color = rgba(1a1a1aee) @@ -132,7 +132,7 @@ decoration { # https://wiki.hypr.land/Configuring/Variables/#blur blur { - enabled = true + enabled = false size = 3 passes = 1 @@ -144,6 +144,7 @@ decoration { animations { enabled = yes, please :) + # Default curves, see https://wiki.hypr.land/Configuring/Animations/#curves # NAME, X0, Y0, X1, Y1 bezier = easeOutQuint, 0.23, 1, 0.32, 1 @@ -196,10 +197,16 @@ master { # https://wiki.hypr.land/Configuring/Variables/#misc misc { - force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers - disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :( + force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers + disable_hyprland_logo = true# If true disables the random hyprland logo / anime girl background. :( } +xwayland { + force_zero_scaling = true +} +env = GTK_SCALE,2 +env = XCURSOR_SIZE,32 + ############# ### INPUT ### diff --git a/.config/hypr/waybar/style.css b/.config/hypr/waybar/style.css index 3fe99e7..e1ecc95 100644 --- a/.config/hypr/waybar/style.css +++ b/.config/hypr/waybar/style.css @@ -3,7 +3,7 @@ /*font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif; */ /*font-family: "JetBrainsMono NF";*/ font-family: "JetBrainsMonoNFM-Regular"; - font-size: 13px; + font-size: 14px; font-weight: bold; } From e72e7289d91c763f3c3b7ae4c52bdbc040151a76 Mon Sep 17 00:00:00 2001 From: Josue Zamudio Date: Thu, 15 Jan 2026 09:06:06 -0800 Subject: [PATCH 34/45] feat: screenshots, scaling, and h3:layout changes --- .config/hypr/hyprland.conf | 13 +++++++++---- .config/hypr/waybar/config.jsonc | 2 +- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index 25b5c67..b8ad20c 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -57,6 +57,7 @@ exec-once = hyprpm reload -n exec-once = flatpak run com.github.wwmm.easyeffects -w exec-once = powertop --auto-tune exec-once = systemctl --user start hyprpolkitagent +exec-once = xrdb -merge ~/.Xresources ############################# @@ -261,12 +262,12 @@ bind = $mainMod SHIFT, S, pin bind = $mainMod, B, hy3:makegroup, h bind = $mainMod, V, hy3:makegroup, v bind = $mainMod, W, hy3:makegroup, tab -bind = $mainMod, A, hy3:changefocus, raise bind = $mainMod, X, hy3:locktab -bind = $mainMod, E, hy3:expand, expand bind = $mainMod, R, hy3:changegroup, opposite -bind = $mainMod SHIFT, A, hy3:changefocus, lower -bind = $mainMod SHIFT, E, hy3:expand, base +#bind = $mainMod SHIFT, A, hy3:changefocus, lower +#bind = $mainMod, A, hy3:changefocus, raise +#bind = $mainMod SHIFT, E, hy3:expand, base +#bind = $mainMod, E, hy3:expand, expand # Move focus with mainMod + arrow keys bind = $mainMod, h, hy3:movefocus, l @@ -338,6 +339,10 @@ bindl = , XF86AudioPause, exec, playerctl play-pause bindl = , XF86AudioPlay, exec, playerctl play-pause bindl = , XF86AudioPrev, exec, playerctl previous +# Screenshots +bindel = $mainMod, p, exec, grimshot --notify savecopy anything +bindel = $mainMod, m, exec, shikanectl reload + ############################## ### WINDOWS AND WORKSPACES ### ############################## diff --git a/.config/hypr/waybar/config.jsonc b/.config/hypr/waybar/config.jsonc index 7a39245..694e374 100644 --- a/.config/hypr/waybar/config.jsonc +++ b/.config/hypr/waybar/config.jsonc @@ -40,7 +40,7 @@ "clock": { //"timezone": "America/Los_Angeles", "tooltip-format": "{:%Y %B}\n{calendar}", - "format": "{:%r %Y-%m-%d}", + "format": "{:%c}", //"format": "{:%R %p %Y-%m-%d}", //"format-alt": "{:%Y-%m-%d}" }, From 33d2198ff639dfc17ad720071e6e1b379730c0e3 Mon Sep 17 00:00:00 2001 From: Josue Zamudio Date: Mon, 19 Jan 2026 23:01:47 -0800 Subject: [PATCH 35/45] fix: snippits leaving icons on autocomplete --- .config/nvim/lua/plugins/mason.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/nvim/lua/plugins/mason.lua b/.config/nvim/lua/plugins/mason.lua index cd7b751..8d57e65 100644 --- a/.config/nvim/lua/plugins/mason.lua +++ b/.config/nvim/lua/plugins/mason.lua @@ -16,7 +16,7 @@ return { -- Autocompletion --- - require('mini.snippets').setup() + --require('mini.snippets').setup() require('mini.completion').setup() --- From b9888fa856e054293c6e1f200a887f7c17b44f14 Mon Sep 17 00:00:00 2001 From: Josue Zamudio Date: Tue, 20 Jan 2026 09:13:03 -0800 Subject: [PATCH 36/45] fix: nvim treesitter error, add hyperland lock keybind and some other cosmetic settings --- .config/hypr/hyprland.conf | 11 ++-- .config/nvim/lua/plugins/mason.lua | 82 ++++++++++++------------- .config/nvim/lua/plugins/treesitter.lua | 73 +++++++++++----------- 3 files changed, 86 insertions(+), 80 deletions(-) diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index b8ad20c..81b8ff0 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -36,7 +36,7 @@ monitor=,preferred,auto,auto # Set programs that you use $terminal = kitty $fileManager = nautilus -$menu = wofi --show drun -Gn -L 4 +$menu = wofi --show drun -GI ################# @@ -58,6 +58,7 @@ exec-once = flatpak run com.github.wwmm.easyeffects -w exec-once = powertop --auto-tune exec-once = systemctl --user start hyprpolkitagent exec-once = xrdb -merge ~/.Xresources +exec-once = gsettings set org.gnome.desktop.interface color-scheme "prefer-dark" ############################# @@ -95,8 +96,8 @@ permission = /usr/(bin|local/bin)/hyprpm, plugin, allow # https://wiki.hypr.land/Configuring/Variables/#general general { - gaps_in = 4 - gaps_out = 4 + gaps_in = 2 + gaps_out = 2 border_size = 1 @@ -117,7 +118,7 @@ general { # https://wiki.hypr.land/Configuring/Variables/#decoration decoration { - rounding = 6 + rounding = 4 rounding_power = 2 # Change transparency of focused and unfocused windows @@ -253,6 +254,8 @@ $mainMod = SUPER # Sets "Windows" key as main modifier bind = $mainMod, RETURN, exec, $terminal bind = $mainMod, D, exec, $menu bind = $mainMod, F, fullscreen +bind = $mainMod, M, exec, swaylock -c 0x000000; playerctl pause + bind = $mainMod SHIFT, SPACE, togglefloating, bind = $mainMod SHIFT, Q, hy3:killactive, bind = $mainMod SHIFT, M, exit, diff --git a/.config/nvim/lua/plugins/mason.lua b/.config/nvim/lua/plugins/mason.lua index cd7b751..81bf4f0 100644 --- a/.config/nvim/lua/plugins/mason.lua +++ b/.config/nvim/lua/plugins/mason.lua @@ -1,54 +1,54 @@ return { "mason-org/mason-lspconfig.nvim", - dependencies = { - {"mason-org/mason.nvim"}, - {'neovim/nvim-lspconfig'}, + dependencies = { + {"mason-org/mason.nvim"}, + {'neovim/nvim-lspconfig'}, - {'nvim-mini/mini.nvim'}, + {'nvim-mini/mini.nvim'}, {'nvim-mini/mini.completion'}, - }, - config = function() - require("mason").setup() + }, + config = function() + require("mason").setup() require("mason-lspconfig").setup {} - - -- NOTE: this is meant to be backwards compatible with Neovim v0.9 - --- - -- Autocompletion - --- - require('mini.snippets').setup() - require('mini.completion').setup() + -- NOTE: this is meant to be backwards compatible with Neovim v0.9 + --- + -- Autocompletion + --- - --- - -- Language server configuration - --- + --require('mini.snippets').setup() + require('mini.completion').setup() - -- These keymaps are the defaults in Neovim v0.10 - if vim.fn.has('nvim-0.11') == 0 then - -- NOTE: vim.diagnostic.goto_* methods are deprecated in v0.11 - -- that's why we put these under a conditional block - vim.keymap.set('n', '[d', 'lua vim.diagnostic.goto_prev()') - vim.keymap.set('n', ']d', 'lua vim.diagnostic.goto_next()') - vim.keymap.set('n', 'd', 'lua vim.diagnostic.open_float()') - vim.keymap.set('n', '', 'lua vim.diagnostic.open_float()') - end + --- + -- Language server configuration + --- - vim.api.nvim_create_autocmd('LspAttach', { - callback = function(event) - local bufmap = function(mode, rhs, lhs) - vim.keymap.set(mode, rhs, lhs, {buffer = event.buf}) - end + -- These keymaps are the defaults in Neovim v0.10 + if vim.fn.has('nvim-0.11') == 0 then + -- NOTE: vim.diagnostic.goto_* methods are deprecated in v0.11 + -- that's why we put these under a conditional block + vim.keymap.set('n', '[d', 'lua vim.diagnostic.goto_prev()') + vim.keymap.set('n', ']d', 'lua vim.diagnostic.goto_next()') + vim.keymap.set('n', 'd', 'lua vim.diagnostic.open_float()') + vim.keymap.set('n', '', 'lua vim.diagnostic.open_float()') + end - -- These keymaps are the defaults in Neovim v0.11 - bufmap('n', 'K', 'lua vim.lsp.buf.hover()') - bufmap('n', 'grr', 'lua vim.lsp.buf.references()') - bufmap('n', 'gri', 'lua vim.lsp.buf.implementation()') - bufmap('n', 'grn', 'lua vim.lsp.buf.rename()') - bufmap('n', 'gra', 'lua vim.lsp.buf.code_action()') - bufmap('n', 'gO', 'lua vim.lsp.buf.document_symbol()') - bufmap({'i', 's'}, '', 'lua vim.lsp.buf.signature_help()') - end, - }) + vim.api.nvim_create_autocmd('LspAttach', { + callback = function(event) + local bufmap = function(mode, rhs, lhs) + vim.keymap.set(mode, rhs, lhs, {buffer = event.buf}) + end + + -- These keymaps are the defaults in Neovim v0.11 + bufmap('n', 'K', 'lua vim.lsp.buf.hover()') + bufmap('n', 'grr', 'lua vim.lsp.buf.references()') + bufmap('n', 'gri', 'lua vim.lsp.buf.implementation()') + bufmap('n', 'grn', 'lua vim.lsp.buf.rename()') + bufmap('n', 'gra', 'lua vim.lsp.buf.code_action()') + bufmap('n', 'gO', 'lua vim.lsp.buf.document_symbol()') + bufmap({'i', 's'}, '', 'lua vim.lsp.buf.signature_help()') + end, + }) end } diff --git a/.config/nvim/lua/plugins/treesitter.lua b/.config/nvim/lua/plugins/treesitter.lua index 5beadcf..1fd2852 100644 --- a/.config/nvim/lua/plugins/treesitter.lua +++ b/.config/nvim/lua/plugins/treesitter.lua @@ -2,45 +2,48 @@ return { "nvim-treesitter/nvim-treesitter", build = ":TSUpdate", config = function() - require("nvim-treesitter.configs").setup { - -- A list of parser names, or "all" (the five listed parsers should always be installed) - ensure_installed = { "c", "lua", "vim", "vimdoc", "python", "bash", "make" }, + require("nvim-treesitter").install({}) - -- Install parsers synchronously (only applied to `ensure_installed`) - sync_install = false, + --require("nvim-treesitter.configs").setup ({ + -- -- A list of parser names, or "all" (the five listed parsers should always be installed) + -- ensure_installed = { "c", "lua", "vim", "vimdoc", "python", "bash", "make" }, - -- Automatically install missing parsers when entering buffer - -- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally - auto_install = true, + -- -- Install parsers synchronously (only applied to `ensure_installed`) + -- sync_install = false, - -- List of parsers to ignore installing (for "all") - ignore_install = { "javascript" }, + -- -- Automatically install missing parsers when entering buffer + -- -- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally + -- auto_install = true, - ---- If you need to change the installation directory of the parsers (see -> Advanced Setup) - -- parser_install_dir = "/some/path/to/store/parsers", -- Remember to run vim.opt.runtimepath:append("/some/path/to/store/parsers")! + -- -- List of parsers to ignore installing (for "all") + -- ignore_install = { "javascript" }, - highlight = { - enable = true, + -- ---- If you need to change the installation directory of the parsers (see -> Advanced Setup) + -- -- parser_install_dir = "/some/path/to/store/parsers", -- Remember to run vim.opt.runtimepath:append("/some/path/to/store/parsers")! - -- NOTE: these are the names of the parsers and not the filetype. (for example if you want to - -- disable highlighting for the `tex` filetype, you need to include `latex` in this list as this is - -- the name of the parser) - -- list of language that will be disabled - -- disable = { "c", "rust" }, - -- Or use a function for more flexibility, e.g. to disable slow treesitter highlight for large files - disable = function(lang, buf) - local max_filesize = 100 * 1024 -- 100 KB - local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf)) - if ok and stats and stats.size > max_filesize then - return true - end - end, + -- highlight = { + -- enable = true, - -- Setting this to true will run `:h syntax` and tree-sitter at the same time. - -- Set this to `true` if you depend on 'syntax' being enabled (like for indentation). - -- Using this option may slow down your editor, and you may see some duplicate highlights. - -- Instead of true it can also be a list of languages - additional_vim_regex_highlighting = false, - }, - } -end } + -- -- NOTE: these are the names of the parsers and not the filetype. (for example if you want to + -- -- disable highlighting for the `tex` filetype, you need to include `latex` in this list as this is + -- -- the name of the parser) + -- -- list of language that will be disabled + -- -- disable = { "c", "rust" }, + -- -- Or use a function for more flexibility, e.g. to disable slow treesitter highlight for large files + -- disable = function(lang, buf) + -- local max_filesize = 100 * 1024 -- 100 KB + -- local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf)) + -- if ok and stats and stats.size > max_filesize then + -- return true + -- end + -- end, + + -- -- Setting this to true will run `:h syntax` and tree-sitter at the same time. + -- -- Set this to `true` if you depend on 'syntax' being enabled (like for indentation). + -- -- Using this option may slow down your editor, and you may see some duplicate highlights. + -- -- Instead of true it can also be a list of languages + -- additional_vim_regex_highlighting = false, + -- }, + --}) + end +} From 592db54a84e68cdd9f6f5b3d6ad79c212316f6d8 Mon Sep 17 00:00:00 2001 From: Josue Zamudio Date: Sat, 24 Jan 2026 20:10:39 -0800 Subject: [PATCH 37/45] feat: hypridle and hyprlock --- .config/hypr/hypridle.conf | 34 ++++++++++++++++++++++++++++++++++ .config/hypr/hyprland.conf | 3 ++- .config/hypr/hyprlock.conf | 20 ++++++++++++++++++++ 3 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 .config/hypr/hypridle.conf create mode 100644 .config/hypr/hyprlock.conf diff --git a/.config/hypr/hypridle.conf b/.config/hypr/hypridle.conf new file mode 100644 index 0000000..876c076 --- /dev/null +++ b/.config/hypr/hypridle.conf @@ -0,0 +1,34 @@ +general { + lock_cmd = pidof hyprlock || hyprlock # 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. +} + +listener { + timeout = 150 # 2.5min. + on-timeout = brightnessctl -s set 10 # set monitor backlight to minimum, avoid 0 on OLED monitor. + on-resume = brightnessctl -r # monitor backlight restore. +} + +# turn off keyboard backlight, comment out this section if you dont have a keyboard backlight. +listener { + timeout = 150 # 2.5min. + on-timeout = brightnessctl -sd rgb:kbd_backlight set 0 # turn off keyboard backlight. + on-resume = brightnessctl -rd rgb:kbd_backlight # turn on keyboard backlight. +} + +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 after timeout has fired. +} + +listener { + timeout = 1800 # 30min + on-timeout = systemctl suspend # suspend pc +} diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index 81b8ff0..6ba12fb 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -49,6 +49,7 @@ $menu = wofi --show drun -GI # exec-once = $terminal # exec-once = nm-applet & # exec-once = waybar & hyprpaper & firefox +exec-once = hypridle exec-once = nm-applet & exec-once = blueman-applet & exec-once = shikane & @@ -109,7 +110,7 @@ general { resize_on_border = true # Please see https://wiki.hypr.land/Configuring/Tearing/ before you turn this on - allow_tearing = false + allow_tearing = true #layout = dwindle layout = hy3 diff --git a/.config/hypr/hyprlock.conf b/.config/hypr/hyprlock.conf new file mode 100644 index 0000000..c6e6470 --- /dev/null +++ b/.config/hypr/hyprlock.conf @@ -0,0 +1,20 @@ +background { + monitor = # monitor-agnostic + blur_passes = 1 + blur_size = 7 +} + +input-field { + monitor = + size = 20%, 5% + font_family = Noto Sans + dots_size = 0.08 +} + + +label { + monitor = + text = $TIME + font_size = 80 + position = 0, -10 +} From fcdfa97317a87f6dfdf045dc2549006c025c07ed Mon Sep 17 00:00:00 2001 From: Josue Zamudio Date: Sat, 24 Jan 2026 20:14:52 -0800 Subject: [PATCH 38/45] feat: sway waybar config, and change font size for kitty --- .config/kitty/kitty.conf | 2 +- .config/sway/config | 12 ++++++++---- .config/sway/waybar | 1 + 3 files changed, 10 insertions(+), 5 deletions(-) create mode 120000 .config/sway/waybar diff --git a/.config/kitty/kitty.conf b/.config/kitty/kitty.conf index 2068bfe..0584aa1 100644 --- a/.config/kitty/kitty.conf +++ b/.config/kitty/kitty.conf @@ -1,6 +1,6 @@ #font_family 'JetBrainsMono NF' # font_family 'JetBrainsMonoNL NFM ExtraBold' -font_size 10.5 +font_size 11 # bold_font auto # italic_font auto # bold_italic_font auto diff --git a/.config/sway/config b/.config/sway/config index eb41dd1..66b0022 100644 --- a/.config/sway/config +++ b/.config/sway/config @@ -50,14 +50,18 @@ seat seat0 xcursor_theme Adwaita 35 #exec pipewire exec swaync -exec waybar exec shikane exec nm-applet exec blueman-applet -exec systemctl --user start hyperolkitagent -exec mpd -exec syncthing +exec systemctl --user start hyperolkitagent +exec waybar -c ~/.config/sway/waybar/config.jsonc -s ~/.config/sway/waybar/style.css +exec flatpak run com.github.wwmm.easyeffects -w +exec xrdb -merge ~/.Xresources +exec wl-paste -t text --watch clipman store --no-persist + +#exec mpd +#exec syncthing # Auto start .desktop files using dex exec dex -a diff --git a/.config/sway/waybar b/.config/sway/waybar new file mode 120000 index 0000000..352cf60 --- /dev/null +++ b/.config/sway/waybar @@ -0,0 +1 @@ +/home/jozamudi/.dotfiles/.config/waybar \ No newline at end of file From 05c9fbada556a21bdafd0409c076952427330bd8 Mon Sep 17 00:00:00 2001 From: Josue Zamudio Date: Mon, 26 Jan 2026 09:23:33 -0800 Subject: [PATCH 39/45] feat: zsh color --- .zshrc | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 .zshrc diff --git a/.zshrc b/.zshrc new file mode 100644 index 0000000..37c6494 --- /dev/null +++ b/.zshrc @@ -0,0 +1,36 @@ +# Auto Complete +autoload -Uz compinit +compinit + +# enable color support of ls and also add handy aliases +if [ -x /usr/bin/dircolors ]; then + test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" + alias ls='ls --color=auto' + alias dir='dir --color=auto' + alias vdir='vdir --color=auto' + alias grep='grep --color=auto' + alias fgrep='fgrep --color=auto' + alias egrep='egrep --color=auto' +fi + +# some more ls aliases +alias ll='ls -alF' +alias la='ls -A' +alias l='ls -CF' + + +# Alias +alias vim='nvim' +alias ssh='ssh -XC' + +# Config +source <(fzf --zsh) + +autoload -Uz vcs_info +precmd_vcs_info() { vcs_info } +precmd_functions+=( precmd_vcs_info ) +setopt prompt_subst +RPROMPT='${vcs_info_msg_0_}' +#PROMPT='${vcs_info_msg_0_}%# ' +PROMPT='%~%# ' +zstyle ':vcs_info:git:*' formats '%b' From 9b066c7dd84647165601cc3eceab7cc203c334df Mon Sep 17 00:00:00 2001 From: Josue Zamudio Date: Thu, 5 Feb 2026 09:49:45 -0800 Subject: [PATCH 40/45] Changes to be committed: modified: .config/hypr/hyprland.conf modified: .config/kitty/kitty.conf modified: .zshrc --- .config/hypr/hyprland.conf | 3 ++- .config/kitty/kitty.conf | 6 +++--- .zshrc | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index 6ba12fb..f2c2c7d 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -55,6 +55,7 @@ exec-once = blueman-applet & exec-once = shikane & exec-once = waybar -c ~/.config/hypr/waybar/config.jsonc -s ~/.config/hypr/waybar/style.css & exec-once = hyprpm reload -n + exec-once = flatpak run com.github.wwmm.easyeffects -w exec-once = powertop --auto-tune exec-once = systemctl --user start hyprpolkitagent @@ -255,7 +256,7 @@ $mainMod = SUPER # Sets "Windows" key as main modifier bind = $mainMod, RETURN, exec, $terminal bind = $mainMod, D, exec, $menu bind = $mainMod, F, fullscreen -bind = $mainMod, M, exec, swaylock -c 0x000000; playerctl pause +bind = $mainMod, M, exec, hyprlock bind = $mainMod SHIFT, SPACE, togglefloating, bind = $mainMod SHIFT, Q, hy3:killactive, diff --git a/.config/kitty/kitty.conf b/.config/kitty/kitty.conf index 0584aa1..7f93412 100644 --- a/.config/kitty/kitty.conf +++ b/.config/kitty/kitty.conf @@ -1,13 +1,13 @@ #font_family 'JetBrainsMono NF' # font_family 'JetBrainsMonoNL NFM ExtraBold' -font_size 11 +font_size 12 # bold_font auto # italic_font auto # bold_italic_font auto #text_composition_strategy legacy #modify_font cell_width 95% -background_opacity 20 +#background_opacity 20 cursor_trail 10 cursor_trail_start_threshold 0 @@ -21,7 +21,7 @@ wayland_enable_ime yes # BEGIN_KITTY_FONTS -font_family family="JetBrainsMono Nerd Font Mono" +#font_family family="JetBrainsMono Nerd Font Mono" bold_font auto italic_font auto bold_italic_font auto diff --git a/.zshrc b/.zshrc index 37c6494..46c05ce 100644 --- a/.zshrc +++ b/.zshrc @@ -21,7 +21,7 @@ alias l='ls -CF' # Alias alias vim='nvim' -alias ssh='ssh -XC' +alias ssh='ssh -YC' # Config source <(fzf --zsh) From fc10f8c36d695bbf14a9bc1167719fc0ca5c759a Mon Sep 17 00:00:00 2001 From: Josue Zamudio Date: Thu, 5 Feb 2026 21:48:50 -0800 Subject: [PATCH 41/45] Changes to be committed: modified: .config/hypr/hyprland.conf modified: .config/kitty/kitty.conf modified: .config/nvim/init.lua modified: .config/nvim/lua/plugins/colorscheme.lua new file: .config/nvim/lua/plugins/outline.lua modified: .config/nvim/lua/plugins/treesitter.lua --- .config/hypr/hyprland.conf | 4 +- .config/kitty/kitty.conf | 9 +-- .config/nvim/init.lua | 7 +-- .config/nvim/lua/plugins/colorscheme.lua | 2 +- .config/nvim/lua/plugins/outline.lua | 12 ++++ .config/nvim/lua/plugins/treesitter.lua | 70 ++++++++++++------------ 6 files changed, 55 insertions(+), 49 deletions(-) create mode 100644 .config/nvim/lua/plugins/outline.lua diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index f2c2c7d..44b0c02 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -120,8 +120,8 @@ general { # https://wiki.hypr.land/Configuring/Variables/#decoration decoration { - rounding = 4 - rounding_power = 2 + rounding = 6 + rounding_power = 3 # Change transparency of focused and unfocused windows active_opacity = 1.0 diff --git a/.config/kitty/kitty.conf b/.config/kitty/kitty.conf index 7f93412..f113839 100644 --- a/.config/kitty/kitty.conf +++ b/.config/kitty/kitty.conf @@ -1,15 +1,10 @@ -#font_family 'JetBrainsMono NF' -# font_family 'JetBrainsMonoNL NFM ExtraBold' font_size 12 -# bold_font auto -# italic_font auto -# bold_italic_font auto #text_composition_strategy legacy #modify_font cell_width 95% #background_opacity 20 -cursor_trail 10 +cursor_trail 20 cursor_trail_start_threshold 0 shell_integration no-cursor cursor_trail_decay 0.01 0.15 @@ -19,9 +14,9 @@ linux_display_server wayland wayland_enable_ime yes - # BEGIN_KITTY_FONTS #font_family family="JetBrainsMono Nerd Font Mono" +font_family family="Fira Code" bold_font auto italic_font auto bold_italic_font auto diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index a05809b..51b606e 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -1,13 +1,13 @@ require("config.lazy") -- colorscheme -vim.o.termguicolors = true +-- vim.o.termguicolors = true vim.opt.winborder = 'rounded' ---vim.o.background = "dark" -- or "light" for light mode +vim.o.background = "dark" -- or "light" for light mode --vim.cmd("colorscheme gruvbox ") --vim.cmd("colorscheme retrobox") -vim.opt.clipboard = "unnamedplus" -- uses the clipboard register for all operations except yank. +-- vim.opt.clipboard = "unnamedplus" -- uses the clipboard register for all operations except yank. vim.cmd("set nocompatible") vim.cmd("syntax on") @@ -34,4 +34,3 @@ vim.cmd("set complete-=i") vim.cmd("au FileType python set fileformat=unix encoding=utf-8") vim.cmd("au FileType markdown,tex set spell spelllang=en_us") - diff --git a/.config/nvim/lua/plugins/colorscheme.lua b/.config/nvim/lua/plugins/colorscheme.lua index 83a3127..d139563 100644 --- a/.config/nvim/lua/plugins/colorscheme.lua +++ b/.config/nvim/lua/plugins/colorscheme.lua @@ -5,7 +5,7 @@ return { config = function() require("black-metal").setup({ -- optional configuration here - term_colors = true, + -- term_colors = true, }) require("black-metal").load() diff --git a/.config/nvim/lua/plugins/outline.lua b/.config/nvim/lua/plugins/outline.lua new file mode 100644 index 0000000..cf04a5c --- /dev/null +++ b/.config/nvim/lua/plugins/outline.lua @@ -0,0 +1,12 @@ +return { + "hedyhli/outline.nvim", + config = function() + -- Example mapping to toggle outline + vim.keymap.set("n", "o", "Outline", + { desc = "Toggle Outline" }) + + require("outline").setup { + -- Your setup opts here (leave empty to use defaults) + } + end, +} diff --git a/.config/nvim/lua/plugins/treesitter.lua b/.config/nvim/lua/plugins/treesitter.lua index 1fd2852..673fb93 100644 --- a/.config/nvim/lua/plugins/treesitter.lua +++ b/.config/nvim/lua/plugins/treesitter.lua @@ -2,48 +2,48 @@ return { "nvim-treesitter/nvim-treesitter", build = ":TSUpdate", config = function() - require("nvim-treesitter").install({}) + --require("nvim-treesitter").install({}) - --require("nvim-treesitter.configs").setup ({ - -- -- A list of parser names, or "all" (the five listed parsers should always be installed) - -- ensure_installed = { "c", "lua", "vim", "vimdoc", "python", "bash", "make" }, + require("nvim-treesitter.configs").setup ({ + -- A list of parser names, or "all" (the five listed parsers should always be installed) + ensure_installed = { "c", "lua", "vim", "vimdoc", "python", "bash", "make" }, - -- -- Install parsers synchronously (only applied to `ensure_installed`) - -- sync_install = false, + -- Install parsers synchronously (only applied to `ensure_installed`) + sync_install = false, - -- -- Automatically install missing parsers when entering buffer - -- -- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally - -- auto_install = true, + -- Automatically install missing parsers when entering buffer + -- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally + auto_install = true, - -- -- List of parsers to ignore installing (for "all") - -- ignore_install = { "javascript" }, + -- List of parsers to ignore installing (for "all") + ignore_install = { "javascript" }, - -- ---- If you need to change the installation directory of the parsers (see -> Advanced Setup) - -- -- parser_install_dir = "/some/path/to/store/parsers", -- Remember to run vim.opt.runtimepath:append("/some/path/to/store/parsers")! + ---- If you need to change the installation directory of the parsers (see -> Advanced Setup) + -- parser_install_dir = "/some/path/to/store/parsers", -- Remember to run vim.opt.runtimepath:append("/some/path/to/store/parsers")! - -- highlight = { - -- enable = true, + highlight = { + enable = true, - -- -- NOTE: these are the names of the parsers and not the filetype. (for example if you want to - -- -- disable highlighting for the `tex` filetype, you need to include `latex` in this list as this is - -- -- the name of the parser) - -- -- list of language that will be disabled - -- -- disable = { "c", "rust" }, - -- -- Or use a function for more flexibility, e.g. to disable slow treesitter highlight for large files - -- disable = function(lang, buf) - -- local max_filesize = 100 * 1024 -- 100 KB - -- local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf)) - -- if ok and stats and stats.size > max_filesize then - -- return true - -- end - -- end, + -- NOTE: these are the names of the parsers and not the filetype. (for example if you want to + -- disable highlighting for the `tex` filetype, you need to include `latex` in this list as this is + -- the name of the parser) + -- list of language that will be disabled + -- disable = { "c", "rust" }, + -- Or use a function for more flexibility, e.g. to disable slow treesitter highlight for large files + disable = function(lang, buf) + local max_filesize = 100 * 1024 -- 100 KB + local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf)) + if ok and stats and stats.size > max_filesize then + return true + end + end, - -- -- Setting this to true will run `:h syntax` and tree-sitter at the same time. - -- -- Set this to `true` if you depend on 'syntax' being enabled (like for indentation). - -- -- Using this option may slow down your editor, and you may see some duplicate highlights. - -- -- Instead of true it can also be a list of languages - -- additional_vim_regex_highlighting = false, - -- }, - --}) + -- Setting this to true will run `:h syntax` and tree-sitter at the same time. + -- Set this to `true` if you depend on 'syntax' being enabled (like for indentation). + -- Using this option may slow down your editor, and you may see some duplicate highlights. + -- Instead of true it can also be a list of languages + additional_vim_regex_highlighting = false, + }, + }) end } From e99e6b3d92df8d8e439038f9a82f6de82d595163 Mon Sep 17 00:00:00 2001 From: Josue Zamudio Date: Thu, 5 Feb 2026 22:25:36 -0800 Subject: [PATCH 42/45] feat: use hyprile; zsh better prompt; --- .config/kitty/kitty.conf | 2 +- .config/sway/config | 2 ++ .zshrc | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.config/kitty/kitty.conf b/.config/kitty/kitty.conf index f113839..d67e271 100644 --- a/.config/kitty/kitty.conf +++ b/.config/kitty/kitty.conf @@ -1,4 +1,4 @@ -font_size 12 +font_size 11.5 #text_composition_strategy legacy #modify_font cell_width 95% diff --git a/.config/sway/config b/.config/sway/config index 66b0022..d6e811e 100644 --- a/.config/sway/config +++ b/.config/sway/config @@ -60,6 +60,8 @@ exec flatpak run com.github.wwmm.easyeffects -w exec xrdb -merge ~/.Xresources exec wl-paste -t text --watch clipman store --no-persist +exec hypridle + #exec mpd #exec syncthing diff --git a/.zshrc b/.zshrc index 46c05ce..27a55bd 100644 --- a/.zshrc +++ b/.zshrc @@ -32,5 +32,5 @@ precmd_functions+=( precmd_vcs_info ) setopt prompt_subst RPROMPT='${vcs_info_msg_0_}' #PROMPT='${vcs_info_msg_0_}%# ' -PROMPT='%~%# ' +PROMPT='%m@%c%# ' zstyle ':vcs_info:git:*' formats '%b' From b09ebf25d529a45c96ef209ebdc6006d06839eb9 Mon Sep 17 00:00:00 2001 From: Josue Zamudio Date: Fri, 6 Feb 2026 10:28:14 -0800 Subject: [PATCH 43/45] Changes to be committed: modified: .config/sway/config deleted: .config/sway/waybar new file: .config/sway/waybar/config.jsonc new file: .config/sway/waybar/style.css new file: .config/systemd/user/default.target.wants/shikane.service new file: .config/systemd/user/shikane.service modified: .zshrc new file: applications/application.desktop --- .config/sway/config | 1 + .config/sway/waybar | 1 - .config/sway/waybar/config.jsonc | 117 +++++++ .config/sway/waybar/style.css | 321 ++++++++++++++++++ .../user/default.target.wants/shikane.service | 1 + .config/systemd/user/shikane.service | 10 + .zshrc | 2 +- applications/application.desktop | 8 + 8 files changed, 459 insertions(+), 2 deletions(-) delete mode 120000 .config/sway/waybar create mode 100644 .config/sway/waybar/config.jsonc create mode 100644 .config/sway/waybar/style.css create mode 120000 .config/systemd/user/default.target.wants/shikane.service create mode 100644 .config/systemd/user/shikane.service create mode 100644 applications/application.desktop diff --git a/.config/sway/config b/.config/sway/config index d6e811e..e0cd901 100644 --- a/.config/sway/config +++ b/.config/sway/config @@ -61,6 +61,7 @@ exec xrdb -merge ~/.Xresources exec wl-paste -t text --watch clipman store --no-persist exec hypridle +exec gsettings set org.gnome.desktop.interface color-scheme "prefer-dark" #exec mpd #exec syncthing diff --git a/.config/sway/waybar b/.config/sway/waybar deleted file mode 120000 index 352cf60..0000000 --- a/.config/sway/waybar +++ /dev/null @@ -1 +0,0 @@ -/home/jozamudi/.dotfiles/.config/waybar \ No newline at end of file diff --git a/.config/sway/waybar/config.jsonc b/.config/sway/waybar/config.jsonc new file mode 100644 index 0000000..15df8ab --- /dev/null +++ b/.config/sway/waybar/config.jsonc @@ -0,0 +1,117 @@ +// -*- mode: jsonc -*- +{ + "spacing": 2, // Gaps between modules (4px) + "modules-left": [ + "sway/workspaces", + "sway/mode", + "sway/scratchpad", + "sway/window" + ], + //"modules-center": [ + //"sway/window" + //], + "modules-right": [ + //"mpd", + "pulseaudio", + //"network", + "battery", + "clock", + "tray" + //"custom/power" + ], + "sway/mode": { + "format": "{}" + }, + "sway/scratchpad": { + "format": "{icon} {count}", + "show-empty": false, + "format-icons": ["", ""], + "tooltip": true, + "tooltip-format": "{app}: {title}" + }, + "tray": { + // "icon-size": 21, + "spacing": 10, + // "icons": { + // "blueman": "bluetooth", + // "TelegramDesktop": "$HOME/.local/share/icons/hicolor/16x16/apps/telegram.png" + // } + }, + "clock": { + //"timezone": "America/Los_Angeles", + "tooltip-format": "{:%Y %B}\n{calendar}", + "format": "{:%r %Y-%m-%d}", + //"format": "{:%R %p %Y-%m-%d}", + //"format-alt": "{:%Y-%m-%d}" + }, + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{time} {capacity}% {icon}", + "format-full": "{capacity}% {icon}", + "format-charging": "{capacity}% C", + "format-plugged": "{capacity}% P", + "format-alt": "{time} {icon}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": ["", "", "", "", ""] + }, + "battery#bat2": { + "bat": "BAT2" + }, + "power-profiles-daemon": { + "format": "{icon}", + "tooltip-format": "Power profile: {profile}\nDriver: {driver}", + "tooltip": true, + "format-icons": { + "default": "", + "performance": "", + "balanced": "", + "power-saver": "" + } + }, + "network": { + // "interface": "wlp2*", // (Optional) To force the use of this interface + //"format-wifi": "{essid} ({signalStrength}%) ", + //"format-ethernet": "{ipaddr}/{cidr} ", + //"tooltip-format": "{ifname} via {gwaddr} ", + //"format-linked": "{ifname} (No IP) ", + //"format-disconnected": "Disconnected ⚠", + "format-disconnected": "Disconnected", + "format-alt": "{ifname}: {ipaddr}/{cidr}" + }, + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{volume}% {icon} {format_source}", + "format-bluetooth": "{volume}% {icon}  {format_source}", + "format-bluetooth-muted": " {icon}  {format_source}", + "format-muted": " {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] + }, + "on-click": "pavucontrol" + }, + "custom/media": { + "format": "{icon} {text}", + "return-type": "json", + "max-length": 40, + "format-icons": { + "spotify": "", + "default": "🎜" + }, + "escape": true, + "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder + // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name + } +} diff --git a/.config/sway/waybar/style.css b/.config/sway/waybar/style.css new file mode 100644 index 0000000..e1ecc95 --- /dev/null +++ b/.config/sway/waybar/style.css @@ -0,0 +1,321 @@ +* { + /* `otf-font-awesome` is required to be installed for icons */ + /*font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif; */ + /*font-family: "JetBrainsMono NF";*/ + font-family: "JetBrainsMonoNFM-Regular"; + font-size: 14px; + font-weight: bold; +} + +window#waybar { + /*background-color: rgba(43, 48, 59, 0.5); + border-bottom: 3px solid rgba(100, 114, 125, 0.5); */ + background-color: rgba(0, 0, 0, 1); + color: #ffffff; + transition-property: background-color; + transition-duration: .5s; +} + +window#waybar.hidden { + opacity: 0.2; +} + +window#waybar.empty { + /*background-color: transparent;*/ +} +window#waybar.solo { + /*background-color: #FFFFFF;*/ +} + + +button { + /* Use box-shadow instead of border so the text isn't offset */ + box-shadow: inset 0 -3px transparent; + /* Avoid rounded borders under each button name */ + border: none; + border-radius: 0; +} + +/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ +button:hover { + background: inherit; + box-shadow: inset 0 -3px #ffffff; +} + +/* you can set a style on hover for any module like this */ +#pulseaudio:hover { + /*background-color: #a37800;*/ +} + +#workspaces button { + padding: 0 4px; + /*background-color: transparent;*/ + color: #ffffff; +} + +#workspaces button:hover { + background: rgba(0, 0, 0, 0.2); +} + +#workspaces button.focused { + background-color: #64727D; + /*box-shadow: inset 0 -3px #ffffff;*/ +} + +#workspaces button.urgent { + background-color: #eb4d4b; +} + +#mode { + background-color: #64727D; + box-shadow: inset 0 -3px #ffffff; +} + +#clock, +#battery, +#cpu, +#memory, +#disk, +#temperature, +#backlight, +#network, +#pulseaudio, +#wireplumber, +#custom-media, +#tray, +#mode, +#idle_inhibitor, +#scratchpad, +#power-profiles-daemon, +#mpd { + padding: 0 10px; + color: #ffffff; +} + +#window, +#workspaces { + margin: 0 4px; +} + +/* If workspaces is the leftmost module, omit left margin */ +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +/* If workspaces is the rightmost module, omit right margin */ +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} + +#clock { + /* background-color: #64727D;*/ +} + +#battery { + /*background-color: #ffffff; + color: #000000;*/ +} + +#battery.charging, #battery.plugged { + /*color: #ffffff; + background-color: #26A65B;*/ +} + +@keyframes blink { + to { + background-color: #ffffff; + color: #000000; + } +} + +/* Using steps() instead of linear as a timing function to limit cpu usage */ +#battery.critical:not(.charging) { + background-color: #f53c3c; + color: #ffffff; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: steps(12); + animation-iteration-count: infinite; + animation-direction: alternate; +} + +#power-profiles-daemon { + padding-right: 15px; +} + +#power-profiles-daemon.performance { + background-color: #f53c3c; + color: #ffffff; +} + +#power-profiles-daemon.balanced { + background-color: #2980b9; + color: #ffffff; +} + +#power-profiles-daemon.power-saver { + background-color: #2ecc71; + color: #000000; +} + +label:focus { + background-color: #000000; +} + +#cpu { + background-color: #2ecc71; + color: #000000; +} + +#memory { + background-color: #9b59b6; +} + +#disk { + background-color: #964B00; +} + +#backlight { + background-color: #90b1b1; +} + +#network { + /*background-color: #2980b9;*/ +} + +#network.disconnected { + /*background-color: #f53c3c;*/ +} + +#pulseaudio { + /*background-color: #f1c40f;*/ + /*color: #000000;*/ +} + +#pulseaudio.muted { + /*background-color: #90b1b1;*/ + /*color: #2a5c45;*/ +} + +#wireplumber { + background-color: #fff0f5; + color: #000000; +} + +#wireplumber.muted { + background-color: #f53c3c; +} + +#custom-media { + background-color: #66cc99; + color: #2a5c45; + min-width: 100px; +} + +#custom-media.custom-spotify { + background-color: #66cc99; +} + +#custom-media.custom-vlc { + background-color: #ffa000; +} + +#temperature { + background-color: #f0932b; +} + +#temperature.critical { + background-color: #eb4d4b; +} + +#tray { + /*background-color: #2980b9;*/ +} + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; + background-color: #eb4d4b; +} + +#idle_inhibitor { + background-color: #2d3436; +} + +#idle_inhibitor.activated { + background-color: #ecf0f1; + color: #2d3436; +} + +#mpd { + background-color: #66cc99; + color: #2a5c45; +} + +#mpd.disconnected { + background-color: #f53c3c; +} + +#mpd.stopped { + background-color: #90b1b1; +} + +#mpd.paused { + background-color: #51a37a; +} + +#language { + background: #00b093; + color: #740864; + padding: 0 5px; + margin: 0 5px; + min-width: 16px; +} + +#keyboard-state { + background: #97e1ad; + color: #000000; + padding: 0 0px; + margin: 0 5px; + min-width: 16px; +} + +#keyboard-state > label { + padding: 0 5px; +} + +#keyboard-state > label.locked { + background: rgba(0, 0, 0, 0.2); +} + +#scratchpad { + background: rgba(0, 0, 0, 0.2); +} + +#scratchpad.empty { + background-color: transparent; +} + +#privacy { + padding: 0; +} + +#privacy-item { + padding: 0 5px; + color: white; +} + +#privacy-item.screenshare { + background-color: #cf5700; +} + +#privacy-item.audio-in { + background-color: #1ca000; +} + +#privacy-item.audio-out { + background-color: #0069d4; +} diff --git a/.config/systemd/user/default.target.wants/shikane.service b/.config/systemd/user/default.target.wants/shikane.service new file mode 120000 index 0000000..ba4513b --- /dev/null +++ b/.config/systemd/user/default.target.wants/shikane.service @@ -0,0 +1 @@ +/home/work/.config/systemd/user/shikane.service \ No newline at end of file diff --git a/.config/systemd/user/shikane.service b/.config/systemd/user/shikane.service new file mode 100644 index 0000000..6ada273 --- /dev/null +++ b/.config/systemd/user/shikane.service @@ -0,0 +1,10 @@ +[Unit] +Description=shikane + +[Service] +ExecStart=/usr/bin/shikane +Restart=always +RestartSec=1 + +[Install] +WantedBy=default.target diff --git a/.zshrc b/.zshrc index 27a55bd..05aec0d 100644 --- a/.zshrc +++ b/.zshrc @@ -32,5 +32,5 @@ precmd_functions+=( precmd_vcs_info ) setopt prompt_subst RPROMPT='${vcs_info_msg_0_}' #PROMPT='${vcs_info_msg_0_}%# ' -PROMPT='%m@%c%# ' +PROMPT='%n@%c%# ' zstyle ':vcs_info:git:*' formats '%b' diff --git a/applications/application.desktop b/applications/application.desktop new file mode 100644 index 0000000..489712c --- /dev/null +++ b/applications/application.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Type=Application +Name=myAppName +Icon=~/myApp/icon.xpm +Exec=~/myApp/launcher +Comment=brief description +Categories=Development;IDE; +Terminal=false \ No newline at end of file From 88af90e9eefa95c21305f1d23273a7265186ade9 Mon Sep 17 00:00:00 2001 From: Josue Zamudio Date: Sun, 8 Feb 2026 09:11:24 -0800 Subject: [PATCH 44/45] Changes to be committed: modified: .config/hypr/hyprland.conf modified: .config/nvim/lua/plugins/treesitter.lua --- .config/hypr/hyprland.conf | 9 ++--- .config/nvim/lua/plugins/treesitter.lua | 44 +------------------------ 2 files changed, 6 insertions(+), 47 deletions(-) diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index 44b0c02..0106ed7 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -49,17 +49,17 @@ $menu = wofi --show drun -GI # exec-once = $terminal # exec-once = nm-applet & # exec-once = waybar & hyprpaper & firefox -exec-once = hypridle +exec-once = hypridle & exec-once = nm-applet & exec-once = blueman-applet & exec-once = shikane & exec-once = waybar -c ~/.config/hypr/waybar/config.jsonc -s ~/.config/hypr/waybar/style.css & exec-once = hyprpm reload -n -exec-once = flatpak run com.github.wwmm.easyeffects -w -exec-once = powertop --auto-tune +exec-once = flatpak run com.github.wwmm.easyeffects -w & exec-once = systemctl --user start hyprpolkitagent exec-once = xrdb -merge ~/.Xresources + exec-once = gsettings set org.gnome.desktop.interface color-scheme "prefer-dark" @@ -146,7 +146,8 @@ decoration { # https://wiki.hypr.land/Configuring/Variables/#animations animations { - enabled = yes, please :) + #enabled = yes, please :) + enabled = no # Default curves, see https://wiki.hypr.land/Configuring/Animations/#curves diff --git a/.config/nvim/lua/plugins/treesitter.lua b/.config/nvim/lua/plugins/treesitter.lua index 673fb93..6bede68 100644 --- a/.config/nvim/lua/plugins/treesitter.lua +++ b/.config/nvim/lua/plugins/treesitter.lua @@ -2,48 +2,6 @@ return { "nvim-treesitter/nvim-treesitter", build = ":TSUpdate", config = function() - --require("nvim-treesitter").install({}) - - require("nvim-treesitter.configs").setup ({ - -- A list of parser names, or "all" (the five listed parsers should always be installed) - ensure_installed = { "c", "lua", "vim", "vimdoc", "python", "bash", "make" }, - - -- Install parsers synchronously (only applied to `ensure_installed`) - sync_install = false, - - -- Automatically install missing parsers when entering buffer - -- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally - auto_install = true, - - -- List of parsers to ignore installing (for "all") - ignore_install = { "javascript" }, - - ---- If you need to change the installation directory of the parsers (see -> Advanced Setup) - -- parser_install_dir = "/some/path/to/store/parsers", -- Remember to run vim.opt.runtimepath:append("/some/path/to/store/parsers")! - - highlight = { - enable = true, - - -- NOTE: these are the names of the parsers and not the filetype. (for example if you want to - -- disable highlighting for the `tex` filetype, you need to include `latex` in this list as this is - -- the name of the parser) - -- list of language that will be disabled - -- disable = { "c", "rust" }, - -- Or use a function for more flexibility, e.g. to disable slow treesitter highlight for large files - disable = function(lang, buf) - local max_filesize = 100 * 1024 -- 100 KB - local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf)) - if ok and stats and stats.size > max_filesize then - return true - end - end, - - -- Setting this to true will run `:h syntax` and tree-sitter at the same time. - -- Set this to `true` if you depend on 'syntax' being enabled (like for indentation). - -- Using this option may slow down your editor, and you may see some duplicate highlights. - -- Instead of true it can also be a list of languages - additional_vim_regex_highlighting = false, - }, - }) + require("nvim-treesitter").install({}) end } From 8e87a3a909d35ddb266f3fafdfb52fade73c99bb Mon Sep 17 00:00:00 2001 From: Josue Zamudio Date: Tue, 10 Feb 2026 15:04:26 -0800 Subject: [PATCH 45/45] feat: hyprland; set env variables to prefer wayland. nvim; ai plugin --- .config/hypr/hyprland.conf | 7 +++- .config/nvim/lua/plugins/avante.lua | 63 +++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 .config/nvim/lua/plugins/avante.lua diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index 0106ed7..dfd2c4d 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -72,6 +72,10 @@ exec-once = gsettings set org.gnome.desktop.interface color-scheme "prefer-dark" env = XCURSOR_SIZE,24 env = HYPRCURSOR_SIZE,24 +env = GDK_BACKEND,wayland,x11 +env = QT_QPA_PLATFORM,wayland;xcb +env = ELECTRON_OZONE_PLATFORM_HINT,auto + ################### ### PERMISSIONS ### @@ -204,12 +208,13 @@ master { misc { force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers disable_hyprland_logo = true# If true disables the random hyprland logo / anime girl background. :( + vfr = true } xwayland { force_zero_scaling = true } -env = GTK_SCALE,2 +env = GTK_SCALE,1 env = XCURSOR_SIZE,32 diff --git a/.config/nvim/lua/plugins/avante.lua b/.config/nvim/lua/plugins/avante.lua new file mode 100644 index 0000000..5cff134 --- /dev/null +++ b/.config/nvim/lua/plugins/avante.lua @@ -0,0 +1,63 @@ +return { + "yetone/avante.nvim", + -- if you want to build from source then do `make BUILD_FROM_SOURCE=true` + -- ⚠️ must add this setting! ! ! + build = vim.fn.has("win32") ~= 0 + and "powershell -ExecutionPolicy Bypass -File Build.ps1 -BuildFromSource false" + or "make", + event = "VeryLazy", + version = false, -- Never set this value to "*"! Never! + ---@module 'avante' + ---@type avante.Config + opts = { + -- add any opts here + -- this file can contain specific instructions for your project + instructions_file = "avante.md", + -- for example + provider = "ollama", + providers = { + ollama = { + model = "devstral-small-2:24b-32k", + --is_env_set = require("avante.providers.ollama").check_endpoint_alive, + }, + }, + }, + dependencies = { + "nvim-lua/plenary.nvim", + "MunifTanjim/nui.nvim", + --- The below dependencies are optional, + "nvim-mini/mini.pick", -- for file_selector provider mini.pick + "nvim-telescope/telescope.nvim", -- for file_selector provider telescope + "hrsh7th/nvim-cmp", -- autocompletion for avante commands and mentions + "ibhagwan/fzf-lua", -- for file_selector provider fzf + "stevearc/dressing.nvim", -- for input provider dressing + "folke/snacks.nvim", -- for input provider snacks + "nvim-tree/nvim-web-devicons", -- or echasnovski/mini.icons + "zbirenbaum/copilot.lua", -- for providers='copilot' + { + -- support for image pasting + "HakonHarnes/img-clip.nvim", + event = "VeryLazy", + opts = { + -- recommended settings + default = { + embed_image_as_base64 = false, + prompt_for_file_name = false, + drag_and_drop = { + insert_mode = true, + }, + -- required for Windows users + use_absolute_path = true, + }, + }, + }, + { + -- Make sure to set this up properly if you have lazy=true + 'MeanderingProgrammer/render-markdown.nvim', + opts = { + file_types = { "markdown", "Avante" }, + }, + ft = { "markdown", "Avante" }, + }, + }, +}