Initial framework: reusable modules, lib, pkgs, overlays, scripts, sample environment
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
{
|
||||
# TODO: Add hypervisor-specific configuration
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
{ config, modulesPath, pkgs, lib, ... }:
|
||||
{
|
||||
imports = [ (modulesPath + "/virtualisation/proxmox-lxc.nix") ];
|
||||
nix.settings = { sandbox = false; };
|
||||
proxmoxLXC = {
|
||||
manageNetwork = false;
|
||||
privileged = true;
|
||||
};
|
||||
|
||||
# Enable LXC specific options
|
||||
options.lxc = {
|
||||
enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
description = "Enable LXC machine type";
|
||||
};
|
||||
};
|
||||
|
||||
services.fstrim.enable = false; # Let Proxmox host handle fstrim
|
||||
|
||||
# Cache DNS lookups to improve performance
|
||||
services.resolved = {
|
||||
extraConfig = ''
|
||||
Cache=true
|
||||
CacheFromLocalhost=true
|
||||
'';
|
||||
};
|
||||
|
||||
# Default configuration for a LXC container
|
||||
config = lib.mkIf config.lxc.enable {
|
||||
# Disabling useless services
|
||||
services.avahi.daemon.enable = false; # TODO : review the need for avahi in a container
|
||||
services.bluetooth.enable = false;
|
||||
services.printing.enable = false;
|
||||
|
||||
# Optimzing for conainters
|
||||
boot.kernelModules = [ ]; # TODO : review the disabling of all kernelModules in a container
|
||||
powerManagement.enable = false;
|
||||
|
||||
# Limiter les ressources si nécessaire
|
||||
# TODO : review the need to limit ZFS pools in the LXC container configuration, in my ZFSless context
|
||||
boot.zfs.extraPools = [ ];
|
||||
|
||||
};
|
||||
|
||||
system.stateVersion = "25.11";
|
||||
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
{
|
||||
# TODO: Add VM-specific configuration
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
{
|
||||
# TODO: Add workstation-specific configuration
|
||||
}
|
||||
Reference in New Issue
Block a user