blob: a87153fddcc6c381a333fc9eda0f411b4c743a5e (
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
|
{ config, pkgs, lib, ... }:
{
imports =
[
./monitoring.nix
./infra-logs.nix
./users/Rory.nix
./users/chris.nix
./users/maddy.nix
];
boot = {
kernelPackages = pkgs.linuxPackages_latest;
kernelParams = [ "memory_hotplug.memmap_on_memory=1" "memhp_default_state=online" ];
loader = {
grub = {
enable = true;
version = 2;
devices = [ "/dev/sda" ]; # nodev for EFI only
# EFI
efiSupport = false;
efiInstallAsRemovable = false;
};
timeout = 1;
};
# Emma - Is this secure?
#initrd.network.ssh.enable = true;
};
networking = {
hostName = lib.mkDefault "Spacebar-nix-base-server";
firewall = {
enable = false;
# allowedTCPPorts = [ ... ];
# allowedUDPPorts = [ ... ];
};
networkmanager.enable = false;
wireless.enable = false;
enableIPv6 = false;
useDHCP = false;
nameservers = [ "1.1.1.1" ];
defaultGateway = "192.168.1.1";
extraHosts = ''
192.168.1.2 secrets.spacebar.local
'';
};
services = {
openssh = {
enable = true;
# banner = ''
# [38;2;0;97;188my[38;2;0;115;221mg[38;2;1;133;255m_[38;2;0;77;150m_ [38;2;1;133;255m_[38;2;0;114;219ma[38;2;0;101;195my [38;2;0;106;204my[38;2;0;131;252mg[38;2;1;133;255mgg[38;2;1;132;254mg[38;2;0;111;214my [38;2;0;99;191m$[38;2;1;133;255m@@ "
# [38;2;0;130;250m@[38;2;1;133;255m@@@[38;2;0;122;235m@[38;2;0;121;232mg[38;2;1;133;255mg@@@@ [38;2;0;66;127m [38;2;0;124;239ma[38;2;1;133;255m@[38;2;0;129;248m@[38;2;0;132;253m~[38;2;0;125;239m~[38;2;1;132;254m~[38;2;0;128;246m~ [38;2;0;121;233myy[38;2;0;129;248m_[38;2;0;114;220my[38;2;0;131;251mg[38;2;0;123;236mg[38;2;0;102;196my [38;2;0;105;203my[38;2;0;126;242mg[38;2;0;129;248mg[38;2;0;110;212my[38;2;0;128;245m_[38;2;0;121;233myy [38;2;0;80;154m_[38;2;0;102;197my[38;2;0;120;231ma[38;2;0;132;253mg[38;2;0;124;238mg[38;2;0;112;215my [38;2;0;122;234m_[38;2;0;112;215my[38;2;0;127;243mg[38;2;0;131;252mg[38;2;0;120;231my[38;2;1;133;255m_ [38;2;0;99;191m$[38;2;1;133;255m@@[38;2;0;94;181my[38;2;0;121;232ma[38;2;0;131;253mg[38;2;0;118;227my[38;2;0;128;246m_ [38;2;1;133;255m_[38;2;0;115;221ma[38;2;0;132;253mg[38;2;0;122;235my[38;2;1;132;254m_[38;2;0;117;225my[38;2;0;121;233my[38;2;0;87;168m,[38;2;0;121;233myy[38;2;0;124;238m_[38;2;0;114;220my[38;2;0;115;222mg"
# [38;2;0;97;187mg[38;2;1;133;255m@@~~~[38;2;0;131;251m$[38;2;1;133;255m~~~[38;2;1;132;254m$[38;2;1;133;255m@[38;2;0;112;216m$ [38;2;0;119;229m`[38;2;0;120;230m?[38;2;0;120;231m@[38;2;1;133;255m@[38;2;1;132;254m@[38;2;1;133;255mg[38;2;0;110;211my [38;2;1;133;255m@@[38;2;0;119;228m@[38;2;1;133;255m~~[38;2;0;114;219mR[38;2;1;133;255m@[38;2;0;132;253m@[38;2;0;68;132m_[38;2;0;131;252m@[38;2;1;133;255m@[38;2;0;128;246mP[38;2;1;133;255m~~[38;2;0;118;227m@[38;2;1;133;255m@@[38;2;0;80;153my[38;2;1;133;255m@@[38;2;0;126;242mF[38;2;1;133;255m~~~[38;2;0;97;186mg[38;2;1;133;255m@[38;2;0;129;248m@[38;2;1;132;254m~[38;2;1;133;255m_[38;2;0;112;215m$[38;2;1;133;255m@[38;2;0;111;213m$[38;2;0;99;191m$[38;2;1;133;255m@@[38;2;0;113;217mF[38;2;1;133;255m~~@@[38;2;0;109;210mL[38;2;0;124;239ma[38;2;1;133;255m@[38;2;0;128;247m@[38;2;1;133;255m~~[38;2;0;111;214m4[38;2;1;133;255m@@[38;2;0;88;169mL[38;2;1;132;254m@[38;2;1;133;255m@[38;2;0;127;244m@[38;2;0;109;209mF[38;2;1;133;255m~"
# [38;2;0;128;247m@[38;2;1;133;255m@@[38;2;0;107;206my[38;2;0;97;187my[38;2;0;102;196my[38;2;0;124;239m@[38;2;0;105;203my[38;2;0;97;187my[38;2;0;103;198my[38;2;0;128;246m@[38;2;1;133;255m@@ [38;2;0;93;179my[38;2;1;133;255m_[38;2;1;132;254m_[38;2;1;128;247m_[38;2;0;102;196my[38;2;1;133;255m@@[38;2;0;86;166mF[38;2;1;133;255m@@[38;2;0;113;218m$[38;2;1;133;255m__[38;2;0;103;198mg[38;2;1;133;255m@@[38;2;0;92;176mM[38;2;1;133;255m@@[38;2;0;130;251mL[38;2;1;133;255m__[38;2;0;128;246ma[38;2;1;133;255m@@[38;2;0;90;173m4[38;2;1;133;255m@@[38;2;0;103;199my[38;2;1;133;255m___[38;2;0;117;225m4[38;2;1;133;255m@[38;2;0;128;246m@[38;2;1;133;255m~~~~[38;2;0;132;254m~[38;2;0;99;191m$[38;2;1;133;255m@[38;2;1;132;254m@[38;2;1;133;255m__[38;2;0;93;178my[38;2;0;131;252m@[38;2;1;133;255m@[38;2;0;119;229mF[38;2;0;115;222m$[38;2;1;133;255m@[38;2;0;131;251m$[38;2;1;133;255m__[38;2;0;106;205my[38;2;1;133;255m@@[38;2;0;88;169mL[38;2;1;132;254m@[38;2;1;133;255m@[38;2;0;94;181m$ "
# [38;2;0;128;247m`[38;2;0;113;217m?[38;2;0;119;229mP[38;2;0;122;234mPPPPPPPP[38;2;0;115;221mF[38;2;0;99;190m~ [38;2;0;88;169mf[38;2;0;112;216mR[38;2;0;118;227m@[38;2;0;125;241m@[38;2;0;117;225m@[38;2;0;124;238mP[38;2;1;133;255m~ @@[38;2;0;122;235mF[38;2;0;123;237m4[38;2;0;121;233m@[38;2;0;117;225m@[38;2;0;120;231mP[38;2;0;93;179m~ [38;2;0;104;200m~[38;2;0;116;223m4[38;2;0;118;227m@[38;2;0;121;232m@[38;2;0;124;239mP[38;2;1;133;255m~[38;2;0;119;229mRR [38;2;0;113;217m~[38;2;0;111;214m4[38;2;0;110;212m@[38;2;0;124;238m@[38;2;0;116;223m@[38;2;0;124;237mP [38;2;0;127;243m~[38;2;0;120;231m4[38;2;0;113;217m@[38;2;0;124;238m@[38;2;0;119;229m@[38;2;0;125;241mP [38;2;0;105;201m4[38;2;0;119;229mR[38;2;0;123;237mF[38;2;0;119;229m?[38;2;0;115;220m@[38;2;0;123;236m@[38;2;0;126;242mP[38;2;1;133;255m~ ~[38;2;0;120;231mR[38;2;0;124;238m@[38;2;0;121;234mR[38;2;0;112;216mF[38;2;0;116;223mR[38;2;0;119;229mR[38;2;0;72;139mF[38;2;0;119;229mRR[38;2;0;94;180mF "
# [38;2;0;0;0m [38;2;1;133;255m@@[38;2;0;93;179mF "
# '';
settings = {
PasswordAuthentication = false;
GatewayPorts = "yes";
KbdInteractiveAuthentication = false;
UsePAM = true;
};
startWhenNeeded = true;
};
};
security = {
sudo = {
wheelNeedsPassword = false;
execWheelOnly = true;
};
polkit.enable = true;
};
environment.systemPackages = with pkgs; [
wget
neofetch
lnav
git
lsd
htop
btop
duf
kitty.terminfo
neovim
];
systemd.coredump.extraConfig = lib.mkDefault ''
Storage=none
'';
security.pam.services.sshd.text = lib.mkAfter ''
#login script
auth optional pam_exec.so stdout ${pkgs.writeShellScript "login-banner" ''
echo 'Welcome!'
${pkgs.chafa}/bin/chafa https://raw.githubusercontent.com/spacebarchat/spacebarchat/master/branding/svg/Spacebar__Logo-Blue.svg --fg-only -s 80 -O 9 -w 9
''}
#Account management.
account required pam_unix.so
#Authentication management.
auth required pam_deny.so
#Password management.
password required pam_unix.so nullok yescrypt
session required pam_env.so conffile=/etc/pam/environment readenv=0
session required pam_unix.so
session required pam_loginuid.so
session optional ${pkgs.systemd}/lib/security/pam_systemd.so
'';
documentation.nixos.enable = false;
hardware.pulseaudio.enable = false;
i18n.defaultLocale = "en_US.UTF-8";
nix.settings.experimental-features = [ "nix-command" "flakes" ];
nixpkgs.config.allowUnfree = true;
sound.enable = false;
system.stateVersion = "22.11"; # DO NOT EDIT!
}
|