add hippo.freumh.org

Ryan Gibb 8cbe5f25 8493518f

+21
flake.lock
···
"type": "github"
}
},
+
"disko": {
+
"inputs": {
+
"nixpkgs": [
+
"nixpkgs"
+
]
+
},
+
"locked": {
+
"lastModified": 1743598667,
+
"narHash": "sha256-ViE7NoFWytYO2uJONTAX35eGsvTYXNHjWALeHAg8OQY=",
+
"owner": "nix-community",
+
"repo": "disko",
+
"rev": "329d3d7e8bc63dd30c39e14e6076db590a6eabe6",
+
"type": "github"
+
},
+
"original": {
+
"owner": "nix-community",
+
"repo": "disko",
+
"type": "github"
+
}
+
},
"eilean": {
"inputs": {
"eon": [
···
"agenix": "agenix",
"alec-website": "alec-website",
"deploy-rs": "deploy-rs",
+
"disko": "disko",
"eilean": "eilean",
"eon": "eon",
"fn06-website": "fn06-website",
+3 -1
flake.nix
···
nur.url = "github:nix-community/NUR/e9e77b7985ef9bdeca12a38523c63d47555cc89b";
timewall.url = "github:bcyran/timewall/";
tangled.url = "git+https://tangled.sh/@tangled.sh/core";
+
disko.url = "github:nix-community/disko";
# deduplicate flake inputs
eilean.inputs.nixpkgs.follows = "nixpkgs";
···
nur.inputs.nixpkgs.follows = "nixpkgs";
timewall.inputs.nixpkgs.follows = "nixpkgs";
tangled.inputs.nixpkgs.follows = "nixpkgs";
+
disko.inputs.nixpkgs.follows = "nixpkgs";
};
outputs =
···
(
{ config, ... }:
{
-
networking.hostName = "${host}";
+
networking.hostName = host-nixpkgs.lib.mkDefault "${host}";
# pin nix command's nixpkgs flake to the system flake to avoid unnecessary downloads
nix.registry.nixpkgs.flake = host-nixpkgs;
system.stateVersion = "24.05";
+27
hosts/hippo/default.nix
···
+
{
+
pkgs,
+
config,
+
lib,
+
disko,
+
...
+
}:
+
+
{
+
imports = [
+
./hardware-configuration.nix
+
disko.nixosModules.disko
+
./disk-config.nix
+
];
+
+
custom = {
+
enable = true;
+
autoUpgrade.enable = true;
+
homeManager.enable = true;
+
};
+
+
home-manager.users.${config.custom.username}.config.custom.machineColour = "blue";
+
+
networking.hostName = "iphito";
+
+
services.openssh.openFirewall = true;
+
}
+33
hosts/hippo/disk-config.nix
···
+
{ lib, ... }:
+
+
{
+
disko.devices = {
+
disk.disk1 = {
+
device = lib.mkDefault "/dev/sda";
+
type = "disk";
+
content = {
+
type = "gpt";
+
partitions = {
+
ESP = {
+
type = "EF00";
+
size = "500M";
+
content = {
+
type = "filesystem";
+
format = "vfat";
+
mountpoint = "/boot";
+
mountOptions = [ "umask=0077" ];
+
};
+
};
+
root = {
+
size = "100%";
+
content = {
+
type = "filesystem";
+
format = "ext4";
+
mountpoint = "/";
+
};
+
};
+
};
+
};
+
};
+
};
+
}
+40
hosts/hippo/hardware-configuration.nix
···
+
{
+
config,
+
lib,
+
pkgs,
+
modulesPath,
+
...
+
}:
+
+
{
+
imports = [
+
(modulesPath + "/installer/scan/not-detected.nix")
+
];
+
+
boot.initrd.availableKernelModules = [
+
"megaraid_sas"
+
"xhci_pci"
+
"nvme"
+
"ahci"
+
"sd_mod"
+
];
+
boot.initrd.kernelModules = [ "dm-snapshot" ];
+
boot.kernelModules = [ "kvm-amd" ];
+
boot.extraModulePackages = [ ];
+
+
networking.useDHCP = lib.mkDefault true;
+
+
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
+
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
+
+
boot.loader.grub = {
+
enable = true;
+
device = "nodev";
+
efiSupport = true;
+
efiInstallAsRemovable = true;
+
};
+
+
boot.kernelParams = [
+
"console=ttyS1,115200n8"
+
];
+
}
+8 -2
hosts/owl/services.nix
···
proxyWebsockets = true;
};
};
-
+
services.nginx.virtualHosts."enki.freumh.org" = {
forceSSL = true;
locations."/" = {
···
value = "vps";
}
+
{
+
name = "hippo";
+
type = "A";
+
value = "128.232.124.251";
+
}
+
# generate with
# sudo openssl x509 -in /var/lib/acme/mail.freumh.org/fullchain.pem -pubkey -noout | openssl pkey -pubin -outform der | sha256sum | awk '{print "3 1 1", $1}'
{
···
];
};
};
-
}
+
}