Add FredOS-Eee: i686 netbook, XFCE; bump nixpkgs to 5e2305d

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
rope 2026-09-28 14:40:05 +01:00
parent c39d570d19
commit 467330c4ee
4 changed files with 97 additions and 3 deletions

54
hosts/FredOS-Eee.nix Normal file
View file

@ -0,0 +1,54 @@
# FredOS-Eee — Asus Eee PC 1000HG, a toy netbook running XFCE.
#
# Not built from common.nix: stylix, home-manager and hyprland would all
# compile from source for i686 (almost nothing is in cache.nixos.org for it)
# and wouldn't fit in 1GB anyway. Only locale + users are shared.
#
# Build on the server, never on the Eee — evaluating this flake alone would
# eat its 1GB.
{ config, lib, pkgs, ... }:
{
imports = [
../settings/locale.nix
../settings/users.nix
];
nixpkgs.overlays = [
(final: prev: {
# partial-protected-regular-retry-linux fails on i686; the binary is fine.
rsync = prev.rsync.overrideAttrs { doCheck = false; };
# Tests need gjs -> spidermonkey, an hour+ of i686 compile for a check.
libsecret = prev.libsecret.overrideAttrs { doCheck = false; };
})
];
# Portals (flatpak-style sandbox plumbing) drag in gnome-settings-daemon,
# cinnamon-desktop and pulseaudio. Nothing here needs them.
xdg.portal.enable = lib.mkForce false;
# Plain gvfs: no gnome-online-accounts.
services.gvfs.package = pkgs.gvfs;
nix.settings.experimental-features = [ "nix-command" "flakes" ];
networking.networkmanager.enable = true;
services.xserver.enable = true;
services.xserver.desktopManager.xfce.enable = true;
# Thunar thumbnails: tumbler -> libgepub -> webkitgtk, hours of i686 compile.
services.tumbler.enable = lib.mkForce false;
services.displayManager.autoLogin = {
enable = true;
user = "fred";
};
services.openssh.enable = true;
# The server's key, so it can push closures and poke at the box.
users.users.fred.openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMbIdOSPjnJYQ7z7n0mHKo8T8PnAkCyIBCmT4KpsHyy/ fred@FredOS-Mediaserver"
];
# 1GB RAM: compressed swap in front of the disk swap.
zramSwap.enable = true;
# The NixOS manual is a big from-source build on i686 for a page nobody reads.
documentation.nixos.enable = false;
}

View file

@ -0,0 +1,36 @@
#./hosts/hardware/FredOS-Eee.nix
#
# Asus Eee PC 1000HG: Atom N270 (i686 only, no x86_64), 1GB RAM, GMA 945,
# Atheros AR242x wifi. BIOS only, MBR disk: sda1 root, sda2 swap.
{ config, lib, pkgs, modulesPath, ... }:
{
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "uhci_hcd" "ehci_pci" "ata_piix" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ ];
boot.extraModulePackages = [ ];
boot.loader.grub = {
enable = true;
device = "/dev/sda";
};
fileSystems."/" = {
device = "/dev/disk/by-uuid/3b1f4a1a-a5f7-480d-8bc1-a372b846d22c";
fsType = "ext4";
};
swapDevices = [
{ device = "/dev/disk/by-uuid/32ca4097-0ea0-4594-998c-c5756591530e"; }
];
nixpkgs.hostPlatform = "i686-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
hardware.enableRedistributableFirmware = true;
networking.hostName = "FredOS-Eee";
system.stateVersion = "26.05";
}