<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ansible-distro-configure.git/host_vars/macbook.local.yml, branch mac-nvidia-drivers</title>
<subtitle>Ansible Roles to configure different (linux) distros
</subtitle>
<link rel='alternate' type='text/html' href='http://git.a14m.dev/ansible-distro-configure.git/'/>
<entry>
<title>Remove the gt750m role after multiple attempts of fixing it</title>
<updated>2026-07-14T15:20:21+00:00</updated>
<author>
<name>Ahmed AbdelHalim</name>
<email>pm@a14m.me</email>
</author>
<published>2026-07-14T15:20:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.a14m.dev/ansible-distro-configure.git/commit/?id=b36558482996e4331bca573b1a928247d23727b9'/>
<id>b36558482996e4331bca573b1a928247d23727b9</id>
<content type='text'>
Since this role has never worked properly, this state with updating the
resolution and keeping the nouveau driver working with acceptable
performance on external monitors
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since this role has never worked properly, this state with updating the
resolution and keeping the nouveau driver working with acceptable
performance on external monitors
</pre>
</div>
</content>
</entry>
<entry>
<title>Configure preference of ip family (ipv4 &gt; ipv6)</title>
<updated>2026-07-12T20:05:17+00:00</updated>
<author>
<name>Ahmed AbdelHalim</name>
<email>pm@a14m.me</email>
</author>
<published>2026-07-10T17:58:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.a14m.dev/ansible-distro-configure.git/commit/?id=50553bff1455c5f0cf3106cbed31bf9ac56fa55e'/>
<id>50553bff1455c5f0cf3106cbed31bf9ac56fa55e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Replace hyprland monitors with kanshi profiles</title>
<updated>2026-07-10T16:49:44+00:00</updated>
<author>
<name>Ahmed AbdelHalim</name>
<email>pm@a14m.me</email>
</author>
<published>2026-07-10T16:49:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.a14m.dev/ansible-distro-configure.git/commit/?id=052e57627dd8f7260428e448cac8aa2009de879a'/>
<id>052e57627dd8f7260428e448cac8aa2009de879a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Extract logind lid configuration into it's own role</title>
<updated>2026-07-09T22:38:48+00:00</updated>
<author>
<name>Ahmed AbdelHalim</name>
<email>pm@a14m.me</email>
</author>
<published>2026-07-09T21:20:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.a14m.dev/ansible-distro-configure.git/commit/?id=e28eda14b15bb439479906d70e33145001a827cf'/>
<id>e28eda14b15bb439479906d70e33145001a827cf</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix IPv6 direct mode routing for LAN clients</title>
<updated>2026-07-09T13:38:15+00:00</updated>
<author>
<name>Ahmed AbdelHalim</name>
<email>pm@a14m.me</email>
</author>
<published>2026-07-09T13:38:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.a14m.dev/ansible-distro-configure.git/commit/?id=b6aeee483f45f5e69f050b2d287d06c8eaf0ca40'/>
<id>b6aeee483f45f5e69f050b2d287d06c8eaf0ca40</id>
<content type='text'>
- Remove static network_ipv6_gateway from LAN hosts so they pick up
  Pi's radvd RA (pref high) instead of FritzBox (pref low)
- Add missing ip6tables FORWARD ACCEPT rule for new connections in
  direct mode (only ESTABLISHED was present, blocking new flows)
- Flush ip6tables nat POSTROUTING table on clear instead of fragile
  per-rule -D deletion to prevent stale rule accumulation
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Remove static network_ipv6_gateway from LAN hosts so they pick up
  Pi's radvd RA (pref high) instead of FritzBox (pref low)
- Add missing ip6tables FORWARD ACCEPT rule for new connections in
  direct mode (only ESTABLISHED was present, blocking new flows)
- Flush ip6tables nat POSTROUTING table on clear instead of fragile
  per-rule -D deletion to prevent stale rule accumulation
</pre>
</div>
</content>
</entry>
<entry>
<title>Route IPv6 through WireGuard VPN via radvd and static gateway</title>
<updated>2026-07-08T14:55:30+00:00</updated>
<author>
<name>Ahmed AbdelHalim</name>
<email>pm@a14m.me</email>
</author>
<published>2026-07-08T12:28:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.a14m.dev/ansible-distro-configure.git/commit/?id=f31b1bc18245e1e063c6d32b475c4b59b0a64b7f'/>
<id>f31b1bc18245e1e063c6d32b475c4b59b0a64b7f</id>
<content type='text'>
Add radvd to gateway role to advertise Pi as high-preference IPv6
default router using the stable ULA prefix (fd1e:.../64). With
FritzBox also sending RAs, devices end up with ECMP between Pi and
FritzBox. To solve this, add network_ipv6_gateway (Pi's link-local)
as a static route with metric 100 to all managed hosts — beats RA
metric 425, ensuring all IPv6 default traffic goes through Pi.

Fix IPv6 MASQUERADE in gateway-apply-rules:
- Direct mode: add MASQUERADE on end0 (LAN devices use ULA source
  addresses not known to FritzBox, so Pi must NAT them)
- FORWARD rules: restrict to RELATED,ESTABLISHED only — previously
  the broad ACCEPT rule passed un-NAT'd packets alongside masqueraded
  copies, causing duplicate SYNs, conntrack corruption, and RSTs
- MASQUERADE/clear rules: match by interface not by source subnet
  (devices may use any source address, not just the ULA prefix)
- VPN mode return traffic: explicitly restrict to wg+→end0 direction

Add network_ipv6_gateway var (optional) to network role NM templates
(ethernet, wifi, bridge) — injects a static IPv6 default route at
metric 100 when set. Add rpi5 static route to FritzBox link-local so
Pi keeps IPv6 after FritzBox RA is disabled.

Force SSH to IPv4 for *.local hosts (AddressFamily inet) — prevents
Ansible from hanging on mDNS returning multiple IPv6 addresses.

Update gateway and pihole READMEs with two-step IPv6 setup process.

Co-Authored-By: Claude.ai
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add radvd to gateway role to advertise Pi as high-preference IPv6
default router using the stable ULA prefix (fd1e:.../64). With
FritzBox also sending RAs, devices end up with ECMP between Pi and
FritzBox. To solve this, add network_ipv6_gateway (Pi's link-local)
as a static route with metric 100 to all managed hosts — beats RA
metric 425, ensuring all IPv6 default traffic goes through Pi.

Fix IPv6 MASQUERADE in gateway-apply-rules:
- Direct mode: add MASQUERADE on end0 (LAN devices use ULA source
  addresses not known to FritzBox, so Pi must NAT them)
- FORWARD rules: restrict to RELATED,ESTABLISHED only — previously
  the broad ACCEPT rule passed un-NAT'd packets alongside masqueraded
  copies, causing duplicate SYNs, conntrack corruption, and RSTs
- MASQUERADE/clear rules: match by interface not by source subnet
  (devices may use any source address, not just the ULA prefix)
- VPN mode return traffic: explicitly restrict to wg+→end0 direction

Add network_ipv6_gateway var (optional) to network role NM templates
(ethernet, wifi, bridge) — injects a static IPv6 default route at
metric 100 when set. Add rpi5 static route to FritzBox link-local so
Pi keeps IPv6 after FritzBox RA is disabled.

Force SSH to IPv4 for *.local hosts (AddressFamily inet) — prevents
Ansible from hanging on mDNS returning multiple IPv6 addresses.

Update gateway and pihole READMEs with two-step IPv6 setup process.

Co-Authored-By: Claude.ai
</pre>
</div>
</content>
</entry>
<entry>
<title>Disable unstable ipv6 setup for now</title>
<updated>2026-07-03T11:44:42+00:00</updated>
<author>
<name>Ahmed AbdelHalim</name>
<email>pm@a14m.me</email>
</author>
<published>2026-07-03T11:44:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.a14m.dev/ansible-distro-configure.git/commit/?id=0e8eaf33ae78ea5976d8d025588e91a4ab750c45'/>
<id>0e8eaf33ae78ea5976d8d025588e91a4ab750c45</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix ipv6 with examples</title>
<updated>2026-06-30T20:44:24+00:00</updated>
<author>
<name>Ahmed AbdelHalim</name>
<email>pm@a14m.me</email>
</author>
<published>2026-06-30T20:44:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.a14m.dev/ansible-distro-configure.git/commit/?id=9c61f2fd09149c15e166082181ade2e43126c3bd'/>
<id>9c61f2fd09149c15e166082181ade2e43126c3bd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Disable ipv6 by defaults</title>
<updated>2026-06-30T14:37:42+00:00</updated>
<author>
<name>Ahmed AbdelHalim</name>
<email>pm@a14m.me</email>
</author>
<published>2026-06-30T12:05:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.a14m.dev/ansible-distro-configure.git/commit/?id=70d45f299bf3dfc03dafe36701d746c5213f44cd'/>
<id>70d45f299bf3dfc03dafe36701d746c5213f44cd</id>
<content type='text'>
Since ipv6 seems to be causing a lot of issues with the new ISP
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since ipv6 seems to be causing a lot of issues with the new ISP
</pre>
</div>
</content>
</entry>
<entry>
<title>Update ip address for device mappings</title>
<updated>2026-06-12T09:48:04+00:00</updated>
<author>
<name>Ahmed AbdelHalim</name>
<email>pm@a14m.me</email>
</author>
<published>2026-06-12T09:48:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.a14m.dev/ansible-distro-configure.git/commit/?id=95178ccda079af7c47f6ba6c8f7106431a62500f'/>
<id>95178ccda079af7c47f6ba6c8f7106431a62500f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
