{ withSystem, ... }: let name = "todo"; in { perSystem = { pkgs, ... }: { packages.${name} = pkgs.writeShellApplication { inherit name; runtimeInputs = with pkgs; [ coreutils ]; text = ''"$EDITOR" +3 "$TODO_FILE"''; }; }; flake.modules.homeManager.base = { config, pkgs, ... }: { home.packages = [ (withSystem pkgs.system (psArgs: psArgs.config.packages.${name})) ]; home.sessionVariables.TODO_FILE = "${config.home.sessionVariables.WIKI_DIRECTORY}/todo.adoc"; }; }