This is basically a rewrite of Linuxify, my old project. But cross compatible between different Operating Systems: e.g. Linux, Windows, MacOS and Termux(Android).
It has a two line prompt with modern looking UI like PowerLevel10k thats verbose by nature and it has its own plug-in sytem using lua or F# scripts to allow you to extend the shell with custom behavior. The plugin system has passive and active plugins allowing you to make new commands,modify the UI or create new behaviors for the shell.
It also has file associations, so you can associate file extensions with their respective compiler or interpreter. The shell also has extensible auto-suggestions. Along with that is its own contexts which are disked back object like data structure that can hold multiple attributes that each contain a value that is envokable in the command line for structuring data.
You can also configure the prompt UI of AurSh in its .aursh/AurSh.config.con file.
Make sure you use the font JetBrainsMono Nerd Font installed for the prompt to look the way it good.
When using the shell, make sure you put any process/app that you have installed that takes over the terminal in the bypass list: ~/.aursh/bypass.txt.
Has:
- Shell Scripting: .aur scripts
- A rc script: .aurc
- Text and object Piping and redirection
- Ghost text and auto suggestions
- Persistent History
- Environmental variable handling.
- resolves commands to native OS Commands.
- Job control.
- Plug-in system using lua or F# (aursh-plugin <add,list,del,init>)
- File Associations (e.g: aursh-assoc .py "python", then: ./script.py arg...)
BlackBox: TUI execution viewport that displays processes invoked from the command line inside a unicode box with round edges.Updater: A tool to update the shell from the remote repository.Contexts: A disk backed object like that can hold multiple attributes to structurize and organize variables.- A built in Network Helper tool for connecting,disconnecting and recieving/sending data through the command-line.
aursh-plugin<add,list,del,init,debug> : plugin system of the shellaursh-assoc: file associationaursh-reload: reloads shellaursh-history<clear,show,filter=> : TUI history with query abilitiesaursh-about: basic info about AurShaursh-ls: A TUI file system explorer.aursh-cat <options: -e> <file>: A pipable file reader and a vim-like TUI text editor ( with-eflag ).aursh-update: updates the shell from the remote repository then exits the shell to apply changes.aursh-context: A disk backed object like that can hold multiple attributes to structurize and organize variables.aursh-context <new,del,list,insert,remove,update> <args...>aursh-net: A network tool for connecting,disconnecting and recieving/sending data through the command-line.aursh-ssh: A TUI interface for managing SSH keys and remote hosts.
Windows
Linux
Android
MacOS
(Image Unavailable because I dont own a Mac)
This repositories structure is relatively simple:
- Assets : Contains fonts and images
- src : Contains all the source code
- docs : Contains documentations
- scripts : Contains Helper scripts
- tests : Contains Unit Tests
Clone this repository first then make sure you have .NET SDK installed and make is optional since there is a MSBuild alternative.
Once you have them installed simply run make install-user for current user installation and make install for system wide installation or you can use .Net's MSBuild to install the shell: dotnet msbuild build.proj -t:Install for system wide installation or dotnet msbuild build.proj -t:InstallUser for current user installation.
On Android make sure you have Termux installed and inside Termux,
Make sure you have proot installed: pkg install prootand pkg install proot-distro.
Log-in To your proot with proot-distro login <distro>.
After than you may proceed to install the .Net SDK and make.
Then run make install.
To uninstall you can simply run make uninstall.
This project is under GNU General Public License, see license file for more information.


