Update 2025-08-07

This commit is contained in:
Kristofers Solo 2025-08-07 23:34:57 +03:00
parent f21e39d445
commit 0b4520aae5
Signed by: kristoferssolo
GPG Key ID: 74FF8144483D82C8
61 changed files with 1499 additions and 581 deletions

View File

@ -159,6 +159,7 @@ depends = [ "zsh", "tmux", "fish" ]
"config/starship.toml" = "~/.config/starship/starship.toml"
"config/ghostty/" = "~/.config/ghostty/"
"config/ghostty/config" = {target = "~/.config/ghostty/config", type = "template"}
"config/xdg-desktop-portal-termfilechooser/" = "~/.config/xdg-desktop-portal-termfilechooser/"
[tmux.files]
"config/tmux/" = "~/.config/tmux/"

0
config/HybridBar/scripts/change-active-workspace Normal file → Executable file
View File

0
config/HybridBar/scripts/get-active-workspace Normal file → Executable file
View File

0
config/HybridBar/scripts/get-window-title Normal file → Executable file
View File

0
config/HybridBar/scripts/get-workspaces Normal file → Executable file
View File

0
config/eww/scripts/change-active-workspace Normal file → Executable file
View File

0
config/eww/scripts/get-active-workspace Normal file → Executable file
View File

0
config/eww/scripts/get-window-title Normal file → Executable file
View File

0
config/eww/scripts/get-workspaces Normal file → Executable file
View File

0
config/eww/scripts/mem-ad Normal file → Executable file
View File

0
config/eww/scripts/memory Normal file → Executable file
View File

0
config/eww/scripts/music_info Normal file → Executable file
View File

0
config/eww/scripts/music_info.bak Normal file → Executable file
View File

0
config/eww/scripts/pop Normal file → Executable file
View File

0
config/eww/scripts/wifi Normal file → Executable file
View File

0
config/eww/scripts/workspace Normal file → Executable file
View File

0
config/git/check_email.sh Executable file → Normal file
View File

View File

@ -15,7 +15,7 @@
################
# See https://wiki.hyprland.org/Configuring/Monitors/
monitor=eDP-1,prefered,0x0,1
monitor=eDP-1,prefered,0x0,1.5
# monitor=DP-1,prefered,180x-1440,1
# monitor=HDMI-A-1,prefered,480x-1080,1
# monitor=HDMI-A-1,prefered,mirror,eDP-1
@ -45,7 +45,7 @@ $browser = {{browser}}
exec-once=pipewire & pipewire-pulse & wireplumber & eww daemon & eww open bar
exec-once=dbus-update-activation-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP DISPLAY XAUTHORITY
exec-once=nextcloud & /usr/lib/hyprpolkitagent & xrdb "$XDG_CONFIG_HOME/x11/xresources" & transmission-daemon & dunst & hyprpaper
exec-once=nextcloud & /usr/lib/hyprpolkitagent & xrdb "$XDG_CONFIG_HOME/x11/xresources" & transmission-daemon & mako & hyprpaper
exec-once=[workspace 1 silent] $browser
exec-once=[workspace 8 silent] kotatogram-desktop & flatpak run dev.vencord.Vesktop
# exec-once=[workspace 9 silent] spotify-launcher
@ -286,51 +286,51 @@ bind = $mainMod SHIFT, L, movewindow, r
bind = $mainMod SHIFT, H, movewindow, l
# Switch workspaces with mainMod + [0-9]
# bind = $mainMod, 1, workspace, 1
# bind = $mainMod, 2, workspace, 2
# bind = $mainMod, 3, workspace, 3
# bind = $mainMod, 4, workspace, 4
# bind = $mainMod, 5, workspace, 5
# bind = $mainMod, 6, workspace, 6
# bind = $mainMod, 7, workspace, 7
# bind = $mainMod, 8, workspace, 8
# bind = $mainMod, 9, workspace, 9
# bind = $mainMod, 0, workspace, 10
bind = $mainMod, 1, split-workspace, 1
bind = $mainMod, 2, split-workspace, 2
bind = $mainMod, 3, split-workspace, 3
bind = $mainMod, 4, split-workspace, 4
bind = $mainMod, 5, split-workspace, 5
bind = $mainMod, 6, split-workspace, 6
bind = $mainMod, 7, split-workspace, 7
bind = $mainMod, 8, split-workspace, 8
bind = $mainMod, 9, split-workspace, 9
bind = $mainMod, 0, split-workspace, 10
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10
# bind = $mainMod, 1, split-workspace, 1
# bind = $mainMod, 2, split-workspace, 2
# bind = $mainMod, 3, split-workspace, 3
# bind = $mainMod, 4, split-workspace, 4
# bind = $mainMod, 5, split-workspace, 5
# bind = $mainMod, 6, split-workspace, 6
# bind = $mainMod, 7, split-workspace, 7
# bind = $mainMod, 8, split-workspace, 8
# bind = $mainMod, 9, split-workspace, 9
# bind = $mainMod, 0, split-workspace, 10
# Move active window to a workspace with mainMod + SHIFT + [0-9]
# bind = $mainMod SHIFT, 1, movetoworkspace, 1
# bind = $mainMod SHIFT, 2, movetoworkspace, 2
# bind = $mainMod SHIFT, 3, movetoworkspace, 3
# bind = $mainMod SHIFT, 4, movetoworkspace, 4
# bind = $mainMod SHIFT, 5, movetoworkspace, 5
# bind = $mainMod SHIFT, 6, movetoworkspace, 6
# bind = $mainMod SHIFT, 7, movetoworkspace, 7
# bind = $mainMod SHIFT, 8, movetoworkspace, 8
# bind = $mainMod SHIFT, 9, movetoworkspace, 9
# bind = $mainMod SHIFT, 0, movetoworkspace, 10
bind = $mainMod SHIFT, 1, split-movetoworkspace, 1
bind = $mainMod SHIFT, 2, split-movetoworkspace, 2
bind = $mainMod SHIFT, 3, split-movetoworkspace, 3
bind = $mainMod SHIFT, 4, split-movetoworkspace, 4
bind = $mainMod SHIFT, 5, split-movetoworkspace, 5
bind = $mainMod SHIFT, 6, split-movetoworkspace, 6
bind = $mainMod SHIFT, 7, split-movetoworkspace, 7
bind = $mainMod SHIFT, 8, split-movetoworkspace, 8
bind = $mainMod SHIFT, 9, split-movetoworkspace, 9
bind = $mainMod SHIFT, 0, split-movetoworkspace, 10
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10
# bind = $mainMod SHIFT, 1, split-movetoworkspace, 1
# bind = $mainMod SHIFT, 2, split-movetoworkspace, 2
# bind = $mainMod SHIFT, 3, split-movetoworkspace, 3
# bind = $mainMod SHIFT, 4, split-movetoworkspace, 4
# bind = $mainMod SHIFT, 5, split-movetoworkspace, 5
# bind = $mainMod SHIFT, 6, split-movetoworkspace, 6
# bind = $mainMod SHIFT, 7, split-movetoworkspace, 7
# bind = $mainMod SHIFT, 8, split-movetoworkspace, 8
# bind = $mainMod SHIFT, 9, split-movetoworkspace, 9
# bind = $mainMod SHIFT, 0, split-movetoworkspace, 10
bind = $mainMod, O, split-changemonitor, next
# bind = $mainMod, O, split-changemonitor, next
# Example special workspace (scratchpad)
# bind = $mainMod, S, togglespecialworkspace, magic
# bind = $mainMod SHIFT, S, movetoworkspace, special:magic

0
config/lf/cleaner Normal file → Executable file
View File

0
config/lf/lfrc Normal file → Executable file
View File

0
config/nsxiv/exec/image-info Normal file → Executable file
View File

0
config/nsxiv/exec/key-handler Normal file → Executable file
View File

0
config/nsxiv/exec/nsxiv-url Normal file → Executable file
View File

0
config/nsxiv/exec/thumb-info Normal file → Executable file
View File

0
config/nsxiv/exec/win-title Normal file → Executable file
View File

View File

@ -1,431 +1,27 @@
[sqlfluff]
# verbose is an integer (0-2) indicating the level of log output
verbose = 0
# Turn off color formatting of output
nocolor = False
# Supported dialects https://docs.sqlfluff.com/en/stable/dialects.html
# Or run 'sqlfluff dialects'
dialect = None
# See templater docs for options
templater = raw
# Comma separated list of rules to check, default to core
rules = core
# Comma separated list of rules to exclude, or None
exclude_rules = None
# Below controls SQLFluff output, see max_line_length for SQL output
output_line_length = 80
# Number of passes to run before admitting defeat
runaway_limit = 10
# Ignore errors by category (one or more of the following, separated by commas: lexing,linting,parsing,templating)
ignore = None
# Warn only for rule codes (one of more rule codes, seperated by commas: e.g. LT01,LT02)
# Also works for templating and parsing errors by using TMP or PRS
warnings = None
# Whether to warn about unneeded '-- noqa:' comments.
warn_unused_ignores = False
# Ignore linting errors found within sections of code coming directly from
# templated code (e.g. from within Jinja curly braces. Note that it does not
# ignore errors from literal code found within template loops.
ignore_templated_areas = True
# can either be autodetect or a valid encoding e.g. utf-8, utf-8-sig
encoding = autodetect
# Ignore inline overrides (e.g. to test if still required)
disable_noqa = False
# Comma separated list of file extensions to lint
# NB: This config will only apply in the root folder
sql_file_exts = .sql,.sql.j2,.dml,.ddl
# Allow fix to run on files, even if they contain parsing errors
# Note altering this is NOT RECOMMENDED as can corrupt SQL
fix_even_unparsable = False
# Very large files can make the parser effectively hang.
# The more efficient check is the _byte_ limit check which
# is enabled by default. The previous _character_ limit check
# is still present for backward compatibility. This will be
# removed in a future version.
# Set either to 0 to disable.
large_file_skip_char_limit = 0
large_file_skip_byte_limit = 20000
# CPU processes to use while linting.
# If positive, just implies number of processes.
# If negative or zero, implies number_of_cpus - specified_number.
# e.g. -1 means use all processors but one. 0 means all cpus.
processes = 1
# Max line length is set by default to be in line with the dbt style guide.
# https://github.com/dbt-labs/corp/blob/main/dbt_style_guide.md
# Set to zero or negative to disable checks.
max_line_length = 80
dialect = postgres
[sqlfluff:indentation]
# See https://docs.sqlfluff.com/en/stable/layout.html#configuring-indent-locations
indent_unit = space
tab_space_size = 4
indented_joins = False
indented_ctes = False
indented_using_on = True
indented_on_contents = True
indented_then = True
indented_then_contents = True
allow_implicit_indents = False
template_blocks_indent = True
# This is a comma seperated list of elements to skip
# indentation edits to.
skip_indentation_in = script_content
# If comments are found at the end of long lines, we default to moving
# them to the line _before_ their current location as the convention is
# that a comment precedes the line it describes. However if you prefer
# comments moved _after_, this configuration setting can be set to "after".
trailing_comments = before
# Layout configuration
# See https://docs.sqlfluff.com/en/stable/layout.html#configuring-layout-and-spacing
[sqlfluff:layout:type:comma]
spacing_before = touch
line_position = trailing
[sqlfluff:layout:type:binary_operator]
spacing_within = touch
line_position = leading
[sqlfluff:layout:type:statement_terminator]
spacing_before = touch
line_position = trailing
[sqlfluff:layout:type:end_of_file]
spacing_before = touch
[sqlfluff:layout:type:set_operator]
line_position = alone:strict
[sqlfluff:layout:type:start_bracket]
spacing_after = touch
[sqlfluff:layout:type:end_bracket]
spacing_before = touch
[sqlfluff:layout:type:start_square_bracket]
spacing_after = touch
[sqlfluff:layout:type:end_square_bracket]
spacing_before = touch
[sqlfluff:layout:type:start_angle_bracket]
spacing_after = touch
[sqlfluff:layout:type:end_angle_bracket]
spacing_before = touch
[sqlfluff:layout:type:casting_operator]
spacing_before = touch
spacing_after = touch:inline
[sqlfluff:layout:type:slice]
spacing_before = touch
spacing_after = touch
[sqlfluff:layout:type:dot]
spacing_before = touch
spacing_after = touch
[sqlfluff:layout:type:comparison_operator]
spacing_within = touch
line_position = leading
[sqlfluff:layout:type:assignment_operator]
spacing_within = touch
line_position = leading
[sqlfluff:layout:type:object_reference]
spacing_within = touch:inline
[sqlfluff:layout:type:numeric_literal]
spacing_within = touch:inline
[sqlfluff:layout:type:sign_indicator]
spacing_after = touch:inline
[sqlfluff:layout:type:tilde]
spacing_after = touch:inline
[sqlfluff:layout:type:function_name]
spacing_within = touch:inline
[sqlfluff:layout:type:function_contents]
spacing_before = touch:inline
[sqlfluff:layout:type:function_parameter_list]
spacing_before = touch:inline
[sqlfluff:layout:type:array_type]
spacing_within = touch:inline
[sqlfluff:layout:type:typed_array_literal]
spacing_within = touch
[sqlfluff:layout:type:sized_array_type]
spacing_within = touch
[sqlfluff:layout:type:struct_type]
spacing_within = touch:inline
[sqlfluff:layout:type:bracketed_arguments]
spacing_before = touch:inline
[sqlfluff:layout:type:typed_struct_literal]
spacing_within = touch
[sqlfluff:layout:type:semi_structured_expression]
spacing_within = touch:inline
spacing_before = touch:inline
[sqlfluff:layout:type:array_accessor]
spacing_before = touch:inline
[sqlfluff:layout:type:colon]
spacing_before = touch
[sqlfluff:layout:type:colon_delimiter]
spacing_before = touch
spacing_after = touch
[sqlfluff:layout:type:path_segment]
spacing_within = touch
[sqlfluff:layout:type:sql_conf_option]
spacing_within = touch
[sqlfluff:layout:type:sqlcmd_operator]
# NOTE: This is the spacing between the operator and the colon
spacing_before = touch
[sqlfluff:layout:type:comment]
spacing_before = any
spacing_after = any
[sqlfluff:layout:type:inline_comment]
spacing_before = any
spacing_after = any
[sqlfluff:layout:type:block_comment]
spacing_before = any
spacing_after = any
[sqlfluff:layout:type:pattern_expression]
# Snowflake pattern expressions shouldn't have their spacing changed.
spacing_within = any
[sqlfluff:layout:type:placeholder]
# Placeholders exist "outside" the rendered SQL syntax
# so we shouldn't enforce any particular spacing around
# them.
spacing_before = any
spacing_after = any
[sqlfluff:layout:type:common_table_expression]
# The definition part of a CTE should fit on one line where possible.
# For users which regularly define column names in their CTEs they
# may which to relax this config to just `single`.
spacing_within = single:inline
# By setting a selection of clauses to "alone", we hint to the reflow
# algorithm that in the case of a long single line statement, the
# first place to add newlines would be around these clauses.
# Setting this to "alone:strict" would always _force_ line breaks
# around them even if the line isn't too long.
[sqlfluff:layout:type:select_clause]
line_position = alone
[sqlfluff:layout:type:where_clause]
line_position = alone
[sqlfluff:layout:type:from_clause]
line_position = alone
[sqlfluff:layout:type:join_clause]
line_position = alone
[sqlfluff:layout:type:groupby_clause]
line_position = alone
[sqlfluff:layout:type:orderby_clause]
# NOTE: Order by clauses appear in many places other than in a select
# clause. To avoid unexpected behaviour we use `leading` in this
# case rather than `alone`.
line_position = leading
[sqlfluff:layout:type:having_clause]
line_position = alone
[sqlfluff:layout:type:limit_clause]
line_position = alone
# Template loop tokens shouldn't dictate spacing around them.
[sqlfluff:layout:type:template_loop]
spacing_before = any
spacing_after = any
[sqlfluff:templater]
unwrap_wrapped_queries = True
[sqlfluff:templater:jinja]
apply_dbt_builtins = True
# Some rules can be configured directly from the config common to other rules
[sqlfluff:rules]
allow_scalar = True
single_table_references = consistent
unquoted_identifiers_policy = all
indented_joins = True
indented_ctes = True
[sqlfluff:rules:capitalisation.keywords]
# Keywords
capitalisation_policy = consistent
# Comma separated list of words to ignore for this rule
ignore_words = None
ignore_words_regex = None
[sqlfluff:rules:capitalisation.identifiers]
# Unquoted identifiers
extended_capitalisation_policy = consistent
# Comma separated list of words to ignore for this rule
ignore_words = None
ignore_words_regex = None
[sqlfluff:rules:capitalisation.functions]
# Function names
extended_capitalisation_policy = consistent
# Comma separated list of words to ignore for this rule
ignore_words = None
ignore_words_regex = None
[sqlfluff:rules:capitalisation.literals]
# Null & Boolean Literals
capitalisation_policy = consistent
# Comma separated list of words to ignore for this rule
ignore_words = None
ignore_words_regex = None
capitalisation_policy = upper
[sqlfluff:rules:capitalisation.types]
# Data Types
extended_capitalisation_policy = consistent
# Comma separated list of words to ignore for this rule
ignore_words = None
ignore_words_regex = None
[sqlfluff:rules:ambiguous.join]
# Fully qualify JOIN clause
fully_qualify_join_types = inner
extended_capitalisation_policy = upper
[sqlfluff:rules:ambiguous.column_references]
# GROUP BY/ORDER BY column references
group_by_and_order_by_style = consistent
[sqlfluff:rules:aliasing.table]
# Aliasing preference for tables
aliasing = explicit
[sqlfluff:rules:aliasing.column]
# Aliasing preference for columns
aliasing = explicit
[sqlfluff:rules:aliasing.length]
min_alias_length = None
max_alias_length = None
[sqlfluff:rules:aliasing.forbid]
# Avoid table aliases in from clauses and join conditions.
# Disabled by default for all dialects unless explicitly enabled.
# We suggest instead using aliasing.length (AL06) in most cases.
force_enable = False
[sqlfluff:rules:convention.select_trailing_comma]
# Trailing commas
select_clause_trailing_comma = forbid
[sqlfluff:rules:convention.count_rows]
# Consistent syntax to count all rows
prefer_count_1 = False
prefer_count_0 = False
[sqlfluff:rules:convention.terminator]
# Semi-colon formatting approach
multiline_newline = False
require_final_semicolon = False
[sqlfluff:rules:convention.blocked_words]
# Comma separated list of blocked words that should not be used
blocked_words = None
blocked_regex = None
match_source = False
[sqlfluff:rules:convention.quoted_literals]
# Consistent usage of preferred quotes for quoted literals
preferred_quoted_literal_style = consistent
# Disabled for dialects that do not support single and double quotes for quoted literals (e.g. Postgres)
force_enable = False
group_by_and_order_by_style = explicit
[sqlfluff:rules:convention.casting_style]
# SQL type casting
preferred_type_casting_style = consistent
preferred_type_casting_style = cast
[sqlfluff:rules:convention.not_equal]
# Consistent usage of preferred "not equal to" comparison
preferred_not_equal_style = consistent
[sqlfluff:rules:references.from]
# References must be in FROM clause
# Disabled for some dialects (e.g. bigquery)
force_enable = False
[sqlfluff:rules:references.qualification]
# Comma separated list of words to ignore for this rule
ignore_words = None
ignore_words_regex = None
preferred_not_equal_style = c_style
[sqlfluff:rules:references.consistent]
# References must be consistently used
# Disabled for some dialects (e.g. bigquery)
force_enable = False
[sqlfluff:rules:references.keywords]
# Keywords should not be used as identifiers.
unquoted_identifiers_policy = aliases
quoted_identifiers_policy = none
# Comma separated list of words to ignore for this rule
ignore_words = None
ignore_words_regex = None
[sqlfluff:rules:references.special_chars]
# Special characters in identifiers
unquoted_identifiers_policy = all
quoted_identifiers_policy = all
allow_space_in_identifier = False
additional_allowed_characters = None
ignore_words = None
ignore_words_regex = None
[sqlfluff:rules:references.quoting]
# Policy on quoted and unquoted identifiers
prefer_quoted_identifiers = False
prefer_quoted_keywords = False
ignore_words = None
ignore_words_regex = None
force_enable = False
[sqlfluff:rules:layout.long_lines]
# Line length
ignore_comment_lines = False
ignore_comment_clauses = False
single_table_references = consistent
[sqlfluff:rules:layout.select_targets]
wildcard_policy = single
[sqlfluff:rules:layout.newlines]
# Consecutive blank lines
maximum_empty_lines_between_statements = 2
maximum_empty_lines_inside_statements = 1
[sqlfluff:rules:structure.subquery]
# By default, allow subqueries in from clauses, but not join clauses
forbid_subquery_in = join
[sqlfluff:rules:structure.join_condition_order]
preferred_first_table_in_join_clause = earlier
wildcard_policy = multiple

6
config/sqruff/foo.sql Normal file
View File

@ -0,0 +1,6 @@
SELECT
id, password
FROM
users
WHERE
username = $1

0
config/waybar/scripts/mediaplayer.py Executable file → Normal file
View File

0
config/x11/opt-apps Normal file → Executable file
View File

View File

@ -0,0 +1,11 @@
[filechooser]
cmd=yazi-wrapper.sh
default_dir=$HOME
; Uncomment to skip creating destination save files with instructions in them
; create_help_file=0
; Uncomment and edit the line below to change the terminal emulator command
; env=TERMCMD=foot
; Mode must be one of 'suggested', 'default', or 'last'.
open_mode=suggested
save_mode=suggested

View File

@ -0,0 +1,59 @@
#!/usr/bin/env sh
# This wrapper script is invoked by xdg-desktop-portal-termfilechooser.
#
# For more information about input/output arguments read `xdg-desktop-portal-termfilechooser(5)`
set -e
if [ "$6" -ge 4 ]; then
set -x
fi
multiple="$1"
directory="$2"
save="$3"
path="$4"
out="$5"
cmd="yazi"
termcmd="${TERMCMD:-kitty --title 'termfilechooser'}"
if [ "$save" = "1" ]; then
# save a file
set -- --chooser-file="$out" "$path"
elif [ "$directory" = "1" ]; then
# upload files from a directory
set -- --chooser-file="$out" --cwd-file="$out"".1" "$path"
elif [ "$multiple" = "1" ]; then
# upload multiple files
set -- --chooser-file="$out" "$path"
else
# upload only 1 file
set -- --chooser-file="$out" "$path"
fi
command="$termcmd $cmd"
for arg in "$@"; do
# escape double quotes
escaped=$(printf "%s" "$arg" | sed 's/"/\\"/g')
# escape special
case "$termcmd" in
*"ghostty"*)
command="$command \"\\\"$escaped\\\"\""
;;
*)
command="$command \"$escaped\""
;;
esac
done
sh -c "$command"
if [ "$directory" = "1" ]; then
if [ ! -s "$out" ] && [ -s "$out"".1" ]; then
cat "$out"".1" >"$out"
rm "$out"".1"
else
rm "$out"".1"
fi
fi

View File

@ -1,6 +1,6 @@
MIT License
Copyright (c) 2025 Kristofers Solo
Copyright (c) 2025 Mintass
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2024 Rosé Pine
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,36 @@
<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">
Rosé Pine Dawn Flavor for <a href="https://github.com/sxyazi/yazi">Yazi</a>
</h3>
## 👀 Preview
<img src="preview.png" width="600" />
## 🎨 Installation
```sh
ya pkg add Mintass/rose-pine-dawn
```
## ⚙️ Usage
To set it as your dark flavor, change the content of your `theme.toml` to:
```toml
[flavor]
light = "rose-pine-dawn"
```
Make sure your `theme.toml` doesn't contain anything other than `[flavor]`, unless you want to override certain styles of this flavor.
See the [Yazi flavor documentation](https://yazi-rs.github.io/docs/flavors/overview) for more details.
## 📜 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,230 @@
# vim:fileencoding=utf-8:foldmethod=marker
# : Manager {{{
[mgr]
cwd = { fg = "#56949f" }
# Hovered
hovered = { reversed = true }
preview_hovered = { underline = true }
# Find
find_keyword = { fg = "#ea9d34", bold = true, italic = true, underline = true }
find_position = { fg = "#907aa9", bg = "reset", bold = true, italic = true }
# Symlink
symlink_target = { italic = true }
# Marker
marker_copied = { fg = "#286983", bg = "#286983" }
marker_cut = { fg = "#b4637a", bg = "#b4637a" }
marker_marked = { fg = "#d7827e", bg = "#d7827e" }
marker_selected = { fg = "#ea9d34", bg = "#ea9d34" }
# Count
count_copied = { fg = "#575279", bg = "#286983" }
count_cut = { fg = "#575279", bg = "#b4637a" }
count_selected = { fg = "#faf4ed", bg = "#ea9d34" }
# Border
border_symbol = "│"
border_style = { fg = "#cecacd" }
# Highlighting
syntect_theme = ""
# : }}}
# : Tabs {{{
[tabs]
active = { fg = "#575279", bg = "#286983", bold = true }
inactive = { fg = "#286983", bg = "#575279" }
# Separator
sep_inner = { open = "", close = "" }
sep_outer = { open = "", close = "" }
# : }}}
# : Mode {{{
[mode]
normal_main = { fg = "#faf4ed", bg = "#56949f", bold = true }
normal_alt = { fg = "#faf4ed", bg = "#575279", bold = true }
# Select mode
select_main = { fg = "#faf4ed", bg = "#b4637a", bold = true }
select_alt = { fg = "#faf4ed", bg = "#575279", bold = true }
# Unset mode
unset_main = { fg = "#faf4ed", bg = "#b4637a", bold = true }
unset_alt = { fg = "#faf4ed", bg = "#575279", bold = true }
# : }}}
# : Status bar {{{
[status]
overall = { bg = "#faf4ed" }
sep_left = { open = "", close = "" }
sep_right = { open = "", close = "" }
# Permissions
perm_sep = { fg = "#9893a5" }
perm_type = { fg = "#907aa9" }
perm_read = { fg = "#ea9d34" }
perm_write = { fg = "#b4637a" }
perm_exec = { fg = "#56949f" }
# Progress
progress_label = { fg = "#575279", bold = true }
progress_normal = { fg = "#286983", bg = "#f4ede8" }
progress_error = { fg = "#b4637a", bg = "#f4ede8" }
# : }}}
# : Which {{{
[which]
cols = 3
mask = { bg = "#fffaf3" }
cand = { fg = "#56949f" }
rest = { fg = "#9893a5" }
desc = { fg = "#ea9d34" }
separator = "  "
separator_style = { fg = "#9893a5" }
# : }}}
# : Confirmation {{{
[confirm]
border = { fg = "#cecacd" }
title = { fg = "#b4637a", bold = true }
body = { fg = "#575279" }
list = { fg = "#575279" }
btn_yes = { fg = "#faf4ed", bg = "#286983", bold = true }
btn_no = { fg = "#faf4ed", bg = "#575279", bold = true }
btn_labels = [ " [y]es ", " (n)o " ]
# : }}}
# : Spotter {{{
[spot]
border = { fg = "#cecacd" }
title = { fg = "#56949f", bold = true }
# Table
tbl_col = { fg = "#56949f" }
tbl_cell = { fg = "#faf4ed", bg = "#ea9d34", bold = true }
# : }}}
# : Notification {{{
[notify]
title_info = { fg = "#286983" }
title_warn = { fg = "#ea9d34" }
title_error = { fg = "#b4637a" }
# : }}}
# : Picker {{{
[pick]
border = { fg = "#286983" }
active = { fg = "#907aa9", bold = true }
inactive = { fg = "#797593"}
# : }}}
# : Input {{{
[input]
border = { fg = "#286983" }
title = { bold = true }
value = { fg = "#575279"}
selected = { reversed = true }
# : }}}
# : Completion {{{
[cmp]
border = { fg = "#286983" }
active = { bg = "#575279", fg = "#faf4ed", bold = true }
inactive = { fg = "#797593" }
# : }}}
# : Task manager {{{
[tasks]
border = { fg = "#286983" }
title = { bold = true}
hovered = { fg = "#907aa9", bold = true, reversed = true }
# : }}}
# : Help menu {{{
[help]
on = { fg = "#56949f" }
run = { fg = "#907aa9" }
desc = { fg = "#ea9d34"}
hovered = { reversed = true, bold = true }
footer = { fg = "#faf4ed", bg = "#575279" }
# : }}}
# : File-specific styles {{{
[filetype]
rules = [
# Images
{ mime = "image/*", fg = "#907aa9" },
# Media
{ mime = "{audio,video}/*", fg = "#ea9d34" },
# Archives
{ mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", fg = "#b4637a" },
# Documents
{ mime = "application/{pdf,doc,rtf}", fg = "#d7827e" },
# Empty files
# { mime = "inode/empty", fg = "#b4637a" },
# Special files
{ name = "*", is = "orphan", fg = "#faf4ed", bg = "#b4637a" },
{ name = "*", is = "exec" , fg = "#56949f" },
# Dummy files
{ name = "*", is = "dummy", fg = "#faf4ed", bg = "#b4637a" },
{ name = "*/", is = "dummy", fg = "#faf4ed", bg = "#b4637a" },
# Fallback
{ name = "*", fg = "#575279" },
{ name = "*/", fg = "#286983" }
]
# : }}}

Binary file not shown.

After

Width:  |  Height:  |  Size: 485 KiB

View File

@ -0,0 +1,316 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>name</key>
<string>Rosé Pine Dawn</string>
<key>settings</key>
<array>
<dict>
<key>settings</key>
<dict>
<key>background</key>
<string>#faf4ed</string>
<key>caret</key>
<string>#cecacd</string>
<key>foreground</key>
<string>#575279</string>
<key>invisibles</key>
<string>#fffaf3</string>
<key>lineHighlight</key>
<string>#f4ede8</string>
<key>selection</key>
<string>#dfdad9</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Comment</string>
<key>scope</key>
<string>comment</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>italic</string>
<key>foreground</key>
<string>#797593</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>String</string>
<key>scope</key>
<string>string, punctuation.definition.string</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#ea9d34</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Number</string>
<key>scope</key>
<string>constant.numeric</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#ea9d34</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Built-in constant</string>
<key>scope</key>
<string>constant.language</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>bold</string>
<key>foreground</key>
<string>#ea9d34</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>User-defined constant</string>
<key>scope</key>
<string>constant.character, constant.other</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#ea9d34</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Variable</string>
<key>scope</key>
<string>variable</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>italic</string>
<key>foreground</key>
<string>#575279</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Keyword</string>
<key>scope</key>
<string>keyword</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#286983</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Storage</string>
<key>scope</key>
<string>storage</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#56949f</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Storage type</string>
<key>scope</key>
<string>storage.type</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#56949f</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Class name</string>
<key>scope</key>
<string>entity.name.class</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>bold</string>
<key>foreground</key>
<string>#286983</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Inherited class</string>
<key>scope</key>
<string>entity.other.inherited-class</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>italic </string>
<key>foreground</key>
<string>#286983</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Function name</string>
<key>scope</key>
<string>entity.name.function</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>italic</string>
<key>foreground</key>
<string>#d7827e</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Function argument</string>
<key>scope</key>
<string>variable.parameter</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#907aa9</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Tag name</string>
<key>scope</key>
<string>entity.name.tag</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>bold</string>
<key>foreground</key>
<string>#286983</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Tag attribute</string>
<key>scope</key>
<string>entity.other.attribute-name</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#907aa9</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library function</string>
<key>scope</key>
<string>support.function</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>bold</string>
<key>foreground</key>
<string>#d7827e</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library constant</string>
<key>scope</key>
<string>support.constant</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>bold</string>
<key>foreground</key>
<string>#ea9d34</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library class&#x2f;type</string>
<key>scope</key>
<string>support.type, support.class</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>bold</string>
<key>foreground</key>
<string>#56949f</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library variable</string>
<key>scope</key>
<string>support.other.variable</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>bold</string>
<key>foreground</key>
<string>#b4637a</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Invalid</string>
<key>scope</key>
<string>invalid</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#b4637a</string>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#575279</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Invalid deprecated</string>
<key>scope</key>
<string>invalid.deprecated</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#907aa9</string>
<key>foreground</key>
<string>#575279</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Punctuation, Operators</string>
<key>scope</key>
<string>punctuation, keyword.operator</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#797593</string>
</dict>
</dict>
</array>
<key>colorSpaceName</key>
<string>sRGB</string>
<key>semanticClass</key>
<string>theme.light.rosé-pine-dawn</string>
<key>author</key>
<string>arrrgi</string>
<key>comment</key>
<string>All natural pine, faux fur and a bit of soho vibes for the classy minimalist</string>
<key>uuid</key>
<string>BB4B4616-E742-41D5-BB5B-63D45FA614F</string>
</dict>
</plist>

View File

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2025 Mintass
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) 2024 Rosé Pine
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,36 @@
<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">
Rosé Pine Moon Flavor for <a href="https://github.com/sxyazi/yazi">Yazi</a>
</h3>
## 👀 Preview
<img src="preview.png" width="600" />
## 🎨 Installation
```sh
ya pkg add Mintass/rose-pine-moon
```
## ⚙️ Usage
To set it as your dark flavor, change the content of your `theme.toml` to:
```toml
[flavor]
dark = "rose-pine-moon"
```
Make sure your `theme.toml` doesn't contain anything other than `[flavor]`, unless you want to override certain styles of this flavor.
See the [Yazi flavor documentation](https://yazi-rs.github.io/docs/flavors/overview) for more details.
## 📜 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,230 @@
# vim:fileencoding=utf-8:foldmethod=marker
# : Manager {{{
[mgr]
cwd = { fg = "#9ccfd8" }
# Hovered
hovered = { reversed = true }
preview_hovered = { underline = true }
# Find
find_keyword = { fg = "#f6c177", bold = true, italic = true, underline = true }
find_position = { fg = "#c4a7e7", bg = "reset", bold = true, italic = true }
# Symlink
symlink_target = { italic = true }
# Marker
marker_copied = { fg = "#3e8fb0", bg = "#3e8fb0" }
marker_cut = { fg = "#eb6f92", bg = "#eb6f92" }
marker_marked = { fg = "#ea9a97", bg = "#ea9a97" }
marker_selected = { fg = "#f6c177", bg = "#f6c177" }
# Count
count_copied = { fg = "#e0def4", bg = "#3e8fb0" }
count_cut = { fg = "#e0def4", bg = "#eb6f92" }
count_selected = { fg = "#232136", bg = "#f6c177" }
# Border
border_symbol = "│"
border_style = { fg = "#56526e" }
# Highlighting
syntect_theme = ""
# : }}}
# : Tabs {{{
[tabs]
active = { fg = "#e0def4", bg = "#3e8fb0", bold = true }
inactive = { fg = "#3e8fb0", bg = "#e0def4" }
# Separator
sep_inner = { open = "", close = "" }
sep_outer = { open = "", close = "" }
# : }}}
# : Mode {{{
[mode]
normal_main = { fg = "#232136", bg = "#9ccfd8", bold = true }
normal_alt = { fg = "#232136", bg = "#e0def4", bold = true }
# Select mode
select_main = { fg = "#232136", bg = "#eb6f92", bold = true }
select_alt = { fg = "#232136", bg = "#e0def4", bold = true }
# Unset mode
unset_main = { fg = "#232136", bg = "#eb6f92", bold = true }
unset_alt = { fg = "#232136", bg = "#e0def4", bold = true }
# : }}}
# : Status bar {{{
[status]
overall = { bg = "#232136" }
sep_left = { open = "", close = "" }
sep_right = { open = "", close = "" }
# Permissions
perm_sep = { fg = "#6e6a86" }
perm_type = { fg = "#c4a7e7" }
perm_read = { fg = "#f6c177" }
perm_write = { fg = "#eb6f92" }
perm_exec = { fg = "#9ccfd8" }
# Progress
progress_label = { fg = "#e0def4", bold = true }
progress_normal = { fg = "#3e8fb0", bg = "#2a283e" }
progress_error = { fg = "#eb6f92", bg = "#2a283e" }
# : }}}
# : Which {{{
[which]
cols = 3
mask = { bg = "#2a273f" }
cand = { fg = "#9ccfd8" }
rest = { fg = "#6e6a86" }
desc = { fg = "#f6c177" }
separator = "  "
separator_style = { fg = "#6e6a86" }
# : }}}
# : Confirmation {{{
[confirm]
border = { fg = "#56526e" }
title = { fg = "#eb6f92", bold = true }
body = { fg = "#e0def4" }
list = { fg = "#e0def4" }
btn_yes = { fg = "#232136", bg = "#3e8fb0", bold = true }
btn_no = { fg = "#232136", bg = "#e0def4", bold = true }
btn_labels = [ " [y]es ", " (n)o " ]
# : }}}
# : Spotter {{{
[spot]
border = { fg = "#56526e" }
title = { fg = "#9ccfd8", bold = true }
# Table
tbl_col = { fg = "#9ccfd8" }
tbl_cell = { fg = "#232136", bg = "#f6c177", bold = true }
# : }}}
# : Notification {{{
[notify]
title_info = { fg = "#3e8fb0" }
title_warn = { fg = "#f6c177" }
title_error = { fg = "#eb6f92" }
# : }}}
# : Picker {{{
[pick]
border = { fg = "#3e8fb0" }
active = { fg = "#c4a7e7", bold = true }
inactive = { fg = "#908caa"}
# : }}}
# : Input {{{
[input]
border = { fg = "#3e8fb0" }
title = { bold = true }
value = { fg = "#e0def4"}
selected = { reversed = true }
# : }}}
# : Completion {{{
[cmp]
border = { fg = "#3e8fb0" }
active = { bg = "#e0def4", fg = "#232136", bold = true }
inactive = { fg = "#908caa" }
# : }}}
# : Task manager {{{
[tasks]
border = { fg = "#3e8fb0" }
title = { bold = true}
hovered = { fg = "#c4a7e7", bold = true, reversed = true }
# : }}}
# : Help menu {{{
[help]
on = { fg = "#9ccfd8" }
run = { fg = "#c4a7e7" }
desc = { fg = "#f6c177"}
hovered = { reversed = true, bold = true }
footer = { fg = "#232136", bg = "#e0def4" }
# : }}}
# : File-specific styles {{{
[filetype]
rules = [
# Images
{ mime = "image/*", fg = "#c4a7e7" },
# Media
{ mime = "{audio,video}/*", fg = "#f6c177" },
# Archives
{ mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", fg = "#eb6f92" },
# Documents
{ mime = "application/{pdf,doc,rtf}", fg = "#ea9a97" },
# Empty files
# { mime = "inode/empty", fg = "#eb6f92" },
# Special files
{ name = "*", is = "orphan", fg = "#232136", bg = "#eb6f92" },
{ name = "*", is = "exec" , fg = "#9ccfd8" },
# Dummy files
{ name = "*", is = "dummy", fg = "#232136", bg = "#eb6f92" },
{ name = "*/", is = "dummy", fg = "#232136", bg = "#eb6f92" },
# Fallback
{ name = "*", fg = "#e0def4" },
{ name = "*/", fg = "#3e8fb0" }
]
# : }}}

Binary file not shown.

After

Width:  |  Height:  |  Size: 985 KiB

View File

@ -0,0 +1,316 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>name</key>
<string>Rosé Pine Moon</string>
<key>settings</key>
<array>
<dict>
<key>settings</key>
<dict>
<key>background</key>
<string>#232136</string>
<key>caret</key>
<string>#56526e</string>
<key>foreground</key>
<string>#e0def4</string>
<key>invisibles</key>
<string>#2a273f</string>
<key>lineHighlight</key>
<string>#2a283e</string>
<key>selection</key>
<string>#6e6a86</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Comment</string>
<key>scope</key>
<string>comment</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>italic</string>
<key>foreground</key>
<string>#908caa</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>String</string>
<key>scope</key>
<string>string, punctuation.definition.string</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#f6c177</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Number</string>
<key>scope</key>
<string>constant.numeric</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#f6c177</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Built-in constant</string>
<key>scope</key>
<string>constant.language</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>bold</string>
<key>foreground</key>
<string>#f6c177</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>User-defined constant</string>
<key>scope</key>
<string>constant.character, constant.other</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#f6c177</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Variable</string>
<key>scope</key>
<string>variable</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>italic</string>
<key>foreground</key>
<string>#e0def4</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Keyword</string>
<key>scope</key>
<string>keyword</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#3e8fb0</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Storage</string>
<key>scope</key>
<string>storage</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#9ccfd8</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Storage type</string>
<key>scope</key>
<string>storage.type</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#9ccfd8</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Class name</string>
<key>scope</key>
<string>entity.name.class</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>bold</string>
<key>foreground</key>
<string>#3e8fb0</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Inherited class</string>
<key>scope</key>
<string>entity.other.inherited-class</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>italic </string>
<key>foreground</key>
<string>#3e8fb0</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Function name</string>
<key>scope</key>
<string>entity.name.function</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>italic</string>
<key>foreground</key>
<string>#ea9a97</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Function argument</string>
<key>scope</key>
<string>variable.parameter</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#c4a7e7</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Tag name</string>
<key>scope</key>
<string>entity.name.tag</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>bold</string>
<key>foreground</key>
<string>#3e8fb0</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Tag attribute</string>
<key>scope</key>
<string>entity.other.attribute-name</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#c4a7e7</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library function</string>
<key>scope</key>
<string>support.function</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>bold</string>
<key>foreground</key>
<string>#ea9a97</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library constant</string>
<key>scope</key>
<string>support.constant</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>bold</string>
<key>foreground</key>
<string>#f6c177</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library class&#x2f;type</string>
<key>scope</key>
<string>support.type, support.class</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>bold</string>
<key>foreground</key>
<string>#9ccfd8</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library variable</string>
<key>scope</key>
<string>support.other.variable</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string>bold</string>
<key>foreground</key>
<string>#eb6f92</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Invalid</string>
<key>scope</key>
<string>invalid</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#eb6f92</string>
<key>fontStyle</key>
<string></string>
<key>foreground</key>
<string>#e0def4</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Invalid deprecated</string>
<key>scope</key>
<string>invalid.deprecated</string>
<key>settings</key>
<dict>
<key>background</key>
<string>#c4a7e7</string>
<key>foreground</key>
<string>#e0def4</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Punctuation, Operators</string>
<key>scope</key>
<string>punctuation, keyword.operator</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#908caa</string>
</dict>
</dict>
</array>
<key>colorSpaceName</key>
<string>sRGB</string>
<key>semanticClass</key>
<string>theme.dark.rosé-pine-moon</string>
<key>author</key>
<string>arrrgi</string>
<key>comment</key>
<string>All natural pine, faux fur and a bit of soho vibes for the classy minimalist</string>
<key>uuid</key>
<string>CC28B8FB-96BA-43EB-B71F-5AA3D3EBB0BB</string>
</dict>
</plist>

View File

@ -20,52 +20,3 @@ require("augment-command"):setup({
wraparound_file_navigation = false,
})
require("git"):setup()
-- require("yatline"):setup({
-- show_background = false,
-- section_separator = { open = "", close = "" },
-- part_separator = { open = "", close = "" },
-- inverse_separator = { open = "", close = "" },
--
-- header_line = {
-- left = {
-- section_a = {
-- { type = "line", custom = false, name = "tabs", params = { "left" } },
-- },
-- section_b = {},
-- section_c = {},
-- },
-- right = {
-- section_a = {
-- { type = "string", custom = false, name = "date", params = { "%A, %d %B %Y" } },
-- },
-- section_b = {
-- { type = "string", custom = false, name = "date", params = { "%X" } },
-- },
-- section_c = {},
-- },
-- },
--
-- status_line = {
-- left = {
-- section_a = {},
-- section_b = {},
-- section_c = {
-- { type = "string", custom = false, name = "hovered_path" },
-- { type = "coloreds", custom = false, name = "task_states" },
-- },
-- },
-- right = {
-- section_a = {
-- { type = "string", custom = false, name = "cursor_position" },
-- { type = "string", custom = false, name = "cursor_percentage" },
-- },
-- section_b = {
-- { type = "string", custom = false, name = "hovered_file_extension", params = { true } },
-- },
-- section_c = {
-- { type = "coloreds", custom = false, name = "permissions" },
-- { type = "coloreds", custom = false, name = "count", params = "true" },
-- },
-- },
-- },
-- })

View File

@ -155,8 +155,6 @@ prepend_keymap = [
{on = [ "y" ], run = [ 'shell -- echo "$@" | xclip -selection clipboard', "yank" ], desc = "Yank the selected files"},
{on = [ "y" ], run = [ 'shell -- for path in "$@"; do echo "file://$path"; done | wl-copy -t text/uri-list', "yank" ], desc = "Yank the selected files"},
{on = [ "b", "g" ], run = [ ''' shell 'setbg "$1"' --confirm ''' ], desc = "Set the background image"},
# vidir
{on = "B", run = [ "escape --visual", "plugin --sync vidir" ], desc = "Bulk rename with vidir"},
# chmod
{on = [ "c", "m" ], run = "plugin chmod", desc = "Chmod on selected files"},
# Archive

View File

@ -10,8 +10,8 @@ hash = "e02a788e5b8ae0fb47fd0193dda589cc"
[[plugin.deps]]
use = "hankertrix/augment-command"
rev = "edc1bcf"
hash = "d5874bfb59265c96e8d9d5ef53c9450"
rev = "120406f"
hash = "e83ccc99739cd500fb1b1014dc45824a"
[[plugin.deps]]
use = "kirasok/torrent-preview"
@ -30,32 +30,32 @@ hash = "62251f94eb67648d42cdfcfb8be0fad2"
[[plugin.deps]]
use = "yazi-rs/plugins:git"
rev = "b886025"
rev = "de53d90"
hash = "63b6c222bf2103b3023389dde5e2ecfe"
[[plugin.deps]]
use = "yazi-rs/plugins:chmod"
rev = "b886025"
rev = "de53d90"
hash = "1adc12c2b2b025411ab61eb8f0879574"
[[plugin.deps]]
use = "yazi-rs/plugins:full-border"
rev = "b886025"
rev = "de53d90"
hash = "3996fc74044bc44144b323686f887e1"
[[plugin.deps]]
use = "yazi-rs/plugins:mount"
rev = "b886025"
rev = "de53d90"
hash = "f10a14e823382d90fab5b3ee54cb38fe"
[[plugin.deps]]
use = "yazi-rs/plugins:smart-filter"
rev = "b886025"
hash = "a9d553bd19a3cd7f4eab3abaac5d67ff"
rev = "de53d90"
hash = "e56b7abf3c06e8ce496eadcca168c093"
[[plugin.deps]]
use = "yazi-rs/plugins:diff"
rev = "b886025"
rev = "de53d90"
hash = "47865a70cade14a0b9b6bc6a54f16bdb"
[[plugin.deps]]
@ -65,13 +65,13 @@ hash = "b4040931f0d2f9670ddb4923e55cd881"
[[plugin.deps]]
use = "macydnah/office"
rev = "4002d36"
hash = "9c68763dd4f2799f7cfee1e9c3e819a9"
rev = "33cc61a"
hash = "d7e31c616cc6c8a1f05fdff7c47dae98"
[[plugin.deps]]
use = "boydaihungst/mediainfo"
rev = "cc12f3f"
hash = "b92e44ad5004f1b45e5c3d717a60ed24"
rev = "0e2ae47"
hash = "6656f2869ae2274a0e1860876f15186f"
[[plugin.deps]]
use = "iynaix/time-travel"
@ -83,10 +83,17 @@ use = "imsi32/yatline"
rev = "88bd1c5"
hash = "981acbe9b758b1af3a8154c932bb936d"
[[plugin.deps]]
use = "kristoferssolo/vidir"
rev = "54ef22b"
hash = "e3fe41820f43c3511be9846cc7bdf638"
[[flavor.deps]]
use = "Mintass/rose-pine"
rev = "8343340"
hash = "e2336631865c0f90276dcbc553d532fc"
[flavor]
deps = []
[[flavor.deps]]
use = "Mintass/rose-pine-moon"
rev = "aa2d937"
hash = "97cd4819252cb1a9d0f55daa14e481e"
[[flavor.deps]]
use = "Mintass/rose-pine-dawn"
rev = "5c6d353"
hash = "d9d9463d5d43ced18e18986d05439ace"

View File

@ -32,6 +32,7 @@ plugin.
- [Arrow (`arrow`)](#arrow-arrow)
- [New commands](#new-commands)
- [Parent arrow (`parent_arrow`)](#parent-arrow-parent_arrow)
- [First file (`first_file`)](#first-file-first_file)
- [Archive (`archive`)](#archive-archive)
- [Emit (`emit`)](#emit-emit)
- [Editor (`editor`)](#editor-editor)
@ -995,6 +996,33 @@ in your `keymap.toml` file.
wrapping around,
even when `wraparound_file_navigation` is set to `true`.
### First file (`first_file`)
- This command just moves the cursor to the first file
in the current directory, regardless of the current cursor position.
- It is useful for quickly getting to the first file
in the current directory when `sort_dir_first` is set to `true`,
which is the case by default.
Video:
[first-file-video]
- It also works with smooth scrolling, so when `smooth_scrolling`
is set to `true`, the command will smoothly scroll the cursor
to the first file.
Video:
[smooth-first-file-video]
- Alternatively, if you just want to get to a file
in the current directory, you can use the built-in `G` key bind
that calls `arrow bot` to get to the last item
in the current directory, which would be a file
if `sort_dir_first` is set to `true`,
which is the case by default.
### Archive (`archive`)
- The `archive` command adds the selected or hovered items
@ -1410,7 +1438,7 @@ and [my `yazi.toml` file][my-yazi-toml].
## [Licence]
This plugin is licenced under the [GNU AGPL v3 licence][Licence].
This plugin is licensed under the [GNU AGPL v3 licence][Licence].
You can view the full licence in the [`LICENSE`][Licence] file.
<!-- Regular links -->
@ -1426,15 +1454,15 @@ You can view the full licence in the [`LICENSE`][Licence] file.
[gnu-tar-link]: https://www.gnu.org/software/tar/
[apple-tar-link]: https://ss64.com/mac/tar.html
[brew-link]: https://brew.sh/
[yazi-yazi-toml-extract-openers]: https://github.com/sxyazi/yazi/blob/main/yazi-config/preset/yazi-default.toml#L51-L54
[yazi-yazi-toml-extract-openers]: https://github.com/sxyazi/yazi/blob/main/yazi-config/preset/yazi-default.toml#L50-L53
[yazi-yazi-toml]: https://github.com/sxyazi/yazi/blob/main/yazi-config/preset/yazi-default.toml
[yazi-shell-variables]: https://yazi-rs.github.io/docs/configuration/keymap/#manager.shell
[thunderbird-tip]: https://yazi-rs.github.io/docs/tips#email-selected-files-using-thunderbird
[yazi-shell-variables]: https://yazi-rs.github.io/docs/configuration/keymap/#mgr.shell
[thunderbird-tip]: https://yazi-rs.github.io/docs/tips/#email-selected-files
[input-configuration]: https://yazi-rs.github.io/docs/configuration/yazi#input
[confirm-configuration]: https://yazi-rs.github.io/docs/configuration/yazi#confirm
[yazi-keymap-toml]: https://github.com/sxyazi/yazi/blob/main/yazi-config/preset/keymap-default.toml
[my-keymap-toml]: https://github.com/hankertrix/Dotfiles/blob/main/.config/yazi/keymap.toml
[my-yazi-toml]: https://github.com/hankertrix/Dotfiles/blob/main/.config/yazi/yazi.toml
[my-keymap-toml]: https://github.com/hankertrix/Dotfiles/blob/main/tilde/dot_config/yazi/keymap.toml.tmpl
[my-yazi-toml]: https://github.com/hankertrix/Dotfiles/blob/main/tilde/dot_config/yazi/yazi.toml
[Licence]: LICENSE
<!-- Videos -->
@ -1532,6 +1560,11 @@ You can view the full licence in the [`LICENSE`][Licence] file.
[wraparound-parent-arrow-video]: https://github.com/user-attachments/assets/ce35b55f-98dc-485d-a5e4-005ebe3ea169
[smooth-wraparound-parent-arrow-video]: https://github.com/user-attachments/assets/5256f0c5-b96b-4f4c-ac1d-f4a3f087cc57
<!-- First file command -->
[first-file-video]: https://github.com/user-attachments/assets/4b4a1e6d-b013-47b5-919f-90279977fd98
[smooth-first-file-video]: https://github.com/user-attachments/assets/f4c9c191-fa9f-428e-87e2-9bf654e60f72
<!-- Archive command -->
[archive-must-have-hovered-item-video]: https://github.com/user-attachments/assets/a49929b3-3b0d-4a50-b5d6-9dae7c119e7e

View File

@ -131,6 +131,7 @@ local Commands = {
Emit = "emit",
Editor = "editor",
Pager = "pager",
FirstFile = "first_file",
}
-- The enum for which group of items to operate on
@ -4233,6 +4234,56 @@ local function handle_parent_arrow(args, config)
)
end
-- Function to execute the first file command
---@type fun(): nil
local execute_first_file = ya.sync(function()
--
-- Get the current working directory
local current = cx.active.current
-- Get the files in the current working directory
local files = current.files
-- Initialise the index of the first file
local first_file_index = nil
-- Iterate over the files
for index, file in ipairs(files) do
--
-- If the file isn't a directory,
if not file.cha.is_dir then
--
-- Set the first file index
first_file_index = index
-- Break out of the loop
break
end
end
-- Get the amount to move the cursor by.
--
-- The cursor index needs to be increased by 1
-- because the cursor index is 0-indexed
-- while Lua tables are 1-indexed.
local move_by = first_file_index - (current.cursor + 1)
-- Emit the augmented arrow command
emit_augmented_command("arrow", { move_by })
end)
-- Function to handle the first file command
---@type CommandFunction
local function handle_first_file()
--
-- Call the function to execute the first file command
execute_first_file()
end
-- Function to check if an archive supports header encryption
---@param archive_path string The path to the archive
---@param wanted boolean Whether header encryption is wanted
@ -4666,6 +4717,7 @@ local function run_command_func(command, args, config)
[Commands.Quit] = handle_quit,
[Commands.Arrow] = handle_arrow,
[Commands.ParentArrow] = handle_parent_arrow,
[Commands.FirstFile] = handle_first_file,
[Commands.Archive] = handle_archive,
[Commands.Emit] = handle_emit,
[Commands.Editor] = handle_editor,

View File

@ -34,7 +34,7 @@ using `ffmpeg` if available and media metadata using `mediainfo`.
![subrip](assets/2025-02-15-16-51-11.png)
- SVG+XML file doesn't have useful information, so it only show the image preview.
- There are more file extensions which are supported by mediainfo. Just add file's MIME type to `previewers`, `preloaders`.
- There are more file extensions which are supported by mediainfo. Just add file's MIME type to `prepend_previewers`, `prepend_preloaders`.
Use `spotter` to determine File's MIME type. [Default is `<Tab>` key](https://github.com/sxyazi/yazi/blob/1a6abae974370702c8865459344bf256de58359e/yazi-config/preset/keymap-default.toml#L59)
## Installation
@ -58,8 +58,10 @@ using `ffmpeg` if available and media metadata using `mediainfo`.
## Configuration:
> [!IMPORTANT] > `mediainfo` use video, image, svg, magick built-in plugins behind the scene to render preview image, song cover.
> So you can remove those 3 plugins from `preloaders` and `previewers` sections in `yazi.toml`.
> [!IMPORTANT]
>
> `mediainfo` use built-in video, image, svg, magick plugins behind the scene to render preview image, song cover.
> So you can remove those 4 plugins from `prepend_preloaders` and `prepend_previewers` sections in `yazi.toml`.
If you have cache problem, run this cmd, and follow the tips: `yazi --clear-cache`
@ -67,25 +69,36 @@ Config folder for each OS: https://yazi-rs.github.io/docs/configuration/overview
Create `.../yazi/yazi.toml` and add:
> [!IMPORTANT]
>
> For yazi nightly replace `name` with `url`
```toml
[plugin]
prepend_preloaders = [
# Replace magick, image, video with mediainfo
{ mime = "{audio,video,image}/*", run = "mediainfo" },
{ mime = "application/subrip", run = "mediainfo" },
# Adobe Illustrator
# Adobe Illustrator, Adobe Photoshop is image/adobe.photoshop, already handled above
{ mime = "application/postscript", run = "mediainfo" },
]
prepend_previewers = [
# Replace magick, image, video with mediainfo
{ mime = "{audio,video,image}/*", run = "mediainfo"},
{ mime = "application/subrip", run = "mediainfo" },
# Adobe Illustrator
# Adobe Illustrator, Adobe Photoshop is image/adobe.photoshop, already handled above
{ mime = "application/postscript", run = "mediainfo" },
]
# There are more extensions which are supported by mediainfo.
# Just add file's MIME type to `previewers`, `preloaders` above.
# https://mediaarea.net/en/MediaInfo/Support/Formats
# For a large file like Adobe Illustrator, Adobe Photoshop, etc
# you may need to increase the memory limit if no image is rendered.
# https://yazi-rs.github.io/docs/configuration/yazi#tasks
[tasks]
image_alloc = 1073741824 # = 1024*1024*1024 = 1024MB
```
## Custom theme

View File

@ -165,7 +165,8 @@ function M:peek(job)
or (is_video and job.skip >= 90)
or (
(job.mime == "image/adobe.photoshop" or job.mime == "application/postscript")
and image_layer_count(job) < (1 + math.floor(math.max(0, job.skip / (get_state("units") or 0))))
and image_layer_count(job)
< (1 + math.floor(math.max(0, get_state("units") and (job.skip / get_state("units")) or 0)))
)
)
then

View File

@ -16,7 +16,7 @@
>
> To install it with `ya` run:
> ```sh
> ya pack -a macydnah/office
> ya pkg add macydnah/office
> ```
> Or if you prefer a manual approach:

View File

@ -43,6 +43,7 @@ local function entry()
elseif event == 1 then
ya.emit("escape", { filter = true })
ya.emit(h.is_dir and "enter" or "open", { h.url })
break
end
end
end

View File

@ -1,29 +0,0 @@
# vidir.yazi
This plugin is a bulk-rename plugin using [vidir](https://linux.die.net/man/1/vidir).
## Requirements
- [yazi >= v25.2.7](https://github.com/sxyazi/yazi)
- [vidir](https://linux.die.net/man/1/vidir) (sometimes included in [moreutils](https://man.archlinux.org/listing/extra/moreutils/) package)
## Installation
```bash
ya pack -a kristoferssolo/vidir
```
## Usage
Add this to your `~/.config/yazi/keymap.toml`:
```toml
[[manager.prepend_keymap]]
on = "B"
run = [ "escape --visual", "plugin --sync vidir" ]
desc = "Bulk rename with vidir"
```
## License
This plugin is MIT-licensed. For more information check the [LICENSE](LICENSE) file.

View File

@ -1,9 +0,0 @@
--- @sync entry
--- @since 25.2.7
return {
entry = function()
-- If no selection, use current directory (.)
ya.manager_emit("shell", { "vidir .", block = true, confirm = true })
end,
}

View File

@ -5,5 +5,5 @@ export XDG_CURRENT_DESKTOP=Hyprland
export XDG_SESSION_TYPE=wayland
export XDG_SESSION_DESKTOP=Hyprland
[ "$(tty)" = "/dev/tty1" ] && ! pidof -s niri >/dev/null 2>&1 && niri --session
# [ "$(tty)" = "/dev/tty1" ] && ! pidof -s Hyprland >/dev/null 2>&1 && Hyprland
# [ "$(tty)" = "/dev/tty1" ] && ! pidof -s niri >/dev/null 2>&1 && niri --session
[ "$(tty)" = "/dev/tty1" ] && ! pidof -s Hyprland >/dev/null 2>&1 && Hyprland

0
dotter Normal file → Executable file
View File

0
dotter.arm Normal file → Executable file
View File

0
dotter.exe Normal file → Executable file
View File

0
local/bin/ani-skip.bak Executable file → Normal file
View File

0
local/bin/get-spotify-id Executable file → Normal file
View File

0
local/share/fonts/jetbrainsmono/AUTHORS.txt Executable file → Normal file
View File