Update dotfiles
After Width: | Height: | Size: 323 KiB |
Before Width: | Height: | Size: 623 KiB After Width: | Height: | Size: 623 KiB |
|
@ -2,7 +2,7 @@
|
|||
|
||||
### Rice
|
||||
|
||||
![](./Pictures/rices/rice1.png)
|
||||
![](./Pictures/rices/rice.png)
|
||||
|
||||
</div>
|
||||
|
||||
|
|
|
@ -1,459 +0,0 @@
|
|||
# See dunst(5) for all configuration options
|
||||
|
||||
[global]
|
||||
### Display ###
|
||||
|
||||
# Which monitor should the notifications be displayed on.
|
||||
monitor = 0
|
||||
|
||||
# Display notification on focused monitor. Possible modes are:
|
||||
# mouse: follow mouse pointer
|
||||
# keyboard: follow window with keyboard focus
|
||||
# none: don't follow anything
|
||||
#
|
||||
# "keyboard" needs a window manager that exports the
|
||||
# _NET_ACTIVE_WINDOW property.
|
||||
# This should be the case for almost all modern window managers.
|
||||
#
|
||||
# If this option is set to mouse or keyboard, the monitor option
|
||||
# will be ignored.
|
||||
follow = none
|
||||
|
||||
### Geometry ###
|
||||
|
||||
# dynamic width from 0 to 300
|
||||
# width = (0, 300)
|
||||
# constant width of 300
|
||||
width = (111,444)
|
||||
|
||||
# The maximum height of a single notification, excluding the frame.
|
||||
height = 200
|
||||
|
||||
# Position the notification in the top right corner
|
||||
origin = top-right
|
||||
|
||||
# Offset from the origin
|
||||
offset = 10x50
|
||||
|
||||
# Scale factor. It is auto-detected if value is 0.
|
||||
scale = 0
|
||||
|
||||
# Maximum number of notification (0 means no limit)
|
||||
notification_limit = 0
|
||||
|
||||
### Progress bar ###
|
||||
|
||||
# Turn on the progess bar. It appears when a progress hint is passed with
|
||||
# for example dunstify -h int:value:12
|
||||
progress_bar = true
|
||||
|
||||
# Set the progress bar height. This includes the frame, so make sure
|
||||
# it's at least twice as big as the frame width.
|
||||
progress_bar_height = 10
|
||||
|
||||
# Set the frame width of the progress bar
|
||||
progress_bar_frame_width = 1
|
||||
|
||||
# Set the minimum width for the progress bar
|
||||
progress_bar_min_width = 150
|
||||
|
||||
# Set the maximum width for the progress bar
|
||||
progress_bar_max_width = 300
|
||||
|
||||
# Show how many messages are currently hidden (because of
|
||||
# notification_limit).
|
||||
indicate_hidden = yes
|
||||
|
||||
# The transparency of the window. Range: [0; 100].
|
||||
# This option will only work if a compositing window manager is
|
||||
# present (e.g. xcompmgr, compiz, etc.). (X11 only)
|
||||
transparency = 0
|
||||
|
||||
# Draw a line of "separator_height" pixel height between two
|
||||
# notifications.
|
||||
# Set to 0 to disable.
|
||||
# If gap_size is greater than 0, this setting will be ignored.
|
||||
separator_height = 2
|
||||
|
||||
# Padding between text and separator.
|
||||
padding = 8
|
||||
|
||||
# Horizontal padding.
|
||||
horizontal_padding = 8
|
||||
|
||||
# Padding between text and icon.
|
||||
text_icon_padding = 0
|
||||
|
||||
# Defines width in pixels of frame around the notification window.
|
||||
# Set to 0 to disable.
|
||||
frame_width = 3
|
||||
|
||||
# Defines color of the frame around the notification window.
|
||||
frame_color = "#16161E"
|
||||
|
||||
# Size of gap to display between notifications - requires a compositor.
|
||||
# If value is greater than 0, separator_height will be ignored and a border
|
||||
# of size frame_width will be drawn around each notification instead.
|
||||
# Click events on gaps do not currently propagate to applications below.
|
||||
gap_size = 0
|
||||
|
||||
# Define a color for the separator.
|
||||
# possible values are:
|
||||
# * auto: dunst tries to find a color fitting to the background;
|
||||
# * foreground: use the same color as the foreground;
|
||||
# * frame: use the same color as the frame;
|
||||
# * anything else will be interpreted as a X color.
|
||||
separator_color = frame
|
||||
|
||||
# Sort messages by urgency.
|
||||
sort = yes
|
||||
|
||||
# Don't remove messages, if the user is idle (no mouse or keyboard input)
|
||||
# for longer than idle_threshold seconds.
|
||||
# Set to 0 to disable.
|
||||
# A client can set the 'transient' hint to bypass this. See the rules
|
||||
# section for how to disable this if necessary
|
||||
# idle_threshold = 120
|
||||
|
||||
### Text ###
|
||||
|
||||
font = Iosevka 10
|
||||
|
||||
# The spacing between lines. If the height is smaller than the
|
||||
# font height, it will get raised to the font height.
|
||||
line_height = 0
|
||||
|
||||
# Possible values are:
|
||||
# full: Allow a small subset of html markup in notifications:
|
||||
# <b>bold</b>
|
||||
# <i>italic</i>
|
||||
# <s>strikethrough</s>
|
||||
# <u>underline</u>
|
||||
#
|
||||
# For a complete reference see
|
||||
# <https://docs.gtk.org/Pango/pango_markup.html>.
|
||||
#
|
||||
# strip: This setting is provided for compatibility with some broken
|
||||
# clients that send markup even though it's not enabled on the
|
||||
# server. Dunst will try to strip the markup but the parsing is
|
||||
# simplistic so using this option outside of matching rules for
|
||||
# specific applications *IS GREATLY DISCOURAGED*.
|
||||
#
|
||||
# no: Disable markup parsing, incoming notifications will be treated as
|
||||
# plain text. Dunst will not advertise that it has the body-markup
|
||||
# capability if this is set as a global setting.
|
||||
#
|
||||
# It's important to note that markup inside the format option will be parsed
|
||||
# regardless of what this is set to.
|
||||
markup = full
|
||||
|
||||
# The format of the message. Possible variables are:
|
||||
# %a appname
|
||||
# %s summary
|
||||
# %b body
|
||||
# %i iconname (including its path)
|
||||
# %I iconname (without its path)
|
||||
# %p progress value if set ([ 0%] to [100%]) or nothing
|
||||
# %n progress value if set without any extra characters
|
||||
# %% Literal %
|
||||
# Markup is allowed
|
||||
format = "<b>%s</b>\n%b"
|
||||
|
||||
# Alignment of message text.
|
||||
# Possible values are "left", "center" and "right".
|
||||
alignment = left
|
||||
|
||||
# Vertical alignment of message text and icon.
|
||||
# Possible values are "top", "center" and "bottom".
|
||||
vertical_alignment = center
|
||||
|
||||
# Show age of message if message is older than show_age_threshold
|
||||
# seconds.
|
||||
# Set to -1 to disable.
|
||||
show_age_threshold = 60
|
||||
|
||||
# Specify where to make an ellipsis in long lines.
|
||||
# Possible values are "start", "middle" and "end".
|
||||
ellipsize = middle
|
||||
|
||||
# Ignore newlines '\n' in notifications.
|
||||
ignore_newline = no
|
||||
|
||||
# Stack together notifications with the same content
|
||||
stack_duplicates = true
|
||||
|
||||
# Hide the count of stacked notifications with the same content
|
||||
hide_duplicate_count = false
|
||||
|
||||
# Display indicators for URLs (U) and actions (A).
|
||||
show_indicators = yes
|
||||
|
||||
### Icons ###
|
||||
|
||||
# Recursive icon lookup. You can set a single theme, instead of having to
|
||||
# define all lookup paths.
|
||||
enable_recursive_icon_lookup = true
|
||||
|
||||
# Set icon theme (only used for recursive icon lookup)
|
||||
icon_theme = Adwaita
|
||||
# You can also set multiple icon themes, with the leftmost one being used first.
|
||||
# icon_theme = "Adwaita, breeze"
|
||||
|
||||
# Align icons left/right/top/off
|
||||
icon_position = left
|
||||
|
||||
# Scale small icons up to this size, set to 0 to disable. Helpful
|
||||
# for e.g. small files or high-dpi screens. In case of conflict,
|
||||
# max_icon_size takes precedence over this.
|
||||
min_icon_size = 32
|
||||
|
||||
# Scale larger icons down to this size, set to 0 to disable
|
||||
max_icon_size = 100
|
||||
|
||||
# Paths to default icons (only neccesary when not using recursive icon lookup)
|
||||
icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
|
||||
|
||||
### History ###
|
||||
|
||||
# Should a notification popped up from history be sticky or timeout
|
||||
# as if it would normally do.
|
||||
sticky_history = yes
|
||||
|
||||
# Maximum amount of notifications kept in history
|
||||
history_length = 20
|
||||
|
||||
### Misc/Advanced ###
|
||||
|
||||
# dmenu path.
|
||||
dmenu = /usr/bin/dmenu -p dunst:
|
||||
|
||||
# Browser for opening urls in context menu.
|
||||
browser = /usr/bin/xdg-open
|
||||
|
||||
# Always run rule-defined scripts, even if the notification is suppressed
|
||||
always_run_script = true
|
||||
|
||||
# Define the title of the windows spawned by dunst
|
||||
title = Dunst
|
||||
|
||||
# Define the class of the windows spawned by dunst
|
||||
class = Dunst
|
||||
|
||||
# Define the corner radius of the notification window
|
||||
# in pixel size. If the radius is 0, you have no rounded
|
||||
# corners.
|
||||
# The radius will be automatically lowered if it exceeds half of the
|
||||
# notification height to avoid clipping text and/or icons.
|
||||
corner_radius = 5
|
||||
|
||||
# Ignore the dbus closeNotification message.
|
||||
# Useful to enforce the timeout set by dunst configuration. Without this
|
||||
# parameter, an application may close the notification sent before the
|
||||
# user defined timeout.
|
||||
ignore_dbusclose = false
|
||||
|
||||
### Wayland ###
|
||||
# These settings are Wayland-specific. They have no effect when using X11
|
||||
|
||||
# Uncomment this if you want to let notications appear under fullscreen
|
||||
# applications (default: overlay)
|
||||
# layer = top
|
||||
|
||||
# Set this to true to use X11 output on Wayland.
|
||||
force_xwayland = false
|
||||
|
||||
### Legacy
|
||||
|
||||
# Use the Xinerama extension instead of RandR for multi-monitor support.
|
||||
# This setting is provided for compatibility with older nVidia drivers that
|
||||
# do not support RandR and using it on systems that support RandR is highly
|
||||
# discouraged.
|
||||
#
|
||||
# By enabling this setting dunst will not be able to detect when a monitor
|
||||
# is connected or disconnected which might break follow mode if the screen
|
||||
# layout changes.
|
||||
force_xinerama = false
|
||||
|
||||
### mouse
|
||||
|
||||
# Defines list of actions for each mouse event
|
||||
# Possible values are:
|
||||
# * none: Don't do anything.
|
||||
# * do_action: Invoke the action determined by the action_name rule. If there is no
|
||||
# such action, open the context menu.
|
||||
# * open_url: If the notification has exactly one url, open it. If there are multiple
|
||||
# ones, open the context menu.
|
||||
# * close_current: Close current notification.
|
||||
# * close_all: Close all notifications.
|
||||
# * context: Open context menu for the notification.
|
||||
# * context_all: Open context menu for all notifications.
|
||||
# These values can be strung together for each mouse event, and
|
||||
# will be executed in sequence.
|
||||
mouse_left_click = close_current
|
||||
mouse_middle_click = do_action, close_current
|
||||
mouse_right_click = close_all
|
||||
|
||||
# Experimental features that may or may not work correctly. Do not expect them
|
||||
# to have a consistent behaviour across releases.
|
||||
[experimental]
|
||||
# Calculate the dpi to use on a per-monitor basis.
|
||||
# If this setting is enabled the Xft.dpi value will be ignored and instead
|
||||
# dunst will attempt to calculate an appropriate dpi value for each monitor
|
||||
# using the resolution and physical size. This might be useful in setups
|
||||
# where there are multiple screens with very different dpi values.
|
||||
per_monitor_dpi = false
|
||||
|
||||
|
||||
[urgency_low]
|
||||
# IMPORTANT: colors have to be defined in quotation marks.
|
||||
# Otherwise the "#" and following would be interpreted as a comment.
|
||||
background = "#1A1B26"
|
||||
foreground = "#A9B1D6"
|
||||
highlight = "#A9B1D6"
|
||||
timeout = 6
|
||||
# Icon for notifications with low urgency, uncomment to enable
|
||||
# default_icon = ~/.config/dunst/icons/notification.png
|
||||
|
||||
[urgency_normal]
|
||||
background = "#1A1B26"
|
||||
foreground = "#A9B1D6"
|
||||
highlight = "#A9B1D6"
|
||||
timeout = 6
|
||||
# Icon for notifications with normal urgency, uncomment to enable
|
||||
default_icon = /home/q/.config/dunst/icons/notification.png
|
||||
|
||||
[urgency_critical]
|
||||
background = "#1A1B26"
|
||||
foreground = "#A9B1D6"
|
||||
highlight = "#A9B1D6"
|
||||
|
||||
timeout = 10
|
||||
# Icon for notifications with critical urgency, uncomment to enable
|
||||
# default_icon = ~/.config/dunst/icons/notification.png
|
||||
|
||||
# Every section that isn't one of the above is interpreted as a rules to
|
||||
# override settings for certain messages.
|
||||
#
|
||||
# Messages can be matched by
|
||||
# appname (discouraged, see desktop_entry)
|
||||
# body
|
||||
# category
|
||||
# desktop_entry
|
||||
# icon
|
||||
# match_transient
|
||||
# msg_urgency
|
||||
# stack_tag
|
||||
# summary
|
||||
#
|
||||
# and you can override the
|
||||
# background
|
||||
# foreground
|
||||
# format
|
||||
# frame_color
|
||||
# fullscreen
|
||||
# new_icon
|
||||
# set_stack_tag
|
||||
# set_transient
|
||||
# set_category
|
||||
# timeout
|
||||
# urgency
|
||||
# icon_position
|
||||
# skip_display
|
||||
# history_ignore
|
||||
# action_name
|
||||
# word_wrap
|
||||
# ellipsize
|
||||
# alignment
|
||||
# hide_text
|
||||
#
|
||||
# Shell-like globbing will get expanded.
|
||||
#
|
||||
# Instead of the appname filter, it's recommended to use the desktop_entry filter.
|
||||
# GLib based applications export their desktop-entry name. In comparison to the appname,
|
||||
# the desktop-entry won't get localized.
|
||||
#
|
||||
# SCRIPTING
|
||||
# You can specify a script that gets run when the rule matches by
|
||||
# setting the "script" option.
|
||||
# The script will be called as follows:
|
||||
# script appname summary body icon urgency
|
||||
# where urgency can be "LOW", "NORMAL" or "CRITICAL".
|
||||
#
|
||||
# NOTE: It might be helpful to run dunst -print in a terminal in order
|
||||
# to find fitting options for rules.
|
||||
|
||||
# Disable the transient hint so that idle_threshold cannot be bypassed from the
|
||||
# client
|
||||
#[transient_disable]
|
||||
# match_transient = yes
|
||||
# set_transient = no
|
||||
#
|
||||
# Make the handling of transient notifications more strict by making them not
|
||||
# be placed in history.
|
||||
#[transient_history_ignore]
|
||||
# match_transient = yes
|
||||
# history_ignore = yes
|
||||
|
||||
# fullscreen values
|
||||
# show: show the notifications, regardless if there is a fullscreen window opened
|
||||
# delay: displays the new notification, if there is no fullscreen window active
|
||||
# If the notification is already drawn, it won't get undrawn.
|
||||
# pushback: same as delay, but when switching into fullscreen, the notification will get
|
||||
# withdrawn from screen again and will get delayed like a new notification
|
||||
#[fullscreen_delay_everything]
|
||||
# fullscreen = delay
|
||||
#[fullscreen_show_critical]
|
||||
# msg_urgency = critical
|
||||
# fullscreen = show
|
||||
|
||||
#[espeak]
|
||||
# summary = "*"
|
||||
# script = dunst_espeak.sh
|
||||
|
||||
#[script-test]
|
||||
# summary = "*script*"
|
||||
# script = dunst_test.sh
|
||||
|
||||
#[ignore]
|
||||
# # This notification will not be displayed
|
||||
# summary = "foobar"
|
||||
# skip_display = true
|
||||
|
||||
#[history-ignore]
|
||||
# # This notification will not be saved in history
|
||||
# summary = "foobar"
|
||||
# history_ignore = yes
|
||||
|
||||
#[skip-display]
|
||||
# # This notification will not be displayed, but will be included in the history
|
||||
# summary = "foobar"
|
||||
# skip_display = yes
|
||||
|
||||
#[signed_on]
|
||||
# appname = Pidgin
|
||||
# summary = "*signed on*"
|
||||
# urgency = low
|
||||
#
|
||||
#[signed_off]
|
||||
# appname = Pidgin
|
||||
# summary = *signed off*
|
||||
# urgency = low
|
||||
#
|
||||
#[says]
|
||||
# appname = Pidgin
|
||||
# summary = *says*
|
||||
# urgency = critical
|
||||
#
|
||||
#[gotify]
|
||||
# appname = Gotify
|
||||
|
||||
#[twitter]
|
||||
# appname = Pidgin
|
||||
# summary = *twitter.com*
|
||||
# urgency = normal
|
||||
#
|
||||
#[stack-volumes]
|
||||
# appname = "some_volume_notifiers"
|
||||
# set_stack_tag = "volume"
|
||||
#
|
||||
# vim: ft=cfg
|
Before Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 4.7 KiB |
Before Width: | Height: | Size: 2.6 KiB |
|
@ -1,7 +0,0 @@
|
|||
complete --command fisher --exclusive --long help --description "Print help"
|
||||
complete --command fisher --exclusive --long version --description "Print version"
|
||||
complete --command fisher --exclusive --condition __fish_use_subcommand --arguments install --description "Install plugins"
|
||||
complete --command fisher --exclusive --condition __fish_use_subcommand --arguments update --description "Update installed plugins"
|
||||
complete --command fisher --exclusive --condition __fish_use_subcommand --arguments remove --description "Remove installed plugins"
|
||||
complete --command fisher --exclusive --condition __fish_use_subcommand --arguments list --description "List installed plugins matching regex"
|
||||
complete --command fisher --exclusive --condition "__fish_seen_subcommand_from update remove" --arguments "(fisher list)"
|
|
@ -1,21 +0,0 @@
|
|||
complete --command nvm --exclusive
|
||||
complete --command nvm --exclusive --long version --description "Print version"
|
||||
complete --command nvm --exclusive --long help --description "Print help"
|
||||
complete --command nvm --long silent --description "Suppress standard output"
|
||||
|
||||
complete --command nvm --exclusive --condition __fish_use_subcommand --arguments install --description "Download and activate the specified Node version"
|
||||
complete --command nvm --exclusive --condition __fish_use_subcommand --arguments use --description "Activate a version in the current shell"
|
||||
complete --command nvm --exclusive --condition __fish_use_subcommand --arguments list --description "List installed versions"
|
||||
complete --command nvm --exclusive --condition __fish_use_subcommand --arguments list-remote --description "List versions available to install matching optional regex"
|
||||
complete --command nvm --exclusive --condition __fish_use_subcommand --arguments current --description "Print the currently-active version"
|
||||
complete --command nvm --exclusive --condition "__fish_seen_subcommand_from install" --arguments "(
|
||||
test -e $nvm_data && string split ' ' <$nvm_data/.index
|
||||
)"
|
||||
complete --command nvm --exclusive --condition "__fish_seen_subcommand_from use" --arguments "(_nvm_list | string split ' ')"
|
||||
complete --command nvm --exclusive --condition __fish_use_subcommand --arguments uninstall --description "Uninstall a version"
|
||||
complete --command nvm --exclusive --condition "__fish_seen_subcommand_from uninstall" --arguments "(
|
||||
_nvm_list | string split ' ' | string replace system ''
|
||||
)"
|
||||
complete --command nvm --exclusive --condition "__fish_seen_subcommand_from use uninstall" --arguments "(
|
||||
set --query nvm_default_version && echo default
|
||||
)"
|
|
@ -1,39 +0,0 @@
|
|||
status is-interactive || exit
|
||||
|
||||
set --global autopair_left "(" "[" "{" '"' "'"
|
||||
set --global autopair_right ")" "]" "}" '"' "'"
|
||||
set --global autopair_pairs "()" "[]" "{}" '""' "''"
|
||||
|
||||
function _autopair_fish_key_bindings --on-variable fish_key_bindings
|
||||
set --query fish_key_bindings[1] || return
|
||||
|
||||
test $fish_key_bindings = fish_default_key_bindings &&
|
||||
set --local mode default insert ||
|
||||
set --local mode insert default
|
||||
|
||||
bind --mode $mode[-1] --erase \177 \b \t
|
||||
|
||||
bind --mode $mode[1] \177 _autopair_backspace # macOS ⌫
|
||||
bind --mode $mode[1] \b _autopair_backspace
|
||||
bind --mode $mode[1] \t _autopair_tab
|
||||
|
||||
printf "%s\n" $autopair_pairs | while read --local left right --delimiter ""
|
||||
bind --mode $mode[-1] --erase $left $right
|
||||
if test $left = $right
|
||||
bind --mode $mode[1] $left "_autopair_insert_same \\$left"
|
||||
else
|
||||
bind --mode $mode[1] $left "_autopair_insert_left \\$left \\$right"
|
||||
bind --mode $mode[1] $right "_autopair_insert_right \\$right"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
_autopair_fish_key_bindings
|
||||
|
||||
function _autopair_uninstall --on-event autopair_uninstall
|
||||
string collect (
|
||||
bind --all | string replace --filter --regex -- "_autopair.*" --erase
|
||||
set --names | string replace --filter --regex -- "^autopair" "set --erase autopair"
|
||||
) | source
|
||||
functions --erase (functions --all | string match "_autopair_*")
|
||||
end
|
|
@ -1,221 +0,0 @@
|
|||
set -Ux LF_ICONS "\
|
||||
*.7z=:\
|
||||
*.aac=:\
|
||||
*.ace=:\
|
||||
*.alz=:\
|
||||
*.arc=:\
|
||||
*.arj=:\
|
||||
*.asf=:\
|
||||
*.atom=:\
|
||||
*.au=:\
|
||||
*.avi=:\
|
||||
*.bash=:\
|
||||
*.bash_history=:\
|
||||
*.bashprofile=:\
|
||||
*.bashrc=:\
|
||||
*.bmp=:\
|
||||
*.bz2=:\
|
||||
*.bz=:\
|
||||
*.c=:\
|
||||
*.cab=:\
|
||||
*.cc=:\
|
||||
*.cfg=:\
|
||||
*.cgm=:\
|
||||
*.clang-format=:\
|
||||
*.clj=:\
|
||||
*.cmd=:\
|
||||
*.coffee=:\
|
||||
*.cpio=:\
|
||||
*.cpp=:\
|
||||
*.css=:\
|
||||
*.d=:\
|
||||
*.dart=:\
|
||||
*.deb=:\
|
||||
*.dl=:\
|
||||
*.DS_Store=:\
|
||||
*.dwm=:\
|
||||
*.dz=:\
|
||||
*.ear=:\
|
||||
*.emf=:\
|
||||
*.env=:\
|
||||
*.erl=:\
|
||||
*.esd=:\
|
||||
*.exs=:\
|
||||
*.fish=:\
|
||||
*.flac=:\
|
||||
*.flc=:\
|
||||
*.fli=:\
|
||||
*.flv=:\
|
||||
*.fs=:\
|
||||
*.gif=:\
|
||||
*.git=:\
|
||||
*.gitattributes=:\
|
||||
*.gitconfig=:\
|
||||
*.github=:\
|
||||
*.gitignore=:\
|
||||
*.gitignore_global=:\
|
||||
*.gitkeep=:\
|
||||
*.gitmodules=:\
|
||||
*.gl=:\
|
||||
*.go=:\
|
||||
*.gz=:\
|
||||
*.h=:\
|
||||
*.hh=:\
|
||||
*.hidden=:\
|
||||
*.hpp=:\
|
||||
*.hs=:\
|
||||
*.html=:\
|
||||
*.hyper.js=:\
|
||||
*.jar=:\
|
||||
*.java=:\
|
||||
*.jl=:\
|
||||
*.jpeg=:\
|
||||
*.jpg=:\
|
||||
*.js=:\
|
||||
*.json=:\
|
||||
*.jsx=:\
|
||||
*.lha=:\
|
||||
*.lrz=:\
|
||||
*.lua=:\
|
||||
*.lz4=:\
|
||||
*.lz=:\
|
||||
*.lzh=:\
|
||||
*.lzma=:\
|
||||
*.lzo=:\
|
||||
*.m2v=:\
|
||||
*.m4a=:\
|
||||
*.m4v=:\
|
||||
*.map=:\
|
||||
*.md=:\
|
||||
*.mdx=:\
|
||||
*.mid=:\
|
||||
*.midi=:\
|
||||
*.mjpeg=:\
|
||||
*.mjpg=:\
|
||||
*.mka=:\
|
||||
*.mkv=:\
|
||||
*.mng=:\
|
||||
*.mov=:\
|
||||
*.mp3=:\
|
||||
*.mp4=:\
|
||||
*.mp4v=:\
|
||||
*.mpc=:\
|
||||
*.mpeg=:\
|
||||
*.mpg=:\
|
||||
*.nix=:\
|
||||
*.npmignore=:\
|
||||
*.npmrc=:\
|
||||
*.nuv=:\
|
||||
*.nvmrc=:\
|
||||
*.oga=:\
|
||||
*.ogg=:\
|
||||
*.ogm=:\
|
||||
*.ogv=:\
|
||||
*.ogx=:\
|
||||
*.opus=:\
|
||||
*.pbm=:\
|
||||
*.pcx=:\
|
||||
*.pdf=:\
|
||||
*.pgm=:\
|
||||
*.php=:\
|
||||
*.pl=:\
|
||||
*.png=:\
|
||||
*.ppm=:\
|
||||
*.pro=:\
|
||||
*.ps1=:\
|
||||
*.py=:\
|
||||
*.qt=:\
|
||||
*.ra=:\
|
||||
*.rar=:\
|
||||
*.rb=:\
|
||||
*.rm=:\
|
||||
*.rmvb=:\
|
||||
*.rpm=:\
|
||||
*.rs=:\
|
||||
*.rvm=:\
|
||||
*.rz=:\
|
||||
*.sar=:\
|
||||
*.scala=:\
|
||||
*.sh=:\
|
||||
*.skhdrc=:\
|
||||
*.sol=ﲹ:\
|
||||
*.spx=:\
|
||||
*.svg=:\
|
||||
*.svgz=:\
|
||||
*.swm=:\
|
||||
*.t7z=:\
|
||||
*.tar=:\
|
||||
*.taz=:\
|
||||
*.tbz2=:\
|
||||
*.tbz=:\
|
||||
*.tga=:\
|
||||
*.tgz=:\
|
||||
*.tif=:\
|
||||
*.tiff=:\
|
||||
*.tlz=:\
|
||||
*.tmux.conf=:\
|
||||
*.trash=:\
|
||||
*.ts=:\
|
||||
*.tsx=:\
|
||||
*.txz=:\
|
||||
*.tz=:\
|
||||
*.tzo=:\
|
||||
*.tzst=:\
|
||||
*.vim=:\
|
||||
*.vimrc=:\
|
||||
*.vob=:\
|
||||
*.vscode=:\
|
||||
*.war=:\
|
||||
*.wav=:\
|
||||
*.webm=:\
|
||||
*.wim=:\
|
||||
*.xbm=:\
|
||||
*.xcf=:\
|
||||
*.xpm=:\
|
||||
*.xspf=:\
|
||||
*.xwd=:\
|
||||
*.xz=:\
|
||||
*.yabairc=:\
|
||||
*.yaml=פּ:\
|
||||
*.yarn-integrity=:\
|
||||
*.yarnrc=:\
|
||||
*.yml=פּ:\
|
||||
*.yuv=:\
|
||||
*.z=:\
|
||||
*.zip=:\
|
||||
*.zoo=:\
|
||||
*.zprofile=:\
|
||||
*.zprofile=:\
|
||||
*.zsh=:\
|
||||
*.zsh_history=:\
|
||||
*.zshrc=:\
|
||||
*.zst=:\
|
||||
*bin=:\
|
||||
*config=:\
|
||||
*docker-compose.yml=:\
|
||||
*dockerfile=:\
|
||||
*gradle=:\
|
||||
*gruntfile.coffee=:\
|
||||
*gruntfile.js=:\
|
||||
*gruntfile.ls=:\
|
||||
*gulpfile.coffee=:\
|
||||
*gulpfile.js=:\
|
||||
*gulpfile.ls=:\
|
||||
*include=:\
|
||||
*lib=:\
|
||||
*localized=:\
|
||||
*node_modules=:\
|
||||
*package.json=:\
|
||||
*rubydoc=:\
|
||||
*tsconfig.json=:\
|
||||
*yarn.lock=:\
|
||||
di=:\
|
||||
dt=:\
|
||||
ex=:\
|
||||
fi=:\
|
||||
ln=:\
|
||||
or=:\
|
||||
ow=:\
|
||||
st=:\
|
||||
tw=:\
|
||||
"
|
|
@ -1,28 +0,0 @@
|
|||
function _nvm_install --on-event nvm_install
|
||||
set --query nvm_mirror || set --universal nvm_mirror https://nodejs.org/dist
|
||||
set --query XDG_DATA_HOME || set --local XDG_DATA_HOME ~/.local/share
|
||||
set --universal nvm_data $XDG_DATA_HOME/nvm
|
||||
|
||||
test ! -d $nvm_data && command mkdir -p $nvm_data
|
||||
echo "Downloading the Node distribution index..." 2>/dev/null
|
||||
_nvm_index_update
|
||||
end
|
||||
|
||||
function _nvm_update --on-event nvm_update
|
||||
set --query nvm_mirror || set --universal nvm_mirror https://nodejs.org/dist
|
||||
set --query XDG_DATA_HOME || set --local XDG_DATA_HOME ~/.local/share
|
||||
set --universal nvm_data $XDG_DATA_HOME/nvm
|
||||
end
|
||||
|
||||
function _nvm_uninstall --on-event nvm_uninstall
|
||||
command rm -rf $nvm_data
|
||||
|
||||
set --query nvm_current_version && _nvm_version_deactivate $nvm_current_version
|
||||
|
||||
set --names | string replace --filter --regex -- "^nvm" "set --erase nvm" | source
|
||||
functions --erase (functions --all | string match --entire --regex -- "^_nvm_")
|
||||
end
|
||||
|
||||
if status is-interactive && set --query nvm_default_version && ! set --query nvm_current_version
|
||||
nvm use --silent $nvm_default_version
|
||||
end
|
|
@ -1,49 +0,0 @@
|
|||
if status --is-login
|
||||
if test -z "$DISPLAY" -a $XDG_VTNR = 1
|
||||
exec Hyprland > ~/.hyprland.log
|
||||
end
|
||||
end
|
||||
|
||||
if status is-interactive
|
||||
set -x XDG_CONFIG_HOME "$HOME/.config"
|
||||
set -x XDG_STATE_HOME "$HOME/.local/state"
|
||||
set -x XDG_CACHE_HOME "$HOME/.cache"
|
||||
|
||||
set -x DOCKER_CONFIG "$XDG_CONFIG_HOME/docker"
|
||||
set -x CARGO_HOME "$XDG_DATA_HOME/cargo"
|
||||
set -x RUSTUP_HOME "$XDG_DATA_HOME/rustup"
|
||||
set -x WINEPREFIX "$XDG_DATA_HOME/wine"
|
||||
set -x JUPYTER_CONFIG_DIR "$XDG_CONFIG_HOME/jupyter"
|
||||
set -x ANDROID_HOME "$XDG_DATA_HOME/android"
|
||||
|
||||
alias ls="lsd"
|
||||
|
||||
alias v="vim"
|
||||
alias nv="nvim"
|
||||
|
||||
alias gc="git clone"
|
||||
alias gst="git status"
|
||||
alias bat="bat -p"
|
||||
|
||||
alias la="lsd -la"
|
||||
|
||||
set -U fish_user_paths $HOME/bin $fish_user_paths
|
||||
set -U fish_user_paths $HOME/.local/bin $fish_user_paths
|
||||
alias dotfiles="git --git-dir=/home/q/repos/dotfiles --work-tree=$HOME"
|
||||
alias chromium-browser-stable="chromium-browser-stable --disable-gpu --disable-software-rasterizer"
|
||||
|
||||
set -x PF_INFO "ascii title os kernel wm shell pkgs memory"
|
||||
|
||||
set -x TERM "xterm-256color"
|
||||
set -x EDITOR "nvim"
|
||||
set -x VISUAL "nvim"
|
||||
|
||||
set -x XDG_DATA_HOME $HOME/.local/share
|
||||
|
||||
set srcdir "$HOME/.cache/"
|
||||
set pkgdir "$HOME/.npm/"
|
||||
alias npm="npm --cache $srcir/npm-cache"
|
||||
|
||||
set fish_greeting
|
||||
# Commands to run in interactive sessions can go here
|
||||
end
|
|
@ -1,6 +0,0 @@
|
|||
jorgebucaran/fisher
|
||||
jorgebucaran/nvm.fish
|
||||
derekstavis/fish-neovim
|
||||
catppuccin/fish
|
||||
jorgebucaran/autopair.fish
|
||||
joshmedeski/fish-lf-icons
|
|
@ -1,9 +0,0 @@
|
|||
function _autopair_backspace
|
||||
set --local index (commandline --cursor)
|
||||
set --local buffer (commandline)
|
||||
|
||||
test $index -ge 1 &&
|
||||
contains -- (string sub --start=$index --length=2 -- "$buffer") $autopair_pairs &&
|
||||
commandline --function delete-char
|
||||
commandline --function backward-delete-char
|
||||
end
|
|
@ -1,13 +0,0 @@
|
|||
function _autopair_insert_left --argument-names left right
|
||||
set --local buffer (commandline)
|
||||
set --local before (commandline --cut-at-cursor)
|
||||
|
||||
commandline --insert -- $left
|
||||
|
||||
switch "$buffer"
|
||||
case "$before"{," "\*,$autopair_right\*}
|
||||
set --local index (commandline --cursor)
|
||||
commandline --insert -- $right
|
||||
commandline --cursor $index
|
||||
end
|
||||
end
|
|
@ -1,11 +0,0 @@
|
|||
function _autopair_insert_right --argument-names key
|
||||
set --local buffer (commandline)
|
||||
set --local before (commandline --cut-at-cursor)
|
||||
|
||||
switch "$buffer"
|
||||
case "$before$key"\*
|
||||
commandline --cursor (math (commandline --cursor) + 1)
|
||||
case \*
|
||||
commandline --insert -- $key
|
||||
end
|
||||
end
|
|
@ -1,20 +0,0 @@
|
|||
function _autopair_insert_same --argument-names key
|
||||
set --local buffer (commandline)
|
||||
set --local index (commandline --cursor)
|
||||
set --local next (string sub --start=(math $index + 1) --length=1 -- "$buffer")
|
||||
|
||||
if test (math (count (string match --all --regex -- "$key" "$buffer")) % 2) = 0
|
||||
test $key = $next && commandline --cursor (math $index + 1) && return
|
||||
|
||||
commandline --insert -- $key
|
||||
|
||||
if test $index -lt 1 ||
|
||||
contains -- (string sub --start=$index --length=1 -- "$buffer") "" " " $autopair_left &&
|
||||
contains -- $next "" " " $autopair_right
|
||||
commandline --insert -- $key
|
||||
commandline --cursor (math $index + 1)
|
||||
end
|
||||
else
|
||||
commandline --insert -- $key
|
||||
end
|
||||
end
|
|
@ -1,7 +0,0 @@
|
|||
function _autopair_tab
|
||||
commandline --paging-mode && down-or-search && return
|
||||
|
||||
string match --quiet --regex -- '\$[^\s]*"$' (commandline --current-token) &&
|
||||
commandline --function end-of-line --function backward-delete-char
|
||||
commandline --function complete
|
||||
end
|
|
@ -1,20 +0,0 @@
|
|||
function _nvm_index_update
|
||||
test ! -d $nvm_data && command mkdir -p $nvm_data
|
||||
|
||||
set --local index $nvm_data/.index
|
||||
|
||||
if not command curl --location --silent $nvm_mirror/index.tab >$index.temp
|
||||
command rm -f $index.temp
|
||||
echo "nvm: Can't update index, host unavailable: \"$nvm_mirror\"" >&2
|
||||
return 1
|
||||
end
|
||||
|
||||
command awk -v OFS=\t '
|
||||
/v0.9.12/ { exit } # Unsupported
|
||||
NR > 1 {
|
||||
print $1 (NR == 2 ? " latest" : $10 != "-" ? " lts/" tolower($10) : "")
|
||||
}
|
||||
' $index.temp >$index
|
||||
|
||||
command rm -f $index.temp
|
||||
end
|
|
@ -1,11 +0,0 @@
|
|||
function _nvm_list
|
||||
set --local versions $nvm_data/*
|
||||
set --query versions[1] &&
|
||||
string match --entire --regex -- (string match --regex -- "v\d.+" $versions |
|
||||
string escape --style=regex |
|
||||
string join "|"
|
||||
) <$nvm_data/.index
|
||||
|
||||
command --all node |
|
||||
string match --quiet --invert --regex -- "^$nvm_data" && echo system
|
||||
end
|
|
@ -1,4 +0,0 @@
|
|||
function _nvm_version_activate --argument-names ver
|
||||
set --global --export nvm_current_version $ver
|
||||
set --prepend PATH $nvm_data/$ver/bin
|
||||
end
|
|
@ -1,5 +0,0 @@
|
|||
function _nvm_version_deactivate --argument-names ver
|
||||
test "$nvm_current_version" = "$ver" && set --erase nvm_current_version
|
||||
set --local index (contains --index -- $nvm_data/$ver/bin $PATH) &&
|
||||
set --erase PATH[$index]
|
||||
end
|
|
@ -1,56 +0,0 @@
|
|||
function fish_prompt --description 'Write out the prompt'
|
||||
set -l last_status $status
|
||||
|
||||
prompt_login
|
||||
|
||||
echo -n ':'
|
||||
|
||||
# PWD
|
||||
set_color $fish_color_cwd
|
||||
echo -n (prompt_pwd)
|
||||
set_color normal
|
||||
|
||||
set -q __fish_git_prompt_showdirtystate
|
||||
or set -g __fish_git_prompt_showdirtystate 1
|
||||
set -q __fish_git_prompt_showuntrackedfiles
|
||||
or set -g __fish_git_prompt_showuntrackedfiles 1
|
||||
set -q __fish_git_prompt_showcolorhints
|
||||
or set -g __fish_git_prompt_showcolorhints 1
|
||||
set -q __fish_git_prompt_color_untrackedfiles
|
||||
or set -g __fish_git_prompt_color_untrackedfiles yellow
|
||||
set -q __fish_git_prompt_char_untrackedfiles
|
||||
or set -g __fish_git_prompt_char_untrackedfiles '?'
|
||||
set -q __fish_git_prompt_color_invalidstate
|
||||
or set -g __fish_git_prompt_color_invalidstate red
|
||||
set -q __fish_git_prompt_char_invalidstate
|
||||
or set -g __fish_git_prompt_char_invalidstate '!'
|
||||
set -q __fish_git_prompt_color_dirtystate
|
||||
or set -g __fish_git_prompt_color_dirtystate blue
|
||||
set -q __fish_git_prompt_char_dirtystate
|
||||
or set -g __fish_git_prompt_char_dirtystate '*'
|
||||
set -q __fish_git_prompt_char_stagedstate
|
||||
or set -g __fish_git_prompt_char_stagedstate '✚'
|
||||
set -q __fish_git_prompt_color_cleanstate
|
||||
or set -g __fish_git_prompt_color_cleanstate green
|
||||
set -q __fish_git_prompt_char_cleanstate
|
||||
or set -g __fish_git_prompt_char_cleanstate '✓'
|
||||
set -q __fish_git_prompt_color_stagedstate
|
||||
or set -g __fish_git_prompt_color_stagedstate yellow
|
||||
set -q __fish_git_prompt_color_branch_dirty
|
||||
or set -g __fish_git_prompt_color_branch_dirty red
|
||||
set -q __fish_git_prompt_color_branch_staged
|
||||
or set -g __fish_git_prompt_color_branch_staged yellow
|
||||
set -q __fish_git_prompt_color_branch
|
||||
or set -g __fish_git_prompt_color_branch green
|
||||
set -q __fish_git_prompt_char_stateseparator
|
||||
or set -g __fish_git_prompt_char_stateseparator '⚡'
|
||||
fish_vcs_prompt '|%s'
|
||||
echo
|
||||
|
||||
if not test $last_status -eq 0
|
||||
set_color $fish_color_error
|
||||
end
|
||||
|
||||
echo -n '➤ '
|
||||
set_color normal
|
||||
end
|
|
@ -1,240 +0,0 @@
|
|||
function fisher --argument-names cmd --description "A plugin manager for Fish"
|
||||
set --query fisher_path || set --local fisher_path $__fish_config_dir
|
||||
set --local fisher_version 4.4.2
|
||||
set --local fish_plugins $__fish_config_dir/fish_plugins
|
||||
|
||||
switch "$cmd"
|
||||
case -v --version
|
||||
echo "fisher, version $fisher_version"
|
||||
case "" -h --help
|
||||
echo "Usage: fisher install <plugins...> Install plugins"
|
||||
echo " fisher remove <plugins...> Remove installed plugins"
|
||||
echo " fisher update <plugins...> Update installed plugins"
|
||||
echo " fisher update Update all installed plugins"
|
||||
echo " fisher list [<regex>] List installed plugins matching regex"
|
||||
echo "Options:"
|
||||
echo " -v or --version Print version"
|
||||
echo " -h or --help Print this help message"
|
||||
echo "Variables:"
|
||||
echo " \$fisher_path Plugin installation path. Default: $__fish_config_dir" | string replace --regex -- $HOME \~
|
||||
case ls list
|
||||
string match --entire --regex -- "$argv[2]" $_fisher_plugins
|
||||
case install update remove
|
||||
isatty || read --local --null --array stdin && set --append argv $stdin
|
||||
|
||||
set --local install_plugins
|
||||
set --local update_plugins
|
||||
set --local remove_plugins
|
||||
set --local arg_plugins $argv[2..-1]
|
||||
set --local old_plugins $_fisher_plugins
|
||||
set --local new_plugins
|
||||
|
||||
test -e $fish_plugins && set --local file_plugins (string match --regex -- '^[^\s]+$' <$fish_plugins)
|
||||
|
||||
if ! set --query argv[2]
|
||||
if test "$cmd" != update
|
||||
echo "fisher: Not enough arguments for command: \"$cmd\"" >&2 && return 1
|
||||
else if ! set --query file_plugins
|
||||
echo "fisher: \"$fish_plugins\" file not found: \"$cmd\"" >&2 && return 1
|
||||
end
|
||||
set arg_plugins $file_plugins
|
||||
end
|
||||
|
||||
for plugin in $arg_plugins
|
||||
set plugin (test -e "$plugin" && realpath $plugin || string lower -- $plugin)
|
||||
contains -- "$plugin" $new_plugins || set --append new_plugins $plugin
|
||||
end
|
||||
|
||||
if set --query argv[2]
|
||||
for plugin in $new_plugins
|
||||
if contains -- "$plugin" $old_plugins
|
||||
test "$cmd" = remove &&
|
||||
set --append remove_plugins $plugin ||
|
||||
set --append update_plugins $plugin
|
||||
else if test "$cmd" = install
|
||||
set --append install_plugins $plugin
|
||||
else
|
||||
echo "fisher: Plugin not installed: \"$plugin\"" >&2 && return 1
|
||||
end
|
||||
end
|
||||
else
|
||||
for plugin in $new_plugins
|
||||
contains -- "$plugin" $old_plugins &&
|
||||
set --append update_plugins $plugin ||
|
||||
set --append install_plugins $plugin
|
||||
end
|
||||
|
||||
for plugin in $old_plugins
|
||||
contains -- "$plugin" $new_plugins || set --append remove_plugins $plugin
|
||||
end
|
||||
end
|
||||
|
||||
set --local pid_list
|
||||
set --local source_plugins
|
||||
set --local fetch_plugins $update_plugins $install_plugins
|
||||
set --local fish_path (status fish-path)
|
||||
|
||||
echo (set_color --bold)fisher $cmd version $fisher_version(set_color normal)
|
||||
|
||||
for plugin in $fetch_plugins
|
||||
set --local source (command mktemp -d)
|
||||
set --append source_plugins $source
|
||||
|
||||
command mkdir -p $source/{completions,conf.d,themes,functions}
|
||||
|
||||
$fish_path --command "
|
||||
if test -e $plugin
|
||||
command cp -Rf $plugin/* $source
|
||||
else
|
||||
set temp (command mktemp -d)
|
||||
set repo (string split -- \@ $plugin) || set repo[2] HEAD
|
||||
|
||||
if set path (string replace --regex -- '^(https://)?gitlab.com/' '' \$repo[1])
|
||||
set name (string split -- / \$path)[-1]
|
||||
set url https://gitlab.com/\$path/-/archive/\$repo[2]/\$name-\$repo[2].tar.gz
|
||||
else
|
||||
set url https://api.github.com/repos/\$repo[1]/tarball/\$repo[2]
|
||||
end
|
||||
|
||||
echo Fetching (set_color --underline)\$url(set_color normal)
|
||||
|
||||
if curl --silent -L \$url | tar -xzC \$temp -f - 2>/dev/null
|
||||
command cp -Rf \$temp/*/* $source
|
||||
else
|
||||
echo fisher: Invalid plugin name or host unavailable: \\\"$plugin\\\" >&2
|
||||
command rm -rf $source
|
||||
end
|
||||
|
||||
command rm -rf \$temp
|
||||
end
|
||||
|
||||
set files $source/* && string match --quiet --regex -- .+\.fish\\\$ \$files
|
||||
" &
|
||||
|
||||
set --append pid_list (jobs --last --pid)
|
||||
end
|
||||
|
||||
wait $pid_list 2>/dev/null
|
||||
|
||||
for plugin in $fetch_plugins
|
||||
if set --local source $source_plugins[(contains --index -- "$plugin" $fetch_plugins)] && test ! -e $source
|
||||
if set --local index (contains --index -- "$plugin" $install_plugins)
|
||||
set --erase install_plugins[$index]
|
||||
else
|
||||
set --erase update_plugins[(contains --index -- "$plugin" $update_plugins)]
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
for plugin in $update_plugins $remove_plugins
|
||||
if set --local index (contains --index -- "$plugin" $_fisher_plugins)
|
||||
set --local plugin_files_var _fisher_(string escape --style=var -- $plugin)_files
|
||||
|
||||
if contains -- "$plugin" $remove_plugins
|
||||
for name in (string replace --filter --regex -- '.+/conf\.d/([^/]+)\.fish$' '$1' $$plugin_files_var)
|
||||
emit {$name}_uninstall
|
||||
end
|
||||
printf "%s\n" Removing\ (set_color red --bold)$plugin(set_color normal) " "$$plugin_files_var | string replace -- \~ ~
|
||||
set --erase _fisher_plugins[$index]
|
||||
end
|
||||
|
||||
command rm -rf (string replace -- \~ ~ $$plugin_files_var)
|
||||
|
||||
functions --erase (string replace --filter --regex -- '.+/functions/([^/]+)\.fish$' '$1' $$plugin_files_var)
|
||||
|
||||
for name in (string replace --filter --regex -- '.+/completions/([^/]+)\.fish$' '$1' $$plugin_files_var)
|
||||
complete --erase --command $name
|
||||
end
|
||||
|
||||
set --erase $plugin_files_var
|
||||
end
|
||||
end
|
||||
|
||||
if set --query update_plugins[1] || set --query install_plugins[1]
|
||||
command mkdir -p $fisher_path/{functions,themes,conf.d,completions}
|
||||
end
|
||||
|
||||
for plugin in $update_plugins $install_plugins
|
||||
set --local source $source_plugins[(contains --index -- "$plugin" $fetch_plugins)]
|
||||
set --local files $source/{functions,themes,conf.d,completions}/*
|
||||
|
||||
if set --local index (contains --index -- $plugin $install_plugins)
|
||||
set --local user_files $fisher_path/{functions,themes,conf.d,completions}/*
|
||||
set --local conflict_files
|
||||
|
||||
for file in (string replace -- $source/ $fisher_path/ $files)
|
||||
contains -- $file $user_files && set --append conflict_files $file
|
||||
end
|
||||
|
||||
if set --query conflict_files[1] && set --erase install_plugins[$index]
|
||||
echo -s "fisher: Cannot install \"$plugin\": please remove or move conflicting files first:" \n" "$conflict_files >&2
|
||||
continue
|
||||
end
|
||||
end
|
||||
|
||||
for file in (string replace -- $source/ "" $files)
|
||||
command cp -Rf $source/$file $fisher_path/$file
|
||||
end
|
||||
|
||||
set --local plugin_files_var _fisher_(string escape --style=var -- $plugin)_files
|
||||
|
||||
set --query files[1] && set --universal $plugin_files_var (string replace -- $source $fisher_path $files | string replace -- ~ \~)
|
||||
|
||||
contains -- $plugin $_fisher_plugins || set --universal --append _fisher_plugins $plugin
|
||||
contains -- $plugin $install_plugins && set --local event install || set --local event update
|
||||
|
||||
printf "%s\n" Installing\ (set_color --bold)$plugin(set_color normal) " "$$plugin_files_var | string replace -- \~ ~
|
||||
|
||||
for file in (string match --regex -- '.+/[^/]+\.fish$' $$plugin_files_var | string replace -- \~ ~)
|
||||
source $file
|
||||
if set --local name (string replace --regex -- '.+conf\.d/([^/]+)\.fish$' '$1' $file)
|
||||
emit {$name}_$event
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
command rm -rf $source_plugins
|
||||
|
||||
if set --query _fisher_plugins[1]
|
||||
set --local commit_plugins
|
||||
|
||||
for plugin in $file_plugins
|
||||
contains -- (string lower -- $plugin) (string lower -- $_fisher_plugins) && set --append commit_plugins $plugin
|
||||
end
|
||||
|
||||
for plugin in $_fisher_plugins
|
||||
contains -- (string lower -- $plugin) (string lower -- $commit_plugins) || set --append commit_plugins $plugin
|
||||
end
|
||||
|
||||
printf "%s\n" $commit_plugins >$fish_plugins
|
||||
else
|
||||
set --erase _fisher_plugins
|
||||
command rm -f $fish_plugins
|
||||
end
|
||||
|
||||
set --local total (count $install_plugins) (count $update_plugins) (count $remove_plugins)
|
||||
|
||||
test "$total" != "0 0 0" && echo (string join ", " (
|
||||
test $total[1] = 0 || echo "Installed $total[1]") (
|
||||
test $total[2] = 0 || echo "Updated $total[2]") (
|
||||
test $total[3] = 0 || echo "Removed $total[3]")
|
||||
) plugin/s
|
||||
case \*
|
||||
echo "fisher: Unknown command: \"$cmd\"" >&2 && return 1
|
||||
end
|
||||
end
|
||||
|
||||
if ! set --query _fisher_upgraded_to_4_4
|
||||
set --universal _fisher_upgraded_to_4_4
|
||||
if functions --query _fisher_list
|
||||
set --query XDG_DATA_HOME[1] || set --local XDG_DATA_HOME ~/.local/share
|
||||
command rm -rf $XDG_DATA_HOME/fisher
|
||||
functions --erase _fisher_{list,plugin_parse}
|
||||
fisher update >/dev/null 2>/dev/null
|
||||
else
|
||||
for var in (set --names | string match --entire --regex '^_fisher_.+_files$')
|
||||
set $var (string replace -- ~ \~ $$var)
|
||||
end
|
||||
functions --erase _fisher_fish_postexec
|
||||
end
|
||||
end
|
|
@ -1,230 +0,0 @@
|
|||
function nvm --description "Node version manager"
|
||||
for silent in --silent -s
|
||||
if set --local index (contains --index -- $silent $argv)
|
||||
set --erase argv[$index] && break
|
||||
end
|
||||
set --erase silent
|
||||
end
|
||||
|
||||
set --local cmd $argv[1]
|
||||
set --local ver $argv[2]
|
||||
|
||||
if set --query silent && ! set --query cmd[1]
|
||||
echo "nvm: Version number not specified (see nvm -h for usage)" >&2
|
||||
return 1
|
||||
end
|
||||
|
||||
if ! set --query ver[1] && contains -- "$cmd" install use
|
||||
for file in .nvmrc .node-version
|
||||
set file (_nvm_find_up $PWD $file) && read ver <$file && break
|
||||
end
|
||||
|
||||
if ! set --query ver[1]
|
||||
echo "nvm: Invalid version or missing \".nvmrc\" file" >&2
|
||||
return 1
|
||||
end
|
||||
end
|
||||
|
||||
set --local their_version $ver
|
||||
|
||||
switch "$cmd"
|
||||
case -v --version
|
||||
echo "nvm, version 2.2.11"
|
||||
case "" -h --help
|
||||
echo "Usage: nvm install <version> Download and activate the specified Node version"
|
||||
echo " nvm install Install version from nearest .nvmrc file"
|
||||
echo " nvm use <version> Activate a version in the current shell"
|
||||
echo " nvm use Activate version from nearest .nvmrc file"
|
||||
echo " nvm list List installed versions"
|
||||
echo " nvm list-remote List versions available to install"
|
||||
echo " nvm list-remote <regex> List versions matching a given regular expression"
|
||||
echo " nvm current Print the currently-active version"
|
||||
echo " nvm uninstall <version> Uninstall a version"
|
||||
echo "Options:"
|
||||
echo " -s or --silent Suppress standard output"
|
||||
echo " -v or --version Print version"
|
||||
echo " -h or --help Print this help message"
|
||||
echo "Variables:"
|
||||
echo " nvm_arch Override architecture, e.g. x64-musl"
|
||||
echo " nvm_mirror Use a mirror of the Node binaries"
|
||||
echo " nvm_default_version Set the default version for new shells"
|
||||
echo " nvm_default_packages Install a list of packages every time you install a Node version"
|
||||
case install
|
||||
_nvm_index_update
|
||||
|
||||
string match --entire --regex -- (_nvm_version_match $ver) <$nvm_data/.index | read ver alias
|
||||
|
||||
if ! set --query ver[1]
|
||||
echo "nvm: Invalid version number or alias: \"$their_version\"" >&2
|
||||
return 1
|
||||
end
|
||||
|
||||
if test ! -e $nvm_data/$ver
|
||||
set --local os (command uname -s | string lower)
|
||||
set --local ext tar.gz
|
||||
set --local arch (command uname -m)
|
||||
|
||||
switch $os
|
||||
case aix
|
||||
set arch ppc64
|
||||
case sunos
|
||||
case linux
|
||||
case darwin
|
||||
case {MSYS_NT,MINGW\*_NT}\*
|
||||
set os win
|
||||
set ext zip
|
||||
case \*
|
||||
echo "nvm: Unsupported operating system: \"$os\"" >&2
|
||||
return 1
|
||||
end
|
||||
|
||||
switch $arch
|
||||
case i\*86
|
||||
set arch x86
|
||||
case x86_64
|
||||
set arch x64
|
||||
case arm64
|
||||
string match --regex --quiet "v(?<major>\d+)" $ver
|
||||
if test "$os" = darwin -a $major -lt 16
|
||||
set arch x64
|
||||
end
|
||||
case armv6 armv6l
|
||||
set arch armv6l
|
||||
case armv7 armv7l
|
||||
set arch armv7l
|
||||
case armv8 armv8l aarch64
|
||||
set arch arm64
|
||||
end
|
||||
|
||||
set --query nvm_arch && set arch $nvm_arch
|
||||
|
||||
set --local dir "node-$ver-$os-$arch"
|
||||
set --local url $nvm_mirror/$ver/$dir.$ext
|
||||
|
||||
command mkdir -p $nvm_data/$ver
|
||||
|
||||
if ! set --query silent
|
||||
echo -e "Installing Node \x1b[1m$ver\x1b[22m $alias"
|
||||
echo -e "Fetching \x1b[4m$url\x1b[24m\x1b[7m"
|
||||
end
|
||||
|
||||
if ! command curl $silent --progress-bar --location $url |
|
||||
command tar --extract --gzip --directory $nvm_data/$ver 2>/dev/null
|
||||
command rm -rf $nvm_data/$ver
|
||||
echo -e "\033[F\33[2K\x1b[0mnvm: Invalid mirror or host unavailable: \"$url\"" >&2
|
||||
return 1
|
||||
end
|
||||
|
||||
set --query silent || echo -en "\033[F\33[2K\x1b[0m"
|
||||
|
||||
if test "$os" = win
|
||||
command mv $nvm_data/$ver/$dir $nvm_data/$ver/bin
|
||||
else
|
||||
command mv $nvm_data/$ver/$dir/* $nvm_data/$ver
|
||||
command rm -rf $nvm_data/$ver/$dir
|
||||
end
|
||||
end
|
||||
|
||||
if test $ver != "$nvm_current_version"
|
||||
set --query nvm_current_version && _nvm_version_deactivate $nvm_current_version
|
||||
_nvm_version_activate $ver
|
||||
|
||||
set --query nvm_default_packages[1] && npm install --global $silent $nvm_default_packages
|
||||
end
|
||||
|
||||
set --query silent || printf "Now using Node %s (npm %s) %s\n" (_nvm_node_info)
|
||||
case use
|
||||
test $ver = default && set ver $nvm_default_version
|
||||
_nvm_list | string match --entire --regex -- (_nvm_version_match $ver) | read ver __
|
||||
|
||||
if ! set --query ver[1]
|
||||
echo "nvm: Can't use Node \"$their_version\", version must be installed first" >&2
|
||||
return 1
|
||||
end
|
||||
|
||||
if test $ver != "$nvm_current_version"
|
||||
set --query nvm_current_version && _nvm_version_deactivate $nvm_current_version
|
||||
test $ver != system && _nvm_version_activate $ver
|
||||
end
|
||||
|
||||
set --query silent || printf "Now using Node %s (npm %s) %s\n" (_nvm_node_info)
|
||||
case uninstall
|
||||
if test -z "$ver"
|
||||
echo "nvm: Not enough arguments for command: \"$cmd\"" >&2
|
||||
return 1
|
||||
end
|
||||
|
||||
test $ver = default && test ! -z "$nvm_default_version" && set ver $nvm_default_version
|
||||
|
||||
_nvm_list | string match --entire --regex -- (_nvm_version_match $ver) | read ver __
|
||||
|
||||
if ! set -q ver[1]
|
||||
echo "nvm: Node version not installed or invalid: \"$their_version\"" >&2
|
||||
return 1
|
||||
end
|
||||
|
||||
set --query silent || printf "Uninstalling Node %s %s\n" $ver (string replace ~ \~ "$nvm_data/$ver/bin/node")
|
||||
|
||||
_nvm_version_deactivate $ver
|
||||
|
||||
command rm -rf $nvm_data/$ver
|
||||
case current
|
||||
_nvm_current
|
||||
case ls list
|
||||
_nvm_list | _nvm_list_format (_nvm_current) $argv[2]
|
||||
case lsr {ls,list}-remote
|
||||
_nvm_index_update || return
|
||||
_nvm_list | command awk '
|
||||
FILENAME == "-" && (is_local[$1] = FNR == NR) { next } {
|
||||
print $0 (is_local[$1] ? " ✓" : "")
|
||||
}
|
||||
' - $nvm_data/.index | _nvm_list_format (_nvm_current) $argv[2]
|
||||
case \*
|
||||
echo "nvm: Unknown command or option: \"$cmd\" (see nvm -h for usage)" >&2
|
||||
return 1
|
||||
end
|
||||
end
|
||||
|
||||
function _nvm_find_up --argument-names path file
|
||||
test -e "$path/$file" && echo $path/$file || begin
|
||||
test ! -z "$path" || return
|
||||
_nvm_find_up (string replace --regex -- '/[^/]*$' "" $path) $file
|
||||
end
|
||||
end
|
||||
|
||||
function _nvm_version_match --argument-names ver
|
||||
string replace --regex -- '^v?(\d+|\d+\.\d+)$' 'v$1.' $ver |
|
||||
string replace --filter --regex -- '^v?(\d+)' 'v$1' |
|
||||
string escape --style=regex ||
|
||||
string lower '\b'$ver'(?:/\w+)?$'
|
||||
end
|
||||
|
||||
function _nvm_list_format --argument-names current regex
|
||||
command awk -v current="$current" -v regex="$regex" '
|
||||
$0 ~ regex {
|
||||
aliases[versions[i++] = $1] = $2 " " $3
|
||||
pad = (n = length($1)) > pad ? n : pad
|
||||
}
|
||||
END {
|
||||
if (!i) exit 1
|
||||
while (i--)
|
||||
printf((current == versions[i] ? " ▶ " : " ") "%"pad"s %s\n",
|
||||
versions[i], aliases[versions[i]])
|
||||
}
|
||||
'
|
||||
end
|
||||
|
||||
function _nvm_current
|
||||
command --search --quiet node || return
|
||||
set --query nvm_current_version && echo $nvm_current_version || echo system
|
||||
end
|
||||
|
||||
function _nvm_node_info
|
||||
set --local npm_path (string replace bin/npm-cli.js "" (realpath (command --search npm)))
|
||||
test -f $npm_path/package.json || set --local npm_version_default (command npm --version)
|
||||
command node --eval "
|
||||
console.log(process.version)
|
||||
console.log('$npm_version_default' ? '$npm_version_default': require('$npm_path/package.json').version)
|
||||
console.log(process.execPath.replace(require('os').homedir(), '~'))
|
||||
"
|
||||
end
|
|
@ -1,232 +0,0 @@
|
|||
# -*- conf -*-
|
||||
|
||||
# shell=$SHELL (if set, otherwise user's default shell from /etc/passwd)
|
||||
# term=foot (or xterm-256color if built with -Dterminfo=disabled)
|
||||
# login-shell=no
|
||||
|
||||
# app-id=foot
|
||||
# title=foot
|
||||
# locked-title=no
|
||||
|
||||
font=JetBrainsMono Nerd Font Mono:size=13
|
||||
|
||||
# font=monospace:size=8
|
||||
# font-bold=<bold variant of regular font>
|
||||
# font-italic=<italic variant of regular font>
|
||||
# font-bold-italic=<bold+italic variant of regular font>
|
||||
# line-height=<font metrics>
|
||||
# letter-spacing=0
|
||||
# horizontal-letter-offset=0
|
||||
# vertical-letter-offset=0
|
||||
# underline-offset=<font metrics>
|
||||
# box-drawings-uses-font-glyphs=no
|
||||
# dpi-aware=auto
|
||||
# initial-window-size-pixels=700x500 # Or,
|
||||
# initial-window-size-chars=<COLSxROWS>
|
||||
# initial-window-mode=windowed
|
||||
# pad=2x2 # optionally append 'center'
|
||||
# resize-delay-ms=100
|
||||
|
||||
# notify=notify-send -a ${app-id} -i ${app-id} ${title} ${body}
|
||||
|
||||
# bold-text-in-bright=no
|
||||
# word-delimiters=,│`|:"'()[]{}<>
|
||||
# selection-target=primary
|
||||
# workers=<number of logical CPUs>
|
||||
|
||||
[environment]
|
||||
# name=value
|
||||
|
||||
[bell]
|
||||
# urgent=no
|
||||
# notify=no
|
||||
# command=
|
||||
# command-focused=no
|
||||
|
||||
[scrollback]
|
||||
# lines=1000
|
||||
# multiplier=3.0
|
||||
# indicator-position=relative
|
||||
# indicator-format=
|
||||
|
||||
[url]
|
||||
# launch=xdg-open ${url}
|
||||
# label-letters=sadfjklewcmpgh
|
||||
# osc8-underline=url-mode
|
||||
# protocols=http, https, ftp, ftps, file, gemini, gopher
|
||||
# uri-characters=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+="'()[]
|
||||
|
||||
[cursor]
|
||||
# style=block
|
||||
# color=<inverse foreground/background>
|
||||
# blink=no
|
||||
# beam-thickness=1.5
|
||||
# underline-thickness=<font underline thickness>
|
||||
|
||||
[mouse]
|
||||
hide-when-typing=no
|
||||
alternate-scroll-mode=yes
|
||||
|
||||
[colors]
|
||||
|
||||
alpha = 0.95
|
||||
|
||||
foreground = d8dee9
|
||||
background = 2e3440
|
||||
|
||||
# selection-foreground = d8dee9
|
||||
# selection-background = 4c566a
|
||||
|
||||
regular0 = 3b4252
|
||||
regular1 = bf616a
|
||||
regular2 = a3be8c
|
||||
regular3 = ebcb8b
|
||||
regular4 = 81a1c1
|
||||
regular5 = b48ead
|
||||
regular6 = 88c0d0
|
||||
regular7 = e5e9f0
|
||||
|
||||
bright0 = 4c566a
|
||||
bright1 = bf616a
|
||||
bright2 = a3be8c
|
||||
bright3 = ebcb8b
|
||||
bright4 = 81a1c1
|
||||
bright5 = b48ead
|
||||
bright6 = 8fbcbb
|
||||
bright7 = eceff4
|
||||
|
||||
dim0 = 373e4d
|
||||
dim1 = 94545d
|
||||
dim2 = 809575
|
||||
dim3 = b29e75
|
||||
dim4 = 68809a
|
||||
dim5 = 8c738c
|
||||
dim6 = 6d96a5
|
||||
dim7 = aeb3bb
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#background=141b1e
|
||||
#foreground=dadada
|
||||
#regular0=232a2d
|
||||
#regular1=e57474
|
||||
#regular2=8ccf7e
|
||||
#regular3=e5c76b
|
||||
#regular4=67b0e8
|
||||
#regular5=c47fd5
|
||||
#regular6=6cbfbf
|
||||
#regular7=b3b9b8
|
||||
|
||||
#bright0=2d3437
|
||||
#bright1=ef7e7e
|
||||
#bright2=96d988
|
||||
#bright3=f4d67a
|
||||
#bright4=71baf2
|
||||
#bright5=ce89df
|
||||
#bright6=67cbe7
|
||||
#bright7=bdc3c2
|
||||
|
||||
## dimmed colors (see foot.ini(5) man page)
|
||||
# dim0=<not set>
|
||||
# ...
|
||||
# dim7=<not-set>
|
||||
|
||||
## The remaining 256-color palette
|
||||
# 16 = <256-color palette #16>
|
||||
# ...
|
||||
# 255 = <256-color palette #255>
|
||||
|
||||
## Misc colors
|
||||
# selection-foreground=<inverse foreground/background>
|
||||
# selection-background=<inverse foreground/background>
|
||||
# jump-labels=<regular0> <regular3> # black-on-yellow
|
||||
# scrollback-indicator=<regular0> <bright4> # black-on-bright-blue
|
||||
# search-box-no-match=<regular0> <regular1> # black-on-red
|
||||
# search-box-match=<regular0> <regular3> # black-on-yellow
|
||||
# urls=<regular3>
|
||||
|
||||
[csd]
|
||||
# preferred=server
|
||||
# size=26
|
||||
# font=<primary font>
|
||||
# color=<foreground color>
|
||||
# hide-when-typing=no
|
||||
# border-width=0
|
||||
# border-color=<csd.color>
|
||||
# button-width=26
|
||||
# button-color=<background color>
|
||||
# button-minimize-color=<regular4>
|
||||
# button-maximize-color=<regular2>
|
||||
# button-close-color=<regular1>
|
||||
|
||||
[key-bindings]
|
||||
# scrollback-up-page=Shift+Page_Up
|
||||
# scrollback-up-half-page=none
|
||||
# scrollback-up-line=none
|
||||
# scrollback-down-page=Shift+Page_Down
|
||||
# scrollback-down-half-page=none
|
||||
# scrollback-down-line=none
|
||||
# clipboard-copy=Control+Shift+c XF86Copy
|
||||
# clipboard-paste=Control+Shift+v XF86Paste
|
||||
# primary-paste=Shift+Insert
|
||||
# search-start=Control+Shift+r
|
||||
# font-increase=Control+plus Control+equal Control+KP_Add
|
||||
# font-decrease=Control+minus Control+KP_Subtract
|
||||
# font-reset=Control+0 Control+KP_0
|
||||
# spawn-terminal=Control+Shift+n
|
||||
# minimize=none
|
||||
# maximize=none
|
||||
# fullscreen=none
|
||||
# pipe-visible=[sh -c "xurls | fuzzel | xargs -r firefox"] none
|
||||
# pipe-scrollback=[sh -c "xurls | fuzzel | xargs -r firefox"] none
|
||||
# pipe-selected=[xargs -r firefox] none
|
||||
# show-urls-launch=Control+Shift+u
|
||||
# show-urls-copy=none
|
||||
# show-urls-persistent=none
|
||||
# prompt-prev=Control+Shift+z
|
||||
# prompt-next=Control+Shift+x
|
||||
# unicode-input=none
|
||||
# noop=none
|
||||
|
||||
[search-bindings]
|
||||
# cancel=Control+g Control+c Escape
|
||||
# commit=Return
|
||||
# find-prev=Control+r
|
||||
# find-next=Control+s
|
||||
# cursor-left=Left Control+b
|
||||
# cursor-left-word=Control+Left Mod1+b
|
||||
# cursor-right=Right Control+f
|
||||
# cursor-right-word=Control+Right Mod1+f
|
||||
# cursor-home=Home Control+a
|
||||
# cursor-end=End Control+e
|
||||
# delete-prev=BackSpace
|
||||
# delete-prev-word=Mod1+BackSpace Control+BackSpace
|
||||
# delete-next=Delete
|
||||
# delete-next-word=Mod1+d Control+Delete
|
||||
# extend-to-word-boundary=Control+w
|
||||
# extend-to-next-whitespace=Control+Shift+w
|
||||
# clipboard-paste=Control+v Control+Shift+v Control+y XF86Paste
|
||||
# primary-paste=Shift+Insert
|
||||
# unicode-input=none
|
||||
|
||||
[url-bindings]
|
||||
# cancel=Control+g Control+c Control+d Escape
|
||||
# toggle-url-visible=t
|
||||
|
||||
[text-bindings]
|
||||
# \x03=Mod4+c # Map Super+c -> Ctrl+c
|
||||
|
||||
[mouse-bindings]
|
||||
# selection-override-modifiers=Shift
|
||||
# primary-paste=BTN_MIDDLE
|
||||
# select-begin=BTN_LEFT
|
||||
# select-begin-block=Control+BTN_LEFT
|
||||
# select-extend=BTN_RIGHT
|
||||
# select-extend-character-wise=Control+BTN_RIGHT
|
||||
# select-word=BTN_LEFT-2
|
||||
# select-word-whitespace=Control+BTN_LEFT-2
|
||||
# select-row=BTN_LEFT-3
|
||||
|
||||
# vim: ft=dosini
|
|
@ -1,207 +0,0 @@
|
|||
# This is an example Hyprland config file.
|
||||
#
|
||||
# Refer to the wiki for more information.
|
||||
|
||||
#
|
||||
# Please note not all available settings / options are set here.
|
||||
# For a full list, see the wiki
|
||||
#
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||
monitor=,1920x1080,auto,1
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||
|
||||
# Execute your favorite apps at launch
|
||||
# exec-once = waybar & hyprpaper & firefox
|
||||
|
||||
|
||||
exec-once = swww init
|
||||
exec-once = waybar
|
||||
exec-once = light -S 50
|
||||
exec-once = kotatogram-desktop
|
||||
exec-once = dunst -config ~/.config/dunst/dunstrc
|
||||
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &
|
||||
exec-once = /usr/bin/chromium-browser-stable --disable-gpu --disable-software-rasterizer
|
||||
exec-once = $HOME/bin/battery-daemon &
|
||||
|
||||
# Source a file (multi-file configs)
|
||||
# source = ~/.config/hypr/myColors.conf
|
||||
|
||||
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
|
||||
input {
|
||||
kb_layout = us,ru,ua
|
||||
kb_variant =
|
||||
kb_model =
|
||||
kb_options = grp:caps_toggle
|
||||
kb_rules =
|
||||
|
||||
follow_mouse = 1
|
||||
|
||||
touchpad {
|
||||
natural_scroll = no
|
||||
}
|
||||
|
||||
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
||||
}
|
||||
|
||||
general {
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
gaps_in = 5
|
||||
gaps_out = 10
|
||||
border_size = 3
|
||||
|
||||
col.active_border = rgb(88c0d0) 45deg
|
||||
col.inactive_border = rgb(2e3440)
|
||||
|
||||
layout = dwindle
|
||||
}
|
||||
|
||||
decoration {
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
rounding = 10
|
||||
blur: 3
|
||||
|
||||
drop_shadow = yes
|
||||
shadow_range = 4
|
||||
shadow_render_power = 3
|
||||
col.shadow = rgba(1a1a1aee)
|
||||
|
||||
dim_inactive = 1
|
||||
dim_strength = 0.4
|
||||
}
|
||||
|
||||
animations {
|
||||
enabled = yes
|
||||
|
||||
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
||||
|
||||
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
||||
|
||||
animation = windows, 1, 7, myBezier
|
||||
animation = windowsOut, 1, 7, default, popin 80%
|
||||
animation = border, 1, 10, default
|
||||
animation = fade, 1, 7, default
|
||||
animation = workspaces, 1, 6, default
|
||||
}
|
||||
|
||||
dwindle {
|
||||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
||||
pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||
preserve_split = yes # you probably want this
|
||||
}
|
||||
|
||||
master {
|
||||
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
||||
new_is_master = true
|
||||
}
|
||||
|
||||
gestures {
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
workspace_swipe = off
|
||||
}
|
||||
|
||||
# Example per-device config
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
|
||||
device:epic mouse V1 {
|
||||
sensitivity = -0.5
|
||||
}
|
||||
|
||||
# Example windowrule v1
|
||||
# windowrule = float, ^(kitty)$
|
||||
# Example windowrule v2
|
||||
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
|
||||
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
||||
|
||||
windowrulev2 = float,class:^(xdg-desktop-portal-gtk)$
|
||||
windowrulev2 = move 196 127,class:^(xdg-desktop-portal-gtk)$
|
||||
windowrulev2 = size 791 667,class:^(xdg-desktop-portal-gtk)$
|
||||
|
||||
|
||||
windowrulev2 = float,title:^(Kotatogram)$
|
||||
windowrulev2 = workspace 2 silent,title:^(Kotatogram)$
|
||||
windowrulev2 = size 641 1022,title:^(Kotatogram)$
|
||||
windowrulev2 = move 25 45,title:^(Kotatogram)$
|
||||
|
||||
|
||||
windowrulev2 = workspace 1 silent,title:^(chromium-browser)$
|
||||
|
||||
$mainMod = SUPER
|
||||
|
||||
bind = $mainMod SHIFT, S,exec, bin/w-screenrecord
|
||||
|
||||
# bindl=,switch:[switch name],exec,$HOME/bin/lockscreen
|
||||
|
||||
|
||||
bind = $mainMod, C, killactive,
|
||||
bind = $mainMod, X, exit,
|
||||
bind = $mainMod, F, fullscreen, 2
|
||||
bind = $mainMod, S, togglefloating,
|
||||
bind = $mainMod, P, pseudo, # dwindle
|
||||
bind = $mainMod ALT, J, togglesplit, # dwindle
|
||||
|
||||
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||
|
||||
# Example volume button that allows press and hold
|
||||
binde= ,F2, exec, pactl set-sink-volume @DEFAULT_SINK@ -1%
|
||||
binde= ,F3, exec, pactl set-sink-volume @DEFAULT_SINK@ +1%
|
||||
|
||||
bind = $mainMod, b, exec, foot -e bluetuith
|
||||
bind = $mainMod, RETURN, exec, foot
|
||||
bind = $mainMod, N, exec, foot -e lf
|
||||
bind = $mainMod, M, exec, foot -e cmus
|
||||
bind = $mainMod, d, exec, wofi --show drun -I -i
|
||||
bind = ,Print, exec, makescreenshot
|
||||
# bind = $mainMod, SHIFT, L, exec, lockscreen
|
||||
bind = ALT, L, exec, lockscreen
|
||||
|
||||
# not forget install xdg-desktop-portal 1.14.6
|
||||
# Modify file /usr/share/xdg-desktop-portal/portals/{}.portal UserIn=sway;wlroots
|
||||
|
||||
# Move focus with mainMod + kjlh
|
||||
bind = $mainMod, k, movefocus,u
|
||||
bind = $mainMod, j, movefocus,d
|
||||
bind = $mainMod, l, movefocus,r
|
||||
bind = $mainMod, h, movefocus,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
|
||||
|
||||
# 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
|
||||
|
||||
# Scroll through existing workspaces with mainMod + scroll
|
||||
bind = $mainMod, mouse_down, workspace, e+1
|
||||
bind = $mainMod, mouse_up, workspace, e-1
|
||||
|
||||
# Move windows
|
||||
bind = $mainMod SHIFT,k, movewindow, u
|
||||
bind = $mainMod SHIFT,j, movewindow, d
|
||||
bind = $mainMod SHIFT,l, movewindow, r
|
||||
bind = $mainMod SHIFT,h, movewindow, l
|
||||
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
bindm = $mainMod, mouse:272, movewindow
|
||||
bindm = $mainMod, mouse:273, resizewindow
|
||||
|
||||
misc {
|
||||
disable_hyprland_logo = true
|
||||
}
|
|
@ -1,174 +0,0 @@
|
|||
# vim:ft=dircolors
|
||||
# (This is not a dircolors file but it helps to highlight colors and comments)
|
||||
|
||||
# default values from dircolors
|
||||
# (entries with a leading # are not implemented in lf)
|
||||
# #no 00 # NORMAL
|
||||
# fi 00 # FILE
|
||||
# #rs 0 # RESET
|
||||
# di 01;34 # DIR
|
||||
# ln 01;36 # LINK
|
||||
# #mh 00 # MULTIHARDLINK
|
||||
# pi 40;33 # FIFO
|
||||
# so 01;35 # SOCK
|
||||
# #do 01;35 # DOOR
|
||||
# bd 40;33;01 # BLK
|
||||
# cd 40;33;01 # CHR
|
||||
# or 40;31;01 # ORPHAN
|
||||
# #mi 00 # MISSING
|
||||
# su 37;41 # SETUID
|
||||
# sg 30;43 # SETGID
|
||||
# #ca 30;41 # CAPABILITY
|
||||
# tw 30;42 # STICKY_OTHER_WRITABLE
|
||||
# ow 34;42 # OTHER_WRITABLE
|
||||
# st 37;44 # STICKY
|
||||
# ex 01;32 # EXEC
|
||||
|
||||
# default values from lf (with matching order)
|
||||
# ln 01;36 # LINK
|
||||
# or 31;01 # ORPHAN
|
||||
# tw 01;34 # STICKY_OTHER_WRITABLE
|
||||
# ow 01;34 # OTHER_WRITABLE
|
||||
# st 01;34 # STICKY
|
||||
# di 01;34 # DIR
|
||||
# pi 33 # FIFO
|
||||
# so 01;35 # SOCK
|
||||
# bd 33;01 # BLK
|
||||
# cd 33;01 # CHR
|
||||
# su 01;32 # SETUID
|
||||
# sg 01;32 # SETGID
|
||||
# ex 01;32 # EXEC
|
||||
# fi 00 # FILE
|
||||
|
||||
# file types (with matching order)
|
||||
ln 01;36 # LINK
|
||||
or 31;01 # ORPHAN
|
||||
tw 34 # STICKY_OTHER_WRITABLE
|
||||
ow 34 # OTHER_WRITABLE
|
||||
st 01;34 # STICKY
|
||||
di 01;34 # DIR
|
||||
pi 33 # FIFO
|
||||
so 01;35 # SOCK
|
||||
bd 33;01 # BLK
|
||||
cd 33;01 # CHR
|
||||
su 01;32 # SETUID
|
||||
sg 01;32 # SETGID
|
||||
ex 01;32 # EXEC
|
||||
fi 00 # FILE
|
||||
|
||||
# archives or compressed (dircolors defaults)
|
||||
*.tar 01;31
|
||||
*.tgz 01;31
|
||||
*.arc 01;31
|
||||
*.arj 01;31
|
||||
*.taz 01;31
|
||||
*.lha 01;31
|
||||
*.lz4 01;31
|
||||
*.lzh 01;31
|
||||
*.lzma 01;31
|
||||
*.tlz 01;31
|
||||
*.txz 01;31
|
||||
*.tzo 01;31
|
||||
*.t7z 01;31
|
||||
*.zip 01;31
|
||||
*.z 01;31
|
||||
*.dz 01;31
|
||||
*.gz 01;31
|
||||
*.lrz 01;31
|
||||
*.lz 01;31
|
||||
*.lzo 01;31
|
||||
*.xz 01;31
|
||||
*.zst 01;31
|
||||
*.tzst 01;31
|
||||
*.bz2 01;31
|
||||
*.bz 01;31
|
||||
*.tbz 01;31
|
||||
*.tbz2 01;31
|
||||
*.tz 01;31
|
||||
*.deb 01;31
|
||||
*.rpm 01;31
|
||||
*.jar 01;31
|
||||
*.war 01;31
|
||||
*.ear 01;31
|
||||
*.sar 01;31
|
||||
*.rar 01;31
|
||||
*.alz 01;31
|
||||
*.ace 01;31
|
||||
*.zoo 01;31
|
||||
*.cpio 01;31
|
||||
*.7z 01;31
|
||||
*.rz 01;31
|
||||
*.cab 01;31
|
||||
*.wim 01;31
|
||||
*.swm 01;31
|
||||
*.dwm 01;31
|
||||
*.esd 01;31
|
||||
|
||||
# image formats (dircolors defaults)
|
||||
*.jpg 01;35
|
||||
*.jpeg 01;35
|
||||
*.mjpg 01;35
|
||||
*.mjpeg 01;35
|
||||
*.gif 01;35
|
||||
*.bmp 01;35
|
||||
*.pbm 01;35
|
||||
*.pgm 01;35
|
||||
*.ppm 01;35
|
||||
*.tga 01;35
|
||||
*.xbm 01;35
|
||||
*.xpm 01;35
|
||||
*.tif 01;35
|
||||
*.tiff 01;35
|
||||
*.png 01;35
|
||||
*.svg 01;35
|
||||
*.svgz 01;35
|
||||
*.mng 01;35
|
||||
*.pcx 01;35
|
||||
*.mov 01;35
|
||||
*.mpg 01;35
|
||||
*.mpeg 01;35
|
||||
*.m2v 01;35
|
||||
*.mkv 01;35
|
||||
*.webm 01;35
|
||||
*.ogm 01;35
|
||||
*.mp4 01;35
|
||||
*.m4v 01;35
|
||||
*.mp4v 01;35
|
||||
*.vob 01;35
|
||||
*.qt 01;35
|
||||
*.nuv 01;35
|
||||
*.wmv 01;35
|
||||
*.asf 01;35
|
||||
*.rm 01;35
|
||||
*.rmvb 01;35
|
||||
*.flc 01;35
|
||||
*.avi 01;35
|
||||
*.fli 01;35
|
||||
*.flv 01;35
|
||||
*.gl 01;35
|
||||
*.dl 01;35
|
||||
*.xcf 01;35
|
||||
*.xwd 01;35
|
||||
*.yuv 01;35
|
||||
*.cgm 01;35
|
||||
*.emf 01;35
|
||||
*.ogv 01;35
|
||||
*.ogx 01;35
|
||||
|
||||
# audio formats (dircolors defaults)
|
||||
*.aac 00;36
|
||||
*.au 00;36
|
||||
*.flac 00;36
|
||||
*.m4a 00;36
|
||||
*.mid 00;36
|
||||
*.midi 00;36
|
||||
*.mka 00;36
|
||||
*.mp3 00;36
|
||||
*.mpc 00;36
|
||||
*.ogg 00;36
|
||||
*.ra 00;36
|
||||
*.wav 00;36
|
||||
*.oga 00;36
|
||||
*.opus 00;36
|
||||
*.spx 00;36
|
||||
*.xspf 00;36
|
|
@ -1,357 +0,0 @@
|
|||
# vim:ft=conf
|
||||
|
||||
# These examples require Nerd Fonts or a compatible font to be used.
|
||||
# See https://www.nerdfonts.com for more information.
|
||||
|
||||
# default values from lf (with matching order)
|
||||
# ln l # LINK
|
||||
# or l # ORPHAN
|
||||
# tw t # STICKY_OTHER_WRITABLE
|
||||
# ow d # OTHER_WRITABLE
|
||||
# st t # STICKY
|
||||
# di d # DIR
|
||||
# pi p # FIFO
|
||||
# so s # SOCK
|
||||
# bd b # BLK
|
||||
# cd c # CHR
|
||||
# su u # SETUID
|
||||
# sg g # SETGID
|
||||
# ex x # EXEC
|
||||
# fi - # FILE
|
||||
|
||||
# file types (with matching order)
|
||||
ln # LINK
|
||||
or # ORPHAN
|
||||
tw t # STICKY_OTHER_WRITABLE
|
||||
ow # OTHER_WRITABLE
|
||||
st t # STICKY
|
||||
di # DIR
|
||||
pi p # FIFO
|
||||
so s # SOCK
|
||||
bd b # BLK
|
||||
cd c # CHR
|
||||
su u # SETUID
|
||||
sg g # SETGID
|
||||
ex # EXEC
|
||||
fi # FILE
|
||||
|
||||
# file extensions (vim-devicons)
|
||||
*.styl
|
||||
*.sass
|
||||
*.scss
|
||||
*.htm
|
||||
*.html
|
||||
*.slim
|
||||
*.haml
|
||||
*.ejs
|
||||
*.css
|
||||
*.less
|
||||
*.md
|
||||
*.mdx
|
||||
*.markdown
|
||||
*.rmd
|
||||
*.json
|
||||
*.webmanifest
|
||||
*.js
|
||||
*.mjs
|
||||
*.jsx
|
||||
*.rb
|
||||
*.gemspec
|
||||
*.rake
|
||||
*.php
|
||||
*.py
|
||||
*.pyc
|
||||
*.pyo
|
||||
*.pyd
|
||||
*.coffee
|
||||
*.mustache
|
||||
*.hbs
|
||||
*.conf
|
||||
*.ini
|
||||
*.yml
|
||||
*.yaml
|
||||
*.toml
|
||||
*.bat
|
||||
*.mk
|
||||
*.jpg
|
||||
*.jpeg
|
||||
*.bmp
|
||||
*.png
|
||||
*.webp
|
||||
*.gif
|
||||
*.ico
|
||||
*.twig
|
||||
*.cpp
|
||||
*.c++
|
||||
*.cxx
|
||||
*.cc
|
||||
*.cp
|
||||
*.c
|
||||
*.cs
|
||||
*.h
|
||||
*.hh
|
||||
*.hpp
|
||||
*.hxx
|
||||
*.hs
|
||||
*.lhs
|
||||
*.nix
|
||||
*.lua
|
||||
*.java
|
||||
*.sh
|
||||
*.fish
|
||||
*.bash
|
||||
*.zsh
|
||||
*.ksh
|
||||
*.csh
|
||||
*.awk
|
||||
*.ps1
|
||||
*.ml λ
|
||||
*.mli λ
|
||||
*.diff
|
||||
*.db
|
||||
*.sql
|
||||
*.dump
|
||||
*.clj
|
||||
*.cljc
|
||||
*.cljs
|
||||
*.edn
|
||||
*.scala
|
||||
*.go
|
||||
*.dart
|
||||
*.xul
|
||||
*.sln
|
||||
*.suo
|
||||
*.pl
|
||||
*.pm
|
||||
*.t
|
||||
*.rss
|
||||
'*.f#'
|
||||
*.fsscript
|
||||
*.fsx
|
||||
*.fs
|
||||
*.fsi
|
||||
*.rs
|
||||
*.rlib
|
||||
*.d
|
||||
*.erl
|
||||
*.hrl
|
||||
*.ex
|
||||
*.exs
|
||||
*.eex
|
||||
*.leex
|
||||
*.heex
|
||||
*.vim
|
||||
*.ai
|
||||
*.psd
|
||||
*.psb
|
||||
*.ts
|
||||
*.tsx
|
||||
*.jl
|
||||
*.pp
|
||||
*.vue
|
||||
*.elm
|
||||
*.swift
|
||||
*.xcplayground
|
||||
*.tex ﭨ
|
||||
*.r ﳒ
|
||||
*.rproj 鉶
|
||||
*.sol ﲹ
|
||||
*.pem
|
||||
|
||||
# file names (vim-devicons) (case-insensitive not supported in lf)
|
||||
*gruntfile.coffee
|
||||
*gruntfile.js
|
||||
*gruntfile.ls
|
||||
*gulpfile.coffee
|
||||
*gulpfile.js
|
||||
*gulpfile.ls
|
||||
*mix.lock
|
||||
*dropbox
|
||||
*.ds_store
|
||||
*.gitconfig
|
||||
*.gitignore
|
||||
*.gitattributes
|
||||
*.gitlab-ci.yml
|
||||
*.bashrc
|
||||
*.zshrc
|
||||
*.zshenv
|
||||
*.zprofile
|
||||
*.vimrc
|
||||
*.gvimrc
|
||||
*_vimrc
|
||||
*_gvimrc
|
||||
*.bashprofile
|
||||
*favicon.ico
|
||||
*license
|
||||
*node_modules
|
||||
*react.jsx
|
||||
*procfile
|
||||
*dockerfile
|
||||
*docker-compose.yml
|
||||
*rakefile
|
||||
*config.ru
|
||||
*gemfile
|
||||
*makefile
|
||||
*cmakelists.txt
|
||||
*robots.txt ﮧ
|
||||
|
||||
# file names (case-sensitive adaptations)
|
||||
*Gruntfile.coffee
|
||||
*Gruntfile.js
|
||||
*Gruntfile.ls
|
||||
*Gulpfile.coffee
|
||||
*Gulpfile.js
|
||||
*Gulpfile.ls
|
||||
*Dropbox
|
||||
*.DS_Store
|
||||
*LICENSE
|
||||
*React.jsx
|
||||
*Procfile
|
||||
*Dockerfile
|
||||
*Docker-compose.yml
|
||||
*Rakefile
|
||||
*Gemfile
|
||||
*Makefile
|
||||
*CMakeLists.txt
|
||||
|
||||
# file patterns (vim-devicons) (patterns not supported in lf)
|
||||
# .*jquery.*\.js$
|
||||
# .*angular.*\.js$
|
||||
# .*backbone.*\.js$
|
||||
# .*require.*\.js$
|
||||
# .*materialize.*\.js$
|
||||
# .*materialize.*\.css$
|
||||
# .*mootools.*\.js$
|
||||
# .*vimrc.*
|
||||
# Vagrantfile$
|
||||
|
||||
# file patterns (file name adaptations)
|
||||
*jquery.min.js
|
||||
*angular.min.js
|
||||
*backbone.min.js
|
||||
*require.min.js
|
||||
*materialize.min.js
|
||||
*materialize.min.css
|
||||
*mootools.min.js
|
||||
*vimrc
|
||||
Vagrantfile
|
||||
|
||||
# archives or compressed (extensions from dircolors defaults)
|
||||
*.tar
|
||||
*.tgz
|
||||
*.arc
|
||||
*.arj
|
||||
*.taz
|
||||
*.lha
|
||||
*.lz4
|
||||
*.lzh
|
||||
*.lzma
|
||||
*.tlz
|
||||
*.txz
|
||||
*.tzo
|
||||
*.t7z
|
||||
*.zip
|
||||
*.z
|
||||
*.dz
|
||||
*.gz
|
||||
*.lrz
|
||||
*.lz
|
||||
*.lzo
|
||||
*.xz
|
||||
*.zst
|
||||
*.tzst
|
||||
*.bz2
|
||||
*.bz
|
||||
*.tbz
|
||||
*.tbz2
|
||||
*.tz
|
||||
*.deb
|
||||
*.rpm
|
||||
*.jar
|
||||
*.war
|
||||
*.ear
|
||||
*.sar
|
||||
*.rar
|
||||
*.alz
|
||||
*.ace
|
||||
*.zoo
|
||||
*.cpio
|
||||
*.7z
|
||||
*.rz
|
||||
*.cab
|
||||
*.wim
|
||||
*.swm
|
||||
*.dwm
|
||||
*.esd
|
||||
|
||||
# image formats (extensions from dircolors defaults)
|
||||
*.jpg
|
||||
*.jpeg
|
||||
*.mjpg
|
||||
*.mjpeg
|
||||
*.gif
|
||||
*.bmp
|
||||
*.pbm
|
||||
*.pgm
|
||||
*.ppm
|
||||
*.tga
|
||||
*.xbm
|
||||
*.xpm
|
||||
*.tif
|
||||
*.tiff
|
||||
*.png
|
||||
*.svg
|
||||
*.svgz
|
||||
*.mng
|
||||
*.pcx
|
||||
*.mov
|
||||
*.mpg
|
||||
*.mpeg
|
||||
*.m2v
|
||||
*.mkv
|
||||
*.webm
|
||||
*.ogm
|
||||
*.mp4
|
||||
*.m4v
|
||||
*.mp4v
|
||||
*.vob
|
||||
*.qt
|
||||
*.nuv
|
||||
*.wmv
|
||||
*.asf
|
||||
*.rm
|
||||
*.rmvb
|
||||
*.flc
|
||||
*.avi
|
||||
*.fli
|
||||
*.flv
|
||||
*.gl
|
||||
*.dl
|
||||
*.xcf
|
||||
*.xwd
|
||||
*.yuv
|
||||
*.cgm
|
||||
*.emf
|
||||
*.ogv
|
||||
*.ogx
|
||||
|
||||
# audio formats (extensions from dircolors defaults)
|
||||
*.aac
|
||||
*.au
|
||||
*.flac
|
||||
*.m4a
|
||||
*.mid
|
||||
*.midi
|
||||
*.mka
|
||||
*.mp3
|
||||
*.mpc
|
||||
*.ogg
|
||||
*.ra
|
||||
*.wav
|
||||
*.oga
|
||||
*.opus
|
||||
*.spx
|
||||
*.xspf
|
||||
|
||||
# other formats
|
||||
*.pdf
|
|
@ -1,228 +0,0 @@
|
|||
set drawbox
|
||||
set icons true
|
||||
set ignorecase true
|
||||
|
||||
# interpreter for shell commands
|
||||
set shell sh
|
||||
set shellopts '-eu'
|
||||
|
||||
set previewer ctpv
|
||||
set cleaner ctpvclear
|
||||
&ctpv -d -s $id >> ~/temp/lf_ctpv.log
|
||||
&ctpvquit $id >> ~/temp/lf_ctpvquit.log
|
||||
|
||||
cmd edit-config ${{
|
||||
$EDITOR ~/.config/lf/lfrc
|
||||
lf -remote "send $id source ~/.config/lf/lfrc"
|
||||
}}
|
||||
|
||||
cmd open &{{
|
||||
case $(file --mime-type "$f" -bL) in
|
||||
text/*|application/json) lf -remote "send $id \$$EDITOR \"$fx\"";;
|
||||
image/*) swayimg -f "$f";;
|
||||
audio/*) lf -remote "send $id \$mpv --audio-display=no \"$fx\" && clear";;
|
||||
video/*) mpv "$f";;
|
||||
application/pdf|application/epub) zathura "$f";;
|
||||
*) xdg-open "$f";;
|
||||
esac
|
||||
}}
|
||||
|
||||
cmd setwallpaper %swww img "$f" --transition-type wipe --transition-fps 60
|
||||
|
||||
cmd fzf_jump ${{
|
||||
res="$(find . | fzf --reverse --header='Jump to location' | sed 's/\\/\\\\/g;s/"/\\"/g')"
|
||||
if [ -d "$res" ] ; then
|
||||
cmd="cd"
|
||||
elif [ -f "$res" ] ; then
|
||||
cmd="select"
|
||||
else
|
||||
exit 0
|
||||
fi
|
||||
lf -remote "send $id $cmd \"$res\""
|
||||
}}
|
||||
|
||||
cmd rg_search ${{
|
||||
res="$( \
|
||||
RG_PREFIX="rg --column --line-number --no-heading --color=always \
|
||||
--smart-case "
|
||||
FZF_DEFAULT_COMMAND="$RG_PREFIX ''" \
|
||||
fzf --bind "change:reload:$RG_PREFIX {q} || true" \
|
||||
--ansi --layout=reverse --header 'Search in files' \
|
||||
| cut -d':' -f1
|
||||
)"
|
||||
[ ! -z "$res" ] && lf -remote "send $id select \"$res\""
|
||||
}}
|
||||
|
||||
cmd unarchive ${{
|
||||
set -f
|
||||
case $f in
|
||||
*.tar.bz|*.tar.bz2|*.tbz|*.tbz2) tar xjvf "$f";;
|
||||
*.tar.gz|*.tgz) tar xzvf "$f";;
|
||||
*.tar.xz|*.txz) tar xJvf "$f";;
|
||||
*.zip) unzip "$f";;
|
||||
*.rar) unrar x "$f";;
|
||||
*.7z) 7z x "$f";;
|
||||
esac
|
||||
}}
|
||||
|
||||
cmd tar ${{
|
||||
set -f
|
||||
mkdir $1
|
||||
cp -r $fx $1
|
||||
tar czf $1.tar.gz $1
|
||||
rm -rf $1
|
||||
}}
|
||||
|
||||
cmd zip ${{
|
||||
set -f
|
||||
mkdir $1
|
||||
cp -r $fx $1
|
||||
zip -r $1.zip $1
|
||||
rm -rf $1
|
||||
}}
|
||||
|
||||
|
||||
# Trash bindings
|
||||
cmd move-to-trash ${{
|
||||
files=$(printf "$fx" | tr '\n' ';')
|
||||
while [ "$files" ]; do
|
||||
file=${files%%;*}
|
||||
|
||||
trash-put "$(basename "$file")"
|
||||
|
||||
if [ "$files" = "$file" ]; then
|
||||
files=''
|
||||
else
|
||||
files="${files#*;}"
|
||||
fi
|
||||
done
|
||||
}}
|
||||
|
||||
cmd delete-from-trash ${{
|
||||
files=$(printf "$fx" | tr '\n' ';')
|
||||
while [ "$files" ]; do
|
||||
file=${files%%;*}
|
||||
|
||||
if [[ "$(pwd)" == "$HOME/.local/share/Trash/files" ]]; then
|
||||
rm -rf "$file"
|
||||
fi
|
||||
|
||||
if [ "$files" = "$file" ]; then
|
||||
files=''
|
||||
else
|
||||
files="${files#*;}"
|
||||
fi
|
||||
done
|
||||
}}
|
||||
|
||||
# cmd trash ${{
|
||||
# files=$(printf "$fx" | tr '\n' ';')
|
||||
# while [ "$files" ]; do
|
||||
# file=${files%%;*}
|
||||
# if [[ $PWD == "$HOME/.local/share/Trash/files" ]]; then
|
||||
# rm -rf "$file"
|
||||
# else
|
||||
# trash-put "$(basename "$filename")"
|
||||
# fi
|
||||
#
|
||||
# if [ "$files" = "$file" ]; then
|
||||
# files=''
|
||||
# else
|
||||
# files="${files#*;}"
|
||||
# fi
|
||||
# done
|
||||
# }}
|
||||
|
||||
# lfrc
|
||||
|
||||
|
||||
cmd trash-restore-list ${{
|
||||
ids="$(echo -ne '\n' | \
|
||||
trash-restore | \
|
||||
awk '$1 ~ /^[0-9]+/ {print $0}' | \
|
||||
fzf --multi | \
|
||||
awk '{print $1}' | \
|
||||
sed -z 's/\n/,/g;s/,$/\n/')"
|
||||
echo $ids | trash-restore
|
||||
clear
|
||||
}}
|
||||
|
||||
cmd restore-from-trash ${{
|
||||
files=$(printf "$fx" | tr '\n' ';')
|
||||
while [ "$files" ]; do
|
||||
file=${files%%;*}
|
||||
|
||||
Id="$(echo -ne '\n'|
|
||||
trash-restore ~ |
|
||||
grep $(basename "$file") |
|
||||
awk '{print $1}'
|
||||
)"
|
||||
|
||||
echo $Id | trash-restore ~
|
||||
|
||||
if [ "$files" = "$file" ]; then
|
||||
files=''
|
||||
else
|
||||
files="${files#*;}"
|
||||
fi
|
||||
done
|
||||
}}
|
||||
|
||||
map m
|
||||
map o
|
||||
map n
|
||||
map "'"
|
||||
map '"'
|
||||
map d
|
||||
map e
|
||||
map f
|
||||
map t
|
||||
map u
|
||||
map a
|
||||
|
||||
map ua unarchive
|
||||
|
||||
map . set hidden!
|
||||
|
||||
map md push %mkdir<space>
|
||||
map gp jump-prev
|
||||
|
||||
map y copy
|
||||
map p paste
|
||||
map x cut
|
||||
|
||||
map <enter> open
|
||||
|
||||
map f :fzf_jump
|
||||
map gf :rg_search
|
||||
|
||||
map C edit-config
|
||||
map bg setwallpaper
|
||||
|
||||
map mt move-to-trash
|
||||
map dt delete-from-trash
|
||||
map tr restore-from-trash
|
||||
map trl trash-restore-list
|
||||
|
||||
|
||||
map R reload
|
||||
|
||||
map gh cd ~
|
||||
map gd cd ~/Downloads
|
||||
map gD cd ~/Documents
|
||||
|
||||
map gc cd ~/.config
|
||||
map gr cd ~/repos
|
||||
|
||||
map gC cd ~/code
|
||||
|
||||
map gp cd ~/Pictures
|
||||
map gw cd ~/Pictures/wallpapers
|
||||
map gs cd ~/Pictures/screenshots
|
||||
|
||||
map gv cd ~/Videos
|
||||
map gm cd ~/Music
|
||||
map gA cd ~/Anime
|
||||
|
||||
map gt cd ~/.local/share/Trash/files
|
||||
map tc %rm -rf ~/.local/share/Trash/files/*
|
|
@ -1,134 +0,0 @@
|
|||
{
|
||||
"layer": "top", // Waybar at top layer
|
||||
"position": "top",
|
||||
|
||||
"height": 39,
|
||||
"width": 1895,
|
||||
"spacing": 3,
|
||||
|
||||
"modules-left": ["hyprland/window", "pulseaudio","tray"],
|
||||
"modules-center": ["wlr/workspaces"],
|
||||
"modules-right": ["custom/cmus", "custom/weather", "custom/language", "clock", "battery"],
|
||||
|
||||
"wlr/workspaces": {
|
||||
"format": "{icon}",
|
||||
"on-scroll-up": "hyprctl dispatch workspace e+1",
|
||||
"on-scroll-down": "hyprctl dispatch workspace e-1",
|
||||
"on-click": "activate",
|
||||
"all-outputs": false,
|
||||
"format": "{icon}",
|
||||
|
||||
// "format-icons": {
|
||||
// "1": "",
|
||||
// "2": "",
|
||||
// "3": "",
|
||||
// "4": "",
|
||||
// "5": "",
|
||||
// "6": "",
|
||||
// "urgent": "",
|
||||
// "focused": "",
|
||||
// "default": ""
|
||||
//}
|
||||
|
||||
"format-icons": {
|
||||
"1": "",
|
||||
"2": "",
|
||||
"3": "",
|
||||
"4": "",
|
||||
"5": "",
|
||||
"6": "",
|
||||
"7": "",
|
||||
"8": "",
|
||||
"9": "",
|
||||
"focused": " ",
|
||||
"urgent": " ",
|
||||
//"default": " ",
|
||||
},
|
||||
"icon-size": 14
|
||||
},
|
||||
|
||||
"sway/mode": {
|
||||
"format": "<span style=\"italic\">{}</span>"
|
||||
},
|
||||
|
||||
"tray": {
|
||||
"spacing": 10,
|
||||
"icon-size": 15
|
||||
},
|
||||
|
||||
"clock": {
|
||||
"format": "{:%a, %d/%m/%Y %I:%M %p}",
|
||||
},
|
||||
|
||||
"custom/cmus": {
|
||||
"format": " {}",
|
||||
"max-length": 45,
|
||||
"interval": 10,
|
||||
"exec": "cmus-remote -C \"format_print '%F'\"",
|
||||
"exec-if": "pgrep cmus",
|
||||
"on-click": "cmus-remote -u",
|
||||
"on-scroll-up": "cmus-remote --next",
|
||||
"on-scroll-down": "cmus-remote --prev",
|
||||
"escape": true
|
||||
},
|
||||
|
||||
"custom/weather": {
|
||||
"format": "{}",
|
||||
"exec": "~/.config/waybar/openweathermap-simple.sh",
|
||||
// "exec": "curl 'https://wttr.in/?format=1'",
|
||||
"interval": 3600
|
||||
},
|
||||
|
||||
"hyprland/window": {
|
||||
"format": "{}",
|
||||
"separate-outputs": false,
|
||||
"max-length": 20
|
||||
},
|
||||
|
||||
"custom/language": {
|
||||
"exec": "~/.config/hypr/scripts/kb_hypr",
|
||||
"interval": 1,
|
||||
"format": " {}",
|
||||
},
|
||||
|
||||
"battery": {
|
||||
"states": {
|
||||
"good": 60,
|
||||
"warning": 40,
|
||||
"critical": 30
|
||||
},
|
||||
"format": "{icon} {capacity}%",
|
||||
"format-charging": " {capacity}%",
|
||||
"format-plugged": " {capacity}%",
|
||||
"format-full": " full charged",
|
||||
"format-warning": " {capacity}%",
|
||||
"format-critical": " {capacity}%",
|
||||
"format-alt": "{time} {icon}",
|
||||
"format-icons": ["", "", "", "", ""]
|
||||
},
|
||||
|
||||
"bluetooth": {
|
||||
// "controller": "controller1", // specify the alias of the controller if there are more than 1 on the system
|
||||
"format": " {status}",
|
||||
"format-disabled": "", // an empty format will hide the module
|
||||
"format-connected": " {device_alias} connected",
|
||||
"tooltip-format": "{controller_alias}\t{controller_address}",
|
||||
"tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{device_enumerate}",
|
||||
"tooltip-format-enumerate-connected": "{device_alias}\t{device_address}"
|
||||
},
|
||||
|
||||
"pulseaudio": {
|
||||
"scroll-step": 1,
|
||||
"format": "{volume}% {icon}",
|
||||
"format-bluetooth": "{volume}% {icon} ",
|
||||
"format-bluetooth-muted": " {icon} ",
|
||||
"format-muted": "",
|
||||
"format-source": "",
|
||||
"format-source-muted": "",
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"default": ["", "", ""]
|
||||
},
|
||||
"on-click": "pkill pulsemixer; foot -e pulsemixer"
|
||||
}
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
@define-color background #2e3440;
|
||||
@define-color foreground #eceff4;
|
||||
@define-color white #e5e9f0;
|
||||
@define-color black #3b4252;
|
||||
@define-color red #bf616a;
|
||||
@define-color blue #88c0d0;
|
||||
@define-color green #a3be8c;
|
||||
@define-color yellow #ebcb8b;
|
||||
@define-color magenta #b48ead;
|
||||
@define-color cyan #88c0d0;
|
||||
@define-color orange #d08770;
|
|
@ -1,75 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
get_icon() {
|
||||
case $1 in
|
||||
# Icons for weather-icons
|
||||
01d) icon="";;
|
||||
01n) icon="";;
|
||||
02d) icon="";;
|
||||
02n) icon="";;
|
||||
03*) icon="";;
|
||||
04*) icon="";;
|
||||
09d) icon="";;
|
||||
09n) icon="";;
|
||||
10d) icon="";;
|
||||
10n) icon="";;
|
||||
11d) icon="";;
|
||||
11n) icon="";;
|
||||
13d) icon="";;
|
||||
13n) icon="";;
|
||||
50d) icon="";;
|
||||
50n) icon="";;
|
||||
*) icon="";
|
||||
|
||||
# Icons for Font Awesome 5 Pro
|
||||
#01d) icon="";;
|
||||
#01n) icon="";;
|
||||
#02d) icon="";;
|
||||
#02n) icon="";;
|
||||
#03d) icon="";;
|
||||
#03n) icon="";;
|
||||
#04*) icon="";;
|
||||
#09*) icon="";;
|
||||
#10d) icon="";;
|
||||
#10n) icon="";;
|
||||
#11*) icon="";;
|
||||
#13*) icon="";;
|
||||
#50*) icon="";;
|
||||
#*) icon="";
|
||||
esac
|
||||
|
||||
echo $icon
|
||||
}
|
||||
|
||||
KEY="e434b5435a979de6e155570590bee89b"
|
||||
CITY="Novosibirsk"
|
||||
UNITS="metric"
|
||||
SYMBOL="°"
|
||||
|
||||
API="https://api.openweathermap.org/data/2.5"
|
||||
|
||||
if [ -n "$CITY" ]; then
|
||||
if [ "$CITY" -eq "$CITY" ] 2>/dev/null; then
|
||||
CITY_PARAM="id=$CITY"
|
||||
else
|
||||
CITY_PARAM="q=$CITY"
|
||||
fi
|
||||
|
||||
weather=$(curl -sf "$API/weather?appid=$KEY&$CITY_PARAM&units=$UNITS")
|
||||
else
|
||||
location=$(curl -sf https://location.services.mozilla.com/v1/geolocate?key=geoclue)
|
||||
|
||||
if [ -n "$location" ]; then
|
||||
location_lat="$(echo "$location" | jq '.location.lat')"
|
||||
location_lon="$(echo "$location" | jq '.location.lng')"
|
||||
|
||||
weather=$(curl -sf "$API/weather?appid=$KEY&lat=$location_lat&lon=$location_lon&units=$UNITS")
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -n "$weather" ]; then
|
||||
weather_temp=$(echo "$weather" | jq ".main.temp" | cut -d "." -f 1)
|
||||
weather_icon=$(echo "$weather" | jq -r ".weather[0].icon")
|
||||
|
||||
echo "$(get_icon "$weather_icon")" "$weather_temp$SYMBOL"
|
||||
fi
|
|
@ -1,194 +0,0 @@
|
|||
* {
|
||||
/* `otf-font-awesome` is required to be installed for icons */
|
||||
font-family: FontAwesome, JetBrainsMono, sans-serif;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
@import "./nord.css";
|
||||
|
||||
window#waybar {
|
||||
background-color: rgba(43, 48, 59, 0.0);
|
||||
color: @foreground;
|
||||
transition-property: background-color;
|
||||
transition-duration: .5s;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.modules-left > widget:first-child > #workspaces {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.modules-right > widget:last-child > #workspaces {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
|
||||
button {
|
||||
margin: 0;
|
||||
padding: 10px;
|
||||
background-color: @background;
|
||||
color: #d8dee8;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
button:hover {
|
||||
margin: 0;
|
||||
padding: 10px;
|
||||
background-color: @background;
|
||||
color: #d8dee8;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
button:focus {
|
||||
margin: 0;
|
||||
padding: 10px;
|
||||
background-color: @background;
|
||||
color: #d8dee8;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
|
||||
#workspaces {
|
||||
padding: 0 15px 0 15px;
|
||||
margin: 5px 0 5px 0;
|
||||
background-color: @background;
|
||||
color: @white;
|
||||
border-radius: 14px;
|
||||
/* margin: 0; */
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
padding: 0 5px;
|
||||
margin: 5px;
|
||||
/* background-color: ; */
|
||||
color: #444b6a;
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
color: @background;
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
background-color: @background;
|
||||
color: @white;
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
background-color: #eb4d4b;
|
||||
}
|
||||
|
||||
|
||||
#tray {
|
||||
padding: 7px;
|
||||
margin: 5px 0 5px 0;
|
||||
background-color: @background;
|
||||
color: #d8dee8;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
#tray > .passive {
|
||||
-gtk-icon-effect: dim;
|
||||
}
|
||||
|
||||
#tray > .needs-attention {
|
||||
-gtk-icon-effect: highlight;
|
||||
}
|
||||
|
||||
|
||||
#custom-cmus {
|
||||
padding: 0 15px 0 15px;
|
||||
margin: 5px 0 5px 0;
|
||||
background-color: @background;
|
||||
color: #b9f27c;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
|
||||
#window {
|
||||
padding: 0 15px 0 15px;
|
||||
margin: 5px 0 5px 0;
|
||||
background-color: @background;
|
||||
color: @white;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
|
||||
#clock {
|
||||
padding: 0 15px 0 15px;
|
||||
margin: 5px 0 5px 0;
|
||||
background-color: @background;
|
||||
color: @white;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
|
||||
#mode,
|
||||
#custom-weather {
|
||||
padding: 0 15px 0 15px;
|
||||
margin: 5px 0 5px 0;
|
||||
background-color: @background;
|
||||
color: #d8dee8;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
@keyframes blink {
|
||||
to {
|
||||
background-color: #ffffff;
|
||||
color: #000000;
|
||||
}
|
||||
}
|
||||
|
||||
label:focus {
|
||||
background-color: #ffffff;
|
||||
}
|
||||
|
||||
#custom-language {
|
||||
background-color: @background;
|
||||
padding: 0 15px 0 15px;
|
||||
margin: 5px 0 5px 0;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
|
||||
#pulseaudio {
|
||||
background-color: @background;
|
||||
padding: 0 15px 0 15px;
|
||||
margin: 5px 0 5px 0;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
#bluetooth {
|
||||
background-color: @background;
|
||||
padding: 0 15px 0 15px;
|
||||
margin: 5px 0 5px 0;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
#battery {
|
||||
padding: 0 15px 0 15px;
|
||||
margin: 5px 0 5px 0;
|
||||
border-radius: 8px;
|
||||
color: @blue;
|
||||
background: @background;
|
||||
}
|
||||
|
||||
#battery.charging, #battery.plugged {
|
||||
color: @green;
|
||||
background-color: @background;
|
||||
}
|
||||
|
||||
#battery.warning:not(.charging) {
|
||||
background-color: @background;
|
||||
color: @orange;
|
||||
}
|
||||
|
||||
#battery.critical:not(.charging) {
|
||||
background-color: @barkground;
|
||||
color: @red;
|
||||
animation-name: blink;
|
||||
animation-duration: 0.5s;
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
}
|
|
@ -1,18 +0,0 @@
|
|||
<div align="center">
|
||||
|
||||
### Rice
|
||||
|
||||
![Nord Rice](rice.png)
|
||||
|
||||
</div>
|
||||
|
||||
# Setup
|
||||
- **wm** [**`hyprland`**](https://github.com/fakeowl1/dotfiles/Themes/Nord/tree/main/.config/hypr)
|
||||
- **terminal** [**`foot`**](https://github.com/fakeowl1/dotfiles/Themes/Nord/tree/main/.config/foot)
|
||||
- **editor** [**`neovim`**](https://github.com/fakeowl1/dotfiles/Themes/Nord/tree/main/.config/nvim)
|
||||
- **status bar** [**`waybar`**](https://github.com/fakeowl1/dotfiles/Themes/Nord/tree/main/.config/waybar)
|
||||
- **launcher** [**`wofi`**](https://github.com/fakeowl1/dotfiles/Themes/Nord/tree/main/.config/wofi)
|
||||
- **shell** [**`fish`**](https://github.com/fakeowl1/dotfiles/Themes/Nord/tree/main/.config/fish)
|
||||
- **notifications** [**`dunst`**](https://github.com/fakeowl1/dotfiles/Themes/Nord/tree/main/.config/dunst)
|
||||
- [**`shell scripts`**](https://github.com/fakeowl1/dotfiles/Themes/Nord/tree/main/.config/scripts)
|
||||
- [**`user systemd units`**](https://github.com/fakeowl1/dotfiles/Themes/Nord/tree/main/.config/systemd/user)
|
Before Width: | Height: | Size: 623 KiB |