Skip to content

Instantly share code, notes, and snippets.

@qntmpkts
Last active October 13, 2023 20:14
Show Gist options
  • Save qntmpkts/833dd34ec772ebddb993653480e06117 to your computer and use it in GitHub Desktop.
Save qntmpkts/833dd34ec772ebddb993653480e06117 to your computer and use it in GitHub Desktop.
For use on ChromeOS with zsh and oh-my-zsh installed
# /etc/skel/.bashrc
if [[ $- != *i* ]] ; then
# Shell is non-interactive. Be done now!
return
fi
exec /usr/local/bin/zsh
# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:/usr/local/bin:$PATH
cd ~
# Path to your oh-my-zsh installation.
export ZSH=/home/chronos/user/.oh-my-zsh
# Set name of the theme to load. Optionally, if you set this to "random"
# it'll load a random theme each time that oh-my-zsh is loaded.
# See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
ZSH_THEME="robbyrussell"
# 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 change how often to auto-update (in days).
# export UPDATE_ZSH_DAYS=13
# 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.
# The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# 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? (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=(git)
source $ZSH/oh-my-zsh.sh
# 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='vim'
# else
# export EDITOR='mvim'
# fi
# Compilation flags
# export ARCHFLAGS="-arch x86_64"
# ssh
# export SSH_KEY_PATH="~/.ssh/rsa_id"
# 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`.
#
function check-fs() { # get partitions #
sudo /usr/share/vboot/bin/make_dev_ssd.sh --remove_rootfs_verification
}
function setup-fs() { # disable rootfs verification and allow reboots to work
sudo /usr/share/vboot/bin/make_dev_ssd.sh --remove_rootfs_verification --partitions $1
sudo crossystem dev_boot_signed_only=0
echo "Reboot now and run \"set-rw\". Also consider running sudo -i then dev_install -y"
}
function set-rw() { # for rootfs-disabled devices after a reboot
sudo mount -o remount,rw /
#sudo mount -o remount,exec /mnt/stateful_partition
sudo mount -i -o remount,exec /home/chronos/user
}
function mount-sdcard() {
sudo mount -o bind /media/removable/sdcard_data0 /run/arc/sdcard/default/emulated/0/Download/sd-android
sudo mount -o bind /media/removable/sdcard_data0 /run/arc/sdcard/read/emulated/0/Download/sd-android
sudo mount -o bind /media/removable/sdcard_data0 /run/arc/sdcard/write/emulated/0/Download/sd-android
}
function restore-crouton() { # restores missing /usr/bin/crouton commands
wget -O ~/crouton http://goo.gl/fd3zc && chmod +x ~/crouton
sudo sh ~/crouton -u -n 1$
}
function backup-chroot() {
sudo edit-chroot -b $1
}
function restore-chroot() {
sudo edit-chroot -f $1
}
function fix-fonts() {
setup() {
dir=$(dirname $2)
[ ! -d $2 ] && [ -d $1 ] && sudo ln -s ${1} ${dir}
}
if [ -d ~/.config/fonts ]; then
setup ~/.config/fonts/Powerline /usr/share/fonts/Powerline
setup ~/.config/fonts/Powerline/Hack /user/share/fonts/croscore/Hack
setup ~/.config/fonts/noto /usr/share/fonts/noto
echo "Caching fonts..." && \
sudo fc-cache -f -v && \
echo "Reboot now!"
fi;
}
function killall() {
sudo enter-chroot -n $1 -b sh -c "killall $2"
}
function kill-chroots() {
sudo unmount-chroot -f -k -a
}
function launch() {
#A friendly wrapper around enter-chroot.
usage () {
echo "Usage : launch -n <chroot> -X <xserver> -p <program> (optional:<-T>)"
}
if [[ $# -lt 4 ]]; then usage; exit 1; fi
local OPTIND opt OPTA OPTB CHROOT XMETHOD PROGRAM
while getopts "bTn:X:p:" opt; do
case $opt in
b) OPTA="-b"
;;
T) OPTB="-T"
;;
n) CHROOT=$OPTARG
;;
X) if [[ "$OPTARG" -eq "xiwi" ]] || [[ "$OPTARG" -eq "xorg" ]]
then
XMETHOD=$OPTARG
else
echo "Otion -$OPTARG accepts only "xiwi" or "xorg" as inputs."
fi
;;
p) PROGRAM=$OPTARG
;;
\?) echo "Invalid option: -$OPTARG" >&2
;;
:) echo "Option -$OPTARG requires an argument." >&2
;;
*) usage
;;
esac
done
shift $((OPTIND-1))
if [[ ! "$CHROOT" ]] || [[ ! "$XMETHOD" ]] || [[ ! "$PROGRAM" ]]; then usage; fi
echo "sudo enter-chroot -n $CHROOT $OPTA $XMETHOD $OPTB $PROGRAM"
sudo enter-chroot -n $CHROOT $OPTA $XMETHOD $OPTB $PROGRAM
}
alias ls='ls --color --group-directories-first'
alias la='ls --color --group-directories-first -ahl'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment