diff options
author | Luca Bruno <luca.bruno@immobiliare.it> | 2014-10-23 18:14:41 +0200 |
---|---|---|
committer | Luca Bruno <luca.bruno@immobiliare.it> | 2014-10-23 18:59:25 +0200 |
commit | e553e27f48246eb02f4fac9ef7bafc504f1d3b47 (patch) | |
tree | f7731e8e44741a29a796a1501859fb00ea80529a /nixos/modules/installer/cd-dvd | |
parent | 773e804274ef20a63c1d365b8da586c8fc3a59fe (diff) | |
download | nixlib-e553e27f48246eb02f4fac9ef7bafc504f1d3b47.tar nixlib-e553e27f48246eb02f4fac9ef7bafc504f1d3b47.tar.gz nixlib-e553e27f48246eb02f4fac9ef7bafc504f1d3b47.tar.bz2 nixlib-e553e27f48246eb02f4fac9ef7bafc504f1d3b47.tar.lz nixlib-e553e27f48246eb02f4fac9ef7bafc504f1d3b47.tar.xz nixlib-e553e27f48246eb02f4fac9ef7bafc504f1d3b47.tar.zst nixlib-e553e27f48246eb02f4fac9ef7bafc504f1d3b47.zip |
kde installer: Add gparted, nixos manual and konsole in the desktop
Diffstat (limited to 'nixos/modules/installer/cd-dvd')
-rw-r--r-- | nixos/modules/installer/cd-dvd/installation-cd-graphical.nix | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/nixos/modules/installer/cd-dvd/installation-cd-graphical.nix b/nixos/modules/installer/cd-dvd/installation-cd-graphical.nix index 65aa11670893..b1e1d16c610d 100644 --- a/nixos/modules/installer/cd-dvd/installation-cd-graphical.nix +++ b/nixos/modules/installer/cd-dvd/installation-cd-graphical.nix @@ -11,6 +11,9 @@ with lib; # Provide wicd for easy wireless configuration. #networking.wicd.enable = true; + # Include gparted for partitioning disks + environment.systemPackages = [ pkgs.gparted ]; + # KDE complains if power management is disabled (to be precise, if # there is no power management backend such as upower). powerManagement.enable = true; @@ -27,4 +30,70 @@ with lib; AutoLoginUser=root AutoLoginPass="" ''; + + # Custom kde-workspace adding some icons on the desktop + + system.activationScripts.installerDesktop = let + openManual = pkgs.writeScript "nixos-manual.sh" '' + #!${pkgs.stdenv.shell} + cd ${config.system.build.manual.manual}/share/doc/nixos/ + konqueror ./index.html + ''; + + desktopFile = pkgs.writeText "nixos-manual.desktop" '' + [Desktop Entry] + Version=1.0 + Type=Application + Name=NixOS Manual + Exec=${openManual} + Icon=konqueror + ''; + + in '' + mkdir -p /root/Desktop + ln -sfT ${desktopFile} /root/Desktop/nixos-manual.desktop + ln -sfT ${pkgs.kde4.konsole}/share/applications/kde4/konsole.desktop /root/Desktop/konsole.desktop + ln -sfT ${pkgs.gparted}/share/applications/gparted.desktop /root/Desktop/gparted.desktop + ''; + + services.xserver.desktopManager.kde4.kdeWorkspacePackage = let + pkg = pkgs.kde4.kde_workspace; + + plasmaInit = pkgs.writeText "00-defaultLayout.js" '' + loadTemplate("org.kde.plasma-desktop.defaultPanel") + + for (var i = 0; i < screenCount; ++i) { + var desktop = new Activity + desktop.name = i18n("Desktop") + desktop.screen = i + desktop.wallpaperPlugin = 'image' + desktop.wallpaperMode = 'SingleImage' + + var folderview = desktop.addWidget("folderview"); + folderview.writeConfig("url", "desktop:/"); + + //Create more panels for other screens + if (i > 0){ + var panel = new Panel + panel.screen = i + panel.location = 'bottom' + panel.height = screenGeometry(i).height > 1024 ? 35 : 27 + var tasks = panel.addWidget("tasks") + tasks.writeConfig("showOnlyCurrentScreen", true); + } + } + ''; + + in + pkgs.stdenv.mkDerivation { + inherit (pkg) name meta; + + buildCommand = '' + mkdir -p $out + cp -prf ${pkg}/* $out/ + chmod a+w $out/share/apps/plasma-desktop/init + cp -f ${plasmaInit} $out/share/apps/plasma-desktop/init/00-defaultLayout.js + ''; + }; + } |