summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2025-11-26Add firefox user.js preference as a codeAhmed AbdelHalim5-8/+106
And fix the role ideompotent testing
2025-11-25Fix the testing of passff (requires pass to be installed)Ahmed AbdelHalim7-5/+22
Update the firefox role dependencies and added notes about using passff and it's required dependencies
2025-11-25Rename the firefox created profile to ansible-profile to avoid conflictAhmed AbdelHalim1-2/+2
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
2025-11-25Fix role to use ansible_user_id special variable instead of USER envAhmed AbdelHalim1-2/+2
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)
2025-11-24Add initial firefox role implementation with only GNOME support for passAhmed AbdelHalim15-0/+456
2025-11-24Add the sed role dependency for completenessAhmed AbdelHalim4-0/+31
2025-11-19Update docs about the usage of gateway-init serviceAhmed AbdelHalim1-0/+4
2025-11-19Fix gateway direct-mode not triggering on VPN disconnectAhmed AbdelHalim1-1/+1
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.
2025-11-14Fix example config, and ignore rpi idempotent test failureAhmed AbdelHalim2-1/+7
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)
2025-11-13Minor fixes to autostart connection validation/service logicAhmed AbdelHalim1-6/+15
2025-11-13Add mechanism to clean up wireguard configurationsAhmed AbdelHalim4-10/+34
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
2025-11-11Add neomutt email client role w/testingAhmed AbdelHalim8-0/+37
2025-11-11Fix dotfile setup of gpgAhmed AbdelHalim2-0/+2
2025-11-10Add vim role python dependency (as some plugins need python support)Ahmed 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-11-10Fix running rpi configuration as root alwaysAhmed AbdelHalim3-1/+10
The dotfile/vim/password_store required to run as user with root permissions, that's why reverting these changes on rpi and resolving to using a more normal role (in pihole where it was broken)
2025-11-10Refactor vimrc to accept custom setup scriptAhmed AbdelHalim5-10/+15
2025-11-09Re-enable ipv6 back againAhmed AbdelHalim3-0/+0
2025-11-09Fix testing by adding a small testing gpg keyAhmed AbdelHalim1-5/+7
2025-11-09Add vim role w/testingAhmed AbdelHalim10-0/+73
2025-11-09Refactor scattered known_hosts to be part of the ssh roleAhmed AbdelHalim5-14/+17
2025-11-09Add password_store roleAhmed AbdelHalim8-0/+67
2025-11-09Fix install dotfiles script to correct gpg folder permissionsAhmed AbdelHalim2-1/+6
2025-11-09Add gpg public key import to gpg roleAhmed AbdelHalim3-1/+24
2025-11-09Fix git clone by adding ssh keys to known_hostsAhmed AbdelHalim1-0/+7
2025-11-09Fix clean up forwarded socketsAhmed AbdelHalim2-16/+1
2025-11-09Disable ipv6 on machines as not all vpns are ipv6 compatibleAhmed AbdelHalim3-0/+0
2025-11-09Update ansible/molecule versionsAhmed AbdelHalim3-2/+2
2025-11-08Fix python role meta dataAhmed AbdelHalim1-2/+2
2025-11-08Update gpg role to include smart gpg keys dependenciesAhmed AbdelHalim2-0/+19
2025-11-03Add dotfiles setup role w/testingAhmed AbdelHalim13-0/+92
2025-11-03Fix python install not to always report changedAhmed AbdelHalim1-2/+2
2025-11-03Remove unneeded backup of files in wireguardAhmed AbdelHalim1-1/+0
2025-10-24Fix removing the packages the breaks ubuntu DNSAhmed AbdelHalim3-13/+35
This disables install_recommends and revert to using specific gnome packages that are needed/necessary for functioning
2025-10-22Refactor naming of packages and services to follow same conventionsAhmed AbdelHalim17-24/+24
2025-10-22Add gpg role w/testingAhmed AbdelHalim10-0/+48
2025-10-20Ignore failing idempotence test for get_url with note in codeAhmed AbdelHalim1-0/+10
2025-10-20Implement a better download/install for python, pihole and go roleAhmed AbdelHalim3-1/+15
2025-10-20Fix archlinux setupAhmed AbdelHalim1-0/+11
2025-10-20Fix testing to install galaxy collectionsAhmed AbdelHalim5-2/+6
2025-10-20Pin the python and packages versionsAhmed AbdelHalim1-4/+4
2025-10-20Fix molecule testing after refactoring python/goAhmed AbdelHalim3-0/+6
2025-10-20Add weekly scheduled test runAhmed AbdelHalim1-1/+5
2025-10-20Add more vpn configurationAhmed AbdelHalim1-0/+0
2025-10-20Reorder role executionAhmed AbdelHalim1-2/+2
2025-10-20Refactor python role to remove homebrew dependencyAhmed AbdelHalim5-38/+20
2025-10-20Refactor go role to install 1 version and remove homebrew dependencyAhmed AbdelHalim4-35/+36
2025-10-20Remove homebrew for linux as it's not that usefulAhmed AbdelHalim8-82/+0
The roles sometimes fail to install, and on linux it cannot be used with casks which is defeating the purpose of having it to manage apps and packages
2025-09-23Remove SSL directory management from nginxAhmed AbdelHalim1-10/+0
Let the linux distros manage the ssl directories and it's permissions instead of introducing complex logic to match the original created permissions by the distro install
2025-09-23Update the test scenario removing the unused stpsAhmed AbdelHalim4-0/+36