From fb718b11a3c81b235e2492187a4ba5fab7f9dc95 Mon Sep 17 00:00:00 2001 From: Ward from fusion-voyager-3 Date: Sun, 25 Aug 2024 00:44:35 +0300 Subject: [PATCH] fix timezone and console keymap --- .github/release-nest-v3 | 2 +- pikainstall/debian/changelog | 2 +- .../usr/lib/pika/pikainstall/pikainstall | 27 ++++++++++++++----- 3 files changed, 22 insertions(+), 9 deletions(-) diff --git a/.github/release-nest-v3 b/.github/release-nest-v3 index 00750ed..b8626c4 100644 --- a/.github/release-nest-v3 +++ b/.github/release-nest-v3 @@ -1 +1 @@ -3 +4 diff --git a/pikainstall/debian/changelog b/pikainstall/debian/changelog index 19df03a..471360a 100644 --- a/pikainstall/debian/changelog +++ b/pikainstall/debian/changelog @@ -1,4 +1,4 @@ -pikainstall (2.0.0-101pika1) pika; urgency=medium +pikainstall (2.0.0-101pika2) pika; urgency=medium * Adapt to new installer diff --git a/pikainstall/usr/lib/pika/pikainstall/pikainstall b/pikainstall/usr/lib/pika/pikainstall/pikainstall index f24bb64..49f7016 100755 --- a/pikainstall/usr/lib/pika/pikainstall/pikainstall +++ b/pikainstall/usr/lib/pika/pikainstall/pikainstall @@ -53,14 +53,25 @@ locale-gen update-locale LANG={LOCALE} touch /etc/default/keyboard echo 'XKBMODEL="pc105"' > /etc/default/keyboard -echo 'XKBLAYOUT="{KEYBOARD}"' >> /etc/default/keyboard -echo 'XKBVARIANT="{KVARIANT}"' >> /etc/default/keyboard +echo 'XKBLAYOUT="{XKBLAYOUT}"' >> /etc/default/keyboard +echo 'XKBVARIANT="{XKBVARIANT}"' >> /etc/default/keyboard echo 'XKBOPTIONS=""' >> /etc/default/keyboard echo 'BACKSPACE="guess"' >> /etc/default/keyboard -echo 'KEYMAP={KEYBOARD}' >> /etc/default/keyboard +echo 'KEYMAP={KEYMAP}' >> /etc/default/keyboard cp -fv /etc/default/keyboard /etc/vconsole.conf localectl set-locale LANG={LOCALE} timedatectl set-timezone {TIMEZONE} +ln -sf /usr/share/zoneinfo/{TIMEZONE} /etc/localtime +hwclock --systohc || true +mkdir -p /etc/X11/xorg.conf.d/ +echo 'Section "InputClass"' > /etc/X11/xorg.conf.d/00-keyboard.conf +echo ' Identifier "system-keyboard"' >> /etc/X11/xorg.conf.d/00-keyboard.conf +echo ' MatchIsKeyboard "on"' >> /etc/X11/xorg.conf.d/00-keyboard.conf +echo ' Option "XkbLayout" "{XKBLAYOUT}"' >> /etc/X11/xorg.conf.d/00-keyboard.conf +echo ' Option "XkbModel" "pc105"' >> /etc/X11/xorg.conf.d/00-keyboard.conf +echo ' Option "XkbVariant" "{XKBVARIANT}"' >> /etc/X11/xorg.conf.d/00-keyboard.conf +echo ' Option "XkbOptions" ""' >> /etc/X11/xorg.conf.d/00-keyboard.conf +echo 'EndSection' >> /etc/X11/xorg.conf.d/00-keyboard.conf """ # Global Functions @@ -85,11 +96,12 @@ def silentremove(filename): parser = argparse.ArgumentParser() parser.add_argument("-r", "--root", help="The Path where root is mounted to.", metavar="/mnt/root", default=argparse.SUPPRESS, required=True, nargs=1) parser.add_argument("-l", "--locale", help="Choose what locale/language to use.", metavar="en_US.UTF-8", default=argparse.SUPPRESS, required=True, nargs=1) -parser.add_argument("-k", "--keyboard", help="Choose what keyboard layout to use.", metavar="us", default=argparse.SUPPRESS, required=True, nargs=1) +parser.add_argument("-k", "--keymap", help="Choose what keymap to use.", metavar="us", default=argparse.SUPPRESS, required=True, nargs=1) parser.add_argument("-c", "--cryptkey", help="Luks passkey to /home.", metavar="password123", default=None, nargs=1) parser.add_argument("-m", "--manual", help="Is this a manual install for gui.", metavar="0", default=None, nargs=1) parser.add_argument("-t", "--timezone", help="Choose what timezone to use.", metavar="America/New_York", default=argparse.SUPPRESS, required=True, nargs=1) -parser.add_argument("-kv", "--kvariant", help="Choose what keyboard variant to use.", metavar="dvorak", default=None, nargs=1) +parser.add_argument("-kl", "--klayout", help="Choose what XKB Keyboard layout to use.", metavar="us", default=argparse.SUPPRESS, required=True, nargs=1) +parser.add_argument("-kv", "--kvariant", help="Choose what XKB Keyboard variant to use.", metavar="dvorak", default=None, nargs=1) args = parser.parse_args() # Print all command-line arguments. @@ -271,9 +283,10 @@ if args.kvariant is not None: with open(CHROOT_LANG_FILE_PATH, "w") as file: lang_crypttab_file = _LANG_SETUP_FILE.format( LOCALE=listToString(args.locale), - KEYBOARD=listToString(args.keyboard), + XKBLAYOUT=listToString(args.klayout), + XKBVARIANT=listToString(args.kvariant), + KEYMAP=listToString(args.keymap), TIMEZONE=listToString(args.timezone), - KVARIANT=listToString(args.kvariant), ) file.write(lang_crypttab_file) else: