feat: replace NM by iwd

This commit is contained in:
ange 2024-04-04 17:56:58 +02:00
parent 515d8890a2
commit 16bf8c6693
Signed by: ange
GPG Key ID: 9E0C4157BB7BEB1D
8 changed files with 70 additions and 10 deletions

3
config
View File

@ -24,13 +24,14 @@ pkg=(
fzf fzf
git git
htop htop
iwd iptables-nft wireguard-tools bind gnu-netcat
jq jq
lf lf
linux{,-lts,-firmware} mkinitcpio linux{,-lts,-firmware} mkinitcpio
neofetch neofetch
neovim{,-lspconfig} python-pynvim ripgrep tree-sitter-cli bash-language-server pyright python-black neovim{,-lspconfig} python-pynvim ripgrep tree-sitter-cli bash-language-server pyright python-black
networkmanager iptables-nft wireguard-tools bind gnu-netcat
opendoas opendoas
openssh
p7zip unrar p7zip unrar
podman{,-compose} podman{,-compose}
reflector reflector

View File

@ -4,6 +4,7 @@
pkg=( pkg=(
aerc w3m aerc w3m
alacritty alacritty
bluez{,-utils}
dunst libnotify dunst libnotify
feh feh
gammastep gammastep
@ -11,9 +12,9 @@ pkg=(
materia-gtk-theme papirus-icon-theme materia-gtk-theme papirus-icon-theme
monero monero
mpv mpv
newsraft #newsraft
noto-fonts{,-cjk,-emoji} ttf-{dejavu,liberation} otf-font-awesome noto-fonts{,-cjk,-emoji} ttf-{dejavu,liberation} otf-font-awesome
pass{,-otp} pass{,-otp} gcr
pcmanfm-gtk3 pcmanfm-gtk3
polkit-gnome polkit-gnome
qemu-{base,audio-pipewire,hw-display-virtio-{gpu,vga},ui-gtk} dnsmasq qemu-{base,audio-pipewire,hw-display-virtio-{gpu,vga},ui-gtk} dnsmasq

View File

@ -3,10 +3,6 @@
pac "${pkg[@]}" flatpak xdg-desktop-portal-gtk mesa pac "${pkg[@]}" flatpak xdg-desktop-portal-gtk mesa
flatpak install -y "${flatpakpkg[@]}" flatpak install -y "${flatpakpkg[@]}"
if lsusb | grep -q Bluetooth; then
pac bluez bluez-utils
fi
case "$(lspci | grep 'VGA\|3D')" in case "$(lspci | grep 'VGA\|3D')" in
*AMD*) pac vulkan-radeon ;; *AMD*) pac vulkan-radeon ;;
*Intel*) pac vulkan-intel ;; *Intel*) pac vulkan-intel ;;

View File

@ -1,2 +0,0 @@
[main]
dns=systemd-resolved

View File

@ -0,0 +1,24 @@
[Match]
# Matching with "Type=ether" causes issues with containers because it also matches virtual Ethernet interfaces (veth*).
# See https://bugs.archlinux.org/task/70892
# Instead match by globbing the network interface name.
Name=en*
Name=eth*
[Link]
RequiredForOnline=routable
[Network]
DHCP=yes
MulticastDNS=yes
# systemd-networkd does not set per-interface-type default route metrics
# https://github.com/systemd/systemd/issues/17698
# Explicitly set route metric, so that Ethernet is preferred over Wi-Fi and Wi-Fi is preferred over mobile broadband.
# Use values from NetworkManager. From nm_device_get_route_metric_default in
# https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/main/src/core/devices/nm-device.c
[DHCPv4]
RouteMetric=100
[IPv6AcceptRA]
RouteMetric=100

View File

@ -0,0 +1,20 @@
[Match]
Name=wl*
[Link]
RequiredForOnline=routable
[Network]
DHCP=yes
MulticastDNS=yes
# systemd-networkd does not set per-interface-type default route metrics
# https://github.com/systemd/systemd/issues/17698
# Explicitly set route metric, so that Ethernet is preferred over Wi-Fi and Wi-Fi is preferred over mobile broadband.
# Use values from NetworkManager. From nm_device_get_route_metric_default in
# https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/main/src/core/devices/nm-device.c
[DHCPv4]
RouteMetric=600
[IPv6AcceptRA]
RouteMetric=600

View File

@ -0,0 +1,19 @@
[Match]
Name=ww*
[Link]
RequiredForOnline=routable
[Network]
DHCP=yes
# systemd-networkd does not set per-interface-type default route metrics
# https://github.com/systemd/systemd/issues/17698
# Explicitly set route metric, so that Ethernet is preferred over Wi-Fi and Wi-Fi is preferred over mobile broadband.
# Use values from NetworkManager. From nm_device_get_route_metric_default in
# https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/main/src/core/devices/nm-device.c
[DHCPv4]
RouteMetric=700
[IPv6AcceptRA]
RouteMetric=700

View File

@ -14,9 +14,10 @@ sed -i '/^HOOKS=(/s/filesystems/encrypt filesystems/' /etc/mkinitcpio.conf
# Services # Services
systemctl enable \ systemctl enable \
NetworkManager.service \ iwd.service \
nftables.service \ nftables.service \
reflector.timer \ reflector.timer \
systemd-networkd.service \
systemd-resolved.service \ systemd-resolved.service \
systemd-timesyncd.service \ systemd-timesyncd.service \
tlp.service tlp.service