Some checks failed
Test / Create distribution (push) Successful in 1m0s
Test / Sandbox (push) Successful in 2m38s
Test / Hakurei (push) Successful in 3m43s
Test / ShareFS (push) Successful in 3m40s
Test / Sandbox (race detector) (push) Successful in 5m1s
Test / Hakurei (race detector) (push) Successful in 6m0s
Test / Flake checks (push) Failing after 1m12s
This is primarily useful for poorly written music players for now. Signed-off-by: Ophestra <cat@gensokyo.uk>
66 lines
1.3 KiB
Nix
66 lines
1.3 KiB
Nix
{
|
|
virtualisation.vmVariant.virtualisation = {
|
|
memorySize = 4096;
|
|
qemu.options = [
|
|
"-vga none -device virtio-gpu-pci"
|
|
"-smp 8"
|
|
];
|
|
|
|
security.pam.loginLimits = [
|
|
{
|
|
domain = "@users";
|
|
item = "rtprio";
|
|
type = "-";
|
|
value = 1;
|
|
}
|
|
];
|
|
|
|
mountHostNixStore = true;
|
|
writableStore = true;
|
|
writableStoreUseTmpfs = false;
|
|
|
|
sharedDirectories = {
|
|
cwd = {
|
|
target = "/mnt/.ro-cwd";
|
|
source = ''"$OLDPWD"'';
|
|
securityModel = "none";
|
|
};
|
|
};
|
|
|
|
fileSystems = {
|
|
"/mnt/.ro-cwd".options = [
|
|
"ro"
|
|
"noatime"
|
|
];
|
|
"/mnt/cwd".overlay = {
|
|
lowerdir = [ "/mnt/.ro-cwd" ];
|
|
upperdir = "/tmp/.cwd/upper";
|
|
workdir = "/tmp/.cwd/work";
|
|
};
|
|
|
|
"/mnt/src".overlay = {
|
|
lowerdir = [ ../.. ];
|
|
upperdir = "/tmp/.src/upper";
|
|
workdir = "/tmp/.src/work";
|
|
};
|
|
};
|
|
};
|
|
|
|
systemd.services = {
|
|
logrotate-checkconf.enable = false;
|
|
hakurei-src-fix-ownership = {
|
|
wantedBy = [ "multi-user.target" ];
|
|
wants = [ "mnt-src.mount" ];
|
|
after = [ "mnt-src.mount" ];
|
|
serviceConfig = {
|
|
Type = "oneshot";
|
|
RemainAfterExit = true;
|
|
};
|
|
script = ''
|
|
chown -R alice:users /mnt/src/
|
|
chmod -R +w /mnt/src/
|
|
'';
|
|
};
|
|
};
|
|
}
|