Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5bae4840e7 | ||
|
|
9fe9f12014 | ||
|
|
5339721b50 |
4 changed files with 36 additions and 12 deletions
|
|
@ -3,7 +3,7 @@ name: build
|
||||||
on:
|
on:
|
||||||
pull_request: {}
|
pull_request: {}
|
||||||
push:
|
push:
|
||||||
branches: [ main ]
|
branches: [main]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
|
|
|
||||||
|
|
@ -2,11 +2,11 @@ name: flake update
|
||||||
|
|
||||||
on:
|
on:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: '0 3 * * *'
|
- cron: "0 3 * * *"
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
inputs:
|
inputs:
|
||||||
target:
|
target:
|
||||||
description: 'Inputs to update'
|
description: "Inputs to update"
|
||||||
type: choice
|
type: choice
|
||||||
default: all
|
default: all
|
||||||
options:
|
options:
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,9 @@
|
||||||
{ self, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
config = {
|
config = {
|
||||||
boot.enableContainers = true;
|
boot.enableContainers = true;
|
||||||
|
|
@ -22,13 +27,25 @@
|
||||||
# };
|
# };
|
||||||
# };
|
# };
|
||||||
|
|
||||||
# # Global DefaultTimeoutStopSec is 10s (modern-desktop.nix), which kills systemd-nspawn
|
# Global DefaultTimeoutStopSec is 10s (modern-desktop.nix), which kills systemd-nspawn
|
||||||
# # before it finishes halting, leaving cgroups busy and breaking restarts.
|
# before it finishes halting, leaving cgroups busy and breaking restarts.
|
||||||
# systemd.services."container@damocles".serviceConfig = {
|
systemd.services =
|
||||||
# TimeoutStopSec = "60s";
|
let
|
||||||
# # After a SIGKILL of nspawn, the kernel needs a moment to reap its cgroups.
|
# The imperative template plus every declarative container: nixos-containers
|
||||||
# # Without this, the immediate restart attempt fails with "Device or resource busy".
|
# generates each one as its own unit, so an override on "container@" alone
|
||||||
# RestartSec = "5s";
|
# would not reach them.
|
||||||
# };
|
containerUnits = [
|
||||||
|
"container@"
|
||||||
|
]
|
||||||
|
++ map (name: "container@${name}") (lib.attrNames config.containers);
|
||||||
|
in
|
||||||
|
lib.genAttrs containerUnits (_: {
|
||||||
|
serviceConfig = {
|
||||||
|
TimeoutStopSec = "2min";
|
||||||
|
# After a SIGKILL of nspawn, the kernel needs a moment to reap its cgroups.
|
||||||
|
# Without this, the immediate restart attempt fails with "Device or resource busy".
|
||||||
|
RestartSec = "5s";
|
||||||
|
};
|
||||||
|
});
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,13 @@
|
||||||
"i686-linux"
|
"i686-linux"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# Global default (nixosModules/distributed-builds.nix) is MemoryMax=90%,
|
||||||
|
# which isn't tight enough on this machine's 31GiB to avoid OOM.
|
||||||
|
systemd.services.nix-daemon.serviceConfig = {
|
||||||
|
MemoryHigh = "60%";
|
||||||
|
MemoryMax = lib.mkForce "80%";
|
||||||
|
};
|
||||||
|
|
||||||
services.xserver.xkb = {
|
services.xserver.xkb = {
|
||||||
# Configure keymap in X11
|
# Configure keymap in X11
|
||||||
layout = "de";
|
layout = "de";
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue