У меня новая установка NixOS, и я хочу использовать свою пользовательскую конфигурацию XMonad.Однако я получаю следующую ошибку:
$ xmonad --recompile
XMonad will use ghc to recompile, because "/home/amy/.xmonad/build" does not exist.
Error detected while loading xmonad configuration file: /home/amy/.xmonad/xmonad.hs
xmonad.hs:1:1: error:
Could not find module ‘XMonad’
Use -v to see a list of the files searched for.
|
1 | import XMonad
| ^^^^^^^^^^^^^
Вот соответствующие части моей конфигурации. Nix:
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
bash
dmenu2
dzen2
emacs
firefox
gitAndTools.gitFull
haskellPackages.xmonad
haskellPackages.xmonad-contrib
haskellPackages.xmonad-extras
gcc
ghc
stack
x11
xmonad-with-packages
xorg.libX11
xsel
wget
];
. . .
services.xserver = {
enable = true;
layout = "ie";
windowManager.xmonad = {
enable = true;
enableContribAndExtras = true;
extraPackages = haskellPackages: [
haskellPackages.xmonad
haskellPackages.xmonad-contrib
haskellPackages.xmonad-extras
];
};
};
# windowManager.default = "xmonad";
Я прочитал Новичок NixOS: xmonad иhaskellmode в NixOS 14.04 , но у меня уже есть windowManager.xmonad.enableContribAndExtras = true;
в моей конфигурации. nix.
РЕДАКТИРОВАТЬ: Просто чтобы уточнить, я на NixOS, но я не использую Nixпостроить мою конфигурацию XMonad.Я делаю вещи обычным способом XMonad: у меня есть каталог .xmonad
с моей конфигурацией в xmonad.hs
, и я запускаю xmonad --recompile
для его создания.
РЕДАКТИРОВАТЬ: КогдаЯ ищу соответствующие пакеты как root, я нахожу их.
# nix-env -q
xmonad-0.14.2
xmonad-contrib-0.14
xmonad-extras-0.14
Но как обычный пользователь следующая команда ничего не возвращает.
$ nix-env -q
Как сделать эти пакеты видимымина учетную запись без полномочий root?
EDIT : Странно, но при перезагрузке XMonad волшебным образом работал, без проблем компилируя мою конфигурацию.Я не знаю, почему перезагрузка помогла, потому что я несколько раз делал переключатель nixos-rebuild.