Desk-ssh Role¶
Description: No description available
Variables¶
author: Kevin Veen-Birkenbach
description: Persistent SSH agent setup for GNOME Wayland sessions with SSH configuration pulled from Git.
license: Infinito.Nexus NonCommercial License
license_url: https://s.infinito.nexus/license
company: Kevin Veen-Birkenbach
Consulting & Coaching Solutions https://www.veen.world
min_ansible_version: 2.9
platforms: [{‘name’: ‘Archlinux’, ‘versions’: [‘rolling’]}]
galaxy_tags: [‘ssh’, ‘agent’, ‘systemd’, ‘gnome’, ‘wayland’, ‘archlinux’, ‘keepassxc’]
repository: https://s.infinito.nexus/code
issue_tracker_url: https://s.infinito.nexus/issues
documentation: https://docs.infinito.nexus/
README¶
SSH Agent 🔐¶
Description¶
This Ansible role ensures a functional and persistent SSH Agent setup on
Arch Linux (Manjaro) systems running GNOME with Wayland. It manages SSH
configuration by cloning a remote Git repository into the user’s
~/.ssh directory and sets up a systemd user service to start the SSH
agent automatically at login.
To understand the broader context of SSH, read more on Wikipedia – SSH or visit the official OpenSSH project.
This role was designed and validated in the context of this discussion on configuring SSH agents for KeePassXC compatibility under Wayland sessions.
Overview¶
This role is intended for Manjaro/Arch systems where gnome-keyring
no longer reliably manages ssh-agent due to changes in behavior
under Wayland. It works by deploying a systemd --user service,
making SSH Agent integration predictable and independent of graphical
environment quirks.
Purpose¶
The purpose of this role is to automate the provisioning of SSH agent
capabilities and synchronize the .ssh directory from a Git
repository. This enables users to access private repositories or
authenticate with remote servers immediately after login.
Features¶
Clones a remote SSH config repository into
~/.sshusing thedesk-gitrole.Deploys and enables a systemd user service for
ssh-agent.Ensures environment compatibility by injecting the
SSH_AUTH_SOCKvariable into either.bash_profileor.profile.Fails gracefully with an optional debug message if the Git repository is unreachable.
KeePassXC ready: Ensures compatibility with password managers that support SSH agent integration.