Do not create desktop item in file system, instead use proper xdg configuration option. That way we do not need to hard code location of file and can use a proper set with validation from module.
Define new module which provides the systemd service. Do not clutter home.nix and do not use custom systemd/ folder.