Compare commits

...

87 Commits

Author SHA1 Message Date
e9490716b3 minimal tmux, some mail and migrate more to dotfiles
Add oflineimap with mutt support
2025-12-30 10:47:58 +01:00
b6a9f4e31e Add neomutt 2025-12-26 20:19:17 +01:00
e4140fe38e Revive pine 2025-12-26 04:24:04 +01:00
7ce8676555 Fix for servers 2025-12-26 04:16:13 +01:00
9ece735a0a Weechat and newsboat 2025-12-26 03:25:10 +01:00
357e1f081a AutoSave - For reset 2025-12-26 01:14:26 +01:00
79468bae86 Zoxide and rem boot 2025-12-24 16:13:10 +01:00
de656cd73d Theming fish 2025-12-24 16:02:14 +01:00
e7229185f0 Custom fish function and bash yazi with fisher 2025-12-24 15:58:15 +01:00
428b3e717b Hleix 2025-12-24 14:53:19 +01:00
7ecdc10d2f Simple bootstrap script from gpt 2025-12-24 11:46:51 +00:00
531efa8ac6 AutoSave - For reset 2025-12-24 11:31:40 +00:00
bb43bc0819 Fish variables and python toml 2025-12-24 11:29:39 +00:00
0f727a2194 AutoSave - For reset
AutoSave - For reset
2025-12-24 11:29:39 +00:00
89564e5fcd Rename to real dot dirs and add fish 2025-12-24 05:08:11 +01:00
5aab1eba1e auto up 04:42:16 up 1 day 16:10, 2 users, load average: 1.27, 1.63, 1.43 2025-12-24 04:42:18 +01:00
ae4a7658ab auto up 04:40:43 up 1 day 16:08, 2 users, load average: 1.69, 1.81, 1.46 2025-12-24 04:40:45 +01:00
c49857d2bd Two 2025-12-22 16:12:37 +01:00
7640bace55 auto up 09:02:45 up 0:01, 2 users, load average: 3.05, 1.13, 0.42 2025-12-20 09:02:52 +01:00
315f2b98bb auto up 22:35:16 up 2:12, 2 users, load average: 1.32, 1.67, 1.83 2025-12-18 22:35:18 +01:00
81f9be572a auto up 22:00:58 up 1:38, 2 users, load average: 0.91, 1.30, 1.45 2025-12-18 22:01:00 +01:00
f9d7d345c0 auto up 21:30:42 up 1:07, 2 users, load average: 0.97, 1.31, 1.50 2025-12-18 21:30:44 +01:00
42b3185712 auto up 21:17:45 up 0:54, 2 users, load average: 2.57, 2.26, 1.66 2025-12-18 21:17:47 +01:00
31233ab3d5 New software 2025-12-18 21:10:28 +01:00
951229147f auto up 21:44:11 up 3:28, 2 users, load average: 1.95, 1.48, 1.20 2025-12-11 21:44:13 +01:00
e1cdf08f3c auto up 22:33:03 up 0:49, 2 users, load average: 0.27, 0.65, 0.85 2025-11-28 22:33:05 +01:00
42b6c179d5 auto up 20:56:53 up 3:01, 2 users, load average: 1.44, 1.03, 0.92 2025-11-26 20:56:56 +01:00
a01c20a307 auto up 11:42:06 up 1:56, 2 users, load average: 0.03, 0.13, 0.17 2025-11-26 11:42:06 +01:00
3736992f64 auto up 22:33:36 up 11:15, 2 users, load average: 1.17, 1.00, 0.97 2025-11-24 22:33:39 +01:00
26e3e4dddf auto up 14:35:31 up 3:21, 2 users, load average: 1.95, 1.40, 1.40 2025-11-23 14:35:33 +01:00
4e3b114b68 auto up 02:15:33 up 0:00, 2 users, load average: 1.32, 0.39, 0.14 2025-11-21 02:15:35 +01:00
31400030e9 auto up 02:08:07 up 0:01, 2 users, load average: 0.85, 0.46, 0.18 2025-11-21 02:08:09 +01:00
102e157e1b auto up 01:59:11 up 0:01, 2 users, load average: 0.90, 0.36, 0.13 2025-11-21 01:59:13 +01:00
c32990c087 auto up 01:53:18 up 0:06, 2 users, load average: 0.90, 0.66, 0.33 2025-11-21 01:53:20 +01:00
d433729b22 auto up 01:13:56 up 4:45, 2 users, load average: 0.35, 0.67, 0.81 2025-11-21 01:13:57 +01:00
d407f6e68d auto up 01:11:50 up 4:43, 2 users, load average: 1.05, 0.88, 0.89 2025-11-21 01:11:51 +01:00
350b29c22d auto up 00:54:10 up 4:25, 2 users, load average: 2.03, 1.66, 1.35 2025-11-21 00:54:11 +01:00
bfbfd125bb auto up 00:23:21 up 3:54, 2 users, load average: 1.42, 0.94, 0.79 2025-11-21 00:23:23 +01:00
cf9867f0f7 Autostart kmonad and some improvements 2025-11-21 00:22:19 +01:00
ecc0e2661d Added kmonad 2025-11-20 23:42:53 +01:00
14f0df3b61 auto up 09:41:45 up 1:27, 2 users, load average: 0.31, 0.36, 0.36 2025-11-18 09:41:47 +01:00
6ca5a0285c auto up 13:49:41 up 0:58, 2 users, load average: 0.36, 0.45, 0.51 2025-11-17 13:49:41 +01:00
5d0b15dcf5 auto up 00:07:04 up 9:57, 2 users, load average: 0.53, 0.59, 0.74 2025-11-17 00:07:05 +01:00
a22de5534a auto up 23:01:45 up 8:51, 2 users, load average: 0.57, 0.67, 0.74 2025-11-16 23:01:47 +01:00
d4286fd125 auto up 11:36:12 up 0:01, 2 users, load average: 0.50, 0.26, 0.10 2025-11-16 11:36:14 +01:00
1eff7d42c7 auto up 16:24:24 up 1:02, 2 users, load average: 0.54, 0.27, 0.10 2025-11-14 16:24:26 +01:00
c20d49544a auto up 19:11:40 up 0:07, 2 users, load average: 0.75, 0.63, 0.33 2025-11-12 19:11:42 +01:00
d557b63bac auto up 14:00:28 up 0:03, 2 users, load average: 1.57, 0.48, 0.17 2025-11-11 14:00:30 +01:00
9f3aefc25d auto up 16:59:41 up 2:30, 2 users, load average: 0.65, 0.70, 0.71 2025-11-10 16:59:42 +01:00
fb1f460138 auto up 21:16:29 up 4:11, 2 users, load average: 1.06, 1.06, 0.88 2025-11-07 21:16:31 +01:00
e65c0afab5 auto up 17:06:41 up 0:01, 2 users, load average: 0.30, 0.13, 0.05 2025-11-07 17:06:43 +01:00
4c3e50e943 auto up 13:44:36 up 0:08, 2 users, load average: 2.32, 1.85, 0.87 2025-11-06 13:44:38 +01:00
f78b1de0e3 auto up 12:14:03 up 1:21, 2 users, load average: 0.30, 0.44, 0.46 2025-11-06 12:14:05 +01:00
b4c63f0f3f auto up 11:52:14 up 0:59, 2 users, load average: 0.27, 0.30, 0.33 2025-11-06 11:52:15 +01:00
60d6874bfe auto up 11:11:50 up 0:19, 2 users, load average: 0.30, 0.34, 0.27 2025-11-06 11:11:53 +01:00
9e030dae5e auto up 02:38:43 up 0:05, 3 users, load average: 0.52, 0.53, 0.25 2025-11-06 02:38:44 +01:00
7cc3d26c3b auto up 01:59:20 up 7:21, 2 users, load average: 0.17, 0.29, 0.37 2025-11-06 01:59:21 +01:00
25a8f64577 auto up 01:08:17 up 6:30, 2 users, load average: 0.62, 0.57, 0.51 2025-11-06 01:08:18 +01:00
77a4f39d30 auto up 23:56:08 up 5:18, 2 users, load average: 0.48, 0.84, 1.05 2025-11-05 23:56:09 +01:00
62934f3d62 auto up 23:30:04 up 4:52, 2 users, load average: 0.32, 0.27, 0.33 2025-11-05 23:30:05 +01:00
12090021ff auto up 23:05:00 up 4:27, 2 users, load average: 0.60, 0.54, 0.49 2025-11-05 23:05:02 +01:00
332341a7e0 auto up 20:39:37 up 2:01, 2 users, load average: 0.56, 0.59, 0.50 2025-11-05 20:39:39 +01:00
50682cdd0f auto up 13:49:18 up 1:52, 2 users, load average: 0.93, 0.35, 0.12 2025-11-04 13:49:20 +01:00
49aecc271d auto up 19:57:46 up 0:20, 2 users, load average: 0.34, 0.37, 0.28 2025-11-03 19:57:47 +01:00
c1815ecf2b auto up 18:57:31 up 0:00, 2 users, load average: 0.71, 0.18, 0.06 2025-11-03 18:57:34 +01:00
2485c1e3df auto up 18:55:47 up 0:01, 2 users, load average: 0.67, 0.36, 0.14 2025-11-03 18:55:49 +01:00
89bc721683 auto up 17:13:21 up 4:51, 2 users, load average: 1.17, 1.00, 0.87 2025-11-02 17:13:22 +01:00
dea41fa863 auto up 12:23:53 up 0:02, 2 users, load average: 0.41, 0.29, 0.11 2025-11-02 12:24:00 +01:00
413a01f064 auto up 02:09:52 up 2:18, 2 users, load average: 0.53, 0.69, 0.98 2025-11-02 02:09:53 +01:00
da1ba40562 auto up 00:48:24 up 0:56, 2 users, load average: 0.84, 1.94, 1.86 2025-11-02 00:48:26 +01:00
1aab8e3bc0 auto up 00:24:13 up 0:32, 2 users, load average: 0.84, 0.77, 0.74 2025-11-02 00:24:15 +01:00
c29131ae7e auto up 00:00:12 up 0:08, 2 users, load average: 1.56, 0.92, 0.48 2025-11-02 00:00:13 +01:00
06d24c07e0 auto up 23:56:38 up 0:05, 2 users, load average: 0.83, 0.67, 0.32 2025-11-01 23:56:45 +01:00
27c5994f44 btop 2025-11-01 23:53:18 +01:00
9b8425338b auto up 23:20:55 up 1:52, 2 users, load average: 1.80, 1.92, 1.80 2025-11-01 23:21:01 +01:00
afe6ede77a auto up 2025-11-01 23:14:52 +01:00
73e14e60bf auto up 2025-11-01 23:13:52 +01:00
1c32e4e3d2 Added grayscale 2025-11-01 21:48:20 +01:00
606d911930 Feh 2025-10-19 16:09:47 +02:00
534f4ba863 Hypr and dunst 2025-10-19 16:04:34 +02:00
58a9c54a03 Fix nextcloud 2025-10-17 12:39:35 +02:00
55048de4f9 Nextcloud 2025-10-17 12:08:18 +02:00
a7be299718 Nextcloud 2025-10-17 11:30:02 +02:00
cb0b630585 Added all script 2025-10-17 09:47:20 +02:00
4695dcb650 Update waybar 2025-10-17 09:47:09 +02:00
c4df6d68a5 Some improvements 2025-10-15 23:03:45 +02:00
3c4424c556 Some advancements 2025-10-14 11:14:01 +02:00
63 changed files with 5931 additions and 108 deletions

9
.gitignore vendored
View File

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

22
Makefile Normal file
View File

@@ -0,0 +1,22 @@
# Makefile to adptop all dotfiles in this repo
# Source - https://stackoverflow.com
# Posted by Konstantin Smolyanin, modified by community. See post 'Timeline' for change history
# Retrieved 2025-12-30, License - CC BY-SA 4.0
define sto
stow --adopt -v --dotfiles $(1)
endef
all:
# Target to stow everything in this repo
git add .
-git commit -a -m "AutoSave - For reset"
# Possibly with adoptation
$(call sto,cli)
$(call sto,gui)
$(call sto,home)
# Reset to the last autosave (optional)
#git reset --hard HEAD

View File

@@ -5,3 +5,7 @@ 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.
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.

View File

@@ -0,0 +1,889 @@
#
# 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

@@ -0,0 +1,199 @@
# 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.4
#? Config file for btop v. 1.4.5
#* 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"
color_theme = "Default"
#* If the theme set background should be shown, set to False if you want terminal background transparency.
theme_background = True
theme_background = False
#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false.
truecolor = True
@@ -57,13 +57,13 @@ update_ms = 2000
#* 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.
proc_sorting = "cpu lazy"
proc_sorting = "cpu direct"
#* Reverse sorting order, True or False.
proc_reversed = False
#* Show processes as a tree.
proc_tree = True
proc_tree = False
#* Use the cpu graph colors in the process list.
proc_colors = True
@@ -115,6 +115,9 @@ cpu_bottom = False
#* Shows the system uptime in the CPU box.
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.
check_temp = True
@@ -169,7 +172,7 @@ show_swap = True
swap_disk = True
#* If mem box should be split to also show disks info.
show_disks = True
show_disks = False
#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
only_physical = True
@@ -187,7 +190,7 @@ disk_free_priv = False
show_io_stat = True
#* Toggles io mode for disks, showing big graphs for disk read/write speeds.
io_mode = False
io_mode = True
#* Set to True to show combined read/write io graphs in io mode.
io_graph_combined = False

View File

@@ -0,0 +1,7 @@
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

@@ -0,0 +1,10 @@
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

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

View File

@@ -0,0 +1,48 @@
# 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

@@ -0,0 +1,240 @@
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

@@ -0,0 +1,8 @@
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

@@ -0,0 +1,15 @@
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

@@ -0,0 +1,141 @@
#!/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

@@ -0,0 +1,15 @@
# Test
theme = "jonas"
[editor.file-picker]
hidden = false
[keys.normal.space]
"H" = ":reset-diff-change" # Hard reset the hunk
[keys.normal.space.l]
"a" = ":rla"
[keys.normal.space.space.c]
"o" = ":config-open"
"r" = ":config-reload"

View File

@@ -0,0 +1,41 @@
# 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

@@ -0,0 +1,5 @@
[[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

@@ -0,0 +1,153 @@
# 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

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

View File

@@ -0,0 +1,63 @@
gui:
scrollHeight: 2
language: "auto" # one of 'auto' | 'en' | 'pl' | 'nl' | 'de' | 'tr'
border: "rounded" # one of 'rounded' | 'single' | 'double' | 'hidden'
theme:
activeBorderColor:
- green
- bold
inactiveBorderColor:
- white
selectedLineBgColor:
- blue
optionsTextColor:
- blue
returnImmediately: false
wrapMainPanel: true
# Side panel width as a ratio of the screen's width
sidePanelWidth: 0.333
# Determines whether we show the bottom line (the one containing keybinding
# info and the status of the app).
showBottomLine: true
# When true, increases vertical space used by focused side panel,
# creating an accordion effect
expandFocusedSidePanel: false
# Determines which screen mode will be used on startup
screenMode: "normal" # one of 'normal' | 'half' | 'fullscreen'
# Determines the style of the container status and container health display in the
# containers panel. "long": full words (default), "short": one or two characters,
# "icon": unicode emoji.
containerStatusHealthStyle: "long"
logs:
timestamps: false
since: '60m' # set to '' to show all logs
tail: '' # set to 200 to show last 200 lines of logs
commandTemplates:
dockerCompose: docker compose # Determines the Docker Compose command to run, referred to as .DockerCompose in commandTemplates
restartService: '{{ .DockerCompose }} restart {{ .Service.Name }}'
up: '{{ .DockerCompose }} up -d'
down: '{{ .DockerCompose }} down'
downWithVolumes: '{{ .DockerCompose }} down --volumes'
upService: '{{ .DockerCompose }} up -d {{ .Service.Name }}'
startService: '{{ .DockerCompose }} start {{ .Service.Name }}'
stopService: '{{ .DockerCompose }} stop {{ .Service.Name }}'
serviceLogs: '{{ .DockerCompose }} logs --since=60m --follow {{ .Service.Name }}'
viewServiceLogs: '{{ .DockerCompose }} logs --follow {{ .Service.Name }}'
rebuildService: '{{ .DockerCompose }} up -d --build {{ .Service.Name }}'
recreateService: '{{ .DockerCompose }} up -d --force-recreate {{ .Service.Name }}'
allLogs: '{{ .DockerCompose }} logs --tail=300 --follow'
viewAlLogs: '{{ .DockerCompose }} logs'
dockerComposeConfig: '{{ .DockerCompose }} config'
checkDockerComposeConfig: '{{ .DockerCompose }} config --quiet'
serviceTop: '{{ .DockerCompose }} top {{ .Service.Name }}'
oS:
openCommand: open {{filename}}
openLinkCommand: open {{link}}
stats:
graphs:
- caption: CPU (%)
statPath: DerivedStats.CPUPercentage
color: blue
- caption: Memory (%)
statPath: DerivedStats.MemoryPercentage
color: green

View File

@@ -0,0 +1,16 @@
# 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

@@ -0,0 +1,880 @@
# See this wiki page for more info:
# https://github.com/dylanaraps/neofetch/wiki/Customizing-Info
print_info() {
info title
info underline
info "OS" distro
info "Host" model
info "Kernel" kernel
info "Uptime" uptime
info "Packages" packages
info "Shell" shell
info "Resolution" resolution
info "DE" de
info "WM" wm
info "WM Theme" wm_theme
info "Theme" theme
info "Icons" icons
info "Terminal" term
info "Terminal Font" term_font
info "CPU" cpu
info "GPU" gpu
info "Memory" memory
# info "GPU Driver" gpu_driver # Linux/macOS only
# info "Disk" disk
# info "Battery" battery
# info "Font" font
# info "Song" song
# [[ "$player" ]] && prin "Music Player" "$player"
# info "Local IP" local_ip
# info "Public IP" public_ip
# info "Users" users
# info "Locale" locale # This only works on glibc systems.
info cols
}
# Title
# Hide/Show Fully qualified domain name.
#
# Default: 'off'
# Values: 'on', 'off'
# Flag: --title_fqdn
title_fqdn="off"
# Kernel
# Shorten the output of the kernel function.
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --kernel_shorthand
# Supports: Everything except *BSDs (except PacBSD and PC-BSD)
#
# Example:
# on: '4.8.9-1-ARCH'
# off: 'Linux 4.8.9-1-ARCH'
kernel_shorthand="on"
# Distro
# Shorten the output of the distro function
#
# Default: 'off'
# Values: 'on', 'tiny', 'off'
# Flag: --distro_shorthand
# Supports: Everything except Windows and Haiku
distro_shorthand="off"
# Show/Hide OS Architecture.
# Show 'x86_64', 'x86' and etc in 'Distro:' output.
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --os_arch
#
# Example:
# on: 'Arch Linux x86_64'
# off: 'Arch Linux'
os_arch="on"
# Uptime
# Shorten the output of the uptime function
#
# Default: 'on'
# Values: 'on', 'tiny', 'off'
# Flag: --uptime_shorthand
#
# Example:
# on: '2 days, 10 hours, 3 mins'
# tiny: '2d 10h 3m'
# off: '2 days, 10 hours, 3 minutes'
uptime_shorthand="on"
# Memory
# Show memory percentage in output.
#
# Default: 'off'
# Values: 'on', 'off'
# Flag: --memory_percent
#
# Example:
# on: '1801MiB / 7881MiB (22%)'
# off: '1801MiB / 7881MiB'
memory_percent="off"
# Change memory output unit.
#
# Default: 'mib'
# Values: 'kib', 'mib', 'gib'
# Flag: --memory_unit
#
# Example:
# kib '1020928KiB / 7117824KiB'
# mib '1042MiB / 6951MiB'
# gib: ' 0.98GiB / 6.79GiB'
memory_unit="mib"
# Packages
# Show/Hide Package Manager names.
#
# Default: 'tiny'
# Values: 'on', 'tiny' 'off'
# Flag: --package_managers
#
# Example:
# on: '998 (pacman), 8 (flatpak), 4 (snap)'
# tiny: '908 (pacman, flatpak, snap)'
# off: '908'
package_managers="on"
# Shell
# Show the path to $SHELL
#
# Default: 'off'
# Values: 'on', 'off'
# Flag: --shell_path
#
# Example:
# on: '/bin/bash'
# off: 'bash'
shell_path="off"
# Show $SHELL version
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --shell_version
#
# Example:
# on: 'bash 4.4.5'
# off: 'bash'
shell_version="on"
# CPU
# CPU speed type
#
# Default: 'bios_limit'
# Values: 'scaling_cur_freq', 'scaling_min_freq', 'scaling_max_freq', 'bios_limit'.
# Flag: --speed_type
# Supports: Linux with 'cpufreq'
# NOTE: Any file in '/sys/devices/system/cpu/cpu0/cpufreq' can be used as a value.
speed_type="bios_limit"
# CPU speed shorthand
#
# Default: 'off'
# Values: 'on', 'off'.
# Flag: --speed_shorthand
# NOTE: This flag is not supported in systems with CPU speed less than 1 GHz
#
# Example:
# on: 'i7-6500U (4) @ 3.1GHz'
# off: 'i7-6500U (4) @ 3.100GHz'
speed_shorthand="off"
# Enable/Disable CPU brand in output.
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --cpu_brand
#
# Example:
# on: 'Intel i7-6500U'
# off: 'i7-6500U (4)'
cpu_brand="on"
# CPU Speed
# Hide/Show CPU speed.
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --cpu_speed
#
# Example:
# on: 'Intel i7-6500U (4) @ 3.1GHz'
# off: 'Intel i7-6500U (4)'
cpu_speed="on"
# CPU Cores
# Display CPU cores in output
#
# Default: 'logical'
# Values: 'logical', 'physical', 'off'
# Flag: --cpu_cores
# Support: 'physical' doesn't work on BSD.
#
# Example:
# logical: 'Intel i7-6500U (4) @ 3.1GHz' (All virtual cores)
# physical: 'Intel i7-6500U (2) @ 3.1GHz' (All physical cores)
# off: 'Intel i7-6500U @ 3.1GHz'
cpu_cores="logical"
# CPU Temperature
# Hide/Show CPU temperature.
# Note the temperature is added to the regular CPU function.
#
# Default: 'off'
# Values: 'C', 'F', 'off'
# Flag: --cpu_temp
# Supports: Linux, BSD
# NOTE: For FreeBSD and NetBSD-based systems, you'll need to enable
# coretemp kernel module. This only supports newer Intel processors.
#
# Example:
# C: 'Intel i7-6500U (4) @ 3.1GHz [27.2°C]'
# F: 'Intel i7-6500U (4) @ 3.1GHz [82.0°F]'
# off: 'Intel i7-6500U (4) @ 3.1GHz'
cpu_temp="off"
# GPU
# Enable/Disable GPU Brand
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --gpu_brand
#
# Example:
# on: 'AMD HD 7950'
# off: 'HD 7950'
gpu_brand="on"
# Which GPU to display
#
# Default: 'all'
# Values: 'all', 'dedicated', 'integrated'
# Flag: --gpu_type
# Supports: Linux
#
# Example:
# all:
# GPU1: AMD HD 7950
# GPU2: Intel Integrated Graphics
#
# dedicated:
# GPU1: AMD HD 7950
#
# integrated:
# GPU1: Intel Integrated Graphics
gpu_type="all"
# Resolution
# Display refresh rate next to each monitor
# Default: 'off'
# Values: 'on', 'off'
# Flag: --refresh_rate
# Supports: Doesn't work on Windows.
#
# Example:
# on: '1920x1080 @ 60Hz'
# off: '1920x1080'
refresh_rate="off"
# Gtk Theme / Icons / Font
# Shorten output of GTK Theme / Icons / Font
#
# Default: 'off'
# Values: 'on', 'off'
# Flag: --gtk_shorthand
#
# Example:
# on: 'Numix, Adwaita'
# off: 'Numix [GTK2], Adwaita [GTK3]'
gtk_shorthand="off"
# Enable/Disable gtk2 Theme / Icons / Font
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --gtk2
#
# Example:
# on: 'Numix [GTK2], Adwaita [GTK3]'
# off: 'Adwaita [GTK3]'
gtk2="on"
# Enable/Disable gtk3 Theme / Icons / Font
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --gtk3
#
# Example:
# on: 'Numix [GTK2], Adwaita [GTK3]'
# off: 'Numix [GTK2]'
gtk3="on"
# IP Address
# Website to ping for the public IP
#
# Default: 'http://ident.me'
# Values: 'url'
# Flag: --ip_host
public_ip_host="http://ident.me"
# Public IP timeout.
#
# Default: '2'
# Values: 'int'
# Flag: --ip_timeout
public_ip_timeout=2
# Local IP interface
#
# Default: 'auto' (interface of default route)
# Values: 'auto', 'en0', 'en1'
# Flag: --ip_interface
local_ip_interface=('auto')
# Desktop Environment
# Show Desktop Environment version
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --de_version
de_version="on"
# Disk
# Which disks to display.
# The values can be any /dev/sdXX, mount point or directory.
# NOTE: By default we only show the disk info for '/'.
#
# Default: '/'
# Values: '/', '/dev/sdXX', '/path/to/drive'.
# Flag: --disk_show
#
# Example:
# disk_show=('/' '/dev/sdb1'):
# 'Disk (/): 74G / 118G (66%)'
# 'Disk (/mnt/Videos): 823G / 893G (93%)'
#
# disk_show=('/'):
# 'Disk (/): 74G / 118G (66%)'
#
disk_show=('/')
# Disk subtitle.
# What to append to the Disk subtitle.
#
# Default: 'mount'
# Values: 'mount', 'name', 'dir', 'none'
# Flag: --disk_subtitle
#
# Example:
# name: 'Disk (/dev/sda1): 74G / 118G (66%)'
# 'Disk (/dev/sdb2): 74G / 118G (66%)'
#
# mount: 'Disk (/): 74G / 118G (66%)'
# 'Disk (/mnt/Local Disk): 74G / 118G (66%)'
# 'Disk (/mnt/Videos): 74G / 118G (66%)'
#
# dir: 'Disk (/): 74G / 118G (66%)'
# 'Disk (Local Disk): 74G / 118G (66%)'
# 'Disk (Videos): 74G / 118G (66%)'
#
# none: 'Disk: 74G / 118G (66%)'
# 'Disk: 74G / 118G (66%)'
# 'Disk: 74G / 118G (66%)'
disk_subtitle="mount"
# Disk percent.
# Show/Hide disk percent.
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --disk_percent
#
# Example:
# on: 'Disk (/): 74G / 118G (66%)'
# off: 'Disk (/): 74G / 118G'
disk_percent="on"
# Song
# Manually specify a music player.
#
# Default: 'auto'
# Values: 'auto', 'player-name'
# Flag: --music_player
#
# Available values for 'player-name':
#
# amarok
# audacious
# banshee
# bluemindo
# clementine
# cmus
# deadbeef
# deepin-music
# dragon
# elisa
# exaile
# gnome-music
# gmusicbrowser
# gogglesmm
# guayadeque
# io.elementary.music
# iTunes
# Music
# juk
# lollypop
# MellowPlayer
# mocp
# mopidy
# mpd
# muine
# netease-cloud-music
# olivia
# playerctl
# pogo
# pragha
# qmmp
# quodlibet
# rhythmbox
# sayonara
# smplayer
# spotify
# strawberry
# tauonmb
# tomahawk
# vlc
# xmms2d
# xnoise
# yarock
music_player="auto"
# Format to display song information.
#
# Default: '%artist% - %album% - %title%'
# Values: '%artist%', '%album%', '%title%'
# Flag: --song_format
#
# Example:
# default: 'Song: Jet - Get Born - Sgt Major'
song_format="%artist% - %album% - %title%"
# Print the Artist, Album and Title on separate lines
#
# Default: 'off'
# Values: 'on', 'off'
# Flag: --song_shorthand
#
# Example:
# on: 'Artist: The Fratellis'
# 'Album: Costello Music'
# 'Song: Chelsea Dagger'
#
# off: 'Song: The Fratellis - Costello Music - Chelsea Dagger'
song_shorthand="off"
# 'mpc' arguments (specify a host, password etc).
#
# Default: ''
# Example: mpc_args=(-h HOST -P PASSWORD)
mpc_args=()
# Text Colors
# Text Colors
#
# Default: 'distro'
# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num'
# Flag: --colors
#
# Each number represents a different part of the text in
# this order: 'title', '@', 'underline', 'subtitle', 'colon', 'info'
#
# Example:
# colors=(distro) - Text is colored based on Distro colors.
# colors=(4 6 1 8 8 6) - Text is colored in the order above.
colors=(distro)
# Text Options
# Toggle bold text
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --bold
bold="on"
# Enable/Disable Underline
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --underline
underline_enabled="on"
# Underline character
#
# Default: '-'
# Values: 'string'
# Flag: --underline_char
underline_char="-"
# Info Separator
# Replace the default separator with the specified string.
#
# Default: ':'
# Flag: --separator
#
# Example:
# separator="->": 'Shell-> bash'
# separator=" =": 'WM = dwm'
separator=":"
# Color Blocks
# Color block range
# The range of colors to print.
#
# Default: '0', '15'
# Values: 'num'
# Flag: --block_range
#
# Example:
#
# Display colors 0-7 in the blocks. (8 colors)
# neofetch --block_range 0 7
#
# Display colors 0-15 in the blocks. (16 colors)
# neofetch --block_range 0 15
block_range=(0 15)
# Toggle color blocks
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --color_blocks
color_blocks="on"
# Color block width in spaces
#
# Default: '3'
# Values: 'num'
# Flag: --block_width
block_width=3
# Color block height in lines
#
# Default: '1'
# Values: 'num'
# Flag: --block_height
block_height=1
# Color Alignment
#
# Default: 'auto'
# Values: 'auto', 'num'
# Flag: --col_offset
#
# Number specifies how far from the left side of the terminal (in spaces) to
# begin printing the columns, in case you want to e.g. center them under your
# text.
# Example:
# col_offset="auto" - Default behavior of neofetch
# col_offset=7 - Leave 7 spaces then print the colors
col_offset="auto"
# Progress Bars
# Bar characters
#
# Default: '-', '='
# Values: 'string', 'string'
# Flag: --bar_char
#
# Example:
# neofetch --bar_char 'elapsed' 'total'
# neofetch --bar_char '-' '='
bar_char_elapsed="-"
bar_char_total="="
# Toggle Bar border
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --bar_border
bar_border="on"
# Progress bar length in spaces
# Number of chars long to make the progress bars.
#
# Default: '15'
# Values: 'num'
# Flag: --bar_length
bar_length=15
# Progress bar colors
# When set to distro, uses your distro's logo colors.
#
# Default: 'distro', 'distro'
# Values: 'distro', 'num'
# Flag: --bar_colors
#
# Example:
# neofetch --bar_colors 3 4
# neofetch --bar_colors distro 5
bar_color_elapsed="distro"
bar_color_total="distro"
# Info display
# Display a bar with the info.
#
# Default: 'off'
# Values: 'bar', 'infobar', 'barinfo', 'off'
# Flags: --memory_display
# --battery_display
# --disk_display
#
# Example:
# bar: '[---=======]'
# infobar: 'info [---=======]'
# barinfo: '[---=======] info'
# off: 'info'
memory_display="off"
battery_display="off"
disk_display="off"
# Backend Settings
# Image backend.
#
# Default: 'ascii'
# Values: 'ascii', 'caca', 'catimg', 'chafa', 'jp2a', 'iterm2', 'off',
# 'pot', 'termpix', 'pixterm', 'tycat', 'w3m', 'kitty', 'ueberzug',
# 'viu'
# Flag: --backend
image_backend="ascii"
# Image Source
#
# Which image or ascii file to display.
#
# Default: 'auto'
# Values: 'auto', 'ascii', 'wallpaper', '/path/to/img', '/path/to/ascii', '/path/to/dir/'
# 'command output (neofetch --ascii "$(fortune | cowsay -W 30)")'
# Flag: --source
#
# NOTE: 'auto' will pick the best image source for whatever image backend is used.
# In ascii mode, distro ascii art will be used and in an image mode, your
# wallpaper will be used.
image_source="auto"
# Ascii Options
# Ascii distro
# Which distro's ascii art to display.
#
# Default: 'auto'
# Values: 'auto', 'distro_name'
# Flag: --ascii_distro
# NOTE: AIX, Hash, Alpine, AlterLinux, Amazon, Anarchy, Android, instantOS,
# Antergos, antiX, "AOSC OS", "AOSC OS/Retro", Apricity, ArchCraft,
# ArcoLinux, ArchBox, ARCHlabs, ArchStrike, XFerience, ArchMerge, Arch,
# Artix, Arya, Bedrock, Bitrig, BlackArch, BLAG, BlankOn, BlueLight,
# Bodhi, bonsai, BSD, BunsenLabs, Calculate, Carbs, CentOS, Chakra, ChaletOS,
# Chapeau, Chrom*, Cleanjaro, ClearOS, Clear_Linux, Clover, Condres,
# Container_Linux, Crystal Linux, CRUX, Cucumber, dahlia, Debian, Deepin,
# DesaOS, Devuan, DracOS, DarkOs, Itc, DragonFly, Drauger, Elementary,
# EndeavourOS, Endless, EuroLinux, Exherbo, Fedora, Feren, FreeBSD,
# FreeMiNT, Frugalware, Funtoo, GalliumOS, Garuda, Gentoo, Pentoo,
# gNewSense, GNOME, GNU, GoboLinux, Grombyang, Guix, Haiku, Huayra, HydroOS
# Hyperbola, iglunix, janus, Kali, KaOS, KDE_neon, Kibojoe, Kogaion, Korora,
# KSLinux, Kubuntu, LEDE, LaxerOS, LibreELEC, LFS, Linux_Lite, LMDE,
# Lubuntu, Lunar, macos, Mageia, MagpieOS, Mandriva, Manjaro, TeArch, Maui,
# Mer, Minix, LinuxMint, Live_Raizo, MX_Linux, Namib, Neptune, NetBSD,
# Netrunner, Nitrux, NixOS, Nurunner, NuTyX, OBRevenge, OpenBSD,
# openEuler, OpenIndiana, openmamba, OpenMandriva, OpenStage, OpenWrt,
# osmc, Oracle, OS Elbrus, PacBSD, Parabola, Pardus, Parrot, Parsix,
# TrueOS, PCLinuxOS, Pengwin, Peppermint, Pisi, popos, Porteus, PostMarketOS,
# Proxmox, PuffOS, Puppy, PureOS, Qubes, Qubyt, Quibian, Radix, Raspbian,
# Reborn_OS, Redstar, Redcore, Redhat, Refracted_Devuan, Regata, Regolith,
# Rocky, Rosa, sabotage, Sabayon, Sailfish, SalentOS, Scientific, Septor,
# SereneLinux, SharkLinux, Siduction, SkiffOS, Slackware, SliTaz, SmartOS,
# Solus, Source_Mage, Sparky, Star, SteamOS, SunOS, openSUSE_Leap, t2,
# openSUSE_Tumbleweed, openSUSE, SwagArch, Tails, Trisquel,
# Ubuntu-Cinnamon, Ubuntu-Budgie, Ubuntu-GNOME, Ubuntu-MATE,
# Ubuntu-Studio, Ubuntu, Univention, Venom, Void, VNux, LangitKetujuh, semc,
# Obarun, windows10, Windows7, Xubuntu, Zorin, and IRIX have ascii logos.
# NOTE: Arch, Ubuntu, Redhat, Fedora and Dragonfly have 'old' logo variants.
# Use '{distro name}_old' to use the old logos.
# NOTE: Ubuntu has flavor variants.
# Change this to Lubuntu, Kubuntu, Xubuntu, Ubuntu-GNOME,
# Ubuntu-Studio, Ubuntu-Mate or Ubuntu-Budgie to use the flavors.
# NOTE: Arcolinux, Dragonfly, Fedora, Alpine, Arch, Ubuntu,
# CRUX, Debian, Gentoo, FreeBSD, Mac, NixOS, OpenBSD, android,
# Artix, CentOS, Cleanjaro, ElementaryOS, GUIX, Hyperbola,
# Manjaro, MXLinux, NetBSD, Parabola, POP_OS, PureOS,
# Slackware, SunOS, LinuxLite, OpenSUSE, Raspbian,
# postmarketOS, and Void have a smaller logo variant.
# Use '{distro name}_small' to use the small variants.
ascii_distro="auto"
# Ascii Colors
#
# Default: 'distro'
# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num'
# Flag: --ascii_colors
#
# Example:
# ascii_colors=(distro) - Ascii is colored based on Distro colors.
# ascii_colors=(4 6 1 8 8 6) - Ascii is colored using these colors.
ascii_colors=(distro)
# Bold ascii logo
# Whether or not to bold the ascii logo.
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --ascii_bold
ascii_bold="on"
# Image Options
# Image loop
# Setting this to on will make neofetch redraw the image constantly until
# Ctrl+C is pressed. This fixes display issues in some terminal emulators.
#
# Default: 'off'
# Values: 'on', 'off'
# Flag: --loop
image_loop="off"
# Thumbnail directory
#
# Default: '~/.cache/thumbnails/neofetch'
# Values: 'dir'
thumbnail_dir="${XDG_CACHE_HOME:-${HOME}/.cache}/thumbnails/neofetch"
# Crop mode
#
# Default: 'normal'
# Values: 'normal', 'fit', 'fill'
# Flag: --crop_mode
#
# See this wiki page to learn about the fit and fill options.
# https://github.com/dylanaraps/neofetch/wiki/What-is-Waifu-Crop%3F
crop_mode="normal"
# Crop offset
# Note: Only affects 'normal' crop mode.
#
# Default: 'center'
# Values: 'northwest', 'north', 'northeast', 'west', 'center'
# 'east', 'southwest', 'south', 'southeast'
# Flag: --crop_offset
crop_offset="center"
# Image size
# The image is half the terminal width by default.
#
# Default: 'auto'
# Values: 'auto', '00px', '00%', 'none'
# Flags: --image_size
# --size
image_size="auto"
# Catimg block size.
# Control the resolution of catimg.
#
# Default: '2'
# Values: '1', '2'
# Flags: --catimg_size
catimg_size="2"
# Gap between image and text
#
# Default: '3'
# Values: 'num', '-num'
# Flag: --gap
gap=3
# Image offsets
# Only works with the w3m backend.
#
# Default: '0'
# Values: 'px'
# Flags: --xoffset
# --yoffset
yoffset=0
xoffset=0
# Image background color
# Only works with the w3m backend.
#
# Default: ''
# Values: 'color', 'blue'
# Flag: --bg_color
background_color=
# Misc Options
# Stdout mode
# Turn off all colors and disables image backend (ASCII/Image).
# Useful for piping into another command.
# Default: 'off'
# Values: 'on', 'off'
stdout="off"

View File

@@ -0,0 +1,5 @@
text/html; firefox %s
text/plain; nvim %s
application/pdf; zathura --fork %s
image/png; feh %s
image/jpeg; feh %s

View File

@@ -0,0 +1,109 @@
source ~/vault/mutt_keys
set folder=~/mail
set spoolfile="imaps://imap.gmx.net/"
set sidebar_visible
set header_cache = "~/.cache/mutt"
set message_cachedir = "~/.cache/mutt-mess"
set mailcap_path = "~/.config/neomutt/mailcap"
set record="~/mail/sent-mail"
set postponed="~/mail/drafts"
set mail_check = 5
set folder=/dev/null
account-hook . 'unset imap_user; unset imap_pass; unset tunnel'
account-hook imap.gmx.net "set from=$my_user imap_user=$my_user imap_pass=$my_pass smtp_user=$my_user smtp_pass=$my_pass smtp_url=smtps://smtp.gmx.net"
#account-hook email.gwdg.de "set imap_user=$my_user2 imap_pass=$my_pass2 smtp_user=$my_user2 smtp_pass=$my_pass2 smtp_url=smtps://email.gwdg.de"
#account-hook imap.web.de "set imap_user=$my_user3 imap_pass=$my_pass3 smtp_user=$my_user3 smtp_pass=$my_pass3 smtp_url=smtps://smtp.web.de"
#account-hook imap.mail.me.com "set imap_user=$my_user4 imap_pass=$my_pass4 smtp_user=$my_user4 smtp_pass=$my_pass4 smtp_url=smtps://smtp.mail.me.com"
#named-mailboxes "UniStud" imaps://email.gwdg.de
#named-mailboxes "WebHorn" imaps://imap.web.de
named-mailboxes "GmxMain" imaps://imap.gmx.net
#named-mailboxes "Apple" imaps://imap.mail.me.com
# Color definitions
set my_bg = "color236"
set my_fg = "color252"
set my_red = "color210"
set my_green = "color114"
set my_blue = "color68"
set my_aqua = "color80"
set my_yellow = "color221"
set my_orange = "color209"
set my_purple = "color176"
set my_comment = "color246"
set my_selection = "color239"
set my_current_line = "color237"
# basic components
color hdrdefault $my_green $my_bg
color signature $my_blue $my_bg
color attachment $my_yellow $my_bg
color prompt $my_purple $my_bg
color message $my_green $my_bg
color error $my_red $my_bg
color indicator $my_fg $my_selection
color status $my_bg $my_orange
color tree $my_blue $my_bg
color normal $my_fg $my_bg
color markers $my_red $my_bg
color search $my_bg $my_yellow
color tilde $my_purple $my_bg
color underline $my_bg $my_yellow
color index $my_green $my_bg ~F
color index $my_blue $my_bg "~N|~O"
### Highlights inside the body of a message ###
# URLs
color body $my_aqua $my_bg "(https?|s?ftp|news|telnet|finger|ssh)://[^ \"\t\r\n]*"
color body $my_aqua $my_bg "mailto:[-a-z_0-9.]+@[-a-z_0-9.]+"
mono body bold "(https?|s?ftp|news|telnet|finger|ssh)://[^ \"\t\r\n]*"
mono body bold "mailto:[-a-z_0-9.]+@[-a-z_0-9.]+"
# email addresses
color body $my_blue $my_bg "[-a-z_0-9.%$]+@[-a-z_0-9.]+\\.[-a-z][-a-z]+"
#mono body bold "[-a-z_0-9.%$]+@[-a-z_0-9.]+\\.[-a-z][-a-z]+"
### Header components ###
color header $my_green $my_bg "^from:"
color header $my_green $my_bg "^to:"
color header $my_green $my_bg "^cc:"
color header $my_green $my_bg "^date:"
color header $my_yellow $my_bg "^newsgroups:"
color header $my_yellow $my_bg "^reply-to:"
color header $my_aqua $my_bg "^subject:"
color header $my_red $my_bg "^x-spam-rule:"
color header $my_green $my_bg "^x-mailer:"
color header $my_yellow $my_bg "^message-id:"
color header $my_yellow $my_bg "^Organization:"
color header $my_yellow $my_bg "^Organisation:"
color header $my_yellow $my_bg "^User-Agent:"
color header $my_yellow $my_bg "^message-id: .*pine"
color header $my_yellow $my_bg "^X-Fnord:"
color header $my_yellow $my_bg "^X-WebTV-Stationery:"
color header $my_yellow $my_bg "^X-Message-Flag:"
color header $my_yellow $my_bg "^X-Spam-Status:"
color header $my_yellow $my_bg "^X-SpamProbe:"
color header $my_red $my_bg "^X-SpamProbe: SPAM"
### Coloring quoted text - coloring the first 7 levels ###
color quoted $my_aqua $my_bg
color quoted1 $my_yellow $my_bg
color quoted2 $my_red $my_bg
color quoted3 $my_green $my_bg
color quoted4 $my_aqua $my_bg
color quoted5 $my_yellow $my_bg
color quoted6 $my_red $my_bg
color quoted7 $my_green $my_bg
### sidebar colors ###
color sidebar_divider $my_comment $my_bg
color sidebar_flagged $my_aqua $my_bg
color sidebar_highlight $my_bg $my_yellow
color sidebar_new $my_green $my_bg
color sidebar_spoolfile $my_blue $my_bg

View File

@@ -0,0 +1,15 @@
add_newline = false
[aws]
disabled = true
[gcloud]
disabled = true
[line_break]
disabled = true
[sudo]
disabled = false
style = "bold red"
symbol = "SUDO "

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,35 @@
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,9 +10,13 @@ prepend_keymap = [
# Chmod in yazi
{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
{ 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
{ on = [ "\\", "s" ], run = "plugin what-size", desc = "Calc size of selection or cwd" },
@@ -32,18 +36,19 @@ prepend_keymap = [
# More mappings
append_keymap = [
# 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", "n" ], run = "cd ~/nixos", desc = "Go to nixos folder" },
{ on = [ "g", "p" ], run = "cd ~/projects", desc = "Go to projects folder" },
{ on = [ "g", "w" ], run = "cd ~/workspace_local", desc = "Go to workspace" },
{ on = [ "g", "w" ], run = "cd ~/workspace", desc = "Go to workspace" },
{ on = [ "g", "e" ], run = "cd ~/dotfiles", desc = "Go to dotfiles" },
{ on = [ "g", "r" ], run = "cd /", desc = "Go to root" },
{ on = [ "g", "b" ], run = "cd /shared", desc = "Go to hdd" },
{ on = [ "g", "l" ], run = "cd ~/.local", desc = "Go to Local" },
{ on = [ "g", "o" ], run = "cd ~/Documents", desc = "Go to Docs" },
{ on = [ "g", "x" ], run = "cd ~/Nextcloud", desc = "Go to nextcloud" },
{ on = [ "g", "a" ], run = "cd ~/.cache", desc = "Go to Cache" },
{ 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 ~/.local/share/Trash", desc = "Go to trash" },
{ 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]]
use = "yazi-rs/plugins:chmod"
rev = "d1c8baa"
rev = "8f1d971"
hash = "8ad3e90b079190b4905f24a44f4ca06b"
[[plugin.deps]]
use = "boydaihungst/restore"
rev = "dc40509"
hash = "e7e377f9b1bbaca4a2e5d9ec9709ac4d"
rev = "2161735"
hash = "901741afba1979739b4650324265162e"
[[plugin.deps]]
use = "pirafrank/what-size"
@@ -23,6 +23,31 @@ use = "dedukun/bookmarks"
rev = "9ef1254"
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]]
use = "dangooddd/kanagawa"
rev = "a0b1d9d"

View File

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

View File

@@ -0,0 +1,521 @@
// 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

@@ -0,0 +1,532 @@
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

@@ -0,0 +1,536 @@
//
// 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]
opacity = 0.8
#opacity = 0.8
[font]
normal = { family = "monospace", style = "Medium" }

View File

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

View File

@@ -5,26 +5,50 @@ monitor = HDMI-A-1, 1920x1080@60, 0x0, 1
monitor = HDMI-A-2, 1920x1080@60, -1920x0, 1
monitor = DP-1, 1920x1080@60, 1920x0, 1
input:tablet {
device {
name = gaomon-gaomon-tablet # Big one
output = HDMI-A-1
active_area_size = 170, 120
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
$menu = tofi-drun --terminal=kitty | sh
$menu = tofi-drun --terminal="alacritty -e" | sh
#######################################################################################
exec-once = waybar
exec-once = hyprsunset -t 3000
exec-once = wl-clip-persist --clipboard regular
exec-once = hyprpaper
#exec-once = hyprpaper
exec-once = nm-applet
exec-once = ~/projects/scripts/shell/rnote_mapper.sh
exec-once = ~/projects/scripts/shell/start_kmonad.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
#exec-once = sh -c 'if [ "$(hostname)" = "minoxy" ]; then hyprctl keyword animations enabled; fi'
@@ -40,10 +64,14 @@ workspace=4,monitor:HDMI-A-1
workspace=5,monitor:HDMI-A-2
workspace=6,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=9,monitor:DP-1
workspace=0,monitor:DP-1
workspace=13,monitor:DP-1
workspace=14,monitor:DP-1
env = HYPRCURSOR_THEME,catppuccin-frappe-rosewater-cursors
env = HYPRCURSOR_SIZE,18
@@ -69,6 +97,7 @@ misc {
input {
kb_layout = us
kb_options = compose:ralt
follow_mouse = 1
touchpad {
natural_scroll = false
@@ -84,6 +113,7 @@ bind = $mainMod, B, exec, firefox
bind = $mainMod, M, exit,
bind = $mainMod, F, togglefloating,
bind = $mainMod, P, exec, $menu
bind = $mainMod, E, exec, nemo
# Some keybindings for screenshot and colorpicking
bind = , Print, exec, hyprshot -m region --clipboard-only
@@ -106,6 +136,10 @@ bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
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, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
@@ -116,8 +150,16 @@ bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10
bind = $mainMod SHIFT, 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
# 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
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
@@ -137,6 +179,7 @@ bindt = $mainMod SHIFT, L, exec, hyprlock
windowrulev2 = suppressevent maximize, class:.*
windowrulev2 = float, class:(clipse)
windowrulev2 = float, class:(Edit Item)
windowrulev2 = size 622 652, class:(clipse)
windowrulev2 = stayfocused, class:(clipse)
windowrulev2 = float, class:(org.kde.dolphin)
@@ -168,7 +211,7 @@ windowrulev2 = workspace 5, class:(steam)
windowrulev2 = workspace 5, class:(blender)
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)
# Social Apps
@@ -196,28 +239,54 @@ windowrulev2 = workspace 10, class:(org.prismlauncher.PrismLauncher)
#windowrule = float,^(sioyek)$ # set rounding to 10 for kitty
windowrulev2 = size 900 500, title:(Select Document)
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
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, title:(Kvantum Manager)
windowrulev2 = float, class:(qt5ct)
windowrulev2 = float, title:(Open File)
windowrulev2 = float, title:(Open Folder)
windowrulev2 = float, title:(Save As)
windowrulev2 = tile, class:(sioyek)
windowrulev2 = float, title:(Preferences)
windowrulev2 = float, title:(Add)
windowrulev2 = size 450 450, class:(Gnuplot)
windowrulev2 = move 100 203100, class:(Gnuplot)
windowrulev2 = move 100 203, class:(Gnuplot)
windowrulev2 = float, class:(io.github.Qalculate.qalculate-qt)
windowrulev2 = size 700 700, class:(Qalculate!)
# Overwrite mechanics
windowrulev2 = float, class:(thunderbird)
windowrulev2 = tile, initialTitle:(Mozilla Thunderbird)
#windowrulev2 = tile, class:(sioyek)
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 = size 800 250, class:(org.pulseaudio.pavucontrol)
windowrulev2 = float, class:(ownCloud)
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 1300 80, class:(nm-connection-editor)
windowrulev2 = float, class:(org.pulseaudio.pavucontrol)
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 = pin, class:(xdragon)

View File

@@ -0,0 +1,45 @@
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

@@ -0,0 +1,18 @@
#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
enable_audio_bell yes
background_opacity 0.80
#background_opacity 0.80
default_pointer_shape arrow
mouse_hide_wait 1

View File

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

View File

@@ -1,6 +1,6 @@
{
"height": 0,
[{
"position": "top",
"output": ["HDMI-A-1", "eDP-1"],
"modules-left": ["hyprland/workspaces", "hyprland/window"],
"modules-center": ["custom/webdav","clock", "custom/status"],
"modules-right": ["tray", "pulseaudio", "backlight", "cpu", "memory", "battery"],
@@ -44,4 +44,14 @@
"icon-size": 21,
"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"],
}]

View File

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

19
home/dot-bashrc Normal file
View File

@@ -0,0 +1,19 @@
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,20 +2,36 @@
# Common config across different shells #
#########################################
export EDITOR='nvim'
export EDITOR='hx'
export HTTP_HOME="duckduckgo.com"
export RANGER_LOAD_DEFAULT_RC=false
export PATH=$HOME/programs_local/:$HOME/.cargo/bin:~/projects/scripts:$HOME/.local/bin:/usr/local/bin:$PATH
export PATH=$HOME/programs_local/:~/projects/scripts:$PATH
export PATH=$HOME/programs_local/:$HOME/.cargo/bin:~/projects/scripts:/usr/local/bin:$PATH
export PATH=$HOME/programs_local/:~/projects/scripts:~/projects/scripts/other:$PATH
export TERM="xterm"
export MANPAGER="nvim +Man!"
export GOPATH=$HOME/.go
export PATH=$HOME/.go/bin:$PATH
export ANDROID_HOME=/home/jonas/Android
export NAP_CONFIG="~/.config/nap/config.yaml"
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 imu="immich upload -r ."
alias chch="~/projects/scripts/check_git.sh"
alias rp="rsync --info=progress2 -a --checksum"
alias aut="~/projects/scripts/autostart-server.sh"
alias tt="~/projects/scripts/find_gits.sh"
alias on="nvim ~/projects/planner/quick.md"
@@ -24,11 +40,14 @@ alias um="umount /mnt/webdav"
alias mm="systemctl start mnt-webdav.mount"
alias wi="wiki-tui"
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 sp="spotify_player"
alias ne="newsboat"
alias j="zellij -l compact options --simplified-ui true"
alias po="castero"
alias h="zsh"
alias h="~/projects/scripts/shell/helper.sh"
alias tw="torify w3m duckduckgo.com"
alias rmbak="mkdir -p ~/.local/share/Trash/files && find . -name '.bak.*' -exec mv '{}' ~/.local/share/Trash/files \;"
alias f="~/projects/scripts/search.sh"
@@ -38,7 +57,7 @@ alias lg="lazygit"
alias m="make"
alias mn="make nix"
alias syn="~/projects/scripts/run_unison.sh"
alias s="~/projects/scripts/run_unison.sh"
alias s="sync && source ~/.zshrc"
alias rmt="rm /tmp/all_git_projects"
alias fu="chch && fla && shd"
alias fla="sudo nixos-rebuild switch --flake ~/nixos#"
@@ -54,7 +73,7 @@ alias t="todo.sh"
alias tl="todo.sh list"
alias td="todo.sh do"
alias de="sudo loadkeys de"
alias us="sudo loadkeys us"
alias us="~/projects/scripts/shell/uni_setup.sh > /dev/zero 2>&1"
alias b="btop"
alias c="cat"
alias chch="~/projects/scripts/check_git.sh"
@@ -63,7 +82,11 @@ alias gui="Hyprland && clear"
alias ls='ls --color=auto'
alias tofiu='rm ~/.cache/tofi-drun'
alias ll='exa -la '
alias shd="shutdown now"
alias shd="systemctl poweroff"
alias nt="nvim ~/Nextcloud/Notes/in.txt"
alias upda="~/projects/scripts/shell/up.sh"
alias ttt='timer -f 10m'
alias zshconfig="mate ~/.zshrc"
alias giter="git add . && git commit -a -m 'auto commit' && git push"
@@ -72,3 +95,23 @@ alias oiiiii="bash ~/management/office/sync.sh in"
alias ou="bash ~/management/office/sync.sh out"
alias aiiiii="bash ~/projects/scripts/sync_all.sh in"
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

@@ -4,6 +4,7 @@
lg = "log --oneline --graph --decorate"
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"
[branch]
autoSetupMerge = true
@@ -22,6 +23,9 @@
email = "jonashahn1@gmx.net"
name = "Jonas Hahn"
[diff]
tool = "vimdiff"
[core]
autocrlf = input
@@ -30,3 +34,17 @@
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
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

68
home/dot-kmonad/hyper.kbd Normal file
View File

@@ -0,0 +1,68 @@
(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

@@ -0,0 +1,68 @@
(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

@@ -0,0 +1,77 @@
(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 _
_ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
)

6
home/dot-mutt/muttrc Normal file
View File

@@ -0,0 +1,6 @@
source ~/.mutt-mailboxes
folder-hook Personal set from="youremail@personal.com"
folder-hook Work set from="youremail@work.com"
set mbox_type=Maildir
set folder=$HOME/mail/offline
set spoolfile=+INBOX

View File

@@ -1,13 +1,28 @@
# Rss reader newsboat
max-items 100
browser w3m
show-read-feeds no
# Setting the theme
color info color255 color100
color listfocus color255 color11
color listfocus_unread color255 color11
# Newsboat colour scheme to work with the Gruvbox palette
# Inspired by the vim theme https://github.com/morhetz/gruvbox
# Tested with the Kitty gruvbox terminal colour scheme
# https://github.com/wdomitrz/kitty-gruvbox-theme
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
# Remember to change the browser here when changing the default browser

View File

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

80
home/dot-notmuch-config Normal file
View File

@@ -0,0 +1,80 @@
# .notmuch-config - Configuration file for the notmuch mail system
#
# For more information about notmuch, see https://notmuchmail.org
# Database configuration
#
# Supported values are 'mail_root' and 'path'. The recommended option
# is to set 'mail_root' to the directory where your mail currently exists
# and to where mail will be delivered in the future. Files should be
# individual email messages. By default notmuch will store its database
# in $XDG_DATA_HOME/notmuch; you can override this by setting 'path'.
# If only 'path' is set, this directory is for 'mail_root' and for
# the database location (in a subdirectory called ".notmuch").
#
[database]
# User configuration
#
# Here is where you can let notmuch know how you would like to be
# addressed. Valid settings are
#
# name Your full name.
# primary_email Your primary email address.
# other_email A list (separated by ';') of other email addresses
# at which you receive email.
#
# Notmuch will use the various email addresses configured here when
# formatting replies. It will avoid including your own addresses in the
# recipient list of replies, and will set the From address based on the
# address to which the original email was addressed.
#
[user]
name=Jonas Hahn
primary_email=jonashahn1@gmx.net
other_email=jonas@hahn1.one
# Configuration for "notmuch new"
#
# The following options are supported here:
#
# tags A list (separated by ';') of the tags that will be
# added to all messages incorporated by "notmuch new".
#
# ignore A list (separated by ';') of file and directory names
# that will not be searched for messages by "notmuch new".
#
# NOTE: *Every* file/directory that goes by one of those
# names will be ignored, independent of its depth/location
# in the mail store.
#
[new]
# Search configuration
#
# The following option is supported here:
#
# exclude_tags
# A ;-separated list of tags that will be excluded from
# search results by default. Using an excluded tag in a
# query will override that exclusion.
#
[search]
# Maildir compatibility configuration
#
# The following option is supported here:
#
# synchronize_flags Valid values are true and false.
#
# If true, then the following maildir flags (in message filenames)
# will be synchronized with the corresponding notmuch tags:
#
# Flag Tag
# ---- -------
# D draft
# F flagged
# P passed
# R replied
# S unread (added when 'S' flag is not present)
#
# The "notmuch new" command will notice flag changes in filenames
# and update tags, while the "notmuch tag" and "notmuch restore"
# commands will notice tag changes and update flags in filenames
#
[maildir]

25
home/dot-offlineimaprc Normal file
View File

@@ -0,0 +1,25 @@
[general]
accounts = Test
[Account Test]
localrepository = Local
remoterepository = Remote
[Repository Local]
type = Maildir
localfolders = ~/mail/offline/
[Repository Remote]
sslcacertfile = /etc/ssl/certs/ca-certificates.crt
type = IMAP
remoteuser = ug-student\j.hahn02
remotehost = email.gwdg.de
[mbnames]
enabled = yes
filename = ~/.mutt-mailboxes
header = "mailboxes "
peritem = "+%(accountname)s/%(foldername)s"
sep = " "
footer = "\n"
incremental = no

693
home/dot-pinerc Normal file
View File

@@ -0,0 +1,693 @@
#
# Alpine configuration file
#
# This file sets the configuration options used by Alpine and PC-Alpine. These
# options are usually set from within Alpine or PC-Alpine. There may be a
# system-wide configuration file which sets the defaults for some of the
# variables. On Unix, run alpine -conf to see how system defaults have been set.
# For variables that accept multiple values, list elements are separated by
# commas. A line beginning with a space or tab is considered to be a
# continuation of the previous line. For a variable to be unset its value must
# be blank. To set a variable to the empty string its value should be "".
# You can override system defaults by setting a variable to the empty string.
# Lines beginning with "#" are comments, and ignored by Alpine.
# Over-rides your full name from Unix password file. Required for PC-Alpine.
personal-name=Jonas Hahn
# List of SMTP servers for sending mail. If blank: Unix Alpine uses sendmail.
smtp-server=mail.gmx.net:587/tls/user=jonashahn1@gmx.net
#smtp-server=mail.hahn1.one/tls/user=jonas@hahn1.one
# Use the first news server I found
# It seems actually really big
nntp-server=news.nntp4.net/user=nntp4_2504121037
# Need this to fix the default smtp server
customized-hdrs=From: Jonas Hahn <jonashahn1@gmx.net>
#customized-hdrs=From: Jonas Hahn <jonas@hahn1.one>
# Only have gmx pattern at the moment
# will ad the own domain in the future
#patterns-roles=LIT:pattern="/NICK=JonasHahn1Gmx/FLDTYPE=EMAIL" action="/ROLE=1/FROM=Jonas Hahn <jonashahn1@gmx.net>/SMTP=smtp.gmx.net:\/tls/user=jonashahn1@gmx.net/RTYPE=YES/FTYPE=YES/CTYPE=NO",
patterns-roles=LIT:pattern="/NICK=JonasHahn1Gmx/FLDTYPE=EMAIL" action="/ROLE=1/FROM=Jonas Hahn <jonashahn1@gmx.net>/SMTP=smtp.gmx.net:587/RTYPE=YES/FTYPE=YES/CTYPE=NO",
LIT:pattern="/NICK=JonasHahn/FLDTYPE=EMAIL" action="/ROLE=1/FROM=Jonas <jonas@hahn1.one>/SMTP=mail.hahn1.one\/tls\/user=jonas@hahn1.one/RTYPE=YES/FTYPE=YES/CTYPE=NO"
# Default folder lists
folder-collections=Mail mail/[],
JonasGmxMain {imap.gmx.net/ssl/user=jonashahn1@gmx.net}[],
JonasHahn {mail.hahn1.one/ssl/user=jonas@hahn1.one}[],
JonasUni {email.stud.uni-goettingen.de/ssl/user=ug-student\j.hahn02}[],
NewsOnNNTP4 {news.nntp4.net/user=nntp4_2504121037/nntp}#news.[],
JonasWeb {imap.web.de/ssl/user=jonasahorn@web.de}[]
# Set by Alpine; controls beginning-of-month sent-mail pruning.
last-time-prune-questioned=125.12
last-version-used=6.26
user-domain=hahn1.one
# This has do be disabled for authentication on some serves
disable-these-authenticators=GSSAPI
url-viewers=/run/current-system/sw/bin/firefox
dead-letter-files=0
# NNTP server for posting news. Also sets news-collections for news reading.
# Path of (local or remote) INBOX, e.g. ={mail.somewhere.edu}inbox
# Normal Unix default is the local INBOX (usually /usr/spool/mail/$USER).
inbox-path=
# List of folder pairs; the first indicates a folder to archive, and the
# second indicates the folder read messages in the first should
# be moved to.
incoming-archive-folders=
# List of folders, assumed to be in first folder collection,
# offered for pruning each month. For example: mumble
pruned-folders=
# Over-rides default path for sent-mail folder, e.g. =old-mail (using first
# folder collection dir) or ={host2}sent-mail or ="" (to suppress saving).
# Default: sent-mail (Unix) or SENTMAIL.MTX (PC) in default folder collection.
default-fcc=sent-mail
# Over-rides default path for saved-msg folder, e.g. =saved-messages (using 1st
# folder collection dir) or ={host2}saved-mail or ="" (to suppress saving).
# Default: saved-messages (Unix) or SAVEMAIL.MTX (PC) in default collection.
default-saved-msg-folder=
# Over-rides default path for postponed messages folder, e.g. =pm (which uses
# first folder collection dir) or ={host4}pm (using home dir on host4).
# Default: postponed-msgs (Unix) or POSTPOND.MTX (PC) in default fldr coltn.
postponed-folder=
# If set, specifies where already-read messages will be moved upon quitting.
read-message-folder=
# If set, specifies where form letters should be stored.
form-letter-folder=
# If set, specifies where trash is moved to in Web Alpine.
trash-folder=
# Contains the actual signature contents as opposed to the signature filename.
# If defined, this overrides the signature-file. Default is undefined.
literal-signature=
# Over-rides default path for signature file. Default is ~/.signature
signature-file=
# List of features; see Alpine's Setup/options menu for the current set.
# e.g. feature-list= select-without-confirm, signature-at-bottom
# Default condition for all of the features is no-.
feature-list=
# Alpine executes these keys upon startup (e.g. to view msg 13: i,j,1,3,CR,v)
initial-keystroke-list=
# Only show these headers (by default) when composing messages
default-composer-hdrs=
# When viewing messages, include this list of headers
viewer-hdrs=
# When viewing messages, number of blank spaces between left display edge and text
viewer-margin-left=
# When viewing messages, number of blank spaces between right display edge and text
viewer-margin-right=
# When viewing messages, number of lines of quote displayed before suppressing
quote-suppression-threshold=
# Determines default folder name for Saves...
# Choices: default-folder, by-sender, by-from, by-recipient, last-folder-used.
# Default: "default-folder", i.e. "saved-messages" (Unix) or "SAVEMAIL" (PC).
saved-msg-name-rule=
# Determines default name for Fcc...
# Choices: default-fcc, by-recipient, last-fcc-used.
# Default: "default-fcc" (see also "default-fcc=" variable.)
fcc-name-rule=
# Sets presentation order of messages in Index. Choices:
# Subject, From, Arrival, Date, Size, To, Cc, OrderedSubj, Score, and Thread.
# Order may be reversed by appending /Reverse. Default: "Arrival".
sort-key=
# Sets presentation order of address book entries. Choices: dont-sort,
# fullname-with-lists-last, fullname, nickname-with-lists-last, nickname
# Default: "fullname-with-lists-last".
addrbook-sort-rule=
# Sets presentation order of folder list entries. Choices: alphabetical,
# alpha-with-dirs-last, alpha-with-dirs-first.
# Default: "alpha-with-directories-last".
folder-sort-rule=
# Sets the default folder and collection offered at the Goto Command's prompt.
goto-default-rule=
# Sets message which cursor begins on. Choices: first-unseen, first-recent,
# first-important, first-important-or-unseen, first-important-or-recent,
# first, last. Default: "first-unseen".
incoming-startup-rule=
# Allows a default answer for the prune folder questions. Choices: yes-ask,
# yes-no, no-ask, no-no, ask-ask, ask-no. Default: "ask-ask".
pruning-rule=
# Controls behavior when reopening an already open folder.
folder-reopen-rule=
# Style that MESSAGE INDEX is displayed in when threading.
threading-display-style=
# Style of THREAD INDEX or default MESSAGE INDEX when threading.
threading-index-style=
# When threading, character used to indicate collapsed messages underneath.
threading-indicator-character=
# When threading, character used to indicate expanded messages underneath.
threading-expanded-character=
# When threading, character used to indicate this is the last reply
# to the parent of this message.
threading-lastreply-character=
# Reflects capabilities of the display you have.
# If unset, the default is taken from your locale. That is usually the right
# thing to use. Typical alternatives include UTF-8, ISO-8859-x, and EUC-JP
# (where x is a number between 1 and 9).
display-character-set=
# Reflects capabilities of the keyboard you have.
# If unset, the default is to use the same value
# used for the display-character-set.
keyboard-character-set=
# Defaults to UTF-8. This is used for outgoing messages.
# It is usually correct to leave this unset.
posting-character-set=
# Defaults to nothing, which is equivalent to US-ASCII. This is used for
# unlabeled incoming messages. It is ok to leave this unset but if you receive
# unlabeled mail that is usually in some known character set, set that here.
unknown-character-set=
# Specifies the program invoked by ^_ in the Composer,
# or the "enable-alternate-editor-implicitly" feature.
editor=
# Specifies the program invoked by ^T in the Composer.
speller=
# Specifies the column of the screen where the composer should wrap.
composer-wrap-column=
# Specifies the string to insert when replying to a message.
reply-indent-string=
# Specifies the introduction to insert when replying to a message.
reply-leadin=
# Specifies the string to replace quotes with when viewing a message.
quote-replace-string=
# When these characters appear in the middle of a word in the composer
# the forward word function will stop at the first text following (as happens
# with SPACE characters by default)
composer-word-separators=
# Specifies the string to use when sending a message with no to or cc.
empty-header-message=
# Program to view images (e.g. GIF or TIFF attachments).
image-viewer=
# If "user-domain" not set, strips hostname in FROM address. (Unix only)
use-only-domain-name=
# This variable takes a list of programs that message text is piped into
# after MIME decoding, prior to display.
display-filters=
# This defines a program that message text is piped into before MIME
# encoding, prior to sending
sending-filters=
# A list of alternate addresses the user is known by
alt-addresses=
# A list of keywords for use in categorizing messages
keywords=
# Characters which surround keywords in SUBJKEY token.
# Default is "{" "} "
keyword-surrounding-chars=
# Characters between subject and opening text in SUBJECTTEXT token.
# Default is " - "
opening-text-separator-chars=
# This is a list of formats for address books. Each entry in the list is made
# up of space-delimited tokens telling which fields are displayed and in
# which order. See help text
addressbook-formats=
# This gives a format for displaying the index. It is made
# up of space-delimited tokens telling which fields are displayed and in
# which order. See help text
index-format=
# The number of lines of overlap when scrolling through message text
viewer-overlap=
# Number of lines from top and bottom of screen where single
# line scrolling occurs.
scroll-margin=
# The number of seconds to sleep after writing a status message
status-message-delay=
# Number of times per-second to update busy cue messages
busy-cue-rate=
# The approximate number of seconds between checks for new mail
mail-check-interval=
# The approximate number of seconds between checks for new mail in folders
# other than the current folder and inbox.
# Default is same as mail-check-interval
mail-check-interval-noncurrent=
# The minimum number of seconds between checks for new mail in a Mail Drop.
# This is always effectively at least as large as the mail-check-interval
maildrop-check-minimum=
# For newsgroups accessed using NNTP, only messages numbered in the range
# lastmsg-range+1 to lastmsg will be considered
nntp-range=100
# Full path and name of NEWSRC file
newsrc-path=
# Path and filename of news configuration's active file.
# The default is typically "/usr/lib/news/active".
news-active-file-path=
# Directory containing system's news data.
# The default is typically "/usr/spool/news"
news-spool-directory=
# Path and filename of the program used to upload text from your terminal
# emulator's into Alpine's composer.
upload-command=
# Text sent to terminal emulator prior to invoking the program defined by
# the upload-command variable.
# Note: _FILE_ will be replaced with the temporary file used in the upload.
upload-command-prefix=
# Path and filename of the program used to download text via your terminal
# emulator from Alpine's export and save commands.
download-command=
# Text sent to terminal emulator prior to invoking the program defined by
# the download-command variable.
# Note: _FILE_ will be replaced with the temporary file used in the download.
download-command-prefix=
# Sets the search path for the mailcap configuration file.
# NOTE: colon delimited under UNIX, semi-colon delimited under DOS/Windows/OS2.
mailcap-search-path=
# Sets the search path for the mimetypes configuration file.
# NOTE: colon delimited under UNIX, semi-colon delimited under DOS/Windows/OS2.
mimetype-search-path=
# Sets the path for the system ssl certificates issued by a trusted
# certificate authority. Note that this could be a list of paths, if the same
# pinerc is used in different systems. Alpine always chooses the first one that
# it finds. Value must be an absolute path.
system-certs-path=
# Sets the path for the system ssl file container of certificates issued by a
# certificate authority. Note that this could be a list of container files,
# if the same pinerc is used in different systems. Alpine always chooses the,
# first one that it finds. Value must be an absolute path.
system-certs-file=
# Sets the path for a file that contains certificates that a user trusts.
#Note that this could be a list of container files,
# if the same pinerc is used in different systems. Alpine always chooses the,
# first one that it finds. Value must be an absolute path.
user-certs-path=
# Sets the path for a file that contains certificates that a user trusts.
#Note that this could be a list of container files,
# if the same pinerc is used in different systems. Alpine always chooses the,
# first one that it finds. Value must be an absolute path.
user-certs-file=
# Colon separated list of ciphers that should be negotiated with the remote
# ssl server upon connection.
ssl-ciphers=
# List of directories that are preferred locations to save or export attachments.
default-directories=~/mail/export
# The maximum number of non-stayopen remote connections that Alpine will use
max-remote-connections=
# A list of folders that should be left open once opened (INBOX is implicit)
stay-open-folders=
# Sets the time in seconds that Alpine will attempt to open a network
# connection when checking for new unseen messages in an incoming folder.
# The default is 5.
incoming-check-timeout=
# Sets the approximate number of seconds between checks for unseen messages
# in incoming folders. The default is 180.
incoming-check-interval=
# Sets the approximate number of seconds between checks for unseen messages
# for other than local or IMAP folders. The default is 180.
incoming-check-interval-secondary=
# List of incoming folders to check for unseen messages. The default if left
# blank is to check all incoming folders.
incoming-check-list=
# Specifies the number of dead letter files to keep when canceling.
# Sets the filename for the newmail fifo (named pipe). Unix only.
newmail-fifo-path=
# Sets the width for the NewMail screen.
newmail-window-width=
# List of incoming msg folders besides INBOX, e.g. ={host2}inbox, {host3}inbox
# Syntax: optnl-label {optnl-imap-host-name}folder-path
incoming-folders=
# List, only needed if nntp-server not set, or news is on a different host
# than used for NNTP posting. Examples: News *[] or News *{host3/nntp}[]
# Syntax: optnl-label *{news-host/protocol}[]
#news-collections=News {news.nntp4.net/user=nntp4_2504121037/nntp}#news.[]
# List of file or path names for personal addressbook(s).
# Default: ~/.addressbook (Unix) or \PINE\ADDRBOOK (PC)
# Syntax: optnl-label path-name
address-book=
# List of file or path names for global/shared addressbook(s).
# Default: none
# Syntax: optnl-label path-name
global-address-book=
# This names the path to an alternative program, and any necessary arguments,
# to be used in posting mail messages. Example:
# /usr/lib/sendmail -oem -t -oi
# or,
# /usr/local/bin/sendit.sh
# The latter a script found in Alpine distribution's contrib/util directory.
# NOTE: The program MUST read the message to be posted on standard input,
# AND operate in the style of sendmail's "-t" option.
sendmail-path=
# This names the root of the tree to which the user is restricted when reading
# and writing folders and files. For example, on Unix ~/work confines the
# user to the subtree beginning with their work subdirectory.
# (Note: this alone is not sufficient for preventing access. You will also
# need to restrict shell access and so on, see Alpine Technical Notes.)
# Default: not set (so no restriction)
operating-dir=
# If no user input for this many hours, Alpine will exit if in an idle loop
# waiting for a new command. If set to zero (the default), then there will
# be no timeout.
user-input-timeout=
# Sets the time in seconds that Alpine will attempt to open a network
# connection. The default is 30, the minimum is 5, and the maximum is
# system defined (typically 75).
tcp-open-timeout=
# Network read warning timeout. The default is 15, the minimum is 5, and the
# maximum is 1000.
tcp-read-warning-timeout=
# Network write warning timeout. The default is 0 (unset), the minimum
# is 5 (if not 0), and the maximum is 1000.
tcp-write-warning-timeout=
# If this much time has elapsed at the time of a tcp read or write
# timeout, Alpine will ask if you want to break the connection.
# Default is 60 seconds, minimum is 5, maximum is 1000.
tcp-query-timeout=
# If this much time has elapsed at the time of a tcp read or write timeout,
# Alpine will close the connection automatically without user intervention.
# Setting this value to zero (the default) disables this. Setting this variable
# to a smaller value than tcp-query-timeout will close the connection
# automatically, and you will never be asked if you want to wait.
close-connection-timeout=
# Sets the format of the command used to open a UNIX remote
# shell connection. The default is "%s %s -l %s exec /etc/r%sd"
# NOTE: the 4 (four) "%s" entries MUST exist in the provided command
# where the first is for the command's path, the second is for the
# host to connect to, the third is for the user to connect as, and the
# fourth is for the connection method (typically "imap")
rsh-command=
# Sets the name of the command used to open a UNIX remote shell connection.
# The default is typically /usr/ucb/rsh.
rsh-path=
# Sets the time in seconds that Alpine will attempt to open a UNIX remote
# shell connection. The default is 15, min is 5, and max is unlimited.
# Zero disables rsh altogether.
rsh-open-timeout=
# Sets the format of the command used to open a UNIX secure
# shell connection. The default is "%s %s -l %s exec /etc/r%sd"
# NOTE: the 4 (four) "%s" entries MUST exist in the provided command
# where the first is for the command's path, the second is for the
# host to connect to, the third is for the user to connect as, and the
# fourth is for the connection method (typically "imap")
ssh-command=
# Sets the name of the command used to open a UNIX secure shell connection.
# Typically this is /usr/bin/ssh.
ssh-path=
# Sets the time in seconds that Alpine will attempt to open a UNIX secure
# shell connection. The default is 15, min is 5, and max is unlimited.
# Zero disables ssh altogether.
ssh-open-timeout=
# Sets the version number Alpine will use as a threshold for offering
# its new version message on startup.
new-version-threshold=
# List of mail drivers to disable.
disable-these-drivers=
# A range in the form min,max that sets the minimum amd maximum versions of the
# SSL protocol that Alpine will use when connecting to a secure server.
encryption-protocol-range=
# Set by Alpine; contains data for caching remote address books.
remote-abook-metafile=
# How many extra copies of remote address book should be kept. Default: 3
remote-abook-history=
# Minimum number of minutes between checks for remote address book changes.
# 0 means never check except when opening a remote address book.
# -1 means never check. Default: 5
remote-abook-validity=
# Your default printer selection
printer=
# List of special print commands
personal-print-command=
# Which category default print command is in
personal-print-category=
# Your client-id and client-secret information to authenticate using XOAUTH2
xoauth2-info=
# Patterns and their actions are stored here.
# Patterns and their actions are stored here.
patterns-filters2=
# Patterns and their actions are stored here.
patterns-scores2=
# Patterns and their actions are stored here.
patterns-indexcolors=
# Patterns and their actions are stored here.
patterns-other=
# Patterns and their actions are stored here.
patterns-search=
# Controls display of color
color-style=
# Controls display of color for current index line
current-indexline-style=
# Controls display of color for the titlebar at top of screen
titlebar-color-style=
# Choose: black, blue, green, cyan, red, magenta, yellow, or white.
normal-foreground-color=
normal-background-color=
reverse-foreground-color=
reverse-background-color=
title-foreground-color=
title-background-color=
title-closed-foreground-color=
title-closed-background-color=
folder-foreground-color=
folder-background-color=
directory-foreground-color=
directory-background-color=
folder-list-text-foreground-color=
folder-list-text-background-color=
status-foreground-color=
status-background-color=
keylabel-foreground-color=
keylabel-background-color=
keyname-foreground-color=
keyname-background-color=
selectable-item-foreground-color=
selectable-item-background-color=
meta-message-foreground-color=
meta-message-background-color=
quote1-foreground-color=
quote1-background-color=
quote2-foreground-color=
quote2-background-color=
quote3-foreground-color=
quote3-background-color=
incoming-unseen-foreground-color=
incoming-unseen-background-color=
signature-foreground-color=
signature-background-color=
prompt-foreground-color=
prompt-background-color=
header-general-foreground-color=
header-general-background-color=
index-to-me-foreground-color=
index-to-me-background-color=
index-important-foreground-color=
index-important-background-color=
index-deleted-foreground-color=
index-deleted-background-color=
index-answered-foreground-color=
index-answered-background-color=
index-new-foreground-color=
index-new-background-color=
index-recent-foreground-color=
index-recent-background-color=
index-forward-foreground-color=
index-forward-background-color=
index-unseen-foreground-color=
index-unseen-background-color=
index-highpriority-foreground-color=
index-highpriority-background-color=
index-lowpriority-foreground-color=
index-lowpriority-background-color=
index-arrow-foreground-color=
index-arrow-background-color=
index-subject-foreground-color=
index-subject-background-color=
index-from-foreground-color=
index-from-background-color=
index-opening-foreground-color=
index-opening-background-color=
# Colors in which tokens will be displayed in the index screen
index-token-colors=
# When viewing messages, these are the header colors
viewer-hdr-colors=
# Colors used to display keywords in the index
keyword-colors=
# Public certificates are kept in files in this directory. The files should
# contain certificates in PEM format. The name of each file should look
# like <emailaddress>.crt. The default directory is .alpine-smime/public.
smime-public-cert-directory=
# If this option is set then public certificates are kept in a single container
# "file" similar to a remote configuration file instead of in the
# smime-publiccert-directory. The value can be a remote or local folder
# specification like for a non-standard pinerc value. The default
# is that it is not set.
smime-public-cert-container=
# Private keys are kept in files in this directory. The files are in PEM format.
# The name of a file should look like <emailaddress>.key.
# The default directory is .alpine-smime/private.
smime-private-key-directory=
# If this option is set then private keys are kept in a single container
# "file" similar to a remote configuration file instead of in the
# private-key-directory. The value can be a remote or local folder
# specification like for a non-standard pinerc value. The default
# is that it is not set.
smime-private-key-container=
# Certificate Authority certificates (in addition to the normal CACerts for the
# system) are kept in files in this directory. The files are in PEM format.
# Filenames should end with .crt. The default directory is .alpine-smime/ca.
smime-cacert-directory=
# If this option is set then CAcerts are kept in a single container
# "file" similar to a remote configuration file instead of in the
# ca-cert-directory. The value can be a remote or local folder
# specification like for a non-standard pinerc value. The default
# is that it is not set.
smime-cacert-container=
# LDAP servers for looking up addresses.
ldap-servers=
# RSS News feed
rss-news=
# RSS Weather feed
rss-weather=
# Web Alpine index table row height
wp-indexheight=
# Web Alpine number of index lines in table
wp-indexlines=
# Web Alpine aggregate operations tab state
wp-aggstate=
# Web Alpine various aspects of cross-session state
wp-state=
# Web Alpine preferred width for message display in characters
wp-columns=
# List, only needed if nntp-server not set, or news is on a different host
# than used for NNTP posting. Examples: News *[] or News *{host3/nntp}[]
# Syntax: optnl-label *{news-host/protocol}[]
news-collections=

View File

@@ -8,6 +8,15 @@ Host amazon
User ec2-user
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
HostName gitlab.gwdg.de
@@ -28,6 +37,22 @@ Host physik
User j.hahn02
IdentityFile ~/.ssh/id_university
Host theo_bitzz
HostName bitzz.de
User theo
IdentityFile ~/.ssh/id_theo
Host informatik
HostName shell.informatik.uni-goettingen.de
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

@@ -2,12 +2,16 @@
set -g base-index 1
setw -g pane-base-index 1
set-window-option -g mode-keys vi
#set-option -g default-shell "/usr/bin/env zsh"
# Switch to another git repo
bind-key u new-window -d -n fzf-switcher "bash -c '~/projects/scripts/find_gits.sh; exit'" \; select-window -t fzf-switcher
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 & kill-window
bind-key x kill-pane
############# Cosmetics
set-option -g status-bg black
set-option -g status-fg white
@@ -16,7 +20,6 @@ set -g default-terminal "tmux-256color"
# Left side: Show window list
set-option -g status-left ""
#set-option -g default-shell "/bin/zsh"
set -g mouse off
# Right side: Show full session name

View File

@@ -1,8 +1,13 @@
source $HOME/.common_shell
export TERM="alacritty"
bindkey '^R' history-incremental-search-backward
bindkey -v
alias cat="bat"
alias ls="exa"
function rgnvim() {
rg --vimgrep "$@" \
| fzf --delimiter : --nth 1,2,3,4 \
@@ -72,3 +77,10 @@ fi
if [ -f "/etc/NIXOS" ]; then
eval "$(starship init zsh)"
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,16 +0,0 @@
#!/usr/bin/env bash
set -e
pkg="$1"
stow --dotfiles --no "$pkg" 2>&1 |
grep 'cannot stow' |
sed -E 's/.*existing target ([^ ]+).*/\1/' |
while read -r f; do
echo "Removing $HOME/$f with force"
rm -rf -- "$HOME/$f"
done
stow --dotfiles "$pkg"
echo "Stowed $pkg"

View File

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