diff --git a/modules/darwin/community-builder/default.nix b/modules/darwin/community-builder/default.nix
index 9627880..9e8d0df 100644
--- a/modules/darwin/community-builder/default.nix
+++ b/modules/darwin/community-builder/default.nix
@@ -1,16 +1,11 @@
-{ pkgs, ... }:
+{ inputs, pkgs, ... }:
 {
   imports = [
-    ./packages.nix
+    "${inputs.self}/modules/shared/community-builder.nix"
     ./users.nix
   ];
 
-  programs.zsh = {
-    # https://grml.org/zsh/grmlzshrc.html
-    # https://grml.org/zsh/grml-zsh-refcard.pdf
-    interactiveShellInit = ''
-      source ${pkgs.grml-zsh-config}/etc/zsh/zshrc
-    '';
-    promptInit = ""; # otherwise it'll override the grml prompt
-  };
+  environment.systemPackages = [
+    pkgs.vim
+  ];
 }
diff --git a/modules/darwin/community-builder/packages.nix b/modules/darwin/community-builder/packages.nix
deleted file mode 100644
index d8ee9ee..0000000
--- a/modules/darwin/community-builder/packages.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ pkgs, ... }:
-{
-  environment.systemPackages = with pkgs; [
-    git
-    vim
-  ];
-}
diff --git a/modules/nixos/community-builder/default.nix b/modules/nixos/community-builder/default.nix
index 544fd89..f78ff8c 100644
--- a/modules/nixos/community-builder/default.nix
+++ b/modules/nixos/community-builder/default.nix
@@ -1,21 +1,24 @@
-{ pkgs, ... }:
+{ inputs, pkgs, ... }:
 {
   imports = [
-    ./packages.nix
+    "${inputs.self}/modules/shared/community-builder.nix"
     ./users.nix
   ];
 
+  environment.systemPackages = [
+    # terminfo packages
+    pkgs.foot.terminfo
+    pkgs.kitty.terminfo
+    pkgs.termite.terminfo
+    pkgs.wezterm.terminfo
+  ];
+
+  programs.mosh = {
+    enable = true;
+    withUtempter = false;
+  };
+
   programs.fish.enable = true;
   # disable generated completion
   environment.etc."fish/generated_completions".text = pkgs.lib.mkForce "";
-
-  programs.zsh = {
-    enable = true;
-    # https://grml.org/zsh/grmlzshrc.html
-    # https://grml.org/zsh/grml-zsh-refcard.pdf
-    interactiveShellInit = ''
-      source ${pkgs.grml-zsh-config}/etc/zsh/zshrc
-    '';
-    promptInit = ""; # otherwise it'll override the grml prompt
-  };
 }
diff --git a/modules/nixos/community-builder/packages.nix b/modules/nixos/community-builder/packages.nix
deleted file mode 100644
index 766eab4..0000000
--- a/modules/nixos/community-builder/packages.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ pkgs, ... }:
-{
-  # useful for people that want to test stuff
-  environment.systemPackages = [
-    pkgs.fd
-    pkgs.git
-    pkgs.mosh
-    pkgs.nano
-    pkgs.nix-output-monitor
-    pkgs.nix-tree
-    pkgs.nixpkgs-review
-    pkgs.ripgrep
-    pkgs.tig
-
-    # terminfo packages
-    pkgs.foot.terminfo
-    pkgs.kitty.terminfo
-    pkgs.termite.terminfo
-    pkgs.wezterm.terminfo
-  ];
-
-  networking.firewall.allowedUDPPortRanges = [
-    # Reserved for mosh
-    {
-      from = 60000;
-      to = 61000;
-    }
-  ];
-}
diff --git a/modules/shared/community-builder.nix b/modules/shared/community-builder.nix
new file mode 100644
index 0000000..f40c756
--- /dev/null
+++ b/modules/shared/community-builder.nix
@@ -0,0 +1,24 @@
+{ pkgs, ... }:
+{
+  # useful for people that want to test stuff
+  environment.systemPackages = [
+    pkgs.fd
+    pkgs.git
+    pkgs.nano
+    pkgs.nix-output-monitor
+    pkgs.nix-tree
+    pkgs.nixpkgs-review
+    pkgs.ripgrep
+    pkgs.tig
+  ];
+
+  programs.zsh = {
+    enable = true;
+    # https://grml.org/zsh/grmlzshrc.html
+    # https://grml.org/zsh/grml-zsh-refcard.pdf
+    interactiveShellInit = ''
+      source ${pkgs.grml-zsh-config}/etc/zsh/zshrc
+    '';
+    promptInit = ""; # otherwise it'll override the grml prompt
+  };
+}