Hyprland Nix infrastructure
Find a file
2024-09-03 17:33:48 +03:00
hosts treewide: deployment instructions; qemu 2024-09-03 17:33:48 +03:00
modules treewide: deployment instructions; qemu 2024-09-03 17:33:48 +03:00
parts flake: modularize w/ flake-parts 2024-08-18 16:29:30 +03:00
secrets flake: init agenix 2024-02-05 07:53:31 +03:00
users users: quote usernames 2024-04-09 09:54:04 +00:00
.envrc initial commit 2024-02-04 02:10:17 +03:00
.gitignore meta: ignore qcow2 images 2024-08-18 16:25:28 +03:00
flake.lock flake: update inputs 2024-08-18 15:25:14 +03:00
flake.nix flake: modularize w/ flake-parts 2024-08-18 16:29:30 +03:00
README.md treewide: deployment instructions; qemu 2024-09-03 17:33:48 +03:00

hyprland-infra

Hyprland Nix infrastructure. Contains non-critical services, which include but is not limited to:

  • Typhon (Nix build service)

Networking setup

Creating a bridge on the host

A bridge is needed to preserve bidirectional connectivity between the host and the guest.

Get the current connection's link name. We'll use <eth0> throughout this file.

$ nmcli con show
$ nmcli con add ifname br0 type bridge con-name br0
$ nmcli con add type bridge-slave ifname <eth0> master br0

If using DHCP:

$ nmcli con mod br0 ipv4.method auto

If using static IPs:

$ nmcli con mod br0 ipv4.method manual
$ nmcli con mod br0 ipv4.addresses 10.1.1.16/24
$ nmcli con mod br0 ipv4.gateway 10.1.1.1
$ nmcli con mod br0 ipv4.dns '10.1.1.1,1.1.1.1'

We do not need Spanning Tree Protocol, disable it:

$ nmcli con mod br0 bridge.stp no

Turn up the bridge:

$ nmcli con down <eth0>
$ nmcli con up br0

To disable <eth0> autoconnect and let the bridge do the connection instead:

$ nmcli con mod <eth0> connection.autoconnect no

Setting up QEMU to allow bridges

In /etc/qemu/bridge.conf write allow br0.