Add examples
authorMichael Spang <mspang@csclub.uwaterloo.ca>
Fri, 2 Sep 2011 00:52:45 +0000 (20:52 -0400)
committerMichael Spang <mspang@csclub.uwaterloo.ca>
Fri, 2 Sep 2011 00:54:33 +0000 (20:54 -0400)
Signed-off-by: Michael Spang <mspang@csclub.uwaterloo.ca>
examples/advanced.ia [new file with mode: 0644]
examples/basic.ia [new file with mode: 0644]
examples/conditional.ia [new file with mode: 0644]
examples/devtools.ia [new file with mode: 0644]

diff --git a/examples/advanced.ia b/examples/advanced.ia
new file mode 100644 (file)
index 0000000..08fb695
--- /dev/null
@@ -0,0 +1,50 @@
+# This file illustrates how to handle multiple machines in one file
+# using profiles. The profile corresponding to the machine hostname
+# is selected automatically. From there, we select more profiles.
+
+# On the machine named caffeine, install core packages and a web server.
+@caffeine
+profiles core web-server;
+
+# On the machine named ginseng, install core packages and an NFS server.
+@ginseng
+profiles core nfs-server;
+
+# On the machine named strombola, install core and desktop packages.
+@strombola
+profiles core desktop;
+
+# Core packages (installed everywhere)
+if @core {
+
+    # shells
+    install bash zsh dash ksh tcsh csh rc;
+
+    # editors
+    install ed vim nano;
+
+    # terminal tools
+    install ncurses-bin ncurses-term;
+
+   # documentation
+   install manpages info;
+};
+
+# Web server packages (installed on web servers)
+@web-server install apache2-mpm-worker;
+
+# NFS server packages (installed on NFS servers)
+@nfs-server install nfs-kernel-server;
+
+# Desktop packages (installed on desktop machines)
+if @desktop {
+
+   # desktop environments
+   install kde gnome;
+
+   # X server
+   install xserver-xorg;
+
+   # install either openoffice or libreoffice (project name change)
+   install openoffice.org/libreoffice;
+};
diff --git a/examples/basic.ia b/examples/basic.ia
new file mode 100644 (file)
index 0000000..69b4474
--- /dev/null
@@ -0,0 +1,7 @@
+# To execute this file run: inapt basic.ia
+
+# Install GNU hello
+install hello;
+
+# Remove BSD games
+remove bsdgames;
diff --git a/examples/conditional.ia b/examples/conditional.ia
new file mode 100644 (file)
index 0000000..93cf6f8
--- /dev/null
@@ -0,0 +1,25 @@
+# This file illustrates ways to install or remove packages conditionally.
+
+# On the machine named caffeine only, install the postfix MTA.
+@caffeine
+install postfix;
+
+# On all machines except caffeine, install the ssmtp package.
+@!caffeine
+install ssmtp;
+
+# On machines named either ginseng or staples, install an NFS server
+@ginseng/staples
+install nfs-kernel-server;
+
+# Install gnome, if this script was run as "inapt -p Xorg -p office conditional.ia"
+@office @Xorg install gnome;
+
+# Install games, if this script was run as "inapt -p games conditional.ia"
+if @games {
+  install bsdgames;
+
+  install nethack;
+
+  install crawl;
+};
diff --git a/examples/devtools.ia b/examples/devtools.ia
new file mode 100644 (file)
index 0000000..b79f7d2
--- /dev/null
@@ -0,0 +1,19 @@
+# To execute this file run: inapt devtools.ia
+
+# essentials
+install build-essential gcc g++;
+
+# debian package development
+install dpkg-dev devscripts debootstrap dupload fakeroot;
+
+# build systems
+install make autoconf automake;
+
+# debugging tools
+install strace gdb elfutils;
+
+# scripting
+install perl python;
+
+# documentation
+install manpages-dev;