infrastructure/config/common/default.nix
2021-02-25 06:53:30 +00:00

80 lines
1.8 KiB
Nix

{ config, lib, pkgs, ... }:
let
sources = import ../../nix/sources.nix;
unstable = import sources.nixpkgs-unstable { };
in {
imports = [ ../../modules ../users (sources.home-manager + "/nixos") ];
#boot.kernelPackages = lib.mkDefault pkgs.linuxPackages_latest;
#boot.kernelParams = [ "quiet" ];
nixpkgs.config = { allowUnfree = true; };
nix = {
nixPath = [
"nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos"
"nixpkgs-unstable=${sources.nixpkgs-unstable}"
"nixpkgs-mozilla=${sources.nixpkgs-mozilla}"
"arc=${sources.arc-nixexprs}"
];
gc.automatic = lib.mkDefault true;
gc.options = lib.mkDefault "--delete-older-than 1w";
trustedUsers = [ "root" "@wheel" ];
};
services.journald.extraConfig = "SystemMaxUse=512M";
environment.variables = {
EDITOR = "emacs";
TERMINFO_DIRS = "${pkgs.kitty.terminfo.outPath}/share/terminfo";
};
services.openssh = {
enable = true;
ports = lib.mkDefault [ 62954 ];
passwordAuthentication = false;
challengeResponseAuthentication = false;
permitRootLogin = lib.mkDefault "prohibit-password";
kexAlgorithms = [ "curve25519-sha256@libssh.org" ];
extraConfig = ''
StreamLocalBindUnlink yes
LogLevel VERBOSE
'';
};
security.sudo.wheelNeedsPassword = lib.mkForce false;
i18n.defaultLocale = "en_GB.UTF-8";
time.timeZone = "Europe/London";
console = {
font = "Lat2-Terminus16";
keyMap = "uk";
};
services.tailscale.enable = true;
environment.systemPackages = with pkgs; [
smartmontools
hddtemp
lm_sensors
htop
ripgrep
git
kitty.terminfo
nixfmt
mprime
wget
rsync
pv
pinentry-curses
progress
bc
zstd
file
whois
fd
exa
socat
tmux
gnupg
];
}