{ config, pkgs, ... }: let workflowDir = "${config.home.homeDirectory}/productivity/smos"; in { programs.smos = { inherit workflowDir; enable = true; notify.enable = true; github = { enable = true; oauth-token-file = config.homeage.file.smos.path; }; }; satellite.persistence.at.data.apps.smos.directories = [ config.programs.smos.workflowDir ]; homeage.file.smos = { source = ./smos_github_oauth.age; path = "${config.xdg.dataHome}/smos/.github_token"; }; home.packages = # Start smos with a custom class so our WM can move it to the correct workspace let smosgui = pkgs.writeShellScriptBin "smosgui" '' wezterm start --class "org.wezfurlong.wezterm.smos" --cwd ${workflowDir} smos ''; in [ smosgui ]; xdg.desktopEntries.smosgui = { name = "Smos GUI"; type = "Application"; exec = "smosgui"; terminal = false; }; }