Files
self 1cbcb5ea55 chore: use conventional Guix manifest
Rename the repo Guix development manifest to manifest.scm and update the wrapper and direnv integration.
2026-06-01 19:38:21 +02:00

78 lines
2.3 KiB
Scheme

;; Guix development manifest for the Aether plugin.
;;
;; Usage:
;; ./guix/guix-dev
;;
;; This intentionally keeps the repo-specific development package list here,
;; similar to devenv.nix. Shared custom packages such as node-24, prek, and
;; prettier come from the pinned guix-tribes channel.
(use-modules (gnu packages bash)
(gnu packages base)
(gnu packages elixir)
(gnu packages erlang)
(gnu packages gnome)
(gnu packages linux)
(gnu packages nss)
(gnu packages package-management)
(gnu packages version-control)
(guix build-system trivial)
(guix gexp)
((guix licenses) #:prefix license:)
(guix packages)
(guix profiles)
(tribes packages devtools)
((tribes packages node) #:select (node-24)))
(define guix-dev-script
(local-file "guix/guix-dev" "guix-dev-script"))
(define guix-dev-command-package
(package
(name "guix-dev-command")
(version "0.1")
(source #f)
(build-system trivial-build-system)
(arguments
(list
#:modules '((guix build utils))
#:builder
#~(begin
(use-modules (guix build utils))
(let* ((bin (string-append #$output "/bin"))
(target (string-append bin "/guix-dev")))
(mkdir-p bin)
(copy-file #$guix-dev-script target)
(substitute* target
(("^#!/usr/bin/env bash")
(string-append "#!" #$(file-append bash-minimal "/bin/bash"))))
(chmod target #o555)))))
(inputs (list bash-minimal))
(home-page "https://git.teralink.net/tribes/tribes-plugin-aether.git")
(synopsis "Pinned Guix development shell helper")
(description
"guix-dev re-enters this checkout's Guix development shell through its
repo-local guix/channels.scm time-machine pin and manifest.scm.")
(license license:asl2.0)))
(packages->manifest
(list bash
coreutils
findutils
grep
sed
nss-certs
git
guix
guix-dev-command-package
pre-commit
prek
prettier
erlang
elixir
elixir-hex
rebar3
node-24
libnotify
inotify-tools))