Gentoo Linux plugin
December 27, 2023 ยท View on GitHub
This plugin adds some aliases and functions to work with Gentoo Linux.
Features
EMERGE
| Alias | Command | Description |
|---|---|---|
| emin | sudo emerge <atom> | Install the |
| eminsl | sudo emerge -K <atom> | Install the |
| eminsr | sudo emerge -G <atom> | Install the |
| emre | sudo emerge -C <atom> | Uninstall the |
| emsearch | emerge -s <atom> | Search the |
| emsync | sudo emerge --sync | Sync the local repository with the remote repository |
| emup | sudo emerge -aDuN world | Update the packages in the local system |
| emclean | sudo emerge --depclean | Delete the unwanted software |
EIX
| Alias | Command | Description |
|---|---|---|
| eisync | sudo eix-sync | Update the local eix cache |
| eirup | sudo eix-remote update | Update the remotes by saving locally layman caches |
| eirov | eix -R <overlay> | Search all overlay |
PORTAGEQ
| Alias | Command | Description |
|---|---|---|
| pocolor | portageq colormap | Display the color.map as environment variables |
| podist | portageq distdir | Returns the DISTDIR path |
| povar | portageq envvar | Returns a specific environment variable as exists prior to ebuild.sh |
| pomirror | portageq gentoo_mirrors | Returns the mirrors set to use in the portage configuration |
| poorphan | portageq --orphaned | Match only orphaned (maintainer-needed) packages |
GENLOP
| Alias | Command | Description |
|---|---|---|
| genstory | sudo genlop -l | Show full merge history |
| geneta | sudo genlop -c | Display the currently compiling packages (if any) |
| genweta | watch -ct -n 1 sudo genlop -c | Display the currently compiling packages (if any), with refresh |
| geninfo | sudo genlop -i <atom> | Extra infos for the selected |
| genustory | sudo genlop -u | Show when packages have been unmerged |
| genstorytime | sudo genlop -t <atom> | Calculate merge time for the specific <atom(s)> |
QLOP
| Alias | Command | Description |
|---|---|---|
| qsummary | sudo qlop -c | Print summary of average merges |
| qtime | sudo qlop -t | Print time taken to complete action |
| qavg | sudo qlop -a | Print average time taken to complete action |
| qhum | sudo qlop -H | Print elapsed time in human readable format |
| qmachine | sudo qlop -M | Print start/elapsed time as seconds with no formatting |
| qmstory | sudo qlop -m | Show merge history |
| qustory | sudo qlop -u | Show unmerge history |
| qastory | sudo qlop -U | Show autoclean unmerge history |
| qsstory | sudo qlop -s | Show sync histroy |
| qend | sudo qlop -e | Report time at which the operation finished (iso started) |
| qrun | sudo qlop -r | Show current emerging packages |
ECLEAN
| Alias | Command | Description |
|---|---|---|
| distclean | sudo eclean --deep distfiles | Clean files from /usr/portage/distfiles |
| pkgclean | sudo eclean-pkg | Clean files from /usr/portage/packages |
EUSE
| Alias | Command | Description |
|---|---|---|
| newuse | sudo euse -E <use> | Add th |
| deluse | sudo euse -D <use> | Delete th |
VIM
| Alias | Command | Description |
|---|---|---|
| make.conf | sudo vim /etc/portage/make.conf | Open the make.conf configuration file |
| package.mask | sudo vim /etc/portage/package.mask | Open the package.mask configuration file |
| package.use | sudo vim /etc/portage/package.use | Open the package.use configuration file |
| repos.conf | sudo vim /etc/portage/repos.conf | Open the repos.conf configuration file |
| eix-sync.conf | sudo vim /etc/eix-sync.conf | Open the /etc/eix-sync.conf configuration file |
| eixrc | sudo vim /etc/eixrc | Open the /etc/eixrc configuration file |
Installation
You need to install the ohmyzsh framework with:
sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Next, you have to clone this plugin in ~/.oh-my-zsh/custom/plugins/gentoolinux:
git clone https://github.com/MattiaG-afk/gentoolinux-ohmyzsh.git ${ZSG_CUSTOM:-~/.oh-my-zsh/custom}/plugins/gentoolinux
Finally, open .zshrc and enable the plugins by adding 'gentoo' in 'plugins=(...)':
plugins=(... gentoolinux)
If you don't have gentoolkit installed you will need to install it with the command:
sudo emerge genlop
If you don't have eix installed you will need to install it with the command:
sudo emerge eix
Now restart your terminal, or run:
source ~/.zshrc