diff --git a/modules/darwin/common/default.nix b/modules/darwin/common/default.nix
index 33a269c..d49ac7a 100644
--- a/modules/darwin/common/default.nix
+++ b/modules/darwin/common/default.nix
@@ -1,9 +1,10 @@
-{ inputs, pkgs, ... }:
+{ inputs, ... }:
 {
   imports = [
     ./apfs-cleanup.nix
     ./network.nix
     ./optimise.nix
+    ./packages.nix
     ./reboot.nix
     ./software-update.nix
     ./telegraf.nix
@@ -31,8 +32,6 @@
     "flakes"
   ];
 
-  environment.systemPackages = with pkgs; [ htop ];
-
   system.includeUninstaller = false;
 
   # srvos
diff --git a/modules/darwin/common/packages.nix b/modules/darwin/common/packages.nix
new file mode 100644
index 0000000..c016a69
--- /dev/null
+++ b/modules/darwin/common/packages.nix
@@ -0,0 +1,19 @@
+{ lib, pkgs, ... }:
+{
+  # srvos
+
+  environment.systemPackages = map lib.lowPrio [
+    pkgs.curl
+    pkgs.dnsutils
+    pkgs.gitMinimal
+    pkgs.htop
+    pkgs.jq
+    pkgs.tmux
+  ];
+
+  programs.vim = {
+    enable = true;
+    # evaluation warning: 'vam' attribute is deprecated
+    package = lib.mkForce pkgs.vim;
+  };
+}
diff --git a/modules/darwin/community-builder/default.nix b/modules/darwin/community-builder/default.nix
index e0d3067..d459344 100644
--- a/modules/darwin/community-builder/default.nix
+++ b/modules/darwin/community-builder/default.nix
@@ -21,10 +21,6 @@
     pkgs.zsh
   ];
 
-  environment.systemPackages = [
-    pkgs.vim
-  ];
-
   launchd.daemons.nixpkgs-clone = {
     environment = {
       inherit (config.environment.variables) NIX_SSL_CERT_FILE;