Compare commits
2 commits
328cc16c7c
...
2ecaae07b3
| Author | SHA1 | Date | |
|---|---|---|---|
| 2ecaae07b3 | |||
| 1f7b21b670 |
3 changed files with 21 additions and 89 deletions
16
flake.nix
16
flake.nix
|
|
@ -4,6 +4,8 @@
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
nixos-hardware.url = "github:nixos/nixos-hardware/master";
|
nixos-hardware.url = "github:nixos/nixos-hardware/master";
|
||||||
|
|
||||||
|
proxmox-nixos.url = "github:SaumonNet/proxmox-nixos";
|
||||||
|
|
||||||
lix-module = {
|
lix-module = {
|
||||||
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.93.0.tar.gz";
|
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.93.0.tar.gz";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
@ -83,8 +85,20 @@
|
||||||
./hosts/valefar
|
./hosts/valefar
|
||||||
lix-module.nixosModules.default
|
lix-module.nixosModules.default
|
||||||
vscode-server.nixosModules.default
|
vscode-server.nixosModules.default
|
||||||
microvm.nixosModules.host
|
|
||||||
|
|
||||||
|
proxmox-nixos.nixosModules.proxmox-ve
|
||||||
|
|
||||||
|
({ pkgs, lib, ... }: {
|
||||||
|
services.proxmox-ve = {
|
||||||
|
enable = true;
|
||||||
|
ipAddress = "10.0.0.30";
|
||||||
|
};
|
||||||
|
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
proxmox-nixos.overlays.x86_64-linux
|
||||||
|
];
|
||||||
|
})
|
||||||
|
|
||||||
{ imports = builtins.attrValues nixosModules; }
|
{ imports = builtins.attrValues nixosModules; }
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -5,21 +5,17 @@
|
||||||
# IMPORTS
|
# IMPORTS
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
imports = [
|
imports = [
|
||||||
# Host-specific hardware
|
|
||||||
./hardware.nix
|
./hardware.nix
|
||||||
./secrets.nix
|
./secrets.nix
|
||||||
../../common/nvidia.nix
|
../../common/nvidia.nix
|
||||||
|
|
||||||
# Common secrets
|
|
||||||
../../host-secrets.nix
|
../../host-secrets.nix
|
||||||
|
|
||||||
# Common modules shared across hosts
|
|
||||||
../../common/system.nix
|
../../common/system.nix
|
||||||
../../common/users.nix
|
../../common/users.nix
|
||||||
../../common/services.nix
|
../../common/services.nix
|
||||||
../../common/efi.nix
|
../../common/efi.nix
|
||||||
|
|
||||||
# Hardware-specific (commented out)
|
|
||||||
../../common/nvidia.nix
|
../../common/nvidia.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
@ -59,21 +55,23 @@
|
||||||
networking.hostId = "2a07da90";
|
networking.hostId = "2a07da90";
|
||||||
networking.firewall.enable = false;
|
networking.firewall.enable = false;
|
||||||
|
|
||||||
|
services.proxmox-ve.bridges = [ "vmbr0" ];
|
||||||
|
|
||||||
systemd.network.networks."10-lan" = {
|
systemd.network.networks."10-lan" = {
|
||||||
matchConfig.Name = ["enp6s0" "vm-*"];
|
matchConfig.Name = ["enp6s0"];
|
||||||
networkConfig = {
|
networkConfig = {
|
||||||
Bridge = "br0";
|
Bridge = "vmbr0";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
systemd.network.netdevs."br0" = {
|
systemd.network.netdevs."br0" = {
|
||||||
netdevConfig = {
|
netdevConfig = {
|
||||||
Name = "br0";
|
Name = "vmbr0";
|
||||||
Kind = "bridge";
|
Kind = "bridge";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.network.networks."10-lan-bridge" = {
|
systemd.network.networks."10-lan-bridge" = {
|
||||||
matchConfig.Name = "br0";
|
matchConfig.Name = "vmbr0";
|
||||||
networkConfig = {
|
networkConfig = {
|
||||||
Address = ["10.0.0.30/24" "2601:5c2:8400:26c0::30/64"];
|
Address = ["10.0.0.30/24" "2601:5c2:8400:26c0::30/64"];
|
||||||
Gateway = "10.0.0.1";
|
Gateway = "10.0.0.1";
|
||||||
|
|
|
||||||
|
|
@ -1,80 +0,0 @@
|
||||||
{ config, lib, pkgs, modulesPath, microvm, inputs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
# =============================================================================
|
|
||||||
# IMPORTS
|
|
||||||
# =============================================================================
|
|
||||||
imports = [
|
|
||||||
# Common modules shared across hosts
|
|
||||||
../../common/system.nix
|
|
||||||
../../common/users.nix
|
|
||||||
../../common/services.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
system.stateVersion = "25.05";
|
|
||||||
networking.hostName = "gameservers";
|
|
||||||
|
|
||||||
virtualisation.docker = {
|
|
||||||
enable = true;
|
|
||||||
enableOnBoot = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.network.networks."20-lan" = {
|
|
||||||
matchConfig.Type = "ether";
|
|
||||||
networkConfig = {
|
|
||||||
Address = [
|
|
||||||
"10.0.0.31/24"
|
|
||||||
"2601:5c2:8400:26c0::31/64"
|
|
||||||
];
|
|
||||||
Gateway = "10.0.0.1";
|
|
||||||
DNS = [
|
|
||||||
"10.0.0.210"
|
|
||||||
"1.1.1.1"
|
|
||||||
"1.0.0.1"
|
|
||||||
];
|
|
||||||
IPv6AcceptRA = true;
|
|
||||||
DHCP = "no";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.network.networks."19-docker" = {
|
|
||||||
matchConfig.Name = "veth*";
|
|
||||||
linkConfig = {
|
|
||||||
Unmanaged = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
microvm = {
|
|
||||||
interfaces = [
|
|
||||||
{
|
|
||||||
type = "tap";
|
|
||||||
id = "vm-test1";
|
|
||||||
mac = "02:00:00:00:00:01";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
shares = [
|
|
||||||
{
|
|
||||||
source = "/nix/store";
|
|
||||||
mountPoint = "/nix/.ro-store";
|
|
||||||
tag = "ro-store";
|
|
||||||
proto = "virtiofs";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
source = "/etc/ssh";
|
|
||||||
mountPoint = "/etc/ssh";
|
|
||||||
tag = "ssh";
|
|
||||||
proto = "virtiofs";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
source = "/home/regent/gamedata";
|
|
||||||
mountPoint = "/root/gamedata";
|
|
||||||
tag = "gamedata";
|
|
||||||
proto = "virtiofs";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
vcpu = 4;
|
|
||||||
mem = 8192;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue