dir_minimal=~/config/dotfiles/minimal
dir_user_prefix=~/config/dotfiles/user
dir_user_minimal=$dir_user_prefix/minimal
-dir_user_machine=$dir_user_prefix/$1
-dir_user_variety=$dir_user_prefix/$2
+dir_user_machine=$dir_user_prefix/$1/minimal
+if [ "$3" = "" ]; then
+ dir_user_variety=$dir_user_machine/$2
+else
+ dir_user_variety=$dir_user_machine/$2/minimal
+fi
+dir_user_subvariety=$dir_user_variety/$3
dir_root=~/config/dotfiles/root
homedir=`echo ~`
find ~ -lname $homedir'/config/*' -delete
for file in `ls $dir_user_variety`; do
ln -fs $dir_user_variety/$file ~/.$file
done
+ if [ ! "$3" = "" ]; then
+ for file in `ls $dir_user_subvariety`; do
+ ln -fs $dir_user_subvariety/$file ~/.$file
+ done
+ fi
fi
+++ /dev/null
-! font size
-XTerm*faceSize: 10
-xterm*VT100*faceSize1: 7
-xterm*VT100*faceSize2: 8
-xterm*VT100*faceSize3: 9
-xterm*VT100*faceSize4: 10
-xterm*VT100*faceSize5: 12
-xterm*VT100*faceSize6: 15
-
-! black
-*color0: #202020
-*color8: #3F3F3F
-
-! red
-*color1: #A82020
-*color9: #E82020
-
-! green
-*color2: #20A820
-*color10: #20E820
-
-! yellow
-*color3: #A8A820
-*color11: #E8E820
-
-! blue
-*color4: #3F3FFF
-*color12: #9F9FFF
-
-! magenta
-*color5: #A83FFF
-*color13: #E89FFF
-
-! cyan
-*color6: #3FA8FF
-*color14: #9FE8FF
-
-! white
-*color7: #A8A8A8
-*color15: #E8E8E8
+++ /dev/null
-# plomlompom's i3 status bar configuration
-
-# Activate colors; set update interval of one second.
-general {
- colors = true
- interval = 1
-}
-
-# Selection / order of status elements.
-order += "disk /"
-order += "disk /home"
-order += "wireless wlan0"
-order += "ethernet eth0"
-order += "battery 0"
-order += "battery 1"
-order += "cpu_temperature 0"
-order += "load"
-order += "time"
-
-# How much space is left in / ?
-disk "/" {
- format = "%free"
-}
-
-# How much space is left in /home ?
-disk "/home" {
- format = "%free"
-}
-
-
-# WLAN status: show IP and connection quality or "down".
-wireless wlan0 {
- format_up = "W: (%quality at %essid) %ip"
- format_down = "W: down"
-}
-
-# Ethernet status: show IP or "down".
-ethernet eth0 {
- format_up = "E: %ip"
- format_down = "E: down"
-}
-
-# Battery status: show FULL/CHARGING/BATTERY, storage, time left.
-battery 0 {
- format = "%status %percentage %remaining"
-}
-battery 1 {
- format = "%status %percentage %remaining"
-}
-
-# Show CPU temperature in degrees of celsius.
-cpu_temperature 0 {
- format = "T: %degrees °C"
-}
-
-# Show system load during last 1/5/15 minutes.
-load {
- format = "L: %1min %5min %15min"
-}
-
-# Show date/time/timezone as "year-month-day hour:minute:second
-# timezone_numeric/timezone_alphabetic".
-time {
-
- format = "%Y-%m-%d %H:%M:%S %z/%Z"
-}
+++ /dev/null
-! font size
-XTerm*faceSize: 8
-
-! black
-*color0: #000000
-*color8: #3F3F3F
-
-! red
-*color1: #BF0000
-*color9: #FF0000
-
-! green
-*color2: #00BF00
-*color10: #00FF00
-
-! yellow
-*color3: #BFBF00
-*color11: #FFFF00
-
-! blue
-*color4: #3F3FFF
-*color12: #9F9FFF
-
-! magenta
-*color5: #BF3FFF
-*color13: #FFF9FF
-
-! cyan
-*color6: #3FBFFF
-*color14: #9FFFFF
-
-! white
-*color7: #BFBFBF
-*color15: #FFFFFF
+++ /dev/null
-# plomlompom's i3 status bar configuration
-
-# Activate colors; set update interval of one second.
-general {
- colors = true
- interval = 1
-}
-
-# Selection / order of status elements.
-order += "disk /"
-order += "disk /home"
-order += "wireless wlan0"
-order += "ethernet eth0"
-order += "battery 0"
-order += "cpu_temperature 0"
-order += "load"
-order += "time"
-
-# How much space is left in / ?
-disk "/" {
- format = "%free"
-}
-
-# How much space is left in /home ?
-disk "/home" {
- format = "%free"
-}
-
-
-# WLAN status: show IP and connection quality or "down".
-wireless wlan0 {
- format_up = "W: (%quality at %essid) %ip"
- format_down = "W: down"
-}
-
-# Ethernet status: show IP or "down".
-ethernet eth0 {
- format_up = "E: %ip"
- format_down = "E: down"
-}
-
-# Battery status: show FULL/CHARGING/BATTERY, storage, time left.
-battery 0 {
- format = "%status %percentage %remaining"
-}
-
-# Show CPU temperature in degrees of celsius.
-cpu_temperature 0 {
- format = "T: %degrees °C"
-}
-
-# Show system load during last 1/5/15 minutes.
-load {
- format = "L: %1min %5min %15min"
-}
-
-# Show date/time/timezone as "year-month-day hour:minute:second
-# timezone_numeric/timezone_alphabetic".
-time {
-
- format = "%Y-%m-%d %H:%M:%S %z/%Z"
-}
+++ /dev/null
-# plomlompom's getmail configuration
-
-# Where and how to get mail from.
-[retriever]
-type = SimplePOP3SSLRetriever
-server = mail.klostein.com
-username = c.heller@plomlompom.de
-
-# Let procmail take charge of incoming mail. Use user-defined rc file.
-[destination]
-type = MDA_external
-path = /usr/bin/procmail
-arguments = ("-m", "/home/plom/.procmailrc")
-
-# Delete retrieved mail from server.
-[options]
-delete = true
+++ /dev/null
-DEFAULT="$HOME/mail/new_inbox/"
-logfile "$HOME/.mailfilter.log"
-
-if ( /^Subject: Postfix SMTP server: errors from /:D && \
- /^From: Mail Delivery System <MAILER-DAEMON@plomlompom\.com>/:D && \
- /^To: Postmaster <postmaster@plomlompom\.com>/:D )
-{
- DIR="$HOME/mail/new_postfix_smtp_server_errors_from/"
- `mkdir -p $DIR/{cur,new,tmp}`
- to $DIR
-}
--- /dev/null
+DEFAULT="$HOME/mail/new_inbox/"
+logfile "$HOME/.mailfilter.log"
+
+if ( /^Subject: Postfix SMTP server: errors from /:D && \
+ /^From: Mail Delivery System <MAILER-DAEMON@plomlompom\.com>/:D && \
+ /^To: Postmaster <postmaster@plomlompom\.com>/:D )
+{
+ DIR="$HOME/mail/new_postfix_smtp_server_errors_from/"
+ `mkdir -p $DIR/{cur,new,tmp}`
+ to $DIR
+}
--- /dev/null
+# plomlompom's mutt configuration file
+
+# Define mailboxes.
+set mbox_type=Maildir
+set folder=/home/plom/mail
+set spoolfile=$folder/inbox
+set mbox=$folder/archive
+set record=$folder/sent
+set postponed=$folder/postponed
+
+# Move read messages from $spoolfile to $mbox.
+set move=yes
+
+# Macro to a mailboxes view built from all folders below ~/mail.
+macro index,pager y <change-folder>?<toggle-mailboxes>
+mailboxes `ls /home/plom/mail | sed -e 's/^/=/' | tr "\n" " "`
+
+# What goes into the default header display.
+ignore *
+unignore from: subject to cc date
+
+# Force some variables for From: and Message-ID: generation.
+set realname="Christian Heller"
+
+# Allow me to reply myself.
+set reply_self = yes
+
+# Only scroll in the current message, not across messages.
+set pager_stop = yes
+
+# Sort message top-down new-old.
+set sort=reverse-date
+
+# Ensure visibility of attachments. The second line handles (in an ugly way) the
+# issue of mails that use the content-type of multipart/alternative wrongly, by
+# omitting from the text/plain alternative relevant multimedia files attached to
+# the multipart/related alternative that contains text/html and said files. This
+# will in certain cases make the pager default to displaying the HTML variant of
+# a mail when a plain text one is available, but this is preferable to hiding
+# potentially important attachments.
+set index_format="%4C %Z %?X?[%X]& ? %{%b %d} %-15.15L (%?l?%4l&%4c?) %s"
+alternative_order multipart/related text/plain text/html
+++ /dev/null
-# plomlompom's mutt configuration file
-
-# Define mailboxes.
-set mbox_type=Maildir
-set folder=/home/plom/mail
-set spoolfile=$folder/inbox
-set mbox=$folder/archive
-set record=$folder/sent
-set postponed=$folder/postponed
-
-# Move read messages from $spoolfile to $mbox.
-set move=yes
-
-# Macro to a mailboxes view built from all folders below ~/mail.
-macro index,pager y <change-folder>?<toggle-mailboxes>
-mailboxes `ls /home/plom/mail | sed -e 's/^/=/' | tr "\n" " "`
-
-# What goes into the default header display.
-ignore *
-unignore from: subject to cc date
-
-# Force some variables for From: and Message-ID: generation.
-set realname="Christian Heller"
-
-# Allow me to reply myself.
-set reply_self = yes
-
-# Only scroll in the current message, not across messages.
-set pager_stop = yes
-
-# Sort message top-down new-old.
-set sort=reverse-date
-
-# Ensure visibility of attachments. The second line handles (in an ugly way) the
-# issue of mails that use the content-type of multipart/alternative wrongly, by
-# omitting from the text/plain alternative relevant multimedia files attached to
-# the multipart/related alternative that contains text/html and said files. This
-# will in certain cases make the pager default to displaying the HTML variant of
-# a mail when a plain text one is available, but this is preferable to hiding
-# potentially important attachments.
-set index_format="%4C %Z %?X?[%X]& ? %{%b %d} %-15.15L (%?l?%4l&%4c?) %s"
-alternative_order multipart/related text/plain text/html
--- /dev/null
+# plomlompom's getmail configuration
+
+# Where and how to get mail from.
+[retriever]
+type = SimplePOP3SSLRetriever
+server = mail.klostein.com
+username = c.heller@plomlompom.de
+
+# Let procmail take charge of incoming mail. Use user-defined rc file.
+[destination]
+type = MDA_external
+path = /usr/bin/procmail
+arguments = ("-m", "/home/plom/.procmailrc")
+
+# Delete retrieved mail from server.
+[options]
+delete = true
--- /dev/null
+# plomlompom's procmail configuration
+
+MAILDIR=/home/plom/mail
+DEFAULT=$MAILDIR/inbox/
+
+:0
+* ^To: Bisdahin <termin@bisdahin.de>
+bisdahin/
+
+:0
+* ^From: Doodle <mailer@doodle.com>
+doodle/
+
+:0
+* ^From: FetLife <donotreply@fetlifemail\.com>
+fetlife/
+
+:0
+* ^From: Flattr <no-reply@flattr.com>
+flattr/
+
+:0
+* ^From: noreply@statusnetondemand.net
+identica/
+
+:0
+* ^From: .*@linkedin\.com
+linkedin/
+
+:0
+* ^To: .*forum@detrans.de
+ML-detrans/
+
+:0
+* ^To: .*liste-ff-medien@gruene-jugend.de
+ML-gj-medien/
+
+:0
+* ^To: wann-klettern-wir@googlegroups\.com
+ML-klettern/
+
+:0
+* ^Subject: \[schildower-kreis-info\]
+schildower_kreis/
+
+:0
+* ^Subject: .*\[reflect-info\]
+reflect-info/
+
+:0
+* ^To: .*st-berlin@smjg.org
+ML-smjg-berlin/
+
+:0
+* ^Subject: Logwatch for plomlompom\.com \(Linux\)
+serverlogs/
+
+:0
+* ^Subject: ***SPAM***
+spam-suspect/
+
+:0
+* ^From: Twitter
+twitter/
+
+:0
+* ^From: Computerspielemuseum
+computerspielemuseum/
--- /dev/null
+# Server-specific .shinit additions.
+
+# Wrapper for weechat to force local config file on it anew on each run.
+alias weechat="~/config/bin/weechat-wrapper.sh"
--- /dev/null
+/set logger.file.path ~/weechatlogs
+/set logger.file.flush_delay 0
+/script install otr.py
+/set weechat.bar.status.items "[time],[buffer_last_number],[buffer_plugin],buffer_number+:+buffer_name+(buffer_modes)+{buffer_nicklist_count}+buffer_zoom+buffer_filter,[lag],[hotlist],completion,scroll,[otr]"
+/set weechat.color.chat_nick_colors "lightcyan"
+/server add localhost localhost
+/connect localhost
+/server del freenode
+/server add freenode irc.freenode.net -nicks=plomlompom,plomlomp0m,ploml0mp0m,pl0ml0mp0m -realname="Christian Heller" -autojoin=#nodrama.de,#twitter.de,#freie-gesellschaft,#dumme-gesellschaft,#zerozero
+/connect freenode
+++ /dev/null
-# plomlompom's procmail configuration
-
-MAILDIR=/home/plom/mail
-DEFAULT=$MAILDIR/inbox/
-
-:0
-* ^To: Bisdahin <termin@bisdahin.de>
-bisdahin/
-
-:0
-* ^From: Doodle <mailer@doodle.com>
-doodle/
-
-:0
-* ^From: FetLife <donotreply@fetlifemail\.com>
-fetlife/
-
-:0
-* ^From: Flattr <no-reply@flattr.com>
-flattr/
-
-:0
-* ^From: noreply@statusnetondemand.net
-identica/
-
-:0
-* ^From: .*@linkedin\.com
-linkedin/
-
-:0
-* ^To: .*forum@detrans.de
-ML-detrans/
-
-:0
-* ^To: .*liste-ff-medien@gruene-jugend.de
-ML-gj-medien/
-
-:0
-* ^To: wann-klettern-wir@googlegroups\.com
-ML-klettern/
-
-:0
-* ^Subject: \[schildower-kreis-info\]
-schildower_kreis/
-
-:0
-* ^Subject: .*\[reflect-info\]
-reflect-info/
-
-:0
-* ^To: .*st-berlin@smjg.org
-ML-smjg-berlin/
-
-:0
-* ^Subject: Logwatch for plomlompom\.com \(Linux\)
-serverlogs/
-
-:0
-* ^Subject: ***SPAM***
-spam-suspect/
-
-:0
-* ^From: Twitter
-twitter/
-
-:0
-* ^From: Computerspielemuseum
-computerspielemuseum/
+++ /dev/null
-# Server-specific .shinit additions.
-
-# Wrapper for weechat to force local config file on it anew on each run.
-alias weechat="~/config/bin/weechat-wrapper.sh"
+++ /dev/null
-/set logger.file.path ~/weechatlogs
-/set logger.file.flush_delay 0
-/script install otr.py
-/set weechat.bar.status.items "[time],[buffer_last_number],[buffer_plugin],buffer_number+:+buffer_name+(buffer_modes)+{buffer_nicklist_count}+buffer_zoom+buffer_filter,[lag],[hotlist],completion,scroll,[otr]"
-/set weechat.color.chat_nick_colors "lightcyan"
-/server add localhost localhost
-/connect localhost
-/server del freenode
-/server add freenode irc.freenode.net -nicks=plomlompom,plomlomp0m,ploml0mp0m,pl0ml0mp0m -realname="Christian Heller" -autojoin=#nodrama.de,#twitter.de,#freie-gesellschaft,#dumme-gesellschaft,#zerozero
-/connect freenode
--- /dev/null
+! font size
+XTerm*faceSize: 10
+xterm*VT100*faceSize1: 7
+xterm*VT100*faceSize2: 8
+xterm*VT100*faceSize3: 9
+xterm*VT100*faceSize4: 10
+xterm*VT100*faceSize5: 12
+xterm*VT100*faceSize6: 15
+
+! black
+*color0: #202020
+*color8: #3F3F3F
+
+! red
+*color1: #A82020
+*color9: #E82020
+
+! green
+*color2: #20A820
+*color10: #20E820
+
+! yellow
+*color3: #A8A820
+*color11: #E8E820
+
+! blue
+*color4: #3F3FFF
+*color12: #9F9FFF
+
+! magenta
+*color5: #A83FFF
+*color13: #E89FFF
+
+! cyan
+*color6: #3FA8FF
+*color14: #9FE8FF
+
+! white
+*color7: #A8A8A8
+*color15: #E8E8E8
--- /dev/null
+# plomlompom's i3 status bar configuration
+
+# Activate colors; set update interval of one second.
+general {
+ colors = true
+ interval = 1
+}
+
+# Selection / order of status elements.
+order += "disk /"
+order += "disk /home"
+order += "wireless wlan0"
+order += "ethernet eth0"
+order += "battery 0"
+order += "battery 1"
+order += "cpu_temperature 0"
+order += "load"
+order += "time"
+
+# How much space is left in / ?
+disk "/" {
+ format = "%free"
+}
+
+# How much space is left in /home ?
+disk "/home" {
+ format = "%free"
+}
+
+
+# WLAN status: show IP and connection quality or "down".
+wireless wlan0 {
+ format_up = "W: (%quality at %essid) %ip"
+ format_down = "W: down"
+}
+
+# Ethernet status: show IP or "down".
+ethernet eth0 {
+ format_up = "E: %ip"
+ format_down = "E: down"
+}
+
+# Battery status: show FULL/CHARGING/BATTERY, storage, time left.
+battery 0 {
+ format = "%status %percentage %remaining"
+}
+battery 1 {
+ format = "%status %percentage %remaining"
+}
+
+# Show CPU temperature in degrees of celsius.
+cpu_temperature 0 {
+ format = "T: %degrees °C"
+}
+
+# Show system load during last 1/5/15 minutes.
+load {
+ format = "L: %1min %5min %15min"
+}
+
+# Show date/time/timezone as "year-month-day hour:minute:second
+# timezone_numeric/timezone_alphabetic".
+time {
+
+ format = "%Y-%m-%d %H:%M:%S %z/%Z"
+}
--- /dev/null
+! font size
+XTerm*faceSize: 8
+
+! black
+*color0: #000000
+*color8: #3F3F3F
+
+! red
+*color1: #BF0000
+*color9: #FF0000
+
+! green
+*color2: #00BF00
+*color10: #00FF00
+
+! yellow
+*color3: #BFBF00
+*color11: #FFFF00
+
+! blue
+*color4: #3F3FFF
+*color12: #9F9FFF
+
+! magenta
+*color5: #BF3FFF
+*color13: #FFF9FF
+
+! cyan
+*color6: #3FBFFF
+*color14: #9FFFFF
+
+! white
+*color7: #BFBFBF
+*color15: #FFFFFF
--- /dev/null
+# plomlompom's i3 status bar configuration
+
+# Activate colors; set update interval of one second.
+general {
+ colors = true
+ interval = 1
+}
+
+# Selection / order of status elements.
+order += "disk /"
+order += "disk /home"
+order += "wireless wlan0"
+order += "ethernet eth0"
+order += "battery 0"
+order += "cpu_temperature 0"
+order += "load"
+order += "time"
+
+# How much space is left in / ?
+disk "/" {
+ format = "%free"
+}
+
+# How much space is left in /home ?
+disk "/home" {
+ format = "%free"
+}
+
+
+# WLAN status: show IP and connection quality or "down".
+wireless wlan0 {
+ format_up = "W: (%quality at %essid) %ip"
+ format_down = "W: down"
+}
+
+# Ethernet status: show IP or "down".
+ethernet eth0 {
+ format_up = "E: %ip"
+ format_down = "E: down"
+}
+
+# Battery status: show FULL/CHARGING/BATTERY, storage, time left.
+battery 0 {
+ format = "%status %percentage %remaining"
+}
+
+# Show CPU temperature in degrees of celsius.
+cpu_temperature 0 {
+ format = "T: %degrees °C"
+}
+
+# Show system load during last 1/5/15 minutes.
+load {
+ format = "L: %1min %5min %15min"
+}
+
+# Show date/time/timezone as "year-month-day hour:minute:second
+# timezone_numeric/timezone_alphabetic".
+time {
+
+ format = "%Y-%m-%d %H:%M:%S %z/%Z"
+}
+++ /dev/null
-! font
-XTerm*faceName: -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
-XTerm*reverseVideo: on
-XTerm*visualBell: on
+++ /dev/null
-# plomlompom's i3-wm configuration
-
-# Font for i3 text
-font pango:Terminus 11px
-#font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
-
-# Force "tabbed" as default layout for new windows.
-workspace_layout tabbed
-
-# Make the Windows key the modifier key for all i3-wm actions.
-set $mod Mod4
-floating_modifier $mod
-
-# Launch xterm.
-bindsym $mod+Return exec xterm
-
-# Launch programs via dmenu.
-bindsym $mod+d exec dmenu_run
-
-# Kill window.
-bindsym $mod+Shift+Q kill
-
-# Move focus between windows.
-bindsym $mod+Left focus left
-bindsym $mod+Down focus down
-bindsym $mod+Up focus up
-bindsym $mod+Right focus right
-
-# Don't move focus with mouse.
-focus_follows_mouse no
-
-# Move windows.
-bindsym $mod+Shift+Left move left
-bindsym $mod+Shift+Down move down
-bindsym $mod+Shift+Up move up
-bindsym $mod+Shift+Right move right
-
-# Resize windows
-bindsym $mod+h resize shrink width 1 px or 1 ppt
-bindsym $mod+l resize grow width 1 px or 1 ppt
-bindsym $mod+j resize shrink height
-bindsym $mod+k resize grow height
-
-# Toggle fullscreen for focused window.
-bindsym $mod+f fullscreen
-
-# Toggle floating of window, focus on floating or tabbed windows.
-bindsym $mod+Shift+space floating toggle
-bindsym $mod+space focus mode_toggle
-
-# Switch to workspace x.
-bindsym $mod+1 workspace 1
-bindsym $mod+2 workspace 2
-bindsym $mod+3 workspace 3
-bindsym $mod+4 workspace 4
-bindsym $mod+5 workspace 5
-bindsym $mod+6 workspace 6
-bindsym $mod+7 workspace 7
-bindsym $mod+8 workspace 8
-bindsym $mod+9 workspace 9
-bindsym $mod+0 workspace 10
-
-# Move window to workspace x.
-bindsym $mod+Shift+exclam move workspace 1
-bindsym $mod+Shift+quotedbl move workspace 2
-bindsym $mod+Shift+section move workspace 3
-bindsym $mod+Shift+dollar move workspace 4
-bindsym $mod+Shift+percent move workspace 5
-bindsym $mod+Shift+ampersand move workspace 6
-bindsym $mod+Shift+slash move workspace 7
-bindsym $mod+Shift+parenleft move workspace 8
-bindsym $mod+Shift+parenright move workspace 9
-bindsym $mod+Shift+equal move workspace 10
-
-# Reload i3 config file, restart (keeping sesion) i3, exit i3.
-bindsym $mod+Shift+C reload
-bindsym $mod+Shift+R restart
-bindsym $mod+Shift+P exit
-
-# Select "i3status" as i3 status bar.
-bar {
- status_command i3status
-}
--- /dev/null
+! font
+XTerm*faceName: -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
+XTerm*reverseVideo: on
+XTerm*visualBell: on
--- /dev/null
+# plomlompom's i3-wm configuration
+
+# Font for i3 text
+font pango:Terminus 11px
+#font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
+
+# Force "tabbed" as default layout for new windows.
+workspace_layout tabbed
+
+# Make the Windows key the modifier key for all i3-wm actions.
+set $mod Mod4
+floating_modifier $mod
+
+# Launch xterm.
+bindsym $mod+Return exec xterm
+
+# Launch programs via dmenu.
+bindsym $mod+d exec dmenu_run
+
+# Kill window.
+bindsym $mod+Shift+Q kill
+
+# Move focus between windows.
+bindsym $mod+Left focus left
+bindsym $mod+Down focus down
+bindsym $mod+Up focus up
+bindsym $mod+Right focus right
+
+# Don't move focus with mouse.
+focus_follows_mouse no
+
+# Move windows.
+bindsym $mod+Shift+Left move left
+bindsym $mod+Shift+Down move down
+bindsym $mod+Shift+Up move up
+bindsym $mod+Shift+Right move right
+
+# Resize windows
+bindsym $mod+h resize shrink width 1 px or 1 ppt
+bindsym $mod+l resize grow width 1 px or 1 ppt
+bindsym $mod+j resize shrink height
+bindsym $mod+k resize grow height
+
+# Toggle fullscreen for focused window.
+bindsym $mod+f fullscreen
+
+# Toggle floating of window, focus on floating or tabbed windows.
+bindsym $mod+Shift+space floating toggle
+bindsym $mod+space focus mode_toggle
+
+# Switch to workspace x.
+bindsym $mod+1 workspace 1
+bindsym $mod+2 workspace 2
+bindsym $mod+3 workspace 3
+bindsym $mod+4 workspace 4
+bindsym $mod+5 workspace 5
+bindsym $mod+6 workspace 6
+bindsym $mod+7 workspace 7
+bindsym $mod+8 workspace 8
+bindsym $mod+9 workspace 9
+bindsym $mod+0 workspace 10
+
+# Move window to workspace x.
+bindsym $mod+Shift+exclam move workspace 1
+bindsym $mod+Shift+quotedbl move workspace 2
+bindsym $mod+Shift+section move workspace 3
+bindsym $mod+Shift+dollar move workspace 4
+bindsym $mod+Shift+percent move workspace 5
+bindsym $mod+Shift+ampersand move workspace 6
+bindsym $mod+Shift+slash move workspace 7
+bindsym $mod+Shift+parenleft move workspace 8
+bindsym $mod+Shift+parenright move workspace 9
+bindsym $mod+Shift+equal move workspace 10
+
+# Reload i3 config file, restart (keeping sesion) i3, exit i3.
+bindsym $mod+Shift+C reload
+bindsym $mod+Shift+R restart
+bindsym $mod+Shift+P exit
+
+# Select "i3status" as i3 status bar.
+bar {
+ status_command i3status
+}
--- /dev/null
+set! browser.startup.page=3
+set! privacy.donottrackheader.enabled=true
+set! network.cookie.lifetimePolicy=2
+set! browser.formfill.enable=false
+set! browser.block.target_new_window=true
+set! browser.download.lastDir=~/downloads
+set! javascript.enabled=false
+"set! permissions.default.image=2
+set! general.useragent.override=foo
+set! signon.rememberSignons=false
+set! network.proxy.socks=localhost
+set! network.proxy.socks_port=9999
+set! network.proxy.type=1
+set go=CMsbr
+set showtabline=never
+highlight Hint -append font: "Droid Sans Mono"; margin: 0em; padding: 0.1em; padding-right: 0.2em;
+command plom open http://www.plomlompom.de/PlomWiki/plomwiki.php?title=Start
+set fc=ignore
+set ds=duckduckgo
+set visualbell
--- /dev/null
+# X init configuration
+
+# Set keymap.
+setxkbmap de
+
+# Read in X configuration.
+xrdb -merge ~/.Xresources
+xrdb -merge ~/.Xresources-local
+
+# Redshift to Berlin, Germany.
+redshift -rl 53:13 &
+
+# Enforce QWERTZ.
+setxkbmap de
+
+# Launch window manager.
+i3
+++ /dev/null
-set! browser.startup.page=3
-set! privacy.donottrackheader.enabled=true
-set! network.cookie.lifetimePolicy=2
-set! browser.formfill.enable=false
-set! browser.block.target_new_window=true
-set! browser.download.lastDir=~/downloads
-set! javascript.enabled=false
-"set! permissions.default.image=2
-set! general.useragent.override=foo
-set! signon.rememberSignons=false
-set! network.proxy.socks=localhost
-set! network.proxy.socks_port=9999
-set! network.proxy.type=1
-set go=CMsbr
-set showtabline=never
-highlight Hint -append font: "Droid Sans Mono"; margin: 0em; padding: 0.1em; padding-right: 0.2em;
-command plom open http://www.plomlompom.de/PlomWiki/plomwiki.php?title=Start
-set fc=ignore
-set ds=duckduckgo
-set visualbell
+++ /dev/null
-# X init configuration
-
-# Set keymap.
-setxkbmap de
-
-# Read in X configuration.
-xrdb -merge ~/.Xresources
-xrdb -merge ~/.Xresources-local
-
-# Redshift to Berlin, Germany.
-redshift -rl 53:13 &
-
-# Enforce QWERTZ.
-setxkbmap de
-
-# Launch window manager.
-i3
echo "Need argument."
false
fi
-
if [ "$1" = "thinkpad" ] && [ ! "$2" = "X200s" ] && [ ! "$2" = "T450s" ]; then
echo "Need Thinkpad type."
false
fi
-
-if [ "$1" = "server" ] && [ ! "$2" = "plomlompom.com" ] && \
- [ ! "$2" = "test.plomlompom.com" ]; then
- echo "Need server type."
+if [ "$1" = "server" ] && [ ! "$2" = "personal" ] && [ ! "$2" = "public" ]; then
+ echo "Need server purpose."
+ false
+fi
+if [ "$2" = "personal" ] && [ ! "$3" = "test.plomlompom.com" ] && \
+ [ ! "$3" = "plomlompom.com" ]; then
+ echo "Need server domain"
false
fi
# Some important variables
-if [ "$2" = "plomlompom.com" ]; then
+if [ "$3" = "plomlompom.com" ]; then
hostname="plomlompom"
-elif [ "$2" = "test.plomlompom.com" ]; then
+elif [ "$3" = "test.plomlompom.com" ]; then
hostname="test.plomlompom"
+elif [ "$2" = "public" ]; then
+ hostname="twtxt.plomlompom"
elif [ "$2" = "X200s" ]; then
hostname="X220s"
elif [ "$2" = "T450s" ]; then
if [ "$1" = "server" ]; then
echo '127.0.0.1 localhost' > /etc/hosts
ip=`hostname -I | cut -d " " -f 1`
- echo "$ip $2 $hostname" >> /etc/hosts
+ echo "$ip $hostname.com $hostname" >> /etc/hosts
# Call dhclient on startup.
cat > /etc/systemd/system/dhclient.service << EOF
useradd -m -s /bin/bash plom
rm -rf /home/plom/config
su - plom -c 'git clone http://github.com/plomlompom/config /home/plom/config'
-su plom -c '/home/plom/config/bin/symlink.sh '$1' '$2
+su plom -c '/home/plom/config/bin/symlink.sh '$1' '$2' '$3
# Allow user to sudo.
if [ "$1" = "thinkpad" ]; then
DEBIAN_FRONTEND=noninteractive apt-get -y install getmail4 procmail mutt \
postfix maildrop
cp config/systemfiles/main.cf /etc/postfix/main.cf
- sed -i 's/HOSTNAME/'$2'/g' /etc/postfix/main.cf
+ sed -i 's/HOSTNAME/'$hostname.com'/g' /etc/postfix/main.cf
cp config/systemfiles/aliases /etc/aliases
newaliases
service postfix restart