summaryrefslogtreecommitdiffstats
path: root/roles/user
AgeCommit message (Collapse)AuthorFilesLines
2026-03-04Remove duplicate fields from argument_specs filesAhmed Abdelhalim1-2/+0
2026-02-11Fix claude code typosAhmed Abdelhalim1-2/+2
2026-02-11Fix user lingering and pipewire systemd user failuresAhmed Abdelhalim1-28/+18
Create the linger file directly instead of using loginctl enable-linger, which fails in containers where systemd-logind isn't fully functional. The linger file at /var/lib/systemd/linger/<user> is what systemd checks to persist user instances across logouts. After creating the linger file, explicitly start user@<uid>.service to boot the user's systemd instance immediately. This creates the D-Bus session bus socket at /run/user/<uid>/bus, which is required for systemctl --user to work. Without this, roles like pipewire that manage user-scoped services fail with "Failed to connect to user scope bus". This also refactors the user creation to simplify the logic and make the user.id available for both cases of password or default_password Co-Authored-By: Claude.ai
2026-02-06Ignore lingering task from testing as it's failing locally onlyAhmed Abdelhalim1-0/+4
2026-01-24Fix ansible 2.20.1 deprecation warning about ansible_varsAhmed Abdelhalim1-1/+1
2025-12-16Remove company from the roles metaAhmed Abdelhalim1-1/+0
2025-12-12Update user role to allow configure a password instead of defaultAhmed Abdelhalim4-6/+33
If no user_password is provided, the behavior remains the same, it uses the default changeme password and requires to be changed for using sudo If a user_password is provided, this hashed password will be used instead of the default and doesn't require changing on first usage of sudo
2025-12-11Add no_logs to semi-sensitive tasks to follow best practicesAhmed Abdelhalim1-0/+1
2025-11-10Enable lingering for userAhmed Abdelhalim1-0/+7
This allows the creation and persisting of the /run/user/UID/ directories required for gpg smart-card forwarding agent.
2025-09-20Migrate to the new loop syntaxAhmed Abdelhalim1-1/+1
2025-09-10Add recommended argument_specsAhmed Abdelhalim2-1/+3
2025-09-10Refactor role dependencies to be more module modularAhmed Abdelhalim2-24/+3
This modularity means that each role can be installed in a playbook by itself as long as the other roles exist around it. This also straps the ensure dependency packages exist in any of the roles tasks, they should be moved to their own roles and configured properly if needed.
2025-09-03Fix the user groups to be appendedAhmed Abdelhalim1-1/+1
It's more modular and each role can manage its own group memberships
2025-09-02Add bash as a role and use it in role dependencies when bash is neededAhmed Abdelhalim2-3/+3
2025-08-19Fix meta strings quotingAhmed Abdelhalim1-9/+8
2025-08-11Fix the debian default login shell for userAhmed Abdelhalim2-1/+5
This is slightly opinionated on the configurations, but it should be easily changed by the user later on during setup or via some other ansible role.
2025-08-11Refactor playbook to simplify package installs for different OSsAhmed Abdelhalim3-15/+6
2025-08-11Ensure package cache is updated in playbook pre-taskAhmed Abdelhalim2-2/+0
2025-08-11Simplify playbook by requiring the required_for_boot tag on rolesAhmed Abdelhalim3-10/+0
Instead of optimizing for task execution for boot, it's simpler and almost as equally safe (if not even more) to require the role for boot instead of requiring each of it's needed tasks. This will also prevent having internal bugs because a set fact wasn't required for boot and didn't add the info (similar to the fix in commit: 9f72c58)
2025-08-11Fix setting the sudo group for the created userAhmed Abdelhalim1-0/+1
2025-08-11Fix README and linting issuesAhmed Abdelhalim1-0/+2
2025-08-11Fix when running from distro-install playbook and fix testingAhmed Abdelhalim2-0/+2
2025-08-11Add user roleAhmed Abdelhalim8-0/+156