Compare commits

...

5 Commits

33 changed files with 7125 additions and 46 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,3 @@
#!/bin/bash
echo $((1-$(cat /sys/class/leds/*::capslock/brightness))) > /sys/class/leds/*::capslock/brightness

View File

@@ -0,0 +1,97 @@
# For defaults and description of each option, see the link bellow
# https://github.com/dunst-project/dunst/blob/master/dunstrc
[global]
# Display
follow = mouse
width = (350, 600)
height = (0, 600)
# origin = top-right
origin = top-center
offset = (35, 35)
indicate_hidden = yes
notification_limit = 5
gap_size = 12
padding = 12
horizontal_padding = 20
frame_width = 1
sort = no
# Progress bar
progress_bar_frame_width = 0
progress_bar_corner_radius = 3
progress_bar_max_width=300
progress_bar_horizontal_alignment=center
# Colors
foreground = "#cdd1dc"
frame_color = "#2d303c"
highlight = "#2274d5, #82aad9"
# Text
font = Noto Sans CJK JP 10
markup = full
format = "<small>%a</small>\n<big><b>%s</b></big>\n%b"
alignment = left
vertical_alignment = center
show_age_threshold = -1
hide_duplicate_count = true
# Icon
icon_position = left
min_icon_size = 54
max_icon_size = 80
icon_path = /usr/share/icons/Adwaita/symbolic:/usr/share/icons/Arc/status/symbolic
icon_corner_radius = 4
# Misc/Advanced
# dmenu = wofi --show drun --prompt 'Open with'
corner_radius = 10
# Mouse
mouse_left_click = close_current
mouse_middle_click = do_action, close_current
mouse_right_click = close_all
[urgency_low]
background = "#383c4af0"
timeout = 3
[urgency_normal]
background = "#383c4af0"
timeout = 8
[urgency_critical]
background = "#9b4d4bf0"
frame_color = "#ab6d6b"
highlight = "#e31e1b, #e37371"
timeout = 0
# Rules
[fullscreen_delay_everything]
fullscreen = delay
[fullscreen_show_critical]
msg_urgency = critical
fullscreen = show
[progress]
appname="progress"
hide_text=true
# foreground = "#ffffff"
# background = "#000000"
# highlight = "#000000, #000000, #ffffff"
highlight = "#000000, #ffffff"
icon_position = "top"
# frame_color = "#ffffff"
history_ignore=true
min_icon_size=128
max_icon_size=128
timeout=1
[playback]
appname="playback"
timeout = 2
# format = "<big><b>%s</b></big> - <i>%b</i>"
format = "<big><b>%s</b></big>\n<i>%b</i>"
alignment = left

View File

@@ -0,0 +1,17 @@
source /usr/share/cachyos-fish-config/cachyos-config.fish
# overwrite greeting
# potentially disabling fastfetch
#function fish_greeting
# # smth smth
#end
export EDITOR=nvim
export VISUAL=nvim
# if test -z "$WAYLAND_DISPLAY"; and test (tty) = "/dev/tty1"
# exec river
# end

View File

@@ -0,0 +1,77 @@
# This file contains fish universal variable definitions.
# VERSION: 3.0
SETUVAR __done_min_cmd_duration:10000
SETUVAR __done_notification_urgency_level:low
SETUVAR __fish_initialized:4300
SETUVAR pure_begin_prompt_with_current_directory:true
SETUVAR pure_check_for_new_release:false
SETUVAR pure_color_at_sign:pure_color_mute
SETUVAR pure_color_aws_profile:pure_color_warning
SETUVAR pure_color_command_duration:pure_color_warning
SETUVAR pure_color_current_directory:pure_color_primary
SETUVAR pure_color_danger:red
SETUVAR pure_color_dark:black
SETUVAR pure_color_exit_status:pure_color_danger
SETUVAR pure_color_git_branch:pure_color_mute
SETUVAR pure_color_git_dirty:pure_color_mute
SETUVAR pure_color_git_stash:pure_color_info
SETUVAR pure_color_git_unpulled_commits:pure_color_info
SETUVAR pure_color_git_unpushed_commits:pure_color_info
SETUVAR pure_color_hostname:pure_color_mute
SETUVAR pure_color_info:cyan
SETUVAR pure_color_jobs:pure_color_normal
SETUVAR pure_color_k8s_context:pure_color_success
SETUVAR pure_color_k8s_namespace:pure_color_primary
SETUVAR pure_color_k8s_prefix:pure_color_info
SETUVAR pure_color_light:white
SETUVAR pure_color_mute:brblack
SETUVAR pure_color_nixdevshell_prefix:pure_color_info
SETUVAR pure_color_nixdevshell_symbol:pure_color_mute
SETUVAR pure_color_normal:normal
SETUVAR pure_color_prefix_root_prompt:pure_color_danger
SETUVAR pure_color_primary:blue
SETUVAR pure_color_prompt_on_error:pure_color_danger
SETUVAR pure_color_prompt_on_success:pure_color_success
SETUVAR pure_color_success:magenta
SETUVAR pure_color_system_time:pure_color_mute
SETUVAR pure_color_username_normal:pure_color_mute
SETUVAR pure_color_username_root:pure_color_light
SETUVAR pure_color_virtualenv:pure_color_mute
SETUVAR pure_color_warning:yellow
SETUVAR pure_convert_exit_status_to_signal:false
SETUVAR pure_enable_aws_profile:true
SETUVAR pure_enable_container_detection:true
SETUVAR pure_enable_git:true
SETUVAR pure_enable_k8s:false
SETUVAR pure_enable_nixdevshell:false
SETUVAR pure_enable_single_line_prompt:false
SETUVAR pure_enable_virtualenv:true
SETUVAR pure_reverse_prompt_symbol_in_vimode:true
SETUVAR pure_separate_prompt_on_error:false
SETUVAR pure_shorten_prompt_current_directory_length:0
SETUVAR pure_shorten_window_title_current_directory_length:0
SETUVAR pure_show_exit_status:false
SETUVAR pure_show_jobs:false
SETUVAR pure_show_numbered_git_indicator:false
SETUVAR pure_show_prefix_root_prompt:false
SETUVAR pure_show_subsecond_command_duration:false
SETUVAR pure_show_system_time:false
SETUVAR pure_symbol_aws_profile_prefix:
SETUVAR pure_symbol_container_prefix:
SETUVAR pure_symbol_exit_status_prefix:\x7c
SETUVAR pure_symbol_exit_status_separator:\x7c
SETUVAR pure_symbol_git_dirty:\x2a
SETUVAR pure_symbol_git_stash:\u2261
SETUVAR pure_symbol_git_unpulled_commits:\u21e3
SETUVAR pure_symbol_git_unpushed_commits:\u21e1
SETUVAR pure_symbol_k8s_prefix:\u2638
SETUVAR pure_symbol_nixdevshell_prefix:\u2744\ufe0f
SETUVAR pure_symbol_prefix_root_prompt:\x23
SETUVAR pure_symbol_prompt:\u276f
SETUVAR pure_symbol_reverse_prompt:\u276e
SETUVAR pure_symbol_ssh_prefix:
SETUVAR pure_symbol_title_bar_separator:\x2d
SETUVAR pure_symbol_virtualenv_prefix:
SETUVAR pure_threshold_command_duration:5
SETUVAR pure_truncate_prompt_current_directory_keeps:\x2d1
SETUVAR pure_truncate_window_title_current_directory_keeps:\x2d1

View File

@@ -0,0 +1,8 @@
function y
set tmp (mktemp -t "yazi-cwd.XXXXXX")
command yazi $argv --cwd-file="$tmp"
if read -z cwd < "$tmp"; and [ "$cwd" != "$PWD" ]; and test -d "$cwd"
builtin cd -- "$cwd"
end
rm -f -- "$tmp"
end

View File

@@ -0,0 +1,3 @@
profile {
output eDP-1 enable mode 2560x1600@60
}

27
kwm/.config/kwm/bar.sh Executable file
View File

@@ -0,0 +1,27 @@
#!/bin/bash
BASH_ARGV0="kwm_bar"
rm -f /tmp/bar
mkfifo /tmp/bar
exec 1<>/tmp/bar
while true; do
# brightness="$(($(cat /sys/class/backlight/amdgpu_bl1/brightness) * 100 / $(cat /sys/class/backlight/amdgpu_bl1/max_brightness)))"
battery="$(cat /sys/class/power_supply/BAT0/capacity)"
time="$(date +%R)"
vol="$(pamixer --get-volume-human)"
if ! playback="$(playerctl metadata -f '🎵 {{xesam:title}} - {{xesam:artist}} | ')"; then
playback=''
fi
vol_icon='V:'
# brightness_icon='B:'
battery_icon='🔋'
echo "$playback$vol_icon $vol | $battery_icon$battery% | $time" >/tmp/bar
sleep 1
done

1229
kwm/.config/kwm/config.zon Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,36 @@
return
{
-- Configuration function to be run after the plugin is loaded
on_load = function()
require('fzf-lua').register_ui_select(function(_,items)
local h = (#items + 2) / vim.o.lines
return {
'ivy',
prompt = '> ',
winopts = {
row=0.50,
col=0.50,
width=0.2,
height=h
},
fzf_opts = {
['--layout'] = 'reverse-list',
['--info'] = 'hidden',
},
}
end)
end,
-- Keymaps to be set after the plugin is loaded
keymaps = {
{ keys="<leader>ff", cmd=require('fzf-lua').files , desc="Files" },
{ keys="<leader>ft", cmd=require('fzf-lua').live_grep , desc="Text" },
{ keys="<leader>fb", cmd=require('fzf-lua').buffers , desc="Buffers" },
{ keys="<leader>fq", cmd=require('fzf-lua').quickfix , desc="Quickfix" },
{ keys="<leader>fr", cmd=require('fzf-lua').registers , desc="Registers" },
{ keys="<leader>fc", cmd=require('fzf-lua').resume , desc="Continue" },
{ keys="<leader>fd", cmd=require('fzf-lua').diagnostics_workspace, desc="Diagnostics"},
{ keys="<leader>fh", cmd=require('fzf-lua').helptags , desc="Help Tags" },
}
}

View File

@@ -2,7 +2,8 @@ return
{ {
-- Configuration function to be run after the plugin is loaded -- Configuration function to be run after the plugin is loaded
on_load = function() on_load = function()
require("oil").setup{ watch_for_changes = true, require('oil').setup{
watch_for_changes = true,
default_file_explorer = true, default_file_explorer = true,
view_options = { view_options = {
show_hidden = true show_hidden = true
@@ -17,7 +18,7 @@ return
keymaps = { keymaps = {
{ keys = '<leader>oo', cmd = require('oil').open , desc = 'Open' }, { keys = '<leader>oo', cmd = require('oil').open , desc = 'Open' },
{ keys = '<leader>oc', cmd = require('oil').close , desc = 'Close' }, { keys = '<leader>oc', cmd = require('oil').close , desc = 'Close' },
{ keys = '<leader>of', cmd = require('oil').toggle_float , desc = 'Toggle Floating' }, { keys = '<leader>of', cmd = function() require('oil').toggle_float(nil, { preview = {} }) end, desc = 'Toggle Floating' },
{ keys = '<leader>op', cmd = require('oil.actions').preview.callback , desc = 'Toggle Preview' }, { keys = '<leader>op', cmd = require('oil.actions').preview.callback , desc = 'Toggle Preview' },
} }
} }

View File

@@ -1,24 +0,0 @@
local function tc(cmd,theme)
return "<cmd>Telescope "..cmd.." theme="..theme.."<CR>"
end
-- local builtin = require('telescope.builtin')
return
{
-- Configuration function to be run after the plugin is loaded
on_load = function() end,
-- Keymaps to be set after the plugin is loaded
keymaps = {
{ keys="<leader>tf", cmd=tc("find_files" ,"dropdown"), desc="Files" },
{ keys="<leader>tt", cmd=tc("live_grep" ,"ivy") , desc="Text" },
{ keys="<leader>tb", cmd=tc("buffers" ,"dropdown"), desc="Buffers" },
{ keys="<leader>ts", cmd=tc("search_history","ivy") , desc="History" },
{ keys="<leader>tq", cmd=tc("quickfix" ,"ivy") , desc="Quickfix" },
{ keys="<leader>tr", cmd=tc("registers" ,"ivy") , desc="Registers" },
{ keys="<leader>ta", cmd=tc("aerial" ,"ivy") , desc="Aerial" },
{ keys="<leader>tc", cmd=tc("resume" ,"dropdown"), desc="Continue" },
{ keys="<leader>td", cmd=tc("diagnostics" ,"ivy") , desc="Diagnostics"},
{ keys="<leader>th", cmd=tc("help_tags" ,"ivy") , desc="Help Tags" },
}
}

View File

@@ -2,7 +2,6 @@
return return
{ {
-- Dependencies -- Dependencies
'https://github.com/nvim-lua/plenary.nvim', -- For Telescope
'https://github.com/nvim-neotest/nvim-nio' , -- For nvim-dap-ui 'https://github.com/nvim-neotest/nvim-nio' , -- For nvim-dap-ui
-- Colorschemes -- Colorschemes
@@ -13,7 +12,7 @@ return
{ src = 'https://github.com/nvim-mini/mini.nvim', name = 'mini' }, { src = 'https://github.com/nvim-mini/mini.nvim', name = 'mini' },
{ src = 'https://github.com/stevearc/oil.nvim', name = 'oil' }, { src = 'https://github.com/stevearc/oil.nvim', name = 'oil' },
{ src = 'https://github.com/nvim-telescope/telescope.nvim', name = 'telescope' }, 'https://github.com/ibhagwan/fzf-lua',
{ src = 'https://github.com/stevearc/overseer.nvim', name = 'overseer', data = { simple_init = true } }, { src = 'https://github.com/stevearc/overseer.nvim', name = 'overseer', data = { simple_init = true } },
{ src = 'https://codeberg.org/andyg/leap.nvim', name = 'leap' }, { src = 'https://codeberg.org/andyg/leap.nvim', name = 'leap' },

View File

@@ -1,5 +1,6 @@
vim.opt.backup = false -- Backup file creation vim.opt.backup = false -- Backup file creation
vim.opt.clipboard = "unnamedplus" -- Using system clipboard vim.opt.clipboard = { "unnamedplus" } -- Using system clipboard
vim.opt.cmdheight = 0 vim.opt.cmdheight = 0
vim.opt.showcmdloc = 'statusline' vim.opt.showcmdloc = 'statusline'
vim.opt.conceallevel = 0 vim.opt.conceallevel = 0

View File

@@ -1,5 +1,9 @@
{ {
"plugins": { "plugins": {
"fzf-lua": {
"rev": "14e2ebc7ed4cef90ffb4fd192ca28c33741818eb",
"src": "https://github.com/ibhagwan/fzf-lua"
},
"helpview.nvim": { "helpview.nvim": {
"rev": "518789535a0cb146224a428edf93a70f98b795db", "rev": "518789535a0cb146224a428edf93a70f98b795db",
"src": "https://github.com/OXY2DEV/helpview.nvim" "src": "https://github.com/OXY2DEV/helpview.nvim"
@@ -9,7 +13,7 @@
"src": "https://github.com/folke/lazydev.nvim" "src": "https://github.com/folke/lazydev.nvim"
}, },
"leap": { "leap": {
"rev": "25d893149edfc831ba188f16448b255ab582544c", "rev": "e20f33507bd2d6c671b7273f797f2d3cf521ac61",
"src": "https://codeberg.org/andyg/leap.nvim" "src": "https://codeberg.org/andyg/leap.nvim"
}, },
"mason": { "mason": {
@@ -17,7 +21,7 @@
"src": "https://github.com/mason-org/mason.nvim" "src": "https://github.com/mason-org/mason.nvim"
}, },
"mini": { "mini": {
"rev": "59f09943573c5348ca6c88393fa09ce3b66a7818", "rev": "439cdcd6992bc9012efd7d8ed7a7b7a0f1fac32a",
"src": "https://github.com/nvim-mini/mini.nvim" "src": "https://github.com/nvim-mini/mini.nvim"
}, },
"neovim-ayu": { "neovim-ayu": {
@@ -29,7 +33,7 @@
"src": "https://github.com/mfussenegger/nvim-dap" "src": "https://github.com/mfussenegger/nvim-dap"
}, },
"nvim-dap-ui": { "nvim-dap-ui": {
"rev": "cf91d5e2d07c72903d052f5207511bf7ecdb7122", "rev": "f5b6673f374626515401c5bc51b005f784a4f252",
"src": "https://github.com/rcarriga/nvim-dap-ui" "src": "https://github.com/rcarriga/nvim-dap-ui"
}, },
"nvim-dap-virtual-text": { "nvim-dap-virtual-text": {
@@ -37,7 +41,7 @@
"src": "https://github.com/theHamsta/nvim-dap-virtual-text" "src": "https://github.com/theHamsta/nvim-dap-virtual-text"
}, },
"nvim-lspconfig": { "nvim-lspconfig": {
"rev": "841c6d4139aedb8a3f2baf30cef5327371385b93", "rev": "46204c8fdaa36a9aa3768780450e4bc7a210025f",
"src": "https://github.com/neovim/nvim-lspconfig" "src": "https://github.com/neovim/nvim-lspconfig"
}, },
"nvim-nio": { "nvim-nio": {
@@ -45,7 +49,7 @@
"src": "https://github.com/nvim-neotest/nvim-nio" "src": "https://github.com/nvim-neotest/nvim-nio"
}, },
"nvim-treesitter": { "nvim-treesitter": {
"rev": "875515255192864c33981c3ed66ad94e561b904a", "rev": "6620ae1c44dfa8623b22d0cbf873a9e8d073b849",
"src": "https://github.com/nvim-treesitter/nvim-treesitter" "src": "https://github.com/nvim-treesitter/nvim-treesitter"
}, },
"oil": { "oil": {
@@ -55,14 +59,6 @@
"overseer": { "overseer": {
"rev": "a2194447f4c5a1baf95139c5c7b539fa7b0d012f", "rev": "a2194447f4c5a1baf95139c5c7b539fa7b0d012f",
"src": "https://github.com/stevearc/overseer.nvim" "src": "https://github.com/stevearc/overseer.nvim"
},
"plenary.nvim": {
"rev": "b9fd5226c2f76c951fc8ed5923d85e4de065e509",
"src": "https://github.com/nvim-lua/plenary.nvim"
},
"telescope": {
"rev": "5255aa27c422de944791318024167ad5d40aad20",
"src": "https://github.com/nvim-telescope/telescope.nvim"
} }
} }
} }

7
river/.config/river/init Executable file
View File

@@ -0,0 +1,7 @@
#!/bin/bash
# while true; do ~/.config/kwm/bar.sh; sleep 1; done | kwm &
~/.config/kwm/bar.sh &
kwm &
dunst &
kanshi &
~/scripts/playerctl_listener.sh &

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg">
<path d="m 12.039062 0.00390625 c -0.257812 -0.01171875 -0.523437 0.07421875 -0.726562 0.28124975 l -3.3125 3.292969 v 1.421875 h 1.390625 l 3.304687 -3.300781 c 0.40625 -0.402344 0.359376 -1.039063 0.03125 -1.390625 c -0.175781 -0.183594 -0.429687 -0.292969 -0.6875 -0.30468775 z m -5.039062 1.00390575 c -0.296875 -0.003906 -0.578125 0.125 -0.769531 0.351563 l -3.230469 3.640625 h -1 c -1.09375 0 -2 0.84375 -2 2 v 2 c 0 1.089844 0.910156 2 2 2 h 1 l 3.230469 3.640625 c 0.210937 0.253906 0.492187 0.363281 0.769531 0.359375 z m 1 5.992188 v 2 h 6 c 0.75 0 1 -0.5 1 -1 s -0.25 -1 -1 -1 z m 0 4 v 1.421875 l 3.324219 3.292969 c 0.402343 0.410156 1.0625 0.347656 1.414062 -0.023438 c 0.328125 -0.351562 0.371094 -0.988281 -0.03125 -1.390625 l -3.316406 -3.300781 z m 0 0" fill="#aaaaaa"/>
</svg>

After

Width:  |  Height:  |  Size: 928 B

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg">
<path d="m 3 0 c -1.660156 0 -3 1.339844 -3 3 v 7 c 0 1.660156 1.339844 3 3 3 h 10 c 1.660156 0 3 -1.339844 3 -3 v -7 c 0 -1.660156 -1.339844 -3 -3 -3 z m 0 2 h 10 c 0.554688 0 1 0.445312 1 1 v 7 c 0 0.554688 -0.445312 1 -1 1 h -10 c -0.554688 0 -1 -0.445312 -1 -1 v -7 c 0 -0.554688 0.445312 -1 1 -1 z m 2 12 c -1.105469 0 -2 0.894531 -2 2 h 10 c 0 -1.105469 -0.894531 -2 -2 -2 z m 0 0" fill="#aaaaaa"/>
</svg>

After

Width:  |  Height:  |  Size: 543 B

2002
scripts/scripts/hs_audio.sh Executable file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,75 @@
#!/bin/bash
parent_dir="$(dirname $0)"
assets_dir="$parent_dir/assets"
brightness_icon=$assets_dir/video-display-symbolic.svg
volume_icon=$assets_dir/audio-speakers-symbolic.svg
default_playback_icon=$assets_dir/audio-speakers-symbolic.svg
# Create cache dir once
: "${TMP_CACHE_DIR:=/tmp/bash_url_cache}"
mkdir -p "$TMP_CACHE_DIR"
get_local_path() {
local input="$1"
# Check if it's an HTTP/HTTPS URL
if [[ "$input" =~ ^https?:// ]]; then
# Create a stable filename from the URL (hash)
local hash
hash=$(printf '%s' "$input" | sha256sum | awk '{print $1}')
local cached_file="$TMP_CACHE_DIR/$hash"
# If already cached, return it
if [[ -f "$cached_file" ]]; then
echo "$cached_file"
return 0
fi
# Otherwise download
if ! curl -fsSL "$input" -o "$cached_file"; then
echo "Error: failed to download $input" >&2
rm -f "$cached_file"
return 1
fi
echo "$cached_file"
else
# Return original path
echo "$input"
fi
}
get_playbackart() {
artUrl="$(playerctl metadata mpris:artUrl)"
if [ -z "$artUrl" ]; then
artUrl=$default_playback_icon
fi
echo "$(get_local_path $artUrl)"
}
notify_brightness() {
dunstify --app-name=progress --icon=$brightness_icon -h "int:value:$(light -G)" "Brightness"
}
notify_volume() {
dunstify --app-name=progress --icon=$volume_icon -h "int:value:$(pamixer --get-volume)" "Volume"
}
notify_playback() {
dunstify --app-name=playback --replace-id=123456 "$(playerctl metadata xesam:title)" "$(playerctl metadata xesam:artist)" --icon=$(get_playbackart)
}
case $1 in
'brightness')
notify_brightness
;;
'volume')
notify_volume
;;
'playback')
notify_playback
;;
esac

View File

@@ -0,0 +1,10 @@
#!/bin/bash
parent_dir="$(dirname $0)"
source "$parent_dir/notify_utils.sh"
playerctl -F metadata -f "{{xesam:title}} {{mpris:artUrl}}" | while read -s metadata; do
if [ -n "$metadata" ]; then
notify_playback
fi
done

80
scripts/scripts/util.sh Normal file
View File

@@ -0,0 +1,80 @@
#!/bin/bash
# vol_u Increase volume
# vol_d Decrease volume
# vol_m Toggle mute
# br_u Increase display brightness
# br_d Decrease display brightness
# play-pause Toggle play-pause (through playerctl)
# next Next track (through playerctl)
# prev Previous track (through playerctl)
parent_dir="$(dirname $0)"
source "$parent_dir/notify_utils.sh"
volume_increment=5
brightness_increment=5
volume_up() {
pamixer -i $volume_increment
}
volume_down() {
pamixer -d $volume_increment
}
volume_mute() {
pamixer -t
}
brightness_up() {
light -A $brightness_increment
}
brightness_down() {
light -U $brightness_increment
}
playback_toggle() {
playerctl play-pause
}
playback_next() {
playerctl next
}
playback_prev() {
playerctl previous
}
case $1 in
'vol_u')
volume_up
notify_volume
;;
'vol_d')
volume_down
notify_volume
;;
'vol_m')
volume_mute
notify_volume
;;
'br_u')
brightness_up
notify_brightness
;;
'br_d')
brightness_down
notify_brightness
;;
'play-pause')
playback_toggle
notify_playback
;;
'next')
playback_next
notify_playback
;;
'prev')
playback_prev
notify_playback
;;
esac

170
wezterm/.wezterm.lua Normal file
View File

@@ -0,0 +1,170 @@
local wezterm = require 'wezterm'
local tabline = wezterm.plugin.require("https://github.com/michaelbrusegard/tabline.wez")
local config = wezterm.config_builder()
config.color_scheme = 'Ayu Dark (Gogh)'
config.bidi_enabled = true
config.enable_kitty_graphics = true
config.default_cursor_style = 'BlinkingBlock'
config.animation_fps = 24
config.cursor_blink_rate = 600
config.window_padding = {
left = 0,
right = 0,
top = 0,
bottom = 0
}
config.font = wezterm.font 'Fira Code Nerd Font'
local function weather()
if fetch_cache.weather.text == nil or os.clock() - fetch_cache.weather.last > fetch_cache.weather.secs then
local success, stdout, _ = wezterm.run_child_process {'curl', 'wttr.in?format=%c%t'}
if success then
local parts = strsplit(stdout)
fetch_cache.weather.text = string.format(' %s%s ', parts[1], parts[2])
else
fetch_cache.weather.text = ''
end
fetch_cache.weather.last = os.clock()
end
return fetch_cache.weather.text
end
local function datetime()
-- local time_format = '%H:%M %d/%m'
local time_format = '%H:%M'
local time_icon = wezterm.nerdfonts['weather_time_'..tonumber(os.date('%I'))]
return string.format(' %s %s ', time_icon, os.date(time_format))
end
local function battery()
local bat = ''
for _, b in ipairs(wezterm.battery_info()) do
local battery_icon_prefix = 'md_battery_'
if b.state == 'Charging' then
battery_icon_prefix = battery_icon_prefix..'charging_'
end
local charge_icon = wezterm.nerdfonts[battery_icon_prefix..math.floor(b.state_of_charge * 10)*10]
if charge_icon == nil then
charge_icon = wezterm.nerdfonts.md_battery_alert_variant_outline
end
bat = string.format(' %s %.0f%%', charge_icon, b.state_of_charge*100)
end
return bat
end
local colors = {
bg = '#0B0E14',
fg = '#bbc2cf',
fg_idle = '#8A9199',
accent = '#FFAA33',
ui = '#8A9199',
mir_accent = '#FFCC66',
mir_bg = '#1F2430',
mir_fg = '#CCCAC2',
mir_ui = '#707A8C',
yellow = '#ECBE7B',
cyan = '#008080',
darkblue = '#081633',
green = '#98be65',
orange = '#FF8800',
violet = '#a9a1e1',
magenta = '#c678dd',
blue = '#51afef',
red = '#ec5f67',
}
tabline.setup{
options = {
theme = 'Ayu Dark (Gogh)',
tab_separators = {
left = '',
right = '',
-- left = wezterm.nerdfonts.pl_left_hard_divider,
-- right = wezterm.nerdfonts.pl_right_hard_divider,
},
component_separators = {
-- left = '',
-- right = '',
left = wezterm.nerdfonts.pl_left_soft_divider,
right = wezterm.nerdfonts.pl_right_soft_divider,
},
section_separators = {
left = wezterm.nerdfonts.pl_left_hard_divider,
right = wezterm.nerdfonts.pl_right_hard_divider,
-- right = wezterm.nerdfonts.pl_right_soft_divider,
},
color_overrides = {
normal_mode = {
a = { fg = colors.mir_bg, bg = colors.mir_accent },
-- b = { fg = colors.fg, bg = colors.bg },
x = { fg = colors.mir_ui},
y = { fg = colors.mir_accent, bg = colors.mir_bg },
z = { fg = colors.mir_bg, bg = colors.mir_acent },
},
tab = {
active = { fg = colors.mir_accent, bg = colors.mir_bg },
inactive = { fg = colors.mir_ui, bg = colors.bg },
},
},
},
sections = {
-- tabline_a = { { 'workspace', padding = {left = 1, right = 1}}},
tabline_b = {},
tabline_c = { ' ' },
-- tab_active = {
-- 'index',
-- {
-- 'process',
-- padding = { left = 0, right = 1 },
-- },
-- },
-- tab_inactive = {
-- 'index',
-- {
-- 'process',
-- padding = { left = 0, right = 1 },
-- },
-- },
-- tab_inactive = { 'index', { 'process', padding = { left = 0, right = 1 } } },
tab_active = { {Attribute = {Intensity = "Bold"}}, 'index', 'process' },
tab_inactive = { 'index' },
tabline_x = {
-- currently_playing,
},
tabline_y = {
'cpu',
'ram',
-- weather,
-- datetime,
},
tabline_z = {
'battery',
-- battery,
-- {
-- 'hostname',
-- },
},
},
extensions = {
-- 'smart_workspace_switcher',
-- 'resurrect',
}
}
config.use_fancy_tab_bar=false
config.tab_bar_at_bottom=true
config.show_tabs_in_tab_bar=true
config.hide_tab_bar_if_only_one_tab=false
config.show_new_tab_button_in_tab_bar=false
config.tab_max_width=32
config.colors = config.colors or {}
config.colors.tab_bar = config.colors.tab_bar or {}
config.colors.tab_bar.background = colors.bg
config.status_update_interval = 500
return config

View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2024 Kamal Chandra Upreti
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2016 Ike Ku
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -0,0 +1,32 @@
<div align="center">
<img src="https://github.com/sxyazi/yazi/blob/main/assets/logo.png?raw=true" alt="Yazi logo" width="20%">
</div>
<h3 align="center">
Ayu Dark Flavor for <a href="https://github.com/sxyazi/yazi">Yazi</a>
</h3>
## 👀 Preview
<img src="preview.png" width="600" />
## 🎨 Installation
```bash
ya pkg add kmlupreti/ayu-dark
```
## ⚙️ Usage
Add the these lines to your `theme.toml` configuration file to use it:
```toml
[flavor]
dark = "ayu-dark"
```
## 📜 License
The flavor is MIT-licensed, and the included tmTheme is also MIT-licensed.
Check the [LICENSE](LICENSE) and [LICENSE-tmtheme](LICENSE-tmtheme) file for more details.

View File

@@ -0,0 +1,137 @@
[mgr]
# current working dir
cwd = { fg = "#5c6773" }
# Hovered
hovered = { reversed = true }
preview_hovered = { underline = true }
# find
find_keyword = { fg = "#1f6f88", bold = true, italic = true, underline = true }
find_position = { fg = "#1f6f88", bold = true, italic = true }
# Symlink
symlink_target = { italic = true }
# marker
marker_copied = { fg = "#0a0e14", bg = "#7e9350" }
marker_cut = { fg = "#0a0e14", bg = "#a85361" }
marker_marked = { fg = "#0a0e14", bg = "#1f6f88" }
marker_selected = { fg = "#0a0e14", bg = "#c2a05c" }
# count
count_copied = { fg = "#0a0e14", bg = "#7e9350" }
count_cut = { fg = "#5c6773", bg = "#a85361" }
count_selected = { fg = "#0a0e14", bg = "#c2a05c" }
# border
border_symbol = " "
[tabs]
active = { fg = "#0a0e14", bg = "#c2a05c", bold = true }
inactive = { fg = "#c2a05c", bg = "#0a0e14" }
sep_inner = { open = "", close = "" }
sep_outer = { open = "", close = "" }
[mode]
normal_main = { fg = "#0a0e14", bg = "#c2a05c", bold = true }
normal_alt = { fg = "#1f6f88", bg = "#2d3640", bold = true }
select_main = { fg = "#0a0e14", bg = "#1f6f88", bold = true }
select_alt = { fg = "#0a0e14", bg = "#1f6f88", bold = true }
unset_main = { fg = "#0a0e14", bg = "#a85361", bold = true }
unset_alt = { fg = "#0a0e14", bg = "#a85361", bold = true }
[status]
overall = {}
sep_left = { open = "", close = "" }
sep_right = { open = "", close = "" }
# Progress
progress_label = { fg = "#0a0e14", bold = true }
progress_normal = { fg = "#c2a05c", bg = "#0a0e14" }
progress_error = { fg = "#a85361", bg = "#0a0e14" }
# permissions
perm_type = { fg = "#c2c2c2" }
perm_write = { fg = "#a85361" }
perm_exec = { fg = "#7e9350" }
perm_read = { fg = "#1f6f88" }
perm_sep = { fg = "#5c6773" }
[select]
border = { fg = "#c2a05c" }
active = { fg = "#a85361", bold = true }
inactive = { fg = "#5c6773", bg = "#0a0e14" }
[input]
border = { fg = "#c2a05c" }
value = { fg = "#5c6773" }
[completion]
border = { fg = "#c2a05c", bg = "#0a0e14" }
[tasks]
border = { fg = "#c2a05c" }
title = { fg = "#5c6773" }
hovered = { fg = "#7e9350", underline = true }
[which]
cols = 3
mask = { bg = "#0a0e14" }
cand = { fg = "#c2a05c" }
rest = { fg = "#0a0e14" }
desc = { fg = "#5c6773" }
separator = " ⯈ "
separator_style = { fg = "#5c6773" }
[help]
on = { fg = "#c2a05c" }
run = { fg = "#7e9350" }
footer = { fg = "#0a0e14", bg = "#5c6773" }
[notify]
title_info = { fg = "#7e9350" }
title_warn = { fg = "#c2a05c" }
title_error = { fg = "#a85361" }
[filetype]
rules = [
# directories
{ name = "*/", fg = "#1f6f88" },
# executables
{ name = "*", is = "exec", fg = "#7e9350" },
# images
{ mime = "image/*", fg = "#c2a05c" },
# media
{ mime = "{audio,video}/*", fg = "#7e9350" },
# archives
{ mime = "application/{,g}zip", fg = "#a85361" },
{ mime = "application/x-{tar,bzip*,7z-compressed,xz,rar}", fg = "#a85361" },
# documents
{ mime = "application/{pdf,doc,rtf,vnd.*}", fg = "#1f6f88" },
# scripts and code
{ mime = "application/{x-shellscript,x-python,x-ruby,x-javascript}", fg = "#c2a05c" },
{ mime = "text/x-{c,c++}", fg = "#1f6f88" },
# config files
{ name = "*.json", fg = "#c2a05c" },
{ name = "*.yml", fg = "#1f6f88" },
{ name = "*.toml", fg = "#9464b6" },
# special files
{ name = "*", is = "orphan", bg = "#0a0e14" },
# dummy files
{ name = "*", is = "dummy", bg = "#0a0e14" },
# fallback
{ name = "*/", fg = "#1f6f88" },
]

Binary file not shown.

After

Width:  |  Height:  |  Size: 310 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,4 @@
[[mgr.prepend_keymap]]
on = [ "g", "s" ]
run = "cd sftp://pebble"
desc = "Go to pebble"

View File

@@ -0,0 +1,7 @@
[plugin]
deps = []
[[flavor.deps]]
use = "kmlupreti/ayu-dark"
rev = "1da67a8"
hash = "4358d2053d15bd6855968e2d4646c744"

View File

@@ -0,0 +1,2 @@
[flavor]
dark = "ayu-dark"

View File

@@ -0,0 +1,6 @@
[services.pebble]
type = "sftp"
host = "neosisyphus.com"
user = "sisyphus"
port = 22
key_file = "~/.ssh/id_ed25519"