From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id YCgxGR4FzGNQVQAAbAwnHQ (envelope-from ) for ; Sat, 21 Jan 2023 16:30:38 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id QLVRGB4FzGN76wAAG6o9tA (envelope-from ) for ; Sat, 21 Jan 2023 16:30:38 +0100 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 31D05E5B2 for ; Sat, 21 Jan 2023 16:30:38 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pJFoc-0008PF-Qr; Sat, 21 Jan 2023 10:29:58 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pJFob-0008P6-0s for guix-devel@gnu.org; Sat, 21 Jan 2023 10:29:57 -0500 Received: from mail-4317.proton.ch ([185.70.43.17]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pJFoX-0007u2-1d for guix-devel@gnu.org; Sat, 21 Jan 2023 10:29:56 -0500 Date: Sat, 21 Jan 2023 15:29:30 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lendvai.name; s=protonmail2; t=1674314982; x=1674574182; bh=ITr+A3FyXO6u+GNuNRXAS+3WH3pgpth0fhaZiuBwjd8=; h=Date:To:From:Subject:Message-ID:Feedback-ID:From:To:Cc:Date: Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector; b=DcKL8MUMpTYCH5YYNQhHTlsN50AWNTAG+jnZsK/G6MYUPKi9D6Dttf4cfRFYwIF2m TmzSkTirnfkXLbrfO3k34fWoCJK575h/VuXoN2NI0ZikmRDl+UF+Gjlbv0k5Vs8Wy/ dh6QWJLXJwtqnNc9PaM7B14fezXEt/eDzh+UKaasIgofK0WQnhCooEvtBbZiwLiB+F gQzAM/rPwYb0m8/iekNlrS3qHm/SVZjedLaxDXOYHYcp7N3+eDq4PEVRrXaBrFKCn9 chk40ItrzEzqi3xaPwcNnHLxmWbBtJjVK1si0qTkEpp8rsnvLNiT5q/PVzVtDJV1HW O+/lhiz/Bq+5g== To: guix-devel From: Attila Lendvai Subject: [RFC] refactoring extra-special-file; an /etc/tmpfiles/ equivalent Message-ID: Feedback-ID: 28384833:user:proton MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=185.70.43.17; envelope-from=attila@lendvai.name; helo=mail-4317.proton.ch X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: guix-devel-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN ARC-Seal: i=1; s=key1; d=yhetil.org; t=1674315038; a=rsa-sha256; cv=none; b=tdo55t+9fDryJvWYZPV9yU1tq4VmDmuIKJHtwyj9CgHB9ZEQRt679dAUKT3S7nTBwSZbqh 0THcH9uAkRx5n9e/Lxs3Zjb5rI3Bbhy4w3ywUv1T8SpwlpkRYbRugXk1POGxtxeb37OhlO /AjGjKpKAwJDSE0JnAQcLiVgtdJX8B/nthD+6iJtK15WXw6UObMi9HMO1WxRnLemxUok2B S75ynIt3Rk8GiKU31Djn31qJDIdouvmGULUxwAv4sbLEP0ZSANXTGvxFWcc+QswMmAFfEZ eAn613d3yzz/qwh6pyz9MYnpAIdQ3gN9X1SJWGg5bs8mFn8FFVRvxkxWqu85Lg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=lendvai.name header.s=protonmail2 header.b=DcKL8MUM; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1674315038; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=ITr+A3FyXO6u+GNuNRXAS+3WH3pgpth0fhaZiuBwjd8=; b=L/LGs0XTW4WVUEAY9xd2VOI55qVa8lLmDZ7G9+pUisBp/sCR3yo9YYARQvZFfoDeZOqfPZ UuLfX7d4Yi6avnKQJ6itCWEcjJVMMIAuaGVpgwQnhLh3q6pQ8mfMTw3BRCS9nr0nZwIFbF I/PipHGueNOPZfhvFzR+2CyL7UK5iye9GC3yotUOvgvF7lmocgPF06cF6Xglnk1XwnNf8D 54Fj8Y5a16/Md+P+jbp9K92Yatzn0CCkIaxPX28r6ZfOdddFUAK8ZupaGJ8xVZFBBpcwm6 ayC6CWUM6YWkTVuLrptoeAyqndy7q0Tyh/9eE6o+AOOOQ2wgpoKfhqh9t1bl/Q== X-Spam-Score: -9.36 X-Migadu-Queue-Id: 31D05E5B2 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=lendvai.name header.s=protonmail2 header.b=DcKL8MUM; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Scanner: scn0.migadu.com X-Migadu-Spam-Score: -9.36 X-TUID: 1aEJUzi7wom8 hello Guix, context 1: i want to write a string into a file at boot to disable wake-up by my keybo= ard (so that it doesn't immediately wake up my laptop after i suspend it). = it requires doing this once per boot: echo XHC >/proc/acpi/wakeup the standard solution on systemd distros is to use a /etc/tmpfiles.d/disabl= e-usb-wake.conf file, which systemd interprets (see e.g. https://forums.lin= uxmint.com/viewtopic.php?f=3D42&t=3D312953). context 2: i need to create an empty directory in an image created by `guix system vm = ...` (for "reasons"; this is the simplest way i'm aware of to hack forward)= . in Guix we have extra-special-file (what a strange name!) that in fact can = do one thing: a (single shot?) shepherd service that can symlink something = somewhere. what i need is something like extra-special-file, but with a few more keywo= rd arguments that would allow creating empty directories, and appending/ove= rwriting files with content given as literals. or something else that i'm not aware of? solution 1: i think i could backwards compatibly extend extra-special-file with the key= word args. solution 2: introduce a new abstraction (preferrably with a better name), and mark extr= a-special-file obsolete. dear maintainers, any thoughts on which way i should start digging? also, any suggestion for the API? the naming of the keyword args? --=20 =E2=80=A2 attila lendvai =E2=80=A2 PGP: 963F 5D5F 45C7 DFCD 0A39 -- =E2=80=9CAngry people want you to see how powerful they are=E2=80=A6 loving= people want you to see how powerful You are.=E2=80=9D =09=E2=80=94 Chief Red Eagle