feat: add wifi hotspot configuration and refactor gui sections
This commit is contained in:
41
common.nix
41
common.nix
@@ -233,6 +233,27 @@ isoConfig
|
|||||||
networkmanager = {
|
networkmanager = {
|
||||||
enable = true;
|
enable = true;
|
||||||
dns = "none"; # We use dnsmasq
|
dns = "none"; # We use dnsmasq
|
||||||
|
ensureProfiles = {
|
||||||
|
environmentFiles = [ "/etc/NetworkManager/workshop-wifi.env" ];
|
||||||
|
profiles = {
|
||||||
|
"workshop-hotspot" = {
|
||||||
|
connection = {
|
||||||
|
id = "workshop-hotspot";
|
||||||
|
type = "wifi";
|
||||||
|
autoconnect = true;
|
||||||
|
autoconnect-priority = 10;
|
||||||
|
};
|
||||||
|
wifi = {
|
||||||
|
ssid = "$WORKSHOP_SSID";
|
||||||
|
mode = "infrastructure";
|
||||||
|
};
|
||||||
|
wifi-security = {
|
||||||
|
key-mgmt = "wpa-psk";
|
||||||
|
psk = "$WORKSHOP_PSK";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
hostName = if isLiveIso then "workshop-live" else "workshop-vm";
|
hostName = if isLiveIso then "workshop-live" else "workshop-vm";
|
||||||
hosts."127.0.0.1" = [
|
hosts."127.0.0.1" = [
|
||||||
@@ -243,6 +264,15 @@ isoConfig
|
|||||||
firewall.enable = false; # Workshop environment
|
firewall.enable = false; # Workshop environment
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# WiFi credentials file
|
||||||
|
environment.etc."NetworkManager/workshop-wifi.env" = {
|
||||||
|
text = ''
|
||||||
|
WORKSHOP_SSID="ziegel"
|
||||||
|
WORKSHOP_PSK="1234567890"
|
||||||
|
'';
|
||||||
|
mode = "0600";
|
||||||
|
};
|
||||||
|
|
||||||
# DNS Configuration - Wildcard *.workshop.local -> 127.0.0.1
|
# DNS Configuration - Wildcard *.workshop.local -> 127.0.0.1
|
||||||
services.dnsmasq = {
|
services.dnsmasq = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -1127,7 +1157,7 @@ isoConfig
|
|||||||
echo ""
|
echo ""
|
||||||
echo "🚀 Usage:"
|
echo "🚀 Usage:"
|
||||||
echo " deploy <recipe> - Deploy locally"
|
echo " deploy <recipe> - Deploy locally"
|
||||||
echo " browser [firefox|chromium] [recipe] - Open in browser"
|
echo " browser [recipe] - Open in browser"
|
||||||
echo " 📖 Full catalog: https://recipes.coopcloud.tech"
|
echo " 📖 Full catalog: https://recipes.coopcloud.tech"
|
||||||
echo ""
|
echo ""
|
||||||
echo "💡 Tab completion: deploy <TAB> or browser <TAB>"
|
echo "💡 Tab completion: deploy <TAB> or browser <TAB>"
|
||||||
@@ -1156,7 +1186,7 @@ isoConfig
|
|||||||
echo " setup - Setup local proxy (REQUIRED FIRST!)"
|
echo " setup - Setup local proxy (REQUIRED FIRST!)"
|
||||||
echo " recipes - Show all available apps"
|
echo " recipes - Show all available apps"
|
||||||
echo " deploy <recipe> - Deploy app locally"
|
echo " deploy <recipe> - Deploy app locally"
|
||||||
echo " browser [firefox|chromium] [recipe] - Launch browser [to app]"
|
echo " browser [recipe] - Launch browser [to app]"
|
||||||
echo " desktop - Start GUI session"
|
echo " desktop - Start GUI session"
|
||||||
echo " sudo abra - Run abra CLI directly as root"
|
echo " sudo abra - Run abra CLI directly as root"
|
||||||
echo ""
|
echo ""
|
||||||
@@ -1185,11 +1215,6 @@ isoConfig
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.chromium = {
|
|
||||||
enable = true;
|
|
||||||
extensions = [ ];
|
|
||||||
};
|
|
||||||
|
|
||||||
# Font packages for GUI rendering (QEMU GTK display)
|
# Font packages for GUI rendering (QEMU GTK display)
|
||||||
fonts.packages = with pkgs; [
|
fonts.packages = with pkgs; [
|
||||||
dejavu_fonts # DejaVu fonts including Sans Mono
|
dejavu_fonts # DejaVu fonts including Sans Mono
|
||||||
@@ -1208,8 +1233,6 @@ isoConfig
|
|||||||
displayManager.gdm.enable = true;
|
displayManager.gdm.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Exclude unnecessary GNOME packages
|
# Exclude unnecessary GNOME packages
|
||||||
environment.gnome.excludePackages = with pkgs; [
|
environment.gnome.excludePackages = with pkgs; [
|
||||||
gnome-photos
|
gnome-photos
|
||||||
|
|||||||
Reference in New Issue
Block a user