summaryrefslogtreecommitdiff
path: root/modules/nixos
diff options
context:
space:
mode:
authorseth <[email protected]>2023-11-02 08:15:15 -0400
committerseth <[email protected]>2023-11-02 08:19:27 -0400
commit7ded7c99e0e77e1aaf46802c42625b267ddc8a69 (patch)
tree8b827fc22cad1e2fe40a23b97fd7728fa1d29c84 /modules/nixos
parent4fffa9ece74302f5cc34ab5bf7548d378ba4d277 (diff)
modules+systems+seth: use homebrew over nix on darwin & make features module
Diffstat (limited to 'modules/nixos')
-rw-r--r--modules/nixos/default.nix1
-rw-r--r--modules/nixos/features/default.nix6
-rw-r--r--modules/nixos/features/tailscale.nix22
-rw-r--r--modules/nixos/features/virtualisation.nix10
4 files changed, 22 insertions, 17 deletions
diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix
index f43e8ae..aadc5bd 100644
--- a/modules/nixos/default.nix
+++ b/modules/nixos/default.nix
@@ -2,6 +2,7 @@
flake.nixosModules = {
default = ./base.nix;
desktop = ./desktop;
+ features = ./features;
gnome = ./desktop/gnome;
plasma = ./desktop/plasma;
budgie = ./desktop/budgie;
diff --git a/modules/nixos/features/default.nix b/modules/nixos/features/default.nix
new file mode 100644
index 0000000..ade778e
--- /dev/null
+++ b/modules/nixos/features/default.nix
@@ -0,0 +1,6 @@
+{
+ imports = [
+ ./tailscale.nix
+ ./virtualisation.nix
+ ];
+}
diff --git a/modules/nixos/features/tailscale.nix b/modules/nixos/features/tailscale.nix
index d015437..ecb793a 100644
--- a/modules/nixos/features/tailscale.nix
+++ b/modules/nixos/features/tailscale.nix
@@ -5,18 +5,16 @@
...
}: let
cfg = config.features.tailscale;
- inherit (lib) mkDefault mkEnableOption mkIf optionalAttrs;
-
- baseDir = ../../../secrets/systems/${config.networking.hostName};
+ secretsDir = ../../../secrets/systems/${config.networking.hostName};
in {
options.features.tailscale = {
- enable = mkEnableOption "enable support for tailscale";
- ssh.enable = mkEnableOption "enable support for tailscale ssh";
+ enable = lib.mkEnableOption "enable support for tailscale";
+ ssh.enable = lib.mkEnableOption "enable support for tailscale ssh";
};
- config = mkIf cfg.enable {
- age.secrets = mkIf cfg.ssh.enable {
- tailscaleAuthKey.file = "${baseDir}/tailscaleAuthKey.age";
+ config = lib.mkIf cfg.enable {
+ age.secrets = lib.mkIf cfg.ssh.enable {
+ tailscaleAuthKey.file = "${secretsDir}/tailscaleAuthKey.age";
};
networking.firewall =
@@ -24,16 +22,14 @@ in {
allowedUDPPorts = [config.services.tailscale.port];
trustedInterfaces = ["tailscale0"];
}
- // optionalAttrs cfg.ssh.enable {
+ // lib.optionalAttrs cfg.ssh.enable {
allowedTCPPorts = [22];
};
- services = {
- tailscale.enable = mkDefault true;
- };
+ services.tailscale.enable = true;
# https://tailscale.com/kb/1096/nixos-minecraft/
- systemd.services = mkIf cfg.ssh.enable {
+ systemd.services = lib.mkIf cfg.ssh.enable {
tailscale-autoconnect = {
description = "Automatic connection to Tailscale";
diff --git a/modules/nixos/features/virtualisation.nix b/modules/nixos/features/virtualisation.nix
index 206a98e..2c9c527 100644
--- a/modules/nixos/features/virtualisation.nix
+++ b/modules/nixos/features/virtualisation.nix
@@ -5,17 +5,19 @@
...
}: let
cfg = config.features.virtualisation;
- inherit (lib) mkEnableOption mkIf;
in {
- options.features.virtualisation.enable = mkEnableOption "enable podman";
+ options.features.virtualisation = {
+ enable = lib.mkEnableOption "enable podman";
+ };
- config.virtualisation = mkIf cfg.enable {
+ config.virtualisation = lib.mkIf cfg.enable {
podman = {
enable = true;
- enableNvidia = true;
+ enableNvidia = lib.mkDefault (config.hardware.nvidia.enable or false);
extraPackages = with pkgs; [podman-compose];
autoPrune.enable = true;
};
+
oci-containers.backend = "podman";
};
}