oh-my-zsh
n
oh-my-zsh | n | |
---|---|---|
16 | 50 | |
122,894 | 18,565 | |
- | - | |
9.2 | 7.0 | |
over 3 years ago | 13 days ago | |
Shell | Shell | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
oh-my-zsh
-
Streamline your Workflow with VSCode Dev Containers & Red Hat Images
FROM registry.access.redhat.com/ubi9/python-311:latest # Install terraform & oh-my-zsh USER root RUN yum install -y yum-utils && \ yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo && \ yum -y install terraform zsh && \ wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | zsh USER 1001 # Install poetry RUN pip install poetry && \ poetry config virtualenvs.create false # Set default shell to zsh ENV SHELL /bin/zsh # Create workspace dir used by VSCode RUN mkdir /opt/app-root/src/workspace/ # Expose ports EXPOSE 4000
-
How to convert this code into the ansible.git module format?
- name: Git clone oh-my-zsh ansible.builtin.command: 'git clone -c core.autocrlf=input --depth=1 https://github.com/robbyrussell/oh-my-zsh.git /home/zoliky/.oh-my-zsh' become: true become_user: zoliky when: not oh_my_zsh_dir.stat.exists
-
Why Oh My ZSH is so cool?
Z plugin change quickly to another path just naming the folder not the complete path
- Manjaro Konsole/terminal settings
-
Create a Devcontainer (VSCode)
FROM node:18 RUN apt-get update # Install dependencies RUN apt-get install -y wget zsh git \ # Install oh-my-zsh RUN wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | zsh \ && cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
-
Configuring Your Shell Environment
# If you come from bash you might have to change your $PATH. # export PATH=$HOME/bin:/usr/local/bin:$PATH # Path to your oh-my-zsh installation. export ZSH="$HOME/.oh-my-zsh" export ZSH_CUSTOM="$HOME/.oh-my-zsh/custom" # Set name of the theme to load --- if set to "random", it will # load a random theme each time oh-my-zsh is loaded, in which case, # to know which specific one was loaded, run: echo $RANDOM_THEME # See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes # ZSH_THEME="spaceship" # I'm using starhip (see below, where it's configured) # Set list of themes to pick from when loading at random # Setting this variable when ZSH_THEME=random will cause zsh to load # a theme from this variable instead of looking in ~/.oh-my-zsh/themes/ # If set to an empty array, this variable will have no effect. # ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" ) # Uncomment the following line to use case-sensitive completion. # CASE_SENSITIVE="true" # Uncomment the following line to use hyphen-insensitive completion. # Case-sensitive completion must be off. _ and - will be interchangeable. HYPHEN_INSENSITIVE="true" # Uncomment the following line to disable bi-weekly auto-update checks. # DISABLE_AUTO_UPDATE="true" # Uncomment the following line to automatically update without prompting. # DISABLE_UPDATE_PROMPT="true" # Uncomment the following line to change how often to auto-update (in days). export UPDATE_ZSH_DAYS=8 # Uncomment the following line if pasting URLs and other text is messed up. # DISABLE_MAGIC_FUNCTIONS=true # Uncomment the following line to disable colors in ls. # DISABLE_LS_COLORS="true" # Uncomment the following line to disable auto-setting terminal title. # DISABLE_AUTO_TITLE="true" # Uncomment the following line to enable command auto-correction. ENABLE_CORRECTION="true" # Uncomment the following line to display red dots whilst waiting for completion. COMPLETION_WAITING_DOTS="true" # Uncomment the following line if you want to disable marking untracked files # under VCS as dirty. This makes repository status check for large repositories # much, much faster. # DISABLE_UNTRACKED_FILES_DIRTY="true" # Uncomment the following line if you want to change the command execution time # stamp shown in the history command output. # You can set one of the optional three formats: # "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd" # or set a custom format using the strftime function format specifications, # see 'man strftime' for details. HIST_STAMPS="mm/dd/yyyy" # Would you like to use another custom folder than $ZSH/custom? # ZSH_CUSTOM=/path/to/new-custom-folder # Which plugins would you like to load? # Standard plugins can be found in ~/.oh-my-zsh/plugins/* # Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/ # Example format: plugins=(rails git textmate ruby lighthouse) # Add wisely, as too many plugins slow down shell startup. plugins=( aws # sets up `awscli` tab completion + profile changing commands alias-tips # let's you know when you have an alias you can use autojump # use j to jump to directories containing terms. Directories must be visited first before they can be jumped to. autoupdate # automatically updates custom plugins common-aliases # add tons of aliases like la ll etc git-auto-fetch # automatically "fetches" for new changes of directory you're in git-extras # adds a bunch of helpful git aliases and extra commands gitfast # adds git tab completion git-flow # adds completion for git flow commands node # adds completion for node npm # adds completion/aliases for npm zsh-autosuggestions # adds suggestions as you type zsh-interactive-cd # cd + tab to fuzzy search navigate zsh_reload # adds `src` command for better full compile reload ) # Load Oh My ZSH source $ZSH/oh-my-zsh.sh # autojump config [[ -s $HOME/.autojump/etc/profile.d/autojump.sh ]] && source $HOME/.autojump/etc/profile.d/autojump.sh autoload -U compinit && compinit -u # FZF config export FZF_BASE=~/.fzf export PATH="/usr/local/sbin:$PATH" [ -f ~/.fzf.zsh ] && source ~/.fzf.zsh # zsh-syntax-highlighting source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh # broot source $HOME/.config/broot/launcher/bash/br # User configuration export MANPATH="/usr/local/man:$MANPATH" # You may need to manually set your language environment # export LANG=en_US.UTF-8 # Preferred editor for local and remote sessions if [[ -n $SSH_CONNECTION ]]; then export EDITOR='code' else export EDITOR='code' fi # Compilation flags # export ARCHFLAGS="-arch x86_64" # Set personal aliases, overriding those provided by oh-my-zsh libs, # plugins, and themes. Aliases can be placed here, though oh-my-zsh # users are encouraged to define aliases within the ZSH_CUSTOM folder. # For a full list of active aliases, run `alias`. # # Example aliases alias zshconfig="code ~/.zshrc" alias ohmyzsh="code ~/.oh-my-zsh" alias reload="source ~/.zshrc" # My Custom Aliases change alias please="sudo !!" alias tmp="cd ~/Development/tmp" alias proj="cd ~/Projects" alias work="cd ~/Work" alias co.="code ." ### CFG Setup # Alias for the main cfg git # alias cfg='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME' # export function cfg { # /usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME $@ # } # lastly init starship theme eval "$(starship init zsh)"
-
ZFS alternatives?
#!/bin/ksh # https://github.com/robbyrussell/oh-my-zsh/blob/master/plugins/cp/ # Also mentioned on Reddit as a nicer copy command. # # RSYNC OPTIONS: # -b, --backup make backups # --backup-dir=DIR # In combination with the --backup option, this tells rsync to # store all backups in the specified directory on the receiving # side. This can be used for incremental backups. You can also # specify a backup suffix using the --suffix option (otherwise # the files backed up in the specified directory will keep their # original filenames). # # -e, --rsh=COMMAND # This option allows you to choose an alternative remote shell # program to use for communication between the local and remote # copies of rsync. /dev/null disables remote shells, so this # only works on local files. # # -h, --human-readable output numbers in a human-readable format # -g, --group preserve group # -o, --owner preserve owner (super-user only) # -p, --perms preserve permissions # --progress show progress during transfer # -r, --recursive recurse into directories # -t, --times preserve modification times # -X, --xattrs preserve extended attributes # -x, --one-file-system avoid crossing filesystems when recursing export PATH=/usr/local/bin:/bin:/usr/bin tag=${0##*/} case "$#" in 0|1) echo "usage: $tag srcfile dest"; exit 1 ;; *) ;; esac exec rsync -pogbrtxX -hhh --backup-dir=/tmp/rsync -e /dev/null --progress "$@" exit 1
- Good resources to learn zsh?
-
Apps, Tools, and Gear I Use (2021 edition)
Zsh with Oh My Zsh. Oh My Zsh is a framework for managing zsh configuration.
-
rf - a bash script to open files and cd into directories with ease
And btw is this similar to https://github.com/robbyrussell/oh-my-zsh/blob/master/plugins/fzf/fzf.plugin.zsh ?
n
-
Looks like npm is installed but does not work.
use n or nvm to manage installed node/npm versions.
-
Help!
I have node installed, via n
-
How To manage Different Versions of Node in Your system
1 - n is a tool that allows you to easily switch between different versions of Node.js. Follow the official guide in case this does not work for you due to an update or need a command not highlighted below. Here's how you can use n to switch between Node.js versions:
-
Nvm or homebrew for Node install
Listing people's recommendations with links below. I'm glad I asked this question. I received a lot of good recommendations. Thanks All! * nvm (https://nvm.sh) - Simple to use and easy to follow instructions with more in-depth configuration for those that need it. Some experienced a slightly slower terminal. Supports nodjs, iojs, and node version per project/directory. * fnm (https://github.com/Schniz/fnm) - Built with speed in mind. It is like nvm, but faster. Also supports node version per project/directory. * Volta (https://volta.sh/) - Looks easy to use and has good documentation. * asdf (https://asdf-vm.com/) - Supports multiple runtimes and tools by adding plugins. Admittedly, is a bit confusing and more than I need right now (Node, Rust, Python, Ruby, etc.) * Homebrew (https://brew.sh/) - Not a version manager but can act like one by installing nvm, fnm, asdf, or others. Some additional configuration may be needed. * Proto (https://moonrepo.dev/proto) - Supports Bun, Deno, Node.js (npm, pnpm, yarn), Rust, and Go. Also good documentation. Setup looks a bit complex to me :/. * n (https://github.com/tj/n) - Supports Node and npm per project. Simple and to the point.
- Is there nvm for non-technical people?
-
Why are there no virtual environments for front end JS?
And there are virtual environment; kind of. I just actually started using this, but there's n.
-
Manage Node.js Versions With n
Today, let's find out why you would need multiple versions of Node.js in the first place and how to manage them efficiently with n, a Node.js version manager that is very developer-friendly.
-
Flatpaks 🥰
I used n. It was pretty good. I still hated every time I had to change versions and the idea of making dockers for this came with a friend. Thankfully, I don't have that.project anymore
-
Linux: Best way to install node & npm
https://github.com/tj/n to install node and manage versions
-
What do use to manage your nodejs installation?
N package since I found it out. Happy for both local pc and servers.
What are some alternatives?
oh-my-posh - The most customisable and low-latency cross platform/shell prompt renderer
nvm for Windows - A node.js version management utility for Windows. Ironically written in Go.
zsh-snap - ⚡️ Znap! Fast, easy-to-use tools for Zsh dotfiles & plugins, plus git repos
fnm - 🚀 Fast and simple Node.js version manager, built in Rust
synth-shell - Boost your terminal, script by script
nodenv - Manage multiple NodeJS versions.
ohmyzsh - 🙃 A delightful community-driven (with 2,300+ contributors) framework for managing your zsh configuration. Includes 300+ optional plugins (rails, git, macOS, hub, docker, homebrew, node, php, python, etc), 140+ themes to spice up your morning, and an auto-update tool so that makes it easy to keep up with the latest updates from the community.
volta - Volta: JS Toolchains as Code. ⚡
prezto - The configuration framework for Zsh
asdf - Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more
bat - A cat(1) clone with wings.
nvm - Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions