gpt4 book ai didi

nixos - 如何为 NixOS 世代添加标签

转载 作者:行者123 更新时间:2023-12-04 23:41:50 26 4
gpt4 key购买 nike

当我启动我的机器时,它会在列表中显示所有代,但将它们命名为“第 49 代”、“第 50 代”等。

有没有办法为世代添加标签,以便我以后可以轻松查看更改的内容?我想要一些类似于可选提交消息的内容,因此它可能类似于“第 49 代 - 切换到 KDE5”、“第 50 代 - 切换回 gnome3”。

最佳答案

/boot/grub/grub.conf 当前构建于:

nixos/modules/system/boot/loader/grub/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-rebuild 支持 --profile-name,引用联机帮助页:
   --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'”.

总结: 希望这就是你要找的。

关于nixos - 如何为 NixOS 世代添加标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35075383/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com