鳥頭

NixOSでashellを使ったときにバッテリーの残量が表示されない問題

に投稿

背景

Home-Managerでashellを使うために以下のように設定したけど、 ノートPCのバッテリー残量が表示されなかった。

# 一部省略
{...}: {
  programs.ashell = {
    enable = true;
    systemd = {
      enable = true;
      target = "hyprland-session.target";
    };
    modules = {
      right = [
        "SystemInfo"
        [
          "Clock"
          "Privacy"
          "Settings"
        ]
      ];
    };

    settings = {
      indicators = [
        "Battery"
        "Bluetooth"
        "Network"
        "Vpn"
        "Audio"
      ];
    };
  };
}

電源周りの設定は以下のとおり。

{...}: {
  powerManagement.enable = true;
  services.tlp.enable = true;
}

原因

ashellはバッテリー残量の情報をupowerサービスから得ようとするため

READMEやドキュメントに記載はないが、GitHubでコード検索すると確かにupowerを使用していることが分かる。

解決策

services.upower.enabletrueにして、upowerサービスを有効にする。

{...}: {
  services.upower.enable = true;
}