feat(system): configure nano (-FEDSMAGic/max%_T2) as EDITOR, less -RXF as PAGER, add ed/rlwrap/less, and remove vim
This commit is contained in:
@@ -46,7 +46,7 @@ This manual covers flashing, operating, and customizing **Bananarchy Linux** (`v
|
||||
6. **Memory & swap tuning for 512 MB RAM**:
|
||||
- `384 MiB` ZSTD-compressed `zram0` swap (priority `100`) + `512 MiB` `/swapfile` (priority `10`), with `vm.swappiness=100` and `vm.page-cluster=0`.
|
||||
7. **Preinstalled on-device development & scripting stack**:
|
||||
- **C / C++ toolchain & build tools**: `gcc`, `g++`, `musl-dev`, `make`, `git`, `nano`
|
||||
- **C / C++ toolchain & CLI utilities**: `gcc`, `g++`, `musl-dev`, `make`, `git`, GNU `coreutils`, `nano` (default `$EDITOR`, configured system-wide via `/etc/nanorc` equivalent to `nano -FEDSMAGic/max%_T2`), `ed`, GNU `less` (default `$PAGER="less -RXF"`), `rlwrap`
|
||||
- **Janet**: `janet`, `janet-dev`, `jpm` (Janet package manager)
|
||||
- **Perl**: `perl`, `perl-io-socket-ssl` (`IO::Socket::SSL`)
|
||||
- **Tcl & SQLite**: `tcl`, `tcl-lib` (`tcllib`), `tcl-tls`, `sqlite` (`sqlite3`), `sqlite-tcl` (`tcl-sqlite`)
|
||||
|
||||
@@ -18,7 +18,7 @@ Bananarchy targets an ultra-lightweight **Sxmo X11 (`sxmo-de-dwm`)** environment
|
||||
- **Full Qualcomm QDSP6/Q6Voice audio & modem routing**: loudspeaker, earpiece speaker, and internal/headset microphones with PM8909 WCD analog codec 2.8V micbias, +6 dB EAR PA gain, and GSM/WCDMA/LTE voice routing (`ModemManager` + `q6voiced`).
|
||||
- **Rear 2MP camera support**: `msm8905-cam` V4L2 driver for GalaxyCore `GC2395` + MSM8909 `CAMSS` on `/dev/video0` and the `bananarchy-photo` CLI/Sxmo app.
|
||||
- **Pre-integrated Bantam AI agent**: cross-compiled from `https://code.luxferre.top/luxferre/bantam-cpp`.
|
||||
- **Complete on-device development & scripting stack**: `git`, `gcc`/`g++`, `make`, `nano`, `janet` + `jpm`, `perl` + `IO::Socket::SSL`, `tcl` + `tcllib`/`tcl-tls`/`sqlite-tcl`, `sqlite`, `i2c-tools`, and `v4l-utils`.
|
||||
- **Complete on-device development & scripting stack**: `git`, `gcc`/`g++`, `make`, GNU `coreutils`, `nano` (`$EDITOR`, pre-configured in `/etc/nanorc` with `-FEDSMAGic/max%_T2`), `ed`, `less` (`$PAGER="less -RXF"`), `rlwrap`, `janet` + `jpm`, `perl` + `IO::Socket::SSL`, `tcl` + `tcllib`/`tcl-tls`/`sqlite-tcl`, `sqlite`, `i2c-tools`, and `v4l-utils`.
|
||||
|
||||
The current Bananarchy version is `v0.0.1`.
|
||||
|
||||
|
||||
Executable
BIN
Binary file not shown.
@@ -0,0 +1,50 @@
|
||||
# Bananarchy Linux system-wide nano configuration
|
||||
# Equivalent to: nano -FEDSMAGic/max%_T2
|
||||
|
||||
set newbuffer
|
||||
set tabstospaces
|
||||
set boldtext
|
||||
set softwrap
|
||||
set trimblanks
|
||||
set smarthome
|
||||
set locking
|
||||
set autoindent
|
||||
set constantshow
|
||||
set mouse
|
||||
set atblanks
|
||||
set nohelp
|
||||
set stateflags
|
||||
set minibar
|
||||
set tabsize 2
|
||||
|
||||
# Modern keybindings (-/ / --modernbindings)
|
||||
bind ^X cut main
|
||||
bind ^C copy main
|
||||
bind ^V paste all
|
||||
bind ^Q exit all
|
||||
bind ^S savefile main
|
||||
bind ^W writeout main
|
||||
bind ^O insert main
|
||||
bind ^H help all
|
||||
bind ^H exit help
|
||||
bind ^F whereis all
|
||||
bind ^G findnext all
|
||||
bind ^B wherewas all
|
||||
bind ^D findprevious all
|
||||
bind ^R replace main
|
||||
unbind ^U all
|
||||
unbind ^N main
|
||||
unbind ^Y all
|
||||
unbind M-J main
|
||||
unbind M-T main
|
||||
bind ^A mark main
|
||||
bind ^P location main
|
||||
bind ^T gotoline main
|
||||
bind ^T gotodir browser
|
||||
bind ^T cutrestoffile execute
|
||||
bind ^L linter execute
|
||||
bind ^E execute main
|
||||
bind ^K "{mark}{end}{zap}" main
|
||||
bind ^U "{mark}{home}{zap}" main
|
||||
bind ^Z undo main
|
||||
bind ^Y redo main
|
||||
@@ -0,0 +1,27 @@
|
||||
export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
|
||||
|
||||
export EDITOR=nano
|
||||
export VISUAL=nano
|
||||
export PAGER="less -RXF"
|
||||
export LESS="-RXF"
|
||||
umask 022
|
||||
|
||||
# use nicer PS1 for bash and busybox ash
|
||||
if [ -n "$BASH_VERSION" -o "$BB_ASH_VERSION" ]; then
|
||||
PS1='\h:\w\$ '
|
||||
# use nicer PS1 for zsh
|
||||
elif [ -n "$ZSH_VERSION" ]; then
|
||||
PS1='%m:%~%# '
|
||||
# set up fallback default PS1
|
||||
else
|
||||
: "${HOSTNAME:=$(hostname)}"
|
||||
PS1='${HOSTNAME%%.*}:$PWD'
|
||||
[ "$(id -u)" -eq 0 ] && PS1="${PS1}# " || PS1="${PS1}\$ "
|
||||
fi
|
||||
|
||||
for script in /etc/profile.d/*.sh ; do
|
||||
if [ -r "$script" ] ; then
|
||||
. "$script"
|
||||
fi
|
||||
done
|
||||
unset script
|
||||
@@ -105,7 +105,10 @@ _sxmo_load_environments() {
|
||||
|
||||
export BEMENU_OPTS="${BEMENU_OPTS:---fn "Fira Code 9" -H 22 -B 2 --hp 4 -s --no-overlap --fixed-height --scrollbar none --cw 2 --bdr "#005577" --tb "#383838" --tf "#aaaaaa" --fb "#383838" --ff "#ffffff" --cb "#ffffff" --cf "#383838" --nb "#1c1c1c" --nf "#ffffff" --ab "#1c1c1c" --af "#ffffff" --hb "#005577" --hf "#ffffff" -w -i}"
|
||||
|
||||
export EDITOR="${EDITOR:-vim}"
|
||||
export EDITOR="${EDITOR:-nano}"
|
||||
export VISUAL="${VISUAL:-nano}"
|
||||
export PAGER="less -RXF"
|
||||
export LESS="-RXF"
|
||||
export BROWSER="${BROWSER:-firefox}"
|
||||
export SHELL="${SHELL:-/bin/sh}"
|
||||
|
||||
|
||||
@@ -71,11 +71,15 @@ export SXMO_RINGNUMBER=10
|
||||
export SXMO_DEFAULT_DRAFT="Enter new message here."
|
||||
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
export EDITOR="nano"
|
||||
export VISUAL="nano"
|
||||
export PAGER="less -RXF"
|
||||
export LESS="-RXF"
|
||||
export SXMO_WM="dwm"
|
||||
export SXMO_MENU="dmenu"
|
||||
export SXMO_TERMINAL="st"
|
||||
export DMENU_WRAP_AROUND=1
|
||||
export SXMO_DMENU_PORTRAIT_LINES=12
|
||||
export SXMO_DMENU_PORTRAIT_LINES=9
|
||||
export SXMO_DMENU_LANDSCAPE_LINES=8
|
||||
export SXMO_DISABLE_LEDS=1
|
||||
export SXMO_NO_VIRTUAL_KEYBOARD=1
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
# Bananarchy Linux system-wide nano configuration
|
||||
# Equivalent to: nano -FEDSMAGic/max%_T2
|
||||
|
||||
set newbuffer
|
||||
set tabstospaces
|
||||
set boldtext
|
||||
set softwrap
|
||||
set trimblanks
|
||||
set smarthome
|
||||
set locking
|
||||
set autoindent
|
||||
set constantshow
|
||||
set mouse
|
||||
set atblanks
|
||||
set nohelp
|
||||
set stateflags
|
||||
set minibar
|
||||
set tabsize 2
|
||||
|
||||
# Modern keybindings (-/ / --modernbindings)
|
||||
bind ^X cut main
|
||||
bind ^C copy main
|
||||
bind ^V paste all
|
||||
bind ^Q exit all
|
||||
bind ^S savefile main
|
||||
bind ^W writeout main
|
||||
bind ^O insert main
|
||||
bind ^H help all
|
||||
bind ^H exit help
|
||||
bind ^F whereis all
|
||||
bind ^G findnext all
|
||||
bind ^B wherewas all
|
||||
bind ^D findprevious all
|
||||
bind ^R replace main
|
||||
unbind ^U all
|
||||
unbind ^N main
|
||||
unbind ^Y all
|
||||
unbind M-J main
|
||||
unbind M-T main
|
||||
bind ^A mark main
|
||||
bind ^P location main
|
||||
bind ^T gotoline main
|
||||
bind ^T gotodir browser
|
||||
bind ^T cutrestoffile execute
|
||||
bind ^L linter execute
|
||||
bind ^E execute main
|
||||
bind ^K "{mark}{end}{zap}" main
|
||||
bind ^U "{mark}{home}{zap}" main
|
||||
bind ^Z undo main
|
||||
bind ^Y redo main
|
||||
@@ -1,10 +1,14 @@
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
|
||||
export EDITOR=nano
|
||||
export VISUAL=nano
|
||||
export PAGER="less -RXF"
|
||||
export LESS="-RXF"
|
||||
export SXMO_WM=dwm
|
||||
export SXMO_MENU=dmenu
|
||||
export SXMO_TERMINAL=st
|
||||
export DMENU_WRAP_AROUND=1
|
||||
export SXMO_DMENU_PORTRAIT_LINES=12
|
||||
export SXMO_DMENU_PORTRAIT_LINES=9
|
||||
export SXMO_DMENU_LANDSCAPE_LINES=8
|
||||
export SXMO_DISABLE_LEDS=1
|
||||
export SXMO_NO_VIRTUAL_KEYBOARD=1
|
||||
|
||||
@@ -71,11 +71,15 @@ export SXMO_RINGNUMBER=10
|
||||
export SXMO_DEFAULT_DRAFT="Enter new message here."
|
||||
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
export EDITOR="nano"
|
||||
export VISUAL="nano"
|
||||
export PAGER="less -RXF"
|
||||
export LESS="-RXF"
|
||||
export SXMO_WM="dwm"
|
||||
export SXMO_MENU="dmenu"
|
||||
export SXMO_TERMINAL="st"
|
||||
export DMENU_WRAP_AROUND=1
|
||||
export SXMO_DMENU_PORTRAIT_LINES=12
|
||||
export SXMO_DMENU_PORTRAIT_LINES=9
|
||||
export SXMO_DMENU_LANDSCAPE_LINES=8
|
||||
export SXMO_DISABLE_LEDS=1
|
||||
export SXMO_NO_VIRTUAL_KEYBOARD=1
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
# Bananarchy Linux system-wide nano configuration
|
||||
# Equivalent to: nano -FEDSMAGic/max%_T2
|
||||
|
||||
set newbuffer
|
||||
set tabstospaces
|
||||
set boldtext
|
||||
set softwrap
|
||||
set trimblanks
|
||||
set smarthome
|
||||
set locking
|
||||
set autoindent
|
||||
set constantshow
|
||||
set mouse
|
||||
set atblanks
|
||||
set nohelp
|
||||
set stateflags
|
||||
set minibar
|
||||
set tabsize 2
|
||||
|
||||
# Modern keybindings (-/ / --modernbindings)
|
||||
bind ^X cut main
|
||||
bind ^C copy main
|
||||
bind ^V paste all
|
||||
bind ^Q exit all
|
||||
bind ^S savefile main
|
||||
bind ^W writeout main
|
||||
bind ^O insert main
|
||||
bind ^H help all
|
||||
bind ^H exit help
|
||||
bind ^F whereis all
|
||||
bind ^G findnext all
|
||||
bind ^B wherewas all
|
||||
bind ^D findprevious all
|
||||
bind ^R replace main
|
||||
unbind ^U all
|
||||
unbind ^N main
|
||||
unbind ^Y all
|
||||
unbind M-J main
|
||||
unbind M-T main
|
||||
bind ^A mark main
|
||||
bind ^P location main
|
||||
bind ^T gotoline main
|
||||
bind ^T gotodir browser
|
||||
bind ^T cutrestoffile execute
|
||||
bind ^L linter execute
|
||||
bind ^E execute main
|
||||
bind ^K "{mark}{end}{zap}" main
|
||||
bind ^U "{mark}{home}{zap}" main
|
||||
bind ^Z undo main
|
||||
bind ^Y redo main
|
||||
@@ -1,10 +1,14 @@
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
|
||||
export EDITOR=nano
|
||||
export VISUAL=nano
|
||||
export PAGER="less -RXF"
|
||||
export LESS="-RXF"
|
||||
export SXMO_WM=dwm
|
||||
export SXMO_MENU=dmenu
|
||||
export SXMO_TERMINAL=st
|
||||
export DMENU_WRAP_AROUND=1
|
||||
export SXMO_DMENU_PORTRAIT_LINES=12
|
||||
export SXMO_DMENU_PORTRAIT_LINES=9
|
||||
export SXMO_DMENU_LANDSCAPE_LINES=8
|
||||
export SXMO_DISABLE_LEDS=1
|
||||
export SXMO_NO_VIRTUAL_KEYBOARD=1
|
||||
|
||||
Executable
BIN
Binary file not shown.
Executable
BIN
Binary file not shown.
Executable
BIN
Binary file not shown.
@@ -71,11 +71,15 @@ export SXMO_RINGNUMBER=10
|
||||
export SXMO_DEFAULT_DRAFT="Enter new message here."
|
||||
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
export EDITOR="nano"
|
||||
export VISUAL="nano"
|
||||
export PAGER="less -RXF"
|
||||
export LESS="-RXF"
|
||||
export SXMO_WM="dwm"
|
||||
export SXMO_MENU="dmenu"
|
||||
export SXMO_TERMINAL="st"
|
||||
export DMENU_WRAP_AROUND=1
|
||||
export SXMO_DMENU_PORTRAIT_LINES=12
|
||||
export SXMO_DMENU_PORTRAIT_LINES=9
|
||||
export SXMO_DMENU_LANDSCAPE_LINES=8
|
||||
export SXMO_DISABLE_LEDS=1
|
||||
export SXMO_NO_VIRTUAL_KEYBOARD=1
|
||||
|
||||
@@ -225,10 +225,6 @@ write_line_app waydroid "$icon_and Waydroid" "waydroid show-full-ui"
|
||||
write_line_app weechat "$icon_msg Weechat" "sxmo_terminal.sh weechat"
|
||||
write_line_app wike "$icon_bok Wike" "wike"
|
||||
write_line_app w3m "$icon_glb W3m" "sxmo_terminal.sh w3m duck.com"
|
||||
write_line_app vim "$icon_vim Vim" "sxmo_terminal.sh vim"
|
||||
write_line_app vimb "$icon_glb Vimb" "vimb"
|
||||
write_line_app vimb "$icon_glb Vimb (Incognito)" "vimb -i"
|
||||
write_line_app vis "$icon_vim Vis" "sxmo_terminal.sh vis"
|
||||
write_line_app vlc "$icon_vlc Vlc" "vlc"
|
||||
write_line_app vte-2.91 "$icon_trm VTE 3" "vte-2.91"
|
||||
write_line_app vte-2.91-gtk4 "$icon_trm VTE 3 (GTK-4)" "vte-2.91-gtk4"
|
||||
|
||||
@@ -107,6 +107,8 @@ rm -rf \
|
||||
"$TARGET_ROOTFS/usr/lib/fcitx5/libwaylandim.so" \
|
||||
"$TARGET_ROOTFS/usr/share/fcitx5/addon/wayland.conf" \
|
||||
"$TARGET_ROOTFS/usr/share/fcitx5/addon/waylandim.conf" \
|
||||
"$TARGET_ROOTFS/usr/bin/vim"* \
|
||||
"$TARGET_ROOTFS/usr/share/vim" \
|
||||
"$TARGET_ROOTFS/home/user/.config/fcitx5/conf/waylandim.conf" \
|
||||
"$TARGET_ROOTFS/etc/skel/.config/fcitx5/conf/waylandim.conf" \
|
||||
"$TARGET_ROOTFS/home/user/.config/wob" \
|
||||
|
||||
@@ -63,6 +63,10 @@ configure_common_rootfs() {
|
||||
g++ \
|
||||
musl-dev \
|
||||
make \
|
||||
coreutils \
|
||||
ed \
|
||||
rlwrap \
|
||||
less \
|
||||
nano \
|
||||
janet \
|
||||
janet-dev \
|
||||
@@ -683,44 +687,20 @@ PYEOF
|
||||
for target_home in "$ROOTFS/etc/skel" "$ROOTFS/home/user"; do
|
||||
mkdir -p \
|
||||
"$target_home/.config/sxmo/hooks" \
|
||||
"$target_home/.config/wofi" \
|
||||
"$target_home/.config/foot" \
|
||||
"$target_home/.config/wob" \
|
||||
"$target_home/.config/fontconfig/conf.d"
|
||||
cp "$ROOTFS/usr/share/sxmo/appcfg/profile_template" "$target_home/.config/sxmo/profile"
|
||||
if ! grep -q "SXMO_MENU=wofi" "$target_home/.config/sxmo/profile"; then
|
||||
cat >> "$target_home/.config/sxmo/profile" <<'EOF'
|
||||
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
export WLR_RENDERER=pixman
|
||||
export WLR_NO_HARDWARE_CURSORS=1
|
||||
export SXMO_DISABLE_LEDS=1
|
||||
export SXMO_NO_VIRTUAL_KEYBOARD=1
|
||||
export NO_AT_BRIDGE=1
|
||||
export GTK_A11Y=none
|
||||
export GTK_USE_PORTAL=0
|
||||
export GTK_IM_MODULE=fcitx
|
||||
export QT_IM_MODULE=fcitx
|
||||
export XMODIFIERS=@im=fcitx
|
||||
export SXMO_MENU=wofi
|
||||
export SXMO_BEMENU_PORTRAIT_LINES=11
|
||||
export SXMO_BEMENU_LANDSCAPE_LINES=8
|
||||
export BEMENU_OPTS='--fn "Sxmo 11.5" -H 24 -B 2 --hp 4 -s --no-overlap --fixed-height --scrollbar none --cw 2 --bdr "#005577" --tb "#383838" --tf "#aaaaaa" --fb "#383838" --ff "#ffffff" --cb "#ffffff" --cf "#383838" --nb "#1c1c1c" --nf "#ffffff" --ab "#1c1c1c" --af "#ffffff" --hb "#005577" --hf "#ffffff" -w -i'
|
||||
EOF
|
||||
fi
|
||||
cp "$ROOTFS/usr/share/sxmo/appcfg/sway_template" "$target_home/.config/sxmo/sway"
|
||||
cp "$ROOTFS/usr/share/sxmo/appcfg/xinit_template" "$target_home/.config/sxmo/xinit"
|
||||
cp "$ROOTFS/usr/share/sxmo/appcfg/conky.conf" "$target_home/.config/sxmo/conky.conf"
|
||||
cp "$ROOTFS/usr/share/sxmo/appcfg/wofi.config" "$target_home/.config/wofi/config"
|
||||
cp "$ROOTFS/usr/share/sxmo/appcfg/wofi.css" "$target_home/.config/wofi/style.css"
|
||||
cp "$ROOTFS/usr/share/sxmo/appcfg/foot.ini" "$target_home/.config/foot/foot.ini"
|
||||
cp "$ROOTFS/usr/share/sxmo/appcfg/wob.ini" "$target_home/.config/wob/wob.ini"
|
||||
cp "$ROOTFS/usr/share/sxmo/appcfg/bonsai_tree.json" "$target_home/.config/sxmo/bonsai_tree.json"
|
||||
cp "$ROOTFS/usr/share/sxmo/appcfg/Xresources" "$target_home/.Xresources"
|
||||
cp "$ROOTFS/usr/share/sxmo/appcfg/fontconfig.conf" "$target_home/.config/fontconfig/conf.d/50-sxmo.conf"
|
||||
cp "$ROOTFS/usr/share/sxmo/default_hooks/sxmo_hook_inputhandler.sh" "$target_home/.config/sxmo/hooks/sxmo_hook_inputhandler.sh"
|
||||
chmod 755 "$target_home/.config/sxmo/hooks/sxmo_hook_inputhandler.sh"
|
||||
chmod 755 "$target_home/.config/sxmo/hooks/sxmo_hook_inputhandler.sh" "$target_home/.config/sxmo/xinit" "$target_home/.config/sxmo/profile"
|
||||
done
|
||||
fi
|
||||
|
||||
sed -i "/^P:sxmo-utils-common$/,/^$/ s/ vim//" "$ROOTFS/lib/apk/db/installed" 2>/dev/null || true
|
||||
apk --root "$ROOTFS" --arch armv7 del --no-scripts vim vim-common nftables-vim protobuf-vim 2>/dev/null || true
|
||||
|
||||
if [ -x /bananarchy/scripts/apply-bananarchy-overlay.sh ]; then
|
||||
/bananarchy/scripts/apply-bananarchy-overlay.sh "$ROOTFS" nokia-argon
|
||||
depmod -b "$ROOTFS" 6.12.1-msm8916
|
||||
|
||||
Reference in New Issue
Block a user