nix-config/hosts/hydra/configuration.nix

108 lines
2.5 KiB
Nix

{ config, pkgs, lib, ... }:
{
imports = [
<nixpkgs/nixos/modules/profiles/minimal.nix>
./adc.nix
./hydra.nix
./cache.nix
./../../lib/hq.nix
./../../lib/yggdrasil.nix
];
services.yggdrasil.Peers = [
"tcp://[2a03:3b40:fe:ab::1]:46370" # Praha
"tcp://ygg.thingylabs.io:443" # Nürnberg
"tcp://176.223.130.120:22632" # Wrocław
"tcp://[2a05:9403::8b]:7743" # Praha
];
nixpkgs.config.allowUnfree = true;
security.pam.enableSSHAgentAuth = true;
users.users.root.openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICgL2kRs+cXAcUzOO2Tp+mtMBVuHqMuslQy3LN+HLSP4 emery@nixos"
];
services.openssh.enable = true;
programs.mosh.enable = true;
nix = {
package = pkgs.nixFlakes;
useSandbox = false;
maxJobs = lib.mkDefault 4;
autoOptimiseStore = true;
gc = {
automatic = true;
dates = "06:00";
options = "--delete-older-than 14d";
};
sshServe.enable = true;
trustedUsers = [ "root" ];
};
boot = {
tmpOnTmpfs = true;
isContainer = true;
loader.initScript.enable = true;
loader.grub.enable = false;
};
fileSystems."/" = {
fsType = "rootfs";
device = "rootfs";
};
networking.hostName = "hydra";
networking.useHostResolvConf = true;
# caused problems on this host -- Astro 2019-09-08
services.resolved.enable = false;
# Set your time zone.
time.timeZone = "Europe/Berlin";
i18n = {
defaultLocale = "en_US.UTF-8";
supportedLocales = lib.mkForce [ "en_US.UTF-8/UTF-8" ];
};
environment.systemPackages = with pkgs; [ tmux htop vim gitMinimal ];
# Create a few files early before packing tarball for Proxmox
# architecture/OS detection.
system.extraSystemBuilderCmds = ''
mkdir -m 0755 -p $out/bin
ln -s ${pkgs.bash}/bin/bash $out/bin/sh
mkdir -m 0755 -p $out/sbin
ln -s ../init $out/sbin/init
'';
services.collectd = {
enable = true;
autoLoadPlugin = true;
extraConfig = ''
Interval 10
<Plugin "cpu">
</Plugin>
<Plugin "memory">
</Plugin>
<Plugin "interface">
</Plugin>
<Plugin "load">
</Plugin>
<Plugin "swap">
</Plugin>
<Plugin "network">
Server "grafana.hq.c3d2.de" "25826"
</Plugin>
'';
};
# This value determines the NixOS release with which your system is to be
# compatible, in order to avoid breaking some software such as database
# servers. You should change this only after NixOS release notes say you
# should.
system.stateVersion = "19.03"; # Did you read the comment?
}