Next: (maak maak), Up: API
Get a variable from the currently loaded maak file module.
Executes a shell command constructed from a list of strings.
($ '("echo -n" "hello-world"))
ARGUMENTS:
RETURNS: The result of the syscall function, which is
#t if the command completes with an exit code of 0.
Undocumented procedure.
Undocumented procedure.
Copy a file or directory from X to Y.
ARGUMENTS: x: Source file or directory. y: Destination path.
recursive?: If #t, copy directories recursively (‘-r‘). Defaults to #t. force?: If #t, overwrite existing files without prompting (‘-f‘). Defaults to #f. verbose?: If #t, logs the final shell command before execution. Defaults to #f. verbose-copy?: If #t, enables verbose output from ‘cp‘ (‘-v‘). Defaults to #t.
Constructs and executes a command of the form:
cp [OPTIONS] X Y
using the ‘$‘ wrapper, ensuring errors are caught and logged.
RETURNS: #t if the copy succeeds.
ERRORS: Signals an error if the underlying ‘cp‘ command exits with a non-zero status.
Delete a directory and all its contents recursively. Runs ‘rm -rfv DIR‘ using the ‘$‘ command wrapper. This means: The deletion is recursive.It forces removal without prompting (‘-f‘).It prints removed files (‘-v‘).
ARGUMENTS:
RETURNS: #t if the command succeeded.
ERRORS: Signals an error if the underlying shell command exits with a non-zero status.
Undocumented procedure.
Undocumented procedure.
Undocumented procedure.
Undocumented procedure.
Predicate that indicates whether a procedure is a valid maak proc.
Predicate that indicates whether it is a valid maak task.
Execute a command inside a Guix shell defined by a manifest file.
ARGUMENTS:
cmd-parts: A list of strings representing the command to run inside the Guix shell environment.
#:verbose?: If #t, logs the fully constructed command before execution. Defaults to #f. #:join: The string separator used when joining command segments. Defaults to a single space. #:manifest: Path to the manifest file (in Scheme) describing the package environment. Defaults to "manifest.scm".
Constructs and executes a command of the form:
guix shell -m MANIFEST -- <cmd ...>
using the ‘$‘ wrapper to enforce proper execution and error handling.
RETURNS: #t if the command succeeds.
ERRORS: Signals an error if the underlying shell command exits with a non-zero status.
Create a directory and all necessary parent directories. Executes ‘mkdir -pv DIR‘ using the ‘$‘ wrapper. This means: Parent directories are created as needed (‘-p‘). The operation prints each created directory (‘-v‘).
ARGUMENTS:
RETURNS: #t if the command completed successfully.
ERRORS: Signals an error if the underlying shell command exits with a non-zero code.
Move or rename a file or directory. Executes ‘mv -v X Y‘ using the ‘$‘ wrapper. The ‘-v‘ flag prints each move operation performed.
ARGUMENTS:
RETURNS: #t if the command succeeds.
ERRORS: Signals an error if the underlying shell command returns a non-zero exit code.
Execute a command inside a Guix shell defined by a program file.
ARGUMENTS: cmd-parts: A list of strings representing the command to run inside the Guix shell environment.
#:verbose?: If #t, logs the full constructed command before execution. Defaults to #f. #:join: String used to join command segments. Defaults to a single space. #:file: Path to the Guix program or manifest file defining the shell environment. Defaults to "guix.scm".
Constructs and executes a command of the form:
guix shell -f FILE -- <cmd ...>
using the ‘$‘ wrapper to safely run the command and check for errors.
RETURNS: #t if the command succeeds.
ERRORS: Signals an error if the underlying shell command exits with a non-zero status.
Remove a directory if it exists, then recreate it. This results in an empty directory, regardless of its previous state. Calls ‘delete-file-recursively‘ then ‘mkdir-p‘ on DIR.
ARGUMENTS:
RETURNS: #t if the operations succeed.
ERRORS: Signals an error if any underlying shell command fails.
Executes a shell command and checks its exit code.
ARGUMENTS:
RETURNS: #t if the command completes with an exit code of 0.
ERRORS: Signals an error if the command returns a non-zero exit code, providing the command and the exit code in the error message.
Execute a command using a pinned Guix revision via ‘guix time-machine‘.
ARGUMENTS: cmd-parts: A list of strings representing the command to run after the ‘guix time-machine‘ invocation.
#:verbose?: If #t, logs the final constructed command before running it. Defaults to #f. #:join: The string used to join command segments when constructing the final command. Defaults to a single space. #:channels: Path to the channels file used to pin the Guix revision. Defaults to "channels.scm".
Constructs and executes a command of the form:
guix time-machine --channels=CHANNELS -- <cmd ...>
using the ‘$‘ wrapper to run the resulting shell command safely.
RETURNS: #t if the command succeeds.
ERRORS: Signals an error if the underlying command exits with a non-zero status.
Execute a command inside a Guix shell defined by a manifest file, using a pinned Guix revision via ‘guix time-machine‘.
ARGUMENTS: cmd-parts: A list of strings representing the command to run inside the pinned Guix shell environment.
verbose?: If #t, logs the composed command before execution. Defaults to #f. join: String used to join command segments. Defaults to a single space. channels: Path to the channels file used to pin the Guix revision. Defaults to "channels.scm". manifest: Path to the manifest file describing the package environment. Defaults to "manifest.scm".
Constructs and executes a command of the form:
guix time-machine --channels=CHANNELS -- shell -m MANIFEST -- <cmd ...>
This provides a reproducible shell environment defined by the manifest file and pinned to the Guix revision specified in the channels file.
RETURNS: #t if the command succeeds.
ERRORS: Signals an error if any underlying shell command exits with a non-zero status.
Execute a command inside a Guix shell defined by a program file, using a pinned Guix revision via ‘guix time-machine‘.
ARGUMENTS: cmd-parts: A list of strings representing the command to run inside the pinned Guix shell environment.
#:verbose?: If #t, logs the composed command before execution. Defaults to #f. #:join: String used to join command segments. Defaults to a single space. #:channels: Path to the channels file used to pin the Guix revision. Defaults to "channels.scm". #:file: Path to the Guix program file (e.g. guix.scm) defining the environment. Defaults to "guix.scm".
Constructs and executes a command of the form:
guix time-machine --channels=CHANNELS -- shell -f FILE -- <cmd ...>
This provides a reproducible development environment defined by the program file and pinned to the Guix revision specified in the channels file.
RETURNS: #t if the command succeeds.
ERRORS: Signals an error if any underlying shell command exits with a non-zero status.
A utility function to format a string (interpolation). Alias for (apply format #f ARGS).
(~ "Hello world, my name is ~a and I am ~a years old"
"Joe"
30)
ARGUMENTS:
RETURNS: A newly allocated string resulting from the formatting operation.
Next: (maak maak), Up: API