at 25.11-pre 750 B view raw
1{ 2 config, 3 lib, 4 pkgs, 5 ... 6}: 7 8let 9 cfg = config.programs.screen; 10in 11 12{ 13 options = { 14 programs.screen = { 15 enable = lib.mkEnableOption "screen, a basic terminal multiplexer"; 16 17 package = lib.mkPackageOption pkgs "screen" { }; 18 19 screenrc = lib.mkOption { 20 type = lib.types.lines; 21 default = ""; 22 example = '' 23 defscrollback 10000 24 startup_message off 25 ''; 26 description = "The contents of {file}`/etc/screenrc` file"; 27 }; 28 }; 29 }; 30 31 config = lib.mkMerge [ 32 (lib.mkIf cfg.enable { 33 environment.etc.screenrc = { 34 text = cfg.screenrc; 35 }; 36 environment.systemPackages = [ cfg.package ]; 37 security.pam.services.screen = { }; 38 }) 39 ]; 40}