[Nix-dev] Where to start when nixos-rebuild switch --upgrade goes wrong

James Cook james.cook at utoronto.ca
Sun Jun 12 06:26:03 CEST 2016


FWIW, I sometimes use git-bisect to find the first revision where
nixos-rebuild builds something with the problem. It's a huge headache,
though, due to having to reboot so many times and worrying that I
might stumble upon a revision that's more seriously broken.

I just did this to figure out why my desktop hangs after printing
"regenerating udev hardware database..." after I upgraded from 15.09
to 16.03. I'll report separately, but looks like it's the update to
systemd 225 did it.

On 10 June 2016 at 01:09, zimbatm <zimbatm at zimbatm.com> wrote:
> I usually try to look at the recent changes to find out what might gotten
> wrong, both in the configuration.nix and nixpkgs. Unfortunately I don't know
> of a tool that could provide that diff between two generations so I usually
> stick to one change at a time.
>
>
> On Fri, 10 Jun 2016, 01:48 Evan Rowley, <rowley.evan at gmail.com> wrote:
>>
>> Hi Everyone,
>>
>> I performed a nixos-rebuild switch --upgrade and after rebooting, was
>> not able to see my usual KDE session. There was no X session. I
>> selected a previous generation in gummiboot and was able to have my
>> KDE session back. What can I do about the upgraded components which
>> did not work? I could issue a nixos-rebuild switch --rollback, but
>> would the development community benefit from finding out what went
>> wrong? This is a very rudimentary and unsophisticated NixOS
>> installation. Aside from the failed upgrade, nothing out of the
>> ordinairy has been done to it.
>>
>> configuration.nix:
>>
>> { config, pkgs, ... }:
>>
>> {
>>   imports =
>>     [ # Include the results of the hardware scan.
>>       ./hardware-configuration.nix
>>     ];
>>
>>   # Use the gummiboot efi boot loader.
>>   boot.loader.gummiboot.enable = true;
>>   boot.loader.efi.canTouchEfiVariables = true;
>>
>>   networking.hostName = "ejr-e465"; # Define your hostname.
>>   networking.wireless.enable = true;  # Enables wireless support via
>> wpa_supplicant.
>>
>>   # Select internationalisation properties.
>>   i18n = {
>>     consoleFont = "Lat2-Terminus16";
>>     consoleKeyMap = "us";
>>     defaultLocale = "en_US.UTF-8";
>>   };
>>
>>   # Set your time zone.
>>   time.timeZone = "America/New_York";
>>
>>   # List packages installed in system profile. To search by name, run:
>>   # $ nix-env -qaP | grep wget
>>   environment.systemPackages = with pkgs; [
>>     wget
>>     vim
>>     pkgs.kde4.kdemultimedia
>>     pkgs.kde4.kdegraphics
>>     pkgs.kde4.kdeutils
>>     pkgs.kde4.applications
>>     pkgs.kde4.kdebindings
>>     pkgs.kde4.kdeaccessibility
>>     pkgs.kde4.kde_baseapps
>>     pkgs.kde4.kactivities
>>     pkgs.kde4.kdeadmin
>>     pkgs.kde4.kdeartwork
>>     pkgs.kde4.kde_base_artwork
>>     pkgs.kde4.kdenetwork
>>     pkgs.kde4.kdepim
>>     pkgs.kde4.kdepimlibs
>>     pkgs.kde4.kdeplasma_addons
>>     pkgs.kde4.kdesdk
>>     pkgs.kde4.kdetoys
>>     pkgs.kde4.kdewebdev
>>     pkgs.kde4.oxygen_icons
>>     pkgs.kde4.kdebase_workspace
>>     pkgs.kde4.kdelibs
>>     pkgs.kde4.kdevelop
>>     pkgs.kde4.kdevplatform
>>   ];
>>
>>   # List services that you want to enable:
>>
>>   # Enable the OpenSSH daemon.
>>   # services.openssh.enable = true;
>>
>>   # Enable CUPS to print documents.
>>   # services.printing.enable = true;
>>
>>   # Enable the X11 windowing system.
>>   services.xserver.enable = true;
>>   services.xserver.layout = "us";
>>   #services.xserver.xkbOptions = "eurosign:e";
>>
>>   # Enable the KDE Desktop Environment.
>>   services.xserver.displayManager.kdm.enable = true;
>>   services.xserver.desktopManager.kde4.enable = true;
>>
>>   fonts = {
>>     enableFontDir = true;
>>     enableGhostscriptFonts = true;
>>     fonts = with pkgs; [
>>       corefonts  # Micrsoft free fonts
>>       inconsolata  # monospaced
>>     ];
>>   };
>>
>>   users.extraUsers.ejr = {
>>     name = "ejr";
>>     group = "users";
>>     uid = 1001;
>>     createHome = true;
>>     home = "/home/ejr";
>>     useDefaultShell = true;
>>     description = "Evan Johannes Rowley";
>>     password = "password";
>>     extraGroups = [
>>       "wheel"
>>       "libvirtd"
>>       "audio"
>>       "kvm"
>>       "cdrom"
>>       "docker"
>>     ];
>>   };
>>
>> # release to be compatible with for stateful data such as databases.
>>   system.stateVersion = "16.03";
>>
>>   system.autoUpgrade.enable = true;
>>   system.autoUpgrade.channel = https://nixos.org/channels/nixos-16.03;
>> }
>>
>> --
>>  - EJR
>> _______________________________________________
>> nix-dev mailing list
>> nix-dev at lists.science.uu.nl
>> http://lists.science.uu.nl/mailman/listinfo/nix-dev
>
>
> _______________________________________________
> nix-dev mailing list
> nix-dev at lists.science.uu.nl
> http://lists.science.uu.nl/mailman/listinfo/nix-dev
>


More information about the nix-dev mailing list