Table of Contents
Pseudo-Nym is a small but powerful alias manager for Unix-based operating systems built in Rust. It was created to simplify and streamline your shell experience by providing a quick and easy way to create, manage, and document your shell aliases and scripts. Nym allows the user to create aliases and scripts with descriptions all in one command, toggle them on and off, list them, and more.
Currently Nym has only been tested on zsh and bash shell environments.
To build and install nym follow these simple steps.
-
Rust and Cargo
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
-
Install latest commit of nym via cargo
cargo install --git https://github.com/WillHord/nym.git
-
Run install command with shell profile
nym install <path_to_shell_profile>
-
Clone the repo
git clone https://github.com/WillHord/nym.git cd nym -
Build nym and move binary to bin
cargo build --release sudo install target/release/nym /usr/local/bin
-
Run install command with shell profile
nym install <path_to_shell_profile>
nym <command> <args>
# Add alias
nym add alias example="echo 'testing'" "This is an example alias description"
# Add script
nym add script example.py
# Toggle alias/script
nym toggle example
# Remove alias/script
nym rm example
# Rename alias/script
nym rename example example2
# List aliases and scripts
nym list
nym ls- Alias manager interface (allow for user to toggle, add, and delete all within one command)
- Rename command for aliases
- Manage Scripts as well as Aliases
- Aliases groups (enable sorting aliases and toggling in groups)
- Allow aliases to be read in a specific order (allows for aliases based on other aliases)
- Better installation (brew, cargo, etc.)
- Test on other shell environments (other than bash, and zsh)
- Download aliases from web (github repos)
- Export aliases to a file
See the open issues for a full list of proposed features and known issues.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the GNU GPL v3 License. See LICENSE for more information.