introduce new host

This commit is contained in:
Christoph Hollizeck 2024-11-04 21:23:24 +01:00
parent 9dfaa540fe
commit b421c3de68
Signed by: Daholli
GPG key ID: 1763BB530F50279E
5 changed files with 82 additions and 3 deletions

View file

@ -13,7 +13,7 @@ let
in
{
options.${namespace}.submodules.basics = with types; {
enable = mkBoolOpt false "Whether or not to enable basic configuration.";
enable = mkEnableOption "Whether or not to enable basic configuration.";
};
config = mkIf cfg.enable {
@ -29,7 +29,7 @@ in
#optional
pciutils
usbutils
htop
btop
];
${namespace} = {

View file

@ -24,7 +24,7 @@ in
environment.systemPackages = with pkgs; [
git
gitAndTools.gh
gitbutler
# gitbutler
];
${namespace}.home.extraOptions = {

View file

@ -48,6 +48,11 @@ in
icon = mkOpt (nullOr package) defaultIcon "The profile picture to use for the user.";
extraGroups = mkOpt (listOf str) [ ] "Groups for the user to be assigned.";
extraOptions = mkOpt attrs { } (mdDoc "Extra options passed to `users.users.<name>`.");
trustedPublicKeys = mkOption {
default = [ ];
type = nullOr (listOf str);
description = "Trusted public keys for this user for the machine";
};
};
config = {
@ -92,6 +97,8 @@ in
# system to select).
uid = 1000;
openssh.authorizedKeys.keys = cfg.trustedPublicKeys;
extraGroups = [ "steamcmd" ] ++ cfg.extraGroups;
} // cfg.extraOptions;
};

View file

@ -0,0 +1,37 @@
{
lib,
namespace,
pkgs,
...
}:
let
inherit (lib.${namespace}) enabled;
in
{
imports = [ ./hardware.nix ];
services.openssh = {
enable = true;
settings = {
PasswordAuthentication = false;
KbdInteractiveAuthentication = false;
};
};
${namespace} = {
submodules = {
basics = enabled;
};
services = {
factorio-server = enabled;
};
user.trustedPublicKeys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHFrDiO5+vMfD5MimkzN32iw3MnSMLZ0mHvOrHVVmLD0"
];
};
system.stateVersion = "24.11";
}

View file

@ -0,0 +1,35 @@
{
config,
lib,
pkgs,
modulesPath,
...
}:
{
imports = [
(modulesPath + "/profiles/qemu-guest.nix")
];
boot.initrd.availableKernelModules = [
"ata_piix"
"uhci_hcd"
"virtio_pci"
"sr_mod"
"virtio_blk"
];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ ];
boot.extraModulePackages = [ ];
fileSystems."/" = {
device = "/dev/disk/by-label/nixos";
fsType = "ext4";
};
swapDevices = [ ];
networking.useDHCP = lib.mkDefault true;
nixpkgs.hostplatform = lib.mkDefault "x86_64-linux";
}