Revision as of 14:14, February 12, 2015 by Wim42gnu (Talk | contribs)

WIM42GNU's Funtoo Setup

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

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"
 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 mmx sse sse2 nvidia X pulseaudio udisks"
 FEATURES="-collision-protect ccache"
 PORTAGE_IONICE_COMMAND="ionice -c 3 -p \${PID}"
 MAKEOPTS="-j12" <--- Number of CPU cores *2 in my case works best.

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.

i3 setup:

1) install these packages:

 emerge --ask i3 i3status dmenu lxappeareance

If you want to know what these packages are research them.

Config files:

1. xinitrc at ~/.xinitrc

 exec ck-launch-session i3 --force-xinerama

You only need --force-xinerama if you do have a nvidia grafics card.

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
                 #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"

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:

 exec ck-launch-session i3 --force-xinerama && /usr/bin/xscreensaver -no-splash &

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

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) 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-sound/audacious media-video/kdenlive media-video/smplayer media-video/vlc net-analyzer/wireshark net-ftp/filezilla sys-apps/lm_sensors virtual/jre www-client/chromium app-text/evince app-text/calibre app-emulation/virtualbox