]> git.dujemihanovic.xyz Git - nixos-configuration.git/blob - configs/server.nix
Separate config into server and laptop
[nixos-configuration.git] / configs / server.nix
1 { config, pkgs, ... }:
2
3 {
4 systemd.network = {
5 enable = true;
6 networks."10-lan" = {
7 matchConfig.Name = "*";
8 DHCP = "yes";
9 linkConfig.RequiredForOnline = "routable";
10 };
11 };
12
13 time.timeZone = "Europe/Zagreb";
14
15 i18n.defaultLocale = "en_US.UTF-8";
16
17 i18n.extraLocaleSettings = {
18 LC_ADDRESS = "hr_HR.UTF-8";
19 LC_IDENTIFICATION = "hr_HR.UTF-8";
20 LC_MEASUREMENT = "hr_HR.UTF-8";
21 LC_MONETARY = "hr_HR.UTF-8";
22 LC_NAME = "hr_HR.UTF-8";
23 LC_NUMERIC = "hr_HR.UTF-8";
24 LC_PAPER = "hr_HR.UTF-8";
25 LC_TELEPHONE = "hr_HR.UTF-8";
26 LC_TIME = "hr_HR.UTF-8";
27 };
28
29 console = {
30 keyMap = "dvorak";
31 packages = with pkgs; [ terminus_font ];
32 font = "ter-124b";
33 };
34
35 sound.enable = false;
36
37 programs.zsh = {
38 enable = true;
39 autosuggestions.enable = true;
40 syntaxHighlighting.enable = true;
41 };
42
43 users.users.duje = {
44 uid = 1000;
45 isNormalUser = true;
46 description = "Duje";
47 extraGroups = [ "networkmanager" "wheel" "libvirtd" ];
48 openssh.authorizedKeys.keys =
49 [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIMI2evf5v4ghSCJWacQJGMINjYW48WZYLvL6KIob1rd"
50 "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKeuxm8MnRjkVnrE+lZjlI+MuqzvD78OmvSgd43UMJ6b" ];
51 shell = pkgs.zsh;
52 };
53 users.users.root.openssh.authorizedKeys.keys =
54 [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIMI2evf5v4ghSCJWacQJGMINjYW48WZYLvL6KIob1rd"
55 "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKeuxm8MnRjkVnrE+lZjlI+MuqzvD78OmvSgd43UMJ6b" ];
56
57 nixpkgs.config.allowUnfree = true;
58
59 environment.systemPackages = with pkgs; [
60 neovim
61 lm_sensors
62 htop
63 nvimpager
64 tree
65 neofetch
66 ];
67
68 hardware.sensor.hddtemp = {
69 enable = true;
70 drives = [ "/dev/disk/by-path/*" ];
71 };
72
73 virtualisation.libvirtd.enable = true;
74
75 services.openssh.enable = true;
76
77 services.smartd.enable = true;
78 programs.msmtp = {
79 enable = true;
80 defaults = {
81 auth = true;
82 tls = true;
83 tls_starttls = true;
84 aliases = "/etc/aliases";
85 };
86 accounts = {
87 default = {
88 from = "duje.mihanovic@skole.hr";
89 host = "smtp.skole.hr";
90 port = 587;
91 user = "duje.mihanovic";
92 passwordeval = "/run/current-system/sw/bin/cat /secrets/email.txt";
93 };
94 };
95 };
96
97 environment.etc."aliases" = {
98 text = ''
99 root: duje.mihanovic@skole.hr
100 duje: duje.mihanovic@skole.hr
101 mailer-daemon: duje.mihanovic@skole.hr
102 '';
103 mode = "0644";
104 };
105
106 # Open ports in the firewall.
107 # networking.firewall.allowedTCPPorts = [ ... ];
108 # networking.firewall.allowedUDPPorts = [ ... ];
109 # Or disable the firewall altogether.
110 # networking.firewall.enable = false;
111
112 system.stateVersion = "23.05";
113
114 }