Denis Polevoy
Installation alpine-standard-3.19.0-x86_64.iso
# cfdisk /dev/nvme0n1
Label: gpt
/dev/nvme0n1p1 256M EFI System
/dev/nvme0n1p2 32G Linux filesystem
/dev/nvme0n1p3 128G Linux filesystem
# mkfs.vfat -v -F 32 /dev/nvme0n1p1
# mkfs.ext4 -m 4 /dev/nvme0n1p2
# tune2fs -o journal_data_writeback /dev/nvme0n1p2
# mkfs.ext4 -m 0 /dev/nvme0n1p3
# tune2fs -o journal_data_writeback /dev/nvme0n1p3
login: root
# mount -t ext4 /dev/nvme0n1p2 /mnt
# mkdir /mnt/boot
# mount -t vfat /dev/nvme0n1p1 /mnt/boot
# mkdir /mnt/boot/EFI
# mkdir /mnt/home
# mount -t ext4 /dev/nvme0n1p3 /mnt/home
# setup-keymap us us
# setup-hostname
# /etc/init.d/hostname restart
# /etc/hosts
# setup-interfaces
# setup-dns
# setup-timezone
# /etc/init.d/networking start
# rc-update add networking boot
# setup-ntp
# setup-apkrepos
# apk add mc
# apk add lsblk
# apk add e2fsprogs-extra
# apk add cfdisk
# apk add dosfstools
# USE_EFI=1 DISKLABEL=gpt BOOTFS=vfat ROOTFS=ext4 setup-disk -v -s 0 -m sys /mnt
alpine-base
alpine-baselayout
alpine-baselayout-data
alpine-conf
alpine-keys
alpine-release
alpine-tools
busybox
busybox-binsh
busybox-mdev-openrc
busybox-openrc
busybox-suid
ca-certificates-bundle
dbus-libs
ifupdown-ng
ifupdown-ng-wifi
iw
libc-utils
libcap2
libcrypto3
libnl3
libssl3
mdev-conf
musl
musl-utils
openrc
openssl
pcsc-lite-libs
scanelf
ssl_client
wpa_supplicant
wpa-supplicant-openrc
zlib
# wget https://github.com/acidanthera/OpenCorePkg/releases/download/0.9.7/OpenCore-0.9.4-RELEASE.zip
# unzip -j OpenCore-0.9.7-RELEASE.zip X64/EFI/OC/Tools/OpenShell.efi -d /mnt/boot/EFI/
# mv /mnt/boot/EFI/OpenShell.efi /mnt/boot/EFI/shell.efi
# passwd
# umount -a
# reboot
login:root
/etc/apk/repositories
edge/main
edge/community
edge/testing
/etc/motd
W E L C O M E T O A L P I N E
# apk update
# apk upgrade
/etc/rc.conf
unicode="YES"
# apk add terminus-font
/etc/conf.d/consolefont
consolefont="ter-c32n.psf.gz"
# rc-update add consolefont boot
# apk add amd-ucode
# apk add refind
/etc/passwd
/root:/bin/bash
# rm ~/.ash_history
# refind-install
# apk del grub grub-efi
# rm -v -r /boot/grub /boot/EFI/alpine /boot/EFI/boot
/boot/EFI/refind/refind.conf
#
#
# refind.conf
# Configuration file for the rEFInd boot menu
#
# Timeout in seconds for the main menu screen. Setting the timeout to 0
# disables automatic booting (i.e., no timeout). Setting it to -1 causes
# an immediate boot to the default OS *UNLESS* a keypress is in the buffer
# when rEFInd launches, in which case that keypress is interpreted as a
# shortcut key. If no matching shortcut is found, rEFInd displays its
# menu with no timeout.
#
timeout 20
# Set the logging level. When set to 0, rEFInd does not log its actions.
# When set to 1 or above, rEFInd creates a file called refind.log in
# its home directory on the ESP and records information about what it's
# doing. Higher values record more information, up to a maximum of 4.
# This token should be left at the default of 0 except when debugging
# problems.
# Default value is 0
#
#log_level 1
# Normally, when the timeout period has passed, rEFInd boots the
# default_selection. If the following option is uncommented, though,
# rEFInd will instead attempt to shut down the computer.
# CAUTION: MANY COMPUTERS WILL INSTEAD HANG OR REBOOT! Macs and more
# recent UEFI-based PCs are most likely to work with this feature.
# Default value is true
#
#shutdown_after_timeout
# Whether to store rEFInd's rEFInd-specific variables in NVRAM (1, true,
# or on) or in files in the "vars" subdirectory of rEFInd's directory on
# disk (0, false, or off). Using NVRAM works well with most computers;
# however, it increases wear on the motherboard's NVRAM, and if the EFI
# is buggy or the NVRAM is old and worn out, it may not work at all.
# Storing variables on disk is a viable alternative in such cases, or
# if you want to minimize wear and tear on the NVRAM; however, it won't
# work if rEFInd is stored on a filesystem that's read-only to the EFI
# (such as an HFS+ volume), and it increases the risk of filesystem
# damage. Note that this option affects ONLY rEFInd's own variables,
# such as the PreviousBoot, HiddenTags, HiddenTools, and HiddenLegacy
# variables. It does NOT affect Secure Boot or other non-rEFInd
# variables.
# Default is true
#
use_nvram false
# Screen saver timeout; the screen blanks after the specified number of
# seconds with no keyboard input. The screen returns after most keypresses
# (unfortunately, not including modifier keys such as Shift, Control, Alt,
# or Option). Setting a value of "-1" causes rEFInd to start up with its
# screen saver active. The default is 0, which disables the screen saver.
#
#screensaver 300
# Hide user interface elements for personal preference or to increase
# security:
# banner - the rEFInd title banner (built-in or loaded via "banner")
# label - boot option text label in the menu
# singleuser - remove the submenu options to boot macOS in single-user
# or verbose modes; affects ONLY macOS
# safemode - remove the submenu option to boot macOS in "safe mode"
# hwtest - the submenu option to run Apple's hardware test
# arrows - scroll arrows on the OS selection tag line
# hints - brief command summary in the menu
# editor - the options editor (+, F2, or Insert on boot options menu)
# badges - device-type badges for boot options
# all - all of the above
# Default is none of these (all elements active)
#
#hideui singleuser
#hideui all
hideui banner
# Set the name of a subdirectory in which icons are stored. Icons must
# have the same names they have in the standard directory. The directory
# name is specified relative to the main rEFInd binary's directory. If
# an icon can't be found in the specified directory, an attempt is made
# to load it from the default directory; thus, you can replace just some
# icons in your own directory and rely on the default for others.
# Icon files may be in any supported format -- ICNS (*.icns), BMP (*.bmp),
# PNG (*.png), or JPEG (*.jpg or *.jpeg); however, rEFInd's BMP and JPEG
# implementations do not support transparency, which is highly desirable
# in icons.
# Default is "icons".
#
#icons_dir myicons
#icons_dir icons/snowy
# Use a custom title banner instead of the rEFInd icon and name. The file
# path is relative to the directory where refind.efi is located. The color
# in the top left corner of the image is used as the background color
# for the menu screens. Currently uncompressed BMP images with color
# depths of 24, 8, 4 or 1 bits are supported, as well as PNG and JPEG
# images. (ICNS images can also be used, but ICNS has limitations that
# make it a poor choice for this purpose.) PNG and JPEG support is
# limited by the underlying libraries; some files, like progressive JPEGs,
# will not work.
#
#banner hostname.bmp
#banner mybanner.jpg
#banner icons/snowy/banner-snowy.png
# Specify how to handle banners that aren't exactly the same as the screen
# size:
# noscale - Crop if too big, show with border if too small
# fillscreen - Fill the screen
# Default is noscale
#
#banner_scale fillscreen
# Icon sizes. All icons are square, so just one value is specified. The
# big icons are used for OS selectors in the first row and the small
# icons are used for tools on the second row. Drive-type badges are 1/4
# the size of the big icons. Legal values are 32 and above. If the icon
# files do not hold icons of the proper size, the icons are scaled to
# the specified size. The default values are 48 and 128 for small and
# big icons, respectively.
#
#small_icon_size 96
#big_icon_size 256
# Custom images for the selection background. There is a big one (144 x 144)
# for the OS icons, and a small one (64 x 64) for the function icons in the
# second row. If only a small image is given, that one is also used for
# the big icons by stretching it in the middle. If only a big one is given,
# the built-in default will be used for the small icons. If an image other
# than the optimal size is specified, it will be scaled in a way that may
# be ugly.
#
# Like the banner option above, these options take a filename of an
# uncompressed BMP, PNG, JPEG, or ICNS image file with a color depth of
# 24, 8, 4, or 1 bits. The PNG or ICNS format is required if you need
# transparency support (to let you "see through" to a full-screen banner).
#
#selection_big selection-big.bmp
#selection_small selection-small.bmp
# Set the font to be used for all textual displays in graphics mode.
# For best results, the font must be a PNG file with alpha channel
# transparency. It must contain ASCII characters 32-126 (space through
# tilde), inclusive, plus a glyph to be displayed in place of characters
# outside of this range, for a total of 96 glyphs. Only monospaced fonts
# are supported. Fonts may be of any size, although large fonts can
# produce display irregularities.
# The default is rEFInd's built-in font, Luxi Mono Regular 12 point.
#
#font myfont.png
# Use text mode only. When enabled, this option forces rEFInd into text mode.
# Passing this option a "0" value causes graphics mode to be used. Pasing
# it no value or any non-0 value causes text mode to be used.
# Default is to use graphics mode.
#
#textonly
# Set the EFI text mode to be used for textual displays. This option
# takes a single digit that refers to a mode number. Mode 0 is normally
# 80x25, 1 is sometimes 80x50, and higher numbers are system-specific
# modes. Mode 1024 is a special code that tells rEFInd to not set the
# text mode; it uses whatever was in use when the program was launched.
# If you specify an invalid mode, rEFInd pauses during boot to inform
# you of valid modes.
# CAUTION: On VirtualBox, and perhaps on some real computers, specifying
# a text mode and uncommenting the "textonly" option while NOT specifying
# a resolution can result in an unusable display in the booted OS.
# Default is 1024 (no change)
#
#textmode 2
# Set the screen's video resolution. Pass this option one of the following:
# * two integer values, corresponding to the X and Y resolutions
# * one integer value, corresponding to a GOP (UEFI) video mode
# * the string "max", which sets the maximum available resolution
# Note that not all resolutions are supported. On UEFI systems, passing
# an incorrect value results in a message being shown on the screen to
# that effect, along with a list of supported modes. On EFI 1.x systems
# (e.g., Macintoshes), setting an incorrect mode silently fails. On both
# types of systems, setting an incorrect resolution results in the default
# resolution being used. A resolution of 1024x768 usually works, but higher
# values often don't.
# Default is "0 0" (use the system default resolution, usually 800x600).
#
#resolution 1024 768
#resolution 1440 900
#resolution 3
#resolution max
resolution 2880 1800
# Enable touch screen support. If active, this feature enables use of
# touch screen controls (as on tablets). Note, however, that not all
# tablets' EFIs provide the necessary underlying support, so this
# feature may not work for you. If it does work, you should be able
# to launch an OS or tool by touching it. In a submenu, touching
# anywhere launches the currently-selection item; there is, at present,
# no way to select a specific submenu item. This feature is mutually
# exclusive with the enable_mouse feature. If both are uncommented,
# the one read most recently takes precedence.
#
#enable_touch
# Enable mouse support. If active, this feature enables use of the
# computer's mouse. Note, however, that not all computers' EFIs
# provide the necessary underlying support, so this feature may not
# work for you. If it does work, you should be able to launch an
# OS or tool by clicking it with the mouse pointer. This feature
# is mutually exclusive with the enable_touch feature. If both
# are uncommented, the one read most recently takes precedence.
#
#enable_mouse
# Size of the mouse pointer, in pixels, per side.
# Default is 16
#
#mouse_size 16
# Speed of mouse tracking. Higher numbers equate to faster
# mouse movement. This option requires that enable_mouse be
# uncommented.
# Legal values are between 1 and 32. Default is 4.
#
#mouse_speed 4
# Launch specified OSes in graphics mode. By default, rEFInd switches
# to text mode and displays basic pre-launch information when launching
# all OSes except macOS. Using graphics mode can produce a more seamless
# transition, but displays no information, which can make matters
# difficult if you must debug a problem. Also, on at least one known
# computer, using graphics mode prevents a crash when using the Linux
# kernel's EFI stub loader. You can specify an empty list to boot all
# OSes in text mode.
# Valid options:
# osx - macOS
# linux - A Linux kernel with EFI stub loader
# elilo - The ELILO boot loader
# grub - The GRUB (Legacy or 2) boot loader
# windows - Microsoft Windows
# Default value: osx
#
#use_graphics_for osx,linux
# Which non-bootloader tools to show on the tools line, and in what
# order to display them:
# shell - the EFI shell (requires external program; see rEFInd
# documentation for details)
# memtest - the memtest86 program, in EFI/tools, EFI/memtest86,
# EFI/memtest, EFI/tools/memtest86, or EFI/tools/memtest
# gptsync - the (dangerous) gptsync.efi utility (requires external
# program; see rEFInd documentation for details)
# gdisk - the gdisk partitioning program
# apple_recovery - boots the Apple Recovery HD partition, if present
# windows_recovery - boots an OEM Windows recovery tool, if present
# (see also the windows_recovery_files option)
# mok_tool - makes available the Machine Owner Key (MOK) maintenance
# tool, MokManager.efi, used on Secure Boot systems
# csr_rotate - adjusts Apple System Integrity Protection (SIP)
# policy. Requires "csr_values" to be set.
# install - an option to install rEFInd from the current location
# to another ESP
# bootorder - adjust the EFI's (NOT rEFInd's) boot order
# about - an "about this program" option
# hidden_tags - manage hidden tags
# exit - a tag to exit from rEFInd
# shutdown - shuts down the computer (a bug causes this to reboot
# many UEFI systems)
# reboot - a tag to reboot the computer
# firmware - a tag to reboot the computer into the firmware's
# user interface (ignored on older computers)
# fwupdate - a tag to update the firmware; launches the fwupx64.efi
# (or similar) program
# netboot - launch the ipxe.efi tool for network (PXE) booting
# Default is shell,memtest,gdisk,apple_recovery,windows_recovery,mok_tool,about,hidden_tags,shutdown,reboot,firmware,fwupdate
# To completely disable scanning for all tools, provide a showtools line
# with no options.
#
#showtools shell, bootorder, gdisk, memtest, mok_tool, apple_recovery, windows_recovery, about, hidden_tags, reboot, exit, firmware, fwupdate
showtools about, reboot, shutdown, firmware
# Tool binaries to be excluded from the tools line, even if the
# general class is specified in showtools. This enables trimming an
# overabundance of tools, as when you see multiple mok_tool entries
# after installing multiple Linux distributions.
# Just as with dont_scan_files, you can specify a filename alone, a
# full pathname, or a volume identifier (filesystem label, partition
# name, or partition GUID) and a full pathname.
# Default is an empty list (nothing is excluded)
#
#dont_scan_tools ESP2:/EFI/ubuntu/mmx64.efi,gptsync_x64.efi
# Boot loaders that can launch a Windows restore or emergency system.
# These tend to be OEM-specific.
# Default is LRS_ESP:/EFI/Microsoft/Boot/LrsBootmgr.efi
#
#windows_recovery_files LRS_ESP:/EFI/Microsoft/Boot/LrsBootmgr.efi
# Directories in which to search for EFI drivers. These drivers can
# provide filesystem support, give access to hard disks on plug-in
# controllers, etc. In most cases none are needed, but if you add
# EFI drivers and you want rEFInd to automatically load them, you
# should specify one or more paths here. rEFInd always scans the
# "drivers" and "drivers_{arch}" subdirectories of its own installation
# directory (where "{arch}" is your architecture code); this option
# specifies ADDITIONAL directories to scan.
# Default is to scan no additional directories for EFI drivers
#
#scan_driver_dirs EFI/tools/drivers,drivers
# Which types of boot loaders to search, and in what order to display them:
# internal - internal EFI disk-based boot loaders
# external - external EFI disk-based boot loaders
# optical - EFI optical discs (CD, DVD, etc.)
# netboot - EFI network (PXE) boot options
# hdbios - BIOS disk-based boot loaders
# biosexternal - BIOS external boot loaders (USB, eSATA, etc.)
# cd - BIOS optical-disc boot loaders
# manual - use stanzas later in this configuration file
# firmware - boot EFI programs set in the firmware's NVRAM
# Note that the legacy BIOS options require firmware support, which is
# not present on all computers.
# The netboot option is experimental and relies on the ipxe.efi and
# ipxe_discover.efi program files.
# On UEFI PCs, default is internal,external,optical,manual
# On Macs, default is internal,hdbios,external,biosexternal,optical,cd,manual
#
#scanfor internal,external,optical,manual,firmware
scanfor manual
# By default, rEFInd relies on the UEFI firmware to detect BIOS-mode boot
# devices. This sometimes doesn't detect all the available devices, though.
# For these cases, uefi_deep_legacy_scan results in a forced scan and
# modification of NVRAM variables on each boot. Adding "0", "off", or
# "false" resets to the default value. This token has no effect on Macs or
# when no BIOS-mode options are set via scanfor.
# Default is unset (or "uefi_deep_legacy_scan false")
#
#uefi_deep_legacy_scan
# Delay for the specified number of seconds before scanning disks.
# This can help some users who find that some of their disks
# (usually external or optical discs) aren't detected initially,
# but are detected after pressing Esc.
# The default is 0.
#
#scan_delay 5
# When scanning volumes for EFI boot loaders, rEFInd always looks for
# macOS's and Microsoft Windows' boot loaders in their normal locations,
# and scans the root directory and every subdirectory of the /EFI directory
# for additional boot loaders, but it doesn't recurse into these directories.
# The also_scan_dirs token adds more directories to the scan list.
# Directories are specified relative to the volume's root directory. This
# option applies to ALL the volumes that rEFInd scans UNLESS you include
# a volume name and colon before the directory name, as in "myvol:/somedir"
# to scan the somedir directory only on the filesystem named myvol. If a
# specified directory doesn't exist, it's ignored (no error condition
# results). The "+" symbol denotes appending to the list of scanned
# directories rather than overwriting that list.
# The default is to scan the "boot" and "@/boot" directories in addition
# to various hard-coded directories.
#
#also_scan_dirs boot,ESP2:EFI/linux/kernels
#also_scan_dirs boot,@/boot
#also_scan_dirs +,@/kernels
# Partitions (or whole disks, for legacy-mode boots) to omit from scans.
# For EFI-mode scans, you normally specify a volume by its label, which you
# can obtain in an EFI shell by typing "vol", from Linux by typing
# "blkid /dev/{devicename}", or by examining the disk's label in various
# OSes' file browsers. It's also possible to identify a partition by its
# unique GUID (aka its "PARTUUID" in Linux parlance). (Note that this is
# NOT the partition TYPE CODE GUID.) This identifier can be obtained via
# "blkid" in Linux or "diskutil info {partition-id}" in macOS.
# For legacy-mode scans, you can specify any subset of the boot loader
# description shown when you highlight the option in rEFInd.
# The default is "LRS_ESP".
#
#dont_scan_volumes "Recovery HD"
# Directories that should NOT be scanned for boot loaders. By default,
# rEFInd doesn't scan its own directory, the EFI/tools directory, the
# EFI/memtest directory, the EFI/memtest86 directory, or the
# com.apple.recovery.boot directory. Using the dont_scan_dirs option
# enables you to "blacklist" other directories; but be sure to use "+"
# as the first element if you want to continue blacklisting existing
# directories. You might use this token to keep EFI/boot/bootx64.efi out
# of the menu if that's a duplicate of another boot loader or to exclude
# a directory that holds drivers or non-bootloader utilities provided by
# a hardware manufacturer. If a directory is listed both here and in
# also_scan_dirs, dont_scan_dirs takes precedence. Note that this
# blacklist applies to ALL the filesystems that rEFInd scans, not just
# the ESP, unless you precede the directory name by a filesystem name or
# partition unique GUID, as in "myvol:EFI/somedir" to exclude EFI/somedir
# from the scan on the myvol volume but not on other volumes.
#
#dont_scan_dirs ESP:/EFI/boot,EFI/Dell,EFI/memtest86
# Files that should NOT be included as EFI boot loaders (on the
# first line of the display). If you're using a boot loader that
# relies on support programs or drivers that are installed alongside
# the main binary or if you want to "blacklist" certain loaders by
# name rather than location, use this option. Note that this will
# NOT prevent certain binaries from showing up in the second-row
# set of tools. Most notably, various Secure Boot and recovery
# tools are present in this list, but may appear as second-row
# items.
# The file may be specified as a bare name (e.g., "notme.efi"), as
# a complete pathname (e.g., "/EFI/somedir/notme.efi"), or as a
# complete pathname with volume (e.g., "SOMEDISK:/EFI/somedir/notme.efi"
# or 2C17D5ED-850D-4F76-BA31-47A561740082:/EFI/somedir/notme.efi").
# OS tags hidden via the Delete or '-' key in the rEFInd menu are
# added to this list, but stored in NVRAM.
# The default is shim.efi,shim-fedora.efi,shimx64.efi,PreLoader.efi,
# TextMode.efi,ebounce.efi,GraphicsConsole.efi,MokManager.efi,HashTool.efi,
# HashTool-signed.efi,bootmgr.efi,fb{arch}.efi
# (where "{arch}" is the architecture code, like "x64").
# If you want to keep these defaults but add to them, be sure to
# specify "+" as the first item in the new list; if you don't, then
# items from the default list are likely to appear.
#
#dont_scan_files shim.efi,MokManager.efi
# EFI NVRAM Boot#### variables that should NOT be presented as loaders
# when "firmware" is an option to "scanfor". The comma-separated list
# presented here contains strings that are matched against the
# description field -- if a value here is a case-insensitive substring
# of the boot option description, then it will be excluded from the
# boot list. To specify a string that includes a space, enclose it
# in quotes. Specifying "shell" will counteract the automatic
# inclusion of built-in EFI shells.
#
#dont_scan_firmware HARDDISK,shell,"Removable Device"
# Scan for Linux kernels that lack a ".efi" filename extension. This is
# useful for better integration with Linux distributions that provide
# kernels with EFI stub loaders but that don't give those kernels filenames
# that end in ".efi", particularly if the kernels are stored on a
# filesystem that the EFI can read. When set to "1", "true", or "on", this
# option causes all files in scanned directories with names that begin with
# "vmlinuz", "bzImage", or "kernel" to be included as loaders, even if they
# lack ".efi" extensions. Passing this option a "0", "false", or "off" value
# causes kernels without ".efi" extensions to NOT be scanned.
# Default is "true" -- to scan for kernels without ".efi" extensions.
#
#scan_all_linux_kernels false
# Support loaders that have been compressed with gzip.
# On x86 and x86-64 platforms, Linux kernels are self-decompressing.
# On ARM64, Linux kernel files are typically compressed with gzip,
# including the EFI stub loader. This makes them unloadable in rEFInd
# unless rEFInd itself uncompresses them. This option enables rEFInd
# to do this. This feature is unnecessary on x86 and x86-64 systems.
# Default is "false" on x86 and x86-64; "true" on ARM64.
#
#support_gzipped_loaders true
# Combine all Linux kernels in a given directory into a single entry.
# When so set, the kernel with the most recent time stamp will be launched
# by default, and its filename will appear in the entry's description.
# To launch other kernels, the user must press F2 or Insert; alternate
# kernels then appear as options on the sub-menu.
# Default is "true" -- kernels are "folded" into a single menu entry.
#
#fold_linux_kernels false
# Comma-delimited list of strings to treat as if they were numbers for the
# purpose of kernel version number detection. These strings are matched on a
# first-found basis; that is, if you want to treat both "linux-lts" and
# "linux" as version strings, they MUST be specified as "linux-lts,linux",
# since if you specify it the other way, both vmlinuz-linux and
# vmlinuz-linux-lts will return with "linux" as the "version string," which
# is not what you'd want. Also, if the kernel or initrd file includes both a
# specified string and digits, the "version string" includes both. For
# instance, "vmlinuz-linux-4.8" would yield a version string of "linux-4.8".
# This option is intended for Arch and other distributions that don't include
# version numbers in their kernel filenames, but may provide other uniquely
# identifying strings for multiple kernels. If this feature causes problems
# (say, if your kernel filename includes "linux" but the initrd filename
# doesn't), be sure this is set to an empty string
# (extra_kernel_version_strings "") or comment out the option to disable it.
# Default is no extra version strings
#
#extra_kernel_version_strings linux-lts,linux
# Write to systemd EFI variables (currently only LoaderDevicePartUUID) when
# launching Linux via an EFI stub loader, ELILO, or GRUB. This variable,
# when present, causes systemd to mount the ESP at /boot or /efi *IF* either
# directory is empty and nothing else is mounted there.
# Default is "false"
#
#write_systemd_vars true
# Symlinked loaders will be processed when this setting is set to true.
# These are ignored by default as they may result in undesirable outcomes.
# This token may, however, be useful on Linux setups that provide symbolic
# links in scanned locations that point to kernels in unscanned locations,
# such as some openSUSE installations.
#
#follow_symlinks true
# Set the maximum number of tags that can be displayed on the screen at
# any time. If more loaders are discovered than this value, rEFInd shows
# a subset in a scrolling list. If this value is set too high for the
# screen to handle, it's reduced to the value that the screen can manage.
# If this value is set to 0 (the default), it's adjusted to the number
# that the screen can handle.
#
#max_tags 0
# Set the default menu selection. The available arguments match the
# keyboard accelerators available within rEFInd. You may select the
# default loader using:
# - A digit between 1 and 9, in which case the Nth loader in the menu
# will be the default.
# - A "+" symbol at the start of the string, which refers to the most
# recently booted loader.
# - Any substring that corresponds to a portion of the loader's title
# (usually the OS's name, boot loader's path, or a volume or
# filesystem title).
# You may also specify multiple selectors by separating them with commas
# and enclosing the list in quotes. (The "+" option is only meaningful in
# this context.)
# If you follow the selector(s) with two times, in 24-hour format, the
# default will apply only between those times. The times are in the
# motherboard's time standard, whether that's UTC or local time, so if
# you use UTC, you'll need to adjust this from local time manually.
# Times may span midnight as in "23:30 00:30", which applies to 11:30 PM
# to 12:30 AM. You may specify multiple default_selection lines, in which
# case the last one to match takes precedence. Thus, you can set a main
# option without a time followed by one or more that include times to
# set different defaults for different times of day.
# The default behavior is to boot the previously-booted OS.
#
#default_selection 1
#default_selection Microsoft
#default_selection "+,bzImage,vmlinuz"
#default_selection Maintenance 23:30 2:00
#default_selection "Maintenance,macOS" 1:00 2:30
# Enable VMX bit and lock the CPU MSR if unlocked.
# On some Intel Apple computers, the firmware does not lock the MSR 0x3A.
# The symptom on Windows is Hyper-V not working even if the CPU
# meets the minimum requirements (HW assisted virtualization and SLAT)
# DO NOT SET THIS EXCEPT ON INTEL CPUs THAT SUPPORT VMX! See
# http://www.thomas-krenn.com/en/wiki/Activating_the_Intel_VT_Virtualization_Feature
# for more on this subject.
# The default is false: Don't try to enable and lock the MSR.
#
#enable_and_lock_vmx false
# Tell a Mac's EFI that macOS is about to be launched, even when it's not.
# This option causes some Macs to initialize their hardware differently than
# when a third-party OS is launched normally. In some cases (particularly on
# Macs with multiple video cards), using this option can cause hardware to
# work that would not otherwise work. On the other hand, using this option
# when it is not necessary can cause hardware (such as keyboards and mice) to
# become inaccessible. Therefore, you should not enable this option if your
# non-Apple OSes work correctly; enable it only if you have problems with
# some hardware devices. When needed, a value of "10.9" usually works, but
# you can experiment with other values. This feature has no effect on
# non-Apple computers.
# The default is inactive (no macOS spoofing is done).
#
#spoof_osx_version 10.9
# Set the CSR values for Apple's System Integrity Protection (SIP) feature.
# Values are two-byte (four-character) hexadecimal numbers. These values
# define which specific security features are enabled. Below are the codes
# for what the values mean. Add them up (in hexadecimal!) to set new values.
# Apple's "csrutil enable" and "csrutil disable" commands set values of 10
# and 877, respectively. (Prior to OS 11, 77 was used rather than 877; 877
# is required for OS 11, and should work for OS X 10.x, too.)
# CSR_ALLOW_UNTRUSTED_KEXTS 0x0001
# CSR_ALLOW_UNRESTRICTED_FS 0x0002
# CSR_ALLOW_TASK_FOR_PID 0x0004
# CSR_ALLOW_KERNEL_DEBUGGER 0x0008
# CSR_ALLOW_APPLE_INTERNAL 0x0010
# CSR_ALLOW_UNRESTRICTED_DTRACE 0x0020
# CSR_ALLOW_UNRESTRICTED_NVRAM 0x0040
# CSR_ALLOW_DEVICE_CONFIGURATION 0x0080
# CSR_ALLOW_ANY_RECOVERY_OS 0x0100
# CSR_ALLOW_UNAPPROVED_KEXTS 0x0200
# CSR_ALLOW_EXECUTABLE_POLICY_OVERRIDE 0x0400
# CSR_ALLOW_UNAUTHENTICATED_ROOT 0x0800
#csr_values 10,877
# Include a secondary configuration file within this one. This secondary
# file is loaded as if its options appeared at the point of the "include"
# token itself, so if you want to override a setting in the main file,
# the secondary file must be referenced AFTER the setting you want to
# override. Note that the secondary file may NOT load a tertiary file.
#
#include manual.conf
# Sample manual configuration stanzas. Each begins with the "menuentry"
# keyword followed by a name that's to appear in the menu (use quotes
# if you want the name to contain a space) and an open curly brace
# ("{"). Each entry ends with a close curly brace ("}"). Common
# keywords within each stanza include:
#
# volume - identifies the filesystem from which subsequent files
# are loaded. You can specify the volume by filesystem
# label, by partition label, or by partition GUID number
# (but NOT yet by filesystem UUID number).
# loader - identifies the boot loader file
# initrd - Specifies an initial RAM disk file
# icon - specifies a custom boot loader icon
# ostype - OS type code to determine boot options available by
# pressing Insert. Valid values are "MacOS", "Linux",
# "Windows", and "XOM". Case-sensitive.
# graphics - set to "on" to enable graphics-mode boot (useful
# mainly for MacOS) or "off" for text-mode boot.
# Default is auto-detected from loader filename.
# options - sets options to be passed to the boot loader; use
# quotes if more than one option should be passed or
# if any options use characters that might be changed
# by rEFInd parsing procedures (=, /, #, or tab).
# disabled - use alone or set to "yes" to disable this entry.
#
# Note that you can use either DOS/Windows/EFI-style backslashes (\)
# or Unix-style forward slashes (/) as directory separators. Either
# way, all file references are on the ESP from which rEFInd was
# launched.
# Use of quotes around parameters causes them to be interpreted as
# one keyword, and for parsing of special characters (spaces, =, /,
# and #) to be disabled. This is useful mainly with the "options"
# keyword. Use of quotes around parameters that specify filenames is
# permissible, but you must then use backslashes instead of slashes,
# except when you must pass a forward slash to the loader, as when
# passing a root= option to a Linux kernel.
# Below are several sample boot stanzas. All are disabled by default.
# Find one similar to what you need, copy it, remove the "disabled" line,
# and adjust the entries to suit your needs.
# A sample entry for a Linux 3.13 kernel with EFI boot stub support
# on a partition with a GUID of 904404F8-B481-440C-A1E3-11A5A954E601.
# This entry includes Linux-specific boot options and specification
# of an initial RAM disk. Note uses of Linux-style forward slashes.
# Also note that a leading slash is optional in file specifications.
menuentry Linux {
icon EFI/refind/icons/os_linux.png
volume 904404F8-B481-440C-A1E3-11A5A954E601
loader bzImage-3.3.0-rc7
initrd initrd-3.3.0.img
options "ro root=UUID=5f96cafa-e0a7-4057-b18f-fa709db5b837"
disabled
}
# Below is a more complex Linux example, specifically for Arch Linux.
# This example MUST be modified for your specific installation; if nothing
# else, the PARTUUID code must be changed for your disk. Because Arch Linux
# does not include version numbers in its kernel and initrd filenames, you
# may need to use manual boot stanzas when using fallback initrds or
# multiple kernels with Arch. This example is modified from one in the Arch
# wiki page on rEFInd (https://wiki.archlinux.org/index.php/rEFInd).
menuentry "Arch Linux" {
icon /EFI/refind/icons/os_arch.png
volume "Arch Linux"
loader /boot/vmlinuz-linux
initrd /boot/initramfs-linux.img
options "root=PARTUUID=5028fa50-0079-4c40-b240-abfaf28693ea rw add_efi_memmap"
submenuentry "Boot using fallback initramfs" {
initrd /boot/initramfs-linux-fallback.img
}
submenuentry "Boot to terminal" {
add_options "systemd.unit=multi-user.target"
}
disabled
}
# A sample entry for loading Ubuntu using its standard name for
# its GRUB 2 boot loader. Note uses of Linux-style forward slashes
menuentry Ubuntu {
loader /EFI/ubuntu/grubx64.efi
icon /EFI/refind/icons/os_linux.png
disabled
}
# A minimal ELILO entry, which probably offers nothing that
# auto-detection can't accomplish.
menuentry "ELILO" {
loader \EFI\elilo\elilo.efi
disabled
}
# Like the ELILO entry, this one offers nothing that auto-detection
# can't do; but you might use it if you want to disable auto-detection
# but still boot Windows....
menuentry "Windows 7" {
loader \EFI\Microsoft\Boot\bootmgfw.efi
disabled
}
# EFI shells are programs just like boot loaders, and can be
# launched in the same way. You can pass a shell the name of a
# script that it's to run on the "options" line. The script
# could initialize hardware and then launch an OS, or it could
# do something entirely different.
menuentry "Windows via shell script" {
icon \EFI\refind\icons\os_win.png
loader \EFI\tools\shell.efi
options "fs0:\EFI\tools\launch_windows.nsh"
disabled
}
# MacOS is normally detected and run automatically; however,
# if you want to do something unusual, a manual boot stanza may
# be the way to do it. This one does nothing very unusual, but
# it may serve as a starting point. Note that you'll almost
# certainly need to change the "volume" line for this example
# to work.
menuentry "My macOS" {
icon \EFI\refind\icons\os_mac.png
volume "macOS boot"
loader \System\Library\CoreServices\boot.efi
disabled
}
# The firmware_bootnum token takes a HEXADECIMAL value as an option
# and sets that value using the EFI's BootNext variable and then
# reboots the computer. This then causes a one-time boot of the
# computer using this EFI boot option. It can be used for various
# purposes, but one that's likely to interest some rEFInd users is
# that some Macs with HiDPI displays produce lower-resolution
# desktops when booted through rEFInd than when booted via Apple's
# own boot manager. Booting using the firmware_bootnum option
# produces the better resolution. Note that no loader option is
# used in this type of configuration.
menuentry "macOS via BootNext" {
icon /EFI/refind/icons/os_mac.png
firmware_bootnum 80
disabled
}
menuentry "ALPINE" {
icon /EFI/refind/icons/os_linux.png
loader /vmlinuz-lts
initrd /amd-ucode.img
initrd /initramfs-lts
options "root=/dev/nvme0n1p2 nowatchdog modprobe.blacklist=sp5100_tco,amd64_edac_mod rootfstype=ext4"
# i915.alpha_support=1 i915.fastboot=1 modprobe.blacklist=iTCO_wdt intel_iommu=on iommu=pt
submenuentry "SINGLE USER MODE" {
options "root=/dev/nvme0n1p2 rw rootfstype=ext4 single"
}
}
menuentry "ALPINE FALLBACK" {
icon /EFI/refind/icons/boot_linux.png
loader /vmlinuz-lts
initrd /amd-ucode.img
initrd /initramfs-lts-fallback
options "root=/dev/nvme0n1p2 rw rootfstype=ext4"
}
menuentry "SHELLX64V2" {
icon /EFI/refind/icons/os_hwtest.png
loader /EFI/shell.efi
}
# rm -v /boot/refind_linux.conf
# efibootmgr --create --disk /dev/nvme0n1 --part 1 --loader /EFI/shell.efi --label "SHELLX64V2" --verbose
# reboot
UEFI Interactive Shell v2.1
help -b
FS0:
bcfg boot dump -v -b
bcfg boot add 00 FS0:\EFI\refind\refind_x64.efi "rEFInd"
exit
login:root
# apk add linux-firmware-amdgpu
# echo fbcon >> /etc/modules
# echo amdgpu >> /etc/modules
/etc/mkinitfs/mkinitfs.conf
#features="ata base cdrom ext4 intel_agp i915 keymap kms mmc nvme scsi usb virtio"
features="base ext4 kms nvme scsi usb"
# mkinitfs
/etc/profile.d/color_prompt.sh
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
alias diff='diff --color=auto'
alias grep='grep --color=auto'
alias ls='ls --color=auto'
alias more='less'
alias df='df -h'
alias du='du -c -h'
alias mkdir='mkdir -p -v'
alias ping='ping -c 2'
alias dmesg='dmesg -H'
alias diff='diff --color=auto'
# Setup a red prompt for root and a green one for users.
_normal=$'\e[0m'
if [ "$USER" = root ]; then
_color=$'\e[1;31m'
_symbol='#'
else
_color=$'\e[1;32m'
_symbol='$'
fi
if [ -n "$ZSH_VERSION" ]; then
PS1="%{$_color%}%m [%{$_normal%}%~%{$_color%}]$_symbol %{$_normal%}"
else
# PS1="\[$_color\]\h [\[$_normal\]\w\[$_color\]]$_symbol \[$_normal\]"
PS1="\[$_normal\]\w\[$_color\]$_symbol \[$_normal\]"
fi
unset _normal _color _symbol
export XDG_DATA_DIRS=/usr/local/share:/usr/share
export XDG_CONFIG_DIRS=/etc/xdg
export QT_QPA_PLATFORMTHEME=qt5ct
# export QT_WAYLAND_DISABLE_WINDOWDECORATION=1
# export QT_SCALE_FACTOR=1.6
# export QT_SCALE_FACTOR_ROUNDING_POLICY=PassThrough
export MOZ_ENABLE_WAYLAND=1
# export QEMU_AUDIO_DRV=alsa
# export QEMU_AUDIO_DAC_FIXED_FREQ=48000
# export QEMU_AUDIO_DAC_TRY_POLL=0
# export QEMU_AUDIO_ADC_FIXED_FREQ=48000
# export QEMU_AUDIO_ADC_TRY_POLL=0
# export QEMU_AUDIO_TIMER_PERIOD=1000
# export QEMU_ALSA_DAC_BUFFER_SIZE=2048
# export QEMU_ALSA_DAC_PERIOD_SIZE=1024
# addgroup -S user
# adduser -S -s /bin/bash user
# chmod o-rx /home/user
# adduser user users
# adduser user wheel
# apk add xdg-user-dirs
~/.config/user-dirs.dirs
# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you're
# interested in. All local changes will be retained on the next run
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
# absolute path. No other format is supported.
#
XDG_DESKTOP_DIR="$HOME/name01"
XDG_DOWNLOAD_DIR="$HOME/name01"
XDG_TEMPLATES_DIR="$HOME/name01"
XDG_PUBLICSHARE_DIR="$HOME/name01"
XDG_MUSIC_DIR="$HOME/name01"
XDG_PICTURES_DIR="$HOME/name01"
XDG_VIDEOS_DIR="$HOME/name01"
XDG_DOCUMENTS_DIR="$HOME/name02"~/.config/user-dirs.locale
en_US# apk add doas
/etc/doas.conf
permit persist :wheel
# apk add eudev
# setup-devd udev
# apk add dbus
# rc-update add dbus
# adduser user input
# adduser user video
# apk add alsa-utils alsaconf
# addgroup user audio
# addgroup root audio
# alsamixer
/usr/share/alsa/alsa.conf
defaults.ctl.card x
defaults.pcm.card x
# rc-service alsa start
# rc-update add alsa
# apk add pulseaudio pulseaudio-alsa
# apk add alsa-plugins-pulse
# apk add pavucontrol
# apk add font-jetbrains-mono-nl
# apk add font-awesome-free
# apk add bluez
# adduser user lp
# rc-service bluetooth start
# rc-update add bluetooth default
# rf-kill list bluetooth
# rf-kill unblock bluetooth
# apk add hidapi
/etc/modules
uhid
# modprobe uhid
# apk add blueman
# apk add onboard
# apk add telegram-desktop
# apk add element-desktop
# apk add lxqt-archiver
# apk add lximage-qt
# apk add inkscape inkscape-doc inkscape-tutorials
# apk add qpdfview
# apk add libreoffice-writer libreoffice-calc
# apk add seatd
# apk add cmd:seatd-launch
# apk add seatd-openrc
# rc-update add seatd
# rc-service seatd start
# adduser user seat
# apk add sway
# apk add swaybg
/etc/profile.d/xdg_runtime_dir.sh
if test -z "${XDG_RUNTIME_DIR}"; then
export XDG_RUNTIME_DIR=/tmp/$(id -u)-runtime-dir
if ! test -d "${XDG_RUNTIME_DIR}"; then
mkdir "${XDG_RUNTIME_DIR}"
chmod 0700 "${XDG_RUNTIME_DIR}"
fi
fi
~/.config/sway/config
# Default config for sway
#
# Copy this to ~/.config/sway/config and edit it to your liking.
#
# Read `man 5 sway` for a complete reference.
# xwayland disable
### Variables
# Logo key. Use Mod1 for Alt.
set $mod Mod4
# Home row direction keys, like vim
## set $left h
## set $down j
## set $up k
## set $right l
# Your preferred terminal emulator
set $term foot
# Your preferred application launcher
# Note: pass the final command to swaymsg so that the resulting window can be opened on the original workspace that the command was run on.
# set $menu dmenu_path | dmenu | xargs swaymsg exec --
set $menu wofi --show drun -I
font pango: JetBrains Mono Thin 12
### Output configuration
# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/)
# output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill
#
# Example configuration:
#
# output HDMI-A-1 resolution 1920x1080 position 1920,0
#
# You can get the names of your outputs by running: swaymsg -t get_outputs
output eDP-1
{
# disable
# background #444444 solid_color
background ~/.local/share/dream.png tile
resolution 2880x1800@90.001Hz position 0,0 transform normal scale 2.0 scale_filter nearest adaptive_sync off dpms on
}
#output DP-2
#{
## background #444444 solid_color
# background ~/.local/share/dream.png tile
# resolution 1920x1200@59.95Hz position 1440,0 transform normal scale 0.0 scale_filter nearest adaptive_sync off dpms on
#}
bindswitch --reload --locked lid:on output eDP-1 disable
bindswitch --reload --locked lid:off output eDP-1 enable
bindsym $mod+Shift+m exec swaymsg 'output eDP-1 toggle'
bindsym $mod+Shift+n exec swaymsg 'output DP-2 toggle'
# bindsym $mod+Shift+r exec "swaymsg 'output eDP-1 pos 0 0' ; swaymsg 'output DP-2 pos 1440 0'"
# bindsym $mod+Shift+o exec "swaymsg 'output eDP-1 pos 1440 0' ; swaymsg 'output DP-2 pos 0 0'"
# Screenshots:
bindsym Mod4+p exec grimshot save active ~/gate/"$(date +%d.%m.%y-%H:%M:%S)".png
bindsym Mod4+Shift+p exec grimshot save area ~/gate/"$(date +%d.%m.%y-%H:%M:%S)".png
bindsym Mod4+Mod1+p exec grimshot save output ~/gate/"$(date +%d.%m.%y-%H:%M:%S)".png
bindsym Mod4+Ctrl+p exec grimshot save window ~/gate/"$(date +%d.%m.%y-%H:%M:%S)".png
#default_border none
default_border pixel
smart_borders on
### Idle configuration
#
# Example configuration:
#
# exec swayidle -w \
# timeout 300 'swaylock -f -c 000000' \
# timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \
# before-sleep 'swaylock -f -c 000000'
#
# This will lock your screen after 300 seconds of inactivity, then turn off
# your displays after another 300 seconds, and turn your screens back on when
# resumed. It will also lock your screen before your computer goes to sleep.
### Input configuration
#
# Example configuration:
#
# input "2:14:SynPS/2_Synaptics_TouchPad" {
# dwt enabled
# tap enabled
# natural_scroll enabled
# middle_emulation enabled
# }
#
# You can get the names of your inputs by running: swaymsg -t get_inputs
# Read `man 5 sway-input` for more information about this section.
input *
{
xkb_layout us,ru
xkb_options grp:caps_toggle,grp_led:caps
}
### Key bindings
#
# Basics:
#
# Start a terminal
bindsym $mod+Return exec $term
# Kill focused window
bindsym $mod+Shift+q kill
# Start your launcher
bindsym $mod+d exec $menu
# Drag floating windows by holding down $mod and left mouse button.
# Resize them with right mouse button + $mod.
# Despite the name, also works for non-floating windows.
# Change normal to inverse to use left mouse button for resizing and right
# mouse button for dragging.
floating_modifier $mod normal
# Reload the configuration file
bindsym $mod+Shift+c reload
# Exit sway (logs you out of your Wayland session)
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
#
# Moving around:
#
# Move your focus around
bindsym $mod+$left focus left
bindsym $mod+$down focus down
bindsym $mod+$up focus up
bindsym $mod+$right focus right
# Or use $mod+[up|down|left|right]
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# Move the focused window with the same, but add Shift
bindsym $mod+Shift+$left move left
bindsym $mod+Shift+$down move down
bindsym $mod+Shift+$up move up
bindsym $mod+Shift+$right move right
# Ditto, with arrow keys
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
#
# Workspaces:
#
# Switch to workspace
bindsym $mod+1 workspace number 1
bindsym $mod+2 workspace number 2
bindsym $mod+3 workspace number 3
bindsym $mod+4 workspace number 4
bindsym $mod+5 workspace number 5
bindsym $mod+6 workspace number 6
bindsym $mod+7 workspace number 7
bindsym $mod+8 workspace number 8
bindsym $mod+9 workspace number 9
bindsym $mod+0 workspace number 10
# Move focused container to workspace
bindsym $mod+Shift+1 move container to workspace number 1
bindsym $mod+Shift+2 move container to workspace number 2
bindsym $mod+Shift+3 move container to workspace number 3
bindsym $mod+Shift+4 move container to workspace number 4
bindsym $mod+Shift+5 move container to workspace number 5
bindsym $mod+Shift+6 move container to workspace number 6
bindsym $mod+Shift+7 move container to workspace number 7
bindsym $mod+Shift+8 move container to workspace number 8
bindsym $mod+Shift+9 move container to workspace number 9
bindsym $mod+Shift+0 move container to workspace number 10
# Note: workspaces can have any name you want, not just numbers.
# We just use 1-10 as the default.
#
# Layout stuff:
#
# You can "split" the current object of your focus with
# $mod+b or $mod+v, for horizontal and vertical splits
# respectively.
bindsym $mod+b splith
bindsym $mod+v splitv
# gaps outer 10
gaps inner 8
smart_gaps on
# Switch the current container between different layout styles
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# Make the current focus fullscreen
bindsym $mod+f fullscreen
# Toggle the current focus between tiling and floating mode
bindsym $mod+Shift+space floating toggle
# Swap focus between the tiling area and the floating area
bindsym $mod+space focus mode_toggle
# Move focus to the parent container
bindsym $mod+a focus parent
#
# Scratchpad:
#
# Sway has a "scratchpad", which is a bag of holding for windows.
# You can send windows there and get them back later.
# Move the currently focused window to the scratchpad
bindsym $mod+Shift+minus move scratchpad
# Show the next scratchpad window or hide the focused scratchpad window.
# If there are multiple scratchpad windows, this command cycles through them.
bindsym $mod+minus scratchpad show
#
# Resizing containers:
#
mode "resize" {
# left will shrink the containers width
# right will grow the containers width
# up will shrink the containers height
# down will grow the containers height
bindsym $left resize shrink width 10px
bindsym $down resize grow height 10px
bindsym $up resize shrink height 10px
bindsym $right resize grow width 10px
# Ditto, with arrow keys
bindsym Left resize shrink width 10px
bindsym Down resize grow height 10px
bindsym Up resize shrink height 10px
bindsym Right resize grow width 10px
# Return to default mode
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
#
# Status Bar:
#
# Read `man 5 sway-bar` for more information about this section.
bar {
# position top
# When the status_command prints a new line to stdout, swaybar updates.
# The default just shows the current date and time.
# status_command while date +'%Y-%m-%d %I:%M:%S %p'; do sleep 1; done
# colors {
# statusline #ffffff
# background #323232
# inactive_workspace #32323200 #32323200 #5c5c5c
#}
swaybar_command waybar
}
include /etc/sway/config.d/*
# apk add xwayland
# setup-xorg-base
llvm15-libs
musl-fts
libelf
mesa-dri-gallium
xf86-input-libinput
encodings
font-alias
util-macros
font-cursor-misc
font-misc-misc
libice
libsm
libxt
libxmu
xauth
mcookie
xmodmap
xrdb
xinit
xorg-server
# apk add foot
~/.config/wfoot/foot.ini
# -*- 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
font=JetBrains Mono Thin:size=16
# 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=auto
# 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=
# blink=no
# beam-thickness=1.5
# underline-thickness=
[mouse]
# hide-when-typing=no
# alternate-scroll-mode=yes
[colors]
# alpha=1.0
# foreground=dcdccc
# background=111111
## Normal/regular colors (color palette 0-7)
# regular0=222222 # black
# regular1=cc9393 # red
# regular2=7f9f7f # green
# regular3=d0bf8f # yellow
# regular4=6ca0a3 # blue
# regular5=dc8cc3 # magenta
# regular6=93e0e3 # cyan
# regular7=dcdccc # white
## Bright colors (color palette 8-15)
# bright0=666666 # bright black
# bright1=dca3a3 # bright red
# bright2=bfebbf # bright green
# bright3=f0dfaf # bright yellow
# bright4=8cd0d3 # bright blue
# bright5=fcace3 # bright magenta
# bright6=b3ffff # 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=
# hide-when-typing=no
# 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
# show-urls-persistent=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+Shift+v Control+y XF86Paste
# primary-paste=Shift+Insert
[url-bindings]
# cancel=Control+g Control+c Control+d Escape
# toggle-url-visible=t
[text-bindings]
# \x03=Mod4+c # Map Super+c -> Ctrl+c
[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
# vim: ft=dosini
# apk add wofi
~/.config/wofi/style.css
/*window {border:0px solid #ff0000; background-color:#fff; margin:none;}
#text {color:#000;}
#scroll {margin:0px; border:none;}*/
#input {background-color:#bbb; color:#000;}
#outer-box {border:1px solid #888; background-color:#bbb;}
#inner-box {background-color:#bbb;}
#entry:selected {background-color:#888;}#apk add wlogout
# apk add waybar
~/.config/waybar/config
{
"name":"topbar", "layer":"top", "position":"top", /*"height":32,*/
"modules-left":["sway/workspaces", "custom/launcher",
"custom/wireshark", "custom/etherape", "custom/gnome-connections", "custom/mc-root", "custom/mc", "custom/blueman-manager", "custom/onboard",
"custom/keepassxc", "custom/telegram", "custom/element", "custom/tor-browser", "custom/pcmanfm", "custom/lxqt-archiver", "custom/qtcreator",
"custom/libreoffice", "custom/inkscape", "custom/librewolf", "custom/foot",
"sway/mode"],
"modules-center":["wlr/taskbar", "wlr/workspaces"],
"modules-right":["tray", "network#disconnected", "network#wifi", "pulseaudio", "clock", "sway/language", "backlight", "battery", "idle_inhibitor", "custom/manage"],
"sway/workspaces":{"disable-scroll":true, "disable-markup":false, "all-outputs":true, "format":"{icon}", "format-icons":{"focused":"", "default":""}},
// "sway/workspaces":{"disable-scroll":true, "all-outputs":true, "format":"{name}:{icon}", "format-icons":{"1":"", "2":"", "3":"", "4":"", "5":"", "urgent":"", "focused":"", "default":""}},
"custom/launcher":{"format":" ", "on-click":"wofi --show dmenu --style ~/.config/wofi/style-waybar.css", "on-click-right":"killall wofi", "tooltip":false},
"custom/wireshark":{"format":"", "on-click":"/usr/bin/wireshark"},
"custom/etherape":{"format":"", "on-click":"/usr/bin/etherape"},
"custom/gnome-connections":{"format":"", "on-click":"/usr/bin/gnome-connections"},
"custom/mc-root":{"format":"", "on-click":"foot $HOME/.config/.mc.sh"},
"custom/mc":{"format":"", "on-click":"foot /usr/bin/mc"},
"custom/blueman-manager":{"format":"B", "on-click":"/usr/bin/blueman-manager"},
"custom/onboard":{"format":"⌨", "on-click":"/usr/bin/onboard"},
"custom/keepassxc":{"format":"", "on-click":"/usr/bin/keepassxc"},
"custom/telegram":{"format":"", "on-click":"/usr/bin/telegram-desktop"},
"custom/element":{"format":"", "on-click":"/usr/bin/element-desktop"},
"custom/tor-browser":{"format":"", "on-click":"/usr/bin/tor-browser"},
"custom/pcmanfm":{"format":"🖿", "on-click":"/usr/bin/pcmanfm-qt"},
"custom/lxqt-archiver":{"format":"", "on-click":"/usr/bin/lxqt-archiver"},
"custom/qtcreator":{"format":"", "on-click":"QT_SCALE_FACTOR=1.6 /usr/bin/qtcreator"},
"custom/libreoffice":{"format":"", "on-click":"/usr/bin/libreoffice"},
"custom/inkscape":{"format":"", "on-click":"/usr/bin/inkscape"},
"custom/firefox":{"format":"🌐", "on-click":"/usr/bin/firefox"},
"custom/foot":{"format":"", "on-click":"/usr/bin/foot"},
"sway/mode":{"format":" {}", "tooltip":false},
"wlr/taskbar":{"all-outputs":false, "format":"{icon}", "icon-size":32, "on-click":"activate", "on-click-middle":"close", "on-click-right":"minimize"},
"clock":{"interval":1,"format":"{:%H:%M}", "format-alt":"{:%d.%m.%Y}", "tooltip-format":"{:%A %e %B/%m %Y}\n{calendar}"},
"tray":{"icon-size":32,"spacing":4},
"sway/language": {"format":"{}", "min-length":2, "tooltip":false, "on-click":"swaymsg input $(swaymsg -t get_inputs --raw | jq '[.[] | select(.type == \"keyboard\")][0] | .identifier') xkb_switch_layout next"},
// "custom/clipboard":{"format": "", "interval":"once", "return-type":"json", "on-click": "swaymsg -q exec '$clipboard'; pkill -RTMIN+9 waybar", "on-click-right":"swaymsg -q exec 'cliphist list | wofi -dmenu -m -1 primaty -p "SELECT ITEM TO DELETE" -lines 10 -width 35 | cliphist delete'; pkill -RTMIN+9 waybar", "on-click-middle":"rm -f ~/.cache/cliphist/db; pkill -RTMIN+9 waybar", "exec": "printf '{\"tooltip\":\"%s\"}' $(cliphist list | wc -l)' ITEMS IN THE CLIPBOARD\r(MID CLICK TO CLEAR)'", "exec-if":"[ -x \"$(command -v cliphist)\" ] && [ $(cliphist list | wc -l) -gt 0 ]", "signal":9},
"network#disconnected":{"format-ethernet":"", "format-wifi":"", "format-linked":"{ifname} NO IP ", "format-disconnected":"", "tooltip-format":"NO CONNECTION", "on-click": "nm-connection-editor"},
// "network#vpn":{"interface":"tun0", "format":"","format-disconnected":"","tooltip-format":"{ifname} {ipaddr}/{cidr}", "on-click":"nm-connection-editor"},
// "network#ethernet":{"interface":"enp*", "format-ethernet":"", "format-wifi":"", "format-linked":"", "format-disconnected":"", "tooltip-format":"{ifname} {ipaddr}/{cidr}", "on-click":"nm-connection-editor"},
"network#wifi":{"interface":"wlan*", "format-ethernet":"", "format-wifi":"{signalStrength}", "format-disconnected":"", "format-linked":"", "tooltip-format":"{ifname}:{ipaddr}/{cidr}", "on-click":"nm-connection-editor"},
// {bandwidthUpBits}/{bandwidthDownBits} {frequency} {essid}
"pulseaudio":{"tooltip":false, "scroll-step":5, "format":"{volume:3}", "format-muted":" 000", "format-bluetooth":"{volume:3}", "on-click":"pavucontrol"},
"backlight":{"device":"amdgpu_bl0", "interval":60, "format-icons":[""], "tooltip-format":"{percent}", "on-scroll-down": "brightnessctl -c backlight set 5%", "on-scroll-up": "brightnessctl -c backlight set +1%", "format":"{icon}", "on-click":"nwg-displays"},
"battery":{"interval":10, "format":"{capacity:2}{icon}", "format-plugged":"{capacity:2}", "format-icons":["", "", "", "", ""], "tooltip":true},
"idle_inhibitor":{"tooltip":false,"format":"{icon}", "format-icons":{"activated":"", "deactivated":""}},
"custom/manage": {"format":"", "on-click": "wlogout -p layer-shell"},
}~/.config/waybar/style.css
@keyframes blink-warning {70% {color:#fff;} to {color:#fff; background-color:orange;}}
@keyframes blink-critical {70% {color:#fff;} to {color:#fff; background-color:red;}}
* {border:none; border-radius:0; min-height:0; margin:0; padding:0;}
#waybar {background:#333; color:#ff0000; font-family:JetBrains Mono Thin, sans-serif; font-size:24px;}
#battery, #clock, #custom-keyboard-layout, #mode, #network, #pulseaudio, #tray {color:#888; padding-left:4px; padding-right:4px;}
#battery {color:#888; animation-timing-function:linear; animation-iteration-count:infinite; animation-direction:alternate;}
#battery.warning {color:orange;}
#battery.critical {color:red;}
#battery.warning.discharging {animation-name:blink-warning; animation-duration: 3s;}
#battery.critical.discharging {animation-name:blink-critical; animation-duration:2s;}
#mode {background:#64727D; border-top:2px solid white; /* To compensate for the top border and still have vertical centering */ padding-bottom:2px;}
#network.disconnected {color:orange;}
#pulseaudio {/* No styles */}
#pulseaudio.muted {/* No styles */}
#tray {/* No styles */}
/* #window {font-weight:bold;} */
#workspaces button {border-top: 2px solid transparent; /* To compensate for the top border and still have vertical centering */ padding-bottom:2px; padding-left:10px; padding-right:10px; color:#888;}
#workspaces button.focused {border-color:#4c7899; color:white; background-color:#285577;}
#workspaces button.urgent {border-color:#c9545d; color:#c9545d;}
#custom-launcher, #custom-wireshark, #custom-etherape, #custom-gnome-connections, #custom-mc, #custom-mc-root, #custom-blueman-manager, #custom-onboard, #custom-keepassxc, #custom-telegram, #custom-element, #custom-tor-browser, #custom-pcmanfm, #custom-lxqt-archiver, #custom-qtcreator, #custom-libreoffice, #custom-inkscape, #custom-firefox, #custom-foot {color:#aaa; padding:0 2px;}
#language, #backlight, #idle_inhibitor, #custom-manage {color:#888; padding:0 2px;}
# apk add mesa-utils
# apk add firefox
about:preferences#general
Startup
+ Open previous windows and tabs
Tabs
+ Open links in tabs instead of new windows
+ Confirm before quitting with Ctrl+Q
Fonts
JetBrains Mono NL 14
Digital Rights Management (DRM) Content
- Play DRM-controlled content
Browsing
- Use autoscrolling
+ Use smooth scrolling
- Always show scrollbars
+ Always use the cursor keys to navigate within pages
- Search for text when you start typing
- Enable picture-in-picture video controls
+ Control media via keyboard, headset, or virtual interface
- Recommend extensions as you browse
- Recommend features as you browse
Search Suggestions
- Provide search suggestions
Address Bar
- Browsing history
- Bookmarks
- Open tabs
- Shortcuts
- Search engines
HTTPS-Only Mode
- Enable HTTPS-Only Mode in all windows
- Enable HTTPS-Only Mode in private windows only
+ Don’t enable HTTPS-Only Mode
DNS over HTTPS
+ Increased Protection > Custom
Extensions
ClearURls
Multi-Account Containers
Read Aloud: A Text to Speech Voice Reader
TransOver
uBlock Origin
Zoom Page WE
KeePassXS-Browser
about:config
browser.newtabpage.activity-stream.improvesearch.handoffToAwesomebar > false
# apk add dconf-editor
# apk add gvfs
# apk add pcmanfm
# apk add faenza-icon-theme
# dconf-editor
/org/gnome/desktop/interface/icon-theme > Custom value Faenza-Radiance
/org/gnome/desktop/interface/font-name > JetBrains Mono NL 14
/org/gnome/desktop/interface/document-font-name > JetBrains Mono NL 14
/org/gnome/desktop/interface/monospace-font-name > JetBrains Mono NL 14
/org/gtk/exampleapp/font > JetBrains Mono NL 14
/org/gnome/desktop/wm/preferences/titlebar-font > JetBrains Mono NL 14
# apk add qt-creator
# apk add qt5ct qt6ct
# apk add keepassxc
# apk add wireshark
# adduser user wireshark
# apk add openssh
# rc-update add sshd
# rc-status
/etc/init.d/sshd start
/etc/ssh/sshd_config
UseDNS no
PasswordAuthentication no
# apk add gnome-connections
# apk add alpine-sdk cmake extra-cmake-modules ccache
# apk add qemu-system-x86_64 libvirt qemu-ui-gtk
# apk add pciutils
# adduser user qemu
# adduser user kvm
# adduser user libvirt
# modprobe kvm-intel
# mkdir arch
# dd if=/dev/zero of=./arch/arch.raw bs=1M count=10000
qarch.sh
#!/bin/bash
exec qemu-system-x86_64 -global ICH9-LPC.disable_s3=1 -global ICH9-LPC.disable_s4=1 \
-machine type=q35,accel=kvm,kernel_irqchip=on,mem-merge=off,vmport=off -boot menu=off,strict=on \
-drive file=$(pwd)/arch/OVMF_CODE.fd,format=raw,if=pflash,unit=0,readonly=on \
-drive file=$(pwd)/arch/OVMF_VARS.fd,format=raw,if=pflash,unit=1 \
-cpu host,kvm=off -accel kvm -smp cpus=1 -m 4G -name arch -realtime mlock=off -nodefaults \
-msg timestamp=on -rtc base=utc,clock=host \
-device nvme,bus=pcie.0,addr=02.0,drive=nvme-disk-0,serial=foo,bootindex=1,logical_block_size=4096,physical_block_size=4096,opt_io_size=4096,min_io_size=4096,write-cache=off,id=nvme \
-drive file=$(pwd)/arch/arch.raw,format=raw,if=none,media=disk,id=nvme-disk-0,cache=none,aio=native,discard=unmap \
-device ich9-usb-ehci1,bus=pcie.0,addr=03.0,id=ich9-usb-ehci1 -device usb-tablet,id=mouse -device usb-kbd,id=keyboard \
-device ich9-intel-hda,bus=pcie.0,addr=04.0,id=ich9-intel-hda \
-device hda-output,bus=ich9-intel-hda.0,id=hda-output,cad=0 \
-device qxl-vga,bus=pcie.0,addr=01.0,yres=1200,xres=1920,ram_size_mb=128,vgamem_mb=128,vram_size_mb=128,id=qxl-vga \
-netdev user,id=hostnet-0,hostfwd=tcp::2222-:22 -device virtio-net-pci,bus=pcie.0,addr=05.0,netdev=hostnet-0,id=nic-0
#-nodefconfig \
#-nographic \
#nc -U /tmp/monitor.sock \
#-device qxl-vga,bus=pcie.0,addr=01.0,yres=1536,xres=2048,ram_size_mb=128,vgamem_mb=128,vram_size_mb=128,id=qxl-vga \
#-netdev tap,id=hostnet-0,ifname=tap0,script=no,downscript=no -device virtio-net-pci,bus=pcie.0,addr=05.0,netdev=hostnet-0,id=nic-0 \
#-monitor unix:/tmp/monitor.sock,server,nowait
#-chardev stdio,mux=on,id=monitor-0 -mon chardev=monitor-0 \
#-device ide-cd,drive=ide-cd-0,id=ide-cd,bootindex=1 \
#-drive file=$(pwd)/archlinux-2024.01.01-x86_64.iso,format=raw,if=none,media=cdrom,id=ide-cd-0,readonly=on \