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

- 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,
  ...); 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,
  inherit, bool-compare guards); add missing trailing newlines
This commit is contained in:
2026-07-12 01:45:33 +02:00
parent 7ed54e51a2
commit ca4a0b23ab
41 changed files with 99 additions and 292 deletions
-1
View File
@@ -1,5 +1,4 @@
{
config,
lib,
pkgs,
...
-1
View File
@@ -1,5 +1,4 @@
{
config,
lib,
pkgs,
...
+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"];
+1 -6
View File
@@ -1,9 +1,4 @@
{
config,
pkgs,
lib,
...
}: {
{pkgs, ...}: {
users.users.someone.packages = [pkgs.ashell];
xdg.configFile."ashell/config.toml".text = ''
+1 -6
View File
@@ -1,9 +1,4 @@
{
config,
pkgs,
lib,
...
}: {
{pkgs, ...}: {
users.users.someone.packages = [pkgs.mako];
xdg.configFile."mako/config".text = ''
+1 -6
View File
@@ -1,9 +1,4 @@
{
config,
pkgs,
lib,
...
}: {
{pkgs, ...}: {
users.users.someone.packages = [pkgs.walker pkgs.elephant];
xdg.configFile."walker/config.toml".text = ''
+1 -5
View File
@@ -1,8 +1,4 @@
{
pkgs,
lib,
...
}: let
{pkgs, ...}: let
alacritty-wrapped = pkgs.writeShellScriptBin "alacritty-wayland" ''
export WAYLAND_DISPLAY="wayland-1"
export XDG_CURRENT_DESKTOP="Niri"
+1 -3
View File
@@ -2,9 +2,7 @@
config,
pkgs,
...
}: let
sshConfigFile = "ssh/config";
in {
}: {
users.users.someone.packages = with pkgs; [
openssh
];
+1 -5
View File
@@ -1,8 +1,4 @@
{
inputs,
pkgs,
...
}: {
{pkgs, ...}: {
users.users.someone.packages = with pkgs; [
# archives
zip
+1 -1
View File
@@ -159,7 +159,7 @@ in {
${lib.concatStringsSep "\n" (
lib.flatten (
lib.mapAttrsToList (
user: userCfg:
_user: userCfg:
(lib.mapAttrsToList (mkLinkScript cfg.configHome) userCfg.configFiles)
++ (lib.mapAttrsToList (mkLinkScript cfg.cacheHome) userCfg.cacheFiles)
++ (lib.mapAttrsToList (mkLinkScript cfg.dataHome) userCfg.dataFiles)