56 lines
2.9 KiB
Nix
56 lines
2.9 KiB
Nix
{ config, lib, pkgs, inputs, ... }: {
|
|
# Note: hardware-configuration.nix and headscale.nix are imported via flake.nix
|
|
imports = [ ];
|
|
|
|
time.timeZone = "America/Denver";
|
|
virtualisation.docker.enable = true;
|
|
|
|
boot.tmp.cleanOnBoot = true;
|
|
zramSwap.enable = true;
|
|
networking.hostName = "headscale";
|
|
networking.domain = "subnet01021712.vcn01021712.oraclevcn.com";
|
|
services.openssh.enable = true;
|
|
users.users.root.openssh.authorizedKeys.keys = [
|
|
''ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDE3856oAY7HcFwP1y9AvlDXx4cyvAcqa16x8jO/5KZjz7pHXxo3dT/0Rgqjc/k9NgSVYdKK4huhheyB5svKLlZFzXs4HjRgWA+omLORU4UIyz4BenwBzhXjeVQy5tiMbSEoHpJn3Qty08UO8ItoDIZWeJyD4XeRvUexFtt+967JkmbWIS5oreTHBzOXMzqbx3oRt3AdA4PyOzYSYAL8ewXZs7hQtVsn4VNkGBxegEMF2H0SmsxIuRkgdEzV6duZ4Ufia4agW0IciCvD/SwWli34WJcZo1HdGPoSAzD3YRTWkm7ko8uVhDXP58g7A+VoaQTSZC+jaSTI1m7Zuxxr56j+Hhm3fCGqVunM4BqnVaaq1MrpF2U7IWu1NljCZ/0uekWmYjHKRO4J58udDAJdoZgfRGEVcITx1QuilTHmIe61AEjjfqxjKisrLkwzXSEtLQyCuReSYMEdcaFPl3cjTTjuECCoDmL3igVohwH7MbgFPmanX1VDpIE99xGUrun8MTQkp3pxwOvGOA7Pbwyc1jYunABWr8ulFFwscc0VZXBHsEgURqtMJT1XVdq5oYP9LZFVU7aiT/ZnTEbbzH6QRLxBB63US7iRxtbfHSzmZk40u4rX7O2I3reVVzxLPa7TXYCD76rOo7I7huTZ/rZ6I/vZmqIFfmhW0BbUlbUyoI7vQ==''
|
|
''ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC6ay8vzXVSUl4/gpHmkdP9Dq+QgJtfRvLpL78BQEu20gKEFLhJWvcyVOMtTXw3MDst/b/DGNhUXlUyRdrXDFYewxTPHoG72PIBUmtFRlVb9KFTLRZfT0U4PjbPwp9yxcjL4H3hV1+p/uUg0FMhtZc+x2nuZ9Sqi8IyaVG1Qzf8egQzmBeaH9E/VxZoZ0MjlFiN2Oq3MbSVOCKH/MrYtURbcFusNvKVNQHpAUQaf1tIFDB2O19yW0grs5jeDoOAAoJlT40O4VCcB5CyC7cLu3jFYY4Uh8mbI3Ju6GCYnt/gkV4HF2q+QbrZOo6wH9b3e85fPvIjg2Y5KZPRGViQDmU82e6g4IjePcQqx6+3/bgxwkDxPm9lZzF1NvtXXX28G+RHiE7aENrSLkqkbS1eAH102Y69OLYoGtaEBKpWh66UQP5oyTEqf0gS6VQq47n/L0i7AczYW5s+Z+lGznHaoiihWBa3nS3tlkkwJxLPapC/i4ee9aQlew8XtQGq+mCAxdvgAbODDXT7eX7DSWMdcUe9oZSlAT6MGA2bHfQkVl3/mh5DQ26tTF9v857WDjWHC7a4vM8ZIdumgzwIHGmA4KIC9RfPDdP1PcxAuUPqwm/fODPmCPFzZhcMP0xxFdoGxEz91CnZIFvxBzbU2mnhtJXiTSr22Axdm9oVps2T8V77gw== djg@djg-nix''
|
|
];
|
|
|
|
# nixpkgs.config.permittedInsecurePackages = [
|
|
# "headscale-0.23.0" # Required if using older headscale version
|
|
# ];
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
git
|
|
wget
|
|
nano
|
|
curl
|
|
neofetch
|
|
(pkgs.writeShellScriptBin "generate-headscale-key" '' ${config.services.headscale.package}/bin/headscale apikeys create --expiration 999d '')
|
|
];
|
|
|
|
services.headplane = {
|
|
enable = true;
|
|
settings = {
|
|
server = {
|
|
host = "127.0.0.1";
|
|
port = 3000;
|
|
cookie_secret = "iQ0bUyaFgwaijWaSyZ1ILA9RwfywrbZ3";
|
|
cookie_secure = false; # Set to true if using HTTPS directly (nginx handles SSL for us)
|
|
};
|
|
headscale = {
|
|
url = "https://headscale.kennys.mom";
|
|
config_path = "/etc/headscale-strict.yml";
|
|
config_strict = true;
|
|
};
|
|
# Optionally configure OIDC here if needed
|
|
};
|
|
# Agent disabled due to upstream module bug
|
|
# See: https://github.com/tale/headplane/issues (type definition error)
|
|
agent.enable = false;
|
|
};
|
|
|
|
|
|
|
|
system.stateVersion = "23.11";
|
|
}
|