Note

The Funtoo Linux project has transitioned to "Hobby Mode" and this wiki is now read-only.

Difference between revisions of "News:Better Experiences: Ego and Vim"

From Funtoo
Jump to navigation Jump to search
(Created page with "{{News |Summary=Info on Funtoo's new personality tool called 'ego', and user-focused updates to vim's defaults. |News Format=Extended |News Category=General |Author=Drobbins |...")
 
Line 17: Line 17:
{{c|ego}} is a meta-tool that works similarly to eselect. {{c|ego list}} will show a list of available commands. Some of the benefits of ego over eselect are that ego modules can be implemented in any language. In addition, the ego architecture is designed so that the modules are themselves stand-alone commands, which allows you to access these sub-commands using shortcuts. For example, {{c|epro}} is a shortcut for {{e|ego profile}}.
{{c|ego}} is a meta-tool that works similarly to eselect. {{c|ego list}} will show a list of available commands. Some of the benefits of ego over eselect are that ego modules can be implemented in any language. In addition, the ego architecture is designed so that the modules are themselves stand-alone commands, which allows you to access these sub-commands using shortcuts. For example, {{c|epro}} is a shortcut for {{e|ego profile}}.


=== Epro ==
=== Epro ===


The first and currently only module for ego is called {{c|epro}}, which can also be called using {{c|ego profile}}. This new extension replaces {{c|eselect profile}} on Funtoo Linux systems. It is implemented in Python, which allows it to hook directly into the Portage python API for accessing information about your Portage settings. It also allows epro to implement some fairly advanced functionality to make your experience with Funtoo's modular profile system much more pleasant. There are several big improvements, detailed below.
The first and currently only module for ego is called {{c|epro}}, which can also be called using {{c|ego profile}}. This new extension replaces {{c|eselect profile}} on Funtoo Linux systems. It is implemented in Python, which allows it to hook directly into the Portage python API for accessing information about your Portage settings. It also allows epro to implement some fairly advanced functionality to make your experience with Funtoo's modular profile system much more pleasant. There are several big improvements, detailed below.
Line 56: Line 56:


The enhanced list and show commands should make your experience with Funtoo Linux profiles much more pleasant :)
The enhanced list and show commands should make your experience with Funtoo Linux profiles much more pleasant :)
{{NewsFooter}}
{{NewsFooter}}

Revision as of 23:23, April 27, 2015

Better Experiences: Ego and Vim

Info on Funtoo's new personality tool called 'ego', and user-focused updates to vim's defaults.

By Drobbins / April 27, 2015

Hello Funtoo Users,

In this news item, I'm going to introduce you to a couple of changes to Funtoo Linux: ego, the new Funtoo Linux personality tool, and much-needed updates to vim defaults.

Ego

ego is Funtoo's new personality tool, designed to eventually replace the venerable eselect. I created a new meta-tool to replace eselect because eselect has a couple of design issues. It requires extensions to be written as shell scripts, which is a big limitation. With the advent of Funtoo's modular profile system, eselect profile was becoming cumbersome to use, and I needed to make the tool faster and more feature-rich. Ultimately, shell scripts are too slow and too hard to use to implement advanced functionality.

ego is a meta-tool that works similarly to eselect. ego list will show a list of available commands. Some of the benefits of ego over eselect are that ego modules can be implemented in any language. In addition, the ego architecture is designed so that the modules are themselves stand-alone commands, which allows you to access these sub-commands using shortcuts. For example, epro is a shortcut for Template:E.

Epro

The first and currently only module for ego is called epro, which can also be called using ego profile. This new extension replaces eselect profile on Funtoo Linux systems. It is implemented in Python, which allows it to hook directly into the Portage python API for accessing information about your Portage settings. It also allows epro to implement some fairly advanced functionality to make your experience with Funtoo's modular profile system much more pleasant. There are several big improvements, detailed below.

Enhanced Commands

With epro, profile selection is much improved. To set your system flavor to desktop, type:

root # epro flavor desktop

To add or remove mix-ins, type:

root # epro mix-in +foo -bar

And subarches can be set similarly to flavors:

root # epro subarch amd64-bulldozer

There is no longer a need to refer to a particular profile by number.

Enhanced Show/List

Possibly the nicest improvement found in epro is the new list and show commands. eselect profile used to show profile info in a long numbered list, and it had bugs related to showing profiles that were automatically enabled by other profiles. All this has been addressed in epro.

The new "show" mode will not only display your Funtoo Linux profile settings, but will also display what mix-ins and flavors have been enabled automatically via inheritance:

(insert image here)

In addition, the new "list" mode lists all available profile settings in a compact yet very useable form. In addition, directly enabled settings are highlighted in bold cyan, and have an asterisk appended, while settings enabled via inheritance are higlighted in cyan:

(insert image here)

The enhanced list and show commands should make your experience with Funtoo Linux profiles much more pleasant :)