Compare commits

..

1 Commits

Author SHA1 Message Date
d8fec1d664 Test for learning 2025-09-30 21:49:46 +02:00
53 changed files with 88 additions and 4038 deletions

9
.gitignore vendored
View File

@@ -1,8 +1,3 @@
# Ignore the yazi packages and only store the commit in the dotfiles # Ignore the yazi packages and only store the commit in the dotfiles
cli/dot-config/yazi/flavors /cli/dot-config/yazi/flavors
cli/dot-config/yazi/plugins /cli/dot-config/yazi/plugins
cli/dot-config/weechat/sec.conf
# No database
home/dot-newsboat/cache.db
home/dot-newsboat/cache.db.lock

View File

@@ -5,7 +5,3 @@ When there are conflicts the resolve script can be used with care. It can be use
When `stow` is run with the dotfiles flag then the prefix is parsed and replaced. Be careful that there still exist dotfiles in this repo. When `stow` is run with the dotfiles flag then the prefix is parsed and replaced. Be careful that there still exist dotfiles in this repo.
Be sure to only use the `stow.sh` wrapper scripts as this sets some defaults. Be sure to only use the `stow.sh` wrapper scripts as this sets some defaults.
## Additional
Setup `rlone` host `Strato` for the automatic webdav mounting to work. This is automatically done when using hyprland.

12
all.sh
View File

@@ -1,12 +0,0 @@
#!/bin/sh
git add .
git commit -a -m "AutoSave - For reset"
# Possibly with adoptation
bash stow.sh cli
bash stow.sh gui
bash stow.sh home
# Reset to the last autosave
#git reset --hard HEAD

View File

@@ -1,889 +0,0 @@
#
# aerc main configuration
[general]
#
# Used as a default path for save operations if no other path is specified.
# ~ is expanded to the current user home dir.
#
#default-save-path=
# If set to "gpg", aerc will use system gpg binary and keystore for all crypto
# operations. If set to "internal", the internal openpgp keyring will be used.
# If set to "auto", the system gpg will be preferred unless the internal
# keyring already exists, in which case the latter will be used.
#
# Default: auto
#pgp-provider=auto
# By default, the file permissions of accounts.conf must be restrictive and
# only allow reading by the file owner (0600). Set this option to true to
# ignore this permission check. Use this with care as it may expose your
# credentials.
#
# Default: false
#unsafe-accounts-conf=false
# Output log messages to specified file. A path starting with ~/ is expanded to
# the user home dir. When redirecting aerc's output to a file using > shell
# redirection, this setting is ignored and log messages are printed to stdout.
#
#log-file=
# Only log messages above the specified level to log-file. Supported levels
# are: trace, debug, info, warn and error. When redirecting aerc's output to
# a file using > shell redirection, this setting is ignored and the log level
# is forced to trace.
#
# Default: info
#log-level=info
# Disable IPC entirely. Don't run commands (including mailto:... and mbox:...)
# in an existing aerc instance, and don't start an IPC server to allow
# subsequent aerc instances to run commands in the current one.
#
# Default: false
#disable-ipc=false
# Don't run mailto:... commands over IPC; start a new aerc instance with the
# composer instead.
#
# Default: false
#disable-ipc-mailto=false
#
# Don't run mbox:... commands over IPC; start a new aerc instance with the mbox
# file instead.
#
# Default: false
#disable-ipc-mbox=false
# Set the $TERM environment variable used for the embedded terminal.
#
# Default: xterm-256color
#term=xterm-256color
# Display OSC8 strings in the embedded terminal
#
# Default: false
#enable-osc8=false
# Default shell command to use for :menu. This will be executed with sh -c and
# will run in an popover dialog.
#
# Any occurrence of %f will be replaced by a temporary file path where the
# command is expected to write output lines to be consumed by :menu. Otherwise,
# the lines will be read from the command's standard output.
#
# Examples:
# default-menu-cmd=fzf
# default-menu-cmd=fzf --multi
# default-menu-cmd=dmenu -l 20
# default-menu-cmd=ranger --choosefiles=%f
#
#default-menu-cmd=
[ui]
#
# Describes the format for each row in a mailbox view. This is a comma
# separated list of column names with an optional align and width suffix. After
# the column name, one of the '<' (left), ':' (center) or '>' (right) alignment
# characters can be added (by default, left) followed by an optional width
# specifier. The width is either an integer representing a fixed number of
# characters, or a percentage between 1% and 99% representing a fraction of the
# terminal width. It can also be one of the '*' (auto) or '=' (fit) special
# width specifiers. Auto width columns will be equally attributed the remaining
# terminal width. Fit width columns take the width of their contents. If no
# width specifier is set, '*' is used by default.
#
# Default: flags:4,name<20%,subject,date>=
#index-columns=flags:4,name<20%,subject,date>=
#
# Each name in index-columns must have a corresponding column-$name setting.
# All column-$name settings accept golang text/template syntax. See
# aerc-templates(7) for available template attributes and functions.
#
# Here are some examples to show the To field instead of the From field for
# an email (modifying column-name):
#
# 1. a generic one
# column-name={{ .Peer | names | join ", " }}
# 2. based upon the selected folder
# column-name={{if match .Folder "^(Gesendet|Sent)$"}}{{index (.To | names) 0}}{{else}}{{index (.From | names) 0}}{{end}}
#
# Default settings
#column-flags={{.Flags | join ""}}
#column-name={{index (.From | names) 0}}
#column-subject={{.ThreadPrefix}}{{.Subject}}
#column-date={{.DateAutoFormat .Date.Local}}
#
# String separator inserted between columns. When the column width specifier is
# an exact number of characters, the separator is added to it (i.e. the exact
# width will be fully available for the column contents).
#
# Default: " "
#column-separator=" "
#
# See time.Time#Format at https://godoc.org/time#Time.Format
#
# Default: 2006 Jan 02
#timestamp-format=2006 Jan 02
#
# Index-only time format for messages that were received/sent today.
# If this is empty, timestamp-format is used instead.
#
# Default: 15:04
#this-day-time-format=15:04
#
# Index-only time format for messages that were received/sent within the last
# 7 days. If this is empty, timestamp-format is used instead.
#
# Default: Jan 02
#this-week-time-format=Jan 02
#
# Index-only time format for messages that were received/sent this year.
# If this is empty, timestamp-format is used instead.
#
#Default: Jan 02
#this-year-time-format=Jan 02
#
# Overrides timestamp-format for the message view.
#
# Default: 2006 Jan 02, 15:04 GMT-0700
#message-view-timestamp-format=2006 Jan 02, 15:04 GMT-0700
#
# If set, overrides timestamp-format in the message view for messages
# that were received/sent today.
#
#message-view-this-day-time-format=
# If set, overrides timestamp-format in the message view for messages
# that were received/sent within the last 7 days.
#
#message-view-this-week-time-format=
#
# If set, overrides *timestamp-format* in the message view for messages
# that were received/sent this year.
#
#message-view-this-year-time-format=
#
# Width of the sidebar, including the border.
#
# Default: 22
#sidebar-width=22
#
# Default split layout for message list tabs. The syntax is:
#
# [<direction>] <size>
#
# <direction> is optional and defaults to horizontal. It can take one
# of the following values: h, horiz, horizontal, v, vert, vertical.
#
# <size> is a positive integer representing the size (in terminal cells)
# of the message list window.
#
#message-list-split=
#
# Message to display when viewing an empty folder.
#
# Default: (no messages)
#empty-message=(no messages)
# Message to display when no folders exists or are all filtered
#
# Default: (no folders)
#empty-dirlist=(no folders)
#
# Value to set {{.Subject}} template to when subject is empty.
#
# Default: (no subject)
#empty-subject=(no subject)
# Enable mouse events in the ui, e.g. clicking and scrolling with the mousewheel
#
# Default: false
#mouse-enabled=false
#
# Ring the bell when new messages are received
#
# Default: true
#new-message-bell=true
#
# Template to use for Account tab titles
#
# Default: {{.Account}}
#tab-title-account={{.Account}}
#
# Template to use for Composer tab titles
#
# Default: {{if .To}}to:{{index (.To | shortmboxes) 0}} {{end}}{{.SubjectBase}}
#tab-title-composer={{if .To}}to:{{index (.To | shortmboxes) 0}} {{end}}{{.SubjectBase}}
#
# Template to use for Terminal tab titles. Only valid in the global [ui]
# section.
#
# Default: {{.Title}}
#tab-title-terminal={{.Title}}
#
# Template to use for Message Viewer tab titles
#
# Default: {{.Subject}}
#tab-title-viewer={{.Subject}}
# Marker to show before a pinned tab's name.
#
# Default: `
#pinned-tab-marker='`'
# Template for the left side of the directory list.
# See aerc-templates(7) for all available fields and functions.
#
# Default: {{.Folder}}
#dirlist-left={{.Folder}}
# Template for the right side of the directory list.
# See aerc-templates(7) for all available fields and functions.
#
# Default: {{if .Unread}}{{humanReadable .Unread}}{{end}}
#dirlist-right={{if .Unread}}{{humanReadable .Unread}}{{end}}
# Delay after which the messages are actually listed when entering a directory.
# This avoids loading messages when skipping over folders and makes the UI more
# responsive. If you do not want that, set it to 0s.
#
# Default: 200ms
#dirlist-delay=200ms
# Display the directory list as a foldable tree that allows to collapse and
# expand the folders.
#
# Default: false
#dirlist-tree=false
# If dirlist-tree is enabled, set level at which folders are collapsed by
# default. Set to 0 to disable.
#
# Default: 0
#dirlist-collapse=0
# List of space-separated criteria to sort the messages by, see *sort*
# command in *aerc*(1) for reference. Prefixing a criterion with "-r "
# reverses that criterion.
#
# Example: "from -r date"
#
#sort=
# Moves to next message when the current message is deleted
#
# Default: true
#next-message-on-delete=true
# Automatically set the "seen" flag when a message is opened in the message
# viewer.
#
# Default: true
#auto-mark-read=true
# Specifies whether the _seen_ flag of messages being previewed in the message
# list split should be automatically set to _true_ after a delay, controlled by
# _auto-mark-read-split-delay_.
#
# Default: false
#auto-mark-read-split=false
# If _auto-mark-read-split_ is true, specifies the number of seconds after
# which a message previewed in the message list split must considered _seen_.
#
# Default: 3s
#auto-mark-read-split-delay=3s
# The directories where the stylesets are stored. It takes a colon-separated
# list of directories. If this is unset or if a styleset cannot be found, the
# following paths will be used as a fallback in that order:
#
# ${XDG_CONFIG_HOME:-~/.config}/aerc/stylesets
# ${XDG_DATA_HOME:-~/.local/share}/aerc/stylesets
# /nix/store/sz64qbk1cks6gmmq5k9zjx9ps6cf369w-aerc-0.21.0/share/aerc/stylesets
#
#stylesets-dirs=
# Uncomment to use box-drawing characters for vertical and horizontal borders.
#
# Default: "│" and "─"
#border-char-vertical="│"
#border-char-horizontal="─"
# Sets the styleset to use for the aerc ui elements.
#
# Default: default
#styleset-name=default
# Activates fuzzy search in commands and their arguments: the typed string is
# searched in the command or option in any position, and need not be
# consecutive characters in the command or option.
#
# Default: false
#fuzzy-complete=false
# How long to wait after the last input before auto-completion is triggered.
#
# Default: 250ms
#completion-delay=250ms
# The minimum required characters to allow auto-completion to be triggered after
# completion-delay.
#
# Setting this to "manual" disables automatic completion, leaving only the
# manually triggered completion with the $complete key (see aerc-binds(5) for
# more details).
#
# Default: 1
#completion-min-chars=1
#
# Global switch for completion popovers
#
# Default: true
#completion-popovers=true
# Uncomment to use UTF-8 symbols to indicate PGP status of messages
#
# Default: ASCII
#icon-unencrypted=
#icon-encrypted=✔
#icon-signed=✔
#icon-signed-encrypted=✔
#icon-unknown=✘
#icon-invalid=⚠
# Reverses the order of the message list. By default, the message list is
# ordered with the newest (highest UID) message on top. Reversing the order
# will put the oldest (lowest UID) message on top. This can be useful in cases
# where the backend does not support sorting.
#
# Default: false
#reverse-msglist-order = false
# Reverse display of the message threads. Default order is the initial
# message is on the top with all the replies being displayed below. The
# reverse option will put the initial message at the bottom with the
# replies on top.
#
# Default: false
#reverse-thread-order=false
# Positions the cursor on the last message in the message list (at the
# bottom of the view) when opening a new folder.
#
# Default: false
#select-last-message=false
# Sort the thread siblings according to the sort criteria for the messages. If
# sort-thread-siblings is false, the thread siblings will be sorted based on
# the message UID in ascending order. If this option is set to false and
# threading-by-subject is set to true, then siblings will be ordered by subject
# headers using UTF-8 sorting.
#
# This option is only applicable for client-side threading with a backend that
# enables sorting. Note that there's a performance impact when sorting is
# activated.
#
# Default: false
#sort-thread-siblings=false
# Set the scroll offset in number of lines from the top and bottom of the
# message list.
#
# Default: 0
#msglist-scroll-offset = 0
#
# Enable a threaded view of messages. If this is not supported by the backend
# (IMAP server or notmuch), threads will be built by the client.
#
# Default: false
#threading-enabled=false
# Force client-side thread building
#
# Default: false
#force-client-threads=false
# If no References nor In-Reply-To headers can be matched to build client side
# threads, fallback to similar subjects. This setting also affects how thread
# siblings are ordered when sort-thread-siblings is left to false.
#
# Default: false
#threading-by-subject=false
# Show thread context enables messages which do not match the current query (or
# belong to the current mailbox) to be shown for context. These messages can be
# styled separately using "msglist_thread_context" in a styleset. This feature
# is not supported by all backends
#
# Default: false
#show-thread-context=false
# Debounce client-side thread building
#
# Default: 50ms
#client-threads-delay=50ms
#
# Thread prefix customization:
#
# Customize the thread prefix appearance by selecting the arrow head.
#
# Default: ">"
#thread-prefix-tip = ">"
#
# Customize the thread prefix appearance by selecting the arrow indentation.
#
# Default: " "
#thread-prefix-indent = " "
#
# Customize the thread prefix appearance by selecting the vertical extension of
# the arrow.
#
# Default: "│"
#thread-prefix-stem = "│"
#
# Customize the thread prefix appearance by selecting the horizontal extension
# of the arrow.
#
# Default: ""
#thread-prefix-limb = ""
#
# Customize the thread prefix appearance by selecting the folded thread
# indicator.
#
# Default: "+"
#thread-prefix-folded = "+"
#
# Customize the thread prefix appearance by selecting the unfolded thread
# indicator.
#
# Default: ""
#thread-prefix-unfolded = ""
#
# Customize the thread prefix appearance by selecting the first child connector.
#
# Default: ""
#thread-prefix-first-child = ""
#
# Customize the thread prefix appearance by selecting the connector used if
# the message has siblings.
#
# Default: "├─"
#thread-prefix-has-siblings = "├─"
#
# Customize the thread prefix appearance by selecting the connector used if the
# message has no parents and no children.
#
# Default: ""
#thread-prefix-lone = ""
#
# Customize the thread prefix appearance by selecting the connector used if the
# message has no parents and has children.
#
# Default: ""
#thread-prefix-orphan = ""
#
# Customize the thread prefix appearance by selecting the connector for the last
# sibling.
#
# Default: "└─"
#thread-prefix-last-sibling = "└─"
#
# Customize the reversed thread prefix appearance by selecting the connector for
# the last sibling.
#
# Default: "┌─"
#thread-prefix-last-sibling-reverse = "┌─"
#
# Customize the thread prefix appearance by selecting the connector for dummy
# thread.
#
# Default: "┬─"
#thread-prefix-dummy = "┬─"
#
# Customize the reversed thread prefix appearance by selecting the connector for
# dummy thread.
#
# Default: "┴─"
#thread-prefix-dummy-reverse = "┴─"
#
# Customize the reversed thread prefix appearance by selecting the first child
# connector.
#
# Default: ""
#thread-prefix-first-child-reverse = ""
#
# Customize the reversed thread prefix appearance by selecting the connector
# used if the message has no parents and has children.
#
# Default: ""
#thread-prefix-orphan-reverse = ""
[statusline]
#
# Describes the format for the status line. This is a comma separated list of
# column names with an optional align and width suffix. See [ui].index-columns
# for more details. To completely mute the status line except for push
# notifications, explicitly set status-columns to an empty string.
#
# Default: left<*,center:=,right>*
#status-columns=left<*,center:=,right>*
#
# Each name in status-columns must have a corresponding column-$name setting.
# All column-$name settings accept golang text/template syntax. See
# aerc-templates(7) for available template attributes and functions.
#
# Default settings
#column-left=[{{.Account}}] {{.StatusInfo}}
#column-center={{.PendingKeys}}
#column-right={{.TrayInfo}} | {{cwd}}
#
# String separator inserted between columns.
# See [ui].column-separator for more details.
#
#column-separator=" "
# Specifies the separator between grouped statusline elements.
#
# Default: " | "
#separator=" | "
# Defines the mode for displaying the status elements.
# Options: text, icon
#
# Default: text
#display-mode=text
[viewer]
#
# Specifies the pager to use when displaying emails. Note that some filters
# may add ANSI codes to add color to rendered emails, so you may want to use a
# pager which supports ANSI codes.
#
# Default: less -Rc
#pager=less -Rc
#
# If an email offers several versions (multipart), you can configure which
# mimetype to prefer. For example, this can be used to prefer plaintext over
# html emails.
#
# Default: text/plain,text/html
#alternatives=text/plain,text/html
#
# Default setting to determine whether to show full headers or only parsed
# ones in message viewer.
#
# Default: false
#show-headers=false
#
# Layout of headers when viewing a message. To display multiple headers in the
# same row, separate them with a pipe, e.g. "From|To". Rows will be hidden if
# none of their specified headers are present in the message.
#
# Default: From|To,Cc|Bcc,Date,Subject
#header-layout=From|To,Cc|Bcc,Date,Subject
# Whether to always show the mimetype of an email, even when it is just a single part
#
# Default: false
#always-show-mime=false
# Define the maximum height of the mimetype switcher before a scrollbar is used.
# The height of the mimetype switcher is restricted to half of the display
# height. If the provided value for the height is zero, the number of parts will
# be used as the height of the type switcher.
#
# Default: 0
#max-mime-height = 0
# Parses and extracts http links when viewing a message. Links can then be
# accessed with the open-link command.
#
# Default: true
#parse-http-links=true
[compose]
#
# Specifies the command to run the editor with. It will be shown in an embedded
# terminal, though it may also launch a graphical window if the environment
# supports it. Defaults to $EDITOR, or vi.
#editor=
#
# When set, aerc will create and read .eml files for composing that have
# non-standard \n linebreaks. This is only relevant if the used editor does not
# support CRLF linebreaks.
#
#lf-editor=false
#
# Default header fields to display when composing a message. To display
# multiple headers in the same row, separate them with a pipe, e.g. "To|From".
#
# Default: To|From,Subject
#header-layout=To|From,Subject
#
# Edit headers into the text editor instead than separate fields.
#
# When this is true, address-book-cmd is not supported and address completion
# is left to the editor itself. Also, displaying multiple headers on the same
# line is not possible.
#
# Default: false
#edit-headers=false
#
# Sets focus to the email body when the composer window opens.
#
# Default: false
#focus-body=false
#
# Specifies the command to be used to tab-complete email addresses. Any
# occurrence of "%s" in the address-book-cmd will be replaced with what the
# user has typed so far.
#
# The command must output the completions to standard output, one completion
# per line. Each line must be tab-delimited, with an email address occurring as
# the first field. Only the email address field is required. The second field,
# if present, will be treated as the contact name. Additional fields are
# ignored.
#
# This parameter can also be set per account in accounts.conf.
#address-book-cmd=
# Specifies the command to be used to select attachments. Any occurrence of
# '%s' in the file-picker-cmd will be replaced with the argument <arg>
# to :attach -m <arg>. Any occurrence of '%f' will be replaced by the
# location of a temporary file, from which aerc will read the selected files.
#
# If '%f' is not present, the command must output the selected files to
# standard output, one file per line. If it is present, then aerc does not
# capture the standard output and instead reads the files from the temporary
# file which should have the same format.
#file-picker-cmd=
#
# Allow to address yourself when replying
#
# Default: true
#reply-to-self=true
# Warn before sending an email with an empty subject.
#
# Default: false
#empty-subject-warning=false
#
# Warn before sending an email that matches the specified regexp but does not
# have any attachments. Leave empty to disable this feature.
#
# Uses Go's regexp syntax, documented at https://golang.org/s/re2syntax. The
# "(?im)" flags are set by default (case-insensitive and multi-line).
#
# Example:
# no-attachment-warning=^[^>]*attach(ed|ment)
#
#no-attachment-warning=
#
# When set, aerc will generate "format=flowed" bodies with a content type of
# "text/plain; format=flowed" as described in RFC3676. This format is easier to
# handle for some mailing software, and generally just looks like ordinary
# text. To actually make use of this format's features, you'll need support in
# your editor.
#
#format-flowed=false
[multipart-converters]
#
# Converters allow to generate multipart/alternative messages by converting the
# main text/plain part into any other MIME type. Only exact MIME types are
# accepted. The commands are invoked with sh -c and are expected to output
# valid UTF-8 text.
#
# Example (obviously, this requires that you write your main text/plain body
# using the markdown syntax):
#text/html=pandoc -f markdown -t html --standalone
[filters]
#
# Filters allow you to pipe an email body through a shell command to render
# certain emails differently, e.g. highlighting them with ANSI escape codes.
#
# The commands are invoked with sh -c. The following folders are prepended to
# the system $PATH to allow referencing filters from their name only:
#
# ${XDG_CONFIG_HOME:-~/.config}/aerc/filters
# ~/.local/libexec/aerc/filters
# ${XDG_DATA_HOME:-~/.local/share}/aerc/filters
# $PREFIX/libexec/aerc/filters
# $PREFIX/share/aerc/filters
# /nix/store/sz64qbk1cks6gmmq5k9zjx9ps6cf369w-aerc-0.21.0/libexec/aerc/filters
# /nix/store/sz64qbk1cks6gmmq5k9zjx9ps6cf369w-aerc-0.21.0/share/aerc/filters
#
# If you want to run a program in your default $PATH which has the same name
# as a builtin filter (e.g. /usr/bin/colorize), use its absolute path.
#
# The following variables are defined in the filter command environment:
#
# AERC_MIME_TYPE the part MIME type/subtype
# AERC_FORMAT the part content type format= parameter
# AERC_FILENAME the attachment filename (if any)
# AERC_SUBJECT the message Subject header value
# AERC_FROM the message From header value
#
# The first filter which matches the email's mimetype will be used, so order
# them from most to least specific.
#
# You can also match on non-mimetypes, by prefixing with the header to match
# against (non-case-sensitive) and a comma, e.g. subject,text will match a
# subject which contains "text". Use header,~regex to match against a regex.
#
text/plain=colorize
text/calendar=calendar
message/delivery-status=colorize
message/rfc822=colorize
#text/html=pandoc -f html -t plain | colorize
text/html=! html
#text/html=! w3m -T text/html -I UTF-8
#text/*=bat -fP --file-name="$AERC_FILENAME"
#application/x-sh=bat -fP -l sh
#image/*=catimg -w $(tput cols) -
#subject,~Git(hub|lab)=lolcat -f
#from,thatguywhodoesnothardwraphismessages=wrap -w 100 | colorize
# This special filter is only used to post-process email headers when
# [viewer].show-headers=true
# By default, headers are piped directly into the pager.
#
.headers=colorize
[openers]
#
# Openers allow you to specify the command to use for the :open and :open-link
# actions on a per-MIME-type basis. The :open-link URL scheme is used to
# determine the MIME type as follows: x-scheme-handler/<scheme>.
#
# {} is expanded as the temporary filename or URL to be opened with proper
# shell quoting. If it is not encountered in the command, the filename/URL will
# be appended to the end of the command. The command will then be executed with
# `sh -c`.
#
# Like [filters], openers support basic shell globbing. The first opener which
# matches the part's MIME type (or URL scheme handler MIME type) will be used,
# so order them from most to least specific.
#
# Examples:
# x-scheme-handler/irc=hexchat
# x-scheme-handler/http*=printf '%s' {} | wl-copy
# text/html=surf -dfgms
# text/plain=gvim {} +125
# message/rfc822=thunderbird
[hooks]
#
# Hooks are triggered whenever the associated event occurs.
#
# Executed when a new email arrives in the selected folder
#mail-received=notify-send "[$AERC_ACCOUNT/$AERC_FOLDER] New mail from $AERC_FROM_NAME" "$AERC_SUBJECT"
#
# Executed when mail is deleted from a folder
#mail-deleted=mbsync "$AERC_ACCOUNT:$AERC_FOLDER" &
#
# Executed when aerc adds mail to a folder
#mail-added=mbsync "$AERC_ACCOUNT:$AERC_FOLDER" &
#
# Executed when aerc starts
#aerc-startup=aerc :terminal calcurse && aerc :next-tab
#
# Executed when aerc shuts down.
#aerc-shutdown=
#
# Executed when notmuch tags are modified.
#tag-modified=
#
# Executed when flags are changed on a message.
#flag-changed=mbsync "$AERC_ACCOUNT:$AERC_FOLDER" &
[templates]
# Templates are used to populate email bodies automatically.
#
# The directories where the templates are stored. It takes a colon-separated
# list of directories. If this is unset or if a template cannot be found, the
# following paths will be used as a fallback in that order:
#
# ${XDG_CONFIG_HOME:-~/.config}/aerc/templates
# ${XDG_DATA_HOME:-~/.local/share}/aerc/templates
# /nix/store/sz64qbk1cks6gmmq5k9zjx9ps6cf369w-aerc-0.21.0/share/aerc/templates
#
#template-dirs=
# The default template to be used for new messages.
#
# default: new_message
#new-message=new_message
# The default template to be used for quoted replies.
#
# default: quoted_reply
#quoted-reply=quoted_reply
# The default template to be used for forward as body.
#
# default: forward_as_body
#forwards=forward_as_body

View File

@@ -1,199 +0,0 @@
# Binds are of the form <key sequence> = <command to run>
# To use '=' in a key sequence, substitute it with "Eq": "<Ctrl+Eq>"
# If you wish to bind #, you can wrap the key sequence in quotes: "#" = quit
<C-p> = :prev-tab<Enter>
<C-PgUp> = :prev-tab<Enter>
<C-n> = :next-tab<Enter>
<C-PgDn> = :next-tab<Enter>
\[t = :prev-tab<Enter>
\]t = :next-tab<Enter>
<C-t> = :term<Enter>
? = :help keys<Enter>
<C-c> = :prompt 'Quit?' quit<Enter>
<C-q> = :prompt 'Quit?' quit<Enter>
<C-z> = :suspend<Enter>
[messages]
q = :prompt 'Quit?' quit<Enter>
# Some useful git stuff
ga = :flag<Enter>:pipe -mb git am -3<Enter>
gb = :term git am --abort<Enter>
gs = :term git am --show-current-patch=diff<Enter>
gl = :term git log<Enter>
# Reload
rl = :reload<Enter>
lf = :flag<Enter>
lu = :unflag<Enter>
j = :next<Enter>
<Down> = :next<Enter>
<C-d> = :next 50%<Enter>
<C-f> = :next 100%<Enter>
<PgDn> = :next 100%<Enter>
k = :prev<Enter>
<Up> = :prev<Enter>
<C-u> = :prev 50%<Enter>
<C-b> = :prev 100%<Enter>
<PgUp> = :prev 100%<Enter>
gg = :select 0<Enter>
G = :select -1<Enter>
J = :next-folder<Enter>
<C-Down> = :next-folder<Enter>
K = :prev-folder<Enter>
<C-Up> = :prev-folder<Enter>
H = :collapse-folder<Enter>
<C-Left> = :collapse-folder<Enter>
L = :expand-folder<Enter>
<C-Right> = :expand-folder<Enter>
v = :mark -t<Enter>
<Space> = :mark -t<Enter>:next<Enter>
V = :mark -v<Enter>
T = :toggle-threads<Enter>
zc = :fold<Enter>
zo = :unfold<Enter>
za = :fold -t<Enter>
zM = :fold -a<Enter>
zR = :unfold -a<Enter>
<tab> = :fold -t<Enter>
zz = :align center<Enter>
zt = :align top<Enter>
zb = :align bottom<Enter>
<Enter> = :view<Enter>
d = :choose -o y 'Really delete this message' delete-message<Enter>
D = :delete<Enter>
a = :archive flat<Enter>
A = :unmark -a<Enter>:mark -T<Enter>:archive flat<Enter>
C = :compose<Enter>
m = :compose<Enter>
b = :bounce<space>
rr = :reply -a<Enter>
rq = :reply -aq<Enter>
Rr = :reply<Enter>
Rq = :reply -q<Enter>
c = :cf<space>
$ = :term<space>
! = :term<space>
| = :pipe<space>
/ = :search<space>
\ = :filter<space>
n = :next-result<Enter>
N = :prev-result<Enter>
<Esc> = :clear<Enter>
s = :split<Enter>
S = :vsplit<Enter>
pl = :patch list<Enter>
pa = :patch apply <Tab>
pd = :patch drop <Tab>
pb = :patch rebase<Enter>
pt = :patch term<Enter>
ps = :patch switch <Tab>
[messages:folder=Drafts]
<Enter> = :recall<Enter>
[view]
/ = :toggle-key-passthrough<Enter>/
q = :close<Enter>
O = :open<Enter>
o = :open<Enter>
S = :save<space>
| = :pipe<space>
D = :delete<Enter>
A = :archive flat<Enter>
<C-y> = :copy-link <space>
<C-l> = :open-link <space>
f = :forward<Enter>
rr = :reply -a<Enter>
rq = :reply -aq<Enter>
Rr = :reply<Enter>
Rq = :reply -q<Enter>
H = :toggle-headers<Enter>
<C-k> = :prev-part<Enter>
<C-Up> = :prev-part<Enter>
<C-j> = :next-part<Enter>
<C-Down> = :next-part<Enter>
J = :next<Enter>
<C-Right> = :next<Enter>
K = :prev<Enter>
<C-Left> = :prev<Enter>
[view::passthrough]
$noinherit = true
$ex = <C-x>
<Esc> = :toggle-key-passthrough<Enter>
[compose]
# Keybindings used when the embedded terminal is not selected in the compose
# view
$noinherit = true
$ex = <C-x>
$complete = <C-o>
<C-k> = :prev-field<Enter>
<C-Up> = :prev-field<Enter>
<C-j> = :next-field<Enter>
<C-Down> = :next-field<Enter>
<A-p> = :switch-account -p<Enter>
<C-Left> = :switch-account -p<Enter>
<A-n> = :switch-account -n<Enter>
<C-Right> = :switch-account -n<Enter>
<tab> = :next-field<Enter>
<backtab> = :prev-field<Enter>
<C-p> = :prev-tab<Enter>
<C-PgUp> = :prev-tab<Enter>
<C-n> = :next-tab<Enter>
<C-PgDn> = :next-tab<Enter>
[compose::editor]
# Keybindings used when the embedded terminal is selected in the compose view
$noinherit = true
$ex = <C-x>
<C-k> = :prev-field<Enter>
<C-Up> = :prev-field<Enter>
<C-j> = :next-field<Enter>
<C-Down> = :next-field<Enter>
<C-p> = :prev-tab<Enter>
<C-PgUp> = :prev-tab<Enter>
<C-n> = :next-tab<Enter>
<C-PgDn> = :next-tab<Enter>
[compose::review]
# Keybindings used when reviewing a message to be sent
# Inline comments are used as descriptions on the review screen
y = :send<Enter> # Send
n = :abort<Enter> # Abort (discard message, no confirmation)
s = :sign<Enter> # Toggle signing
x = :encrypt<Enter> # Toggle encryption to all recipients
v = :preview<Enter> # Preview message
p = :postpone<Enter> # Postpone
q = :choose -o d discard abort -o p postpone postpone<Enter> # Abort or postpone
e = :edit<Enter> # Edit (body and headers)
a = :attach<space> # Add attachment
d = :detach<space> # Remove attachment
[terminal]
$noinherit = true
$ex = <C-x>
<C-p> = :prev-tab<Enter>
<C-n> = :next-tab<Enter>
<C-PgUp> = :prev-tab<Enter>
<C-PgDn> = :next-tab<Enter>

View File

@@ -1,11 +1,11 @@
#? Config file for btop v. 1.4.5 #? Config file for btop v. 1.4.4
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes. #* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes" #* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
color_theme = "Default" color_theme = "Default"
#* If the theme set background should be shown, set to False if you want terminal background transparency. #* If the theme set background should be shown, set to False if you want terminal background transparency.
theme_background = False theme_background = True
#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false. #* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false.
truecolor = True truecolor = True
@@ -57,13 +57,13 @@ update_ms = 2000
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct", #* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly. #* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
proc_sorting = "cpu direct" proc_sorting = "cpu lazy"
#* Reverse sorting order, True or False. #* Reverse sorting order, True or False.
proc_reversed = False proc_reversed = False
#* Show processes as a tree. #* Show processes as a tree.
proc_tree = False proc_tree = True
#* Use the cpu graph colors in the process list. #* Use the cpu graph colors in the process list.
proc_colors = True proc_colors = True
@@ -115,9 +115,6 @@ cpu_bottom = False
#* Shows the system uptime in the CPU box. #* Shows the system uptime in the CPU box.
show_uptime = True show_uptime = True
#* Shows the CPU package current power consumption in watts. Requires running `make setcap` or `make setuid` or running with sudo.
show_cpu_watts = True
#* Show cpu temperature. #* Show cpu temperature.
check_temp = True check_temp = True
@@ -172,7 +169,7 @@ show_swap = True
swap_disk = True swap_disk = True
#* If mem box should be split to also show disks info. #* If mem box should be split to also show disks info.
show_disks = False show_disks = True
#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar. #* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
only_physical = True only_physical = True
@@ -190,7 +187,7 @@ disk_free_priv = False
show_io_stat = True show_io_stat = True
#* Toggles io mode for disks, showing big graphs for disk read/write speeds. #* Toggles io mode for disks, showing big graphs for disk read/write speeds.
io_mode = True io_mode = False
#* Set to True to show combined read/write io graphs in io mode. #* Set to True to show combined read/write io graphs in io mode.
io_graph_combined = False io_graph_combined = False

View File

@@ -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)"

View File

@@ -1,10 +0,0 @@
if status is-interactive
# Commands to run in interactive sessions can go here
alias helix="hx"
alias shd="shutdown now"
alias l="lazygit"
theme_gruvbox dark hard
zoxide init fish | source
end

View File

@@ -1,2 +0,0 @@
jorgebucaran/fisher
jomik/fish-gruvbox

View File

@@ -1,48 +0,0 @@
# This file contains fish universal variable definitions.
# VERSION: 3.0
SETUVAR --export EDITOR:hx
SETUVAR __fish_initialized:3800
SETUVAR _fisher_jomik_2F_fish_2D_gruvbox_files:\x7e/\x2econfig/fish/functions/theme_gruvbox\x2efish
SETUVAR _fisher_jorgebucaran_2F_fisher_files:\x7e/\x2econfig/fish/functions/fisher\x2efish\x1e\x7e/\x2econfig/fish/completions/fisher\x2efish
SETUVAR _fisher_plugins:jorgebucaran/fisher\x1ejomik/fish\x2dgruvbox
SETUVAR _fisher_upgraded_to_4_4:\x1d
SETUVAR fish_color_autosuggestion:585858
SETUVAR fish_color_cancel:\x2d\x2dreverse
SETUVAR fish_color_command:a1b56c
SETUVAR fish_color_comment:f7ca88
SETUVAR fish_color_cwd:green
SETUVAR fish_color_cwd_root:red
SETUVAR fish_color_end:ba8baf
SETUVAR fish_color_error:ab4642
SETUVAR fish_color_escape:86c1b9
SETUVAR fish_color_history_current:\x2d\x2dbold
SETUVAR fish_color_host:normal
SETUVAR fish_color_host_remote:yellow
SETUVAR fish_color_keyword:a1b56c
SETUVAR fish_color_normal:normal
SETUVAR fish_color_operator:7cafc2
SETUVAR fish_color_option:d8d8d8
SETUVAR fish_color_param:d8d8d8
SETUVAR fish_color_quote:f7ca88
SETUVAR fish_color_redirection:d8d8d8
SETUVAR fish_color_search_match:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
SETUVAR fish_color_status:red
SETUVAR fish_color_user:brgreen
SETUVAR fish_color_valid_path:\x2d\x2dunderline\x3dsingle
SETUVAR fish_greeting:\U0001f41f
SETUVAR fish_key_bindings:fish_default_key_bindings
SETUVAR fish_pager_color_background:\x1d
SETUVAR fish_pager_color_completion:normal
SETUVAR fish_pager_color_description:B3A06D
SETUVAR fish_pager_color_prefix:normal\x1e\x2d\x2dbold\x1e\x2d\x2dunderline\x3dsingle
SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dcyan
SETUVAR fish_pager_color_secondary_background:\x1d
SETUVAR fish_pager_color_secondary_completion:\x1d
SETUVAR fish_pager_color_secondary_description:\x1d
SETUVAR fish_pager_color_secondary_prefix:\x1d
SETUVAR fish_pager_color_selected_background:\x2d\x2dbackground\x3dbrblack
SETUVAR fish_pager_color_selected_completion:\x1d
SETUVAR fish_pager_color_selected_description:\x1d
SETUVAR fish_pager_color_selected_prefix:\x1d
SETUVAR fish_user_paths:/home/jonas/projects/scripts/other\x1e/home/jonas/projects/scripts\x1e/home/jonas/\x2ecargo/bin\x1e/home/jonas/\x2elocal/bin

View File

@@ -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.5
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, --version Print version"
echo " -h, --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 | string replace -- \~ ~)
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 command curl -q --silent -L \$url | command 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 -RLf $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
string replace --regex -- $HOME \~ $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

View File

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

View File

@@ -1,15 +0,0 @@
function serve --description "Start a simple HTTP server"
set port 8000
if test (count $argv) -gt 0
set port $argv[1]
end
if command -v python3 >/dev/null
python3 -m http.server $port
else if command -v python >/dev/null
python -m SimpleHTTPServer $port
else
echo "Python not found"
return 1
end
end

View File

@@ -1,141 +0,0 @@
#!/usr/bin/fish
function theme_gruvbox --description 'Apply gruvbox theme'
set -l mode 'light'
if test (count $argv) -gt 0
set mode $argv[1]
end
set -g contrast 'medium'
if test (count $argv) -gt 1
set contrast $argv[2]
end
switch $contrast
case 'soft'
case 'medium'
case 'hard'
case '*'
set_color $fish_color_error
echo 'Unknown contrast $contrast, choose soft, medium or hard'
set_color $fish_color_normal
return 1
end
switch $mode
case 'light'
__theme_gruvbox_base
__theme_gruvbox_light
case 'dark'
__theme_gruvbox_base
__theme_gruvbox_dark
case '*'
set_color $fish_color_error
echo 'Unknown mode $mode, choose light or dark'
set_color $fish_color_normal
return 1
end
__theme_gruvbox_palette
return 0
end
function __theme_gruvbox_base
__printf_color 1 'cc/24/1d'
__printf_color 2 '98/97/1a'
__printf_color 3 'd7/99/21'
__printf_color 4 '45/85/88'
__printf_color 5 'b1/62/86'
__printf_color 6 '68/9d/6a'
end
function __theme_gruvbox_light
set -l bg 'fb/f1/c7'
switch $contrast
case "soft"
set bg 'f2/e5/bc'
case "hard"
set bg 'f9/f5/d7'
end
command printf "\033]11;rgb:$bg\007"
set -l fg '3c/38/36'
command printf "\033]10;rgb:$fg\007"
__printf_color 0 $bg
__printf_color 7 '7c/6f/64'
__printf_color 8 '92/83/74'
__printf_color 9 '9d/00/06'
__printf_color 10 '79/74/0e'
__printf_color 11 'b5/76/14'
__printf_color 12 '07/66/78'
__printf_color 13 '8f/3f/71'
__printf_color 14 '42/7b/58'
__printf_color 15 $fg
end
function __theme_gruvbox_dark
set -l bg '28/28/28'
switch $contrast
case "soft"
set bg '32/30/2f'
case "hard"
set bg '1d/20/21'
end
command printf "\033]11;rgb:$bg\007"
set -l fg 'eb/db/b2'
command printf "\033]10;rgb:$fg\007"
__printf_color 0 $bg
__printf_color 7 'a8/99/84'
__printf_color 8 '92/83/74'
__printf_color 9 'fb/59/34'
__printf_color 10 'b8/bb/26'
__printf_color 11 'fa/bd/2f'
__printf_color 12 '83/a5/98'
__printf_color 13 'd3/86/9b'
__printf_color 14 '8e/c0/7c'
__printf_color 15 $fg
end
function __theme_gruvbox_palette
__printf_color 236 '32/30/2f'
__printf_color 234 '1d/20/21'
__printf_color 235 '28/28/28'
__printf_color 237 '3c/38/36'
__printf_color 239 '50/49/45'
__printf_color 241 '66/5c/54'
__printf_color 243 '7c/6f/64'
__printf_color 244 '92/83/74'
__printf_color 245 '92/83/74'
__printf_color 228 'f2/e5/bc'
__printf_color 230 'f9/f5/d7'
__printf_color 229 'fb/f1/c7'
__printf_color 223 'eb/db/b2'
__printf_color 250 'd5/c4/a1'
__printf_color 248 'bd/ae/93'
__printf_color 246 'a8/99/84'
__printf_color 167 'fb/49/34'
__printf_color 142 'b8/bb/26'
__printf_color 214 'fa/bd/2f'
__printf_color 109 '83/a5/98'
__printf_color 175 'd3/86/9b'
__printf_color 108 '8e/c0/7c'
__printf_color 208 'fe/80/19'
__printf_color 88 '9d/00/06'
__printf_color 100 '79/74/0e'
__printf_color 136 'b5/76/14'
__printf_color 24 '07/66/78'
__printf_color 96 '8f/3f/71'
__printf_color 66 '42/7b/58'
__printf_color 130 'af/3a/03'
end
function __printf_color
command printf "\033]4;$argv[1];rgb:$argv[2]\007"
end

View File

@@ -1,8 +0,0 @@
# Test
theme = "jonas"
[editor.file-picker]
hidden = false
[keys.normal.space]
"H" = ":reset-diff-change" # Hard reset the hunk

View File

@@ -1,41 +0,0 @@
# introduce new language server
[language-server.scls]
command = "simple-completion-language-server"
[language-server.scls.config]
feature_words = false # enable completion by word
feature_snippets = true # enable snippets
snippets_first = true # completions will return before snippets by default
snippets_inline_by_word_tail = false # suggest snippets by WORD tail, for example text `xsq|` become `x^2|` when snippet `sq` has body `^2`
feature_unicode_input = false # enable "unicode input"
feature_paths = false # enable path completion
feature_citations = false # enable citation completion (only on `citation` feature enabled)
# write logs to /tmp/completion.log
[language-server.scls.environment]
RUST_LOG = "info,simple-completion-language-server=info"
LOG_FILE = "/tmp/completion.log"
# append language server to existed languages
[[language]]
name = "rust"
language-servers = [ "scls", "rust-analyzer" ]
[[language]]
name = "git-commit"
language-servers = [ "scls" ]
[[language]]
name = "python"
language-servers = [ "ty", "scls" ]
# introduce a new language to enable completion on any doc by forcing set language with :set-language stub
[[language]]
name = "stub"
scope = "text.stub"
file-types = []
shebangs = []
roots = []
auto-format = false
language-servers = [ "scls" ]

View File

@@ -1,5 +0,0 @@
[[snippets]]
prefix = "ldldldld"
scope = [ "python" ] # language id https://code.visualstudio.com/docs/languages/identifiers#_known-language-identifiers
body = 'log.debug("$1", "$2")'
description = "log at debug level"

View File

@@ -1,153 +0,0 @@
# Author : Jakub Bartodziej <kubabartodziej@gmail.com>
# The theme uses the gruvbox dark palette with standard contrast: github.com/morhetz/gruvbox
"annotation" = { fg = "fg1" }
"attribute" = { fg = "aqua1", modifiers = ["italic"] }
"comment" = { fg = "gray", modifiers = ["italic"] }
"constant" = { fg = "purple1" }
"constant.character" = { fg = "aqua1" }
"constant.character.escape" = { fg = "orange1" }
"constant.macro" = { fg = "aqua1" }
"constructor" = { fg = "purple1" }
"definition" = { underline = { color = "aqua1" } }
"diagnostic" = { underline = { color = "orange1", style = "curl" } }
"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
"diagnostic.error" = { underline = { color = "red1", style = "curl" } }
"diagnostic.hint" = { underline = { color = "blue1", style = "curl" } }
"diagnostic.info" = { underline = { color = "aqua1", style = "curl" } }
"diagnostic.warning" = { underline = { color = "yellow1", style = "curl" } }
# "diagnostic.unnecessary" = { modifiers = ["dim"] } # do not remove this for future resolving
"error" = { fg = "red1" }
"hint" = { fg = "blue1" }
"info" = { fg = "aqua1" }
"warning" = { fg = "yellow1" }
"diff.delta" = { fg = "yellow1" }
"diff.minus" = { fg = "red1" }
"diff.plus" = { fg = "green1" }
"function" = { fg = "green1" }
"function.builtin" = { fg = "yellow1" }
"function.macro" = { fg = "blue1" }
"keyword" = { fg = "red1" }
"keyword.control.import" = { fg = "aqua1" }
"label" = { fg = "red1" }
"markup.bold" = { modifiers = ["bold"] }
"markup.heading" = "aqua1"
"markup.italic" = { modifiers = ["italic"] }
"markup.link.text" = "red1"
"markup.link.url" = { fg = "green1", modifiers = ["underlined"] }
"markup.raw" = "red1"
"markup.strikethrough" = { modifiers = ["crossed_out"] }
"module" = { fg = "aqua1" }
"namespace" = { fg = "fg1" }
"operator" = { fg = "purple1" }
"punctuation" = { fg = "orange1" }
"special" = { fg = "purple0" }
"string" = { fg = "green1" }
"string.regexp" = { fg = "orange1" }
"string.special" = { fg = "orange1" }
"string.symbol" = { fg = "yellow1" }
"tag" = { fg = "aqua1" }
"type" = { fg = "yellow1" }
"type.enum.variant" = { modifiers = ["italic"] }
"ui.background" = { bg = "bg0" }
"ui.bufferline" = { fg = "fg1", bg = "bg1" }
"ui.bufferline.active" = { fg = "bg0", bg = "yellow0" }
"ui.bufferline.background" = { bg = "bg2" }
"ui.cursor" = { fg = "bg1", bg = "bg2" }
"ui.cursor.insert" = { fg = "bg1", bg = "blue0" }
"ui.cursor.normal" = { fg = "bg1", bg = "gray" }
"ui.cursor.select" = { fg = "bg1", bg = "orange0" }
"ui.cursor.match" = { fg = "fg3", bg = "bg3" }
"ui.cursor.primary" = { bg = "fg3", fg = "bg1" }
"ui.cursor.primary.insert" = { fg = "bg1", bg = "blue1" }
"ui.cursor.primary.normal" = { fg = "bg1", bg = "fg3" }
"ui.cursor.primary.select" = { fg = "bg1", bg = "orange1" }
"ui.cursorline" = { bg = "bg0_s" }
"ui.cursorline.primary" = { bg = "bg1" }
"ui.help" = { bg = "bg1", fg = "fg1" }
"ui.linenr" = { fg = "bg3" }
"ui.linenr.selected" = { fg = "yellow1" }
"ui.menu" = { fg = "fg1", bg = "bg2" }
"ui.menu.selected" = { fg = "green1", bg = "bg1", modifiers = ["bold"] }
"ui.popup" = { bg = "bg1" }
"ui.picker.header.column" = { underline.style = "line" }
"ui.picker.header.column.active" = { modifiers = ["bold"], underline.style = "line" }
"ui.selection" = { bg = "bg2" }
"ui.selection.primary" = { bg = "bg3" }
"ui.statusline" = { fg = "fg1", bg = "bg2" }
"ui.statusline.inactive" = { fg = "fg4", bg = "bg2" }
"ui.statusline.insert" = { fg = "bg1", bg = "blue1", modifiers = ["bold"] }
"ui.statusline.normal" = { fg = "bg1", bg = "fg3", modifiers = ["bold"] }
"ui.statusline.select" = { fg = "bg1", bg = "orange1", modifiers = ["bold"] }
"ui.text" = { fg = "fg1" }
"ui.text.focus" = { fg = "green1", bg="bg1" }
"ui.text.directory" = { fg = "blue1" }
"ui.virtual.inlay-hint" = { fg = "gray" }
"ui.virtual.jump-label" = { fg = "purple0", modifiers = ["bold"] }
"ui.virtual.ruler" = { bg = "bg1" }
"ui.virtual.whitespace" = "bg2"
"ui.virtual.wrap" = { fg = "bg2" }
"ui.window" = { bg = "bg1" }
"variable" = { fg = "fg1" }
"variable.builtin" = { fg = "orange1", modifiers = ["italic"] }
"variable.other.member" = { fg = "blue1" }
"variable.parameter" = { fg = "blue1", modifiers = ["italic"] }
[palette]
bg0 = "#000000" # main background
bg0_s = "#32302f"
bg1 = "#3c3836"
bg2 = "#504945"
bg3 = "#665c54"
bg4 = "#7c6f64"
fg0 = "#fbf1c7"
fg1 = "#ebdbb2" # main foreground
fg2 = "#d5c4a1"
fg3 = "#bdae93"
fg4 = "#a89984"
gray = "#928374"
red0 = "#cc241d" # neutral
red1 = "#fb4934" # bright
green0 = "#98971a"
green1 = "#b8bb26"
yellow0 = "#d79921"
yellow1 = "#fabd2f"
blue0 = "#458588"
blue1 = "#83a598"
purple0 = "#b16286"
purple1 = "#d3869b"
aqua0 = "#689d6a"
aqua1 = "#8ec07c"
orange0 = "#d65d0e"
orange1 = "#fe8019"

View File

@@ -1,5 +0,0 @@
#:schema https://jj-vcs.github.io/jj/latest/config-schema.json
[user]
name = "Jonas Hahn"
email = "jonashahn1@gmx.net"

View File

@@ -1,16 +0,0 @@
# Configuration
default_language: go
theme: nord
# Colors
background: "0"
foreground: "7"
primary_color: "#AFBEE1"
primary_color_subdued: "#64708D"
green: "#527251"
bright_green: "#BCE1AF"
bright_red: "#E49393"
red: "#A46060"
black: "#888888"
gray: "#FFFFFF"
white: "#FFFFFF"

View File

@@ -62,7 +62,6 @@ nick_mode = prefix
nick_mode_empty = off nick_mode_empty = off
nicks_hide_password = "nickserv" nicks_hide_password = "nickserv"
notice_as_pv = auto notice_as_pv = auto
notice_nicks_disable_notify = "chanserv,nickserv"
notice_welcome_redirect = on notice_welcome_redirect = on
notice_welcome_tags = "" notice_welcome_tags = ""
notify_tags_ison = "notify_message" notify_tags_ison = "notify_message"

View File

@@ -62,8 +62,6 @@ backlog_time_format = "[%H:%M] "
remote_autoreconnect_delay_growing = 2 remote_autoreconnect_delay_growing = 2
remote_autoreconnect_delay_max = 600 remote_autoreconnect_delay_max = 600
remote_get_lines = 1000 remote_get_lines = 1000
remote_input_cmd_local = " ${color:green}<local cmd>"
remote_input_cmd_remote = " ${color:red}<remote cmd>"
[port] [port]

View File

@@ -0,0 +1,20 @@
#
# weechat -- sec.conf
#
# WARNING: It is NOT recommended to edit this file by hand,
# especially if WeeChat is running.
#
# Use commands like /set or /fset to change settings in WeeChat.
#
# For more info, see: https://weechat.org/doc/weechat/quickstart/
#
[crypt]
cipher = aes256
hash_algo = sha256
passphrase_command = ""
salt = on
[data]
__passphrase__ = on
libera_password = "A4AE45D22CFB0C1925758BD65F1EC012311404966DFCFDB714E0150D3F17E867AB969A616A06BDF9F7F5B7443249552EF3B613D8F40AECE9D164"

View File

@@ -138,10 +138,8 @@ scroll_page_percent = 100
search_text_not_found_alert = on search_text_not_found_alert = on
separator_horizontal = "-" separator_horizontal = "-"
separator_vertical = "" separator_vertical = ""
tab_whitespace_char = "→"
tab_width = 1 tab_width = 1
time_format = "%a, %d %b %Y %T" time_format = "%a, %d %b %Y %T"
whitespace_char = "·"
window_auto_zoom = off window_auto_zoom = off
window_separator_horizontal = on window_separator_horizontal = on
window_separator_vertical = on window_separator_vertical = on
@@ -233,9 +231,7 @@ nick_case_sensitive = off
nick_completer = ": " nick_completer = ": "
nick_first_only = off nick_first_only = off
nick_ignore_chars = "[]`_-^" nick_ignore_chars = "[]`_-^"
nick_ignore_words = ""
partial_completion_alert = on partial_completion_alert = on
partial_completion_auto_expand = on
partial_completion_command = off partial_completion_command = off
partial_completion_command_arg = off partial_completion_command_arg = off
partial_completion_count = on partial_completion_count = on

View File

@@ -1,35 +0,0 @@
require("starship"):setup()
require("gpg"):setup {
default_recipient = "jonashahn1@gmx.net",
delete_after = true,
}
require("git"):setup()
-- https://github.com/MasouShizuka/projects.yazi
--require("projects"):setup({
-- save = {
-- method = "lua",
-- },
-- last = {
-- update_after_save = true,
-- update_after_load = true,
-- load_after_start = true,
-- },
-- notify = {
-- enable = false,
-- },
--})
function Linemode:line_info()
local time = math.floor(self._file.cha.mtime or 0)
if time == 0 then
time = ""
elseif os.date("%Y", time) == os.date("%Y") then
time = os.date("%b %d %H:%M", time)
else
time = os.date("%b %d %Y", time)
end
return time
end

View File

@@ -10,13 +10,9 @@ prepend_keymap = [
# Chmod in yazi # Chmod in yazi
{on = [ "c", "m" ],run = "plugin chmod",desc = "Chmod on selected files"}, {on = [ "c", "m" ],run = "plugin chmod",desc = "Chmod on selected files"},
{on = [ "g", "E" ],run = "plugin gpg",desc = "Gpg the hovered file"},
#{on = [ "q" ],run = "plugin projects quit",desc = "Quit with save"},
{on = [ "M" ],run = "plugin mount",desc = "Quit with save"},
# Recover the last delted file # Recover the last delted file
{ on = ["u"], run = "plugin restore", desc = "Restore last deleted files/folders" }, { on = ["u"], run = "plugin restore", desc = "Restore last deleted files/folders" },
{ on = ["T"], run = "plugin toggle-pane max-preview", desc = "Restore last deleted files/folders" },
# Get the size of the cwd # Get the size of the cwd
{ on = [ "\\", "s" ], run = "plugin what-size", desc = "Calc size of selection or cwd" }, { on = [ "\\", "s" ], run = "plugin what-size", desc = "Calc size of selection or cwd" },
@@ -36,6 +32,7 @@ prepend_keymap = [
# More mappings # More mappings
append_keymap = [ append_keymap = [
# Default jumping to stuff # Default jumping to stuff
{ on = [ "g", "s" ], run = "cd /webdav", desc = "Go to webdav folder" },
{ on = [ "g", "u" ], run = "cd ~/projects/university", desc = "Go to university folder" }, { on = [ "g", "u" ], run = "cd ~/projects/university", desc = "Go to university folder" },
{ on = [ "g", "n" ], run = "cd ~/nixos", desc = "Go to nixos folder" }, { on = [ "g", "n" ], run = "cd ~/nixos", desc = "Go to nixos folder" },
{ on = [ "g", "p" ], run = "cd ~/projects", desc = "Go to projects folder" }, { on = [ "g", "p" ], run = "cd ~/projects", desc = "Go to projects folder" },
@@ -44,11 +41,8 @@ append_keymap = [
{ on = [ "g", "r" ], run = "cd /", desc = "Go to root" }, { on = [ "g", "r" ], run = "cd /", desc = "Go to root" },
{ on = [ "g", "b" ], run = "cd /shared", desc = "Go to hdd" }, { on = [ "g", "b" ], run = "cd /shared", desc = "Go to hdd" },
{ on = [ "g", "l" ], run = "cd ~/.local", desc = "Go to Local" }, { on = [ "g", "l" ], run = "cd ~/.local", desc = "Go to Local" },
{ on = [ "g", "x" ], run = "cd ~/Nextcloud", desc = "Go to nextcloud" }, { on = [ "g", "a" ], run = "cd ~/workspace/agla", desc = "Go to agla" },
{ on = [ "g", "a" ], run = "cd ~/.cache", desc = "Go to Cache" }, { on = [ "g", "t" ], run = "cd ~/.local/share/Trash", desc = "Go to Trash" },
{ on = [ "g", "T" ], run = "cd ~/.local/share/Trash", desc = "Go to trash" }, { on = [ "g", "U" ], run = "cd ~/projects/university/pdfs", desc = "Go to Uni PDF" },
{ on = [ "g", "t" ], run = "cd ~/Nextcloud/Notes", desc = "Go to notes" },
{ on = [ "g", "U" ], run = "cd ~/Nextcloud/University/current", desc = "Go to Uni" },
{ on = [ "g", "C" ], run = "cd ~/projects/university/S3", desc = "Go to current semester" },
] ]

View File

@@ -5,13 +5,13 @@ hash = "ee71543790f0ce3951161045a3787abd"
[[plugin.deps]] [[plugin.deps]]
use = "yazi-rs/plugins:chmod" use = "yazi-rs/plugins:chmod"
rev = "8f1d971" rev = "d1c8baa"
hash = "8ad3e90b079190b4905f24a44f4ca06b" hash = "8ad3e90b079190b4905f24a44f4ca06b"
[[plugin.deps]] [[plugin.deps]]
use = "boydaihungst/restore" use = "boydaihungst/restore"
rev = "2161735" rev = "dc40509"
hash = "901741afba1979739b4650324265162e" hash = "e7e377f9b1bbaca4a2e5d9ec9709ac4d"
[[plugin.deps]] [[plugin.deps]]
use = "pirafrank/what-size" use = "pirafrank/what-size"
@@ -23,31 +23,6 @@ use = "dedukun/bookmarks"
rev = "9ef1254" rev = "9ef1254"
hash = "92fbb5483657fa7976cdf4e0104e18e0" hash = "92fbb5483657fa7976cdf4e0104e18e0"
[[plugin.deps]]
use = "Ascyii/gpg"
rev = "58fccf8"
hash = "b6a8d73d6f0be9aeb9be2077b062ca84"
[[plugin.deps]]
use = "Rolv-Apneseth/starship"
rev = "a63550b"
hash = "c2021386289a0cbb3e152a052f67c177"
[[plugin.deps]]
use = "yazi-rs/plugins:mount"
rev = "8f1d971"
hash = "4fccaaf10c36dc2466e2438a386ff017"
[[plugin.deps]]
use = "yazi-rs/plugins:git"
rev = "8f1d971"
hash = "63b6c222bf2103b3023389dde5e2ecfe"
[[plugin.deps]]
use = "yazi-rs/plugins:toggle-pane"
rev = "8f1d971"
hash = "8a7c58225816a163a6e8730c0adafbc8"
[[flavor.deps]] [[flavor.deps]]
use = "dangooddd/kanagawa" use = "dangooddd/kanagawa"
rev = "a0b1d9d" rev = "a0b1d9d"

View File

@@ -1,13 +1,9 @@
[mgr] [mgr]
sort_by = "mtime" sort_by = "extension"
linemode = "line_info"
sort_reverse = true
sort_dir_first = true
show_hidden = false show_hidden = false
mouse_events = []
[opener] [opener]
image = [ imagefeh = [
{ run = 'gtk4-launch fehcustom.desktop "$@"', orphan = true, for = "unix" }, { run = 'gtk4-launch fehcustom.desktop "$@"', orphan = true, for = "unix" },
] ]
play = [ play = [
@@ -20,9 +16,6 @@ open = [
{ run = 'xdg-open "$@"', desc = "Open" }, { run = 'xdg-open "$@"', desc = "Open" },
] ]
[confirm]
quit = false
[open] [open]
prepend_rules = [ prepend_rules = [
{ mime = "application/pdf", use = "open" }, { mime = "application/pdf", use = "open" },
@@ -30,20 +23,10 @@ prepend_rules = [
{ name = "*.html", use = [ "open" ] }, { name = "*.html", use = [ "open" ] },
] ]
rules = [ rules = [
{ mime = "image/*", use = "image" }, { mime = "image/*", use = "imagefeh" },
{ mime = "text/*", use = "edit" }, { mime = "text/*", use = "edit" },
{ mime = "video/*", use = "play" }, { mime = "video/*", use = "play" },
] ]
append_rules = [ append_rules = [
{ name = "*", use = ["edit", "open", "image", "play"]} { name = "*", use = ["edit", "open", "play"]}
] ]
[[plugin.prepend_fetchers]]
id = "git"
name = "*"
run = "git"
[[plugin.prepend_fetchers]]
id = "git"
name = "*/"
run = "git"

View File

@@ -1,521 +0,0 @@
// Jonas zellij config to make life better
keybinds clear-defaults=true {
locked {
bind "Ctrl g" { SwitchToMode "normal"; }
}
pane {
bind "left" { MoveFocus "left"; }
bind "down" { MoveFocus "down"; }
bind "up" { MoveFocus "up"; }
bind "right" { MoveFocus "right"; }
bind "c" { SwitchToMode "renamepane"; PaneNameInput 0; }
bind "d" { NewPane "down"; SwitchToMode "locked"; }
bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "locked"; }
bind "f" { ToggleFocusFullscreen; SwitchToMode "locked"; }
bind "h" { MoveFocus "left"; }
bind "i" { TogglePanePinned; SwitchToMode "locked"; }
bind "j" { MoveFocus "down"; }
bind "k" { MoveFocus "up"; }
bind "l" { MoveFocus "right"; }
bind "n" { NewPane; SwitchToMode "locked"; }
bind "p" { SwitchToMode "normal"; }
bind "r" { NewPane "right"; SwitchToMode "locked"; }
bind "s" { NewPane "stacked"; SwitchToMode "locked"; }
bind "w" { ToggleFloatingPanes; SwitchToMode "locked"; }
bind "x" { CloseFocus; SwitchToMode "locked"; }
bind "z" { TogglePaneFrames; SwitchToMode "locked"; }
bind "tab" { SwitchFocus; }
}
tab {
bind "left" { GoToPreviousTab; }
bind "down" { GoToNextTab; }
bind "up" { GoToPreviousTab; }
bind "right" { GoToNextTab; }
bind "1" { GoToTab 1; SwitchToMode "locked"; }
bind "2" { GoToTab 2; SwitchToMode "locked"; }
bind "3" { GoToTab 3; SwitchToMode "locked"; }
bind "4" { GoToTab 4; SwitchToMode "locked"; }
bind "5" { GoToTab 5; SwitchToMode "locked"; }
bind "6" { GoToTab 6; SwitchToMode "locked"; }
bind "7" { GoToTab 7; SwitchToMode "locked"; }
bind "8" { GoToTab 8; SwitchToMode "locked"; }
bind "9" { GoToTab 9; SwitchToMode "locked"; }
bind "[" { BreakPaneLeft; SwitchToMode "locked"; }
bind "]" { BreakPaneRight; SwitchToMode "locked"; }
bind "b" { BreakPane; SwitchToMode "locked"; }
bind "h" { GoToPreviousTab; }
bind "j" { GoToNextTab; }
bind "k" { GoToPreviousTab; }
bind "l" { GoToNextTab; }
bind "n" { NewTab; SwitchToMode "locked"; }
bind "r" { SwitchToMode "renametab"; TabNameInput 0; }
bind "s" { ToggleActiveSyncTab; SwitchToMode "locked"; }
bind "t" { SwitchToMode "normal"; }
bind "x" { CloseTab; SwitchToMode "locked"; }
bind "tab" { ToggleTab; }
}
resize {
bind "left" { Resize "Increase left"; }
bind "down" { Resize "Increase down"; }
bind "up" { Resize "Increase up"; }
bind "right" { Resize "Increase right"; }
bind "+" { Resize "Increase"; }
bind "-" { Resize "Decrease"; }
bind "=" { Resize "Increase"; }
bind "H" { Resize "Decrease left"; }
bind "J" { Resize "Decrease down"; }
bind "K" { Resize "Decrease up"; }
bind "L" { Resize "Decrease right"; }
bind "h" { Resize "Increase left"; }
bind "j" { Resize "Increase down"; }
bind "k" { Resize "Increase up"; }
bind "l" { Resize "Increase right"; }
bind "r" { SwitchToMode "normal"; }
}
move {
bind "left" { MovePane "left"; }
bind "down" { MovePane "down"; }
bind "up" { MovePane "up"; }
bind "right" { MovePane "right"; }
bind "h" { MovePane "left"; }
bind "j" { MovePane "down"; }
bind "k" { MovePane "up"; }
bind "l" { MovePane "right"; }
bind "m" { SwitchToMode "normal"; }
bind "n" { MovePane; }
bind "p" { MovePaneBackwards; }
bind "tab" { MovePane; }
}
scroll {
bind "Alt left" { MoveFocusOrTab "left"; SwitchToMode "locked"; }
bind "Alt down" { MoveFocus "down"; SwitchToMode "locked"; }
bind "Alt up" { MoveFocus "up"; SwitchToMode "locked"; }
bind "Alt right" { MoveFocusOrTab "right"; SwitchToMode "locked"; }
bind "e" { EditScrollback; SwitchToMode "locked"; }
bind "f" { SwitchToMode "entersearch"; SearchInput 0; }
bind "Alt h" { MoveFocusOrTab "left"; SwitchToMode "locked"; }
bind "Alt j" { MoveFocus "down"; SwitchToMode "locked"; }
bind "Alt k" { MoveFocus "up"; SwitchToMode "locked"; }
bind "Alt l" { MoveFocusOrTab "right"; SwitchToMode "locked"; }
bind "s" { SwitchToMode "normal"; }
}
search {
bind "c" { SearchToggleOption "CaseSensitivity"; }
bind "n" { Search "down"; }
bind "o" { SearchToggleOption "WholeWord"; }
bind "p" { Search "up"; }
bind "w" { SearchToggleOption "Wrap"; }
}
session {
bind "a" {
LaunchOrFocusPlugin "zellij:about" {
floating true
move_to_focused_tab true
}
SwitchToMode "locked"
}
bind "c" {
LaunchOrFocusPlugin "configuration" {
floating true
move_to_focused_tab true
}
SwitchToMode "locked"
}
bind "d" { Detach; }
bind "o" { SwitchToMode "normal"; }
bind "p" {
LaunchOrFocusPlugin "plugin-manager" {
floating true
move_to_focused_tab true
}
SwitchToMode "locked"
}
bind "s" {
LaunchOrFocusPlugin "zellij:share" {
floating true
move_to_focused_tab true
}
SwitchToMode "locked"
}
bind "w" {
LaunchOrFocusPlugin "session-manager" {
floating true
move_to_focused_tab true
}
SwitchToMode "locked"
}
}
shared_among "normal" "locked" {
bind "Alt left" { MoveFocusOrTab "left"; }
bind "Alt down" { MoveFocus "down"; }
bind "Alt up" { MoveFocus "up"; }
bind "Alt right" { MoveFocusOrTab "right"; }
bind "Alt +" { Resize "Increase"; }
bind "Alt -" { Resize "Decrease"; }
bind "Alt =" { Resize "Increase"; }
bind "Alt [" { PreviousSwapLayout; }
bind "Alt ]" { NextSwapLayout; }
bind "Alt f" { ToggleFloatingPanes; }
bind "Alt h" { MoveFocusOrTab "left"; }
bind "Alt i" { MoveTab "left"; }
bind "Alt j" { MoveFocus "down"; }
bind "Alt k" { MoveFocus "up"; }
bind "Alt l" { MoveFocusOrTab "right"; }
bind "Alt n" { NewPane; }
bind "Alt Shift n" { NewTab; }
bind "Alt p" { TogglePaneInGroup; }
bind "Alt Shift p" { ToggleGroupMarking; }
}
shared_except "locked" "renametab" "renamepane" {
bind "Ctrl g" { SwitchToMode "locked"; }
bind "Ctrl q" { Quit; }
}
shared_except "locked" "entersearch" {
bind "enter" { SwitchToMode "locked"; }
}
shared_except "locked" "entersearch" "renametab" "renamepane" {
bind "esc" { SwitchToMode "locked"; }
}
shared_except "locked" "entersearch" "renametab" "renamepane" "move" {
bind "m" { SwitchToMode "move"; }
}
shared_except "locked" "entersearch" "search" "renametab" "renamepane" "session" {
bind "o" { SwitchToMode "session"; }
}
shared_except "locked" "tab" "entersearch" "renametab" "renamepane" {
bind "t" { SwitchToMode "tab"; }
}
shared_among "normal" "resize" "tab" "scroll" "prompt" "tmux" {
bind "p" { SwitchToMode "pane"; }
}
shared_among "normal" "resize" "search" "move" "prompt" "tmux" {
bind "s" { SwitchToMode "scroll"; }
}
shared_except "locked" "resize" "pane" "tab" "entersearch" "renametab" "renamepane" {
bind "r" { SwitchToMode "resize"; }
}
shared_among "scroll" "search" {
bind "PageDown" { PageScrollDown; }
bind "PageUp" { PageScrollUp; }
bind "left" { PageScrollUp; }
bind "down" { ScrollDown; }
bind "up" { ScrollUp; }
bind "right" { PageScrollDown; }
bind "Ctrl b" { PageScrollUp; }
bind "Ctrl c" { ScrollToBottom; SwitchToMode "locked"; }
bind "d" { HalfPageScrollDown; }
bind "Ctrl f" { PageScrollDown; }
bind "h" { PageScrollUp; }
bind "j" { ScrollDown; }
bind "k" { ScrollUp; }
bind "l" { PageScrollDown; }
bind "u" { HalfPageScrollUp; }
}
entersearch {
bind "Ctrl c" { SwitchToMode "scroll"; }
bind "esc" { SwitchToMode "scroll"; }
bind "enter" { SwitchToMode "search"; }
}
renametab {
bind "esc" { UndoRenameTab; SwitchToMode "tab"; }
}
shared_among "renametab" "renamepane" {
bind "Ctrl c" { SwitchToMode "locked"; }
}
renamepane {
bind "esc" { UndoRenamePane; SwitchToMode "pane"; }
}
}
// Plugin aliases - can be used to change the implementation of Zellij
// changing these requires a restart to take effect
plugins {
about location="zellij:about"
compact-bar location="zellij:compact-bar"
// compact-bar location="zellij:compact-bar" {
// tooltip "F1"
// }
configuration location="zellij:configuration"
filepicker location="zellij:strider" {
cwd "/"
}
plugin-manager location="zellij:plugin-manager"
session-manager location="zellij:session-manager"
status-bar location="zellij:status-bar"
strider location="zellij:strider"
tab-bar location="zellij:tab-bar"
welcome-screen location="zellij:session-manager" {
welcome_screen true
}
}
// Plugins to load in the background when a new session starts
// eg. "file:/path/to/my-plugin.wasm"
// eg. "https://example.com/my-plugin.wasm"
load_plugins {
}
web_client {
font "monospace"
}
// Use a simplified UI without special fonts (arrow glyphs)
// Options:
// - true
// - false (Default)
//
simplified_ui true
// Choose the theme that is specified in the themes section.
// Default: default
//
theme "gruvbox-dark"
// Choose the base input mode of zellij.
// Default: normal
//
default_mode "locked"
// Choose the path to the default shell that zellij will use for opening new panes
// Default: $SHELL
//
// default_shell "fish"
// Choose the path to override cwd that zellij will use for opening new panes
//
// default_cwd "/tmp"
// The name of the default layout to load on startup
// Default: "default"
//
default_layout "compact"
// The folder in which Zellij will look for layouts
// (Requires restart)
//
// layout_dir "/tmp"
// The folder in which Zellij will look for themes
// (Requires restart)
//
// theme_dir "/tmp"
// Toggle enabling the mouse mode.
// On certain configurations, or terminals this could
// potentially interfere with copying text.
// Options:
// - true (default)
// - false
//
mouse_mode false
// Toggle having pane frames around the panes
// Options:
// - true (default, enabled)
// - false
//
pane_frames false
// When attaching to an existing session with other users,
// should the session be mirrored (true)
// or should each user have their own cursor (false)
// (Requires restart)
// Default: false
//
// mirror_session true
// Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP
// eg. when terminal window with an active zellij session is closed
// (Requires restart)
// Options:
// - detach (Default)
// - quit
//
// on_force_close "quit"
// Configure the scroll back buffer size
// This is the number of lines zellij stores for each pane in the scroll back
// buffer. Excess number of lines are discarded in a FIFO fashion.
// (Requires restart)
// Valid values: positive integers
// Default value: 10000
//
// scroll_buffer_size 10000
// Provide a command to execute when copying text. The text will be piped to
// the stdin of the program to perform the copy. This can be used with
// terminal emulators which do not support the OSC 52 ANSI control sequence
// that will be used by default if this option is not set.
// Examples:
//
// copy_command "xclip -selection clipboard" // x11
copy_command "wl-copy" // wayland
// copy_command "pbcopy" // osx
//
// copy_command "pbcopy"
// Choose the destination for copied text
// Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard.
// Does not apply when using copy_command.
// Options:
// - system (default)
// - primary
//
// copy_clipboard "primary"
// Enable automatic copying (and clearing) of selection when releasing mouse
// Default: true
//
// copy_on_select true
// Path to the default editor to use to edit pane scrollbuffer
// Default: $EDITOR or $VISUAL
// scrollback_editor "/usr/bin/vim"
// A fixed name to always give the Zellij session.
// Consider also setting `attach_to_session true,`
// otherwise this will error if such a session exists.
// Default: <RANDOM>
//
session_name "MainSess"
// When `session_name` is provided, attaches to that session
// if it is already running or creates it otherwise.
// Default: false
//
attach_to_session true
// Toggle between having Zellij lay out panes according to a predefined set of layouts whenever possible
// Options:
// - true (default)
// - false
//
// auto_layout false
// Whether sessions should be serialized to the cache folder (including their tabs/panes, cwds and running commands) so that they can later be resurrected
// Options:
// - true (default)
// - false
//
// session_serialization false
// Whether pane viewports are serialized along with the session, default is false
// Options:
// - true
// - false (default)
//
// serialize_pane_viewport false
// Scrollback lines to serialize along with the pane viewport when serializing sessions, 0
// defaults to the scrollback size. If this number is higher than the scrollback size, it will
// also default to the scrollback size. This does nothing if `serialize_pane_viewport` is not true.
//
// scrollback_lines_to_serialize 10000
// Enable or disable the rendering of styled and colored underlines (undercurl).
// May need to be disabled for certain unsupported terminals
// (Requires restart)
// Default: true
//
// styled_underlines false
// How often in seconds sessions are serialized
//
// serialization_interval 10000
// Enable or disable writing of session metadata to disk (if disabled, other sessions might not know
// metadata info on this session)
// (Requires restart)
// Default: false
//
// disable_session_metadata false
// Enable or disable support for the enhanced Kitty Keyboard Protocol (the host terminal must also support it)
// (Requires restart)
// Default: true (if the host terminal supports it)
//
// support_kitty_keyboard_protocol false
// Whether to make sure a local web server is running when a new Zellij session starts.
// This web server will allow creating new sessions and attaching to existing ones that have
// opted in to being shared in the browser.
// When enabled, navigate to http://127.0.0.1:8082
// (Requires restart)
//
// Note: a local web server can still be manually started from within a Zellij session or from the CLI.
// If this is not desired, one can use a version of Zellij compiled without
// `web_server_capability`
//
// Possible values:
// - true
// - false
// Default: false
//
// web_server false
// Whether to allow sessions started in the terminal to be shared through a local web server, assuming one is
// running (see the `web_server` option for more details).
// (Requires restart)
//
// Note: This is an administrative separation and not intended as a security measure.
//
// Possible values:
// - "on" (allow web sharing through the local web server if it
// is online)
// - "off" (do not allow web sharing unless sessions explicitly opt-in to it)
// - "disabled" (do not allow web sharing and do not permit sessions started in the terminal to opt-in to it)
// Default: "off"
//
// web_sharing "off"
// A path to a certificate file to be used when setting up the web client to serve the
// connection over HTTPs
//
// web_server_cert "/path/to/cert.pem"
// A path to a key file to be used when setting up the web client to serve the
// connection over HTTPs
//
// web_server_key "/path/to/key.pem"
/// Whether to enforce https connections to the web server when it is bound to localhost
/// (127.0.0.0/8)
///
/// Note: https is ALWAYS enforced when bound to non-local interfaces
///
/// Default: false
//
// enforce_https_for_localhost false
// Whether to stack panes when resizing beyond a certain size
// Default: true
//
// stacked_resize false
// Whether to show tips on startup
// Default: true
//
show_startup_tips false
// Whether to show release notes on first version run
// Default: true
//
show_release_notes false
// Whether to enable mouse hover effects and pane grouping functionality
// default is true
// advanced_mouse_actions false
// The ip address the web server should listen on when it starts
// Default: "127.0.0.1"
// (Requires restart)
// web_server_ip "127.0.0.1"
// The port the web server should listen on when it starts
// Default: 8082
// (Requires restart)
// web_server_port 8082
// A command to run (will be wrapped with sh -c and provided the RESURRECT_COMMAND env variable)
// after Zellij attempts to discover a command inside a pane when resurrecting sessions, the STDOUT
// of this command will be used instead of the discovered RESURRECT_COMMAND
// can be useful for removing wrappers around commands
// Note: be sure to escape backslashes and similar characters properly
// post_command_discovery_hook "echo $RESURRECT_COMMAND | sed <your_regex_here>"
//

View File

@@ -1,532 +0,0 @@
keybinds clear-defaults=true {
locked {
bind "Ctrl g" { SwitchToMode "normal"; }
}
pane {
bind "left" { MoveFocus "left"; }
bind "down" { MoveFocus "down"; }
bind "up" { MoveFocus "up"; }
bind "right" { MoveFocus "right"; }
bind "c" { SwitchToMode "renamepane"; PaneNameInput 0; }
bind "d" { NewPane "down"; SwitchToMode "normal"; }
bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "normal"; }
bind "f" { ToggleFocusFullscreen; SwitchToMode "normal"; }
bind "h" { MoveFocus "left"; }
bind "i" { TogglePanePinned; SwitchToMode "normal"; }
bind "j" { MoveFocus "down"; }
bind "k" { MoveFocus "up"; }
bind "l" { MoveFocus "right"; }
bind "n" { NewPane; SwitchToMode "normal"; }
bind "p" { SwitchFocus; }
bind "Ctrl p" { SwitchToMode "normal"; }
bind "r" { NewPane "right"; SwitchToMode "normal"; }
bind "s" { NewPane "stacked"; SwitchToMode "normal"; }
bind "w" { ToggleFloatingPanes; SwitchToMode "normal"; }
bind "z" { TogglePaneFrames; SwitchToMode "normal"; }
}
tab {
bind "left" { GoToPreviousTab; }
bind "down" { GoToNextTab; }
bind "up" { GoToPreviousTab; }
bind "right" { GoToNextTab; }
bind "1" { GoToTab 1; SwitchToMode "normal"; }
bind "2" { GoToTab 2; SwitchToMode "normal"; }
bind "3" { GoToTab 3; SwitchToMode "normal"; }
bind "4" { GoToTab 4; SwitchToMode "normal"; }
bind "5" { GoToTab 5; SwitchToMode "normal"; }
bind "6" { GoToTab 6; SwitchToMode "normal"; }
bind "7" { GoToTab 7; SwitchToMode "normal"; }
bind "8" { GoToTab 8; SwitchToMode "normal"; }
bind "9" { GoToTab 9; SwitchToMode "normal"; }
bind "[" { BreakPaneLeft; SwitchToMode "normal"; }
bind "]" { BreakPaneRight; SwitchToMode "normal"; }
bind "b" { BreakPane; SwitchToMode "normal"; }
bind "h" { GoToPreviousTab; }
bind "j" { GoToNextTab; }
bind "k" { GoToPreviousTab; }
bind "l" { GoToNextTab; }
bind "n" { NewTab; SwitchToMode "normal"; }
bind "r" { SwitchToMode "renametab"; TabNameInput 0; }
bind "s" { ToggleActiveSyncTab; SwitchToMode "normal"; }
bind "Ctrl t" { SwitchToMode "normal"; }
bind "x" { CloseTab; SwitchToMode "normal"; }
bind "tab" { ToggleTab; }
}
resize {
bind "left" { Resize "Increase left"; }
bind "down" { Resize "Increase down"; }
bind "up" { Resize "Increase up"; }
bind "right" { Resize "Increase right"; }
bind "+" { Resize "Increase"; }
bind "-" { Resize "Decrease"; }
bind "=" { Resize "Increase"; }
bind "H" { Resize "Decrease left"; }
bind "J" { Resize "Decrease down"; }
bind "K" { Resize "Decrease up"; }
bind "L" { Resize "Decrease right"; }
bind "h" { Resize "Increase left"; }
bind "j" { Resize "Increase down"; }
bind "k" { Resize "Increase up"; }
bind "l" { Resize "Increase right"; }
bind "Ctrl n" { SwitchToMode "normal"; }
}
move {
bind "left" { MovePane "left"; }
bind "down" { MovePane "down"; }
bind "up" { MovePane "up"; }
bind "right" { MovePane "right"; }
bind "h" { MovePane "left"; }
bind "Ctrl h" { SwitchToMode "normal"; }
bind "j" { MovePane "down"; }
bind "k" { MovePane "up"; }
bind "l" { MovePane "right"; }
bind "n" { MovePane; }
bind "p" { MovePaneBackwards; }
bind "tab" { MovePane; }
}
scroll {
bind "e" { EditScrollback; SwitchToMode "normal"; }
bind "s" { SwitchToMode "entersearch"; SearchInput 0; }
}
search {
bind "c" { SearchToggleOption "CaseSensitivity"; }
bind "n" { Search "down"; }
bind "o" { SearchToggleOption "WholeWord"; }
bind "p" { Search "up"; }
bind "w" { SearchToggleOption "Wrap"; }
}
session {
bind "a" {
LaunchOrFocusPlugin "zellij:about" {
floating true
move_to_focused_tab true
}
SwitchToMode "normal"
}
bind "c" {
LaunchOrFocusPlugin "configuration" {
floating true
move_to_focused_tab true
}
SwitchToMode "normal"
}
bind "Ctrl o" { SwitchToMode "normal"; }
bind "p" {
LaunchOrFocusPlugin "plugin-manager" {
floating true
move_to_focused_tab true
}
SwitchToMode "normal"
}
bind "s" {
LaunchOrFocusPlugin "zellij:share" {
floating true
move_to_focused_tab true
}
SwitchToMode "normal"
}
bind "w" {
LaunchOrFocusPlugin "session-manager" {
floating true
move_to_focused_tab true
}
SwitchToMode "normal"
}
}
shared_except "locked" {
bind "Alt left" { MoveFocusOrTab "left"; }
bind "Alt down" { MoveFocus "down"; }
bind "Alt up" { MoveFocus "up"; }
bind "Alt right" { MoveFocusOrTab "right"; }
bind "Alt +" { Resize "Increase"; }
bind "Alt -" { Resize "Decrease"; }
bind "Alt =" { Resize "Increase"; }
bind "Alt [" { PreviousSwapLayout; }
bind "Alt ]" { NextSwapLayout; }
bind "Alt f" { ToggleFloatingPanes; }
bind "Ctrl g" { SwitchToMode "locked"; }
bind "Alt h" { MoveFocusOrTab "left"; }
bind "Alt i" { MoveTab "left"; }
bind "Alt j" { MoveFocus "down"; }
bind "Alt k" { MoveFocus "up"; }
bind "Alt l" { MoveFocusOrTab "right"; }
bind "Alt n" { NewPane; }
bind "Alt o" { MoveTab "right"; }
bind "Alt p" { TogglePaneInGroup; }
bind "Alt Shift p" { ToggleGroupMarking; }
bind "Ctrl q" { Quit; }
}
shared_except "locked" "move" {
bind "Ctrl h" { SwitchToMode "move"; }
}
shared_except "locked" "session" {
bind "Ctrl o" { SwitchToMode "session"; }
}
shared_except "locked" "scroll" "search" "tmux" {
bind "Ctrl b" { SwitchToMode "tmux"; }
}
shared_except "locked" "scroll" "search" {
bind "Ctrl s" { SwitchToMode "scroll"; }
}
shared_except "locked" "tab" {
bind "Ctrl t" { SwitchToMode "tab"; }
}
shared_except "locked" "pane" {
bind "Ctrl p" { SwitchToMode "pane"; }
}
shared_except "locked" "resize" {
bind "Ctrl n" { SwitchToMode "resize"; }
}
shared_except "normal" "locked" "entersearch" {
bind "enter" { SwitchToMode "normal"; }
}
shared_except "normal" "locked" "entersearch" "renametab" "renamepane" {
bind "esc" { SwitchToMode "normal"; }
}
shared_among "pane" "tmux" {
bind "x" { CloseFocus; SwitchToMode "normal"; }
}
shared_among "scroll" "search" {
bind "PageDown" { PageScrollDown; }
bind "PageUp" { PageScrollUp; }
bind "left" { PageScrollUp; }
bind "down" { ScrollDown; }
bind "up" { ScrollUp; }
bind "right" { PageScrollDown; }
bind "Ctrl b" { PageScrollUp; }
bind "Ctrl c" { ScrollToBottom; SwitchToMode "normal"; }
bind "d" { HalfPageScrollDown; }
bind "Ctrl f" { PageScrollDown; }
bind "h" { PageScrollUp; }
bind "j" { ScrollDown; }
bind "k" { ScrollUp; }
bind "l" { PageScrollDown; }
bind "Ctrl s" { SwitchToMode "normal"; }
bind "u" { HalfPageScrollUp; }
}
entersearch {
bind "Ctrl c" { SwitchToMode "scroll"; }
bind "esc" { SwitchToMode "scroll"; }
bind "enter" { SwitchToMode "search"; }
}
renametab {
bind "esc" { UndoRenameTab; SwitchToMode "tab"; }
}
shared_among "renametab" "renamepane" {
bind "Ctrl c" { SwitchToMode "normal"; }
}
renamepane {
bind "esc" { UndoRenamePane; SwitchToMode "pane"; }
}
shared_among "session" "tmux" {
bind "d" { Detach; }
}
tmux {
bind "left" { MoveFocus "left"; SwitchToMode "normal"; }
bind "down" { MoveFocus "down"; SwitchToMode "normal"; }
bind "up" { MoveFocus "up"; SwitchToMode "normal"; }
bind "right" { MoveFocus "right"; SwitchToMode "normal"; }
bind "space" { NextSwapLayout; }
bind "\"" { NewPane "down"; SwitchToMode "normal"; }
bind "%" { NewPane "right"; SwitchToMode "normal"; }
bind "," { SwitchToMode "renametab"; }
bind "[" { SwitchToMode "scroll"; }
bind "Ctrl b" { Write 2; SwitchToMode "normal"; }
bind "c" { NewTab; SwitchToMode "normal"; }
bind "h" { MoveFocus "left"; SwitchToMode "normal"; }
bind "j" { MoveFocus "down"; SwitchToMode "normal"; }
bind "k" { MoveFocus "up"; SwitchToMode "normal"; }
bind "l" { MoveFocus "right"; SwitchToMode "normal"; }
bind "n" { GoToNextTab; SwitchToMode "normal"; }
bind "o" { FocusNextPane; }
bind "p" { GoToPreviousTab; SwitchToMode "normal"; }
bind "z" { ToggleFocusFullscreen; SwitchToMode "normal"; }
}
}
// Plugin aliases - can be used to change the implementation of Zellij
// changing these requires a restart to take effect
plugins {
about location="zellij:about"
compact-bar location="zellij:compact-bar"
configuration location="zellij:configuration"
filepicker location="zellij:strider" {
cwd "/"
}
plugin-manager location="zellij:plugin-manager"
session-manager location="zellij:session-manager"
status-bar location="zellij:status-bar"
strider location="zellij:strider"
tab-bar location="zellij:tab-bar"
welcome-screen location="zellij:session-manager" {
welcome_screen true
}
}
// Plugins to load in the background when a new session starts
// eg. "file:/path/to/my-plugin.wasm"
// eg. "https://example.com/my-plugin.wasm"
load_plugins {
}
web_client {
font "monospace"
}
// Use a simplified UI without special fonts (arrow glyphs)
// Options:
// - true
// - false (Default)
//
// simplified_ui true
// Choose the theme that is specified in the themes section.
// Default: default
//
// theme "dracula"
// Choose the base input mode of zellij.
// Default: normal
//
// default_mode "locked"
// Choose the path to the default shell that zellij will use for opening new panes
// Default: $SHELL
//
// default_shell "fish"
// Choose the path to override cwd that zellij will use for opening new panes
//
// default_cwd "/tmp"
// The name of the default layout to load on startup
// Default: "default"
//
// default_layout "compact"
// The folder in which Zellij will look for layouts
// (Requires restart)
//
// layout_dir "/tmp"
// The folder in which Zellij will look for themes
// (Requires restart)
//
// theme_dir "/tmp"
// Toggle enabling the mouse mode.
// On certain configurations, or terminals this could
// potentially interfere with copying text.
// Options:
// - true (default)
// - false
//
// mouse_mode false
// Toggle having pane frames around the panes
// Options:
// - true (default, enabled)
// - false
//
// pane_frames false
// When attaching to an existing session with other users,
// should the session be mirrored (true)
// or should each user have their own cursor (false)
// (Requires restart)
// Default: false
//
// mirror_session true
// Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP
// eg. when terminal window with an active zellij session is closed
// (Requires restart)
// Options:
// - detach (Default)
// - quit
//
// on_force_close "quit"
// Configure the scroll back buffer size
// This is the number of lines zellij stores for each pane in the scroll back
// buffer. Excess number of lines are discarded in a FIFO fashion.
// (Requires restart)
// Valid values: positive integers
// Default value: 10000
//
// scroll_buffer_size 10000
// Provide a command to execute when copying text. The text will be piped to
// the stdin of the program to perform the copy. This can be used with
// terminal emulators which do not support the OSC 52 ANSI control sequence
// that will be used by default if this option is not set.
// Examples:
//
// copy_command "xclip -selection clipboard" // x11
// copy_command "wl-copy" // wayland
// copy_command "pbcopy" // osx
//
// copy_command "pbcopy"
// Choose the destination for copied text
// Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard.
// Does not apply when using copy_command.
// Options:
// - system (default)
// - primary
//
// copy_clipboard "primary"
// Enable automatic copying (and clearing) of selection when releasing mouse
// Default: true
//
// copy_on_select true
// Path to the default editor to use to edit pane scrollbuffer
// Default: $EDITOR or $VISUAL
// scrollback_editor "/usr/bin/vim"
// A fixed name to always give the Zellij session.
// Consider also setting `attach_to_session true,`
// otherwise this will error if such a session exists.
// Default: <RANDOM>
//
// session_name "My singleton session"
// When `session_name` is provided, attaches to that session
// if it is already running or creates it otherwise.
// Default: false
//
// attach_to_session true
// Toggle between having Zellij lay out panes according to a predefined set of layouts whenever possible
// Options:
// - true (default)
// - false
//
// auto_layout false
// Whether sessions should be serialized to the cache folder (including their tabs/panes, cwds and running commands) so that they can later be resurrected
// Options:
// - true (default)
// - false
//
// session_serialization false
// Whether pane viewports are serialized along with the session, default is false
// Options:
// - true
// - false (default)
//
// serialize_pane_viewport false
// Scrollback lines to serialize along with the pane viewport when serializing sessions, 0
// defaults to the scrollback size. If this number is higher than the scrollback size, it will
// also default to the scrollback size. This does nothing if `serialize_pane_viewport` is not true.
//
// scrollback_lines_to_serialize 10000
// Enable or disable the rendering of styled and colored underlines (undercurl).
// May need to be disabled for certain unsupported terminals
// (Requires restart)
// Default: true
//
// styled_underlines false
// How often in seconds sessions are serialized
//
// serialization_interval 10000
// Enable or disable writing of session metadata to disk (if disabled, other sessions might not know
// metadata info on this session)
// (Requires restart)
// Default: false
//
// disable_session_metadata false
// Enable or disable support for the enhanced Kitty Keyboard Protocol (the host terminal must also support it)
// (Requires restart)
// Default: true (if the host terminal supports it)
//
// support_kitty_keyboard_protocol false
// Whether to make sure a local web server is running when a new Zellij session starts.
// This web server will allow creating new sessions and attaching to existing ones that have
// opted in to being shared in the browser.
// When enabled, navigate to http://127.0.0.1:8082
// (Requires restart)
//
// Note: a local web server can still be manually started from within a Zellij session or from the CLI.
// If this is not desired, one can use a version of Zellij compiled without
// `web_server_capability`
//
// Possible values:
// - true
// - false
// Default: false
//
// web_server false
// Whether to allow sessions started in the terminal to be shared through a local web server, assuming one is
// running (see the `web_server` option for more details).
// (Requires restart)
//
// Note: This is an administrative separation and not intended as a security measure.
//
// Possible values:
// - "on" (allow web sharing through the local web server if it
// is online)
// - "off" (do not allow web sharing unless sessions explicitly opt-in to it)
// - "disabled" (do not allow web sharing and do not permit sessions started in the terminal to opt-in to it)
// Default: "off"
//
// web_sharing "off"
// A path to a certificate file to be used when setting up the web client to serve the
// connection over HTTPs
//
// web_server_cert "/path/to/cert.pem"
// A path to a key file to be used when setting up the web client to serve the
// connection over HTTPs
//
// web_server_key "/path/to/key.pem"
/// Whether to enforce https connections to the web server when it is bound to localhost
/// (127.0.0.0/8)
///
/// Note: https is ALWAYS enforced when bound to non-local interfaces
///
/// Default: false
//
// enforce_https_for_localhost false
// Whether to stack panes when resizing beyond a certain size
// Default: true
//
// stacked_resize false
// Whether to show tips on startup
// Default: true
//
// show_startup_tips false
// Whether to show release notes on first version run
// Default: true
//
// show_release_notes false
// Whether to enable mouse hover effects and pane grouping functionality
// default is true
// advanced_mouse_actions false
// The ip address the web server should listen on when it starts
// Default: "127.0.0.1"
// (Requires restart)
// web_server_ip "127.0.0.1"
// The port the web server should listen on when it starts
// Default: 8082
// (Requires restart)
// web_server_port 8082
// A command to run (will be wrapped with sh -c and provided the RESURRECT_COMMAND env variable)
// after Zellij attempts to discover a command inside a pane when resurrecting sessions, the STDOUT
// of this command will be used instead of the discovered RESURRECT_COMMAND
// can be useful for removing wrappers around commands
// Note: be sure to escape backslashes and similar characters properly
// post_command_discovery_hook "echo $RESURRECT_COMMAND | sed <your_regex_here>"

View File

@@ -1,536 +0,0 @@
//
// THIS FILE WAS AUTOGENERATED BY ZELLIJ, THE PREVIOUS FILE AT THIS LOCATION WAS COPIED TO: /home/jonas/.config/zellij/config.kdl.bak
//
keybinds clear-defaults=true {
locked {
bind "Ctrl g" { SwitchToMode "normal"; }
}
pane {
bind "left" { MoveFocus "left"; }
bind "down" { MoveFocus "down"; }
bind "up" { MoveFocus "up"; }
bind "right" { MoveFocus "right"; }
bind "c" { SwitchToMode "renamepane"; PaneNameInput 0; }
bind "d" { NewPane "down"; SwitchToMode "normal"; }
bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "normal"; }
bind "f" { ToggleFocusFullscreen; SwitchToMode "normal"; }
bind "h" { MoveFocus "left"; }
bind "i" { TogglePanePinned; SwitchToMode "normal"; }
bind "j" { MoveFocus "down"; }
bind "k" { MoveFocus "up"; }
bind "l" { MoveFocus "right"; }
bind "n" { NewPane; SwitchToMode "normal"; }
bind "p" { SwitchFocus; }
bind "Ctrl p" { SwitchToMode "normal"; }
bind "r" { NewPane "right"; SwitchToMode "normal"; }
bind "s" { NewPane "stacked"; SwitchToMode "normal"; }
bind "w" { ToggleFloatingPanes; SwitchToMode "normal"; }
bind "z" { TogglePaneFrames; SwitchToMode "normal"; }
}
tab {
bind "left" { GoToPreviousTab; }
bind "down" { GoToNextTab; }
bind "up" { GoToPreviousTab; }
bind "right" { GoToNextTab; }
bind "1" { GoToTab 1; SwitchToMode "normal"; }
bind "2" { GoToTab 2; SwitchToMode "normal"; }
bind "3" { GoToTab 3; SwitchToMode "normal"; }
bind "4" { GoToTab 4; SwitchToMode "normal"; }
bind "5" { GoToTab 5; SwitchToMode "normal"; }
bind "6" { GoToTab 6; SwitchToMode "normal"; }
bind "7" { GoToTab 7; SwitchToMode "normal"; }
bind "8" { GoToTab 8; SwitchToMode "normal"; }
bind "9" { GoToTab 9; SwitchToMode "normal"; }
bind "[" { BreakPaneLeft; SwitchToMode "normal"; }
bind "]" { BreakPaneRight; SwitchToMode "normal"; }
bind "b" { BreakPane; SwitchToMode "normal"; }
bind "h" { GoToPreviousTab; }
bind "j" { GoToNextTab; }
bind "k" { GoToPreviousTab; }
bind "l" { GoToNextTab; }
bind "n" { NewTab; SwitchToMode "normal"; }
bind "r" { SwitchToMode "renametab"; TabNameInput 0; }
bind "s" { ToggleActiveSyncTab; SwitchToMode "normal"; }
bind "Ctrl t" { SwitchToMode "normal"; }
bind "x" { CloseTab; SwitchToMode "normal"; }
bind "tab" { ToggleTab; }
}
resize {
bind "left" { Resize "Increase left"; }
bind "down" { Resize "Increase down"; }
bind "up" { Resize "Increase up"; }
bind "right" { Resize "Increase right"; }
bind "+" { Resize "Increase"; }
bind "-" { Resize "Decrease"; }
bind "=" { Resize "Increase"; }
bind "H" { Resize "Decrease left"; }
bind "J" { Resize "Decrease down"; }
bind "K" { Resize "Decrease up"; }
bind "L" { Resize "Decrease right"; }
bind "h" { Resize "Increase left"; }
bind "j" { Resize "Increase down"; }
bind "k" { Resize "Increase up"; }
bind "l" { Resize "Increase right"; }
bind "Ctrl n" { SwitchToMode "normal"; }
}
move {
bind "left" { MovePane "left"; }
bind "down" { MovePane "down"; }
bind "up" { MovePane "up"; }
bind "right" { MovePane "right"; }
bind "h" { MovePane "left"; }
bind "Ctrl h" { SwitchToMode "normal"; }
bind "j" { MovePane "down"; }
bind "k" { MovePane "up"; }
bind "l" { MovePane "right"; }
bind "n" { MovePane; }
bind "p" { MovePaneBackwards; }
bind "tab" { MovePane; }
}
scroll {
bind "e" { EditScrollback; SwitchToMode "normal"; }
bind "s" { SwitchToMode "entersearch"; SearchInput 0; }
}
search {
bind "c" { SearchToggleOption "CaseSensitivity"; }
bind "n" { Search "down"; }
bind "o" { SearchToggleOption "WholeWord"; }
bind "p" { Search "up"; }
bind "w" { SearchToggleOption "Wrap"; }
}
session {
bind "a" {
LaunchOrFocusPlugin "zellij:about" {
floating true
move_to_focused_tab true
}
SwitchToMode "normal"
}
bind "c" {
LaunchOrFocusPlugin "configuration" {
floating true
move_to_focused_tab true
}
SwitchToMode "normal"
}
bind "Ctrl o" { SwitchToMode "normal"; }
bind "p" {
LaunchOrFocusPlugin "plugin-manager" {
floating true
move_to_focused_tab true
}
SwitchToMode "normal"
}
bind "s" {
LaunchOrFocusPlugin "zellij:share" {
floating true
move_to_focused_tab true
}
SwitchToMode "normal"
}
bind "w" {
LaunchOrFocusPlugin "session-manager" {
floating true
move_to_focused_tab true
}
SwitchToMode "normal"
}
}
shared_except "locked" {
bind "Alt left" { MoveFocusOrTab "left"; }
bind "Alt down" { MoveFocus "down"; }
bind "Alt up" { MoveFocus "up"; }
bind "Alt right" { MoveFocusOrTab "right"; }
bind "Alt +" { Resize "Increase"; }
bind "Alt -" { Resize "Decrease"; }
bind "Alt =" { Resize "Increase"; }
bind "Alt [" { PreviousSwapLayout; }
bind "Alt ]" { NextSwapLayout; }
bind "Alt f" { ToggleFloatingPanes; }
bind "Ctrl g" { SwitchToMode "locked"; }
bind "Alt h" { MoveFocusOrTab "left"; }
bind "Alt i" { MoveTab "left"; }
bind "Alt j" { MoveFocus "down"; }
bind "Alt k" { MoveFocus "up"; }
bind "Alt l" { MoveFocusOrTab "right"; }
bind "Alt n" { NewPane; }
bind "Alt o" { MoveTab "right"; }
bind "Alt p" { TogglePaneInGroup; }
bind "Alt Shift p" { ToggleGroupMarking; }
bind "Ctrl q" { Quit; }
}
shared_except "locked" "move" {
bind "Ctrl h" { SwitchToMode "move"; }
}
shared_except "locked" "session" {
bind "Ctrl o" { SwitchToMode "session"; }
}
shared_except "locked" "scroll" "search" "tmux" {
bind "Ctrl b" { SwitchToMode "tmux"; }
}
shared_except "locked" "scroll" "search" {
bind "Ctrl s" { SwitchToMode "scroll"; }
}
shared_except "locked" "tab" {
bind "Ctrl t" { SwitchToMode "tab"; }
}
shared_except "locked" "pane" {
bind "Ctrl p" { SwitchToMode "pane"; }
}
shared_except "locked" "resize" {
bind "Ctrl n" { SwitchToMode "resize"; }
}
shared_except "normal" "locked" "entersearch" {
bind "enter" { SwitchToMode "normal"; }
}
shared_except "normal" "locked" "entersearch" "renametab" "renamepane" {
bind "esc" { SwitchToMode "normal"; }
}
shared_among "pane" "tmux" {
bind "x" { CloseFocus; SwitchToMode "normal"; }
}
shared_among "scroll" "search" {
bind "PageDown" { PageScrollDown; }
bind "PageUp" { PageScrollUp; }
bind "left" { PageScrollUp; }
bind "down" { ScrollDown; }
bind "up" { ScrollUp; }
bind "right" { PageScrollDown; }
bind "Ctrl b" { PageScrollUp; }
bind "Ctrl c" { ScrollToBottom; SwitchToMode "normal"; }
bind "d" { HalfPageScrollDown; }
bind "Ctrl f" { PageScrollDown; }
bind "h" { PageScrollUp; }
bind "j" { ScrollDown; }
bind "k" { ScrollUp; }
bind "l" { PageScrollDown; }
bind "Ctrl s" { SwitchToMode "normal"; }
bind "u" { HalfPageScrollUp; }
}
entersearch {
bind "Ctrl c" { SwitchToMode "scroll"; }
bind "esc" { SwitchToMode "scroll"; }
bind "enter" { SwitchToMode "search"; }
}
renametab {
bind "esc" { UndoRenameTab; SwitchToMode "tab"; }
}
shared_among "renametab" "renamepane" {
bind "Ctrl c" { SwitchToMode "normal"; }
}
renamepane {
bind "esc" { UndoRenamePane; SwitchToMode "pane"; }
}
shared_among "session" "tmux" {
bind "d" { Detach; }
}
tmux {
bind "left" { MoveFocus "left"; SwitchToMode "normal"; }
bind "down" { MoveFocus "down"; SwitchToMode "normal"; }
bind "up" { MoveFocus "up"; SwitchToMode "normal"; }
bind "right" { MoveFocus "right"; SwitchToMode "normal"; }
bind "space" { NextSwapLayout; }
bind "\"" { NewPane "down"; SwitchToMode "normal"; }
bind "%" { NewPane "right"; SwitchToMode "normal"; }
bind "," { SwitchToMode "renametab"; }
bind "[" { SwitchToMode "scroll"; }
bind "Ctrl b" { Write 2; SwitchToMode "normal"; }
bind "c" { NewTab; SwitchToMode "normal"; }
bind "h" { MoveFocus "left"; SwitchToMode "normal"; }
bind "j" { MoveFocus "down"; SwitchToMode "normal"; }
bind "k" { MoveFocus "up"; SwitchToMode "normal"; }
bind "l" { MoveFocus "right"; SwitchToMode "normal"; }
bind "n" { GoToNextTab; SwitchToMode "normal"; }
bind "o" { FocusNextPane; }
bind "p" { GoToPreviousTab; SwitchToMode "normal"; }
bind "z" { ToggleFocusFullscreen; SwitchToMode "normal"; }
}
}
// Plugin aliases - can be used to change the implementation of Zellij
// changing these requires a restart to take effect
plugins {
about location="zellij:about"
compact-bar location="zellij:compact-bar"
configuration location="zellij:configuration"
filepicker location="zellij:strider" {
cwd "/"
}
plugin-manager location="zellij:plugin-manager"
session-manager location="zellij:session-manager"
status-bar location="zellij:status-bar"
strider location="zellij:strider"
tab-bar location="zellij:tab-bar"
welcome-screen location="zellij:session-manager" {
welcome_screen true
}
}
// Plugins to load in the background when a new session starts
// eg. "file:/path/to/my-plugin.wasm"
// eg. "https://example.com/my-plugin.wasm"
load_plugins {
}
web_client {
font "monospace"
}
// Use a simplified UI without special fonts (arrow glyphs)
// Options:
// - true
// - false (Default)
//
// simplified_ui true
// Choose the theme that is specified in the themes section.
// Default: default
//
// theme "dracula"
// Choose the base input mode of zellij.
// Default: normal
//
// default_mode "locked"
// Choose the path to the default shell that zellij will use for opening new panes
// Default: $SHELL
//
// default_shell "fish"
// Choose the path to override cwd that zellij will use for opening new panes
//
// default_cwd "/tmp"
// The name of the default layout to load on startup
// Default: "default"
//
// default_layout "compact"
// The folder in which Zellij will look for layouts
// (Requires restart)
//
// layout_dir "/tmp"
// The folder in which Zellij will look for themes
// (Requires restart)
//
// theme_dir "/tmp"
// Toggle enabling the mouse mode.
// On certain configurations, or terminals this could
// potentially interfere with copying text.
// Options:
// - true (default)
// - false
//
// mouse_mode false
// Toggle having pane frames around the panes
// Options:
// - true (default, enabled)
// - false
//
// pane_frames false
// When attaching to an existing session with other users,
// should the session be mirrored (true)
// or should each user have their own cursor (false)
// (Requires restart)
// Default: false
//
// mirror_session true
// Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP
// eg. when terminal window with an active zellij session is closed
// (Requires restart)
// Options:
// - detach (Default)
// - quit
//
// on_force_close "quit"
// Configure the scroll back buffer size
// This is the number of lines zellij stores for each pane in the scroll back
// buffer. Excess number of lines are discarded in a FIFO fashion.
// (Requires restart)
// Valid values: positive integers
// Default value: 10000
//
// scroll_buffer_size 10000
// Provide a command to execute when copying text. The text will be piped to
// the stdin of the program to perform the copy. This can be used with
// terminal emulators which do not support the OSC 52 ANSI control sequence
// that will be used by default if this option is not set.
// Examples:
//
// copy_command "xclip -selection clipboard" // x11
// copy_command "wl-copy" // wayland
// copy_command "pbcopy" // osx
//
// copy_command "pbcopy"
// Choose the destination for copied text
// Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard.
// Does not apply when using copy_command.
// Options:
// - system (default)
// - primary
//
// copy_clipboard "primary"
// Enable automatic copying (and clearing) of selection when releasing mouse
// Default: true
//
// copy_on_select true
// Path to the default editor to use to edit pane scrollbuffer
// Default: $EDITOR or $VISUAL
// scrollback_editor "/usr/bin/vim"
// A fixed name to always give the Zellij session.
// Consider also setting `attach_to_session true,`
// otherwise this will error if such a session exists.
// Default: <RANDOM>
//
// session_name "My singleton session"
// When `session_name` is provided, attaches to that session
// if it is already running or creates it otherwise.
// Default: false
//
// attach_to_session true
// Toggle between having Zellij lay out panes according to a predefined set of layouts whenever possible
// Options:
// - true (default)
// - false
//
// auto_layout false
// Whether sessions should be serialized to the cache folder (including their tabs/panes, cwds and running commands) so that they can later be resurrected
// Options:
// - true (default)
// - false
//
// session_serialization false
// Whether pane viewports are serialized along with the session, default is false
// Options:
// - true
// - false (default)
//
// serialize_pane_viewport false
// Scrollback lines to serialize along with the pane viewport when serializing sessions, 0
// defaults to the scrollback size. If this number is higher than the scrollback size, it will
// also default to the scrollback size. This does nothing if `serialize_pane_viewport` is not true.
//
// scrollback_lines_to_serialize 10000
// Enable or disable the rendering of styled and colored underlines (undercurl).
// May need to be disabled for certain unsupported terminals
// (Requires restart)
// Default: true
//
// styled_underlines false
// How often in seconds sessions are serialized
//
// serialization_interval 10000
// Enable or disable writing of session metadata to disk (if disabled, other sessions might not know
// metadata info on this session)
// (Requires restart)
// Default: false
//
// disable_session_metadata false
// Enable or disable support for the enhanced Kitty Keyboard Protocol (the host terminal must also support it)
// (Requires restart)
// Default: true (if the host terminal supports it)
//
// support_kitty_keyboard_protocol false
// Whether to make sure a local web server is running when a new Zellij session starts.
// This web server will allow creating new sessions and attaching to existing ones that have
// opted in to being shared in the browser.
// When enabled, navigate to http://127.0.0.1:8082
// (Requires restart)
//
// Note: a local web server can still be manually started from within a Zellij session or from the CLI.
// If this is not desired, one can use a version of Zellij compiled without
// `web_server_capability`
//
// Possible values:
// - true
// - false
// Default: false
//
// web_server false
// Whether to allow sessions started in the terminal to be shared through a local web server, assuming one is
// running (see the `web_server` option for more details).
// (Requires restart)
//
// Note: This is an administrative separation and not intended as a security measure.
//
// Possible values:
// - "on" (allow web sharing through the local web server if it
// is online)
// - "off" (do not allow web sharing unless sessions explicitly opt-in to it)
// - "disabled" (do not allow web sharing and do not permit sessions started in the terminal to opt-in to it)
// Default: "off"
//
// web_sharing "off"
// A path to a certificate file to be used when setting up the web client to serve the
// connection over HTTPs
//
// web_server_cert "/path/to/cert.pem"
// A path to a key file to be used when setting up the web client to serve the
// connection over HTTPs
//
// web_server_key "/path/to/key.pem"
/// Whether to enforce https connections to the web server when it is bound to localhost
/// (127.0.0.0/8)
///
/// Note: https is ALWAYS enforced when bound to non-local interfaces
///
/// Default: false
//
// enforce_https_for_localhost false
// Whether to stack panes when resizing beyond a certain size
// Default: true
//
// stacked_resize false
// Whether to show tips on startup
// Default: true
//
show_startup_tips false
// Whether to show release notes on first version run
// Default: true
//
// show_release_notes false
// Whether to enable mouse hover effects and pane grouping functionality
// default is true
// advanced_mouse_actions false
// The ip address the web server should listen on when it starts
// Default: "127.0.0.1"
// (Requires restart)
// web_server_ip "127.0.0.1"
// The port the web server should listen on when it starts
// Default: 8082
// (Requires restart)
// web_server_port 8082
// A command to run (will be wrapped with sh -c and provided the RESURRECT_COMMAND env variable)
// after Zellij attempts to discover a command inside a pane when resurrecting sessions, the STDOUT
// of this command will be used instead of the discovered RESURRECT_COMMAND
// can be useful for removing wrappers around commands
// Note: be sure to escape backslashes and similar characters properly
// post_command_discovery_hook "echo $RESURRECT_COMMAND | sed <your_regex_here>"

View File

@@ -1,5 +1,5 @@
[window] [window]
#opacity = 0.8 opacity = 0.8
[font] [font]
normal = { family = "monospace", style = "Medium" } normal = { family = "monospace", style = "Medium" }

View File

@@ -1,7 +1,7 @@
# Main dunst configuration # Main dunst configuration
[global] [global]
monitor = 2 # For the multi monitor setup monitor = 0
follow = none follow = none
origin = top-right origin = top-right
offset = 5 x 15 offset = 5 x 15
@@ -28,6 +28,7 @@
alignment = left alignment = left
vertical_alignment = center vertical_alignment = center
ignore_newline = no ignore_newline = no
stack_duplicates = true stack_duplicates = true
hide_duplicate_count = false hide_duplicate_count = false
@@ -37,3 +38,4 @@
corner_radius = 5 corner_radius = 5
corners = bottom, top-left corners = bottom, top-left

View File

@@ -5,50 +5,26 @@ monitor = HDMI-A-1, 1920x1080@60, 0x0, 1
monitor = HDMI-A-2, 1920x1080@60, -1920x0, 1 monitor = HDMI-A-2, 1920x1080@60, -1920x0, 1
monitor = DP-1, 1920x1080@60, 1920x0, 1 monitor = DP-1, 1920x1080@60, 1920x0, 1
device { input:tablet {
name = gaomon-gaomon-tablet # Big one
output = HDMI-A-1 output = HDMI-A-1
active_area_size = 170, 120 active_area_size = 170, 120
active_area_position = 35, 30 active_area_position = 35, 30
} }
device {
name = gaomon-gaomon-tablet-pen # Small one
output = HDMI-A-1
active_area_size = 155, 60
active_area_position = 0, 0
}
####################################################################################### #######################################################################################
$terminal = alacritty $terminal = alacritty
$menu = tofi-drun --terminal="alacritty -e" | sh $menu = tofi-drun --terminal=kitty | sh
####################################################################################### #######################################################################################
exec-once = waybar exec-once = waybar
exec-once = hyprsunset -t 3000 exec-once = hyprsunset -t 3000
exec-once = wl-clip-persist --clipboard regular exec-once = wl-clip-persist --clipboard regular
#exec-once = hyprpaper exec-once = hyprpaper
exec-once = nm-applet exec-once = nm-applet
exec-once = ~/projects/scripts/shell/start_kmonad.sh exec-once = ~/projects/scripts/shell/rnote_mapper.sh
exec-once = sleep 5 && nextcloud
# To save battery
#exec-once = sleep 5 && owncloud
# Prevent speaker damage
exec-once = sleep 5 && wpctl set-volume @DEFAULT_AUDIO_SINK@ 42%
#exec-once = ~/projects/scripts/shell/rnote_mapper.sh
exec-once = ~/projects/scripts/shell/toggle_grayscale.sh
exec-once = ~/projects/scripts/shell/computer.sh
# Mount the webdav folder configured by rclone
#exec-once = mkdir -p ~/Notecloud
#exec-once = rclone mount Strato: ~/Notecloud
# Set the right workspace otherwise it is set to ten
exec-once = sleep 0.1 && hyprctl dispatch workspace 1
# Check the hostname and enable animations only on a specific device # Check the hostname and enable animations only on a specific device
#exec-once = sh -c 'if [ "$(hostname)" = "minoxy" ]; then hyprctl keyword animations enabled; fi' #exec-once = sh -c 'if [ "$(hostname)" = "minoxy" ]; then hyprctl keyword animations enabled; fi'
@@ -64,14 +40,10 @@ workspace=4,monitor:HDMI-A-1
workspace=5,monitor:HDMI-A-2 workspace=5,monitor:HDMI-A-2
workspace=6,monitor:HDMI-A-2 workspace=6,monitor:HDMI-A-2
workspace=7,monitor:HDMI-A-2 workspace=7,monitor:HDMI-A-2
workspace=11,monitor:HDMI-A-2
workspace=12,monitor:HDMI-A-2
workspace=8,monitor:DP-1 workspace=8,monitor:DP-1
workspace=9,monitor:DP-1 workspace=9,monitor:DP-1
workspace=13,monitor:DP-1 workspace=0,monitor:DP-1
workspace=14,monitor:DP-1
env = HYPRCURSOR_THEME,catppuccin-frappe-rosewater-cursors env = HYPRCURSOR_THEME,catppuccin-frappe-rosewater-cursors
env = HYPRCURSOR_SIZE,18 env = HYPRCURSOR_SIZE,18
@@ -97,7 +69,6 @@ misc {
input { input {
kb_layout = us kb_layout = us
kb_options = compose:ralt
follow_mouse = 1 follow_mouse = 1
touchpad { touchpad {
natural_scroll = false natural_scroll = false
@@ -113,7 +84,6 @@ bind = $mainMod, B, exec, firefox
bind = $mainMod, M, exit, bind = $mainMod, M, exit,
bind = $mainMod, F, togglefloating, bind = $mainMod, F, togglefloating,
bind = $mainMod, P, exec, $menu bind = $mainMod, P, exec, $menu
bind = $mainMod, E, exec, nemo
# Some keybindings for screenshot and colorpicking # Some keybindings for screenshot and colorpicking
bind = , Print, exec, hyprshot -m region --clipboard-only bind = , Print, exec, hyprshot -m region --clipboard-only
@@ -136,10 +106,6 @@ bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8 bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9 bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10 bind = $mainMod, 0, workspace, 10
bind = $mainMod, A, workspace, 11
bind = $mainMod, S, workspace, 12
bind = $mainMod, D, workspace, 13
bind = $mainMod, G, workspace, 14
bind = $mainMod SHIFT, 1, movetoworkspace, 1 bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2 bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3 bind = $mainMod SHIFT, 3, movetoworkspace, 3
@@ -150,16 +116,8 @@ bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8 bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9 bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10 bind = $mainMod SHIFT, 0, movetoworkspace, 10
bind = $mainMod SHIFT, A, movetoworkspace, 11
bind = $mainMod SHIFT, S, movetoworkspace, 12
bind = $mainMod SHIFT, D, movetoworkspace, 13
bind = $mainMod SHIFT, G, movetoworkspace, 14
bind = $mainMod, F12, exec, ~/projects/scripts/unison_sync.sh bind = $mainMod, F12, exec, ~/projects/scripts/unison_sync.sh
# Useful rotation for thinkpad
bind = $mainMod SHIFT, F7, exec, hyprctl keyword monitor eDP-1,preferred,auto,1,transform,2
bind = $mainMod, F7, exec, hyprctl keyword monitor eDP-1,preferred,auto,1,transform,0
# Resizeing with mouse buttons while pressed mod # Resizeing with mouse buttons while pressed mod
bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow bindm = $mainMod, mouse:273, resizewindow
@@ -179,7 +137,6 @@ bindt = $mainMod SHIFT, L, exec, hyprlock
windowrulev2 = suppressevent maximize, class:.* windowrulev2 = suppressevent maximize, class:.*
windowrulev2 = float, class:(clipse) windowrulev2 = float, class:(clipse)
windowrulev2 = float, class:(Edit Item)
windowrulev2 = size 622 652, class:(clipse) windowrulev2 = size 622 652, class:(clipse)
windowrulev2 = stayfocused, class:(clipse) windowrulev2 = stayfocused, class:(clipse)
windowrulev2 = float, class:(org.kde.dolphin) windowrulev2 = float, class:(org.kde.dolphin)
@@ -211,7 +168,7 @@ windowrulev2 = workspace 5, class:(steam)
windowrulev2 = workspace 5, class:(blender) windowrulev2 = workspace 5, class:(blender)
windowrulev2 = workspace 6, initialTitle:(LibreOffice) windowrulev2 = workspace 6, initialTitle:(LibreOffice)
#windowrulev2 = workspace 6, initialTitle:(GNU Image Manipulation Program) windowrulev2 = workspace 6, initialTitle:(GNU Image Manipulation Program)
windowrulev2 = workspace 6, class:(org.shotcut.Shotcut) windowrulev2 = workspace 6, class:(org.shotcut.Shotcut)
# Social Apps # Social Apps
@@ -239,54 +196,28 @@ windowrulev2 = workspace 10, class:(org.prismlauncher.PrismLauncher)
#windowrule = float,^(sioyek)$ # set rounding to 10 for kitty #windowrule = float,^(sioyek)$ # set rounding to 10 for kitty
windowrulev2 = size 900 500, title:(Select Document) windowrulev2 = size 900 500, title:(Select Document)
windowrulev2 = size 900 500, title:(Open File) windowrulev2 = size 900 500, title:(Open File)
windowrulev2 = float, class:(PrismLauncher)
windowrulev2 = workspace 9, class:(PrismLauncher)
windowrulev2 = workspace 4, class:(Minecraft*)
# Settings applications will float # Settings applications will float
windowrulev2 = float, class:(qt6ct) windowrulev2 = float, class:(qt6ct)
windowrulev2 = float, class:(nm-connection-editor)
windowrulev2 = float, title:(Save Document As)
windowrulev2 = float, title:(Print)
windowrulev2 = float, class:(simple-scan) windowrulev2 = float, class:(simple-scan)
windowrulev2 = float, title:(Kvantum Manager) windowrulev2 = float, title:(Kvantum Manager)
windowrulev2 = float, class:(qt5ct) windowrulev2 = float, class:(qt5ct)
windowrulev2 = float, title:(Open File) windowrulev2 = float, title:(Open File)
windowrulev2 = float, title:(Open Folder) windowrulev2 = float, title:(Open Folder)
windowrulev2 = float, title:(Save As) windowrulev2 = float, title:(Save As)
windowrulev2 = float, title:(Preferences) windowrulev2 = tile, class:(sioyek)
windowrulev2 = float, title:(Add)
windowrulev2 = size 450 450, class:(Gnuplot) windowrulev2 = size 450 450, class:(Gnuplot)
windowrulev2 = move 100 203, class:(Gnuplot) windowrulev2 = move 100 203100, class:(Gnuplot)
# Overwrite mechanics windowrulev2 = float, class:(io.github.Qalculate.qalculate-qt)
windowrulev2 = float, class:(thunderbird) windowrulev2 = size 700 700, class:(Qalculate!)
windowrulev2 = tile, initialTitle:(Mozilla Thunderbird)
#windowrulev2 = tile, class:(sioyek)
windowrulev2 = float, title:(Select Document) windowrulev2 = float, title:(Select Document)
windowrulev2 = float, class:(Nextcloud)
windowrulev2 = move 1250 28, class:(Nextcloud)
windowrulev2 = move 700 50, title:(Nextcloud Settings)
windowrulev2 = size 700 800, title:(Nextcloud Settings)
windowrulev2 = float, class:(ownCloud) windowrulev2 = size 800 250, class:(org.pulseaudio.pavucontrol)
windowrulev2 = move 800 48, class:(ownCloud)
windowrulev2 = move 700 50, title:(Nextcloud Settings)
windowrulev2 = size 1200 900, title:(Add)
windowrulev2 = size 800 450, class:(org.pulseaudio.pavucontrol)
windowrulev2 = move 40 80, class:(org.pulseaudio.pavucontrol) windowrulev2 = move 40 80, class:(org.pulseaudio.pavucontrol)
windowrulev2 = move 1300 80, class:(nm-connection-editor)
windowrulev2 = float, class:(org.pulseaudio.pavucontrol) windowrulev2 = float, class:(org.pulseaudio.pavucontrol)
windowrulev2 = float, class:(cheese) windowrulev2 = float, class:(cheese)
windowrulev2 = float, class:(nemo)
windowrulev2 = float, initialTitle:(Open)
windowrulev2 = size 1200 900, class:(nemo)
windowrulev2 = move 50 100, class:(xdragon) windowrulev2 = move 50 100, class:(xdragon)
windowrulev2 = pin, class:(xdragon) windowrulev2 = pin, class:(xdragon)

View File

@@ -1,45 +0,0 @@
input-field {
size = 280, 55
outline_thickness = 2
dots_size = 0.2
dots_spacing = 0.2
dots_center = true
outer_color = rgba(10, 0, 0, 0)
inner_color = rgba(255, 255, 255, 0.1)
font_color = rgb(200, 200, 200)
fade_on_empty = false
font_family = SF Pro Display Bold
placeholder_text = <i><span foreground="##ffffff99">Enter Pass</span></i>
hide_input = false
position = 0, -210
halign = center
valign = center
}
# Date display
label {
monitor =
text = cmd[update:1000] echo -e "$(LC_TIME=en_US.UTF-8 date +"%A, %B %d")"
color = rgba(216, 222, 233, 0.90)
font_size = 25
font_family = SF Pro Display Semibold
position = 0, 350
halign = center
valign = center
}
# Time display
label {
monitor =
text = cmd[update:1000] echo "<span>$(date +"%I:%M")</span>"
color = rgba(216, 222, 233, 0.90)
font_size = 120
font_family = SF Pro Display Bold
position = 0, 230
halign = center
valign = center
}
# Set to just black background as wanted
background {
contrast = 0.5
}

View File

@@ -1,18 +0,0 @@
#version 300 es
precision highp float;
in vec2 v_texcoord;
uniform sampler2D tex;
out vec4 fragColor;
void main() {
vec4 pixColor = texture(tex, v_texcoord);
float gray = 0.0;
// Get gray with luminosity and hdr
// https://en.wikipedia.org/wiki/Grayscale#Luma_coding_in_video_systems
gray = dot(pixColor.rgb, vec3(0.2627, 0.6780, 0.0593));
fragColor = vec4(vec3(gray), pixColor.a);
}

View File

@@ -2,7 +2,7 @@ include ./theme.conf
font_size 11.5 font_size 11.5
enable_audio_bell yes enable_audio_bell yes
#background_opacity 0.80 background_opacity 0.80
default_pointer_shape arrow default_pointer_shape arrow
mouse_hide_wait 1 mouse_hide_wait 1

View File

@@ -2,7 +2,7 @@ font = NotoFont
font-size = 14 font-size = 14
outline-width = 0 outline-width = 0
border-width = 2 border-width = 1
padding-left = 4% padding-left = 4%
padding-top = 2% padding-top = 2%
@@ -10,16 +10,17 @@ background-color = #111
text-color = #f9fbff text-color = #f9fbff
selection-color = #933 selection-color = #933
prompt-text = "Act: " prompt-text = "Act: "
placeholder-text = "Now"
width = 30% width = 20%
height = 30% height = 40%
anchor = bottom-right
anchor = top margin-top = 100
margin-top = 250 margin-bottom = 100
input-background = #1234 input-background = #1234
margin-left = 100
margin-right = 100
hide-cursor = false hide-cursor = false
corner-radius = 7 corner-radius = 10
border-color = #F9a672 border-color = #F9a672
background-color = #1B1D1Eaa background-color = #1B1D1Eaa

View File

@@ -1,6 +1,6 @@
[{ {
"height": 0,
"position": "top", "position": "top",
"output": ["HDMI-A-1", "eDP-1"],
"modules-left": ["hyprland/workspaces", "hyprland/window"], "modules-left": ["hyprland/workspaces", "hyprland/window"],
"modules-center": ["custom/webdav","clock", "custom/status"], "modules-center": ["custom/webdav","clock", "custom/status"],
"modules-right": ["tray", "pulseaudio", "backlight", "cpu", "memory", "battery"], "modules-right": ["tray", "pulseaudio", "backlight", "cpu", "memory", "battery"],
@@ -44,14 +44,4 @@
"icon-size": 21, "icon-size": 21,
"spacing": 5 "spacing": 5
}, },
}, { }
"width": 0,
"position": "right",
"output": "HDMI-A-2",
"modules-left": [ "hyprland/workspaces"],
}, {
"width": 0,
"position": "left",
"output": "DP-1",
"modules-left": [ "hyprland/workspaces"],
}]

8
home/.bashrc Normal file
View File

@@ -0,0 +1,8 @@
source $HOME/.common_shell
if [ -f /etc/NIXOS ]; then
eval "$(starship init bash)"
else
PS1='\u@\h:\w\$ '
fi

View File

@@ -4,7 +4,6 @@
lg = "log --oneline --graph --decorate" lg = "log --oneline --graph --decorate"
st = "status" st = "status"
up = "!f() { git add .; git commit -a -m 'auto commit'; git fetch -a && git pull && git push; }; f" up = "!f() { git add .; git commit -a -m 'auto commit'; git fetch -a && git pull && git push; }; f"
up = "!f() { git add .; git commit -a -m 'auto commit'; git fetch -a && git pull && git push; }; f"
[branch] [branch]
autoSetupMerge = true autoSetupMerge = true
@@ -23,9 +22,6 @@
email = "jonashahn1@gmx.net" email = "jonashahn1@gmx.net"
name = "Jonas Hahn" name = "Jonas Hahn"
[diff]
tool = "vimdiff"
[core] [core]
autocrlf = input autocrlf = input
@@ -34,17 +30,3 @@
smudge = git-lfs smudge -- %f smudge = git-lfs smudge -- %f
process = git-lfs filter-process process = git-lfs filter-process
required = true required = true
[advice]
mergeConflict = false
[sendemail]
smtpserver = mail.gmx.net
smtpuser = jonashahn1@gmx.net
smtpencryption = ssl
smtpserverport = 465
confirm = "never"
suppressCc = "all"
[credential]
helper = store

View File

@@ -8,9 +8,6 @@ bind-key u new-window -d -n fzf-switcher "bash -c '~/projects/scripts/find_gits.
bind-key s choose-tree -ZsK '#{?#{e|<:#{line},9},#{e|+:1,#{line}},#{?#{e|<:#{line},35},M-#{a:#{e|+:97,#{e|-:#{line},9}}},}}' bind-key s choose-tree -ZsK '#{?#{e|<:#{line},9},#{e|+:1,#{line}},#{?#{e|<:#{line},35},M-#{a:#{e|+:97,#{e|-:#{line},9}}},}}'
#bind-key -n M-9 run-shell "tmux last-window; tmux select-window -t 9; tmux send-keys '!!' Enter; tmux last-window" #bind-key -n M-9 run-shell "tmux last-window; tmux select-window -t 9; tmux send-keys '!!' Enter; tmux last-window"
bind-key & kill-window
bind-key x kill-pane
############# Cosmetics ############# Cosmetics
set-option -g status-bg black set-option -g status-bg black
set-option -g status-fg white set-option -g status-fg white

View File

@@ -1,13 +1,8 @@
source $HOME/.common_shell source $HOME/.common_shell
export TERM="alacritty"
bindkey '^R' history-incremental-search-backward bindkey '^R' history-incremental-search-backward
bindkey -v bindkey -v
alias cat="bat"
alias ls="exa"
function rgnvim() { function rgnvim() {
rg --vimgrep "$@" \ rg --vimgrep "$@" \
| fzf --delimiter : --nth 1,2,3,4 \ | fzf --delimiter : --nth 1,2,3,4 \
@@ -77,10 +72,3 @@ fi
if [ -f "/etc/NIXOS" ]; then if [ -f "/etc/NIXOS" ]; then
eval "$(starship init zsh)" eval "$(starship init zsh)"
fi fi
# opencode
export PATH=/home/jonas/.opencode/bin:$PATH
# Added by GitLab Knowledge Graph installer
# Wird auch von uv genutzt
export PATH="$HOME/.local/bin:$PATH"

View File

@@ -1,19 +0,0 @@
source $HOME/.common_shell
if [ -f /etc/NIXOS ]; then
eval "$(starship init bash)"
eval "$(zoxide init bash)"
else
PS1='\u@\h:\w\$ '
fi
function r() {
local tmp="$(mktemp -t "yazi-cwd.XXXXXX")" cwd
yazi "$@" --cwd-file="$tmp"
IFS= read -r -d '' cwd < "$tmp"
[ -n "$cwd" ] && [ "$cwd" != "$PWD" ] && builtin cd -- "$cwd"
rm -f -- "$tmp"
}
# Added by GitLab Knowledge Graph installer
export PATH="$HOME/.local/bin:$PATH"

View File

@@ -2,36 +2,20 @@
# Common config across different shells # # Common config across different shells #
######################################### #########################################
export EDITOR='hx' export EDITOR='nvim'
export HTTP_HOME="duckduckgo.com" export HTTP_HOME="duckduckgo.com"
export RANGER_LOAD_DEFAULT_RC=false export RANGER_LOAD_DEFAULT_RC=false
export PATH=$HOME/programs_local/:$HOME/.cargo/bin:~/projects/scripts:/usr/local/bin:$PATH export PATH=$HOME/programs_local/:$HOME/.cargo/bin:~/projects/scripts:$HOME/.local/bin:/usr/local/bin:$PATH
export PATH=$HOME/programs_local/:~/projects/scripts:~/projects/scripts/other:$PATH export PATH=$HOME/programs_local/:~/projects/scripts:$PATH
export TERM="xterm"
export MANPAGER="nvim +Man!" export MANPAGER="nvim +Man!"
export GOPATH=$HOME/.go export GOPATH=$HOME/.go
export PATH=$HOME/.go/bin:$PATH export PATH=$HOME/.go/bin:$PATH
export ANDROID_HOME=/home/jonas/Android export ANDROID_HOME=/home/jonas/Android
export NAP_CONFIG="~/.config/nap/config.yaml"
export loc="$HOME/files_local/" export loc="$HOME/files_local/"
# Currently not working
alias gita="GIT_PAGER=cat git cat-file --batch-all-objects --batch-check \
| awk '$2==\"blob\"{print $1}' \
| xargs -n1 -I{} sh -c '
echo; echo \"==================== {} ====================\";
git cat-file -p {} > /tmp/blob.bin;
case "$(file -b /tmp/blob.bin)" in
*text*) sed -n \"1,200p\" /tmp/blob.bin ;;
*) strings /tmp/blob.bin | sed -n \"1,200p\" ;;
esac
'"
alias oati="~/projects/scripts/oathi.sh" alias oati="~/projects/scripts/oathi.sh"
alias imu="immich upload -r ."
alias chch="~/projects/scripts/check_git.sh" alias chch="~/projects/scripts/check_git.sh"
alias rp="rsync --info=progress2 -a --checksum"
alias aut="~/projects/scripts/autostart-server.sh" alias aut="~/projects/scripts/autostart-server.sh"
alias tt="~/projects/scripts/find_gits.sh" alias tt="~/projects/scripts/find_gits.sh"
alias on="nvim ~/projects/planner/quick.md" alias on="nvim ~/projects/planner/quick.md"
@@ -40,14 +24,11 @@ alias um="umount /mnt/webdav"
alias mm="systemctl start mnt-webdav.mount" alias mm="systemctl start mnt-webdav.mount"
alias wi="wiki-tui" alias wi="wiki-tui"
alias a="alpine" alias a="alpine"
alias h="hx"
alias l="lazygit"
alias ff="~/projects/scripts/hyprfix.sh" # Fix the touchpad not working on the laptop with a simple script alias ff="~/projects/scripts/hyprfix.sh" # Fix the touchpad not working on the laptop with a simple script
alias sp="spotify_player" alias sp="spotify_player"
alias ne="newsboat" alias ne="newsboat"
alias j="zellij -l compact options --simplified-ui true"
alias po="castero" alias po="castero"
alias h="~/projects/scripts/shell/helper.sh" alias h="zsh"
alias tw="torify w3m duckduckgo.com" alias tw="torify w3m duckduckgo.com"
alias rmbak="mkdir -p ~/.local/share/Trash/files && find . -name '.bak.*' -exec mv '{}' ~/.local/share/Trash/files \;" alias rmbak="mkdir -p ~/.local/share/Trash/files && find . -name '.bak.*' -exec mv '{}' ~/.local/share/Trash/files \;"
alias f="~/projects/scripts/search.sh" alias f="~/projects/scripts/search.sh"
@@ -57,7 +38,7 @@ alias lg="lazygit"
alias m="make" alias m="make"
alias mn="make nix" alias mn="make nix"
alias syn="~/projects/scripts/run_unison.sh" alias syn="~/projects/scripts/run_unison.sh"
alias s="sync && source ~/.zshrc" alias s="~/projects/scripts/run_unison.sh"
alias rmt="rm /tmp/all_git_projects" alias rmt="rm /tmp/all_git_projects"
alias fu="chch && fla && shd" alias fu="chch && fla && shd"
alias fla="sudo nixos-rebuild switch --flake ~/nixos#" alias fla="sudo nixos-rebuild switch --flake ~/nixos#"
@@ -73,7 +54,7 @@ alias t="todo.sh"
alias tl="todo.sh list" alias tl="todo.sh list"
alias td="todo.sh do" alias td="todo.sh do"
alias de="sudo loadkeys de" alias de="sudo loadkeys de"
alias us="~/projects/scripts/shell/uni_setup.sh > /dev/zero 2>&1" alias us="sudo loadkeys us"
alias b="btop" alias b="btop"
alias c="cat" alias c="cat"
alias chch="~/projects/scripts/check_git.sh" alias chch="~/projects/scripts/check_git.sh"
@@ -82,11 +63,7 @@ alias gui="Hyprland && clear"
alias ls='ls --color=auto' alias ls='ls --color=auto'
alias tofiu='rm ~/.cache/tofi-drun' alias tofiu='rm ~/.cache/tofi-drun'
alias ll='exa -la ' alias ll='exa -la '
alias shd="systemctl poweroff" alias shd="shutdown now"
alias nt="nvim ~/Nextcloud/Notes/in.txt"
alias upda="~/projects/scripts/shell/up.sh"
alias ttt='timer -f 10m' alias ttt='timer -f 10m'
alias zshconfig="mate ~/.zshrc" alias zshconfig="mate ~/.zshrc"
alias giter="git add . && git commit -a -m 'auto commit' && git push" alias giter="git add . && git commit -a -m 'auto commit' && git push"
@@ -95,23 +72,3 @@ alias oiiiii="bash ~/management/office/sync.sh in"
alias ou="bash ~/management/office/sync.sh out" alias ou="bash ~/management/office/sync.sh out"
alias aiiiii="bash ~/projects/scripts/sync_all.sh in" alias aiiiii="bash ~/projects/scripts/sync_all.sh in"
alias au="bash ~/projects/scripts/sync_all.sh out" alias au="bash ~/projects/scripts/sync_all.sh out"
alias ia="ip a"
alias sn="nohup 'nextcloud' > /dev/zero &"
alias pdf="~/projects/scripts/shell/traverse_pdf.sh"
alias ud="~/projects/scripts/shell/traverse_pdf.sh ~/projects/university ~/Nextcloud/University"
alias rnt="~/projects/scripts/shell/traverse_rnote.sh ~/Nextcloud/University ~/Nextcloud/HandNotes"
alias typ="~/projects/scripts/shell/traverse_typst.sh ~/projects/university"
alias mt="mkdir -p ~/Notecloud && rclone mount Strato: ~/Notecloud"
alias tp="~/projects/scripts/shell/open_sess.sh"
# From gpt
alias nv='tmux new-session -d -s university -n uni "cd ~/projects/university && nvim -c '\''lua require(\"custom.uni\").select_course_directory()'\''" && tmux new-window -t university:2 -n typstar "cd ~/projects/typstar; exec $SHELL" && tmux select-window -t university:1 && tmux attach -t university'
alias gre='grep -C 7 '
alias f='nvim -c "lua vim.defer_fn(function() require(\"utils.functions\").fzf_wrapped(\"find\") end, 100)"'
alias g='nvim -c "lua vim.defer_fn(function() require(\"utils.functions\").fzf_wrapped(\"grep\") end, 100)"'
alias kn="killall .nextcloud-wrapped"
alias vim="nvim"
alias kh="kmonad ~/dotfiles/home/dot-kmonad/hyper.kbd"

View File

@@ -1,68 +0,0 @@
(defcfg
input (device-file "/dev/input/by-id/usb-HyperX_Alloy_Elite_RGB_HyperX_Alloy_Elite_RGB-event-kbd")
output (uinput-sink "Jonas kmonad modified output")
cmp-seq ralt
cmp-seq-delay 5
key-seq-delay 5
fallthrough true
allow-cmd true
implicit-around around
)
(defsrc
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 ssrq slck pause
grv 1 2 3 4 5 6 7 8 9 0 - = bspc ins home pgup nlck kp/ kp* kp-
tab q w e r t y u i o p [ ] ret del end pgdn kp7 kp8 kp9 kp+
caps a s d f g h j k l ; ' \ kp4 kp5 kp6
lsft 102d z x c v b n m , . / rsft up kp1 kp2 kp3 kprt
lctl lmet lalt spc ralt rmet cmp rctl left down rght kp0 kp.
)
(defalias
caps (tap-hold-next 200 esc lctl)
symbols (layer-toggle symbols)
neo (layer-switch neo)
specials (layer-toggle specials)
default (layer-switch default)
)
(deflayer default
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 ssrq XX XX
grv 1 2 3 4 5 6 7 8 9 0 - = bspc XX XX XX XX XX XX XX
tab q w e r t y u i o p [ ] ret XX XX XX XX XX XX XX
@caps a s d f g h j k l ; @symbols @symbols XX XX XX
rsft @specials z x c v b n m , . / rsft up XX XX XX XX
@neo lalt lmet spc lalt XX XX XX left down rght XX XX
)
;; Inspired from neo, graphite and enthium
(deflayer neo
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 ssrq XX XX
XX 1 2 3 4 5 6 7 8 9 0 XX XX bspc XX XX XX XX XX XX XX
tab b l d w z _ f o u j XX XX ret XX XX XX XX XX XX XX
@caps n r t s g y h a e i @symbols @symbols XX XX XX
lsft @specials q x m c v k p _ _ _ rsft up XX XX XX XX
@default lalt lmet spc lalt XX XX XX left down rght XX XX
)
(deflayer symbols
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- \ / [ ] ^ ! < > @ _ _ _ _ _ _ _ _ _ _ _
= ' " { } * ? \( \) _ _ _ _ _ _ _
_ _ # $ | ~ ` + % _ _ _ _ _ _ _ _ _
_ _ & \_ _ _ _ _ _ _ _ _ _
)
(deflayer specials
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ pgdn up pgup _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ left down rght _ _ ä ö ü ß _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _
)

View File

@@ -1,68 +0,0 @@
(defcfg
input (device-file "/dev/input/by-id/usb-046a_0011-event-kbd")
output (uinput-sink "Jonas kmonad modified output")
cmp-seq ralt
cmp-seq-delay 5
key-seq-delay 5
fallthrough true
allow-cmd true
implicit-around around
)
(defsrc
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 ssrq slck pause
grv 1 2 3 4 5 6 7 8 9 0 - = bspc ins home pgup nlck kp/ kp* kp-
tab q w e r t y u i o p [ ] ret del end pgdn kp7 kp8 kp9 kp+
caps a s d f g h j k l ; ' \ kp4 kp5 kp6
lsft 102d z x c v b n m , . / rsft up kp1 kp2 kp3 kprt
lctl lmet lalt spc ralt rmet cmp rctl left down rght kp0 kp.
)
(defalias
caps (tap-hold-next 200 esc lctl)
symbols (layer-toggle symbols)
neo (layer-switch neo)
specials (layer-toggle specials)
default (layer-switch default)
)
(deflayer default
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 ssrq XX XX
grv 1 2 3 4 5 6 7 8 9 0 - = bspc XX XX XX XX XX XX XX
tab q w e r t y u i o p [ ] ret XX XX XX XX XX XX XX
@caps a s d f g h j k l ; @symbols @symbols XX XX XX
rsft @specials z x c v b n m , . / rsft up XX XX XX XX
@neo lalt lmet spc lalt XX XX XX left down rght XX XX
)
;; Inspired from neo, graphite and enthium
(deflayer neo
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 ssrq XX XX
XX 1 2 3 4 5 6 7 8 9 0 XX XX bspc XX XX XX XX XX XX XX
tab b l d w z _ f o u j XX XX ret XX XX XX XX XX XX XX
@caps n r t s g y h a e i @symbols @symbols XX XX XX
lsft @specials q x m c v k p _ _ _ rsft up XX XX XX XX
@default lalt lmet spc lalt XX XX XX left down rght XX XX
)
(deflayer symbols
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- \ / [ ] ^ ! < > @ _ _ _ _ _ _ _ _ _ _ _
= ' " { } * ? \( \) _ _ _ _ _ _ _
_ _ # $ | ~ ` + % _ _ _ _ _ _ _ _ _
_ _ & \_ _ _ _ _ _ _ _ _ _
)
(deflayer specials
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ pgdn up pgup _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ left down rght _ _ ä ö ü ß _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _
)

View File

@@ -1,77 +0,0 @@
(defcfg
input (device-file "/dev/input/by-path/platform-i8042-serio-0-event-kbd")
output (uinput-sink "Jonas kmonad modified output")
cmp-seq ralt
cmp-seq-delay 5
key-seq-delay 5
fallthrough true
allow-cmd true
implicit-around around
)
(defsrc
grv 1 2 3 4 5 6 7 8 9 0 - = bspc
tab q w e r t y u i o p [ ] ret
caps a s d f g h j k l ; ' \
lsft lsgt z x c v b n m , . / rsft
lctl lmet lalt spc ralt rmet cmp rctl
)
(defalias
symbols (layer-toggle symbols)
specials (layer-toggle specials)
numbers (layer-toggle numbers)
graphite (layer-switch graphite)
default (layer-switch default)
mod1 @symbols
mod2 @specials
caps (tap-hold-next 200 esc lctl)
tab (tap-hold-next 200 tab @mod2)
middle ret
)
(deflayer default
grv 1 2 3 4 5 6 7 8 9 0 - = bspc
@tab q w e r t y u i o p [ ] ret
@caps a s d f g h j k l ; @mod1 \
rsft @mod1 z x c v b n m , . / rsft
@graphite lalt lmet spc @mod2 XX XX XX
)
(deflayer graphite
grv 1 2 3 4 5 6 7 8 9 0 - = bspc
@tab b l d w z @middle f o u j [ ] ret
@caps n r t s g y h a e i @mod1 \
rsft @mod1 q x m c v k p , . / rsft
@default lalt lmet spc @mod2 XX XX XX
)
(deflayer symbols
_ _ _ _ _ _ _ _ _ _ _ _ _ _
` \ [ ] / ^ _ # < > $ _ _ _
= ' " { } ! ? \( \) @ & _ _
_ _ ~ - | \_ _ % + * _ _ _
_ _ _ _ _ _ _ _
)
(deflayer specials
_ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ ö ü _ _ _ _
_ _ _ _ ß _ _ _ ä _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
)
(deflayer numbers
_ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ 6 7 8 9 0 _ _
_ _ _ _ _ _ _ 1 2 3 4 5 _
_ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
)

View File

@@ -1,28 +1,13 @@
# Rss reader newsboat # Rss reader newsboat
max-items 100 max-items 100
browser w3m browser w3m
show-read-feeds no show-read-feeds no
# Newsboat colour scheme to work with the Gruvbox palette # Setting the theme
# Inspired by the vim theme https://github.com/morhetz/gruvbox color info color255 color100
# Tested with the Kitty gruvbox terminal colour scheme color listfocus color255 color11
# https://github.com/wdomitrz/kitty-gruvbox-theme color listfocus_unread color255 color11
color background color223 color0
color listnormal color223 color0
color listnormal_unread color2 color0
color listfocus color223 color237
color listfocus_unread color223 color237
color info color75 color0
color article color223 color0
# highlights
highlight article "^(Feed|Link):.*$" color11 default bold
highlight article "^(Title|Date|Author):.*$" color11 default bold
highlight article "https?://[^ ]+" color2 default underline
highlight article "\\[[0-9]+\\]" color2 default bold
highlight article "\\[image\\ [0-9]+\\]" color2 default bold
highlight feedlist "^─.*$" color6 color6 bold
# The prefix key is , so you have to press comma before any macros # The prefix key is , so you have to press comma before any macros
# Remember to change the browser here when changing the default browser # Remember to change the browser here when changing the default browser

View File

@@ -3,4 +3,3 @@ https://www.tagesschau.de/inland/regional/bremen/index~rss2.xml
https://www.tagesschau.de/wirtschaft/weltwirtschaft/index~rss2.xml https://www.tagesschau.de/wirtschaft/weltwirtschaft/index~rss2.xml
https://www.tagesschau.de/wissen/forschung/index~rss2.xml https://www.tagesschau.de/wissen/forschung/index~rss2.xml
https://www.welt.de/feeds/latest.rss https://www.welt.de/feeds/latest.rss
https://git.sr.ht/~ascyii/HutTest/log/rss.xml

View File

@@ -8,15 +8,6 @@ Host amazon
User ec2-user User ec2-user
IdentityFile ~/.ssh/id_amazon IdentityFile ~/.ssh/id_amazon
Host harch
Hostname 192.168.178.20
User jonas
IdentityFile ~/.ssh/id_amazon
Host git.sr.ht
Hostname git.sr.ht
User git
IdentityFile ~/.ssh/id_srht
Host gitlab.gwdg.de Host gitlab.gwdg.de
HostName gitlab.gwdg.de HostName gitlab.gwdg.de
@@ -37,22 +28,6 @@ Host physik
User j.hahn02 User j.hahn02
IdentityFile ~/.ssh/id_university IdentityFile ~/.ssh/id_university
Host theo_bitzz
HostName bitzz.de
User theo
IdentityFile ~/.ssh/id_theo
Host informatik Host informatik
HostName shell.informatik.uni-goettingen.de HostName shell.informatik.uni-goettingen.de
User j.hahn02 User j.hahn02
Host dock
HostName paper.ascyii.de
Port 24
User admin
Host git.ascyii.de
HostName git.ascyii.de
Port 222
User admin
IdentityFile ~/.ssh/id_gitea

View File

@@ -1,3 +1,3 @@
#!/usr/bin/env bash #!/usr/bin/env bash
stow --adopt -v --dotfiles $1 stow -v --dotfiles $1