aboutsummaryrefslogblamecommitdiff
path: root/modules/nixos/base.nix
blob: f3dece17dafbba395f841d0a9db220f3853472dd (plain) (tree)
































































                                                                                        
{
  self,
  config,
  pkgs,
  lib,
  ...
}:
{
  boot = {
    kernelPackages = pkgs.linuxPackages_latest;
    kernel.sysctl = {
      "net.ipv4.tcp_congestion_control" = "bbr";
      "net.ipv4.tcp_ecn" = 1;
      "net.ipv4.tcp_fastopen" = 3;
      "net.ipv4.tcp_tw_reuse" = 1;
    };
  };

  i18n = {
    defaultLocale = "en_US.UTF-8";
    supportedLocales = [
      "en_US.UTF-8/UTF-8"
    ];
  };

  time.timeZone = "America/Los_Angeles";

  users.motdFile = "/etc/motd";

  environment.etc.motd.text = ''
    Machine  ${config.networking.hostName}
     NixOS   ${config.system.nixos.release}
       @     ${self.shortRev or self.dirtyShortRev}
  '';

  ## disable that slow "building man-cache" step
  documentation.man.generateCaches = lib.mkForce false;

  users = {
    mutableUsers = false;
    users.root.openssh.authorizedKeys.keys = [
      "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINBkozy+X96u5ciX766bJ/AyQ3xm1tXZTIr5+4PVFZFi"
    ];
  };

  security.sudo.wheelNeedsPassword = false;

  environment.systemPackages = with pkgs; [
    curl
    dysk
    fd
    fish
    git
    htop
    jq
    mtr
    pciutils
    powertop
    ripgrep
    tcpdump
    traceroute
    vim
    wireguard-tools
  ];
}