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; + }; + }; +}