diff --git a/.config/Code - OSS/User/settings.json b/.config/Code - OSS/User/settings.json index 2932835..f8ef710 100644 --- a/.config/Code - OSS/User/settings.json +++ b/.config/Code - OSS/User/settings.json @@ -1,200 +1,7 @@ { "svelte.enable-ts-plugin": true, "workbench.sideBar.location": "right", - "vim.leader": "", "editor.cursorSurroundingLines": 8, - "vim.smartRelativeLine": true, - "vim.useSystemClipboard": true, - "vim.highlightedyank.enable": true, - "vim.easymotion": true, - "vim.hlsearch": true, - "vim.highlightedyank.color": "#a9dc7660", - "vim.highlightedyank.duration": 250, - "extensions.experimental.affinity": { - "vscodevim.vim": 1 - }, - "vim.normalModeKeyBindingsNonRecursive": [ - { - "before": [ - "", - "w" - ], - "after": [ - "leader", - "leader", - "w" - ] - }, - { - "before": [ - "", - "b" - ], - "after": [ - "leader", - "leader", - "b" - ] - }, - { - "before": [ - "", - "f" - ], - "after": [ - "leader", - "leader", - "2", - "s" - ] - } - ], - "vim.normalModeKeyBindings": [ - { - "before": [ - "g", - "p", - "d" - ], - "commands": [ - "editor.action.peekDefinition" - ] - }, - { - "before": [ - "K" - ], - "commands": [ - "editor.action.showDefinitionPreviewHover" - ] - }, - { - "before": [ - "g", - "i" - ], - "commands": [ - "editor.action.goToImplementation" - ] - }, - { - "before": [ - "g", - "p", - "i" - ], - "commands": [ - "editor.action.peekImplementation" - ] - }, - { - "before": [ - "", - "c", - "a" - ], - "commands": [ - "editor.action.quickFix" - ] - }, - { - "before": [ - "", - "d", - "d" - ], - "commands": [ - "workbench.actions.view.toggleProblems" - ] - }, - { - "before": [ - "g", - "r" - ], - "commands": [ - "editor.action.referenceSearch.trigger" - ] - }, - { - "before": [ - "g", - "t" - ], - "commands": [ - "editor.action.goToTypeDefinition" - ] - }, - { - "before": [ - "g", - "p", - "t" - ], - "commands": [ - "editor.action.peekTypeDefinition" - ] - }, - { - "before": [ - "", - "g", - "f" - ], - "commands": [ - "editor.action.formatDocument" - ] - }, - { - "before": [ - "", - "e" - ], - "commands": [ - "workbench.view.explorer" - ] - }, - { - "before": [ - "", - "e" - ], - "commands": [ - "workbench.view.explorer" - ] - }, - { - "before": [ - "g", - "c", - "c" - ], - "commands": [ - "editor.action.commentLine" - ] - }, - { - "before": [ - "", - "c", - "r" - ], - "commands": [ - "editor.action.rename" - ] - } - ], - "vim.visualModeKeyBindings": [ - { - "before": [ - "g", - "c" - ], - "commands": [ - "editor.action.commentLine" - ] - } - ], "git.autofetch": true, "[svelte]": { "editor.defaultFormatter": "svelte.svelte-vscode" @@ -232,4 +39,7 @@ "editor.fontLigatures": false, "catppuccin.italicKeywords": false, "workbench.colorTheme": "Catppuccin Latte", + "extensions.experimental.affinity": { + "asvetliakov.vscode-neovim": 1 + }, } diff --git a/.config/hypr/config/games.conf b/.config/hypr/config/games.conf index 3575cc4..6539410 100644 --- a/.config/hypr/config/games.conf +++ b/.config/hypr/config/games.conf @@ -1,37 +1,37 @@ # Auto generated window rules for Games -windowrule = fullscreen, title:(Stardew Valley), class:(Stardew Valley) -windowrule = monitor DP-3, title:(Stardew Valley), class:(Stardew Valley) -windowrule = allowsinput, title:(Stardew Valley), class:(Stardew Valley) +windowrule = fullscreen on, match:title "Stardew Valley", match:class "Stardew Valley" +windowrule = monitor DP-3, match:title "Stardew Valley", match:class "Stardew Valley" +windowrule = allows_input on, match:title "Stardew Valley", match:class "Stardew Valley" -windowrule = tile, initialClass:(steam_app_.*) -windowrule = maximize, initialClass:(steam_app_.*) -windowrule = fullscreen, initialClass:(steam_app_.*) -windowrule = monitor DP-3, initialClass:(steam_app_.*) -windowrule = allowsinput, initialClass:(steam_app_.*) +windowrule = tile on, match:initial_class "steam_app_.*" +windowrule = maximize on, match:initial_class "steam_app_.*" +windowrule = fullscreen on, match:initial_class "steam_app_.*" +windowrule = monitor DP-3, match:initial_class "steam_app_.*" +windowrule = allows_input on, match:initial_class "steam_app_.*" -windowrule = stayfocused, title:(ffxiv*), class:(ffxiv*) -windowrule = fullscreen, title:(ffxiv*), class:(ffxiv*) -windowrule = monitor DP-3, title:(ffxiv*), class:(ffxiv*) -windowrule = allowsinput, title:(ffxiv*), class:(ffxiv*) +windowrule = stay_focused on, match:title "ffxiv*", match:class "ffxiv*" +windowrule = fullscreen on, match:title "ffxiv*", match:class "ffxiv*" +windowrule = monitor DP-3, match:title "ffxiv*", match:class "ffxiv*" +windowrule = allows_input on, match:title "ffxiv*", match:class "ffxiv*" -windowrule = fullscreen, title:(Hollow Knight), class:(Hollow Knight) -windowrule = monitor DP-3, title:(Hollow Knight), class:(Hollow Knight) -windowrule = allowsinput, title:(Hollow Knight), class:(Hollow Knight) +windowrule = fullscreen on, match:title "Hollow Knight", match:class "Hollow Knight" +windowrule = monitor DP-3, match:title "Hollow Knight", match:class "Hollow Knight" +windowrule = allows_input on, match:title "Hollow Knight", match:class "Hollow Knight" -windowrule = fullscreen, title:(HELLDIVERS*), class:(HELLDIVERS*) -windowrule = monitor DP-3, title:(HELLDIVERS*), class:(HELLDIVERS*) -windowrule = allowsinput, title:(HELLDIVERS*), class:(HELLDIVERS*) +windowrule = fullscreen on, match:title "HELLDIVERS*", match:class "HELLDIVERS*" +windowrule = monitor DP-3, match:title "HELLDIVERS*", match:class "HELLDIVERS*" +windowrule = allows_input on, match:title "HELLDIVERS*", match:class "HELLDIVERS*" -windowrule = tile, title:(CS), class:(CS) -windowrule = maximize, title:(CS), class:(CS) -windowrule = fullscreen, title:(CS), class:(CS) -windowrule = monitor DP-3, title:(CS), class:(CS) -windowrule = allowsinput, title:(CS), class:(CS) +windowrule = tile on, match:title "CS", match:class "CS" +windowrule = maximize on, match:title "CS", match:class "CS" +windowrule = fullscreen on, match:title "CS", match:class "CS" +windowrule = monitor DP-3, match:title "CS", match:class "CS" +windowrule = allows_input on, match:title "CS", match:class "CS" -windowrule = tile, title:(Warhammer 40,000: Darktide) -windowrule = maximize, title:(Warhammer 40,000: Darktide) -windowrule = fullscreen, title:(Warhammer 40,000: Darktide) -windowrule = monitor DP-3, title:(Warhammer 40,000: Darktide) -windowrule = allowsinput, title:(Warhammer 40,000: Darktide) +windowrule = tile on, match:title "Warhammer 40.000: Darktide" +windowrule = maximize on, match:title "Warhammer 40.000: Darktide" +windowrule = fullscreen on, match:title "Warhammer 40.000: Darktide" +windowrule = monitor DP-3, match:title "Warhammer 40.000: Darktide" +windowrule = allows_input on, match:title "Warhammer 40.000: Darktide" diff --git a/.config/hypr/config/general.conf b/.config/hypr/config/general.conf index f15b87c..4bcc20e 100644 --- a/.config/hypr/config/general.conf +++ b/.config/hypr/config/general.conf @@ -92,9 +92,7 @@ misc { # https://wiki.hyprland.org/Configuring/Variables/#input input { - kb_layout = de #us, - # kb_variant = qwertz #, - kb_options = grp:alt_space_toggle + kb_layout = de follow_mouse = 1 sensitivity = 0.2 # -1.0 - 1.0, 0 means no modification. @@ -105,3 +103,8 @@ input { natural_scroll = false } } + +device { + name = kinesis-kinesis-adv360-1 + kb_layout = us +} diff --git a/.config/hypr/config/programs.conf b/.config/hypr/config/programs.conf index 6036bbd..e0ed620 100644 --- a/.config/hypr/config/programs.conf +++ b/.config/hypr/config/programs.conf @@ -23,3 +23,5 @@ exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CUR exec-once = dunst exec-once = polkit-kde-agent exec-once = playerctld daemon + +exec-once = $hyprlock diff --git a/.config/hypr/config/rules.conf b/.config/hypr/config/rules.conf index ab7254b..960c0f4 100644 --- a/.config/hypr/config/rules.conf +++ b/.config/hypr/config/rules.conf @@ -20,8 +20,8 @@ workspace=9,monitor:DP-3,persistent:true workspace=10,monitor:DP-3,persistent:true # Other -windowrule = stayfocused, class:(swappy) -windowrule = allowsinput, class:(discord) -windowrule = monitor DP-2, class:(discord) -windowrule = noinitialfocus, initialClass:(steam) -windowrule = monitor DP-2, initialClass:(steam) +windowrule = stay_focused on, match:class swappy +windowrule = allows_input on, match:class discord +windowrule = monitor DP-2, match:class discord +windowrule = no_initial_focus on, match:initial_class steam +windowrule = monitor DP-2, match:initial_class steam diff --git a/.config/hypr/fix-hypr-lock.sh b/.config/hypr/fix-hypr-lock.sh new file mode 100755 index 0000000..e32b22c --- /dev/null +++ b/.config/hypr/fix-hypr-lock.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +IS_LOCKED=$(ps -e | grep hyprlock) + +if [ -z "$IS_LOCKED" ] +then + hyprlock +fi diff --git a/.config/hypr/games.py b/.config/hypr/games.py index 11f55df..3d59232 100755 --- a/.config/hypr/games.py +++ b/.config/hypr/games.py @@ -2,12 +2,12 @@ games = [ ("all", "Stardew Valley"), - ("initialclass", "steam_app_.*", "tile", "max"), + ("ic", "steam_app_.*", "tile", "max"), ("all", "ffxiv*", "sf"), ("all", "Hollow Knight"), ("all", "HELLDIVERS*"), ("all", "CS", "tile", "max"), - ("title", "Warhammer 40,000: Darktide", "tile", "max") + ("title", "Warhammer 40.000: Darktide", "tile", "max") ] def main(): @@ -19,14 +19,14 @@ def main(): name = game[1] match game[0]: - case "initialclass": - selector = f"initialClass:({name})" + case "ic": + selector = f"match:initial_class \"{name}\"" case "title": - selector = f"title:({name})" + selector = f"match:title \"{name}\"" case "class": - selector = f"class:({name})" + selector = f"match:class \"{name}\"" case "all": - selector = f"title:({name}), class:({name})" + selector = f"match:title \"{name}\", match:class \"{name}\"" case s: print(f"Could not find selector for \"{s}\"") continue @@ -34,18 +34,18 @@ def main(): for setting in game[2::]: match setting: case "sf": - conf += f"windowrule = stayfocused, {selector}\n" + conf += f"windowrule = stay_focused on, {selector}\n" case "tile": - conf += f"windowrule = tile, {selector}\n" + conf += f"windowrule = tile on, {selector}\n" case "max": - conf += f"windowrule = maximize, {selector}\n" + conf += f"windowrule = maximize on, {selector}\n" case s: print(f"Could not find setting \"{s}\"") - conf += f"""windowrule = fullscreen, {selector} + conf += f"""windowrule = fullscreen on, {selector} windowrule = monitor DP-3, {selector} -windowrule = allowsinput, {selector}\n +windowrule = allows_input on, {selector}\n """ f.write(conf) f.close() diff --git a/.config/hypr/hyprlock.conf b/.config/hypr/hyprlock.conf index e685d08..f6559a2 100644 --- a/.config/hypr/hyprlock.conf +++ b/.config/hypr/hyprlock.conf @@ -2,7 +2,7 @@ # BACKGROUND background { - monitor = DP-3 + monitor = DP-4 path = /home/zam/.config/wallpapers/wall0.png blur_passes = 3 contrast = 0.8916 @@ -12,7 +12,7 @@ background { } background { - monitor = DP-2 + monitor = DP-3 path = /home/zam/.config/wallpapers/wall1.png blur_passes = 3 contrast = 0.8916 @@ -31,7 +31,7 @@ general { # INPUT FIELD input-field { - monitor = DP-3 + monitor = DP-4 size = 250, 60 outline_thickness = 2 dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8 @@ -51,7 +51,7 @@ input-field { # TIME label { - monitor = + monitor = DP-4 text = cmd[update:1000] date +"%-I:%M%p" # color = $foreground color = rgba(255, 255, 255, 0.6) @@ -64,7 +64,7 @@ label { # USER label { - monitor = DP-3 + monitor = DP-4 text = Hi there, Zam # color = $foreground color = rgba(255, 255, 255, 0.6) diff --git a/.config/hypr/hyprpaper.conf b/.config/hypr/hyprpaper.conf index 473071c..e13cb50 100644 --- a/.config/hypr/hyprpaper.conf +++ b/.config/hypr/hyprpaper.conf @@ -1,6 +1,12 @@ preload = ~/.config/wallpapers/wall0.jpg preload = ~/.config/wallpapers/wall1.jpg -wallpaper = DP-3,~/.config/wallpapers/wall0.jpg -wallpaper = DP-2,~/.config/wallpapers/wall1.jpg +wallpaper { + monitor = DP-4 + path = ~/.config/wallpapers/wall0.jpg +} +wallpaper { + monitor = DP-3 + path = ~/.config/wallpapers/wall1.jpg +} diff --git a/.config/nvim b/.config/nvim index fa32c99..eba4aff 160000 --- a/.config/nvim +++ b/.config/nvim @@ -1 +1 @@ -Subproject commit fa32c992ca649516065475b048be457d50531a5d +Subproject commit eba4afff84dbee08eecf2144900b5d71c461a5d6 diff --git a/.config/spotify/Users/pablu23-user/prefs b/.config/spotify/Users/pablu23-user/prefs index 677c0bc..ab96ffb 100644 --- a/.config/spotify/Users/pablu23-user/prefs +++ b/.config/spotify/Users/pablu23-user/prefs @@ -1,5 +1,8 @@ connect.mdns_devices="[]" audio.play_bitrate_non_metered_migrated=true -connect.dial_devices="[{\"address\":\"192.168.2.158\",\"app_state\":\"MISSING\",\"created_timestamp\":1757418852,\"device_id\":\"ff98d289-21ff-14f9-b88a-a1e8ae8d4e6d\",\"dial_location_url\":\"http://192.168.2.158:56790/dd.xml\",\"display_name\":\"55PUS7609/12\",\"last_seen\":1757418972,\"manufacturer\":\"Philips\",\"model_name\":\"PUS7609\",\"product_cap\":\"\",\"public_ip\":\"2003:f0:7f0a:bb00:9fe2:aa0f:3a35:aac7\",\"wol\":{\"all_interfaces\":false,\"delay_ms\":250,\"mac\":\"0ccafb8d3446\",\"port\":9,\"retries\":320}}]" +connect.dial_devices="[]" +audio.hifi_upgraded=true ui.track_notifications_enabled=false +audio.play_bitrate_non_metered_enumeration=5 +audio.play_bitrate_enumeration=2 app.player.volume=36836 diff --git a/.config/starship.toml b/.config/starship.toml new file mode 100644 index 0000000..e2d2ef9 --- /dev/null +++ b/.config/starship.toml @@ -0,0 +1,3 @@ +[directory] +truncation_length = 0 +truncate_to_repo = false diff --git a/.zshrc b/.zshrc index ead8738..1b1cc98 100644 --- a/.zshrc +++ b/.zshrc @@ -1,135 +1,44 @@ -fastfetch +autoload -Uz compinit +compinit -# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc. -# Initialization code that may require console input (password prompts, [y/n] -# confirmations, etc.) must go above this block; everything else may go below. -if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then - source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" -fi +HISTFILE=~/.zsh_history +SAVEHIST=1000 +HISTSIZE=1000 -# If you come from bash you might have to change your $PATH. -# export PATH=$HOME/bin:$HOME/.local/bin:/usr/local/bin:$PATH +bindkey '^R' history-incremental-search-backward +bindkey '^r' history-incremental-pattern-search-backward -# Path to your oh-my-zsh installation. -export ZSH="$HOME/.oh-my-zsh" +setopt hist_ignore_dups +setopt appendhistory +unsetopt beep -# Set name of the theme to load --- if set to "random", it will -# load a random theme each time oh-my-zsh is loaded, in which case, -# to know which specific one was loaded, run: echo $RANDOM_THEME -# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes -# ZSH_THEME="dogenpunk" -ZSH_THEME="powerlevel10k/powerlevel10k" - -# Set list of themes to pick from when loading at random -# Setting this variable when ZSH_THEME=random will cause zsh to load -# a theme from this variable instead of looking in $ZSH/themes/ -# If set to an empty array, this variable will have no effect. -# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" ) - -# Uncomment the following line to use case-sensitive completion. -# CASE_SENSITIVE="true" - -# Uncomment the following line to use hyphen-insensitive completion. -# Case-sensitive completion must be off. _ and - will be interchangeable. -# HYPHEN_INSENSITIVE="true" - -# Uncomment one of the following lines to change the auto-update behavior -# zstyle ':omz:update' mode disabled # disable automatic updates -# zstyle ':omz:update' mode auto # update automatically without asking -# zstyle ':omz:update' mode reminder # just remind me to update when it's time - -# Uncomment the following line to change how often to auto-update (in days). -# zstyle ':omz:update' frequency 13 - -# Uncomment the following line if pasting URLs and other text is messed up. -# DISABLE_MAGIC_FUNCTIONS="true" - -# Uncomment the following line to disable colors in ls. -# DISABLE_LS_COLORS="true" - -# Uncomment the following line to disable auto-setting terminal title. -# DISABLE_AUTO_TITLE="true" - -# Uncomment the following line to enable command auto-correction. -# ENABLE_CORRECTION="true" - -# Uncomment the following line to display red dots whilst waiting for completion. -# You can also set it to another string to have that shown instead of the default red dots. -# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f" -# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765) -# COMPLETION_WAITING_DOTS="true" - -# Uncomment the following line if you want to disable marking untracked files -# under VCS as dirty. This makes repository status check for large repositories -# much, much faster. -# DISABLE_UNTRACKED_FILES_DIRTY="true" - -# Uncomment the following line if you want to change the command execution time -# stamp shown in the history command output. -# You can set one of the optional three formats: -# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd" -# or set a custom format using the strftime function format specifications, -# see 'man strftime' for details. -# HIST_STAMPS="mm/dd/yyyy" - -# Would you like to use another custom folder than $ZSH/custom? -# ZSH_CUSTOM=/path/to/new-custom-folder - -# Which plugins would you like to load? -# Standard plugins can be found in $ZSH/plugins/ -# Custom plugins may be added to $ZSH_CUSTOM/plugins/ -# Example format: plugins=(rails git textmate ruby lighthouse) -# Add wisely, as too many plugins slow down shell startup. -plugins=(git zsh-autosuggestions zsh-syntax-highlighting ) - -source $ZSH/oh-my-zsh.sh - -# User configuration - -# export MANPATH="/usr/local/man:$MANPATH" - -# You may need to manually set your language environment -# export LANG=en_US.UTF-8 - -# Preferred editor for local and remote sessions -# if [[ -n $SSH_CONNECTION ]]; then -# export EDITOR='vim' -# else +# zstyle :compinstall filename '/home/zam/.zshrc' export EDITOR='nvim' -# fi - -# Compilation flags -# export ARCHFLAGS="-arch x86_64" - -# Set personal aliases, overriding those provided by oh-my-zsh libs, -# plugins, and themes. Aliases can be placed here, though oh-my-zsh -# users are encouraged to define aliases within the ZSH_CUSTOM folder. -# For a full list of active aliases, run `alias`. -# -# Example aliases -# alias zshconfig="mate ~/.zshrc" -# alias ohmyzsh="mate ~/.oh-my-zsh" - -# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh. -[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh - -eval "$(zoxide init zsh)" - -alias hx="helix" -alias cd="z" -alias ls="eza --icons=always" -alias vim="nvim" +alias vim='nvim' +alias hx='helix' +alias cd='z' +alias ls='eza --icons=always' path+=('/home/zam/Projects/Odin') path+=('/home/zam/android-studio/bin') path+=('/home/zam/webstorm/bin') path+=('/home/zam/go/bin') path+=('/home/zam/.cache/rebar3/bin') + +path+=('/home/zam/zig/zig-x86_64-linux-0.15.1') +path+=('/home/zam/zig/zls-0.15.1') + export path -# bun completions -[ -s "/home/zam/.bun/_bun" ] && source "/home/zam/.bun/_bun" +type starship_zle-keymap-select >/dev/null || \ + { + eval "$(starship init zsh)" + } -# bun -export BUN_INSTALL="$HOME/.bun" -export PATH="$BUN_INSTALL/bin:$PATH" +eval "$(zoxide init zsh)" +source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh +source ~/.zsh/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh + +fastfetch + +. "$HOME/.local/bin/env"