Difference between pages "Repository Configuration" and "Wim42gnu's-setup"

(Difference between pages)
(Migrating existing configurations)
 
 
Line 1: Line 1:
{{Warning|This article is a work-in-progress referring to a future Portage version. It does not apply to the current Funtoo Portage version. Please do not update your configuration yet.}}
 
  
Starting with Portage-2.3.8, a switch to a new repository configuration framework is complete and users may want to update their configuration files. This document aims to describe the goals for the new framework and how to use it.
+
This is for everybody who might have seen my funtoo setup and liked it!
 +
This is also for myself to keep track on my system. I have used most of the Linux distributions out there and I am currently most happy with funtoo.  
 +
My reasons are:
 +
# Gentoo/Funtoo is a rolling release distribution, meaning you only have to install it once and update it frequently.
 +
# Gentoo/Funtoo is only what you make out of it, no unnesecary rubish like in Ubuntu, OpenSuse or Fedora will be installed by default. In the mean time being aware that Gentoo/Funtoo is for advanced users not careing that much about GUIs for Settings or Configs.
 +
# Gentoo/Funtoo runs fast due to multiple reasons. (Compiling your own software,USE-Flags,...)
 +
# Philosophy, one would think that Slackware would suite me most (KISS,Unix) but the fact is that these distributions require you more energy and time to work with. I want to get my jobs done, not careing to much about the system. It is okay to have tools that do things for you as long they are designed well - like in funtoo.
  
== Multiple repository layout ==
 
One of the most important changes is the switch from the old ''overlay'' layout to a new cleaner ''repository'' system. The new layout is more flexible and more predictable. For example, repositories can now use resources (eclasses, for example) provided by other repositories.
 
  
The old layout was based on the concept of one ''main tree'' and optionally a number of overlays. The main tree provided base system ebuilds, eclasses, profiles, while overlays mostly were able to provide their own ebuilds. The ebuild provided by overlays overrode the ebuilds in main tree to the extend of making it impossible to install the main tree version. Overlays could also provide eclasses for their own ebuilds and package.* entries that applied to all overlays and to the main tree. The Package Manager is responsible for updating the main tree, while overlays are managed externally.
+
==1. Install Funtoo (not complete yet - I will update this part when I install funtoo the next time)==
  
The new layout is based on the concept of one or more configurable repositories. Each repository can either be stand-alone or depend upon other repositories. The distribution provides a repository called ''funtoo'' (a drop-in replacement for Gentoo's ''gentoo'' repository). Users can install more repositories at they will, the repositories providing their own ebuilds, eclasses and profiles as necessary and/or using them from other repositories. Users can explicitly choose the repository they want to install packages from. The Package Manager can update all repositories.
+
''Follow the install instructions and setup a minimal system.''http://www.funtoo.org/Funtoo_Linux_Installation
  
== Portage configuration ==
+
Notice you will need to create/edit some configs in the installation prozess. Here are some of mine customizations:
=== New repository layout ===
+
The repository configuration should be stored in <code>/etc/portage/repos.conf</code>. It can be either a single file or a directory containing one or more ''.conf'' files.
+
  
The default configuration is installed as <code>/usr/share/portage/config/repos.conf</code>. This file is internal configuration file installed with portage ebuild and should '''not''' be modified. Instead, the configuration in <code>/etc/portage/repos.conf</code> can override the defaults specified there.
+
a) <code>/etc/portage/make.conf</code>:
 +
  CFLAGS="-O2 -march=native -pipe -fomit-frame-pointer"
 +
  CXXFLAGS="${CFLAGS}"
 +
  CPU_FLAGS_X86="aes avx fma4 mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 xop"
  
The configuration uses format similar to Windows .ini files. Each section heading (repository name in square brackets) signifies a single repository, followed by one or more key-value option pairs. For example, the following file copies default configuration for Funtoo repository:
+
''for the CPU Flags checkout:'' http://www.funtoo.org/News:CPU_FLAGS_X86
  
{{file|name=/etc/portage/repos.conf/funtoo.conf|desc=Example configuration override for Funtoo repository to move it to non-standard location|body=
+
  USE="qt3support theora libkms xa cdr dvd dvdr alsa ffmpeg -gnome gtk -qt4 -kde lm_sensors mp3 mp4 mozilla multilib png python sound udev usb unicode static-libs hddtemp -bluetooth  nvidia X pulseaudio udisks"
[funtoo]
+
# moved to non-standard location!
+
location = /var/db/repos/funtoo
+
sync-type = git
+
sync-uri = git://github.com/funtoo/ports-2015.git
+
auto-sync = yes
+
}}
+
  
The most useful repository configuration options are listed below:
+
  EMERGE_DEFAULT_OPTS="--keep-going"
;location: ''Obligatory.'' Specifies the directory where repository is/will be stored. If Portage knows how to sync the repository and the location does not exist, it will be created on next ''emerge --sync''. Otherwise, the directory must exist.
+
  FEATURES="-collision-protect ccache"
;priority: Specifies the priority used for ordering ebuilds from different repositories. If two repositories provide an ebuild with matching versions, the repository with higher priority will be used.
+
  CCACHE_SIZE="1G"
;auto-sync: Specifies whether ''emerge --sync'' should update the repository. Defaults to ''yes'' if ''sync-type'' is specified, ''no'' otherwise.
+
  PORTAGE_NICENESS=20
;sync-depth: Specifies ''--depth'' for git clone. Used only on initial sync. Defaults to 1. Can be set to 0 to force full clone (not pass ''--depth'' at all).
+
  PORTAGE_IONICE_COMMAND="ionice -c 3 -p \${PID}"
;sync-type: Specifies syncing/update method. Can be one of: ''cvs'', ''git'', ''rsync'', ''svn''.
+
  #EMERGE_DEFAULT_OPTS="--jobs=12"
;sync-umask: Specifies the umask used when updating/syncing the repository.
+
  MAKEOPTS="-j12" ''<--- Number of CPU cores *2 in my case works best.''
;sync-uri: Specifies remote URI from which the repository will be cloned/synced. Can use any syntax valid for a particular syncing method.
+
;sync-user: Specifies the user[:group] used to update/sync the repository. If ''FEATURES=usersync'' is used, defaults to the credentials of directory owner.
+
  
Additionally a <code>[DEFAULT]</code> section may be specified. Options in this section are used as defaults for all repositories.
+
  LANG="de_DE.UTF-8"
 +
  LINGUAS="de" 
 +
  ACCEPT_LICENSE="* -@EULA"
 +
  INPUT_DEVICES="evdev"
 +
  VIDEO_CARDS="nvidia"
  
=== Migrating existing configurations ===
+
 
The new configuration format provides replacement for existing configuration done through <code>/etc/portage/make.conf</code> and environment variables. While the variables are still supported for backwards compatibility, users are recommended to move to the new configuration scheme. Funtoo portage ebuild is planned to make the migration unattended (repos.conf installed automatically to ease the config steps) with the following file:
+
b) <code>/etc/fstab</code>
 +
 
 +
  # /etc/fstab: static file system information.
 +
  #
 +
  # The root filesystem should have a pass number of either 0 or 1.
 +
  # All other filesystems should have a pass number of 0 or greater than 1.
 +
  #
 +
  # NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.
 +
  #
 +
  # See the manpage fstab(5) for more information.
 +
  #
 +
  # <fs> <mountpoint> <type> <opts> <dump/pass>
 +
 
 +
  /dev/sda1 /boot ext2 noauto,noatime 1 2
 +
  #/dev/cdrom /mnt/cdrom auto noauto,ro 0 0
 +
  /dev/mapper/vg-swap    none          swap      sw                              0 0
 +
  /dev/mapper/vg-root    /            ext4      noatime,nodiratime,defaults    0 1
 +
  /dev/sr0                /mnt/cdrom    auto      noauto,ro                      0 0
 +
  /dev/mapper/vg-home    /home        ext4      noatime,nodiratime              0 0
 +
  ''' tmpfs /var/tmp/portage tmpfs uid=portage,gid=portage,mode=0775,size=16048M,noatime 0 0'''
 +
 
 +
for tmpfs see: http://www.funtoo.org/Funtoo_Filesystem_Guide,_Part_3
 +
 
 +
c) Since I have an encrypted LVM, one needs an initramfs. I prefer the genkernel method.
 +
    genkernel --kernel-config=/path/to/your/custom-kernel-config --no-mrproper --makeopts=-j5 --install --lvm --luks all
 +
more here: http://www.funtoo.org/Rootfs_over_encrypted_lvm or use better-initramfs: http://www.funtoo.org/Initramfs
 +
 
 +
d) My Funtoo Profiles:
 +
  eselect profile show
 +
 
 +
  Currently set profiles:
 +
    arch: gentoo:funtoo/1.0/linux-gnu/arch/x86-64bit
 +
    build: gentoo:funtoo/1.0/linux-gnu/build/current
 +
  flavor: gentoo:funtoo/1.0/linux-gnu/flavor/desktop
 +
  mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/audio
 +
  mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/console-extras
 +
  mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/dvd
 +
  mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/media
 +
  mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/X
 
   
 
   
{{file|name=/etc/portage/repos.conf/funtoo.conf|body=
+
  Automatically enabled profiles:
[funtoo]
+
  mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/print
location = /usr/portage
+
  mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/X
sync-type = git
+
  mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/audio
sync-uri = git://github.com/funtoo/ports-2015.git
+
  mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/dvd
auto-sync = yes
+
  mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/media
}}
+
  mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/console-extras
The following replacements are provided for existing variables:
+
 
;PORTDIR: Used to specify main tree location. Replaced by ''location'' key in the section corresponding to the default repository (<code>[funtoo]</code> by default).
+
 
;PORTDIR_OVERLAY: Used to specify locations of overlays. Each of the paths needs to be replaced with a separate repository section, with the path placed in ''location'' key. Additionally, ''priority'' may be used to force specific ordering of ebuild overrides.
+
==2. Install your WindowManager or DesktopEnviroment==
;SYNC: Used to specify URI for syncing the main repository, also implied a protocol for doing that. Replaced by the ''sync-uri'' and ''sync-type'' keys in the default repository section.
+
 
;SYNC_UMASK: Used to specify umask for syncing repositories. Replaced by ''sync-umask'' key in repository configuration. Can be specified in <code>[DEFAULT]</code> section to apply to all repositories.
+
''My favourite Window Manager at the time is i3 followed by xfce and openbox.''
;SYNC_USER: Used to specify user credentials for syncing repositories. Replaced by ''sync-user'' key in repository configuration. Can be specified in <code>[DEFAULT]</code> section to apply to all repositories.
+
''Details about i3 & funtoo → http://www.funtoo.org/Package:I3_(Window_Manager) ''
 +
'''i3 setup:'''
 +
 
 +
1) install these packages:
 +
<console> emerge --ask i3 i3status dmenu lxappeareance
 +
</console>
 +
'' If you want to know what these packages are research them. I use lxappeareance to install and select gtk-themes.''
 +
 
 +
Config files:
 +
 
 +
==='''1.''' xinitrc at <code>~/.xinitrc </code>===
 +
  exec ck-launch-session i3
 +
''You only need --force-xinerama if you do have a nvidia grafics card that do not work without it. For more <code>startx</code> magic → https://wiki.archlinux.org/index.php/xinitrc''
 +
 
 +
==='''2.''' <code>~/.i3/config</code>===
 +
 
 +
''specify window colors at the top of the file:''
 +
  # class                border  backgr. text    indicator
 +
  client.focused          #333333 #000000 #ffffff #000000
 +
  client.focused_inactive #333333 #5f676a #ffffff #484e50
 +
  client.unfocused        #333333 #222222 #888888 #292d2e
 +
  client.urgent          #333333 #900000 #ffffff #900000
 +
 
 +
''specify the bar/workspace colors at the bottom of the file:''
 +
 
 +
  bar {
 +
          status_command i3status
 +
          # Bar color settings
 +
          colors{
 +
                  #background #000000
 +
                  #statusline #ffffff
 +
                  #separator  #666666
 +
                  # Type            border  background font
 +
                  focused_workspace  #008fff #007fff #ffffff
 +
                  active_workspace  #333333 #5f676a #ffffff
 +
                  inactive_workspace #333333 #222222 #888888
 +
                  urgent_workspace  #aa0000 #990000 #ffffff
 +
          }
 +
  }
 +
 
 +
 
 +
Do not forget the keymap setting at <code>/etc/X11/xorg.conf</code> otherwise you need to use <code>setxkbmap</code>
 +
  Section "InputClass"
 +
    Identifier        "keyboard-all"
 +
    Driver            "evdev"
 +
    MatchIsKeyboard    "on"
 +
  ''' Option        "XkbLayout" "de"'''
 +
  EndSection
 +
 
 +
==='''3. '''Display Power Management Signaling===
 +
 
 +
a) You can either use XScreenSaver(https://wiki.archlinux.org/index.php/XScreenSaver):
 +
  emerge -a xscreensaver
 +
 
 +
and add <code>/usr/bin/xscreensaver -no-splash &</code> to your <code>~/.xinitrc</code> file:
 +
 
 +
  xscreensaver -no-splash &        # starts screensaver daemon
 +
  exec ck-launch-session i3 --force-xinerama
 +
 
 +
or b) modifi your Xorg server (https://wiki.archlinux.org/index.php/Display_Power_Management_Signaling).
 +
 
 +
==='''4. '''Note: ===
 +
 
 +
I login without a login manager using <code>startx</code> to start my Window Manager, you can end/exit your i3 wm via <code>alt or windows key + shift + e</code>
 +
 
 +
==='''5.''' Background Image Viewer===
 +
 
 +
a) Feh
 +
<console> emerge -a feh</console>
 +
<code>~/.xinitrc</code>:
 +
  feh --bg-center <path>/<image>.png
 +
 
 +
''more options → https://wiki.archlinux.org/index.php/Feh#As_a_desktop_wallpaper_manager ''
 +
 
 +
b) Nitrogen(GUI Programm)
 +
<console> emerge -a nitrogen</console>
 +
<code>~/.xinitrc</code>:
 +
  exec --no-startup-id nitrogen --restore
 +
==3. Additional Software:==
  
{{file|name=/etc/portage/make.conf|desc=Example old make.conf file|body=
+
===1) File Manager:===
# user changed PORTDIR location
+
<console> emerge --ask thunar </console>
PORTDIR="/var/db/repos/funtoo"
+
''thunar - filemanager that supports automounting''
PORTDIR_OVERLAY="/var/db/repos/foo /var/db/repos/bar"
+
''Make sure you create this rule: <code> /etc/polkit-1/rules.d/10-drives.rules</code>
 +
  polkit.addRule(function(action, subject) {
 +
  if (action.id.indexOf("org.freedesktop.udisks2.") == 0){
 +
  return polkit.Result.YES;
 +
  }
 +
  }
 +
  );
  
SYNC="git://github.com/funtoo/ports-2015.git"
+
''Also you should have <code>udisk</code> installed''
SYNC_USER="oleg"
+
SYNC_UMASK="022"
+
}}
+
  
{{file|name=/etc/portage/repos.conf|desc=Replacement repos.conf file|body=
+
===2) '''media-video/smplayer:'''===
[DEFAULT]
+
sync-user = oleg
+
sync-umask = 022
+
  
[funtoo]
+
''allow smplayer always to floate, just add''
location = /var/db/repos/funtoo
+
  for_window [class="smplayer" instance="smplayer"] floating enable
sync-type = git
+
''to your <code>~/.i3/config</code>''
sync-uri = git://github.com/funtoo/ports-2015.git
+
  
[foo]
+
===3)''' Internet Browser '''===
location = /var/db/repos/foo
+
''I recommend <code>
priority = 1
+
www-client/chromium</code> or <code>www-client/google-chrome</code>
 +
''see for more info: http://www.funtoo.org/Funtoo_Linux_Web_Browsers''
 +
  Addons:
 +
  1) Adblock
 +
  2) uMatrix
 +
  3) StayFocused
 +
  4) WebRTC Block
  
[bar]
+
===n)''' usefull software '''===
location = /var/db/repos/bar
+
app-arch/file-roller
priority = 2
+
app-editors/bluefish
}}
+
app-emulation/wine
 +
app-misc/freemind
 +
app-office/libreoffice
 +
app-portage/eix
 +
mail-client/thunderbird
 +
media-gfx/blender
 +
media-gfx/gimp
 +
media-sound/audacity
 +
media-video/kdenlive
  
The <code>repos.conf</code> configuration can be further extended with ''sync-type'' and ''sync-uri'' for overlays to get ''emerge --sync'' updating them automatically.
 
  
[[Category:Portage]]
+
media-video/vlc
 +
net-analyzer/wireshark
 +
net-ftp/filezilla
 +
sys-apps/lm_sensors
 +
virtual/jre
 +
app-text/evince
 +
app-text/calibre
 +
app-emulation/virtualbox

Revision as of 20:38, February 16, 2015

This is for everybody who might have seen my funtoo setup and liked it! This is also for myself to keep track on my system. I have used most of the Linux distributions out there and I am currently most happy with funtoo. My reasons are:

  1. Gentoo/Funtoo is a rolling release distribution, meaning you only have to install it once and update it frequently.
  2. Gentoo/Funtoo is only what you make out of it, no unnesecary rubish like in Ubuntu, OpenSuse or Fedora will be installed by default. In the mean time being aware that Gentoo/Funtoo is for advanced users not careing that much about GUIs for Settings or Configs.
  3. Gentoo/Funtoo runs fast due to multiple reasons. (Compiling your own software,USE-Flags,...)
  4. Philosophy, one would think that Slackware would suite me most (KISS,Unix) but the fact is that these distributions require you more energy and time to work with. I want to get my jobs done, not careing to much about the system. It is okay to have tools that do things for you as long they are designed well - like in funtoo.


1. Install Funtoo (not complete yet - I will update this part when I install funtoo the next time)

Follow the install instructions and setup a minimal system.http://www.funtoo.org/Funtoo_Linux_Installation

Notice you will need to create/edit some configs in the installation prozess. Here are some of mine customizations:

a) /etc/portage/make.conf:

 CFLAGS="-O2 -march=native -pipe -fomit-frame-pointer"
 CXXFLAGS="${CFLAGS}"
 CPU_FLAGS_X86="aes avx fma4 mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 xop"

for the CPU Flags checkout: http://www.funtoo.org/News:CPU_FLAGS_X86

 USE="qt3support theora libkms xa cdr dvd dvdr alsa ffmpeg -gnome gtk -qt4 -kde lm_sensors mp3 mp4 mozilla multilib png python sound udev usb unicode static-libs hddtemp -bluetooth  nvidia X pulseaudio udisks"
 EMERGE_DEFAULT_OPTS="--keep-going"
 FEATURES="-collision-protect ccache"
 CCACHE_SIZE="1G"
 PORTAGE_NICENESS=20
 PORTAGE_IONICE_COMMAND="ionice -c 3 -p \${PID}"
 #EMERGE_DEFAULT_OPTS="--jobs=12" 
 MAKEOPTS="-j12" <--- Number of CPU cores *2 in my case works best.
 LANG="de_DE.UTF-8" 
 LINGUAS="de"  
 ACCEPT_LICENSE="* -@EULA" 
 INPUT_DEVICES="evdev"
 VIDEO_CARDS="nvidia"


b) /etc/fstab

 # /etc/fstab: static file system information.
 #
 # The root filesystem should have a pass number of either 0 or 1.
 # All other filesystems should have a pass number of 0 or greater than 1.
 #
 # NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.
 #
 # See the manpage fstab(5) for more information.
 #
 # <fs>			<mountpoint>	<type>		<opts>		<dump/pass>
 /dev/sda1		/boot		ext2		noauto,noatime	1 2
 #/dev/cdrom		/mnt/cdrom	auto		noauto,ro	0 0
 /dev/mapper/vg-swap     none          swap      sw                              0 0
 /dev/mapper/vg-root     /             ext4      noatime,nodiratime,defaults     0 1
 /dev/sr0                /mnt/cdrom    auto      noauto,ro                       0 0
 /dev/mapper/vg-home     /home         ext4      noatime,nodiratime              0 0
 tmpfs		/var/tmp/portage	tmpfs	uid=portage,gid=portage,mode=0775,size=16048M,noatime	0 0

for tmpfs see: http://www.funtoo.org/Funtoo_Filesystem_Guide,_Part_3

c) Since I have an encrypted LVM, one needs an initramfs. I prefer the genkernel method.

   genkernel --kernel-config=/path/to/your/custom-kernel-config --no-mrproper --makeopts=-j5 --install --lvm --luks all 

more here: http://www.funtoo.org/Rootfs_over_encrypted_lvm or use better-initramfs: http://www.funtoo.org/Initramfs

d) My Funtoo Profiles:

 eselect profile show
 
 Currently set profiles:
    arch: gentoo:funtoo/1.0/linux-gnu/arch/x86-64bit
   build: gentoo:funtoo/1.0/linux-gnu/build/current
  flavor: gentoo:funtoo/1.0/linux-gnu/flavor/desktop
 mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/audio
 mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/console-extras
 mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/dvd
 mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/media
 mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/X

 Automatically enabled profiles:
 mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/print
 mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/X
 mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/audio
 mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/dvd
 mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/media
 mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/console-extras


2. Install your WindowManager or DesktopEnviroment

My favourite Window Manager at the time is i3 followed by xfce and openbox. Details about i3 & funtoo → http://www.funtoo.org/Package:I3_(Window_Manager) i3 setup:

1) install these packages:

 emerge --ask i3 i3status dmenu lxappeareance

If you want to know what these packages are research them. I use lxappeareance to install and select gtk-themes.

Config files:

1. xinitrc at ~/.xinitrc

 exec ck-launch-session i3

You only need --force-xinerama if you do have a nvidia grafics card that do not work without it. For more startx magic → https://wiki.archlinux.org/index.php/xinitrc

2. ~/.i3/config

specify window colors at the top of the file:

 # class                 border  backgr. text    indicator
 client.focused          #333333 #000000 #ffffff #000000
 client.focused_inactive #333333 #5f676a #ffffff #484e50
 client.unfocused        #333333 #222222 #888888 #292d2e
 client.urgent           #333333 #900000 #ffffff #900000

specify the bar/workspace colors at the bottom of the file:

 bar {
         status_command i3status
         # Bar color settings
         colors{
                 #background #000000
                 #statusline #ffffff
                 #separator  #666666
                 # Type             border  background font
                 focused_workspace  #008fff #007fff #ffffff
                 active_workspace   #333333 #5f676a #ffffff
                 inactive_workspace #333333 #222222 #888888
                 urgent_workspace   #aa0000 #990000 #ffffff
         }
 }


Do not forget the keymap setting at /etc/X11/xorg.conf otherwise you need to use setxkbmap

 Section "InputClass"
   Identifier         "keyboard-all"
   Driver             "evdev"
   MatchIsKeyboard    "on"
   Option         "XkbLayout" "de"
 EndSection

3. Display Power Management Signaling

a) You can either use XScreenSaver(https://wiki.archlinux.org/index.php/XScreenSaver):

 emerge -a xscreensaver

and add /usr/bin/xscreensaver -no-splash & to your ~/.xinitrc file:

 xscreensaver -no-splash &         # starts screensaver daemon 
 exec ck-launch-session i3 --force-xinerama 

or b) modifi your Xorg server (https://wiki.archlinux.org/index.php/Display_Power_Management_Signaling).

4. Note:

I login without a login manager using startx to start my Window Manager, you can end/exit your i3 wm via alt or windows key + shift + e

5. Background Image Viewer

a) Feh

 emerge -a feh

~/.xinitrc:

  feh --bg-center <path>/<image>.png

more options → https://wiki.archlinux.org/index.php/Feh#As_a_desktop_wallpaper_manager

b) Nitrogen(GUI Programm)

 emerge -a nitrogen

~/.xinitrc:

  exec --no-startup-id nitrogen --restore

3. Additional Software:

1) File Manager:

 emerge --ask thunar 

thunar - filemanager that supports automounting Make sure you create this rule: /etc/polkit-1/rules.d/10-drives.rules

 polkit.addRule(function(action, subject) {
 if (action.id.indexOf("org.freedesktop.udisks2.") == 0){
 return polkit.Result.YES;
 }
 }
 );

Also you should have udisk installed

2) media-video/smplayer:

allow smplayer always to floate, just add

 for_window [class="smplayer" instance="smplayer"] floating enable

to your ~/.i3/config

3) Internet Browser

I recommend www-client/chromium or www-client/google-chrome see for more info: http://www.funtoo.org/Funtoo_Linux_Web_Browsers

  Addons:
  1) Adblock
  2) uMatrix
  3) StayFocused
  4) WebRTC Block

n) usefull software

app-arch/file-roller app-editors/bluefish app-emulation/wine app-misc/freemind app-office/libreoffice app-portage/eix mail-client/thunderbird media-gfx/blender media-gfx/gimp media-sound/audacity media-video/kdenlive


media-video/vlc net-analyzer/wireshark net-ftp/filezilla sys-apps/lm_sensors virtual/jre app-text/evince app-text/calibre app-emulation/virtualbox