Esta é uma versão atualizada da minha resposta inicial, deve funcionar no NixOS 15.09. Ele contém pequenas modificações em comparação com a versão inicial que eu usei para instalar o NixOS 14.04 com alguma ajuda da lista de discussão nix-dev .
Configuração inicial
MacBook 5,1 (2008) com Mac OS 10.9 e disco rígido particionados da seguinte maneira:
a) Partição do sistema EFI de 200 MB rotulada "EFI".
b) Duas partições usadas pelo Mac OS (10.9).
c) Duas partições ext4 vazias denominadas "nixos" e "home" e uma partição Swap do Linux denominada "swap".
Eu usei as seguintes ferramentas:
Aqui está minha tabela de partições impressa por gdisk
:
Number Start (sector) End (sector) Size Code Name
1 40 409639 200.0 MiB EF00 EFI System Partition
2 409640 104603575 49.7 GiB AF00 Untitled
3 104865720 261418767 74.7 GiB AF00 Untitled
4 261680912 287071535 12.1 GiB 8302 home
5 287071536 307888927 9.9 GiB 8300 nixos
7 307888928 312581774 2.2 GiB 8200 swap
Conexão à Internet por cabo Ethernet.
Uma unidade USB formatada como FAT com MBR e rotulada NIXOS_ISO
com uma cópia (arrastada e solta) do conteúdo da imagem ISO do NixOS 15.09 de 64 bits (Live CD ou Minimal).
A etiqueta da unidade USB deve estar NIXOS_ISO
(tentei FLASH
uma vez, não funcionou).
Parece que as imagens ISO do NixOS 15.09 não podem ser montadas no Mac OS. Se a imagem não puder ser montada, basta extrair seu conteúdo. Eu poderia extrair o conteúdo da imagem ISO com o arquivo Keka .
Instalação
Inicialize a partir da unidade USB mantendo pressionada a Alt/Optiontecla ao reiniciar e selecionando a Inicialização EFI USB . Faça o login como "root" (sem senha). Verifique se a conexão com a Internet está funcionando. É necessária uma conexão com a Internet para a instalação.
Executar
swapon /dev/disk/by-label/swap
mount /dev/disk/by-label/nixos /mnt
mkdir /mnt/boot
mkdir /mnt/home
mount /dev/disk/by-label/EFI /mnt/boot
mount /dev/disk/by-label/home /mnt/home
nixos-generate-config --root /mnt
Adicionar
nixpkgs.config.allowUnfree = true;
no arquivo /mnt/etc/nixos/configuration.nix gerado .
Executar
nixos-install
Reinicialização:
reboot
Inicializando
( Esta foi a minha experiência com o 14.04. )
Após a reinicialização, o computador inicializou no NixOS. Eu reiniciei novamente, desta vez segurando a Alt/Optiontecla. O menu de inicialização mostrou dois itens de "EFI Boot" com aparência idêntica. Descobriu-se que um deles é o Mac OS e o outro é o NixOS. (Estranho - antes do nome do Mac OS ter o nome da partição do Mac OS).
Montei e inspecionei o conteúdo da partição do sistema EFI por curiosidade:
§ tree /Volumes/EFI/
.
├── EFI
│ ├── APPLE
│ │ ├── EXTENSIONS
│ │ │ └── Firmware.scap
│ │ └── FIRMWARE
│ │ └── MB51_007D_03B_LOCKED.scap
│ ├── Boot
│ │ └── BOOTX64.EFI
│ ├── gummiboot
│ │ └── gummibootx64.efi
│ └── nixos
│ ├── 5683z247xmsrh4lyr2hgpxwlb9gg5wyl-linux-3.12.20-bzImage.efi
│ └── mmjxbf6vwp5mwb384yfd6c8vkhd19gx8-initrd-initrd.efi
└── loader
├── entries
│ └── nixos-generation-1.conf
└── loader.conf
Tudo lá, exceto / EFI / APPLE e seu conteúdo, foi criado pela instalação do NixOS.
Tornando o Mac OS novamente padrão
( Esta foi a minha experiência com o 14.04. )
Para tornar o Mac OS novamente padrão e tornar o item correspondente no Optionmenu de inicialização com o nome da partição do Mac OS, basta acessar Preferências do Sistema ...> Disco de Inicialização no Mac OS e selecionar a partição no Mac OS. Estranhamente, era necessário digitar a senha de administrador duas vezes e a partição ainda não era mostrada como selecionada, mas, caso contrário, funcionava.
Outras instruções
Para sempre ver o menu gummiboot , basta definir boot.loader.gummiboot.timeout
em configuration.nix .
Para configurar corretamente minha placa de vídeo nVidia , acabei usando o driver nouveau de código aberto :
services.xserver.videoDrivers = [ "nouveau" ];
Não tenho queixas sobre isso. Se eu usar o proprietário "nvidia"
, os consoles de texto não funcionarão.
Atualização para o NixOS 16.09 . Observei que na minha máquina com o NixOS 16.09, a opção services.xserver.videoDrivers
não é necessária no configuration.nix para que tudo funcione bem e que, de fato, prejudica visivelmente o desempenho gráfico de acordo com alguns testes que fiz com o benchmark glmark2 OpenGL. Também observei que a seleção "nvidia"
quebra o modo gráfico, mas deixa os consoles de texto, ao contrário do que observei no Nix OS 14.04. Tudo isso me parece um pouco estranho, mas foi o que observei, então removi essa opção do meu configuration.nix .
Para carregar o módulo applesmc (para o sensor de movimento repentino, por exemplo), sugeriu-me adicionar o seguinte ao configuration.nix :
boot.kernelModules = [ "applesmc" ];
Observações e observações
O único "problema" com o NixOS no meu MacBook que eu observei até agora é que rodar o NixOS no meu laptop geralmente fica 5-10 ° C mais quente do que no Mac OS 10.9. Este pode ser um problema comum para Linux em um Mac .
Links para instruções de instalação alternativas