diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 3dd60ad99dc..934fb56bc10 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -77,6 +77,7 @@
./programs/shell.nix
./programs/ssh.nix
./programs/ssmtp.nix
+ ./programs/tmux.nix
./programs/venus.nix
./programs/wvdial.nix
./programs/xfs_quota.nix
diff --git a/nixos/modules/programs/tmux.nix b/nixos/modules/programs/tmux.nix
new file mode 100644
index 00000000000..4220a2e17b3
--- /dev/null
+++ b/nixos/modules/programs/tmux.nix
@@ -0,0 +1,35 @@
+{ config, pkgs, lib, ... }:
+
+let
+ inherit (lib) mkOption mkEnableOption mkIf mkMerge types;
+
+ cfg = config.programs.tmux;
+
+in
+{
+ ###### interface
+
+ options = {
+ programs.tmux = {
+
+ enable = mkEnableOption "tmux - a screen replacement.";
+
+ tmuxconf = mkOption {
+ default = "";
+ description = ''
+ The contents of /etc/tmux.conf
+ '';
+ type = types.lines;
+ };
+ };
+ };
+
+ ###### implementation
+
+ config = mkIf cfg.enable {
+ environment = {
+ systemPackages = [ pkgs.tmux ];
+ etc."tmux.conf".text = cfg.tmuxconf;
+ };
+ };
+}