2016-01-29 32 views
1

當我啓動我的機器就顯示了所有世代在列表中,但它們命名「49一代」,「50一代」等如何添加標籤NixOS代

有沒有一種方法來添加標籤幾代人,以便我可以很容易地看到後來發生了什麼變化?我想提供一些可選的提交信息,例如「第49代 - 切換到KDE5」,「第50代 - 切換回gnome3」。

回答

4

/boot/grub/grub.conf的目前由建:

nixos /模塊/系統/啓動/加載/蠐螬/ install-grub.pl

# Emit submenus for all system profiles. 
sub addProfile { 
    my ($profile, $description) = @_; 

    # Add entries for all generations of this profile. 
    $conf .= "submenu \"$description\" {\n" if $grubVersion == 2; 

    sub nrFromGen { my ($x) = @_; $x =~ /\/\w+-(\d+)-link/; return $1; } 

    my @links = sort 
     { nrFromGen($b) <=> nrFromGen($a) } 
     (glob "$profile-*-link"); 

    my $curEntry = 0; 
    foreach my $link (@links) { 
     last if $curEntry++ >= $configurationLimit; 
     my $date = strftime("%F", localtime(lstat($link)->mtime)); 
     my $version = 
      -e "$link/nixos-version" 
      ? readFile("$link/nixos-version") 
      : basename((glob(dirname(Cwd::abs_path("$link/kernel")) . "/lib/modules/*"))[0]); 
     addEntry("NixOS - Configuration " . nrFromGen($link) . " ($date - $version)", $link); 
    } 

    $conf .= "}\n" if $grubVersion == 2; 
} 

這是一個grub.conf中單個條目:

menuentry "NixOS - Configuration 38 (2016-01-29 - 16.03pre75806.77f8f35)" { 
search --set=drive1 --fs-uuid d931bd85-8f35-4ae9-a36b-c1ac51ad7b57 
    linux ($drive1)//kernels/56fkcbxnwzi0kh6vg677a4cd4zcabm55-linux-4.1.15-bzImage systemConfig=/nix/store/2sybsl278s5a8kzhplwcz5jbhbsqwdci-nixos-system-lenovo-t530-16.03pre75806.77f8f35 init=/nix/store/2sybsl278s5a8kzhplwcz5jbhbsqwdci-nixos-system-lenovo-t530-16.03pre75806.77f8f35/init loglevel=4 
    initrd ($drive1)//kernels/r33fajk0kaxlfmg922c2hy4rak5cj90z-initrd-initrd 
} 

然而,nixos-重建支持--profile名稱,報價手冊頁:

--profile-name, -p 
     Instead of using the Nix profile /nix/var/nix/profiles/system to keep track of 
     the current and previous system configurations, use 
     /nix/var/nix/profiles/system-profiles/name. When you use GRUB 2, for every 
     system profile created with this flag, NixOS will create a submenu named 「NixOS 
     - Profile 'name'」 in GRUB’s boot menu, containing the current and previous 
     configurations of this profile. 

     For instance, if you want to test a configuration file named test.nix without 
     affecting the default system profile, you would do: 

      $ nixos-rebuild switch -p test -I nixos-config=./test.nix 

     The new configuration will appear in the GRUB 2 submenu 「NixOS - Profile 
     'test'」. 

摘要:希望這是你在找什麼。

+1

這看起來像我想要的。但是,我不再使用NixOS,因此我無法驗證您的答案。 – psmith