Commit graph

20 commits

Author SHA1 Message Date
Ludovic Courtès
23ccfd3840
home: 'reconfigure' checks for potential downgrades.
* guix/scripts/home.scm (show-help, %options): Add "--allow-downgrades".
(%default-options): Remove 'build-mode'; add 'validate-reconfigure'.
(perform-action): Add #:validate-reconfigure.  Call
'check-forward-update' when ACTION is 'reconfigure.
(process-action): Pass #:validate-reconfigure to 'perform-action'.
* gnu/home/services.scm (home-provenance): Export.
* doc/guix.texi (Invoking guix home): Document '--allow-downgrades'.
2022-01-28 23:14:44 +01:00
Xinglu Chen
cde3376b35
home: services: Make strings in Gexps translateble.
* gnu/home/services.scm (%initialize-gettext): New variable.
(compute-on-first-login-script): Use it.
(compute-on-change-gexp): Likewise.
* gnu/home/services/symlink-manager.scm (update-symlinks-script): Likewise.
* po/guix/POTFILES.in: Add gnu/home-services.scm and
gnu/home/services/symlink-manager.scm.

Suggested-by: Ludovic Courtès <ludo@gnu.org>
Link: <https://yhetil.org/guix-bugs/87sfvy8k1u.fsf@gnu.org>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-01-03 19:32:07 +01:00
Tobias Geerinckx-Rice
a4cbd31c5c
home: services: bash: Only source /etc/bashrc if it exists.
* gnu/home/services/shells.scm (home-bash-configuration):
Check whether /etc/bashrc exists before trying to ‘source’ it.

Reported by guixy on #guix.
2021-11-24 19:46:39 +01:00
Vagrant Cascadian
b066c9b03d
gnu: home: services: Fix typo.
* gnu/home/services.scm (compute-on-first-login-script): Fix spelling of
  "appropriate".
2021-11-17 12:55:24 -08:00
Ludovic Courtès
c322d97832
home: services: bash: Emit 'extra-content' first again.
Fixes a regression introduced in
4b96998292 that would less to a
'tests/guix-home.sh' failure.

* gnu/home/services/shells.scm (add-bash-configuration)[file-if-not-empty]:
Move EXTRA-CONTENT first.
2021-11-16 14:38:01 +01:00
Ludovic Courtès
e5d8302b2c
home: services: Fix typo.
Reinstates 4dcec60fa6, minus the
regression it introduced.

* gnu/home/services.scm (compute-on-first-login-script): Use
'program-file', not 'gexp->script'.
2021-11-16 14:37:34 +01:00
Efraim Flashner
b2f8186590
Revert "home-services: Demonadify 'on-first-login' handling."
This commit breaks building guix home
guix home: error: reference to invalid output 'out' of derivation \
    '/gnu/store/86zc4rijsswmfqnaq8rwixcxjl2zyl1c-on-first-login.drv'

This reverts commit 4dcec60fa6.
2021-11-16 15:31:07 +02:00
Vagrant Cascadian
57bf76d832
gnu: home: services: Fix typo.
* gnu/home/services/xdg.scm (home-xdg-base-directories-service-type): Fix
  spelling of "convenient".
2021-11-14 17:37:54 -08:00
Vagrant Cascadian
e149853845
gnu: home: services: Fix typo.
* gnu/home/services/utils.scm: Fix spelling of "anything".
2021-11-14 17:35:30 -08:00
Vagrant Cascadian
6edfcf3e90
gnu: home: services: Fix typo.
* gnu/home/services/shells.scm (home-shell-profile-configuration): Fix
  spelling of "available".
2021-11-14 17:33:35 -08:00
Vagrant Cascadian
40a18f4934
home: services: Typo fix.
* gnu/home/services.scm: Fix spelling of "directory".
2021-11-14 17:32:51 -08:00
Ludovic Courtès
4dcec60fa6
home-services: Demonadify 'on-first-login' handling.
* gnu/home/services.scm (compute-on-first-login-script): Use
'computed-file' instead of' gexp->script'.
(on-first-login-script-entry): Expect a regular value rather than a
monadic value and remove 'mlet'.
2021-11-14 23:18:08 +01:00
Andrew Tropin
5c2f30d3de
home-services: on-first-login: Check if XDG_RUNTIME_DIR exists.
Fixes <https://issues.guix.gnu.org/50945>.
Reported by Jan Nieuwenhuizen <janneke@gnu.org>.

* gnu/home-services.scm (on-first-login): on-first-login won't execute
anything if XDG_RUNTIME_DIR doesn't exists.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-11-14 23:18:08 +01:00
Xinglu Chen
2f665d4309
doc: Improve documentation of the Bash home service
* doc/guix.texi (Shells Home Services): Document ‘home-bash-extension’
  configuration record.
* gnu/home/services/shells.scm (generate-home-bash-documentation): Extract
  docstrings from ‘home-bash-extension’.
  (home-bash-configuration): Expound on docstrings.
  (home-bash-extension): Likewise.

Fixes: <https://issues.guix.gnu.org/50991>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-11-07 23:10:41 +01:00
Xinglu Chen
4b96998292
home: services: bash: Add ‘aliases’ field.
* doc/guix.texi (Shells Home Services): Document it.
* gnu/home/services/shells.scm (bash-serialize-aliases): New procedure.
(home-bash-configuration, home-bash-extension): Add ‘aliases’ field.
(home-bash-extensions): Adjust accordingly.
* guix/scripts/home/import.scm (generate-bash-configuration+modules): Populate
the ‘alias’ field.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-11-07 23:10:41 +01:00
Oleg Pykhalov
ff20d3928d
home: services: shells: Fix documentation about file-like objects.
* gnu/home/services/shells.scm:
(home-shell-profile-configuration, home-shell-profile-service-type,
home-zsh-configuration, home-zsh-extension, home-bash-configuration,
home-bash-extension, home-fish-configuration, home-fish-extension):
Replace 'strings or gexps' with 'file-like objects' in the documentation.
* doc/guix.texi (Shells Home Services): Same.
2021-10-16 16:48:44 +03:00
Oleg Pykhalov
fee0bced7f
home: services: configuration: Support file-like objects.
* gnu/home/services/configuration.scm (interpose): Operate only with file-like
objects.
(string-or-gexp?): Delete procedure.
(serialize-string-or-gexp): Rename to 'serialize-file-like'.
(text-config?): Call 'file-like' intead of 'string-or-gexp?'.
* guix/scripts/home/import.scm:
(generate-bash-module+configuration): Don't call slurp-file-gexp.
* gnu/home/services/configuration.scm: Move content ...
* gnu/services/configuration.scm: here.
* gnu/home/services/shells.scm: Delete (gnu home services configuration).
* gnu/home/services/xdg.scm: Same.
* gnu/local.mk: Same.
* tests/guix-home.sh:
Test home-bash-service-type and extension with home-bash-extension.
2021-10-09 19:24:19 +03:00
Oleg Pykhalov
0f6a27c2c4
scripts: home: Make sure profile directory exists.
* guix/scripts/home.scm (process-action): Make sure profile directory exists.
2021-10-09 19:24:19 +03:00
Oleg Pykhalov
0e8d2df0f1
Move (gnu home-services) to (gnu home services).
* gnu/home-services.scm (%guix-home-root-directory): Replace
gnu/home-services.scm with "gnu/home/services.scm".
Rename to gnu/home/services.scm.
* gnu/local.mk
(GNU_SYSTEM_MODULES): Rename gnu/home-services.scm to gnu/home/services.scm.
* doc/he-config-bare-bones.scm:
Replace (gnu home-services) with (gnu home services).
* gnu/home.scm: Same.
* gnu/home/services/fontutils.scm: Same.
* gnu/home/services/mcron.scm: Same.
* gnu/home/services/shells.scm: Same.
* gnu/home/services/shepherd.scm: Same.
* gnu/home/services/symlink-manager.scm: Same.
* gnu/home/services/xdg.scm: Same.
* guix/scripts/home.scm: Same.
* guix/self.scm: Same.
2021-10-09 19:24:18 +03:00
Oleg Pykhalov
ba8ddb3480
gnu: Move (gnu home-services) to (gnu home services).
* gnu/home-services/configuration.scm: Move the content ...
* gnu/home/services/configuration.scm: ... here.
* doc/guix.texi:
Replace (gnu home-services mcron) with (gnu home services mcron).
Replace (gnu home-services) with (gnu home services).
* gnu/home.scm:
Replace (gnu home-services fontutils) with (gnu services fontutils).
Replace (gnu home-services shells) with (gnu home services shells).
Replace (gnu home-services symlink-manager) with
(gnu home services symlink-manager).
Replace (gnu home-services xdg) with (gnu home services xdg).
* gnu/home-services/fontutils.scm: Rename to gnu/services/fontutils.scm.
* gnu/home-services/mcron.scm: Move to gnu/home/services/mcron.scm.
Replace (gnu home-services shepherd) with (gnu home services shepherd).
* gnu/home-services.scm (%service-type-path):
Search home services in "gnu/services".
* gnu/home-services/shells.scm: Replace (gnu home-services configuration) with
(gnu home services configuration).
Rename to gnu/home/services/shells.scm.
Replace (gnu home-services utils) with (gnu home services utils).
* gnu/home-services/shepherd.scm: Move to gnu/home/services/shepherd.scm.
* gnu/home-services/symlink-manager.scm:
Rename to gnu/home/services/symlink-manager.scm.
* gnu/home-services/utils.scm: Rename to gnu/home/services/utils.scm.
* gnu/home-services/xdg.scm: Rename to gnu/home/services/xdg.scm.
* guix/scripts/home/import.scm:
Replace (gnu home-services bash) with (gnu home services bash).
* gnu/home-services.scm: Update documentation string.
* doc/he-config-bare-bones.scm:
Apply new (gnu home-services ...) modules location.
* gnu/local.mk (GNU_SYSTEM_MODULES): Same.
2021-10-08 15:36:18 +03:00