nixos dir: Xserver and samba nixos
svn path=/nixos/trunk/; revision=8784
This commit is contained in:
parent
aab8fda25a
commit
2e50d9cd58
|
@ -10,7 +10,7 @@ fail() {
|
|||
|
||||
# Print a greeting.
|
||||
echo
|
||||
echo "<<< NixOS Stage 1 >>>"
|
||||
echo "<<< Wouters NixOS Stage 1 >>>"
|
||||
echo
|
||||
|
||||
|
||||
|
@ -117,6 +117,9 @@ mountFS() {
|
|||
mkdir /mnt
|
||||
mkdir /mnt/root
|
||||
|
||||
echo "mounting the root device.... (fix: sleeping 5 seconds to wait for upcoming usb drivers)"
|
||||
sleep 5
|
||||
|
||||
if test -n "@autoDetectRootDevice@"; then
|
||||
|
||||
# Look for the root device by label.
|
||||
|
|
|
@ -11,7 +11,8 @@ export EDITOR=nano
|
|||
|
||||
# A nice prompt.
|
||||
PROMPT_COLOR="1;31m"
|
||||
PS1="\n\[\033[$PROMPT_COLOR\][\u@\h:\w]$\[\033[0m\] "
|
||||
#PS1="\n\[\033[$PROMPT_COLOR\][\u@\h:\w]$\[\033[0m\] "
|
||||
PS1='\u@\h:\w\$ '
|
||||
if test "x$TERM" == "xxterm"; then
|
||||
PS1="\033]2;\h:\u:\w\007$PS1"
|
||||
fi
|
||||
|
@ -69,3 +70,11 @@ alias which="type -p"
|
|||
if test -f /etc/profile.local; then
|
||||
source /etc/profile.local
|
||||
fi
|
||||
|
||||
#wouter settings
|
||||
PATH=$PATH:/home/share/bin
|
||||
export PATH
|
||||
alias l='ls -alh --color=auto'
|
||||
source /home/share/bin/.bash_profile
|
||||
|
||||
|
||||
|
|
|
@ -934,5 +934,14 @@
|
|||
";
|
||||
}
|
||||
|
||||
{
|
||||
name = ["services" "samba" "enable"];
|
||||
default = false;
|
||||
description = "
|
||||
Whether to enable the samba server. (to communicate with, and provide windows shares)
|
||||
";
|
||||
}
|
||||
|
||||
|
||||
|
||||
]
|
||||
|
|
|
@ -135,6 +135,12 @@ import ../upstart-jobs/gather.nix {
|
|||
allowSFTP = config.get ["services" "sshd" "allowSFTP"];
|
||||
})
|
||||
|
||||
# Samba service.
|
||||
++ optional ["services" "samba" "enable"]
|
||||
(import ../upstart-jobs/samba.nix {
|
||||
inherit (pkgs) samba glibc pwdutils;
|
||||
})
|
||||
|
||||
# NTP daemon.
|
||||
++ optional ["services" "ntp" "enable"]
|
||||
(import ../upstart-jobs/ntpd.nix {
|
||||
|
|
39
upstart-jobs/samba.nix
Normal file
39
upstart-jobs/samba.nix
Normal file
|
@ -0,0 +1,39 @@
|
|||
{samba, glibc, pwdutils}:
|
||||
|
||||
let
|
||||
user="smbguest";
|
||||
group="smbguest";
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
name = "samba";
|
||||
|
||||
job = "
|
||||
|
||||
description \"Samba Service\"
|
||||
|
||||
start on network-interfaces/started
|
||||
stop on network-interfaces/stop
|
||||
|
||||
start script
|
||||
|
||||
if ! ${glibc}/bin/getent group ${group} > /dev/null; then
|
||||
${pwdutils}/sbin/groupadd ${group}
|
||||
fi
|
||||
|
||||
if ! ${glibc}/bin/getent passwd ${user} > /dev/null; then
|
||||
${pwdutils}/sbin/useradd -g ${group} -d /var/empty -s /noshell -c 'Samba service user' ${user}
|
||||
fi
|
||||
|
||||
${samba}/sbin/nmbd -D &
|
||||
${samba}/sbin/smbd -D &
|
||||
${samba}/sbin/winbindd -B &
|
||||
|
||||
end script
|
||||
|
||||
respawn ${samba}/sbin/nmbd -D &; ${samba}/sbin/smbd -D &; ${samba}/sbin/winbindd -B &
|
||||
|
||||
";
|
||||
|
||||
}
|
|
@ -6,13 +6,20 @@ Section "Files"
|
|||
@modulePaths@
|
||||
EndSection
|
||||
|
||||
|
||||
Section "ServerFlags"
|
||||
Option "AllowMouseOpenFail" "on"
|
||||
EndSection
|
||||
|
||||
|
||||
Section "Module"
|
||||
Load "i2c"
|
||||
Load "bitmap"
|
||||
Load "ddc"
|
||||
Load "freetype"
|
||||
Load "int10"
|
||||
Load "vbe"
|
||||
|
||||
@moduleSection@
|
||||
EndSection
|
||||
|
||||
|
||||
|
@ -54,10 +61,12 @@ Section "Screen"
|
|||
Depth 24
|
||||
Modes @resolutions@
|
||||
EndSubSection
|
||||
SubSection "Display"
|
||||
Depth 32
|
||||
Modes @resolutions@
|
||||
EndSubSection
|
||||
#SubSection "Display"
|
||||
# Depth 32
|
||||
# Modes @resolutions@
|
||||
#EndSubSection
|
||||
|
||||
@screen@
|
||||
EndSection
|
||||
|
||||
|
||||
|
@ -66,6 +75,7 @@ Section "Device"
|
|||
Driver "@videoDriver@"
|
||||
Option "Clone" "On"
|
||||
Option "MonitorLayout" "LVDS,CRT"
|
||||
@device@
|
||||
EndSection
|
||||
|
||||
|
||||
|
@ -78,10 +88,11 @@ EndSection
|
|||
|
||||
|
||||
Section "Extensions"
|
||||
Option "Composite" "Enable"
|
||||
@extensions@
|
||||
EndSection
|
||||
|
||||
|
||||
Section "DRI"
|
||||
Mode 0666 # !!! FIX THIS!
|
||||
EndSection
|
||||
|
||||
|
|
|
@ -23,6 +23,13 @@ let
|
|||
|
||||
optional = condition: x: if condition then [x] else [];
|
||||
|
||||
#TODO, make these parameters
|
||||
nvidiaDrivers = (import ../../nixpkgs/pkgs/top-level/all-packages.nix {}).nvidiaDrivers;
|
||||
#berylcore = (import ../../nixpkgs/pkgs/top-level/all-packages.nix {}).berylCore;
|
||||
#berylmanager = (import ../../nixpkgs/pkgs/top-level/all-packages.nix {}).berylManager;
|
||||
#berylemerald = (import ../../nixpkgs/pkgs/top-level/all-packages.nix {}).berylEmerald;
|
||||
libX11 = (import ../../nixpkgs/pkgs/top-level/all-packages.nix {}).xlibs.libX11;
|
||||
libXext = (import ../../nixpkgs/pkgs/top-level/all-packages.nix {}).xlibs.libXext;
|
||||
|
||||
# Get a bunch of user settings.
|
||||
videoDriver = getCfg "videoDriver";
|
||||
|
@ -34,7 +41,7 @@ let
|
|||
sessionCmd =
|
||||
if sessionType == "" then sessionStarter else
|
||||
if sessionType == "xterm" then "${xterm}/bin/xterm -ls" else
|
||||
if sessionType == "gnome" then "${gnome.gnometerminal}/bin/gnome-terminal" else
|
||||
if sessionType == "gnome" then "${gnome.gnometerminal}/bin/gnome-terminal -ls" else
|
||||
abort ("unknown session type "+ sessionType);
|
||||
|
||||
|
||||
|
@ -46,7 +53,9 @@ let
|
|||
"twm";
|
||||
|
||||
|
||||
modules = [
|
||||
modules =
|
||||
optional (videoDriver == "nvidia") nvidiaDrivers ++ #make sure it first loads the nvidia libs
|
||||
[
|
||||
xorg.xorgserver
|
||||
xorg.xf86inputkeyboard
|
||||
xorg.xf86inputmouse
|
||||
|
@ -55,7 +64,6 @@ let
|
|||
++ optional (videoDriver == "i810") xorg.xf86videoi810
|
||||
++ optional (videoDriver == "intel") xorg.xf86videointel;
|
||||
|
||||
|
||||
configFile = stdenv.mkDerivation {
|
||||
name = "xserver.conf";
|
||||
src = ./xserver.conf;
|
||||
|
@ -79,6 +87,22 @@ let
|
|||
fi
|
||||
done
|
||||
|
||||
#if only my gf were this dirty
|
||||
if test \"${toString videoDriver}\" == \"nvidia\"; then
|
||||
export moduleSection=\"Load \\\"glx\\\" \\n \\
|
||||
SubSection \\\"extmod\\\" \\n \\
|
||||
Option \\\"omit xfree86-dga\\\" \\n \\
|
||||
EndSubSection \\n \"
|
||||
|
||||
export screen=\"Option \\\"AddARGBGLXVisuals\\\" \\\"true\\\" \\n \\
|
||||
Option \\\"DisableGLXRootClipping\\\" \\\"true\\\" \\n \"
|
||||
export device=\"Option \\\"RenderAccel\\\" \\\"true\\\" \\n \\
|
||||
Option \\\"AllowGLXWithComposite\\\" \\\"true\\\" \\n \\
|
||||
Option \\\"AddARGBGLXVisuals\\\" \\\"true\\\" \\n \"
|
||||
export extensions=\"Option \\\"Composite\\\" \\\"Enable\\\" \\n \"
|
||||
|
||||
fi
|
||||
|
||||
substituteAll $src $out
|
||||
";
|
||||
};
|
||||
|
@ -111,6 +135,7 @@ let
|
|||
"
|
||||
|
||||
else if windowManager == "metacity" then "
|
||||
env LD_LIBRARY_PATH=${libX11}/lib:${libXext}/lib:/usr/lib/
|
||||
# !!! Hack: load the schemas for Metacity.
|
||||
GCONF_CONFIG_SOURCE=xml::~/.gconf ${gnome.GConf}/bin/gconftool-2 \\
|
||||
--makefile-install-rule ${gnome.metacity}/etc/gconf/schemas/*.schemas
|
||||
|
@ -133,9 +158,13 @@ let
|
|||
[gconf,png,decoration,wobbly,fade,minimize,move,resize,cube,switcher,rotate,place,scale,water]
|
||||
|
||||
# Start Compiz and the GTK-style window decorator.
|
||||
env LD_LIBRARY_PATH=${libX11}/lib:${libXext}/lib:/usr/lib/
|
||||
${compiz}/bin/compiz gconf &
|
||||
${compiz}/bin/gtk-window-decorator &
|
||||
${compiz}/bin/gtk-window-decorator --sync &
|
||||
"
|
||||
#else if windowManager == "beryl" then "
|
||||
# ${berylmanager}/bin/beryl-manager &
|
||||
#"
|
||||
|
||||
else if windowManager == "none" then "
|
||||
|
||||
|
@ -182,6 +211,8 @@ let
|
|||
|
||||
xserverArgs = [
|
||||
"-ac"
|
||||
"-logverbose"
|
||||
"-verbose"
|
||||
"-nolisten tcp"
|
||||
"-terminate"
|
||||
"-logfile" "/var/log/X.${toString display}.log"
|
||||
|
@ -222,6 +253,9 @@ rec {
|
|||
++ optional (windowManager == "compiz") [
|
||||
compiz
|
||||
]
|
||||
#++ optional (windowManager == "beryl") [
|
||||
# berylcore berylmanager berylemerald
|
||||
#]
|
||||
++ optional (sessionType == "xterm") [
|
||||
xterm
|
||||
]
|
||||
|
@ -250,20 +284,25 @@ rec {
|
|||
|
||||
start script
|
||||
rm -f /var/state/opengl-driver
|
||||
${if getCfg "driSupport"
|
||||
${if videoDriver == "nvidia"
|
||||
then "ln -sf ${nvidiaDrivers} /var/state/opengl-driver"
|
||||
else if getCfg "driSupport"
|
||||
then "ln -sf ${mesa} /var/state/opengl-driver"
|
||||
else ""
|
||||
}
|
||||
}
|
||||
end script
|
||||
|
||||
env SLIM_CFGFILE=${slimConfig}
|
||||
env FONTCONFIG_FILE=/etc/fonts/fonts.conf # !!! cleanup
|
||||
env XKB_BINDIR=${xorg.xkbcomp}/bin # Needed for the Xkb extension.
|
||||
env FONTCONFIG_FILE=/etc/fonts/fonts.conf # !!! cleanup
|
||||
env XKB_BINDIR=${xorg.xkbcomp}/bin # Needed for the Xkb extension.
|
||||
env LD_LIBRARY_PATH=${libX11}/lib:${libXext}/lib:/usr/lib/ # related to xorg-sys-opengl - needed to load libglx for (AI)GLX support (for compiz)
|
||||
|
||||
${if getCfg "driSupport"
|
||||
${if videoDriver == "nvidia"
|
||||
then "env XORG_DRI_DRIVER_PATH=${nvidiaDrivers}/X11R6/lib/modules/drivers/"
|
||||
else if getCfg "driSupport"
|
||||
then "env XORG_DRI_DRIVER_PATH=${mesa}/lib/modules/dri"
|
||||
else ""
|
||||
}
|
||||
}
|
||||
|
||||
exec ${slim}/bin/slim
|
||||
";
|
||||
|
|
Loading…
Reference in a new issue