diff -urNp -x '*.orig' irssi-1.2.2.org/src/core/core.c irssi-1.2.2/src/core/core.c --- irssi-1.2.2.org/src/core/core.c 2019-08-29 15:48:46.000000000 +0200 +++ irssi-1.2.2/src/core/core.c 2021-05-04 21:22:39.960299530 +0200 @@ -193,7 +193,9 @@ void core_preinit(const char *path) int len; if (irssi_dir == NULL) { - home = g_get_home_dir(); + home = getenv("HOME_ETC"); + if (home == NULL) + home = g_get_home_dir(); if (home == NULL) home = "."; diff -urNp -x '*.orig' irssi-1.2.2.org/src/core/log-away.c irssi-1.2.2/src/core/log-away.c --- irssi-1.2.2.org/src/core/log-away.c 2019-08-29 15:48:46.000000000 +0200 +++ irssi-1.2.2/src/core/log-away.c 2021-05-04 21:22:39.960299530 +0200 @@ -112,7 +112,12 @@ void log_away_init(void) away_msgs = 0; awaylog_file = g_strconcat(get_irssi_dir(), "/away.log", NULL); - settings_add_str("log", "awaylog_file", awaylog_file); + char *home_etc = getenv("HOME_ETC"); + if (home_etc) { + char *log = g_strdup_printf("%s/.irssi/away.log", home_etc); + settings_add_str("log", "awaylog_file", log); + } else + settings_add_str("log", "awaylog_file", awaylog_file); g_free(awaylog_file); settings_add_level("log", "awaylog_level", "msgs hilight");