以外ではできないんじゃないの?mswinはできるよおぉwin32.cでgetlogin()を定義してるからデスクトップのパスとかユーザごとのパスを取得ならxdg-user-dirコマンドというのもあるけど。デスクトップはレイヤがずっとあがっちゃうので難しい...しかしまあetc.soはいい場所だな、うん。みたいな感じじゃないのまんまそれ。モジュールに分ける手もあるかCSIDL_*はそれぞれメソッドでほしい気はするな。