diff --git a/.bin/sh/buildgames.sh b/.bin/sh/buildgames.sh index 78a55ee..dcfb747 100755 --- a/.bin/sh/buildgames.sh +++ b/.bin/sh/buildgames.sh @@ -48,11 +48,11 @@ fi # Ask for confirmation to build vkquake { -read -p "Build Quakespasm-spiked? [y/n]:" -n 1 -r +read -p "Build vkQuake? [y/n]:" -n 1 -r echo if [[ $REPLY =~ ^[Yy]$ ]] then - ~/.bin/sh/quakespasm-compile.sh + ~/.bin/sh/vkquake-compile.sh fi } diff --git a/.bin/sh/quakespasm-compile.sh b/.bin/sh/quakespasm-compile.sh deleted file mode 100755 index e20811a..0000000 --- a/.bin/sh/quakespasm-compile.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh - -# Switch to git directory and clone source -{ -cd /home/peter/Downloads/git; -git clone https://github.com/Shpoike/Quakespasm.git; -} - -# Build binary - -{ -cd /home/peter/Downloads/git/Quakespasm/Quake; -make; -} - -# Install executable @ ~/.bin - -{ -cd /home/peter/.bin/Quakespasm; -mv /home/peter/.bin/Quakespasm/quakespasm /home/peter/.bin/Quakespasm/.old; -mv /home/peter/.bin/Quakespasm/quakespasm.pak /home/peter/.bin/Quakespasm/.old; -cd /home/peter/Downloads/git/Quakespasm/Quake; -cp /home/peter/Downloads/git/Quakespasm/Quake/quakespasm /home/peter/.bin/Quakespasm; -cp /home/peter/Downloads/git/Quakespasm/Quake/quakespasm.pak /home/peter/.bin/Quakespasm; -chmod 755 /home/peter/.bin/Quakespasm; -} - -# Cleanup - -{ -rm -rf /home/peter/Downloads/git/Quakespasm; -} diff --git a/.config/btop/btop.conf b/.config/btop/btop.conf index df54f3c..4f2c05d 100755 --- a/.config/btop/btop.conf +++ b/.config/btop/btop.conf @@ -1,4 +1,4 @@ -#? Config file for btop v. 1.4.0 +#? Config file for btop v. 1.4.4 #* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes. #* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes" @@ -150,7 +150,7 @@ background_update = True custom_cpu_name = "" #* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ". -#* Begin line with "exclude=" to change to exclude filter, otherwise defaults to "most include" filter. Example: disks_filter="exclude=/boot /home/user". +#* Only disks matching the filter will be shown. Prepend exclude= to only show disks not matching the filter. Examples: disk_filter="/boot /home/user", disks_filter="exclude=/boot /home/user" disks_filter = "" #* Show graphs instead of meters for memory values. @@ -210,6 +210,9 @@ net_sync = True #* Starts with the Network Interface specified here. net_iface = "" +#* "True" shows bitrates in base 10 (Kbps, Mbps). "False" shows bitrates in binary sizes (Kibps, Mibps, etc.). "Auto" uses base_10_sizes. +base_10_bitrate = "Auto" + #* Show battery stats in top right if battery is present. show_battery = True @@ -226,6 +229,9 @@ log_level = "WARNING" #* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards. nvml_measure_pcie_speeds = True +#* Measure PCIe throughput on AMD cards, may impact performance on certain cards. +rsmi_measure_pcie_speeds = True + #* Horizontally mirror the GPU graph. gpu_mirror_graph = True diff --git a/.config/fastfetch/config.jsonc b/.config/fastfetch/config.jsonc index eeba36a..ba05725 100644 --- a/.config/fastfetch/config.jsonc +++ b/.config/fastfetch/config.jsonc @@ -42,7 +42,8 @@ { "type": "gpu", "key": " {#32}󰍹 {#39}Graphics {#33}-", - "format": "{2}" + "format": "{2}", + "hideType": "integrated" }, { "type": "memory", diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index 78bf251..b63f44f 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -222,6 +222,7 @@ bind = $mainMod, P, exec, $menu bind = $mainMod, F, fullscreen bind = $mainMod, C, exec, galculator bind = $mainMod CTRL, T, exec, steam +bind = $mainMod, R, exec, retroarch --appendconfig /home/peter/.config/retroarch/config/retroarch.cfg bind = $mainMod CTRL, Y, exec, heroic bind = $mainMod, N, exec, dunstctl context bind = $mainMod CTRL, U, exec, [workspace special:scratchpad silent] signal-desktop --ozone-platform-hint=auto --enable-features=UseOzonePlatform,WaylandWindowDecorations diff --git a/.config/supersonic/themes/dracula.toml b/.config/supersonic/themes/dracula.toml index 1287c43..1d95b47 100644 --- a/.config/supersonic/themes/dracula.toml +++ b/.config/supersonic/themes/dracula.toml @@ -19,7 +19,7 @@ ScrollBar = "#44475A" Button = "#282A36" DisabledButton = "#1E1F29" Selection = "#44475A" -#Primary = "#BD93F9" +Primary = "#BD93F9" Focus = "#BD93F9" Separator = "#44475A" Foreground = "#F8F8F2" diff --git a/.config/waybar/config b/.config/waybar/config index 9242aba..95202ac 100644 --- a/.config/waybar/config +++ b/.config/waybar/config @@ -14,7 +14,7 @@ "output": "DP-2", "layer": "top", "modules-left": ["hyprland/workspaces", "hyprland/mode"], - "modules-center": ["group/statistics", "group/status", "custom/pacman", "group/networks", "bluetooth", "group/audio-player"], + "modules-center": ["group/statistics", "group/status", "temperature", "custom/pacman", "group/networks", "bluetooth", "group/audio-player"], /* "modules-right": ["tray", "custom/scratchpad-indicator", "pulseaudio",], */ "modules-right": ["group/taskbar", "group/group-power"], @@ -45,7 +45,6 @@ "orientation": "inherit", "modules": [ "group/playing", - "cava" ] }, "group/playing": { @@ -87,27 +86,6 @@ "on-click": "exec ~/.bin/sh/dunstaudio.sh play_pause", "on-click-right": "exec ~/.bin/sh/dunstaudio.sh next_track", "on-click-middle": "exec ~/.bin/sh/dunstaudio.sh prev_track", - }, -"cava": { - "cava_config": "/home/peter/.config/cava/config", - "framerate": 240, - "autosens": 1, - "bars": 6, - "lower_cutoff_freq": 50, - "higher_cutoff_freq": 10000, - "method": "pipewire", - "source": "auto", - "stereo": true, - "reverse": false, - "bar_delimiter": 32, - "monstercat": false, - "waves": false, - "noise_reduction": 0.77, - "input_delay": 2, - "format-icons" : ["", "", "", "", "", "", "", "" ], - "actions": { - "on-click-right": "mode" - } }, "group/statistics": { "orientation": "inherit", @@ -115,8 +93,7 @@ "custom/gpu-usage", "cpu", "memory", - "group/disks", - "temperature" + "group/disks" ] }, "custom/pacman": { diff --git a/.config/waybar/scripts/weather.py b/.config/waybar/scripts/weather.py index 5cede03..4516586 100755 --- a/.config/waybar/scripts/weather.py +++ b/.config/waybar/scripts/weather.py @@ -51,7 +51,8 @@ status = f"{status[:16]}.." if len(status) > 17 else status # status code status_code_class = html_data("#regionHeader").attr("class") -status_code = str(status_code_class).split(" ")[2].split("-")[2] +#status_code = str(status_code_class).split(" ")[2].split("-")[2] +status_code = "default" # status icon icon = ( diff --git a/.config/waybar/style.css b/.config/waybar/style.css index e2274bd..e8c17e2 100644 --- a/.config/waybar/style.css +++ b/.config/waybar/style.css @@ -294,7 +294,7 @@ window#waybar.hidden { border-radius: 10px; transition: none; color: #50fa7b; - background: #282a36; + background: transparent; } #custom-power { margin-top: 6px; diff --git a/.config/yazi/plugins/chmod.yazi/README.md b/.config/yazi/plugins/chmod.yazi/README.md index b2ad136..74616a7 100644 --- a/.config/yazi/plugins/chmod.yazi/README.md +++ b/.config/yazi/plugins/chmod.yazi/README.md @@ -21,7 +21,7 @@ run = "plugin chmod" desc = "Chmod on selected files" ``` -Make sure the c => m key is not used elsewhere. +Note that, the keybindings above are just examples, please tune them up as needed to ensure they don't conflict with your other commands/plugins. ## License diff --git a/.config/yazi/plugins/chmod.yazi/main.lua b/.config/yazi/plugins/chmod.yazi/main.lua index 589ebd5..a50a864 100644 --- a/.config/yazi/plugins/chmod.yazi/main.lua +++ b/.config/yazi/plugins/chmod.yazi/main.lua @@ -1,4 +1,4 @@ ---- @since 25.5.28 +--- @since 25.5.31 local selected_or_hovered = ya.sync(function() local tab, paths = cx.active, {} @@ -22,7 +22,8 @@ return { local value, event = ya.input { title = "Chmod:", - position = { "top-center", y = 3, w = 40 }, + pos = { "top-center", y = 3, w = 40 }, + position = { "top-center", y = 3, w = 40 }, -- TODO: remove } if event ~= 1 then return diff --git a/.config/yazi/plugins/git.yazi/README.md b/.config/yazi/plugins/git.yazi/README.md index f1848e9..96a87a8 100644 --- a/.config/yazi/plugins/git.yazi/README.md +++ b/.config/yazi/plugins/git.yazi/README.md @@ -34,6 +34,9 @@ run = "git" ## Advanced +> [!NOTE] +> The following configuration must be put before `require("git"):setup()` + You can customize the [Style](https://yazi-rs.github.io/docs/plugins/layout#style) of the status sign with: - `th.git.modified` diff --git a/.config/yazi/plugins/git.yazi/main.lua b/.config/yazi/plugins/git.yazi/main.lua index fd8b8bf..e6b3a36 100644 --- a/.config/yazi/plugins/git.yazi/main.lua +++ b/.config/yazi/plugins/git.yazi/main.lua @@ -1,10 +1,11 @@ ---- @since 25.5.28 +--- @since 25.5.31 local WINDOWS = ya.target_family() == "windows" -- The code of supported git status, -- also used to determine which status to show for directories when they contain different statuses -- see `bubble_up` +---@enum CODES local CODES = { excluded = 100, -- ignored directory ignored = 6, -- ignored file @@ -26,6 +27,8 @@ local PATTERNS = { { "[AD][AD]", CODES.updated }, } +---@param line string +---@return CODES, string local function match(line) local signs = line:sub(1, 2) for _, p in ipairs(PATTERNS) do @@ -41,9 +44,12 @@ local function match(line) else return code, path end + ---@diagnostic disable-next-line: missing-return end end +---@param cwd Url +---@return string? local function root(cwd) local is_worktree = function(url) local file, head = io.open(tostring(url)), nil @@ -64,6 +70,8 @@ local function root(cwd) until not cwd end +---@param changed Changes +---@return Changes local function bubble_up(changed) local new, empty = {}, Url("") for path, code in pairs(changed) do @@ -79,6 +87,10 @@ local function bubble_up(changed) return new end +---@param excluded string[] +---@param cwd Url +---@param repo Url +---@return Changes local function propagate_down(excluded, cwd, repo) local new, rel = {}, cwd:strip_prefix(repo) for _, path in ipairs(excluded) do @@ -95,7 +107,12 @@ local function propagate_down(excluded, cwd, repo) return new end +---@param cwd string +---@param repo string +---@param changed Changes local add = ya.sync(function(st, cwd, repo, changed) + ---@cast st State + st.dirs[cwd] = repo st.repos[repo] = st.repos[repo] or {} for path, code in pairs(changed) do @@ -108,16 +125,29 @@ local add = ya.sync(function(st, cwd, repo, changed) st.repos[repo][path] = code end end - ya.render() + -- TODO: remove this + if ui.render then + ui.render() + else + ya.render() + end end) +---@param cwd string local remove = ya.sync(function(st, cwd) + ---@cast st State + local repo = st.dirs[cwd] if not repo then return end - ya.render() + -- TODO: remove this + if ui.render then + ui.render() + else + ya.render() + end st.dirs[cwd] = nil if not st.repos[repo] then return @@ -131,9 +161,11 @@ local remove = ya.sync(function(st, cwd) st.repos[repo] = nil end) +---@param st State +---@param opts Options local function setup(st, opts) - st.dirs = {} -- Mapping between a directory and its corresponding repository - st.repos = {} -- Mapping between a repository and the status of each of its files + st.dirs = {} + st.repos = {} opts = opts or {} opts.order = opts.order or 1500 @@ -174,6 +206,7 @@ local function setup(st, opts) end, opts.order) end +---@type UnstableFetcher local function fetch(_, job) local cwd = job.files[1].url.base local repo = root(cwd) diff --git a/.config/yazi/plugins/ouch.yazi/README.md b/.config/yazi/plugins/ouch.yazi/README.md index e09b3df..571cefb 100644 --- a/.config/yazi/plugins/ouch.yazi/README.md +++ b/.config/yazi/plugins/ouch.yazi/README.md @@ -12,7 +12,7 @@ ### Yazi package manager ```bash -ya pack -a ndtoan96/ouch +ya pkg add ndtoan96/ouch ``` ### Git @@ -43,8 +43,12 @@ prepend_previewers = [ { mime = "application/x-bzip2", run = "ouch" }, { mime = "application/x-7z-compressed", run = "ouch" }, { mime = "application/x-rar", run = "ouch" }, - { mime = "application/x-xz", run = "ouch" }, + { mime = "application/vnd.rar", run = "ouch" }, + { mime = "application/x-xz", run = "ouch" }, { mime = "application/xz", run = "ouch" }, + { mime = "application/x-zstd", run = "ouch" }, + { mime = "application/zstd", run = "ouch" }, + { mime = "application/java-archive", run = "ouch" }, ] ``` @@ -56,7 +60,7 @@ If you want to change the icon or the style of text, you can modify the `peek` f For compession, add this to your `keymap.toml`: ```toml -[[manager.prepend_keymap]] +[[mgr.prepend_keymap]] on = ["C"] run = "plugin ouch" desc = "Compress with ouch" @@ -73,7 +77,7 @@ To decompress with `ouch`, configure the opener in `yazi.toml`. ```toml [opener] extract = [ - { run = 'ouch d -y "%*"', desc = "Extract here with ouch", for = "windows" }, + { run = 'ouch d -y %*', desc = "Extract here with ouch", for = "windows" }, { run = 'ouch d -y "$@"', desc = "Extract here with ouch", for = "unix" }, ] ``` diff --git a/.config/yazi/plugins/ouch.yazi/main.lua b/.config/yazi/plugins/ouch.yazi/main.lua index 9491e17..4b6a739 100644 --- a/.config/yazi/plugins/ouch.yazi/main.lua +++ b/.config/yazi/plugins/ouch.yazi/main.lua @@ -126,6 +126,7 @@ function M:entry(job) title = "Create archive:", value = default_name .. "." .. default_fmt, position = { "top-center", y = 3, w = 40 }, + pos = { "top-center", y = 3, w = 40 }, }) if name_event ~= 1 then return @@ -136,6 +137,7 @@ function M:entry(job) local confirm, confirm_event = ya.input({ title = "Overwrite " .. output_name .. "? (y/N)", position = { "top-center", y = 3, w = 40 }, + pos = { "top-center", y = 3, w = 40 }, }) if not (confirm_event == 1 and confirm:lower() == "y") then return diff --git a/.config/yazi/plugins/toggle-pane.yazi/README.md b/.config/yazi/plugins/toggle-pane.yazi/README.md index 3ef4095..ba70f1f 100644 --- a/.config/yazi/plugins/toggle-pane.yazi/README.md +++ b/.config/yazi/plugins/toggle-pane.yazi/README.md @@ -42,6 +42,8 @@ desc = "Maximize or restore the preview pane" You can replace `preview` with `current` or `parent` to toggle the other panes. +Note that, the keybindings above are just examples, please tune them up as needed to ensure they don't conflict with your other commands/plugins. + ## Advanced In addition to triggering the plugin with a keypress, you can also trigger it in your `init.lua` file: diff --git a/.config/yazi/plugins/toggle-pane.yazi/main.lua b/.config/yazi/plugins/toggle-pane.yazi/main.lua index 130c174..72bbf0e 100644 --- a/.config/yazi/plugins/toggle-pane.yazi/main.lua +++ b/.config/yazi/plugins/toggle-pane.yazi/main.lua @@ -1,4 +1,4 @@ ---- @since 25.5.28 +--- @since 25.5.31 --- @sync entry local function entry(st, job) diff --git a/.config/yazi/plugins/yatline.yazi/main.lua b/.config/yazi/plugins/yatline.yazi/main.lua index ea354f3..a4e5d1a 100644 --- a/.config/yazi/plugins/yatline.yazi/main.lua +++ b/.config/yazi/plugins/yatline.yazi/main.lua @@ -1,3 +1,4 @@ +--- @since 25.5.31 --- @diagnostic disable: undefined-global, undefined-field --- @alias Mode Mode Comes from Yazi. --- @alias Rect Rect Comes from Yazi. @@ -1316,7 +1317,7 @@ return { Progress.partial_render = function(self) local progress = cx.tasks.progress if progress.total == 0 then - return { config_paragraph(self._area) } + return config_paragraph(self._area) end local gauge = ui.Gauge():area(self._area) @@ -1332,11 +1333,9 @@ return { end local left = progress.total - progress.succ - return { - gauge - :percent(percent) - :label(ui.Span(string.format("%3d%%, %d left", percent, left)):style(th.status.progress_label)), - } + return gauge + :percent(percent) + :label(ui.Span(string.format("%3d%%, %d left", percent, left)):style(th.status.progress_label)) end if display_header_line then @@ -1347,7 +1346,7 @@ return { return { config_paragraph(self._area, left_line), - ui.Text(right_line):area(self._area):align(ui.Text.RIGHT), + right_line:area(self._area):align(ui.Align.RIGHT), } end @@ -1373,8 +1372,8 @@ return { return { config_paragraph(self._area, left_line), - ui.Text(right_line):area(self._area):align(ui.Text.RIGHT), - table.unpack(Progress:new(self._area, right_width):redraw()), + right_line:area(self._area):align(ui.Align.RIGHT), + table.unpack(ui.redraw(Progress:new(self._area, right_width))), } end @@ -1423,6 +1422,8 @@ return { end end + table.insert(childrens, Modal:new(self._area)) + self._children = childrens end end, diff --git a/.zshrc b/.zshrc index aac67c2..4224afd 100644 --- a/.zshrc +++ b/.zshrc @@ -118,7 +118,7 @@ alias buildorder='auracle buildorder' alias updateaur='auracle update && cd /home/peter/Downloads/AUR' alias check='pacman -Si' alias checkaur='auracle info' -alias clear='clear && fastfetch --gpu-hide-type integrated' +alias clear='clear && fastfetch' alias pkgstatus='comm -23 <(pacman -Qqm | sort) <(curl https://aur.archlinux.org/packages.gz | gzip -cd | sort)' # 8.7 Script Aliases @@ -139,7 +139,7 @@ alias aurfzf='~/.bin/sh/aur.sh' # 8.8 Meme aliases -alias archbtw='fastfetch --gpu-hide-type integrated' +alias archbtw='fastfetch' # 8.9 Newsboat aliases @@ -156,7 +156,7 @@ export PATH=${PATH}:~/platform-tools # 10. Arch BTW -fastfetch --gpu-hide-type integrated +fastfetch # 11. Dracula TTY theme