aboutsummaryrefslogtreecommitdiff
path: root/system/felix
diff options
context:
space:
mode:
authorDamian Perticone <mjolnirdam@gmail.com>2022-08-12 20:26:53 +0100
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2022-08-13 10:40:38 +0700
commit4539a564041147e30cdbd8afa8be47984e1098d9 (patch)
treeb5c5b8456ca9f2962436a3059a2a2c11de247c0f /system/felix
parent6371d22222dc2d76ad7f09fd220e8599cfdc5e18 (diff)
system/felix: Added (Rust file manager with vim-like key mapping)
Signed-off-by: Dave Woodfall <dave@slackbuilds.org> Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'system/felix')
-rw-r--r--system/felix/README97
-rw-r--r--system/felix/felix.SlackBuild166
-rw-r--r--system/felix/felix.info254
-rw-r--r--system/felix/slack-desc19
4 files changed, 536 insertions, 0 deletions
diff --git a/system/felix/README b/system/felix/README
new file mode 100644
index 0000000000000..fa5123e442abe
--- /dev/null
+++ b/system/felix/README
@@ -0,0 +1,97 @@
+Felix is a tui file manager with vim-like key mapping, written in Rust,
+fast, simple, and easy to configure & use.
+Configuration path: $XDG_CONFIG_HOME/felix
+
+Default config file will be created automatically when you launch the
+program for the first time.
+
+In config.toml, you can set:
+
+how to open files
+max length of item to be displayed (optional)
+color of directory, file, and symlink separatively
+default key to sort the item list ("Name" or "Time")
+
+Command settings
+
+For example, If you write
+
+default = "nvim"
+
+[exec]
+feh = ["jpg", "jpeg", "png", "gif", "svg"]
+zathura = ["pdf"]
+
+then, .jpg, .jpeg, .png, .gif and .svg files are opened by feh
+<file-name>, .pdf files by zathura <file-name> and others by nvim
+<file-name> .
+
+Usage:
+command / arguments
+fx Show items in the current directory.
+fx <directory path> Show items in the path. Both relative and
+ absolute available.
+fx -l [path] or fx --log [path] Launch the app and create a log file.
+fx -v or fx --version Print the current version and check update.
+fx -h or fx --help Print help.
+
+Key manual
+Key Explanation
+
+j / Up Go up. If the list exceeds max-row, it "scrolls" before the
+ top of the list.
+k / Down Go down. If the list exceeds max-row, it "scrolls" before
+ the bottom of the list.
+h / Left Go to the parent directory if exists.
+l / Right / Enter Open a file or change the directory. Commands for the
+ execution can be managed in the config file.
+o Open a file in a new window. This enables you to use felix
+ while working with the file. If you open a file in an editor
+ that runs inside the terminal, no new window appears, and
+ after exit some error messages may appear.
+gg Go to the top.
+G Go to the bottom.
+z + Enter Go to the home directory.
+z <keyword> This command requires zoxide installed. Jump to a directory
+ that matches the keyword. Internally, felix calls zoxide
+ query <keyword>, so if the keyword does not match the zoxide
+ database, this command will fail.
+dd Delete and yank one item (will go to the trash directory).
+yy Yank one item. If you yanked other item(s) before, it's
+ replaced by this one.
+p Put yanked item(s) in the current directory. If the item
+ with same name exists, copied item will be renamed with the
+ suffix "_copied".
+V Switch to the select mode, where you can move cursor to
+ select items.
+d (select mode) Delete and yank selected items, and return to the normal
+ mode.
+y (select mode) Yank selected items, and return to the normal mode.
+u Undo put/delete/rename.
+Ctrl + r Redo put/delete/rename.
+v Toggle whether to show the item preview (text, image, or
+ the contents tree) on the right half of the terminal. Hi-res
+ image preview is enabled if i) your terminal supports
+ sixel, and ii) you've preinstalled libsixel. If not, images
+ are printed by blocks.
+backspace Toggle whether to show hidden items or not. This change
+ remains after exit (stored in .session).
+t Toggle sort order (by name <-> by modified time). This
+ change remains after exit (same as above).
+c Switch to the rename mode (enter the new name and press
+ Enter to rename the item).
+/ Switch to the filter mode (enter the keyword and press Enter
+ to show the filtered list). Press h or Left to exit the
+ filter mode.
+: Experimantal. Switch to the shell mode. Type command and
+ press Enter to execute it. You can use any command in the
+ displayed directory, but some commands may fail, and the
+ display may collapse during execution.
+:cd / :z Go to the home directory.
+:z <keyword> Same as z <keyword>.
+:e Reload the current directory. Useful when something goes
+ wrong.
+:empty Empty the trash directory. Please think twice to use this.
+:h Show help. (scrolls by j/k or Up/Down)
+Esc Return to the normal mode.
+:q / ZZ Exit.
diff --git a/system/felix/felix.SlackBuild b/system/felix/felix.SlackBuild
new file mode 100644
index 0000000000000..476f74984c72f
--- /dev/null
+++ b/system/felix/felix.SlackBuild
@@ -0,0 +1,166 @@
+#!/bin/bash
+
+# Slackware build script for felix
+
+# Copyright 2022 Damian Perticone, Berisso, Argentina
+# thanks to andrew clemons for the very good tip!!
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PRGNAM=felix
+VERSION=${VERSION:-1.0.1}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+PKGTYPE=${PKGTYPE:-tgz}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+
+ if [ "$ARCH" = "i586" ]; then
+ if rustc -Vv | grep host | grep i686 > /dev/null ; then
+ ARCH=i686
+ fi
+ fi
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
+ exit 0
+fi
+
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+ CARGOTARGET="--target i586-unknown-linux-gnu"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+ CARGOTARGET="--target i686-unknown-linux-gnu"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+ CARGOTARGET="--target x86_64-unknown-linux-gnu"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+ CARGOTARGET=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+
+# build offline
+# configuration tells cargo to use the configured directory
+# for dependencies intead of downloading from crates.io
+mkdir .cargo
+cat << EOF >> .cargo/config
+[source.crates-io]
+registry = 'https://github.com/rust-lang/crates.io-index'
+replace-with = 'vendored-sources'
+
+[source.vendored-sources]
+directory = '$(pwd)/vendor'
+EOF
+
+# deps and versions come from Cargo.lock
+mkdir vendor
+(
+ cd vendor
+
+ grep -h -A 3 "\[\[package\]\]" $(find ../ -maxdepth 1 -mindepth 1 -name Cargo.lock | tr '\n' ' ') | \
+ sed 's/[[:space:]]*=[[:space:]]*/=/g;s/^--//;s/^\[\[/--\n[[/' | \
+ awk 'BEGIN { RS = "--\n" ; FS="\n" } { print $2, $3, $4 }' | sed 's/"//g;s/name=//;s/ version=/=/' | \
+ grep crates\.io-index | sed 's/ source=.*$//' | sort -u | while read -r dep ; do
+
+ ver="$(printf "%s\n" "$dep" | cut -d= -f2)"
+ dep="$(printf "%s\n" "$dep" | cut -d= -f1)"
+
+ tar xvf $CWD/$dep-$ver.crate
+
+ touch $dep-$ver/.cargo-ok
+
+ # generate checksum
+ {
+ printf "{\n"
+ printf ' "files": {\n'
+
+ (
+ cd $dep-$ver
+ find . -type f -print0 | xargs -0 sha256sum | sed -n '/\.cargo-checksum\.json/!p' | sed 's/\.\///;s/^\([^ ]*\)[[:space:]][[:space:]]*\(.*\)$/"\2":"\1",/'
+ ) | sed '$ s/,$//'
+
+ printf " },\n"
+ printf ' "package": "'
+
+ sha256sum "$CWD/$dep-$ver.crate" | cut -f1 -d' ' | sed 's/$/"/'
+
+ printf "}\n"
+ } > $dep-$ver/.cargo-checksum.json
+ done
+)
+
+sed -i '/strip =/d' Cargo.toml
+
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+CARGO_HOME=.cargo \
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+cargo build --release $CARGOTARGET
+
+mkdir -p $PKG/usr/bin
+
+find target -name fx -exec install -m 755 {} $PKG/usr/bin/fx \;
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a LICENSE README.md $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
diff --git a/system/felix/felix.info b/system/felix/felix.info
new file mode 100644
index 0000000000000..66770917db0d4
--- /dev/null
+++ b/system/felix/felix.info
@@ -0,0 +1,254 @@
+PRGNAM="felix"
+VERSION="1.0.1"
+HOMEPAGE="https://github.com/kyoheiu/felix"
+DOWNLOAD="https://github.com/kyoheiu/felix/archive/v1.0.1/felix-1.0.1.tar.gz \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/adler32/adler32-1.2.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/adler/adler-1.0.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/ansi_colours/ansi_colours-1.1.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/autocfg/autocfg-1.1.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/base64/base64-0.13.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/bit_field/bit_field-0.10.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/bitflags/bitflags-1.3.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/bumpalo/bumpalo-3.9.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/bytemuck/bytemuck-1.9.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/byteorder/byteorder-1.4.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/cfg-if/cfg-if-1.0.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/chrono/chrono-0.4.19.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/color_quant/color_quant-1.1.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/console/console-0.15.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/crc32fast/crc32fast-1.3.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/crossbeam-channel/crossbeam-channel-0.5.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/crossbeam-deque/crossbeam-deque-0.8.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/crossbeam-epoch/crossbeam-epoch-0.9.8.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/crossbeam-utils/crossbeam-utils-0.8.8.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/crossterm/crossterm-0.23.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/crossterm_winapi/crossterm_winapi-0.9.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/deflate/deflate-1.0.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/dirs-sys/dirs-sys-0.3.7.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/dirs/dirs-4.0.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/either/either-1.6.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/encode_unicode/encode_unicode-0.3.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/exr/exr-1.4.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/fastrand/fastrand-1.7.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/flate2/flate2-1.0.23.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/flume/flume-0.10.12.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/futures-core/futures-core-0.3.21.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/futures-sink/futures-sink-0.3.21.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/getrandom/getrandom-0.2.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/gif/gif-0.11.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/half/half-1.8.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/hermit-abi/hermit-abi-0.1.19.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/image/image-0.24.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/inflate/inflate-0.4.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/instant/instant-0.1.12.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/itoa/itoa-1.0.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/jpeg-decoder/jpeg-decoder-0.2.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/js-sys/js-sys-0.3.57.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/lazy_static/lazy_static-1.4.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/lebe/lebe-0.5.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/libc/libc-0.2.126.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/lock_api/lock_api-0.4.7.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/log/log-0.4.17.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/memoffset/memoffset-0.6.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/miniz_oxide/miniz_oxide-0.5.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/mio/mio-0.8.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/nanorand/nanorand-0.7.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/natord/natord-1.0.9.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/num-integer/num-integer-0.1.45.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/num-iter/num-iter-0.1.43.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/num-rational/num-rational-0.4.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/num-traits/num-traits-0.2.15.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/num_cpus/num_cpus-1.13.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/num_threads/num_threads-0.1.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/numtoa/numtoa-0.1.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/once_cell/once_cell-1.12.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/parking_lot/parking_lot-0.12.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/parking_lot_core/parking_lot_core-0.9.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/pin-project-internal/pin-project-internal-1.0.10.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/pin-project/pin-project-1.0.10.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/png/png-0.17.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/proc-macro2/proc-macro2-1.0.39.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/quote/quote-1.0.18.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/rayon-core/rayon-core-1.9.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/rayon/rayon-1.5.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/redox_syscall/redox_syscall-0.2.13.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/redox_termios/redox_termios-0.1.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/redox_users/redox_users-0.4.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/regex-syntax/regex-syntax-0.6.26.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/regex/regex-1.5.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/remove_dir_all/remove_dir_all-0.5.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/rgb/rgb-0.8.32.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/same-file/same-file-1.0.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/scoped_threadpool/scoped_threadpool-0.1.9.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/scopeguard/scopeguard-1.1.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/serde/serde-1.0.137.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/serde_derive/serde_derive-1.0.137.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/signal-hook-mio/signal-hook-mio-0.2.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/signal-hook-registry/signal-hook-registry-1.4.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/signal-hook/signal-hook-0.3.14.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/simplelog/simplelog-0.12.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/smallvec/smallvec-1.8.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/spin/spin-0.9.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/syn/syn-1.0.95.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/tempfile/tempfile-3.3.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/termcolor/termcolor-1.1.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/terminal_size/terminal_size-0.1.17.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/termion/termion-1.5.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/thiserror-impl/thiserror-impl-1.0.31.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/thiserror/thiserror-1.0.31.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/threadpool/threadpool-1.8.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/tiff/tiff-0.7.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/time-macros/time-macros-0.2.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/time/time-0.1.44.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/time/time-0.3.9.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/toml/toml-0.5.9.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/unicode-ident/unicode-ident-1.0.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/unicode-width/unicode-width-0.1.9.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/viuer/viuer-0.6.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/walkdir/walkdir-2.3.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/wasi/wasi-0.10.0+wasi-snapshot-preview1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/wasi/wasi-0.11.0+wasi-snapshot-preview1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/wasm-bindgen-backend/wasm-bindgen-backend-0.2.80.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/wasm-bindgen-macro-support/wasm-bindgen-macro-support-0.2.80.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/wasm-bindgen-macro/wasm-bindgen-macro-0.2.80.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/wasm-bindgen-shared/wasm-bindgen-shared-0.2.80.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/wasm-bindgen/wasm-bindgen-0.2.80.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/weezl/weezl-0.1.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi-i686-pc-windows-gnu/winapi-i686-pc-windows-gnu-0.4.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi-util/winapi-util-0.1.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi-x86_64-pc-windows-gnu/winapi-x86_64-pc-windows-gnu-0.4.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi/winapi-0.3.9.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/windows-sys/windows-sys-0.36.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/windows_aarch64_msvc/windows_aarch64_msvc-0.36.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/windows_i686_gnu/windows_i686_gnu-0.36.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/windows_i686_msvc/windows_i686_msvc-0.36.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/windows_x86_64_gnu/windows_x86_64_gnu-0.36.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/windows_x86_64_msvc/windows_x86_64_msvc-0.36.1.crate"
+MD5SUM="564fba28565eebea80f8882ce9a35f8e \
+ d5898ddb1e496ff0ac50b79829311e76 \
+ 669215548c64019c08c92b2c1afd3deb \
+ b7c705d140b43db89a8106c0c341ae7c \
+ 05d77ef52e90ad161fdd41b252420467 \
+ 80a2c27647a6acb1890a3a7de8fded72 \
+ 2ff83225cc3e2df3c56e24274621515f \
+ a295edb6953237ebbdfa8e731229f9a3 \
+ 79173170388e20507a241b355ef521e3 \
+ b97237f68aaea0dcce7275c08aed1072 \
+ 1e704be5ddde9d6b5383ef1035309f91 \
+ 74634128440dbc3766bda76fdf0aaa05 \
+ 1581b390d17f6e73a43ffc8a7b009e57 \
+ ee1260862a62c0d8824b664a1abda7b8 \
+ 7496180b753f8729ac92e0a491ff94cc \
+ a9d6492a1bd21d93dbc27c32eabd0c70 \
+ 576ee1b86d4c2abacb63ea19c0121d2f \
+ 93c803ad55de44eedc24870f83d0279b \
+ abc30053602577b8fa8f181239f505b1 \
+ 8d21be2fa5f912232d6c441e8dd78cb1 \
+ 6e50eb9dbb4e044a850700133744449e \
+ 22a24f05bcdf8e7e82aa83e1d1bf52b7 \
+ 47680a64a0775a1c9450862d68801b1f \
+ 4c21da37e71a52f26c8c5490f3ec4837 \
+ 889fdcd1499ef5939caaafab5c09729e \
+ b4e2b229c362ad0dd313ff631816d5db \
+ 95a243b2d7c30018a643e218b3c5d693 \
+ 4d16e06fa2080b48afdc9926f258fb99 \
+ e08921c68133df2e254fe723b368bae3 \
+ f68a6d098298ffa9b317919120783339 \
+ e7866378b62d00377109dd92c134c32b \
+ 8aa040d9c661f68ebb67d5b71813473b \
+ a46bd303e3155f7975b167af12435e5e \
+ 8a9e0a43625da8d29c57e742c4d3d385 \
+ eaf063b6842847aeb6f366138da45be1 \
+ fea840ce07a32bdace46c59c41362f3b \
+ 0b7994d1256215201bdfb810a357ffa2 \
+ 5f8f4bd3647871aa16940e493f39a13e \
+ 8ece65b4db64f81379cbd293e2f04d39 \
+ 5f153f7135dceb02f88266121c836b4e \
+ dfd1e3e07982e8245a772e6e63e5c4bc \
+ 3f7dd8d59e7f0d6f534d07438d8ee915 \
+ d49632aacbe5b25a24e411e7a037cc0d \
+ fba3b040a55c01be7376d3dd5c4d4920 \
+ fad26fa0a6e9a624f36658d219e8e20f \
+ c58d450f13e76e4a034fde8f20710266 \
+ 1c1e406fe68d3223a6c58e9c1987b6ce \
+ b31bf94ffe7e0f2ada93afae1076eaeb \
+ 76124c2327f642cddf19a4aa50cbcb7d \
+ 2d3c4e7f37ed77be4f9f204a60e6d26a \
+ 110b5ea3d4fc1e9bb304e74f7a3165ee \
+ 28a4dbc0158bdb2fa806d97dd55fba2e \
+ 5a9b94ba54ea1f52f2a496ba982e3282 \
+ 073b4c53e303ccf2a807dfce7f5e986a \
+ 44ef8a2279dadf391881a69c60d29197 \
+ 0cd34d83344babdcb0aa123b5e672182 \
+ a0de6eabdeb1320350abcbd7c02df6ac \
+ c5e50e299295e662ad19c58428d6e085 \
+ ae2471729f689287aec9da43f8106a4b \
+ bbda7e9c572f651774dfdb0006b9f085 \
+ d2898eb94e8ec220fa09df7fa0ebb692 \
+ eab5fb7020e5cc0a6cfb7627c4e9b31f \
+ f3c211bc33fcf71ca981d02f9fa2813c \
+ 8ff78776b6140283bd558ad74554cb16 \
+ 228eb40a277a6dda01626b6e9287ee66 \
+ 9436a04d4af9dc4c180a14981086f593 \
+ a081866d627a3feb598df6960be8adc8 \
+ 0fa01f3988219987a04c09dae3933d94 \
+ 4df2c80615b7827c19c735c047a7c82f \
+ 5d8cb7121bd2954f7cbb189eacd90c08 \
+ 2e69b77050ab91b1d0bb941e843a05cb \
+ c5b23985f2b07389edcda3900fc8a751 \
+ 2793ed3e6807d79ff72271baec586531 \
+ c3789f11772f0c40ad7cc1f6e4b7bf2c \
+ 8cfc5b8dac188c6b4b790175902df1bc \
+ 0538d1da369f3e3f0412aa4d735c1b61 \
+ 4b963dbde05acc47514fbea1afdd35c1 \
+ 2d8d8b377d144f5e32b4f65a69eb0b24 \
+ b492e0a70603c3903a44ec5cabd3ba21 \
+ b4a0a98a54439a5a37952c8879187ee3 \
+ 31553e8c2d0d2f2e7474cc48a03337d8 \
+ 3d3fef13feb53a62c0f434a092f526bf \
+ cd23eb9bc45514102af9b76e333230fb \
+ 21b43d5721b3a9c16059acb691f4314d \
+ 8532a59ccbacb95018a128b2d7b2601a \
+ d4db0f5c1dd60e3ceffcd6f4c8e976ab \
+ 6249245cf12427da0a4f37bc3d294ff4 \
+ 54da1b9106402b1ed4ca311eecb9dfa1 \
+ d57d659be45ec6812179c4e3e8da7ecd \
+ f29a1bb1b5f3f29cedb36f40f720d765 \
+ 40ce77bc7803d0ff8734f6a11c4e8814 \
+ d3266efa0f541bfaca6541e17c1a0457 \
+ 5e7f9a17d31e264f87d3e14b85d7da3f \
+ ac76b35d8c76c7fa25c73b8863d5d055 \
+ a8ae09f39c6e68744ca70bf8db61df71 \
+ 192229a7b481a4becf170d8a34528739 \
+ 1b65b6a069039a7feb57d74a3d1ba4f4 \
+ 1810b2a2299ed5a2434da7926161fbd4 \
+ c6c50e4feea5f4cc4e1fb3c7e88606a5 \
+ ad3f3c7bb184e63919b633dc35805cf4 \
+ b02f8aae39609bfe759838fbe0616c1a \
+ 1415b48fcebe79916396ef3383ef9b3a \
+ a42cc2834b2150027d7b427558a87803 \
+ 2ab1a8fa8098c333b210487575e8430a \
+ 580dd7d12690c726da7d5075f3442a74 \
+ a312b55a428f827a91097d1d8497b02b \
+ e972ea58ec203bfa6c79c1207852298b \
+ eff162a9eb73d8bf43ab38431a1825f6 \
+ 7c1938786f5fe1da4fb3dbe5ebbcaeeb \
+ 5a95cd15fe52d43a8ef355d65417549a \
+ 1a1754a2a84a7511aea0bb45eccc5fa0 \
+ 2c5bacb773fb313b9b6b497cb9962aa7 \
+ d9f2e38fc1cc846aa07a4e0b43224d10 \
+ db96b50050277bf05a3c68534bbb9586 \
+ b9e37d5fc4ad28b612b78ad37816684d \
+ 09de9d01e7331ff3da11f58be8bef0df \
+ 0498c4a11448bfc35dc7bb2caa64c753 \
+ b3083009944ab58cbd9c4941f4965545 \
+ 776128629d743f0d6127db259a0d8844 \
+ 7f60b76e78bd2a190cf3ddc2b4c4920b \
+ ce798410cba61fe713f3487cd6cafef4 \
+ f55176d04297df9dd5ccae7c748e26c7 \
+ 8e285ddee403a9abe62d6fe2bfbb736a"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES="zoxide"
+MAINTAINER="Damian Perticone"
+EMAIL="mjolnirdam@gmail.com"
diff --git a/system/felix/slack-desc b/system/felix/slack-desc
new file mode 100644
index 0000000000000..3256c88a51c66
--- /dev/null
+++ b/system/felix/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+felix: felix (file manager with vim-like key mapping, written in Rust)
+felix:
+felix: Felix is a tui file manager with vim-like key mapping, written in
+felix: Rust. Fast, simple, and easy to configure & use.
+felix:
+felix:
+felix:
+felix:
+felix:
+felix: Home: https://github.com/kyoheiu/felix
+felix: