summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbill-auger <mr.j.spam.me@gmail.com>2017-11-20 18:02:59 -0500
committerbill-auger <mr.j.spam.me@gmail.com>2017-12-01 21:55:39 -0500
commitd662dcc89037786d4250cc59a322d33eee141e9c (patch)
tree840e9ed97a3ca92d5b9f45d0c9b7fb8ab5141678
parent51c8f44735b6d0395e08841476b54e7c7c734825 (diff)
stash
-rw-r--r--data/skel/.ICEauthority (renamed from data/skel/mate/.ICEauthority)bin664 -> 664 bytes
-rw-r--r--data/skel/.Xauthority (renamed from data/skel/mate/.Xauthority)bin55 -> 55 bytes
-rw-r--r--data/skel/.bash_logout (renamed from data/skel/mate/.bash_logout)0
-rw-r--r--data/skel/.bash_profile (renamed from data/skel/mate/.bash_profile)0
-rw-r--r--data/skel/.bashrc (renamed from data/skel/mate/.bashrc)0
-rw-r--r--data/skel/.cache/mate/background/0_1_1024_768_6fb1a8398fc17d5268aa5ccdd628a9a1 (renamed from data/skel/mate/.cache/mate/background/0_1_1024_768_6fb1a8398fc17d5268aa5ccdd628a9a1)bin1111438 -> 1111438 bytes
-rw-r--r--data/skel/.config/caja/accels (renamed from data/skel/mate/.config/caja/accels)0
-rw-r--r--data/skel/.config/caja/desktop-metadata (renamed from data/skel/mate/.config/caja/desktop-metadata)0
-rw-r--r--data/skel/.config/dconf/user (renamed from data/skel/mate/.config/dconf/user)bin6616 -> 6616 bytes
-rw-r--r--data/skel/.config/gtk-2.0/gtkfilechooser.ini (renamed from data/skel/mate/.config/gtk-2.0/gtkfilechooser.ini)0
-rw-r--r--data/skel/.config/lxpanel/LXDE/config2
-rw-r--r--data/skel/.config/lxpanel/LXDE/panels/panel178
-rw-r--r--data/skel/.config/lxsession/LXDE/autostart3
-rw-r--r--data/skel/.config/lxsession/LXDE/desktop.conf48
-rw-r--r--data/skel/.config/octopi/octopi.conf (renamed from data/skel/mate/.config/octopi/octopi.conf)0
-rw-r--r--data/skel/.config/openbox/lxde-rc.xml763
-rw-r--r--data/skel/.config/pcmanfm/LXDE/desktop-items-0.conf14
-rw-r--r--data/skel/.config/pulse/82b0568e94d14a1ea892086635b342fc-card-database.tdb (renamed from data/skel/mate/.config/pulse/82b0568e94d14a1ea892086635b342fc-card-database.tdb)bin16384 -> 16384 bytes
-rw-r--r--data/skel/.config/pulse/82b0568e94d14a1ea892086635b342fc-default-sink (renamed from data/skel/mate/.config/pulse/82b0568e94d14a1ea892086635b342fc-default-sink)0
-rw-r--r--data/skel/.config/pulse/82b0568e94d14a1ea892086635b342fc-default-source (renamed from data/skel/mate/.config/pulse/82b0568e94d14a1ea892086635b342fc-default-source)0
-rw-r--r--data/skel/.config/pulse/82b0568e94d14a1ea892086635b342fc-device-volumes.tdb (renamed from data/skel/mate/.config/pulse/82b0568e94d14a1ea892086635b342fc-device-volumes.tdb)bin12288 -> 12288 bytes
-rw-r--r--data/skel/.config/pulse/82b0568e94d14a1ea892086635b342fc-stream-volumes.tdb (renamed from data/skel/mate/.config/pulse/82b0568e94d14a1ea892086635b342fc-stream-volumes.tdb)bin696 -> 696 bytes
-rw-r--r--data/skel/.config/pulse/cookie (renamed from data/skel/mate/.config/pulse/cookie)bin256 -> 256 bytes
-rw-r--r--data/skel/.config/volumeicon/volumeicon (renamed from data/skel/mate/.config/volumeicon/volumeicon)0
-rw-r--r--data/skel/.directory (renamed from data/skel/mate/.directory)0
-rw-r--r--data/skel/.dmrc (renamed from data/skel/mate/.dmrc)0
-rw-r--r--data/skel/.esd_auth (renamed from data/skel/mate/.esd_auth)0
-rw-r--r--data/skel/.local/share/keyrings/login.keyring (renamed from data/skel/mate/.local/share/keyrings/login.keyring)bin105 -> 105 bytes
-rw-r--r--data/skel/.local/share/keyrings/user.keystore (renamed from data/skel/mate/.local/share/keyrings/user.keystore)bin207 -> 207 bytes
-rw-r--r--data/skel/.local/share/recently-used.xbel (renamed from data/skel/mate/.local/share/recently-used.xbel)0
-rw-r--r--data/skel/.xsession-errors (renamed from data/skel/mate/.xsession-errors)0
-rw-r--r--data/skel/.zshrc (renamed from data/skel/mate/.zshrc)0
-rw-r--r--data/skel/CALAMARES-SKEL (renamed from data/skel/mate/CALAMARES-SKEL)0
-rwxr-xr-x[-rw-r--r--]mk0
-rw-r--r--src/libcalamares/CMakeLists.txt8
-rw-r--r--src/libcalamares/GlobalStorage.cpp5
-rw-r--r--src/libcalamares/GlobalStorage.h5
-rw-r--r--src/libcalamares/PacstrapCppJob.cpp64
-rw-r--r--src/libcalamares/PacstrapCppJob.h48
-rw-r--r--src/modules/locale/LocalePage.cpp5
-rw-r--r--src/modules/localecfg/main.py2
-rw-r--r--src/modules/pacstrap-base/CMakeLists.txt7
-rw-r--r--src/modules/pacstrap-base/pacstrap-base.conf22
-rw-r--r--src/modules/pacstrap-base/pacstrap-base.cpp5
-rw-r--r--src/modules/pacstrap-gui/pacstrap-gui.conf30
-rw-r--r--src/modules/pacstrap-gui/pacstrap-gui.cpp13
-rw-r--r--src/modules/services/main.py14
-rw-r--r--src/modules/services/services.conf16
-rw-r--r--src/modules/users/CreateUserJob.cpp53
49 files changed, 1224 insertions, 81 deletions
diff --git a/data/skel/mate/.ICEauthority b/data/skel/.ICEauthority
index b959e6a56..b959e6a56 100644
--- a/data/skel/mate/.ICEauthority
+++ b/data/skel/.ICEauthority
Binary files differ
diff --git a/data/skel/mate/.Xauthority b/data/skel/.Xauthority
index 132220db6..132220db6 100644
--- a/data/skel/mate/.Xauthority
+++ b/data/skel/.Xauthority
Binary files differ
diff --git a/data/skel/mate/.bash_logout b/data/skel/.bash_logout
index 0e4e4f184..0e4e4f184 100644
--- a/data/skel/mate/.bash_logout
+++ b/data/skel/.bash_logout
diff --git a/data/skel/mate/.bash_profile b/data/skel/.bash_profile
index 5545f007e..5545f007e 100644
--- a/data/skel/mate/.bash_profile
+++ b/data/skel/.bash_profile
diff --git a/data/skel/mate/.bashrc b/data/skel/.bashrc
index 89392d75b..89392d75b 100644
--- a/data/skel/mate/.bashrc
+++ b/data/skel/.bashrc
diff --git a/data/skel/mate/.cache/mate/background/0_1_1024_768_6fb1a8398fc17d5268aa5ccdd628a9a1 b/data/skel/.cache/mate/background/0_1_1024_768_6fb1a8398fc17d5268aa5ccdd628a9a1
index 5163123b8..5163123b8 100644
--- a/data/skel/mate/.cache/mate/background/0_1_1024_768_6fb1a8398fc17d5268aa5ccdd628a9a1
+++ b/data/skel/.cache/mate/background/0_1_1024_768_6fb1a8398fc17d5268aa5ccdd628a9a1
Binary files differ
diff --git a/data/skel/mate/.config/caja/accels b/data/skel/.config/caja/accels
index b3731d8ce..b3731d8ce 100644
--- a/data/skel/mate/.config/caja/accels
+++ b/data/skel/.config/caja/accels
diff --git a/data/skel/mate/.config/caja/desktop-metadata b/data/skel/.config/caja/desktop-metadata
index d80c2893a..d80c2893a 100644
--- a/data/skel/mate/.config/caja/desktop-metadata
+++ b/data/skel/.config/caja/desktop-metadata
diff --git a/data/skel/mate/.config/dconf/user b/data/skel/.config/dconf/user
index 113e640ff..113e640ff 100644
--- a/data/skel/mate/.config/dconf/user
+++ b/data/skel/.config/dconf/user
Binary files differ
diff --git a/data/skel/mate/.config/gtk-2.0/gtkfilechooser.ini b/data/skel/.config/gtk-2.0/gtkfilechooser.ini
index c6b458dfa..c6b458dfa 100644
--- a/data/skel/mate/.config/gtk-2.0/gtkfilechooser.ini
+++ b/data/skel/.config/gtk-2.0/gtkfilechooser.ini
diff --git a/data/skel/.config/lxpanel/LXDE/config b/data/skel/.config/lxpanel/LXDE/config
new file mode 100644
index 000000000..76228e248
--- /dev/null
+++ b/data/skel/.config/lxpanel/LXDE/config
@@ -0,0 +1,2 @@
+[Command]
+Logout=lxde-logout
diff --git a/data/skel/.config/lxpanel/LXDE/panels/panel b/data/skel/.config/lxpanel/LXDE/panels/panel
new file mode 100644
index 000000000..4a105d86f
--- /dev/null
+++ b/data/skel/.config/lxpanel/LXDE/panels/panel
@@ -0,0 +1,178 @@
+# lxpanel <profile> config file. Manually editing is not recommended.
+# Use preference dialog in lxpanel to adjust config when you can.
+
+Global {
+ edge=bottom
+ align=left
+ margin=0
+ widthtype=percent
+ width=100
+ height=26
+ transparent=0
+ tintcolor=#000000
+ alpha=0
+ setdocktype=1
+ setpartialstrut=1
+ autohide=0
+ heightwhenhidden=0
+ usefontcolor=1
+ fontcolor=#000000
+ background=0
+ backgroundfile=/usr/share/lxpanel/images/background.png
+}
+Plugin {
+ type=space
+ Config {
+ Size=2
+ }
+}
+Plugin {
+ type=menu
+ Config {
+ image=/root/.scriptsInstallation/parabolaicon.png
+ system {
+ }
+ separator {
+ }
+ item {
+ command=run
+ }
+ separator {
+ }
+ item {
+ image=gnome-logout
+ command=logout
+ }
+ }
+}
+Plugin {
+ type=space
+ Config {
+ Size=8
+ }
+}
+Plugin {
+ type=separator
+ Config {
+ }
+}
+Plugin {
+ type=space
+ Config {
+ Size=8
+ }
+}
+Plugin {
+ type=launchbar
+ Config {
+ Button {
+ id=iceweasel.desktop
+ }
+ Button {
+ id=pidgin.desktop
+ }
+ Button {
+ id=pcmanfm.desktop
+ }
+ Button {
+ id=lxterminal.desktop
+ }
+ }
+}
+Plugin {
+ type=space
+ Config {
+ Size=8
+ }
+}
+Plugin {
+ type=separator
+ Config {
+ }
+}
+Plugin {
+ type=space
+ Config {
+ Size=8
+ }
+}
+Plugin {
+ type=wincmd
+ Config {
+ Button1=iconify
+ Button2=shade
+ }
+}
+Plugin {
+ type=space
+ Config {
+ Size=8
+ }
+}
+Plugin {
+ type=separator
+ Config {
+ }
+}
+Plugin {
+ type=space
+ Config {
+ Size=8
+ }
+}
+Plugin {
+ type=taskbar
+ expand=1
+ Config {
+ tooltips=1
+ IconsOnly=0
+ AcceptSkipPager=1
+ ShowIconified=1
+ ShowMapped=1
+ ShowAllDesks=0
+ UseMouseWheel=1
+ UseUrgencyHint=1
+ FlatButton=0
+ MaxTaskWidth=150
+ spacing=1
+ }
+}
+Plugin {
+ type=cpu
+ Config {
+ }
+}
+Plugin {
+ type=volume
+ Config {
+ VolumeMuteKey=XF86AudioMute
+ VolumeDownKey=XF86AudioLowerVolume
+ VolumeUpKey=XF86AudioRaiseVolume
+ }
+}
+Plugin {
+ type=tray
+ Config {
+ }
+}
+Plugin {
+ type=dclock
+ Config {
+ ClockFmt=%R
+ TooltipFmt=%A %x
+ BoldFont=0
+ IconOnly=0
+ CenterText=0
+ }
+}
+Plugin {
+ type=launchbar
+ Config {
+ Button {
+ id=lxde-screenlock.desktop
+ }
+ Button {
+ id=lxde-logout.desktop
+ }
+ }
+}
diff --git a/data/skel/.config/lxsession/LXDE/autostart b/data/skel/.config/lxsession/LXDE/autostart
new file mode 100644
index 000000000..d8f2e230c
--- /dev/null
+++ b/data/skel/.config/lxsession/LXDE/autostart
@@ -0,0 +1,3 @@
+@lxpanel --profile LXDE
+@pcmanfm --desktop --profile LXDE
+@xscreensaver -no-splash
diff --git a/data/skel/.config/lxsession/LXDE/desktop.conf b/data/skel/.config/lxsession/LXDE/desktop.conf
new file mode 100644
index 000000000..5f99ce298
--- /dev/null
+++ b/data/skel/.config/lxsession/LXDE/desktop.conf
@@ -0,0 +1,48 @@
+[Session]
+window_manager=openbox-lxde
+disable_autostart=no
+polkit/command=lxpolkit
+clipboard/command=lxclipboard
+xsettings_manager/command=build-in
+proxy_manager/command=build-in
+keyring/command=ssh-agent
+quit_manager/command=lxsession-logout
+lock_manager/command=lxlock
+terminal_manager/command=lxterminal
+
+[GTK]
+sNet/ThemeName=Adwaita
+sNet/IconThemeName=Adwaita
+sGtk/FontName=Sans 10
+iGtk/ToolbarStyle=3
+iGtk/ButtonImages=1
+iGtk/MenuImages=1
+iGtk/CursorThemeSize=18
+iXft/Antialias=1
+iXft/Hinting=1
+sXft/HintStyle=hintslight
+sXft/RGBA=rgb
+iNet/EnableEventSounds=1
+iNet/EnableInputFeedbackSounds=1
+sGtk/ColorScheme=
+iGtk/ToolbarIconSize=3
+sGtk/CursorThemeName=DMZ-White
+
+[Mouse]
+AccFactor=20
+AccThreshold=10
+LeftHanded=0
+
+[Keyboard]
+Delay=500
+Interval=30
+Beep=1
+
+[State]
+guess_default=true
+
+[Dbus]
+lxde=true
+
+[Environment]
+menu_prefix=lxde-
diff --git a/data/skel/mate/.config/octopi/octopi.conf b/data/skel/.config/octopi/octopi.conf
index 58dfdac11..58dfdac11 100644
--- a/data/skel/mate/.config/octopi/octopi.conf
+++ b/data/skel/.config/octopi/octopi.conf
diff --git a/data/skel/.config/openbox/lxde-rc.xml b/data/skel/.config/openbox/lxde-rc.xml
new file mode 100644
index 000000000..54eaa4142
--- /dev/null
+++ b/data/skel/.config/openbox/lxde-rc.xml
@@ -0,0 +1,763 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Do not edit this file, it will be overwritten on install.
+ Copy the file to $HOME/.config/openbox/ instead. -->
+<openbox_config xmlns="http://openbox.org/3.4/rc">
+ <resistance>
+ <strength>10</strength>
+ <screen_edge_strength>20</screen_edge_strength>
+ </resistance>
+ <focus>
+ <focusNew>yes</focusNew>
+ <!-- always try to focus new windows when they appear. other rules do
+ apply -->
+ <followMouse>no</followMouse>
+ <!-- move focus to a window when you move the mouse into it -->
+ <focusLast>yes</focusLast>
+ <!-- focus the last used window when changing desktops, instead of the one
+ under the mouse pointer. when followMouse is enabled -->
+ <underMouse>no</underMouse>
+ <!-- move focus under the mouse, even when the mouse is not moving -->
+ <focusDelay>200</focusDelay>
+ <!-- when followMouse is enabled, the mouse must be inside the window for
+ this many milliseconds (1000 = 1 sec) before moving focus to it -->
+ <raiseOnFocus>no</raiseOnFocus>
+ <!-- when followMouse is enabled, and a window is given focus by moving the
+ mouse into it, also raise the window -->
+ </focus>
+ <placement>
+ <policy>Smart</policy>
+ <!-- 'Smart' or 'UnderMouse' -->
+ <center>yes</center>
+ <!-- whether to place windows in the center of the free area found or
+ the top left corner -->
+ <monitor>Any</monitor>
+ <!-- with Smart placement on a multi-monitor system, try to place new windows
+ on: 'Any' - any monitor, 'Mouse' - where the mouse is, 'Active' - where
+ the active window is -->
+ <primaryMonitor></primaryMonitor>
+ </placement>
+ <theme>
+ <name>Bear2</name>
+ <titleLayout>NLIMC</titleLayout>
+ <!--
+ available characters are NDSLIMC, each can occur at most once.
+ N: window icon
+ L: window label (AKA title).
+ I: iconify
+ M: maximize
+ C: close
+ S: shade (roll up/down)
+ D: omnipresent (on all desktops).
+ -->
+ <keepBorder>yes</keepBorder>
+ <animateIconify>yes</animateIconify>
+ <font place="ActiveWindow">
+ <name>sans</name>
+ <size>10</size>
+ <!-- font size in points -->
+ <weight>bold</weight>
+ <!-- 'bold' or 'normal' -->
+ <slant>normal</slant>
+ <!-- 'italic' or 'normal' -->
+ </font>
+ <font place="InactiveWindow">
+ <name>sans</name>
+ <size>10</size>
+ <!-- font size in points -->
+ <weight>bold</weight>
+ <!-- 'bold' or 'normal' -->
+ <slant>normal</slant>
+ <!-- 'italic' or 'normal' -->
+ </font>
+ <font place="MenuHeader">
+ <name>sans</name>
+ <size>10</size>
+ <!-- font size in points -->
+ <weight>normal</weight>
+ <!-- 'bold' or 'normal' -->
+ <slant>normal</slant>
+ <!-- 'italic' or 'normal' -->
+ </font>
+ <font place="MenuItem">
+ <name>sans</name>
+ <size>10</size>
+ <!-- font size in points -->
+ <weight>normal</weight>
+ <!-- 'bold' or 'normal' -->
+ <slant>normal</slant>
+ <!-- 'italic' or 'normal' -->
+ </font>
+ <font place="OnScreenDisplay">
+ <name>sans</name>
+ <size>10</size>
+ <!-- font size in points -->
+ <weight>bold</weight>
+ <!-- 'bold' or 'normal' -->
+ <slant>normal</slant>
+ <!-- 'italic' or 'normal' -->
+ </font>
+ <font place="ActiveOnScreenDisplay">
+ <name>Sans</name>
+ <size>8</size>
+ <weight/>
+ <slant/>
+ </font>
+ <font place="InactiveOnScreenDisplay">
+ <name>Sans</name>
+ <size>8</size>
+ <weight/>
+ <slant/>
+ </font>
+ </theme>
+ <desktops>
+ <!-- this stuff is only used at startup, pagers allow you to change them
+ during a session
+
+ these are default values to use when other ones are not already set
+ by other applications, or saved in your session
+
+ use obconf if you want to change these without having to log out
+ and back in -->
+ <number>1</number>
+ <firstdesk>1</firstdesk>
+ <names>
+ <!-- set names up here if you want to, like this:
+ <name>desktop 1</name>
+ <name>desktop 2</name>
+ -->
+ </names>
+ <popupTime>875</popupTime>
+ <!-- The number of milliseconds to show the popup for when switching
+ desktops. Set this to 0 to disable the popup. -->
+ </desktops>
+ <resize>
+ <drawContents>yes</drawContents>
+ <popupShow>Nonpixel</popupShow>
+ <!-- 'Always', 'Never', or 'Nonpixel' (xterms and such) -->
+ <popupPosition>Center</popupPosition>
+ <!-- 'Center', 'Top', or 'Fixed' -->
+ <popupFixedPosition>
+ <!-- these are used if popupPosition is set to 'Fixed' -->
+ <x>10</x>
+ <!-- positive number for distance from left edge, negative number for
+ distance from right edge, or 'Center' -->
+ <y>10</y>
+ <!-- positive number for distance from top edge, negative number for
+ distance from bottom edge, or 'Center' -->
+ </popupFixedPosition>
+ </resize>
+ <!-- You can reserve a portion of your screen where windows will not cover when
+ they are maximized, or when they are initially placed.
+ Many programs reserve space automatically, but you can use this in other
+ cases. -->
+ <margins>
+ <top>0</top>
+ <bottom>0</bottom>
+ <left>0</left>
+ <right>0</right>
+ </margins>
+ <dock>
+ <position>TopLeft</position>
+ <!-- (Top|Bottom)(Left|Right|)|Top|Bottom|Left|Right|Floating -->
+ <floatingX>0</floatingX>
+ <floatingY>0</floatingY>
+ <noStrut>no</noStrut>
+ <stacking>Above</stacking>
+ <!-- 'Above', 'Normal', or 'Below' -->
+ <direction>Vertical</direction>
+ <!-- 'Vertical' or 'Horizontal' -->
+ <autoHide>no</autoHide>
+ <hideDelay>300</hideDelay>
+ <!-- in milliseconds (1000 = 1 second) -->
+ <showDelay>300</showDelay>
+ <!-- in milliseconds (1000 = 1 second) -->
+ <moveButton>Middle</moveButton>
+ <!-- 'Left', 'Middle', 'Right' -->
+ </dock>
+ <keyboard>
+ <chainQuitKey>C-g</chainQuitKey>
+ <!-- Keybindings for desktop switching -->
+ <keybind key="C-A-Left">
+ <action name="DesktopLeft">
+ <dialog>no</dialog>
+ <wrap>no</wrap>
+ </action>
+ </keybind>
+ <keybind key="C-A-Right">
+ <action name="DesktopRight">
+ <dialog>no</dialog>
+ <wrap>no</wrap>
+ </action>
+ </keybind>
+ <keybind key="C-A-Up">
+ <action name="DesktopUp">
+ <dialog>no</dialog>
+ <wrap>no</wrap>
+ </action>
+ </keybind>
+ <keybind key="C-A-Down">
+ <action name="DesktopDown">
+ <dialog>no</dialog>
+ <wrap>no</wrap>
+ </action>
+ </keybind>
+ <keybind key="S-A-Left">
+ <action name="SendToDesktopLeft">
+ <dialog>no</dialog>
+ <wrap>no</wrap>
+ </action>
+ </keybind>
+ <keybind key="S-A-Right">
+ <action name="SendToDesktopRight">
+ <dialog>no</dialog>
+ <wrap>no</wrap>
+ </action>
+ </keybind>
+ <keybind key="S-A-Up">
+ <action name="SendToDesktopUp">
+ <dialog>no</dialog>
+ <wrap>no</wrap>
+ </action>
+ </keybind>
+ <keybind key="S-A-Down">
+ <action name="SendToDesktopDown">
+ <dialog>no</dialog>
+ <wrap>no</wrap>
+ </action>
+ </keybind>
+ <keybind key="W-F1">
+ <action name="Desktop">
+ <desktop>1</desktop>
+ </action>
+ </keybind>
+ <keybind key="W-F2">
+ <action name="Desktop">
+ <desktop>2</desktop>
+ </action>
+ </keybind>
+ <keybind key="W-F3">
+ <action name="Desktop">
+ <desktop>3</desktop>
+ </action>
+ </keybind>
+ <keybind key="W-F4">
+ <action name="Desktop">
+ <desktop>4</desktop>
+ </action>
+ </keybind>
+ <keybind key="W-d">
+ <action name="ToggleShowDesktop"/>
+ </keybind>
+ <keybind key="C-A-d">
+ <action name="ToggleShowDesktop"/>
+ </keybind>
+ <!-- Keybindings for windows -->
+ <keybind key="A-F4">
+ <action name="Close"/>
+ </keybind>
+ <keybind key="A-Escape">
+ <action name="Lower"/>
+ <action name="FocusToBottom"/>
+ <action name="Unfocus"/>
+ </keybind>
+ <keybind key="A-space">
+ <action name="ShowMenu">
+ <menu>client-menu</menu>
+ </action>
+ </keybind>
+ <!-- Keybindings for window switching -->
+ <keybind key="A-Tab">
+ <action name="NextWindow"/>
+ </keybind>
+ <keybind key="A-S-Tab">
+ <action name="PreviousWindow"/>
+ </keybind>
+ <keybind key="C-A-Tab">
+ <action name="NextWindow">
+ <panels>yes</panels>
+ <desktop>yes</desktop>
+ </action>
+ </keybind>
+ <!-- Keybindings for running applications -->
+ <keybind key="W-e">
+ <action name="Execute">
+ <startupnotify>
+ <enabled>true</enabled>
+ <name>PCManFM</name>
+ </startupnotify>
+ <command>pcmanfm</command>
+ </action>
+ </keybind>
+ <!-- Keybindings for finding files -->
+ <keybind key="W-f">
+ <action name="Execute">
+ <command>pcmanfm --find-files</command>
+ </action>
+ </keybind>
+ <!--keybindings for LXPanel -->
+ <keybind key="W-r">
+ <action name="Execute">
+ <command>lxpanelctl run</command>
+ </action>
+ </keybind>
+ <keybind key="A-F2">
+ <action name="Execute">
+ <command>lxpanelctl run</command>
+ </action>
+ </keybind>
+ <keybind key="C-Escape">
+ <action name="Execute">
+ <command>lxpanelctl menu</command>
+ </action>
+ </keybind>
+ <keybind key="A-F1">
+ <action name="Execute">
+ <command>lxpanelctl menu</command>
+ </action>
+ </keybind>
+ <keybind key="A-F11">
+ <action name="ToggleFullscreen"/>
+ </keybind>
+ <!-- Launch Task Manager with Ctrl+Alt+Del -->
+ <keybind key="A-C-Delete">
+ <action name="Execute">
+ <command>lxtask</command>
+ </action>
+ </keybind>
+ <!-- Launch gnome-screenshot when PrintScreen is pressed -->
+ <keybind key="Print">
+ <action name="Execute">
+ <command>gnome-screenshot -i</command>
+ </action>
+ </keybind>
+ <!-- Launch LXRandR when Fn+Screen is pressed -->
+ <keybind key="XF86Display">
+ <action name="Execute">
+ <command>lxrandr</command>
+ </action>
+ </keybind>
+ </keyboard>
+ <mouse>
+ <dragThreshold>8</dragThreshold>
+ <!-- number of pixels the mouse must move before a drag begins -->
+ <doubleClickTime>200</doubleClickTime>
+ <!-- in milliseconds (1000 = 1 second) -->
+ <screenEdgeWarpTime>400</screenEdgeWarpTime>
+ <!-- Time before changing desktops when the pointer touches the edge of the
+ screen while moving a window, in milliseconds (1000 = 1 second).
+ Set this to 0 to disable warping -->
+ <context name="Frame">
+ <mousebind button="A-Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ <mousebind button="A-Left" action="Click">
+ <action name="Unshade"/>
+ </mousebind>
+ <mousebind button="A-Left" action="Drag">
+ <action name="Move"/>
+ </mousebind>
+ <mousebind button="A-Right" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </mousebind>
+ <mousebind button="A-Right" action="Drag">
+ <action name="Resize"/>
+ </mousebind>
+ <mousebind button="A-Middle" action="Press">
+ <action name="Lower"/>
+ <action name="FocusToBottom"/>
+ <action name="Unfocus"/>
+ </mousebind>
+ <mousebind button="A-Up" action="Click">
+ <action name="DesktopPrevious"/>
+ </mousebind>
+ <mousebind button="A-Down" action="Click">
+ <action name="DesktopNext"/>
+ </mousebind>
+ <mousebind button="C-A-Up" action="Click">
+ <action name="DesktopPrevious"/>
+ </mousebind>
+ <mousebind button="C-A-Down" action="Click">
+ <action name="DesktopNext"/>
+ </mousebind>
+ <mousebind button="A-S-Up" action="Click">
+ <action name="SendToDesktopPrevious"/>
+ </mousebind>
+ <mousebind button="A-S-Down" action="Click">
+ <action name="SendToDesktopNext"/>
+ </mousebind>
+ </context>
+ <context name="Titlebar">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ <mousebind button="Left" action="Drag">
+ <action name="Move"/>
+ </mousebind>
+ <mousebind button="Left" action="DoubleClick">
+ <action name="ToggleMaximizeFull"/>
+ </mousebind>
+ <mousebind button="Middle" action="Press">
+ <action name="Lower"/>
+ <action name="FocusToBottom"/>
+ <action name="Unfocus"/>
+ </mousebind>
+ <mousebind button="Up" action="Click">
+ <action name="Shade"/>
+ <action name="FocusToBottom"/>
+ <action name="Unfocus"/>
+ <action name="Lower"/>
+ </mousebind>
+ <mousebind button="Down" action="Click">
+ <action name="Unshade"/>
+ <action name="Raise"/>
+ </mousebind>
+ <mousebind button="Right" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="ShowMenu">
+ <menu>client-menu</menu>
+ </action>
+ </mousebind>
+ </context>
+ <context name="Top">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </mousebind>
+ <mousebind button="Left" action="Drag">
+ <action name="Resize">
+ <edge>top</edge>
+ </action>
+ </mousebind>
+ </context>
+ <context name="Left">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ <mousebind button="Left" action="Drag">
+ <action name="Resize">
+ <edge>left</edge>
+ </action>
+ </mousebind>
+ </context>
+ <context name="Right">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ <mousebind button="Left" action="Drag">
+ <action name="Resize">
+ <edge>right</edge>
+ </action>
+ </mousebind>
+ </context>
+ <context name="Bottom">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ <mousebind button="Left" action="Drag">
+ <action name="Resize">
+ <edge>bottom</edge>
+ </action>
+ </mousebind>
+ <mousebind button="Middle" action="Press">
+ <action name="Lower"/>
+ <action name="FocusToBottom"/>
+ <action name="Unfocus"/>
+ </mousebind>
+ <mousebind button="Right" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="ShowMenu">
+ <menu>client-menu</menu>
+ </action>
+ </mousebind>
+ </context>
+ <context name="BLCorner">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ <mousebind button="Left" action="Drag">
+ <action name="Resize"/>
+ </mousebind>
+ </context>
+ <context name="BRCorner">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ <mousebind button="Left" action="Drag">
+ <action name="Resize"/>
+ </mousebind>
+ </context>
+ <context name="TLCorner">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </mousebind>
+ <mousebind button="Left" action="Drag">
+ <action name="Resize"/>
+ </mousebind>
+ </context>
+ <context name="TRCorner">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </mousebind>
+ <mousebind button="Left" action="Drag">
+ <action name="Resize"/>
+ </mousebind>
+ </context>
+ <context name="Client">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ <mousebind button="Middle" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ <mousebind button="Right" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ </context>
+ <context name="Icon">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ <action name="ShowMenu">
+ <menu>client-menu</menu>
+ </action>
+ </mousebind>
+ <mousebind button="Right" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="ShowMenu">
+ <menu>client-menu</menu>
+ </action>
+ </mousebind>
+ </context>
+ <context name="AllDesktops">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </mousebind>
+ <mousebind button="Left" action="Click">
+ <action name="ToggleOmnipresent"/>
+ </mousebind>
+ </context>
+ <context name="Shade">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ <mousebind button="Left" action="Click">
+ <action name="ToggleShade"/>
+ </mousebind>
+ </context>
+ <context name="Iconify">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ <mousebind button="Left" action="Click">
+ <action name="Iconify"/>
+ </mousebind>
+ </context>
+ <context name="Maximize">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </mousebind>
+ <mousebind button="Middle" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </mousebind>
+ <mousebind button="Right" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </mousebind>
+ <mousebind button="Left" action="Click">
+ <action name="ToggleMaximizeFull"/>
+ </mousebind>
+ <mousebind button="Middle" action="Click">
+ <action name="ToggleMaximizeVert"/>
+ </mousebind>
+ <mousebind button="Right" action="Click">
+ <action name="ToggleMaximizeHorz"/>
+ </mousebind>
+ </context>
+ <context name="Close">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </mousebind>
+ <mousebind button="Left" action="Click">
+ <action name="Close"/>
+ </mousebind>
+ </context>
+ <context name="Desktop">
+ <mousebind button="Up" action="Click">
+ <action name="DesktopPrevious"/>
+ </mousebind>
+ <mousebind button="Down" action="Click">
+ <action name="DesktopNext"/>
+ </mousebind>
+ <mousebind button="A-Up" action="Click">
+ <action name="DesktopPrevious"/>
+ </mousebind>
+ <mousebind button="A-Down" action="Click">
+ <action name="DesktopNext"/>
+ </mousebind>
+ <mousebind button="C-A-Up" action="Click">
+ <action name="DesktopPrevious"/>
+ </mousebind>
+ <mousebind button="C-A-Down" action="Click">
+ <action name="DesktopNext"/>
+ </mousebind>
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ <mousebind button="Right" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ </context>
+ <context name="Root">
+ <!-- Menus -->
+ <mousebind button="Middle" action="Press">
+ <action name="ShowMenu">
+ <menu>client-list-combined-menu</menu>
+ </action>
+ </mousebind>
+ <mousebind button="Right" action="Press">
+ <action name="ShowMenu">
+ <menu>root-menu</menu>
+ </action>
+ </mousebind>
+ </context>
+ <context name="MoveResize">
+ <mousebind button="Up" action="Click">
+ <action name="DesktopPrevious"/>
+ </mousebind>
+ <mousebind button="Down" action="Click">
+ <action name="DesktopNext"/>
+ </mousebind>
+ <mousebind button="A-Up" action="Click">
+ <action name="DesktopPrevious"/>
+ </mousebind>
+ <mousebind button="A-Down" action="Click">
+ <action name="DesktopNext"/>
+ </mousebind>
+ </context>
+ </mouse>
+ <menu>
+ <!-- You can specify more than one menu file in here and they are all loaded,
+ just don't make menu ids clash or, well, it'll be kind of pointless -->
+ <!-- default menu file (or custom one in $HOME/.config/openbox/) -->
+ <file>/usr/share/lxde/openbox/menu.xml</file>
+ <hideDelay>200</hideDelay>
+ <!-- if a press-release lasts longer than this setting (in milliseconds), the
+ menu is hidden again -->
+ <middle>no</middle>
+ <!-- center submenus vertically about the parent entry -->
+ <submenuShowDelay>100</submenuShowDelay>
+ <!-- this one is easy, time to delay before showing a submenu after hovering
+ over the parent entry -->
+ <applicationIcons>yes</applicationIcons>
+ <!-- controls if icons appear in the client-list-(combined-)menu -->
+ <manageDesktops>yes</manageDesktops>
+ <!-- show the manage desktops section in the client-list-(combined-)menu -->
+ </menu>
+ <applications>
+ <!--
+ # this is an example with comments through out. use these to make your
+ # own rules, but without the comments of course.
+
+ <application name="first element of window's WM_CLASS property (see xprop)"
+ class="second element of window's WM_CLASS property (see xprop)"
+ role="the window's WM_WINDOW_ROLE property (see xprop)">
+ # the name or the class can be set, or both. this is used to match
+ # windows when they appear. role can optionally be set as well, to
+ # further restrict your matches.
+
+ # the name, class, and role use simple wildcard matching such as those
+ # used by a shell. you can use * to match any characters and ? to match
+ # any single character.
+
+ # when multiple rules match a window, they will all be applied, in the
+ # order that they appear in this list
+
+
+ # each element can be left out or set to 'default' to specify to not
+ # change that attribute of the window
+
+ <decor>yes</decor>
+ # enable or disable window decorations
+
+ <shade>no</shade>
+ # make the window shaded when it appears, or not
+
+ <position>
+ # the position is only used if both an x and y coordinate are provided
+ # (and not set to 'default')
+ <x>center</x>
+ # a number like 50, or 'center' to center on screen. use a negative number
+ # to start from the right (or bottom for <y>), ie -50 is 50 pixels from the
+ # right edge (or bottom).
+ <y>200</y>
+ <monitor>1</monitor>
+ # specifies the monitor in a xinerama setup.
+ # 1 is the first head, or 'mouse' for wherever the mouse is
+ </position>
+
+ <focus>yes</focus>
+ # if the window should try be given focus when it appears. if this is set
+ # to yes it doesn't guarantee the window will be given focus. some
+ # restrictions may apply, but Openbox will try to
+
+ <desktop>1</desktop>
+ # 1 is the first desktop, 'all' for all desktops
+
+ <layer>normal</layer>
+ # 'above', 'normal', or 'below'
+
+ <iconic>no</iconic>
+ # make the window iconified when it appears, or not
+
+ <skip_pager>no</skip_pager>
+ # asks to not be shown in pagers
+
+ <skip_taskbar>no</skip_taskbar>
+ # asks to not be shown in taskbars. window cycling actions will also
+ # skip past such windows
+
+ <fullscreen>yes</fullscreen>
+ # make the window in fullscreen mode when it appears
+
+ <maximized>true</maximized>
+ # 'Horizontal', 'Vertical' or boolean (yes/no)
+ </application>
+
+ # end of the example
+-->
+ </applications>
+</openbox_config>
diff --git a/data/skel/.config/pcmanfm/LXDE/desktop-items-0.conf b/data/skel/.config/pcmanfm/LXDE/desktop-items-0.conf
new file mode 100644
index 000000000..6186fce88
--- /dev/null
+++ b/data/skel/.config/pcmanfm/LXDE/desktop-items-0.conf
@@ -0,0 +1,14 @@
+[*]
+wallpaper_mode=crop
+wallpaper_common=1
+wallpaper=/etc/wallpaper.png
+desktop_bg=#000000
+desktop_fg=#ffffff
+desktop_shadow=#000000
+desktop_font=Sans 12
+show_wm_menu=0
+sort=mtime;ascending;
+show_documents=0
+show_trash=1
+show_mounts=1
+
diff --git a/data/skel/mate/.config/pulse/82b0568e94d14a1ea892086635b342fc-card-database.tdb b/data/skel/.config/pulse/82b0568e94d14a1ea892086635b342fc-card-database.tdb
index 323f375d6..323f375d6 100644
--- a/data/skel/mate/.config/pulse/82b0568e94d14a1ea892086635b342fc-card-database.tdb
+++ b/data/skel/.config/pulse/82b0568e94d14a1ea892086635b342fc-card-database.tdb
Binary files differ
diff --git a/data/skel/mate/.config/pulse/82b0568e94d14a1ea892086635b342fc-default-sink b/data/skel/.config/pulse/82b0568e94d14a1ea892086635b342fc-default-sink
index 8b1378917..8b1378917 100644
--- a/data/skel/mate/.config/pulse/82b0568e94d14a1ea892086635b342fc-default-sink
+++ b/data/skel/.config/pulse/82b0568e94d14a1ea892086635b342fc-default-sink
diff --git a/data/skel/mate/.config/pulse/82b0568e94d14a1ea892086635b342fc-default-source b/data/skel/.config/pulse/82b0568e94d14a1ea892086635b342fc-default-source
index 8b1378917..8b1378917 100644
--- a/data/skel/mate/.config/pulse/82b0568e94d14a1ea892086635b342fc-default-source
+++ b/data/skel/.config/pulse/82b0568e94d14a1ea892086635b342fc-default-source
diff --git a/data/skel/mate/.config/pulse/82b0568e94d14a1ea892086635b342fc-device-volumes.tdb b/data/skel/.config/pulse/82b0568e94d14a1ea892086635b342fc-device-volumes.tdb
index ec6b6956c..ec6b6956c 100644
--- a/data/skel/mate/.config/pulse/82b0568e94d14a1ea892086635b342fc-device-volumes.tdb
+++ b/data/skel/.config/pulse/82b0568e94d14a1ea892086635b342fc-device-volumes.tdb
Binary files differ
diff --git a/data/skel/mate/.config/pulse/82b0568e94d14a1ea892086635b342fc-stream-volumes.tdb b/data/skel/.config/pulse/82b0568e94d14a1ea892086635b342fc-stream-volumes.tdb
index b768866fb..b768866fb 100644
--- a/data/skel/mate/.config/pulse/82b0568e94d14a1ea892086635b342fc-stream-volumes.tdb
+++ b/data/skel/.config/pulse/82b0568e94d14a1ea892086635b342fc-stream-volumes.tdb
Binary files differ
diff --git a/data/skel/mate/.config/pulse/cookie b/data/skel/.config/pulse/cookie
index 4170e4612..4170e4612 100644
--- a/data/skel/mate/.config/pulse/cookie
+++ b/data/skel/.config/pulse/cookie
Binary files differ
diff --git a/data/skel/mate/.config/volumeicon/volumeicon b/data/skel/.config/volumeicon/volumeicon
index 588b9dda4..588b9dda4 100644
--- a/data/skel/mate/.config/volumeicon/volumeicon
+++ b/data/skel/.config/volumeicon/volumeicon
diff --git a/data/skel/mate/.directory b/data/skel/.directory
index 07c52ff02..07c52ff02 100644
--- a/data/skel/mate/.directory
+++ b/data/skel/.directory
diff --git a/data/skel/mate/.dmrc b/data/skel/.dmrc
index 7083a13ef..7083a13ef 100644
--- a/data/skel/mate/.dmrc
+++ b/data/skel/.dmrc
diff --git a/data/skel/mate/.esd_auth b/data/skel/.esd_auth
index 619c476d7..619c476d7 100644
--- a/data/skel/mate/.esd_auth
+++ b/data/skel/.esd_auth
diff --git a/data/skel/mate/.local/share/keyrings/login.keyring b/data/skel/.local/share/keyrings/login.keyring
index 09e423571..09e423571 100644
--- a/data/skel/mate/.local/share/keyrings/login.keyring
+++ b/data/skel/.local/share/keyrings/login.keyring
Binary files differ
diff --git a/data/skel/mate/.local/share/keyrings/user.keystore b/data/skel/.local/share/keyrings/user.keystore
index 2d41c7f72..2d41c7f72 100644
--- a/data/skel/mate/.local/share/keyrings/user.keystore
+++ b/data/skel/.local/share/keyrings/user.keystore
Binary files differ
diff --git a/data/skel/mate/.local/share/recently-used.xbel b/data/skel/.local/share/recently-used.xbel
index 03854a71e..03854a71e 100644
--- a/data/skel/mate/.local/share/recently-used.xbel
+++ b/data/skel/.local/share/recently-used.xbel
diff --git a/data/skel/mate/.xsession-errors b/data/skel/.xsession-errors
index 3023b8a71..3023b8a71 100644
--- a/data/skel/mate/.xsession-errors
+++ b/data/skel/.xsession-errors
diff --git a/data/skel/mate/.zshrc b/data/skel/.zshrc
index 8695b4dbe..8695b4dbe 100644
--- a/data/skel/mate/.zshrc
+++ b/data/skel/.zshrc
diff --git a/data/skel/mate/CALAMARES-SKEL b/data/skel/CALAMARES-SKEL
index e69de29bb..e69de29bb 100644
--- a/data/skel/mate/CALAMARES-SKEL
+++ b/data/skel/CALAMARES-SKEL
diff --git a/mk b/mk
index a9470f630..a9470f630 100644..100755
--- a/mk
+++ b/mk
diff --git a/src/libcalamares/CMakeLists.txt b/src/libcalamares/CMakeLists.txt
index c90876934..30806c68b 100644
--- a/src/libcalamares/CMakeLists.txt
+++ b/src/libcalamares/CMakeLists.txt
@@ -115,3 +115,11 @@ install( FILES ${CMAKE_CURRENT_BINARY_DIR}/CalamaresConfig.h DESTINATION include
install( FILES ${rootHeaders} DESTINATION include/libcalamares )
install( FILES ${kdsingleapplicationguardHeaders} DESTINATION include/libcalamares/kdsingleapplicationguard )
install( FILES ${utilsHeaders} DESTINATION include/libcalamares/utils )
+
+# PacstrapCppJob
+install(
+ DIRECTORY
+ ${CMAKE_SOURCE_DIR}/data/skel/
+ DESTINATION
+ ${CMAKE_INSTALL_DATADIR}/calamares/skel/
+)
diff --git a/src/libcalamares/GlobalStorage.cpp b/src/libcalamares/GlobalStorage.cpp
index ea09dabcb..e8716c66d 100644
--- a/src/libcalamares/GlobalStorage.cpp
+++ b/src/libcalamares/GlobalStorage.cpp
@@ -169,7 +169,10 @@ GlobalStoragePythonWrapper::value( const std::string& key ) const
const QString GS::HAS_ISOREPO_KEY = "has-isorepo";
const QString GS::IS_ONLINE_KEY = "hasInternet";
-const QString GS::DESKTOP_PACKAGES_KEY = "default-desktop" ;
+const QString GS::INITSYSTEM_KEY = "default-initsystem" ;
+const QString GS::DESKTOP_KEY = "default-desktop" ;
+const QString GS::LOCALE_KEY = "localeConf";
+const QString GS::LANG_KEY = "LANG";
const QString GS::PARTITIONS_KEY = "partitions";
const QString GS::DEVICE_KEY = "device";
const QString GS::FS_KEY = "fs";
diff --git a/src/libcalamares/GlobalStorage.h b/src/libcalamares/GlobalStorage.h
index 7910e6873..bf42c1e6d 100644
--- a/src/libcalamares/GlobalStorage.h
+++ b/src/libcalamares/GlobalStorage.h
@@ -106,7 +106,10 @@ class GS
public:
static const QString HAS_ISOREPO_KEY;
static const QString IS_ONLINE_KEY;
- static const QString DESKTOP_PACKAGES_KEY;
+ static const QString INITSYSTEM_KEY;
+ static const QString DESKTOP_KEY;
+ static const QString LOCALE_KEY;
+ static const QString LANG_KEY;
static const QString PARTITIONS_KEY;
static const QString DEVICE_KEY;
static const QString FS_KEY;
diff --git a/src/libcalamares/PacstrapCppJob.cpp b/src/libcalamares/PacstrapCppJob.cpp
index 268baf2da..d1d6be080 100644
--- a/src/libcalamares/PacstrapCppJob.cpp
+++ b/src/libcalamares/PacstrapCppJob.cpp
@@ -30,31 +30,46 @@
const QString PacstrapCppJob::BASE_PACKAGES_KEY = "base" ;
const QString PacstrapCppJob::BOOTLODER_PACKAGES_KEY = "bootloader" ;
const QString PacstrapCppJob::KERNEL_PACKAGES_KEY = "kernel" ;
+const QString PacstrapCppJob::OPENRC_PACKAGES_KEY = "openrc" ;
+const QString PacstrapCppJob::SYSTEMD_PACKAGES_KEY = "systemd" ;
const QString PacstrapCppJob::APPLICATIONS_PACKAGES_KEY = "applications" ;
const QString PacstrapCppJob::MULTIMEDIA_PACKAGES_KEY = "multimedia" ;
const QString PacstrapCppJob::NETWORK_PACKAGES_KEY = "network" ;
const QString PacstrapCppJob::THEMES_PACKAGES_KEY = "themes" ;
const QString PacstrapCppJob::UTILITIES_PACKAGES_KEY = "utilities" ;
const QString PacstrapCppJob::XSERVER_PACKAGES_KEY = "x-server" ;
-const QString PacstrapCppJob::MATE_PACKAGES_KEY = "mate" ;
const QString PacstrapCppJob::LXDE_PACKAGES_KEY = "lxde" ;
+const QString PacstrapCppJob::MATE_PACKAGES_KEY = "mate" ;
/* PacstrapCppJob protected class constants */
-const QString PacstrapCppJob::MOUNTPOINT = "/tmp/pacstrap" ;
-const char* PacstrapCppJob::BASE_JOB_NAME = "Pacstrap Base C++ Job" ;
-const char* PacstrapCppJob::GUI_JOB_NAME = "Pacstrap Desktop C++ Job" ;
-const char* PacstrapCppJob::BASE_STATUS_MSG = "Installing root filesystem" ;
-const char* PacstrapCppJob::GUI_STATUS_MSG = "Installing graphical desktop environment" ;
-const qreal PacstrapCppJob::BASE_JOB_WEIGHT = 20.0 ; // progress-bar job weight (1.0 normal)
-const qreal PacstrapCppJob::GUI_JOB_WEIGHT = 57.0 ; // progress-bar job weight (1.0 normal)
-const qreal PacstrapCppJob::PACMAN_SYNC_PROPORTION = 0.05 ; // per task progress-bar proportion
-const qreal PacstrapCppJob::LIST_PACKAGES_PROPORTION = 0.05 ; // per task progress-bar proportion
-const qreal PacstrapCppJob::CHROOT_TASK_PROPORTION = 0.9 ; // per task progress-bar proportion
-const QString PacstrapCppJob::PACSTRAP_CLEANUP_CMD = QString("umount %1/dev/pts %1/dev/shm %1/dev %1/proc %1/run %1/sys %1/tmp %1").arg(MOUNTPOINT) ;
-const QString PacstrapCppJob::PACSTRAP_FMT = "pacstrap -C %1 %2 %3 --noprogressbar" ;
-const QString PacstrapCppJob::PACSTRAP_ERROR_MSG = "Failed to install packages in chroot." ;
+const QString PacstrapCppJob::MOUNTPOINT = "/tmp/pacstrap" ;
+const char* PacstrapCppJob::BASE_JOB_NAME = "Pacstrap Base C++ Job" ;
+const char* PacstrapCppJob::GUI_JOB_NAME = "Pacstrap Desktop C++ Job" ;
+const char* PacstrapCppJob::BASE_STATUS_MSG = "Installing root filesystem" ;
+const char* PacstrapCppJob::GUI_STATUS_MSG = "Installing graphical desktop environment" ;
+const qreal PacstrapCppJob::BASE_JOB_WEIGHT = 20.0 ; // progress-bar job weight (1.0 normal)
+const qreal PacstrapCppJob::GUI_JOB_WEIGHT = 57.0 ; // progress-bar job weight (1.0 normal)
+const qreal PacstrapCppJob::PACMAN_SYNC_PROPORTION = 0.05 ; // per task progress-bar proportion
+const qreal PacstrapCppJob::LIST_PACKAGES_PROPORTION = 0.05 ; // per task progress-bar proportion
+const qreal PacstrapCppJob::CHROOT_TASK_PROPORTION = 0.9 ; // per task progress-bar proportion
+const QString PacstrapCppJob::PACSTRAP_CLEANUP_CMD = QString("umount %1/dev/pts %1/dev/shm %1/dev %1/proc %1/run %1/sys %1/tmp %1 2> /dev/null").arg(MOUNTPOINT) ;
+const QString PacstrapCppJob::PACSTRAP_FMT = "pacstrap -C %1 %2 %3 --noprogressbar" ;
+const QString PacstrapCppJob::PACSTRAP_ERROR_MSG = "Failed to install packages in chroot." ;
+const QSTRINGMAP PacstrapCppJob::LANGUAGE_PACKS = { {"eo" , "iceweasel-l10n-eo" } ,
+ {"es_ES.UTF-8" , "icedove-l10n-es-es" } ,
+ {"es_ES.UTF-8" , "iceweasel-l10n-es-es" } ,
+ {"fr_FR.UTF-8" , "icedove-l10n-fr" } ,
+ {"fr_FR.UTF-8" , "iceweasel-l10n-fr" } ,
+ {"gl_ES.UTF-8" , "icedove-l10n-gl" } ,
+ {"gl_ES.UTF-8" , "iceweasel-l10n-gl" } ,
+ {"it_IT.UTF-8" , "icedove-l10n-it" } ,
+ {"it_IT.UTF-8" , "iceweasel-l10n-it" } ,
+ {"pt_BR.UTF-8" , "icedove-l10n-pt-br" } ,
+ {"pt_BR.UTF-8" , "iceweasel-l10n-pt-br" } ,
+ {"pl_PL.UTF-8" , "icedove-l10n-pl" } ,
+ {"pl_PL.UTF-8" , "iceweasel-l10n-pl" } } ;
/* PacstrapCppJob private class constants */
@@ -123,8 +138,12 @@ QString PacstrapCppJob::prettyStatusMessage() const { return thi
Calamares::JobResult PacstrapCppJob::exec()
{
+globalStorage->insert(GS::INITSYSTEM_KEY , SYSTEMD_PACKAGES_KEY) ; // TODO: per user option via globalStorage
+globalStorage->insert(GS::DESKTOP_KEY , LXDE_PACKAGES_KEY ) ; // TODO: per user option via globalStorage
+// globalStorage->insert(GS::DESKTOP_KEY , MATE_PACKAGES_KEY ) ; // TODO: per user option via globalStorage
+
// cleanup from possibly aborted previous runs
- QProcess::execute(SYSTEM_EXEC_FMT.arg(PACSTRAP_CLEANUP_CMD)) ;
+ Teardown() ;
QVariantList partitions = this->globalStorage->value(GS::PARTITIONS_KEY ).toList() ;
bool has_isorepo = this->globalStorage->value(GS::HAS_ISOREPO_KEY).toBool() ;
@@ -155,9 +174,14 @@ DEBUG_TRACE_EXEC
if (!this->packages.isEmpty())
{
- QString new_packages = execOutput(list_packages_cmd , LIST_PACKAGES_PROPORTION) ;
- this->nPreviousPackages = NPackagesInstalled() ;
- this->nPendingPackages = new_packages.count(QChar::LineFeed) ;
+ QVariantMap result = execWithProgress(list_packages_cmd , LIST_PACKAGES_PROPORTION) ;
+ int status = result.value(STATUS_KEY).toInt() ;
+ QString new_packages = result.value(STDOUT_KEY).toString() ;
+ QString stderr = result.value(STDERR_KEY).toString() ;
+ this->nPreviousPackages = NPackagesInstalled() ;
+ this->nPendingPackages = new_packages.count(QChar::LineFeed) ;
+
+ if (!!status) return JobError(stderr) ;
if (this->nPendingPackages > 0)
{
@@ -240,6 +264,8 @@ QString PacstrapCppJob::execError(QString command_line , qreal task_proportion)
/* PacstrapCppJob private class methods */
+void PacstrapCppJob::Teardown() { QProcess::execute(SYSTEM_EXEC_FMT.arg(PACSTRAP_CLEANUP_CMD)) ; }
+
QString PacstrapCppJob::FindTargetDevice(const QVariantList& partitions)
{
QString target_device = QString("") ;
@@ -271,6 +297,8 @@ qint16 PacstrapCppJob::NPackagesInstalled()
Calamares::JobResult PacstrapCppJob::JobError(QString error_msg)
{
+ Teardown() ;
+
return Calamares::JobResult::error(error_msg) ;
}
diff --git a/src/libcalamares/PacstrapCppJob.h b/src/libcalamares/PacstrapCppJob.h
index ca0d851ed..e41eb922c 100644
--- a/src/libcalamares/PacstrapCppJob.h
+++ b/src/libcalamares/PacstrapCppJob.h
@@ -19,6 +19,8 @@
#ifndef PACSTRAPCPPJOB_H
#define PACSTRAPCPPJOB_H
+#define QSTRINGMAP QMultiMap<QString , QString>
+
#include <QDir>
#include <QObject>
#include <QTimerEvent>
@@ -73,6 +75,7 @@ protected:
private:
+ static inline void Teardown () ;
static QString FindTargetDevice (const QVariantList& partitions) ;
static qint16 NPackagesInstalled() ;
static inline Calamares::JobResult JobError (QString error_msg) ;
@@ -89,31 +92,34 @@ public:
static const QString BASE_PACKAGES_KEY ;
static const QString BOOTLODER_PACKAGES_KEY ;
static const QString KERNEL_PACKAGES_KEY ;
+ static const QString OPENRC_PACKAGES_KEY ;
+ static const QString SYSTEMD_PACKAGES_KEY ;
static const QString APPLICATIONS_PACKAGES_KEY ;
static const QString MULTIMEDIA_PACKAGES_KEY ;
static const QString NETWORK_PACKAGES_KEY ;
static const QString THEMES_PACKAGES_KEY ;
static const QString UTILITIES_PACKAGES_KEY ;
static const QString XSERVER_PACKAGES_KEY ;
- static const QString MATE_PACKAGES_KEY ;
static const QString LXDE_PACKAGES_KEY ;
+ static const QString MATE_PACKAGES_KEY ;
protected:
- static const QString MOUNTPOINT ;
- static const char* BASE_JOB_NAME ;
- static const char* GUI_JOB_NAME ;
- static const char* BASE_STATUS_MSG ;
- static const char* GUI_STATUS_MSG ;
- static const qreal BASE_JOB_WEIGHT ;
- static const qreal GUI_JOB_WEIGHT ;
- static const qreal PACMAN_SYNC_PROPORTION ;
- static const qreal LIST_PACKAGES_PROPORTION ;
- static const qreal CHROOT_TASK_PROPORTION ;
- static const QString PACSTRAP_CLEANUP_CMD ;
- static const QString PACSTRAP_FMT ;
- static const QString PACSTRAP_ERROR_MSG ;
+ static const QString MOUNTPOINT ;
+ static const char* BASE_JOB_NAME ;
+ static const char* GUI_JOB_NAME ;
+ static const char* BASE_STATUS_MSG ;
+ static const char* GUI_STATUS_MSG ;
+ static const qreal BASE_JOB_WEIGHT ;
+ static const qreal GUI_JOB_WEIGHT ;
+ static const qreal PACMAN_SYNC_PROPORTION ;
+ static const qreal LIST_PACKAGES_PROPORTION ;
+ static const qreal CHROOT_TASK_PROPORTION ;
+ static const QString PACSTRAP_CLEANUP_CMD ;
+ static const QString PACSTRAP_FMT ;
+ static const QString PACSTRAP_ERROR_MSG ;
+ static const QSTRINGMAP LANGUAGE_PACKS ;
private:
@@ -177,10 +183,18 @@ private:
" completion_percent=" << completion_percent ;
#ifndef QT_NO_DEBUG
-# define DEBUG_TRACE_DESKTOPPACKAGES \
- printf("[PACSTRAP-GUI]: installing default_desktop: %s\n" , \
- globalStorage->value(GS::DESKTOP_PACKAGES_KEY).toString().toStdString().c_str()) ;
+# define DEBUG_TRACE_BASEPACKAGES \
+ printf("[PACSTRAP-GUI]: installing initsystem: %s\n" , \
+ init_key.toStdString().c_str() ) ;
+# define DEBUG_TRACE_DESKTOPPACKAGES \
+ printf("[PACSTRAP-GUI]: installing initsystem: %s default_desktop: %s" , \
+ init_key .toStdString().c_str() , \
+ desktop_key.toStdString().c_str() ) ; \
+ printf("language_packs: %s for locale: %s\n" , \
+ language_packs.join(' ').toStdString().c_str() , \
+ locale .toStdString().c_str() ) ;
#else // QT_NO_DEBUG
+# define DEBUG_TRACE_BASEPACKAGES ;
# define DEBUG_TRACE_DESKTOPPACKAGES ;
#endif // QT_NO_DEBUG
diff --git a/src/modules/locale/LocalePage.cpp b/src/modules/locale/LocalePage.cpp
index 2172586ff..8d3d458da 100644
--- a/src/modules/locale/LocalePage.cpp
+++ b/src/modules/locale/LocalePage.cpp
@@ -450,13 +450,16 @@ LocaleConfiguration
LocalePage::guessLocaleConfiguration() const
{
QLocale myLocale; // User-selected language
-
+cLog() << "LocalePage::guessLocaleConfiguration() m_localeGenLines.isEmpty()=" << m_localeGenLines.isEmpty() ;
// If we cannot say anything about available locales
if ( m_localeGenLines.isEmpty() )
{
cDebug() << "WARNING: guessLocaleConfiguration can't guess from an empty list.";
return LocaleConfiguration::createDefault();
}
+cLog() << "LocalePage::guessLocaleConfiguration() myLocale.name()=" << myLocale.name() ;
+if ( myLocale.name().isEmpty() ) cLog() << "LocalePage::guessLocaleConfiguration() returing default" ;
+else cLog() << "LocalePage::guessLocaleConfiguration() returing fromLanguageAndLocation()" ;
QString myLanguageLocale = myLocale.name();
if ( myLanguageLocale.isEmpty() )
diff --git a/src/modules/localecfg/main.py b/src/modules/localecfg/main.py
index 5a3618fd8..b850a7392 100644
--- a/src/modules/localecfg/main.py
+++ b/src/modules/localecfg/main.py
@@ -62,8 +62,6 @@ def run():
# we want unique values, so locale_values should have 1 or 2 items
locale_values = set(locale_conf.values())
- print("locale_values=" + locale_values)
-
with open("{!s}/etc/locale.gen".format(install_path), "w") as gen:
for line in text:
# always enable en_US
diff --git a/src/modules/pacstrap-base/CMakeLists.txt b/src/modules/pacstrap-base/CMakeLists.txt
index 366fc0d4b..c8e7b64ee 100644
--- a/src/modules/pacstrap-base/CMakeLists.txt
+++ b/src/modules/pacstrap-base/CMakeLists.txt
@@ -7,10 +7,3 @@ calamares_add_plugin( pacstrap-base
calamares
SHARED_LIB
)
-
-install(
- DIRECTORY
- ${CMAKE_SOURCE_DIR}/data/skel/
- DESTINATION
- ${CMAKE_INSTALL_DATADIR}/calamares/skel/
-)
diff --git a/src/modules/pacstrap-base/pacstrap-base.conf b/src/modules/pacstrap-base/pacstrap-base.conf
index 444741bab..433cbeb83 100644
--- a/src/modules/pacstrap-base/pacstrap-base.conf
+++ b/src/modules/pacstrap-base/pacstrap-base.conf
@@ -7,3 +7,25 @@ bootloader:
kernel:
- "linux-libre"
+
+openrc:
+ - "gpm-openrc"
+ - "haveged-openrc"
+ - "hdparm-openrc"
+ - "networkmanager-openrc"
+ - "ntp-openrc"
+ - "openssh-openrc"
+ - "openvpn-openrc"
+ - "rsync-openrc"
+ - "wpa_supplicant-openrc"
+
+systemd:
+ - "gpm"
+ - "haveged"
+ - "hdparm"
+ - "networkmanager"
+ - "ntp"
+ - "openssh"
+ - "openvpn"
+ - "rsync"
+ - "wpa_supplicant"
diff --git a/src/modules/pacstrap-base/pacstrap-base.cpp b/src/modules/pacstrap-base/pacstrap-base.cpp
index b998c41f7..d72500f39 100644
--- a/src/modules/pacstrap-base/pacstrap-base.cpp
+++ b/src/modules/pacstrap-base/pacstrap-base.cpp
@@ -34,9 +34,12 @@ PacstrapBaseJob::PacstrapBaseJob(QObject* parent) : PacstrapCppJob(tr(BASE_JOB_N
QString PacstrapBaseJob::getPackageList()
{
+ QString init_key = this->globalStorage->value(GS::INITSYSTEM_KEY).toString() ;
+
return (this->localStorage.value(BASE_PACKAGES_KEY ).toStringList() +
this->localStorage.value(BOOTLODER_PACKAGES_KEY).toStringList() +
- this->localStorage.value(KERNEL_PACKAGES_KEY ).toStringList() ).join(' ') ;
+ this->localStorage.value(KERNEL_PACKAGES_KEY ).toStringList() +
+ this->localStorage.value(init_key ).toStringList() ).join(' ') ;
}
diff --git a/src/modules/pacstrap-gui/pacstrap-gui.conf b/src/modules/pacstrap-gui/pacstrap-gui.conf
index 60018a766..13b5b99ce 100644
--- a/src/modules/pacstrap-gui/pacstrap-gui.conf
+++ b/src/modules/pacstrap-gui/pacstrap-gui.conf
@@ -1,7 +1,8 @@
---
applications:
- "abiword"
- - "epdfview"
+ - "gnumeric"
+ - "gparted"
- "icedove"
- "iceweasel"
- "leafpad"
@@ -13,7 +14,6 @@ applications:
- "qtox"
- "ring-client-gnome"
- "smplayer"
- - "xarchiver"
multimedia:
- "alsa-utils"
@@ -22,7 +22,8 @@ multimedia:
- "pulseaudio-alsa"
network:
- - "networkmanager"
+ - "gnome-keyring"
+ - "network-manager-applet"
themes:
- "grub2-theme-gnuaxiom"
@@ -46,12 +47,29 @@ x-server:
mate:
- "galculator-gtk2"
- - "gnome-keyring"
- - "gnumeric"
- - "gparted"
- "gpicview"
- "lightdm-gtk-greeter-settings"
- "mate"
- "mate-extra"
- "network-manager-applet"
- "volumeicon"
+ - "xarchiver"
+
+lxde:
+ - "epdfview"
+ - "galculator-gtk2"
+ - "gksu"
+ - "gnome-screenshot"
+ - "lxde"
+ - "obconf"
+ - "xarchiver"
+ - "xscreensaver"
+
+openrc:
+ - "gvfs-mtp"
+ - "gvfs-gphoto2"
+ - "networkmanager-elogind"
+ - "openrc-desktop"
+ - "polkit-elogind"
+
+systemd:
diff --git a/src/modules/pacstrap-gui/pacstrap-gui.cpp b/src/modules/pacstrap-gui/pacstrap-gui.cpp
index a21d3a022..c0c20fdaa 100644
--- a/src/modules/pacstrap-gui/pacstrap-gui.cpp
+++ b/src/modules/pacstrap-gui/pacstrap-gui.cpp
@@ -34,10 +34,13 @@ PacstrapGuiJob::PacstrapGuiJob(QObject* parent) : PacstrapCppJob(tr(GUI_JOB_NAME
QString PacstrapGuiJob::getPackageList()
{
-globalStorage->insert(GS::DESKTOP_PACKAGES_KEY , MATE_PACKAGES_KEY) ; // TODO: per user option via globalStorage
-DEBUG_TRACE_DESKTOPPACKAGES
+ QString init_key = this->globalStorage->value(GS::INITSYSTEM_KEY).toString() ;
+ QString desktop_key = this->globalStorage->value(GS::DESKTOP_KEY ).toString() ;
+ QString locale = this->globalStorage->value(GS::LOCALE_KEY ).toMap()
+ .value(GS::LANG_KEY ).toString() ;
+ QStringList language_packs = LANGUAGE_PACKS.values(locale) ;
- QString desktop = this->globalStorage->value(GS::DESKTOP_PACKAGES_KEY).toString() ;
+DEBUG_TRACE_DESKTOPPACKAGES
return (this->localStorage.value(APPLICATIONS_PACKAGES_KEY).toStringList() +
this->localStorage.value(MULTIMEDIA_PACKAGES_KEY ).toStringList() +
@@ -45,7 +48,9 @@ DEBUG_TRACE_DESKTOPPACKAGES
this->localStorage.value(THEMES_PACKAGES_KEY ).toStringList() +
this->localStorage.value(UTILITIES_PACKAGES_KEY ).toStringList() +
this->localStorage.value(XSERVER_PACKAGES_KEY ).toStringList() +
- this->localStorage.value(desktop ).toStringList() ).join(' ') ;
+ this->localStorage.value(init_key ).toStringList() +
+ this->localStorage.value(desktop_key ).toStringList() +
+ language_packs ).join(' ') ;
}
diff --git a/src/modules/services/main.py b/src/modules/services/main.py
index 03d82554a..55f4d1695 100644
--- a/src/modules/services/main.py
+++ b/src/modules/services/main.py
@@ -24,6 +24,8 @@ import libcalamares
def run():
+ setServices()
+
"""
Setup systemd services
"""
@@ -99,3 +101,15 @@ def run():
)
return None
+
+
+def setServices():
+ #init_key = libcalamares.globalstorage.value(GS::INITSYSTEM_KEY)
+ #desktop_key = libcalamares.globalstorage.value(GS::DESKTOP_KEY )
+ init_key = libcalamares.globalstorage.value('default-initsystem') # TODO:
+ desktop_key = libcalamares.globalstorage.value('default-desktop' ) # TODO:
+ config = libcalamares.job.configuration
+ config['services'] = config[init_key + '-services'] + \
+ config[desktop_key + '-services']
+ config['targets' ] = config[init_key + '-targets' ]
+ config['disable' ] = config[init_key + '-disable' ]
diff --git a/src/modules/services/services.conf b/src/modules/services/services.conf
index b044b297f..483ab8129 100644
--- a/src/modules/services/services.conf
+++ b/src/modules/services/services.conf
@@ -1,20 +1,30 @@
---
#systemd services and targets are enabled in this precise order
-services:
+services: [] # deferred
+targets: [] # deferred
+disable: [] # deferred
+
+systemd-services:
- name: "NetworkManager" #name of the service file
mandatory: false #true=> if enabling fails the installer errors out and quits
#false=>if enabling fails print warning to console and continue
- name: "cups"
mandatory: false
+
+lxde-services:
+ - name: "lxdm"
+ mandatory: true
+
+mate-services:
- name: "lightdm"
mandatory: true
-targets:
+systemd-targets:
- name: "graphical"
mandatory: true
-disable:
+systemd-disable:
- name: "pacman-init"
mandatory: false
diff --git a/src/modules/users/CreateUserJob.cpp b/src/modules/users/CreateUserJob.cpp
index 9872dbaf9..3e18fde64 100644
--- a/src/modules/users/CreateUserJob.cpp
+++ b/src/modules/users/CreateUserJob.cpp
@@ -193,9 +193,15 @@ cDebug() << QString("[CREATEUSER]: CreateUserJob::exec() ls -l %1").arg(sudoersF
cDebug() << QString("[CREATEUSER]: CreateUserJob::exec() ls -al /etc/skel - source ");
QProcess::execute( QString( "/bin/sh -c \"ls -al /etc/skel /etc/skel/.config\"" ) );
cDebug() << QString("[CREATEUSER]: CreateUserJob::exec() ls -al /etc/skel - target");
- CalamaresUtils::System::instance()->targetEnvCall( { "ls","-a","-l","/etc/skel/","/etc/skel/.config" } );
+ CalamaresUtils::System::instance()->targetEnvCall( { "ls","-a","-l","/etc/skel/" } );
+// Finished. Exit code: 2
+ CalamaresUtils::System::instance()->targetEnvCall( { "ls","-a","-l","/etc/skel/.config" } );
+// Finished. Exit code: 2
cDebug() << QString("[CREATEUSER]: CreateUserJob::exec() ls -al /home/%1/ - target").arg(m_userName);
- CalamaresUtils::System::instance()->targetEnvCall( { "ls","-a","-l",QString("/home/%1/").arg(m_userName),QString("/home/%1/.config").arg(m_userName) } );
+ CalamaresUtils::System::instance()->targetEnvCall( { "ls","-a","-l",QString("/home/%1/" ).arg(m_userName) } );
+// Finished. Exit code: 2
+ CalamaresUtils::System::instance()->targetEnvCall( { "ls","-a","-l",QString("/home/%1/.config").arg(m_userName) } );
+// Finished. Exit code: 2
ec = CalamaresUtils::System::instance()->
@@ -226,7 +232,8 @@ cDebug() << QString("[CREATEUSER]: CreateUserJob::exec() ls -al /home/%1/ - targ
/* parabola-specific configuration */
// Calamares::GlobalStorage* globalStorage = Calamares::JobQueue::instance()->globalStorage();
- QString default_desktop = gs->value(GS::DESKTOP_PACKAGES_KEY).toString();
+ QString default_desktop = gs->value(GS::DESKTOP_KEY).toString() ;
+ QString locale = gs->value(GS::LOCALE_KEY).toMap().value(GS::LANG_KEY).toString() ;
/*
if [ -x /usr/bin/setxkbmap ]; then
echo "setxkbmap $(cat /.codecheck | grep XKBMAP= | cut -d '=' -f 2)" >> /home/${user#*=}/.bashrc
@@ -260,24 +267,30 @@ cDebug() << QString("[CREATEUSER]: CreateUserJob::exec() ls -al /home/%1/ - targ
gsettingsCmd += QString( "gsettings set org.mate.background picture-filename '/etc/wallpaper.png'" );
sys->targetEnvCall({ "sh" , "-c" , userCmd + gsettingsCmd }) ;
*/
-
-const QString SKELS_DIR = "/usr/share/calamares/skel" ;
-
- QString skel_dir = QString("%1/%2" ).arg(SKELS_DIR , default_desktop) ;
- QString chroot_home_dir = QString("%1/home/%2").arg(destDir.absolutePath() , m_userName) ;
- QString skel_cmd = QString("cp -rT %1/ %2/").arg(skel_dir , chroot_home_dir) ;
-// QString chown_root_cmd = QString("chown root:root /home/") ;
- QString chown_user_cmd = QString("chown -R %1:%1 /home/%1/").arg(m_userName) ;
-
-sys->targetEnvCall({ "sh" , "-c" , QString("echo '[CREATEUSER]: sys->targetEnvCall'") }) ;
-cDebug() << QString("[CREATEUSER]: ls -al chroot/home/user/ IN") ; sys->targetEnvCall({ "sh" , "-c" , QString("ls -al %1").arg(chroot_home_dir) }) ;
- QProcess::execute(QString("/bin/sh -c \"%1\"").arg(skel_cmd)) ;
-cDebug() << QString("[CREATEUSER]: ls -al chroot/home/user/ MID1") ; sys->targetEnvCall({ "sh" , "-c" , QString("ls -al %1").arg(chroot_home_dir) }) ;
-// sys->targetEnvCall({ "sh" , "-c" , chown_root_cmd }) ;
-cDebug() << QString("[CREATEUSER]: ls -al chroot/home/user/ MID2") ; sys->targetEnvCall({ "sh" , "-c" , QString("ls -al %1").arg(chroot_home_dir) }) ;
- sys->targetEnvCall({ "sh" , "-c" , chown_user_cmd }) ;
-cDebug() << QString("[CREATEUSER]: ls -al chroot/home/user/ OUT") ; sys->targetEnvCall({ "sh" , "-c" , QString("ls -al %1").arg(chroot_home_dir) }) ;
}
+const QString SKEL_DIR = "/usr/share/calamares/skel" ;
+
+ QString chroot_home_dir = QString("%1/home/%2").arg(destDir.absolutePath() , m_userName) ;
+ QString skel_cmd = QString("cp -rT %1/ %2/").arg(SKEL_DIR , chroot_home_dir) ;
+ QString set_lang_cmd = QString("echo \"export LANG=%1\" >> /home/%2/.bashrc").arg(locale , m_userName) ;
+// QString chown_root_cmd = QString("chown root:root /home/") ;
+ QString chown_user_cmd = QString("chown -R %1:%1 /home/%1/").arg(m_userName) ;
+
+cDebug() << QString("[CREATEUSER]: ls -al chroot/home/user/ IN") ; sys->targetEnvCall({ "sh" , "-c" , QString("ls -al /home/%1/").arg(m_userName) }) ;
+// Finished. Exit code: 2
+ QProcess::execute(QString("/bin/sh -c \"%1\"").arg(skel_cmd)) ;
+cDebug() << QString("[CREATEUSER]: locale=%1").arg(locale) ;
+ sys->targetEnvCall({ "sh" , "-c" , set_lang_cmd }) ;
+cDebug() << QString("[CREATEUSER]: ls -al chroot/home/user/ MID1") ; sys->targetEnvCall({ "sh" , "-c" , QString("ls -al /home/%1/").arg(m_userName) }) ;
+// Finished. Exit code: 2
+// sys->targetEnvCall({ "sh" , "-c" , chown_root_cmd }) ;
+cDebug() << QString("[CREATEUSER]: ls -al chroot/home/user/ MID2") ; sys->targetEnvCall({ "sh" , "-c" , QString("ls -al /home/%1/").arg(m_userName) }) ;
+// Finished. Exit code: 2
+ sys->targetEnvCall({ "sh" , "-c" , chown_user_cmd }) ;
+cDebug() << QString("[CREATEUSER]: ls -al chroot/home/user/ OUT") ; sys->targetEnvCall({ "sh" , "-c" , QString("ls -al /home/%1/").arg(m_userName) }) ;
+// Finished. Exit code: 2
+
+
return Calamares::JobResult::ok();
}