aboutsummaryrefslogtreecommitdiff
# GNU Guix --- Functional package management for GNU
# Copyright © 2020 Simon Tournier <zimon.toutoune@gmail.com>
# Copyright © 2020 Konrad Hinsen <konrad.hinsen@fastmail.net>
#
# This file is part of GNU Guix.
#
# GNU Guix is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or (at
# your option) any later version.
#
# GNU Guix is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

#
# Test the `guix repl' command-line utility.
#

guix repl --version

test_directory="`mktemp -d`"
export test_directory
trap 'chmod -Rf +w "$test_directory"; rm -rf "$test_directory"' EXIT

tmpfile="$test_directory/foo.scm"
rm -f "$tmpfile"
trap 'rm -f "$tmpfile"' EXIT

module_dir="t-guix-repl-$$"
mkdir "$module_dir"
trap 'rm -rf "$module_dir"' EXIT


cat > "$tmpfile"<<EOF
(use-modules (guix packages)
             (gnu packages base))

(format #t "~a\n" (package-name coreutils))
EOF

test "`guix repl "$tmpfile"`" = "coreutils"

# Make sure that the file can also be loaded when passed as a relative file
# name.
(cd "$(dirname "$tmpfile")"; test "$(guix repl "$(basename "$tmpfile")")" = "coreutils")


cat > "$module_dir/foo.scm"<<EOF
(define-module (foo)
  #:use-module (guix packages)
  #:use-module (gnu packages base))

(define-public dummy
  (package (inherit hello)
    (name "dummy")
    (version "42")
    (synopsis "dummy package")
    (description "dummy package. Only used for testing purposes.")))
EOF

cat > "$tmpfile"<<EOF
(use-modules (guix packages)
             (foo))

(format #t "~a\n" (package-version dummy))
EOF

test "`guix repl "$tmpfile" -L "$module_dir"`" = "42"

cat > "$tmpfile"<<EOF
(format #t "~a\n" (cdr (command-line)))
EOF

test "`guix repl -- "$tmpfile" -a b --input=foo.txt`" = "(-a b --input=foo.txt)"

cat > "$tmpfile"<<EOF
#!$(type -P env) -S guix repl --
!#
(format #t "~a\n" (cdr (command-line)))
EOF
chmod 755 $tmpfile

test "`"$tmpfile" -a b --input=foo.txt`" = "(-a b --input=foo.txt)"
* doc/guix.texi (home-shepherd-configuration): Document it. Change-Id: I1ce7a92c2777ebded39fe293b0bdcbd03562b4fc Signed-off-by: Ludovic Courtès <ludo@gnu.org> Dariqq 2024-10-12home: services: Add 'home-sway-service-type'....* gnu/home/services/sway.scm: New file. (home-sway-service-type): New variable. (sway-configuration->file): New procedure. (sway-configuration): New configuration record. (sway-bar): New configuration record. (sway-output): New configuration record. (sway-input): New configuration record. (point): New configuration record. (sway-color): New configuration record. (sway-border-color): New configuration record. (sway-mode): New configuration record. (flatmap): New procedure. * gnu/local.mk: Add gnu/home/services/sway.scm. * doc/guix.texi (Sway window manager): New node to document the above changes. Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de> Change-Id: I880261570c5afdb795f2ce18bac2b9a5c898677f Arnaud Daby-Seesaram 2024-09-29home: xdg-mime-applications: Fix file name spelling....* gnu/home/services/xdg.scm (home-xdg-mime-applications-xdg-files): Fix spelling mistake. Signed-off-by: Hilton Chain <hako@ultrarare.space> Change-Id: Ibd0f68a857dc78b66db8b0a16bd418ee787fa467 Nicolas Graves 2024-09-16home: services: shepherd: Replace use of deprecated ‘action’ procedure....This is a followup to 1964531ce5365d6744e3909960e9d608be624228. * gnu/home/services/shepherd.scm (home-shepherd-configuration-file): Use ‘perform-service-action’ rather than ‘action’. Change-Id: I669750c319083836416c3e093c112ebfeba32e64 Ludovic Courtès 2024-09-04home: services: channels: Remove duplicate channels....* gnu/home/services/guix.scm (extend-channel-list): Add function. (home-channels-service-type)[extend]: Use extend-channel-list. Change-Id: I587207b86216f075a54b6ed0b8fa998896bbed74 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Nicolas Graves 2024-08-28home: services: Add home-beets-service-type....* gnu/home/services/music.scm: New file. * gnu/local.mk: Add this. * doc/guix.texi: Document this. Change-Id: Idc23a68276cb3fb07733bb38bc38b1c5a63c1d6a Signed-off-by: Ludovic Courtès <ludo@gnu.org> Fabio Natali 2024-08-18home: Fix typo in parcimonie configuration....* gnu/home/services/gnupg.scm (<home-parcimonie-configuration>) [gnupg-aleady-torified?]: Rename to ‘gnupg-already-torified?’. Change-Id: I0687f67a5cef410b8b1d579c57b318b9d269e0d0 Tobias Geerinckx-Rice 2024-07-26home: Set 700 permissions on .gnupg with home-gpg-agent-service...* gnu/home/services/gnupg.scm (gpg-agent-activation): New variable. (home-gpg-agent-service-type) [extensions]: Extend home-activation-service-type. Change-Id: If3365c6cade2b03ee53a466ce1d63a5cdf654d6c Signed-off-by: Ludovic Courtès <ludo@gnu.org> Richard Sent 2024-05-30home: services: Add home-startx-command-service-type....* gnu/home/services/desktop.scm (home-startx-command-service-type): New variable. (startx-command-service-type): New service-type mapping. * doc/guix.texi (Guix Home Services): Document home-startx-command-service-type. Change-Id: Id38b5dc7b9235e04e3a9a1b70a35b02e8fae95f0 Signed-off-by: Arun Isaac <arunisaac@systemreboot.net> Tomas Volf