{ inputs, pkgs, ...}: { nixpkgs.config.allowUnfree = true; nixpkgs.flake.setFlakeRegistry = true; nix.settings.trusted-users = [ "root" "@wheel" ]; nix.extraOptions = '' experimental-features = nix-command flakes ''; nix.gc = { automatic = true; options = "--delete-older-than 21d"; }; security.sudo.wheelNeedsPassword = false; services.openssh = { enable = true; settings = { PasswordAuthentication = false; KbdInteractiveAuthentication = false; PermitRootLogin = "prohibit-password"; }; }; environment.shellAliases = { "lah" = "ls --color=auto -lah"; }; environment.variables = { EDITOR = "vim"; VISUAL = "vim"; }; environment.systemPackages = with pkgs; [ python3 vim tmux jq yq tree git bind.dnsutils openssl curl wget htop usbutils pciutils ]; programs.bash.promptInit = '' # Provide a nice prompt if the terminal supports it. if [ "$TERM" != "dumb" ] || [ -n "$INSIDE_EMACS" ]; then PROMPT_COLOR="38;5;253m" PATH_PROMPT_COLOR="38;5;199m" ((UID)) && PROMPT_COLOR="1;32m" if [ -n "$INSIDE_EMACS" ]; then # Emacs term mode doesn't support xterm title escape sequence (\e]0;) PS1="[\[\033[$PROMPT_COLOR\]\u\033[0m@\H:\033[1m\033[$PATH_PROMPT_COLOR\w\a\]\[\033[0m\]]\$ " else PS1="[\[\033[$PROMPT_COLOR\]\u\033[0m@\H:\033[1m\033[$PATH_PROMPT_COLOR\w\a\]\[\033[0m\]]\$ " fi if test "$TERM" = "xterm"; then PS1="\[\033]2;\h:\u:\w\007\]$PS1" fi fi ''; }