aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/services/options.nix8
-rw-r--r--modules/services/system/default.nix1
-rw-r--r--modules/services/system/tailscale.nix15
3 files changed, 23 insertions, 1 deletions
diff --git a/modules/services/options.nix b/modules/services/options.nix
index cda9299..ddf6f58 100644
--- a/modules/services/options.nix
+++ b/modules/services/options.nix
@@ -3,7 +3,7 @@
config,
...
}: let
- inherit (lib) mkEnableOption;
+ inherit (lib) mkOption mkEnableOption;
in {
options = {
collinux.services = {
@@ -11,6 +11,12 @@ in {
enable = mkEnableOption "wifi";
iwd.enable = mkEnableOption "lightweight wifi daemon";
networkmanager.enable = mkEnableOption "heavier wifi daemon";
+ tailscale = {
+ enable = mkEnableOption "tailscale";
+ authKeyFile = mkOption {
+ type = "path";
+ };
+ };
};
audio = {
enable = mkEnableOption "pipewire + wireplumber";
diff --git a/modules/services/system/default.nix b/modules/services/system/default.nix
index 4c03dfd..b9ae4c7 100644
--- a/modules/services/system/default.nix
+++ b/modules/services/system/default.nix
@@ -3,5 +3,6 @@
./networking
./audio.nix
./bluetooth.nix
+ ./tailscale.nix
];
}
diff --git a/modules/services/system/tailscale.nix b/modules/services/system/tailscale.nix
new file mode 100644
index 0000000..3fbd691
--- /dev/null
+++ b/modules/services/system/tailscale.nix
@@ -0,0 +1,15 @@
+{
+ config,
+ pkgs,
+ lib,
+ ...
+}: let
+ cfg = config.collinux.services.networking.tailscale;
+in
+ lib.mkIf cfg.enable {
+ services.tailscale = {
+ enable = true;
+ useRoutingFeatures = "both";
+ };
+ environment.systemPackages = [pkgs.tailscale];
+ }