Compare commits

...

10 Commits

Author SHA1 Message Date
1a5ba3b930 weasel: use tent cache 2025-10-08 15:24:40 +02:00
a057c2e5f5 Add nixfmt-rfc-style to common packages 2025-10-08 15:24:40 +02:00
7e4fb6bccf Add packages to user abonerib 2025-10-08 15:24:39 +02:00
b5b90826a7 Add nix-output-monitor to default packages 2025-10-08 15:24:39 +02:00
b5140eda17 Set fish shell for user abonerib 2025-10-08 15:24:39 +02:00
6a89c4de90 weasel: create user folders in /var/lib/podman-users
/home is a nfs mount, which does not support extra filesystem arguments
needed to run podman. We need to have a local home.
2025-10-08 15:24:39 +02:00
8369b1207e weasel: add podman 2025-10-08 15:24:39 +02:00
f2bf4970c9 Replace __noChroot with requiredSystemFeatures 2025-10-08 13:54:54 +02:00
4b4fe9bb3d Add hwloc test with sys-devices feature 2025-10-07 17:34:46 +02:00
510d9046ce Enable custom sys-devices system feature 2025-10-07 17:05:29 +02:00
13 changed files with 78 additions and 14 deletions

View File

@@ -11,11 +11,13 @@
./base/hw.nix ./base/hw.nix
./base/net.nix ./base/net.nix
./base/nix.nix ./base/nix.nix
./base/sys-devices.nix
./base/ntp.nix ./base/ntp.nix
./base/rev.nix ./base/rev.nix
./base/ssh.nix ./base/ssh.nix
./base/users.nix ./base/users.nix
./base/watchdog.nix ./base/watchdog.nix
./base/zsh.nix ./base/zsh.nix
./base/fish.nix
]; ];
} }

View File

@@ -5,6 +5,8 @@
vim wget git htop tmux pciutils tcpdump ripgrep nix-index nixos-option vim wget git htop tmux pciutils tcpdump ripgrep nix-index nixos-option
nix-diff ipmitool freeipmi ethtool lm_sensors cmake gnumake file tree nix-diff ipmitool freeipmi ethtool lm_sensors cmake gnumake file tree
ncdu config.boot.kernelPackages.perf ldns pv ncdu config.boot.kernelPackages.perf ldns pv
nix-output-monitor
nixfmt-rfc-style
# From bsckgs overlay # From bsckgs overlay
osumb osumb
]; ];

4
m/common/base/fish.nix Normal file
View File

@@ -0,0 +1,4 @@
{ ... }:
{
programs.fish.enable = true;
}

View File

@@ -0,0 +1,9 @@
{
nix.settings.system-features = [ "sys-devices" ];
programs.nix-required-mounts.enable = true;
programs.nix-required-mounts.allowedPatterns.sys-devices.paths = [
"/sys/devices/system/cpu"
"/sys/devices/system/node"
];
}

View File

@@ -87,6 +87,12 @@
openssh.authorizedKeys.keys = [ openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIIFiqXqt88VuUfyANkZyLJNiuroIITaGlOOTMhVDKjf abonerib@bsc" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIIFiqXqt88VuUfyANkZyLJNiuroIITaGlOOTMhVDKjf abonerib@bsc"
]; ];
shell = pkgs.fish;
packages = with pkgs; [
starship
jujutsu
neovim
];
}; };
vlopez = { vlopez = {

View File

@@ -4,6 +4,7 @@
imports = [ imports = [
../common/ssf.nix ../common/ssf.nix
../module/hut-substituter.nix ../module/hut-substituter.nix
./virtualization.nix
]; ];
# Select this using the ID to avoid mismatches # Select this using the ID to avoid mismatches
@@ -30,4 +31,5 @@
prefixLength = 24; prefixLength = 24;
} ]; } ];
}; };
} }

View File

@@ -0,0 +1,40 @@
{
lib,
pkgs,
config,
...
}:
{
# Enable common container config files in /etc/containers
virtualisation.containers.enable = true;
virtualisation = {
podman = {
enable = true;
# Required for containers under podman-compose to be able to talk to each other.
defaultNetwork.settings.dns_enabled = true;
};
};
# We cannot use /home since nfs does not support fileattrs needed by podman
systemd.tmpfiles.settings = {
"podman-users" = lib.mapAttrs' (
name: value:
lib.nameValuePair ("/var/lib/podman-users/" + name) {
d = {
group = value.group;
mode = value.homeMode;
user = name;
};
}
) (lib.filterAttrs (_: x: x.isNormalUser) config.users.users);
};
# Useful other development tools
environment.systemPackages = with pkgs; [
dive # look into docker image layers
podman-tui # status of containers in the terminal
podman-compose # start group of containers for dev
];
}

View File

@@ -62,7 +62,7 @@ let
}; };
tests = rec { tests = rec {
#hwloc = callPackage ./test/bugs/hwloc.nix { }; # Broken, no /sys hwloc = callPackage ./test/bugs/hwloc.nix { };
#sigsegv = callPackage ./test/reproducers/sigsegv.nix { }; #sigsegv = callPackage ./test/reproducers/sigsegv.nix { };
hello-c = callPackage ./test/compilers/hello-c.nix { }; hello-c = callPackage ./test/compilers/hello-c.nix { };
hello-cpp = callPackage ./test/compilers/hello-cpp.nix { }; hello-cpp = callPackage ./test/compilers/hello-cpp.nix { };

View File

@@ -6,6 +6,7 @@
stdenv.mkDerivation { stdenv.mkDerivation {
name = "hwloc-test"; name = "hwloc-test";
requiredSystemFeatures = [ "sys-devices" ];
src = ./.; src = ./.;
@@ -14,7 +15,7 @@ stdenv.mkDerivation {
buildPhase = '' buildPhase = ''
ls -l /sys ls -l /sys
gcc -lhwloc hwloc.c -o hwloc gcc -lhwloc hwloc.c -o hwloc
strace ./hwloc strace ./hwloc > $out
''; '';
} }

View File

@@ -23,9 +23,8 @@ in stdenv.mkDerivation {
dontUnpack = true; dontUnpack = true;
dontConfigure = true; dontConfigure = true;
# nOS-V requires access to /sys/devices to request NUMA information. It will # nOS-V requires access to /sys/devices to request NUMA information
# fail to run otherwise, so we disable the sandbox for this test. requiredSystemFeatures = [ "sys-devices" ];
__noChroot = true;
buildInputs = [ openmp ]; buildInputs = [ openmp ];

View File

@@ -36,9 +36,8 @@ in stdenv.mkDerivation {
dontUnpack = true; dontUnpack = true;
dontConfigure = true; dontConfigure = true;
# nOS-V requires access to /sys/devices to request NUMA information. It will # nOS-V requires access to /sys/devices to request NUMA information
# fail to run otherwise, so we disable the sandbox for this test. requiredSystemFeatures = [ "sys-devices" ];
__noChroot = true;
buildInputs = [ nosv ]; buildInputs = [ nosv ];

View File

@@ -24,9 +24,8 @@ in stdenv.mkDerivation {
dontUnpack = true; dontUnpack = true;
dontConfigure = true; dontConfigure = true;
# nOS-V requires access to /sys/devices to request NUMA information. It will # nOS-V requires access to /sys/devices to request NUMA information
# fail to run otherwise, so we disable the sandbox for this test. requiredSystemFeatures = [ "sys-devices" ];
__noChroot = true;
buildPhase = '' buildPhase = ''
set -x set -x

View File

@@ -25,9 +25,10 @@ stdenv.mkDerivation rec {
hardeningDisable = [ "all" ]; hardeningDisable = [ "all" ];
#NIX_DEBUG = 1; #NIX_DEBUG = 1;
buildInputs = [ ]; #strace gdb; buildInputs = [ ]; #strace gdb;
# NODES requires access to /sys/devices to request NUMA information. It will
# fail to run otherwise, so we disable the sandbox for this test. # NODES requires access to /sys/devices to request NUMA information
__noChroot = true; requiredSystemFeatures = [ "sys-devices" ];
buildPhase = '' buildPhase = ''
set -x set -x
#$CC -v #$CC -v