Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Wireguard-gui is a user friendly WireGuard VPN configuration tool. The user can create WireGuard VPN interfaces and turn them up/down. The business-vm and the chrome-vm are used as an example usecase environments.
Normally setting WireGuard requires sudo rights from user. In this case we add polkit rule to allow wireguard-gui execution without sudo and user authentication.
WireGuard VPN configurations are stored to /etc/wireguard/ directory and the storage-vm is utilized to make that directory persistent.
Usage of listOf instead of attrsOf doesn't allows us to modify application virtual machines configuration externally, which may be crucial for certain use cases like wireguard-gui nixos module where we want to be able to inject wireguard-gui application to a certain list of appvms. Transformation from list to attrs and back to list doesn't preserve order. So we add list element index in the attribute value to preserve it. It is a dirty hack that could remain until better implementation of virtual machines module as well as hosts module is introduced.
List of wireguard-gui enabled VMs is written to a text file.
Description of changes
Checklist for things done
x86_64
aarch64
riscv64
make-checks
and it passesnixos-rebuild ... switch
Instructions for Testing