<<

Cnchi Documentation Release 0.16.x

karasu lots0logs

Jul 10, 2018

Contents:

1 bootinfo 1

2 browser_window 3

3 cnchi 5

4 config 7

5 desktop_info 9

6 download (module) 11

7 features_info 13

8 geoip 15

9 hardware (module) 17

10 info 25

11 installation (module) 27

12 logging_utils 35

13 main_window 37

14 misc (module) 39

15 proxy 47

16 rank_mirrors 49

17 show_message 51

18 test_page 53

19 update_db 55

20 Indices and tables 57

i Python Module Index 59

ii CHAPTER 1

bootinfo

Detects installed OSes (needs root privileges) bootinfo.get_os_dict() Returns all detected OSes in a dict bootinfo.windows_startup_folder(mount_path) Returns windows startup folder

1 Cnchi Documentation, Release 0.16.x

2 Chapter 1. bootinfo CHAPTER 2

browser_window

3 Cnchi Documentation, Release 0.16.x

4 Chapter 2. browser_window CHAPTER 3

cnchi

5 Cnchi Documentation, Release 0.16.x

6 Chapter 3. cnchi CHAPTER 4

config

Configuration module for Cnchi class config.Settings Store all Cnchi setup options here get(key) Get one setting value set(key, value) Set one setting’s value

7 Cnchi Documentation, Release 0.16.x

8 Chapter 4. config CHAPTER 5

desktop_info

Desktop Environments information desktop_info.ALL_FEATURES = ['a11y', 'aur', 'bluetooth', 'cups', 'chromium', 'energy', 'firefox', 'firewall', 'flash', 'games', 'graphic_drivers', 'lamp', 'lts', 'office', 'sshd', 'visual', 'vivaldi'] List: All features desktop_info.DESCRIPTIONS = {'base': 'This option will install as command-line only system, without any type of graphical interface. After the installation you can customize Antergos by installing packages with the command-line package manager.', 'budgie': 'Budgie is the flagship desktop of and is a Solus project. It focuses on simplicity and elegance. Written from scratch with integration in mind, the Budgie desktop tightly integrates with the GNOME stack, but offers an alternative desktop experience.', 'cinnamon': 'Cinnamon is a desktop which provides advanced, innovative features and a traditional desktop user experience. Cinnamon aims to make users feel at home by providing them with an easy-to-use and comfortable desktop experience.', '': 'Deepin desktop is a lightweight, elegant . It was originally created for Linux Deepin distribution. Now, DDE will support most Linux operating systems such as , , Fedora, openSUSE etc.', '': 'Enlightenment is not just a for Linux/X11 and others, but also a whole suite of libraries to help you create beautiful user interfaces with much less work', '': 'GNOME 3 is an easy and elegant way to use your computer. It features the Activities Overview which is an easy way to access all your basic tasks.', '': 'i3 is a , completely written from scratch. The target platforms are GNU/Linux and BSD operating systems, its code is Free and Open Source Software (FOSS) under the BSD license. i3 is primarily targeted at advanced users and developers.', '': "If you are looking for a familiar working environment, KDE's Plasma Desktop offers all the tools required for a modern desktop computing experience so you can be productive right from the start.", '': 'LXQt is the next-generation of LXDE, the Lightweight Desktop Environment. It is lightweight, modular, blazing-fast, and user-friendly.', '': 'MATE is an intuitive, attractive, and lightweight desktop environment which provides a more traditional desktop experience. Accelerated compositing is supported, but not required to run MATE making it suitable for lower-end hardware.', '': 'Not actually a desktop environment, Openbox is a highly configurable window manager. It is known for its minimalistic appearance and its flexibility. It is the most lightweight graphical option offered by antergos. Please Note: Openbox is not recommended for users who are new to Linux.', '': 'Xfce is a lightweight desktop environment. It aims to be fast and low on system resources, while remaining visually appealing and user friendly. It suitable for use on older computers and those with lower-end hardware specifications. '} dict: A description for each desktop enviroment to show to the user desktop_info.DESKTOPS = ['base', 'cinnamon', 'deepin', 'gnome', 'kde', 'mate', 'openbox', 'xfce'] List: available destkops to install. desktop_info.DESKTOPS_A11Y = ['gnome', 'mate'] List: desktops that have the accessibility feature. desktop_info.DESKTOPS_DEV = ['base', 'cinnamon', 'deepin', 'gnome', 'kde', 'mate', 'openbox', 'xfce', 'budgie', 'enlightenment', 'i3', 'lxqt'] List: availabel desktops to install in development mode. desktop_info.DESKTOP_ICONS_PATH = '/usr/share/cnchi/data/icons' Str: Path with the Cnchi icons desktop_info.EXCLUDED_FEATURES = {'base': ['bluetooth', 'chromium', 'firefox', 'firewall', 'flash', 'games', 'graphic_drivers', 'office', 'visual', 'vivaldi'], 'budgie': ['lamp', 'visual'], 'cinnamon': ['lamp', 'visual'], 'deepin': ['lamp', 'visual'], 'enlightenment': ['lamp', 'visual'], 'gnome': ['lamp', 'visual'], 'i3': ['lamp'], 'kde': ['lamp', 'visual'], 'lxqt': ['lamp', 'visual'], 'mate': ['lamp', 'visual'], 'openbox': ['lamp'], 'xfce': ['lamp', 'visual']} Dict: Not all desktops have all features desktop_info.LIBS = {'': ['cinnamon', 'deepin', 'gnome', 'mate', 'openbox', 'xfce', 'budgie', 'enlightenment', 'i3'], '': ['kde', 'lxqt']} Dict: Which libraries need to be installed depending on the desktop choosed. desktop_info.NAMES = {'base': 'Base', 'budgie': 'Budgie', 'cinnamon': 'Cinnamon', 'deepin': 'Deepin', 'enlightenment': 'Enlightenment', 'gnome': 'GNOME', 'i3': 'i3', 'kde': 'KDE', 'lxqt': 'LXQt', 'mate': 'MATE', 'openbox': 'Openbox', 'xfce': 'Xfce'} Dict: Descriptive desktop names desktop_info.SESSIONS = {'budgie': 'budgie-desktop', 'cinnamon': 'cinnamon', 'deepin': 'deepin', 'enlightenment': 'enlightenment', 'gnome': 'gnome', 'i3': 'i3', 'kde': 'plasma', 'lxqt': 'lxsession', 'mate': 'mate', 'openbox': 'openbox', 'xfce': 'xfce'} Dict: Session names for lightDM setup (/usr/share/xsessions)

9 Cnchi Documentation, Release 0.16.x

10 Chapter 5. desktop_info CHAPTER 6

download (module)

6.1 download.download

6.2 download.download_requests

Module to download packages using requests class download.download_requests.CopyToCache(origin, xz_cache_dirs) Class thread to copy a xz file to the user’s provided cache directory run() Method representing the thread’s activity. You may override this method in a subclass. The standard run() method invokes the callable object passed to the object’s constructor as the target argument, if any, with sequential and keyword arguments taken from the args and kwargs arguments, respectively. class download.download_requests.Download(pacman_cache_dir, xz_cache_dirs, call- back_queue, proxies=None) Class to download packages using requests This class tries to previously download all necessary packages for Antergos installation using requests download_package(element, dst_path) Package wasn’t previously downloaded or its md5 was wrong We’ll have to download it Let’s download our file using its url Checks all mirrors if necessary download_url(url, dst_path, md5hash=”) Downloads file from url to dst_path and checks its md5 hash static format_progress_message(percent, bps) Formats speed message information is_hash_ok(path, element=None, md5hash=None) Checks file md5 hash

11 Cnchi Documentation, Release 0.16.x

queue_event(event_type, event_text=None) Adds an event to Cnchi event queue start(downloads) Downloads using requests download.download_requests.get_md5(file_name) Gets md5 hash from a file

6.3 download.metalink

12 Chapter 6. download (module) CHAPTER 7

features_info

Features information features_info.ADVANCED = ['aur', 'firefox', 'vivaldi', 'firewall', 'flash', 'graphic_drivers', 'lamp', 'lts', 'sshd', 'visual'] list: These features are considered ‘advanced’ so it won’t be shown by default features_info.DESCRIPTIONS = {'a11y': 'Useful packages for individuals who are blind or visually impaired.', 'aur': 'The AUR is a community-driven repository for Arch users.', 'bluetooth': 'Enables your system to make wireless connections via Bluetooth.', 'chromium': 'Open-source web browser from Google.', 'cups': 'Installation of printer drivers and management tools.', 'energy': 'Brings you the benefits of advanced power management for Linux.', 'firefox': 'A popular open-source graphical web browser from Mozilla.', 'firewall': 'Control the incoming and outgoing network traffic.', 'flash': 'Freeware software normally used for multimedia.', 'games': 'Installs Steam and Playonlinux for gaming enthusiasts.', 'graphic_drivers': 'Installs AMD or Nvidia proprietary graphic driver.', 'lamp': 'Apache (or Nginx) + Mariadb + PHP installation and setup.', 'lts': 'Long term support (LTS) Linux kernel and modules.', 'office': 'Open source office suite. Supports editing MS Office files.', 'sshd': 'Enables Secure service.', 'visual': 'Enable transparency, shadows, and other desktop effects.', 'vivaldi': 'Vivaldi is a free, fast web browser designed for power-users.'} dict: Feature descriptions features_info.ICON_NAMES = {'a11y': 'a11y', 'aur': 'system-software-install', 'bluetooth': 'bluetooth', 'chromium': 'chromium', 'cups': 'printer', 'energy': 'gnome-power-manager', 'firefox': 'firefox', 'firewall': 'network-server', 'flash': 'flash', 'games': 'applications-games', 'graphic_drivers': 'gnome-system', 'lamp': 'applications-internet', 'lts': 'applications-accessories', 'office': 'accessories-text-editor', 'sshd': 'network-connect', 'visual': 'video-display', 'vivaldi': 'vivaldi'} dict: Icon names for each feature. As each desktop has its own features, these are listed in desktop_info module instead of here. features_info.TITLES = {'a11y': 'Adds accessibility packages', 'aur': 'Arch User Repository (AUR) Support', 'bluetooth': 'Bluetooth Support', 'chromium': 'Chromium Web Browser', 'cups': 'Printing Support', 'energy': 'Advanced power management', 'firefox': 'Firefox Web Browser', 'firewall': '', 'flash': 'Flash plugins', 'games': 'Steam + PlayonLinux', 'graphic_drivers': 'Graphic drivers (Proprietary)', 'lamp': 'Apache (or Nginx) + Mariadb + PHP', 'lts': 'Kernel (LTS version)', 'office': 'LibreOffice', 'sshd': 'SSH Service', 'visual': 'Visual Effects', 'vivaldi': 'Vivaldi Web Browser'} dict: Feature titles features_info.TOOLTIPS = {'a11y': 'Useful packages for individuals who are blind or visually impaired.', 'aur': "Use yaourt to install AUR packages.\nThe AUR was created to organize and share new packages\nfrom the community and to help expedite popular packages'\ninclusion into the [community] repository.", 'bluetooth': 'Bluetooth is a standard for the short-range wireless\ninterconnection of cellular phones, computers, and\nother electronic devices. In Linux, the \nimplementation of the Bluetooth protocol stack is BlueZ.', 'chromium': 'Chromium is an open-source browser project that aims to build a\nsafer, faster, and more stable way for all users to experience the web.\n(this is the default)', 'cups': 'CUPS is the standards-based, open source printing\nsystem developed by Apple Inc. for OS® X and other\nUNIX®-like operating systems.', 'energy': 'Linux thermal daemon (thermald) monitors and controls temperature\nin laptops, tablet PC with the latest Intel sandy bridge. Once the\nsystem temperature reaches a certain threshold, the Linux daemon\nactivates various cooling methods to try to cool the system', 'firefox': 'Mozilla Firefox (known simply as Firefox) is a free and\nopen-source web browser developed for Windows, OS X, and Linux,\nwith a mobile version for Android, by the Mozilla Foundation and\nits subsidiary, the Mozilla Corporation. Firefox uses the Gecko\nlayout engine to render web pages, which implements current and\nanticipated web standards. Enable this option to install Firefox\ninstead of Chromium', 'firewall': 'Ufw stands for Uncomplicated Firewall, and is a program for\nmanaging a netfilter firewall. It provides a command line\ninterface and aims to be uncomplicated and easy to use.', 'flash': 'Adobe Flash Player is freeware software for using content created\non the Adobe Flash platform, including viewing multimedia, executing\nrich internet applications and streaming video and audio.', 'games': 'Steam is one of the most popular gaming clients that supports\nlinux in technology and gaming, while PlayOnLinux\nis a very easy manager to setting up games to play\nthrough wine, instead of doing it manually.', 'graphic_drivers': 'Installs AMD or Nvidia proprietary graphics driver instead\nof the open-source variant. Do NOT install this if you have a\nNvidia Optimus laptop', 'lamp': 'This option installs a web server (you can choose\nApache or Nginx) plus a database server (Mariadb)\nand PHP.', 'lts': 'The linux-lts package is an alternative Arch kernel package.\nThis particular kernel version enjoys long-term support from upstream,\nincluding security fixes and some feature backports. Additionally, this\npackage includes ext4 support. For Antergos users seeking a long-term\nsupport kernel, or who want a fallback kernel in case the latest kernel\nversion causes problems, this option is the answer.', 'office': 'LibreOffice is the free power-packed Open Source\npersonal productivity suite for Windows, Macintosh\nand Linux, that gives you six feature-rich applications\nfor all your document production and data processing\nneeds: Writer, Calc, Impress, Draw, Math and Base.', 'sshd': 'Secure Shell (SSH) is a network protocol that allows data to be\nexchanged over a secure channel between two computers.\nSSH is typically used to log into a remote machine and execute commands.\n', 'visual': 'Compton is a lightweight, standalone manager,\nsuitable for use with window managers that do not natively\nprovide compositing functionality. Compton itself is a fork\nof xcompmgr-dana, which in turn is a fork of xcompmgr.\nSee the compton github page for further information.', 'vivaldi': "Vivaldi is a freeware, cross-platform web browser developed by\nVivaldi Technologies. It was officially launched on April 12, 2016.\nThe browser is aimed at staunch technologists, heavy Internet users,\nand previous Opera web browser users disgruntled by Opera's transition\nfrom the Presto layout engine to the Blin dict: Feature tooltips

13 Cnchi Documentation, Release 0.16.x

14 Chapter 7. features_info CHAPTER 8

geoip

15 Cnchi Documentation, Release 0.16.x

16 Chapter 8. geoip CHAPTER 9

hardware (module)

9.1 hardware.hardware

Hardware related packages installation class hardware.hardware.Hardware(class_name, class_id, vendor_id, pci_file_or_devices, priority=-1, enabled=True) This is an abstract class. You need to use this as base call_script(script_path, dest_dir) Helper function that will run a script check_device(class_id, vendor_id, product_id) Checks if the driver supports this device static chroot(cmd, dest_dir, stdin=None, stdout=None) Runs command inside the chroot detect() Tries to guess if a device suitable for this driver is present, used in features screen static get_conflicts() Returns a list with all conflicting packages get_name() Returns class name get_packages() Returns all necessary packages to install get_priority() Get module (driver) priority is_graphic_driver() Tells us if this is a graphic driver or not

17 Cnchi Documentation, Release 0.16.x

static is_proprietary() Proprietary drivers are drivers for your hardware devices that are not freely-available or open source, and must be obtained from the hardware manufacturer. load_pci_file(path) Load pci file with all pci ids post_install(dest_dir) This method runs commands that need to be run AFTER installing the driver pre_install(dest_dir) This method runs commands that need to run BEFORE installing the driver class hardware.hardware.HardwareInstall(cnchi_path, use_proprietary_graphic_drivers=False) This class checks user’s hardware detect_devices() Detect devices get_conflicts() Get all conflicting packages for all detected devices static get_devices() Gets a list of all pci/usb devices get_found_driver_names() Returns a list of found driver names get_packages() Get pacman package list for all detected devices post_install(dest_dir) Run post install commands for all detected devices pre_install(dest_dir) Run pre install commands for all detected devices scan_driver_modules() searches for modules with driver information hardware.hardware.test() Test module function

9.2 hardware.modules

AMD/ATI proprietary driver installation class hardware.modules.amdgpu_exp.AMDGpuExp AMD ATI Catalyst graphics driver static get_packages() Get all required packages static is_proprietary() Returns True if the driver is a proprietary one post_install(dest_dir) Post install commands pre_install(dest_dir) Pre install commands

18 Chapter 9. hardware (module) Cnchi Documentation, Release 0.16.x

AMD/ATI proprietary driver installation class hardware.modules.amdgpu.AMDGpu AMD ATI Catalyst graphics driver static get_packages() Get all required packages static is_proprietary() Returns True if the driver is a proprietary one post_install(dest_dir) Post install commands pre_install(dest_dir) Pre install commands Broadcom b43legacy driver installation class hardware.modules.broadcom_b43_legacy.BroadcomB43Legacy Broadcom b43 legacy static get_packages() Get all required packages static post_install(dest_dir) Post install commands Broadcom b43 driver installation class hardware.modules.broadcom_b43.BroadcomB43 Broadcom b43 static get_packages() Get all required packages static post_install(dest_dir) Post install commands Broadcom-wl driver installation BCM4311-, BCM4312-, BCM4313-, BCM4321-, BCM4322-, BCM43224- and BCM43225-, BCM43227- and BCM43228-based hardware. class hardware.modules.broadcom_wl.BroadcomWl Broadcom wl proprietary driver static get_packages() Get all required packages static is_proprietary() Returns True if the driver is a proprietary one static post_install(dest_dir) Post install commands AMD/ATI proprietary driver installation class hardware.modules.catalyst.Catalyst AMD ATI Catalyst graphics driver static add_repositories(path) Adds [xorg116] and [catalyst] repos to pacman.conf static get_packages() Get all required packages

9.2. hardware.modules 19 Cnchi Documentation, Release 0.16.x

static is_proprietary() Returns True if the driver is a proprietary one post_install(dest_dir) Post install commands pre_install(dest_dir) Pre install commands eGalax Touch Screen driver installation class hardware.modules.etouchscreen.ETouchScreen eGalax Touch Screen driver static get_packages() Get all required packages static post_install(dest_dir) Post install commands Various Fingerprint devices driver installation class hardware.modules.fingerprint.FingerPrint Fingerprint devices driver static get_packages() Get all required packages post_install(dest_dir) Post install commands Firewire driver installation class hardware.modules.firewire.Firewire Firewire support static get_packages() Get all required packages post_install(dest_dir) Post install commands Intel driver installation class hardware.modules.i915.Intel915 Intel i915 graphics driver static get_packages() Get all required packages static is_proprietary() Returns True if the driver is a proprietary one static post_install(dest_dir) Post install commands Nouveau (Nvidia) driver installation class hardware.modules.nouveau.Nouveau Nvidia open graphics driver static get_conflicts() Get conflicting packages

20 Chapter 9. hardware (module) Cnchi Documentation, Release 0.16.x

static get_packages() Get all required packages static is_proprietary() Returns True if the driver is a proprietary one static post_install(dest_dir) Post install commands Nvidia (propietary) driver installation class hardware.modules.nvidia_304xx.Nvidia304xx Nvidia v304 proprietary graphics driver static get_conflicts() Get conflicting packages static get_packages() Get all required packages static is_proprietary() Returns True if the driver is a proprietary one static post_install(dest_dir) Post install commands hardware.modules.nvidia_304xx.PRIORITY = 0 For GeForce 6000/7000 series cards [NV4x and NV6x] from around 2004-2006, install the nvidia-304xx or nvidia-304xx-lts package, available in the official repositories. Nvidia (propietary) driver installation class hardware.modules.nvidia_340xx.Nvidia340xx Nvidia v340 proprietary graphics driver static get_conflicts() Get conflicting packages static get_packages() Get all required packages static is_proprietary() Returns True if the driver is a proprietary one static post_install(dest_dir) Post install commands hardware.modules.nvidia_340xx.PRIORITY = 1 For GeForce 8000/9000 and 100-300 series cards [NV5x, NV8x, NV9x and NVAx] from around 2006- 2010, install the nvidia-340xx or nvidia-340xx-lts, available in the official repositories. Nvidia (propietary) driver installation class hardware.modules.nvidia_390xx.Nvidia390xx Nvidia v390 proprietary graphics driver static get_conflicts() Get conflicting packages static get_packages() Get all required packages

9.2. hardware.modules 21 Cnchi Documentation, Release 0.16.x

static is_proprietary() Returns True if the driver is a proprietary one static post_install(dest_dir) Post install commands Nvidia (propietary) driver installation class hardware.modules.nvidia.Nvidia Nvidia proprietary graphics driver static get_conflicts() Get conflicting packages static get_packages() Get all required packages static is_proprietary() Returns True if the driver is a proprietary one static post_install(dest_dir) Post install commands hardware.modules.nvidia.PRIORITY = 2 For GeForce 400 series cards and newer [NVCx and newer], install the nvidia or nvidia-lts package along with nvidia-libgl, available in the official repositories. AMD/ATI driver installation class hardware.modules.radeon.Radeon AMD ATI open graphics driver static get_packages() Get all required packages static is_proprietary() Returns True if the driver is a proprietary one static post_install(dest_dir) Post install commands VESA driver installation class hardware.modules.uvesafb.VesaFB Vesa (generic) graphics driver static get_packages() Get all required packages post_install(dest_dir) Post install commands VIA (openchrome) driver installation class hardware.modules.via.Via VIA graphics driver static get_packages() Get all required packages static is_proprietary() Returns True if the driver is a proprietary one

22 Chapter 9. hardware (module) Cnchi Documentation, Release 0.16.x

static post_install(dest_dir) Post install commands Virtualbox driver installation class hardware.modules.virtualbox.Virtualbox Virtualbox modules static get_packages() Get all required packages static post_install(dest_dir) Post install commands Vmware driver installation class hardware.modules.vmware.Vmware Vmware tools and drivers static get_packages() Get all required packages static post_install(dest_dir) Post install commands

9.2. hardware.modules 23 Cnchi Documentation, Release 0.16.x

24 Chapter 9. hardware (module) CHAPTER 10

info

Set some Cnchi global constants info.CNCHI_RELEASE_STAGE = 'development' Cnchi release stage (production or development) info.CNCHI_VERSION = '0.16.192' Cnchi version info.CNCHI_WEBSITE = 'http://www.antergos.com' Cnchi website

25 Cnchi Documentation, Release 0.16.x

26 Chapter 10. info CHAPTER 11

installation (module)

11.1 installation.action

Store actions on devices for the user to confirm class installation.action.Action(action_type, path_or_info, relabel=False, fs_format=False, mount_point=”, encrypt=False) Store actions on devices for the user to confirm

11.2 installation.auto_partition

AutoPartition module, used by automatic installation class installation.auto_partition.AutoPartition(dest_dir, auto_device, use_luks, luks_password, use_lvm, use_home, bootloader, callback_queue) Class used by the automatic installation method copy_luks_keyfiles() Copy root keyfile to boot partition and home keyfile to root partition user will choose what to do with it THIS IS NONSENSE (BIG SECURITY HOLE), BUT WE TRUST THE USER TO FIX THIS User shouldn’t store the keyfiles unencrypted unless the medium itself is reasonably safe (boot partition is not) create_filesystems(devices) Create filesystems in newly created partitions get_devices() Set (and return) all partitions on the device get_disk_size() Gets disk size in MiB get_fs_devices() Return which filesystem is in a selected device

27 Cnchi Documentation, Release 0.16.x

get_mount_devices() Specify for each mount point which device we must mount there get_part_sizes(disk_size, start_part_sizes=1) Returns a dict with all partition sizes static get_partition_path(device, part_num) This is awful and prone to fail. We should do some type of test here log_part_sizes(part_sizes) Log partition sizes for debugging purposes mkfs(device, fs_type, mount_point, label_name, fs_options=”, btrfs_devices=”) We have two main cases: “swap” and everything else. queue_event(event_type, event_text=”) Adds an event to Cnchi event queue run() Main method. Runs auto partition sequence run_gpt(part_sizes) Auto partition using a GPT table run_lvm(devices, part_sizes, start_part_sizes, disk_size) Create lvm volumes run_mbr(part_sizes) DOS MBR partition table installation.auto_partition.close_antergos_luks_devices() Close LUKS devices (they may have been left open because of a previous failed installation) installation.auto_partition.printk(enable) Enables / disables printing kernel messages to console installation.auto_partition.remove_lvm(device) Remove all previous LVM volumes (it may have been left created due to a previous failed installation) installation.auto_partition.setup_luks(luks_device, luks_name, luks_pass=None, luks_key=None) Setups a luks device installation.auto_partition.unmount(directory) Unmount installation.auto_partition.unmount_all_in_device(device) Unmounts all partitions from device installation.auto_partition.unmount_all_in_directory(dest_dir) Unmounts all devices that are mounted inside dest_dir

11.3 installation.boot (module)

11.3.1 installation.boot.grub2

GRUB2 bootloader installation class installation.boot.grub2.Grub2(dest_dir, settings, uuids) Class to perform boot loader installation

28 Chapter 11. installation (module) Cnchi Documentation, Release 0.16.x

apply_osprober_patch() Adds -l option to os-prober’s umount call so that it does not hang check_root_uuid_in_grub() Checks grub.cfg for correct root UUID static grub_ripper() Kills grub-mount process install() Install Grub2 bootloader install_bios() Install Grub2 bootloader in a BIOS system install_efi() Install Grub2 bootloader in a UEFI system install_locales() Install Grub2 locales modify_grub_default() If using LUKS as root, we need to modify GRUB_CMDLINE_LINUX GRUB_CMDLINE_LINUX : Command-line arguments to add to menu entries for the Linux kernel. GRUB_CMDLINE_LINUX_DEFAULT : Unless ‘GRUB_DISABLE_RECOVERY’ is set to ‘true’, two menu entries will be generated for each Linux kernel: one default entry and one entry for recovery mode. This option lists command-line arguments to add only to the default menu entry, after those listed in ‘GRUB_CMDLINE_LINUX’. prepare_grub_d() Copies 10_antergos script into /etc/grub.d/ run_mkconfig() Create grub.cfg file using grub-mkconfig set_grub_option(option, cmd) Changes a grub setup option in /etc/default/grub installation.boot.grub2.test_module() Test this module

11.3.2 installation.boot.loader

Bootloader installation class installation.boot.loader.Bootloader(dest_dir, settings, mount_devices) Class to perform boot loader installation freeze_unfreeze_xfs() Freeze and unfreeze xfs, as hack for grub(2) installing install() Installs the bootloader

11.3.3 installation.boot.refind rEFInd bootloader installation class installation.boot.refind.REFInd(dest_dir, settings, uuids) Class to perform boot loader installation

11.3. installation.boot (module) 29 Cnchi Documentation, Release 0.16.x

install() Installs rEFInd boot loader https://wiki.archlinux.org/index.php/REFInd#Scripted_configuration

11.3.4 installation.boot.systemd_boot

Systemd-boot (gummiboot) installation class installation.boot.systemd_boot.SystemdBoot(dest_dir, settings, uuids) Class to perform boot loader installation install() Install -boot bootloader to the EFI System Partition

11.4 installation.firewall

Manage ufw setup installation.firewall.run(params, dest_dir=’/install’) Setup ufw

11.5 installation.install

11.6 installation.lamp

LAMP stack is a group of open source software to get web servers up and running. The acronym stands for Linux, Apache, MySQL, and PHP. Since the server is already running Antergos, the linux part is taken care of. installation.lamp.apache_setup() Configure Apache web server installation.lamp.mariadb_setup() Runs MariaDB setup installation.lamp.php_setup() Setup PHP installation.lamp.setup() Runs lamp setup

11.7 installation.lemp

LEMP stack is a group of open source software to get web servers up and running. The acronym stands for Linux, nginx (pronounced Engine x), MySQL, and PHP. Since the server is already running Antergos, the linux part is taken care of. installation.lemp.mariadb_setup() Setup MariaDB database server installation.lemp.nginx_setup() Setup Nginx web server

30 Chapter 11. installation (module) Cnchi Documentation, Release 0.16.x installation.lemp.php_setup() Setup /etc/php/php.ini installation.lemp.setup() Main configuration function

11.8 installation.mkinitcpio

Module to setup and run mkinitcpio installation.mkinitcpio.get_cpu() Gets CPU string definition installation.mkinitcpio.run(dest_dir, settings, mount_devices, blvm) Runs mkinitcpio installation.mkinitcpio.set_hooks_modules_and_files(dest_dir, hooks, modules, files) Set up mkinitcpio.conf

11.9 installation.post_features

Features post installation class installation.post_features.PostFeatures(dest_dir, settings) Manages post installation of selected features static enable_aur_in_pamac() Enables AUR searches in pamac config file read_file_from_install(path) Read file from new installation /install set_kernel_lts() Sets LTS kernel as default when booting set_kernel_lts_grub() Sets LTS kernel as default in Grub set_kernel_lts_refind() TODO set_kernel_lts_systemdboot() TODO setup() Do all set up needed by the user’s selected features

11.10 installation.post_fstab

Create /etc/fstab file class installation.post_fstab.PostFstab(method, mount_devices, fs_devices, ssd, settings) Setup /etc/fstab static add_vol_to_crypttab(vol_name, uuid, keyfile=’none’) Modify the crypttab file

11.8. installation.mkinitcpio 31 Cnchi Documentation, Release 0.16.x

static get_device_fstab_line(partition_path, mount_point, myfmt, opts=’defaults’, chk=’0’) Create fstab line static get_mount_options(myfmt, is_ssd) Adds mount options depending on filesystem get_swap_fstab_line(uuid, partition_path) Create swap line for fstab static get_uuid_fstab_line(uuid, mount_point, myfmt, opts=’defaults’, chk=’0’) Create fstab line run() Create /etc/fstab file

11.11 installation.post_install

Post-Installation process module. class installation.post_install.PostInstallation(settings, callback_queue, mount_devices, fs_devices, ssd=None, blvm=False) Post-Installation process thread class static alsa_mixer_setup() Sets ALSA mixer settings static auto_timesetting() Set hardware clock static change_user_password(user, new_password) Changes the user’s password check_btrfs() Checks if any device will be using btrfs configure_system(hardware_install) Final install steps. Set clock, language, timezone, run mkinitcpio, populate pacman keyring, setup systemd services, . . . copy_logs() Copy Cnchi logs to new installation static copy_network_config() Copies Network Manager configuration static fix_thermald_service() Adds –ignore-cpuid-check to thermald service file static get_installed_kernel_versions() Get installed kernel versions static get_installed_zfs_version() Get installed zfs version static modify_makepkg() Modify the makeflags to allow for threading. Use threads for xz compression. static nano_setup() Enable colors and syntax highlighting in nano editor

32 Chapter 11. installation (module) Cnchi Documentation, Release 0.16.x

pamac_setup() Enable AUR in pamac if AUR feature selected static patch_user_dirs_update_gtk() Patches user-dirs-update-gtk.desktop so it is run in XFCE, MATE and Cinnamon queue_event(event_type, event_text=”) Enqueue a new event rebuild_zfs_modules() Sometimes dkms tries to build the zfs module before spl. set_desktop_settings() Runs postinstall.sh that sets DE settings Postinstall script uses arch-chroot, so we don’t have to worry about /proc, /dev, . . . static set_fluidsynth() Sets fluidsynth configuration file set_keymap() Set X11 and console keymap set_scheduler() Copies rule for SSDs setup_display_manager() Configures LightDM desktop manager, including autologin. static setup_timesyncd() Setups and enables time sync service setup_user() Set user parameters static uncomment_locale_gen(locale) Uncomment selected locale in /etc/locale.gen static update_pacman_conf() Add Antergos and multilib repos

11.12 installation.process

11.13 installation.select_packages

11.14 installation.services

Auxiliary functions to work with services installation.services.enable_services(services) Enables all services that are in the list ‘services’ installation.services.mask_services(services) Masks services

11.12. installation.process 33 Cnchi Documentation, Release 0.16.x

11.15 installation.special_dirs

Mount / Unmount /dev et al. Used in the installation process installation.special_dirs.mount(dest_dir) Mount special directories for our chroot installation.special_dirs.umount(dest_dir) Umount special directories for our chroot

11.16 installation.systemd_networkd systemd-networkd configuration in base install. installation.systemd_networkd.setup(ssid=None, passphrase=None) Configure system-networkd for base installs

11.17 installation.wrapper

Helper module to run some disk/partition related utilities installation.wrapper.parted_mklabel(device, label_type=’msdos’) Helper function to call mktable parted command installation.wrapper.parted_mkpart(device, ptype, start, end, filesystem=”) Helper function to call mkpart parted command installation.wrapper.parted_set(device, number, flag, state) Helper function to call set parted command installation.wrapper.run_dd(input_device, output_device, bytes_block=512, count=2048, seek=0) Helper function to call dd Copy a file, converting and formatting according to the operands. installation.wrapper.sgdisk(command, device) Helper function to call sgdisk (GPT) installation.wrapper.sgdisk_new(device, part_num, label, size, hex_code) Helper function to call sgdisk –new (GPT) installation.wrapper.wipefs(device, fatal=True) Wipe fs from device

34 Chapter 11. installation (module) CHAPTER 12

logging_utils

Logging utils to ease log calls class logging_utils.ContextFilter Context filter for logging methods to send logs to bugsnag bugsnag_before_notify_callback(notification=None) Filter unwanted notifications here filter(record) Determine if the specified record is to be logged. Is the specified record to be logged? Returns 0 for no, nonzero for yes. If deemed appropriate, the record may be modified in-place. static filter_log_lines(log) Filter log lines get_and_save_install_id(is_location_screen=False) Obtain an install identification static get_bugsnag_api() Gets bugsnag API key get_url_for_id_request() Constructs bugsnag url send_install_result(result) Sends install result to bugsnag server class logging_utils.Singleton Single instance

35 Cnchi Documentation, Release 0.16.x

36 Chapter 12. logging_utils CHAPTER 13

main_window

37 Cnchi Documentation, Release 0.16.x

38 Chapter 13. main_window CHAPTER 14

misc (module)

14.1 misc.avatars

14.2 misc.extra

Extra functions exception misc.extra.InstallError(message) Exception class called upon an installer error misc.extra.add_connection_watch(func) Add connection watch to Networkmanager misc.extra.cdrom_mount_info() Return mount information for /cdrom. This is the same as mount_info, except that the partition is converted to its containing disk, and we don’t care whether the mount point is writable. misc.extra.check_pid(pid) Check For the existence of a pid. misc.extra.copytree(src_dir, dst_dir, symlinks=False, ignore=None) Copy an entire tree with files and folders misc.extra.create_bool(text) Creates a bool from a str type misc.extra.dmimodel() Use dmidecode to get hardware info dmidecode is a tool for dumping a computer’s DMI (some say SMBIOS) table contents in a human-readable format. This table contains a description of the system’s hardware compo- nents, as well as other useful pieces of information such as serial numbers and BIOS revision misc.extra.drop_all_privileges() Drop root privileges misc.extra.drop_privileges() Drop privileges

39 Cnchi Documentation, Release 0.16.x

misc.extra.drop_privileges_save() Drop the real UID/GID as well, and hide them in saved IDs. misc.extra.format_size(size) Format a partition size. misc.extra.get_network() Get our own network ip misc.extra.get_nm_state() Checks Networkmanager connection status misc.extra.get_partitions() Get all system partitions misc.extra.get_prop(obj, iface, prop) Get network interface property misc.extra.get_uid_gid() Returns uid and gid from SUDO_* env vars and sets groups for that uid misc.extra.gtk_refresh() Tell Gtk loop to run pending events misc.extra.has_connection() Checks if we have an Internet connection misc.extra.is_partition_extended(partition) Check if a partition is of extended type misc.extra.is_removable(device) Checks if device is removable misc.extra.is_swap(device) Check if device is a swap device misc.extra.is_wireless_enabled() Networkmanager. Checks if wireless is enabled misc.extra.mount_info(path) Return filesystem name, type, and ro/rw for a given mountpoint. misc.extra.partition_exists(partition) Check if a partition already exists misc.extra.partition_to_disk(partition) Convert a partition device to its disk device, if any. misc.extra.raise_privileges(func) As raised_privileges, but as a function decorator. misc.extra.raised_privileges() As regain_privileges/drop_privileges, but in context manager style. misc.extra.random_generator(size=4, chars=’abcdefghijklmnopqrstuvwxyz0123456789’) Generates a random string. misc.extra.regain_privileges() Regain root privileges misc.extra.regain_privileges_save() Recover our real UID/GID after calling drop_privileges_save.

40 Chapter 14. misc (module) Cnchi Documentation, Release 0.16.x

misc.extra.remove_temp_files() Remove Cnchi temporary files misc.extra.select_combobox_value(combobox, value) Force combobox to select a specific value misc.extra.select_first_combobox_item(combobox) Automatically select the first entry misc.extra.set_cursor(cursor_type) Set mouse cursor misc.extra.set_groups_for_uid(uid) Set groups for user id uid misc.extra.sort_list(my_list, my_locale=”) Sorts list using locale specifics misc.extra.udevadm_info(args) Helper function to run udevadm misc.extra.utf8(my_string, errors=’strict’) Decode a string as UTF-8 if it isn’t already Unicode.

14.3 misc.gocryptfs

gocryptfs encription module. misc.gocryptfs.setup(username, usergroup, install_dir, password) Prepare home folder to be stored using cryfs misc.gocryptfs.test_module() Test gocryptfs encryption of a user called test

14.4 misc.gtkwidgets

14.5 misc.i18n

Internationalisation helper functions (read languagelist.data) misc.i18n.get_languages(language_list=’data/languagelist.data.gz’, current_language_index=-1) Returns a tuple of (current language, sorted choices, display map). misc.i18n.utf8(my_string, errors=’strict’) Decode a string as UTF-8 if it isn’t already Unicode.

14.6 misc.keyboard_names

Parse base.xml class misc.keyboard_names.KeyboardNames(filename) Read all keyboard info (models, layouts and variants) get_layout(name) Get layout by its name

14.3. misc.gocryptfs 41 Cnchi Documentation, Release 0.16.x

get_layout_by_description(description) Get layout by its description get_layout_description(name) Get layout description by its name get_layout_name_by_description(description) Get layout name by its description get_layouts() Return all layouts get_variant_description(name, variant_name) Get variant description by its name (and layout name) get_variant_descriptions(name) Get all variant descriptions for layout ‘name’ get_variant_name_by_description(description) Get variant name by its description get_variants(name) Get layout variants has_variants(name) Check if layout has variants sort_layouts() Sort stored layouts class misc.keyboard_names.Layout(name, short_description, description, language_list) Keymap layout add_variant(variant) Add new layout variant sort_variants() Sort variants class misc.keyboard_names.Model(name, description, vendor) Represents a keyboard model class misc.keyboard_names.Variant(name, short_description, description, language_list) Keymap variant layout misc.keyboard_names.test() Test module

14.7 misc.nm

14.8 misc.osextras

Module with some os helper functions misc.osextras.find_on_path(command) Is command on the executable search path? misc.osextras.find_on_path_root(root, command) Is command on the executable search path relative to root?

42 Chapter 14. misc (module) Cnchi Documentation, Release 0.16.x

misc.osextras.glob_root(root, pathname) Like glob.iglob, but resolved relative to root. pathname must be absolute. misc.osextras.realpath_root(root, filename) Like os.path.realpath, but resolved relative to root. filename must be absolute. misc.osextras.unlink_force(path) Unlink path, without worrying about whether it exists.

14.9 misc.run_cmd

Chroot related functions. Used in the installation process misc.run_cmd.call(cmd, warning=True, error=False, fatal=False, msg=None, timeout=None, stdin=None, debug=True) Helper function to make a system call warning: If true will log a warning message if an error is detected error: If true will log an error message if an error is detected fatal: If true will log an error message AND will raise an InstallError exception msg: Error message to log (if empty the command called will be logged) misc.run_cmd.chroot_call(cmd, chroot_dir=’/install’, fatal=False, msg=None, timeout=None, stdin=None) Runs command inside the chroot misc.run_cmd.ensured_executable(cmd) Ensures file is executable before attempting to execute it. Args: cmd (list): The command to check. Returns: True if successful, False otherwise. misc.run_cmd.log_exception_info() This function logs information about the exception that is currently being handled. The information returned is specific both to the current thread and to the current stack frame. misc.run_cmd.popen(cmd, warning=True, error=False, fatal=False, msg=None, stdin=-1) Helper function that calls Popen (useful if we need to use pipes)

14.10 misc.tz

Timezone and location information (used by timezonemap) class misc.tz.Iso3166 Read Iso 3166 xml file handle_entries(entries) Handle file entries handle_entry(entry) Handle a file entry class misc.tz.Location(zonetab_line, iso3166) Class to store a location get_info() Get location info get_property(prop) Get object property (see above)

14.9. misc.run_cmd 43 Cnchi Documentation, Release 0.16.x

get_raw_utc_offset() Get UTC offset get_utc_offset() Get UTC offset (checks DST) is_dst() Is DST on set_property(prop, value) Set object property (see above) class misc.tz.SystemTzInfo(timezone=None) Class that represents current timezone info dst(dt) Get Daylight Saving Time delta get_daylight() Get daylight is_dst(my_datetime) Are we in DST? rawutcoffset(unused_dt) Get UTC offset tzname(unused_dt) Return timezone tzname_letters(my_datetime) Get localtime utcoffset(dt) Get utc offset (taking dst into account) misc.tz.get_database() Function that simulates a class that stores a timezone/location database globaly

14.11 misc.validation

Validation module misc.validation.check(element, value) Check element value misc.validation.check_grub_device(device) Check that the user entered a valid boot device. @return True if the device is valid, False if it is not. misc.validation.check_hostname(name) Check the correctness of a proposed host name. @return empty list (valid) or list of: • {NAME_LENGTH} wrong length. • C{NAME_BADCHAR} contains invalid characters. • C{NAME_BADHYPHEN} starts or ends with a hyphen. • C{NAME_BADDOTS} contains consecutive/initial/final dots.

44 Chapter 14. misc (module) Cnchi Documentation, Release 0.16.x misc.validation.check_password(password, verified_password, password_ok, pass- word_error_label, strength, allow_empty=False) Check user password This function expects Gtk widgets as parameters misc.validation.check_username(name) Check the correctness of a proposed user name. @return empty list (valid) or list of: • C{NAME_LENGTH} wrong length. • C{NAME_BADCHAR} contains invalid characters. • C{NAME_BADHYPHEN} starts or ends with a hyphen. • C{NAME_BADDOTS} contains consecutive/initial/final dots. misc.validation.human_password_strength(password) Converts password strength to a human message misc.validation.password_strength(password) Checks password strength

14.11. misc.validation 45 Cnchi Documentation, Release 0.16.x

46 Chapter 14. misc (module) CHAPTER 15

proxy

47 Cnchi Documentation, Release 0.16.x

48 Chapter 15. proxy CHAPTER 16

rank_mirrors

49 Cnchi Documentation, Release 0.16.x

50 Chapter 16. rank_mirrors CHAPTER 17

show_message

51 Cnchi Documentation, Release 0.16.x

52 Chapter 17. show_message CHAPTER 18

test_page

53 Cnchi Documentation, Release 0.16.x

54 Chapter 18. test_page CHAPTER 19

update_db

Updates mirrorlists and databases update_db.sync() Synchronize cached writes to persistent storage update_db.test() Tests this module update_db.update_mirrorlists() Make sure we have the latest mirrorlist files

55 Cnchi Documentation, Release 0.16.x

56 Chapter 19. update_db CHAPTER 20

Indices and tables

• genindex • modindex • search

57 Cnchi Documentation, Release 0.16.x

58 Chapter 20. Indices and tables Python Module Index

b installation.action, 27 bootinfo,1 installation.auto_partition, 27 installation.boot.grub2, 28 c installation.boot.loader, 29 config,7 installation.boot.refind, 29 installation.boot.systemd_boot, 30 d installation.firewall, 30 installation.lamp desktop_info,9 , 30 installation.lemp download.download_requests, 11 , 30 installation.mkinitcpio, 31 f installation.post_features, 31 installation.post_fstab, 31 features_info, 13 installation.post_install, 32 h installation.services, 33 installation.special_dirs, 34 hardware.hardware , 17 installation.systemd_networkd, 34 hardware.modules.amdgpu , 19 installation.wrapper, 34 hardware.modules.amdgpu_exp, 18 hardware.modules.broadcom_b43, 19 l hardware.modules.broadcom_b43_legacy, logging_utils, 35 19 hardware.modules.broadcom_wl, 19 m hardware.modules.catalyst, 19 misc.extra, 39 hardware.modules.etouchscreen, 20 misc.gocryptfs, 41 hardware.modules.fingerprint, 20 misc.i18n, 41 hardware.modules.firewire, 20 misc.keyboard_names, 41 hardware.modules.i915, 20 misc.osextras, 42 hardware.modules.nouveau, 20 misc.run_cmd, 43 hardware.modules.nvidia, 22 misc.tz, 43 hardware.modules.nvidia_304xx, 21 misc.validation, 44 hardware.modules.nvidia_340xx, 21 hardware.modules.nvidia_390xx, 21 u hardware.modules.radeon, 22 update_db, 55 hardware.modules.uvesafb, 22 hardware.modules.via, 22 hardware.modules.virtualbox, 23 hardware.modules.vmware, 23 i info, 25

59 Cnchi Documentation, Release 0.16.x

60 Python Module Index Index

A Catalyst (class in hardware.modules.catalyst), 19 Action (class in installation.action), 27 cdrom_mount_info() (in module misc.extra), 39 add_connection_watch() (in module misc.extra), 39 change_user_password() (installa- add_repositories() (hardware.modules.catalyst.Catalyst tion.post_install.PostInstallation static method), static method), 19 32 add_variant() (misc.keyboard_names.Layout method), 42 check() (in module misc.validation), 44 add_vol_to_crypttab() (installation.post_fstab.PostFstab check_btrfs() (installation.post_install.PostInstallation static method), 31 method), 32 ADVANCED (in module features_info), 13 check_device() (hardware.hardware.Hardware method), ALL_FEATURES (in module desktop_info),9 17 alsa_mixer_setup() (installa- check_grub_device() (in module misc.validation), 44 tion.post_install.PostInstallation static method), check_hostname() (in module misc.validation), 44 32 check_password() (in module misc.validation), 44 AMDGpu (class in hardware.modules.amdgpu), 19 check_pid() (in module misc.extra), 39 AMDGpuExp (class in hardware.modules.amdgpu_exp), check_root_uuid_in_grub() (installa- 18 tion.boot.grub2.Grub2 method), 29 apache_setup() (in module installation.lamp), 30 check_username() (in module misc.validation), 45 apply_osprober_patch() (installation.boot.grub2.Grub2 chroot() (hardware.hardware.Hardware static method), 17 method), 28 chroot_call() (in module misc.run_cmd), 43 auto_timesetting() (installa- close_antergos_luks_devices() (in module installa- tion.post_install.PostInstallation static method), tion.auto_partition), 28 32 CNCHI_RELEASE_STAGE (in module info), 25 AutoPartition (class in installation.auto_partition), 27 CNCHI_VERSION (in module info), 25 CNCHI_WEBSITE (in module info), 25 B config (module),7 configure_system() (installa- bootinfo (module),1 tion.post_install.PostInstallation method), Bootloader (class in installation.boot.loader), 29 32 BroadcomB43 (class in hard- ContextFilter (class in logging_utils), 35 ware.modules.broadcom_b43), 19 copy_logs() (installation.post_install.PostInstallation BroadcomB43Legacy (class in hard- method), 32 ware.modules.broadcom_b43_legacy), 19 copy_luks_keyfiles() (installa- BroadcomWl (class in hardware.modules.broadcom_wl), tion.auto_partition.AutoPartition method), 19 27 bugsnag_before_notify_callback() (log- copy_network_config() (installa- ging_utils.ContextFilter method), 35 tion.post_install.PostInstallation static method), C 32 CopyToCache (class in download.download_requests), 11 call() (in module misc.run_cmd), 43 copytree() (in module misc.extra), 39 call_script() (hardware.hardware.Hardware method), 17 create_bool() (in module misc.extra), 39

61 Cnchi Documentation, Release 0.16.x create_filesystems() (installa- freeze_unfreeze_xfs() (installa- tion.auto_partition.AutoPartition method), tion.boot.loader.Bootloader method), 29 27 G D get() (config.Settings method),7 DESCRIPTIONS (in module desktop_info),9 get_and_save_install_id() (logging_utils.ContextFilter DESCRIPTIONS (in module features_info), 13 method), 35 DESKTOP_ICONS_PATH (in module desktop_info),9 get_bugsnag_api() (logging_utils.ContextFilter static desktop_info (module),9 method), 35 DESKTOPS (in module desktop_info),9 get_conflicts() (hardware.hardware.Hardware static DESKTOPS_A11Y (in module desktop_info),9 method), 17 DESKTOPS_DEV (in module desktop_info),9 get_conflicts() (hardware.hardware.HardwareInstall detect() (hardware.hardware.Hardware method), 17 method), 18 detect_devices() (hardware.hardware.HardwareInstall get_conflicts() (hardware.modules.nouveau.Nouveau method), 18 static method), 20 dmimodel() (in module misc.extra), 39 get_conflicts() (hardware.modules.nvidia.Nvidia static Download (class in download.download_requests), 11 method), 22 download.download_requests (module), 11 get_conflicts() (hardware.modules.nvidia_304xx.Nvidia304xx download_package() (down- static method), 21 load.download_requests.Download method), get_conflicts() (hardware.modules.nvidia_340xx.Nvidia340xx 11 static method), 21 download_url() (download.download_requests.Download get_conflicts() (hardware.modules.nvidia_390xx.Nvidia390xx method), 11 static method), 21 drop_all_privileges() (in module misc.extra), 39 get_cpu() (in module installation.mkinitcpio), 31 drop_privileges() (in module misc.extra), 39 get_database() (in module misc.tz), 44 drop_privileges_save() (in module misc.extra), 39 get_daylight() (misc.tz.SystemTzInfo method), 44 dst() (misc.tz.SystemTzInfo method), 44 get_device_fstab_line() (installation.post_fstab.PostFstab static method), 31 E get_devices() (hardware.hardware.HardwareInstall static enable_aur_in_pamac() (installa- method), 18 tion.post_features.PostFeatures static method), get_devices() (installation.auto_partition.AutoPartition 31 method), 27 enable_services() (in module installation.services), 33 get_disk_size() (installation.auto_partition.AutoPartition ensured_executable() (in module misc.run_cmd), 43 method), 27 ETouchScreen (class in hardware.modules.etouchscreen), get_found_driver_names() (hard- 20 ware.hardware.HardwareInstall method), EXCLUDED_FEATURES (in module desktop_info),9 18 get_fs_devices() (installa- F tion.auto_partition.AutoPartition method), features_info (module), 13 27 filter() (logging_utils.ContextFilter method), 35 get_info() (misc.tz.Location method), 43 filter_log_lines() (logging_utils.ContextFilter static get_installed_kernel_versions() (installa- method), 35 tion.post_install.PostInstallation static method), find_on_path() (in module misc.osextras), 42 32 find_on_path_root() (in module misc.osextras), 42 get_installed_zfs_version() (installa- FingerPrint (class in hardware.modules.fingerprint), 20 tion.post_install.PostInstallation static method), Firewire (class in hardware.modules.firewire), 20 32 fix_thermald_service() (installa- get_languages() (in module misc.i18n), 41 tion.post_install.PostInstallation static method), get_layout() (misc.keyboard_names.KeyboardNames 32 method), 41 format_progress_message() (down- get_layout_by_description() load.download_requests.Download static (misc.keyboard_names.KeyboardNames method), 11 method), 42 format_size() (in module misc.extra), 40

62 Index Cnchi Documentation, Release 0.16.x get_layout_description() (misc.keyboard_names.KeyboardNames method), 22 method), 42 get_packages() (hardware.modules.via.Via static get_layout_name_by_description() method), 22 (misc.keyboard_names.KeyboardNames get_packages() (hardware.modules.virtualbox.Virtualbox method), 42 static method), 23 get_layouts() (misc.keyboard_names.KeyboardNames get_packages() (hardware.modules.vmware.Vmware method), 42 static method), 23 get_md5() (in module download.download_requests), 12 get_part_sizes() (installation.auto_partition.AutoPartition get_mount_devices() (installa- method), 28 tion.auto_partition.AutoPartition method), get_partition_path() (installa- 27 tion.auto_partition.AutoPartition static get_mount_options() (installation.post_fstab.PostFstab method), 28 static method), 32 get_partitions() (in module misc.extra), 40 get_name() (hardware.hardware.Hardware method), 17 get_priority() (hardware.hardware.Hardware method), 17 get_network() (in module misc.extra), 40 get_prop() (in module misc.extra), 40 get_nm_state() (in module misc.extra), 40 get_property() (misc.tz.Location method), 43 get_os_dict() (in module bootinfo),1 get_raw_utc_offset() (misc.tz.Location method), 43 get_packages() (hardware.hardware.Hardware method), get_swap_fstab_line() (installation.post_fstab.PostFstab 17 method), 32 get_packages() (hardware.hardware.HardwareInstall get_uid_gid() (in module misc.extra), 40 method), 18 get_url_for_id_request() (logging_utils.ContextFilter get_packages() (hardware.modules.amdgpu.AMDGpu method), 35 static method), 19 get_utc_offset() (misc.tz.Location method), 44 get_packages() (hardware.modules.amdgpu_exp.AMDGpuExpget_uuid_fstab_line() (installation.post_fstab.PostFstab static method), 18 static method), 32 get_packages() (hardware.modules.broadcom_b43.BroadcomB43get_variant_description() static method), 19 (misc.keyboard_names.KeyboardNames get_packages() (hardware.modules.broadcom_b43_legacy.BroadcomB43Legacymethod), 42 static method), 19 get_variant_descriptions() get_packages() (hardware.modules.broadcom_wl.BroadcomWl (misc.keyboard_names.KeyboardNames static method), 19 method), 42 get_packages() (hardware.modules.catalyst.Catalyst get_variant_name_by_description() static method), 19 (misc.keyboard_names.KeyboardNames get_packages() (hardware.modules.etouchscreen.ETouchScreen method), 42 static method), 20 get_variants() (misc.keyboard_names.KeyboardNames get_packages() (hardware.modules.fingerprint.FingerPrint method), 42 static method), 20 glob_root() (in module misc.osextras), 42 get_packages() (hardware.modules.firewire.Firewire Grub2 (class in installation.boot.grub2), 28 static method), 20 grub_ripper() (installation.boot.grub2.Grub2 static get_packages() (hardware.modules.i915.Intel915 static method), 29 method), 20 gtk_refresh() (in module misc.extra), 40 get_packages() (hardware.modules.nouveau.Nouveau static method), 20 H get_packages() (hardware.modules.nvidia.Nvidia static handle_entries() (misc.tz.Iso3166 method), 43 method), 22 handle_entry() (misc.tz.Iso3166 method), 43 get_packages() (hardware.modules.nvidia_304xx.Nvidia304xxHardware (class in hardware.hardware), 17 static method), 21 hardware.hardware (module), 17 get_packages() (hardware.modules.nvidia_340xx.Nvidia340xxhardware.modules.amdgpu (module), 19 static method), 21 hardware.modules.amdgpu_exp (module), 18 get_packages() (hardware.modules.nvidia_390xx.Nvidia390xxhardware.modules.broadcom_b43 (module), 19 static method), 21 hardware.modules.broadcom_b43_legacy (module), 19 get_packages() (hardware.modules.radeon.Radeon static hardware.modules.broadcom_wl (module), 19 method), 22 hardware.modules.catalyst (module), 19 get_packages() (hardware.modules.uvesafb.VesaFB static hardware.modules.etouchscreen (module), 20

Index 63 Cnchi Documentation, Release 0.16.x hardware.modules.fingerprint (module), 20 is_graphic_driver() (hardware.hardware.Hardware hardware.modules.firewire (module), 20 method), 17 hardware.modules.i915 (module), 20 is_hash_ok() (download.download_requests.Download hardware.modules.nouveau (module), 20 method), 11 hardware.modules.nvidia (module), 22 is_partition_extended() (in module misc.extra), 40 hardware.modules.nvidia_304xx (module), 21 is_proprietary() (hardware.hardware.Hardware static hardware.modules.nvidia_340xx (module), 21 method), 17 hardware.modules.nvidia_390xx (module), 21 is_proprietary() (hardware.modules.amdgpu.AMDGpu hardware.modules.radeon (module), 22 static method), 19 hardware.modules.uvesafb (module), 22 is_proprietary() (hardware.modules.amdgpu_exp.AMDGpuExp hardware.modules.via (module), 22 static method), 18 hardware.modules.virtualbox (module), 23 is_proprietary() (hardware.modules.broadcom_wl.BroadcomWl hardware.modules.vmware (module), 23 static method), 19 HardwareInstall (class in hardware.hardware), 18 is_proprietary() (hardware.modules.catalyst.Catalyst has_connection() (in module misc.extra), 40 static method), 19 has_variants() (misc.keyboard_names.KeyboardNames is_proprietary() (hardware.modules.i915.Intel915 static method), 42 method), 20 human_password_strength() (in module misc.validation), is_proprietary() (hardware.modules.nouveau.Nouveau 45 static method), 21 is_proprietary() (hardware.modules.nvidia.Nvidia static I method), 22 ICON_NAMES (in module features_info), 13 is_proprietary() (hardware.modules.nvidia_304xx.Nvidia304xx info (module), 25 static method), 21 install() (installation.boot.grub2.Grub2 method), 29 is_proprietary() (hardware.modules.nvidia_340xx.Nvidia340xx install() (installation.boot.loader.Bootloader method), 29 static method), 21 install() (installation.boot.refind.REFInd method), 29 is_proprietary() (hardware.modules.nvidia_390xx.Nvidia390xx install() (installation.boot.systemd_boot.SystemdBoot static method), 21 method), 30 is_proprietary() (hardware.modules.radeon.Radeon static install_bios() (installation.boot.grub2.Grub2 method), 29 method), 22 install_efi() (installation.boot.grub2.Grub2 method), 29 is_proprietary() (hardware.modules.via.Via static install_locales() (installation.boot.grub2.Grub2 method), method), 22 29 is_removable() (in module misc.extra), 40 installation.action (module), 27 is_swap() (in module misc.extra), 40 installation.auto_partition (module), 27 is_wireless_enabled() (in module misc.extra), 40 installation.boot.grub2 (module), 28 Iso3166 (class in misc.tz), 43 installation.boot.loader (module), 29 installation.boot.refind (module), 29 K installation.boot.systemd_boot (module), 30 KeyboardNames (class in misc.keyboard_names), 41 installation.firewall (module), 30 installation.lamp (module), 30 L installation.lemp (module), 30 Layout (class in misc.keyboard_names), 42 installation.mkinitcpio (module), 31 LIBS (in module desktop_info),9 installation.post_features (module), 31 load_pci_file() (hardware.hardware.Hardware method), installation.post_fstab (module), 31 18 installation.post_install (module), 32 Location (class in misc.tz), 43 installation.services (module), 33 log_exception_info() (in module misc.run_cmd), 43 installation.special_dirs (module), 34 log_part_sizes() (installation.auto_partition.AutoPartition installation.systemd_networkd (module), 34 method), 28 installation.wrapper (module), 34 logging_utils (module), 35 InstallError, 39 Intel915 (class in hardware.modules.i915), 20 M is_dst() (misc.tz.Location method), 44 mariadb_setup() (in module installation.lamp), 30 is_dst() (misc.tz.SystemTzInfo method), 44 mariadb_setup() (in module installation.lemp), 30 mask_services() (in module installation.services), 33

64 Index Cnchi Documentation, Release 0.16.x misc.extra (module), 39 post_install() (hardware.modules.amdgpu_exp.AMDGpuExp misc.gocryptfs (module), 41 method), 18 misc.i18n (module), 41 post_install() (hardware.modules.broadcom_b43.BroadcomB43 misc.keyboard_names (module), 41 static method), 19 misc.osextras (module), 42 post_install() (hardware.modules.broadcom_b43_legacy.BroadcomB43Legacy misc.run_cmd (module), 43 static method), 19 misc.tz (module), 43 post_install() (hardware.modules.broadcom_wl.BroadcomWl misc.validation (module), 44 static method), 19 mkfs() (installation.auto_partition.AutoPartition method), post_install() (hardware.modules.catalyst.Catalyst 28 method), 20 Model (class in misc.keyboard_names), 42 post_install() (hardware.modules.etouchscreen.ETouchScreen modify_grub_default() (installation.boot.grub2.Grub2 static method), 20 method), 29 post_install() (hardware.modules.fingerprint.FingerPrint modify_makepkg() (installa- method), 20 tion.post_install.PostInstallation static method), post_install() (hardware.modules.firewire.Firewire 32 method), 20 mount() (in module installation.special_dirs), 34 post_install() (hardware.modules.i915.Intel915 static mount_info() (in module misc.extra), 40 method), 20 post_install() (hardware.modules.nouveau.Nouveau static N method), 21 NAMES (in module desktop_info),9 post_install() (hardware.modules.nvidia.Nvidia static nano_setup() (installation.post_install.PostInstallation method), 22 static method), 32 post_install() (hardware.modules.nvidia_304xx.Nvidia304xx nginx_setup() (in module installation.lemp), 30 static method), 21 Nouveau (class in hardware.modules.nouveau), 20 post_install() (hardware.modules.nvidia_340xx.Nvidia340xx Nvidia (class in hardware.modules.nvidia), 22 static method), 21 Nvidia304xx (class in hardware.modules.nvidia_304xx), post_install() (hardware.modules.nvidia_390xx.Nvidia390xx 21 static method), 22 Nvidia340xx (class in hardware.modules.nvidia_340xx), post_install() (hardware.modules.radeon.Radeon static 21 method), 22 Nvidia390xx (class in hardware.modules.nvidia_390xx), post_install() (hardware.modules.uvesafb.VesaFB 21 method), 22 post_install() (hardware.modules.via.Via static method), P 22 pamac_setup() (installation.post_install.PostInstallation post_install() (hardware.modules.virtualbox.Virtualbox method), 32 static method), 23 parted_mklabel() (in module installation.wrapper), 34 post_install() (hardware.modules.vmware.Vmware static parted_mkpart() (in module installation.wrapper), 34 method), 23 parted_set() (in module installation.wrapper), 34 PostFeatures (class in installation.post_features), 31 partition_exists() (in module misc.extra), 40 PostFstab (class in installation.post_fstab), 31 partition_to_disk() (in module misc.extra), 40 PostInstallation (class in installation.post_install), 32 password_strength() (in module misc.validation), 45 pre_install() (hardware.hardware.Hardware method), 18 patch_user_dirs_update_gtk() (installa- pre_install() (hardware.hardware.HardwareInstall tion.post_install.PostInstallation static method), method), 18 33 pre_install() (hardware.modules.amdgpu.AMDGpu php_setup() (in module installation.lamp), 30 method), 19 php_setup() (in module installation.lemp), 30 pre_install() (hardware.modules.amdgpu_exp.AMDGpuExp popen() (in module misc.run_cmd), 43 method), 18 post_install() (hardware.hardware.Hardware method), 18 pre_install() (hardware.modules.catalyst.Catalyst post_install() (hardware.hardware.HardwareInstall method), 20 method), 18 prepare_grub_d() (installation.boot.grub2.Grub2 post_install() (hardware.modules.amdgpu.AMDGpu method), 29 method), 19 printk() (in module installation.auto_partition), 28 PRIORITY (in module hardware.modules.nvidia), 22

Index 65 Cnchi Documentation, Release 0.16.x

PRIORITY (in module hardware.modules.nvidia_304xx), send_install_result() (logging_utils.ContextFilter 21 method), 35 PRIORITY (in module hardware.modules.nvidia_340xx), SESSIONS (in module desktop_info),9 21 set() (config.Settings method),7 set_cursor() (in module misc.extra), 41 Q set_desktop_settings() (installa- queue_event() (download.download_requests.Download tion.post_install.PostInstallation method), method), 11 33 queue_event() (installation.auto_partition.AutoPartition set_fluidsynth() (installation.post_install.PostInstallation method), 28 static method), 33 queue_event() (installation.post_install.PostInstallation set_groups_for_uid() (in module misc.extra), 41 method), 33 set_grub_option() (installation.boot.grub2.Grub2 method), 29 R set_hooks_modules_and_files() (in module installa- Radeon (class in hardware.modules.radeon), 22 tion.mkinitcpio), 31 raise_privileges() (in module misc.extra), 40 set_kernel_lts() (installation.post_features.PostFeatures raised_privileges() (in module misc.extra), 40 method), 31 random_generator() (in module misc.extra), 40 set_kernel_lts_grub() (installa- rawutcoffset() (misc.tz.SystemTzInfo method), 44 tion.post_features.PostFeatures method), read_file_from_install() (installa- 31 tion.post_features.PostFeatures method), set_kernel_lts_refind() (installa- 31 tion.post_features.PostFeatures method), realpath_root() (in module misc.osextras), 43 31 rebuild_zfs_modules() (installa- set_kernel_lts_systemdboot() (installa- tion.post_install.PostInstallation method), tion.post_features.PostFeatures method), 33 31 REFInd (class in installation.boot.refind), 29 set_keymap() (installation.post_install.PostInstallation regain_privileges() (in module misc.extra), 40 method), 33 regain_privileges_save() (in module misc.extra), 40 set_property() (misc.tz.Location method), 44 remove_lvm() (in module installation.auto_partition), 28 set_scheduler() (installation.post_install.PostInstallation remove_temp_files() (in module misc.extra), 40 method), 33 run() (download.download_requests.CopyToCache Settings (class in config),7 method), 11 setup() (in module installation.lamp), 30 run() (in module installation.firewall), 30 setup() (in module installation.lemp), 31 run() (in module installation.mkinitcpio), 31 setup() (in module installation.systemd_networkd), 34 run() (installation.auto_partition.AutoPartition method), setup() (in module misc.gocryptfs), 41 28 setup() (installation.post_features.PostFeatures method), run() (installation.post_fstab.PostFstab method), 32 31 run_dd() (in module installation.wrapper), 34 setup_display_manager() (installa- run_gpt() (installation.auto_partition.AutoPartition tion.post_install.PostInstallation method), method), 28 33 run_lvm() (installation.auto_partition.AutoPartition setup_luks() (in module installation.auto_partition), 28 method), 28 setup_timesyncd() (installa- run_mbr() (installation.auto_partition.AutoPartition tion.post_install.PostInstallation static method), method), 28 33 run_mkconfig() (installation.boot.grub2.Grub2 method), setup_user() (installation.post_install.PostInstallation 29 method), 33 sgdisk() (in module installation.wrapper), 34 S sgdisk_new() (in module installation.wrapper), 34 scan_driver_modules() (hard- Singleton (class in logging_utils), 35 ware.hardware.HardwareInstall method), sort_layouts() (misc.keyboard_names.KeyboardNames 18 method), 42 select_combobox_value() (in module misc.extra), 41 sort_list() (in module misc.extra), 41 select_first_combobox_item() (in module misc.extra), 41 sort_variants() (misc.keyboard_names.Layout method),

66 Index Cnchi Documentation, Release 0.16.x

42 start() (download.download_requests.Download method), 12 sync() (in module update_db), 55 SystemdBoot (class in installation.boot.systemd_boot), 30 SystemTzInfo (class in misc.tz), 44 T test() (in module hardware.hardware), 18 test() (in module misc.keyboard_names), 42 test() (in module update_db), 55 test_module() (in module installation.boot.grub2), 29 test_module() (in module misc.gocryptfs), 41 TITLES (in module features_info), 13 TOOLTIPS (in module features_info), 13 tzname() (misc.tz.SystemTzInfo method), 44 tzname_letters() (misc.tz.SystemTzInfo method), 44 U udevadm_info() (in module misc.extra), 41 umount() (in module installation.special_dirs), 34 uncomment_locale_gen() (installa- tion.post_install.PostInstallation static method), 33 unlink_force() (in module misc.osextras), 43 unmount() (in module installation.auto_partition), 28 unmount_all_in_device() (in module installa- tion.auto_partition), 28 unmount_all_in_directory() (in module installa- tion.auto_partition), 28 update_db (module), 55 update_mirrorlists() (in module update_db), 55 update_pacman_conf() (installa- tion.post_install.PostInstallation static method), 33 utcoffset() (misc.tz.SystemTzInfo method), 44 utf8() (in module misc.extra), 41 utf8() (in module misc.i18n), 41 V Variant (class in misc.keyboard_names), 42 VesaFB (class in hardware.modules.uvesafb), 22 Via (class in hardware.modules.via), 22 Virtualbox (class in hardware.modules.virtualbox), 23 Vmware (class in hardware.modules.vmware), 23 W windows_startup_folder() (in module bootinfo),1 wipefs() (in module installation.wrapper), 34

Index 67