From 65b58f115c1850f9d879336492f20eae5d87bf00 Mon Sep 17 00:00:00 2001 From: Logan G Date: Wed, 17 May 2023 22:11:46 -0600 Subject: [PATCH] It works :) --- LICENSE | 674 ------------------ README.md | 13 - VERSION | 1 - .../NetworkManager/conf.d/wifi_backend.conf | 2 - airootfs/etc/hostname | 2 +- airootfs/etc/locale.conf | 2 +- airootfs/etc/mkinitcpio.conf | 2 +- .../{linux-lts.preset => linux-zen.preset} | 4 +- airootfs/etc/motd | 5 + .../etc/pacman.d/hooks/40-locale-gen.hook | 13 - airootfs/etc/skel/.config/foot/foot.ini | 179 +++++ .../etc/skel/.config/gtk-3.0/settings.ini | 18 +- .../etc/skel/.config/gtk-4.0/settings.ini | 18 +- airootfs/etc/skel/.config/labwc/autostart | 25 + airootfs/etc/skel/.config/labwc/environment | 5 + airootfs/etc/skel/.config/labwc/menu.xml | 39 + airootfs/etc/skel/.config/labwc/rc.xml | 65 ++ airootfs/etc/skel/.config/nwg-panel/config | 19 +- airootfs/etc/skel/.config/qt5ct/qt5ct.conf | 1 + airootfs/etc/skel/.config/qt6ct/qt6ct.conf | 1 + airootfs/etc/skel/.config/waybar/labwc | 11 + airootfs/etc/skel/.config/waybar/modules | 188 +++++ airootfs/etc/skel/.config/waybar/style.css | 285 ++++++++ airootfs/etc/skel/.config/wayfire.ini | 13 +- airootfs/etc/skel/.config/wf-shell.ini | 17 +- airootfs/etc/skel/.gtkrc-2.0 | 16 +- .../skel/.librewolf/librewolf.overrides.cfg | 2 + airootfs/etc/ssh/sshd_config | 6 +- airootfs/etc/sudoers.d/wheel | 2 +- airootfs/etc/sudoers.d/wheel.conf | 0 .../etc/systemd/network/20-ethernet.network | 3 + .../systemd-gpt-auto-generator | 1 + .../dbus-org.freedesktop.timesync1.service | 1 + .../systemd/system/etc-pacman.d-gnupg.mount | 4 +- .../getty@tty1.service.d/autologin.conf | 2 +- .../ModemManager.service | 1 + .../hv_fcopy_daemon.service | 1 + .../hv_kvp_daemon.service | 1 + .../hv_vss_daemon.service | 1 + .../qemu-guest-agent.service | 1 - .../vboxservice.service | 1 + .../multi-user.target.wants/vmtoolsd.service | 1 + .../vmware-vmblock-fuse.service | 1 + .../etc/systemd/system/pacman-init.service | 4 +- .../systemd-time-wait-sync.service | 1 + .../systemd-timesyncd.service | 1 + .../default.target.wants/pipewire.service | 1 - airootfs/etc/xdg/reflector/reflector.conf | 2 + airootfs/root/.zlogin | 2 +- airootfs/usr/local/bin/wlr-randr | Bin 55344 -> 0 bytes .../entries/01-archiso-x86_64-linux-lts.conf | 6 - .../entries/01-archiso-x86_64-linux.conf | 7 + .../02-archiso-x86_64-speech-linux-lts.conf | 6 - .../02-archiso-x86_64-speech-linux.conf | 7 + .../03-archiso-x86_64-ram-linux-lts.conf | 6 - efiboot/loader/loader.conf | 3 +- grub/grub.cfg | 93 +++ packages.x86_64 | 131 +++- profiledef.sh | 11 +- syslinux/archiso_head.cfg | 2 +- syslinux/archiso_pxe-linux-lts.cfg | 32 - syslinux/archiso_pxe-linux.cfg | 32 + syslinux/archiso_pxe.cfg | 2 +- syslinux/archiso_sys-linux-lts.cfg | 31 - syslinux/archiso_sys-linux.cfg | 30 + syslinux/archiso_sys.cfg | 2 +- syslinux/archiso_tail.cfg | 6 +- 67 files changed, 1209 insertions(+), 856 deletions(-) delete mode 100644 LICENSE delete mode 100644 README.md delete mode 100644 VERSION delete mode 100644 airootfs/etc/NetworkManager/conf.d/wifi_backend.conf rename airootfs/etc/mkinitcpio.d/{linux-lts.preset => linux-zen.preset} (59%) delete mode 100644 airootfs/etc/pacman.d/hooks/40-locale-gen.hook create mode 100644 airootfs/etc/skel/.config/foot/foot.ini create mode 100644 airootfs/etc/skel/.config/labwc/autostart create mode 100644 airootfs/etc/skel/.config/labwc/environment create mode 100644 airootfs/etc/skel/.config/labwc/menu.xml create mode 100644 airootfs/etc/skel/.config/labwc/rc.xml create mode 100644 airootfs/etc/skel/.config/waybar/labwc create mode 100644 airootfs/etc/skel/.config/waybar/modules create mode 100644 airootfs/etc/skel/.config/waybar/style.css create mode 100644 airootfs/etc/skel/.librewolf/librewolf.overrides.cfg delete mode 100644 airootfs/etc/sudoers.d/wheel.conf create mode 120000 airootfs/etc/systemd/system-generators/systemd-gpt-auto-generator create mode 120000 airootfs/etc/systemd/system/dbus-org.freedesktop.timesync1.service create mode 120000 airootfs/etc/systemd/system/multi-user.target.wants/ModemManager.service create mode 120000 airootfs/etc/systemd/system/multi-user.target.wants/hv_fcopy_daemon.service create mode 120000 airootfs/etc/systemd/system/multi-user.target.wants/hv_kvp_daemon.service create mode 120000 airootfs/etc/systemd/system/multi-user.target.wants/hv_vss_daemon.service delete mode 120000 airootfs/etc/systemd/system/multi-user.target.wants/qemu-guest-agent.service create mode 120000 airootfs/etc/systemd/system/multi-user.target.wants/vboxservice.service create mode 120000 airootfs/etc/systemd/system/multi-user.target.wants/vmtoolsd.service create mode 120000 airootfs/etc/systemd/system/multi-user.target.wants/vmware-vmblock-fuse.service create mode 120000 airootfs/etc/systemd/system/sysinit.target.wants/systemd-time-wait-sync.service create mode 120000 airootfs/etc/systemd/system/sysinit.target.wants/systemd-timesyncd.service delete mode 120000 airootfs/etc/systemd/user/default.target.wants/pipewire.service delete mode 100755 airootfs/usr/local/bin/wlr-randr delete mode 100644 efiboot/loader/entries/01-archiso-x86_64-linux-lts.conf create mode 100644 efiboot/loader/entries/01-archiso-x86_64-linux.conf delete mode 100644 efiboot/loader/entries/02-archiso-x86_64-speech-linux-lts.conf create mode 100644 efiboot/loader/entries/02-archiso-x86_64-speech-linux.conf delete mode 100644 efiboot/loader/entries/03-archiso-x86_64-ram-linux-lts.conf create mode 100644 grub/grub.cfg delete mode 100644 syslinux/archiso_pxe-linux-lts.cfg create mode 100644 syslinux/archiso_pxe-linux.cfg delete mode 100644 syslinux/archiso_sys-linux-lts.cfg create mode 100644 syslinux/archiso_sys-linux.cfg diff --git a/LICENSE b/LICENSE deleted file mode 100644 index f288702..0000000 --- a/LICENSE +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. diff --git a/README.md b/README.md deleted file mode 100644 index 739f080..0000000 --- a/README.md +++ /dev/null @@ -1,13 +0,0 @@ -# Solarity Liveboot -A livebootable ISO based on Archiso designed for system testing and recovery. - -# Building -### Requirements: -- Arch Linux Root -- `archiso` package - -### Building: -Execute `build.sh` as root. - -# License -This project is licensed under GPLv3. diff --git a/VERSION b/VERSION deleted file mode 100644 index d3827e7..0000000 --- a/VERSION +++ /dev/null @@ -1 +0,0 @@ -1.0 diff --git a/airootfs/etc/NetworkManager/conf.d/wifi_backend.conf b/airootfs/etc/NetworkManager/conf.d/wifi_backend.conf deleted file mode 100644 index 515c976..0000000 --- a/airootfs/etc/NetworkManager/conf.d/wifi_backend.conf +++ /dev/null @@ -1,2 +0,0 @@ -[device] -wifi.backend=iwd diff --git a/airootfs/etc/hostname b/airootfs/etc/hostname index 766bd50..db900df 100644 --- a/airootfs/etc/hostname +++ b/airootfs/etc/hostname @@ -1 +1 @@ -solliveboot +solarityliveboot diff --git a/airootfs/etc/locale.conf b/airootfs/etc/locale.conf index 01ec548..f9c983c 100644 --- a/airootfs/etc/locale.conf +++ b/airootfs/etc/locale.conf @@ -1 +1 @@ -LANG=en_US.UTF-8 +LANG=C.UTF-8 diff --git a/airootfs/etc/mkinitcpio.conf b/airootfs/etc/mkinitcpio.conf index f57dbdd..96a8752 100644 --- a/airootfs/etc/mkinitcpio.conf +++ b/airootfs/etc/mkinitcpio.conf @@ -49,7 +49,7 @@ FILES=() # ## NOTE: If you have /usr on a separate partition, you MUST include the # usr, fsck and shutdown hooks. -HOOKS=(base udev modconf memdisk archiso archiso_loop_mnt archiso_pxe_common archiso_pxe_nbd archiso_pxe_http archiso_pxe_nfs archiso_kms block filesystems keyboard) +HOOKS=(base udev modconf kms memdisk archiso archiso_loop_mnt archiso_pxe_common archiso_pxe_nbd archiso_pxe_http archiso_pxe_nfs block filesystems keyboard) # COMPRESSION # Use this to compress the initramfs image. By default, gzip compression diff --git a/airootfs/etc/mkinitcpio.d/linux-lts.preset b/airootfs/etc/mkinitcpio.d/linux-zen.preset similarity index 59% rename from airootfs/etc/mkinitcpio.d/linux-lts.preset rename to airootfs/etc/mkinitcpio.d/linux-zen.preset index 39c6910..55096d9 100644 --- a/airootfs/etc/mkinitcpio.d/linux-lts.preset +++ b/airootfs/etc/mkinitcpio.d/linux-zen.preset @@ -2,7 +2,7 @@ PRESETS=('archiso') -ALL_kver='/boot/vmlinuz-linux-lts' +ALL_kver='/boot/vmlinuz-linux-zen' ALL_config='/etc/mkinitcpio.conf' -archiso_image="/boot/initramfs-linux-lts.img" +archiso_image="/boot/initramfs-linux-zen.img" diff --git a/airootfs/etc/motd b/airootfs/etc/motd index a80df40..e51bb93 100644 --- a/airootfs/etc/motd +++ b/airootfs/etc/motd @@ -1 +1,6 @@ Welcome to Solarity Liveboot! + +Default password for the solarity account is `solarity` + +Type `labwc` to launch a GUI. + diff --git a/airootfs/etc/pacman.d/hooks/40-locale-gen.hook b/airootfs/etc/pacman.d/hooks/40-locale-gen.hook deleted file mode 100644 index 82dd199..0000000 --- a/airootfs/etc/pacman.d/hooks/40-locale-gen.hook +++ /dev/null @@ -1,13 +0,0 @@ -# remove from airootfs! -[Trigger] -Operation = Install -Type = Package -Target = glibc - -[Action] -Description = Uncommenting en_US.UTF-8 locale and running locale-gen... -When = PostTransaction -Depends = glibc -Depends = sed -Depends = sh -Exec = /bin/sh -c "sed -i 's/#\(en_US\.UTF-8\)/\1/' /etc/locale.gen && locale-gen" diff --git a/airootfs/etc/skel/.config/foot/foot.ini b/airootfs/etc/skel/.config/foot/foot.ini new file mode 100644 index 0000000..bbb3d72 --- /dev/null +++ b/airootfs/etc/skel/.config/foot/foot.ini @@ -0,0 +1,179 @@ +# -*- conf -*- + +# shell=$SHELL (if set, otherwise user's default shell from /etc/passwd) +# term=foot (or xterm-256color if built with -Dterminfo=disabled) +# login-shell=no + +# app-id=foot +# title=foot +# locked-title=no + +font=monospace:size=8, Symbols Nerd Font:size=8 +# font-bold= +# font-italic= +# font-bold-italic= +# line-height= +# letter-spacing=0 +# horizontal-letter-offset=0 +# vertical-letter-offset=0 +# underline-offset= +# box-drawings-uses-font-glyphs=no +# dpi-aware=yes + +# initial-window-size-pixels=700x500 # Or, +# initial-window-size-chars= +# initial-window-mode=windowed +# pad=2x2 # optionally append 'center' +# resize-delay-ms=100 + +# notify=notify-send -a ${app-id} -i ${app-id} ${title} ${body} + +# bold-text-in-bright=no +# word-delimiters=,│`|:"'()[]{}<> +# selection-target=primary +# workers= + +[bell] +# urgent=no +# notify=no +# command= +# command-focused=no + +[scrollback] +# lines=1000 +# multiplier=3.0 +# indicator-position=relative +# indicator-format= + +[url] +# launch=xdg-open ${url} +# label-letters=sadfjklewcmpgh +# osc8-underline=url-mode +# protocols=http, https, ftp, ftps, file, gemini, gopher +# uri-characters=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+="' + +[cursor] +# style=block +# color=111111 dcdccc +# blink=no +# beam-thickness=1.5 +# underline-thickness= + +[mouse] +# hide-when-typing=no +# alternate-scroll-mode=yes + +[colors] +alpha=0.8 +foreground=eaeaea +background=000000 + +## Normal/regular colors (color palette 0-7) +regular0=000000 # black +regular1=b21818 # red +regular2=18b218 # green +regular3=b26818 # yellow +regular4=1818b2 # blue +regular5=b218b2 # magenta +regular6=18b2b2 # cyan +regular7=b2b2b2 # white + +## Bright colors (color palette 8-15) +bright0=686868 # bright black +bright1=ff5454 # bright red +bright2=54ff54 # bright green +bright3=ffff54 # bright yellow +bright4=5454ff # bright blue +bright5=ff54ff # bright magenta +bright6=54ffff # bright cyan +bright7=ffffff # bright white + +## dimmed colors (see foot.ini(5) man page) +# dim0= +# ... +# dim7= + +## The remaining 256-color palette +# 16 = <256-color palette #16> +# ... +# 255 = <256-color palette #255> + +## Misc colors +# selection-foreground= +# selection-background= +# jump-labels= +# urls= +# scrollback-indicator= + +[csd] +# preferred=server +# size=26 +# font= +# color= +# border-width=0 +# border-color= +# button-width=26 +# button-color= +# button-minimize-color= +# button-maximize-color= +# button-close-color= + +[key-bindings] +# scrollback-up-page=Shift+Page_Up +# scrollback-up-half-page=none +# scrollback-up-line=none +# scrollback-down-page=Shift+Page_Down +# scrollback-down-half-page=none +# scrollback-down-line=none +# clipboard-copy=Control+Shift+c XF86Copy +# clipboard-paste=Control+Shift+v XF86Paste +# primary-paste=Shift+Insert +# search-start=Control+Shift+r +# font-increase=Control+plus Control+equal Control+KP_Add +# font-decrease=Control+minus Control+KP_Subtract +# font-reset=Control+0 Control+KP_0 +# spawn-terminal=Control+Shift+n +# minimize=none +# maximize=none +# fullscreen=none +# pipe-visible=[sh -c "xurls | fuzzel | xargs -r firefox"] none +# pipe-scrollback=[sh -c "xurls | fuzzel | xargs -r firefox"] none +# pipe-selected=[xargs -r firefox] none +# show-urls-launch=Control+Shift+u +# show-urls-copy=none +# noop=none + +[search-bindings] +# cancel=Control+g Control+c Escape +# commit=Return +# find-prev=Control+r +# find-next=Control+s +# cursor-left=Left Control+b +# cursor-left-word=Control+Left Mod1+b +# cursor-right=Right Control+f +# cursor-right-word=Control+Right Mod1+f +# cursor-home=Home Control+a +# cursor-end=End Control+e +# delete-prev=BackSpace +# delete-prev-word=Mod1+BackSpace Control+BackSpace +# delete-next=Delete +# delete-next-word=Mod1+d Control+Delete +# extend-to-word-boundary=Control+w +# extend-to-next-whitespace=Control+Shift+w +# clipboard-paste=Control+v Control+y +# primary-paste=Shift+Insert + +[url-bindings] +# cancel=Control+g Control+c Control+d Escape +# toggle-url-visible=t + +[mouse-bindings] +# selection-override-modifiers=Shift +# primary-paste=BTN_MIDDLE +# select-begin=BTN_LEFT +# select-begin-block=Control+BTN_LEFT +# select-extend=BTN_RIGHT +# select-extend-character-wise=Control+BTN_RIGHT +# select-word=BTN_LEFT-2 +# select-word-whitespace=Control+BTN_LEFT-2 +# select-row=BTN_LEFT-3 diff --git a/airootfs/etc/skel/.config/gtk-3.0/settings.ini b/airootfs/etc/skel/.config/gtk-3.0/settings.ini index 5748723..6c288cb 100644 --- a/airootfs/etc/skel/.config/gtk-3.0/settings.ini +++ b/airootfs/etc/skel/.config/gtk-3.0/settings.ini @@ -1,6 +1,18 @@ [Settings] gtk-theme-name=Adwaita-dark -gtk-application-prefer-dark-theme=true -gtk-icon-theme-name=Qogir-dark -gtk-cursor-theme-name=Qogir +gtk-icon-theme-name=Papirus-Dark +gtk-font-name=Sans 11 +gtk-cursor-theme-name=Adwaita gtk-cursor-theme-size=0 +gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ +gtk-toolbar-icon-size=GTK_ICON_SIZE_SMALL_TOOLBAR +gtk-button-images=0 +gtk-menu-images=0 +gtk-enable-event-sounds=0 +gtk-enable-input-feedback-sounds=0 +gtk-xft-antialias=1 +gtk-xft-hinting=1 +gtk-xft-hintstyle=hintslight +gtk-xft-rgba=rgb +gtk-application-prefer-dark-theme=1 +# gtk-decoration-layout=menu:close diff --git a/airootfs/etc/skel/.config/gtk-4.0/settings.ini b/airootfs/etc/skel/.config/gtk-4.0/settings.ini index 5748723..6c288cb 100644 --- a/airootfs/etc/skel/.config/gtk-4.0/settings.ini +++ b/airootfs/etc/skel/.config/gtk-4.0/settings.ini @@ -1,6 +1,18 @@ [Settings] gtk-theme-name=Adwaita-dark -gtk-application-prefer-dark-theme=true -gtk-icon-theme-name=Qogir-dark -gtk-cursor-theme-name=Qogir +gtk-icon-theme-name=Papirus-Dark +gtk-font-name=Sans 11 +gtk-cursor-theme-name=Adwaita gtk-cursor-theme-size=0 +gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ +gtk-toolbar-icon-size=GTK_ICON_SIZE_SMALL_TOOLBAR +gtk-button-images=0 +gtk-menu-images=0 +gtk-enable-event-sounds=0 +gtk-enable-input-feedback-sounds=0 +gtk-xft-antialias=1 +gtk-xft-hinting=1 +gtk-xft-hintstyle=hintslight +gtk-xft-rgba=rgb +gtk-application-prefer-dark-theme=1 +# gtk-decoration-layout=menu:close diff --git a/airootfs/etc/skel/.config/labwc/autostart b/airootfs/etc/skel/.config/labwc/autostart new file mode 100644 index 0000000..a386c57 --- /dev/null +++ b/airootfs/etc/skel/.config/labwc/autostart @@ -0,0 +1,25 @@ +# Just incase +systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP 2>&1 & +dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP 2>&1 & + +# Set Background +swaybg -i /usr/share/wallpapers/shell-edskeye-tiles.png -m fill >/dev/null 2>&1 & + +# Polkit +lxqt-policykit-agent >/dev/null 2>&1 & + +# Clipboard manager +wl-paste --type text --watch cliphist store 2>&1 & #Stores only text data +wl-paste --type image --watch cliphist store 2>&1 & #Stores only image data + +# Notifications +mako >/dev/null 2>&1 & + +# Foot Server +foot -s >/dev/null 2>&1 & + +# Panel +waybar -c ~/.config/waybar/labwc >/dev/null 2>&1 & + +# Drawer +nwggrid-server 2>&1 & diff --git a/airootfs/etc/skel/.config/labwc/environment b/airootfs/etc/skel/.config/labwc/environment new file mode 100644 index 0000000..0b13057 --- /dev/null +++ b/airootfs/etc/skel/.config/labwc/environment @@ -0,0 +1,5 @@ +XDG_CURRENT_DESKTOP=wlroots +MOZ_ENABLE_WAYLAND=1 +_JAVA_AWT_WM_NONREPARENTING=1 +QT_QPA_PLATFORMTHEME=qt5ct +TERMINAL=foot diff --git a/airootfs/etc/skel/.config/labwc/menu.xml b/airootfs/etc/skel/.config/labwc/menu.xml new file mode 100644 index 0000000..ae1b5b5 --- /dev/null +++ b/airootfs/etc/skel/.config/labwc/menu.xml @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + nwggrid -client + + + bemenu-run + + + + + + + + + systemctl -i poweroff + + + + diff --git a/airootfs/etc/skel/.config/labwc/rc.xml b/airootfs/etc/skel/.config/labwc/rc.xml new file mode 100644 index 0000000..2312249 --- /dev/null +++ b/airootfs/etc/skel/.config/labwc/rc.xml @@ -0,0 +1,65 @@ + + + + + server + 0 + + + + + + + 8 + + + + + no + no + + + + + 1 + yes + + + + + + + footclient + + + footclient + + + + nwg-drawer + + + + bemenu-run + + + + pactl set-sink-volume @DEFAULT_SINK@ -5% + + + + pactl set-sink-volume @DEFAULT_SINK@ +5% + + + pactl set-sink-mute @DEFAULT_SINK@ toggle + + + + light -A 5 + + + + light -U 5 + + + diff --git a/airootfs/etc/skel/.config/nwg-panel/config b/airootfs/etc/skel/.config/nwg-panel/config index f496b49..644619b 100644 --- a/airootfs/etc/skel/.config/nwg-panel/config +++ b/airootfs/etc/skel/.config/nwg-panel/config @@ -13,7 +13,7 @@ "padding-vertical": 0, "spacing": 0, "items-padding": 0, - "icons": "dark", + "icons": "light", "css-name": "panel-top", "modules-left": [ "button-drawer", @@ -53,12 +53,12 @@ "icon": "system-shutdown-symbolic", "items": [ { - "name": "Lock", - "cmd": "swaylock -f -c 000000" + "name": "Exit GUI", + "cmd": "pkill labwc" }, { - "name": "Logout", - "cmd": "swaymsg exit" + "name": "Lock", + "cmd": "swaylock -f -c 000000" }, { "name": "Reboot", @@ -151,6 +151,13 @@ "label-position": "bottom", "css-name": "", "icon-size": 16 + }, + "button-menu": { + "command": "nwg-menu", + "icon": "start-here", + "label": "", + "label-position": "bottom", + "css-name": "", + "icon-size": 16 } - } ] diff --git a/airootfs/etc/skel/.config/qt5ct/qt5ct.conf b/airootfs/etc/skel/.config/qt5ct/qt5ct.conf index f8e7e5e..f7bccc5 100644 --- a/airootfs/etc/skel/.config/qt5ct/qt5ct.conf +++ b/airootfs/etc/skel/.config/qt5ct/qt5ct.conf @@ -1,3 +1,4 @@ [Appearance] color_scheme_path=/usr/share/qt6ct/colors/darker.conf style=Adwaita-Dark +icon_theme=Papirus-Dark diff --git a/airootfs/etc/skel/.config/qt6ct/qt6ct.conf b/airootfs/etc/skel/.config/qt6ct/qt6ct.conf index f8e7e5e..f7bccc5 100644 --- a/airootfs/etc/skel/.config/qt6ct/qt6ct.conf +++ b/airootfs/etc/skel/.config/qt6ct/qt6ct.conf @@ -1,3 +1,4 @@ [Appearance] color_scheme_path=/usr/share/qt6ct/colors/darker.conf style=Adwaita-Dark +icon_theme=Papirus-Dark diff --git a/airootfs/etc/skel/.config/waybar/labwc b/airootfs/etc/skel/.config/waybar/labwc new file mode 100644 index 0000000..f690885 --- /dev/null +++ b/airootfs/etc/skel/.config/waybar/labwc @@ -0,0 +1,11 @@ +{ + "layer": "top", + "position": "top", + "height": 40, + + "modules-left": ["custom/drawer", "wlr/taskbar"], + //"modules-center": ["hyprland/window"], + "modules-right": ["pulseaudio", "backlight", "idle_inhibitor", "network", "battery", "clock", "tray"], + + "include": "~/.config/waybar/modules", +} diff --git a/airootfs/etc/skel/.config/waybar/modules b/airootfs/etc/skel/.config/waybar/modules new file mode 100644 index 0000000..d5770d9 --- /dev/null +++ b/airootfs/etc/skel/.config/waybar/modules @@ -0,0 +1,188 @@ + { + "sway/mode": { + "format": " {}" + }, + + "sway/workspaces": { + "format": "{name}", + "disable-scroll": true + }, + + "sway/window": { + "max-length": 80, + "tooltip": false + }, + + "hyprland/window": { + "max-length": 80, + "tooltip": false + }, + + "wlr/workspaces": { + "format": "{name}", + "sort-by-number": true + }, + + "clock": { + "format": "{:%a %d %b %H:%M:%S}", + "format-alt": "{:%H:%M:%S}", + "format-alt-click": "click-right", + + "interval": 1, + "tooltip": false + }, + + "clock#compact": { + "format": "{:%H:%M:%S}", + "format-alt": "{:%a %d %b %H:%M:%S}", + "format-alt-click": "click-right", + + "interval": 1, + "tooltip": false + }, + + "battery": { + "format": "{icon} {capacity}%", + //"format-alt": "{icon} {timeTo}", + + "format-icons": ["", "", "", "", ""], + //"format-icons": ["", "", "", "", "", "", "", "", "", "", ""], + + "format-charging": " {capacity}%", + "format-full": " {capacity}%", + + "interval": 2, + + "states": { + "warning": 25, + "critical": 10 + }, + + //"format-discharging-critical": " {capacity}%", + + "tooltip": true, + "tooltip-format": "Capacity: {capacity}%\n{timeTo}", + }, + + "network": { + "format": "{icon}", + + "format-alt": "{icon} {signalStrength}%", + "format-alt-click": "click-middle", + + "format-icons": { + "wifi": [""], + "ethernet": ["󰈀"], + "disconnected": ["󰈂"], + "linked": ["󱘖"] + }, + + "interval": 10, + + "on-click": "foot -W 80x24 -e nmtui", + + "tooltip": true, + "tooltip-format": "Connected via {ifname}\nIP: {ipaddr}/{cidr}\nBandwidth: {bandwidthDownBits} | {bandwidthUpBits}", + "tooltip-format-wifi": "Connected to {essid} on {ifname}\nSignal Strength: {signalStrength}% ({signaldBm}dBm)\nIP: {ipaddr}/{cidr}\nBandwidth: {bandwidthDownBits} | {bandwidthUpBits}", + "tooltip-format-disconnected": "Disconnected", + }, + + "pulseaudio": { + "format": "{icon} {volume}%", + "format-alt": "{icon}", + "format-alt-click": "click-right", + "format-muted": "󰝟", + "format-icons": { + //"phone": [" ", " ", " ", " "], + "default": ["󰕿", "󰖀", "󰕾"] + }, + "scroll-step": 5, + "on-click": "pavucontrol-qt", + "tooltip": false + }, + + "custom/spotify": { + "interval": 1, + "return-type": "json", + "exec": "~/.config/waybar/modules/spotify.sh", + "exec-if": "pgrep spotify", + "escape": true + }, + + "custom/storage": { + "format": "{} ", + "format-alt": "{percentage}% ", + "format-alt-click": "click-right", + "return-type": "json", + "interval": 60, + "exec": "~/.config/waybar/modules/storage.sh" + }, + + "backlight": { + "format": "{icon}", + "format-alt": "{percent}% {icon}", + "format-alt-click": "click-right", + "format-icons": ["󰃞", "󰃟", "󰃠"], + "on-scroll-down": "light -U 1", + "on-scroll-up": "light -A 1" + }, + + "custom/weather": { + "format": "{}", + "format-alt": "{alt}: {}", + "format-alt-click": "click-right", + "interval": 1800, + "return-type": "json", + "exec": "~/.config/waybar/modules/weather.sh", + "exec-if": "ping wttr.in -c1" + }, + + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + //"activated": "鬒", + "activated": "󰅶", + //"deactivated": "" + "deactivated": "󰛊" + }, + "tooltip": false + }, + + "custom/mail": { + "format": "", + "format-alt": "{alt} ", + "format-alt-click": "click-right", + "interval": 60, + "return-type": "json", + "exec": "~/.config/waybar/modules/mail.py", + "tooltip": false + }, + + "custom/test": { + "format": "{}", + "exec": "/tmp/test blub", + "param": "blah", + "interval": 5 + }, + + "custom/drawer": { + "format": "󰀻", + "on-click": "nwggrid -client", + "tooltip": "Applications Menu", + }, + + "wlr/taskbar": { + "format": "{icon}", + "icon-size": 20, + "tooltip-format": "{title}", + "on-click": "minimize-raise", + "on-click-middle": "close", + "app_ids-mapping": { + "firefoxdeveloperedition": "firefox-developer-edition" + } + }, + + "tray": { + "icon-size": 16 + } +} diff --git a/airootfs/etc/skel/.config/waybar/style.css b/airootfs/etc/skel/.config/waybar/style.css new file mode 100644 index 0000000..6fdad4b --- /dev/null +++ b/airootfs/etc/skel/.config/waybar/style.css @@ -0,0 +1,285 @@ +* { + /* `otf-font-awesome` is required to be installed for icons */ + font-family: "Symbols Nerd Font", Sans; + font-size: 13px; +} + +window#waybar { + background-color: rgba(43, 48, 59, 0.5); + border-bottom: 3px solid rgba(100, 114, 125, 0.5); + color: #ffffff; + transition-property: background-color; + transition-duration: .5s; +} + +window#waybar.hidden { + opacity: 0.2; +} + +/* +window#waybar.empty { + background-color: transparent; +} +window#waybar.solo { + background-color: #FFFFFF; +} +*/ + +window#waybar.termite { + background-color: #3F3F3F; +} + +window#waybar.chromium { + background-color: #000000; + border: none; +} + +button { + /* Use box-shadow instead of border so the text isn't offset */ + box-shadow: inset 0 -3px transparent; + /* Avoid rounded borders under each button name */ + border: none; + border-radius: 0; +} + +/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ +button:hover { + background: inherit; + box-shadow: inset 0 -3px #ffffff; +} + +#workspaces button { + padding: 0 5px; + background-color: transparent; + color: #ffffff; +} + +#workspaces button:hover { + background: rgba(0, 0, 0, 0.2); +} + +#workspaces button.focused { + background-color: #64727D; + box-shadow: inset 0 -3px #ffffff; +} + +#workspaces button.urgent { + background-color: #eb4d4b; +} + +#mode { + background-color: #64727D; + border-bottom: 3px solid #ffffff; +} + +#clock, +#battery, +#cpu, +#memory, +#disk, +#temperature, +#backlight, +#network, +#pulseaudio, +#wireplumber, +#custom-media, +#tray, +#mode, +#idle_inhibitor, +#scratchpad, +#mpd { + padding: 0 10px; + color: #ffffff; +} + +#window, +#workspaces { + margin: 0 4px; +} + +/* If workspaces is the leftmost module, omit left margin */ +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +/* If workspaces is the rightmost module, omit right margin */ +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} + +#clock { + background-color: #64727D; +} + +#battery { + background-color: #2d3436; +} + +#battery.charging, #battery.plugged, #battery.full { + color: #ffffff; + background-color: #26A65B; +} + +@keyframes blink { + to { + background-color: #ffffff; + color: #000000; + } +} + +#battery.critical:not(.charging) { + background-color: #f53c3c; + color: #ffffff; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +label:focus { + background-color: #000000; +} + +#cpu { + background-color: #2ecc71; + color: #000000; +} + +#memory { + background-color: #9b59b6; +} + +#disk { + background-color: #964B00; +} + +#backlight { + background-color: #90b1b1; +} + +#network { + background-color: #2980b9; +} + +#network.disconnected { + background-color: #f53c3c; +} + +#pulseaudio { + background-color: #f1c40f; + color: #000000; +} + +#pulseaudio.muted { + background-color: #90b1b1; + color: #2a5c45; +} + +#wireplumber { + background-color: #fff0f5; + color: #000000; +} + +#wireplumber.muted { + background-color: #f53c3c; +} + +#custom-media { + background-color: #66cc99; + color: #2a5c45; + min-width: 100px; +} + +#custom-media.custom-spotify { + background-color: #66cc99; +} + +#custom-media.custom-vlc { + background-color: #ffa000; +} + +#temperature { + background-color: #f0932b; +} + +#temperature.critical { + background-color: #eb4d4b; +} + +#tray { + background-color: #2980b9; +} + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; + background-color: #eb4d4b; +} + +#idle_inhibitor { + background-color: #2d3436; +} + +#idle_inhibitor.activated { + background-color: #ecf0f1; + color: #2d3436; +} + +#mpd { + background-color: #66cc99; + color: #2a5c45; +} + +#mpd.disconnected { + background-color: #f53c3c; +} + +#mpd.stopped { + background-color: #90b1b1; +} + +#mpd.paused { + background-color: #51a37a; +} + +#language { + background: #00b093; + color: #740864; + padding: 0 5px; + margin: 0 5px; + min-width: 16px; +} + +#keyboard-state { + background: #97e1ad; + color: #000000; + padding: 0 0px; + margin: 0 5px; + min-width: 16px; +} + +#keyboard-state > label { + padding: 0 5px; +} + +#keyboard-state > label.locked { + background: rgba(0, 0, 0, 0.2); +} + +#scratchpad { + background: rgba(0, 0, 0, 0.2); +} + +#scratchpad.empty { + background-color: transparent; +} + +#custom-drawer { + padding: 0 10px; + color: #ffffff; + font-size: 20px +} diff --git a/airootfs/etc/skel/.config/wayfire.ini b/airootfs/etc/skel/.config/wayfire.ini index a73df8d..d5fce00 100644 --- a/airootfs/etc/skel/.config/wayfire.ini +++ b/airootfs/etc/skel/.config/wayfire.ini @@ -1,6 +1,6 @@ [command] binding_terminal = KEY_T -command_terminal = foot +command_terminal = footclient repeatable_binding_volume_up = KEY_VOLUMEUP command_volume_up = pactl set-sink-volume @DEFAULT_SINK@ +5% @@ -17,6 +17,9 @@ command_light_down = light -U 5 binding_screenshot = KEY_PRINT command_screenshot = grim -g \"$(slurp)" - | swappy -f - +binding_drawer = +command_drawer = nwg-drawer + [vswitch] binding_0 = KEY_0 binding_1 = KEY_1 @@ -37,12 +40,16 @@ duration = 100 friction = 30.0 [autostart] -panel = nwg-panel +foot = foot -s background = swaybg -i /usr/share/wallpapers/shell-edskeye-tiles.png -m fill polkit = lxqt-policykit-agent +clipman = wl-paste -p -t text --watch clipman store --no-persist --histpath="/tmp/clipman.json" & [place] mode = cascade +[expo] +expo.toggle = KEY_TAB + [core] -plugins = core expo idle oswitch scale vswitch vswipe animate decoration autostart command input fast-switcher grid move place switcher +plugins = core expo idle oswitch scale vswitch vswipe animate autostart command input fast-switcher grid move place switcher diff --git a/airootfs/etc/skel/.config/wf-shell.ini b/airootfs/etc/skel/.config/wf-shell.ini index 20594cd..5b6b321 100644 --- a/airootfs/etc/skel/.config/wf-shell.ini +++ b/airootfs/etc/skel/.config/wf-shell.ini @@ -1,11 +1,22 @@ [background] #image = /usr/share/solarity/wallpaper.png #menu_icon = /usr/share/wayfire/icons/wayfire.png +image = /usr/share/wallpapers/shell-edskeye-tiles.png [panel] widgets_left = menu spacing4 launchers window-list -widgets_center = clock -widgets_right = volume network battery +widgets_center = none +widgets_right = volume network clock battery -minimal_height = 20 +background_color = gtk_headerbar +launcher_firefox = firefox.desktop +launcher_foot = footclient.desktop + +minimal_height = 30 network_status = 0 + +menu_fuzzy_search = 1 + +launchers_size = 20 +battery_icon_size = 20 +network_icon_size = 20 diff --git a/airootfs/etc/skel/.gtkrc-2.0 b/airootfs/etc/skel/.gtkrc-2.0 index b3c94c4..56615ba 100644 --- a/airootfs/etc/skel/.gtkrc-2.0 +++ b/airootfs/etc/skel/.gtkrc-2.0 @@ -1,4 +1,16 @@ gtk-theme-name="Adwaita-dark" -gtk-icon-theme-name="Qogir-dark" -gtk-cursor-theme-name="Qogir" +gtk-icon-theme-name="Papirus-Dark" +gtk-font-name="Sans 11" +gtk-cursor-theme-name="Adwaita" gtk-cursor-theme-size=0 +gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ +gtk-toolbar-icon-size=GTK_ICON_SIZE_SMALL_TOOLBAR +gtk-button-images=0 +gtk-menu-images=0 +gtk-enable-event-sounds=0 +gtk-enable-input-feedback-sounds=0 +gtk-xft-antialias=1 +gtk-xft-hinting=1 +gtk-xft-hintstyle="hintslight" +gtk-xft-rgba="rgb" +gtk-application-prefer-dark-theme=1 diff --git a/airootfs/etc/skel/.librewolf/librewolf.overrides.cfg b/airootfs/etc/skel/.librewolf/librewolf.overrides.cfg new file mode 100644 index 0000000..d723fc4 --- /dev/null +++ b/airootfs/etc/skel/.librewolf/librewolf.overrides.cfg @@ -0,0 +1,2 @@ +defaultPref("browser.display.use_system_colors", true); // Colors :) +defaultPerf("browser.tabs.inTitlebar", 0); // Use system titlebar instead of Firefox's diff --git a/airootfs/etc/ssh/sshd_config b/airootfs/etc/ssh/sshd_config index 93f7d63..dc22c11 100644 --- a/airootfs/etc/ssh/sshd_config +++ b/airootfs/etc/ssh/sshd_config @@ -58,7 +58,7 @@ AuthorizedKeysFile .ssh/authorized_keys #PermitEmptyPasswords no # Change to no to disable s/key passwords -#KbdInteractiveAuthentication yes +KbdInteractiveAuthentication no # Kerberos options #KerberosAuthentication no @@ -75,7 +75,7 @@ AuthorizedKeysFile .ssh/authorized_keys # be allowed through the KbdInteractiveAuthentication and # PasswordAuthentication. Depending on your PAM configuration, # PAM authentication via KbdInteractiveAuthentication may bypass -# the setting of "PermitRootLogin without-password". +# the setting of "PermitRootLogin prohibit-password". # If you just want the PAM account and session checks to run without # PAM authentication, then enable this but set PasswordAuthentication # and KbdInteractiveAuthentication to 'no'. @@ -88,7 +88,7 @@ UsePAM yes #X11DisplayOffset 10 #X11UseLocalhost yes #PermitTTY yes -PrintMotd no # pam does that +PrintMotd no #PrintLastLog yes #TCPKeepAlive yes #PermitUserEnvironment no diff --git a/airootfs/etc/sudoers.d/wheel b/airootfs/etc/sudoers.d/wheel index bbad988..40695bb 100644 --- a/airootfs/etc/sudoers.d/wheel +++ b/airootfs/etc/sudoers.d/wheel @@ -1 +1 @@ -%wheel ALL=(ALL:ALL) NOPASSWD: ALL +%wheel ALL=(ALL:ALL) ALL diff --git a/airootfs/etc/sudoers.d/wheel.conf b/airootfs/etc/sudoers.d/wheel.conf deleted file mode 100644 index e69de29..0000000 diff --git a/airootfs/etc/systemd/network/20-ethernet.network b/airootfs/etc/systemd/network/20-ethernet.network index f2a7d60..9ada778 100644 --- a/airootfs/etc/systemd/network/20-ethernet.network +++ b/airootfs/etc/systemd/network/20-ethernet.network @@ -1,4 +1,7 @@ [Match] +# Matching with "Type=ether" causes issues with containers because it also matches virtual Ethernet interfaces (veth*). +# See https://bugs.archlinux.org/task/70892 +# Instead match by globbing the network interface name. Name=en* Name=eth* diff --git a/airootfs/etc/systemd/system-generators/systemd-gpt-auto-generator b/airootfs/etc/systemd/system-generators/systemd-gpt-auto-generator new file mode 120000 index 0000000..dc1dc0c --- /dev/null +++ b/airootfs/etc/systemd/system-generators/systemd-gpt-auto-generator @@ -0,0 +1 @@ +/dev/null \ No newline at end of file diff --git a/airootfs/etc/systemd/system/dbus-org.freedesktop.timesync1.service b/airootfs/etc/systemd/system/dbus-org.freedesktop.timesync1.service new file mode 120000 index 0000000..cd00411 --- /dev/null +++ b/airootfs/etc/systemd/system/dbus-org.freedesktop.timesync1.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/systemd-timesyncd.service \ No newline at end of file diff --git a/airootfs/etc/systemd/system/etc-pacman.d-gnupg.mount b/airootfs/etc/systemd/system/etc-pacman.d-gnupg.mount index 4eab551..0ba0e67 100644 --- a/airootfs/etc/systemd/system/etc-pacman.d-gnupg.mount +++ b/airootfs/etc/systemd/system/etc-pacman.d-gnupg.mount @@ -2,7 +2,7 @@ Description=Temporary /etc/pacman.d/gnupg directory [Mount] -What=tmpfs +What=ramfs Where=/etc/pacman.d/gnupg -Type=tmpfs +Type=ramfs Options=mode=0755 diff --git a/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf b/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf index ed2da71..dabd190 100644 --- a/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf +++ b/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf @@ -1,3 +1,3 @@ [Service] ExecStart= -ExecStart=-/sbin/agetty --autologin solarity --noclear %I 38400 linux +ExecStart=-/sbin/agetty -o '-p -f -- \\u' --noclear --autologin solarity - $TERM diff --git a/airootfs/etc/systemd/system/multi-user.target.wants/ModemManager.service b/airootfs/etc/systemd/system/multi-user.target.wants/ModemManager.service new file mode 120000 index 0000000..dcf7c8e --- /dev/null +++ b/airootfs/etc/systemd/system/multi-user.target.wants/ModemManager.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/ModemManager.service \ No newline at end of file diff --git a/airootfs/etc/systemd/system/multi-user.target.wants/hv_fcopy_daemon.service b/airootfs/etc/systemd/system/multi-user.target.wants/hv_fcopy_daemon.service new file mode 120000 index 0000000..20ac7b2 --- /dev/null +++ b/airootfs/etc/systemd/system/multi-user.target.wants/hv_fcopy_daemon.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/hv_fcopy_daemon.service \ No newline at end of file diff --git a/airootfs/etc/systemd/system/multi-user.target.wants/hv_kvp_daemon.service b/airootfs/etc/systemd/system/multi-user.target.wants/hv_kvp_daemon.service new file mode 120000 index 0000000..a7eac4a --- /dev/null +++ b/airootfs/etc/systemd/system/multi-user.target.wants/hv_kvp_daemon.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/hv_kvp_daemon.service \ No newline at end of file diff --git a/airootfs/etc/systemd/system/multi-user.target.wants/hv_vss_daemon.service b/airootfs/etc/systemd/system/multi-user.target.wants/hv_vss_daemon.service new file mode 120000 index 0000000..eae19ef --- /dev/null +++ b/airootfs/etc/systemd/system/multi-user.target.wants/hv_vss_daemon.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/hv_vss_daemon.service \ No newline at end of file diff --git a/airootfs/etc/systemd/system/multi-user.target.wants/qemu-guest-agent.service b/airootfs/etc/systemd/system/multi-user.target.wants/qemu-guest-agent.service deleted file mode 120000 index 8e3ff80..0000000 --- a/airootfs/etc/systemd/system/multi-user.target.wants/qemu-guest-agent.service +++ /dev/null @@ -1 +0,0 @@ -/usr/lib/systemd/system/qemu-guest-agent.service \ No newline at end of file diff --git a/airootfs/etc/systemd/system/multi-user.target.wants/vboxservice.service b/airootfs/etc/systemd/system/multi-user.target.wants/vboxservice.service new file mode 120000 index 0000000..cb2d560 --- /dev/null +++ b/airootfs/etc/systemd/system/multi-user.target.wants/vboxservice.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/vboxservice.service \ No newline at end of file diff --git a/airootfs/etc/systemd/system/multi-user.target.wants/vmtoolsd.service b/airootfs/etc/systemd/system/multi-user.target.wants/vmtoolsd.service new file mode 120000 index 0000000..e0a11a7 --- /dev/null +++ b/airootfs/etc/systemd/system/multi-user.target.wants/vmtoolsd.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/vmtoolsd.service \ No newline at end of file diff --git a/airootfs/etc/systemd/system/multi-user.target.wants/vmware-vmblock-fuse.service b/airootfs/etc/systemd/system/multi-user.target.wants/vmware-vmblock-fuse.service new file mode 120000 index 0000000..173f306 --- /dev/null +++ b/airootfs/etc/systemd/system/multi-user.target.wants/vmware-vmblock-fuse.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/vmware-vmblock-fuse.service \ No newline at end of file diff --git a/airootfs/etc/systemd/system/pacman-init.service b/airootfs/etc/systemd/system/pacman-init.service index b18f7f8..b824884 100644 --- a/airootfs/etc/systemd/system/pacman-init.service +++ b/airootfs/etc/systemd/system/pacman-init.service @@ -1,7 +1,9 @@ [Unit] Description=Initializes Pacman keyring Requires=etc-pacman.d-gnupg.mount -After=etc-pacman.d-gnupg.mount +After=etc-pacman.d-gnupg.mount time-sync.target +BindsTo=etc-pacman.d-gnupg.mount +Before=archlinux-keyring-wkd-sync.service [Service] Type=oneshot diff --git a/airootfs/etc/systemd/system/sysinit.target.wants/systemd-time-wait-sync.service b/airootfs/etc/systemd/system/sysinit.target.wants/systemd-time-wait-sync.service new file mode 120000 index 0000000..cabf28b --- /dev/null +++ b/airootfs/etc/systemd/system/sysinit.target.wants/systemd-time-wait-sync.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/systemd-time-wait-sync.service \ No newline at end of file diff --git a/airootfs/etc/systemd/system/sysinit.target.wants/systemd-timesyncd.service b/airootfs/etc/systemd/system/sysinit.target.wants/systemd-timesyncd.service new file mode 120000 index 0000000..cd00411 --- /dev/null +++ b/airootfs/etc/systemd/system/sysinit.target.wants/systemd-timesyncd.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/systemd-timesyncd.service \ No newline at end of file diff --git a/airootfs/etc/systemd/user/default.target.wants/pipewire.service b/airootfs/etc/systemd/user/default.target.wants/pipewire.service deleted file mode 120000 index 47f171d..0000000 --- a/airootfs/etc/systemd/user/default.target.wants/pipewire.service +++ /dev/null @@ -1 +0,0 @@ -/usr/lib/systemd/user/pipewire.service \ No newline at end of file diff --git a/airootfs/etc/xdg/reflector/reflector.conf b/airootfs/etc/xdg/reflector/reflector.conf index 9a72b0d..7c830d2 100644 --- a/airootfs/etc/xdg/reflector/reflector.conf +++ b/airootfs/etc/xdg/reflector/reflector.conf @@ -1,6 +1,8 @@ # Reflector configuration file for the systemd service. --save /etc/pacman.d/mirrorlist +--ipv4 +--ipv6 --protocol https --latest 20 --sort rate diff --git a/airootfs/root/.zlogin b/airootfs/root/.zlogin index 0fb119d..bf6bc8f 100644 --- a/airootfs/root/.zlogin +++ b/airootfs/root/.zlogin @@ -1,5 +1,5 @@ # fix for screen readers -if grep -Fq 'accessibility=' /proc/cmdline &> /dev/null; then +if grep -Fqa 'accessibility=' /proc/cmdline &> /dev/null; then setopt SINGLE_LINE_ZLE fi diff --git a/airootfs/usr/local/bin/wlr-randr b/airootfs/usr/local/bin/wlr-randr deleted file mode 100755 index ef8cbeada6ceb365724c19312f1e2e297ea4bd1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55344 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 diff --git a/efiboot/loader/entries/01-archiso-x86_64-linux-lts.conf b/efiboot/loader/entries/01-archiso-x86_64-linux-lts.conf deleted file mode 100644 index 8cb306c..0000000 --- a/efiboot/loader/entries/01-archiso-x86_64-linux-lts.conf +++ /dev/null @@ -1,6 +0,0 @@ -title Solarity Liveboot (x86_64, UEFI) -linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-lts -initrd /%INSTALL_DIR%/boot/intel-ucode.img -initrd /%INSTALL_DIR%/boot/amd-ucode.img -initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux-lts.img -options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% diff --git a/efiboot/loader/entries/01-archiso-x86_64-linux.conf b/efiboot/loader/entries/01-archiso-x86_64-linux.conf new file mode 100644 index 0000000..1c2a7a8 --- /dev/null +++ b/efiboot/loader/entries/01-archiso-x86_64-linux.conf @@ -0,0 +1,7 @@ +title Arch Linux install medium (x86_64, UEFI) +sort-key 01 +linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux +initrd /%INSTALL_DIR%/boot/intel-ucode.img +initrd /%INSTALL_DIR%/boot/amd-ucode.img +initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img +options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% diff --git a/efiboot/loader/entries/02-archiso-x86_64-speech-linux-lts.conf b/efiboot/loader/entries/02-archiso-x86_64-speech-linux-lts.conf deleted file mode 100644 index 5319bdc..0000000 --- a/efiboot/loader/entries/02-archiso-x86_64-speech-linux-lts.conf +++ /dev/null @@ -1,6 +0,0 @@ -title Solarity Liveboot (x86_64, UEFI) with speech -linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-lts -initrd /%INSTALL_DIR%/boot/intel-ucode.img -initrd /%INSTALL_DIR%/boot/amd-ucode.img -initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux-lts.img -options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% accessibility=on diff --git a/efiboot/loader/entries/02-archiso-x86_64-speech-linux.conf b/efiboot/loader/entries/02-archiso-x86_64-speech-linux.conf new file mode 100644 index 0000000..64253d3 --- /dev/null +++ b/efiboot/loader/entries/02-archiso-x86_64-speech-linux.conf @@ -0,0 +1,7 @@ +title Arch Linux install medium (x86_64, UEFI) with speech +sort-key 02 +linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux +initrd /%INSTALL_DIR%/boot/intel-ucode.img +initrd /%INSTALL_DIR%/boot/amd-ucode.img +initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img +options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% accessibility=on diff --git a/efiboot/loader/entries/03-archiso-x86_64-ram-linux-lts.conf b/efiboot/loader/entries/03-archiso-x86_64-ram-linux-lts.conf deleted file mode 100644 index 1c7871d..0000000 --- a/efiboot/loader/entries/03-archiso-x86_64-ram-linux-lts.conf +++ /dev/null @@ -1,6 +0,0 @@ -title Solarity Liveboot (x86_64, UEFI, Copy to RAM) -linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-lts -initrd /%INSTALL_DIR%/boot/intel-ucode.img -initrd /%INSTALL_DIR%/boot/amd-ucode.img -initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux-lts.img -options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% copytoram diff --git a/efiboot/loader/loader.conf b/efiboot/loader/loader.conf index 2096116..2d137aa 100644 --- a/efiboot/loader/loader.conf +++ b/efiboot/loader/loader.conf @@ -1,2 +1,3 @@ timeout 15 -default 01-archiso-x86_64-linux-lts.conf +default 01-archiso-x86_64-linux.conf +beep on diff --git a/grub/grub.cfg b/grub/grub.cfg new file mode 100644 index 0000000..5bd6652 --- /dev/null +++ b/grub/grub.cfg @@ -0,0 +1,93 @@ +# Load partition table and file system modules +insmod part_gpt +insmod part_msdos +insmod fat +insmod iso9660 +insmod ntfs +insmod ntfscomp +insmod exfat +insmod udf + +# Use graphics-mode output +insmod all_video +insmod font +if loadfont "${prefix}/fonts/unicode.pf2" ; then + set gfxmode="auto" + terminal_input console + terminal_output console +fi + +# Enable serial console +if serial --unit=0 --speed=115200; then + terminal_input --append serial + terminal_output --append serial +fi + +# Search for the ISO volume +if [ -z "${ARCHISO_UUID}" ]; then + if [ -z "${ARCHISO_HINT}" ]; then + regexp --set=1:ARCHISO_HINT '^\(([^)]+)\)' "${cmdpath}" + fi + search --no-floppy --set=root --file '%ARCHISO_SEARCH_FILENAME%' --hint "${ARCHISO_HINT}" + probe --set ARCHISO_UUID --fs-uuid "${root}" +fi + +# Set default menu entry +default=archlinux +timeout=15 +timeout_style=menu + +# GRUB init tune for accessibility +play 600 988 1 1319 4 + +# Menu entries + +menuentry "Solarity Liveboot (x86_64, UEFI)" --class arch --class gnu-linux --class gnu --class os --id 'archlinux' { + set gfxpayload=keep + linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-zen archisobasedir=%INSTALL_DIR% archisodevice=UUID=${ARCHISO_UUID} + initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/x86_64/initramfs-linux-zen.img +} + +menuentry "Solarity Liveboot (x86_64, UEFI, copytoram)" --class arch --class gnu-linux --class gnu --class os --id 'archlinux-copytoram' { + set gfxpayload=keep + linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-zen archisobasedir=%INSTALL_DIR% archisodevice=UUID=${ARCHISO_UUID} copytoram + initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/x86_64/initramfs-linux-zen.img +} + +menuentry "Solarity Liveboot with speakup screen reader (x86_64, UEFI)" --hotkey s --class arch --class gnu-linux --class gnu --class os --id 'archlinux-accessibility' { + set gfxpayload=keep + linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-zen archisobasedir=%INSTALL_DIR% archisodevice=UUID=${ARCHISO_UUID} accessibility=on + initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/x86_64/initramfs-linux-zen.img +} + +if [ "${grub_platform}" == "efi" ]; then + if [ "${grub_cpu}" == "x86_64" ]; then + menuentry "Run Memtest86+ (RAM test)" --class memtest86 --class gnu --class tool { + set gfxpayload=800x600,1024x768 + linux /boot/memtest86+/memtest.efi + } + menuentry "UEFI Shell" { + insmod chain + chainloader /shellx64.efi + } + elif [ "${grub_cpu}" == "i386" ]; then + menuentry "UEFI Shell" { + insmod chain + chainloader /shellia32.efi + } + fi + + menuentry 'UEFI Firmware Settings' --id 'uefi-firmware' { + fwsetup + } +fi + +menuentry "System shutdown" --class shutdown --class poweroff { + echo "System shutting down..." + halt +} + +menuentry "System restart" --class reboot --class restart { + echo "System rebooting..." + reboot +} diff --git a/packages.x86_64 b/packages.x86_64 index 1b5a657..eeacce6 100644 --- a/packages.x86_64 +++ b/packages.x86_64 @@ -2,17 +2,19 @@ alsa-utils amd-ucode arch-install-scripts archinstall +b43-fwcutter base -bind-tools +base-devel +bind brltty btrfs-progs clonezilla -crda +cloud-init cryptsetup +darkhttpd ddrescue -dhclient -dhcpcd diffutils +dmidecode dmraid dnsmasq dosfstools @@ -29,43 +31,57 @@ openbsd-netcat gpart gpm gptfdisk +grml-zsh-config grub hdparm +hyperv intel-ucode irssi iw iwd jfsutils +kitty-terminfo less +lftp libfido2 libusb-compat -linux-lts +linux-zen linux-firmware +linux-firmware-marvell livecd-sounds lsscsi lvm2 +lynx man-db man-pages mc mdadm +memtest86+ +memtest86+-efi mkinitcpio mkinitcpio-archiso mkinitcpio-nfs-utils modemmanager -networkmanager mtools nano nbd ndisc6 nfs-utils +nilfs-utils nmap +ntfs-3g nvme-cli +open-iscsi +open-vm-tools openconnect openssh openvpn partclone parted partimage +pcsclite +ppp +pptpclient pv qemu-guest-agent refind @@ -73,6 +89,7 @@ reflector reiserfsprogs rp-pppoe rsync +rxvt-unicode-terminfo screen sdparm sg3_utils @@ -91,51 +108,117 @@ udftools usb_modeswitch usbmuxd usbutils -vim +neovim +neovim-qt +virtualbox-guest-utils-nox +vpnc wireless-regdb wireless_tools xfsprogs -firefox +librewolf +librewolf-extension-dark-reader +hunspell-en_US +speech-dispatcher gparted chaotic-keyring chaotic-mirrorlist -wayfire-git mesa vulkan-radeon vulkan-intel vulkan-tools -xorg-xwayland mesa-demos +mesa-utils htop qt5ct qt6ct gnome-themes-extra -adwaita-qt +adwaita-qt5 +adwaita-qt6 pipewire pipewire-jack pipewire-pulse -foot -mako light -grim -slurp -swappy -wdisplays -pavucontrol +pavucontrol-qt mpv yt-dlp lsof pcmanfm -nwg-panel -nwg-bar -swaybg -nwg-drawer polkit polkit-qt5 lxqt-policykit ipmitool iperf3 base-devel -paru kernel-modules-hook -qogir-icon-theme-git +playerctl +chntpw +curl +ddrescue +dd_rescue +dislocker +dvd+rw-tools +papirus-icon-theme +gawk +git +iftop +iotop +lm_sensors +minicom +net-tools +mlocate +p7zip +pciutils +pigz +pixz +zstd +python +python-pip +python-llfuse +python-yaml +rdesktop +remmina +rkhunter +run-parts +imv +memtester +ventoy-bin +xorg-xwayland +foot +mako +grim +slurp +swappy +wdisplays +nwg-panel +nwg-bar +swaybg +nwg-menu +nwg-launchers +cliphist +wl-clipboard +wl-clipboard-x11 +wf-recorder +bemenu-wayland +labwc +wlr-randr-git +waybar +zenmap-python3-git +ttf-nerd-fonts-symbols +networkmanager-iwd +ncdu +libqalculate +qalculate-gtk +tor-browser +v4l2loopback-dkms +v4l2loopback-utils +ffmpeg +xdg-desktop-portal-wlr +util-linux +wireguard-tools +chntpw +stress +s-tui +bless +rclone +hexedit +flashrom diff --git a/profiledef.sh b/profiledef.sh index a5ef9db..525271e 100644 --- a/profiledef.sh +++ b/profiledef.sh @@ -2,13 +2,15 @@ # shellcheck disable=SC2034 iso_name="solarityliveboot" -iso_label="SOL_$(date +%Y%m)" -iso_publisher="Solarity Industries" +iso_label="SOL_$(date --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +%Y%m)" +iso_publisher="Solarity Industries " iso_application="Solarity Liveboot ISO" -iso_version="$(date +%Y.%m.%d)" +iso_version="$(date --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +%Y.%m.%d)" install_dir="solboot" buildmodes=('iso') -bootmodes=('bios.syslinux.mbr' 'bios.syslinux.eltorito' 'uefi-x64.systemd-boot.esp' 'uefi-x64.systemd-boot.eltorito') +bootmodes=('bios.syslinux.mbr' 'bios.syslinux.eltorito' + 'uefi-ia32.grub.esp' 'uefi-x64.grub.esp' + 'uefi-ia32.grub.eltorito' 'uefi-x64.grub.eltorito') arch="x86_64" pacman_conf="pacman.conf" airootfs_image_type="squashfs" @@ -23,5 +25,4 @@ file_permissions=( ["/usr/local/bin/choose-mirror"]="0:0:755" ["/usr/local/bin/Installation_guide"]="0:0:755" ["/usr/local/bin/livecd-sound"]="0:0:755" - ["/usr/local/bin/wlr-randr"]="0:0:755" ) diff --git a/syslinux/archiso_head.cfg b/syslinux/archiso_head.cfg index 1154f78..671ab4e 100644 --- a/syslinux/archiso_head.cfg +++ b/syslinux/archiso_head.cfg @@ -12,7 +12,7 @@ MENU CMDLINEROW 14 MENU HELPMSGROW 16 MENU HELPMSGENDROW 29 -# Refer to http://syslinux.zytor.com/wiki/index.php/Doc/menu +# Refer to https://wiki.syslinux.org/wiki/index.php/Comboot/menu.c32 MENU COLOR border 30;44 #40ffffff #a0000000 std MENU COLOR title 1;36;44 #9033ccff #a0000000 std diff --git a/syslinux/archiso_pxe-linux-lts.cfg b/syslinux/archiso_pxe-linux-lts.cfg deleted file mode 100644 index 1c8a885..0000000 --- a/syslinux/archiso_pxe-linux-lts.cfg +++ /dev/null @@ -1,32 +0,0 @@ -LABEL arch64_nbd -TEXT HELP -Boot the Arch Linux install medium using NBD. -It allows you to install Arch Linux or perform system maintenance. -ENDTEXT -MENU LABEL Arch Linux install medium (x86_64, NBD) -LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-lts -INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux-lts.img -APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% archiso_nbd_srv=${pxeserver} checksum verify -SYSAPPEND 3 - -LABEL arch64_nfs -TEXT HELP -Boot the Arch Linux live medium using NFS. -It allows you to install Arch Linux or perform system maintenance. -ENDTEXT -MENU LABEL Arch Linux install medium (x86_64, NFS) -LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-lts -INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux-lts.img -APPEND archisobasedir=%INSTALL_DIR% archiso_nfs_srv=${pxeserver}:/run/archiso/bootmnt checksum verify -SYSAPPEND 3 - -LABEL arch64_http -TEXT HELP -Boot the Arch Linux live medium using HTTP. -It allows you to install Arch Linux or perform system maintenance. -ENDTEXT -MENU LABEL Arch Linux install medium (x86_64, HTTP) -LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-lts -INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux-lts.img -APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=http://${pxeserver}/ checksum verify -SYSAPPEND 3 diff --git a/syslinux/archiso_pxe-linux.cfg b/syslinux/archiso_pxe-linux.cfg new file mode 100644 index 0000000..b79b58f --- /dev/null +++ b/syslinux/archiso_pxe-linux.cfg @@ -0,0 +1,32 @@ +LABEL arch64_nbd +TEXT HELP +Boot the Solarity Liveboot install medium using NBD. +It allows you to install Solarity Liveboot or perform system maintenance. +ENDTEXT +MENU LABEL Solarity Liveboot install medium (x86_64, NBD) +LINUX ::/%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-zen +INITRD ::/%INSTALL_DIR%/boot/intel-ucode.img,::/%INSTALL_DIR%/boot/amd-ucode.img,::/%INSTALL_DIR%/boot/x86_64/initramfs-linux-zen.img +APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% archiso_nbd_srv=${pxeserver} cms_verify=y +SYSAPPEND 3 + +LABEL arch64_nfs +TEXT HELP +Boot the Solarity Liveboot live medium using NFS. +It allows you to install Solarity Liveboot or perform system maintenance. +ENDTEXT +MENU LABEL Solarity Liveboot install medium (x86_64, NFS) +LINUX ::/%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-zen +INITRD ::/%INSTALL_DIR%/boot/intel-ucode.img,::/%INSTALL_DIR%/boot/amd-ucode.img,::/%INSTALL_DIR%/boot/x86_64/initramfs-linux-zen.img +APPEND archisobasedir=%INSTALL_DIR% archiso_nfs_srv=${pxeserver}:/run/archiso/bootmnt cms_verify=y +SYSAPPEND 3 + +LABEL arch64_http +TEXT HELP +Boot the Solarity Liveboot live medium using HTTP. +It allows you to install Solarity Liveboot or perform system maintenance. +ENDTEXT +MENU LABEL Solarity Liveboot install medium (x86_64, HTTP) +LINUX ::/%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-zen +INITRD ::/%INSTALL_DIR%/boot/intel-ucode.img,::/%INSTALL_DIR%/boot/amd-ucode.img,::/%INSTALL_DIR%/boot/x86_64/initramfs-linux-zen.img +APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=http://${pxeserver}/ cms_verify=y +SYSAPPEND 3 diff --git a/syslinux/archiso_pxe.cfg b/syslinux/archiso_pxe.cfg index 4ea2f6f..b4c9a80 100644 --- a/syslinux/archiso_pxe.cfg +++ b/syslinux/archiso_pxe.cfg @@ -1,5 +1,5 @@ INCLUDE archiso_head.cfg -INCLUDE archiso_pxe-linux-lts.cfg +INCLUDE archiso_pxe-linux.cfg INCLUDE archiso_tail.cfg diff --git a/syslinux/archiso_sys-linux-lts.cfg b/syslinux/archiso_sys-linux-lts.cfg deleted file mode 100644 index 7cbd3fe..0000000 --- a/syslinux/archiso_sys-linux-lts.cfg +++ /dev/null @@ -1,31 +0,0 @@ -LABEL arch64 -TEXT HELP -Boot the Solarity Liveboot on BIOS. -It allows you to install Solarity Liveboot or perform system maintenance. -ENDTEXT -MENU LABEL Solarity Liveboot (x86_64, BIOS) -LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-lts -INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux-lts.img -APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% - -# Accessibility boot option -LABEL arch64speech -TEXT HELP -Boot the Solarity Liveboot on BIOS with speakup screen reader. -It allows you to install Solarity Liveboot or perform system maintenance with speech feedback. -ENDTEXT -MENU LABEL Solarity Liveboot (x86_64, BIOS) with ^speech -LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-lts -INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux-lts.img -APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% accessibility=on - -# Copy to RAM boot option -LABEL arch64ram -TEXT HELP -Boot the Solarity Liveboot on BIOS with Copy-to-RAM option -It allows you to install Solarity Liveboot or perform system maintenance. -ENDTEXT -MENU LABEL Solarity Liveboot (x86_64, BIOS, Copy to RAM) -LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-lts -INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux-lts.img -APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% copytoram diff --git a/syslinux/archiso_sys-linux.cfg b/syslinux/archiso_sys-linux.cfg new file mode 100644 index 0000000..8cc3415 --- /dev/null +++ b/syslinux/archiso_sys-linux.cfg @@ -0,0 +1,30 @@ +LABEL arch64 +TEXT HELP +Boots Solarity Liveboot via BIOS. +It allows you to install Arch Linux or perform system maintenance. +ENDTEXT +MENU LABEL Solarity Liveboot (x86_64, BIOS) +LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-zen +INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux-zen.img +APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% + +LABEL arch64 +TEXT HELP +Boots Solarity Liveboot via BIOS and copies the squashfs to RAM. +It allows you to install Arch Linux or perform system maintenance. +ENDTEXT +MENU LABEL Solarity Liveboot (x86_64, BIOS, copytoram) +LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-zen +INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux-zen.img +APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% copytoram + +# Accessibility boot option +LABEL arch64speech +TEXT HELP +Boots Solarity Liveboot via BIOS with speakup screen reader. +It allows you to install Arch Linux or perform system maintenance with speech feedback. +ENDTEXT +MENU LABEL Solarity Liveboot (x86_64, BIOS) with ^speech +LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux-zen +INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux-zen.img +APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% accessibility=on diff --git a/syslinux/archiso_sys.cfg b/syslinux/archiso_sys.cfg index 3a92c73..d93bcfe 100644 --- a/syslinux/archiso_sys.cfg +++ b/syslinux/archiso_sys.cfg @@ -3,6 +3,6 @@ INCLUDE archiso_head.cfg DEFAULT arch64 TIMEOUT 150 -INCLUDE archiso_sys-linux-lts.cfg +INCLUDE archiso_sys-linux.cfg INCLUDE archiso_tail.cfg diff --git a/syslinux/archiso_tail.cfg b/syslinux/archiso_tail.cfg index e5339a2..e84897c 100644 --- a/syslinux/archiso_tail.cfg +++ b/syslinux/archiso_tail.cfg @@ -7,12 +7,12 @@ MENU LABEL Boot existing OS COM32 chain.c32 APPEND hd0 0 -# http://www.memtest.org/ +# https://www.memtest.org/ LABEL memtest MENU LABEL Run Memtest86+ (RAM test) -LINUX /%INSTALL_DIR%/boot/memtest +LINUX /boot/memtest86+/memtest -# http://hdt-project.org/ +# https://wiki.syslinux.org/wiki/index.php/Hdt_(Hardware_Detection_Tool) LABEL hdt MENU LABEL Hardware Information (HDT) COM32 hdt.c32