Так вышло, что у меня конфиги софта на рабочем и домашней пеке - идентичны. Это удобно, всё синкается. Изменив что-то на рабочем пеке и придя домой - попадаешь на идентичное рабочее место.
Но у каждой машины есть свои особенности, которые нужно учитывать в конфигах. Например 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