119 Commits

Author SHA1 Message Date
684f6b1a54 feat: add restart policy for abra install service 2025-09-17 17:35:58 +02:00
b3ec5886e3 reverted last changes 2025-09-17 17:32:34 +02:00
2dd66df5c4 fix: remove invisible escape characters from common.nix
- Fix bash completion function escape characters: $${...} -> $${...}
- Replace printf with \n escapes with proper heredoc in certificate generation
- Clean up invisible characters that could cause parsing issues
2025-09-17 17:31:12 +02:00
f70ba8ae25 fix: simplify abra installation service
- Remove retry loop and internet connectivity checks from abra installation service
- Keep working sudo abra --version verification
- Simplify install() function to restart service once instead of 300 times
- Plain installation without overcomplicated logic
2025-09-17 17:24:28 +02:00
5477f97f5d feat: add APSFreeWiFi profile for public cafe networks 2025-09-17 17:05:17 +02:00
fa5b134600 fix: improve abra install retry logic and remove restart loop 2025-09-17 16:57:55 +02:00
20a7f030ef fix: remove internet wait loop, retry abra install 300 times 2025-09-17 16:49:03 +02:00
70551d1e75 fix: remove network-online dependency from abra installation service 2025-09-17 16:07:24 +02:00
d0f9117515 docs: improve slides reference with descriptive sentence 2025-09-17 11:16:14 +02:00
b8fb20b4e4 docs: add reference to workshop slides 2025-09-17 11:05:54 +02:00
cf60dbcfb8 docs: add documentation section and update recipes file location 2025-09-17 10:51:01 +02:00
112b896e61 feat: enhance abra installation with proper verification and user commands
- Replace incorrect file-based abra verification with functional testing
- Add network connectivity monitoring to abra installer service
- Implement retry logic with proper error handling
- Add user-friendly 'install' command for manual abra repair
- Update documentation to include install command and troubleshooting
- Fix false positive detection in abra installation verification

The enhanced service now:
- Uses 'sudo abra --version' for reliable verification
- Waits for internet connectivity before attempting installation
- Retries up to 3 times with proper backoff
- Provides clear success/failure reporting
- Includes automatic service restart on failure

User can now run 'install' command as fallback when abra installation fails.
2025-09-17 09:20:17 +02:00
4dacf94c67 refactor: replace WiFi service with declarative NetworkManager
- Remove unnecessary systemd.services.workshop-wifi-setup service
- Remove environment.etc."NetworkManager/workshop-wifi.env" file
- Add declarative networking.networkmanager.ensureProfiles configuration
- Remove redundant WiFi packages (wpa_supplicant, wirelesstools, iw)
- Update documentation to reflect automatic WiFi connection
- Clean up bash script references to old services

This simplifies the configuration and makes WiFi connection automatic on boot.
2025-09-17 08:57:19 +02:00
4cf1a3a715 remove: disable chromium completely and delete firefox default browser service 2025-09-16 22:29:48 +02:00
7f4a87b194 fix: remove undefined serverList variable from bash completion 2025-09-16 19:09:21 +02:00
d4f9e9c37d docs: update readme title and description 2025-09-16 19:04:03 +02:00
eaf7667728 refactor: clean up workshop for Science in the City event
- Update workshop name from 'CODE CRISPIES' to 'SCIENCE IN THE CITY'
- Remove all Hetzner cloud deployment references and commands
- Focus documentation on local USB/VM workshop environment
- Remove cloud server connection functionality
- Update WiFi credentials for workshop network
- Clean up AGENTS.md to reflect local-only development workflow
- Remove misleading cloud infrastructure references
- Update help commands and learning flow for local practice only

This commit prepares the workshop materials for the Science in the City event,
focusing exclusively on local Co-op Cloud deployment practice without cloud
infrastructure dependencies.
2025-09-16 19:02:03 +02:00
c996924055 fix: update workshop WiFi credentials to match documentation
- Update SSID from 'ziegel' to 'CODE_CRISPIES'
- Update password to 'scienceinthecity2025'
- Update connection check in WiFi setup service
- Sync with USB_BOOT_INSTRUCTIONS.md documentation
2025-09-16 18:58:14 +02:00
fe21611678 fix: restore workshop WiFi connection setup service
- Add back the missing workshop-wifi-setup systemd service
- Service creates and connects to 'ziegel' WiFi network automatically
- Fixes missing WiFi connection that was present in main branch
- Provides fallback hotspot connectivity for workshop environment
2025-09-16 18:56:01 +02:00
4087350bdb feat: increase memory of qemu usb test 2025-09-16 18:53:41 +02:00
4dd8ae874a docs: update USB boot instructions for GNOME autostart changes
- Update 'What You Should See' section to reflect terminal no longer auto-opens
- Update troubleshooting section to clarify terminal behavior
- Add note about terminal not auto-starting to prevent boot hangs
2025-09-16 18:52:32 +02:00
0078ae7c74 fix: comment out GNOME autostart to prevent USB boot hangs
- Comment out hardware.enableAllFirmware and boot.kernelPackages settings
- Comment out GNOME autostart desktop file to prevent boot hangs
- Keep hardware.enableRedistributableFirmware enabled for WiFi support
2025-09-16 18:52:02 +02:00
abd41f7b62 fix: restore workshop-hotspot SSID for Wi-Fi connection 2025-09-16 12:57:37 +02:00
48bf819570 feat: add WiFi connection setup service for workshop hotspot 2025-09-16 12:54:05 +02:00
02870106bd feat: add build timestamp service and version info to bash init 2025-09-16 12:14:39 +02:00
c96bd4b28b feat: add linux-firmware and WiFi kernel modules for hardware support 2025-09-16 11:55:29 +02:00
364e2203ac docs: add /build to .gitignore to exclude build artifacts 2025-09-16 11:55:25 +02:00
f148290747 docs: correct local vm description in agents.md 2025-09-16 11:32:19 +02:00
bc52b50cad docs: update documentation for new build directory structure
- Add build locations section to AGENTS.md
- Update README.md with build directory information
- Fix AGENTS.md vm-run command reference
- Document that clean removes both ./build/ and ./result/
- Ensure consistency across all documentation files

Addresses documentation inconsistencies after Makefile changes.
2025-09-16 11:24:54 +02:00
5c205dd88b fix: switch to wpa_supplicant backend for standard WiFi support
- Change NetworkManager backend from iwd to wpa_supplicant
- Remove custom WiFi profiles to allow auto-detection
- Remove iwd service and package
- Add standard WiFi packages: wpa_supplicant, wirelesstools, iw
- This provides standard NixOS live ISO WiFi functionality

Fixes WiFi controller detection issues in live USB environment.
2025-09-16 11:20:36 +02:00
956ef2b845 fix: add essential GNOME services for network integration
- Add glib-networking.enable = true (CRITICAL for NetworkManager-GNOME integration)
- Add gnome-settings-daemon.enable = true (handles GNOME settings)
- Add gnome-keyring.enable = true (good practice)

This fixes the missing WiFi options in GNOME settings by enabling
proper integration between NetworkManager and GNOME desktop.
Based on working host configuration analysis.
2025-09-16 01:13:13 +02:00
7f2a70758b docs: clarify VM vs hardware WiFi expectations
The VM uses QEMU user-mode networking which provides virtual Ethernet,
not WiFi hardware. WiFi configuration will only be available on real
hardware with actual WiFi adapters in the live USB environment.
2025-09-16 00:57:15 +02:00
9acf7c3deb fix: add GNOME network settings and iwd WiFi backend
- Add gnome-control-center for GNOME Settings network panel
- Add iwd (iNet wireless daemon) for better WiFi support
- Enable iwd service and configure NetworkManager to use it
- This should make WiFi options visible in GNOME settings

Test in VM first with 'make vm' before building new ISO
2025-09-16 00:49:21 +02:00
629fe7f583 refactor: rename USB-related make commands for better clarity
- Rename build-usb → usb-build
- Rename flash-usb → usb-flash
- Rename test-usb → usb-test
- Fix duplicate vm target in Makefile
- Update README.md and AGENTS.md documentation
- Maintain consistent command naming convention

This makes the commands more intuitive by grouping USB operations
with the 'usb-' prefix, improving developer experience and reducing
confusion about command purposes.
2025-09-16 00:46:51 +02:00
023f0acef3 fix: add network manager GUI and manual network configuration
- Add networkmanagerapplet for GUI network management in GNOME
- Add network status checking to bash initialization
- Add network_help function for manual configuration guidance
- Create comprehensive MANUAL_NETWORK_SETUP.md documentation
- Update ISO label to workshop-friendly name
- Fix NetworkManager configuration for live ISO

This resolves the issue where network manager was not accessible
in the live USB boot environment and provides fallback options
for manual network configuration when internet is not available.
2025-09-16 00:10:25 +02:00
0daef10532 format: apply nixpkgs formatting to Nix files
- Run make format to ensure consistent Nix code style
- Apply nixpkgs-fmt formatting standards
2025-09-15 22:33:59 +02:00
c93b25311c Add QEMU to dev environment and update testing workflow
- Add nix-env warning to AGENTS.md
- Include QEMU in flake.nix devShell for testing
- Update Makefile to use nix develop for QEMU commands
- Fix test-usb target to work with nix develop environment
2025-09-15 22:26:02 +02:00
2b797b400c docs: add critical warning about nix-env usage
- Add warning to never run nix-env as it can break Nix environments
- Include recommended alternatives (nix-shell, nix develop)
2025-09-15 22:22:10 +02:00
6f0193f411 Format bash script indentation in common.nix
- Remove leading spaces from bash script content for consistency
- Improve code formatting and readability
2025-09-15 22:20:09 +02:00
0929f77d4b Fix ISO filename detection in Makefile
- Add dynamic ISO_FILE variable to find actual ISO filename
- Update build-usb, flash-usb, and test-usb targets to use correct filename
- Fix du command and QEMU cdrom parameter to reference actual ISO file
2025-09-15 22:20:03 +02:00
3af93eaee4 refactor: rename lint command to format 2025-09-15 20:15:43 +02:00
c884b9ab3b feat: add timezone configuration for europe/berlin 2025-09-15 20:10:46 +02:00
446eb802ae fix: format nix files and update configurations 2025-09-15 20:07:14 +02:00
914c6fa550 feat: configure firefox as default browser with privacy settings 2025-09-15 19:53:58 +02:00
04bca53ca7 fix: enable wifi in networkmanager configuration 2025-09-15 16:17:59 +02:00
f66e34c54e feat: add wifi hotspot configuration and refactor gui sections 2025-09-15 16:13:24 +02:00
ac155a61b6 feat: switch to gnome console and firefox-only browser 2025-09-15 15:29:43 +02:00
7988306ab0 fix: update fonts configuration for NixOS changes
- Rename fonts.fonts to fonts.packages (deprecated option)
- Add cantarell-fonts (GNOME default) and ubuntu-classic for better font coverage
- Should resolve QEMU font warnings for DejaVu Sans Mono
2025-09-15 14:29:14 +02:00
6aa284cd55 fix: add more font packages for QEMU GTK display
- Add freefont_ttf, ubuntu_font_family, cantarell-fonts to fonts.fonts
- Also add dejavu_fonts and liberation_ttf to systemPackages for QEMU access
- Should resolve Pango font warnings about missing DejaVu Sans Mono variants
2025-09-15 14:27:42 +02:00
fd40d7edf9 feat: start GNOME terminal maximized on login
- Change from --full-screen to --maximize for better usability
- Maintains workshop terminal title
- Provides maximized terminal window like previous XFCE setup
2025-09-15 14:25:47 +02:00