{ config, lib, pkgs, ... }: let inherit (lib) mkEnableOption mkIf; cfg = config.dgn-console; in { options.dgn-console = { enable = mkEnableOption "DGNum console setup." // { default = true; }; }; config = mkIf cfg.enable { time.timeZone = "Europe/Paris"; console = { keyMap = "fr"; }; environment.systemPackages = with pkgs; [ neovim wget kitty.terminfo ]; environment.variables.EDITOR = "nvim"; programs.neovim.vimAlias = true; services.nscd.enableNsncd = false; programs.bash.promptInit = '' FQDN="$(hostname).$(domainname)" # Provide a nice prompt if the terminal supports it. if [ "$TERM" != "dumb" ] || [ -n "$INSIDE_EMACS" ]; then PROMPT_COLOR="1;31m" ((UID)) && PROMPT_COLOR="1;32m" if [ -n "$INSIDE_EMACS" ] || [ "$TERM" = "eterm" ] || [ "$TERM" = "eterm-color" ]; then # Emacs term mode doesn't support xterm title escape sequence (\e]0;) PS1="\n\[\033[$PROMPT_COLOR\][\u@$FQDN:\w]\\$\[\033[0m\] " else PS1="\n\[\033[$PROMPT_COLOR\][\[\e]0;\u@\H: \w\a\]\u@$FQDN:\w]\\$\[\033[0m\] " fi if test "$TERM" = "xterm"; then PS1="\[\033]2;$FQDN:\u:\w\007\]$PS1" fi fi ''; hardware.enableRedistributableFirmware = true; }; }