2024-09-18 21:21:48 +02:00
|
|
|
{
|
|
|
|
lib,
|
|
|
|
pkgs,
|
|
|
|
inputs,
|
|
|
|
namespace,
|
|
|
|
config,
|
|
|
|
...
|
2024-09-22 03:11:14 +02:00
|
|
|
}: with lib; with lib.${namespace};
|
2024-09-18 21:21:48 +02:00
|
|
|
{
|
|
|
|
imports = [
|
|
|
|
./hardware-configuration.nix
|
|
|
|
inputs.hardware.nixosModules.common-pc-laptop
|
|
|
|
inputs.hardware.nixosModules.common-cpu-intel
|
|
|
|
inputs.hardware.nixosModules.common-pc-laptop-ssd
|
|
|
|
];
|
|
|
|
|
2024-09-22 23:07:08 +02:00
|
|
|
# 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;
|
|
|
|
|
2024-09-18 21:21:48 +02:00
|
|
|
# Set hostname
|
|
|
|
# Todo: move to common/networking module
|
|
|
|
networking.hostName = "absolutesolver";
|
|
|
|
|
|
|
|
# Set timezone.
|
|
|
|
time.timeZone = "Europe/Berlin";
|
|
|
|
|
|
|
|
# Enable docker
|
|
|
|
virtualisation.docker.enable = true;
|
|
|
|
|
2024-09-22 03:11:14 +02:00
|
|
|
# Set system configuration
|
|
|
|
puzzlevision = {
|
|
|
|
archetypes.server.enable = true;
|
|
|
|
};
|
2024-09-18 21:21:48 +02:00
|
|
|
|
|
|
|
# Configure users.
|
2024-09-22 03:11:14 +02:00
|
|
|
snowfallorg.users.cyn.admin = true;
|
|
|
|
users.users.cyn.isNormalUser = true;
|
|
|
|
users.users.cyn.extraGroups = [ "dialout" "docker" ];
|
2024-09-18 21:21:48 +02:00
|
|
|
|
|
|
|
# Configure home-manager
|
|
|
|
home-manager = {
|
|
|
|
backupFileExtension = "homeManagerBackup";
|
|
|
|
};
|
|
|
|
|
2024-09-22 03:11:14 +02:00
|
|
|
# Install required system packages
|
2024-09-18 21:21:48 +02:00
|
|
|
environment.systemPackages = with pkgs; [
|
|
|
|
### General
|
|
|
|
nano
|
|
|
|
vim
|
2024-09-22 03:11:14 +02:00
|
|
|
|
|
|
|
## Runtimes
|
|
|
|
nodejs_22
|
|
|
|
bun
|
2024-09-18 21:21:48 +02:00
|
|
|
];
|
|
|
|
|
|
|
|
system.stateVersion = "24.05";
|
|
|
|
}
|