blob: 492272b8422d581c106d5e2403455a319da67732 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
{ config, pkgs, lib, ... }:
{
imports =
[
./base.nix
./users/chris.nix
];
# My servers always use /dev/sda as boot disk...
boot = {
kernelPackages = pkgs.linuxPackages_latest;
loader = {
grub = {
enable = true;
version = 2;
devices = [ "/dev/sda" ]; # nodev for EFI only
# EFI
efiSupport = false;
efiInstallAsRemovable = false;
};
timeout = 0;
};
};
networking = {
hostName = lib.mkDefault "Rory-nix-base-server";
networkmanager.enable = false;
wireless.enable = false;
enableIPv6 = false;
firewall = {
enable = false;
# allowedTCPPorts = [ ... ];
# allowedUDPPorts = [ ... ];
};
useDHCP = false;
nameservers = [ "1.1.1.1" ];
defaultGateway = "192.168.1.1";
};
i18n.defaultLocale = "en_US.UTF-8";
services = {
openssh = {
enable = true;
#allow more logins in cases where i have many ssh keys on a system
extraConfig = ''
MaxAuthTries 32
'';
};
prometheus = {
exporters = {
node = {
enable = true;
port = 9100;
enabledCollectors = [
"logind"
"systemd"
];
disabledCollectors = [
#"textfile"
];
};
};
};
promtail = {
enable = true;
configuration = {
server = {
http_listen_port = 3031;
grpc_listen_port = 0;
};
positions = {
filename = "/tmp/positions.yaml";
};
clients = [{
url = "https://loki.regional.seian.cloud/loki/api/v1/push";
}];
scrape_configs = [{
job_name = "journal";
journal = {
max_age = "12h";
labels = {
job = "systemd-journal";
host = "${toString config.networking.hostName}";
};
};
relabel_configs = [{
source_labels = [ "__journal__systemd_unit" ];
target_label = "unit";
}];
}];
};
};
};
security.sudo.wheelNeedsPassword = false;
nixpkgs.config.allowUnfree = true;
system.stateVersion = "22.11"; # DO NOT EDIT!
}
|