puzzlevision/systems/x86_64-linux/absolutesolver/default.nix

74 lines
1.5 KiB
Nix
Raw Normal View History

{
lib,
pkgs,
inputs,
namespace,
config,
...
}: with lib; with lib.${namespace};
{
imports = [
./hardware-configuration.nix
inputs.hardware.nixosModules.common-pc-laptop
inputs.hardware.nixosModules.common-cpu-intel
inputs.hardware.nixosModules.common-pc-laptop-ssd
];
# Setup Sops
sops.defaultSopsFile = lib.snowfall.fs.get-file "secrets/default.yaml";
sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
sops.age.keyFile = "/var/lib/sops-nix/key.txt";
sops.age.generateKey = true;
# Sops keys
2024-09-22 23:28:25 +02:00
sops.secrets."services/cloudflare/api_key" = {};
# Set hostname
# Todo: move to common/networking module
networking.hostName = "absolutesolver";
# Set timezone.
time.timeZone = "Europe/Berlin";
# Enable docker and set it as the OCI container backend
virtualisation = {
docker.enable = true;
oci-containers.backend = "docker";
};
# Set system configuration
puzzlevision = {
archetypes.server.enable = true;
services = {
traefik = {
enable = true;
cloudflareEmail = "johannesreckers2006@gmail.com";
};
};
};
# Configure users.
snowfallorg.users.cyn.admin = true;
users.users.cyn.isNormalUser = true;
users.users.cyn.extraGroups = [ "dialout" "docker" ];
# Configure home-manager
home-manager = {
backupFileExtension = "homeManagerBackup";
};
# Install required system packages
environment.systemPackages = with pkgs; [
### General
nano
vim
## Runtimes
nodejs_22
bun
];
system.stateVersion = "24.05";
}