# Overall configuration # Copyright (C) 2022 Nguyễn Gia Phong # # This file is part of loang configuration. # # Loang configuration is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published # by the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # Loang configuration is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with loang configuration. If not, see . { config, pkgs, ... }: { environment = { enableAllTerminfo = true; systemPackages = with pkgs; [ git htop rsync vim ]; }; fileSystems."/mnt/nas" = { device = "172.16.129.228:/nas/4905"; options = [ "nfsvers=3" ]; fsType = "nfs"; }; imports = [ ./dns.nix ./ipfs.nix ./mail.nix ./matrix.nix ./push.nix ./static.nix ./vpsadminos.nix ]; networking = { domain = "loang.net"; hostName = "brno"; nameservers = [ "84.200.69.80" "84.200.70.40" "2001:1608:10:25::1c04:b12f" "2001:1608:10:25::9249:d69b" ]; }; security.sudo = { enable = true; wheelNeedsPassword = false; }; services.openssh = { enable = true; openFirewall = true; settings.passwordAuthentication = false; ports = [ 2211 ]; }; system.stateVersion = "22.05"; systemd.extraConfig = '' DefaultTimeoutStartSec=900s ''; time.timeZone = "UTC"; users.users = { axl = { isNormalUser = true; openssh.authorizedKeys.keyFiles = [ "/etc/ssh/axl.pub" ]; }; ckie = { isNormalUser = true; openssh.authorizedKeys.keyFiles = [ "/etc/ssh/ckie.pub" ]; }; cnx = { extraGroups = [ "wheel" ]; isNormalUser = true; openssh.authorizedKeys.keyFiles = [ "/etc/ssh/cnx.pub" ]; packages = with pkgs; [ stow ]; }; int2k = { isNormalUser = true; openssh.authorizedKeys.keyFiles = [ "/etc/ssh/int2k.pub" ]; }; owocean = { isNormalUser = true; openssh.authorizedKeys.keyFiles = [ "/etc/ssh/owocean.pub" ]; }; xarvos = { isNormalUser = true; openssh.authorizedKeys.keyFiles = [ "/etc/ssh/xarvos.pub" ]; }; }; }