installation-cd-graphical-kde: use KDE 5
This commit is contained in:
parent
1958f07c63
commit
456414c519
|
@ -1,20 +1,38 @@
|
||||||
# This module defines a NixOS installation CD that contains X11 and
|
# This module defines a NixOS installation CD that contains X11 and
|
||||||
# KDE 4.
|
# KDE 5.
|
||||||
|
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [ ./installation-cd-base.nix ../../profiles/graphical.nix ];
|
imports = [ ./installation-cd-base.nix ];
|
||||||
|
|
||||||
# Provide wicd for easy wireless configuration.
|
services.xserver = {
|
||||||
#networking.wicd.enable = true;
|
enable = true;
|
||||||
|
|
||||||
|
# Automatically login as root.
|
||||||
|
displayManager.slim = {
|
||||||
|
enable = true;
|
||||||
|
defaultUser = "root";
|
||||||
|
autoLogin = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
desktopManager.kde5.enable = true;
|
||||||
|
|
||||||
|
# Enable touchpad support for many laptops.
|
||||||
|
synaptics.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
environment.systemPackages =
|
environment.systemPackages =
|
||||||
[ # Include gparted for partitioning disks.
|
[ pkgs.glxinfo
|
||||||
|
|
||||||
|
# Include gparted for partitioning disks.
|
||||||
pkgs.gparted
|
pkgs.gparted
|
||||||
|
|
||||||
|
# Firefox for reading the manual.
|
||||||
|
pkgs.firefox
|
||||||
|
|
||||||
# Include some editors.
|
# Include some editors.
|
||||||
pkgs.vim
|
pkgs.vim
|
||||||
pkgs.bvi # binary editor
|
pkgs.bvi # binary editor
|
||||||
|
@ -32,23 +50,12 @@ with lib;
|
||||||
# Don't start the X server by default.
|
# Don't start the X server by default.
|
||||||
services.xserver.autorun = mkForce false;
|
services.xserver.autorun = mkForce false;
|
||||||
|
|
||||||
# Auto-login as root.
|
|
||||||
services.xserver.displayManager.kdm.extraConfig =
|
|
||||||
''
|
|
||||||
[X-*-Core]
|
|
||||||
AllowRootLogin=true
|
|
||||||
AutoLoginEnable=true
|
|
||||||
AutoLoginUser=root
|
|
||||||
AutoLoginPass=""
|
|
||||||
'';
|
|
||||||
|
|
||||||
# Custom kde-workspace adding some icons on the desktop
|
# Custom kde-workspace adding some icons on the desktop
|
||||||
|
|
||||||
system.activationScripts.installerDesktop = let
|
system.activationScripts.installerDesktop = let
|
||||||
openManual = pkgs.writeScript "nixos-manual.sh" ''
|
openManual = pkgs.writeScript "nixos-manual.sh" ''
|
||||||
#!${pkgs.stdenv.shell}
|
#!${pkgs.stdenv.shell}
|
||||||
cd ${config.system.build.manual.manual}/share/doc/nixos/
|
cd ${config.system.build.manual.manual}/share/doc/nixos/
|
||||||
konqueror ./index.html
|
firefox ./index.html
|
||||||
'';
|
'';
|
||||||
|
|
||||||
desktopFile = pkgs.writeText "nixos-manual.desktop" ''
|
desktopFile = pkgs.writeText "nixos-manual.desktop" ''
|
||||||
|
@ -57,55 +64,14 @@ with lib;
|
||||||
Type=Application
|
Type=Application
|
||||||
Name=NixOS Manual
|
Name=NixOS Manual
|
||||||
Exec=${openManual}
|
Exec=${openManual}
|
||||||
Icon=konqueror
|
Icon=firefox
|
||||||
'';
|
'';
|
||||||
|
|
||||||
in ''
|
in ''
|
||||||
mkdir -p /root/Desktop
|
mkdir -p /root/Desktop
|
||||||
ln -sfT ${desktopFile} /root/Desktop/nixos-manual.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.kde5.konsole}/share/applications/org.kde.konsole.desktop /root/Desktop/org.kde.konsole.desktop
|
||||||
ln -sfT ${pkgs.gparted}/share/applications/gparted.desktop /root/Desktop/gparted.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.runCommand pkg.name
|
|
||||||
{ inherit (pkg) meta; }
|
|
||||||
''
|
|
||||||
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
|
|
||||||
'';
|
|
||||||
|
|
||||||
# Disable large stuff that's not very useful on the installation CD.
|
|
||||||
services.xserver.desktopManager.kde4.enablePIM = false;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue