1
0
Fork 0

add ssh to modules, export networking from blarm

This commit is contained in:
Philipp 2025-03-15 11:47:34 +01:00
parent cdf4b472ca
commit 56a64c1e0e
Signed by: Philipp
GPG key ID: 9EBD8439AFBAB750
4 changed files with 86 additions and 40 deletions

View file

@ -11,7 +11,7 @@ let
in
{
options.${namespace}.apps.thunderbird = with types; {
enable = mkBoolOpt false "Whether or not to enable Firefox.";
enable = mkBoolOpt false "Whether or not to enable Thunderbird.";
};
config = mkIf cfg.enable {

View file

@ -0,0 +1,36 @@
{
lib,
config,
namespace,
...
}:
with lib;
with lib.${namespace};
let
cfg = config.${namespace}.services.ssh;
defaultKeys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDwUGxdwTgjc61VNh7QNfrrZwz5yHkJ6AGsRsgoDV3a4 mobile"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJqbT8AdnS++ZoL7TYg2skQUvfWx29Iq+mEYv2Ok2QHb arbeit"
];
in
{
options.${namespace}.services.ssh = {
enable = mkBoolOpt false "OpenSSH";
keys = mkOption {
description = "Extra keys to add to config.";
type = lib.types.listOf lib.types.str;
default = defaultKeys;
};
};
config = mkIf cfg.enable {
# Enable the OpenSSH daemon.
services.openssh = enabled;
users.users.philipp.openssh.authorizedKeys = {
inherit (cfg)
keys;
};
};
}

View file

@ -10,6 +10,7 @@ with lib.${namespace};
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
(modulesPath + "/installer/sd-card/sd-image-aarch64.nix")
./networking.nix
];
# Use the extlinux boot loader. (NixOS wants to enable GRUB by default)
@ -17,37 +18,6 @@ with lib.${namespace};
# Enables the generation of /boot/extlinux/extlinux.conf
boot.loader.generic-extlinux-compatible.enable = true;
networking = {
hostName = "blarm";
firewall.enable = false;
networkmanager.enable = false;
dhcpcd.enable = true;
defaultGateway.address = "192.168.1.1";
interfaces.end0 = {
useDHCP = true;
ipv4.addresses = [
{
address = "192.168.1.251";
prefixLength = 32;
}
{
address = "192.168.1.202";
prefixLength = 32;
}
];
ipv6.addresses = [
{
address = "fd00:192:168:1::202";
prefixLength = 64;
}
{
address = "fd00:192:168:1::251";
prefixLength = 64;
}
];
};
};
nix.settings.experimental-features = [
"nix-command"
"flakes"
@ -83,15 +53,22 @@ with lib.${namespace};
];
};
# Enable the OpenSSH daemon.
services.openssh = enabled;
awesome-flake.services.caddy = enabled;
awesome-flake.container.technitium = enabled;
awesome-flake.container.invidious = enabled;
awesome-flake.cli.neovim = enabled;
awesome-flake.services.restic = enabled;
awesome-flake.system.sops = enabled;
awesome-flake = {
services = {
ssh = enabled;
caddy = enabled;
restic = enabled;
};
container = {
technitium = enabled;
invidious = enabled;
};
system.sops = enabled;
cli.neovim = enabled;
};
environment.systemPackages = with pkgs; [
git

View file

@ -0,0 +1,33 @@
{
networking = {
hostName = "blarm";
firewall.enable = false;
networkmanager.enable = false;
dhcpcd.enable = true;
defaultGateway.address = "192.168.1.1";
interfaces.end0 = {
useDHCP = true;
ipv4.addresses = [
{
address = "192.168.1.251";
prefixLength = 32;
}
{
address = "192.168.1.202";
prefixLength = 32;
}
];
ipv6.addresses = [
{
address = "fd00:192:168:1::202";
prefixLength = 64;
}
{
address = "fd00:192:168:1::251";
prefixLength = 64;
}
];
};
};
}