<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guix/gnu/installer/newt/keymap.scm, branch master</title>
<subtitle>Transactional package manager, declarative GNU/Linux distribution, reproducible deployment tool, and more! https://guix.gnu.org</subtitle>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/'/>
<entry>
<title>installer: Add dry-run?</title>
<updated>2024-11-11T06:28:35+00:00</updated>
<author>
<name>Janneke Nieuwenhuizen</name>
<email>janneke@gnu.org</email>
</author>
<published>2024-10-15T21:27:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=9aeb8e3dee32254a19a68971f26e214c7b717e5b'/>
<id>9aeb8e3dee32254a19a68971f26e214c7b717e5b</id>
<content type='text'>
This allows running the installer without root privileges.  Do something like

    ./pre-inst-env guix repl
    ,use (guix)
    ,use (gnu installer)
    (installer-program #:dry-run? #t)
    ,build $1
    =&gt;
    "/gnu/store/...-installer-program"

and run

    /gnu/store/...-installer-program

* gnu/installer/newt.scm (locale-page): Add #:dry-run? parameter.
(keymap-page): Likewise.
* gnu/installer/newt/keymap.scm (run-keymap-page): Likewise.
* gnu/installer/steps.scm (run-installer-steps): Likewise.  Use it to skip
writing to socket.
* gnu/installer/newt/final.scm (run-final-page): Rename to...
(run-final-page-install): ...this.
(dry-run-final-page, run-final-page): New procedures.
* gnu/installer/parted.scm (bootloader-configuration): Cater for empty user
partitions.
* gnu/installer/utils.scm (dry-run-command): New procedure.
* gnu/installer.scm (compute-locale-step): Add #:dry-run? parameter.  Use it
to avoid actually applying locale.
(compute-keymap-step): Add dry-run? parameter.  Pass it to
keymap-page.
(installer-program): Add #:dry-run? parameter.  If #:true
avoid writing to /proc, use dry-run-command, skip sync and reboot, and pass
dry-run? to...
(installer-steps): ...here.  Add #:dry-run? parameter.  Use it to disable
skip network, substitutes, partitioning pages, and pass it to...
compute-locale-step, compute-keymap-step, and final-page.

Change-Id: I0ff4c3b0a0c69539af617c27ba37654beed44619
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows running the installer without root privileges.  Do something like

    ./pre-inst-env guix repl
    ,use (guix)
    ,use (gnu installer)
    (installer-program #:dry-run? #t)
    ,build $1
    =&gt;
    "/gnu/store/...-installer-program"

and run

    /gnu/store/...-installer-program

* gnu/installer/newt.scm (locale-page): Add #:dry-run? parameter.
(keymap-page): Likewise.
* gnu/installer/newt/keymap.scm (run-keymap-page): Likewise.
* gnu/installer/steps.scm (run-installer-steps): Likewise.  Use it to skip
writing to socket.
* gnu/installer/newt/final.scm (run-final-page): Rename to...
(run-final-page-install): ...this.
(dry-run-final-page, run-final-page): New procedures.
* gnu/installer/parted.scm (bootloader-configuration): Cater for empty user
partitions.
* gnu/installer/utils.scm (dry-run-command): New procedure.
* gnu/installer.scm (compute-locale-step): Add #:dry-run? parameter.  Use it
to avoid actually applying locale.
(compute-keymap-step): Add dry-run? parameter.  Pass it to
keymap-page.
(installer-program): Add #:dry-run? parameter.  If #:true
avoid writing to /proc, use dry-run-command, skip sync and reboot, and pass
dry-run? to...
(installer-steps): ...here.  Add #:dry-run? parameter.  Use it to disable
skip network, substitutes, partitioning pages, and pass it to...
compute-locale-step, compute-keymap-step, and final-page.

Change-Id: I0ff4c3b0a0c69539af617c27ba37654beed44619
</pre>
</div>
</content>
</entry>
<entry>
<title>installer: Remove unused (newt) imports.</title>
<updated>2024-11-11T06:28:34+00:00</updated>
<author>
<name>Janneke Nieuwenhuizen</name>
<email>janneke@gnu.org</email>
</author>
<published>2024-10-20T09:03:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=f7aa7acc22989e7ebd5d2ba7b4814ce57c93c86a'/>
<id>f7aa7acc22989e7ebd5d2ba7b4814ce57c93c86a</id>
<content type='text'>
* gnu/installer/newt/ethernet.scm,
gnu/installer/newt/keymap.scm,
gnu/installer/newt/locale.scm,
gnu/installer/newt/parameters.scm,
gnu/installer/newt/services.scm: Remove (newt).

Change-Id: Ia6624aaf73491024da54b8ffee7358941b187fdf
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gnu/installer/newt/ethernet.scm,
gnu/installer/newt/keymap.scm,
gnu/installer/newt/locale.scm,
gnu/installer/newt/parameters.scm,
gnu/installer/newt/services.scm: Remove (newt).

Change-Id: Ia6624aaf73491024da54b8ffee7358941b187fdf
</pre>
</div>
</content>
</entry>
<entry>
<title>installer: Use named prompt to abort or break installer steps.</title>
<updated>2022-02-02T15:46:44+00:00</updated>
<author>
<name>Josselin Poiret</name>
<email>dev@jpoiret.xyz</email>
</author>
<published>2022-01-15T13:50:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=726d0bd2f36363392ba2fcefd6e5d4aeed27dc9e'/>
<id>726d0bd2f36363392ba2fcefd6e5d4aeed27dc9e</id>
<content type='text'>
* gnu/installer/steps.scm (run-installer-steps): Set up
'installer-step prompt.
* gnu/installer/newt/ethernet.scm (run-ethernet-page)
* gnu/installer/newt/final.scm (run-config-display-page,
run-install-failed-page)
* gnu/installer/newt/keymap.scm (run-layout-page, run-variant-page)
* gnu/installer/newt/locale.scm (run-language-page,
run-territory-page, run-codeset-page, run-modifier-page,
run-locale-page)
* gnu/installer/newt/network.scm (run-technology-page,
wait-service-online)
* gnu/installer/newt/page.scm (run-listbox-selection-page,
run-checkbox-tree-page)
* gnu/installer/newt/partition.scm (button-exit-action)
* gnu/installer/newt/services.scm (run-desktop-environments-cbt-page,
run-networking-cbt-page, run-other-services-cbt-page,
run-network-management-page)
* gnu/installer/newt/timezone.scm (run-timezone-page)
* gnu/installer/newt/user.scm (run-user-page)
* gnu/installer/newt/welcome.scm (run-menu-page)
* gnu/installer/newt/wifi.scm (run-wifi-page): Use the 'installer-step
prompt to abort.

Signed-off-by: Mathieu Othacehe &lt;othacehe@gnu.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gnu/installer/steps.scm (run-installer-steps): Set up
'installer-step prompt.
* gnu/installer/newt/ethernet.scm (run-ethernet-page)
* gnu/installer/newt/final.scm (run-config-display-page,
run-install-failed-page)
* gnu/installer/newt/keymap.scm (run-layout-page, run-variant-page)
* gnu/installer/newt/locale.scm (run-language-page,
run-territory-page, run-codeset-page, run-modifier-page,
run-locale-page)
* gnu/installer/newt/network.scm (run-technology-page,
wait-service-online)
* gnu/installer/newt/page.scm (run-listbox-selection-page,
run-checkbox-tree-page)
* gnu/installer/newt/partition.scm (button-exit-action)
* gnu/installer/newt/services.scm (run-desktop-environments-cbt-page,
run-networking-cbt-page, run-other-services-cbt-page,
run-network-management-page)
* gnu/installer/newt/timezone.scm (run-timezone-page)
* gnu/installer/newt/user.scm (run-user-page)
* gnu/installer/newt/welcome.scm (run-menu-page)
* gnu/installer/newt/wifi.scm (run-wifi-page): Use the 'installer-step
prompt to abort.

Signed-off-by: Mathieu Othacehe &lt;othacehe@gnu.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>installer: Fix crash in parameters menu.</title>
<updated>2021-01-12T15:40:27+00:00</updated>
<author>
<name>Mathieu Othacehe</name>
<email>othacehe@gnu.org</email>
</author>
<published>2021-01-12T15:26:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=bb4e67415eb6d9871ee1b50b0a01e08c19f4809a'/>
<id>bb4e67415eb6d9871ee1b50b0a01e08c19f4809a</id>
<content type='text'>
Fixes: &lt;https://issues.guix.gnu.org/45378&gt;.

* gnu/installer/newt/keymap.scm (run-layout-page): Return false when
"Continue" button is pressed.
(run-keymap-page): Do not try to compute variants if layout is false. Also do
not try to format the result if layout is false.
* gnu/installer.scm (compute-keymap-step): Do not apply keymap if
"run-keymap-page" returns false.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes: &lt;https://issues.guix.gnu.org/45378&gt;.

* gnu/installer/newt/keymap.scm (run-layout-page): Return false when
"Continue" button is pressed.
(run-keymap-page): Do not try to compute variants if layout is false. Also do
not try to format the result if layout is false.
* gnu/installer.scm (compute-keymap-step): Do not apply keymap if
"run-keymap-page" returns false.
</pre>
</div>
</content>
</entry>
<entry>
<title>installer: Include empty variant in keyboard layout selection.</title>
<updated>2020-04-09T03:45:22+00:00</updated>
<author>
<name>Florian Pelz</name>
<email>pelzflorian@pelzflorian.de</email>
</author>
<published>2020-04-09T00:38:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=7bc71025ccd0fabd739803889825e10341fbabdf'/>
<id>7bc71025ccd0fabd739803889825e10341fbabdf</id>
<content type='text'>
Previously for Azerbaijani, no Latin layout but only the Cyrillic variant
could be selected.

* gnu/installer/newt/keymap.scm (add-empty-variant): New procedure.
(run-keymap-page): Use it to insert an empty variant.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously for Azerbaijani, no Latin layout but only the Cyrillic variant
could be selected.

* gnu/installer/newt/keymap.scm (add-empty-variant): New procedure.
(run-keymap-page): Use it to insert an empty variant.
</pre>
</div>
</content>
</entry>
<entry>
<title>installer: Allow Alt+Shift toggle from non-Latin keyboard layouts.</title>
<updated>2020-04-09T02:42:54+00:00</updated>
<author>
<name>Florian Pelz</name>
<email>pelzflorian@pelzflorian.de</email>
</author>
<published>2020-04-09T00:17:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=91c231a2223440081426929828a23c7baa0214fd'/>
<id>91c231a2223440081426929828a23c7baa0214fd</id>
<content type='text'>
Fixes &lt;https://bugs.gnu.org/40493&gt;.

* gnu/installer/newt/keymap.scm (%non-latin-layouts): New variable.
(%non-latin-variants): New variable.
(%latin-layout+variants): New variable.
(toggleable-latin-layout): New procedure to compute combined layouts.
(run-keymap-page): Use it.
(keyboard-layout-&gt;configuration): Apply it in config.scm.
(run-layout-page): Mention Alt+Shift.
* gnu/installer/keymap.scm (kmscon-update-keymap): Pass on XKB options.
* gnu/installer/record.scm (&lt;installer&gt;): Adjust code comments.
* gnu/installer.scm (apply-keymap): Pass on XKB options.
(installer-steps): Adjust code comments.
* gnu/packages/patches/kmscon-runtime-keymap-switch.patch: Apply XKB options.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes &lt;https://bugs.gnu.org/40493&gt;.

* gnu/installer/newt/keymap.scm (%non-latin-layouts): New variable.
(%non-latin-variants): New variable.
(%latin-layout+variants): New variable.
(toggleable-latin-layout): New procedure to compute combined layouts.
(run-keymap-page): Use it.
(keyboard-layout-&gt;configuration): Apply it in config.scm.
(run-layout-page): Mention Alt+Shift.
* gnu/installer/keymap.scm (kmscon-update-keymap): Pass on XKB options.
* gnu/installer/record.scm (&lt;installer&gt;): Adjust code comments.
* gnu/installer.scm (apply-keymap): Pass on XKB options.
(installer-steps): Adjust code comments.
* gnu/packages/patches/kmscon-runtime-keymap-switch.patch: Apply XKB options.
</pre>
</div>
</content>
</entry>
<entry>
<title>installer: Turn help menu into parameters menu.</title>
<updated>2020-04-08T08:24:02+00:00</updated>
<author>
<name>Mathieu Othacehe</name>
<email>m.othacehe@gmail.com</email>
</author>
<published>2020-04-08T08:16:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=07a53bd512530d8f87e076263227216c467727bb'/>
<id>07a53bd512530d8f87e076263227216c467727bb</id>
<content type='text'>
* gnu/local.mk (INSTALLER_MODULES): Rename help.scm into parameters.scm.
* po/guix/POTFILES.in: Ditto.
* gnu/installer/record.scm (&lt;installer&gt;): Rename help-menu into parameter-menu
and help-page into parameters-page.
* gnu/installer/newt/parameters.scm: Renamed from help.scm. Update information
messages.
* gnu/installer/newt.scm: Update accordingly.
* gnu/installer/newt/keymap.scm: Ditto.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gnu/local.mk (INSTALLER_MODULES): Rename help.scm into parameters.scm.
* po/guix/POTFILES.in: Ditto.
* gnu/installer/record.scm (&lt;installer&gt;): Rename help-menu into parameter-menu
and help-page into parameters-page.
* gnu/installer/newt/parameters.scm: Renamed from help.scm. Update information
messages.
* gnu/installer/newt.scm: Update accordingly.
* gnu/installer/newt/keymap.scm: Ditto.
</pre>
</div>
</content>
</entry>
<entry>
<title>installer: Add a help page.</title>
<updated>2020-04-06T13:06:03+00:00</updated>
<author>
<name>Mathieu Othacehe</name>
<email>m.othacehe@gmail.com</email>
</author>
<published>2020-03-30T10:24:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=786c9c39bc0826737e99f0c750ea30033cdbc202'/>
<id>786c9c39bc0826737e99f0c750ea30033cdbc202</id>
<content type='text'>
* gnu/installer/newt/help.scm: New file.
* gnu/local.mk (INSTALLER_MODULES): Add it.
* po/guix/POTFILES.in: Add it.
* gnu/installer/record.scm (&lt;installer&gt;): Add 'help-menu' and 'help-page'
 fields,
 (installer-help-menu, installer-help-page): new exported procedures.
 * gnu/installer/newt.scm (init): Set the help line,
 (help-menu, help-page): new procedures used ...
 (newt-installer): ... here.
 * gnu/installer/newt/keymap.scm (run-layout-page): Add a context argument to
 differenciate the help context from the main one,
 (run-keymap-page): add a context argument and pass it to run-layout-page.
 * gnu/installer.scm (compute-keymap-step): Add a context argument and pass it
 to 'installer-keymap-page',
 (installer-steps): set the help menu and pass the appropriate context to
 compute-keymap-step calls,
 (guile-newt): update to revision 2.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gnu/installer/newt/help.scm: New file.
* gnu/local.mk (INSTALLER_MODULES): Add it.
* po/guix/POTFILES.in: Add it.
* gnu/installer/record.scm (&lt;installer&gt;): Add 'help-menu' and 'help-page'
 fields,
 (installer-help-menu, installer-help-page): new exported procedures.
 * gnu/installer/newt.scm (init): Set the help line,
 (help-menu, help-page): new procedures used ...
 (newt-installer): ... here.
 * gnu/installer/newt/keymap.scm (run-layout-page): Add a context argument to
 differenciate the help context from the main one,
 (run-keymap-page): add a context argument and pass it to run-layout-page.
 * gnu/installer.scm (compute-keymap-step): Add a context argument and pass it
 to 'installer-keymap-page',
 (installer-steps): set the help menu and pass the appropriate context to
 compute-keymap-step calls,
 (guile-newt): update to revision 2.
</pre>
</div>
</content>
</entry>
<entry>
<title>installer: Sort keyboard layouts according to language and translations.</title>
<updated>2019-04-17T13:16:08+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-04-17T13:16:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=9015e63996156dfaafecef182d20128f268c2719'/>
<id>9015e63996156dfaafecef182d20128f268c2719</id>
<content type='text'>
Previously, we would always (1) put English first, and (2) sort the
other layouts based on their English description.  This fixes both
issues.

* gnu/installer/newt/keymap.scm (sort-layouts)[layout&lt;?]: New procedure.
[preferred]: New variable.
Partition according to both the 'name' and 'synopsis' fields.  Sort both
the main layouts and the other layouts according to 'layout&lt;?'.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, we would always (1) put English first, and (2) sort the
other layouts based on their English description.  This fixes both
issues.

* gnu/installer/newt/keymap.scm (sort-layouts)[layout&lt;?]: New procedure.
[preferred]: New variable.
Partition according to both the 'name' and 'synopsis' fields.  Sort both
the main layouts and the other layouts according to 'layout&lt;?'.
</pre>
</div>
</content>
</entry>
<entry>
<title>installer: Translate keyboard layout names.</title>
<updated>2019-04-17T13:11:21+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2019-04-17T13:11:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=feaa83a377966b6cec982f0bbaba1ea15c28d52e'/>
<id>feaa83a377966b6cec982f0bbaba1ea15c28d52e</id>
<content type='text'>
* gnu/installer.scm (installer-program)[installer-builder]: Call
'bindtextdomain' for "xkeyboard-config".
* gnu/installer/newt/keymap.scm (run-keymap-page): Add calls to
'gettext'.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gnu/installer.scm (installer-program)[installer-builder]: Call
'bindtextdomain' for "xkeyboard-config".
* gnu/installer/newt/keymap.scm (run-keymap-page): Add calls to
'gettext'.
</pre>
</div>
</content>
</entry>
</feed>
