Archived
Check NixOS configurations / eval-hosts (push) Failing after 12m2s
Generates all nixosConfigurations from mkTarget(platform, buildType, hostPath) instead of hand-written per-host blocks, so adding a new platform or build type is a one-line addition. Per-machine identity (hostname, hostId, secrets, stateVersion) moves into hosts/<name>/host.nix; platform-specific config (hardware, boot, networking) into modules/platforms/*.nix; build-type config (minimal/server/docker/gui/ nix-cache/pxe-boot) into modules/build-types/*.nix. Old flat targets (nixos, docker, server, nix-cache, nix-minimal, pxe-boot) are replaced by the 17-target <platform>-<buildtype> matrix; each new target was verified to evaluate before its old counterpart was removed. CI workflows and docs/aliases now discover hosts dynamically via nixosConfigurations attrNames and /etc/flake-target instead of hardcoded lists, so they can't drift from flake.nix again. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
58 lines
1.3 KiB
Nix
58 lines
1.3 KiB
Nix
{ config, pkgs, lib, inputs, ... }:
|
|
|
|
{
|
|
environment.systemPackages = with pkgs; [
|
|
inputs.nixos-conf-editor.packages.${pkgs.system}.nixos-conf-editor
|
|
nodejs
|
|
appimage-run
|
|
seahorse
|
|
vscode
|
|
p7zip
|
|
popsicle # balena-etcher
|
|
shotcut
|
|
gimp
|
|
pdfarranger
|
|
terminator
|
|
libreoffice-qt
|
|
transmission_4-qt
|
|
];
|
|
|
|
boot.loader.grub.useOSProber = true;
|
|
|
|
services.xserver.enable = true;
|
|
services.xserver.displayManager.lightdm.enable = true;
|
|
services.xserver.desktopManager.cinnamon.enable = true;
|
|
|
|
services.xserver.xkb = {
|
|
layout = "au";
|
|
variant = "";
|
|
};
|
|
|
|
services.printing.enable = true;
|
|
|
|
security.rtkit.enable = true;
|
|
services.pipewire = {
|
|
enable = true;
|
|
alsa.enable = true;
|
|
alsa.support32Bit = true;
|
|
pulse.enable = true;
|
|
};
|
|
|
|
users.users.nixos.extraGroups = [ "networkmanager" ];
|
|
|
|
programs.firefox.enable = true;
|
|
|
|
services.xrdp.enable = true;
|
|
services.xrdp.defaultWindowManager = "cinnamon-session";
|
|
services.xrdp.openFirewall = true;
|
|
nixpkgs.config.allowUnfree = true;
|
|
|
|
services.gnome.gnome-keyring.enable = true;
|
|
security.pam.services.login.enableGnomeKeyring = true;
|
|
|
|
services.xserver.displayManager.sessionCommands = ''
|
|
eval $(gnome-keyring-daemon --start --components=secrets,ssh)
|
|
export SSH_AUTH_SOCK
|
|
'';
|
|
}
|