diff --git a/README.org b/README.org index aa854a5..d95f2db 100644 --- a/README.org +++ b/README.org @@ -194,10 +194,8 @@ inputs.flake-utils.lib.eachDefaultSystem (system: devShells = { default = import ./shell.nix { inherit pkgs; }; cc = import ./shells/cc.nix { inherit pkgs; }; - docker = import ./shells/docker.nix { inherit pkgs; }; go = import ./shells/go.nix { inherit pkgs; }; grpc = import ./shells/grpc.nix { inherit pkgs; }; - heroku = import ./shells/heroku.nix { inherit pkgs; }; java = import ./shells/java.nix { inherit pkgs; }; node = import ./shells/node.nix { inherit pkgs; }; python = import ./shells/python.nix { inherit pkgs; }; @@ -499,57 +497,6 @@ mkShell { } #+END_SRC -** Docker - -#+ATTR_ORG: :width 400px -#+ATTR_HTML: :width 400px -#+ATTR_LATEX: :width 400px -[[./docs/images/docker.png]] - -[[https://docker.org][Docker]] is a set of platform as a service tools that use OS level virtualization to deliver software in packages called containers. Containers are isolated from one another and bundle their own software, libraries, and configuratuion files. [[https://docs.docker.com/compose/][Compose]] is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application services. Then, with a single command, you create and start all of the services from your configuration. [[https://docs.docker.com/machine/][Machine]] is a tool that lets you install Docker Engine on virtual hosts, and manage the hosts with ~docker-machine~ commands. You can use Machine to create hosts on your local box, company network, data center, or on any cloud provider. - -Import this shell with ~nix develop $DOTFILES#docker~ - -#+BEGIN_SRC nix :noweb yes :tangle shells/docker.nix -# <> -{ pkgs ? import { } }: - -with pkgs; -mkShell { - buildInputs = [ - docker-compose - docker-machine - ]; - shellHook = '' - ''; -} -#+END_SRC - -** Heroku - -#+ATTR_ORG: :width 400px -#+ATTR_HTML: :width 400px -#+ATTR_LATEX: :width 400px -[[./docs/images/heroku.png]] - -[[https://heroku.com][Heroku]] is a cloud platform as a service supporting several programming languages. One of the first cloud platforms, Heroku has been in development since June 2007, when it supported only the Ruby programming language. It now supports Java, Node.js, Scala, Clojure, Python, PHP, and Go. - -Import this shell with ~nix develop $DOTFILES#heroku~ - -#+BEGIN_SRC nix :noweb yes :tangle shells/heroku.nix -# <> -{ pkgs ? import { } }: - -with pkgs; -mkShell { - buildInputs = [ - heroku - ]; - shellHook = '' - ''; -} -#+END_SRC - * Host Configurations [[https://nixos.org/][NixOS]] typically stores the current machine configuration in =/etc/nixos/configuration.nix=. In this project, this file is stored in =/etc/dotfiles/hosts/$HOSTNAME/...=, and imported, along with the generated hardware configurations. This ensures that multiple host machines can share the same modules, and generating new host definitions is trivial. @@ -906,6 +853,7 @@ in { [[https://docker.org][Docker]] is a set of platform as a service tools that use OS level virtualization to deliver software in packages called containers. Containers are isolated from one another and bundle their own software, libraries, and configuration files; they can communicate with each other through well-defined channels. #+BEGIN_SRC nix :noweb yes :tangle modules/docker.nix +# <> { config, pkgs, ... }: { @@ -918,6 +866,12 @@ in { # Required for the `docker' command. users.users.chris.extraGroups = [ "docker" ]; + + # Add docker extensions. + environment.systemPackages = [ + pkgs.docker-compose + pkgs.docker-machine + ]; } #+END_SRC diff --git a/flake.nix b/flake.nix index 58917b5..6329bc1 100644 --- a/flake.nix +++ b/flake.nix @@ -51,10 +51,8 @@ devShells = { default = import ./shell.nix { inherit pkgs; }; cc = import ./shells/cc.nix { inherit pkgs; }; - docker = import ./shells/docker.nix { inherit pkgs; }; go = import ./shells/go.nix { inherit pkgs; }; grpc = import ./shells/grpc.nix { inherit pkgs; }; - heroku = import ./shells/heroku.nix { inherit pkgs; }; java = import ./shells/java.nix { inherit pkgs; }; node = import ./shells/node.nix { inherit pkgs; }; python = import ./shells/python.nix { inherit pkgs; }; diff --git a/modules/docker.nix b/modules/docker.nix index 081e2ab..7f800bb 100644 --- a/modules/docker.nix +++ b/modules/docker.nix @@ -1,3 +1,4 @@ +# This file is controlled by /etc/dotfiles/README.org { config, pkgs, ... }: { @@ -10,4 +11,10 @@ # Required for the `docker' command. users.users.chris.extraGroups = [ "docker" ]; + + # Add docker extensions. + environment.systemPackages = [ + pkgs.docker-compose + pkgs.docker-machine + ]; } diff --git a/shells/docker.nix b/shells/docker.nix deleted file mode 100644 index 154547f..0000000 --- a/shells/docker.nix +++ /dev/null @@ -1,12 +0,0 @@ -# This file is controlled by /etc/dotfiles/README.org -{ pkgs ? import { } }: - -with pkgs; -mkShell { - buildInputs = [ - docker-compose - docker-machine - ]; - shellHook = '' - ''; -} diff --git a/shells/heroku.nix b/shells/heroku.nix deleted file mode 100644 index 32928ab..0000000 --- a/shells/heroku.nix +++ /dev/null @@ -1,11 +0,0 @@ -# This file is controlled by /etc/dotfiles/README.org -{ pkgs ? import { } }: - -with pkgs; -mkShell { - buildInputs = [ - heroku - ]; - shellHook = '' - ''; -}