From 607b1b7a07e8e26ccccbd5c47b9af7c596824ec1 Mon Sep 17 00:00:00 2001 From: Tyler Starr Date: Sun, 15 Jun 2025 17:34:32 -0700 Subject: [PATCH] update docker to program besides torus --- provision/hosts/kestrel/configuration.nix | 8 ++++---- provision/hosts/shivan/configuration.nix | 8 ++++---- provision/hosts/wsl/configuration.nix | 4 +--- provision/modules/programs/default.nix | 1 + provision/modules/programs/docker.nix | 24 +++++++++++++++++++++++ 5 files changed, 34 insertions(+), 11 deletions(-) create mode 100644 provision/modules/programs/docker.nix diff --git a/provision/hosts/kestrel/configuration.nix b/provision/hosts/kestrel/configuration.nix index 6fdc4e68..73336522 100644 --- a/provision/hosts/kestrel/configuration.nix +++ b/provision/hosts/kestrel/configuration.nix @@ -21,10 +21,6 @@ powerManagement.enable = true; nvidiaSettings = true; }; - - # Enable docker - virtualisation.docker.enable = true; - virtualisation.docker.storageDriver = "btrfs"; # Secrets age.secrets."wireguard/kestrel".file = ../../secrets/wireguard/kestrel.age; @@ -48,6 +44,10 @@ pc.enable = true; }; programs = { + docker = { + enable = true; + storageDriver = "btrfs"; + }; virt-manager.enable = true; }; services = { diff --git a/provision/hosts/shivan/configuration.nix b/provision/hosts/shivan/configuration.nix index db87de6c..91cd0886 100644 --- a/provision/hosts/shivan/configuration.nix +++ b/provision/hosts/shivan/configuration.nix @@ -6,10 +6,6 @@ # Set networking options networking.firewall.checkReversePath = "loose"; networking.firewall.enable = false; - - # Enable docker - virtualisation.docker.enable = true; - virtualisation.docker.storageDriver = "btrfs"; # Modules modules = { @@ -26,6 +22,10 @@ programming.enable = true; }; programs = { + docker = { + enable = true; + storageDriver = "btrfs"; + }; virt-manager.enable = false; }; services = { diff --git a/provision/hosts/wsl/configuration.nix b/provision/hosts/wsl/configuration.nix index 2e5f4377..02018505 100644 --- a/provision/hosts/wsl/configuration.nix +++ b/provision/hosts/wsl/configuration.nix @@ -39,9 +39,6 @@ in # Don't allow emergency mode, because we don't have a console. systemd.enableEmergencyMode = false; - # Enable docker - virtualisation.docker.enable = true; - environment.systemPackages = with pkgs; [ firefox wget @@ -63,6 +60,7 @@ in modules = { devel.programming.enable = true; programs = { + docker.enable = true; git.keys = false; }; services.ssh.enable = true; diff --git a/provision/modules/programs/default.nix b/provision/modules/programs/default.nix index 8fb1dfd3..21882640 100644 --- a/provision/modules/programs/default.nix +++ b/provision/modules/programs/default.nix @@ -6,6 +6,7 @@ ./borg.nix ./chezmoi.nix ./chrome.nix + ./docker.nix ./firefox.nix ./git.nix ./kitty.nix diff --git a/provision/modules/programs/docker.nix b/provision/modules/programs/docker.nix new file mode 100644 index 00000000..f52f9efd --- /dev/null +++ b/provision/modules/programs/docker.nix @@ -0,0 +1,24 @@ +{ config, lib, pkgs, user, ... }: + +let cfg = config.modules.programs.docker; +in { + options.modules.programs.docker = with lib; { + enable = lib.mkOption { + type = types.bool; + default = false; + }; + keyPath = mkOption { + type = types.path; + default = ./key.pem; + }; + storageDriver = mkOption { + type = types.nullOr types.str; + default = null; + }; + }; + + config = lib.mkIf cfg.enable { + virtualisation.docker.enable = true; + virtualisation.docker.storageDriver = lib.mkIf (cfg.storageDriver != null) "${cfg.storageDriver}"; + }; +}