├── .bashrc ├── .envrc ├── .gitignore ├── .hooks └── pre-push ├── .nvimlog ├── .p10k.zsh ├── .profile ├── .stow-local-ignore ├── .tmux.conf ├── .vimrc ├── .zshrc ├── LICENSE ├── README.md ├── dot-config ├── alacritty │ ├── alacritty.toml │ └── themes │ │ ├── catppuccin-macchiato.toml │ │ ├── colors.toml │ │ └── one_dark.toml ├── autostart │ ├── copyq.desktop │ ├── morghulis.desktop │ ├── nm-applet.desktop │ ├── protonvpn.desktop │ └── wl-clip-persist.desktop ├── background ├── bat │ ├── config │ └── themes │ │ ├── Catppuccin Frappe.tmTheme │ │ ├── Catppuccin Latte.tmTheme │ │ ├── Catppuccin Macchiato.tmTheme │ │ └── Catppuccin Mocha.tmTheme ├── btop │ ├── btop.conf │ └── themes │ │ └── catppuccin_macchiato.theme ├── cava │ ├── config │ └── shaders │ │ ├── bar_spectrum.frag │ │ ├── northern_lights.frag │ │ └── pass_through.vert ├── code-flags.conf ├── direnv │ ├── direnv.toml │ └── direnvrc ├── electron-flags.conf ├── fastfetch │ └── config.jsonc ├── gtk-3.0 │ └── gtk.css ├── gtk-4.0 │ └── gtk.css ├── gtklock │ ├── config.ini │ ├── lock │ └── main.css ├── hypr │ ├── default │ │ ├── binds.conf │ │ ├── cursor.conf │ │ ├── env.conf │ │ ├── layerrules.conf │ │ ├── startup.conf │ │ └── windowrules.conf │ ├── hypridle.conf │ ├── hyprland.conf │ ├── hyprlock.conf │ ├── hyprpaper.conf │ ├── macchiato.conf │ ├── morghulis.conf │ └── plugins │ │ └── hyprexpo.conf ├── kitty │ ├── current-theme.conf │ └── kitty.conf ├── matugen │ ├── config.toml │ └── templates │ │ ├── allColors.css │ │ └── morghulis.css ├── morghulis │ └── main.css ├── mpd │ ├── .gitignore │ ├── mpd.conf │ └── playlists │ │ ├── MIX I.m3u │ │ └── MIX II.m3u ├── mpv │ └── input.conf ├── neofetch │ └── config.conf ├── nix │ └── nix.conf ├── nushell │ ├── config.nu │ ├── env.nu │ ├── fnm.nu │ ├── profile.nu │ └── scripts │ │ └── task.nu ├── nvim │ ├── .neoconf.json │ ├── .stylua.toml │ ├── README.md │ ├── init.lua │ ├── lua │ │ ├── community.lua │ │ ├── lazy_setup.lua │ │ ├── plugins │ │ │ ├── astrocore.lua │ │ │ ├── astrolsp.lua │ │ │ ├── astroui.lua │ │ │ ├── mason.lua │ │ │ ├── none-ls.lua │ │ │ ├── supermaven.lua │ │ │ ├── treesitter.lua │ │ │ └── user.lua │ │ └── polish.lua │ ├── neovim.yml │ └── selene.toml ├── qt5ct │ └── qt5ct.conf ├── qt6ct │ └── qt6ct.conf ├── river │ ├── .gitignore │ ├── autostart │ └── init ├── starship.toml ├── systemd │ └── user │ │ ├── battery-notifier.service │ │ ├── fluidmidi.service │ │ └── mpd-mpris.service ├── uwsm │ ├── env │ ├── env-hyprland │ └── env-river ├── yt-dlp │ └── config └── zed │ ├── keymap.json │ └── settings.json ├── dot-face ├── dot-local └── share │ └── applications │ ├── brave-browser.desktop │ ├── brave-hnpfjngllnobngcgfapefoaidbinmjnm-Default.desktop │ ├── brave-jnpecgipniidlgicjocehkhajgdnjekh-Default.desktop │ ├── btop.desktop │ ├── cursor.desktop │ ├── discord.desktop │ ├── microsoft-edge.desktop │ ├── obsidian.desktop │ ├── termius.desktop │ └── unityhub.desktop ├── public ├── COI.md ├── Musthave.md ├── cage.sh ├── installedPKGS │ ├── README.md │ ├── listPkgs.lua │ └── update.lua ├── morghulis.webp ├── pacman.conf ├── stylus-2024-06-10.json └── wayland-sessions │ └── river-uwsm.desktop └── scripts ├── WBG.lua ├── flake.lua ├── screenshots └── wbg /.bashrc: -------------------------------------------------------------------------------- 1 | [[ $- != *i* ]] && return 2 | 3 | PS1='[\u@\h \W]\$ ' 4 | . "$HOME/.cargo/env" 5 | 6 | source ~/.local/share/blesh/ble.sh 7 | eval "$(starship init bash)" 8 | 9 | #Binds 10 | bind '"\e[1;5C": forward-word' # Ctrl + Right 11 | bind '"\e[1;5D": backward-word' # Ctrl + Left 12 | bind '"\C-h": backward-kill-word' # Ctrl + Backspace 13 | bind '"\C-l": clear-screen' # Ctrl + L 14 | 15 | #Aliases 16 | source ~/.profile 17 | 18 | export PATH="$HOME/.cargo/bin:$PATH" 19 | export PATH="$HOME/.local/bin:$PATH" 20 | export PATH="$HOME/.console-ninja/.bin:$PATH" 21 | 22 | eval "$(fzf --bash)" 23 | eval "$(zoxide init bash)" 24 | 25 | -------------------------------------------------------------------------------- /.envrc: -------------------------------------------------------------------------------- 1 | export PATH=$PATH:$(go env GOPATH)/bin -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | dot-config/nvim/lazy-lock.json 2 | dot-config/mpv/playlist/ 3 | -------------------------------------------------------------------------------- /.hooks/pre-push: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | script_dir="$HOME/.dotfiles/public/installedPKGS/" 4 | readme_file="$script_dir/README.md" 5 | lua_script="$script_dir/listPkgs.lua" 6 | 7 | # Check if the directory exists 8 | if [ ! -d "$script_dir" ]; then 9 | echo "Directory $script_dir does not exist. Aborting." 10 | exit 1 11 | fi 12 | 13 | # Check if the Lua script exists 14 | if [ ! -f "$lua_script" ]; then 15 | echo "Lua script $lua_script does not exist. Aborting." 16 | exit 1 17 | fi 18 | 19 | cd "$script_dir" 20 | 21 | echo "Running listPkgs.lua..." 22 | lua listPkgs.lua 23 | 24 | # Check if the README.md file exists 25 | if [ ! -f "$readme_file" ]; then 26 | echo "README.md file $readme_file does not exist after running the script. Aborting." 27 | exit 1 28 | fi 29 | 30 | if git diff --quiet "$readme_file"; then 31 | echo "No changes in README.md" 32 | else 33 | echo "Packages have been updated and/or modified" 34 | git add "$readme_file" 35 | git commit -m "Update Packages [$(date)]" 36 | fi 37 | 38 | exit 0 -------------------------------------------------------------------------------- /.nvimlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ARKye03/dotfiles/f125386a4da63086236cee33f0b33c75f77c8367/.nvimlog -------------------------------------------------------------------------------- /.profile: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env bash 2 | 3 | # Core 4 | alias snvim="sudo -E nvim" 5 | alias ndev="nvim ." 6 | 7 | #Arch Linux Aliases 8 | alias pacsu="yay --noconfirm --sudoloop -Syu" 9 | alias pacin="sudo pacman -S --noconfirm" 10 | alias yacin="yay -S --noconfirm" 11 | alias pacre="sudo pacman -Rns" 12 | alias yacre="yay -Rns" 13 | alias paclean='sudo pacman -Qdtq | sudo pacman -Rns - ; sudo fstrim -av' 14 | alias pacache="sudo pacman -Scc --noconfirm && yay -Scc --noconfirm" 15 | 16 | #AstroNvim Aliases 17 | alias avzsh="nvim ~/.dotfiles/.zshrc" 18 | alias avprof="nvim ~/.dotfiles/.profile" 19 | alias avdots="nvim ~/.dotfiles/" 20 | alias avbsh="nvim ~/.dotfiles/.bashrc" 21 | alias avpac="snvim ~/.dotfiles/public/pacman.conf" 22 | alias avbsp="nvim ~/.config/bspwm/bspwmrc" 23 | alias avhyp="pushd ~/.dotfiles/dot-config/hypr/ && nvim . && popd" 24 | alias avsxh="nvim ~/.config/sxhkd/sxhkdrc" 25 | alias avnvim="nvim ~/.dotfiles/dot-config/nvim/" 26 | alias avpic="snvim ~/.config/picom/picom.conf" 27 | 28 | #ProtonVPN 29 | alias pvpn="sudo protonvpn c --cc US" 30 | alias pvpc="sudo protonvpn c" 31 | alias pvpd="sudo protonvpn d" 32 | 33 | #NMCLI 34 | alias nmli="nmcli device wifi list" 35 | alias nmco="nmcli device wifi connect" 36 | alias nmcomp='nmcli device wifi connect "Mon Palais"' 37 | 38 | #OTHERS 39 | alias mkex="chmod +x" 40 | alias ls="eza --color=always --long --git --no-filesize --icons=always --no-time --no-user --no-permissions" 41 | alias lsa="eza -a --color=always --long --git --no-filesize --icons=always --no-time --no-user --no-permissions" 42 | alias ll="/usr/bin/ls -al" 43 | alias cdar="cd ~/arch_progs/" 44 | alias codedots="code ~/.dotfiles" 45 | alias codeags="code ~/.dotfiles/dot-config/ags/" 46 | alias zdots="cd ~/.dotfiles/" 47 | alias ztmp="cd /tmp" 48 | alias curl='noglob curl' 49 | 50 | # yt-dlp 51 | alias ythd="yt-dlp -f 'bestvideo[height<=720]+bestaudio/best[height<=720]' -o '~/Downloads/Video/%(title)s.%(ext)s'" 52 | alias ytfhd="yt-dlp -f 'bestvideo[height<=1080]+bestaudio/best[height<=1080]' -o '~/Downloads/Video/%(title)s.%(ext)s'" 53 | alias ytmax="yt-dlp -f 'bestvideo+bestaudio' -o '~/Downloads/Video/%(title)s.%(ext)s'" 54 | 55 | # Node & Bun 56 | alias ptd="pnpm tauri dev" 57 | alias prd="pnpm run dev" 58 | 59 | alias btd="bun tauri dev" 60 | alias brd="bun run dev" 61 | 62 | # Ripgrep 63 | alias rgfs='rg --fixed-strings --' 64 | 65 | # Git Aliases 66 | 67 | # Clone 68 | alias gc="git clone" 69 | 70 | # Diff 71 | alias gd="git diff" 72 | alias gds="git diff --staged" 73 | alias gdc="git diff --cached" 74 | 75 | # Status 76 | alias gs="git status" 77 | alias gss="git status -s" 78 | 79 | # Add 80 | alias ga="git add" 81 | alias gaa="git add --all" 82 | 83 | # Commit 84 | alias gcm="git commit -m" 85 | 86 | # Checkout and Switch 87 | alias gco="git checkout" 88 | alias gcb="git checkout -b" 89 | alias gsw="git switch" 90 | alias gswc="git switch -c" 91 | alias gswm='git switch $(git_main_branch)' 92 | alias gswd='git switch $(git_develop_branch)' 93 | 94 | # Branch 95 | alias gbr="git branch" 96 | alias gbd="git branch -d" 97 | 98 | # Bisect 99 | alias gbs="git bisect" 100 | alias gbss="git bisect start" 101 | alias gbc="git bisect continue" 102 | alias gbg="git bisect good" 103 | alias gbb="git bisect bad" 104 | alias gbs="git bisect reset" 105 | 106 | # Log 107 | alias glog="git log --oneline --decorate --graph --all" 108 | 109 | # Pull 110 | alias gpl="git pull" 111 | alias gplr="git pull --rebase" 112 | alias gplm="git pull origin main" 113 | alias ggpull='git pull origin "$(git_current_branch)"' 114 | 115 | # Push 116 | alias gp="git push" 117 | alias gpf!="git push --force" 118 | alias gpsm="git push origin main" 119 | alias ggpush='git push origin "$(git_current_branch)"' 120 | 121 | # Fetch 122 | alias gf="git fetch" 123 | alias gfa="git fetch --all --prune" 124 | 125 | # Restore 126 | alias gr="git restore" 127 | alias grs="git restore --staged" 128 | 129 | # Merge 130 | alias gm="git merge" 131 | alias gmom='git merge origin/$(git_main_branch)' 132 | 133 | # Stash 134 | alias gst="git stash" 135 | alias gsta="git stash apply" 136 | alias gstd="git stash drop" 137 | alias gstl="git stash list" 138 | alias gstp="git stash pop" 139 | 140 | # Tag 141 | alias gts="git tag -s" 142 | alias gtv="git tag | sort -V" 143 | 144 | function git_current_branch() { 145 | git branch --show-current 146 | } 147 | function gdbat() { 148 | git diff --name-only --relative --diff-filter=d "$@" | xargs bat --diff 149 | } 150 | function eclean() { 151 | echo "Are you sure you want to clean the cache and remove old packages?" 152 | echo "Type 'yes' to continue: " 153 | read -r yn 154 | if [ "$yn" = "yes" ]; then 155 | pacman -Qdtq | sudo pacman -Rns - 156 | pacman -Qqd | sudo pacman -Rsu - 157 | yay -Scc --noconfirm 158 | sudo paccache -rk0 159 | else 160 | echo "Aborted." 161 | fi 162 | } 163 | 164 | #.Net Aliases 165 | alias dn='dotnet new' 166 | alias dr='dotnet run' 167 | alias dt='dotnet test' 168 | alias dw='dotnet watch' 169 | alias dwr='dotnet watch run' 170 | alias dwt='dotnet watch test' 171 | alias ds='dotnet sln' 172 | alias da='dotnet add' 173 | alias dp='dotnet pack' 174 | alias dng='dotnet nuget' 175 | alias db='dotnet build' 176 | 177 | # Make Aliases 178 | alias mkr='make run' 179 | alias mkp='make prune' 180 | alias mkc='make create' 181 | 182 | # Rust Aliases 183 | alias cg='cargo' 184 | alias cgc='cargo check' 185 | alias cgr='cargo run' 186 | alias cgb='cargo build' 187 | alias cgbr='cargo build --release' 188 | 189 | # Angular Aliases 190 | alias ngs='ng serve' 191 | alias ngso='ng serve --open' 192 | alias nggc='ng generate component' 193 | 194 | export PATH="$PATH:$HOME/.local/share/coursier/bin" 195 | 196 | GOPATH=$(go env GOPATH) 197 | export PATH=$PATH:$GOPATH/bin 198 | 199 | GPG_TTY=$(tty) 200 | export GPG_TTY 201 | -------------------------------------------------------------------------------- /.stow-local-ignore: -------------------------------------------------------------------------------- 1 | /scripts 2 | HyprArch.png 3 | README.md 4 | LICENSE 5 | .git 6 | .vscode 7 | .gitignore 8 | public 9 | .gitmodules 10 | .envrc 11 | .hooks 12 | -------------------------------------------------------------------------------- /.tmux.conf: -------------------------------------------------------------------------------- 1 | # List of plugins 2 | set -g @plugin 'tmux-plugins/tpm' 3 | set -g @plugin 'tmux-plugins/tmux-sensible' 4 | set -g @plugin 'tmux-plugins/tmux-battery' 5 | set -g @plugin 'tmux-plugins/tmux-cpu' 6 | set -g @plugin 'catppuccin/tmux#v2.1.0' 7 | 8 | set -g @catppuccin_flavor 'macchiato' 9 | set -g @catppuccin_window_status_style "rounded" 10 | 11 | set -g mouse on 12 | set-option -g default-terminal "screen-256color" 13 | set-option -a terminal-features ",alacritty:RGB" 14 | 15 | # Make the status line pretty and add some modules 16 | set -g status-right-length 100 17 | set -g status-left-length 100 18 | set -g status-left "" 19 | set -g status-right "#{E:@catppuccin_status_application}" 20 | set -g status-right "#{E:@catppuccin_status_application}" 21 | set -agF status-right "#{E:@catppuccin_status_cpu}" 22 | set -ag status-right "#{E:@catppuccin_status_session}" 23 | set -ag status-right "#{E:@catppuccin_status_uptime}" 24 | set -agF status-right "#{E:@catppuccin_status_battery}" 25 | 26 | # Keep at the bottom 27 | run '~/.tmux/plugins/tpm/tpm' 28 | -------------------------------------------------------------------------------- /.vimrc: -------------------------------------------------------------------------------- 1 | call plug#begin() 2 | 3 | Plug 'tpope/vim-sensible' 4 | Plug 'joshdick/onedark.vim' 5 | 6 | call plug#end() 7 | 8 | syntax on 9 | colorscheme onedark 10 | 11 | set nu 12 | -------------------------------------------------------------------------------- /.zshrc: -------------------------------------------------------------------------------- 1 | if [[ "$TERM_PROGRAM" != "WarpTerminal" ]]; then 2 | if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then 3 | source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" 4 | fi 5 | 6 | HISTFILE=~/.histfile 7 | HISTSIZE=5000 8 | SAVEHIST=5000 9 | zstyle :compinstall filename '/home/archkye/.zshrc' 10 | 11 | #ZStyles Completions 12 | zstyle ':completion:*' verbose true 13 | zstyle ':completion:*:*:*:*:*' menu select 14 | zstyle ':completion:*' matcher-list '' 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*' 15 | 16 | #Zsh Options 17 | setopt PROMPT_SUBST 18 | setopt MENU_COMPLETE 19 | setopt LIST_PACKED 20 | setopt AUTO_LIST 21 | setopt HIST_IGNORE_DUPS 22 | setopt HIST_IGNORE_ALL_DUPS 23 | setopt HIST_FIND_NO_DUPS 24 | setopt COMPLETE_IN_WORD 25 | setopt SHARE_HISTORY 26 | setopt APPEND_HISTORY 27 | 28 | #Plugins 29 | source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh 30 | source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh 31 | source /usr/share/zsh/plugins/zsh-history-substring-search/zsh-history-substring-search.zsh 32 | source /usr/share/zsh/plugins/zsh-sudo/sudo.plugin.zsh 33 | source /usr/share/zsh/plugins/zsh-auto-notify/auto-notify.plugin.zsh 34 | source /usr/share/zsh-theme-powerlevel10k/powerlevel10k.zsh-theme 35 | 36 | ZSH_AUTOSUGGEST_STRATEGY=(history completion) 37 | 38 | #Binds 39 | bindkey '^[[A' history-substring-search-up 40 | bindkey '^[[B' history-substring-search-down 41 | bindkey '^[[1;5C' forward-word # Ctrl + Right 42 | bindkey '^[[1;5D' backward-word # Ctrl + Left 43 | bindkey '^H' backward-kill-word # Ctrl + Backspace 44 | bindkey "^L" clear-screen # Ctrl + L 45 | 46 | # To customize prompt, run `p10k configure` or edit ~/.p10k.zsh. 47 | [[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh 48 | 49 | fi 50 | autoload -Uz compinit 51 | compinit 52 | 53 | # Aliases 54 | source ~/.profile 55 | 56 | # PATH 57 | export PATH="$HOME/.cargo/bin:$PATH" 58 | export PATH="$HOME/.local/bin:$PATH" 59 | export PATH="$HOME/.cabal/bin:$HOME/.ghcup/bin:$PATH" 60 | export PATH="$HOME/.console-ninja/.bin:$PATH" 61 | 62 | export MANROFFOPT="-c" 63 | export MANPAGER="sh -c 'col -bx | bat -l man -p'" 64 | 65 | # pnpm 66 | export PNPM_HOME="/home/archkye/.local/share/pnpm" 67 | case ":$PATH:" in 68 | *":$PNPM_HOME:"*) ;; 69 | *) export PATH="$PNPM_HOME:$PATH" ;; 70 | esac 71 | # pnpm end 72 | 73 | eval "$(fzf --zsh)" 74 | eval "$(zoxide init zsh)" 75 | eval "$(direnv hook zsh)" 76 | 77 | eval "export PATH="/run/user/1000/fnm_multishells/112983_1716601015197/bin":$PATH 78 | export FNM_NODE_DIST_MIRROR="https://nodejs.org/dist" 79 | export FNM_MULTISHELL_PATH="/run/user/1000/fnm_multishells/112983_1716601015197" 80 | export FNM_DIR="/home/archkye/.local/share/fnm" 81 | export FNM_COREPACK_ENABLED="false" 82 | export FNM_ARCH="x64" 83 | export FNM_VERSION_FILE_STRATEGY="local" 84 | export FNM_LOGLEVEL="info" 85 | export FNM_RESOLVE_ENGINES="false" 86 | autoload -U add-zsh-hook 87 | _fnm_autoload_hook () { 88 | if [[ -f .node-version || -f .nvmrc ]]; then 89 | fnm use --silent-if-unchanged 90 | fi 91 | 92 | } 93 | 94 | add-zsh-hook chpwd _fnm_autoload_hook \ 95 | && _fnm_autoload_hook 96 | 97 | rehash" 98 | eval "$(fnm env --use-on-cd)" 99 | 100 | # Load Angular CLI autocompletion. 101 | # source <(ng completion script) 102 | 103 | # bun completions 104 | [ -s "/home/archkye/.bun/_bun" ] && source "/home/archkye/.bun/_bun" 105 | 106 | # bun 107 | export BUN_INSTALL="$HOME/.bun" 108 | export PATH="$BUN_INSTALL/bin:$PATH" 109 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | This is free and unencumbered software released into the public domain. 2 | 3 | Anyone is free to copy, modify, publish, use, compile, sell, or 4 | distribute this software, either in source code form or as a compiled 5 | binary, for any purpose, commercial or non-commercial, and by any 6 | means. 7 | 8 | In jurisdictions that recognize copyright laws, the author or authors 9 | of this software dedicate any and all copyright interest in the 10 | software to the public domain. We make this dedication for the benefit 11 | of the public at large and to the detriment of our heirs and 12 | successors. We intend this dedication to be an overt act of 13 | relinquishment in perpetuity of all present and future rights to this 14 | software under copyright law. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR 20 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 21 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | 24 | For more information, please refer to 25 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ARKye03's dotfiles 2 | 3 | Used here: 4 | 5 | - [Morghulis](https://github.com/ARKye03/morghulis). 6 | - [River](https://codeberg.org/river/river/) with [uwsm](https://github.com/Vladimir-csp/uwsm), [Hyprland](https://hyprland.org/). 7 | - [Alacritty](https://alacritty.org/), [Kitty](https://sw.kovidgoyal.net/kitty/). 8 | - [NuShell](https://www.nushell.sh/), [Zsh](https://www.zsh.org/). 9 | - [Hyprlock](https://github.com/hyprwm/hyprlock)/[GtkLock](https://github.com/jovanlanik/gtklock), [hyprpicker](https://github.com/hyprwm/hyprpicker), [hypridle](https://github.com/hyprwm/hypridle) 10 | - [Music Player Daemon](https://musicpd.org/) + [ncmpcpp](https://github.com/ncmpcpp/ncmpcpp) & [mpd-mpris](https://github.com/natsukagami/mpd-mpris). 11 | - Wallpaper utility: [wbg](https://codeberg.org/dnkl/wbg). 12 | - Clipboard manager: [CopyQ](https://github.com/hluk/CopyQ). 13 | - Notification Daemon: Morghulis. 14 | - Theme: Adwaita (Gtk), KvLibadwaitaDark (Qt). 15 | - Cursor: [Bibata](https://github.com/rtgiskard/bibata_cursor). 16 | - [GNU Stow](https://www.gnu.org/software/stow/). 17 | - [Lua](https://lua.org/). 18 | 19 | !["Something went wrong :("](https://raw.githubusercontent.com/ARKye03/morghulis/refs/heads/trunk/public/morghulis.webp "Morghulis Desktop in Arch Linux") 20 | 21 | ## Usage 22 | 23 | Install GNU Stow, dependencies, and clone the repo 24 | 25 | - [These](public/installedPKGS/README.md) are my installed packages. 26 | 27 | ```sh 28 | git clone https://github.com/ARKye03/dotfiles.git ~/.dotfiles 29 | cd ~/.dotfiles 30 | stow --dotfiles --no-folding . 31 | ``` 32 | 33 | Remember that if Stow finds a file that already exists, it will not overwrite it. 34 | -------------------------------------------------------------------------------- /dot-config/alacritty/alacritty.toml: -------------------------------------------------------------------------------- 1 | [cursor] 2 | blink_interval = 550 3 | unfocused_hollow = false 4 | 5 | [cursor.style] 6 | blinking = "On" 7 | shape = "Block" 8 | 9 | [font] 10 | size = 12 11 | 12 | [font.bold] 13 | family = "JetBrainsMono Nerd Font" 14 | 15 | [font.bold_italic] 16 | family = "JetBrainsMono Nerd Font" 17 | 18 | [font.italic] 19 | family = "JetBrainsMono Nerd Font" 20 | 21 | [font.normal] 22 | family = "JetBrainsMono Nerd Font" 23 | 24 | [selection] 25 | save_to_clipboard = false 26 | 27 | [window] 28 | decorations = "none" 29 | dynamic_title = true 30 | opacity = 0.98 31 | 32 | [window.padding] 33 | x = 10 34 | y = 4 35 | 36 | [general] 37 | live_config_reload = true 38 | 39 | import = ["~/.config/alacritty/themes/catppuccin-macchiato.toml"] 40 | -------------------------------------------------------------------------------- /dot-config/alacritty/themes/catppuccin-macchiato.toml: -------------------------------------------------------------------------------- 1 | [colors.primary] 2 | background = "#24273a" 3 | foreground = "#cad3f5" 4 | dim_foreground = "#8087a2" 5 | bright_foreground = "#cad3f5" 6 | 7 | [colors.cursor] 8 | text = "#24273a" 9 | cursor = "#f4dbd6" 10 | 11 | [colors.vi_mode_cursor] 12 | text = "#24273a" 13 | cursor = "#b7bdf8" 14 | 15 | [colors.search.matches] 16 | foreground = "#24273a" 17 | background = "#a5adcb" 18 | 19 | [colors.search.focused_match] 20 | foreground = "#24273a" 21 | background = "#a6da95" 22 | 23 | [colors.footer_bar] 24 | foreground = "#24273a" 25 | background = "#a5adcb" 26 | 27 | [colors.hints.start] 28 | foreground = "#24273a" 29 | background = "#eed49f" 30 | 31 | [colors.hints.end] 32 | foreground = "#24273a" 33 | background = "#a5adcb" 34 | 35 | [colors.selection] 36 | text = "#24273a" 37 | background = "#f4dbd6" 38 | 39 | [colors.normal] 40 | black = "#494d64" 41 | red = "#ed8796" 42 | green = "#a6da95" 43 | yellow = "#eed49f" 44 | blue = "#8aadf4" 45 | magenta = "#f5bde6" 46 | cyan = "#8bd5ca" 47 | white = "#b8c0e0" 48 | 49 | [colors.bright] 50 | black = "#5b6078" 51 | red = "#ed8796" 52 | green = "#a6da95" 53 | yellow = "#eed49f" 54 | blue = "#8aadf4" 55 | magenta = "#f5bde6" 56 | cyan = "#8bd5ca" 57 | white = "#a5adcb" 58 | 59 | [[colors.indexed_colors]] 60 | index = 16 61 | color = "#f5a97f" 62 | 63 | [[colors.indexed_colors]] 64 | index = 17 65 | color = "#f4dbd6" 66 | -------------------------------------------------------------------------------- /dot-config/alacritty/themes/colors.toml: -------------------------------------------------------------------------------- 1 | [colors.bright] 2 | black = "#56687E" 3 | blue = "#556FFF" 4 | cyan = "#3FDCEE" 5 | green = "#18E3C8" 6 | magenta = "#B043D1" 7 | red = "#FF4971" 8 | white = "#BEBEC1" 9 | yellow = "#FF8037" 10 | 11 | [colors.cursor] 12 | cursor = "#FDFDFD" 13 | text = "#1D1F28" 14 | 15 | [colors.normal] 16 | black = "#3D4C5F" 17 | blue = "#8897F4" 18 | cyan = "#79E6F3" 19 | green = "#5ADECD" 20 | magenta = "#C574DD" 21 | red = "#F37F97" 22 | white = "#FDFDFD" 23 | yellow = "#F2A272" 24 | 25 | [colors.primary] 26 | background = "#1D1F28" 27 | foreground = "#FDFDFD" 28 | -------------------------------------------------------------------------------- /dot-config/alacritty/themes/one_dark.toml: -------------------------------------------------------------------------------- 1 | # Colors (One Dark) 2 | 3 | # Default colors 4 | [colors.primary] 5 | background = '#282c34' 6 | foreground = '#abb2bf' 7 | 8 | # Normal colors 9 | [colors.normal] 10 | black = '#1e2127' 11 | red = '#e06c75' 12 | green = '#98c379' 13 | yellow = '#d19a66' 14 | blue = '#61afef' 15 | magenta = '#c678dd' 16 | cyan = '#56b6c2' 17 | white = '#abb2bf' 18 | 19 | # Bright colors 20 | [colors.bright] 21 | black = '#5c6370' 22 | red = '#e06c75' 23 | green = '#98c379' 24 | yellow = '#d19a66' 25 | blue = '#61afef' 26 | magenta = '#c678dd' 27 | cyan = '#56b6c2' 28 | white = '#ffffff' 29 | -------------------------------------------------------------------------------- /dot-config/autostart/copyq.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=CopyQ 3 | Exec=copyq --start-server 4 | Icon=copyq 5 | GenericName=Clipboard Manager 6 | Type=Application 7 | Terminal=false 8 | Categories=Qt;KDE;Utility; 9 | GenericName[af]=Klipbord Program 10 | GenericName[ar]=أداة الحافظة 11 | GenericName[ast]=Cartafueyu 12 | GenericName[be]=Буфер абмену 13 | GenericName[be@latin]=Pryłada, jakaja absłuhoŭvaje abmienny bufer 14 | GenericName[bg]=Системен буфер 15 | GenericName[bn]=ক্লিপবোর্ড টুল 16 | GenericName[br]=Ostilh ar golver 17 | GenericName[bs]=Alatka za klipbord 18 | GenericName[ca]=Eina de porta-retalls 19 | GenericName[ca@valencia]=Eina de porta-retalls 20 | GenericName[cs]=Program pro práci se schránkou 21 | GenericName[csb]=Nôrzãdze tacnika 22 | GenericName[cy]=Offeryn Gludfwrdd 23 | GenericName[da]=Udklipsholderværktøj 24 | GenericName[de]=Verwaltung der Zwischenablage 25 | GenericName[el]=Εργαλείο πρόχειρου 26 | GenericName[en_GB]=Clipboard Tool 27 | GenericName[eo]=Ilo por la poŝo 28 | GenericName[es]=Portapapeles 29 | GenericName[et]=Lõikepuhvri haldamine 30 | GenericName[eu]=Arbela 31 | GenericName[fa]=ابزار تخته‌یادداشت 32 | GenericName[fi]=Leikepöytätyökalu 33 | GenericName[fr]=Presse-papiers 34 | GenericName[fy]=Klamboerdbehear 35 | GenericName[ga]=Uirlis Ghearrthaisce 36 | GenericName[gl]=Utilidade de portarretallos 37 | GenericName[gu]=ક્લિપ બોર્ડ સાધન 38 | GenericName[he]=כלי לוח גזירה 39 | GenericName[hi]=क्लिपबोर्ड औज़ार 40 | GenericName[hne]=क्लिपबोर्ड औजार 41 | GenericName[hr]=Alat međuspremnika 42 | GenericName[hsb]=Zapisnik 43 | GenericName[hu]=Vágólapkezelő 44 | GenericName[ia]=Instrumento de Area de transferentia 45 | GenericName[id]=Alat Papan Klip 46 | GenericName[is]=Klippispjaldstól 47 | GenericName[it]=Strumento per gli appunti 48 | GenericName[ja]=クリップボードツール 49 | GenericName[ka]=გაცვლის ბუფერის უტილიტა 50 | GenericName[kk]=Алмасу буфер құралы 51 | GenericName[km]=ឧបករណ៍​ក្ដារ​តម្បៀត​ខ្ទាស់ 52 | GenericName[kn]=ಹಿಡಿಕೆ ಕಟ್ಟು (ಕ್ಲಿಪ್ ಬೋರ್ಡ್) ಸಲಕರಣೆ 53 | GenericName[ko]=클립보드 도구 54 | GenericName[lt]=Laikinos talpyklės priemonė 55 | GenericName[lv]=Starpliktuves rīks 56 | GenericName[mai]=क्लिपबोर्ड अओजार 57 | GenericName[mk]=Алатка за табла со исечоци 58 | GenericName[ml]=ക്ലിപ്ബോര്‍ഡ് ഉപകരണം 59 | GenericName[mr]=क्लिपबोर्ड साधन 60 | GenericName[ms]=Alat Klipbod 61 | GenericName[nb]=Utklippstavle 62 | GenericName[nds]=Warktüüch för de Twischenaflaag 63 | GenericName[ne]=क्लिपबोर्ड उपकरण 64 | GenericName[nl]=Klembordbeheer 65 | GenericName[nn]=Utklippstavle 66 | GenericName[pa]=ਕਲਿੱਪਬੋਰਡ ਟੂਲ 67 | GenericName[pl]=Narzędzie schowka 68 | GenericName[pt]=Ferramenta da Área de Transferência 69 | GenericName[pt_BR]=Ferramenta da área de transferência 70 | GenericName[ro]=Utilitar de clipboard 71 | GenericName[ru]=Монитор буфера обмена 72 | GenericName[se]=Čuohpusgirjereaidu 73 | GenericName[si]=ක්ලිප් පුවරු මෙවලම 74 | GenericName[sk]=Nástroj pre schránku 75 | GenericName[sl]=Orodje za odložišče 76 | GenericName[sr]=Алатка за клипборд 77 | GenericName[sr@ijekavian]=Алатка за клипборд 78 | GenericName[sr@ijekavianlatin]=Alatka za klipbord 79 | GenericName[sr@latin]=Alatka za klipbord 80 | GenericName[sv]=Klippbordsverktyg 81 | GenericName[ta]=தற்காலிக கருவி 82 | GenericName[te]=క్లిప్ బోర్డ్ పనిముట్టు 83 | GenericName[tg]=Утилита для буфера обмена 84 | GenericName[th]=เครื่องมือคลิปบอร์ด 85 | GenericName[tr]=Pano Aracı 86 | GenericName[ug]=چاپلاش تاختىسى قورالى 87 | GenericName[uk]=Утиліта буфера даних 88 | GenericName[uz]=Klipbord vositasi 89 | GenericName[uz@cyrillic]=Клипборд воситаси 90 | GenericName[vi]=Công cụ bảng nhớ tạm 91 | GenericName[wa]=Usteye presse-papî 92 | GenericName[xh]=Isixhobo Sebhodi eqhoboshayo 93 | GenericName[x-test]=xxClipboard Toolxx 94 | GenericName[zh_CN]=剪贴板工具 95 | GenericName[zh_TW]=剪貼簿工具 96 | Comment=A cut & paste history utility 97 | Comment[af]='n Knip & plak geskiedenis program 98 | Comment[ar]=أداة تاريخ القص واللصق 99 | Comment[ast]=Una utilidá de cortar y apegar historial 100 | Comment[be]=Службовая праграма працы з гісторыяй выразання/устаўкі 101 | Comment[be@latin]=Pryłada dla prahladu historyi aperacyjaŭ vycinańnia dy ŭklejvańnia 102 | Comment[bg]=Инструмент за управление на операциите по копиране и поставяне 103 | Comment[bs]=Alatka za istorijat isecanja i naljepljivanja 104 | Comment[ca]=Una utilitat de la història de tallar i enganxar 105 | Comment[ca@valencia]=Una utilitat de la història de tallar i enganxar 106 | Comment[cs]=Nástroj pro historii práce se schránkou 107 | Comment[csb]=Nôrzãdze trzëmôjące historëjã tacnika 108 | Comment[da]=Et værktøj med historik til at klippe ud og indsætte 109 | Comment[de]=Programm zur Verwaltung der Zwischenablage 110 | Comment[el]=Ένα εργαλείο ιστορικού αποκοπής & επικόλλησης 111 | Comment[en_GB]=A cut & paste history utility 112 | Comment[eo]=Ilo por la eltonda kaj alglua historio 113 | Comment[es]=Una utilidad de cortar y pegar historial 114 | Comment[et]=Lõikamiste ja asetamiste ajaloo rakendus 115 | Comment[eu]=Ebaki eta itsasi-ren historian ibiltzeko tresna 116 | Comment[fa]=برنامه سودمند تاریخچه برش و چسباندن 117 | Comment[fi]=Työkalu leikkaamiseen ja liittämiseen 118 | Comment[fr]=Un outil d'historique du copier / coller 119 | Comment[fy]=Klamboerdhistoarje 120 | Comment[ga]=Uirlis staire gearrtha agus greamaithe 121 | Comment[gl]=Un historial de cortar e apegar 122 | Comment[gu]=ઇતિહાસ કાપવા અને મૂકવાનું સાધન 123 | Comment[he]=כלי המשמש לשמירת היסטוריה אודות גזירה והדבקה 124 | Comment[hi]=काटें एवं चिपकाएं इतिहास यूटिलिटी 125 | Comment[hne]=काटव अउ चिपकाव इतिहास यूटिलिटी 126 | Comment[hr]=Alat za izrezivanje i preljepljivanje iz povijesti 127 | Comment[hsb]=Nastroj za wutřihanje a zasunjenje z prjedawšich přikazow 128 | Comment[hu]=Kezelőprogram a vágólaphoz (naplózással) 129 | Comment[ia]=Un utilitate per historia de talia & colla 130 | Comment[id]=Sebuah utilitas riwayat potong & tempel 131 | Comment[is]=Klipp & lím sögutól 132 | Comment[it]=Un programma per la cronologia del copia e incolla 133 | Comment[ja]=カット&ペースト履歴ユーティリティ 134 | Comment[kk]=Қиып алу және орналастыру журналы 135 | Comment[km]=កាត់ និង​បិទភ្ជាប់​ឧបករណ៍​ប្រើប្រាស់​ប្រវត្តិ 136 | Comment[kn]=ಕತ್ತರಿಸು ಮತ್ತು ಅಂಟಿಸು ಚರಿತ್ರೆ ಸೌಲಭ್ಯ 137 | Comment[ko]=자르고 붙인 기록 도구 138 | Comment[lt]=„Iškirpti ir padėti“ istorijos pagalbinė programa 139 | Comment[lv]=Izgriešanas un ielīmēšanas vēstures rīks 140 | Comment[mai]=काटू आओर साटू इतिहास यूटिलिटी 141 | Comment[mk]=Алатка за историјат на сечење и вметнување 142 | Comment[ml]=മുറിക്കല്‍-പകര്‍ത്തല്‍ നാള്‍വഴിസൂക്ഷിപ്പുസഹായി. 143 | Comment[mr]=कापा व चिकटवा इतिहास उपकार्यक्रम 144 | Comment[nb]=Et verktøy som viser tidligere utklipp 145 | Comment[nds]=Vörgeschicht vun't Knippen un Infögen 146 | Comment[ne]=काट्ने र टाँस्ने इतिहास उपयोगिता 147 | Comment[nl]=Klembordgeschiedenis 148 | Comment[nn]=Eit verktøy som viser eldre utklipp 149 | Comment[pa]=ਇੱਕ ਕੱਟਣ ਅਤੇ ਚੇਪਣ ਅਤੀਤ ਸਹੂਲਤ 150 | Comment[pl]=Narzędzie przechowujące historię schowka 151 | Comment[pt]=Um utilitário de histórico de cópias e colagens 152 | Comment[pt_BR]=Um utilitário com o histórico de recortar e colar 153 | Comment[ro]=Utilitar cu istoria de tăiere și adăugare 154 | Comment[ru]=История буфера обмена 155 | Comment[se]=Reaidu mii čájeha boares čuohppusiid 156 | Comment[si]=කැපීම් හා ඇලවීම් ඉතිහාස මෙවලම 157 | Comment[sk]=Nástroj pre históriu akcií "Vystrihnúť a vložiť" 158 | Comment[sl]=Orodje z zgodovino za izreži in prilepi 159 | Comment[sr]=Алатка за историјат исецања и налепљивања 160 | Comment[sr@ijekavian]=Алатка за историјат исецања и налепљивања 161 | Comment[sr@ijekavianlatin]=Alatka za istorijat isecanja i nalepljivanja 162 | Comment[sr@latin]=Alatka za istorijat isecanja i nalepljivanja 163 | Comment[sv]=Ett verktyg med historik för klipp ut och klistra in 164 | Comment[ta]=A cut & paste history utility 165 | Comment[te]=కత్తిరించు & అతికించు చరిత్ర సౌలభ్యం 166 | Comment[tg]=История буфера обмена 167 | Comment[th]=เครื่องมือดูประวัติการตัดและวาง 168 | Comment[tr]=Bir kes & yapıştır geçmişi aracı 169 | Comment[ug]=كەس ۋە چاپلا تارىخىنى باشقۇرۇش قورالى 170 | Comment[uk]=Утиліта журналу буфера даних 171 | Comment[vi]=Công cụ chứa lịch sử các cắt dán 172 | Comment[wa]=Ene ahesse d' istwere di coper/aclacper 173 | Comment[x-test]=xxA cut & paste history utilityxx 174 | Comment[zh_CN]=管理剪切和粘贴历史的工具 175 | Comment[zh_TW]=剪貼紀錄公用程式 176 | -------------------------------------------------------------------------------- /dot-config/autostart/morghulis.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Morghulis 3 | Exec=morghulis 4 | Icon=com.github.ARKye03.morghulis 5 | Comment=Morghulis Desktop Shell 6 | Terminal=false 7 | Type=Application 8 | Categories=Utility; 9 | Keywords=GTK; 10 | StartupNotify=true 11 | DBusActivatable=true 12 | Categories= 13 | -------------------------------------------------------------------------------- /dot-config/autostart/nm-applet.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name[af]=NetworkManager-miniprogram 3 | Name[an]=Miniaplicacion Chestor d'o rete 4 | Name[ar]=بريمج مدير الشبكة 5 | Name[as]=NetworkManager এপ্লেট 6 | Name[ast]=Aplicación NetworkManager 7 | Name[be]=Аплет NetworkManager 8 | Name[be@latin]=Aplet NetworkManager 9 | Name[bg]=Аплетът NetworkManager 10 | Name[bn_IN]=NetworkManager অ্যাপ্লেট 11 | Name[bs]=Programče Upravnik mreže 12 | Name[ca]=Miniaplicació NetworkManager 13 | Name[ca@valencia]=Miniaplicació NetworkManager 14 | Name[crh]=NetworkManager Uygulamacığı 15 | Name[cs]=Applet NetworkManager 16 | Name[da]=Panelprogram til Netværkshåndtering 17 | Name[de]=Netzwerk-Manager-Applet 18 | Name[dz]=ཡོངས་འབྲེལ་འཛིན་སྐྱོང་པའི་ཨེཔ་ལེཊི་ 19 | Name[el]=Μικροεφαρμογή NetworkManager 20 | Name[en_CA]=NetworkManager Applet 21 | Name[en_GB]=NetworkManager Applet 22 | Name[eo]=Apleto por NetworkManager 23 | Name[es]=Miniaplicación Gestor de la red 24 | Name[et]=Võrguhalduri rakend 25 | Name[eu]=NetworkManager miniaplikazioa 26 | Name[fa]=برنامک مدیریت شبکه 27 | Name[fi]=Verkon hallinta -sovelma 28 | Name[fr]=Applet NetworkManager 29 | Name[gd]=Aplaid Manaidsear lìonraidh 30 | Name[gl]=Miniaplicación NetworkManager 31 | Name[gu]=NetworkManager એપ્લેટ 32 | Name[he]=יישומון מנהל הרשתות 33 | Name[hi]=नेटवर्कप्रबंधक एप्लेट 34 | Name[hr]=Aplet mrežnog upravitelja 35 | Name[hu]=Hálózatkezelő kisalkalmazás 36 | Name[id]=Aplet NetworkManager 37 | Name[is]=NetworkManager forrit 38 | Name[it]=Applet NetworkManager 39 | Name[ja]=NetworkManager アプレット 40 | Name[kk]=NetworkManager апплеті 41 | Name[km]=អាប់ភ្លេត NetworkManager 42 | Name[kn]=NetworkManager ಆಪ್ಲೆಟ್ 43 | Name[ko]=네트워크 관리 애플릿 44 | Name[ku]=Sepanoka NetworkManager 45 | Name[lt]=NetworkManager įtaisas 46 | Name[lv]=NetworkManager sīklietotne 47 | Name[mk]=Аплет за менаџирање со мрежи 48 | Name[ml]=NetworkManager ലഘുപ്രയോഗം 49 | Name[mr]=NetworkManager ॲप्लेट 50 | Name[ms]=Aplet NetworkManager 51 | Name[nb]=NetworkManager panelprogram 52 | Name[ne]=सञ्जालप्रबन्धक एप्लेट 53 | Name[nl]=Netwerkbeheer-applet 54 | Name[nn]=Panelprogram for NetworkManager 55 | Name[oc]=Apondon (applet) NetworkManager 56 | Name[or]=ନେଟୱର୍କ ପରିଚାଳକ ଆପଲେଟ 57 | Name[pa]=ਨੈੱਟਵਰਕਮੈਨੇਜਰ ਐਪਲਿਟ 58 | Name[pl]=Aplet NetworkManager 59 | Name[pt]=Aplicação Gestor de redes 60 | Name[pt_BR]=Miniaplicativo gerenciador de redes 61 | Name[ro]=Miniaplicație Administrator de rețea 62 | Name[ru]=Аплет NetworkManager 63 | Name[sk]=Aplet Správca siete 64 | Name[sl]=Aplet upravljalnika omrežja 65 | Name[sr]=Програмче управника мреже 66 | Name[sr@latin]=Programče upravnika mreže 67 | Name[sv]=Miniprogram för nätverkshantering 68 | Name[ta]=பிணைய மேலாளர் அப்லெட் 69 | Name[te]=నెట్‌వర్క్ మ్యానేజర్ ఆప్లెట్ 70 | Name[th]=แอพเพล็ต NetworkManager 71 | Name[tr]=NetworkManager Programcığı 72 | Name[ug]=NetworkManager قوللانچاق 73 | Name[uk]=Аплет NetworkManager 74 | Name[ur]=نیٹ ورک منیجر ایپلیٹ 75 | Name[vi]=Quản lý mạng 76 | Name[zh_CN]=网络管理器小程序 77 | Name[zh_HK]=NetworkManager 面板程式 78 | Name[zh_TW]=NetworkManager 面板程式 79 | Name=NetworkManager Applet 80 | Comment[af]=Bestuur u netwerkverbindings 81 | Comment[an]=Chestione as suyas conexions de rete 82 | Comment[ar]=إدارة اتصالات الشبكة 83 | Comment[as]=আপোনাৰ নেটৱৰ্ক সংযোগসমূহ ব্যৱস্থাপনা কৰক 84 | Comment[ast]=Remana les conexones de rede 85 | Comment[be]=Кіраванне сеткавымі злучэннямі 86 | Comment[bg]=Управление на мрежовите връзки 87 | Comment[bs]=Upravljajte svojim mrežnim vezama 88 | Comment[ca]=Gestioneu les connexions de xarxa 89 | Comment[ca@valencia]=Gestioneu les connexions de xarxa 90 | Comment[crh]=Şebeke bağlantılarıñıznı idare etiñiz 91 | Comment[cs]=Spravujte svá síťová připojení 92 | Comment[da]=Håndtér dine netværksforbindelser 93 | Comment[de]=Verwaltung der Netzwerkverbindungen 94 | Comment[el]=Διαχείριση των συνδέσεων δικτύου 95 | Comment[en_GB]=Manage your network connections 96 | Comment[eo]=Kontroli viajn retkonektojn 97 | Comment[es]=Gestione sus conexiones de red 98 | Comment[et]=Võrguühenduste haldamine 99 | Comment[eu]=Kudeatu sareko konexioak 100 | Comment[fa]=اتصال‌های شبکه خود را مدیریت کنید 101 | Comment[fi]=Hallitse verkkoyhteyksiä 102 | Comment[fr]=Gérer vos connexions réseau 103 | Comment[gd]=Stiùirich na ceanglaichean agad ris an eadar-lìon 104 | Comment[gl]=Xestione as súas conexións de rede 105 | Comment[gu]=તમારા નેટવર્ક જોડાણોને સંચાલિત કરો 106 | Comment[he]=ניהול חיבורי הרשת שלך 107 | Comment[hi]=अपना संजाल कनेक्शन नियंत्रित करें 108 | Comment[hr]=Upravljanje mrežnim povezivanjem 109 | Comment[hu]=Hálózati kapcsolatok kezelése 110 | Comment[id]=Mengelola koneksi jaringan Anda 111 | Comment[is]=Sýsla með nettengingar 112 | Comment[it]=Gestisce le connessioni di rete 113 | Comment[ja]=ネットワーク接続の管理 114 | Comment[ka]=ქსელური შეერთებების მართვა 115 | Comment[kk]=Желілік байланыстарыңызды басқару 116 | Comment[km]=គ្រប់គ្រង​ការ​តភ្ជាប់បណ្ដាញ​របស់​អ្នក 117 | Comment[ko]=네트워크 연결을 관리합니다 118 | Comment[ku]=Girêdanên torê yên xwe birêve bike 119 | Comment[lt]=Tvarkyti tinklo ryšius 120 | Comment[lv]=Pārvaldiet savus tīkla savienojumus 121 | Comment[mk]=Менаџирајте со Вашите мрежни врски 122 | Comment[ml]=നിങ്ങളുടെ ശൃംഖല ബന്ധങ്ങള്‍ കൈകാര്യം ചെയ്യുക 123 | Comment[mr]=नेटवर्क जोडणी नियंत्रीत करा 124 | Comment[ms]=Urus sambungan-sambungan rangkaian anda 125 | Comment[nb]=Håndter dine nettverksforbindelser 126 | Comment[nl]=Uw netwerkverbindingen beheren 127 | Comment[nn]=Handsam nettverkstilkoplingane 128 | Comment[oc]=Gerir la connexions a la ret 129 | Comment[pa]=ਆਪਣੇ ਨੈੱਟਵਰਕ ਕਨੈਕਸ਼ਨਾਂ ਦਾ ਪਰਬੰਧ ਕਰੋ 130 | Comment[pl]=Zarządzanie połączeniami sieciowymi 131 | Comment[pt]=Controle as suas ligações de rede 132 | Comment[pt_BR]=Controle suas conexões de rede 133 | Comment[ro]=Gestionează conexiunile la rețea 134 | Comment[ru]=Управление сетевыми соединениями 135 | Comment[sk]=Spravuje vaše sieťové pripojenia 136 | Comment[sl]=Upravljanje omrežnih povezav 137 | Comment[sr]=Управљајте вашим везама мреже 138 | Comment[sr@latin]=Upravljajte vašim vezama mreže 139 | Comment[sv]=Hantera dina nätverksanslutningar 140 | Comment[ta]=உங்களது பிணையத்தின் இணைப்புகளை மேலாண்மை செய்க 141 | Comment[te]=మీ నెట్వర్కు అనుసంధానములను నిర్వహించు 142 | Comment[th]=จัดการการเชื่อมต่อเครือข่ายของคุณ 143 | Comment[tr]=Ağ bağlantılarınızı yönetin 144 | Comment[ug]=تور باغلىنىشلىرىڭىزنى باشقۇرۇڭ 145 | Comment[uk]=Організуйте ваші мережеві з'єднання 146 | Comment[vi]=Quản lý kết nối mạng 147 | Comment[zh_CN]=管理您的网络连接 148 | Comment[zh_HK]=管理你的網絡連線 149 | Comment[zh_TW]=管理您的網路連線 150 | Comment=Manage your network connections 151 | Icon=nm-device-wireless 152 | Exec=nm-applet 153 | Terminal=false 154 | Type=Application 155 | NoDisplay=true 156 | NotShowIn=KDE;GNOME; 157 | X-GNOME-UsesNotifications=true 158 | -------------------------------------------------------------------------------- /dot-config/autostart/protonvpn.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Proton VPN 3 | Exec=protonvpn-app --start-minimized 4 | Terminal=false 5 | Type=Application 6 | Icon=proton-vpn-logo 7 | StartupWMClass=protonvpn-app 8 | Comment=Proton VPN GUI client 9 | Categories=Network; 10 | -------------------------------------------------------------------------------- /dot-config/autostart/wl-clip-persist.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=wl-clip-persist 3 | Comment=Clipboard persistance 4 | Exec=wl-clip-persist --clipboard regular 5 | Terminal=false 6 | Type=Application 7 | NoDisplay=true 8 | NotShowIn=KDE;GNOME; 9 | X-GNOME-UsesNotifications=true 10 | -------------------------------------------------------------------------------- /dot-config/background: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ARKye03/dotfiles/f125386a4da63086236cee33f0b33c75f77c8367/dot-config/background -------------------------------------------------------------------------------- /dot-config/bat/config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ARKye03/dotfiles/f125386a4da63086236cee33f0b33c75f77c8367/dot-config/bat/config -------------------------------------------------------------------------------- /dot-config/btop/btop.conf: -------------------------------------------------------------------------------- 1 | #? Config file for btop v. 1.4.3 2 | 3 | #* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes. 4 | #* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes" 5 | color_theme = "/home/archkye/.config/btop/themes/catppuccin_macchiato.theme" 6 | 7 | #* If the theme set background should be shown, set to False if you want terminal background transparency. 8 | theme_background = True 9 | 10 | #* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false. 11 | truecolor = True 12 | 13 | #* Set to true to force tty mode regardless if a real tty has been detected or not. 14 | #* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols. 15 | force_tty = False 16 | 17 | #* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets. 18 | #* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box. 19 | #* Use whitespace " " as separator between different presets. 20 | #* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty" 21 | presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty" 22 | 23 | #* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists. 24 | #* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift. 25 | vim_keys = False 26 | 27 | #* Rounded corners on boxes, is ignored if TTY mode is ON. 28 | rounded_corners = True 29 | 30 | #* Default symbols to use for graph creation, "braille", "block" or "tty". 31 | #* "braille" offers the highest resolution but might not be included in all fonts. 32 | #* "block" has half the resolution of braille but uses more common characters. 33 | #* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY. 34 | #* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view. 35 | graph_symbol = "braille" 36 | 37 | # Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". 38 | graph_symbol_cpu = "default" 39 | 40 | # Graph symbol to use for graphs in gpu box, "default", "braille", "block" or "tty". 41 | graph_symbol_gpu = "default" 42 | 43 | # Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". 44 | graph_symbol_mem = "default" 45 | 46 | # Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". 47 | graph_symbol_net = "default" 48 | 49 | # Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". 50 | graph_symbol_proc = "default" 51 | 52 | #* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace. 53 | shown_boxes = "proc cpu mem net" 54 | 55 | #* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs. 56 | update_ms = 2000 57 | 58 | #* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct", 59 | #* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly. 60 | proc_sorting = "memory" 61 | 62 | #* Reverse sorting order, True or False. 63 | proc_reversed = False 64 | 65 | #* Show processes as a tree. 66 | proc_tree = False 67 | 68 | #* Use the cpu graph colors in the process list. 69 | proc_colors = True 70 | 71 | #* Use a darkening gradient in the process list. 72 | proc_gradient = True 73 | 74 | #* If process cpu usage should be of the core it's running on or usage of the total available cpu power. 75 | proc_per_core = False 76 | 77 | #* Show process memory as bytes instead of percent. 78 | proc_mem_bytes = True 79 | 80 | #* Show cpu graph for each process. 81 | proc_cpu_graphs = True 82 | 83 | #* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate) 84 | proc_info_smaps = False 85 | 86 | #* Show proc box on left side of screen instead of right. 87 | proc_left = False 88 | 89 | #* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop). 90 | proc_filter_kernel = False 91 | 92 | #* In tree-view, always accumulate child process resources in the parent process. 93 | proc_aggregate = False 94 | 95 | #* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available. 96 | #* Select from a list of detected attributes from the options menu. 97 | cpu_graph_upper = "Auto" 98 | 99 | #* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available. 100 | #* Select from a list of detected attributes from the options menu. 101 | cpu_graph_lower = "Auto" 102 | 103 | #* If gpu info should be shown in the cpu box. Available values = "Auto", "On" and "Off". 104 | show_gpu_info = "Auto" 105 | 106 | #* Toggles if the lower CPU graph should be inverted. 107 | cpu_invert_lower = True 108 | 109 | #* Set to True to completely disable the lower CPU graph. 110 | cpu_single_graph = False 111 | 112 | #* Show cpu box at bottom of screen instead of top. 113 | cpu_bottom = False 114 | 115 | #* Shows the system uptime in the CPU box. 116 | show_uptime = True 117 | 118 | #* Show cpu temperature. 119 | check_temp = True 120 | 121 | #* Which sensor to use for cpu temperature, use options menu to select from list of available sensors. 122 | cpu_sensor = "Auto" 123 | 124 | #* Show temperatures for cpu cores also if check_temp is True and sensors has been found. 125 | show_coretemp = True 126 | 127 | #* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core. 128 | #* Use lm-sensors or similar to see which cores are reporting temperatures on your machine. 129 | #* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries. 130 | #* Example: "4:0 5:1 6:3" 131 | cpu_core_map = "" 132 | 133 | #* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine". 134 | temp_scale = "celsius" 135 | 136 | #* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024. 137 | base_10_sizes = False 138 | 139 | #* Show CPU frequency. 140 | show_cpu_freq = True 141 | 142 | #* Draw a clock at top of screen, formatting according to strftime, empty string to disable. 143 | #* Special formatting: /host = hostname | /user = username | /uptime = system uptime 144 | clock_format = "%X" 145 | 146 | #* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort. 147 | background_update = True 148 | 149 | #* Custom cpu model name, empty string to disable. 150 | custom_cpu_name = "" 151 | 152 | #* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ". 153 | #* Begin line with "exclude=" to change to exclude filter, otherwise defaults to "most include" filter. Example: disks_filter="exclude=/boot /home/user". 154 | disks_filter = "" 155 | 156 | #* Show graphs instead of meters for memory values. 157 | mem_graphs = True 158 | 159 | #* Show mem box below net box instead of above. 160 | mem_below_net = False 161 | 162 | #* Count ZFS ARC in cached and available memory. 163 | zfs_arc_cached = True 164 | 165 | #* If swap memory should be shown in memory box. 166 | show_swap = True 167 | 168 | #* Show swap as a disk, ignores show_swap value above, inserts itself after first disk. 169 | swap_disk = True 170 | 171 | #* If mem box should be split to also show disks info. 172 | show_disks = True 173 | 174 | #* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar. 175 | only_physical = True 176 | 177 | #* Read disks list from /etc/fstab. This also disables only_physical. 178 | use_fstab = True 179 | 180 | #* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool) 181 | zfs_hide_datasets = False 182 | 183 | #* Set to true to show available disk space for privileged users. 184 | disk_free_priv = False 185 | 186 | #* Toggles if io activity % (disk busy time) should be shown in regular disk usage view. 187 | show_io_stat = True 188 | 189 | #* Toggles io mode for disks, showing big graphs for disk read/write speeds. 190 | io_mode = False 191 | 192 | #* Set to True to show combined read/write io graphs in io mode. 193 | io_graph_combined = False 194 | 195 | #* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ". 196 | #* Example: "/mnt/media:100 /:20 /boot:1". 197 | io_graph_speeds = "" 198 | 199 | #* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False. 200 | net_download = 100 201 | 202 | net_upload = 100 203 | 204 | #* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest. 205 | net_auto = True 206 | 207 | #* Sync the auto scaling for download and upload to whichever currently has the highest scale. 208 | net_sync = True 209 | 210 | #* Starts with the Network Interface specified here. 211 | net_iface = "" 212 | 213 | #* "True" shows bitrates in base 10 (Kbps, Mbps). "False" shows bitrates in binary sizes (Kibps, Mibps, etc.). "Auto" uses base_10_sizes. 214 | base_10_bitrate = "Auto" 215 | 216 | #* Show battery stats in top right if battery is present. 217 | show_battery = True 218 | 219 | #* Which battery to use if multiple are present. "Auto" for auto detection. 220 | selected_battery = "Auto" 221 | 222 | #* Show power stats of battery next to charge indicator. 223 | show_battery_watts = True 224 | 225 | #* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG". 226 | #* The level set includes all lower levels, i.e. "DEBUG" will show all logging info. 227 | log_level = "WARNING" 228 | 229 | #* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards. 230 | nvml_measure_pcie_speeds = True 231 | 232 | #* Measure PCIe throughput on AMD cards, may impact performance on certain cards. 233 | rsmi_measure_pcie_speeds = True 234 | 235 | #* Horizontally mirror the GPU graph. 236 | gpu_mirror_graph = True 237 | 238 | #* Custom gpu0 model name, empty string to disable. 239 | custom_gpu_name0 = "" 240 | 241 | #* Custom gpu1 model name, empty string to disable. 242 | custom_gpu_name1 = "" 243 | 244 | #* Custom gpu2 model name, empty string to disable. 245 | custom_gpu_name2 = "" 246 | 247 | #* Custom gpu3 model name, empty string to disable. 248 | custom_gpu_name3 = "" 249 | 250 | #* Custom gpu4 model name, empty string to disable. 251 | custom_gpu_name4 = "" 252 | 253 | #* Custom gpu5 model name, empty string to disable. 254 | custom_gpu_name5 = "" 255 | -------------------------------------------------------------------------------- /dot-config/btop/themes/catppuccin_macchiato.theme: -------------------------------------------------------------------------------- 1 | # Main background, empty for terminal default, need to be empty if you want transparent background 2 | theme[main_bg]="#24273a" 3 | 4 | # Main text color 5 | theme[main_fg]="#cad3f5" 6 | 7 | # Title color for boxes 8 | theme[title]="#cad3f5" 9 | 10 | # Highlight color for keyboard shortcuts 11 | theme[hi_fg]="#8aadf4" 12 | 13 | # Background color of selected item in processes box 14 | theme[selected_bg]="#494d64" 15 | 16 | # Foreground color of selected item in processes box 17 | theme[selected_fg]="#8aadf4" 18 | 19 | # Color of inactive/disabled text 20 | theme[inactive_fg]="#8087a2" 21 | 22 | # Color of text appearing on top of graphs, i.e uptime and current network graph scaling 23 | theme[graph_text]="#f4dbd6" 24 | 25 | # Background color of the percentage meters 26 | theme[meter_bg]="#494d64" 27 | 28 | # Misc colors for processes box including mini cpu graphs, details memory graph and details status text 29 | theme[proc_misc]="#f4dbd6" 30 | 31 | # CPU, Memory, Network, Proc box outline colors 32 | theme[cpu_box]="#c6a0f6" #Mauve 33 | theme[mem_box]="#a6da95" #Green 34 | theme[net_box]="#ee99a0" #Maroon 35 | theme[proc_box]="#8aadf4" #Blue 36 | 37 | # Box divider line and small boxes line color 38 | theme[div_line]="#6e738d" 39 | 40 | # Temperature graph color (Green -> Yellow -> Red) 41 | theme[temp_start]="#a6da95" 42 | theme[temp_mid]="#eed49f" 43 | theme[temp_end]="#ed8796" 44 | 45 | # CPU graph colors (Teal -> Lavender) 46 | theme[cpu_start]="#8bd5ca" 47 | theme[cpu_mid]="#7dc4e4" 48 | theme[cpu_end]="#b7bdf8" 49 | 50 | # Mem/Disk free meter (Mauve -> Lavender -> Blue) 51 | theme[free_start]="#c6a0f6" 52 | theme[free_mid]="#b7bdf8" 53 | theme[free_end]="#8aadf4" 54 | 55 | # Mem/Disk cached meter (Sapphire -> Lavender) 56 | theme[cached_start]="#7dc4e4" 57 | theme[cached_mid]="#8aadf4" 58 | theme[cached_end]="#b7bdf8" 59 | 60 | # Mem/Disk available meter (Peach -> Red) 61 | theme[available_start]="#f5a97f" 62 | theme[available_mid]="#ee99a0" 63 | theme[available_end]="#ed8796" 64 | 65 | # Mem/Disk used meter (Green -> Sky) 66 | theme[used_start]="#a6da95" 67 | theme[used_mid]="#8bd5ca" 68 | theme[used_end]="#91d7e3" 69 | 70 | # Download graph colors (Peach -> Red) 71 | theme[download_start]="#f5a97f" 72 | theme[download_mid]="#ee99a0" 73 | theme[download_end]="#ed8796" 74 | 75 | # Upload graph colors (Green -> Sky) 76 | theme[upload_start]="#a6da95" 77 | theme[upload_mid]="#8bd5ca" 78 | theme[upload_end]="#91d7e3" 79 | 80 | # Process box color gradient for threads, mem and cpu usage (Sapphire -> Mauve) 81 | theme[process_start]="#7dc4e4" 82 | theme[process_mid]="#b7bdf8" 83 | theme[process_end]="#c6a0f6" -------------------------------------------------------------------------------- /dot-config/cava/config: -------------------------------------------------------------------------------- 1 | ## Configuration file for CAVA. 2 | # Remove the ; to change parameters. 3 | 4 | 5 | [general] 6 | 7 | # Smoothing mode. Can be 'normal', 'scientific' or 'waves'. DEPRECATED as of 0.6.0 8 | mode = waves 9 | 10 | # Accepts only non-negative values. 11 | ; framerate = 60 12 | 13 | # 'autosens' will attempt to decrease sensitivity if the bars peak. 1 = on, 0 = off 14 | # new as of 0.6.0 autosens of low values (dynamic range) 15 | # 'overshoot' allows bars to overshoot (in % of terminal height) without initiating autosens. DEPRECATED as of 0.6.0 16 | ; autosens = 1 17 | ; overshoot = 20 18 | 19 | # Manual sensitivity in %. If autosens is enabled, this will only be the initial value. 20 | # 200 means double height. Accepts only non-negative values. 21 | ; sensitivity = 100 22 | 23 | # The number of bars (0-512). 0 sets it to auto (fill up console). 24 | # Bars' width and space between bars in number of characters. 25 | ; bars = 0 26 | bar_width = 2 27 | bar_spacing = 0 28 | # bar_height is only used for output in "noritake" format 29 | ; bar_height = 32 30 | 31 | # For SDL width and space between bars is in pixels, defaults are: 32 | ; bar_width = 20 33 | ; bar_spacing = 5 34 | 35 | # sdl_glsl have these default values, they are only used to calulate max number of bars. 36 | ; bar_width = 1 37 | ; bar_spacing = 0 38 | 39 | 40 | # Lower and higher cutoff frequencies for lowest and highest bars 41 | # the bandwidth of the visualizer. 42 | # Note: there is a minimum total bandwidth of 43Mhz x number of bars. 43 | # Cava will automatically increase the higher cutoff if a too low band is specified. 44 | ; lower_cutoff_freq = 50 45 | ; higher_cutoff_freq = 10000 46 | 47 | 48 | # Seconds with no input before cava goes to sleep mode. Cava will not perform FFT or drawing and 49 | # only check for input once per second. Cava will wake up once input is detected. 0 = disable. 50 | ; sleep_timer = 0 51 | 52 | 53 | [input] 54 | 55 | # Audio capturing method. Possible methods are: 'pulse', 'alsa', 'fifo', 'sndio' or 'shmem' 56 | # Defaults to 'pulse', 'pipewire', 'alsa' or 'fifo', in that order, dependent on what support cava was built with. 57 | # On windows this is automatic and no input settings are needed. 58 | # 59 | # All input methods uses the same config variable 'source' 60 | # to define where it should get the audio. 61 | # 62 | # For pulseaudio and pipewire 'source' will be the source. Default: 'auto', which uses the monitor source of the default sink 63 | # (all pulseaudio sinks(outputs) have 'monitor' sources(inputs) associated with them). 64 | # 65 | # For piepwire 'source' will be the object name or object.serial of the device to capture from. 66 | # Both input and output devices are supported. 67 | # 68 | # For alsa 'source' will be the capture device. 69 | # For fifo 'source' will be the path to fifo-file. 70 | # For shmem 'source' will be /squeezelite-AA:BB:CC:DD:EE:FF where 'AA:BB:CC:DD:EE:FF' will be squeezelite's MAC address 71 | method = pipewire 72 | ; source = auto 73 | 74 | ; method = pipewire 75 | ; source = auto 76 | 77 | ; method = alsa 78 | ; source = hw:Loopback,1 79 | 80 | ; method = fifo 81 | ; source = /tmp/mpd.fifo 82 | ; sample_rate = 44100 83 | ; sample_bits = 16 84 | 85 | ; method = shmem 86 | ; source = /squeezelite-AA:BB:CC:DD:EE:FF 87 | 88 | ; method = portaudio 89 | ; source = auto 90 | 91 | 92 | [output] 93 | 94 | # Output method. Can be 'ncurses', 'noncurses', 'raw', 'noritake', 'sdl' 95 | # or 'sdl_glsl'. 96 | # 'noncurses' uses a custom framebuffer technique and prints only changes 97 | # from frame to frame in the terminal. 'ncurses' is default if supported. 98 | # 99 | # 'raw' is an 8 or 16 bit (configurable via the 'bit_format' option) data 100 | # stream of the bar heights that can be used to send to other applications. 101 | # 'raw' defaults to 200 bars, which can be adjusted in the 'bars' option above. 102 | # 103 | # 'noritake' outputs a bitmap in the format expected by a Noritake VFD display 104 | # in graphic mode. It only support the 3000 series graphical VFDs for now. 105 | # 106 | # 'sdl' uses the Simple DirectMedia Layer to render in a graphical context. 107 | # 'sdl_glsl' uses SDL to create an OpenGL context. Write your own shaders or 108 | # use one of the predefined ones. 109 | ; method = ncurses 110 | 111 | # Orientation of the visualization. Can be 'bottom', 'top', 'left' or 'right'. 112 | # Default is 'bottom'. Other orientations are only supported on sdl and ncruses 113 | # output. Note: many fonts have weird glyphs for 'top' and 'right' characters, 114 | # which can make ncurses not look right. 115 | ; orientation = bottom 116 | 117 | # Visual channels. Can be 'stereo' or 'mono'. 118 | # 'stereo' mirrors both channels with low frequencies in center. 119 | # 'mono' outputs left to right lowest to highest frequencies. 120 | # 'mono_option' set mono to either take input from 'left', 'right' or 'average'. 121 | # set 'reverse' to 1 to display frequencies the other way around. 122 | ; channels = stereo 123 | ; mono_option = average 124 | ; reverse = 0 125 | 126 | # Raw output target. A fifo will be created if target does not exist. 127 | ; raw_target = /dev/stdout 128 | 129 | # Raw data format. Can be 'binary' or 'ascii'. 130 | ; data_format = binary 131 | 132 | # Binary bit format, can be '8bit' (0-255) or '16bit' (0-65530). 133 | ; bit_format = 16bit 134 | 135 | # Ascii max value. In 'ascii' mode range will run from 0 to value specified here 136 | ; ascii_max_range = 1000 137 | 138 | # Ascii delimiters. In ascii format each bar and frame is separated by a delimiters. 139 | # Use decimal value in ascii table (i.e. 59 = ';' and 10 = '\n' (line feed)). 140 | ; bar_delimiter = 59 141 | ; frame_delimiter = 10 142 | 143 | # sdl window size and position. -1,-1 is centered. 144 | ; sdl_width = 1000 145 | ; sdl_height = 500 146 | ; sdl_x = -1 147 | ; sdl_y= -1 148 | 149 | # set label on bars on the x-axis. Can be 'frequency' or 'none'. Default: 'none' 150 | # 'frequency' displays the lower cut off frequency of the bar above. 151 | # Only supported on ncurses and noncurses output. 152 | ; xaxis = none 153 | 154 | # enable alacritty synchronized updates. 1 = on, 0 = off 155 | # removes flickering in alacritty terminal emulator. 156 | # defaults to off since the behaviour in other terminal emulators is unknown 157 | ; alacritty_sync = 0 158 | 159 | # Shaders for sdl_glsl, located in $HOME/.config/cava/shaders 160 | ; vertex_shader = pass_through.vert 161 | ; fragment_shader = bar_spectrum.frag 162 | 163 | ; for glsl output mode, keep rendering even if no audio 164 | ; continuous_rendering = 0 165 | 166 | [color] 167 | 168 | # Colors can be one of seven predefined: black, blue, cyan, green, magenta, red, white, yellow. 169 | # Or defined by hex code '#xxxxxx' (hex code must be within ''). User defined colors requires 170 | # a terminal that can change color definitions such as Gnome-terminal or rxvt. 171 | # default is to keep current terminal color 172 | ; background = default 173 | ; foreground = default 174 | 175 | # SDL and sdl_glsl only support hex code colors, these are the default: 176 | ; background = '#111111' 177 | foreground = '#8aadf4' 178 | 179 | 180 | # Gradient mode, only hex defined colors are supported, 181 | # background must also be defined in hex or remain commented out. 1 = on, 0 = off. 182 | # You can define as many as 8 different colors. They range from bottom to top of screen 183 | ; gradient = 0 184 | ; gradient_count = 8 185 | ; gradient_color_1 = '#59cc33' 186 | ; gradient_color_2 = '#80cc33' 187 | ; gradient_color_3 = '#a6cc33' 188 | ; gradient_color_4 = '#cccc33' 189 | ; gradient_color_5 = '#cca633' 190 | ; gradient_color_6 = '#cc8033' 191 | ; gradient_color_7 = '#cc5933' 192 | ; gradient_color_8 = '#cc3333' 193 | 194 | 195 | 196 | [smoothing] 197 | 198 | # Percentage value for integral smoothing. Takes values from 0 - 100. 199 | # Higher values means smoother, but less precise. 0 to disable. 200 | # DEPRECATED as of 0.8.0, use noise_reduction instead 201 | ; integral = 77 202 | 203 | # Disables or enables the so-called "Monstercat smoothing" with or without "waves". Set to 0 to disable. 204 | ; monstercat = 0 205 | ; waves = 0 206 | 207 | # Set gravity percentage for "drop off". Higher values means bars will drop faster. 208 | # Accepts only non-negative values. 50 means half gravity, 200 means double. Set to 0 to disable "drop off". 209 | # DEPRECATED as of 0.8.0, use noise_reduction instead 210 | ; gravity = 100 211 | 212 | 213 | # In bar height, bars that would have been lower that this will not be drawn. 214 | # DEPRECATED as of 0.8.0 215 | ; ignore = 0 216 | 217 | # Noise reduction, int 0 - 100. default 77 218 | # the raw visualization is very noisy, this factor adjusts the integral and gravity filters to keep the signal smooth 219 | # 100 will be very slow and smooth, 0 will be fast but noisy. 220 | ; noise_reduction = 77 221 | 222 | 223 | [eq] 224 | 225 | # This one is tricky. You can have as much keys as you want. 226 | # Remember to uncomment more than one key! More keys = more precision. 227 | # Look at readme.md on github for further explanations and examples. 228 | ; 1 = 1 # bass 229 | ; 2 = 1 230 | ; 3 = 1 # midtone 231 | ; 4 = 1 232 | ; 5 = 1 # treble 233 | -------------------------------------------------------------------------------- /dot-config/cava/shaders/bar_spectrum.frag: -------------------------------------------------------------------------------- 1 | #version 330 2 | 3 | in vec2 fragCoord; 4 | out vec4 fragColor; 5 | 6 | // bar values. defaults to left channels first (low to high), then right (high to low). 7 | uniform float bars[512]; 8 | 9 | uniform int bars_count; // number of bars (left + right) (configurable) 10 | uniform int bar_width; // bar width (configurable), not used here 11 | uniform int bar_spacing; // space bewteen bars (configurable) 12 | 13 | uniform vec3 u_resolution; // window resolution 14 | 15 | //colors, configurable in cava config file (r,g,b) (0.0 - 1.0) 16 | uniform vec3 bg_color; // background color 17 | uniform vec3 fg_color; // foreground color 18 | 19 | uniform int gradient_count; 20 | uniform vec3 gradient_colors[8]; // gradient colors 21 | 22 | vec3 normalize_C(float y,vec3 col_1, vec3 col_2, float y_min, float y_max) 23 | { 24 | //create color based on fraction of this color and next color 25 | float yr = (y - y_min) / (y_max - y_min); 26 | return col_1 * (1.0 - yr) + col_2 * yr; 27 | } 28 | 29 | void main() 30 | { 31 | // find which bar to use based on where we are on the x axis 32 | float x = u_resolution.x * fragCoord.x; 33 | int bar = int(bars_count * fragCoord.x); 34 | 35 | //calculate a bar size 36 | float bar_size = u_resolution.x / bars_count; 37 | 38 | //the y coordinate and bar values are the same 39 | float y = bars[bar]; 40 | 41 | // make sure there is a thin line at bottom 42 | if (y * u_resolution.y < 1.0) 43 | { 44 | y = 1.0 / u_resolution.y; 45 | } 46 | 47 | //draw the bar up to current height 48 | if (y > fragCoord.y) 49 | { 50 | //make some space between bars basen on settings 51 | if (x > (bar + 1) * (bar_size) - bar_spacing) 52 | { 53 | fragColor = vec4(bg_color,1.0); 54 | } 55 | else 56 | { 57 | if (gradient_count == 0) 58 | { 59 | fragColor = vec4(fg_color,1.0); 60 | } 61 | else 62 | { 63 | //find which color in the configured gradient we are at 64 | int color = int((gradient_count - 1) * fragCoord.y); 65 | 66 | //find where on y this and next color is supposed to be 67 | float y_min = color / (gradient_count - 1.0); 68 | float y_max = (color + 1.0) / (gradient_count - 1.0); 69 | 70 | //make color 71 | fragColor = vec4(normalize_C(fragCoord.y, gradient_colors[color], gradient_colors[color + 1], y_min, y_max), 1.0); 72 | } 73 | } 74 | } 75 | else 76 | { 77 | fragColor = vec4(bg_color,1.0); 78 | } 79 | } -------------------------------------------------------------------------------- /dot-config/cava/shaders/northern_lights.frag: -------------------------------------------------------------------------------- 1 | #version 330 2 | 3 | in vec2 fragCoord; 4 | out vec4 fragColor; 5 | 6 | // bar values. defaults to left channels first (low to high), then right (high to low). 7 | uniform float bars[512]; 8 | 9 | uniform int bars_count; // number of bars (left + right) (configurable) 10 | 11 | uniform vec3 u_resolution; // window resolution, not used here 12 | 13 | //colors, configurable in cava config file 14 | uniform vec3 bg_color; // background color(r,g,b) (0.0 - 1.0), not used here 15 | uniform vec3 fg_color; // foreground color, not used here 16 | 17 | void main() 18 | { 19 | // find which bar to use based on where we are on the x axis 20 | int bar = int(bars_count * fragCoord.x); 21 | 22 | float bar_y = 1.0 - abs((fragCoord.y - 0.5)) * 2.0; 23 | float y = (bars[bar]) * bar_y; 24 | 25 | float bar_x = (fragCoord.x - float(bar) / float(bars_count)) * bars_count; 26 | float bar_r = 1.0 - abs((bar_x - 0.5)) * 2; 27 | 28 | bar_r = bar_r * bar_r * 2; 29 | 30 | // set color 31 | fragColor.r = fg_color.x * y * bar_r; 32 | fragColor.g = fg_color.y * y * bar_r; 33 | fragColor.b = fg_color.z * y * bar_r; 34 | } 35 | -------------------------------------------------------------------------------- /dot-config/cava/shaders/pass_through.vert: -------------------------------------------------------------------------------- 1 | #version 330 2 | 3 | 4 | // Input vertex data, different for all executions of this shader. 5 | layout(location = 0) in vec3 vertexPosition_modelspace; 6 | 7 | // Output data ; will be interpolated for each fragment. 8 | out vec2 fragCoord; 9 | 10 | void main() 11 | { 12 | gl_Position = vec4(vertexPosition_modelspace,1); 13 | fragCoord = (vertexPosition_modelspace.xy+vec2(1,1))/2.0; 14 | } 15 | -------------------------------------------------------------------------------- /dot-config/code-flags.conf: -------------------------------------------------------------------------------- 1 | --enable-features=UseOzonePlatform 2 | --ozone-platform=wayland 3 | --use-gl=desktop 4 | -------------------------------------------------------------------------------- /dot-config/direnv/direnv.toml: -------------------------------------------------------------------------------- 1 | [global] 2 | hide_env_diff = true 3 | disable_stdin = true 4 | 5 | 6 | -------------------------------------------------------------------------------- /dot-config/direnv/direnvrc: -------------------------------------------------------------------------------- 1 | source $HOME/.nix-profile/share/nix-direnv/direnvrc 2 | -------------------------------------------------------------------------------- /dot-config/electron-flags.conf: -------------------------------------------------------------------------------- 1 | --enable-features=UseOzonePlatform 2 | --ozone-platform=wayland 3 | -------------------------------------------------------------------------------- /dot-config/fastfetch/config.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json", 3 | "logo": { 4 | "source": "arch2", 5 | }, 6 | "modules": [ 7 | "title", 8 | "separator", 9 | { 10 | "type": "os", 11 | "key": "󰣇 ", 12 | }, 13 | { 14 | "type": "host", 15 | "key": " ", 16 | }, 17 | { 18 | "type": "kernel", 19 | "key": " ", 20 | }, 21 | { 22 | "type": "uptime", 23 | "key": " ", 24 | }, 25 | { 26 | "type": "shell", 27 | "key": "󱆃 ", 28 | }, 29 | { 30 | "type": "display", 31 | "key": " ", 32 | }, 33 | { 34 | "type": "de", 35 | "key": " ", 36 | }, 37 | { 38 | "type": "wm", 39 | "key": " ", 40 | }, 41 | { 42 | "type": "theme", 43 | "key": "󰔎 ", 44 | }, 45 | { 46 | "type": "icons", 47 | "key": " ", 48 | }, 49 | { 50 | "type": "font", 51 | "key": " ", 52 | }, 53 | { 54 | "type": "cursor", 55 | "key": "󰇀 ", 56 | }, 57 | { 58 | "type": "terminal", 59 | "key": " ", 60 | }, 61 | { 62 | "type": "cpu", 63 | "key": " ", 64 | }, 65 | { 66 | "type": "gpu", 67 | "key": " ", 68 | }, 69 | { 70 | "type": "memory", 71 | "key": "󰍛 ", 72 | }, 73 | { 74 | "type": "disk", 75 | "key": " ", 76 | }, 77 | { 78 | "type": "battery", 79 | "key": "󱈑 ", 80 | }, 81 | "poweradapter", 82 | "break", 83 | "colors", 84 | ], 85 | } 86 | -------------------------------------------------------------------------------- /dot-config/gtk-3.0/gtk.css: -------------------------------------------------------------------------------- 1 | @define-color blue_1 #99c1f1; 2 | @define-color blue_2 #62a0ea; 3 | @define-color blue_3 #3584e4; 4 | @define-color blue_4 #1c71d8; 5 | @define-color blue_5 #1a5fb4; 6 | @define-color green_1 #8ff0a4; 7 | @define-color green_2 #57e389; 8 | @define-color green_3 #33d17a; 9 | @define-color green_4 #2ec27e; 10 | @define-color green_5 #26a269; 11 | @define-color yellow_1 #f9f06b; 12 | @define-color yellow_2 #f8e45c; 13 | @define-color yellow_3 #f6d32d; 14 | @define-color yellow_4 #f5c211; 15 | @define-color yellow_5 #e5a50a; 16 | @define-color orange_1 #ffbe6f; 17 | @define-color orange_2 #ffa348; 18 | @define-color orange_3 #ff7800; 19 | @define-color orange_4 #e66100; 20 | @define-color orange_5 #c64600; 21 | @define-color red_1 #f66151; 22 | @define-color red_2 #ed333b; 23 | @define-color red_3 #e01b24; 24 | @define-color red_4 #c01c28; 25 | @define-color red_5 #a51d2d; 26 | @define-color purple_1 #dc8add; 27 | @define-color purple_2 #c061cb; 28 | @define-color purple_3 #9141ac; 29 | @define-color purple_4 #813d9c; 30 | @define-color purple_5 #613583; 31 | @define-color brown_1 #cdab8f; 32 | @define-color brown_2 #b5835a; 33 | @define-color brown_3 #986a44; 34 | @define-color brown_4 #865e3c; 35 | @define-color brown_5 #63452c; 36 | @define-color light_1 #ffffff; 37 | @define-color light_2 #f6f5f4; 38 | @define-color light_3 #deddda; 39 | @define-color light_4 #c0bfbc; 40 | @define-color light_5 #9a9996; 41 | @define-color dark_1 #77767b; 42 | @define-color dark_2 #5e5c64; 43 | @define-color dark_3 #3d3846; 44 | @define-color dark_4 #241f31; 45 | @define-color dark_5 #000000; 46 | /* GTK NAMED COLORS 47 | ---------------- 48 | use responsibly! */ 49 | @define-color accent_bg_color #4d78cc; 50 | @define-color accent_fg_color white; 51 | @define-color accent_color #80abff; 52 | @define-color destructive_bg_color @red_4; 53 | @define-color destructive_fg_color white; 54 | @define-color destructive_color #ff7b63; 55 | @define-color success_bg_color @green_5; 56 | @define-color success_fg_color white; 57 | @define-color success_color @green_1; 58 | @define-color warning_bg_color #cd9309; 59 | @define-color warning_fg_color rgba(0, 0, 0, 0.8); 60 | @define-color warning_color @yellow_2; 61 | @define-color error_bg_color @red_4; 62 | @define-color error_fg_color white; 63 | @define-color error_color #ff7b63; 64 | @define-color window_bg_color #282c34; 65 | @define-color window_fg_color white; 66 | @define-color view_bg_color #21252b; 67 | @define-color view_fg_color white; 68 | @define-color headerbar_bg_color #323742; 69 | @define-color headerbar_fg_color white; 70 | @define-color headerbar_border_color white; 71 | @define-color headerbar_backdrop_color @window_bg_color; 72 | @define-color headerbar_shade_color rgba(0, 0, 0, 0.36); 73 | @define-color headerbar_darker_shade_color rgba(0, 0, 0, 0.9); 74 | @define-color sidebar_bg_color #323742; 75 | @define-color sidebar_fg_color white; 76 | @define-color sidebar_backdrop_color #2d323b; 77 | @define-color sidebar_shade_color rgba(0, 0, 0, 0.25); 78 | @define-color sidebar_border_color rgba(0, 0, 0, 0.36); 79 | @define-color secondary_sidebar_bg_color #2d323b; 80 | @define-color secondary_sidebar_fg_color white; 81 | @define-color secondary_sidebar_backdrop_color #2b2f37; 82 | @define-color secondary_sidebar_shade_color rgba(0, 0, 0, 0.25); 83 | @define-color secondary_sidebar_border_color rgba(0, 0, 0, 0.36); 84 | @define-color card_bg_color rgba(255, 255, 255, 0.08); 85 | @define-color card_fg_color white; 86 | @define-color card_shade_color rgba(0, 0, 0, 0.36); 87 | @define-color dialog_bg_color #3a404b; 88 | @define-color dialog_fg_color white; 89 | @define-color popover_bg_color #3a404b; 90 | @define-color popover_fg_color white; 91 | @define-color popover_shade_color rgba(0, 0, 0, 0.25); 92 | @define-color thumbnail_bg_color #383838; 93 | @define-color thumbnail_fg_color white; 94 | @define-color shade_color rgba(0, 0, 0, 0.25); 95 | @define-color scrollbar_outline_color rgba(0, 0, 0, 0.5); 96 | -------------------------------------------------------------------------------- /dot-config/gtk-4.0/gtk.css: -------------------------------------------------------------------------------- 1 | @define-color blue_1 #99c1f1; 2 | @define-color blue_2 #62a0ea; 3 | @define-color blue_3 #3584e4; 4 | @define-color blue_4 #1c71d8; 5 | @define-color blue_5 #1a5fb4; 6 | @define-color green_1 #8ff0a4; 7 | @define-color green_2 #57e389; 8 | @define-color green_3 #33d17a; 9 | @define-color green_4 #2ec27e; 10 | @define-color green_5 #26a269; 11 | @define-color yellow_1 #f9f06b; 12 | @define-color yellow_2 #f8e45c; 13 | @define-color yellow_3 #f6d32d; 14 | @define-color yellow_4 #f5c211; 15 | @define-color yellow_5 #e5a50a; 16 | @define-color orange_1 #ffbe6f; 17 | @define-color orange_2 #ffa348; 18 | @define-color orange_3 #ff7800; 19 | @define-color orange_4 #e66100; 20 | @define-color orange_5 #c64600; 21 | @define-color red_1 #f66151; 22 | @define-color red_2 #ed333b; 23 | @define-color red_3 #e01b24; 24 | @define-color red_4 #c01c28; 25 | @define-color red_5 #a51d2d; 26 | @define-color purple_1 #dc8add; 27 | @define-color purple_2 #c061cb; 28 | @define-color purple_3 #9141ac; 29 | @define-color purple_4 #813d9c; 30 | @define-color purple_5 #613583; 31 | @define-color brown_1 #cdab8f; 32 | @define-color brown_2 #b5835a; 33 | @define-color brown_3 #986a44; 34 | @define-color brown_4 #865e3c; 35 | @define-color brown_5 #63452c; 36 | @define-color light_1 #ffffff; 37 | @define-color light_2 #f6f5f4; 38 | @define-color light_3 #deddda; 39 | @define-color light_4 #c0bfbc; 40 | @define-color light_5 #9a9996; 41 | @define-color dark_1 #77767b; 42 | @define-color dark_2 #5e5c64; 43 | @define-color dark_3 #3d3846; 44 | @define-color dark_4 #241f31; 45 | @define-color dark_5 #000000; 46 | /* GTK NAMED COLORS 47 | ---------------- 48 | use responsibly! */ 49 | @define-color accent_bg_color #4d78cc; 50 | @define-color accent_fg_color white; 51 | @define-color accent_color #80abff; 52 | @define-color destructive_bg_color @red_4; 53 | @define-color destructive_fg_color white; 54 | @define-color destructive_color #ff7b63; 55 | @define-color success_bg_color @green_5; 56 | @define-color success_fg_color white; 57 | @define-color success_color @green_1; 58 | @define-color warning_bg_color #cd9309; 59 | @define-color warning_fg_color rgba(0, 0, 0, 0.8); 60 | @define-color warning_color @yellow_2; 61 | @define-color error_bg_color @red_4; 62 | @define-color error_fg_color white; 63 | @define-color error_color #ff7b63; 64 | @define-color window_bg_color #282c34; 65 | @define-color window_fg_color white; 66 | @define-color view_bg_color #21252b; 67 | @define-color view_fg_color white; 68 | @define-color headerbar_bg_color #323742; 69 | @define-color headerbar_fg_color white; 70 | @define-color headerbar_border_color white; 71 | @define-color headerbar_backdrop_color @window_bg_color; 72 | @define-color headerbar_shade_color rgba(0, 0, 0, 0.36); 73 | @define-color headerbar_darker_shade_color rgba(0, 0, 0, 0.9); 74 | @define-color sidebar_bg_color #323742; 75 | @define-color sidebar_fg_color white; 76 | @define-color sidebar_backdrop_color #2d323b; 77 | @define-color sidebar_shade_color rgba(0, 0, 0, 0.25); 78 | @define-color sidebar_border_color rgba(0, 0, 0, 0.36); 79 | @define-color secondary_sidebar_bg_color #2d323b; 80 | @define-color secondary_sidebar_fg_color white; 81 | @define-color secondary_sidebar_backdrop_color #2b2f37; 82 | @define-color secondary_sidebar_shade_color rgba(0, 0, 0, 0.25); 83 | @define-color secondary_sidebar_border_color rgba(0, 0, 0, 0.36); 84 | @define-color card_bg_color rgba(255, 255, 255, 0.08); 85 | @define-color card_fg_color white; 86 | @define-color card_shade_color rgba(0, 0, 0, 0.36); 87 | @define-color dialog_bg_color #3a404b; 88 | @define-color dialog_fg_color white; 89 | @define-color popover_bg_color #3a404b; 90 | @define-color popover_fg_color white; 91 | @define-color popover_shade_color rgba(0, 0, 0, 0.25); 92 | @define-color thumbnail_bg_color #383838; 93 | @define-color thumbnail_fg_color white; 94 | @define-color shade_color rgba(0, 0, 0, 0.25); 95 | @define-color scrollbar_outline_color rgba(0, 0, 0, 0.5); 96 | -------------------------------------------------------------------------------- /dot-config/gtklock/config.ini: -------------------------------------------------------------------------------- 1 | [main] 2 | style=.config/gtklock/main.css 3 | modules=playerctl-module.so 4 | -------------------------------------------------------------------------------- /dot-config/gtklock/lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ARKye03/dotfiles/f125386a4da63086236cee33f0b33c75f77c8367/dot-config/gtklock/lock -------------------------------------------------------------------------------- /dot-config/gtklock/main.css: -------------------------------------------------------------------------------- 1 | window { 2 | background-image: url("lock"); 3 | background-size: cover; 4 | background-repeat: no-repeat; 5 | background-position: center; 6 | background-color: black; 7 | } 8 | -------------------------------------------------------------------------------- /dot-config/hypr/default/binds.conf: -------------------------------------------------------------------------------- 1 | $mainMod = SUPER 2 | 3 | # App binds 4 | # Terms 5 | bind=$mainMod, Return, exec, /usr/bin/uwsm app -- alacritty 6 | bind=$mainMod SHIFT, Return, exec, /usr/bin/uwsm app -- kitty 7 | 8 | #Browser 9 | bind=$mainMod, W, exec, /usr/bin/uwsm app -- brave --enable-features=UseOzonePlatform --ozone-platform=wayland --use-gl=desktop 10 | 11 | # Utils 12 | bind= $mainMod, M, exec, /usr/bin/uwsm app -- alacritty --class floatcritty -e /usr/bin/ncmpcpp -c ~/.ncmpcpp/config 13 | bind= $mainMod, E, exec, /usr/bin/uwsm app -- nautilus 14 | bind= $mainMod SHIFT, E, exec, /usr/bin/uwsm app -- thunar 15 | 16 | # Master Layout 17 | bind = $mainMod SHIFT, P, layoutmsg, swapwithmaster master 18 | bind = $mainMod, N, layoutmsg, cyclenext 19 | 20 | # Screenshots 21 | bind=, Print, exec, ~/.dotfiles/scripts/screenshots region 22 | bind= $mainMod, Print, exec, ~/.dotfiles/scripts/screenshots full 23 | bind= $mainMod SHIFT, Print, exec, ~/.dotfiles/scripts/screenshots window 24 | bind= $mainMod, Q, exec, ~/.dotfiles/scripts/screenshots aspect 25 | 26 | # Wallpapers WBG 27 | bind= $mainMod, U, exec, ~/.dotfiles/scripts/wbg 28 | 29 | # HyprEcko 30 | bind= $mainMod, P, exec, /usr/bin/uwsm app -- hyprpicker -a 31 | bind= $mainMod, L, exec, /usr/bin/uwsm app -- hyprlock 32 | 33 | #WindowControl 34 | bind= $mainMod, C, killactive, 35 | bind= $mainMod, J, pseudo, 36 | bind= $mainMod, K, togglesplit, 37 | bind= $mainMod SHIFT, Q, exit, 38 | bind= $mainMod, F, fullscreen, 39 | bind= $mainMod, Space, togglefloating, 40 | 41 | #Volume Keys 42 | binde=, XF86AudioMute, exec, /usr/bin/wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle & morghulctl -r change_volume 43 | binde=, XF86AudioRaiseVolume, exec, /usr/bin/wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+ & morghulctl -r change_volume 44 | binde=, XF86AudioLowerVolume, exec, /usr/bin/wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- & morghulctl -r change_volume 45 | 46 | binde=, XF86MonBrightnessUp , exec, brightnessctl set +10% & morghulctl -r change_brightness 47 | binde=, XF86MonBrightnessDown, exec, brightnessctl set 10%- & morghulctl -r change_brightness 48 | 49 | bind=, XF86AudioPlay, exec, /usr/bin/playerctl play-pause 50 | bind=, XF86AudioNext, exec, /usr/bin/playerctl next 51 | bind=, XF86AudioPrev, exec, /usr/bin/playerctl previous 52 | 53 | # Move focus with mainMod + arrow keys 54 | bind= $mainMod, left, movefocus, l 55 | bind= $mainMod, right, movefocus, r 56 | bind= $mainMod, up, movefocus, u 57 | bind= $mainMod, down, movefocus, d 58 | 59 | # Switch workspaces with mainMod + [0-9] 60 | bind= $mainMod, 1, workspace, 1 61 | bind= $mainMod, 2, workspace, 2 62 | bind= $mainMod, 3, workspace, 3 63 | bind= $mainMod, 4, workspace, 4 64 | bind= $mainMod, 5, workspace, 5 65 | bind= $mainMod, 6, workspace, 6 66 | bind= $mainMod, 7, workspace, 7 67 | bind= $mainMod, 8, workspace, 8 68 | bind= $mainMod, 9, workspace, 9 69 | bind= $mainMod, 0, workspace, 10 70 | 71 | # Move active window to a workspace with mainMod + SHIFT + [0-9] 72 | bind= $mainMod SHIFT, 1, movetoworkspace, 1 73 | bind= $mainMod SHIFT, 2, movetoworkspace, 2 74 | bind= $mainMod SHIFT, 3, movetoworkspace, 3 75 | bind= $mainMod SHIFT, 4, movetoworkspace, 4 76 | bind= $mainMod SHIFT, 5, movetoworkspace, 5 77 | bind= $mainMod SHIFT, 6, movetoworkspace, 6 78 | bind= $mainMod SHIFT, 7, movetoworkspace, 7 79 | bind= $mainMod SHIFT, 8, movetoworkspace, 8 80 | bind= $mainMod SHIFT, 9, movetoworkspace, 9 81 | bind= $mainMod SHIFT, 0, movetoworkspace, 10 82 | 83 | # Scroll through existing workspaces with mainMod + scroll 84 | bind = $mainMod, mouse_down, workspace, e+1 85 | bind = $mainMod, mouse_up, workspace, e-1 86 | 87 | bind = $mainMod CTRL, right, workspace, e+1 88 | bind = $mainMod CTRL, left, workspace, e-1 89 | 90 | bind = $mainMod ALT, right, movetoworkspace, r+1 91 | bind = $mainMod ALT, left, movetoworkspace, r-1 92 | 93 | bind = $mainMod CTRL, L, workspace, e+1 94 | bind = $mainMod CTRL, H, workspace, e-1 95 | 96 | bind = $mainMod ALT, L, movetoworkspace, r+1 97 | bind = $mainMod ALT, H, movetoworkspace, r-1 98 | 99 | # Move/resize windows with mainMod + LMB/RMB and dragging 100 | bindm = $mainMod, mouse:272, movewindow 101 | bindm = $mainMod, mouse:273, resizewindow 102 | 103 | # sets repeatable binds for resizing the active window 104 | binde=$mainMod SHIFT, right, resizeactive,10 0 105 | binde=$mainMod SHIFT, left, resizeactive,-10 0 106 | binde=$mainMod SHIFT, up, resizeactive,0 -10 107 | binde=$mainMod SHIFT, down, resizeactive,0 10 108 | 109 | # sets repeatable binds for resizing the active window 110 | binde=$mainMod ALT SHIFT, right, moveactive,10 0 111 | binde=$mainMod ALT SHIFT, left, moveactive,-10 0 112 | binde=$mainMod ALT SHIFT, up, moveactive,0 -10 113 | binde=$mainMod ALT SHIFT, down, moveactive,0 10 114 | 115 | bind=$mainMod, TAB, workspace, previous 116 | bind=$mainMod, GRAVE, togglespecialworkspace, 117 | bind=$mainMod SHIFT, GRAVE, movetoworkspace, special 118 | bind=$mainMod SHIFT, P, pin, 119 | 120 | bind=$mainMod SHIFT, V,submap,passthru 121 | submap= passthru 122 | bind= SUPER,Escape,submap,reset 123 | submap= reset 124 | -------------------------------------------------------------------------------- /dot-config/hypr/default/cursor.conf: -------------------------------------------------------------------------------- 1 | # XCursor Theme 2 | env= XCURSOR_THEME,Bibata-Modern-Classic 3 | env= XCURSOR_SIZE,20 4 | 5 | # Hyprcursor Theme 6 | env= HYPRCURSOR_THEME,Bibata-Modern-Classic 7 | env= HYPRCURSOR_SIZE,20 8 | 9 | exec-once=/usr/bin/hyprctl setcursor "Bibata-Modern-Classic" 20 10 | -------------------------------------------------------------------------------- /dot-config/hypr/default/env.conf: -------------------------------------------------------------------------------- 1 | # Nvidia Specifications 2 | env = LIBVA_DRIVER_NAME,nvidia 3 | env = GBM_BACKEND,nvidia-drm 4 | env = __GLX_VENDOR_LIBRARY_NAME,nvidia 5 | 6 | env = NVD_BACKEND,direct 7 | env = WLR_RENDERER_ALLOW_SOFTWARE,1 8 | 9 | # Toolkit Backend Variables 10 | env = GDK_BACKEND,wayland,x11,* 11 | env = SDL_VIDEODRIVER,wayland 12 | env = CLUTTER_BACKEND,wayland 13 | 14 | # QT Specifications 15 | env = QT_AUTO_SCREEN_SCALE_FACTOR,1 16 | env = QT_QPA_PLATFORM,wayland;xcb 17 | env = QT_QPA_PLATFORMTHEME,qt6ct 18 | 19 | # XDG Specifications 20 | env = XDG_CURRENT_DESKTOP,Hyprland 21 | env = XDG_SESSION_TYPE,wayland 22 | env = XDG_SESSION_DESKTOP,Hyprland 23 | 24 | # Apps Specifications 25 | env = WARP_ENABLE_WAYLAND,1 26 | env = ELECTRON_OZONE_PLATFORM_HINT,wayland 27 | -------------------------------------------------------------------------------- /dot-config/hypr/default/layerrules.conf: -------------------------------------------------------------------------------- 1 | layerrule = blur,rofi 2 | 3 | layerrule = noanim, powermenu 4 | layerrule = noanim, applauncher 5 | layerrule = noanim,notifications 6 | layerrule = noanim,astal-notifications 7 | layerrule = animation slidedown,astal-mpris 8 | 9 | # layerrule = blur,StatusBar 10 | # layerrule = blur,QuickSettings 11 | # layerrule = ignorealpha 0.5,QuickSettings 12 | # layerrule = ignorealpha 0.2,Mpris 13 | # layerrule = blur,Runner 14 | # layerrule = ignorealpha 0.5,Runner 15 | # layerrule = blur,OnScreenDisplay 16 | # layerrule = ignorealpha 0.5,OnScreenDisplay 17 | -------------------------------------------------------------------------------- /dot-config/hypr/default/startup.conf: -------------------------------------------------------------------------------- 1 | #Autostart 2 | exec-once=~/.dotfiles/scripts/wbg 3 | 4 | # Environment 5 | exec-once=dbus-update-activation-environment --systemd --all 6 | exec-once=/usr/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh 7 | exec-once=/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 8 | 9 | # Utils 10 | exec-once=/usr/bin/uwsm app -- hypridle 11 | -------------------------------------------------------------------------------- /dot-config/hypr/default/windowrules.conf: -------------------------------------------------------------------------------- 1 | # Brave 2 | #--------2 3 | windowrule = workspace 2, class:^(.*[Bb]rave-browser.*)$ 4 | # ----Brave_PIP 5 | windowrule = float,title:(Picture in picture) 6 | windowrule = size 600 350,title:(Picture in picture) 7 | windowrule = move 1310 720,title:(Picture in picture) 8 | windowrule = pin,title:(Picture in picture) 9 | #----Brave_Save_File 10 | windowrule = float,class:(brave),title:(Save File) 11 | windowrule = size 715 570,class:(brave),title:(Save File) 12 | windowrule = move 710 160,class:(brave),title:(Save File) 13 | 14 | # Code and Zed 15 | #--------3 16 | windowrule = workspace 3, class:^(code.*)$ 17 | windowrule = workspace 3, class:^(dev.zed.Zed)$ 18 | 19 | #--------4 20 | windowrule = workspace 4, class:^(.*[Nn]autilus.*)$ 21 | # Thunar 22 | windowrule = workspace 4, class:^(.*[Tt]hunar.*)$ 23 | windowrule= size 400 150,class:([Tt]hunar),title:(Create New Folder) 24 | windowrule= move 485 350,class:([Tt]hunar),title:(Create New Folder) 25 | windowrule = float,class:(Player),title:(Player) 26 | 27 | #--------5 28 | windowrule = workspace 6, class:^([Dd]iscord)$ 29 | windowrule = workspace 6, class:^(org.telegram.desktop)$ 30 | 31 | #--------7 32 | windowrule = workspace 7, title:^(SoundCloud.*)$ 33 | 34 | #--------8 35 | windowrule = workspace 8, class:^(.*uget-gtk.*)$ 36 | windowrule = workspace 8, class:^(.*bleachbit.*)$ 37 | 38 | # Waydroid and Steam 39 | #--------9 40 | windowrule = workspace 9,class:^(.*[Ss]team.*)$ 41 | windowrule = workspace 9,class:^(faugus-.*)$ 42 | 43 | #--------10 44 | 45 | # Floatcritty 46 | windowrule=float,class:^(floatcritty)$ 47 | windowrule=size 900 600,class:^(floatcritty)$ 48 | windowrule=move 510 50,class:^(floatcritty)$ 49 | windowrule=pin,class:^(floatcritty)$ 50 | windowrule=animation slide,class:^(floatcritty)$ 51 | 52 | # Engrampa 53 | windowrule=float,class:^(engrampa)$ 54 | 55 | # Kitty 56 | windowrule=noblur,class:^(kitty)$ 57 | windowrule=float,class:^(kitty) 58 | windowrule=size 900 520,class:^(kitty) 59 | windowrule=move 230 160,class:^(kitty) 60 | 61 | # ProtonVPN 62 | windowrule = pin, class:^(protonvpn-app) 63 | windowrule = size 400 600, class:^(protonvpn-app) 64 | windowrule = move 10 420, class:^(protonvpn-app) 65 | 66 | #---WhatsApp 67 | windowrule = workspace 6, title:^(WhatsApp Web)$ 68 | windowrule = tile, title:^(WhatsApp Web)$ 69 | 70 | 71 | # NoBlur 72 | windowrule = noblur, class:^(vlc)$ 73 | windowrule = noblur, class:^(.*[Bb]rave-browser.*)$ 74 | -------------------------------------------------------------------------------- /dot-config/hypr/hypridle.conf: -------------------------------------------------------------------------------- 1 | general { 2 | lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances. 3 | before_sleep_cmd = loginctl lock-session # lock before suspend. 4 | after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display. 5 | } 6 | 7 | listener { 8 | timeout = 1800 # 30min 9 | on-timeout = loginctl lock-session # lock screen when timeout has passed 10 | } 11 | 12 | listener { 13 | timeout = 380 # 5.5min 14 | on-timeout = hyprctl dispatch dpms off # screen off when timeout has passed 15 | on-resume = hyprctl dispatch dpms on # screen on when activity is detected after timeout has fired. 16 | } 17 | -------------------------------------------------------------------------------- /dot-config/hypr/hyprland.conf: -------------------------------------------------------------------------------- 1 | monitor=, 1920x1080, 0x0, 1 2 | 3 | # Env vars 4 | source = ~/.config/hypr/default/env.conf 5 | 6 | input { 7 | kb_layout = us 8 | kb_variant = #intl 9 | kb_model = 10 | kb_options = 11 | kb_rules = 12 | numlock_by_default = true 13 | 14 | follow_mouse = 1 15 | 16 | touchpad { 17 | natural_scroll = true 18 | } 19 | 20 | sensitivity = 0 # -1.0 - 1.0, 0 means no modification. 21 | } 22 | 23 | general { 24 | gaps_in = 5 25 | gaps_out = 5 26 | border_size = 2 27 | col.active_border = rgba(8839efee) rgba(d20f39ee) 45deg 28 | col.inactive_border = rgba(595959aa) 29 | allow_tearing = true 30 | 31 | layout = master 32 | } 33 | 34 | decoration { 35 | rounding = 5 36 | 37 | blur { 38 | enabled = true 39 | new_optimizations = true 40 | size = 5 41 | passes = 4 42 | } 43 | } 44 | 45 | animations { 46 | enabled = true 47 | 48 | bezier = myBezier, 0.05, 0.9, 0.1, 1.05 49 | 50 | animation = windows, 1, 4, default 51 | animation = windowsOut, 1, 7, default 52 | animation = layers, 1, 2, default 53 | animation = layersOut, 1, 1, default 54 | animation = border, 1, 10, default 55 | animation = borderangle, 1, 8, default 56 | animation = fade, 1, 7, default 57 | animation = workspaces, 1, 2, default, fade 58 | } 59 | 60 | dwindle { 61 | pseudotile = true 62 | preserve_split = true 63 | } 64 | 65 | master { 66 | new_status = master 67 | } 68 | 69 | gestures { 70 | workspace_swipe = true 71 | 72 | } 73 | 74 | cursor { 75 | no_hardware_cursors = true 76 | } 77 | 78 | device { 79 | name = epic-mouse-v1 80 | sensitivity = -0.5 81 | } 82 | 83 | windowrulev2 = immediate, class:^(steam_app_0)$ 84 | 85 | #Autostart 86 | source = ~/.config/hypr/default/startup.conf 87 | 88 | #Cursor 89 | # source = ~/.config/hypr/default/cursor.conf 90 | 91 | #KeyBinds 92 | source = ~/.config/hypr/default/binds.conf 93 | 94 | #WholeWorldHere 95 | source = ~/.config/hypr/default/windowrules.conf 96 | source = ~/.config/hypr/default/layerrules.conf 97 | 98 | #Plugins 99 | # source = ~/.config/hypr/plugins/hyprexpo.conf 100 | source = ~/.config/hypr/morghulis.conf 101 | -------------------------------------------------------------------------------- /dot-config/hypr/hyprlock.conf: -------------------------------------------------------------------------------- 1 | source = $HOME/.config/hypr/macchiato.conf 2 | 3 | $accent = $mauve 4 | $accentAlpha = $mauveAlpha 5 | $font = JetBrainsMono Nerd Font 6 | 7 | # GENERAL 8 | general { 9 | disable_loading_bar = true 10 | hide_cursor = true 11 | } 12 | 13 | # BACKGROUND 14 | background { 15 | monitor = 16 | path = ~/.config/background 17 | blur_passes = 0 18 | color = $base 19 | } 20 | 21 | # TIME 22 | label { 23 | monitor = 24 | text = cmd[update:30000] echo "$(date +"%R")" 25 | color = $text 26 | font_size = 90 27 | font_family = $font 28 | position = -30, 0 29 | halign = right 30 | valign = top 31 | } 32 | 33 | # DATE 34 | label { 35 | monitor = 36 | text = cmd[update:43200000] echo "$(date +"%A, %d %B %Y")" 37 | color = $text 38 | font_size = 25 39 | font_family = $font 40 | position = -30, -150 41 | halign = right 42 | valign = top 43 | } 44 | 45 | # USER AVATAR 46 | 47 | image { 48 | monitor = 49 | path = ~/.face 50 | size = 100 51 | border_color = $accent 52 | 53 | position = 0, 75 54 | halign = center 55 | valign = center 56 | } 57 | 58 | # INPUT FIELD 59 | input-field { 60 | monitor = 61 | size = 300, 60 62 | outline_thickness = 4 63 | dots_size = 0.2 64 | dots_spacing = 0.2 65 | dots_center = true 66 | outer_color = $accent 67 | inner_color = $surface0 68 | font_color = $text 69 | fade_on_empty = false 70 | placeholder_text = 󰌾 Logged in as $USER 71 | hide_input = false 72 | check_color = $accent 73 | fail_color = $red 74 | fail_text = $FAIL ($ATTEMPTS) 75 | capslock_color = $yellow 76 | position = 0, -35 77 | halign = center 78 | valign = center 79 | } 80 | -------------------------------------------------------------------------------- /dot-config/hypr/hyprpaper.conf: -------------------------------------------------------------------------------- 1 | # preload=/home/archkye/backgrounds/wallpaper_30.jpg 2 | 3 | # splash=false 4 | # ipc=off 5 | 6 | # wallpaper=HDMI-A-1,/home/archkye/backgrounds/wallpaper_30.jpg 7 | 8 | -------------------------------------------------------------------------------- /dot-config/hypr/macchiato.conf: -------------------------------------------------------------------------------- 1 | 2 | $rosewater = rgb(f4dbd6) 3 | $rosewaterAlpha = f4dbd6 4 | 5 | $flamingo = rgb(f0c6c6) 6 | $flamingoAlpha = f0c6c6 7 | 8 | $pink = rgb(f5bde6) 9 | $pinkAlpha = f5bde6 10 | 11 | $mauve = rgb(c6a0f6) 12 | $mauveAlpha = c6a0f6 13 | 14 | $red = rgb(ed8796) 15 | $redAlpha = ed8796 16 | 17 | $maroon = rgb(ee99a0) 18 | $maroonAlpha = ee99a0 19 | 20 | $peach = rgb(f5a97f) 21 | $peachAlpha = f5a97f 22 | 23 | $yellow = rgb(eed49f) 24 | $yellowAlpha = eed49f 25 | 26 | $green = rgb(a6da95) 27 | $greenAlpha = a6da95 28 | 29 | $teal = rgb(8bd5ca) 30 | $tealAlpha = 8bd5ca 31 | 32 | $sky = rgb(91d7e3) 33 | $skyAlpha = 91d7e3 34 | 35 | $sapphire = rgb(7dc4e4) 36 | $sapphireAlpha = 7dc4e4 37 | 38 | $blue = rgb(8aadf4) 39 | $blueAlpha = 8aadf4 40 | 41 | $lavender = rgb(b7bdf8) 42 | $lavenderAlpha = b7bdf8 43 | 44 | $text = rgb(cad3f5) 45 | $textAlpha = cad3f5 46 | 47 | $subtext1 = rgb(b8c0e0) 48 | $subtext1Alpha = b8c0e0 49 | 50 | $subtext0 = rgb(a5adcb) 51 | $subtext0Alpha = a5adcb 52 | 53 | $overlay2 = rgb(939ab7) 54 | $overlay2Alpha = 939ab7 55 | 56 | $overlay1 = rgb(8087a2) 57 | $overlay1Alpha = 8087a2 58 | 59 | $overlay0 = rgb(6e738d) 60 | $overlay0Alpha = 6e738d 61 | 62 | $surface2 = rgb(5b6078) 63 | $surface2Alpha = 5b6078 64 | 65 | $surface1 = rgb(494d64) 66 | $surface1Alpha = 494d64 67 | 68 | $surface0 = rgb(363a4f) 69 | $surface0Alpha = 363a4f 70 | 71 | $base = rgb(24273a) 72 | $baseAlpha = 24273a 73 | 74 | $mantle = rgb(1e2030) 75 | $mantleAlpha = 1e2030 76 | 77 | $crust = rgb(181926) 78 | $crustAlpha = 181926 79 | -------------------------------------------------------------------------------- /dot-config/hypr/morghulis.conf: -------------------------------------------------------------------------------- 1 | bind=Super, R, exec, /usr/bin/morghulctl -q && /usr/bin/uwsm app -- morghulis 2 | bindr=Super, D, exec, /usr/bin/morghulctl -t Runner 3 | bindr=Super, X, exec, /usr/bin/morghulctl -t PowerMenu 4 | bindr=Super, I, exec, /usr/bin/morghulctl -i 5 | -------------------------------------------------------------------------------- /dot-config/hypr/plugins/hyprexpo.conf: -------------------------------------------------------------------------------- 1 | bind = SUPER SHIFT, TAB, hyprexpo:expo, toggle # can be: toggle, off/disable or on/enable 2 | 3 | plugin { 4 | hyprexpo { 5 | columns = 3 6 | gap_size = 5 7 | bg_col = rgb(111111) 8 | workspace_method = center current # [center/first] [workspace] e.g. first 1 or center m+1 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /dot-config/kitty/current-theme.conf: -------------------------------------------------------------------------------- 1 | # vim:ft=kitty 2 | 3 | ## name: Catppuccin-Macchiato 4 | ## author: Pocco81 (https://github.com/Pocco81) 5 | ## license: MIT 6 | ## upstream: https://github.com/catppuccin/kitty/blob/main/macchiato.conf 7 | ## blurb: Soothing pastel theme for the high-spirited! 8 | 9 | 10 | 11 | # The basic colors 12 | foreground #CAD3F5 13 | background #24273A 14 | selection_foreground #24273A 15 | selection_background #F4DBD6 16 | 17 | # Cursor colors 18 | cursor #F4DBD6 19 | cursor_text_color #24273A 20 | 21 | # URL underline color when hovering with mouse 22 | url_color #F4DBD6 23 | 24 | # Kitty window border colors 25 | active_border_color #B7BDF8 26 | inactive_border_color #6E738D 27 | bell_border_color #EED49F 28 | 29 | # OS Window titlebar colors 30 | wayland_titlebar_color system 31 | macos_titlebar_color system 32 | 33 | # Tab bar colors 34 | active_tab_foreground #181926 35 | active_tab_background #C6A0F6 36 | inactive_tab_foreground #CAD3F5 37 | inactive_tab_background #1E2030 38 | tab_bar_background #181926 39 | 40 | # Colors for marks (marked text in the terminal) 41 | mark1_foreground #24273A 42 | mark1_background #B7BDF8 43 | mark2_foreground #24273A 44 | mark2_background #C6A0F6 45 | mark3_foreground #24273A 46 | mark3_background #7DC4E4 47 | 48 | # The 16 terminal colors 49 | 50 | # black 51 | color0 #494D64 52 | color8 #5B6078 53 | 54 | # red 55 | color1 #ED8796 56 | color9 #ED8796 57 | 58 | # green 59 | color2 #A6DA95 60 | color10 #A6DA95 61 | 62 | # yellow 63 | color3 #EED49F 64 | color11 #EED49F 65 | 66 | # blue 67 | color4 #8AADF4 68 | color12 #8AADF4 69 | 70 | # magenta 71 | color5 #F5BDE6 72 | color13 #F5BDE6 73 | 74 | # cyan 75 | color6 #8BD5CA 76 | color14 #8BD5CA 77 | 78 | # white 79 | color7 #B8C0E0 80 | color15 #A5ADCB 81 | -------------------------------------------------------------------------------- /dot-config/kitty/kitty.conf: -------------------------------------------------------------------------------- 1 | font_family FiraCode Nerd Font 2 | font_size 12.0 3 | 4 | disable_ligatures never 5 | 6 | window_padding_width 3 7 | 8 | confirm_os_window_close -1 9 | 10 | background_opacity 0.95 11 | 12 | background_blur 0 13 | 14 | map kitty_mod+f5 load_config_file 15 | 16 | 17 | # BEGIN_KITTY_THEME 18 | # Catppuccin-Macchiato 19 | include current-theme.conf 20 | # END_KITTY_THEME 21 | -------------------------------------------------------------------------------- /dot-config/matugen/config.toml: -------------------------------------------------------------------------------- 1 | [config] 2 | set = false 3 | 4 | [templates.morghulis] 5 | input_path = '~/.config/matugen/templates/morghulis.css' 6 | output_path = '~/.config/morghulis/main.css' 7 | 8 | [templates.allColors] 9 | input_path = '~/.config/matugen/templates/allColors.css' 10 | output_path = '/tmp/allColors.css' 11 | -------------------------------------------------------------------------------- /dot-config/matugen/templates/allColors.css: -------------------------------------------------------------------------------- 1 | @define-color primary {{colors.primary.default.hex}} 2 | @define-color on_primary {{colors.on_primary.default.hex}} 3 | @define-color primary_container {{colors.primary_container.default.hex}} 4 | @define-color on_primary_container {{colors.on_primary_container.default.hex}} 5 | @define-color inverse_primary {{colors.inverse_primary.default.hex}} 6 | @define-color primary_fixed {{colors.primary_fixed.default.hex}} 7 | @define-color primary_fixed_dim {{colors.primary_fixed_dim.default.hex}} 8 | @define-color on_primary_fixed {{colors.on_primary_fixed.default.hex}} 9 | @define-color on_primary_fixed_variant {{colors.on_primary_fixed_variant.default.hex}} 10 | @define-color secondary {{colors.secondary.default.hex}} 11 | @define-color on_secondary {{colors.on_secondary.default.hex}} 12 | @define-color secondary_container {{colors.secondary_container.default.hex}} 13 | @define-color on_secondary_container {{colors.on_secondary_container.default.hex}} 14 | @define-color secondary_fixed {{colors.secondary_fixed.default.hex}} 15 | @define-color secondary_fixed_dim {{colors.secondary_fixed_dim.default.hex}} 16 | @define-color on_secondary_fixed {{colors.on_secondary_fixed.default.hex}} 17 | @define-color on_secondary_fixed_variant {{colors.on_secondary_fixed_variant.default.hex}} 18 | @define-color tertiary {{colors.tertiary.default.hex}} 19 | @define-color on_tertiary {{colors.on_tertiary.default.hex}} 20 | @define-color tertiary_container {{colors.tertiary_container.default.hex}} 21 | @define-color on_tertiary_container {{colors.on_tertiary_container.default.hex}} 22 | @define-color tertiary_fixed {{colors.tertiary_fixed.default.hex}} 23 | @define-color tertiary_fixed_dim {{colors.tertiary_fixed_dim.default.hex}} 24 | @define-color on_tertiary_fixed {{colors.on_tertiary_fixed.default.hex}} 25 | @define-color source_color {{colors.source_color.default.hex}} 26 | @define-color error {{colors.error.default.hex}} 27 | @define-color on_error {{colors.on_error.default.hex}} 28 | @define-color error_container {{colors.error_container.default.hex}} 29 | @define-color on_error_container {{colors.on_error_container.default.hex}} 30 | @define-color surface_dim {{colors.surface_dim.default.hex}} 31 | @define-color surface {{colors.surface.default.hex}} 32 | @define-color surface_bright {{colors.surface_bright.default.hex}} 33 | @define-color surface_container_lowest {{colors.surface_container_lowest.default.hex}} 34 | @define-color surface_container_low {{colors.surface_container_low.default.hex}} 35 | @define-color surface_container {{colors.surface_container.default.hex}} 36 | @define-color surface_container_high {{colors.surface_container_high.default.hex}} 37 | @define-color surface_container_highest {{colors.surface_container_highest.default.hex}} 38 | @define-color on_surface {{colors.on_surface.default.hex}} 39 | @define-color on_surface_variant {{colors.on_surface_variant.default.hex}} 40 | @define-color outline {{colors.outline.default.hex}} 41 | @define-color outline_variant {{colors.outline_variant.default.hex}} 42 | @define-color inverse_surface {{colors.inverse_surface.default.hex}} 43 | @define-color inverse_on_surface {{colors.inverse_on_surface.default.hex}} 44 | @define-color surface_variant {{colors.surface_variant.default.hex}} 45 | @define-color background {{colors.background.default.hex}} 46 | @define-color on_background {{colors.on_background.default.hex}} 47 | @define-color shadow {{colors.shadow.default.hex}} 48 | @define-color scrim {{colors.scrim.default.hex}} 49 | @define-color on_tertiary_fixed_variant {{colors.on_tertiary_fixed_variant.default.hex}} 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | -------------------------------------------------------------------------------- /dot-config/matugen/templates/morghulis.css: -------------------------------------------------------------------------------- 1 | :root { 2 | --accent-color: {{colors.primary.default.hex}}; 3 | } 4 | 5 | @define-color accent_color {{colors.primary.default.hex}}; 6 | @define-color accent_fg_color {{colors.primary_fixed.default.hex}}; 7 | @define-color accent_bg_color {{colors.on_primary_fixed.default.hex}}; 8 | @define-color window_bg_color {{colors.surface.default.hex}}; 9 | @define-color window_fg_color {{colors.on_surface.default.hex}}; 10 | @define-color headerbar_bg_color {{colors.surface_dim.default.hex}}; 11 | @define-color headerbar_fg_color {{colors.on_surface.default.hex}}; 12 | @define-color popover_bg_color {{colors.surface_dim.default.hex}}; 13 | @define-color popover_fg_color {{colors.on_surface.default.hex}}; 14 | @define-color view_bg_color {{colors.surface_container.default.hex}}; 15 | @define-color view_fg_color {{colors.on_surface.default.hex}}; 16 | @define-color card_bg_color {{colors.surface.default.hex}}; 17 | @define-color card_fg_color {{colors.on_surface.default.hex}}; 18 | @define-color sidebar_bg_color @window_bg_color; 19 | @define-color sidebar_fg_color @window_fg_color; 20 | @define-color sidebar_border_color @window_bg_color; 21 | @define-color sidebar_backdrop_color @window_bg_color; 22 | 23 | -------------------------------------------------------------------------------- /dot-config/morghulis/main.css: -------------------------------------------------------------------------------- 1 | :root { 2 | --accent-color: #cdbdff; 3 | } 4 | 5 | @define-color accent_color #cdbdff; 6 | @define-color accent_fg_color #e8deff; 7 | @define-color accent_bg_color #1f1048; 8 | @define-color window_bg_color #141318; 9 | @define-color window_fg_color #e6e1e9; 10 | @define-color headerbar_bg_color #141318; 11 | @define-color headerbar_fg_color #e6e1e9; 12 | @define-color popover_bg_color #141318; 13 | @define-color popover_fg_color #e6e1e9; 14 | @define-color view_bg_color #201f24; 15 | @define-color view_fg_color #e6e1e9; 16 | @define-color card_bg_color #141318; 17 | @define-color card_fg_color #e6e1e9; 18 | @define-color sidebar_bg_color @window_bg_color; 19 | @define-color sidebar_fg_color @window_fg_color; 20 | @define-color sidebar_border_color @window_bg_color; 21 | @define-color sidebar_backdrop_color @window_bg_color; 22 | -------------------------------------------------------------------------------- /dot-config/mpd/.gitignore: -------------------------------------------------------------------------------- 1 | mpd.db 2 | mpd.log 3 | mpd.pid 4 | mpdstate 5 | -------------------------------------------------------------------------------- /dot-config/mpd/mpd.conf: -------------------------------------------------------------------------------- 1 | music_directory "~/Music/" 2 | playlist_directory "~/.config/mpd/playlists" 3 | db_file "~/.config/mpd/mpd.db" 4 | log_file "~/.config/mpd/mpd.log" 5 | pid_file "~/.config/mpd/mpd.pid" 6 | state_file "~/.config/mpd/mpdstate" 7 | 8 | audio_output { 9 | type "pipewire" 10 | name "PipeWire Sound Server" 11 | } 12 | 13 | restore_paused "yes" 14 | bind_to_address "127.0.0.1" 15 | port "6600" 16 | -------------------------------------------------------------------------------- /dot-config/mpd/playlists/MIX I.m3u: -------------------------------------------------------------------------------- 1 | Dabin & Kai Wachi ft. Lo Spirit - Hollow (Crankdat Remix).mp3 2 | ANTI-HERO (CRANKDAT REMIX).wav 3 | No Time for Caution.mp3 4 | Unknown Brain - Fuck It (ft. DeathbyRomy).mp3 5 | Teminite X Chime X PsoGnar - Monster.mp3 6 | E.T. (feat. Kanye West) - Katy Perry.m4a 7 | Wake Up (RIOT VIP) - RIOT.m4a 8 | Warriyo - Mortals (feat. Laura Brehm) [NCS Release].mp3 9 | Aamon - KUURO.m4a 10 | Beautiful Things - Benson Boone.m4a 11 | Excision - Apex_Excision & Space Laces - 1 On 1.mp3 12 | Excision - Apex_Excision & Sullivan King - Wake Up.mp3 13 | Overthinker - INZO.m4a 14 | Rival - Feel Like Home (w Laura Brehm, Caravn & Lea Brückner).mp3 15 | Excision - Decimate.mp3 16 | Stronger [NCS Release].mp3 17 | THE DEATH OF PEACE OF MIND/THE DEATH OF PEACE OF MIND_THE DEATH OF PEACE OF MIND.mp3 18 | THE DEATH OF PEACE OF MIND/THE DEATH OF PEACE OF MIND_CONCRETE JUNGLE.mp3 19 | THE DEATH OF PEACE OF MIND/THE DEATH OF PEACE OF MIND_Just Pretend.mp3 20 | Raise The Black Flag.mp3 21 | Panda Eyes - Take My Hand (feat. Azuria Sky).mp3 22 | Panda Eyes & Teminite - Immortal Flame (feat. Anna Yvette).mp3 23 | Beat It (Single Version) - Майкл Джексон.m4a 24 | -------------------------------------------------------------------------------- /dot-config/mpd/playlists/MIX II.m3u: -------------------------------------------------------------------------------- 1 | Wake Up (RIOT VIP) - RIOT.m4a 2 | Beautiful Things - Benson Boone.m4a 3 | THE DEATH OF PEACE OF MIND/THE DEATH OF PEACE OF MIND_THE DEATH OF PEACE OF MIND.mp3 4 | Raise The Black Flag.mp3 5 | Teminite X Chime X PsoGnar - Monster.mp3 6 | E.T. (feat. Kanye West) - Katy Perry.m4a 7 | Wake Up (RIOT VIP) - RIOT.m4a 8 | Beautiful Things - Benson Boone.m4a 9 | Stronger [NCS Release].mp3 10 | THE DEATH OF PEACE OF MIND/THE DEATH OF PEACE OF MIND_THE DEATH OF PEACE OF MIND.mp3 11 | THE DEATH OF PEACE OF MIND/THE DEATH OF PEACE OF MIND_CONCRETE JUNGLE.mp3 12 | THE DEATH OF PEACE OF MIND/THE DEATH OF PEACE OF MIND_Just Pretend.mp3 13 | Raise The Black Flag.mp3 14 | TheFatRat - Rise Up.mp3 15 | Hijo De La Luna - Forestella.m4a 16 | Crossfire - Stephen.m4a 17 | MEGAVERSE - Stray Kids.m4a 18 | Arcade (feat. FLETCHER) - Duncan Laurence.m4a 19 | Overthinker - INZO.m4a 20 | Ping.mp3 21 | Shadow - Livingston.m4a 22 | SOOTHSAYER - Deathpact.m4a 23 | -------------------------------------------------------------------------------- /dot-config/mpv/input.conf: -------------------------------------------------------------------------------- 1 | # mpv keybindings 2 | # 3 | # Location of user-defined bindings: ~/.config/mpv/input.conf 4 | # 5 | # Lines starting with # are comments. Use SHARP to assign the # key. 6 | # Copy this file and uncomment and edit the bindings you want to change. 7 | # 8 | # List of commands and further details: DOCS/man/input.rst 9 | # List of special keys: --input-keylist 10 | # Keybindings testing mode: mpv --input-test --force-window --idle 11 | # 12 | # Use 'ignore' to unbind a key fully (e.g. 'ctrl+a ignore'). 13 | # 14 | # Strings need to be quoted and escaped: 15 | # KEY show-text "This is a single backslash: \\ and a quote: \" !" 16 | # 17 | # You can use modifier-key combinations like Shift+Left or Ctrl+Alt+x with 18 | # the modifiers Shift, Ctrl, Alt and Meta (may not work on the terminal). 19 | # 20 | # The default keybindings are hardcoded into the mpv binary. 21 | # You can disable them completely with: --no-input-default-bindings 22 | 23 | # Developer note: 24 | # On compilation, this file is baked into the mpv binary, and all lines are 25 | # uncommented (unless '#' is followed by a space) - thus this file defines the 26 | # default key bindings. 27 | 28 | # If this is enabled, treat all the following bindings as default. 29 | #default-bindings start 30 | 31 | #MBTN_LEFT ignore # don't do anything 32 | #MBTN_LEFT_DBL cycle fullscreen # toggle fullscreen 33 | #MBTN_RIGHT cycle pause # toggle pause/playback mode 34 | #MBTN_BACK playlist-prev # skip to the previous file 35 | #MBTN_FORWARD playlist-next # skip to the next file 36 | 37 | # Mouse wheels, touchpad or other input devices that have axes 38 | # if the input devices supports precise scrolling it will also scale the 39 | # numeric value accordingly 40 | WHEEL_UP add volume 5 41 | WHEEL_DOWN add volume -5 42 | #WHEEL_LEFT seek -10 # seek 10 seconds backward 43 | #WHEEL_RIGHT seek 10 # seek 10 seconds forward 44 | 45 | ## Seek units are in seconds, but note that these are limited by keyframes 46 | RIGHT seek 5 47 | LEFT seek -5 48 | UP add volume 5 49 | DOWN add volume -5 50 | # Do smaller, always exact (non-keyframe-limited), seeks with shift. 51 | # Don't show them on the OSD (no-osd). 52 | #Shift+RIGHT no-osd seek 1 exact # seek exactly 1 second forward 53 | #Shift+LEFT no-osd seek -1 exact # seek exactly 1 second backward 54 | #Shift+UP no-osd seek 5 exact # seek exactly 5 seconds forward 55 | #Shift+DOWN no-osd seek -5 exact # seek exactly 5 seconds backward 56 | #Ctrl+LEFT no-osd sub-seek -1 # seek to the previous subtitle 57 | #Ctrl+RIGHT no-osd sub-seek 1 # seek to the next subtitle 58 | #Ctrl+Shift+LEFT sub-step -1 # change subtitle timing such that the previous subtitle is displayed 59 | #Ctrl+Shift+RIGHT sub-step 1 # change subtitle timing such that the next subtitle is displayed 60 | #Alt+left add video-pan-x 0.1 # move the video right 61 | #Alt+right add video-pan-x -0.1 # move the video left 62 | #Alt+up add video-pan-y 0.1 # move the video down 63 | #Alt+down add video-pan-y -0.1 # move the video up 64 | #Alt++ add video-zoom 0.1 # zoom in 65 | #ZOOMIN add video-zoom 0.1 # zoom in 66 | #Alt+- add video-zoom -0.1 # zoom out 67 | #ZOOMOUT add video-zoom -0.1 # zoom out 68 | #Ctrl+WHEEL_UP add video-zoom 0.1 # zoom in 69 | #Ctrl+WHEEL_DOWN add video-zoom -0.1 # zoom out 70 | #Alt+BS set video-zoom 0 ; set video-pan-x 0 ; set video-pan-y 0 # reset zoom and pan settings 71 | #PGUP add chapter 1 # seek to the next chapter 72 | #PGDWN add chapter -1 # seek to the previous chapter 73 | #Shift+PGUP seek 600 # seek 10 minutes forward 74 | #Shift+PGDWN seek -600 # seek 10 minutes backward 75 | #[ multiply speed 1/1.1 # decrease the playback speed 76 | #] multiply speed 1.1 # increase the playback speed 77 | #{ multiply speed 0.5 # halve the playback speed 78 | #} multiply speed 2.0 # double the playback speed 79 | #BS set speed 1.0 # reset the speed to normal 80 | #Shift+BS revert-seek # undo the previous (or marked) seek 81 | #Shift+Ctrl+BS revert-seek mark # mark the position for revert-seek 82 | #q quit 83 | #Q quit-watch-later # exit and remember the playback position 84 | #q {encode} quit 4 85 | #ESC set fullscreen no # leave fullscreen 86 | #ESC {encode} quit 4 87 | #p cycle pause # toggle pause/playback mode 88 | #. frame-step # advance one frame and pause 89 | #, frame-back-step # go back by one frame and pause 90 | #SPACE cycle pause # toggle pause/playback mode 91 | #> playlist-next # skip to the next file 92 | #ENTER playlist-next # skip to the next file 93 | #< playlist-prev # skip to the previous file 94 | #O no-osd cycle-values osd-level 3 1 # toggle displaying the OSD on user interaction or always 95 | #o show-progress # show playback progress 96 | #P show-progress # show playback progress 97 | #i script-binding stats/display-stats # display information and statistics 98 | #I script-binding stats/display-stats-toggle # toggle displaying information and statistics 99 | #` script-binding console/enable # open the console 100 | #z add sub-delay -0.1 # shift subtitles 100 ms earlier 101 | #Z add sub-delay +0.1 # delay subtitles by 100 ms 102 | #x add sub-delay +0.1 # delay subtitles by 100 ms 103 | #ctrl++ add audio-delay 0.100 # change audio/video sync by delaying the audio 104 | #ctrl+- add audio-delay -0.100 # change audio/video sync by shifting the audio earlier 105 | #Shift+g add sub-scale +0.1 # increase the subtitle font size 106 | #Shift+f add sub-scale -0.1 # decrease the subtitle font size 107 | #9 add volume -2 108 | #/ add volume -2 109 | #0 add volume 2 110 | #* add volume 2 111 | #m cycle mute # toggle mute 112 | q set contrast 0; set brightness 0; set gamma 0; set saturation 0; 113 | t add contrast -1 114 | r add contrast 1 115 | w add brightness -1 116 | e add brightness 1 117 | i add gamma -1 118 | o add gamma 1 119 | u add saturation -1 120 | y add saturation 1 121 | #Alt+0 set current-window-scale 0.5 # halve the window size 122 | #Alt+1 set current-window-scale 1.0 # reset the window size 123 | #Alt+2 set current-window-scale 2.0 # double the window size 124 | #b cycle deband # toggle the debanding filter 125 | #d cycle deinterlace # cycle the deinterlacing filter 126 | #r add sub-pos -1 # move subtitles up 127 | #R add sub-pos +1 # move subtitles down 128 | #t add sub-pos +1 # move subtitles down 129 | #v cycle sub-visibility # hide or show the subtitles 130 | #Alt+v cycle secondary-sub-visibility # hide or show the secondary subtitles 131 | #V cycle sub-ass-vsfilter-aspect-compat # toggle stretching SSA/ASS subtitles with anamorphic videos to match the historical renderer 132 | #u cycle-values sub-ass-override "force" "yes" # toggle overriding SSA/ASS subtitle styles with the normal styles 133 | #j cycle sub # switch subtitle track 134 | #J cycle sub down # switch subtitle track backwards 135 | #SHARP cycle audio # switch audio track 136 | #_ cycle video # switch video track 137 | #T cycle ontop # toggle placing the video on top of other windows 138 | #f cycle fullscreen # toggle fullscreen 139 | #s screenshot # take a screenshot of the video in its original resolution with subtitles 140 | #S screenshot video # take a screenshot of the video in its original resolution without subtitles 141 | #Ctrl+s screenshot window # take a screenshot of the window with OSD and subtitles 142 | #Alt+s screenshot each-frame # automatically screenshot every frame; issue this command again to stop taking screenshots 143 | #w add panscan -0.1 # decrease panscan 144 | #W add panscan +0.1 # shrink black bars by cropping the video 145 | #e add panscan +0.1 # shrink black bars by cropping the video 146 | #A cycle-values video-aspect-override "16:9" "4:3" "2.35:1" "-1" # cycle the video aspect ratio ("-1" is the container aspect) 147 | #POWER quit 148 | #PLAY cycle pause # toggle pause/playback mode 149 | #PAUSE cycle pause # toggle pause/playback mode 150 | #PLAYPAUSE cycle pause # toggle pause/playback mode 151 | #PLAYONLY set pause no # unpause 152 | #PAUSEONLY set pause yes # pause 153 | #STOP quit 154 | #FORWARD seek 60 # seek 1 minute forward 155 | #REWIND seek -60 # seek 1 minute backward 156 | #NEXT playlist-next # skip to the next file 157 | #PREV playlist-prev # skip to the previous file 158 | #VOLUME_UP add volume 2 159 | #VOLUME_DOWN add volume -2 160 | #MUTE cycle mute # toggle mute 161 | #CLOSE_WIN quit 162 | #CLOSE_WIN {encode} quit 4 163 | #ctrl+w quit 164 | #E cycle edition # switch edition 165 | #l ab-loop # set/clear A-B loop points 166 | #L cycle-values loop-file "inf" "no" # toggle infinite looping 167 | #ctrl+c quit 4 168 | #DEL script-binding osc/visibility # cycle OSC visibility between never, auto (mouse-move) and always 169 | #ctrl+h cycle-values hwdec "auto-safe" "no" # toggle hardware decoding 170 | #F8 show-text ${playlist} # show the playlist 171 | #F9 show-text ${track-list} # show the list of video, audio and sub tracks 172 | 173 | # 174 | # Legacy bindings (may or may not be removed in the future) 175 | # 176 | #! add chapter -1 # seek to the previous chapter 177 | #@ add chapter 1 # seek to the next chapter 178 | 179 | # 180 | # Not assigned by default 181 | # (not an exhaustive list of unbound commands) 182 | # 183 | 184 | # ? cycle sub-forced-events-only # display only DVD/PGS forced subtitle events 185 | # ? stop # stop playback (quit or enter idle mode) 186 | -------------------------------------------------------------------------------- /dot-config/nix/nix.conf: -------------------------------------------------------------------------------- 1 | experimental-features = nix-command flakes 2 | substituters = https://cache.nixos.org https://nixarkye03.cachix.org 3 | trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= nixarkye03.cachix.org-1:LfH970Q+ftI3HaWzBeERfpDBqcS+olFQOv6O4tiqM/A= 4 | -------------------------------------------------------------------------------- /dot-config/nushell/env.nu: -------------------------------------------------------------------------------- 1 | # Nushell Environment Config File 2 | # 3 | # version = "0.100.0" 4 | 5 | def create_left_prompt [] { 6 | let dir = match (do { $env.PWD | path relative-to $nu.home-path }) { 7 | null => $env.PWD 8 | '' => '~' 9 | $relative_pwd => ([~ $relative_pwd] | path join) 10 | } 11 | 12 | let path_color = (if (is-admin) { ansi red_bold } else { ansi green_bold }) 13 | let separator_color = (if (is-admin) { ansi light_red_bold } else { ansi light_green_bold }) 14 | let path_segment = $"($path_color)($dir)(ansi reset)" 15 | 16 | $path_segment | str replace --all (char path_sep) $"($separator_color)(char path_sep)($path_color)" 17 | } 18 | 19 | def create_right_prompt [] { 20 | # create a right prompt in magenta with green separators and am/pm underlined 21 | let time_segment = ([ 22 | (ansi reset) 23 | (ansi magenta) 24 | (date now | format date '%x %X') # try to respect user's locale 25 | ] | str join | str replace --regex --all "([/:])" $"(ansi green)${1}(ansi magenta)" | 26 | str replace --regex --all "([AP]M)" $"(ansi magenta_underline)${1}") 27 | 28 | let last_exit_code = if ($env.LAST_EXIT_CODE != 0) {([ 29 | (ansi rb) 30 | ($env.LAST_EXIT_CODE) 31 | ] | str join) 32 | } else { "" } 33 | 34 | ([$last_exit_code, (char space), $time_segment] | str join) 35 | } 36 | 37 | # Use nushell functions to define your right and left prompt 38 | $env.PROMPT_COMMAND = {|| create_left_prompt } 39 | # FIXME: This default is not implemented in rust code as of 2023-09-08. 40 | $env.PROMPT_COMMAND_RIGHT = {|| create_right_prompt } 41 | 42 | # The prompt indicators are environmental variables that represent 43 | # the state of the prompt 44 | $env.PROMPT_INDICATOR = {|| "> " } 45 | $env.PROMPT_INDICATOR_VI_INSERT = {|| ": " } 46 | $env.PROMPT_INDICATOR_VI_NORMAL = {|| "> " } 47 | $env.PROMPT_MULTILINE_INDICATOR = {|| "::: " } 48 | 49 | # If you want previously entered commands to have a different prompt from the usual one, 50 | # you can uncomment one or more of the following lines. 51 | # This can be useful if you have a 2-line prompt and it's taking up a lot of space 52 | # because every command entered takes up 2 lines instead of 1. You can then uncomment 53 | # the line below so that previously entered commands show with a single `🚀`. 54 | # $env.TRANSIENT_PROMPT_COMMAND = {|| "🚀 " } 55 | # $env.TRANSIENT_PROMPT_INDICATOR = {|| "" } 56 | # $env.TRANSIENT_PROMPT_INDICATOR_VI_INSERT = {|| "" } 57 | # $env.TRANSIENT_PROMPT_INDICATOR_VI_NORMAL = {|| "" } 58 | # $env.TRANSIENT_PROMPT_MULTILINE_INDICATOR = {|| "" } 59 | # $env.TRANSIENT_PROMPT_COMMAND_RIGHT = {|| "" } 60 | 61 | # Specifies how environment variables are: 62 | # - converted from a string to a value on Nushell startup (from_string) 63 | # - converted from a value back to a string when running external commands (to_string) 64 | # Note: The conversions happen *after* config.nu is loaded 65 | $env.ENV_CONVERSIONS = { 66 | "PATH": { 67 | from_string: { |s| $s | split row (char esep) | path expand --no-symlink } 68 | to_string: { |v| $v | path expand --no-symlink | str join (char esep) } 69 | } 70 | "Path": { 71 | from_string: { |s| $s | split row (char esep) | path expand --no-symlink } 72 | to_string: { |v| $v | path expand --no-symlink | str join (char esep) } 73 | } 74 | } 75 | 76 | # Directories to search for scripts when calling source or use 77 | # The default for this is $nu.default-config-dir/scripts 78 | $env.NU_LIB_DIRS = [ 79 | ($nu.default-config-dir | path join 'scripts') # add /scripts 80 | ($nu.data-dir | path join 'completions') # default home for nushell completions 81 | ] 82 | 83 | # Directories to search for plugin binaries when calling register 84 | # The default for this is $nu.default-config-dir/plugins 85 | $env.NU_PLUGIN_DIRS = [ 86 | ($nu.default-config-dir | path join 'plugins') # add /plugins 87 | ] 88 | 89 | # To add entries to PATH (on Windows you might use Path), you can use the following pattern: 90 | # $env.PATH = ($env.PATH | split row (char esep) | prepend '/some/path') 91 | # An alternate way to add entries to $env.PATH is to use the custom command `path add` 92 | # which is built into the nushell stdlib: 93 | # use std "path add" 94 | # $env.PATH = ($env.PATH | split row (char esep)) 95 | # path add /some/path 96 | # path add ($env.CARGO_HOME | path join "bin") 97 | # path add ($env.HOME | path join ".local" "bin") 98 | # $env.PATH = ($env.PATH | uniq) 99 | $env.EDITOR = "nvim" 100 | 101 | # To load from a custom file you can use: 102 | # source ($nu.default-config-dir | path join 'custom.nu') 103 | mkdir ~/.cache/starship 104 | starship init nu | save -f ~/.cache/starship/init.nu 105 | 106 | $env.CARAPACE_BRIDGES = 'zsh' 107 | mkdir ~/.cache/carapace 108 | carapace _carapace nushell | save --force ~/.cache/carapace/init.nu 109 | 110 | zoxide init nushell | save -f ~/.zoxide.nu 111 | -------------------------------------------------------------------------------- /dot-config/nushell/fnm.nu: -------------------------------------------------------------------------------- 1 | if not (which fnm | is-empty) { 2 | ^fnm env --json | from json | load-env 3 | let node_path = match $nu.os-info.name { 4 | "windows" => $"($env.FNM_MULTISHELL_PATH)", 5 | _ => $"($env.FNM_MULTISHELL_PATH)/bin", 6 | } 7 | 8 | $env.PATH = ($env.PATH | prepend $node_path) 9 | } 10 | -------------------------------------------------------------------------------- /dot-config/nushell/profile.nu: -------------------------------------------------------------------------------- 1 | # Core 2 | alias snvim = sudo -E nvim 3 | alias ndev = nvim . 4 | 5 | def pushdir [dir: string, cmd: string, args?: string] { 6 | let cur_dir = (pwd) 7 | cd $dir 8 | ^$cmd $args 9 | cd $cur_dir 10 | } 11 | 12 | #Arch Linux Aliases 13 | alias pacsu = yay --noconfirm --sudoloop -Syu 14 | alias pacin = sudo pacman -S --noconfirm 15 | alias yacin = yay -S --noconfirm 16 | alias pacre = sudo pacman -Rns 17 | alias yacre = yay -Rns 18 | 19 | #AstroNvim Aliases 20 | alias avzsh = nvim ~/.dotfiles/.zshrc 21 | alias avprof = nvim ~/.dotfiles/.profile 22 | alias avdots = nvim ~/.dotfiles/ 23 | alias avbsh = nvim ~/.dotfiles/.bashrc 24 | alias avpac = snvim ~/.dotfiles/public/pacman.conf 25 | alias avbsp = nvim ~/.config/bspwm/bspwmrc 26 | alias avsxh = nvim ~/.config/sxhkd/sxhkdrc 27 | alias avnvim = nvim ~/.dotfiles/dot-config/nvim/ 28 | alias avpic = snvim ~/.config/picom/picom.conf 29 | alias avnu = pushdir ~/.config/nushell/ nvim profile.nu 30 | alias avenv = pushdir ~/.config/uwsm/ nvim env 31 | alias avhyp = pushdir ~/.dotfiles/dot-config/hypr/ nvim . 32 | alias avriv = pushdir ~/.dotfiles/dot-config/river/ nvim . 33 | 34 | #NMCLI 35 | alias nmli = nmcli device wifi list 36 | alias nmco = nmcli device wifi connect 37 | 38 | #OTHERS 39 | alias mkex = chmod +x 40 | alias cdar = cd ~/arch_progs/ 41 | alias codedots = code ~/.dotfiles 42 | alias codeags = code ~/.dotfiles/dot-config/ags/ 43 | alias zdots = cd ~/.dotfiles/ 44 | alias zdotsc = cd ~/.dotfiles/dot-config/ 45 | alias ztmp = cd /tmp 46 | alias lsa = ls -a 47 | 48 | # yt-dlp 49 | alias ythd = yt-dlp -f 'bestvideo[height<=720]+bestaudio/best[height<=720]' -o '~/Downloads/Video/%(title)s.%(ext)s' 50 | alias ytfhd = yt-dlp -f 'bestvideo[height<=1080]+bestaudio/best[height<=1080]' -o '~/Downloads/Video/%(title)s.%(ext)s' 51 | alias ytmax = yt-dlp -f 'bestvideo+bestaudio' -o '~/Downloads/Video/%(title)s.%(ext)s' 52 | 53 | # Ripgrep 54 | alias rgfs = rg --fixed-strings -- 55 | 56 | # Git Aliases 57 | 58 | def git_current_branch [] { 59 | git branch --show-current 60 | } 61 | 62 | def gen_commit_msg [] { 63 | loop { 64 | let msg = (lumen draft) 65 | print $"(ansi purple_bold)Commit Message:(ansi reset) ($msg)\n Commit? [y]es/[e]dit/[n]ext/[Q]uit" 66 | let user_input = (input --numchar 1 --default "n") 67 | match $user_input { 68 | "y" | "Y" => { 69 | git commit -m $msg 70 | break 71 | } 72 | "e" | "E" => { 73 | let temp_file = (mktemp -t --suffix ".txt") 74 | $msg | save --force $temp_file 75 | ^$env.EDITOR $temp_file 76 | let edited_msg = (open $temp_file | str trim) 77 | rm -f $temp_file 78 | if ($edited_msg | is-empty) { 79 | print "Empty message, trying again..." 80 | continue 81 | } 82 | git commit -m $edited_msg 83 | break 84 | } 85 | "q" | "Q" => { 86 | break 87 | } 88 | _ => { 89 | continue 90 | } 91 | } 92 | } 93 | } 94 | 95 | # Clone 96 | alias gc = git clone 97 | 98 | # Diff 99 | alias gd = git diff 100 | alias gds = git diff --staged 101 | alias gdc = git diff --cached 102 | 103 | # Status 104 | alias gs = git status 105 | alias gss = git status -s 106 | 107 | # Add 108 | alias ga = git add 109 | alias gaa = git add --all 110 | 111 | # Commit 112 | alias gcm = git commit -m 113 | 114 | # Checkout and Switch 115 | alias gco = git checkout 116 | alias gcb = git checkout -b 117 | alias gsw = git switch 118 | alias gswc = git switch -c 119 | 120 | # Branch 121 | alias gbr = git branch 122 | alias gbd = git branch -d 123 | 124 | # Bisect 125 | alias gbs = git bisect 126 | alias gbss = git bisect start 127 | alias gbc = git bisect continue 128 | alias gbg = git bisect good 129 | alias gbb = git bisect bad 130 | alias gbs = git bisect reset 131 | 132 | # Log 133 | alias glog = git log --oneline --decorate --graph --all 134 | 135 | # Pull 136 | alias gpl = git pull 137 | alias gplr = git pull --rebase 138 | alias gplm = git pull origin main 139 | alias ggpull = git pull origin (git_current_branch) 140 | 141 | # Push 142 | alias gp = git push 143 | alias gpf! = git push --force 144 | alias gpsm = git push origin main 145 | alias ggpush = git push origin (git_current_branch) 146 | 147 | # Fetch 148 | alias gf = git fetch 149 | alias gfa = git fetch --all --prune 150 | 151 | # Restore 152 | alias gr = git restore 153 | alias grs = git restore --staged 154 | 155 | # Merge 156 | alias gm = git merge 157 | # alias gmom = 'git merge origin/$(git_main_branch)' 158 | 159 | # Stash 160 | alias gst = git stash 161 | alias gsta = git stash apply 162 | alias gstd = git stash drop 163 | alias gstl = git stash list 164 | alias gstp = git stash pop 165 | 166 | # Tag 167 | alias gts = git tag -s 168 | alias gtv = git tag | sort -V 169 | 170 | def eclean [] { 171 | bash -c " 172 | pacman -Qdtq | sudo pacman -Rns - 173 | pacman -Qqd | sudo pacman -Rsu - 174 | yay -Scc --noconfirm 175 | sudo paccache -rk0 176 | " 177 | } 178 | 179 | #.Net Aliases 180 | alias dn = dotnet new 181 | alias dr = dotnet run 182 | alias dt = dotnet test 183 | alias dw = dotnet watch 184 | alias dwr = dotnet watch run 185 | alias dwt = dotnet watch test 186 | alias ds = dotnet sln 187 | alias da = dotnet add 188 | alias dp = dotnet pack 189 | alias dng = dotnet nuget 190 | alias db = dotnet build 191 | 192 | # Make Aliases 193 | alias mkr = make run 194 | alias mkp = make prune 195 | alias mkc = make create 196 | 197 | # Rust Aliases 198 | alias cg = cargo 199 | alias cgc = cargo check 200 | alias cgcl = cargo clean 201 | alias cgr = cargo run 202 | alias cgb = cargo build 203 | alias cgbr = cargo build --release 204 | 205 | def gen_c_includes [lib: string] { 206 | let includes = pkg-config --cflags $lib | tr ' ' '\n' | grep '\-I' | sed 's/-I//g' 207 | $includes | wl-copy 208 | print $"(ansi green_bold)Copied Includes:(ansi reset)\n($includes)" 209 | } 210 | 211 | $env.MANPAGER = "sh -c 'sed -u -e \"s/\\x1B[[0-9;]*m//g; s/.\\x08//g\" | bat -p -lman'" 212 | $env.PATH = ($env.PATH | prepend ((go env GOPATH) + /bin)) 213 | $env.BUN_INSTALL = $"($env.HOME)/.bun" 214 | $env.PNPM_HOME = $"($env.HOME)/.local/share/pnpm" 215 | $env.PATH = ($env.PATH | split row (char esep) | prepend $env.PNPM_HOME ) 216 | $env.PATH = ($env.PATH | prepend $"($env.HOME)/.bun/bin") 217 | $env.PATH = ($env.PATH | prepend $"($env.HOME)/.cargo/bin") 218 | $env.PATH = ($env.PATH | prepend $"($env.HOME)/.local/bin") 219 | $env.PATH = ($env.PATH | prepend $"($env.HOME)/.nix-profile/bin") 220 | $env.GPG_TTY = (tty) 221 | -------------------------------------------------------------------------------- /dot-config/nvim/.neoconf.json: -------------------------------------------------------------------------------- 1 | { 2 | "neodev": { 3 | "library": { 4 | "enabled": true, 5 | "plugins": true 6 | } 7 | }, 8 | "neoconf": { 9 | "plugins": { 10 | "lua_ls": { 11 | "enabled": true 12 | } 13 | } 14 | }, 15 | "lspconfig": { 16 | "lua_ls": { 17 | "Lua.format.enable": false 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /dot-config/nvim/.stylua.toml: -------------------------------------------------------------------------------- 1 | column_width = 120 2 | line_endings = "Unix" 3 | indent_type = "Spaces" 4 | indent_width = 2 5 | quote_style = "AutoPreferDouble" 6 | call_parentheses = "None" 7 | collapse_simple_statement = "Always" 8 | -------------------------------------------------------------------------------- /dot-config/nvim/README.md: -------------------------------------------------------------------------------- 1 | # AstroNvim Template 2 | 3 | **NOTE:** This is for AstroNvim v4+ 4 | 5 | A template for getting started with [AstroNvim](https://github.com/AstroNvim/AstroNvim) 6 | 7 | ## 🛠️ Installation 8 | 9 | #### Make a backup of your current nvim and shared folder 10 | 11 | ```shell 12 | mv ~/.config/nvim ~/.config/nvim.bak 13 | mv ~/.local/share/nvim ~/.local/share/nvim.bak 14 | mv ~/.local/state/nvim ~/.local/state/nvim.bak 15 | mv ~/.cache/nvim ~/.cache/nvim.bak 16 | ``` 17 | 18 | #### Create a new user repository from this template 19 | 20 | Press the "Use this template" button above to create a new repository to store your user configuration. 21 | 22 | You can also just clone this repository directly if you do not want to track your user configuration in GitHub. 23 | 24 | #### Clone the repository 25 | 26 | ```shell 27 | git clone https://github.com// ~/.config/nvim 28 | ``` 29 | 30 | #### Start Neovim 31 | 32 | ```shell 33 | nvim 34 | ``` 35 | -------------------------------------------------------------------------------- /dot-config/nvim/init.lua: -------------------------------------------------------------------------------- 1 | -- This file simply bootstraps the installation of Lazy.nvim and then calls other files for execution 2 | -- This file doesn't necessarily need to be touched, BE CAUTIOUS editing this file and proceed at your own risk. 3 | local lazypath = vim.env.LAZY or vim.fn.stdpath "data" .. "/lazy/lazy.nvim" 4 | if not (vim.env.LAZY or (vim.uv or vim.loop).fs_stat(lazypath)) then 5 | -- stylua: ignore 6 | vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath }) 7 | end 8 | vim.opt.rtp:prepend(lazypath) 9 | 10 | -- validate that lazy is available 11 | if not pcall(require, "lazy") then 12 | -- stylua: ignore 13 | vim.api.nvim_echo({ { ("Unable to load lazy from: %s\n"):format(lazypath), "ErrorMsg" }, { "Press any key to exit...", "MoreMsg" } }, true, {}) 14 | vim.fn.getchar() 15 | vim.cmd.quit() 16 | end 17 | 18 | require "lazy_setup" 19 | require "polish" 20 | 21 | -------------------------------------------------------------------------------- /dot-config/nvim/lua/community.lua: -------------------------------------------------------------------------------- 1 | if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE 2 | 3 | -- AstroCommunity: import any community modules here 4 | -- We import this file in `lazy_setup.lua` before the `plugins/` folder. 5 | -- This guarantees that the specs are processed before any user plugins. 6 | 7 | ---@type LazySpec 8 | return { 9 | "AstroNvim/astrocommunity", 10 | { import = "astrocommunity.pack.lua" }, 11 | -- import/override with your plugins folder 12 | } 13 | -------------------------------------------------------------------------------- /dot-config/nvim/lua/lazy_setup.lua: -------------------------------------------------------------------------------- 1 | require("lazy").setup({ 2 | { 3 | "AstroNvim/AstroNvim", 4 | version = "^5", -- Remove version tracking to elect for nightly AstroNvim 5 | import = "astronvim.plugins", 6 | opts = { -- AstroNvim options must be set here with the `import` key 7 | mapleader = " ", -- This ensures the leader key must be configured before Lazy is set up 8 | maplocalleader = ",", -- This ensures the localleader key must be configured before Lazy is set up 9 | icons_enabled = true, -- Set to false to disable icons (if no Nerd Font is available) 10 | pin_plugins = nil, -- Default will pin plugins when tracking `version` of AstroNvim, set to true/false to override 11 | update_notifications = true, -- Enable/disable notification about running `:Lazy update` twice to update pinned plugins 12 | }, 13 | }, 14 | { import = "community" }, 15 | { import = "plugins" }, 16 | } --[[@as LazySpec]], { 17 | -- Configure any other `lazy.nvim` configuration options here 18 | install = { colorscheme = { "astrotheme", "habamax" } }, 19 | ui = { backdrop = 100 }, 20 | performance = { 21 | rtp = { 22 | -- disable some rtp plugins, add more to your liking 23 | disabled_plugins = { 24 | "gzip", 25 | "netrwPlugin", 26 | "tarPlugin", 27 | "tohtml", 28 | "zipPlugin", 29 | }, 30 | }, 31 | }, 32 | } --[[@as LazyConfig]]) 33 | -------------------------------------------------------------------------------- /dot-config/nvim/lua/plugins/astrocore.lua: -------------------------------------------------------------------------------- 1 | if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE 2 | 3 | -- AstroCore provides a central place to modify mappings, vim options, autocommands, and more! 4 | -- Configuration documentation can be found with `:h astrocore` 5 | -- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`) 6 | -- as this provides autocomplete and documentation while editing 7 | 8 | ---@type LazySpec 9 | return { 10 | "AstroNvim/astrocore", 11 | ---@type AstroCoreOpts 12 | opts = { 13 | -- Configure core features of AstroNvim 14 | features = { 15 | large_buf = { size = 1024 * 256, lines = 10000 }, -- set global limits for large files for disabling features like treesitter 16 | autopairs = true, -- enable autopairs at start 17 | cmp = true, -- enable completion at start 18 | diagnostics = { virtual_text = true, virtual_lines = false }, -- diagnostic settings on startup 19 | highlighturl = true, -- highlight URLs at start 20 | notifications = true, -- enable notifications at start 21 | }, 22 | -- Diagnostics configuration (for vim.diagnostics.config({...})) when diagnostics are on 23 | diagnostics = { 24 | virtual_text = true, 25 | underline = true, 26 | }, 27 | -- passed to `vim.filetype.add` 28 | filetypes = { 29 | -- see `:h vim.filetype.add` for usage 30 | extension = { 31 | foo = "fooscript", 32 | }, 33 | filename = { 34 | [".foorc"] = "fooscript", 35 | }, 36 | pattern = { 37 | [".*/etc/foo/.*"] = "fooscript", 38 | }, 39 | }, 40 | -- vim options can be configured here 41 | options = { 42 | opt = { -- vim.opt. 43 | relativenumber = true, -- sets vim.opt.relativenumber 44 | number = true, -- sets vim.opt.number 45 | spell = false, -- sets vim.opt.spell 46 | signcolumn = "yes", -- sets vim.opt.signcolumn to yes 47 | wrap = false, -- sets vim.opt.wrap 48 | }, 49 | g = { -- vim.g. 50 | -- configure global vim variables (vim.g) 51 | -- NOTE: `mapleader` and `maplocalleader` must be set in the AstroNvim opts or before `lazy.setup` 52 | -- This can be found in the `lua/lazy_setup.lua` file 53 | }, 54 | }, 55 | -- Mappings can be configured through AstroCore as well. 56 | -- NOTE: keycodes follow the casing in the vimdocs. For example, `` must be capitalized 57 | mappings = { 58 | -- first key is the mode 59 | n = { 60 | -- second key is the lefthand side of the map 61 | 62 | -- navigate buffer tabs 63 | ["]b"] = { function() require("astrocore.buffer").nav(vim.v.count1) end, desc = "Next buffer" }, 64 | ["[b"] = { function() require("astrocore.buffer").nav(-vim.v.count1) end, desc = "Previous buffer" }, 65 | 66 | -- mappings seen under group name "Buffer" 67 | ["bd"] = { 68 | function() 69 | require("astroui.status.heirline").buffer_picker( 70 | function(bufnr) require("astrocore.buffer").close(bufnr) end 71 | ) 72 | end, 73 | desc = "Close buffer from tabline", 74 | }, 75 | 76 | -- tables with just a `desc` key will be registered with which-key if it's installed 77 | -- this is useful for naming menus 78 | -- ["b"] = { desc = "Buffers" }, 79 | 80 | -- setting a mapping to false will disable it 81 | -- [""] = false, 82 | }, 83 | }, 84 | }, 85 | } 86 | -------------------------------------------------------------------------------- /dot-config/nvim/lua/plugins/astrolsp.lua: -------------------------------------------------------------------------------- 1 | if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE 2 | 3 | -- AstroLSP allows you to customize the features in AstroNvim's LSP configuration engine 4 | -- Configuration documentation can be found with `:h astrolsp` 5 | -- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`) 6 | -- as this provides autocomplete and documentation while editing 7 | 8 | ---@type LazySpec 9 | return { 10 | "AstroNvim/astrolsp", 11 | ---@type AstroLSPOpts 12 | opts = { 13 | -- Configuration table of features provided by AstroLSP 14 | features = { 15 | codelens = true, -- enable/disable codelens refresh on start 16 | inlay_hints = false, -- enable/disable inlay hints on start 17 | semantic_tokens = true, -- enable/disable semantic token highlighting 18 | }, 19 | -- customize lsp formatting options 20 | formatting = { 21 | -- control auto formatting on save 22 | format_on_save = { 23 | enabled = true, -- enable or disable format on save globally 24 | allow_filetypes = { -- enable format on save for specified filetypes only 25 | -- "go", 26 | }, 27 | ignore_filetypes = { -- disable format on save for specified filetypes 28 | -- "python", 29 | }, 30 | }, 31 | disabled = { -- disable formatting capabilities for the listed language servers 32 | -- disable lua_ls formatting capability if you want to use StyLua to format your lua code 33 | -- "lua_ls", 34 | }, 35 | timeout_ms = 1000, -- default format timeout 36 | -- filter = function(client) -- fully override the default formatting function 37 | -- return true 38 | -- end 39 | }, 40 | -- enable servers that you already have installed without mason 41 | servers = { 42 | -- "pyright" 43 | }, 44 | -- customize language server configuration options passed to `lspconfig` 45 | ---@diagnostic disable: missing-fields 46 | config = { 47 | -- clangd = { capabilities = { offsetEncoding = "utf-8" } }, 48 | }, 49 | -- customize how language servers are attached 50 | handlers = { 51 | -- a function without a key is simply the default handler, functions take two parameters, the server name and the configured options table for that server 52 | -- function(server, opts) require("lspconfig")[server].setup(opts) end 53 | 54 | -- the key is the server that is being setup with `lspconfig` 55 | -- rust_analyzer = false, -- setting a handler to false will disable the set up of that language server 56 | -- pyright = function(_, opts) require("lspconfig").pyright.setup(opts) end -- or a custom handler function can be passed 57 | }, 58 | -- Configure buffer local auto commands to add when attaching a language server 59 | autocmds = { 60 | -- first key is the `augroup` to add the auto commands to (:h augroup) 61 | lsp_codelens_refresh = { 62 | -- Optional condition to create/delete auto command group 63 | -- can either be a string of a client capability or a function of `fun(client, bufnr): boolean` 64 | -- condition will be resolved for each client on each execution and if it ever fails for all clients, 65 | -- the auto commands will be deleted for that buffer 66 | cond = "textDocument/codeLens", 67 | -- cond = function(client, bufnr) return client.name == "lua_ls" end, 68 | -- list of auto commands to set 69 | { 70 | -- events to trigger 71 | event = { "InsertLeave", "BufEnter" }, 72 | -- the rest of the autocmd options (:h nvim_create_autocmd) 73 | desc = "Refresh codelens (buffer)", 74 | callback = function(args) 75 | if require("astrolsp").config.features.codelens then vim.lsp.codelens.refresh { bufnr = args.buf } end 76 | end, 77 | }, 78 | }, 79 | }, 80 | -- mappings to be set up on attaching of a language server 81 | mappings = { 82 | n = { 83 | -- a `cond` key can provided as the string of a server capability to be required to attach, or a function with `client` and `bufnr` parameters from the `on_attach` that returns a boolean 84 | gD = { 85 | function() vim.lsp.buf.declaration() end, 86 | desc = "Declaration of current symbol", 87 | cond = "textDocument/declaration", 88 | }, 89 | ["uY"] = { 90 | function() require("astrolsp.toggles").buffer_semantic_tokens() end, 91 | desc = "Toggle LSP semantic highlight (buffer)", 92 | cond = function(client) 93 | return client.supports_method "textDocument/semanticTokens/full" and vim.lsp.semantic_tokens ~= nil 94 | end, 95 | }, 96 | }, 97 | }, 98 | -- A custom `on_attach` function to be run after the default `on_attach` function 99 | -- takes two parameters `client` and `bufnr` (`:h lspconfig-setup`) 100 | on_attach = function(client, bufnr) 101 | -- this would disable semanticTokensProvider for all clients 102 | -- client.server_capabilities.semanticTokensProvider = nil 103 | end, 104 | }, 105 | } 106 | -------------------------------------------------------------------------------- /dot-config/nvim/lua/plugins/astroui.lua: -------------------------------------------------------------------------------- 1 | if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE 2 | 3 | -- AstroUI provides the basis for configuring the AstroNvim User Interface 4 | -- Configuration documentation can be found with `:h astroui` 5 | -- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`) 6 | -- as this provides autocomplete and documentation while editing 7 | 8 | ---@type LazySpec 9 | return { 10 | "AstroNvim/astroui", 11 | ---@type AstroUIOpts 12 | opts = { 13 | -- change colorscheme 14 | colorscheme = "astrodark", 15 | -- AstroUI allows you to easily modify highlight groups easily for any and all colorschemes 16 | highlights = { 17 | init = { -- this table overrides highlights in all themes 18 | -- Normal = { bg = "#000000" }, 19 | }, 20 | astrodark = { -- a table of overrides/changes when applying the astrotheme theme 21 | -- Normal = { bg = "#000000" }, 22 | }, 23 | }, 24 | -- Icons can be configured throughout the interface 25 | icons = { 26 | -- configure the loading of the lsp in the status line 27 | LSPLoading1 = "⠋", 28 | LSPLoading2 = "⠙", 29 | LSPLoading3 = "⠹", 30 | LSPLoading4 = "⠸", 31 | LSPLoading5 = "⠼", 32 | LSPLoading6 = "⠴", 33 | LSPLoading7 = "⠦", 34 | LSPLoading8 = "⠧", 35 | LSPLoading9 = "⠇", 36 | LSPLoading10 = "⠏", 37 | }, 38 | }, 39 | } 40 | -------------------------------------------------------------------------------- /dot-config/nvim/lua/plugins/mason.lua: -------------------------------------------------------------------------------- 1 | if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE 2 | 3 | -- Customize Mason 4 | 5 | ---@type LazySpec 6 | return { 7 | -- use mason-tool-installer for automatically installing Mason packages 8 | { 9 | "WhoIsSethDaniel/mason-tool-installer.nvim", 10 | -- overrides `require("mason-tool-installer").setup(...)` 11 | opts = { 12 | -- Make sure to use the names found in `:Mason` 13 | ensure_installed = { 14 | -- install language servers 15 | "lua-language-server", 16 | 17 | -- install formatters 18 | "stylua", 19 | 20 | -- install debuggers 21 | "debugpy", 22 | 23 | -- install any other package 24 | "tree-sitter-cli", 25 | }, 26 | }, 27 | }, 28 | } 29 | -------------------------------------------------------------------------------- /dot-config/nvim/lua/plugins/none-ls.lua: -------------------------------------------------------------------------------- 1 | if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE 2 | 3 | -- Customize None-ls sources 4 | 5 | ---@type LazySpec 6 | return { 7 | "nvimtools/none-ls.nvim", 8 | opts = function(_, opts) 9 | -- opts variable is the default configuration table for the setup function call 10 | -- local null_ls = require "null-ls" 11 | 12 | -- Check supported formatters and linters 13 | -- https://github.com/nvimtools/none-ls.nvim/tree/main/lua/null-ls/builtins/formatting 14 | -- https://github.com/nvimtools/none-ls.nvim/tree/main/lua/null-ls/builtins/diagnostics 15 | 16 | -- Only insert new sources, do not replace the existing ones 17 | -- (If you wish to replace, use `opts.sources = {}` instead of the `list_insert_unique` function) 18 | opts.sources = require("astrocore").list_insert_unique(opts.sources, { 19 | -- Set a formatter 20 | -- null_ls.builtins.formatting.stylua, 21 | -- null_ls.builtins.formatting.prettier, 22 | }) 23 | end, 24 | } 25 | -------------------------------------------------------------------------------- /dot-config/nvim/lua/plugins/supermaven.lua: -------------------------------------------------------------------------------- 1 | -- if true then return {} end 2 | return { 3 | { 4 | "supermaven-inc/supermaven-nvim", 5 | config = function() 6 | require("supermaven-nvim").setup { 7 | keymaps = { 8 | accept_suggestion = "", 9 | clear_suggestion = "", 10 | accept_word = "", 11 | }, 12 | ignore_filetypes = { cpp = true }, 13 | color = { 14 | suggestion_color = "#788487", 15 | cterm = 244, 16 | }, 17 | disable_inline_completion = false, -- disables inline completion for use with cmp 18 | disable_keymaps = false, -- disables built in keymaps for more manual control 19 | } 20 | end, 21 | }, 22 | } 23 | -------------------------------------------------------------------------------- /dot-config/nvim/lua/plugins/treesitter.lua: -------------------------------------------------------------------------------- 1 | if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE 2 | 3 | -- Customize Treesitter 4 | 5 | ---@type LazySpec 6 | return { 7 | "nvim-treesitter/nvim-treesitter", 8 | opts = { 9 | ensure_installed = { 10 | "lua", 11 | "vim", 12 | -- add more arguments for adding more treesitter parsers 13 | }, 14 | }, 15 | } 16 | -------------------------------------------------------------------------------- /dot-config/nvim/lua/plugins/user.lua: -------------------------------------------------------------------------------- 1 | if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE 2 | 3 | -- You can also add or configure plugins by creating files in this `plugins/` folder 4 | -- PLEASE REMOVE THE EXAMPLES YOU HAVE NO INTEREST IN BEFORE ENABLING THIS FILE 5 | -- Here are some examples: 6 | 7 | ---@type LazySpec 8 | return { 9 | 10 | -- == Examples of Adding Plugins == 11 | 12 | "andweeb/presence.nvim", 13 | { 14 | "ray-x/lsp_signature.nvim", 15 | event = "BufRead", 16 | config = function() require("lsp_signature").setup() end, 17 | }, 18 | 19 | -- == Examples of Overriding Plugins == 20 | 21 | -- customize dashboard options 22 | { 23 | "folke/snacks.nvim", 24 | opts = { 25 | dashboard = { 26 | preset = { 27 | header = table.concat({ 28 | " █████ ███████ ████████ ██████ ██████ ", 29 | "██ ██ ██ ██ ██ ██ ██ ██", 30 | "███████ ███████ ██ ██████ ██ ██", 31 | "██ ██ ██ ██ ██ ██ ██ ██", 32 | "██ ██ ███████ ██ ██ ██ ██████ ", 33 | "", 34 | "███  ██ ██  ██ ██ ███  ███", 35 | "████  ██ ██  ██ ██ ████  ████", 36 | "██ ██  ██ ██  ██ ██ ██ ████ ██", 37 | "██  ██ ██  ██  ██  ██ ██  ██  ██", 38 | "██   ████   ████   ██ ██      ██", 39 | }, "\n"), 40 | }, 41 | }, 42 | }, 43 | }, 44 | 45 | -- You can disable default plugins as follows: 46 | { "max397574/better-escape.nvim", enabled = false }, 47 | 48 | -- You can also easily customize additional setup of plugins that is outside of the plugin's setup call 49 | { 50 | "L3MON4D3/LuaSnip", 51 | config = function(plugin, opts) 52 | require "astronvim.plugins.configs.luasnip"(plugin, opts) -- include the default astronvim config that calls the setup call 53 | -- add more custom luasnip configuration such as filetype extend or custom snippets 54 | local luasnip = require "luasnip" 55 | luasnip.filetype_extend("javascript", { "javascriptreact" }) 56 | end, 57 | }, 58 | 59 | { 60 | "windwp/nvim-autopairs", 61 | config = function(plugin, opts) 62 | require "astronvim.plugins.configs.nvim-autopairs"(plugin, opts) -- include the default astronvim config that calls the setup call 63 | -- add more custom autopairs configuration such as custom rules 64 | local npairs = require "nvim-autopairs" 65 | local Rule = require "nvim-autopairs.rule" 66 | local cond = require "nvim-autopairs.conds" 67 | npairs.add_rules( 68 | { 69 | Rule("$", "$", { "tex", "latex" }) 70 | -- don't add a pair if the next character is % 71 | :with_pair(cond.not_after_regex "%%") 72 | -- don't add a pair if the previous character is xxx 73 | :with_pair( 74 | cond.not_before_regex("xxx", 3) 75 | ) 76 | -- don't move right when repeat character 77 | :with_move(cond.none()) 78 | -- don't delete if the next character is xx 79 | :with_del(cond.not_after_regex "xx") 80 | -- disable adding a newline when you press 81 | :with_cr(cond.none()), 82 | }, 83 | -- disable for .vim files, but it work for another filetypes 84 | Rule("a", "a", "-vim") 85 | ) 86 | end, 87 | }, 88 | } 89 | -------------------------------------------------------------------------------- /dot-config/nvim/lua/polish.lua: -------------------------------------------------------------------------------- 1 | if true then return end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE 2 | 3 | -- This will run last in the setup process. 4 | -- This is just pure lua so anything that doesn't 5 | -- fit in the normal config locations above can go here 6 | -------------------------------------------------------------------------------- /dot-config/nvim/neovim.yml: -------------------------------------------------------------------------------- 1 | --- 2 | base: lua51 3 | 4 | globals: 5 | vim: 6 | any: true 7 | -------------------------------------------------------------------------------- /dot-config/nvim/selene.toml: -------------------------------------------------------------------------------- 1 | std = "neovim" 2 | 3 | [rules] 4 | global_usage = "allow" 5 | if_same_then_else = "allow" 6 | incorrect_standard_library_use = "allow" 7 | mixed_table = "allow" 8 | multiple_statements = "allow" 9 | -------------------------------------------------------------------------------- /dot-config/qt5ct/qt5ct.conf: -------------------------------------------------------------------------------- 1 | [Appearance] 2 | color_scheme_path=/usr/share/qt5ct/colors/darker.conf 3 | custom_palette=true 4 | standard_dialogs=default 5 | style=Windows 6 | 7 | [Fonts] 8 | fixed="Noto Sans,12,-1,5,50,0,0,0,0,0" 9 | general="Noto Sans,12,-1,5,50,0,0,0,0,0" 10 | 11 | [Interface] 12 | activate_item_on_single_click=1 13 | buttonbox_layout=0 14 | cursor_flash_time=1000 15 | dialog_buttons_have_icons=1 16 | double_click_interval=400 17 | gui_effects=@Invalid() 18 | keyboard_scheme=2 19 | menus_have_icons=true 20 | show_shortcuts_in_context_menus=true 21 | stylesheets=@Invalid() 22 | toolbutton_style=4 23 | underline_shortcut=1 24 | wheel_scroll_lines=3 25 | 26 | [SettingsWindow] 27 | geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\aq\0\0\x3\xfb\0\0\0\0\0\0\0\0\0\0\a\x7f\0\0\x4\x37\0\0\0\0\x2\0\0\0\a\x80\0\0\0\0\0\0\0\0\0\0\aq\0\0\x3\xfb) 28 | 29 | [Troubleshooting] 30 | force_raster_widgets=1 31 | ignored_applications=@Invalid() 32 | -------------------------------------------------------------------------------- /dot-config/qt6ct/qt6ct.conf: -------------------------------------------------------------------------------- 1 | [Appearance] 2 | color_scheme_path=/usr/share/qt6ct/colors/airy.conf 3 | custom_palette=true 4 | standard_dialogs=default 5 | style=kvantum-dark 6 | 7 | [Fonts] 8 | fixed="Sans Serif,9,-1,5,400,0,0,0,0,0,0,0,0,0,0,1" 9 | general="Sans Serif,9,-1,5,400,0,0,0,0,0,0,0,0,0,0,1" 10 | 11 | [Interface] 12 | activate_item_on_single_click=1 13 | buttonbox_layout=0 14 | cursor_flash_time=1000 15 | dialog_buttons_have_icons=1 16 | double_click_interval=400 17 | gui_effects=@Invalid() 18 | keyboard_scheme=2 19 | menus_have_icons=true 20 | show_shortcuts_in_context_menus=true 21 | stylesheets=@Invalid() 22 | toolbutton_style=4 23 | underline_shortcut=1 24 | wheel_scroll_lines=3 25 | 26 | [SettingsWindow] 27 | geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\x4\x11\0\0\x3\xfb\0\0\0\0\0\0\0\0\0\0\a\x7f\0\0\x4\t\0\0\0\0\x2\0\0\0\a\x80\0\0\0\0\0\0\0\0\0\0\x4\x11\0\0\x3\xfb) 28 | 29 | [Troubleshooting] 30 | force_raster_widgets=1 31 | ignored_applications=@Invalid() 32 | -------------------------------------------------------------------------------- /dot-config/river/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Lua sources 2 | luac.out 3 | 4 | # luarocks build files 5 | *.src.rock 6 | *.zip 7 | *.tar.gz 8 | 9 | # Object files 10 | *.o 11 | *.os 12 | *.ko 13 | *.obj 14 | *.elf 15 | 16 | # Precompiled Headers 17 | *.gch 18 | *.pch 19 | 20 | # Libraries 21 | *.lib 22 | *.a 23 | *.la 24 | *.lo 25 | *.def 26 | *.exp 27 | 28 | # Shared objects (inc. Windows DLLs) 29 | *.dll 30 | *.so 31 | *.so.* 32 | *.dylib 33 | 34 | # Executables 35 | *.exe 36 | *.out 37 | *.app 38 | *.i*86 39 | *.x86_64 40 | *.hex 41 | 42 | test/ 43 | -------------------------------------------------------------------------------- /dot-config/river/autostart: -------------------------------------------------------------------------------- 1 | #!/bin/env bash 2 | 3 | commands=( 4 | "$HOME/.dotfiles/scripts/wbg" 5 | "/usr/bin/dbus-update-activation-environment --all" 6 | "/usr/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh" 7 | "/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1" 8 | ) 9 | 10 | # Iterate over the commands and start them 11 | for cmd in "${commands[@]}"; do 12 | $cmd & 13 | done 14 | -------------------------------------------------------------------------------- /dot-config/river/init: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | bash "$HOME/.config/river/autostart" 4 | 5 | riverctl focus-follows-cursor normal 6 | 7 | riverctl map normal Super Tab focus-previous-tags 8 | 9 | riverctl map normal Super Return spawn "/usr/bin/uwsm app -- alacritty" 10 | riverctl map normal Super+Shift Return spawn "/usr/bin/uwsm app -- kitty" 11 | 12 | riverctl map normal Super D spawn '/usr/bin/morghulctl -t Runner' 13 | riverctl map normal Super R spawn '/usr/bin/morghulctl -q; /usr/bin/uwsm app -- morghulis' 14 | riverctl map normal Super I spawn '/usr/bin/morghulctl -i' 15 | riverctl map normal Super+Shift R spawn "$HOME/.config/river/init" 16 | riverctl map normal Super C close 17 | 18 | # Browser 19 | riverctl map normal Super W spawn '/usr/bin/uwsm app -- brave --enable-features=UseOzonePlatform --ozone-platform=wayland --use-gl=desktop' 20 | 21 | # Utils 22 | riverctl map normal Super M spawn "/usr/bin/uwsm app -- alacritty --class floatcritty -e /usr/bin/ncmpcpp -c $HOME/.ncmpcpp/config" 23 | riverctl map normal Super E spawn "/usr/bin/uwsm app -- nautilus" 24 | riverctl map normal Super+Shift L spawn "/usr/bin/uwsm app -- gtklock" 25 | 26 | # Screenshots 27 | riverctl map normal None Print spawn "$HOME/.dotfiles/scripts/screenshots region" 28 | riverctl map normal Super Print spawn "$HOME/.dotfiles/scripts/screenshots full" 29 | riverctl map normal Super Q spawn "$HOME/.dotfiles/scripts/screenshots aspect" 30 | 31 | # Wallpapers WBG 32 | riverctl map normal Super U spawn "$HOME/.dotfiles/scripts/wbg" 33 | riverctl map normal Super P spawn '/usr/bin/uwsm app -- hyprpicker -a' 34 | 35 | # Super+Shift+E to exit river (uwsm) 36 | riverctl map normal Super+Shift E '/usr/bin/uwsm stop' 37 | 38 | # Super+J and Super+K to focus the next/previous view in the layout stack 39 | riverctl map normal Super Up focus-view next 40 | riverctl map normal Super Down focus-view previous 41 | 42 | # Super+Shift+J and Super+Shift+K to swap the focused view with the next/previous 43 | # view in the layout stack 44 | riverctl map normal Super+Shift J swap next 45 | riverctl map normal Super+Shift K swap previous 46 | 47 | # Super+Period and Super+Comma to focus the next/previous output 48 | riverctl map normal Super Period focus-output next 49 | riverctl map normal Super Comma focus-output previous 50 | 51 | # Super+Shift+{Period,Comma} to send the focused view to the next/previous output 52 | riverctl map normal Super+Shift Period send-to-output next 53 | riverctl map normal Super+Shift Comma send-to-output previous 54 | 55 | # Super+Return to bump the focused view to the top of the layout stack 56 | riverctl map normal Super+Shift P zoom 57 | 58 | # Super+H and Super+L to decrease/increase the main ratio of rivertile(1) 59 | riverctl map normal Super H send-layout-cmd rivertile "main-ratio -0.05" 60 | riverctl map normal Super L send-layout-cmd rivertile "main-ratio +0.05" 61 | 62 | # Super+Shift+H and Super+Shift+L to increment/decrement the main count of rivertile(1) 63 | riverctl map normal Super+Shift H send-layout-cmd rivertile "main-count +1" 64 | riverctl map normal Super+Shift L send-layout-cmd rivertile "main-count -1" 65 | 66 | # Super+Alt+{Left,Down,Up,Right} to move views 67 | riverctl map normal Super+Shift+Alt Left move left 100 68 | riverctl map normal Super+Shift+Alt Down move down 100 69 | riverctl map normal Super+Shift+Alt Up move up 100 70 | riverctl map normal Super+Shift+Alt Right move right 100 71 | 72 | # Super+Alt+Control+{H,J,K,L} to snap views to screen edges 73 | riverctl map normal Super+Alt+Control Left snap left 74 | riverctl map normal Super+Alt+Control Down snap down 75 | riverctl map normal Super+Alt+Control Up snap up 76 | riverctl map normal Super+Alt+Control Right snap right 77 | 78 | # Super+Alt+Shift+{H,J,K,L} to resize views 79 | riverctl map normal Super+Shift Left resize horizontal -100 80 | riverctl map normal Super+Shift Down resize vertical 100 81 | riverctl map normal Super+Shift Up resize vertical -100 82 | riverctl map normal Super+Shift Right resize horizontal 100 83 | 84 | # Super + Left Mouse Button to move views 85 | riverctl map-pointer normal Super BTN_LEFT move-view 86 | 87 | # Super + Right Mouse Button to resize views 88 | riverctl map-pointer normal Super BTN_RIGHT resize-view 89 | 90 | # Super + Middle Mouse Button to toggle float 91 | riverctl map-pointer normal Super BTN_MIDDLE toggle-float 92 | 93 | ssds=( 94 | 'org.gnome.Loupe' 95 | 'Alacritty' 96 | 'dev.zed.Zed' 97 | '[Tt]hunar' 98 | 'uget-gtk' 99 | 'io.github.celluloid_player.Celluloid' 100 | 'nwg-look' 101 | 'dev.warp.Warp' 102 | 'org.gnome.Nautilus' 103 | 'qalculate-gtk' 104 | 'thunderbird' 105 | ) 106 | 107 | for it in "${ssds[@]}"; do 108 | riverctl rule-add -app-id "$it" ssd 109 | done 110 | 111 | riverctl rule-add -app-id 'brave-browser' tags 2 112 | riverctl rule-add -app-id 'Brave-browser' tags 2 113 | 114 | riverctl rule-add -app-id 'code*' tags 4 115 | riverctl rule-add -app-id 'dev.zed.Zed' tags 4 116 | 117 | riverctl rule-add -app-id '[Tt]hunar' tags 8 118 | riverctl rule-add -app-id 'org.gnome.Nautilus' tags 8 119 | 120 | riverctl rule-add -app-id 'libreoffice-*' tags 16 121 | riverctl rule-add -app-id 'thunderbird' tags 16 122 | 123 | riverctl rule-add -app-id 'org.telegram.desktop' tags 32 124 | riverctl rule-add -app-id 'discord' tags 32 125 | riverctl rule-add -title 'WhatsApp Web' tags 32 126 | 127 | riverctl rule-add -app-id 'io.github.celluloid_player.Celluloid' tags 64 128 | riverctl rule-add -app-id 'vlc' tags 64 129 | riverctl rule-add -app-id 'spotube' tags 64 130 | riverctl rule-add -app-id 'brave-*' -title 'SoundCloud*' tags 64 131 | riverctl rule-add -app-id 'Brave-browser' -title 'SoundCloud*' tags 64 132 | 133 | riverctl rule-add -app-id '*get-gtk' tags 128 134 | 135 | riverctl rule-add -app-id 'faugus-*' tags 256 136 | riverctl rule-add -app-id '*steam*' tags 256 137 | 138 | for i in $(seq 1 9); do 139 | tags=$((1 << (i - 1))) 140 | 141 | # Super+[1-9] to focus tag [0-8] 142 | riverctl map normal Super "$i" set-focused-tags $tags 143 | 144 | # Super+Shift+[1-9] to tag focused view with tag [0-8] 145 | riverctl map normal Super+Shift "$i" set-view-tags $tags 146 | 147 | # Super+Control+[1-9] to toggle focus of tag [0-8] 148 | riverctl map normal Super+Control "$i" toggle-focused-tags $tags 149 | 150 | # Super+Shift+Control+[1-9] to toggle tag [0-8] of focused view 151 | riverctl map normal Super+Shift+Control "$i" toggle-view-tags $tags 152 | done 153 | 154 | riverctl map normal Super+Control Right spawn 'river-shifttags --occupied' 155 | riverctl map normal Super+Control Left spawn 'river-shifttags --occupied --shifts -1' 156 | 157 | # Super+0 to focus all tags 158 | # Super+Shift+0 to tag focused view with all tags 159 | all_tags=$(((1 << 32) - 1)) 160 | riverctl map normal Super 0 set-focused-tags $all_tags 161 | riverctl map normal Super+Shift 0 set-view-tags $all_tags 162 | 163 | # Super+Space to toggle float 164 | riverctl map normal Super Space toggle-float 165 | 166 | # Super+F to toggle fullscreen 167 | riverctl map normal Super F toggle-fullscreen 168 | 169 | # Super+{Up,Right,Down,Left} to change layout orientation 170 | # riverctl map normal Super Up send-layout-cmd rivertile "main-location top" 171 | riverctl map normal Super Right send-layout-cmd rivertile "main-location right" 172 | # riverctl map normal Super Down send-layout-cmd rivertile "main-location bottom" 173 | riverctl map normal Super Left send-layout-cmd rivertile "main-location left" 174 | 175 | # Declare a passthrough mode. This mode has only a single mapping to return to 176 | # normal mode. This makes it useful for testing a nested wayland compositor 177 | riverctl declare-mode passthrough 178 | 179 | # Super+F11 to enter passthrough mode 180 | riverctl map normal Super F11 enter-mode passthrough 181 | 182 | # Super+F11 to return to normal mode 183 | riverctl map passthrough Super F11 enter-mode normal 184 | 185 | # Various media key mapping examples for both normal and locked mode which do 186 | # not have a modifier 187 | for mode in normal locked; do 188 | # Eject the optical drive (well if you still have one that is) 189 | riverctl map $mode None XF86Eject spawn 'eject -T' 190 | riverctl map -repeat $mode None XF86AudioRaiseVolume spawn "/usr/bin/wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+ & morghulctl -r change_volume" 191 | riverctl map -repeat $mode None XF86AudioLowerVolume spawn "/usr/bin/wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- & morghulctl -r change_volume" 192 | riverctl map $mode None XF86AudioMute spawn "/usr/bin/wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" 193 | 194 | riverctl map $mode None XF86AudioMedia spawn "playerctl play-pause" 195 | riverctl map $mode None XF86AudioPlay spawn "playerctl play-pause" 196 | riverctl map $mode None XF86AudioPrev spawn "playerctl previous" 197 | riverctl map $mode None XF86AudioNext spawn "playerctl next" 198 | done 199 | 200 | # Set background and border color 201 | riverctl background-color 0x181825 202 | riverctl border-color-focused 0x8aadf4 203 | riverctl border-color-unfocused 0x586e75 204 | 205 | # Set keyboard repeat rate 206 | riverctl set-repeat 50 300 207 | 208 | riverctl rule-add -title 'Picture in picture' float 209 | riverctl rule-add -title 'Picture in picture' position 1280 680 210 | # Closest to PIN that I can find 211 | riverctl rule-add -title 'Picture in picture' tags "$all_tags" 212 | 213 | # Setup Xe Laptop 214 | if [ "$XE_DESKTOP" == 1 ]; then 215 | riverctl map -repeat normal None XF86MonBrightnessUp spawn 'brightnessctl set +10% & morghulctl -r change_brightness' 216 | riverctl map -repeat normal None XF86MonBrightnessDown spawn 'brightnessctl set 10%- & morghulctl -r change_brightness' 217 | 218 | touchpad='pointer-1739-52694-DELL0A25:00_06CB:CDD6_Touchpad' 219 | riverctl input $touchpad natural-scroll enabled 220 | riverctl input $touchpad tap enabled 221 | fi 222 | 223 | riverctl xcursor-theme Bibata-Modern-Classic 20 224 | 225 | # Set the default layout generator to be rivertile and start it. 226 | # River will send the process group of the init executable SIGTERM on exit. 227 | riverctl default-layout rivertile 228 | systemd-run --user --unit "rivertile.service" --description "Rivertile service" rivertile -view-padding 4 -outer-padding 2 229 | -------------------------------------------------------------------------------- /dot-config/starship.toml: -------------------------------------------------------------------------------- 1 | "$schema" = 'https://starship.rs/config-schema.json' 2 | 3 | format = """ 4 | $username\ 5 | $hostname\ 6 | $directory\ 7 | $git_branch\ 8 | $git_state\ 9 | $git_status\ 10 | $cmd_duration\ 11 | $fill\ 12 | $nix_shell\ 13 | $line_break\ 14 | $character\ 15 | """ 16 | 17 | [directory] 18 | style = "blue" 19 | format = '[$path]($style) [$read_only]($read_only_style) ' 20 | truncation_length = 5 21 | truncate_to_repo = false 22 | 23 | [character] 24 | success_symbol = "[❯](purple)" 25 | error_symbol = "[❯](red)" 26 | vimcmd_symbol = "[❮](green)" 27 | 28 | [git_branch] 29 | format = "[$branch]($style)" 30 | style = "bright-black" 31 | 32 | [git_status] 33 | format = "[[(*$conflicted$untracked$modified$staged$renamed$deleted)](218) ($ahead_behind$stashed)]($style)" 34 | style = "cyan" 35 | conflicted = "​" 36 | untracked = "​" 37 | modified = "​" 38 | staged = "​" 39 | renamed = "​" 40 | deleted = "​" 41 | stashed = "≡" 42 | 43 | [git_state] 44 | format = '\([$state( $progress_current/$progress_total)]($style)\) ' 45 | style = "bright-black" 46 | 47 | [cmd_duration] 48 | format = "[$duration]($style) " 49 | style = "yellow" 50 | 51 | [nix_shell] 52 | format = '[$symbol$state]($style)' 53 | 54 | [fill] 55 | symbol = ' ' 56 | -------------------------------------------------------------------------------- /dot-config/systemd/user/battery-notifier.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=A simple daemon that sends a notification at certain battery percentages. 3 | 4 | [Service] 5 | ExecStart=/usr/bin/battery-notifier --battery=BAT0 --high=20 6 | Restart=on-failure 7 | 8 | [Install] 9 | WantedBy=default.target 10 | -------------------------------------------------------------------------------- /dot-config/systemd/user/fluidmidi.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=FluidSynth: Some games use this 3 | Requires=mpd.service 4 | After=mpd.service 5 | 6 | [Service] 7 | ExecStart=/usr/bin/fluidsynth -l -s -i -a pipewire -o audio.alsa.device=default /usr/share/soundfonts/FluidR3_GM.sf2 8 | Restart=on-failure 9 | 10 | [Install] 11 | WantedBy=default.target 12 | -------------------------------------------------------------------------------- /dot-config/systemd/user/mpd-mpris.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=mpd-mpris: An implementation of the MPRIS protocol for MPD 3 | Requires=mpd.service 4 | After=mpd.service 5 | 6 | [Service] 7 | ExecStart=/usr/bin/mpd-mpris -no-instance --host 127.0.0.1 8 | Restart=on-failure 9 | 10 | [Install] 11 | WantedBy=default.target 12 | -------------------------------------------------------------------------------- /dot-config/uwsm/env: -------------------------------------------------------------------------------- 1 | # Nvidia Specifications 2 | export LIBVA_DRIVER_NAME=nvidia 3 | export GBM_BACKEND=nvidia-drm 4 | export __GLX_VENDOR_LIBRARY_NAME=nvidia 5 | 6 | export NVD_BACKEND=direct 7 | export WLR_RENDERER_ALLOW_SOFTWARE=1 8 | 9 | # Toolkit Backend Variables 10 | export GDK_BACKEND="wayland,x11,*" 11 | export SDL_VIDEODRIVER=wayland 12 | export CLUTTER_BACKEND=wayland 13 | 14 | # QT Specifications 15 | export QT_AUTO_SCREEN_SCALE_FACTOR=1 16 | export QT_QPA_PLATFORM="wayland;xcb" 17 | export QT_QPA_PLATFORMTHEME=qt6ct 18 | 19 | # Apps Specifications 20 | export WARP_ENABLE_WAYLAND=1 21 | export ELECTRON_OZONE_PLATFORM_HINT=wayland 22 | 23 | # Cursor 24 | export XCURSOR_THEME=Bibata-Modern-Classic 25 | export XCURSOR_SIZE=20 26 | -------------------------------------------------------------------------------- /dot-config/uwsm/env-hyprland: -------------------------------------------------------------------------------- 1 | export XDG_CURRENT_DESKTOP=Hyprland 2 | export XDG_SESSION_TYPE=wayland 3 | export XDG_SESSION_DESKTOP=Hyprland 4 | 5 | export HYPRCURSOR_THEME=Bibata-Modern-Classic 6 | export HYPRCURSOR_SIZE=20 7 | -------------------------------------------------------------------------------- /dot-config/uwsm/env-river: -------------------------------------------------------------------------------- 1 | export XDG_CURRENT_DESKTOP=river 2 | export XDG_SESSION_TYPE=wayland 3 | export XDG_SESSION_DESKTOP=river 4 | -------------------------------------------------------------------------------- /dot-config/yt-dlp/config: -------------------------------------------------------------------------------- 1 | --downloader aria2c 2 | -------------------------------------------------------------------------------- /dot-config/zed/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "icon_theme": "Material Icon Theme", 3 | "base_keymap": "VSCode", 4 | "theme": "One Dark", 5 | "vim_mode": true, 6 | "ui_font_size": 16, 7 | "buffer_font_size": 16, 8 | "load_direnv": "shell_hook", 9 | "inlay_hints": { 10 | "enabled": false, 11 | "show_type_hints": true, 12 | "show_parameter_hints": true, 13 | "show_other_hints": true, 14 | "edit_debounce_ms": 700, 15 | "scroll_debounce_ms": 50 16 | }, 17 | "collaboration_panel": { "button": false }, 18 | "relative_line_numbers": true, 19 | "project_panel": { "dock": "right" }, 20 | "buffer_font_family": "FiraCode Nerd Font Mono", 21 | "terminal": { "font_family": "Cousine Nerd Font Mono" }, 22 | "features": { 23 | "edit_prediction_provider": "zed", 24 | "copilot": true 25 | }, 26 | "assistant": { 27 | "default_model": { 28 | "provider": "zed.dev", 29 | "model": "claude-3-7-sonnet-latest" 30 | }, 31 | "version": "2", 32 | "enabled": true, 33 | "button": false 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /dot-face: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ARKye03/dotfiles/f125386a4da63086236cee33f0b33c75f77c8367/dot-face -------------------------------------------------------------------------------- /dot-local/share/applications/brave-browser.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Version=1.0 3 | Name=Brave 4 | # Only KDE 4 seems to use GenericName, so we reuse the KDE strings. 5 | # From Ubuntu's language-pack-kde-XX-base packages, version 9.04-20090413. 6 | GenericName=Web Browser 7 | GenericName[ar]=متصفح الشبكة 8 | GenericName[bg]=Уеб браузър 9 | GenericName[ca]=Navegador web 10 | GenericName[cs]=WWW prohlížeč 11 | GenericName[da]=Browser 12 | GenericName[de]=Web-Browser 13 | GenericName[el]=Περιηγητής ιστού 14 | GenericName[en_GB]=Web Browser 15 | GenericName[es]=Navegador web 16 | GenericName[et]=Veebibrauser 17 | GenericName[fi]=WWW-selain 18 | GenericName[fr]=Navigateur Web 19 | GenericName[gu]=વેબ બ્રાઉઝર 20 | GenericName[he]=דפדפן אינטרנט 21 | GenericName[hi]=वेब ब्राउज़र 22 | GenericName[hu]=Webböngésző 23 | GenericName[it]=Browser Web 24 | GenericName[ja]=ウェブブラウザ 25 | GenericName[kn]=ಜಾಲ ವೀಕ್ಷಕ 26 | GenericName[ko]=웹 브라우저 27 | GenericName[lt]=Žiniatinklio naršyklė 28 | GenericName[lv]=Tīmekļa pārlūks 29 | GenericName[ml]=വെബ് ബ്രൌസര്‍ 30 | GenericName[mr]=वेब ब्राऊजर 31 | GenericName[nb]=Nettleser 32 | GenericName[nl]=Webbrowser 33 | GenericName[pl]=Przeglądarka WWW 34 | GenericName[pt]=Navegador Web 35 | GenericName[pt_BR]=Navegador da Internet 36 | GenericName[ro]=Navigator de Internet 37 | GenericName[ru]=Веб-браузер 38 | GenericName[sl]=Spletni brskalnik 39 | GenericName[sv]=Webbläsare 40 | GenericName[ta]=இணைய உலாவி 41 | GenericName[th]=เว็บเบราว์เซอร์ 42 | GenericName[tr]=Web Tarayıcı 43 | GenericName[uk]=Навігатор Тенет 44 | GenericName[zh_CN]=网页浏览器 45 | GenericName[zh_HK]=網頁瀏覽器 46 | GenericName[zh_TW]=網頁瀏覽器 47 | # Not translated in KDE, from Epiphany 2.26.1-0ubuntu1. 48 | GenericName[bn]=ওয়েব ব্রাউজার 49 | GenericName[fil]=Web Browser 50 | GenericName[hr]=Web preglednik 51 | GenericName[id]=Browser Web 52 | GenericName[or]=ଓ୍ବେବ ବ୍ରାଉଜର 53 | GenericName[sk]=WWW prehliadač 54 | GenericName[sr]=Интернет прегледник 55 | GenericName[te]=మహాతల అన్వేషి 56 | GenericName[vi]=Bộ duyệt Web 57 | # Gnome and KDE 3 uses Comment. 58 | Comment=Access the Internet 59 | Comment[ar]=الدخول إلى الإنترنت 60 | Comment[bg]=Достъп до интернет 61 | Comment[bn]=ইন্টারনেটটি অ্যাক্সেস করুন 62 | Comment[ca]=Accedeix a Internet 63 | Comment[cs]=Přístup k internetu 64 | Comment[da]=Få adgang til internettet 65 | Comment[de]=Internetzugriff 66 | Comment[el]=Πρόσβαση στο Διαδίκτυο 67 | Comment[en_GB]=Access the Internet 68 | Comment[es]=Accede a Internet. 69 | Comment[et]=Pääs Internetti 70 | Comment[fi]=Käytä internetiä 71 | Comment[fil]=I-access ang Internet 72 | Comment[fr]=Accéder à Internet 73 | Comment[gu]=ઇંટરનેટ ઍક્સેસ કરો 74 | Comment[he]=גישה אל האינטרנט 75 | Comment[hi]=इंटरनेट तक पहुंच स्थापित करें 76 | Comment[hr]=Pristup Internetu 77 | Comment[hu]=Internetelérés 78 | Comment[id]=Akses Internet 79 | Comment[it]=Accesso a Internet 80 | Comment[ja]=インターネットにアクセス 81 | Comment[kn]=ಇಂಟರ್ನೆಟ್ ಅನ್ನು ಪ್ರವೇಶಿಸಿ 82 | Comment[ko]=인터넷 연결 83 | Comment[lt]=Interneto prieiga 84 | Comment[lv]=Piekļūt internetam 85 | Comment[ml]=ഇന്റര്‍‌നെറ്റ് ആക്‌സസ് ചെയ്യുക 86 | Comment[mr]=इंटरनेटमध्ये प्रवेश करा 87 | Comment[nb]=Gå til Internett 88 | Comment[nl]=Verbinding maken met internet 89 | Comment[or]=ଇଣ୍ଟର୍ନେଟ୍ ପ୍ରବେଶ କରନ୍ତୁ 90 | Comment[pl]=Skorzystaj z internetu 91 | Comment[pt]=Aceder à Internet 92 | Comment[pt_BR]=Acessar a internet 93 | Comment[ro]=Accesaţi Internetul 94 | Comment[ru]=Доступ в Интернет 95 | Comment[sk]=Prístup do siete Internet 96 | Comment[sl]=Dostop do interneta 97 | Comment[sr]=Приступите Интернету 98 | Comment[sv]=Gå ut på Internet 99 | Comment[ta]=இணையத்தை அணுகுதல் 100 | Comment[te]=ఇంటర్నెట్‌ను ఆక్సెస్ చెయ్యండి 101 | Comment[th]=เข้าถึงอินเทอร์เน็ต 102 | Comment[tr]=İnternet'e erişin 103 | Comment[uk]=Доступ до Інтернету 104 | Comment[vi]=Truy cập Internet 105 | Comment[zh_CN]=访问互联网 106 | Comment[zh_HK]=連線到網際網路 107 | Comment[zh_TW]=連線到網際網路 108 | StartupNotify=true 109 | StartupWMClass=brave-browser 110 | TryExec=brave 111 | Exec=brave --enable-features=UseOzonePlatform --ozone-platform=wayland --use-gl=desktop --disable-features=UseChromeOSDirectVideoDecoder --enable-features=VaapiVideoDecoder %U 112 | Terminal=false 113 | Icon=brave-desktop 114 | Type=Application 115 | Categories=Network;WebBrowser; 116 | Actions=new-window;new-private-window; 117 | 118 | [Desktop Action new-window] 119 | Name=New Window 120 | Name[am]=አዲስ መስኮት 121 | Name[ar]=نافذة جديدة 122 | Name[bg]=Нов прозорец 123 | Name[bn]=নতুন উইন্ডো 124 | Name[ca]=Finestra nova 125 | Name[cs]=Nové okno 126 | Name[da]=Nyt vindue 127 | Name[de]=Neues Fenster 128 | Name[el]=Νέο Παράθυρο 129 | Name[en_GB]=New Window 130 | Name[es]=Nueva ventana 131 | Name[et]=Uus aken 132 | Name[fa]=پنجره جدید 133 | Name[fi]=Uusi ikkuna 134 | Name[fil]=New Window 135 | Name[fr]=Nouvelle fenêtre 136 | Name[gu]=નવી વિંડો 137 | Name[hi]=नई विंडो 138 | Name[hr]=Novi prozor 139 | Name[hu]=Új ablak 140 | Name[id]=Jendela Baru 141 | Name[it]=Nuova finestra 142 | Name[iw]=חלון חדש 143 | Name[ja]=新規ウインドウ 144 | Name[kn]=ಹೊಸ ವಿಂಡೊ 145 | Name[ko]=새 창 146 | Name[lt]=Naujas langas 147 | Name[lv]=Jauns logs 148 | Name[ml]=പുതിയ വിന്‍ഡോ 149 | Name[mr]=नवीन विंडो 150 | Name[nl]=Nieuw venster 151 | Name[no]=Nytt vindu 152 | Name[pl]=Nowe okno 153 | Name[pt]=Nova janela 154 | Name[pt_BR]=Nova janela 155 | Name[ro]=Fereastră nouă 156 | Name[ru]=Новое окно 157 | Name[sk]=Nové okno 158 | Name[sl]=Novo okno 159 | Name[sr]=Нови прозор 160 | Name[sv]=Nytt fönster 161 | Name[sw]=Dirisha Jipya 162 | Name[ta]=புதிய சாளரம் 163 | Name[te]=క్రొత్త విండో 164 | Name[th]=หน้าต่างใหม่ 165 | Name[tr]=Yeni Pencere 166 | Name[uk]=Нове вікно 167 | Name[vi]=Cửa sổ Mới 168 | Name[zh_CN]=新建窗口 169 | Name[zh_TW]=開新視窗 170 | Exec=brave 171 | 172 | [Desktop Action new-private-window] 173 | Name=New Incognito Window 174 | Name[ar]=نافذة جديدة للتصفح المتخفي 175 | Name[bg]=Нов прозорец „инкогнито“ 176 | Name[bn]=নতুন ছদ্মবেশী উইন্ডো 177 | Name[ca]=Finestra d'incògnit nova 178 | Name[cs]=Nové anonymní okno 179 | Name[da]=Nyt inkognitovindue 180 | Name[de]=Neues Inkognito-Fenster 181 | Name[el]=Νέο παράθυρο για ανώνυμη περιήγηση 182 | Name[en_GB]=New Incognito window 183 | Name[es]=Nueva ventana de incógnito 184 | Name[et]=Uus inkognito aken 185 | Name[fa]=پنجره جدید حالت ناشناس 186 | Name[fi]=Uusi incognito-ikkuna 187 | Name[fil]=Bagong Incognito window 188 | Name[fr]=Nouvelle fenêtre de navigation privée 189 | Name[gu]=નવી છુપી વિંડો 190 | Name[hi]=नई गुप्त विंडो 191 | Name[hr]=Novi anoniman prozor 192 | Name[hu]=Új Inkognitóablak 193 | Name[id]=Jendela Penyamaran baru 194 | Name[it]=Nuova finestra di navigazione in incognito 195 | Name[iw]=חלון חדש לגלישה בסתר 196 | Name[ja]=新しいシークレット ウィンドウ 197 | Name[kn]=ಹೊಸ ಅಜ್ಞಾತ ವಿಂಡೋ 198 | Name[ko]=새 시크릿 창 199 | Name[lt]=Naujas inkognito langas 200 | Name[lv]=Jauns inkognito režīma logs 201 | Name[ml]=പുതിയ വേഷ പ്രച്ഛന്ന വിന്‍ഡോ 202 | Name[mr]=नवीन गुप्त विंडो 203 | Name[nl]=Nieuw incognitovenster 204 | Name[no]=Nytt inkognitovindu 205 | Name[pl]=Nowe okno incognito 206 | Name[pt]=Nova janela de navegação anónima 207 | Name[pt_BR]=Nova janela anônima 208 | Name[ro]=Fereastră nouă incognito 209 | Name[ru]=Новое окно в режиме инкогнито 210 | Name[sk]=Nové okno inkognito 211 | Name[sl]=Novo okno brez beleženja zgodovine 212 | Name[sr]=Нови прозор за прегледање без архивирања 213 | Name[sv]=Nytt inkognitofönster 214 | Name[ta]=புதிய மறைநிலைச் சாளரம் 215 | Name[te]=క్రొత్త అజ్ఞాత విండో 216 | Name[th]=หน้าต่างใหม่ที่ไม่ระบุตัวตน 217 | Name[tr]=Yeni Gizli pencere 218 | Name[uk]=Нове вікно в режимі анонімного перегляду 219 | Name[vi]=Cửa sổ ẩn danh mới 220 | Name[zh_CN]=新建隐身窗口 221 | Name[zh_TW]=新增無痕式視窗 222 | Exec=brave --incognito 223 | MimeType=x-scheme-handler/unknown;application/pdf;application/rdf+xml;application/rss+xml;application/xhtml+xml;application/xhtml_xml;application/xml;image/gif;image/jpeg;image/png;image/webp;text/html;text/xml;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ipfs;x-scheme-handler/ipns; 224 | x-scheme-handler/unknown;x-scheme-handler/about;text/html;text/xml;application/xhtml_xml;image/webp;x-scheme-handler/http;x-scheme-handler/https; 225 | -------------------------------------------------------------------------------- /dot-local/share/applications/brave-hnpfjngllnobngcgfapefoaidbinmjnm-Default.desktop: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env xdg-open 2 | [Desktop Entry] 3 | Version=1.0 4 | Terminal=false 5 | Type=Application 6 | Name=WhatsApp Web 7 | Exec=/opt/brave-bin/brave --profile-directory=Default --app-id=hnpfjngllnobngcgfapefoaidbinmjnm 8 | Icon=brave-hnpfjngllnobngcgfapefoaidbinmjnm-Default 9 | StartupWMClass=crx_hnpfjngllnobngcgfapefoaidbinmjnm 10 | -------------------------------------------------------------------------------- /dot-local/share/applications/brave-jnpecgipniidlgicjocehkhajgdnjekh-Default.desktop: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env xdg-open 2 | [Desktop Entry] 3 | Version=1.0 4 | Terminal=false 5 | Type=Application 6 | Name=Proton Mail 7 | Exec=/opt/brave-bin/brave --profile-directory=Default --app-id=jnpecgipniidlgicjocehkhajgdnjekh 8 | Icon=brave-jnpecgipniidlgicjocehkhajgdnjekh-Default 9 | StartupWMClass=crx_jnpecgipniidlgicjocehkhajgdnjekh 10 | -------------------------------------------------------------------------------- /dot-local/share/applications/btop.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Type=Application 3 | Version=1.0 4 | Name=btop++ 5 | GenericName=System Monitor 6 | GenericName[it]=Monitor di sistema 7 | Comment=Resource monitor that shows usage and stats for processor, memory, disks, network and processes 8 | Comment[it]=Monitoraggio delle risorse: mostra utilizzo e statistiche per CPU, dischi, rete e processi 9 | Icon=btop 10 | Exec=alacritty -e btop 11 | Terminal=false 12 | Categories=System;Monitor;ConsoleOnly; 13 | Keywords=system;process;task 14 | -------------------------------------------------------------------------------- /dot-local/share/applications/cursor.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Cursor 3 | Exec=/usr/bin/cursor --enable-features=UseOzonePlatform --ozone-platform=wayland --use-gl=desktop --no-sandbox %U 4 | Terminal=false 5 | Type=Application 6 | Icon=cursor 7 | StartupWMClass=cursor-url-handler 8 | X-AppImage-Version=0.42.0 9 | MimeType=x-scheme-handler/cursor; 10 | Categories=Utility; 11 | -------------------------------------------------------------------------------- /dot-local/share/applications/discord.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Discord 3 | StartupWMClass=discord 4 | Comment=All-in-one voice and text chat for gamers that's free, secure, and works on both your desktop and phone. 5 | GenericName=Internet Messenger 6 | Exec=/usr/bin/discord --enable-features=UseOzonePlatform --ozone-platform=wayland --use-gl=desktop 7 | Icon=discord 8 | Type=Application 9 | Categories=Network;InstantMessaging; 10 | Path=/usr/bin 11 | -------------------------------------------------------------------------------- /dot-local/share/applications/microsoft-edge.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Version=1.0 3 | Name=Microsoft Edge 4 | # Only KDE 4 seems to use GenericName, so we reuse the KDE strings. 5 | # From Ubuntu's language-pack-kde-XX-base packages, version 9.04-20090413. 6 | GenericName=Web Browser 7 | GenericName[ar]=متصفح الشبكة 8 | GenericName[bg]=Уеб браузър 9 | GenericName[ca]=Navegador web 10 | GenericName[cs]=WWW prohlížeč 11 | GenericName[da]=Browser 12 | GenericName[de]=Web-Browser 13 | GenericName[el]=Περιηγητής ιστού 14 | GenericName[en_GB]=Web Browser 15 | GenericName[es]=Navegador web 16 | GenericName[et]=Veebibrauser 17 | GenericName[fi]=WWW-selain 18 | GenericName[fr]=Navigateur Web 19 | GenericName[gu]=વેબ બ્રાઉઝર 20 | GenericName[he]=דפדפן אינטרנט 21 | GenericName[hi]=वेब ब्राउज़र 22 | GenericName[hu]=Webböngésző 23 | GenericName[it]=Browser Web 24 | GenericName[ja]=ウェブブラウザ 25 | GenericName[kn]=ಜಾಲ ವೀಕ್ಷಕ 26 | GenericName[ko]=웹 브라우저 27 | GenericName[lt]=Žiniatinklio naršyklė 28 | GenericName[lv]=Tīmekļa pārlūks 29 | GenericName[ml]=വെബ് ബ്രൌസര്‍ 30 | GenericName[mr]=वेब ब्राऊजर 31 | GenericName[nb]=Nettleser 32 | GenericName[nl]=Webbrowser 33 | GenericName[pl]=Przeglądarka WWW 34 | GenericName[pt]=Navegador Web 35 | GenericName[pt_BR]=Navegador da Internet 36 | GenericName[ro]=Navigator de Internet 37 | GenericName[ru]=Веб-браузер 38 | GenericName[sl]=Spletni brskalnik 39 | GenericName[sv]=Webbläsare 40 | GenericName[ta]=இணைய உலாவி 41 | GenericName[th]=เว็บเบราว์เซอร์ 42 | GenericName[tr]=Web Tarayıcı 43 | GenericName[uk]=Навігатор Тенет 44 | GenericName[zh_CN]=网页浏览器 45 | GenericName[zh_HK]=網頁瀏覽器 46 | GenericName[zh_TW]=網頁瀏覽器 47 | # Not translated in KDE, from Epiphany 2.26.1-0ubuntu1. 48 | GenericName[bn]=ওয়েব ব্রাউজার 49 | GenericName[fil]=Web Browser 50 | GenericName[hr]=Web preglednik 51 | GenericName[id]=Browser Web 52 | GenericName[or]=ଓ୍ବେବ ବ୍ରାଉଜର 53 | GenericName[sk]=WWW prehliadač 54 | GenericName[sr]=Интернет прегледник 55 | GenericName[te]=మహాతల అన్వేషి 56 | GenericName[vi]=Bộ duyệt Web 57 | # Gnome and KDE 3 uses Comment. 58 | Comment=Access the Internet 59 | Comment[ar]=الدخول إلى الإنترنت 60 | Comment[bg]=Достъп до интернет 61 | Comment[bn]=ইন্টারনেটটি অ্যাক্সেস করুন 62 | Comment[ca]=Accedeix a Internet 63 | Comment[cs]=Přístup k internetu 64 | Comment[da]=Få adgang til internettet 65 | Comment[de]=Internetzugriff 66 | Comment[el]=Πρόσβαση στο Διαδίκτυο 67 | Comment[en_GB]=Access the Internet 68 | Comment[es]=Accede a Internet. 69 | Comment[et]=Pääs Internetti 70 | Comment[fi]=Käytä internetiä 71 | Comment[fil]=I-access ang Internet 72 | Comment[fr]=Accéder à Internet 73 | Comment[gu]=ઇંટરનેટ ઍક્સેસ કરો 74 | Comment[he]=גישה אל האינטרנט 75 | Comment[hi]=इंटरनेट तक पहुंच स्थापित करें 76 | Comment[hr]=Pristup Internetu 77 | Comment[hu]=Internetelérés 78 | Comment[id]=Akses Internet 79 | Comment[it]=Accesso a Internet 80 | Comment[ja]=インターネットにアクセス 81 | Comment[kn]=ಇಂಟರ್ನೆಟ್ ಅನ್ನು ಪ್ರವೇಶಿಸಿ 82 | Comment[ko]=인터넷 연결 83 | Comment[lt]=Interneto prieiga 84 | Comment[lv]=Piekļūt internetam 85 | Comment[ml]=ഇന്റര്‍‌നെറ്റ് ആക്‌സസ് ചെയ്യുക 86 | Comment[mr]=इंटरनेटमध्ये प्रवेश करा 87 | Comment[nb]=Gå til Internett 88 | Comment[nl]=Verbinding maken met internet 89 | Comment[or]=ଇଣ୍ଟର୍ନେଟ୍ ପ୍ରବେଶ କରନ୍ତୁ 90 | Comment[pl]=Skorzystaj z internetu 91 | Comment[pt]=Aceder à Internet 92 | Comment[pt_BR]=Acessar a internet 93 | Comment[ro]=Accesaţi Internetul 94 | Comment[ru]=Доступ в Интернет 95 | Comment[sk]=Prístup do siete Internet 96 | Comment[sl]=Dostop do interneta 97 | Comment[sr]=Приступите Интернету 98 | Comment[sv]=Gå ut på Internet 99 | Comment[ta]=இணையத்தை அணுகுதல் 100 | Comment[te]=ఇంటర్నెట్‌ను ఆక్సెస్ చెయ్యండి 101 | Comment[th]=เข้าถึงอินเทอร์เน็ต 102 | Comment[tr]=İnternet'e erişin 103 | Comment[uk]=Доступ до Інтернету 104 | Comment[vi]=Truy cập Internet 105 | Comment[zh_CN]=访问互联网 106 | Comment[zh_HK]=連線到網際網路 107 | Comment[zh_TW]=連線到網際網路 108 | Exec=/usr/bin/microsoft-edge-stable --enable-features=UseOzonePlatform --ozone-platform=wayland --use-gl=desktop %U 109 | StartupNotify=true 110 | Terminal=false 111 | Icon=microsoft-edge 112 | Type=Application 113 | Categories=Network;WebBrowser; 114 | MimeType=application/pdf;application/rdf+xml;application/rss+xml;application/xhtml+xml;application/xhtml_xml;application/xml;image/gif;image/jpeg;image/png;image/webp;text/html;text/xml;x-scheme-handler/http;x-scheme-handler/https; 115 | Actions=new-window;new-private-window; 116 | 117 | [Desktop Action new-window] 118 | Name=New Window 119 | Name[am]=አዲስ መስኮት 120 | Name[ar]=نافذة جديدة 121 | Name[bg]=Нов прозорец 122 | Name[bn]=নতুন উইন্ডো 123 | Name[ca]=Finestra nova 124 | Name[cs]=Nové okno 125 | Name[da]=Nyt vindue 126 | Name[de]=Neues Fenster 127 | Name[el]=Νέο Παράθυρο 128 | Name[en_GB]=New Window 129 | Name[es]=Nueva ventana 130 | Name[et]=Uus aken 131 | Name[fa]=پنجره جدید 132 | Name[fi]=Uusi ikkuna 133 | Name[fil]=New Window 134 | Name[fr]=Nouvelle fenêtre 135 | Name[gu]=નવી વિંડો 136 | Name[hi]=नई विंडो 137 | Name[hr]=Novi prozor 138 | Name[hu]=Új ablak 139 | Name[id]=Jendela Baru 140 | Name[it]=Nuova finestra 141 | Name[iw]=חלון חדש 142 | Name[ja]=新規ウインドウ 143 | Name[kn]=ಹೊಸ ವಿಂಡೊ 144 | Name[ko]=새 창 145 | Name[lt]=Naujas langas 146 | Name[lv]=Jauns logs 147 | Name[ml]=പുതിയ വിന്‍ഡോ 148 | Name[mr]=नवीन विंडो 149 | Name[nl]=Nieuw venster 150 | Name[no]=Nytt vindu 151 | Name[pl]=Nowe okno 152 | Name[pt]=Nova janela 153 | Name[pt_BR]=Nova janela 154 | Name[ro]=Fereastră nouă 155 | Name[ru]=Новое окно 156 | Name[sk]=Nové okno 157 | Name[sl]=Novo okno 158 | Name[sr]=Нови прозор 159 | Name[sv]=Nytt fönster 160 | Name[sw]=Dirisha Jipya 161 | Name[ta]=புதிய சாளரம் 162 | Name[te]=క్రొత్త విండో 163 | Name[th]=หน้าต่างใหม่ 164 | Name[tr]=Yeni Pencere 165 | Name[uk]=Нове вікно 166 | Name[vi]=Cửa sổ Mới 167 | Name[zh_CN]=新建窗口 168 | Name[zh_TW]=開新視窗 169 | Exec=/usr/bin/microsoft-edge-stable --enable-features=UseOzonePlatform --ozone-platform=wayland --use-gl=desktop 170 | 171 | [Desktop Action new-private-window] 172 | Name=New InPrivate Window 173 | Name[ar]=نافذة InPrivate جديدة 174 | Name[bg]=Нов прозорец InPrivate 175 | Name[bn]=নতুন InPrivate উইন্ডো 176 | Name[ca]=Finestra InPrivate nova 177 | Name[cs]=Nové okno InPrivate 178 | Name[da]=Nyt InPrivate-vindue 179 | Name[de]=Neues InPrivate-Fenster 180 | Name[el]=Νέο παράθυρο InPrivate 181 | Name[en_GB]=New InPrivate Window 182 | Name[es]=Nueva ventana InPrivate 183 | Name[et]=Uus InPrivate-aken 184 | Name[fa]=پنجره InPrivate جدید 185 | Name[fi]=Uusi InPrivate-ikkuna 186 | Name[fil]=Bagong InPrivate Window 187 | Name[fr]=Nouvelle fenêtre InPrivate 188 | Name[gu]=નવી InPrivate વિંડો 189 | Name[hi]=नई InPrivate विंडो 190 | Name[hr]=Novi prozor InPrivate 191 | Name[hu]=Új InPrivate-ablak 192 | Name[id]=Jendela InPrivate Baru 193 | Name[it]=Nuova finestra InPrivate 194 | Name[iw]=חלון InPrivate חדש 195 | Name[ja]=新しい InPrivate ウィンドウ 196 | Name[kn]=ಹೊಸ InPrivate ವಿಂಡೋ 197 | Name[ko]=새로운 InPrivate 창 198 | Name[lt]=Naujas „InPrivate“ langas 199 | Name[lv]=Jauns InPrivate logs 200 | Name[ml]=പുതിയ InPrivate ജാലകം 201 | Name[mr]=नवीन InPrivate विंडो 202 | Name[nl]=Nieuw InPrivate-venster 203 | Name[no]=Nytt InPrivate-vindu 204 | Name[pl]=Nowe okno InPrivate 205 | Name[pt]=Nova Janela InPrivate 206 | Name[pt_BR]=Nova Janela InPrivate 207 | Name[ro]=Fereastră InPrivate nouă 208 | Name[ru]=Новое окно InPrivate 209 | Name[sk]=Nové okno InPrivate 210 | Name[sl]=Novo okno InPrivate 211 | Name[sr]=Нови InPrivate прозор 212 | Name[sv]=Nytt InPrivate-fönster 213 | Name[ta]=புதிய InPrivate சாளரம் 214 | Name[te]=కొత్త InPrivate విండో 215 | Name[th]=หน้าต่าง InPrivate ใหม่ 216 | Name[tr]=Yeni InPrivate Penceresi 217 | Name[uk]=Нове вікно InPrivate 218 | Name[vi]=Cửa Sổ InPrivate Mới 219 | Name[zh_CN]=新建 InPrivate 窗口 220 | Name[zh_TW]=新 InPrivate 視窗 221 | Exec=/usr/bin/microsoft-edge-stable --inprivate --enable-features=UseOzonePlatform --ozone-platform=wayland --use-gl=desktop 222 | -------------------------------------------------------------------------------- /dot-local/share/applications/obsidian.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Obsidian 3 | Exec=/usr/bin/obsidian --enable-features=UseOzonePlatform --ozone-platform=wayland --use-gl=desktop %U 4 | Terminal=false 5 | Type=Application 6 | Icon=obsidian 7 | StartupWMClass=obsidian 8 | Comment=Obsidian 9 | MimeType=x-scheme-handler/obsidian; 10 | Categories=Office; 11 | -------------------------------------------------------------------------------- /dot-local/share/applications/termius.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Termius 3 | Exec=termius --enable-features=UseOzonePlatform --ozone-platform=wayland --use-gl=desktop %U 4 | Terminal=false 5 | Type=Application 6 | Icon=termius 7 | StartupWMClass=Termius 8 | Comment=Desktop SSH Client 9 | MimeType=x-scheme-handler/termius; 10 | Categories=Utility; 11 | -------------------------------------------------------------------------------- /dot-local/share/applications/unityhub.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Unity Hub 3 | Exec=/opt/unityhub/unityhub --enable-features=UseOzonePlatform --ozone-platform=wayland %U 4 | Terminal=false 5 | Type=Application 6 | Icon=unityhub 7 | StartupWMClass=unityhub 8 | Comment=The Official Unity Hub 9 | Categories=Development; 10 | TryExec=unityhub --enable-features=UseOzonePlatform --ozone-platform=wayland 11 | MimeType=x-scheme-handler/unityhub; 12 | -------------------------------------------------------------------------------- /public/COI.md: -------------------------------------------------------------------------------- 1 | - Pacman Static 2 | ```sh 3 | curl -O https://pkgbuild.com/~morganamilo/pacman-static/x86_64/bin/pacman-static 4 | ``` 5 | 6 | - Mirrors 7 | ```sh 8 | sudo reflector --verbose --protocol https --age 12 --sort rate --score 7 --download-timeout 25 --save /etc/pacman.d/mirrorlist 9 | ``` 10 | 11 | - Fstab 12 | ```sh 13 | # 14 | # `lsblk -f` 15 | # Example: 16 | UUID= /mnt/Various ext4 defaults 0 1 17 | ``` 18 | 19 | - Remove DEBUG pkgs 20 | On `/etc/makepkg.conf` add `"!"` before "debug" on the line `OPTIONS=` 21 | 22 | - MIDI/ALSA shits 23 | ```sh 24 | fluidsynth -l -s -i -aalsa -o audio.alsa.device=default /usr/share/soundfonts/FluidR3_GM.sf2 25 | ``` 26 | 27 | ```nu 28 | $env.SOUND_FONT = "/usr/share/soundfonts/FluidR3_GM.sf2" 29 | $env.OTHER_OPTS = "-a pipewire -m alsa_seq -r 48000" 30 | systemctl --user start fluidsynth.service 31 | ``` 32 | -------------------------------------------------------------------------------- /public/Musthave.md: -------------------------------------------------------------------------------- 1 | # Must Have 2 | 3 | These are the things that I need to have in my life. 4 | 5 | - [Fd](https://github.com/sharkdp/fd) 6 | - [Aria2c](https://aria2.github.io/) 7 | - [Bat](https://github.com/sharkdp/bat) 8 | - [Tldr](https://github.com/tldr-pages/tldr) 9 | - [Tgpt](https://github.com/aandrew-me/tgpt) 10 | - [Justfile](https://github.com/casey/just) 11 | - [Git-Cliff](https://github.com/orhun/git-cliff) 12 | - [RipGrep](https://github.com/BurntSushi/ripgrep) 13 | - [Zoxide](https://github.com/ajeetdsouza/zoxide) 14 | - [Eza](https://github.com/eza-community/eza) 15 | - [Delta](https://github.com/dandavison/delta) 16 | -------------------------------------------------------------------------------- /public/cage.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | # Cursor 4 | export XCURSOR_THEME=Bibata-Modern-Classic 5 | export XCURSOR_SIZE=20 6 | 7 | # Nvidia Specifications 8 | export LIBVA_DRIVER_NAME=nvidia 9 | export GBM_BACKEND=nvidia-drm 10 | export __GLX_VENDOR_LIBRARY_NAME=nvidia 11 | 12 | export NVD_BACKEND=direct 13 | export WLR_RENDERER_ALLOW_SOFTWARE=1 14 | 15 | # Toolkit Backend Variables 16 | export GDK_BACKEND=wayland,x11 17 | export QT_QPA_PLATFORM=wayland,xcb 18 | export SDL_VIDEODRIVER=wayland 19 | export CLUTTER_BACKEND=wayland 20 | 21 | # XDG Specifications 22 | export XDG_CURRENT_DESKTOP=cage 23 | export XDG_SESSION_TYPE=wayland 24 | export XDG_SESSION_DESKTOP=cage 25 | 26 | # Apps Specifications 27 | export ELECTRON_OZONE_PLATFORM_HINT=wayland 28 | 29 | cage -- /usr/bin/alacritty -e /usr/bin/tmux & 30 | 31 | # Start Environment 32 | /usr/bin/dbus-update-activation-environment --systemd --all & 33 | /usr/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh & 34 | /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 & 35 | -------------------------------------------------------------------------------- /public/installedPKGS/README.md: -------------------------------------------------------------------------------- 1 | # Eelie Installed Packages 2 | 3 | | Package | Version | 4 | | ------- | ------- | 5 | | 7zip | 24.09-3 | 6 | | adw-gtk-theme | 5.8-1 | 7 | | alacritty | 0.15.1-1 | 8 | | aria2 | 1.37.0-2 | 9 | | aspnet-runtime | 9.0.4.sdk105-1 | 10 | | audacity | 1:3.7.3-2 | 11 | | base | 3-2 | 12 | | base-devel | 1-2 | 13 | | bat | 0.25.0-4 | 14 | | bibata-cursor-git | 1.0.0.r0.f4ccfe8-1 | 15 | | bleachbit | 5.0.0-1 | 16 | | blueprint-compiler-git | 0.16.0.r7.g3940144-1 | 17 | | bluez | 5.82-1 | 18 | | bluez-deprecated-tools | 5.82-1 | 19 | | bluez-utils | 5.82-1 | 20 | | brave-bin | 1:1.78.102-1 | 21 | | btop | 1.4.3-2 | 22 | | carapace-bin | 1.3.2-1 | 23 | | cava | 0.10.4-3 | 24 | | celluloid | 0.27-1 | 25 | | chaotic-keyring | 20230616-1 | 26 | | chaotic-mirrorlist | 20240724-3 | 27 | | cloudflare-warp-bin | 2025.4.943-1 | 28 | | cmark | 0.31.1-1 | 29 | | copyq | 10.0.0-1 | 30 | | dart-sass | 1.86.3-1 | 31 | | direnv | 2.36.0-1 | 32 | | discord_arch_electron | 1:0.0.95-1 | 33 | | dkms | 3.2.1-1 | 34 | | dotnet-sdk | 9.0.4.sdk105-1 | 35 | | efibootmgr | 18-3 | 36 | | elfutils | 0.193-2 | 37 | | engrampa | 1.28.2-2 | 38 | | exfatprogs | 1.2.9-1 | 39 | | extramaus | 20121220-3 | 40 | | eza | 0.21.3-1 | 41 | | fastfetch | 2.44.0-1 | 42 | | faugus-launcher | 1.5.8-1 | 43 | | fcitx5 | 5.1.12-1 | 44 | | fcitx5-gtk | 5.1.3-1 | 45 | | fd | 10.2.0-1 | 46 | | ffmpegthumbnailer | 2.2.3-3 | 47 | | fnm-bin | 1.38.1-1 | 48 | | fzf | 0.62.0-1 | 49 | | gamemode | 1.8.2-1 | 50 | | gdb | 16.3-1 | 51 | | gimp | 3.0.4-2 | 52 | | git | 2.49.0-2 | 53 | | git-cliff | 2.8.0-2 | 54 | | git-delta | 0.18.2-4 | 55 | | github-cli | 2.73.0-1 | 56 | | gnome-keyring | 1:48.0-1 | 57 | | gnome-text-editor | 48.2-3 | 58 | | go | 2:1.24.3-1 | 59 | | gobject-introspection | 1.84.0-1 | 60 | | gparted | 1.7.0-1 | 61 | | grim | 1.4.1-3 | 62 | | gsound | 1.0.3-3 | 63 | | gst-libav | 1.26.1-1 | 64 | | gst-plugin-gtk | 1.26.1-1 | 65 | | gst-plugin-gtk4 | 0.13.6-1 | 66 | | gst-plugin-pipewire | 1:1.4.2-1 | 67 | | gst-plugin-va | 1.26.1-1 | 68 | | gst-plugins-bad | 1.26.1-1 | 69 | | gst-plugins-good | 1.26.1-1 | 70 | | gst-plugins-ugly | 1.26.1-1 | 71 | | gtklock | 4.0.0-1 | 72 | | gtklock-playerctl-module | 4.0.0-1 | 73 | | gvfs-mtp | 1.57.2-3 | 74 | | htop | 3.4.1-1 | 75 | | hyprland | 0.49.0-1 | 76 | | hyprlock | 0.8.2-1 | 77 | | hyprls-git | 0.5.2-1 | 78 | | hyprpicker-git | 0.4.5.r4.g500c461-1 | 79 | | icon-browser-git | r14.036b062-2 | 80 | | intel-ucode | 20250512-1 | 81 | | iwd | 3.8-1 | 82 | | jre-openjdk | 24.0.1.u9-1 | 83 | | just | 1.40.0-1 | 84 | | kitty | 0.42.1-1 | 85 | | kvantum | 1.1.5-1 | 86 | | lazygit | 0.51.1-1 | 87 | | lib32-gamemode | 1.8.2-1 | 88 | | lib32-gst-plugins-base | 1.26.1-1 | 89 | | lib32-gst-plugins-base-libs | 1.26.1-1 | 90 | | lib32-gst-plugins-good | 1.26.1-1 | 91 | | lib32-gstreamer | 1.26.1-1 | 92 | | lib32-libelf | 0.193-1 | 93 | | lib32-mangohud | 0.8.1-1 | 94 | | lib32-pipewire | 1:1.4.2-1 | 95 | | libadwaita | 1:1.7.3-1 | 96 | | libastal-4-git | r777.2f2f231-1 | 97 | | libastal-apps-git | r777.2f2f231-1 | 98 | | libastal-battery-git | r777.2f2f231-1 | 99 | | libastal-bluetooth-git | r777.2f2f231-1 | 100 | | libastal-hyprland-git | r777.2f2f231-1 | 101 | | libastal-io-git | r777.2f2f231-1 | 102 | | libastal-mpris-git | r777.2f2f231-1 | 103 | | libastal-network-git | r777.2f2f231-1 | 104 | | libastal-notifd-git | r777.2f2f231-1 | 105 | | libastal-powerprofiles-git | r777.2f2f231-1 | 106 | | libastal-river-git | r777.2f2f231-1 | 107 | | libastal-tray-git | r777.2f2f231-1 | 108 | | libastal-wireplumber-git | r777.2f2f231-1 | 109 | | libgnome-keyring | 1:3.12.0+r14+g23438cc-1 | 110 | | libgtop | 2.41.3-2 | 111 | | libpulse | 17.0+r43+g3e2bb8a1e-1 | 112 | | libreoffice-still | 24.8.7-1 | 113 | | libva-nvidia-driver | 0.0.13-1 | 114 | | linux | 6.14.7.arch2-1 | 115 | | linux-firmware | 20250508.788aadc8-2 | 116 | | linux-headers | 6.14.7.arch2-1 | 117 | | loupe | 48.1-1 | 118 | | lswt | 2.0.0-1 | 119 | | lumen-git | v1.8.0.r2.g020be51-1 | 120 | | man-db | 2.13.1-1 | 121 | | mangohud | 0.8.1-1 | 122 | | matugen-bin | 2.4.1-1 | 123 | | mpd | 0.24.4-1 | 124 | | mpd-mpris | 0.4.1-2 | 125 | | mpv | 1:0.40.0-3 | 126 | | nano | 8.4-1 | 127 | | nautilus | 48.2-1 | 128 | | nautilus-open-any-terminal | 0.6.0-3 | 129 | | ncmpcpp | 0.10.1-4 | 130 | | neovim | 0.11.1-2 | 131 | | network-manager-applet | 1.36.0-1 | 132 | | networkmanager | 1.52.0-1 | 133 | | nftables | 1:1.1.3-1 | 134 | | nix | 2.28.3-3 | 135 | | nodejs-dummy | 1.0.0-1 | 136 | | noto-fonts-emoji | 1:2.047-1 | 137 | | npm-dummy | 1.0.0-1 | 138 | | ntfs-3g | 2022.10.3-2 | 139 | | nushell | 0.104.1-1 | 140 | | nvidia-open-dkms | 570.153.02-1 | 141 | | nwg-look | 1.0.5-1 | 142 | | obs-studio | 31.0.3-2 | 143 | | obsidian | 1.8.10-1 | 144 | | ocs-url | 3.1.0-7.4 | 145 | | onefetch | 2.24.0-1 | 146 | | pacman-contrib | 1.11.0-1 | 147 | | pipes-rs | 1.6.3-2 | 148 | | pipewire | 1:1.4.2-1 | 149 | | pipewire-alsa | 1:1.4.2-1 | 150 | | pipewire-jack | 1:1.4.2-1 | 151 | | pipewire-pulse | 1:1.4.2-1 | 152 | | playerctl | 2.4.1-4 | 153 | | polkit-gnome | 0.105-11 | 154 | | proton-vpn-gtk-app | 4.9.6-1 | 155 | | qalculate-gtk | 5.5.1-1 | 156 | | qt5-quickcontrols2 | 5.15.17+kde+r5-1 | 157 | | qt5-wayland | 5.15.17+kde+r57-1 | 158 | | qt5ct | 1.9-1 | 159 | | qt6-wayland | 6.9.0-2 | 160 | | qt6ct | 0.10-3 | 161 | | reflector | 2023-3 | 162 | | ripgrep | 14.1.1-1 | 163 | | river | 0.3.7-1 | 164 | | river-shifttags-git | 0.2.1.r0.g83803bf-1 | 165 | | rsync | 3.4.1-2 | 166 | | rust | 1:1.87.0-1 | 167 | | rust-src | 1:1.87.0-1 | 168 | | sddm | 0.21.0-6 | 169 | | selectdefaultapplication-fork-git | r72.4e8501d-1 | 170 | | slurp | 1.5.0-1 | 171 | | smartmontools | 7.5-1 | 172 | | soundfont-fluid | 3.1-5 | 173 | | starship | 1.23.0-1 | 174 | | stow | 2.4.1-1 | 175 | | telegram-desktop | 5.14.3-2 | 176 | | tgpt | 2.10.0-1 | 177 | | thunar | 4.20.3-1 | 178 | | thunar-archive-plugin | 0.6.0-1 | 179 | | thunar-volman | 4.20.0-2 | 180 | | thunderbird | 138.0.2-1 | 181 | | tldr | 3.4.1-1 | 182 | | tmux | 3.5_a-1 | 183 | | ttf-cousine-nerd | 3.4.0-1 | 184 | | ttf-firacode-nerd | 3.4.0-1 | 185 | | ttf-font-awesome | 6.7.2-1 | 186 | | ttf-jetbrains-mono-nerd | 3.4.0-1 | 187 | | ttf-liberation | 2.1.5-2 | 188 | | uget | 2.2.3-7 | 189 | | uget-integrator-chromium | 1.0.0-4 | 190 | | uncrustify | 0.81.0-1 | 191 | | unrar | 1:7.1.6-1 | 192 | | unzip | 6.0-22 | 193 | | usbmuxd | 1.1.1-4 | 194 | | uwsm | 0.21.5-1 | 195 | | vala-language-server | 0.48.7-1 | 196 | | vala-lint-git | r97.4ed1443-1 | 197 | | vim | 9.1.1376-1 | 198 | | virt-manager | 5.0.0-1 | 199 | | visual-studio-code-bin | 1.100.2-1 | 200 | | wbg | 1.2.0-1 | 201 | | wf-recorder | 0.5.0-2 | 202 | | wget | 1.25.0-2 | 203 | | wireless_tools | 30.pre9-4 | 204 | | wireplumber | 0.5.10-1 | 205 | | wl-clip-persist | 0.4.3-2 | 206 | | wl-clipboard | 1:2.2.1-2 | 207 | | wlr-randr | 0.5.0-1 | 208 | | xdg-desktop-portal-gtk | 1.15.3-1 | 209 | | xdg-desktop-portal-hyprland | 1.3.9-9 | 210 | | xdg-utils | 1.2.1-1 | 211 | | xorg-server | 21.1.16-1 | 212 | | xorg-xinit | 1.4.4-1 | 213 | | yay | 12.5.0-1 | 214 | | yt-dlp | 2025.05.22-1 | 215 | | zed | 0.188.3-1 | 216 | | zoxide | 0.9.8-2 | 217 | | zram-generator | 1.2.1-1 | 218 | | zsh | 5.9-5 | 219 | | zsh-autosuggestions | 0.7.1-1 | 220 | | zsh-completions | 0.35.0-2 | 221 | | zsh-history-substring-search | 1.1.0-2 | 222 | | zsh-syntax-highlighting | 0.8.0-1 | 223 | | zsh-theme-powerlevel10k-git | r4313.36f3045d-1 | 224 | -------------------------------------------------------------------------------- /public/installedPKGS/listPkgs.lua: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env lua 2 | -- file: listPkgs.lua 3 | local handle = io.popen("pacman -Qe") 4 | if handle ~= nil then 5 | local result = handle:read("*a") 6 | handle:close() 7 | 8 | local lines = {} 9 | for s in result:gmatch("[^\r\n]+") do 10 | table.insert(lines, s) 11 | end 12 | 13 | local markdown = "# Eelie Installed Packages\n\n| Package | Version |\n| ------- | ------- |\n" 14 | for _, line in ipairs(lines) do 15 | local package, version = line:match("(%S+)%s+(%S+)") 16 | markdown = markdown .. "| " .. package .. " | " .. version .. " |\n" 17 | end 18 | 19 | local file = io.open("README.md", "w") 20 | if file ~= nil then 21 | file:write(markdown) 22 | file:close() 23 | else 24 | print("Failed to open file") 25 | end 26 | else 27 | print("Failed to open handle") 28 | end 29 | -------------------------------------------------------------------------------- /public/installedPKGS/update.lua: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env lua 2 | 3 | local HOME = os.getenv("HOME") 4 | local pkgsDir = HOME .. "/.dotfiles/public/installedPKGS/" 5 | local pkgsScript = pkgsDir .. "listPkgs.lua" 6 | 7 | local yay = "yay" 8 | local pacman = "sudo pacman" 9 | local pacman_warp_conf = "/etc/pacman-warp.conf" 10 | 11 | local regular_update = pacman .. " -Syu --noconfirm" .. " && " .. yay .. " -Syu --noconfirm" 12 | local warp_update = pacman 13 | .. " -Syu --noconfirm --config " 14 | .. pacman_warp_conf 15 | .. " && " 16 | .. yay 17 | .. " -Syu --noconfirm --config " 18 | .. pacman_warp_conf 19 | 20 | local function updatePackages() 21 | os.execute(pkgsScript) 22 | os.execute("git add " .. pkgsDir .. "README.md") 23 | os.execute("git commit -m 'Update installed packages'") 24 | end 25 | 26 | local function perform_update(use_warp) 27 | local update_command = use_warp and warp_update or regular_update 28 | local success, exitType, exitCode = os.execute(update_command) 29 | if success and (exitType == "exit" and exitCode == 0) then 30 | updatePackages() 31 | else 32 | local updateType = use_warp and "Warp" or "Regular" 33 | print( 34 | updateType 35 | .. " update failed with exit reason: " 36 | .. tostring(exitType) 37 | .. ", exit code: " 38 | .. tostring(exitCode) 39 | ) 40 | end 41 | end 42 | 43 | -- Check the command line arguments 44 | local arg = arg[1] 45 | if arg == "pacsu" then 46 | perform_update(false) 47 | elseif arg == "pacsuw" then 48 | perform_update(true) 49 | else 50 | print("Invalid command. Use pacsu or pacsuw.") 51 | end 52 | -------------------------------------------------------------------------------- /public/morghulis.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ARKye03/dotfiles/f125386a4da63086236cee33f0b33c75f77c8367/public/morghulis.webp -------------------------------------------------------------------------------- /public/pacman.conf: -------------------------------------------------------------------------------- 1 | # 2 | # /etc/pacman.conf 3 | # 4 | # See the pacman.conf(5) manpage for option and repository directives 5 | 6 | # 7 | # GENERAL OPTIONS 8 | # 9 | [options] 10 | # The following paths are commented out with their default values listed. 11 | # If you wish to use different paths, uncomment and update the paths. 12 | #RootDir = / 13 | #DBPath = /var/lib/pacman/ 14 | #CacheDir = /var/cache/pacman/pkg/ 15 | #LogFile = /var/log/pacman.log 16 | #GPGDir = /etc/pacman.d/gnupg/ 17 | #HookDir = /etc/pacman.d/hooks/ 18 | HoldPkg = pacman glibc 19 | #XferCommand = /usr/bin/curl -L -C - -f -o %o %u 20 | #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u 21 | #CleanMethod = KeepInstalled 22 | Architecture = auto 23 | 24 | # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup 25 | # IgnorePkg = brave-bin microsoft-edge-stable-bin linux-firmware-whence linux-firmware libreoffice-still 26 | # IgnoreGroup = 27 | 28 | #NoUpgrade = 29 | #NoExtract = 30 | 31 | # Misc options 32 | #UseSyslog 33 | Color 34 | #NoProgressBar 35 | CheckSpace 36 | #VerbosePkgLists 37 | ParallelDownloads = 5 38 | ILoveCandy 39 | 40 | # By default, pacman accepts packages signed by keys that its local keyring 41 | # trusts (see pacman-key and its man page), as well as unsigned packages. 42 | SigLevel = Required DatabaseOptional 43 | LocalFileSigLevel = Optional 44 | #RemoteFileSigLevel = Required 45 | 46 | # NOTE: You must run `pacman-key --init` before first using pacman; the local 47 | # keyring can then be populated with the keys of all official Arch Linux 48 | # packagers with `pacman-key --populate archlinux`. 49 | 50 | # 51 | # REPOSITORIES 52 | # - can be defined here or included from another file 53 | # - pacman will search repositories in the order defined here 54 | # - local/custom mirrors can be added here or in separate files 55 | # - repositories listed first will take precedence when packages 56 | # have identical names, regardless of version number 57 | # - URLs will have $repo replaced by the name of the current repo 58 | # - URLs will have $arch replaced by the name of the architecture 59 | # 60 | # Repository entries are of the format: 61 | # [repo-name] 62 | # Server = ServerName 63 | # Include = IncludePath 64 | # 65 | # The header [repo-name] is crucial - it must be present and 66 | # uncommented to enable the repo. 67 | # 68 | 69 | # The testing repositories are disabled by default. To enable, uncomment the 70 | # repo name header and Include lines. You can add preferred servers immediately 71 | # after the header, and they will be used before the default mirrors. 72 | 73 | #[core-testing] 74 | #Include = /etc/pacman.d/mirrorlist 75 | 76 | [core] 77 | Include = /etc/pacman.d/mirrorlist 78 | 79 | #[extra-testing] 80 | #Include = /etc/pacman.d/mirrorlist 81 | 82 | [extra] 83 | Include = /etc/pacman.d/mirrorlist 84 | 85 | # If you want to run 32 bit applications on your x86_64 system, 86 | # enable the multilib repositories as required here. 87 | 88 | #[multilib-testing] 89 | #Include = /etc/pacman.d/mirrorlist 90 | 91 | [multilib] 92 | Include = /etc/pacman.d/mirrorlist 93 | 94 | # An example of a custom package repository. See the pacman manpage for 95 | # tips on creating your own repositories. 96 | #[custom] 97 | #SigLevel = Optional TrustAll 98 | #Server = file:///home/custompkgs 99 | 100 | #[warpdotdev] 101 | #Server = https://releases.warp.dev/linux/pacman/$repo/$arch 102 | 103 | [chaotic-aur] 104 | Include = /etc/pacman.d/chaotic-mirrorlist 105 | -------------------------------------------------------------------------------- /public/wayland-sessions/river-uwsm.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=River (uwsm) 3 | Comment=A dynamic tiling Wayland compositor 4 | Exec=uwsm start -- river.desktop 5 | Type=Application 6 | -------------------------------------------------------------------------------- /scripts/WBG.lua: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env lua 2 | 3 | local os = require("os") 4 | local io = require("io") 5 | 6 | -- Directory containing the wallpapers 7 | local wallpaper_dir = os.getenv("HOME") .. "/backgrounds/wallpapers" 8 | 9 | -- File to store the current wallpaper index 10 | local index_file = os.getenv("HOME") .. "/.cache/current_index.txt" 11 | 12 | -- Function to get all wallpapers 13 | local function get_wallpapers() 14 | local i, t, popen = 0, {}, io.popen 15 | local pfile = popen('ls -a "' .. wallpaper_dir .. '"') 16 | if pfile ~= nil then 17 | for filename in pfile:lines() do 18 | i = i + 1 19 | t[i] = wallpaper_dir .. "/" .. filename -- Prepend the directory path 20 | end 21 | pfile:close() 22 | else 23 | print("Failed to open file") 24 | end 25 | return t 26 | end 27 | -- Array of all wallpapers 28 | local wallpapers = get_wallpapers() 29 | 30 | -- Number of wallpapers 31 | local num_wallpapers = #wallpapers 32 | 33 | -- Function to select a specific wallpaper 34 | local function select_wallpaper(index) 35 | os.execute("killall wbg") 36 | os.execute('wbg "' .. wallpapers[index] .. '"') 37 | local file = io.open(index_file, "w") 38 | if file ~= nil then 39 | file:write(index) 40 | file:close() 41 | end 42 | end 43 | 44 | -- Function to select a random wallpaper 45 | local function random_wallpaper() 46 | os.execute("killall wbg") 47 | local rand_index = math.random(num_wallpapers) 48 | os.execute('wbg "' .. wallpapers[rand_index] .. '"') 49 | local file = io.open(index_file, "w") 50 | if file ~= nil then 51 | file:write(rand_index) 52 | file:close() 53 | end 54 | end 55 | 56 | -- Function to select the next wallpaper 57 | local function next_wallpaper() 58 | os.execute("killall wbg") 59 | -- Get the current wallpaper index 60 | local file = io.open(index_file, "r") 61 | local current_index 62 | if file ~= nil then 63 | current_index = file:read("*n") 64 | file:close() 65 | end 66 | local next_index -- Declare next_index here 67 | if current_index ~= nil then 68 | -- Calculate the next index 69 | next_index = (current_index + 1) % num_wallpapers 70 | -- Write the new index to the file 71 | local file_write = io.open(index_file, "w") -- Use a different variable name 72 | if file_write ~= nil then 73 | file_write:write(next_index) 74 | file_write:close() 75 | end 76 | end 77 | -- Set the next wallpaper 78 | os.execute('wbg "' .. wallpapers[next_index] .. '"') 79 | end 80 | 81 | -- Function to select the previous wallpaper 82 | local function prev_wallpaper() 83 | os.execute("killall wbg") 84 | -- Get the current wallpaper index 85 | local file = io.open(index_file, "r") 86 | local current_index 87 | if file ~= nil then 88 | current_index = file:read("*n") 89 | file:close() 90 | end 91 | local prev_index -- Declare prev_index here 92 | if current_index ~= nil then 93 | -- Calculate the previous index 94 | prev_index = (current_index - 1 + num_wallpapers) % num_wallpapers 95 | -- Write the new index to the file 96 | local file_write = io.open(index_file, "w") -- Use a different variable name 97 | if file_write ~= nil then 98 | file_write:write(prev_index) 99 | file_write:close() 100 | end 101 | end 102 | -- Set the previous wallpaper 103 | os.execute('wbg "' .. wallpapers[prev_index] .. '"') 104 | end 105 | -- Check the command line arguments 106 | local arg = arg[1] 107 | if arg == "select" then 108 | select_wallpaper(arg[2]) 109 | elseif arg == "random" then 110 | random_wallpaper() 111 | elseif arg == "next" then 112 | next_wallpaper() 113 | elseif arg == "prev" then 114 | prev_wallpaper() 115 | else 116 | print("Invalid command. Use 'select', 'random', 'next', or 'prev'.") 117 | end 118 | -------------------------------------------------------------------------------- /scripts/flake.lua: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env lua 2 | 3 | -- Get the directory of the current script 4 | local script_dir = debug.getinfo(1).source:match("@?(.*/)") 5 | package.path = script_dir .. "?.lua;" .. package.path 6 | 7 | local lib = require('lib') 8 | 9 | local function file_exists(name) 10 | local f = io.open(name, "r") 11 | if f ~= nil then 12 | io.close(f) 13 | return true 14 | else 15 | return false 16 | end 17 | end 18 | 19 | local function parse_args(args) 20 | local native_build_inputs = {} 21 | local build_inputs = {} 22 | local current_flag = nil 23 | 24 | for _, arg in ipairs(args) do 25 | if arg == "-n" then 26 | current_flag = "native" 27 | elseif arg == "-b" then 28 | current_flag = "build" 29 | else 30 | if current_flag == "native" then 31 | table.insert(native_build_inputs, arg) 32 | elseif current_flag == "build" then 33 | table.insert(build_inputs, arg) 34 | else 35 | table.insert(native_build_inputs, arg) 36 | end 37 | end 38 | end 39 | 40 | return native_build_inputs, build_inputs 41 | end 42 | 43 | local native_build_inputs, build_inputs = parse_args(arg) 44 | 45 | if file_exists("flake.nix") then 46 | os.exit(0) 47 | else 48 | local flake_nix_content = [[ 49 | { 50 | description = "my project description"; 51 | 52 | inputs.flake-utils.url = "github:numtide/flake-utils"; 53 | 54 | outputs = { self, nixpkgs, flake-utils }: 55 | flake-utils.lib.eachDefaultSystem 56 | (system: 57 | let 58 | pkgs = nixpkgs.legacyPackages.${system}; 59 | nix-utils = with pkgs; [ 60 | nixd 61 | nixpkgs-fmt 62 | ]; 63 | shell = pkgs.mkShell { 64 | nativeBuildInputs = with pkgs.buildPackages; [ ]] .. 65 | table.concat(native_build_inputs, " ") .. [[ ] ++ nix-utils; 66 | buildInputs = with pkgs; [ ]] .. table.concat(build_inputs, " ") .. [[ ]; 67 | }; 68 | in 69 | { 70 | devShells.default = shell; 71 | } 72 | ); 73 | } 74 | ]] 75 | 76 | local file = io.open("flake.nix", "w") 77 | if file then 78 | file:write(flake_nix_content) 79 | file:close() 80 | end 81 | lib.Notify("flake.nix created", "low", 2000) 82 | end 83 | -------------------------------------------------------------------------------- /scripts/screenshots: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env nu 2 | 3 | def notify [message: string, urgency: string] { 4 | notify-send $message -u $urgency 5 | } 6 | 7 | def "main full" [] { 8 | print "Taking a full screenshot" 9 | let date_now = date now | format date "%Y.%m.%d.%H:%M:%S" 10 | grim $"($env.HOME)/Pictures/($date_now).png" 11 | notify "Screenshot stored in ~/Pictures" "low" 12 | } 13 | 14 | def "main region" [] { 15 | grim -g $"(slurp)" - | wl-copy 16 | notify "Region screenshot copied to clipboard" "low" 17 | } 18 | 19 | def "main window" [] { 20 | let window_json = (hyprctl -j activewindow) | from json 21 | let window_size = ($window_json | get size) 22 | let window_x_size = ($window_size | get 0) 23 | let window_y_size = ($window_size | get 1) 24 | let window_pos = ($window_json | get at) 25 | let window_x_pos = ($window_pos | get 0) 26 | let window_y_pos = ($window_pos | get 1) 27 | grim -g $"($window_x_pos), ($window_y_pos) ($window_x_size)x($window_y_size)" - | wl-copy 28 | notify "Window screenshot copied to clipboard" "low" 29 | } 30 | 31 | def "main aspect" [] { 32 | let handle = (slurp -d -c "#ffffff" -b "#00000000") 33 | notify $"Measure is ($handle)" "low" 34 | } 35 | 36 | def main [] { 37 | let help_message = [ 38 | $"(ansi green_bold)Usage: screenshots (ansi reset)", 39 | "Commands:", 40 | "\tfull | Take a full screenshot", 41 | "\tregion | Take a screenshot of the region", 42 | "\twindow | Take a screenshot of the active window", 43 | "\taspect | Take a screenshot of the aspect ratio", 44 | "\thelp | Show this help message" 45 | ] 46 | $help_message | each { |f| print $f } 47 | } -------------------------------------------------------------------------------- /scripts/wbg: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env nu 2 | 3 | let COUNTER_FILE = $"($env.HOME)/.cache/wbg_counter.txt" 4 | let WALLPAPER_DIR = $"($env.HOME)/backgrounds/wallpapers/" 5 | let TOTAL_WALLPAPERS = (ls $WALLPAPER_DIR | length) 6 | let SERVICE_NAME = "wbg.service" 7 | let SERVICE_DESCRIPTION = "Wallpaper daemon" 8 | 9 | mut current_count = if ($COUNTER_FILE | path exists) { 10 | let tmp = open $COUNTER_FILE | lines | first | into int 11 | if ($tmp <= 0 or $tmp > $TOTAL_WALLPAPERS) { 12 | 1 13 | } else { 14 | $tmp 15 | } 16 | } else { 17 | "1" | save $COUNTER_FILE 18 | 1 19 | } 20 | 21 | def kill_wbg [] { 22 | let wbg_service_is_running = (systemctl --user is-active --quiet wbg.service | complete | get exit_code) 23 | if ($wbg_service_is_running == 0) { 24 | systemctl --user stop $SERVICE_NAME 25 | } 26 | let wbg_process_is_running = (ps | where name =~ 'wbg' | is-empty) 27 | if not $wbg_process_is_running { 28 | killall -q wbg 29 | } 30 | } 31 | 32 | def set_wallpaper [wallpaper_path: string, current_count: int] { 33 | if not ($wallpaper_path | path exists) { 34 | notify-send $"Wallpaper not found ($wallpaper_path)" 35 | return 36 | } 37 | kill_wbg 38 | 39 | (($current_count mod $TOTAL_WALLPAPERS) + 1) | save -f $COUNTER_FILE 40 | systemd-run --user --unit $SERVICE_NAME --description $SERVICE_DESCRIPTION wbg $wallpaper_path 41 | } 42 | 43 | 44 | let selected_wallpaper = ls $WALLPAPER_DIR | sort -n | get ($current_count - 1) | get name 45 | set_wallpaper $selected_wallpaper $current_count 46 | --------------------------------------------------------------------------------