mirror of
https://github.com/tuxdotrs/nix-config.git
synced 2026-08-05 05:46:33 +05:30
115 lines
2.3 KiB
Nix
115 lines
2.3 KiB
Nix
{ config, ... }:
|
|
{
|
|
flake.modules.nixos.alpha =
|
|
{
|
|
hostName,
|
|
userName,
|
|
...
|
|
}@innerArgs:
|
|
{
|
|
imports = with config.flake.modules.nixos; [
|
|
boot
|
|
networking
|
|
virtualisation
|
|
services
|
|
];
|
|
|
|
tnix = {
|
|
boot = {
|
|
legacy.enable = true;
|
|
|
|
impermanence = {
|
|
enable = true;
|
|
|
|
home = {
|
|
directories = [
|
|
".local/share/nvim"
|
|
".local/share/zsh"
|
|
".local/share/zoxide"
|
|
".local/state/lazygit"
|
|
".local/share/opencode"
|
|
|
|
"/var/lib/docker"
|
|
];
|
|
};
|
|
};
|
|
};
|
|
|
|
networking = {
|
|
openssh.enable = true;
|
|
netbird-client.enable = true;
|
|
};
|
|
|
|
services = {
|
|
nginx = {
|
|
enable = true;
|
|
domain = "lab.tux.rs";
|
|
};
|
|
aiostreams = {
|
|
enable = true;
|
|
port = 4567;
|
|
|
|
environment = {
|
|
ADDON_ID = "aiostreams.lab.tux.rs";
|
|
BASE_URL = "https://aiostreams.lab.tux.rs";
|
|
};
|
|
|
|
environmentFile = innerArgs.config.sops.secrets."aiostreams".path;
|
|
};
|
|
};
|
|
|
|
virtualisation = {
|
|
docker.enable = true;
|
|
};
|
|
};
|
|
|
|
sops.secrets = {
|
|
tux-password = {
|
|
sopsFile = ./secrets.yaml;
|
|
neededForUsers = true;
|
|
};
|
|
|
|
gemini-api-key = {
|
|
sopsFile = ./secrets.yaml;
|
|
owner = userName;
|
|
};
|
|
|
|
openrouter-api-key = {
|
|
sopsFile = ./secrets.yaml;
|
|
owner = userName;
|
|
};
|
|
|
|
opencode-go-api-key = {
|
|
sopsFile = ./secrets.yaml;
|
|
owner = userName;
|
|
};
|
|
|
|
netbird-key = {
|
|
sopsFile = ./secrets.yaml;
|
|
owner = userName;
|
|
};
|
|
|
|
"cloudflare-credentials/email" = {
|
|
sopsFile = ./secrets.yaml;
|
|
};
|
|
|
|
"cloudflare-credentials/dns-api-token" = {
|
|
sopsFile = ./secrets.yaml;
|
|
};
|
|
|
|
aiostreams = {
|
|
sopsFile = ./secrets.yaml;
|
|
};
|
|
};
|
|
|
|
# --- Networking ---
|
|
networking = {
|
|
hostName = hostName;
|
|
networkmanager.enable = true;
|
|
firewall.enable = false;
|
|
};
|
|
|
|
system.stateVersion = "26.05";
|
|
};
|
|
}
|