mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-02-07 20:53:22 +00:00
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.
|
# Print a greeting.
|
||||||
echo
|
echo
|
||||||
echo "<<< NixOS Stage 1 >>>"
|
echo "<<< Wouters NixOS Stage 1 >>>"
|
||||||
echo
|
echo
|
||||||
|
|
||||||
|
|
||||||
@ -117,6 +117,9 @@ mountFS() {
|
|||||||
mkdir /mnt
|
mkdir /mnt
|
||||||
mkdir /mnt/root
|
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
|
if test -n "@autoDetectRootDevice@"; then
|
||||||
|
|
||||||
# Look for the root device by label.
|
# Look for the root device by label.
|
||||||
|
@ -11,7 +11,8 @@ export EDITOR=nano
|
|||||||
|
|
||||||
# A nice prompt.
|
# A nice prompt.
|
||||||
PROMPT_COLOR="1;31m"
|
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
|
if test "x$TERM" == "xxterm"; then
|
||||||
PS1="\033]2;\h:\u:\w\007$PS1"
|
PS1="\033]2;\h:\u:\w\007$PS1"
|
||||||
fi
|
fi
|
||||||
@ -69,3 +70,11 @@ alias which="type -p"
|
|||||||
if test -f /etc/profile.local; then
|
if test -f /etc/profile.local; then
|
||||||
source /etc/profile.local
|
source /etc/profile.local
|
||||||
fi
|
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"];
|
allowSFTP = config.get ["services" "sshd" "allowSFTP"];
|
||||||
})
|
})
|
||||||
|
|
||||||
|
# Samba service.
|
||||||
|
++ optional ["services" "samba" "enable"]
|
||||||
|
(import ../upstart-jobs/samba.nix {
|
||||||
|
inherit (pkgs) samba glibc pwdutils;
|
||||||
|
})
|
||||||
|
|
||||||
# NTP daemon.
|
# NTP daemon.
|
||||||
++ optional ["services" "ntp" "enable"]
|
++ optional ["services" "ntp" "enable"]
|
||||||
(import ../upstart-jobs/ntpd.nix {
|
(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@
|
@modulePaths@
|
||||||
EndSection
|
EndSection
|
||||||
|
|
||||||
|
|
||||||
Section "ServerFlags"
|
Section "ServerFlags"
|
||||||
Option "AllowMouseOpenFail" "on"
|
Option "AllowMouseOpenFail" "on"
|
||||||
EndSection
|
EndSection
|
||||||
|
|
||||||
|
|
||||||
Section "Module"
|
Section "Module"
|
||||||
|
Load "i2c"
|
||||||
|
Load "bitmap"
|
||||||
|
Load "ddc"
|
||||||
|
Load "freetype"
|
||||||
|
Load "int10"
|
||||||
|
Load "vbe"
|
||||||
|
|
||||||
|
@moduleSection@
|
||||||
EndSection
|
EndSection
|
||||||
|
|
||||||
|
|
||||||
@ -54,10 +61,12 @@ Section "Screen"
|
|||||||
Depth 24
|
Depth 24
|
||||||
Modes @resolutions@
|
Modes @resolutions@
|
||||||
EndSubSection
|
EndSubSection
|
||||||
SubSection "Display"
|
#SubSection "Display"
|
||||||
Depth 32
|
# Depth 32
|
||||||
Modes @resolutions@
|
# Modes @resolutions@
|
||||||
EndSubSection
|
#EndSubSection
|
||||||
|
|
||||||
|
@screen@
|
||||||
EndSection
|
EndSection
|
||||||
|
|
||||||
|
|
||||||
@ -66,6 +75,7 @@ Section "Device"
|
|||||||
Driver "@videoDriver@"
|
Driver "@videoDriver@"
|
||||||
Option "Clone" "On"
|
Option "Clone" "On"
|
||||||
Option "MonitorLayout" "LVDS,CRT"
|
Option "MonitorLayout" "LVDS,CRT"
|
||||||
|
@device@
|
||||||
EndSection
|
EndSection
|
||||||
|
|
||||||
|
|
||||||
@ -78,10 +88,11 @@ EndSection
|
|||||||
|
|
||||||
|
|
||||||
Section "Extensions"
|
Section "Extensions"
|
||||||
Option "Composite" "Enable"
|
@extensions@
|
||||||
EndSection
|
EndSection
|
||||||
|
|
||||||
|
|
||||||
Section "DRI"
|
Section "DRI"
|
||||||
Mode 0666 # !!! FIX THIS!
|
Mode 0666 # !!! FIX THIS!
|
||||||
EndSection
|
EndSection
|
||||||
|
|
||||||
|
@ -23,6 +23,13 @@ let
|
|||||||
|
|
||||||
optional = condition: x: if condition then [x] else [];
|
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.
|
# Get a bunch of user settings.
|
||||||
videoDriver = getCfg "videoDriver";
|
videoDriver = getCfg "videoDriver";
|
||||||
@ -34,7 +41,7 @@ let
|
|||||||
sessionCmd =
|
sessionCmd =
|
||||||
if sessionType == "" then sessionStarter else
|
if sessionType == "" then sessionStarter else
|
||||||
if sessionType == "xterm" then "${xterm}/bin/xterm -ls" 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);
|
abort ("unknown session type "+ sessionType);
|
||||||
|
|
||||||
|
|
||||||
@ -46,7 +53,9 @@ let
|
|||||||
"twm";
|
"twm";
|
||||||
|
|
||||||
|
|
||||||
modules = [
|
modules =
|
||||||
|
optional (videoDriver == "nvidia") nvidiaDrivers ++ #make sure it first loads the nvidia libs
|
||||||
|
[
|
||||||
xorg.xorgserver
|
xorg.xorgserver
|
||||||
xorg.xf86inputkeyboard
|
xorg.xf86inputkeyboard
|
||||||
xorg.xf86inputmouse
|
xorg.xf86inputmouse
|
||||||
@ -55,7 +64,6 @@ let
|
|||||||
++ optional (videoDriver == "i810") xorg.xf86videoi810
|
++ optional (videoDriver == "i810") xorg.xf86videoi810
|
||||||
++ optional (videoDriver == "intel") xorg.xf86videointel;
|
++ optional (videoDriver == "intel") xorg.xf86videointel;
|
||||||
|
|
||||||
|
|
||||||
configFile = stdenv.mkDerivation {
|
configFile = stdenv.mkDerivation {
|
||||||
name = "xserver.conf";
|
name = "xserver.conf";
|
||||||
src = ./xserver.conf;
|
src = ./xserver.conf;
|
||||||
@ -79,6 +87,22 @@ let
|
|||||||
fi
|
fi
|
||||||
done
|
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
|
substituteAll $src $out
|
||||||
";
|
";
|
||||||
};
|
};
|
||||||
@ -111,6 +135,7 @@ let
|
|||||||
"
|
"
|
||||||
|
|
||||||
else if windowManager == "metacity" then "
|
else if windowManager == "metacity" then "
|
||||||
|
env LD_LIBRARY_PATH=${libX11}/lib:${libXext}/lib:/usr/lib/
|
||||||
# !!! Hack: load the schemas for Metacity.
|
# !!! Hack: load the schemas for Metacity.
|
||||||
GCONF_CONFIG_SOURCE=xml::~/.gconf ${gnome.GConf}/bin/gconftool-2 \\
|
GCONF_CONFIG_SOURCE=xml::~/.gconf ${gnome.GConf}/bin/gconftool-2 \\
|
||||||
--makefile-install-rule ${gnome.metacity}/etc/gconf/schemas/*.schemas
|
--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]
|
[gconf,png,decoration,wobbly,fade,minimize,move,resize,cube,switcher,rotate,place,scale,water]
|
||||||
|
|
||||||
# Start Compiz and the GTK-style window decorator.
|
# Start Compiz and the GTK-style window decorator.
|
||||||
|
env LD_LIBRARY_PATH=${libX11}/lib:${libXext}/lib:/usr/lib/
|
||||||
${compiz}/bin/compiz gconf &
|
${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 "
|
else if windowManager == "none" then "
|
||||||
|
|
||||||
@ -182,6 +211,8 @@ let
|
|||||||
|
|
||||||
xserverArgs = [
|
xserverArgs = [
|
||||||
"-ac"
|
"-ac"
|
||||||
|
"-logverbose"
|
||||||
|
"-verbose"
|
||||||
"-nolisten tcp"
|
"-nolisten tcp"
|
||||||
"-terminate"
|
"-terminate"
|
||||||
"-logfile" "/var/log/X.${toString display}.log"
|
"-logfile" "/var/log/X.${toString display}.log"
|
||||||
@ -222,6 +253,9 @@ rec {
|
|||||||
++ optional (windowManager == "compiz") [
|
++ optional (windowManager == "compiz") [
|
||||||
compiz
|
compiz
|
||||||
]
|
]
|
||||||
|
#++ optional (windowManager == "beryl") [
|
||||||
|
# berylcore berylmanager berylemerald
|
||||||
|
#]
|
||||||
++ optional (sessionType == "xterm") [
|
++ optional (sessionType == "xterm") [
|
||||||
xterm
|
xterm
|
||||||
]
|
]
|
||||||
@ -250,20 +284,25 @@ rec {
|
|||||||
|
|
||||||
start script
|
start script
|
||||||
rm -f /var/state/opengl-driver
|
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"
|
then "ln -sf ${mesa} /var/state/opengl-driver"
|
||||||
else ""
|
else ""
|
||||||
}
|
}
|
||||||
end script
|
end script
|
||||||
|
|
||||||
env SLIM_CFGFILE=${slimConfig}
|
env SLIM_CFGFILE=${slimConfig}
|
||||||
env FONTCONFIG_FILE=/etc/fonts/fonts.conf # !!! cleanup
|
env FONTCONFIG_FILE=/etc/fonts/fonts.conf # !!! cleanup
|
||||||
env XKB_BINDIR=${xorg.xkbcomp}/bin # Needed for the Xkb extension.
|
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"
|
then "env XORG_DRI_DRIVER_PATH=${mesa}/lib/modules/dri"
|
||||||
else ""
|
else ""
|
||||||
}
|
}
|
||||||
|
|
||||||
exec ${slim}/bin/slim
|
exec ${slim}/bin/slim
|
||||||
";
|
";
|
||||||
|
Loading…
Reference in New Issue
Block a user