Giter Club home page Giter Club logo

vagrant-box-osx's Introduction

Mac OS X Vagrant box for VirtualBox

This is a issue tracker for OS X Vagrant boxes, which can be found in Download section

Box was tested only on VirtualBox with Mac OS as a host. Mainly, I made it to build our iOS applications via CI-server.

Downloads

You can find following images on VagrantCloud:

  • Mac OS X Yosemite 10.10 (XCode 6.4) (13Gb) (sha1: 6339bf812017b9f0046d9fdda79cc6f3d2ab169a)
  • macOS Sierra (XCode 8.2) (14.1Gb)

Notice it can take a while to download the image as they are large and can be throtled by VagrantCloud hosting.

Setting up

  1. Install Vagrant and VirtualBox;
  2. cd into your project directory;
  3. Run vagrant init AndrewDryga/vagrant-box-osx;
  4. Your Vagrantfile should be ready as soon as Vagrant downloads box;
  5. Start VM by calling vagrant up.

OS X Licensing

Apple's EULA states that you can install your copy on your actual Apple-hardware, plus up to two VMs running on your Apple-hardware. So using this box on another hardware is may be illegal and you should do it on your own risk.

By using it you agree with all macOS Sierra and XCode license agreements.

What's included?

Sierra box:

Yosemite box:

  • Default Vagrantfile (inside box) that fixes most of common issues;
  • Homebrew;
  • Homebrew Cask;
  • Puppet 3.7.4;
  • XCode 6.4;
  • XCode Command Line Tools;
  • NodeJS 0.12.7 (for npm);
  • Appium 1.4.10;
  • iOS Simulator (all devices for iOS 8.4).

Useful cli tools and information

  • Nomad CLI - provides a set of tools that allow to manage certificates, profiles and many other things;
  • ObjC.io Issue 6 - how-to article about building apps in cli-only (this one about Travis-Ci);
  • security - use it to manage your keychains;
  • xctool - Facebook project for building iOS apps.

Common issues

  • Box may crash on AMD-based hosts due to VirtualBox issues.
  • Do not turn 3D acceleration on in VirtualBox, or it will start retuning aborted condition and would not start in headless mode;
  • VirtualBox doesn't have Guest additions for Mac OS X, so you can't have shared folders. Instead you can use normal network shared folders (docs):
    # Use NFS for the shared folder
    config.vm.synced_folder ".", "/vagrant",
        id: "core",
        :nfs => true,
        :mount_options => ['nolock,vers=3,udp,noatime']
  • If your VM freezes with hfs mounted macintosh hd on device root_device then you need to set cpuidset inside your Vagrantfile: vb.customize ["modifyvm", :id, "--cpuidset", "1","000206a7","02100800","1fbae3bf","bfebfbff"] (it's included since version 0.2);
  • If your mouse does not work on a MacBook Pro host machine, shut down the VM and open the VirtualBox Manager. Edit the VM's settings. Choose the System tab. Under the Motherboard sub-tab, set the Chipset option to be PIIX 3, and set the Pointing Device option to be USB Tablet. Restart the VM;
  • When OSX is trying to prompt graphically for password (i.e when using swift REPL), it will raise the error error:process exited with status -1) (lost connection) because there is no graphical output when using vagrant via ssh login, enable the develop mode can solve this situation, run the following command: sudo /usr/sbin/DevToolsSecurity --enable;
  • If you need user password (for example for Homebrew Cask). Vagrant have default consideration to create user vagrant with password vagrant, you can use it.

Warning

VirtualBox support for Mac OS X is experimental. More information can be found in official docs.

Tips to build your own box

Main think you should remember is that you need latest VirtualBox version BEFORE you start installation. Process of installation is pretty straight forward (as on usual Mac), but you need to erase virtual drive during installation via Disk Utilities. After that just follow Vagrant guide to create base box and another one to package it.

Sometimes you need to rebuild VirtualBox kernel extensions before installing OS on VM.

Helpful links (most of them are outdated):

vagrant-box-osx's People

Contributors

andrewdryga avatar ccharles avatar graingert avatar hewhomustnotbenamed avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vagrant-box-osx's Issues

iPad Simulators missing

When I launch XCode, I only see iPhone Simulators. Is there a config I'm missing? Or do I need to run something to download one?

Vagrantfile ?

It would be useful to include a default Vagrantfile which has the URL included (so it downloads the file if it's not already installed with a vagrant box add ... command).

Black Screen / Doesn't boot?

I wonder if anyone has been able to run this on a computer with a AMD CPU (and 64 bit Ubuntu Linux)?
On my system I just get a black screen (in VirtualBox), it doesn't seem to boot properly.

My system:
AMD Phenom(tm) II X4 965 Processor × 4
GeForce GT 640/PCIe/SSE2
32 GB RAM

I would recall I've read something some time ago, that it's easier to get Mac up running on Intel, even in VirtualBox etc.

hfs mounted macintosh hd on device root_device

When attempting to boot with vagrant up it stalls on attempting to connect over ssh. I flipped the switch in the Vagrant file for the GUI and the issue seems to be that it stalls on booting with:

hfs mounted macintosh hd on device root_device

The box 'http://files.dryga.com/boxes/osx-yosemite-0.2.1.box' could not be found.

arturs@arturs:/git/osx$ vagrant init http://files.dryga.com/boxes/osx-yosemite-0.2.1.box
A Vagrantfile has been placed in this directory. You are now
ready to vagrant up your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
vagrantup.com for more information on using Vagrant.
arturs@arturs:
/git/osx$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
There are errors in the configuration of this machine. Please fix
the following errors and try again:

vm:

What's the matter here?

10.10

Yeah, I know that it's a developer preview\unstable etc. But still it would be awesome to have a Yosemite vagrant box, to start testing software.

Running apps with GUI

Is there any way to run apps using a GUI on the mavericks box?

I've tried enabling regular VNC (I see an unusable grey screen), Vine (doesn't work), X11vnc (likewise). The box doesn't boot into a desktop environment, either for some reason (although it does on the yosemite box and it works fine).

Ideally, I'd prefer to use ssh with X forwarding, but that doesn't appear to be an option.

changing VM memory to 4096 makes in unbootable

Adding

config.vm.provider "virtualbox" do |v|
  v.memory = 4096
end

to Vagrantfile makes VM unbootable.

I understand that it can be more a vagrant/virtualbox issue than your box issue but maybe you can help with it.

Xcode Command Line Tools issue in Yosemite box

Hi, I'm using Yosemite box for some iOS app testing. We are configuring test server environment on testing machine. Running bundle install for our rails app fails with such output:

Installing nokogiri 1.6.6.2 with native extensions

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    /Users/vagrant/.rvm/rubies/ruby-2.0.0-p645/bin/ruby -r ./siteconf20150616-20505-x5w77i.rb extconf.rb
checking if the C compiler accepts ... yes
checking if the C compiler accepts -Wno-error=unused-command-line-argument-hard-error-in-future... no
Building nokogiri using packaged libraries.
-----
The file "/usr/include/iconv.h" is missing in your build environment,
which means you haven't installed Xcode Command Line Tools properly.

To install Command Line Tools, try running `xcode-select --install` on
terminal and follow the instructions.  If it fails, open Xcode.app,
select from the menu "Xcode" - "Open Developer Tool" - "More Developer
Tools" to open the developer site, download the installer for your OS
version and run it.
-----

Running xcode-select --install and accepting installation in UI messagebox solves problem.
Mavericks box doesn't have such problem.

Can you please fix this cause thanks to Apple installing command lines tool requires user interaction and can not be full automated.

USB devices not recognized on host or guest

VirtualBox's host and guest do not detect my connected USB devices.

I have installed the closed-source virtualbox-kernel-addons, which is supposed to add USB 2.0 support.

Port forwarding not working

Hello,

I was just testing this VM, and it seems that I am having an issue with the port forwarding for ssh I think. I have tried to set this up on a Linux host, and this is the output I get:

1__root_h2359578___var_vagrant_test_test__ssh_

Also, I am not able to run (I assume this should work since the ssh port is forwarded to 2222):

ssh 127.0.0.1 -p 2222

Have anyone else encountered this, or has anyone else even tried a Linux host? Do you have any recommendation on how to fix this?

Thanks,
Gerald

Seamless mode doesn't seem to work

Hi! I'm trying to run OSX VM on top of OSX Host so that my main desktop is clean and the VM can be easily destroyed and recreated.

I'm trying to make the dock and top bar seamless so that I can touch the OSX Host dock and the OSX VM but Virtualbox's seamless mode is grayed out. Is this an issue with the box, with Virtualbox, or with my setup?

Thanks

VBoxManage.exe: error: Appliance import failed

I'm getting this error on vagrant up, running on Windows 8.1, VirtualBox 4.3.10, Vagrant 1.6.0.

The only modifications I made to the Vagrantfile aside from setting config.vm.box was:

config.vm.provider "virtualbox" do |vb|
    # Don't boot with headless mode
    vb.gui = true

    # Use VBoxManage to customize the VM. For example to change memory:
    vb.customize ["modifyvm", :id, "--memory", "2048"]
  end

Command line output:

Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'AndrewDryga/osx-mavericks'...
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["import", "C:/Users/Brett/.vagrant.d/boxes/AndrewDryga-VAGRANTSLASH-osx-mavericks/0.1.0/virtualbox/box.ovf", "
--vsys", "0", "--vmname", "Mac OS X - Vagrant_1399530920457_82370", "--vsys", "0", "--unit", "8", "--disk", "C:\\Users\\
Brett\\VirtualBox VMs\\Mac OS X - Vagrant\\box-disk1_1.vmdk"]

Stderr: 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Interpreting C:\Users\Brett\.vagrant.d\boxes\AndrewDryga-VAGRANTSLASH-osx-mavericks\0.1.0\virtualbox\box.ovf...
OK.
0%...
Progress state: VBOX_E_FILE_ERROR
VBoxManage.exe: error: Appliance import failed
VBoxManage.exe: error: Could not create the clone medium 'C:\Users\Brett\VirtualBox VMs\Mac OS X - Vagrant\box-disk1_1.v
mdk'.
VBoxManage.exe: error: VMDK: cannot write allocated data block in 'C:\Users\Brett\VirtualBox VMs\Mac OS X - Vagrant/box-
disk1_1.vmdk' (VERR_DISK_FULL)
VBoxManage.exe: error: Details: code VBOX_E_FILE_ERROR (0x80bb0004), component Appliance, interface IAppliance
VBoxManage.exe: error: Context: "int __cdecl handleImportAppliance(struct HandlerArg *)" at line 779 of file VBoxManageA

Reduce box size

Btw, have you tried:

diskutil secureErase freespace 0 Macintosh\ HD

before packaging the box? Because similar box (osx + xcode) is only 9Gb for me.

Xcode command line issue

Running such shell provisioning script:

curl -o get-pip.py https://raw.github.com/pypa/pip/master/contrib/get-pip.py
python get-pip.py
rm get-pip.py

pip install virtualenv
mkdir buildslave
cd buildslave
virtualenv --no-site-packages sandbox
source sandbox/bin/activate
pip install buildbot-slave

gives such error:

You have not agreed to the Xcode license agreements, please run 'xcodebuild -license' (for user-level acceptance) or 'sudo xcodebuild -license' (for system-wide acceptance) from within a Terminal window to review and agree to the Xcode license agreements.

Virtualbox version: does not work with virtualbox other than 4.1, 4.2 and 4.3

I use virtualbox 5.0.12 on ubuntu.
Upon "vagrant up" I get this error:

The provider 'virtualbox' that was requested to back the machine
'default' is reporting that it isn't usable on this system. The
reason is shown below:

Vagrant has detected that you have a version of VirtualBox installed
that is not supported. Please install one of the supported versions
listed below to use Vagrant:

4.0, 4.1, 4.2, 4.3

$ vagrant --version
Vagrant 1.6.5
$ virtualbox -h
Oracle VM VirtualBox Manager 5.0.12
(C) 2005-2015 Oracle Corporation
All rights reserved.
...

Little video memory

Hello, everyone.

The guest machine only has 3MB video memory even though I set it to be 128MB in Virtualbox. I got this figure from "About this computer". And therefore I got bad windows display and laggy mouse movement. I searched for solution on the Internet but nothing useful has been found.

Does anyone know how to fix this problem?

insert_key and post_up_message issue

After using "vagrant up" I got the following output

Bringing machine 'default' up with 'virtualbox' provider...
[default] Box 'osx-yosemite-0.2.1.box' was not found. Fetching box from specified URL for
the provider 'virtualbox'. Note that if the URL does not have
a box for this provider, you should interrupt Vagrant now and add
the box yourself. Otherwise Vagrant will attempt to download the
full box prior to discovering this error.
Downloading box from URL: http://localhost/boxes/osx-yosemite-0.2.1.box
Extracting box...te: 30.1M/s, Estimated time remaining: 0:00:02)
Successfully added box 'osx-yosemite-0.2.1.box' with provider 'virtualbox'!
There are errors in the configuration of this machine. Please fix
the following errors and try again:

SSH:

  • The following settings shouldn't exist: insert_key

vm:

  • The following settings shouldn't exist: post_up_message

Working on non-apple hardware?

Are there any reports of this box working on non-apple hardware, specifically in a Linux host?

In headless mode the box boots fine, but in GUI mode the box won't boot getting stuck at "missing bluetooth controller transport". I'm guessing that's a red herring though, it is probably related to my intel chipset/graphics.

License

Can you add a license header to your files so its obvious what license your releasing the files under?

VagrantCloud dl is too slow...

@AndrewDryga Installing the box via VagrantCloud takes forever. On my machine, which has an O.K. connection at 2M/s dl, the estimated download time is 15+ hours.

Is there any way that you could provide a separate dl location for the box you have created?

 |system| Jacks-MacBook-Pro in ~/Development/sprout-homebrew-emacs
±  |master ✗| → vagrant box add AndrewDryga/osx-mavericks
==> box: Loading metadata for box 'AndrewDryga/osx-mavericks'
    box: URL: https://vagrantcloud.com/AndrewDryga/osx-mavericks
==> box: Adding box 'AndrewDryga/osx-mavericks' (v0.1.0) for provider: virtualbox
    box: Downloading: https://vagrantcloud.com/AndrewDryga/osx-mavericks/version/1/provider/virtualbox.box
==> box: Box download is resuming from prior download progress
    box: Progress: 0% (Rate: 299k/s, Estimated time remaining: 15:02:59)

osx-sierra-0.3.1.box seems to be corrupted.

Hi,

I've downloaded the osx-sierra box (direct link download) and after trying to add the box, the following error is encountered:

cristaa.fortuno$ vagrant box add ~/Downloads/osx-sierra-0.3.1.box --name osx-sierra-0.3.1.box
==> box: Box file was not detected as metadata. Adding it directly...
==> box: Adding box 'osx-sierra-0.3.1.box' (v0) for provider:
box: Unpacking necessary files from: file:///Users/cristaa.fortuno/Downloads/osx-sierra-0.3.1.box
The box failed to unpackage properly. Please verify that the box
file you're trying to add is not corrupted and try again. The
output from attempting to unpackage (if any):

x ./box-disk1.vmdk: truncated gzip input
bsdtar: Error exit delayed from previous errors.

Kindly advise. Thank you.

Image goes directly to 'Guru meditation' (crashes on boot)

➜ vagrant init http://files.dryga.com/boxes/osx-sierra-0.3.1.box
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.
➜ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'http://files.dryga.com/boxes/osx-sierra-0.3.1.box' could not be found. Attempting to find and install...
    default: Box Provider: virtualbox
    default: Box Version: >= 0
==> default: Box file was not detected as metadata. Adding it directly...
==> default: Adding box 'http://files.dryga.com/boxes/osx-sierra-0.3.1.box' (v0) for provider: virtualbox
    default: Downloading: http://files.dryga.com/boxes/osx-sierra-0.3.1.box
==> default: Box download is resuming from prior download progress
==> default: Successfully added box 'http://files.dryga.com/boxes/osx-sierra-0.3.1.box' (v0) for 'virtualbox'!
==> default: Importing base box 'http://files.dryga.com/boxes/osx-sierra-0.3.1.box'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: osx_default_1484270183749_84366
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
The guest machine entered an invalid state while waiting for it
to boot. Valid states are 'starting, running'. The machine is in the
'gurumeditation' state. Please verify everything is configured
properly and try again.

If the provider you're using has a GUI that comes with it,
it is often helpful to open that and watch the machine, since the
GUI often has more helpful error messages than Vagrant can retrieve.
For example, if you're using VirtualBox, run `vagrant up` while the
VirtualBox GUI is open.

The primary issue for this error is that the provider you're using
is not properly configured. This is very rarely a Vagrant issue.

This is on linux with Virtualbox 5.0 and Virtualbox 5.1

Log : http://pastebin.com/HbWBp4Av (4k lines...). I tried setting ignore_msrs to 1 as is needed with kvm

[Fixed] Virtualbox freeze at the boot #Yosemite

Fixed

config.vm.provider "virtualbox" do |vb|
    # Don't boot with headless mode
    # vb.gui = true

    # Use VBoxManage to customize the VM. For example to change memory:
    vb.customize ["modifyvm", :id, "--cpuidset", "00000001", "000306a9", "00020800", "80000201", "178bfbff"]
  end

screen shot 2014-09-23 at 4 12 56 pm
screen shot 2014-09-23 at 11 09 41 am

GUI mode?

How I can run GUI mode?, it fires up console mode and able to ssh into it.

password?

What's the vagrant user's password? After being idle for a bit, OS X requires a login. Could this be configurable? Thanks!

login.keychain add certificate

I'm trying to import a p12 certificate. The instructions I am following say to unlock the keychain and then import the certificate.

I'm running

security -v unlock-keychain -p "vagrant" "/Users/vagrant/Library/Keychains/login.keychain"

And get back no response (doing $? gives 0 even if I type gibberish as the password).

And then running the following gives me an error:

security import Certificates.p12 -k "/Users/vagrant/Library/Keychains/login.keychain" -P 'vagrant' -A

Error: security: SecKeychainItemImport: User interaction is not allowed.

I'm trying to eliminate the problem, but is the password for the keychain "vagrant" seeing as that is the user account. Also has anyone any experience of importing a p12 certificate to the login.keychain and can tell me what is wrong.

Updates to vagrant-box-osx

How often do you update the vagrant box for macOS Sierra? macOS 10.12.3 & Xcode 8.2.1 are both out now. It would be really nice to have these as part of the base vagrant box.

TODO

Here you can leave any ideas how to improve box. Its faster if you suggest a solution, rather than noticing a problem.

Right now for version 0.2.2 the list is:

  • Update Max OS (probably to v10.11)
  • Increase dynamic disc size to 128 GB
  • Update XCode (#38)
  • Fix folder owner for /Library/Caches/Homebrew (found by brew doctor)
    sudo chown -R vagrant:admin /Library/Caches/Homebrew
  • Update Vagrantfile sample, to show NFS folders usage
  • sudo /usr/sbin/DevToolsSecurity --enable to avoid errors on GUI password prompts
  • Update and enter password for Homebrew Cask (it asks for password when you use it for first time)
  • Speed up the machine in sample Vagrantfile: hashicorp/vagrant#2864
  • Find a way to solve mouse pointer issue (from common issues) in a nice way
  • Update all package managers
  • Update puppet
  • Reduce box size diskutil secureErase freespace 0 Vagrant and delete all logs (again) and http://vmassuchetto.github.io/2013/08/14/reducing-a-vagrant-box-size/
  • Simplify using launchctl with https://github.com/eddiezane/lunchy
  • Remove "Recovery HD" to reduce box size
  • Add defines to install additional tools like it did in: https://github.com/radeksimko/vagrant-osx/blob/master/Vagrantfile

Sierra box won't boot if set memory over 2GB

Hello,

I tried to allocate more than 2GB of ram but it failed to boot properly. Both guest and host are 64bits system.

Do you know why it is not working?


Actually I have been able to go up to 3GB by raising the video memory from 32 to 64MB with this vagrant instruction:
vb.customize ["modifyvm", :id, "--vram", ""]

And to 4GB if raised to 128MB of video memory...

Don't know why there is such a strict relationship there between video card memory and the system memory...

Box is gone?

Hi,
Box link seems to be dead. Is this on purpose?

Change screen resolution using GUI mode

Thanks for this amazing box!

Since VirtualBox doesn't have Guest additions for Mac OS X, is there any workaround to change the default 1024x768 screen resolution using the GUI mode?

Can't accept Xcode license agreement

Hi,

Thanks for creating this box. I'm having a problem when trying to accept the XCode license agreements using vagrant ssh. I get this:

vagrant:~ vagrant$ sudo xcodebuild

You have not agreed to the Xcode license agreements. You must agree to both license agreements below in order to use Xcode.

Hit the Enter key to view the license agreements at '/Applications/Xcode.app/Contents/Resources/English.lproj/License.rtf'


However, after pressing enter several times, it just doesn't do aything. It doesn;t show the License agreement. Never. So I can't accept it and I'm stuck. Thought It may had something to do with LC_* env variables or something like that.

Any ideas as to how I can proceed?

Thanks for your help!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.