From 93edbaf48def323bbe8f46ba87597a0746a725e2 Mon Sep 17 00:00:00 2001 From: Annika Merris Date: Tue, 27 Aug 2024 14:37:35 -0400 Subject: [PATCH] Netbird Changes + virt-manager --- hosts/kim/default.nix | 1 + modules/common/applications/netbird.nix | 10 ++++++++++ modules/nixos/software/default.nix | 1 + modules/nixos/software/virt-manager.nix | 15 +++++++++++++++ modules/nixos/users/annika.nix | 2 +- 5 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 modules/nixos/software/virt-manager.nix diff --git a/hosts/kim/default.nix b/hosts/kim/default.nix index 96ba064..c1c7bf7 100644 --- a/hosts/kim/default.nix +++ b/hosts/kim/default.nix @@ -81,6 +81,7 @@ inputs.nixpkgs.lib.nixosSystem { platformio.enable = true; python3.enable = true; vscode.enable = true; + virt-manager.enable = true; # Utilities # git is not optional docker.enable = true; diff --git a/modules/common/applications/netbird.nix b/modules/common/applications/netbird.nix index a3cd72d..b1ae57f 100644 --- a/modules/common/applications/netbird.nix +++ b/modules/common/applications/netbird.nix @@ -14,6 +14,13 @@ ''; default = ""; }; + setup_key_file = lib.mkOption { + type = lib.types.str; + description = '' + Path to a file containing a setup key obtained from the Management Service Dashboard (used to register peer) + ''; + default = ""; + }; management_url = lib.mkOption { type = lib.types.str; description = '' @@ -48,6 +55,9 @@ (lib.mkIf (config.netbird.opts.setup_key != "") { NB_SETUP_KEY = config.netbird.opts.setup_key; }) + (lib.mkIf(config.netbird.opts.setup_key_file != "") { + NB_SETUP_KEY_FILE = config.netbird.opts.setup_key_file; + }) ]); }; } diff --git a/modules/nixos/software/default.nix b/modules/nixos/software/default.nix index dd960b3..9a384b0 100644 --- a/modules/nixos/software/default.nix +++ b/modules/nixos/software/default.nix @@ -2,5 +2,6 @@ { imports = [ ./gui.nix + ./virt-manager.nix ]; } \ No newline at end of file diff --git a/modules/nixos/software/virt-manager.nix b/modules/nixos/software/virt-manager.nix new file mode 100644 index 0000000..a6a8305 --- /dev/null +++ b/modules/nixos/software/virt-manager.nix @@ -0,0 +1,15 @@ +{ config, lib, pkgs, ... }: +{ + options = { + virt-manager = { + enable = lib.mkEnableOption { + description = "Enable virtualization and virt-manager"; + default = false; + }; + }; + }; + config = lib.mkIf (config.virt-manager.enable) { + virtualization.libvirtd.enable = true; + programs.virt-manager.enable = true; + }; +} diff --git a/modules/nixos/users/annika.nix b/modules/nixos/users/annika.nix index 43dc566..c840255 100644 --- a/modules/nixos/users/annika.nix +++ b/modules/nixos/users/annika.nix @@ -6,7 +6,7 @@ isNormalUser = true; home = "/home/annika"; description = "Annika Merris"; - extraGroups = [ "networkmanager" "wheel" ]; + extraGroups = [ "networkmanager" "wheel", "libvirtd" ]; openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIG9NhsAOBwWBdBeenfaPoRtqQrAIgg7E5m4sKYQU9cFx annika@kim" ]; hashedPasswordFile = config.sops.secrets.annika_password.path; };