├── .gitignore ├── rust_devup.sh ├── README.md ├── Vagrantfile ├── MIT-LICENSE └── SIGNED.md /.gitignore: -------------------------------------------------------------------------------- 1 | .vagrant/ 2 | -------------------------------------------------------------------------------- /rust_devup.sh: -------------------------------------------------------------------------------- 1 | su vagrant -c "mkdir -p ~/dev/" 2 | su vagrant -c "cd ~/dev" 3 | su vagrant -c "git clone https://github.com/rust-lang/rust.git ~/dev/rust || true" 4 | su vagrant -c "cd ~/dev/rust && ~/dev/rust/configure" 5 | su vagrant -c "sudo make -C /home/vagrant/dev/rust/ install" 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # A Virtual Machine for Rust Core Development 2 | 3 | ## Introduction 4 | 5 | This is a machine image designed for rust language core development. It's heavily 6 | inspired by the rails-dev-box project. 7 | 8 | ## Requirements 9 | 10 | * [VirtualBox](https://www.virtualbox.org) 11 | 12 | * [Vagrant](http://vagrantup.com) 13 | 14 | ## How to use 15 | 16 | 1. Clone the repo on your host machine. 17 | 18 | ```bash 19 | git clone git@github.com:estsauver/rust-dev-box.git 20 | ``` 21 | 22 | 2. Launch the box. (This will take a while.) 23 | 24 | ```bash 25 | cd rust-dev-box 26 | vagrant up 27 | ``` 28 | 29 | After the installation, you can ssh into the box. 30 | 31 | ## Recommended Workflow 32 | 33 | Rust will be installed in the ~/dev/rust directory. 34 | 35 | ## License 36 | 37 | Released uner the MIT License, Copyright 2015 - Earl St Sauver 38 | -------------------------------------------------------------------------------- /Vagrantfile: -------------------------------------------------------------------------------- 1 | # -*- mode: ruby -*- 2 | # vi: set ft=ruby : 3 | 4 | VAGRANTFILE_API_VERSION = "2" 5 | 6 | Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| 7 | config.vm.box = "ubuntu/trusty64" 8 | config.vm.provision "shell", inline: "apt-get --assume-yes install g++" 9 | config.vm.provision "shell", inline: "apt-get --assume-yes install python" 10 | config.vm.provision "shell", inline: "apt-get --assume-yes install perl" 11 | config.vm.provision "shell", inline: "apt-get --assume-yes install make" 12 | config.vm.provision "shell", inline: "apt-get --assume-yes install curl" 13 | config.vm.provision "shell", inline: "apt-get --assume-yes install git" 14 | config.vm.provision "shell", path: "rust_devup.sh" 15 | 16 | 17 | # Provider specific settings. 18 | config.vm.provider "virtualbox" do |v| 19 | v.memory = 2048 20 | v.cpus = 2 21 | end 22 | end 23 | -------------------------------------------------------------------------------- /MIT-LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015 - Earl St Sauver 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /SIGNED.md: -------------------------------------------------------------------------------- 1 | ##### Signed by https://keybase.io/estsauver 2 | ``` 3 | -----BEGIN PGP SIGNATURE----- 4 | Version: GnuPG/MacGPG2 v2.0.22 (Darwin) 5 | Comment: GPGTools - https://gpgtools.org 6 | 7 | iQIcBAABCgAGBQJUy85uAAoJED6Rrh9JvhpdAEEQAIsU+ocb5EyD/GETIYwZGaud 8 | 6LwzTtKDOZ7oDMjuqGBOoBNb+MBUTgaA+b5M5Bfv8n5THY+CQlphlxmukJ+cRkJ9 9 | JqMQYI5OUYMnys8PomNgXuZpRFCZO2Rzi4qwPaPEjxSB+2tm21dnACkfj76wX5mZ 10 | xgdAASPSJPgkDb50gSGkABsL435qlfb0wbXAz3Ym0sGtARrkuV8BwlS76PPHeLoT 11 | Hlyq+34mCS8In1fAi46rQnUSHV7M8Eg1KjrKRifjN/XL0OCBv9r6Z3HyGicNggki 12 | jtp2uThrGGZi7mzIXKddbxW85cZpnnl+MV4m86rXd7kJQ9tqA6+bh3nuS3bTqiL7 13 | 9QvT6U82d1eg1aktT/B33FVqlGBxQaq7uF3XvookU5wfjNYiqGIkYawKirXt97fm 14 | 8641z8bxLMuodA2Ww8BEz+Pos28OncHjBdcPqS9/3lxziXaOihimaf7+rCFw9Iux 15 | qyzYLObZE9D6+2EvOEjWa7+2wTHkFsADUIqIU7WDSYOX5WwObMgC4feEjCAyM3iV 16 | n2IIDHUeOdhxgbGy7HIAFSjbiRHUCHlbmncmrJqCLQ7WSbOPrE/NJ5655MjwEn96 17 | yiEKPKF2lzQU06WhWym/yZtPiiQlhdBtLWBaHeXIiO2Wy8k8O8mywX0bsc+zSLs4 18 | rx7+jaJ/uOCPvzK8ClOi 19 | =2Yw0 20 | -----END PGP SIGNATURE----- 21 | 22 | ``` 23 | 24 | 25 | 26 | ### Begin signed statement 27 | 28 | #### Expect 29 | 30 | ``` 31 | size exec file contents 32 | ./ 33 | 10 .gitignore d97c263d44a33954979f9582146bf8d4cc1d9bf9959a9059aeb58afd01bebaea 34 | 1060 MIT-LICENSE f748887c5056f4b09f7af5f536af6c231fd8465a030e5c1a33684775b02b5588 35 | 698 README.md f552984a2ec1ad8fedb9e2b3d7cec27422df3ec31d78616b08a7146f84264611 36 | 787 Vagrantfile 411cff6621c2e97a317130fcf908fc75888982218bc8d904242558ddeb83047e 37 | 255 rust_devup.sh a25609ca4421756cc729cc79850f0ae1e2398495baaf9d40fad16ab6cc9d1b40 38 | ``` 39 | 40 | #### Ignore 41 | 42 | ``` 43 | /SIGNED.md 44 | ``` 45 | 46 | #### Presets 47 | 48 | ``` 49 | git # ignore .git and anything as described by .gitignore files 50 | dropbox # ignore .dropbox-cache and other Dropbox-related files 51 | kb # ignore anything as described by .kbignore files 52 | ``` 53 | 54 | 55 | 56 | ### End signed statement 57 | 58 |
59 | 60 | #### Notes 61 | 62 | With keybase you can sign any directory's contents, whether it's a git repo, 63 | source code distribution, or a personal documents folder. It aims to replace the drudgery of: 64 | 65 | 1. comparing a zipped file to a detached statement 66 | 2. downloading a public key 67 | 3. confirming it is in fact the author's by reviewing public statements they've made, using it 68 | 69 | All in one simple command: 70 | 71 | ```bash 72 | keybase dir verify 73 | ``` 74 | 75 | There are lots of options, including assertions for automating your checks. 76 | 77 | For more info, check out https://keybase.io/docs/command_line/code_signing --------------------------------------------------------------------------------