diff --git a/erpnext/home/page/desktop/desktop.js b/erpnext/home/page/desktop/desktop.js
index e2a8d53..ebd3da1 100644
--- a/erpnext/home/page/desktop/desktop.js
+++ b/erpnext/home/page/desktop/desktop.js
@@ -44,35 +44,60 @@
 
 erpnext.desktop.render = function() {
 	var icons = [
-		{ gradient: 'brown', sprite: 'feed', label: 'Activity', link: '#!Event Updates' },
-		{ gradient: 'blue', sprite: 'account', label: 'Accounts', link: '#!accounts-home' },
-		{ gradient: 'green', sprite: 'selling', label: 'Selling', link: '#!selling-home' },
-		{ gradient: 'yellow', sprite: 'stock', label: 'Stock', link: '#!stock-home' },
-		{ gradient: 'red', sprite: 'buying', label: 'Buying', link: '#!buying-home' },
-		{ gradient: 'purple', sprite: 'support', label: 'Support', link: '#!support-home' },
-		{ gradient: 'ocean', sprite: 'hr', label: 'Human<br />Resources', link: '#!hr-home' },
-		{ gradient: 'violet', sprite: 'project', label: 'Projects', link: '#!projects-home' },
-		{ gradient: 'dark-red', sprite: 'production', label: 'Production', link: '#!production-home' },
-		{ gradient: 'leaf-green', sprite: 'website', label: 'Website', link: '#!website-home' },
-		{ gradient: 'grey', sprite: 'setting', label: 'Settings', link: '#!Setup' },
-		{ gradient: 'bright-green', sprite: 'dashboard', label: 'Dashboard', link: '#!dashboard' },
-		//{ gradient: 'dark-blue', sprite: 'report', label: 'Report' },
-		{ gradient: 'pink', sprite: 'messages', label: 'Messages', link: '#!messages' },
-		{ gradient: 'bright-yellow', sprite: 'todo', label: 'To Do', link: '#!todo' },
-		{ gradient: 'peacock', sprite: 'calendar', label: 'Calendar', link: '#!calendar' },
-		{ gradient: 'ultra-dark-green', sprite: 'kb', label: 'Knowledge<br />Base', link: '#!questions' },
+		{ gradient: 'blue', sprite: 'account', label: 'Accounts', link: '#!accounts-home',
+			is_module: 'Accounts'},
+		{ gradient: 'green', sprite: 'selling', label: 'Selling', link: '#!selling-home',
+			is_module: 'Selling'},
+		{ gradient: 'yellow', sprite: 'stock', label: 'Stock', link: '#!stock-home',
+			is_module: 'Stock'},
+		{ gradient: 'red', sprite: 'buying', label: 'Buying', link: '#!buying-home',
+			is_module: 'Buying'},
+		{ gradient: 'purple', sprite: 'support', label: 'Support', link: '#!support-home',	
+			is_module: 'Support'},
+		{ gradient: 'ocean', sprite: 'hr', label: 'Human<br />Resources', link: '#!hr-home',
+			is_module: 'HR'},
+		{ gradient: 'violet', sprite: 'project', label: 'Projects', link: '#!projects-home',
+			is_module: 'Projects'},
+		{ gradient: 'dark-red', sprite: 'production', label: 'Production', link: '#!production-home',
+			is_module: 'Production'},
+		{ gradient: 'leaf-green', sprite: 'website', label: 'Website', link: '#!website-home',
+			is_module: 'Website'},
 	]
 
-	$.each(icons, function(i, v) {
-		var icon_case = $('#icon-grid').append(repl('\
+	var add_icon = function(v) {
+		$('#icon-grid').append(repl('\
 			<div id="%(sprite)s" class="case-wrapper"><a href="%(link)s">\
 				<div class="case-border case-%(gradient)s">\
 					<div class="sprite-image sprite-%(sprite)s"></div>\
 				</div></a>\
 				<div class="case-label">%(label)s</div>\
-			</div>', v));
-	});
+			</div>', v));		
+	}
+	
+	var get_module = function(m) {
+		for(var i in icons) {
+			if(icons[i].is_module==m) return icons[i]
+		}
+	}
+	
+	// activity
+	add_icon({ gradient: 'brown', sprite: 'feed', label: 'Activity', link: '#!Event Updates'});
 
+	// modules
+	for(var i in wn.boot.modules_list)
+		add_icon(get_module(wn.boot.modules_list[i]));
+
+	// setup
+	if(user_roles.indexOf('System Manager')!=-1)
+		add_icon({ gradient: 'grey', sprite: 'setting', label: 'Setup', link: '#!Setup' });
+
+	// apps
+	add_icon({ gradient: 'bright-green', sprite: 'dashboard', label: 'Dashboard', link: '#!dashboard' });
+	add_icon({ gradient: 'bright-yellow', sprite: 'todo', label: 'To Do', link: '#!todo' });
+	add_icon({ gradient: 'pink', sprite: 'messages', label: 'Messages', link: '#!messages' });
+	add_icon({ gradient: 'peacock', sprite: 'calendar', label: 'Calendar', link: '#!calendar' });
+	add_icon({ gradient: 'ultra-dark-green', sprite: 'kb', label: 'Knowledge<br />Base', link: '#!questions' });
+	
 	erpnext.desktop.show_pending_notifications();
 
 }
diff --git a/erpnext/setup/page/modules_setup/__init__.py b/erpnext/setup/page/modules_setup/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/setup/page/modules_setup/__init__.py
diff --git a/erpnext/setup/page/modules_setup/modules_setup.css b/erpnext/setup/page/modules_setup/modules_setup.css
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/setup/page/modules_setup/modules_setup.css
diff --git a/erpnext/setup/page/modules_setup/modules_setup.html b/erpnext/setup/page/modules_setup/modules_setup.html
new file mode 100644
index 0000000..ea136ff
--- /dev/null
+++ b/erpnext/setup/page/modules_setup/modules_setup.html
@@ -0,0 +1,14 @@
+<div class="layout-wrapper">
+	<a class="close" onclick="window.history.back();">&times;</a>		
+	<h1>Modules Setup</h1>
+	<hr>
+	<div class="help" style="width: 300px; float: right">
+		Select checkbox to show / hide module. Drag around to move order.
+	</div>
+	<div id="modules-list">
+	</div>
+	<div>
+		<button class="btn btn-small btn-primary" id="modules-update" 
+			onclick="wn.pages.modules_setup.update()">Update</button>
+	</div>
+</div>
\ No newline at end of file
diff --git a/erpnext/setup/page/modules_setup/modules_setup.js b/erpnext/setup/page/modules_setup/modules_setup.js
new file mode 100644
index 0000000..fe7f14f
--- /dev/null
+++ b/erpnext/setup/page/modules_setup/modules_setup.js
@@ -0,0 +1,50 @@
+wn.require('lib/js/lib/jquery-ui-sortable.min.js');
+
+$.extend(wn.pages.modules_setup, {
+	modules: ['Accounts', 'Selling', 'Buying', 'Stock', 'Production', 'Projects', 
+		'Support', 'HR', 'Website'],	
+	onload: function(wrapper) {
+		wn.pages.modules_setup.refresh(wn.boot.modules_list);
+	},
+	refresh: function(ml) {
+		$('#modules-list').empty();
+				
+		// checked modules
+		for(i in ml) {
+			$('#modules-list').append(repl('<p style="cursor:move;">\
+				<input type="checkbox" data-module="%(m)s"> \
+				%(m)s</p>', {m:ml[i]}));
+		}
+		$('#modules-list [data-module]').attr('checked', true);
+		
+		// unchecked modules
+		var all = wn.pages.modules_setup.modules;
+		for(i in all) {
+			if(!$('#modules-list [data-module="'+all[i]+'"]').length) {
+				$('#modules-list').append(repl('<p style="cursor:move;">\
+					<input type="checkbox" data-module="%(m)s"> \
+					%(m)s</p>', {m:all[i]}));				
+			}
+		}
+		
+		$('#modules-list').sortable();
+		
+	},
+	update: function() {
+		var ml = [];
+		$('#modules-list [data-module]').each(function() {
+			if($(this).attr('checked')) 
+				ml.push($(this).attr('data-module'));
+		});
+		
+		wn.call({
+			method: 'setup.page.modules_setup.modules_setup.update',
+			args: {
+				ml: JSON.stringify(ml)
+			},
+			callback: function(r) {
+			},
+			btn: $('#modules-update').get(0)
+		});
+	}
+});
\ No newline at end of file
diff --git a/erpnext/setup/page/modules_setup/modules_setup.py b/erpnext/setup/page/modules_setup/modules_setup.py
new file mode 100644
index 0000000..ee36dfa
--- /dev/null
+++ b/erpnext/setup/page/modules_setup/modules_setup.py
@@ -0,0 +1,8 @@
+import webnotes
+
+@webnotes.whitelist()
+def update(arg=None):
+	"""update modules"""
+	webnotes.conn.set_global('modules_list', webnotes.form_dict['ml'])
+	webnotes.msgprint('Updated')
+	webnotes.clear_cache()
\ No newline at end of file
diff --git a/erpnext/setup/page/modules_setup/modules_setup.txt b/erpnext/setup/page/modules_setup/modules_setup.txt
new file mode 100644
index 0000000..70c6a90
--- /dev/null
+++ b/erpnext/setup/page/modules_setup/modules_setup.txt
@@ -0,0 +1,28 @@
+# Page, modules_setup
+[
+
+	# These values are common in all dictionaries
+	{
+		'creation': '2012-02-28 17:48:39',
+		'docstatus': 0,
+		'modified': '2012-02-28 17:48:39',
+		'modified_by': u'Administrator',
+		'owner': u'Administrator'
+	},
+
+	# These values are common for all Page
+	{
+		'doctype': 'Page',
+		'module': u'Setup',
+		'name': '__common__',
+		'page_name': u'modules_setup',
+		'standard': u'Yes',
+		'title': u'Modules Setup'
+	},
+
+	# Page, modules_setup
+	{
+		'doctype': 'Page',
+		'name': u'modules_setup'
+	}
+]
\ No newline at end of file
diff --git a/erpnext/setup/page/setup/setup.html b/erpnext/setup/page/setup/setup.html
index 7963cb9..50ef112 100644
--- a/erpnext/setup/page/setup/setup.html
+++ b/erpnext/setup/page/setup/setup.html
@@ -20,7 +20,7 @@
 	<div class="setup-column">
 		<h3>Users and Permissions</h3>
 		<p>
-			<b><a href="#!My Company">Users</a></b><br>
+			<b><a href="#!users">Users</a></b><br>
 			<span class="help">Add/remove users, set roles, passwords etc</span>
 		</p>
 		<p>
@@ -31,6 +31,10 @@
 			<b><a href="#!List/Authorization Rule">Amount based Authorization Rules</a></b><br>
 			<span class="help">Restrict submission rights based on amount</span>
 		</p>
+		<p>
+			<b><a href="#!modules_setup">Modules Setup</a></b><br>
+			<span class="help">Show, hide modules</span>
+		</p>
 	</div>
 	<div class="setup-column">
 		<h3>Data</h3>
diff --git a/erpnext/startup/event_handlers.py b/erpnext/startup/event_handlers.py
index 5f0cc23..a1d805e 100644
--- a/erpnext/startup/event_handlers.py
+++ b/erpnext/startup/event_handlers.py
@@ -87,6 +87,8 @@
 
 		import webnotes.model.doctype
 		bootinfo['docs'] += webnotes.model.doctype.get('Event')
+		
+		bootinfo['modules_list'] = webnotes.conn.get_global('modules_list')
 
 def get_letter_heads():
 	"""load letter heads with startup"""
diff --git a/erpnext/startup/toolbar.js b/erpnext/startup/toolbar.js
index 7eda493..8c8d041 100644
--- a/erpnext/startup/toolbar.js
+++ b/erpnext/startup/toolbar.js
@@ -73,20 +73,35 @@
 	$('<li class="dropdown">\
 		<a class="dropdown-toggle" data-toggle="dropdown" href="#"\
 			onclick="return false;">Modules<b class="caret"></b></a>\
-		<ul class="dropdown-menu">\
-			<li><a href="#!accounts-home" data-module="Accounts">Accounts</a></li>\
-			<li><a href="#!selling-home" data-module="Selling">Selling</a></li>\
-			<li><a href="#!stock-home" data-module="Stock">Stock</a></li>\
-			<li><a href="#!buying-home" data-module="Buying">Buying</a></li>\
-			<li><a href="#!support-home" data-module="Support">Support</a></li>\
-			<li><a href="#!hr-home" data-module="HR">Human Resources</a></li>\
-			<li><a href="#!projects-home" data-module="Projects">Projects</a></li>\
-			<li><a href="#!production-home" data-module="Production">Production</a></li>\
-			<li><a href="#!website-home" data-module="Website">Website</a></li>\
-			<li class="divider"></li>\
-			<li><a href="#!Setup" data-module="Setup">Setup</a></li>\
+		<ul class="dropdown-menu modules">\
 		</ul>\
 		</li>').prependTo('.navbar .nav:first');
-	$('.navbar .nav:first')	
+	
+	// if no modules list then show all
+	if(wn.boot.modules_list)
+		wn.boot.modules_list = JSON.parse(wn.boot.modules_list);
+	else
+		wn.boot.modules_list = ['Accounts', 'Selling', 'Buying', 'Stock', 
+			'Production', 'Projects', 'Support', 'HR', 'Website'];
+
+	// add to dropdown
+	for(var i in wn.boot.modules_list) {
+		var m = wn.boot.modules_list[i]
+		args = {
+			module: m,
+			module_page: m.toLowerCase(),
+			module_label: m=='HR' ? 'Human Resources' : m
+		}
+			
+		$('.navbar .modules').append(repl('<li><a href="#!%(module_page)s-home" \
+			data-module="%(module)s">%(module_label)s</a></li>', args));			
+	}
+	
+	// setup for system manager
+	if(user_roles.indexOf("System Manager")!=-1) {
+		$('.navbar .modules').append('<li class="divider"></li>\
+		<li><a href="#!Setup" data-module="Setup">Setup</a></li>');
+	}
+	
 }
 
diff --git a/js/all-app.js b/js/all-app.js
index 952f248..cd563f1 100644
--- a/js/all-app.js
+++ b/js/all-app.js
Binary files differ
diff --git a/js/all-web.js b/js/all-web.js
index b759ec0..c34d582 100644
--- a/js/all-web.js
+++ b/js/all-web.js
@@ -1086,4 +1086,4 @@
     <a href="https://erpnext.com">erpnext.com</a></div>\
   </div>',wn.boot.website_settings));this.make_items();},make_items:function(){var items=wn.boot.website_menus
 for(var i=0;i<items.length;i++){var item=items[i];if(!item.parent_label&&item.parentfield=='footer_items'){item.route=item.url||item.custom_page;$('.web-footer-menu ul').append(repl('<li><a href="#!%(route)s" \
-     data-label="%(label)s">%(label)s</a></li>',item))}}}});$(document).bind('startup',function(){erpnext.footer=new erpnext.Footer();erpnext.navbar.navbar=new erpnext.navbar.navbar();})
+     data-label="%(label)s">%(label)s</a></li>',item))}}}});$(document).bind('startup',function(){erpnext.footer=new erpnext.Footer();erpnext.navbar.navbar=new erpnext.navbar.navbar();})
\ No newline at end of file
diff --git a/version.num b/version.num
index 5cd7ca2..e9244f9 100644
--- a/version.num
+++ b/version.num
@@ -1 +1 @@
-748
\ No newline at end of file
+752
\ No newline at end of file
