Compare commits

...
Author SHA1 Message Date
Richie b64f2c8527 more test-exclusions
treefmt / nix fmt (pull_request) Successful in 2s
build_systems / build-portal-1 (pull_request) Canceled after 10m42s
build_systems / build-jeeves (pull_request) Canceled after 10m42s
build_systems / build-brain (pull_request) Canceled after 10m46s
build_systems / build-bob (pull_request) Canceled after 10m46s
build_systems / build-rhapsody-in-green (pull_request) Canceled after 10m47s
pytest / pytest (pull_request) Canceled after 2h1m15s
test ebook search / test-ebook-search (pull_request) Canceled after 2h1m31s
2026-09-12 11:19:47 -04:00
Richie 8cb130c6f0 fix(overlays): stabilize timing-sensitive tests 2026-09-12 11:19:47 -04:00
Richie 014747091a testing numprocesses to fix pytest-xdist tests 2026-09-12 11:19:46 -04:00
Richie bcaa030a02 fix(overlays): exclude failing x86-64-v3 tests
Skip the flaky GnuTLS UDP readiness test and the SciPy FFT tests whose
precision differences are acceptable for our workloads.
2026-09-12 11:19:46 -04:00
Richie 7f9616e73a removed hostPlatform from portal-1 2026-09-12 11:19:46 -04:00
Richie 97993f39b3 testing x86_v3 2026-09-12 11:19:46 -04:00
Richie eaa2fc2a70 removed steve
treefmt / nix fmt (pull_request) Successful in 3s
build_systems / build-brain (pull_request) Canceled after 26s
build_systems / build-jeeves (pull_request) Canceled after 25s
build_systems / build-portal-1 (pull_request) Canceled after 26s
pytest / pytest (pull_request) Successful in 1m2s
build_systems / build-bob (pull_request) Canceled after 26s
build_systems / build-rhapsody-in-green (pull_request) Canceled after 26s
test ebook search / test-ebook-search (pull_request) Successful in 1m18s
2026-09-12 11:15:37 -04:00
Richie 08931346dd refactor(home): trim user packages and move GUI modules into Richie's config 2026-09-12 11:15:04 -04:00
24 changed files with 107 additions and 259 deletions

No files matched your search

+9
View File
@@ -0,0 +1,9 @@
{
nixpkgs.hostPlatform = {
system = "x86_64-linux";
gcc = {
arch = "x86-64-v3";
tune = "generic";
};
};
}
+2
View File
@@ -15,6 +15,8 @@
}; };
}; };
test-exclusions = import ./test-exclusions.nix;
python-env = final: _prev: { python-env = final: _prev: {
my_python = final.python314.withPackages ( my_python = final.python314.withPackages (
ps: with ps; [ ps: with ps; [
+85
View File
@@ -0,0 +1,85 @@
# Test exclusions for the locally rebuilt x86-64-v3 package set.
#
# Selecting x86-64-v3 changes every affected derivation, so the normal
# nixpkgs binary cache cannot be used and upstream test suites run locally.
# The jeeves builder uses /tmp/nix-builds so filesystem tests run on tmpfs
# instead of ZFS with normalization=formD and utf8only=on; those tests remain
# enabled. The remaining workarounds cover UDP readiness, resource-sensitive
# parser and nested-worker races, and mismatched timeout clocks, plus
# architecture-dependent floating-point differences whose risk we accept for
# our workloads. Keep these exceptions visible until their causes are fixed.
_final: prev: {
gnutls = prev.gnutls.overrideAttrs (old: {
# This test uses a fixed four-second sleep instead of checking UDP
# readiness; the client saw no listener in the x86-64-v3 build.
postPatch = (old.postPatch or "") + ''
sed '2iexit 77' -i tests/serv-udp.sh
'';
});
prometheus = prev.prometheus.overrideAttrs (
old:
let
assets = old.passthru.assets.overrideAttrs (assetsOld: {
# CodeMirror's bounded synchronous parser can return an incomplete tree
# when these cases run on a heavily loaded builder.
postPatch = (assetsOld.postPatch or "") + ''
substituteInPlace module/codemirror-promql/src/complete/hybrid.test.ts \
--replace-fail "it(value.title, () => {" \
"(value.title === 'autocomplete topk params 2' ? it.skip : it)(value.title, () => {"
substituteInPlace module/codemirror-promql/src/parser/vector.test.ts \
--replace-fail "it(value.binaryExpr, () => {" \
"(value.binaryExpr === 'foo * on(test,blub) bar' ? it.skip : it)(value.binaryExpr, () => {"
'';
});
in
{
postPatch = builtins.replaceStrings [ "${old.passthru.assets}" ] [ "${assets}" ] (
builtins.unsafeDiscardStringContext old.postPatch
);
passthru = old.passthru // {
inherit assets;
};
}
);
pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [
(_pythonFinal: pythonPrev: {
backrefs = pythonPrev.backrefs.overridePythonAttrs (old: {
# regex measures its timeout in process CPU time, while this test used
# wall time and could miss the timeout when a busy builder descheduled it.
postPatch = (old.postPatch or "") + ''
substituteInPlace tests/test_bregex.py \
--replace-fail "time.time()" "time.process_time()"
'';
});
pytest-xdist = pythonPrev.pytest-xdist.overridePythonAttrs (old: {
# The suite exercises its own worker pools. Run the outer suite with one
# worker and allow inner workers more time on heavily loaded builders.
postPatch = (old.postPatch or "") + ''
substituteInPlace testing/test_remote.py \
--replace-fail "WAIT_TIMEOUT = 10.0" "WAIT_TIMEOUT = 60.0"
'';
preCheck = builtins.replaceStrings [ "--numprocesses=$NIX_BUILD_CORES" ] [ "--numprocesses=1" ] (
old.preCheck or ""
);
# This test deliberately crashes workers past the restart limit and
# races while checking which replacement message was emitted.
disabledTests = (old.disabledTests or [ ]) ++ [
"test_max_worker_restart_tests_queued"
];
});
scipy = pythonPrev.scipy.overridePythonAttrs (old: {
# x86-64-v3 FFT implementations produce rounding differences outside
# these tests' strict tolerances. We accept the numerical-precision
# risk for our workloads.
disabledTests = (old.disabledTests or [ ]) ++ [
"test_roundtrip_float32"
"test_roundtrip_scaling"
];
});
})
];
}
+1 -2
View File
@@ -3,7 +3,6 @@
imports = [ imports = [
"${inputs.self}/users/math" "${inputs.self}/users/math"
"${inputs.self}/users/richie" "${inputs.self}/users/richie"
"${inputs.self}/users/steve"
"${inputs.self}/common/global" "${inputs.self}/common/global"
"${inputs.self}/common/optional/docker.nix" "${inputs.self}/common/optional/docker.nix"
"${inputs.self}/common/optional/monitoring-agent.nix" "${inputs.self}/common/optional/monitoring-agent.nix"
@@ -14,7 +13,7 @@
"${inputs.self}/common/optional/systemd-boot.nix" "${inputs.self}/common/optional/systemd-boot.nix"
"${inputs.self}/common/optional/tailscale.nix" "${inputs.self}/common/optional/tailscale.nix"
"${inputs.self}/common/optional/update.nix" "${inputs.self}/common/optional/update.nix"
"${inputs.self}/common/optional/yubikey.nix" "${inputs.self}/common/optional/x86-64-v3.nix"
"${inputs.self}/common/optional/zfs" "${inputs.self}/common/optional/zfs"
./hardware.nix ./hardware.nix
./syncthing.nix ./syncthing.nix
+1
View File
@@ -9,6 +9,7 @@
"${inputs.self}/common/optional/systemd-boot.nix" "${inputs.self}/common/optional/systemd-boot.nix"
"${inputs.self}/common/optional/tailscale.nix" "${inputs.self}/common/optional/tailscale.nix"
"${inputs.self}/common/optional/update.nix" "${inputs.self}/common/optional/update.nix"
"${inputs.self}/common/optional/x86-64-v3.nix"
"${inputs.self}/common/optional/zfs" "${inputs.self}/common/optional/zfs"
./docker ./docker
./hardware.nix ./hardware.nix
+2 -2
View File
@@ -1,4 +1,4 @@
{ inputs, lib, ... }: { inputs, ... }:
let let
vars = import ./vars.nix; vars = import ./vars.nix;
in in
@@ -6,7 +6,6 @@ in
imports = [ imports = [
"${inputs.self}/users/math" "${inputs.self}/users/math"
"${inputs.self}/users/richie" "${inputs.self}/users/richie"
"${inputs.self}/users/steve"
"${inputs.self}/common/global" "${inputs.self}/common/global"
"${inputs.self}/common/optional/docker.nix" "${inputs.self}/common/optional/docker.nix"
"${inputs.self}/common/optional/monitoring-agent.nix" "${inputs.self}/common/optional/monitoring-agent.nix"
@@ -14,6 +13,7 @@ in
"${inputs.self}/common/optional/syncthing_base.nix" "${inputs.self}/common/optional/syncthing_base.nix"
"${inputs.self}/common/optional/tailscale.nix" "${inputs.self}/common/optional/tailscale.nix"
"${inputs.self}/common/optional/update.nix" "${inputs.self}/common/optional/update.nix"
"${inputs.self}/common/optional/x86-64-v3.nix"
"${inputs.self}/common/optional/zfs" "${inputs.self}/common/optional/zfs"
./monitoring ./monitoring
./docker ./docker
+1 -2
View File
@@ -10,13 +10,12 @@
"${inputs.self}/users/richie" "${inputs.self}/users/richie"
"${inputs.self}/common/global" "${inputs.self}/common/global"
"${inputs.self}/common/optional/tailscale.nix" "${inputs.self}/common/optional/tailscale.nix"
"${inputs.self}/common/optional/x86-64-v3.nix"
./disk-config.nix ./disk-config.nix
./haproxy ./haproxy
./monitoring.nix ./monitoring.nix
]; ];
nixpkgs.hostPlatform = "x86_64-linux";
boot = { boot = {
# Avoid consuming the VM's limited memory for /tmp. # Avoid consuming the VM's limited memory for /tmp.
tmp.useTmpfs = false; tmp.useTmpfs = false;
+1
View File
@@ -9,6 +9,7 @@
"${inputs.self}/common/optional/syncthing_base.nix" "${inputs.self}/common/optional/syncthing_base.nix"
"${inputs.self}/common/optional/systemd-boot.nix" "${inputs.self}/common/optional/systemd-boot.nix"
"${inputs.self}/common/optional/tailscale.nix" "${inputs.self}/common/optional/tailscale.nix"
"${inputs.self}/common/optional/x86-64-v3.nix"
"${inputs.self}/common/optional/yubikey.nix" "${inputs.self}/common/optional/yubikey.nix"
"${inputs.self}/common/optional/zfs" "${inputs.self}/common/optional/zfs"
./hardware.nix ./hardware.nix
+1 -38
View File
@@ -3,54 +3,17 @@
home.packages = with pkgs; [ home.packages = with pkgs; [
# cli # cli
bat bat
btop
eza
fd
ffmpegthumbnailer
fzf fzf
git git
gnupg
imagemagick
jq jq
ncdu ncdu
ouch fastfetch
p7zip p7zip
poppler
rar rar
ripgrep
starship
tmux
unzip unzip
yazi
zoxide zoxide
# system info
hwloc
lynis
pciutils
smartmontools
usbutils
# networking
iperf3
nmap
wget
# python # python
ruff ruff
uv uv
# nodejs
nodejs
# Rust packages
trunk
wasm-pack
cargo-watch
cargo-generate
cargo-audit
cargo-update
# nix
nix-init
nix-output-monitor
nix-prefetch
nix-tree
nixfmt
treefmt
]; ];
} }
File renamed without changes.
+4 -4
View File
@@ -1,12 +1,12 @@
{ inputs, pkgs, ... }: { pkgs, ... }:
{ {
imports = [ imports = [
"${inputs.self}/users/shared/comms.nix" ./comms.nix
"${inputs.self}/users/shared/games.nix"
"${inputs.self}/users/shared/sweet.nix"
./firefox ./firefox
./games.nix
./kitty.nix ./kitty.nix
./llm_tools.nix ./llm_tools.nix
./sweet.nix
./t3_code ./t3_code
./vscode ./vscode
]; ];
File renamed without changes.
File renamed without changes.
-13
View File
@@ -3,21 +3,14 @@
home.packages = with pkgs; [ home.packages = with pkgs; [
# cli # cli
bat bat
fd
ffmpegthumbnailer
fzf fzf
git git
gnupg
imagemagick
jq jq
ncdu ncdu
fastfetch fastfetch
ouch
p7zip p7zip
poppler
rar rar
unzip unzip
yazi
zoxide zoxide
# Home Assistant # Home Assistant
esphome esphome
@@ -35,8 +28,6 @@
# python # python
ruff ruff
uv uv
# nodejs
nodejs
# Rust packages # Rust packages
bacon bacon
cargo cargo
@@ -51,9 +42,6 @@
rustfmt rustfmt
trunk trunk
wasm-pack wasm-pack
# cpp
clang-tools
clang_20
# nix # nix
nix-init nix-init
nix-output-monitor nix-output-monitor
@@ -61,6 +49,5 @@
nix-tree nix-tree
nixfmt nixfmt
treefmt treefmt
codebase-memory-mcp
]; ];
} }
-44
View File
@@ -1,44 +0,0 @@
{
pkgs,
config,
...
}:
let
ifTheyExist = groups: builtins.filter (group: builtins.hasAttr group config.users.groups) groups;
in
{
users = {
users.steve = {
isNormalUser = true;
shell = pkgs.zsh;
group = "steve";
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJH03VzDbUhzfhvwD+OsYh6GobODYaI9jdNdzWQoqFsp matth@Jove" # cspell:disable-line
];
extraGroups = [
"audio"
"video"
"wheel"
"users"
]
++ ifTheyExist [
"dialout"
"docker"
"hass"
"libvirtd"
"networkmanager"
"plugdev"
"scanner"
"transmission"
"uaccess"
"wireshark"
];
uid = 1005;
};
groups.steve.gid = 1005;
};
home-manager.users.steve = import ./systems/${config.networking.hostName}.nix;
}
-9
View File
@@ -1,9 +0,0 @@
{
imports = [
./direnv.nix
./git.nix
./zsh.nix
];
programs.starship.enable = true;
}
-8
View File
@@ -1,8 +0,0 @@
{
programs.direnv = {
enable = true;
enableZshIntegration = true;
nix-direnv.enable = true;
};
}
-15
View File
@@ -1,15 +0,0 @@
{
programs.git = {
enable = true;
signing.format = null;
settings = {
user = {
email = "matthew.michal11@gmail.com";
name = "Matthew Michal";
};
pull.rebase = true;
color.ui = true;
};
lfs.enable = true;
};
}
-28
View File
@@ -1,28 +0,0 @@
{
programs.zsh = {
enable = true;
syntaxHighlighting.enable = true;
history.size = 10000;
oh-my-zsh = {
enable = true;
plugins = [
"git"
"docker"
"docker-compose"
"colored-man-pages"
"rust"
"systemd"
"tmux"
"ufw"
"z"
];
};
shellAliases = {
"lrt" = "eza --icons -lsnew";
"ls" = "eza";
"ll" = "eza --long --group";
"la" = "eza --all";
};
};
}
-22
View File
@@ -1,22 +0,0 @@
{ config, ... }:
{
imports = [
./cli
./programs.nix
./ssh_config.nix
];
programs = {
home-manager.enable = true;
git.enable = true;
};
home = {
username = "steve";
homeDirectory = "/home/${config.home.username}";
stateVersion = "24.05";
sessionVariables = {
FLAKE = "$HOME/dotfiles";
};
};
}
-56
View File
@@ -1,56 +0,0 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
# cli
bat
btop
eza
fd
ffmpegthumbnailer
fzf
git
gnupg
imagemagick
jq
ncdu
ouch
p7zip
poppler
rar
ripgrep
starship
tmux
unzip
yazi
zoxide
# system info
hwloc
lynis
pciutils
smartmontools
usbutils
# networking
iperf3
nmap
wget
# python
ruff
uv
# nodejs
nodejs
# Rust packages
trunk
wasm-pack
cargo-watch
cargo-generate
cargo-audit
cargo-update
# nix
nix-init
nix-output-monitor
nix-prefetch
nix-tree
nixfmt
treefmt
];
}
-6
View File
@@ -1,6 +0,0 @@
{
programs.ssh = {
enable = true;
enableDefaultConfig = false;
};
}
-5
View File
@@ -1,5 +0,0 @@
{
imports = [
../home/global.nix
];
}
-5
View File
@@ -1,5 +0,0 @@
{
imports = [
../home/global.nix
];
}