Virtualize elara

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2025-08-18 13:07:20 -04:00
parent 063d3e57b3
commit fd78a2b3a2
11 changed files with 40 additions and 130 deletions

View File

@@ -1,5 +0,0 @@
{ ... }:
{
# https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/get-started/create-local-tunnel/
services.cloudflared.enable = true;
}

View File

@@ -1,29 +0,0 @@
{ config, inputs, ... }:
{
sops.secrets = {
"globalprotect/email".sopsFile = "${inputs.secrets}/domains/sas/secrets.yaml";
"globalprotect/gateway".sopsFile = "${inputs.secrets}/domains/sas/secrets.yaml";
"globalprotect/ssh/key".sopsFile = "${inputs.secrets}/domains/sas/secrets.yaml";
"ntfy/username".sopsFile = "${inputs.secrets}/domains/sas/secrets.yaml";
"ntfy/password".sopsFile = "${inputs.secrets}/domains/sas/secrets.yaml";
};
sas.globalprotect = {
enable = true;
email.file = config.sops.secrets."globalprotect/email".path;
gateway.file = config.sops.secrets."globalprotect/gateway".path;
sish = {
host = "karaolidis.com";
port = "2222";
keyFile = config.sops.secrets."globalprotect/ssh/key".path;
};
ntfy = {
url = "https://ntfy.karaolidis.com/sas";
username.file = config.sops.secrets."ntfy/username".path;
password.file = config.sops.secrets."ntfy/password".path;
};
};
}

View File

@@ -18,19 +18,15 @@
../common/configs/system
../common/configs/system/bluetooth
../common/configs/system/boot
../common/configs/system/brightnessctl
../common/configs/system/btrbk
../common/configs/system/btrfs
../common/configs/system/cloudflared
../common/configs/system/dnsmasq
../common/configs/system/documentation
../common/configs/system/getty
../common/configs/system/git
../common/configs/system/gpg-agent
../common/configs/system/impermanence
../common/configs/system/lanzaboote
../common/configs/system/libvirt
../common/configs/system/neovim
../common/configs/system/networkmanager
@@ -45,7 +41,6 @@
../common/configs/system/podman
../common/configs/system/power
../common/configs/system/printing
../common/configs/system/smartmontools
../common/configs/system/sops
../common/configs/system/ssh
../common/configs/system/sudo
@@ -56,7 +51,6 @@
../common/configs/system/users
../common/configs/system/zsh
./configs/globalprotect
./configs/nix
./configs/pki
./configs/ssh

View File

@@ -1,19 +1,17 @@
{ ... }:
{
boot.initrd.kernelModules = [
"xhci_pci"
"uas"
"sd_mod"
];
imports = [ ./display.nix ];
services.tlp.settings.DISK_DEVICES = "sda";
hardware = {
enableAllFirmware = true;
# By default, this host runs on an external SSD attached to himalia...
imports = [ ../../himalia/hardware ];
# ...but it can also run attached to a SAS-provided laptop.
specialisation.sas.configuration = {
disabledModules = [ ../../himalia/hardware ];
imports = [ ./sas ];
cpu = {
cores = 12;
threads = 12;
};
};
virtualisation.hypervGuest.enable = true;
services.fstrim.enable = true;
}

View File

@@ -0,0 +1,27 @@
{ ... }:
{
boot.kernelParams = [ "video=hyperv_fb:1920x1200@60" ];
home-manager.sharedModules = [
{
wayland.windowManager.hyprland.settings = {
monitor = [ "Virtual-1, preferred, 0x0, 1" ];
workspace = [
"1, monitor:Virtual-1, layoutopt:orientation:left"
"2, monitor:Virtual-1, layoutopt:orientation:left"
"3, monitor:Virtual-1, layoutopt:orientation:left"
"4, monitor:Virtual-1, layoutopt:orientation:left"
"5, monitor:Virtual-1, layoutopt:orientation:left"
"6, monitor:Virtual-1, layoutopt:orientation:left"
"7, monitor:Virtual-1, layoutopt:orientation:left"
"8, monitor:Virtual-1, layoutopt:orientation:left"
"9, monitor:Virtual-1, layoutopt:orientation:left"
"10, monitor:Virtual-1, layoutopt:orientation:left"
];
};
programs.vscode.profiles.default.userSettings."window.zoomLevel" = (1.25 - 1) / 0.2;
}
];
}

View File

@@ -1,28 +0,0 @@
{ ... }:
{
imports = [
./display.nix
./keybinds.nix
];
hardware = {
enableAllFirmware = true;
cpu = {
cores = 8;
threads = 12;
intel.updateMicrocode = true;
};
};
boot = {
kernelModules = [ "kvm-intel" ];
initrd.kernelModules = [
"thunderbolt"
"vmd"
"nvme"
];
};
services.fstrim.enable = true;
}

View File

@@ -1,30 +0,0 @@
{ ... }:
{
boot.kernelParams = [ "video=eDP-1:1920x1200@60" ];
home-manager.sharedModules = [
{
wayland.windowManager.hyprland.settings = {
monitor = [
"eDP-1, preferred, 0x0, 1"
", maxwidth, auto-center-up, 1"
];
workspace = [
"1, monitor:eDP-1, layoutopt:orientation:left"
"2, monitor:eDP-1, layoutopt:orientation:left"
"3, monitor:eDP-1, layoutopt:orientation:left"
"4, monitor:eDP-1, layoutopt:orientation:left"
"5, monitor:eDP-1, layoutopt:orientation:left"
"6, monitor:eDP-1, layoutopt:orientation:left"
"7, monitor:eDP-1, layoutopt:orientation:left"
"8, monitor:eDP-1, layoutopt:orientation:left"
"9, monitor:eDP-1, layoutopt:orientation:left"
"10, monitor:eDP-1, layoutopt:orientation:left"
];
};
programs.vscode.profiles.default.userSettings."window.zoomLevel" = (1.25 - 1) / 0.2;
}
];
}

View File

@@ -1,15 +0,0 @@
{ lib, pkgs, ... }:
{
home-manager.sharedModules = [
{
wayland.windowManager.hyprland.settings.bindle =
let
brightnessctl = lib.meta.getExe pkgs.brightnessctl;
in
[
", XF86MonBrightnessUp, exec, ${brightnessctl} -q s 5%+"
", XF86MonBrightnessDown, exec, ${brightnessctl} -q s 5%-"
];
}
];
}

View File

@@ -15,7 +15,6 @@ in
(import ../../../common/configs/user { inherit user home; })
(import ../../../common/configs/user/console/android { inherit user home; })
(import ../../../common/configs/user/console/brightnessctl { inherit user home; })
(import ../../../common/configs/user/console/btop { inherit user home; })
(import ../../../common/configs/user/console/dive { inherit user home; })
(import ../../../common/configs/user/console/fastfetch { inherit user home; })
@@ -62,7 +61,6 @@ in
(import ../../../common/configs/user/gui/feh { inherit user home; })
(import ../../../common/configs/user/gui/firefox { inherit user home; })
(import ../../../common/configs/user/gui/gtk { inherit user home; })
(import ../../../common/configs/user/gui/hypridle { inherit user home; })
(import ../../../common/configs/user/gui/hyprland { inherit user home; })
(import ../../../common/configs/user/gui/hyprpicker { inherit user home; })
(import ../../../common/configs/user/gui/hyprshot { inherit user home; })