activationSripts: add previous var value (closes #6)

This commit is contained in:
Florian Agbuya 2023-12-22 19:28:01 +08:00
parent d12dee6198
commit 3f92b3f13b
2 changed files with 40 additions and 9 deletions

View File

@ -8,17 +8,20 @@
outputs = { self, nixpkgs, not-os }: outputs = { self, nixpkgs, not-os }:
let let
pkgs = import nixpkgs { system = "x86_64-linux"; }; pkgs = import nixpkgs { system = "x86_64-linux"; };
not-os-patches = [
{ patched-not-os = let
# Zynq image various fixes and cleanup remote-patches = [
url = "https://patch-diff.githubusercontent.com/raw/cleverca22/not-os/pull/28.patch"; {
sha256 = "sha256-EnYb95QfwHmUHfbCT9tL291mC8Tze0Koadb11arvTDY="; # Zynq image various fixes and cleanup
} url = "https://patch-diff.githubusercontent.com/raw/cleverca22/not-os/pull/28.patch";
]; sha256 = "sha256-EnYb95QfwHmUHfbCT9tL291mC8Tze0Koadb11arvTDY=";
patched-not-os = pkgs.applyPatches { }
];
local-patches = [ ./not-os.patch ];
in pkgs.applyPatches {
name = "not-os-patched"; name = "not-os-patched";
src = not-os; src = not-os;
patches = map pkgs.fetchpatch not-os-patches; patches = map pkgs.fetchpatch remote-patches ++ local-patches;
}; };
gnu-platform = "arm-none-eabi"; gnu-platform = "arm-none-eabi";

28
not-os.patch Normal file
View File

@ -0,0 +1,28 @@
diff --git a/base.nix b/base.nix
index 7eaee32..b5a61ee 100644
--- a/base.nix
+++ b/base.nix
@@ -155,7 +155,23 @@ with lib;
# dummy to make setup-etc happy
'';
system.activationScripts.etc = stringAfter [ "users" "groups" ] config.system.build.etcActivationCommands;
+ # Re-apply deprecated var value due to systemd preference in recent nixpkgs
+ # See https://github.com/NixOS/nixpkgs/commit/59e37267556eb917146ca3110ab7c96905b9ffbd
+ system.activationScripts.var = lib.mkForce ''
+ # Various log/runtime directories.
+ mkdir -p /var/tmp
+ chmod 1777 /var/tmp
+
+ # Empty, immutable home directory of many system accounts.
+ mkdir -p /var/empty
+ # Make sure it's really empty
+ ${pkgs.e2fsprogs}/bin/chattr -f -i /var/empty || true
+ find /var/empty -mindepth 1 -delete
+ chmod 0555 /var/empty
+ chown root:root /var/empty
+ ${pkgs.e2fsprogs}/bin/chattr -f +i /var/empty || true
+ '';
# nix-build -A system.build.toplevel && du -h $(nix-store -qR result) --max=0 -BM|sort -n
system.build.toplevel = pkgs.runCommand "not-os" {
activationScript = config.system.activationScripts.script;