
Делаем первые шаги к дому Guix
15 ноября 2022 г.В этой статье я покажу вам шаг за шагом, как можно просто установить и настроить программное обеспечение, которое они используют с Guix Home. Для демонстрации я сосредоточусь на одном пакете.
Отказ от ответственности: я не являюсь опытным пользователем Guix Home. Так что не принимайте мои слова как должное. Читайте руководства, задавайте вопросы.
До сих пор, чтобы установить программное обеспечение, скажем, Emacs, для моего пользователя, я мог просто:
$ guix установить emacs
Или я мог бы написать манифест и использовать его для заполнения моего профиля пользователя по умолчанию (или пользовательского):
$ guix package --manifest=$HOME/manifest.scm
Где manifest.scm
содержит следующее:
(specifications->manifest (list "emacs"))
Затем конфигурацию для нового программного обеспечения пришлось редактировать отдельно.
Вот фиктивный ~/.config/emacs/init.el
:
(setq initial-scratch-message nil)
Теперь давайте воспользуемся Guix Home, чтобы начать управлять всем !
Пустой дом
Guix Home запросит у вас две вещи: список пакетов и список домашних услуг. Таким образом, пустой файл конфигурации Guix Home (который ничего не устанавливает и не настраивает) будет выглядеть так:
(use-modules (gnu home))
(home-environment
(packages (list))
(services (list)))
Вы можете сохранить эти выражения в файле с именем home-configuration.scm
. Итак, теперь вы можете вызвать Guix Home для создания домашней среды из этой пустой конфигурации:
$ guix home container home-configuration.scm
Не беспокойтесь, это не повлияет на вашу текущую среду. Потратьте несколько секунд, чтобы увидеть, насколько пуста эта оболочка, и двигайтесь дальше!
К сожалению, вам нужно оставить пустую оболочку.
$ exit
Установка программного обеспечения
Чтобы указать Guix Home добавить программный пакет в сгенерированную домашнюю среду, вы должны отредактировать home-configuration.scm
и добавить его имя в список пакетов:
(use-modules
(gnu home)
(gnu packages emacs))
(home-environment
(packages
(list emacs)))
Теперь вы можете попробовать это.
$ guix home container home-configuration.scm
В этой оболочке вы можете запустить Emacs, доказав, что Emacs был добавлен в сгенерированную домашнюю среду.
$ emacs -nw
Затем вы можете выйти из оболочки.
Установите конфигурацию программного обеспечения
С точки зрения Guix Home это пакеты или сервисы. Пришло время искать услуги. Особенно тот, который может справиться с процессом настройки Emacs. Проще говоря, служба, способная установить файл init.el
в нужное место: home-xdg-configuration-files-service-type
.
Измените home-configuration.scm
следующим образом:
(use-modules
(gnu home)
(gnu home services)
(gnu packages emacs)
(gnu services)
(guix gexp))
(home-environment
(packages
(list emacs))
(services
(list (service home-xdg-configuration-files-service-type
`(("emacs/init.el" ,(local-file "init.el")))))))
Затем создайте файл init.el
с вашей конфигурацией Emacs рядом с home-configuration.scm
:
(setq initial-scratch-message nil)
Попробуйте с:
$ guix home container home-configuration.scm
Здесь вы можете увидеть файл init.el
в ~/.config/emacs/init.el
!
Поэтому Emacs в этой среде будет использовать этот файл конфигурации при запуске... Хорошо, может быть, не в контейнере, но, поверьте мне, он будет работать (осторожно, на этот раз это повлияет на вашу текущую среду) :< /p>
$ guix home reconfigure home-configuration.scm
Предупреждение : поскольку в home-configuration.scm
нет конфигурации оболочки (пока), вам потребуется вручную настроить оболочку, чтобы она могла использовать созданную домашнюю среду. .
Большое спасибо за чтение этой статьи!
Не стесняйтесь высказывать свое мнение, предлагать идеи по улучшению, сообщать об ошибках или задавать вопросы! Я был бы так рад обсудить с вами затронутую здесь тему! Вы можете связаться со мной здесь.
Не пропустите следующие!
И, что более важно, поделитесь этим блогом и расскажите своим друзьям, почему они должны прочитать этот пост!
:::информация Также опубликовано здесь.
:::
Оригинал