diff --git a/.dotter/global.toml b/.dotter/global.toml index 66a748fc..9a4e107a 100644 --- a/.dotter/global.toml +++ b/.dotter/global.toml @@ -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/" diff --git a/config/HybridBar/scripts/change-active-workspace b/config/HybridBar/scripts/change-active-workspace old mode 100644 new mode 100755 diff --git a/config/HybridBar/scripts/get-active-workspace b/config/HybridBar/scripts/get-active-workspace old mode 100644 new mode 100755 diff --git a/config/HybridBar/scripts/get-window-title b/config/HybridBar/scripts/get-window-title old mode 100644 new mode 100755 diff --git a/config/HybridBar/scripts/get-workspaces b/config/HybridBar/scripts/get-workspaces old mode 100644 new mode 100755 diff --git a/config/eww/scripts/change-active-workspace b/config/eww/scripts/change-active-workspace old mode 100644 new mode 100755 diff --git a/config/eww/scripts/get-active-workspace b/config/eww/scripts/get-active-workspace old mode 100644 new mode 100755 diff --git a/config/eww/scripts/get-window-title b/config/eww/scripts/get-window-title old mode 100644 new mode 100755 diff --git a/config/eww/scripts/get-workspaces b/config/eww/scripts/get-workspaces old mode 100644 new mode 100755 diff --git a/config/eww/scripts/mem-ad b/config/eww/scripts/mem-ad old mode 100644 new mode 100755 diff --git a/config/eww/scripts/memory b/config/eww/scripts/memory old mode 100644 new mode 100755 diff --git a/config/eww/scripts/music_info b/config/eww/scripts/music_info old mode 100644 new mode 100755 diff --git a/config/eww/scripts/music_info.bak b/config/eww/scripts/music_info.bak old mode 100644 new mode 100755 diff --git a/config/eww/scripts/pop b/config/eww/scripts/pop old mode 100644 new mode 100755 diff --git a/config/eww/scripts/wifi b/config/eww/scripts/wifi old mode 100644 new mode 100755 diff --git a/config/eww/scripts/workspace b/config/eww/scripts/workspace old mode 100644 new mode 100755 diff --git a/config/git/check_email.sh b/config/git/check_email.sh old mode 100755 new mode 100644 diff --git a/config/hypr/hyprland.conf b/config/hypr/hyprland.conf index f530727e..dbaab030 100644 --- a/config/hypr/hyprland.conf +++ b/config/hypr/hyprland.conf @@ -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 diff --git a/config/lf/cleaner b/config/lf/cleaner old mode 100644 new mode 100755 diff --git a/config/lf/lfrc b/config/lf/lfrc old mode 100644 new mode 100755 diff --git a/config/nsxiv/exec/image-info b/config/nsxiv/exec/image-info old mode 100644 new mode 100755 diff --git a/config/nsxiv/exec/key-handler b/config/nsxiv/exec/key-handler old mode 100644 new mode 100755 diff --git a/config/nsxiv/exec/nsxiv-url b/config/nsxiv/exec/nsxiv-url old mode 100644 new mode 100755 diff --git a/config/nsxiv/exec/thumb-info b/config/nsxiv/exec/thumb-info old mode 100644 new mode 100755 diff --git a/config/nsxiv/exec/win-title b/config/nsxiv/exec/win-title old mode 100644 new mode 100755 diff --git a/config/sqruff/config.cfg b/config/sqruff/config.cfg index 2a4030e9..58f5576e 100644 --- a/config/sqruff/config.cfg +++ b/config/sqruff/config.cfg @@ -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 diff --git a/config/sqruff/foo.sql b/config/sqruff/foo.sql new file mode 100644 index 00000000..4cccfd62 --- /dev/null +++ b/config/sqruff/foo.sql @@ -0,0 +1,6 @@ +SELECT + id, password +FROM + users +WHERE + username = $1 diff --git a/config/waybar/scripts/mediaplayer.py b/config/waybar/scripts/mediaplayer.py old mode 100755 new mode 100644 diff --git a/config/x11/opt-apps b/config/x11/opt-apps old mode 100644 new mode 100755 diff --git a/config/xdg-desktop-portal-termfilechooser/config b/config/xdg-desktop-portal-termfilechooser/config new file mode 100644 index 00000000..34ddb509 --- /dev/null +++ b/config/xdg-desktop-portal-termfilechooser/config @@ -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 diff --git a/config/xdg-desktop-portal-termfilechooser/yazi-wrapper.sh b/config/xdg-desktop-portal-termfilechooser/yazi-wrapper.sh new file mode 100755 index 00000000..3fc95ddf --- /dev/null +++ b/config/xdg-desktop-portal-termfilechooser/yazi-wrapper.sh @@ -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 diff --git a/config/yazi/plugins/vidir.yazi/LICENSE b/config/yazi/flavors/rose-pine-dawn.yazi/LICENSE similarity index 96% rename from config/yazi/plugins/vidir.yazi/LICENSE rename to config/yazi/flavors/rose-pine-dawn.yazi/LICENSE index 34034b42..78e74c8c 100644 --- a/config/yazi/plugins/vidir.yazi/LICENSE +++ b/config/yazi/flavors/rose-pine-dawn.yazi/LICENSE @@ -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 diff --git a/config/yazi/flavors/rose-pine-dawn.yazi/LICENSE-tmtheme b/config/yazi/flavors/rose-pine-dawn.yazi/LICENSE-tmtheme new file mode 100644 index 00000000..ef13b562 --- /dev/null +++ b/config/yazi/flavors/rose-pine-dawn.yazi/LICENSE-tmtheme @@ -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. \ No newline at end of file diff --git a/config/yazi/flavors/rose-pine-dawn.yazi/README.md b/config/yazi/flavors/rose-pine-dawn.yazi/README.md new file mode 100644 index 00000000..6163fb57 --- /dev/null +++ b/config/yazi/flavors/rose-pine-dawn.yazi/README.md @@ -0,0 +1,36 @@ +
+
+
+## 🎨 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.
diff --git a/config/yazi/flavors/rose-pine-dawn.yazi/flavor.toml b/config/yazi/flavors/rose-pine-dawn.yazi/flavor.toml
new file mode 100644
index 00000000..cf641114
--- /dev/null
+++ b/config/yazi/flavors/rose-pine-dawn.yazi/flavor.toml
@@ -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" }
+]
+
+# : }}}
\ No newline at end of file
diff --git a/config/yazi/flavors/rose-pine-dawn.yazi/preview.png b/config/yazi/flavors/rose-pine-dawn.yazi/preview.png
new file mode 100644
index 00000000..e4ef7cbe
Binary files /dev/null and b/config/yazi/flavors/rose-pine-dawn.yazi/preview.png differ
diff --git a/config/yazi/flavors/rose-pine-dawn.yazi/tmtheme.xml b/config/yazi/flavors/rose-pine-dawn.yazi/tmtheme.xml
new file mode 100644
index 00000000..4610ea59
--- /dev/null
+++ b/config/yazi/flavors/rose-pine-dawn.yazi/tmtheme.xml
@@ -0,0 +1,316 @@
+
+
+
+
+
+## 🎨 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.
diff --git a/config/yazi/flavors/rose-pine-moon.yazi/flavor.toml b/config/yazi/flavors/rose-pine-moon.yazi/flavor.toml
new file mode 100644
index 00000000..905ae6fd
--- /dev/null
+++ b/config/yazi/flavors/rose-pine-moon.yazi/flavor.toml
@@ -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" }
+]
+
+# : }}}
\ No newline at end of file
diff --git a/config/yazi/flavors/rose-pine-moon.yazi/preview.png b/config/yazi/flavors/rose-pine-moon.yazi/preview.png
new file mode 100644
index 00000000..9661964d
Binary files /dev/null and b/config/yazi/flavors/rose-pine-moon.yazi/preview.png differ
diff --git a/config/yazi/flavors/rose-pine-moon.yazi/tmtheme.xml b/config/yazi/flavors/rose-pine-moon.yazi/tmtheme.xml
new file mode 100644
index 00000000..3e26d9ce
--- /dev/null
+++ b/config/yazi/flavors/rose-pine-moon.yazi/tmtheme.xml
@@ -0,0 +1,316 @@
+
+
+