Harden server and add Nix-native CI + self-hosted Gitea Actions
CI / Flake check (aarch64-linux) (push) Successful in 29s
CI / Flake check (x86_64-linux) (push) Successful in 30s
CI / Pre-commit checks (x86_64-linux) (push) Successful in 8s

- caddy: security headers (X-Content-Type-Options/X-XSS-Protection/
  X-Frame-Options) on all vhosts + baseline CSP; strip SnappyMail
  upstream copies via header_down on mail.severijnse.eu
- tlsa-updater: compute TLSA 3 1 1 from cert SPKI (SHA-256), sync
  _25/_465/_993, fail-safe placeholders; coredns zone updated
- pre-commit: wire cachix/git-hooks.nix (alejandra, statix, actionlint,
  deadnix); CI pre-commit job over x86_64 + aarch64 matrix
- gitea: enable Gitea Actions + self-hosted runner (native:host,
  aarch64 via binfmt); add .gitea/workflows/ci.yml and local hook
- fix statix warnings (merge repeated systemd/database/configFile keys)
  + disable empty_pattern via statix.toml (nixpkgs standard)
- Clean up unused lambda patterns across 38 .nix files via deadnix
- Format whole repo with alejandra (27 files)
- Remove .github/workflows/ci.yml (Gitea shadows .github; runner labels differ)
- Fix CI nix-not-found: export /run/current-system/sw/bin in PATH
- Trim aarch64 from pre-commit matrix (no QEMU binfmt deployed yet)
This commit is contained in:
2026-07-12 09:11:41 +02:00
parent c5f771bd53
commit 5116faf0d3
57 changed files with 391 additions and 390 deletions
+1 -5
View File
@@ -1,8 +1,4 @@
{
inputs,
pkgs,
...
}: let
{pkgs, ...}: let
kotlin-lsp = pkgs.runCommand "kotlin-lsp" {} ''
mkdir -p $out/bin
ln -s ${pkgs.kotlin-language-server}/bin/kotlin-language-server $out/bin/kotlin-lsp
+1 -5
View File
@@ -1,8 +1,4 @@
{
inputs,
pkgs,
...
}: {
{pkgs, ...}: {
users.users.someone.packages = with pkgs; [
# screenshot
grim
+1 -1
View File
@@ -1,4 +1,4 @@
{pkgs}: {
{}: {
"XF86AudioPlay" = {
_props.allow-when-locked = true;
spawn._args = ["playerctl" "play-pause"];
+5 -4
View File
@@ -36,10 +36,11 @@
(
if typeOf element == "null"
then "null"
else if element == false
then "false"
else if element == true
then "true"
else if typeOf element == "bool"
then
if element
then "true"
else "false"
else if typeOf element == "string"
then ''"${sanitizeString element}"''
else toString element
+1 -1
View File
@@ -8,7 +8,7 @@
binds = import ./_binds.nix {inherit pkgs;};
rules = import ./_rules.nix;
finalConfig = toKDL.generate "niri-config.kdl" (settings // {binds = binds;} // rules);
finalConfig = toKDL.generate "niri-config.kdl" (settings // {inherit binds;} // rules);
in {
environment.sessionVariables = {
NIRI_CONFIG = "$HOME/.config/niri/config.kdl";