Так вышло, что у меня конфиги софта на рабочем и домашней пеке - идентичны. Это удобно, всё синкается. Изменив что-то на рабочем пеке и придя домой - попадаешь на идентичное рабочее место.
Но у каждой машины есть свои особенности, которые нужно учитывать в конфигах. Например conky рисует графики для двух процессоров на рабочей машине, а дома всего один процессор.
Ещё - дома не нужно в автозапуске всё то что есть на работе.
Поскольку везде вокруг меня не винда - я сделал себе заебись. В винде пришось бы делать дофига телодвижений. :)
В conky всё вышло безболезненно, там в конфиге просто было нужно было сотворить конструкцию вида:
some code ${if_match "$nodename" == "homepc"} some individual code #1 ${endif} ${if_match "$nodename" == "workpc"} some individual code #2 ${endif}
А вот в Awesome пришлось повозиться, но решение было найдено. Так как конфиги авесома написаны на Lua, то найти способ получения хостнейма - не проблема.
Вот что вышло:
function getHostname() local f = io.popen ("/bin/hostname") local hostname = f:read("*a") or "" f:close() hostname =string.gsub(hostname, "\n$", "") return hostname end hostname = getHostname() if hostname == "homepc" then run_once("conky") run_once("psi") run_once("claws-mail") run_once("/opt/google/chrome/chrome") elseif hostname == "workpc" then run_once("xscreensaver -no-splash") awful.util.spawn_with_shell("xrandr --output VGA1 --mode 1920x1080 --right-of HDMI1") run_once("conky") run_once("psi") run_once("skype") run_once("iceweasel") run_once("claws-mail") run_once("/opt/google/chrome/chrome") run_once("/usr/bin/python","/usr/bin/nagstamon") else run_once("conky") end