timewall icon indicating copy to clipboard operation
timewall copied to clipboard

TW with home manager: not starting on startup

Open MoltenMonster opened this issue 1 month ago • 7 comments

The home-manager module seems very under-documented. I want timewall and awww (recently renamed from swww) to start on both sddm, and hyprland. Idk about the earlier, for the later exec-once = timewall set --daemon doesn't work while exec-once = uwsm app awww-daemon does. I have to start timewall manually.

  home-manager = {
    useGlobalPkgs = true;
    useUserPackages = true;
    users.myUsername =
      {
        config,
        pkgs,
        inputs,
        ...
      }:
      {
        imports = [
          inputs.timewall.homeManagerModules.timewall
        ];
        home = {
          stateVersion = "25.11";
        };
        services.timewall = {
          enable = true;
          wallpaperPath = /path/to/wallpaper.heif;
          config = {
            setter.command = [
              "awww"
              "img"
              "%f"
            ];
          };

MoltenMonster avatar Nov 14 '25 13:11 MoltenMonster

Hi! You shouldn't need to use exec-once in the Hyprland config if you use services.timewall.enable = true. Could you clarify whether you used both of them at the same time or tried them separately? Please post the output of systemctl --user status timewall.service and journalctl --user -b -u timewall.service when the home-manager service is enabled.

bcyran avatar Nov 14 '25 20:11 bcyran

systemctl --user status timewall.service said the file wasn't accessible, I fixed the file path.

Now it says the following:

○ timewall.service - Dynamic wallpapers daemon
     Loaded: loaded (/home/username/.config/systemd/user/timewall.service; enabled; preset: ignored)
     Active: inactive (dead)

journalctl --user -b -u timewall.service currently says no entries. this is with exec-once = timewall disabled, but keeping exec-once = uwsm app awww-daemon.

MoltenMonster avatar Nov 17 '25 15:11 MoltenMonster

systemctl --user status timewall.service said the file wasn't accessible, I fixed the file path.

Do you mean that the wallpaper file was not accessible and you corrected its path? A message emitted by timewall itself, like:

Error: file '/path/to/file' is not accessible

?

What happens if you run systemctl --user start timewall.service now? If it still doesn't work then please post output of systemctl status and journalctl commands again.

bcyran avatar Nov 17 '25 19:11 bcyran

Yeah I got the message Error: file '/path/to/file' is not accessible

MoltenMonster avatar Nov 19 '25 17:11 MoltenMonster

Again I'm getting the same outputs from systemctl --user status timewall.service and journalctl --user -b -u timewall.service.

MoltenMonster avatar Nov 19 '25 17:11 MoltenMonster

I'm sorry but this doesn't make any sense to me. Are you absolutely sure that you manually started the service by running systemctl --user start timewall.service? I really don't understand how the service could be inactive and without any log entries after being started.

I guess you could also run timewall -vvv set /path/to/file.heif to make sure that timewall itself works correctly and we only have problems with the systemd service unit.

bcyran avatar Nov 19 '25 20:11 bcyran

I just booted twice and now systemctl --user status timewall.service says its running. journalctl --user -b -u timewall.service now says Started Dynamic wallpapers daemon.

I had timewall declared both in home manager and in system packages, I removed the later, maybe that was the issue?

I set a daily reminder for the next week to reboot and check if it works, I'll let you know if I have issues again.

MoltenMonster avatar Nov 19 '25 23:11 MoltenMonster