| Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
|
|
This follows a more clean setup (inspired by omarchy) with the
difference that the user files are delegated to the user dotfile (and
are calling the system defaults first).
This is to insure clarity and don't depend on hidden behaviour in the
default system configurations
|
|
|
|
|
|
Since the setup is intended to use either gnome or hyprland on archlinux
but not both on the same machine to avoid complicated and unexpected
behavior.
This splits the testing of archlinux into 2 different branches for each
of the desktop environments
|
|
|
|
|
|
The sude was used to link the pinentry-wrapper into the /usr/local/bin
dir
|
|
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
|
|
|
|
|
|
|
|
Theory is that when running a normal user on a docker container that is
running root user, something triggers that gather_facts thinks that
ansible is running in a chroot (while in fact it's just running in a
container mimicking a real system that has multiple users)
This is a side effect of fixing the issue that caused the splitting of
the bootstrap/configure testing.
While some roles can't run root and needs to run some user and not root,
setting that in the test isn't possible (AFAIK) and therefore we just
override the variable
|
|
|
|
|
|
|
|
The passwordless test_group is required to allow switching users without
needing to add the password
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
It was expected to have the package_cache role reused or added as
dependency for other roles, but it turned out it's not used that way,
therefore removing it to a more simpler approach
|
|
Since the configs were mainly to control UI pref (which is not usable
with user.js, as it will always override manual customization)
The rest of the features provided by user.js isn't necessary and are
already covered by policies.
So for now, I'm removing this user.js integration, maybe revisit it
later if it's proven to be useful, ATM, it complicates and brittles the
setup without providing any additional value.
|
|
|
|
And fix the role ideompotent testing
|
|
Update the firefox role dependencies and added notes about using passff
and it's required dependencies
|
|
To avoid potential conflict when a user already have a profile named and
configured for them, it's simpler to use a defined ansible profile that
also indicates that the profile is automated
|
|
The USER env is failing on CI, so reverting back to using ansible_user_id
special variable, the ansible_user also failed as the CI doesn't have
ssh connection (at least not during the tests, and therefore the
ansible_user is undefined)
|
|
|
|
|
|
|
|
The gateway-direct-mode.service was never triggering when WireGuard
interfaces were removed, leaving VPN iptables rules active even when
VPN was disconnected. This caused internet connectivity to fail in
direct mode.
Root cause: SYSTEMD_WANTS in udev rules only works for ACTION=="add"
events. When a device is removed, the device unit is already gone
before systemd can process the SYSTEMD_WANTS dependency, so the
service never starts. This is a documented systemd limitation.
Fix: Replace SYSTEMD_WANTS with RUN+ for the remove action, which
executes systemctl directly during udev event processing without
requiring a device unit to exist.
References:
- https://stackoverflow.com/questions/72208534/why-does-systemd-wants-not-pass-a-parameter-to-a-service-file-from-a-udev-remov
- https://stackoverflow.com/questions/73148448/how-to-start-systemd-user-service-when-device-is-removed-and-stop-it-when-devic
- https://bugzilla.redhat.com/show_bug.cgi?id=871074https://bugzilla.redhat.com/show_bug.cgi?id=871074
- https://unix.stackexchange.com/questions/528803/systemd-doesnt-stop-the-service-when-the-device-is-removed
The VPN mode (ACTION=="add") continues to use SYSTEMD_WANTS as it
works correctly for device addition events.
|
|
The reason the idempotent test fails is the following:
- 1st run: wireguard role deploys all the configured VPN connections
- 1st run: wg_portal updates the file permissions /etc/wireguard (ACLs)
- 2nd run: wireguard sees the file changed, deploys again (idempotent failure)
|
|
|
|
When a wireguard configuration gets removed from the group/host
variables, the role now removes them and make sure only the files found
in the vars are the ones to be configured on the hosts
|
|
|
|
|
|
|