I have several single-user systems, and I would like to define a system-level overlay in /etc/nixos/configuration.nix.
I have read the Wiki entry on overlays, and tried to follow the instructions.
However, when I rebuild, I get the error undefined variable 'options'
.
Here is my /etc/nixos/configuration.nix.
I added the nix.nixPath
definition right before the environment.systemPackages
definition.
{ config, pkgs, ... }:
{
imports =
[ # Include the results of the hardware scan.
/etc/nixos/hardware-configuration.nix
/etc/nixos/R.nix
];
# Use the GRUB 2 boot loader.
boot.loader.grub.enable = true;
boot.loader.grub.version = 2;
# boot.loader.grub.efiSupport = true;
# boot.loader.grub.efiInstallAsRemovable = true;
# boot.loader.efi.efiSysMountPoint = "/boot/efi";
# Define on which hard drive you want to install Grub.
boot.loader.grub.device = "/dev/sda"; # or "nodev" for efi only
boot.initrd.checkJournalingFS = false;
# networking.hostName = "nixos"; # Define your hostname.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Select internationalisation properties.
i18n = {
consoleFont = "Lat2-Terminus16";
consoleKeyMap = "uk";
defaultLocale = "en_IE.UTF-8";
};
# Set your time zone.
time.timeZone = "Europe/Dublin";
nix.nixPath =
# Prepend default nixPath values.
options.nix.nixPath.default ++
# Append our nixpkgs-overlays.
[ "nixpkgs-overlays=/home/amy/nix-overlays/" ]
;
environment.systemPackages = let
jot = pkgs.haskellPackages.callPackage /home/amy/jot/jot.nix {};
in
[ jot ] ++ (with pkgs; [
auctex
bash
binutils-unwrapped
cabal2nix
curl
cvc4
dmenu2
docker
dzen2
# emacs
(import /home/amy/dotWombat/etc/nixos/emacs.nix { inherit pkgs; })
firefox
gcc
getmail
ghc
ghostscript # for pdf2dsc
gitAndTools.gitFull
gnome3.dconf
gnome3.dconf-editor
gnome3.gnome-disk-utility
gnome3.meld
gnumake
gnupg
haskellPackages.cabal-install
haskellPackages.stylish-haskell
# haskellPackages.liquidhaskell
haskellPackages.X11-xft
kdeApplications.okular
libreoffice
lxqt.qterminal
nix-prefetch-git
pandoc
pdfmod
pkgconfig
python
python3
python36Packages.csvkit
rEnv
rsync
stack
stack2nix
sxiv
tectonic
texstudio
texlive.combined.scheme-basic
tree
unison
vlc
x11
xmonad-with-packages
xorg.libX11
xscreensaver
xsel
wget
z3
]);
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;
# programs.gnupg.agent = { enable = true; enableSSHSupport = true; };
# List services that you want to enable:
# Enable the OpenSSH daemon.
# services.openssh.enable = true;
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
# Enable CUPS to print documents.
# services.printing.enable = true;
# Enable sound.
sound.enable = true;
hardware.pulseaudio.enable = true;
# Enable the X11 windowing system.
# services.xserver.enable = true;
# services.xserver.layout = "uk";
# services.xserver.xkbOptions = "eurosign:e";
services.xserver = {
enable = true;
layout = "ie";
windowManager.xmonad = {
enable = true;
enableContribAndExtras = true;
extraPackages = haskellPackages: [
haskellPackages.xmonad
haskellPackages.xmonad-contrib
haskellPackages.xmonad-extras
];
};
};
# Enable touchpad support.
# services.xserver.libinput.enable = true;
# Enable the KDE Desktop Environment.
services.xserver.displayManager.sddm.enable = true;
services.xserver.desktopManager.plasma5.enable = true;
# Define a user account. Don't forget to set a password with ‘passwd’.
users.users.amy = {
isNormalUser = true;
home = "/home/amy";
description = "Amy de Buitleir";
extraGroups = [ "wheel" "networkmanager" "vboxsf" ];
uid = 1000;
};
# This value determines the NixOS release with which your system is to be
# compatible, in order to avoid breaking some software such as database
# servers. You should change this only after NixOS release notes say you
# should.
system.stateVersion = "18.09"; # Did you read the comment?
}
And here is the error message that I get.
Line 39:5 is options.nix.nixPath.default ++
.
# nixos-rebuild switch --show-trace
error: while evaluating the attribute 'config' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixos/lib/eval-config.nix:57:5:
while evaluating the attribute 'config' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:87:25:
while evaluating 'yieldConfig' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:74:29, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:73:16:
while evaluating 'mergeModules' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:190:26, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:64:17:
while evaluating 'mergeModules'' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:194:36, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:191:5:
while evaluating 'flip' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/trivial.nix:101:16, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:235:6:
while evaluating 'byName' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:217:25, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:223:21:
while evaluating 'reverseList' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/lists.nix:380:17, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:64:38:
while evaluating 'filterModules' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:93:31, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:64:51:
while evaluating 'closeModules' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:101:27, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:62:16:
while evaluating anonymous function at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/lists.nix:103:29, called from undefined position:
while evaluating anonymous function at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:103:50, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/lists.nix:103:32:
while evaluating 'unifyModuleSyntax' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:118:34, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:109:11:
while evaluating 'applyIfFunction' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:144:29, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:109:39:
while evaluating 'isFunction' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/trivial.nix:288:16, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:144:68:
undefined variable 'options' at /home/amy/dotWombat/etc/nixos/configuration.nix:39:5
building Nix...
error: while evaluating the attribute 'config' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixos/lib/eval-config.nix:57:5:
while evaluating the attribute 'config' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:87:25:
while evaluating 'yieldConfig' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:74:29, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:73:16:
while evaluating 'mergeModules' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:190:26, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:64:17:
while evaluating 'mergeModules'' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:194:36, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:191:5:
while evaluating 'flip' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/trivial.nix:101:16, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:235:6:
while evaluating 'byName' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:217:25, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:223:21:
while evaluating 'reverseList' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/lists.nix:380:17, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:64:38:
while evaluating 'filterModules' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:93:31, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:64:51:
while evaluating 'closeModules' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:101:27, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:62:16:
while evaluating anonymous function at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/lists.nix:103:29, called from undefined position:
while evaluating anonymous function at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:103:50, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/lists.nix:103:32:
while evaluating 'unifyModuleSyntax' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:118:34, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:109:11:
while evaluating 'applyIfFunction' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:144:29, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:109:39:
while evaluating 'isFunction' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/trivial.nix:288:16, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:144:68:
undefined variable 'options' at /home/amy/dotWombat/etc/nixos/configuration.nix:39:5
building the system configuration...
error: while evaluating the attribute 'config.system.build.toplevel' at /nix/var/nix/profiles/per-user/root/channels/nixos/nixos/lib/eval-config.nix:57:5:
while evaluating the attribute 'config' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:87:25:
while evaluating 'yieldConfig' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:74:29, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:73:16:
while evaluating 'mergeModules' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:190:26, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:64:17:
while evaluating 'mergeModules'' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:194:36, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:191:5:
while evaluating 'flip' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/trivial.nix:101:16, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:235:6:
while evaluating 'byName' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:217:25, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:223:21:
while evaluating 'reverseList' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/lists.nix:380:17, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:64:38:
while evaluating 'filterModules' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:93:31, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:64:51:
while evaluating 'closeModules' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:101:27, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:62:16:
while evaluating anonymous function at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/lists.nix:103:29, called from undefined position:
while evaluating anonymous function at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:103:50, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/lists.nix:103:32:
while evaluating 'unifyModuleSyntax' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:118:34, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:109:11:
while evaluating 'applyIfFunction' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:144:29, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:109:39:
while evaluating 'isFunction' at /nix/var/nix/profiles/per-user/root/channels/nixos/lib/trivial.nix:288:16, called from /nix/var/nix/profiles/per-user/root/channels/nixos/lib/modules.nix:144:68:
undefined variable 'options' at /home/amy/dotWombat/etc/nixos/configuration.nix:39:5