Commit Graph
100 Commits
Author SHA1 Message Date
libretech fa5b134600 fix: improve abra install retry logic and remove restart loop 2025-09-17 16:57:55 +02:00
libretech 20a7f030ef fix: remove internet wait loop, retry abra install 300 times 2025-09-17 16:49:03 +02:00
libretech 70551d1e75 fix: remove network-online dependency from abra installation service 2025-09-17 16:07:24 +02:00
libretech d0f9117515 docs: improve slides reference with descriptive sentence 2025-09-17 11:16:14 +02:00
libretech b8fb20b4e4 docs: add reference to workshop slides 2025-09-17 11:05:54 +02:00
libretech cf60dbcfb8 docs: add documentation section and update recipes file location 2025-09-17 10:51:01 +02:00
libretech 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
libretech 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
libretech 4cf1a3a715 remove: disable chromium completely and delete firefox default browser service 2025-09-16 22:29:48 +02:00
libretech 7f4a87b194 fix: remove undefined serverList variable from bash completion 2025-09-16 19:09:21 +02:00
libretech d4f9e9c37d docs: update readme title and description 2025-09-16 19:04:03 +02:00
libretech 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
libretech 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
libretech 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
libretech 4087350bdb feat: increase memory of qemu usb test 2025-09-16 18:53:41 +02:00
libretech 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
libretech 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
libretech abd41f7b62 fix: restore workshop-hotspot SSID for Wi-Fi connection 2025-09-16 12:57:37 +02:00
libretech 48bf819570 feat: add WiFi connection setup service for workshop hotspot 2025-09-16 12:54:05 +02:00
libretech 02870106bd feat: add build timestamp service and version info to bash init 2025-09-16 12:14:39 +02:00
libretech c96bd4b28b feat: add linux-firmware and WiFi kernel modules for hardware support 2025-09-16 11:55:29 +02:00
libretech 364e2203ac docs: add /build to .gitignore to exclude build artifacts 2025-09-16 11:55:25 +02:00
libretech f148290747 docs: correct local vm description in agents.md 2025-09-16 11:32:19 +02:00
libretech 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
libretech 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
libretech 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
libretech 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
libretech 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
libretech 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
libretech 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
libretech 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
libretech 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
libretech 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
libretech 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
libretech 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
libretech 3af93eaee4 refactor: rename lint command to format 2025-09-15 20:15:43 +02:00
libretech c884b9ab3b feat: add timezone configuration for europe/berlin 2025-09-15 20:10:46 +02:00
libretech 446eb802ae fix: format nix files and update configurations 2025-09-15 20:07:14 +02:00
libretech 914c6fa550 feat: configure firefox as default browser with privacy settings 2025-09-15 19:53:58 +02:00
libretech 04bca53ca7 fix: enable wifi in networkmanager configuration 2025-09-15 16:17:59 +02:00
libretech f66e34c54e feat: add wifi hotspot configuration and refactor gui sections 2025-09-15 16:13:24 +02:00
libretech ac155a61b6 feat: switch to gnome console and firefox-only browser 2025-09-15 15:29:43 +02:00
libretech 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
libretech 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
libretech 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
libretech d92654da99 feat: configure GNOME dock with workshop favorite apps
- Set favorite apps to only include text editor, terminal, Firefox, and Chromium
- Removes default GNOME apps from dock for cleaner workshop interface
2025-09-15 14:20:54 +02:00
libretech 85ef9180b2 fix: update GNOME configuration for NixOS changes
- Use renamed displayManager.autoLogin options (moved from gdm-specific)
- Disable GNOME welcome tour via extraGSettingsOverrides
- Move autoLogin config outside xserver block for newer NixOS compatibility
2025-09-15 14:19:42 +02:00
libretech ed959141e7 fix: configure GDM auto-login for workshop user
- Use GDM-specific autoLogin instead of generic displayManager autoLogin
- Auto-login as workshop user instead of root to properly start GNOME session
- Remove conflicting generic autoLogin from flake.nix
- Keep gnome-terminal sessionCommands for workshop terminal
2025-09-15 14:16:29 +02:00
libretech e291457e11 feat: switch desktop environment from XFCE to GNOME
- Change desktopManager from xfce to gnome
- Change displayManager from lightdm to gdm
- Update sessionCommands to use gnome-terminal instead of xfce4-terminal
2025-09-15 14:07:44 +02:00
libretech 9b42f00ebe docs: update vm commands and browser usage in docs 2025-09-15 14:04:06 +02:00
libretech e4b074d5b8 docs: update readme to sync with vm command changes 2025-09-15 14:00:51 +02:00
libretech 9384f9e567 fix: add font packages for QEMU GTK display rendering 2025-09-15 13:57:08 +02:00
libretech 88089b7fb6 fix certificates issues and reformat code 2025-09-15 13:09:49 +02:00
libretech f38fca65c0 traefik starts whit manual help 2025-09-15 11:58:37 +02:00
libretech f4aa0c1d09 split setup command and add debugging 2025-09-15 11:42:18 +02:00
libretech 1aa2d159c8 add offline support for abra and install missing packages 2025-09-15 09:59:02 +02:00
libretech db469cc0b4 add ssh config 2025-09-15 09:37:23 +02:00
libretech 6f15eb05c8 feat: improve abra CLI usage and firefox configuration 2025-08-19 21:37:22 +02:00
libretech 19c18db5f0 fix: add abra path and autocompletion to interactive shell init 2025-08-19 17:42:31 +02:00
libretech 1cc2c3f680 fix: improve abra systemd service environment and PATH persistence 2025-08-19 17:40:23 +02:00
libretech 45f2e6c230 feat: add essential tools to systemd service path in common.nix 2025-08-19 17:37:59 +02:00
libretech 017a8e9e74 feat: ignore idea folder 2025-08-19 13:51:22 +02:00
libretech 3761c28ed7 feat: split workshop setup into root and user services 2025-08-19 11:57:09 +02:00
libretech 01c2a37070 feat: ignore flake lock file when git diff 2025-08-19 11:07:52 +02:00
libretech 958a530465 feat: expand recipes catalog in common.nix 2025-08-19 11:06:12 +02:00
libretech fb04a07217 fix: make vm shortcup 2025-08-17 03:20:17 +02:00
libretech cd001cade7 fix: Enable root user for local VM execution 2025-08-17 03:01:07 +02:00
libretech 9d8369b6ea fix: add wget to systemd service path 2025-08-17 02:25:40 +02:00
libretech 3f88f69222 (abra install initiated, fails on missing wget) 2025-08-17 02:17:19 +02:00
libretech cc8e8dca93 fix: simplify systemd service script for workshop setup 2025-08-17 01:45:34 +02:00
libretech 2486b381d5 fix: use correct Nix package paths for su and usermod in common.nix 2025-08-17 01:30:05 +02:00
libretech 120111a77d Revert "fix: use correct Nix package paths for su and usermod in common.nix"
This reverts commit f72cc08b22.
2025-08-17 01:28:52 +02:00
libretech f72cc08b22 fix: use correct Nix package paths for su and usermod in common.nix 2025-08-17 01:28:13 +02:00
libretech 20691779a8 fix: remove extraneous closing brace in common.nix 2025-08-17 01:23:50 +02:00
libretech 6b9e4de07d fix: resolve systemd service pathing and environment issues in common.nix 2025-08-17 01:22:48 +02:00
libretech 7dca96ee90 fix: improve command execution and pathing in common.nix 2025-08-17 01:22:06 +02:00
libretech d2a09090c0 fix: ensure abra installation runs in correct directory 2025-08-17 00:40:39 +02:00
libretech af9eac4f46 feat: enhance workshop VM setup and developer experience 2025-08-17 00:39:22 +02:00
libretech 7320ca5642 feat: complete co-op cloud tutorial configurations 2025-08-16 23:23:19 +02:00
libretech 94880d476e refactor: improve local development environment setup 2025-08-16 23:20:50 +02:00
libretech 9cbfc36647 feat: refine dnsmasq and traefik setup in common.nix 2025-08-16 21:45:28 +02:00
libretech 341007a4e0 docs: update abra recipes 2025-08-16 21:45:11 +02:00
libretech 230e9598cb fix: resolve dnsmasq configuration issues (dnsmasq not starting) 2025-08-16 19:46:02 +02:00
libretech 8df1335adc feat: enhance local development environment with DNS and improved CLI 2025-08-16 18:42:40 +02:00
libretech 296d2ec047 feat: improve VM command naming and add commit guidelines 2025-08-16 18:28:04 +02:00
libretech 2c34741b03 feat: Implement hybrid console mode for workshop VM 2025-08-16 16:27:57 +02:00
libretech 1fdf506d7a refactor: Improve VM serial console and auto-login configuration 2025-08-16 16:20:06 +02:00
libretech bf18468eee feat: Configure workshop VM with bash and Abra utilities 2025-08-16 16:10:38 +02:00
libretech 94b1ec68a5 refactor: Improve NixOS configuration modularity and add Traefik setup utility 2025-08-16 15:46:08 +02:00
libretech 6c32b42f48 feat: Enhance NixOS workshop environment with conditional ISO settings and improved local development commands 2025-08-16 14:42:52 +02:00
libretech 66c986c8f1 feat: Centralize NixOS common configuration in common.nix and update flake.nix, Makefile, and README.md 2025-08-15 17:47:35 +02:00
libretech cbbebbd35d refactor: Enhance local development environment and documentation
- .gitignore: Ignore result* files.
- Makefile: Refactored to improve clarity, remove unused targets, add new testing targets (test-usb, test-vm), and streamline cloud deployment commands.
- README.md: Significantly updated to reflect the new single-participant environment focus, refine the learning flow, update commands, and improve overall readability.
- flake.nix: Modified to enable Docker for local development, adjust desktop environment behavior (manual start), and implement improved systemd services for container setup and health monitoring, including retry logic.
2025-08-15 04:33:34 +02:00
libretech d295e2b91d feat: Add WordPress example to abra app new command 2025-08-14 19:20:55 +02:00
libretech 82780552f0 feat: Add dynamic participant scaling and improved UX
- Makefile: Add local-vm-test/local-vm-full targets, improve error messages
- README.md: Document dynamic scaling, add troubleshooting section
- flake.nix: Implement dynamic container generation based on PARTICIPANTS env var

This enables running the workshop VM with 1-15 containers instead of fixed 15,
making local development more accessible on resource-constrained machines.
2025-08-14 18:52:51 +02:00
libretech c49eb614d5 stable vm run and container spin up, not reachable via ssh 2025-08-14 18:45:18 +02:00
libretech adaa7b29d2 format 2025-08-13 12:26:29 +02:00
libretech c33d90fa3f reduce config because of misvalidation 2025-08-13 12:26:06 +02:00
libretechandopencode 082f4ea9c7 fix: Update flake.nix and Makefile for linting tools and opencode target
🤖 Generated with [opencode](https://opencode.ai)

Co-Authored-By: opencode <noreply@opencode.ai>
2025-08-13 12:18:13 +02:00
libretechandopencode 2fc3724083 feat: Configure opencode permissions and add Nix dev shell target
🤖 Generated with [opencode](https://opencode.ai)

Co-Authored-By: opencode <noreply@opencode.ai>
2025-08-13 12:12:24 +02:00
libretech 1353cdf909 disable co-authored-by in opencode.json
🤖 Generated with [opencode](https://opencode.ai)
2025-08-13 11:46:15 +02:00