fix: format nix files and update configurations

This commit is contained in:
2025-09-15 20:07:14 +02:00
parent 914c6fa550
commit 446eb802ae
3 changed files with 97 additions and 97 deletions

View File

@@ -6,7 +6,6 @@ This file provides guidelines for AI coding agents operating within this reposit
- **Build**: `make build-usb` (Builds the NixOS workshop ISO) - **Build**: `make build-usb` (Builds the NixOS workshop ISO)
- **Local VM**: `make vm` (Starts local VM that simulates USB environment) - **Local VM**: `make vm` (Starts local VM that simulates USB environment)
- **Lint**: `make lint` (Runs markdownlint, JSON validation, and nixpkgs-fmt)
- **Test**: `make status-cloud` (Health checks for cloud infrastructure) - **Test**: `make status-cloud` (Health checks for cloud infrastructure)
- **Deploy**: `make deploy-cloud` (Deploys 15 VMs to Hetzner Cloud) - **Deploy**: `make deploy-cloud` (Deploys 15 VMs to Hetzner Cloud)

View File

@@ -515,43 +515,43 @@ isoConfig
fi fi
''; '';
serviceConfig = { serviceConfig = {
Type = "oneshot"; Type = "oneshot";
RemainAfterExit = true; RemainAfterExit = true;
User = "root"; User = "root";
Environment = [ Environment = [
"TERM=xterm-256color" "TERM=xterm-256color"
"HOME=/root" "HOME=/root"
]; ];
}; };
}; };
# Set Firefox as default browser # Set Firefox as default browser
systemd.services.workshop-set-default-browser = { systemd.services.workshop-set-default-browser = {
description = "Set Firefox as the default browser for workshop user"; description = "Set Firefox as the default browser for workshop user";
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
after = [ "network.target" ]; after = [ "network.target" ];
path = with pkgs; [ path = with pkgs; [
xdg-utils xdg-utils
coreutils coreutils
su su
]; ];
script = '' script = ''
# Set Firefox as default browser for workshop user # Set Firefox as default browser for workshop user
su - workshop -c "xdg-settings set default-web-browser firefox.desktop" su - workshop -c "xdg-settings set default-web-browser firefox.desktop"
# Also set MIME types for HTML files # Also set MIME types for HTML files
su - workshop -c "xdg-mime default firefox.desktop text/html" su - workshop -c "xdg-mime default firefox.desktop text/html"
su - workshop -c "xdg-mime default firefox.desktop x-scheme-handler/http" su - workshop -c "xdg-mime default firefox.desktop x-scheme-handler/http"
su - workshop -c "xdg-mime default firefox.desktop x-scheme-handler/https" su - workshop -c "xdg-mime default firefox.desktop x-scheme-handler/https"
''; '';
serviceConfig = { serviceConfig = {
Type = "oneshot"; Type = "oneshot";
RemainAfterExit = true; RemainAfterExit = true;
User = "root"; User = "root";
}; };
}; };
# Enhanced Bash Configuration with All Features # Enhanced Bash Configuration with All Features
programs.bash.interactiveShellInit = programs.bash.interactiveShellInit =
let let
recipeList = builtins.concatStringsSep " " allRecipes; recipeList = builtins.concatStringsSep " " allRecipes;
@@ -1233,57 +1233,57 @@ isoConfig
} }
''; '';
programs.firefox = { programs.firefox = {
enable = true; enable = true;
preferences = { preferences = {
"browser.fixup.fallback-to-https" = false; "browser.fixup.fallback-to-https" = false;
"browser.urlbar.autoFill" = false; "browser.urlbar.autoFill" = false;
# Disable telemetry and data collection # Disable telemetry and data collection
"datareporting.healthreport.uploadEnabled" = false; "datareporting.healthreport.uploadEnabled" = false;
"datareporting.policy.dataSubmissionEnabled" = false; "datareporting.policy.dataSubmissionEnabled" = false;
"toolkit.telemetry.enabled" = false; "toolkit.telemetry.enabled" = false;
"toolkit.telemetry.unified" = false; "toolkit.telemetry.unified" = false;
"toolkit.telemetry.archive.enabled" = false; "toolkit.telemetry.archive.enabled" = false;
"toolkit.telemetry.newProfilePing.enabled" = false; "toolkit.telemetry.newProfilePing.enabled" = false;
"toolkit.telemetry.shutdownPingSender.enabled" = false; "toolkit.telemetry.shutdownPingSender.enabled" = false;
"toolkit.telemetry.updatePing.enabled" = false; "toolkit.telemetry.updatePing.enabled" = false;
"toolkit.telemetry.bhrPing.enabled" = false; "toolkit.telemetry.bhrPing.enabled" = false;
"toolkit.telemetry.firstShutdownPing.enabled" = false; "toolkit.telemetry.firstShutdownPing.enabled" = false;
"toolkit.telemetry.coverage.opt-out" = true; "toolkit.telemetry.coverage.opt-out" = true;
"toolkit.coverage.opt-out" = true; "toolkit.coverage.opt-out" = true;
"toolkit.coverage.endpoint.base" = ""; "toolkit.coverage.endpoint.base" = "";
# Disable Mozilla experiments # Disable Mozilla experiments
"experiments.supported" = false; "experiments.supported" = false;
"experiments.enabled" = false; "experiments.enabled" = false;
"experiments.manifest.uri" = ""; "experiments.manifest.uri" = "";
# Disable crash reporting # Disable crash reporting
"breakpad.reportURL" = ""; "breakpad.reportURL" = "";
"browser.tabs.crashReporting.sendReport" = false; "browser.tabs.crashReporting.sendReport" = false;
"browser.crashReports.unsubmittedCheck.autoSubmit2" = false; "browser.crashReports.unsubmittedCheck.autoSubmit2" = false;
# Disable default browser check # Disable default browser check
"browser.shell.checkDefaultBrowser" = false; "browser.shell.checkDefaultBrowser" = false;
# Disable welcome tour and onboarding # Disable welcome tour and onboarding
"browser.aboutwelcome.enabled" = false; "browser.aboutwelcome.enabled" = false;
"browser.onboarding.enabled" = false; "browser.onboarding.enabled" = false;
"browser.onboarding.tour-type" = "new"; "browser.onboarding.tour-type" = "new";
"browser.onboarding.seen-tourset-version" = "999"; "browser.onboarding.seen-tourset-version" = "999";
"browser.onboarding.hidden" = true; "browser.onboarding.hidden" = true;
# Disable pocket # Disable pocket
"extensions.pocket.enabled" = false; "extensions.pocket.enabled" = false;
# Disable Firefox accounts # Disable Firefox accounts
"identity.fxaccounts.enabled" = false; "identity.fxaccounts.enabled" = false;
# Disable sponsored content # Disable sponsored content
"browser.newtabpage.activity-stream.showSponsored" = false; "browser.newtabpage.activity-stream.showSponsored" = false;
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false; "browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
# Disable search suggestions # Disable search suggestions
"browser.search.suggest.enabled" = false; "browser.search.suggest.enabled" = false;
"browser.urlbar.suggest.searches" = false; "browser.urlbar.suggest.searches" = false;
# Disable geolocation # Disable geolocation
"geo.enabled" = false; "geo.enabled" = false;
# Disable webRTC # Disable webRTC
"media.peerconnection.enabled" = false; "media.peerconnection.enabled" = false;
}; };
}; };
# Font packages for GUI rendering (QEMU GTK display) # Font packages for GUI rendering (QEMU GTK display)
fonts.packages = with pkgs; [ fonts.packages = with pkgs; [

View File

@@ -10,10 +10,10 @@
}; };
outputs = outputs =
{ self {
, nixpkgs self,
, nixos-generators nixpkgs,
, nixos-generators,
}: }:
let let
system = "x86_64-linux"; system = "x86_64-linux";
@@ -40,8 +40,8 @@
# Common configuration # Common configuration
commonConfig = commonConfig =
{ isLiveIso ? false {
, isLiveIso ? false,
}: }:
import ./common.nix { import ./common.nix {
inherit pkgs cloudServerNames isLiveIso; inherit pkgs cloudServerNames isLiveIso;
@@ -76,10 +76,11 @@
(commonConfig { isLiveIso = false; }) (commonConfig { isLiveIso = false; })
( (
{ config {
, pkgs config,
, lib pkgs,
, ... lib,
...
}: }:
{ {
boot.loader.grub.enable = false; boot.loader.grub.enable = false;