memo-pad’s blog

自分のためのメモをまとめています。ここに書いてある内容については責任は負いません。全て自己責任でお願いします。

slackcatでconfigが読み込めない時

いつも通り~/.config/slackcat/configにconfigファイルを配置しても下記エラーが出て読み込めない。

slackcat missing config file at <configのパス名>
use --configure to create

コードを読んでみる

xdgの有無でconfig読む先が変わるようだ

参考:https://github.com/vektorlab/slackcat/blob/v1.3/config.go#L97-L105

configのパスの挙動

具体的にはこんな感じになる(xdgの有無は環境変数にXDG_で始まるものがあるかで判別してるっぽい)

  • xdgがない:$HOME/.slackcatに配置
  • xdgがある:
    • 環境変数にXDG_CONFIG_HOMEがある:$XDG_CONFIG_HOME/slackcat/config
    • 環境変数にXDG_CONFIG_HOMEがない:$HOME/.config/slackcat/config

オチ

そして、ここまで調べてManualにちゃんと書いてあることに気づく

参考:https://github.com/vektorlab/slackcat/blob/v1.3/docs/configuration-guide.md#default-path

If your environment specifies an XDG Base Directory, slackcat will use the configuration file at ~/.config/slackcat/config; otherwise, will fallback to ~/.slackcat

しかも、最初のエラーメッセージで<configのパス名>を表示してくれているので、そこに配置すれば良いだけだったりする