]> ruderich.org/simon Gitweb - config/dotfiles.git/blobdiff - shell/setup.sh
htoprc: automatically switch to 4-column CPU layout
[config/dotfiles.git] / shell / setup.sh
index eec1ded59a0911614c2f0586df54fa3b086c088c..9f622f71494031bd86fb8c2de4a9f8a6a1ce8a76 100755 (executable)
@@ -2,7 +2,7 @@
 
 # Setup script for shell configuration files.
 
-# Copyright (C) 2011-2014  Simon Ruderich
+# Copyright (C) 2011-2018  Simon Ruderich
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -67,9 +67,14 @@ mkdir -p zsh/cache
 # file in this directory; this requires replacing the constant HISTORY_PATH in
 # lesskey.
 echo 'lesskey: generating .lesskey'
-simple_cpp <lesskey \
+cp lesskey lesskey.tmp
+if ! less --help | grep rscroll= > /dev/null; then
+    sed_i 's/--rscroll=[^ ]*//' lesskey.tmp
+fi
+simple_cpp < lesskey.tmp \
     HISTORY_PATH -- "`pwd`/lesshistory" \
     | lesskey -
+rm lesskey.tmp
 chmod 0600 ~/.less
 
 # Custom colors for GNU ls.
@@ -161,19 +166,6 @@ if test -z "$use_256colors"; then
     sed_i 's/Enable 256 color/Disable 256 color/;
            s/screen-256color/screen/' screenrc
 fi
-# Some options are only necessary when running as root. They are marked as
-# "(ROOT)".
-if test "`id -u`" -ne 0; then
-    echo 'screenrc: removing root options'
-    grep_i -v '(ROOT)' screenrc
-fi
-# I use some features of GNU screen which are only in Git or very recent GNU
-# screen versions. Drop them on machines which have older versions. They are
-# marked as "(GIT)".
-if test ! -d "$HOME/development/shell/screen"; then
-    echo 'screenrc: removing Git features'
-    grep_i -v '(GIT)' screenrc
-fi
 # Rxvt doesn't need the attrcolor "fix". As I prefer rxvt assume I use it when
 # it's installed.
 if installed rxvt; then
@@ -197,6 +189,14 @@ if ! test -d "$temperature"; then
 fi
 apply_optional_replacement screenrc \
     temperature TEMPERATURE "$temperature"
+# Settings for local hosts.
+if test -n "${SSH_CONNECTION:+set}"; then
+    echo 'screenrc: using dark blue for remote screens'
+    sed_i 's/sorendition = Bw/sorendition = bw/' screenrc
+else
+    echo 'screenrc: removing remote options'
+    grep_i -v '(REMOTE)' screenrc
+fi
 
 
 if installed tmux; then
@@ -233,12 +233,21 @@ fi
 
 # Htop overwrites the comments in its configuration file.
 generate htoprc .in cat
+if installed nproc && test "$(nproc)" -gt 8; then
+    sed_i 's/LeftCPUs/LeftCPUs2/; s/RightCPUs/RightCPUs2/' htoprc
+fi
 
 if installed dig; then
     # dig doesn't support any comments in digrc.
     grep -v -E '^#' digrc.in >digrc
 fi
 
+_iptables='/usr/share/zsh/functions/Completion/Linux/_iptables'
+if test -f "$_iptables"; then
+    sed '/^#compdef/ s/iptables/& ip6tables/' \
+        < "$_iptables" \
+        > zsh/functions/_iptables
+fi
 
 # LINK SETUP