nixos 14pre

This commit is contained in:
Chris Farmiloe 2014-01-31 11:28:11 +00:00
parent d6d8bc7c1c
commit 8dcbbfe1f4
7 changed files with 73 additions and 33 deletions

View file

@ -17,7 +17,7 @@ First install [packer](http://packer.io) and [virtualbox](https://www.virtualbox
Then: Then:
``` ```
packer build cycle64-template.json packer build template.json
``` ```
The .box image is now ready to go. Install it into Vagrant via: The .box image is now ready to go. Install it into Vagrant via:

27
keys/install.key Normal file
View file

@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAr2QdWgfsKKXCPIjrPHZ0YRzsqEcIjj2Apg62qylsh4DPZ2tw
XV3mtJVj9QchOHoeDiD1l4jUeebmijkYGCi/NkiO3pl6mM6LvVhfWSaCu3tlEzwI
XLxLR5W+wGgUs+Tkxd3QTLuHCCKwu9mxH6luoH5iNuZ9ZcfP131DEX6xLIOKjenr
NbIb8famtiF4GhzjeQ/hTYCQk5vYxcI1+O5UOV3eyjVqo0b4WugdNMZERT5ZwyN2
rKWA1FumngCNsMh1demYj+ii/lxn6scOBHy9uTyLWrTt/H2U117XcK0jrGLSQTnY
Jqu1vlr/0Vp0xQgemPHZftm5OZPvVvwYWprsYwIDAQABAoIBAQCGMuMmfQNcgqAh
M15ScAxSNhB6HYfVVge2h3GLe3GYKJ4JcrKSLgQVTm0iEaeAkCepBd0EamSxNVRW
lKLz8VGFFnWCqwqcGwXfBdxG2WmUTDElS3zWgBhVmKVQkRKuJshJAZSc8au7NNfn
lASrxjdoQ+ugODHgi8djCWwk2bx04pexVh6k3iMtzQ3kF5aureh3PdTVqudpwGPy
BuRJeMSLCrYvJtJayoYoV/i4NpLYmXHCpGlZ2R+Ig+JdAX6C6Nf3vBrnyEksV/Rc
5ls2zN5bprJi5ESImQTAuweJUo3SvyWQU/4TtOu+taYMLgo9UBdSr4+g08fY4kiO
aITPwYpBAoGBAOfNfaa3K2f+pYztWD13dNq/M9ljl7oLEU7JT/Ft1JhF8578X5nc
7NGyQyWGMytZUQE7M7mnCJ0W1jLtoL9xrUap757eEQ4vHoOAFlOCfq3ccjjeICAr
WGe1ccZgV/RL8vtYR1wTBEAjcefk/eBMXkf0+8Al2hk9OdRdBq/ivcEDAoGBAMGz
H/XWrHC3IWY73rka4XYw2t8kHXzLxxAJRC56Ew0o/3PXjOU7ue9YO1iGyx3JNIky
yTrbyeZxXCBADjojPDBCTzVcFDdGKAsj8akzS6EmB3eJgmcV+HvPWcKPNjIfLBY8
ysY/H/hm8Ahbwa0OYG7FdQSFhiIX5iDf3ZdaWVkhAoGAVrdMC0M4zMW5nvfna881
euPOfMPCLgoX5nZvHq1su65njhFxnjjEq0nZzr7eg5f9Ms238vrmwQWbCiBVY2ke
XnISP0dp7/l2m9EeCQ2nYFk4rceDEyXEA8AgGQtPvAdxlc+Xmn1OuMPJx+ulgfRv
zNF8IIzIg2qhKK3IY6IaRIsCgYAKpuMXDdslx6xahuhUnZnQehdPNhk5B6vGwfux
4pyxmJOTt0LUSFiNRPjegWsiFDKDaPuP9Q5BUfKTA3LE17MzpDHe6VVjRMRm+G8N
svhxwDmg5Tr6mEa16E0zWdTNJNGz11v/UvFbI64Hh6Q69BNxhAJPYVhi/5V0MVtq
O1m2gQKBgQDVip9tC4WVD9H342Ijf9FnUrXtdhTrceo6vPdYpaEkWfmW8+T7v4W7
qzgyMseGPleh2jNID7xLLLJLXVJ4Whcg5PDWCYu14bs2mxm29pmqyZsLMPY512NM
10i562nONoR+rvOUQCBF1omv/JHB4FhHSQasSrnS0eZhyuaVRwVfTw==
-----END RSA PRIVATE KEY-----

1
keys/install.key.pub Normal file
View file

@ -0,0 +1 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCvZB1aB+wopcI8iOs8dnRhHOyoRwiOPYCmDrarKWyHgM9na3BdXea0lWP1ByE4eh4OIPWXiNR55uaKORgYKL82SI7emXqYzou9WF9ZJoK7e2UTPAhcvEtHlb7AaBSz5OTF3dBMu4cIIrC72bEfqW6gfmI25n1lx8/XfUMRfrEsg4qN6es1shvx9qa2IXgaHON5D+FNgJCTm9jFwjX47lQ5Xd7KNWqjRvha6B00xkRFPlnDI3aspYDUW6aeAI2wyHV16ZiP6KL+XGfqxw4EfL25PItatO38fZTXXtdwrSOsYtJBOdgmq7W+Wv/RWnTFCB6Y8dl+2bk5k+9W/Bhamuxj public@installkey

View file

@ -1,10 +1,14 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
#
# This file is only used for the inital install. It is a bare-bones
# system configuration with just grub and openssh.
#
# This file should be removed by the postinstall scripts.
#
{ {
imports = imports =[ ./hardware-configuration.nix ];
[ # Include the results of the hardware scan.
./hardware-configuration.nix
];
# Use the GRUB 2 boot loader. # Use the GRUB 2 boot loader.
boot.loader.grub.enable = true; boot.loader.grub.enable = true;
@ -16,8 +20,15 @@
# Enable the OpenSSH daemon. # Enable the OpenSSH daemon.
services.openssh.enable = true; services.openssh.enable = true;
services.openssh.permitRootLogin = "yes";
users.extraUsers.root.openssh.authorizedKeys.keys = [ "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCvZB1aB+wopcI8iOs8dnRhHOyoRwiOPYCmDrarKWyHgM9na3BdXea0lWP1ByE4eh4OIPWXiNR55uaKORgYKL82SI7emXqYzou9WF9ZJoK7e2UTPAhcvEtHlb7AaBSz5OTF3dBMu4cIIrC72bEfqW6gfmI25n1lx8/XfUMRfrEsg4qN6es1shvx9qa2IXgaHON5D+FNgJCTm9jFwjX47lQ5Xd7KNWqjRvha6B00xkRFPlnDI3aspYDUW6aeAI2wyHV16ZiP6KL+XGfqxw4EfL25PItatO38fZTXXtdwrSOsYtJBOdgmq7W+Wv/RWnTFCB6Y8dl+2bk5k+9W/Bhamuxj public@installkey" ];
# Enable DBus # Enable DBus
services.dbus.enable = true; services.dbus.enable = true;
# Default packages
environment.systemPackages = with pkgs; [
git
];
} }

View file

@ -1,10 +1,7 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {
imports = imports = [ ./hardware-configuration.nix ];
[ # Include the results of the hardware scan.
./hardware-configuration.nix
];
# Use the GRUB 2 boot loader. # Use the GRUB 2 boot loader.
boot.loader.grub.enable = true; boot.loader.grub.enable = true;
@ -17,6 +14,9 @@
# Enable the OpenSSH daemon. # Enable the OpenSSH daemon.
services.openssh.enable = true; services.openssh.enable = true;
# Virtualbox guess
services.virtualbox.enable = true;
# Enable DBus # Enable DBus
services.dbus.enable = true; services.dbus.enable = true;
@ -57,15 +57,14 @@
} ]; } ];
}; };
security.sudo.configFile = security.sudo.configFile = ''
'' Defaults:root,%wheel env_keep+=LOCALE_ARCHIVE
Defaults:root,%wheel env_keep+=LOCALE_ARCHIVE Defaults:root,%wheel env_keep+=NIX_PATH
Defaults:root,%wheel env_keep+=NIX_PATH Defaults:root,%wheel env_keep+=TERMINFO_DIRS
Defaults:root,%wheel env_keep+=TERMINFO_DIRS Defaults env_keep+=SSH_AUTH_SOCK
Defaults env_keep+=SSH_AUTH_SOCK Defaults lecture = never
Defaults lecture = never root ALL=(ALL) SETENV: ALL
root ALL=(ALL) SETENV: ALL %wheel ALL=(ALL) NOPASSWD: ALL, SETENV: ALL
%wheel ALL=(ALL) NOPASSWD: ALL, SETENV: ALL '';
'';
} }

View file

@ -1,13 +1,15 @@
#!/bin/sh #!/bin/sh
set -e
# Checkout our nixpkg tree # Checkout our nixpkg tree
NIXREPO=/etc/nixos/oxdi git config --global http.sslVerify false
mkdir -p $NIXREPO NIXREPO=/etc/nixos
cd $NIXREPO # (cd $NIXREPO && git clone http://github.com/oxdi/nixpkgs.git)
git clone https://github.com/oxdi/nixpkgs.git
# Update and initialize our new configuration # Update and initialize our new configuration
nixos-rebuild -I nixos=$NIXREPO/nixos -I nixpkgs=$NIXREPO/nixpkgs switch # nixos-rebuild -I nixos=$NIXREPO/nixpkgs/nixos -I nixpkgs=$NIXREPO/nixpkgs switch
nixos-rebuild switch
# Cleanup any previous generations and delete old packages that can be # Cleanup any previous generations and delete old packages that can be
# pruned. # pruned.
@ -17,5 +19,5 @@ for x in `seq 0 2` ; do
done done
# Zero out the disk (for better compression) # Zero out the disk (for better compression)
dd if=/dev/zero of=/EMPTY bs=1M # dd if=/dev/zero of=/EMPTY bs=1M
rm -rf /EMPTY # rm -rf /EMPTY

View file

@ -2,7 +2,7 @@
"builders": [ "builders": [
{ {
"type": "virtualbox-iso", "type": "virtualbox-iso",
"boot_wait": "2m", "boot_wait": "1m",
"boot_command": [ "boot_command": [
"root<enter>", "root<enter>",
"stop sshd<enter>", "stop sshd<enter>",
@ -16,18 +16,18 @@
"mkfs.ext4 -j -L nixos /dev/sda1<enter><wait5>", "mkfs.ext4 -j -L nixos /dev/sda1<enter><wait5>",
"mount LABEL=nixos /mnt<enter><wait>", "mount LABEL=nixos /mnt<enter><wait>",
"nixos-generate-config --root /mnt<enter><wait>", "nixos-generate-config --root /mnt<enter><wait>",
"curl http://{{ .HTTPIP }}:{{ .HTTPPort }}/basic.nix > /mnt/etc/nixos/configuration.nix<enter><wait>",
"nixos-install && reboot<enter>" "nixos-install && reboot<enter>"
], ],
"guest_additions_mode": "disable", "guest_additions_mode": "disable",
"guest_os_type": "Gentoo_64", "guest_os_type": "Linux_64",
"http_directory": "http", "http_directory": "nixos",
"iso_checksum": "fbac8c11661028e6f9c4ec293e1329e1", "iso_checksum": "48395b4bd21675703c87cfae1feb68ed",
"iso_checksum_type": "md5", "iso_checksum_type": "md5",
"iso_url": "http://releases.nixos.org/nixos/unstable/nixos-14.02pre38596.1dd0e05/nixos-minimal-14.02pre38596.1dd0e05-x86_64-linux.iso", "iso_url": "http://releases.nixos.org/nixos/unstable/nixos-14.02pre38596.1dd0e05/nixos-minimal-14.02pre38596.1dd0e05-x86_64-linux.iso",
"shutdown_command": "sudo shutdown -h now", "shutdown_command": "sudo shutdown -h now",
"ssh_password": "vagrant", "ssh_username": "root",
"ssh_port": 22, "ssh_key_path": "keys/install.key",
"ssh_username": "vagrant",
"ssh_wait_timeout": "10m", "ssh_wait_timeout": "10m",
"virtualbox_version_file": ".vbox_version" "virtualbox_version_file": ".vbox_version"
} }