mirror of
https://github.com/lxstinthesky/matrix.git
synced 2025-11-01 08:22:45 +00:00
Compare commits
3 Commits
981683bf51
...
nixos-base
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
27f18dc6ec | ||
|
|
63f40f5937 | ||
|
|
c8996554fb |
@@ -10,6 +10,7 @@
|
||||
|
||||
# nix settings
|
||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||
nix.settings.download-buffer-size = 524288000; # 500MB
|
||||
|
||||
# Bootloader to work with LUKS
|
||||
boot.loader.grub = {
|
||||
@@ -73,6 +74,11 @@
|
||||
];
|
||||
};
|
||||
|
||||
# this is related to luks remote unlock via ssh
|
||||
# Disable initrd secrets for VM builds to avoid secret error
|
||||
# Error is not present in real depolyments
|
||||
boot.initrd.secrets = lib.mkForce {};
|
||||
|
||||
# Add VM-specific users
|
||||
users.users.smith = {
|
||||
isNormalUser = true;
|
||||
|
||||
@@ -10,6 +10,41 @@
|
||||
PubkeyAuthentication = true; # Enable SSH keys
|
||||
};
|
||||
ports = [ 22 ];
|
||||
# using the same key as for initrd
|
||||
hostKeys = [
|
||||
{ path = "/etc/secrets/initrd/ssh_host_ed25519_key"; type = "ed25519"; }
|
||||
];
|
||||
};
|
||||
|
||||
# remote unlock for luks via ssh
|
||||
boot.kernelParams = [ "ip=dhcp" ];
|
||||
boot.initrd = {
|
||||
availableKernelModules = [ "virtio-pci" ];
|
||||
network = {
|
||||
enable = true;
|
||||
ssh = {
|
||||
enable = true;
|
||||
port = 22;
|
||||
authorizedKeys = [
|
||||
(builtins.readFile ../users/keys/neo.pub)
|
||||
];
|
||||
hostKeys = [ "/etc/secrets/initrd/ssh_host_ed25519_key" ];
|
||||
shell = "/bin/cryptsetup-askpass";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# Generate SSH host key for initrd
|
||||
system.activationScripts.initrd-ssh-key = {
|
||||
text = ''
|
||||
mkdir -p /etc/secrets/initrd
|
||||
if [ ! -f /etc/secrets/initrd/ssh_host_ed25519_key ]; then
|
||||
${pkgs.openssh}/bin/ssh-keygen -t ed25519 -f /etc/secrets/initrd/ssh_host_ed25519_key -N ""
|
||||
chmod 600 /etc/secrets/initrd/ssh_host_ed25519_key
|
||||
chmod 644 /etc/secrets/initrd/ssh_host_ed25519_key.pub
|
||||
fi
|
||||
'';
|
||||
deps = [ ];
|
||||
};
|
||||
|
||||
# other security hardening options can go here
|
||||
|
||||
1
nix/users/keys/morpheus.pub
Normal file
1
nix/users/keys/morpheus.pub
Normal file
@@ -0,0 +1 @@
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGYkZY9rUTaN7LrmA5MVU+I+at1YV+i2e3EkGfCIt4M2 robin@thor
|
||||
@@ -16,10 +16,13 @@
|
||||
|
||||
users.users.morpheus = {
|
||||
isNormalUser = true;
|
||||
description = "Insert joke here";
|
||||
description = "I'm colorblind";
|
||||
extraGroups = [ "networkmanager" "wheel" ];
|
||||
shell = pkgs.zsh;
|
||||
packages = with pkgs; [ ];
|
||||
openssh.authorizedKeys.keyFiles = [
|
||||
./keys/morpheus.pub
|
||||
];
|
||||
};
|
||||
|
||||
users.users.trinity = {
|
||||
|
||||
Reference in New Issue
Block a user