diff --git a/.gitattributes b/.gitattributes index 1e1b85edcddbefb9e70037db62afbe98eeba68f9..6704483099e4f24bcc1f8dea77c0d00c209ed7ae 100644 --- a/.gitattributes +++ b/.gitattributes @@ -61,3 +61,4 @@ nekovoid-beta-7.1-xorg.iso filter=lfs diff=lfs merge=lfs -text nekovoid-beta-7.1-xlibre.iso filter=lfs diff=lfs merge=lfs -text 2026-05-06[[:space:]]10-22-06.mp4 filter=lfs diff=lfs merge=lfs -text PKG/ZerotierOne-Void-Linux/zerotierone-1.16.1_1.x86_64.xbps filter=lfs diff=lfs merge=lfs -text +includedir/usr/bin/neko_installer filter=lfs diff=lfs merge=lfs -text diff --git a/includedir/etc/X11/xinit/xinitrc b/includedir/etc/X11/xinit/xinitrc new file mode 100644 index 0000000000000000000000000000000000000000..3606cce9ff96f6a90af60489286289808fbd5ee8 --- /dev/null +++ b/includedir/etc/X11/xinit/xinitrc @@ -0,0 +1,56 @@ +#!/bin/sh + +userresources=$HOME/.Xresources +usermodmap=$HOME/.Xmodmap +sysresources=/etc/X11/xinit/.Xresources +sysmodmap=/etc/X11/xinit/.Xmodmap + +# merge in defaults and keymaps + +if [ -f $sysresources ]; then + + + + + + + + xrdb -merge $sysresources + +fi + +if [ -f $sysmodmap ]; then + xmodmap $sysmodmap +fi + +if [ -f "$userresources" ]; then + + + + + + + + xrdb -merge "$userresources" + +fi + +if [ -f "$usermodmap" ]; then + xmodmap "$usermodmap" +fi + +# start some nice programs + +if [ -d /etc/X11/xinit/xinitrc.d ] ; then + for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do + [ -x "$f" ] && . "$f" + done + unset f +fi + +twm & +#xclock -geometry 50x50-1+1 & +#xterm -geometry 80x50+494+51 & +#xterm -geometry 80x20+494-0 & +#exec xterm -geometry 80x66+0+0 -name login +jwm \ No newline at end of file diff --git a/includedir/etc/alsa/conf.d/50-pipewire.conf b/includedir/etc/alsa/conf.d/50-pipewire.conf new file mode 100644 index 0000000000000000000000000000000000000000..a3a08a61c98a00e71f2cde5b2c54369c7dd42330 --- /dev/null +++ b/includedir/etc/alsa/conf.d/50-pipewire.conf @@ -0,0 +1,106 @@ +# Add a specific named PipeWire pcm + +defaults.pipewire.server "pipewire-0" +defaults.pipewire.node "-1" +defaults.pipewire.exclusive false +defaults.pipewire.role "" +defaults.pipewire.rate 0 +defaults.pipewire.format "" +defaults.pipewire.channels 0 +defaults.pipewire.period_bytes 0 +defaults.pipewire.buffer_bytes 0 + +pcm.pipewire { + @args [ SERVER NODE EXCLUSIVE ROLE RATE FORMAT CHANNELS PERIOD_BYTES BUFFER_BYTES ] + @args.SERVER { + type string + default { + @func refer + name defaults.pipewire.server + } + } + @args.NODE { + type string + default { + @func refer + name defaults.pipewire.node + } + } + @args.EXCLUSIVE { + type integer + default { + @func refer + name defaults.pipewire.exclusive + } + } + @args.ROLE { + type string + default { + @func refer + name defaults.pipewire.role + } + } + @args.RATE { + type integer + default { + @func refer + name defaults.pipewire.rate + } + } + @args.FORMAT { + type string + default { + @func refer + name defaults.pipewire.format + } + } + @args.CHANNELS { + type integer + default { + @func refer + name defaults.pipewire.channels + } + } + @args.PERIOD_BYTES { + type integer + default { + @func refer + name defaults.pipewire.period_bytes + } + } + @args.BUFFER_BYTES { + type integer + default { + @func refer + name defaults.pipewire.buffer_bytes + } + } + + type pipewire + server $SERVER + playback_node $NODE + capture_node $NODE + exclusive $EXCLUSIVE + role $ROLE + rate $RATE + format $FORMAT + channels $CHANNELS + period_bytes $PERIOD_BYTES + buffer_bytes $BUFFER_BYTES + hint { + show on + description "PipeWire Sound Server" + } +} + +ctl.pipewire { + @args.SERVER { + type string + default { + @func refer + name defaults.pipewire.server + } + } + type pipewire + server $SERVER +} diff --git a/includedir/etc/alsa/conf.d/99-pipewire-default.conf b/includedir/etc/alsa/conf.d/99-pipewire-default.conf new file mode 100644 index 0000000000000000000000000000000000000000..814506e7b82dbbf731eeb6d69695b11b9ac89f14 --- /dev/null +++ b/includedir/etc/alsa/conf.d/99-pipewire-default.conf @@ -0,0 +1,13 @@ +pcm.!default { + type pipewire + playback_node "-1" + capture_node "-1" + hint { + show on + description "Default ALSA Output (currently PipeWire Media Server)" + } +} + +ctl.!default { + type pipewire +} diff --git a/includedir/etc/default/grub b/includedir/etc/default/grub new file mode 100644 index 0000000000000000000000000000000000000000..c1b6f2a86409799e2e06315f766c53870f95ead2 --- /dev/null +++ b/includedir/etc/default/grub @@ -0,0 +1,21 @@ +# +# Configuration file for GRUB. +# +GRUB_DEFAULT=0 +#GRUB_HIDDEN_TIMEOUT=0 +#GRUB_HIDDEN_TIMEOUT_QUIET=false +GRUB_TIMEOUT=5 +GRUB_DISTRIBUTOR="Neko Void" +GRUB_CMDLINE_LINUX_DEFAULT="loglevel=4" +# Uncomment to use basic console +#GRUB_TERMINAL_INPUT="console" +# Uncomment to disable graphical terminal +#GRUB_TERMINAL_OUTPUT=console +#GRUB_BACKGROUND=/usr/share/void-artwork/splash.png +#GRUB_GFXMODE=1920x1080x32 +#GRUB_DISABLE_LINUX_UUID=true +#GRUB_DISABLE_RECOVERY=true +# Uncomment and set to the desired menu colors. Used by normal and wallpaper +# modes only. Entries specified as foreground/background. +#GRUB_COLOR_NORMAL="light-blue/black" +#GRUB_COLOR_HIGHLIGHT="light-cyan/blue" diff --git a/includedir/etc/lightdm/.session b/includedir/etc/lightdm/.session new file mode 100644 index 0000000000000000000000000000000000000000..8c4ca0c3ed2c6c0b70c733008d3fdeba111e348e --- /dev/null +++ b/includedir/etc/lightdm/.session @@ -0,0 +1 @@ +xfce diff --git a/includedir/etc/lightdm/Xsession b/includedir/etc/lightdm/Xsession new file mode 100644 index 0000000000000000000000000000000000000000..589dc704c0c7801ba881089fb4e28d971da47e26 --- /dev/null +++ b/includedir/etc/lightdm/Xsession @@ -0,0 +1,57 @@ +#!/bin/sh +# +# LightDM wrapper to run around X sessions. + +echo "Running X session wrapper" + +# Load profile +for file in "/etc/profile" "$HOME/.profile" "/etc/xprofile" "$HOME/.xprofile"; do + if [ -f "$file" ]; then + echo "Loading profile from $file"; + . "$file" + fi +done + +# Load resources +for file in "/etc/X11/Xresources" "$HOME/.Xresources"; do + if [ -f "$file" ]; then + echo "Loading resource: $file" + xrdb -nocpp -merge "$file" + fi +done + +# Load keymaps +for file in "/etc/X11/Xkbmap" "$HOME/.Xkbmap"; do + if [ -f "$file" ]; then + echo "Loading keymap: $file" + setxkbmap `cat "$file"` + XKB_IN_USE=yes + fi +done + +# Load xmodmap if not using XKB +if [ -z "$XKB_IN_USE" ]; then + for file in "/etc/X11/Xmodmap" "$HOME/.Xmodmap"; do + if [ -f "$file" ]; then + echo "Loading modmap: $file" + xmodmap "$file" + fi + done +fi + +unset XKB_IN_USE + +# Run all system xinitrc shell scripts. +xinitdir="/etc/X11/xinit/xinitrc.d" +if [ -d "$xinitdir" ]; then + for script in $xinitdir/*; do + echo "Loading xinit script $script" + if [ -x "$script" -a ! -d "$script" ]; then + . "$script" + fi + done +fi + +echo "X session wrapper complete, running session $@" + +exec $@ diff --git a/includedir/etc/lightdm/keys.conf b/includedir/etc/lightdm/keys.conf new file mode 100644 index 0000000000000000000000000000000000000000..d7fb9c20769f18af1bf27cacf122d63e16fceffe --- /dev/null +++ b/includedir/etc/lightdm/keys.conf @@ -0,0 +1,3 @@ +[keyring] +#a=0x0123456789ABCD +#b=secret diff --git a/includedir/etc/lightdm/lightdm-gtk-greeter.conf b/includedir/etc/lightdm/lightdm-gtk-greeter.conf new file mode 100644 index 0000000000000000000000000000000000000000..6f73ea2107a922fd68f20b55fa07f3cc9f12dec4 --- /dev/null +++ b/includedir/etc/lightdm/lightdm-gtk-greeter.conf @@ -0,0 +1,9 @@ +[greeter] +indicators = ~host;~spacer;~clock;~spacer;~layout;~session;~a11y;~power +theme-name = Gruvbox-Material-Dark +icon-theme-name = Gruvbox-Material-Dark +font-name = CaskaydiaCove Nerd Font 10 +background = /usr/share/wallpapers/edernity.png +user-background = false +position = -50%,center + diff --git a/includedir/etc/lightdm/lightdm.conf b/includedir/etc/lightdm/lightdm.conf new file mode 100644 index 0000000000000000000000000000000000000000..cc960aeb493c7fd96d8c819a3382132ae88310c4 --- /dev/null +++ b/includedir/etc/lightdm/lightdm.conf @@ -0,0 +1,164 @@ +[Seat:*] +# +# General configuration +# +# start-default-seat = True to always start one seat if none are defined in the configuration +# greeter-user = User to run greeter as +# minimum-display-number = Minimum display number to use for X servers +# minimum-vt = First VT to run displays on +# lock-memory = True to prevent memory from being paged to disk +# user-authority-in-system-dir = True if session authority should be in the system location +# guest-account-script = Script to be run to setup guest account +# logind-check-graphical = True to on start seats that are marked as graphical by logind +# log-directory = Directory to log information to +# run-directory = Directory to put running state in +# cache-directory = Directory to cache to +# sessions-directory = Directory to find sessions +# remote-sessions-directory = Directory to find remote sessions +# greeters-directory = Directory to find greeters +# backup-logs = True to move add a .old suffix to old log files when opening new ones +# dbus-service = True if LightDM provides a D-Bus service to control it +# +[LightDM] +#start-default-seat=true +#greeter-user=lightdm +#minimum-display-number=0 +#minimum-vt=7 +#lock-memory=true +#user-authority-in-system-dir=false +#guest-account-script=guest-account +#logind-check-graphical=true +#log-directory=/var/log/lightdm +#run-directory=/var/run/lightdm +#cache-directory=/var/cache/lightdm +#sessions-directory=/usr/share/lightdm/sessions:/usr/share/xsessions:/usr/share/wayland-sessions +#remote-sessions-directory=/usr/share/lightdm/remote-sessions +#greeters-directory=$XDG_DATA_DIRS/lightdm/greeters:$XDG_DATA_DIRS/xgreeters +#backup-logs=true +#dbus-service=true + +# +# Seat configuration +# +# Seat configuration is matched against the seat name glob in the section, for example: +# [Seat:*] matches all seats and is applied first. +# [Seat:seat0] matches the seat named "seat0". +# [Seat:seat-thin-client*] matches all seats that have names that start with "seat-thin-client". +# +# type = Seat type (local, xremote) +# pam-service = PAM service to use for login +# pam-autologin-service = PAM service to use for autologin +# pam-greeter-service = PAM service to use for greeters +# xserver-command = X server command to run (can also contain arguments e.g. X -special-option) +# xmir-command = Xmir server command to run (can also contain arguments e.g. Xmir -special-option) +# xserver-config = Config file to pass to X server +# xserver-layout = Layout to pass to X server +# xserver-allow-tcp = True if TCP/IP connections are allowed to this X server +# xserver-share = True if the X server is shared for both greeter and session +# xserver-hostname = Hostname of X server (only for type=xremote) +# xserver-display-number = Display number of X server (only for type=xremote) +# xdmcp-manager = XDMCP manager to connect to (implies xserver-allow-tcp=true) +# xdmcp-port = XDMCP UDP/IP port to communicate on +# xdmcp-key = Authentication key to use for XDM-AUTHENTICATION-1 (stored in keys.conf) +# greeter-session = Session to load for greeter +# greeter-hide-users = True to hide the user list +# greeter-allow-guest = True if the greeter should show a guest login option +# greeter-show-manual-login = True if the greeter should offer a manual login option +# greeter-show-remote-login = True if the greeter should offer a remote login option +# user-session = Session to load for users +# allow-user-switching = True if allowed to switch users +# allow-guest = True if guest login is allowed +# guest-session = Session to load for guests (overrides user-session) +# session-wrapper = Wrapper script to run session with +# greeter-wrapper = Wrapper script to run greeter with +# guest-wrapper = Wrapper script to run guest sessions with +# display-setup-script = Script to run when starting a greeter session (runs as root) +# display-stopped-script = Script to run after stopping the display server (runs as root) +# greeter-setup-script = Script to run when starting a greeter (runs as root) +# session-setup-script = Script to run when starting a user session (runs as root) +# session-cleanup-script = Script to run when quitting a user session (runs as root) +# autologin-guest = True to log in as guest by default +# autologin-user = User to log in with by default (overrides autologin-guest) +# autologin-user-timeout = Number of seconds to wait before loading default user +# autologin-session = Session to load for automatic login (overrides user-session) +# autologin-in-background = True if autologin session should not be immediately activated +# exit-on-failure = True if the daemon should exit if this seat fails +# +[Seat:*] +#type=local +#pam-service=lightdm +#pam-autologin-service=lightdm-autologin +#pam-greeter-service=lightdm-greeter +#xserver-command=X +#xmir-command=Xmir +#xserver-config= +#xserver-layout= +#xserver-allow-tcp=false +#xserver-share=true +#xserver-hostname= +#xserver-display-number= +#xdmcp-manager= +#xdmcp-port=177 +#xdmcp-key= +greeter-session=lightdm-gtk-greeter +#greeter-hide-users=false +#greeter-allow-guest=true +#greeter-show-manual-login=false +#greeter-show-remote-login=true +user-session=xfce4-session +#allow-user-switching=true +#allow-guest=true +#guest-session= +session-wrapper=/etc/lightdm/Xsession +#greeter-wrapper= +#guest-wrapper= +#display-setup-script= +#display-stopped-script= +#greeter-setup-script= +#session-setup-script= +#session-cleanup-script= +#autologin-guest=false +autologin-user=anon +#autologin-user-timeout=0 +#autologin-in-background=false +autologin-session=mate +#exit-on-failure=false + +# +# XDMCP Server configuration +# +# enabled = True if XDMCP connections should be allowed +# port = UDP/IP port to listen for connections on +# listen-address = Host/address to listen for XDMCP connections (use all addresses if not present) +# key = Authentication key to use for XDM-AUTHENTICATION-1 or blank to not use authentication (stored in keys.conf) +# hostname = Hostname to report to XDMCP clients (defaults to system hostname if unset) +# +# The authentication key is a 56 bit DES key specified in hex as 0xnnnnnnnnnnnnnn. Alternatively +# it can be a word and the first 7 characters are used as the key. +# +[XDMCPServer] +#enabled=false +#port=177 +#listen-address= +#key= +#hostname= + +# +# VNC Server configuration +# +# enabled = True if VNC connections should be allowed +# command = Command to run Xvnc server with +# port = TCP/IP port to listen for connections on +# listen-address = Host/address to listen for VNC connections (use all addresses if not present) +# width = Width of display to use +# height = Height of display to use +# depth = Color depth of display to use +# +[VNCServer] +#enabled=false +#command=Xvnc +#port=5900 +#listen-address= +#width=1024 +#height=768 +#depth=8 diff --git a/includedir/etc/lightdm/users.conf b/includedir/etc/lightdm/users.conf new file mode 100644 index 0000000000000000000000000000000000000000..97db5acc19744eeab4d20df4ffdd450ab994d99c --- /dev/null +++ b/includedir/etc/lightdm/users.conf @@ -0,0 +1,14 @@ +# +# User accounts configuration +# +# NOTE: If you have AccountsService installed on your system, then LightDM will +# use this instead and these settings will be ignored +# +# minimum-uid = Minimum UID required to be shown in greeter +# hidden-users = Users that are not shown to the user +# hidden-shells = Shells that indicate a user cannot login +# +[UserList] +minimum-uid=1000 +hidden-users=nobody nobody4 noaccess +hidden-shells=/bin/false /usr/sbin/nologin /sbin/nologin diff --git a/includedir/etc/xbps.d/00-repository-main.conf b/includedir/etc/xbps.d/00-repository-main.conf new file mode 100644 index 0000000000000000000000000000000000000000..e1c99f1e36418a04f2b7abdc591a94a93eb5e716 --- /dev/null +++ b/includedir/etc/xbps.d/00-repository-main.conf @@ -0,0 +1 @@ +repository=https://repo-default.voidlinux.org/current diff --git a/includedir/etc/xbps.d/1-repository-neko.conf b/includedir/etc/xbps.d/1-repository-neko.conf new file mode 100644 index 0000000000000000000000000000000000000000..c9d703634374c8b38571dfc8d21995d9ae859998 --- /dev/null +++ b/includedir/etc/xbps.d/1-repository-neko.conf @@ -0,0 +1 @@ +repository=https://sourceforge.net/projects/neko-void/files/repo diff --git a/includedir/etc/xbps.d/10-neko-wizard.conf b/includedir/etc/xbps.d/10-neko-wizard.conf new file mode 100644 index 0000000000000000000000000000000000000000..3a5b4575d2e45fbde4c3f00f64f3618c4a864181 --- /dev/null +++ b/includedir/etc/xbps.d/10-neko-wizard.conf @@ -0,0 +1 @@ +repository=https://codeberg.org/javiercplus/Neko-Wizard/releases/download/repo/ diff --git a/includedir/etc/xbps.d/10-repository-multilib-nonfree.conf b/includedir/etc/xbps.d/10-repository-multilib-nonfree.conf new file mode 100644 index 0000000000000000000000000000000000000000..f2d6fc4daeec0a61d38baa606628bdb98ea9f537 --- /dev/null +++ b/includedir/etc/xbps.d/10-repository-multilib-nonfree.conf @@ -0,0 +1 @@ +repository=https://repo-default.voidlinux.org/current/multilib/nonfree diff --git a/includedir/etc/xbps.d/10-repository-multilib.conf b/includedir/etc/xbps.d/10-repository-multilib.conf new file mode 100644 index 0000000000000000000000000000000000000000..cd5af072d4aaeeb58fe06ad5321922a083b1ffcd --- /dev/null +++ b/includedir/etc/xbps.d/10-repository-multilib.conf @@ -0,0 +1 @@ +repository=https://repo-default.voidlinux.org/current/multilib diff --git a/includedir/etc/xbps.d/10-repository-nonfree.conf b/includedir/etc/xbps.d/10-repository-nonfree.conf new file mode 100644 index 0000000000000000000000000000000000000000..a23d524f9476bb089a777aa72b40a2bedef680c0 --- /dev/null +++ b/includedir/etc/xbps.d/10-repository-nonfree.conf @@ -0,0 +1 @@ +repository=https://repo-default.voidlinux.org/current/nonfree diff --git a/includedir/etc/xbps.d/99-repository-xlibre.conf b/includedir/etc/xbps.d/99-repository-xlibre.conf new file mode 100644 index 0000000000000000000000000000000000000000..58e71f761323f168377334ce27e6d0d914edeabf --- /dev/null +++ b/includedir/etc/xbps.d/99-repository-xlibre.conf @@ -0,0 +1 @@ +repository=https://github.com/xlibre-void/xlibre/releases/latest/download/ diff --git a/includedir/etc/xdg/Xwayland-session.d/00-at-spi b/includedir/etc/xdg/Xwayland-session.d/00-at-spi new file mode 100644 index 0000000000000000000000000000000000000000..dc3bb605a657860b67393dffd871db5c4832f6b0 --- /dev/null +++ b/includedir/etc/xdg/Xwayland-session.d/00-at-spi @@ -0,0 +1,10 @@ +#!/bin/sh + +# Copy a11y bus address from the DBus session bus to the X11 root property. +# This is useful when Xwayland is started on demand and if the user has an +# application with X11 access that does not have access to the session bus. + +ADDR="$( busctl call --user org.a11y.Bus /org/a11y/bus org.a11y.Bus GetAddress )" || exit 0 +ADDR="$( echo $ADDR | sed 's/s "\(.*\)"/\1/' )" || exit 0 + +exec xprop -root -format AT_SPI_BUS 8s -set AT_SPI_BUS "$ADDR" diff --git a/includedir/etc/xdg/autostart/at-spi-dbus-bus.desktop b/includedir/etc/xdg/autostart/at-spi-dbus-bus.desktop new file mode 100644 index 0000000000000000000000000000000000000000..c6fb14243a56c83547b0a35501134b9c84c49523 --- /dev/null +++ b/includedir/etc/xdg/autostart/at-spi-dbus-bus.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Type=Application +Name=AT-SPI D-Bus Bus +Exec=/usr/libexec/at-spi-bus-launcher --launch-immediately +OnlyShowIn=GNOME;Unity; +NoDisplay=true +AutostartCondition=GSettings org.gnome.desktop.interface toolkit-accessibility +X-GNOME-AutoRestart=true +X-GNOME-Autostart-Phase=Initialization diff --git a/includedir/etc/xdg/autostart/gnome-keyring-pkcs11.desktop b/includedir/etc/xdg/autostart/gnome-keyring-pkcs11.desktop new file mode 100644 index 0000000000000000000000000000000000000000..95189fa93bc3030c1265f0cae32b15b7cb8a9e23 --- /dev/null +++ b/includedir/etc/xdg/autostart/gnome-keyring-pkcs11.desktop @@ -0,0 +1,161 @@ +[Desktop Entry] +Type=Application +Name[af]=Sertifikaat- en sleutelberging +Name[ar]=مخزن الشهادات والمفاتيح +Name[as]=প্ৰমাণপত্ৰ আৰু কি সংৰক্ষণ +Name[ast]=Certificaos y almacenamientu de claves +Name[be]=Сховішча сертыфікатаў і ключоў +Name[bg]=Съхранение на сертификати и ключове +Name[bn]=সার্টিফিকেট এবং কী স্টোরেজ +Name[bn_IN]=সার্টিফিকেট এবং কি সংগ্রহস্থল +Name[bs]=Skladište sertifikata i ključeva +Name[ca]=Magatzem de certificats i de claus +Name[ca@valencia]=Magatzem de certificats i de claus +Name[ckb]=کۆکەرەوەی بڕوانامە و کلیل +Name[cs]=Odemknout certifikáty a umístění klíčů +Name[da]=Certifikat- og nøglelager +Name[de]=Zertifikat-/Schlüsselverwahrung +Name[el]=Αποθήκη πιστοποιητικών και κλειδιών +Name[en_GB]=Certificate and Key Storage +Name[eo]=Memorejo de atestiloj kaj ŝlosiloj +Name[es]=Certificados y almacenamiento de claves +Name[et]=Sertifikaadi- ja võtmehoidla +Name[eu]=Ziurtagirien/gakoen biltegia +Name[fa]=مخزن کلید و گواهی‌نامه +Name[fi]=Varmenne- ja avainsäilö +Name[fr]=Stockage de certificats et de clés +Name[fur]=Archivi certificâts e clâfs +Name[gd]=Teisteanas agus stòras na h-iuchrach +Name[gl]=Almacenamento de chave ou certificado +Name[gu]=પ્રમાણપત્ર અને કી સંગ્રહ +Name[he]=אחסון תעודה ומפתח +Name[hi]=कुंजी भंडार प्रमाणित करें +Name[hr]=Vjerodajnice i spremište ključeva +Name[hu]=Tanúsítvány- és kulcstároló +Name[id]=Penyimpanan Kunci dan Sertifikat +Name[is]=Geymsla skilríkis og lykils +Name[it]=Archivio certificati e chiavi +Name[ja]=証明書および鍵を格納するストレージ +Name[ka]=სერტიფიკატებისა და გასაღებების საცავი +Name[kab]=Aḥraz n uselkin akked tsarut +Name[kk]=Сертификаттар және кілттер қоймасы +Name[km]=វិញ្ញាបនបត្រ និងការ​ផ្ទុកសោ +Name[kn]=ಪ್ರಮಾಣಪತ್ರ ಮತ್ತು ಕೀಲಿಯ ಶೇಖರಣೆ +Name[ko]=인증서 및 키 저장소 +Name[lt]=Liudijimų ir raktų saugykla +Name[lv]=Sertifikātu un atslēgu glabātava +Name[mjw]=Certificate pen Key Storage +Name[mk]=Склад на клучеви и сертификати +Name[ml]=സാക്ഷ്യപത്രവും കീ സംഭരണവും +Name[mr]=प्रमाणपत्र व कि स्टोरेज +Name[ms]=Sijil dan Storan Kunci +Name[nb]=Lager for sertifikat/nøkkel +Name[ne]=प्रमाणपत्र र कुञ्जी भण्डारण +Name[nl]=Certificaat- en sleutelopslag +Name[nn]=Serifikat- og nøkkellager +Name[oc]=Emmagazinatge de certificats e de claus +Name[or]=ପ୍ରମାଣପତ୍ର ଏବଂ କି ସଂରକ୍ଷଣ +Name[pa]=ਸਰਟੀਫਿਕੇਟ ਅਤੇ ਕੁੰਜੀ ਸਟੋਰੇਜ਼ +Name[pl]=Przechowalnia certyfikatów i kluczy +Name[pt]=Armazenamento de chaves e certificados +Name[pt_BR]=Certificados e armazenamento de chaves +Name[ro]=Stocare pentru certificate și chei +Name[ru]=Хранилище сертификатов и ключей +Name[sk]=Úložisko certifikátov a kľúčov +Name[sl]=Hranjenje potrdil in ključev +Name[sr]=Складиште сертификата и кључева +Name[sr@latin]=Skladište sertifikata i ključeva +Name[sv]=Certifikat och nyckellagring +Name[ta]=சான்றிதழ்/விசை சேமிப்பகம் +Name[te]=ధృవీకరణపత్రం మరియు కీ నిల్వ +Name[th]=แหล่งใบรับรองและกุญแจ +Name[tr]=Sertifika ve Anahtar Deposu +Name[ug]=گۇۋاھنامە ۋە شىفىرلىق ئاچقۇچ ئامبىرى +Name[uk]=Сертифікат та сховище ключів +Name[vi]=Lưu trữ Chứng nhận và khóa +Name[zh_CN]=证书和密钥存储 +Name[zh_HK]=證書與密碼匙儲存區 +Name[zh_TW]=憑證與金鑰儲存區 +Name=Certificate and Key Storage +Comment[af]=GNOME-sleutelring: PKCS#11-komponent +Comment[ar]=حلقة مفاتيح جنوم: مكون PKCS#11 +Comment[as]=GNOME Keyring: PKCS#11 উপাদান +Comment[ast]=Depósitu de claves de GNOME: Componente PKCS#11 +Comment[be]=Вязкі ключоў GNOME: кампанент PKCS#11 +Comment[bg]=Ключодържател на GNOME: компонент за PKCS#11 +Comment[bn]=GNOME কী রিং: PKCS#11 কম্পোনেন্ট +Comment[bn_IN]=GNOME Keyring: PKCS#11 উপাদান +Comment[bs]=Gnomovi privjesci: PKCS#11 komponenta +Comment[ca]=Anell de claus del GNOME: component PKCS#11 +Comment[ca@valencia]=Anell de claus del GNOME: component PKCS#11 +Comment[cs]=Klíčenka GNOME: komponenta PKCS#11 +Comment[da]=GNOME-nøgleringsdæmon: PKCS#11-komponent +Comment[de]=GNOME-Schlüsselbunddienst: PKCS#11-Komponente +Comment[el]=Κλειδοθήκη GNOME: Συστατικό στοιχείο PKCS#11 +Comment[en_GB]=GNOME Keyring: PKCS#11 Component +Comment[eo]=GNOME Ŝlosilaro: PKCS#11 ero +Comment[es]=Depósito de claves de GNOME: Componente PKCS#11 +Comment[et]=GNOME võtmerõngas: PKCS#11 komponent +Comment[eu]=GNOMEren gako-sorta: PKCS#11 osagaia +Comment[fa]=دسته‌کلید گنوم: عناصر PKCS#11 +Comment[fi]=Gnomen avainnippu: PKCS#11-komponentti +Comment[fr]=Trousseau de clés de GNOME : composant PKCS#11 +Comment[fur]=Puarteclâfs di GNOME: component PKCS#11 +Comment[gd]=Dul-iuchrach GNOME: Co-phàirt PKCS#11 +Comment[gl]=GNOME Keyring: compoñente PKCS#11 +Comment[gu]=GNOME કીરીંગ: PKCS#11 ઘટક +Comment[he]=קבוצת מפתחות של GNOME:רכיב PKCS#11 +Comment[hi]=गनोम कीरिंग: PKCS#11 घटक +Comment[hr]=GNOME skup ključeva: PKCS#11 komponena +Comment[hu]=GNOME kulcstartó – PKCS#11 összetevő +Comment[id]=GNOME Keyring: Komponen PKCS#11 +Comment[is]=GNOME-lyklakippa: PKCS#11-þáttur +Comment[it]=Portachiavi di GNOME: componente PKCS#11 +Comment[ja]=GNOME キーリング: PKCS#11 コンポーネント +Comment[ka]=GNOME-ის ბრელოკი: PKCS#11 კომპონენტი +Comment[kab]=GNOME Keyring: Isger PKCS#11 +Comment[kk]=GNOME Keyring: PKCS#11 құрамасы +Comment[km]=GNOME Keyring ៖ សមាសភាគ PKCS#11 +Comment[kn]=GNOME ಕೀಲಿಗೊಂಚಲು: PKCS#11 ಘಟಕ +Comment[ko]=그놈 키 모음: PKCS#11 컴포넌트 +Comment[lt]=GNOME raktinė: PKCS#11 komponentas +Comment[lv]=GNOME atslēgu saišķis — PKCS#11 komponente +Comment[mjw]=GNOME Keyring: PKCS#11 Component +Comment[mk]=Приврзок на GNOME: PKCS#11 компонента +Comment[ml]=ഗ്നോം കീറിങ്: PKCS#11 ഘടകം +Comment[mr]=GNOME किरिंग: PKCS#11 घटक +Comment[ms]=Gelang Kunci GNOME: Komponen PKCS#11 +Comment[nb]=GNOME nøkkelring: PKCS#11-komponent +Comment[ne]=जिनोम किरिङ: PKCS#11 अवयव +Comment[nl]=Sleutelbos-service: PKCS#11-component +Comment[nn]=GNOME Nøkkelring: PKCS#11-komponent +Comment[oc]=Trossèl de claus GNOME : component PKCS#11 +Comment[or]=GNOME କି ରିଙ୍ଗ: PKCS#11 ଉପାଦାନ +Comment[pa]=ਗਨੋਮ ਕੀਰਿੰਗ: PKCS#11 ਭਾਗ +Comment[pl]=Baza kluczy dla środowiska GNOME: składnik PKCS#11 +Comment[pt]=GNOME Keyring: componente PKCS#11 +Comment[pt_BR]=Chaveiro do GNOME: Componente PKCS#11 +Comment[ro]=Inelul de chei GNOME: Componenta PKCS#11 +Comment[ru]=Связка ключей GNOME: компонент PKCS#11 +Comment[sk]=Modul PKCS#11 zväzku kľúčov GNOME +Comment[sl]=Zbirka ključev GNOME: enota PKCS#11 +Comment[sr]=Гномови привесци: ПКЦС#11 компонента +Comment[sr@latin]=Gnomovi privesci: PKCS#11 komponenta +Comment[sv]=GNOME-nyckelring: PKCS#11-komponent +Comment[ta]=GNOME கீரிங்: PKCS#11 கூறு +Comment[te]=GNOME కీరింగ్: PKCS#11 అంశం +Comment[th]=พวงกุญแจของ GNOME: องค์ประกอบ PKCS#11 +Comment[tr]=GNOME Anahtarlığı: PKCS#11 Bileşeni +Comment[ug]=گىنوم ئاچقۇچ ھالقىسى:PKCS#11 دېتالى +Comment[uk]=Служба в'язки ключів GNOME: компонент PKCS#11 +Comment[vi]=Chùm chìa khóa GNOME: thành phần PKCS#11 +Comment[zh_CN]=GNOME 密钥环:PKCS#11 组件 +Comment[zh_HK]=GNOME 密碼匙圈:PKCS#11 元件 +Comment[zh_TW]=GNOME 鑰匙圈:PKCS#11 元件 +Comment=GNOME Keyring: PKCS#11 Component +Exec=/usr/bin/gnome-keyring-daemon --start --components=pkcs11 +OnlyShowIn=GNOME;Unity;MATE; +NoDisplay=true +X-GNOME-Autostart-Phase=PreDisplayServer +X-GNOME-AutoRestart=false +X-GNOME-Autostart-Notify=true diff --git a/includedir/etc/xdg/autostart/gnome-keyring-secrets.desktop b/includedir/etc/xdg/autostart/gnome-keyring-secrets.desktop new file mode 100644 index 0000000000000000000000000000000000000000..11952bec2360bf3ceaba88d99f3d89c8a2db16a0 --- /dev/null +++ b/includedir/etc/xdg/autostart/gnome-keyring-secrets.desktop @@ -0,0 +1,160 @@ +[Desktop Entry] +Type=Application +Name[af]=Geheimbergingsdiens +Name[ar]=خدمة حفظ سرية +Name[as]=গুপ্ত সংৰক্ষণ সেৱা +Name[ast]=Serviciu d'almacenamientu de secretos +Name[be]=Служба сховішча для сакрэтаў +Name[bg]=Услуга за шифриран носител +Name[bn]=গোপন সংরক্ষণ সম্পর্কিত সার্ভিস +Name[bn_IN]=গোপন সংগ্রহস্থল পরিষেবা +Name[bs]=Servis sa tajno skladištenje +Name[ca]=Servei d'emmagatzematge de secrets +Name[ca@valencia]=Servei d'emmagatzematge de secrets +Name[cs]=Služba utajení dat +Name[da]=Secret Storage Service +Name[de]=Sicherheitsdienst +Name[el]=Υπηρεσία κρυφής αποθήκευσης +Name[en_GB]=Secret Storage Service +Name[eo]=Servo pri sekreta memorejo +Name[es]=Servicio de almacenamiento de secretos +Name[et]=Saladuste hoidmise teenus +Name[eu]=Ezkutuko biltegiaren zerbitzua +Name[fa]=خدمت مخزن محرمانه +Name[fi]=Salaisuuksien säilöntäpalvelu +Name[fr]=Service de stockage secret +Name[fur]=Servizi archivi segret +Name[gd]=Seirbheis stòrais dhìomhair +Name[gl]=Servizo de almacenamento segredo +Name[gu]=ખાનગી સંગ્રહ સેવા +Name[he]=שרות אחסון חשאי +Name[hi]=गुप्त भंडार सेवा +Name[hr]=Tajna usluga spremišta +Name[hu]=Titoktároló szolgáltatás +Name[id]=Layanan Penyimpanan Rahasia +Name[is]=Þjónusta fyrir leynigeymslu +Name[it]=Servizio archivio segreto +Name[ja]=シークレットストレージサービス +Name[ka]=საიდუმლოებების საცავის სერვისი +Name[kab]=Ameẓlu n uklas uffir +Name[kk]=Құпия кілттер қоймасы қызметі +Name[km]=សេវា​ផ្ទុក​សម្ងាត់ +Name[kn]=ಸೀಕ್ರೆಟ್ ಶೇಖರಣಾ ಸೇವೆ +Name[ko]=비밀 저장고 서비스 +Name[lt]=Slaptoji saugojimo tarnyba +Name[lv]=Slepenās glabātavas serviss +Name[mjw]=Secret Storage Service +Name[mk]=Сервис за склад на тајни +Name[ml]=രഹസ്യ സംഭരണ സേവനം +Name[mr]=गोपणी स्टोरेज सर्व्हिस +Name[ms]=Perkhidmatan Rahsia Storan +Name[nb]=Lagringstjeneste for hemmeligheter +Name[ne]=गोप्य भण्डारण सेवा +Name[nl]=Secret Storage Service +Name[nn]=Hemmeleg lagerteneste +Name[oc]=Servici d'emmagazinatge secret +Name[or]=ଗୁପ୍ତ ସଂରକ୍ଷଣ ସର୍ଭିସ +Name[pa]=ਗੁਪਤ ਸਟੋਰੇਜ਼ ਸਰਵਿਸ +Name[pl]=Usługa przechowywania haseł +Name[pt]=Serviço de armazenamento secreto +Name[pt_BR]=Serviço de armazenamento secreto +Name[ro]=Serviciul secret de stocare +Name[ru]=Служба безопасного хранения +Name[sk]=Služba utajeného úložiska +Name[sl]=Shranjevanje skritih storitev +Name[sr]=Сервис са тајно складиштење +Name[sr@latin]=Servis sa tajno skladištenje +Name[sv]=Lagringstjänst för hemligheter +Name[ta]=\sரகசிய சேமிப்பு சேவை +Name[te]=రహస్య నిల్వ సేవ +Name[th]=บริการเก็บข้อมูลลับ +Name[tr]=Gizli Depolama Hizmeti +Name[ug]=مەخپىي ساقلاش مۇلازىمىتى +Name[uk]=Служба шифрування дисків +Name[vi]=Dịch vụ lưu trữ bảo mật +Name[zh_CN]=保密存储服务 +Name[zh_HK]=保密儲存區服務 +Name[zh_TW]=保密儲存區服務 +Name=Secret Storage Service +Comment[af]=GNOME-sleutelring: geheimdiens +Comment[ar]=حلقة مفاتيح جنوم: خدمة سرية +Comment[as]=GNOME Keyring: গুপ্ত সেৱা +Comment[ast]=Depósitu de claves de GNOME: Serviciu de secretos +Comment[be]=Вязкі ключоў GNOME: служба сакрэтаў +Comment[bg]=Ключодържател на GNOME: услуга за тайни +Comment[bn]=GNOME কী রিং: গোপন সার্ভিস +Comment[bn_IN]=GNOME Keyring: গোপন পরিষেবা +Comment[bs]=Gnomovi privjesci: servis za tajnost +Comment[ca]=Anell de claus del GNOME: servei de secrets +Comment[ca@valencia]=Anell de claus del GNOME: servei de secrets +Comment[cs]=Klíčenka GNOME: Služba utajení dat +Comment[da]=GNOME-nøglering: Secret Service +Comment[de]=GNOME-Schlüsselbunddienst: Sicherheitsdienst +Comment[el]=Κλειδοθήκη GNOME: Κρυφή υπηρεσία +Comment[en_GB]=GNOME Keyring: Secret Service +Comment[eo]=GNOME Ŝlosilaro: Sekreta servo +Comment[es]=Depósito de claves de GNOME: Servicio de secretos +Comment[et]=GNOME võtmerõngas: saladuste teenus +Comment[eu]=GNOMEren gako-sorta: ezkutuko zerbitzua +Comment[fa]=دسته‌کلید گنوم: خدمت محرمانه +Comment[fi]=Gnomen avainnippu: Salainen palvelu +Comment[fr]=Trousseau de clés de GNOME : service secret +Comment[fur]=Puarteclâfs di GNOME: servizi segret +Comment[gd]=Dul-iuchrach GNOME: Seirbheis dhìomhair +Comment[gl]=GNOME Keyring: servizo segredo +Comment[gu]=GNOME કીરીંગ: ખાનગી સેવા +Comment[he]=קבוצת מפתחות של GNOME: שירות חשאי +Comment[hi]=गनोम कीरिंग: गुप्त सेवा +Comment[hr]=GNOME skup ključeva: Tajna usluga +Comment[hu]=GNOME kulcstartó – titokszolgáltatás +Comment[id]=GNOME Keyring: Layanan Rahasia +Comment[is]=GNOME-lyklakippa: Þjónusta fyrir leyniorð +Comment[it]=Portachiavi di GNOME: servizio segreto +Comment[ja]=GNOME キーリング: シークレットサービス +Comment[ka]=GNOME-ის ბრელოკი: საიდუმლო საცავი +Comment[kab]=GNOME Keyring: Ameẓlu uffir +Comment[kk]=GNOME Keyring: Құпия кілттер қызметі +Comment[km]=GNOME Keyring ៖ សេវា​សម្ងាត់ +Comment[kn]=GNOME ಕೀಲಿಗೊಂಚಲು: ಸೀಕ್ರೆಟ್ ಸೇವೆ +Comment[ko]=그놈 키 모음: 비밀 서비스 +Comment[lt]=GNOME raktinė: slaptoji tarnyba +Comment[lv]=GNOME atslēgu saišķis — slepenais serviss +Comment[mjw]=GNOME Keyring: Secret Service +Comment[mk]=Приврзок на GNOME: таен сервис +Comment[ml]=ഗ്നോം കീറിങ്: രഹസ്യ സേവനം +Comment[mr]=GNOME किरिंग: गोपणीय सर्व्हिस +Comment[ms]=Gelang Kunci GNOME: Perkhidmatan Rahsia +Comment[nb]=GNOME nøkkelring: Hemmelige tjenester +Comment[ne]=जिनोम किरिङ : गुप्त सेवा +Comment[nl]=Sleutelbos-service: Secret Service +Comment[nn]=GNOME Nøkkelring: Hemmeleg teneste +Comment[oc]=Trossèl de claus GNOME : servici secret +Comment[or]=GNOME କି ରିଙ୍ଗ: ଗୁପ୍ତ ସଂରକ୍ଷଣ +Comment[pa]=ਗਨੋਮ ਕੀਰਿੰਗ ਡੈਮਨ: ਗੁਪਤ ਸਰਵਿਸ +Comment[pl]=Baza kluczy dla środowiska GNOME: usługa haseł +Comment[pt]=GNOME Keyring: serviço secreto +Comment[pt_BR]=Chaveiro do GNOME: Serviço secreto +Comment[ro]=Inelul de chei GNOME: Serviciul secret +Comment[ru]=Связка ключей GNOME: служба безопасности +Comment[sk]=Služba utajenia zväzku kľúčov GNOME +Comment[sl]=Zbirka ključev GNOME: skrite storitve +Comment[sr]=Гномови привесци: сервис за тајност +Comment[sr@latin]=Gnomovi privesci: servis za tajnost +Comment[sv]=GNOME-nyckelring: Hemlighetstjänst +Comment[ta]=GNOME கீரிங்: ரகசிய சேவை +Comment[te]=GNOME కీరింగ్: రహస్య సేవ +Comment[th]=พวงกุญแจของ GNOME: บริการเก็บข้อมูลลับ +Comment[tr]=GNOME Anahtarlığı: Gizli Hizmet +Comment[ug]=گىنوم ئاچقۇچ ھالقىسى:مەخپىيەت مۇلازىمىتى +Comment[uk]=Служба в'язки ключів GNOME: служба шифрування +Comment[vi]=Chùm chìa khóa GNOME: dịch vụ bảo mật +Comment[zh_CN]=GNOME 密钥环:保密服务 +Comment[zh_HK]=GNOME 密碼匙圈:保密服務 +Comment[zh_TW]=GNOME 鑰匙圈:保密服務 +Comment=GNOME Keyring: Secret Service +Exec=/usr/bin/gnome-keyring-daemon --start --components=secrets +OnlyShowIn=GNOME;Unity;MATE; +NoDisplay=true +X-GNOME-Autostart-Phase=PreDisplayServer +X-GNOME-AutoRestart=false +X-GNOME-Autostart-Notify=true diff --git a/includedir/etc/xdg/autostart/gnome-keyring-ssh.desktop b/includedir/etc/xdg/autostart/gnome-keyring-ssh.desktop new file mode 100644 index 0000000000000000000000000000000000000000..0fcee62dcd6cde273c04c5ea3512627f017f69ef --- /dev/null +++ b/includedir/etc/xdg/autostart/gnome-keyring-ssh.desktop @@ -0,0 +1,160 @@ +[Desktop Entry] +Type=Application +Name[ab]=Ацаԥхақәа рагент SSH +Name[af]=SSH-sleutelagent +Name[ar]=عميل مفاتيح SSH +Name[as]=SSH কি সহায়ক +Name[ast]=Axente de claves SSH +Name[be]=Агент ключоў SSH +Name[bg]=Агентът на SSH за ключове +Name[bn]=SSH কী এজেন্ট +Name[bn_IN]=SSH কি এজেন্ট +Name[bs]=Agent za SSH ključeve +Name[ca]=Agent de claus SSH +Name[ca@valencia]=Agent de claus SSH +Name[cs]=Agent klíčů SSH +Name[da]=SSH-nøgleagent +Name[de]=SSH-Schlüsselagent +Name[el]=Πράκτορας κλειδιού SSH +Name[en_GB]=SSH Key Agent +Name[eo]=SSH-ŝlosila agento +Name[es]=Agente de claves SSH +Name[et]=SSH-võtmete agent +Name[eu]=SSH gako-agentea +Name[fa]=عامل کلید SSH +Name[fi]=SSH-avainten agentti +Name[fr]=Agent de clés SSH +Name[fur]=Agjent clâfs SSH +Name[gd]=Àidseant iuchair SSH +Name[gl]=Axente de chave SSH +Name[gu]=SSH કી ઍજન્ટ +Name[he]=סוכן מפתחות SSH +Name[hi]=AFS कुँजी प्रतिनिधि +Name[hr]=Agent SSH ključa +Name[hu]=SSH-kulcs ügynök +Name[id]=Agen Kunci SSH +Name[is]=Umsýsla SSH-lykils +Name[it]=Agente chiavi SSH +Name[ja]=SSH 鍵エージェント +Name[ka]=SSH გასაღების აგენტი +Name[kab]=Ameggi n tsarut SSH +Name[kk]=SSH кілттер агенті +Name[km]=ភ្នាក់ងារ​សោ SSH +Name[kn]=SSH ಕೀಲಿ ಮಧ್ಯವರ್ತಿ +Name[ko]=SSH 키 에이전트 +Name[lt]=SSH raktų tarnyba +Name[lv]=SSH atslēgu aģents +Name[mjw]=SSH Key Agent +Name[mk]=Агент за SSH клучеви +Name[ml]=എസ്എസ്എച് കീ ഏജന്റ് +Name[mr]=SSH कि एजंट +Name[ms]=Ejen Kunci SSH +Name[nb]=SSH-nøkkelagent +Name[ne]=SSH की एजेन्ट +Name[nl]=SSH-sleutelagent +Name[nn]=Nøkkelagent for SSH +Name[oc]=Agent de claus SSH +Name[or]=SSH କି ସଦସ୍ୟ +Name[pa]=SSH ਕੁੰਜੀ ਏਜੰਟ +Name[pl]=Agent kluczy SSH +Name[pt]=Agente de chaves SSH +Name[pt_BR]=Agente de chaves SSH +Name[ro]=Agent pentru chei SSH +Name[ru]=Агент ключей SSH +Name[sk]=Agent kľúčov SSH +Name[sl]=Agent ključev SSH +Name[sr]=Агент за ССХ кључеве +Name[sr@latin]=Agent za SSH ključeve +Name[sv]=SSH-nyckelagent +Name[ta]=SSH முகவர் +Name[te]=SSH కీ వాహకము +Name[th]=เอเจนต์กุญแจ SSH +Name[tr]=SSH Anahtar Aracı +Name[ug]=SSH ئاچقۇچ ياردەمچىسى +Name[uk]=Агент ключів SSH +Name[vi]=Đại diện khóa SSH +Name[zh_CN]=SSH 密钥代理 +Name[zh_HK]=SSH 密碼匙代理程式 +Name[zh_TW]=SSH 金鑰代理程式 +Name=SSH Key Agent +Comment[af]=GNOME-sleutelring: SSH-agent +Comment[ar]=حلقة مفاتيح جنوم: عميل SSH +Comment[as]=GNOME Keyring: SSH সহায়ক +Comment[ast]=Depósitu de claves de GNOME: axente SSH +Comment[be]=Вязкі ключоў GNOME: агент SSH +Comment[bg]=Ключодържател на GNOME: агент на SSH +Comment[bn]=GNOME কী রিং: SSH এজেন্ট +Comment[bn_IN]=GNOME Keyring: SSH এজেন্ট +Comment[bs]=Gnomovi privjesci: SSH agent +Comment[ca]=Anell de claus del GNOME: agent SSH +Comment[ca@valencia]=Anell de claus del GNOME: agent SSH +Comment[cs]=Klíčenka GNOME: Agent SSH +Comment[da]=GNOME-nøgleringsdæmon: SSH-agent +Comment[de]=GNOME-Schlüsselbunddienst: SSH-Agent +Comment[el]=Κλειδοθήκη GNOME: Πράκτορας SSH +Comment[en_GB]=GNOME Keyring: SSH Agent +Comment[eo]=GNOME Ŝlosilaro: SSH-agento +Comment[es]=Depósito de claves de GNOME: agente SSH +Comment[et]=GNOME võtmerõngas: SSH-agent +Comment[eu]=GNOMEren gako-sorta: SSH agentea +Comment[fa]=دسته‌کلید گنوم: عامل SSH +Comment[fi]=Gnomen avainnippu: SSH-agentti +Comment[fr]=Trousseau de clés de GNOME : agent SSH +Comment[fur]=Puarteclâfs di GNOME: agjent SSH +Comment[gd]=Dul-iuchrach: Àidseant SSH +Comment[gl]=GNOME Keyring: Axente SSH +Comment[gu]=GNOME કીરીંગ: SSH ઍજન્ટ +Comment[he]=קבוצת מפתחות של GNOME: סוכן SSH +Comment[hi]=गनोम कीरिंग: SSH प्रतिनिधि +Comment[hr]=GNOME skup ključeva: SSH agent +Comment[hu]=GNOME kulcstartó – SSH-ügynök +Comment[id]=Ring Kunci GNOME: Agen SSH +Comment[is]=GNOME-lyklakippa: SSH-umsýsla +Comment[it]=Portachiavi di GNOME: agente SSH +Comment[ja]=GNOME キーリング: SSH エージェント +Comment[ka]=GNOME-ის ბრელოლი: SSH-ის აგენტი +Comment[kab]=GNOME Keyring: Ameggi n SSH +Comment[kk]=GNOME Keyring: SSH агенті +Comment[km]=GNOME Keyring ៖ ភ្នាក់ងារ SSH +Comment[kn]=GNOME ಕೀಲಿಗೊಂಚಲು: SSH ಮಧ್ಯವರ್ತಿ +Comment[ko]=그놈 키 모음: SSH 에이전트 +Comment[lt]=GNOME raktinė: SSH tarnyba +Comment[lv]=GNOME atslēgu saišķis — SSH aģents +Comment[mjw]=GNOME Keyring: SSH Agent +Comment[mk]=Приврзок на GNOME: SSH агент +Comment[ml]=ഗ്നോം കീറിങ്: എസ്എസ്എച് ഏജന്റ് +Comment[mr]=GNOME किरिंग: SSH एजंट +Comment[ms]=Gelang Kunci GNOME: Ejen SSH +Comment[nb]=GNOME nøkkelring: SSH-agent +Comment[ne]=जिनोम किरिङ : SSH एजेन्ट +Comment[nl]=Sleutelbos-service: SSH-agent +Comment[nn]=GNOME Nøkkelring: SSH-agent +Comment[oc]=Trossèl de claus GNOME : agent SSH +Comment[or]=GNOME କି ରିଙ୍ଗ: SSH ସଦସ୍ୟ +Comment[pa]=ਗਨੋਮ ਕੀਰਿੰਗ: SSH ਏਜੰਟ +Comment[pl]=Baza kluczy dla środowiska GNOME: agent SSH +Comment[pt]=GNOME Keyring: agente SSH +Comment[pt_BR]=Chaveiro do GNOME: Agente SSH +Comment[ro]=Inelul de chei GNOME: Agent SSH +Comment[ru]=Связка ключей GNOME: SSH-агент +Comment[sk]=SSH agent zväzku kľúčov GNOME +Comment[sl]=Zbirka ključev GNOME: agent SSH +Comment[sr]=Гномови привесци: ССХ агент +Comment[sr@latin]=Gnomovi privesci: SSH agent +Comment[sv]=GNOME-nyckelring: SSH-agent +Comment[ta]=GNOME கீரிங்: SSH முகவர் +Comment[te]=GNOME కీరింగ్: SSH వాహకం +Comment[th]=พวงกุญแจของ GNOME: เอเจนต์ SSH +Comment[tr]=GNOME Anahtarlığı: SSH Aracı +Comment[ug]=گىنوم ئاچقۇچ ھالقىسى:SSH ياردەمچىسى +Comment[uk]=Служба в'язки ключів GNOME: агент SSH +Comment[vi]=Chùm chìa khóa GNOME: Đại diện SSH +Comment[zh_CN]=GNOME 密钥环:SSH 代理 +Comment[zh_HK]=GNOME 密碼匙圈:SSH 代理程式 +Comment[zh_TW]=GNOME 鑰匙圈:SSH 代理程式 +Comment=GNOME Keyring: SSH Agent +Exec=/usr/bin/gnome-keyring-daemon --start --components=ssh +OnlyShowIn=GNOME;Unity;MATE; +X-GNOME-Autostart-Phase=PreDisplayServer +X-GNOME-AutoRestart=false +X-GNOME-Autostart-Notify=true diff --git a/includedir/etc/xdg/autostart/mate-maximus-autostart.desktop b/includedir/etc/xdg/autostart/mate-maximus-autostart.desktop new file mode 100644 index 0000000000000000000000000000000000000000..4260cf06e28cd27c457cac6aab0e1ce945d3da06 --- /dev/null +++ b/includedir/etc/xdg/autostart/mate-maximus-autostart.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=Maximus Window Management +Comment=Controls the displaying of windows +Icon=preferences-system-windows +Exec=mate-maximus +Terminal=false +Type=Application +Categories= +OnlyShowIn=MATE; +X-MATE-Autostart-Notify=false diff --git a/includedir/etc/xdg/autostart/mate-notification-daemon.desktop b/includedir/etc/xdg/autostart/mate-notification-daemon.desktop new file mode 100644 index 0000000000000000000000000000000000000000..7f9b4d013752219f1157b6f1fb4133837e045140 --- /dev/null +++ b/includedir/etc/xdg/autostart/mate-notification-daemon.desktop @@ -0,0 +1,14 @@ +[Desktop Entry] +Name=MATE Notification Daemon +Comment=Display notifications +Exec=/usr/libexec/mate-notification-daemon +Terminal=false +Type=Application +OnlyShowIn=MATE; +NoDisplay=true +X-MATE-Autostart-Phase=Application +X-MATE-Autostart-Notify=true +X-MATE-Bugzilla-Bugzilla=MATE +X-MATE-Bugzilla-Product=mate-notification-daemon +X-MATE-Bugzilla-Component=general +X-MATE-Bugzilla-Version=1.28.3 diff --git a/includedir/etc/xdg/autostart/mate-settings-daemon.desktop b/includedir/etc/xdg/autostart/mate-settings-daemon.desktop new file mode 100644 index 0000000000000000000000000000000000000000..eb0aea82557c93ec1dac731ed17cf4cda6dbc094 --- /dev/null +++ b/includedir/etc/xdg/autostart/mate-settings-daemon.desktop @@ -0,0 +1,78 @@ +[Desktop Entry] +Type=Application +Name[am]=የ ሜት ማሰናጃ ረዳት +Name[ar]=محثّ إعدادات متّة +Name[as]=MATE Settings ডেমন +Name[ast]=Degorriu d'axustes de MATE +Name[be]=Дэман настáўленняў MATE +Name[bg]=Сървър за настройките на MATE +Name[bn]=MATE Settings ডেমন +Name[bn_IN]=MATE Settings ডেমন +Name[ca]=Dimoni dels ajusts de MATE +Name[ca@valencia]=Dimoni de paràmetres del MATE +Name[cmn]=MATE 設定值守護程式 +Name[crh]=MATE Ayarları Cını +Name[cs]=Démon nastavení MATE +Name[da]=MATE-indstillingsdæmon +Name[de]=MATE-Einstellungsdienst +Name[el]=Δαίμονας ρυθμίσεων MATE +Name[en_AU]=MATE Settings Daemon +Name[en_GB]=MATE Settings Daemon +Name[es]=Servicio de los ajustes de MATE +Name[et]=MATE sätetedeemon +Name[eu]=MATEren ezarpenen daemon-a +Name[fi]=MATEn asetuspalvelin +Name[fr]=Service des paramètres MATE +Name[ga]=Deamhan Socruithe MATE +Name[gl]=Servizo de axustes do MATE +Name[gu]=MATE સુયોજનો ડેઇમન +Name[he]=מנוע ההגדרות של MATE +Name[hi]=गनोम सेटिंग डेमॉन +Name[hu]=MATE beállításdémon +Name[hy]=MATE Կարգաբերման պարամետրերի օժանդակ ծրագիր +Name[id]=Daemon Penataan MATE +Name[ie]=Daemon de parametres MATE +Name[it]=MATE Settings Daemon +Name[ja]=MATE 設定デーモン +Name[kk]=MATE баптаулар қызметі +Name[kn]=MATE ಸಂಯೋಜನೆಗಳ ಡೀಮನ್(Daemon) +Name[ko]=MATE 설정 데몬 +Name[lt]=MATE nustatymų tarnyba +Name[lv]=MATE iestatījumu dēmons +Name[mk]=Демонот за поставувања на MATE +Name[ml]=ഗ്നോമിലെ സജ്ജീകരണങ്ങളുടെ നിരന്തരപ്രവൃത്തി +Name[mr]=MATE संयोजना डीमन +Name[ms]=Daemon Tetapan MATE +Name[nb]=MATE oppsettstjenestenisse +Name[nl]=Mate Achtergronddienst voor instellingen +Name[nn]=MATE innstillingsnisse +Name[oc]=Paramètres MATE +Name[or]=MATE ବିନ୍ୟାସ ଡେମନ +Name[pa]=ਗਨੋਮ ਸੈਟਿੰਗ ਡੈਮਨ +Name[pl]=Usługa ustawień środowiska MATE +Name[pt]=Servidor de Definições do MATE +Name[pt_BR]=Daemon de configurações do MATE +Name[ro]=Serviciul de configurări MATE +Name[ru]=Демон параметров MATE +Name[sk]=Démon nastavení MATE +Name[sl]=Ozadnji program nastavitev MATE +Name[sr]=Мејтов услужник подешавања +Name[sr@latin]=Uslužni program za podešavanje Gnoma +Name[sv]=MATE-inställningsdemon +Name[ta]=MATE அமைவுகள் கிங்கரன் +Name[te]=MATE అమర్పుల డెమోన్ +Name[th]=ดีมอนค่าตั้ง MATE +Name[tr]=MATE Ayarlar Servisi +Name[uk]=Служба параметрів MATE +Name[ur]=میٹ ترتیبات ڈیمن +Name[vi]=Trình nền Thiết lập MATE +Name[zh_CN]=MATE 设置守护进程 +Name[zh_HK]=MATE 設定值伺服程式 +Name[zh_TW]=MATE 設定值守護程式 +Name=MATE Settings Daemon +Exec=/usr/libexec/mate-settings-daemon +OnlyShowIn=MATE; +X-MATE-Autostart-Phase=Application +X-MATE-Autostart-Notify=true +X-MATE-AutoRestart=true +NoDisplay=true diff --git a/includedir/etc/xdg/autostart/nm-applet.desktop b/includedir/etc/xdg/autostart/nm-applet.desktop new file mode 100644 index 0000000000000000000000000000000000000000..6ae677884773ceeaf2aacc4b5b2267fb10d339da --- /dev/null +++ b/includedir/etc/xdg/autostart/nm-applet.desktop @@ -0,0 +1,157 @@ +[Desktop Entry] +Name[af]=NetworkManager-miniprogram +Name[an]=Miniaplicacion Chestor d'o rete +Name[ar]=بريمج مدير الشبكة +Name[as]=NetworkManager এপ্লেট +Name[ast]=Aplicación NetworkManager +Name[be]=Аплет NetworkManager +Name[be@latin]=Aplet NetworkManager +Name[bg]=Аплетът NetworkManager +Name[bn_IN]=NetworkManager অ্যাপ্লেট +Name[bs]=Programče Upravnik mreže +Name[ca]=Miniaplicació NetworkManager +Name[ca@valencia]=Miniaplicació NetworkManager +Name[crh]=NetworkManager Uygulamacığı +Name[cs]=Applet NetworkManager +Name[da]=Panelprogram til Netværkshåndtering +Name[de]=Netzwerk-Manager-Applet +Name[dz]=ཡོངས་འབྲེལ་འཛིན་སྐྱོང་པའི་ཨེཔ་ལེཊི་ +Name[el]=Μικροεφαρμογή NetworkManager +Name[en_CA]=NetworkManager Applet +Name[en_GB]=NetworkManager Applet +Name[eo]=Apleto por NetworkManager +Name[es]=Miniaplicación Gestor de la red +Name[et]=Võrguhalduri rakend +Name[eu]=NetworkManager miniaplikazioa +Name[fa]=برنامک مدیریت شبکه +Name[fi]=Verkon hallinta -sovelma +Name[fr]=Applet NetworkManager +Name[gd]=Aplaid Manaidsear lìonraidh +Name[gl]=Miniaplicación NetworkManager +Name[gu]=NetworkManager એપ્લેટ +Name[he]=יישומון מנהל הרשתות +Name[hi]=नेटवर्कप्रबंधक एप्लेट +Name[hr]=Aplet mrežnog upravitelja +Name[hu]=Hálózatkezelő kisalkalmazás +Name[id]=Aplet NetworkManager +Name[is]=NetworkManager forrit +Name[it]=Applet NetworkManager +Name[ja]=NetworkManager アプレット +Name[kk]=NetworkManager апплеті +Name[km]=អាប់ភ្លេត NetworkManager +Name[kn]=NetworkManager ಆಪ್ಲೆಟ್ +Name[ko]=네트워크 관리 애플릿 +Name[ku]=Sepanoka NetworkManager +Name[lt]=NetworkManager įtaisas +Name[lv]=NetworkManager sīklietotne +Name[mk]=Аплет за менаџирање со мрежи +Name[ml]=NetworkManager ലഘുപ്രയോഗം +Name[mr]=NetworkManager ॲप्लेट +Name[ms]=Aplet NetworkManager +Name[nb]=NetworkManager panelprogram +Name[ne]=सञ्जालप्रबन्धक एप्लेट +Name[nl]=Netwerkbeheer-applet +Name[nn]=Panelprogram for NetworkManager +Name[oc]=Apondon (applet) NetworkManager +Name[or]=ନେଟୱର୍କ ପରିଚାଳକ ଆପଲେଟ +Name[pa]=ਨੈੱਟਵਰਕਮੈਨੇਜਰ ਐਪਲਿਟ +Name[pl]=Aplet NetworkManager +Name[pt]=Aplicação Gestor de redes +Name[pt_BR]=Miniaplicativo gerenciador de redes +Name[ro]=Miniaplicație Administrator de rețea +Name[ru]=Аплет NetworkManager +Name[sk]=Aplet Správca siete +Name[sl]=Aplet upravljalnika omrežja +Name[sr]=Програмче управника мреже +Name[sr@latin]=Programče upravnika mreže +Name[sv]=Miniprogram för nätverkshantering +Name[ta]=பிணைய மேலாளர் அப்லெட் +Name[te]=నెట్‌వర్క్ మ్యానేజర్ ఆప్లెట్ +Name[th]=แอพเพล็ต NetworkManager +Name[tr]=NetworkManager Programcığı +Name[ug]=NetworkManager قوللانچاق +Name[uk]=Аплет NetworkManager +Name[ur]=نیٹ ورک منیجر ایپلیٹ +Name[vi]=Quản lý mạng +Name[zh_CN]=网络管理器小程序 +Name[zh_HK]=NetworkManager 面板程式 +Name[zh_TW]=NetworkManager 面板程式 +Name=NetworkManager Applet +Comment[af]=Bestuur u netwerkverbindings +Comment[an]=Chestione as suyas conexions de rete +Comment[ar]=إدارة اتصالات الشبكة +Comment[as]=আপোনাৰ নেটৱৰ্ক সংযোগসমূহ ব্যৱস্থাপনা কৰক +Comment[ast]=Remana les conexones de rede +Comment[be]=Кіраванне сеткавымі злучэннямі +Comment[bg]=Управление на мрежовите връзки +Comment[bs]=Upravljajte svojim mrežnim vezama +Comment[ca]=Gestioneu les connexions de xarxa +Comment[ca@valencia]=Gestioneu les connexions de xarxa +Comment[crh]=Şebeke bağlantılarıñıznı idare etiñiz +Comment[cs]=Spravujte svá síťová připojení +Comment[da]=Håndtér dine netværksforbindelser +Comment[de]=Verwaltung der Netzwerkverbindungen +Comment[el]=Διαχείριση των συνδέσεων δικτύου +Comment[en_GB]=Manage your network connections +Comment[eo]=Kontroli viajn retkonektojn +Comment[es]=Gestione sus conexiones de red +Comment[et]=Võrguühenduste haldamine +Comment[eu]=Kudeatu sareko konexioak +Comment[fa]=اتصال‌های شبکه خود را مدیریت کنید +Comment[fi]=Hallitse verkkoyhteyksiä +Comment[fr]=Gérer vos connexions réseau +Comment[gd]=Stiùirich na ceanglaichean agad ris an eadar-lìon +Comment[gl]=Xestione as súas conexións de rede +Comment[gu]=તમારા નેટવર્ક જોડાણોને સંચાલિત કરો +Comment[he]=ניהול חיבורי הרשת שלך +Comment[hi]=अपना संजाल कनेक्शन नियंत्रित करें +Comment[hr]=Upravljanje mrežnim povezivanjem +Comment[hu]=Hálózati kapcsolatok kezelése +Comment[id]=Mengelola koneksi jaringan Anda +Comment[is]=Sýsla með nettengingar +Comment[it]=Gestisce le connessioni di rete +Comment[ja]=ネットワーク接続の管理 +Comment[ka]=ქსელური შეერთებების მართვა +Comment[kk]=Желілік байланыстарыңызды басқару +Comment[km]=គ្រប់គ្រង​ការ​តភ្ជាប់បណ្ដាញ​របស់​អ្នក +Comment[ko]=네트워크 연결을 관리합니다 +Comment[ku]=Girêdanên torê yên xwe birêve bike +Comment[lt]=Tvarkyti tinklo ryšius +Comment[lv]=Pārvaldiet savus tīkla savienojumus +Comment[mk]=Менаџирајте со Вашите мрежни врски +Comment[ml]=നിങ്ങളുടെ ശൃംഖല ബന്ധങ്ങള്‍ കൈകാര്യം ചെയ്യുക +Comment[mr]=नेटवर्क जोडणी नियंत्रीत करा +Comment[ms]=Urus sambungan-sambungan rangkaian anda +Comment[nb]=Håndter dine nettverksforbindelser +Comment[nl]=Uw netwerkverbindingen beheren +Comment[nn]=Handsam nettverkstilkoplingane +Comment[oc]=Gerir la connexions a la ret +Comment[pa]=ਆਪਣੇ ਨੈੱਟਵਰਕ ਕਨੈਕਸ਼ਨਾਂ ਦਾ ਪਰਬੰਧ ਕਰੋ +Comment[pl]=Zarządzanie połączeniami sieciowymi +Comment[pt]=Controle as suas ligações de rede +Comment[pt_BR]=Controle suas conexões de rede +Comment[ro]=Gestionează conexiunile la rețea +Comment[ru]=Управление сетевыми соединениями +Comment[sk]=Spravuje vaše sieťové pripojenia +Comment[sl]=Upravljanje omrežnih povezav +Comment[sr]=Управљајте вашим везама мреже +Comment[sr@latin]=Upravljajte vašim vezama mreže +Comment[sv]=Hantera dina nätverksanslutningar +Comment[ta]=உங்களது பிணையத்தின் இணைப்புகளை மேலாண்மை செய்க +Comment[te]=మీ నెట్వర్కు అనుసంధానములను నిర్వహించు +Comment[th]=จัดการการเชื่อมต่อเครือข่ายของคุณ +Comment[tr]=Ağ bağlantılarınızı yönetin +Comment[ug]=تور باغلىنىشلىرىڭىزنى باشقۇرۇڭ +Comment[uk]=Організуйте ваші мережеві з'єднання +Comment[vi]=Quản lý kết nối mạng +Comment[zh_CN]=管理您的网络连接 +Comment[zh_HK]=管理你的網絡連線 +Comment[zh_TW]=管理您的網路連線 +Comment=Manage your network connections +Icon=nm-device-wireless +Exec=nm-applet +Terminal=false +Type=Application +NoDisplay=true +NotShowIn=KDE;GNOME; +X-GNOME-UsesNotifications=true diff --git a/includedir/etc/xdg/autostart/org.gnome.Software.desktop b/includedir/etc/xdg/autostart/org.gnome.Software.desktop new file mode 100644 index 0000000000000000000000000000000000000000..6dc325f8849fa6cd3551d24f80742dabfd7a4c06 --- /dev/null +++ b/includedir/etc/xdg/autostart/org.gnome.Software.desktop @@ -0,0 +1,7 @@ +[Desktop Entry] +Type=Application +Name=GNOME Software +Exec=/usr/bin/gnome-software --gapplication-service +OnlyShowIn=GNOME;Unity; +NotShowIn=Budgie +NoDisplay=true diff --git a/includedir/etc/xdg/autostart/picom.desktop b/includedir/etc/xdg/autostart/picom.desktop new file mode 100644 index 0000000000000000000000000000000000000000..051e8935bdbf39e07c1ca4bfc605513fb2333f2d --- /dev/null +++ b/includedir/etc/xdg/autostart/picom.desktop @@ -0,0 +1,15 @@ +[Desktop Entry] +Version=1.0 +Type=Application +NoDisplay=false +Name=picom +GenericName=X compositor +Comment=An X compositor +Categories=Utility; +Keywords=compositor;composite manager;window effects;transparency;opacity; +TryExec=picom +Exec=picom +StartupNotify=false +Terminal=false +# Thanks to quequotion for providing this file! +Icon=picom diff --git a/includedir/etc/xdg/autostart/pipewire-pulse.desktop b/includedir/etc/xdg/autostart/pipewire-pulse.desktop new file mode 100644 index 0000000000000000000000000000000000000000..e869d5452b89847d03a91ab50e4e132e0372ef78 --- /dev/null +++ b/includedir/etc/xdg/autostart/pipewire-pulse.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Name=PipeWire pulse +Comment=Start the PipeWire pulse server +Icon=pipewire-pulse +Exec=pipewire-pulse +Terminal=false +Type=Application +NoDisplay=true diff --git a/includedir/etc/xdg/autostart/polkit-mate-authentication-agent-1.desktop b/includedir/etc/xdg/autostart/polkit-mate-authentication-agent-1.desktop new file mode 100644 index 0000000000000000000000000000000000000000..9a1f6d6ff48b229bb0decad7e9f065909cfba739 --- /dev/null +++ b/includedir/etc/xdg/autostart/polkit-mate-authentication-agent-1.desktop @@ -0,0 +1,129 @@ +[Desktop Entry] +Name[am]=የ አሰራር ጥቅል ማረጋገጫ ወኪል +Name[ar]=مدير الاستيثاق PolicyKit +Name[be]=PolicyKit, агент аўтэнтыфікацыі +Name[bg]=Програма за идентификация PolicyKit +Name[bn_IN]=PolicyKit অনুমোদনের এজেন্ট +Name[ca]=Agent d'autenticació PolicyKit +Name[ca@valencia]=Agent d'autenticació PolicyKit +Name[cmn]=PolicyKit 驗證代理程式 +Name[cs]=Ověřovací agent PolicyKit +Name[da]=Godkendelsesprogrammet PolicyKit +Name[de]=PolicyKit-Legitimationsagent +Name[el]=Πράκτορας πιστοποίησης PolicyKit +Name[en_AU]=PolicyKit Authentication Agent +Name[en_GB]=PolicyKit Authentication Agent +Name[es]=Agente de autenticación de PolicyKit +Name[es_AR]=Agente de Autenticación PolicyKit +Name[es_CO]=Agente de autenticación PolicyKit +Name[et]=Autentimisagent PolicyKit +Name[eu]=PolicyKit autentifikatzeko agentea +Name[fi]=PolicytKit-tunnistautumisohjelma +Name[fr]=Agent d'authentification de PolicyKit +Name[gl]=Axente de autenticación PolicyKit +Name[gu]=PolicyKit સત્તાધિકરણ એજન્ટ +Name[he]=סוכן האימון PolicyKit +Name[hi]=PolicyKit प्रमाणीकरण प्रतिनिधि +Name[hr]=Programski izvršitelj pravila ovjere +Name[hu]=PolicyKit hitelesítési ügynök +Name[hy]=PolicyKit Նույնականացման գործակալը +Name[id]=PolicyKit Authentication Agent +Name[ie]=Agente de autentication PolicyKit +Name[is]=PolicyKit auðkenningarþjónn +Name[it]=Agente di autenticazione PolicyKit +Name[ja]=PolicyKit 認証エージェント +Name[kk]=PolicyKit аутентификация агенті +Name[kn]=PolicyKit ದೃಢೀಕರಣ ಮಧ್ಯವರ್ತಿ +Name[ko]=PolicyKit 인증 에이전트 +Name[lt]=PolicyKit tapatybės nustatymo agentas +Name[lv]=PolicyKot Apliecinājuma Aģents +Name[ml]=പോളിസിക്കിറ്റ് ഓഥന്റിക്കേഷന്‍ ഏജന്റ് +Name[mr]=PolicyKit ऑथेंटीकेशन एजेंट +Name[ms]=Ejen Pengesahihan PolicyKit +Name[nb]=Agent for fodkjennelsesprogrammet PolicyKit +Name[nl]=PolicyKit Authenticatie-agent +Name[oc]=Agent d'autentificacion de PolicyKit +Name[or]=PolicyKit ବୈଧିକରଣ ସଦସ୍ୟ +Name[pa]=ਪਾਲਸੀਕਿੱਟ ਪਰਮਾਣਕਿਤਾ ਏਜੰਟ +Name[pl]=Agent uwierzytelniania PolicyKit +Name[pt]=Agente de Autenticação PolicyKit +Name[pt_BR]=Agente de autenticação PolicyKit +Name[ro]=Agent de autentificare PolicyKit +Name[ru]=Агент аутентификации PolicyKit +Name[sk]=Agent PolicyKit na overovanie totožnosti +Name[sl]=Posrednik overjanja PolicyKit +Name[sq]=Agjenti Vërtetimit Politikës +Name[sr]=Агент потврђивања идентитета Прибор политике +Name[sv]=Autentiseringsagent för PolicyKit +Name[ta]=PolicyKit அங்கீகார முகவர் +Name[te]=పాలసీకిట్ ధృవీకరణ ప్రతినిధి +Name[th]=ตัวกลางสำหรับยืนยันตัวบุคคล PolicyKit +Name[tr]=PolicyKit Kimlik Doğrulama Aracı +Name[uk]=Агент розпізнання PolicyKit +Name[ur]=پالیسی کِٹ PolicyKit توثیقی ایجنٹ +Name[vi]=PolicyKit Authentication Agent +Name[zh_CN]=PolicyKit 认证代理 +Name[zh_HK]=PolicyKit 驗證代理程式 +Name[zh_TW]=PolicyKit 驗證代理程式 +Name=PolicyKit Authentication Agent +Comment[am]=የ አሰራር ጥቅል ማረጋገጫ ወኪል ለ ሜት ዴስክቶፕ +Comment[ar]=عميل الاستيثاق PolicyKit لسطح مكتب متّة +Comment[be]=PolicyKit, агент аўтэнтыфікацыі для асяроддзя MATE +Comment[bg]=Програма за идентификация PolicyKit за MATE +Comment[ca]=Agent d'autenticació PolicyKit per a l'escriptori MATE +Comment[ca@valencia]=Agent d'autenticació PolicyKit per a l'escriptori MATE +Comment[cs]=Ověřovací agent PolicyKit pro MATE Desktop +Comment[da]=Godkendelsesprogrammet PolicyKit for MATE-skrivebordet +Comment[de]=PolicyKit-Legitimationsagent für die MATE-Arbeitsumgebung +Comment[el]=Πράκτορας πιστοποίησης PolicyKit για το MATE Desktop +Comment[en_AU]=PolicyKit Authentication Agent for the MATE Desktop +Comment[en_GB]=PolicyKit Authentication Agent for the MATE Desktop +Comment[es]=Agente de autenticación de PolicyKit para el escritorio MATE +Comment[es_AR]=Agente de Autenticación PolicyKit para el escritorio MATE +Comment[es_CO]=Agente de autenticación PolicyKit para el entorno MATE +Comment[et]=MATE töölaua autentimisagent PolicyKit +Comment[eu]=PolicyKit Autentifikazio Agentea MATE Desktop-erako +Comment[fi]=PolicyKit-tunnistautumisagentti MATE-työpöydälle +Comment[fr]=Agent d'authentification PolicyKit pour MATE Desktop +Comment[gl]=Axente de autenticación PolicyKit para o escritorio MATE +Comment[he]=סוכן האימון PolicyKit עבור שולחן העבודה MATE +Comment[hi]=माटे डेस्कटॉप के लिए पोलिसीकिट प्रमाणीकरण घटक +Comment[hr]=Programski izvršitelj pravila ovjere za radno okruženje MATE +Comment[hu]=PolicyKit hitelesítési ügynök a MATE Desktophoz +Comment[hy]=PolicyKit Նույնականացման գործակալը MATE աշխատանքային սեղանի համար +Comment[id]=Agen Autentikasi PolicyKit untuk MATE Desktop +Comment[ie]=Agente de autentication PolicyKit por ambientie MATE +Comment[is]=PolicyKit auðkenningarþjónn fyrir MATE-skjáborðið +Comment[it]=Agente di autenticazione PolicyKit del Desktop MATE +Comment[ja]=PolicyKit 認証エージェント +Comment[kk]=MATE жұмыс үстелі үшін PolicyKit аутентификация агенті +Comment[ko]=MATE 데스크톱용 정책키트 인증 에이전트 +Comment[lt]=PolicyKit tapatybės nustatymo agentas MATE darbalaukiui +Comment[mr]=MATE डेस्कटाॅपसाठी PolicyKit ऑथेंटीकेशन एजेंट +Comment[ms]=Ejen pengesahihan PolicyKit untuk Desktop MATE +Comment[nb]=Godkjennelsesprogrammet PolicyKit for MATE-skrivebordet +Comment[nl]=PolicyKit Authenticatie-agent voor de MATE-werkomgeving +Comment[oc]=Agent d'autentificacion PolicyKit per MATE Desktop +Comment[pl]=Agent uwierzytelniania PolicyKit dla MATE +Comment[pt]=Agente de Autenticação PolicyKit do Ambiente MATE +Comment[pt_BR]=Agente de autenticação PolicyKit para o ambiente de trabalho MATE +Comment[ro]=Agent de autentificare PolicyKit +Comment[ru]=Агент аутентификации PolicyKit для рабочей среды MATE +Comment[sk]=PolicyKit Authentication Agent pre MATE Desktop +Comment[sl]=Posrednik overitve PolicyKit za namizje MATE +Comment[sq]=Agjenti Vërtetimit Politikës për MATE Desktop +Comment[sr]=Прибор политике је агент за потврђивање идентитета за Мејтову радну површ +Comment[sv]=PolicyKit autentiseringsagent för MATE skrivbordsmiljön +Comment[th]=ตัวกลางสำหรับยืนยันตัวบุคคล PolicyKit สำหรับพื้นโต๊ะของ MATE +Comment[tr]=MATE Masaüstü için PolicyKit Kimlik Doğrulama Aracı +Comment[uk]=Агент розпізнання PolicyKit для стільниці MATE +Comment[vi]=PolicyKit Authentication Agent cho môi trường MATE +Comment[zh_CN]=MATE 桌面的 PolicyKit 认证代理 +Comment[zh_TW]=MATE 桌面環境的 PolicyKit 驗證代理程式 +Comment=PolicyKit Authentication Agent for the MATE Desktop +Exec=/usr/libexec/polkit-mate-authentication-agent-1 +Terminal=false +Type=Application +NoDisplay=true +OnlyShowIn=MATE; +X-MATE-AutoRestart=true diff --git a/includedir/etc/xdg/autostart/user-dirs-update-gtk.desktop b/includedir/etc/xdg/autostart/user-dirs-update-gtk.desktop new file mode 100644 index 0000000000000000000000000000000000000000..1328653582b5e4cda62f05c44f57179b23eba8fd --- /dev/null +++ b/includedir/etc/xdg/autostart/user-dirs-update-gtk.desktop @@ -0,0 +1,163 @@ +[Desktop Entry] +Encoding=UTF-8 +Exec=xdg-user-dirs-gtk-update +Name[an]=Esvielle d'as carpetas de l'usuario +Name[ar]=تحديث مجلدات المستخدم +Name[as]=ব্যৱহাৰকৰ্তাৰ ফোল্ডাৰৰ উন্নয়ন +Name[ast]=Anovamientu de les carpetes del usuariu +Name[be]=Абнаўленне назваў карыстальніцкіх папак +Name[be@latin]=Aktualizacyja katalohaŭ karystalnika +Name[bg]=Превеждане на имената на стандартните папки +Name[bn_IN]=ব্যবহারকারীর ফোল্ডার আপডেট +Name[bs]=Ažuriranje korisničkih direktorija +Name[ca]=Actualització de les carpetes d'usuari +Name[crh]=Qullanıcı cilbentleriniñ yañartıluvı +Name[cs]=Aktualizace uživatelských složek +Name[csb]=Aktualizacëjô kataloga brëkòwnika +Name[da]=Opdatering af brugermapper +Name[de]=Aktualisierung der Ordner des Benutzers +Name[el]=Ενημέρωση φακέλων χρήστη +Name[en_GB]=User folders update +Name[eo]=Ĝisdatigo de uzantaj dosierujoj +Name[es]=Actualización de las carpetas del usuario +Name[et]=Kasutaja kataloogide uuendamine +Name[eu]=Erabiltzailearen karpeten eguneraketa +Name[fa]=به‌روز رسانی شاخه‌های کاربر +Name[fi]=Vakiokansioiden päivitys +Name[fr]=Mise à jour des dossiers utilisateur +Name[fur]=Inzornament cartelis utent +Name[gl]=Actualizar os cartafoles do usuario +Name[gu]=વપરાશકર્તાનાં ફોલ્ડરોનો સુધારો +Name[he]=עדכון תיקיות המשתמש +Name[hi]=उपयोक्ता फोल्डर अद्यतन +Name[hr]=Nadopuna korisnikovih mapa +Name[hu]=Felhasználói mappák frissítése +Name[id]=Pembaruan folder pengguna +Name[ie]=Actualisation del fólderes de usator +Name[is]=Uppfæra möppur notanda +Name[it]=Aggiorna cartelle utente +Name[ja]=ユーザー・フォルダーの更新 +Name[ka]=მომხმარებელთა დასტების განახლება +Name[kab]=Aleqqem n ikaramen n umseqdac +Name[kg]=mu sekokae nta +Name[kk]=Пайдаланушы бумаларын жаңарту +Name[kn]=ಬಳಕೆದಾರ ಕಡತಕೋಶಗಳ ಅಪ್‌ಡೇಟ್‌ +Name[ko]=사용자 폴더 업데이트 +Name[ku]=Rojanekirina peldankên bikarhênerê/î +Name[lt]=Naudotojo aplankų atnaujinimas +Name[lv]=Lietotāja mapju atjaunināšana +Name[ml]=ഉപയോക്താവിന്റെ ഫോള്‍ഡറുകളുടെ പരിഷ്കരണം +Name[mr]=वापरकर्ता पोल्डर्सची सुधारणा +Name[ms]=Kemaskini folder pengguna +Name[nb]=Oppdatering av brukermapper +Name[nds]=Brukerverteeknisopfrischen +Name[ne]=प्रयोगकर्ता फोल्डर अद्यावधिक गर्नुहोस् +Name[nl]=Gebruikersmappen aanpassen +Name[or]=ଚାଳକ ଫୋଲଡରଗୁଡ଼ିକର ଅଦ୍ୟତନ +Name[pa]=ਯੂਜ਼ਰ ਫੋਲਡਰ ਅੱਪਡੇਟ +Name[pl]=Aktualizacja katalogów użytkownika +Name[ps]=د کارن پوښېو اوسمهالونه +Name[pt]=Atualização de pastas do utilizador +Name[pt_BR]=Atualizar pastas de usuário +Name[ro]=Actualizare dosare utilizator +Name[ru]=Обновление папок пользователя +Name[si]=පරිශීලක බහාලුම් යාවත්කාලීනය +Name[sk]=Aktualizácia používateľských priečinkov +Name[sl]=Uporabniška posodobitev map +Name[sq]=Përditëso kartelat e përdoruesit +Name[sr]=Преименовање фасцикли +Name[sr@latin]=Preimenovanje fascikli +Name[sv]=Uppdatera användarmappar +Name[ta]=பயனர் கோப்புறைகளை மேம்படுத்து +Name[te]=వినియోగదారి ఫోల్డర్ల నవీకరణ +Name[th]=ปรับชื่อโฟลเดอร์ผู้ใช้ +Name[tr]=Kullanıcı klasörlerinin güncellenmesi +Name[uk]=Оновлення тек користувача +Name[vi]=Cập nhật thư mục người dùng +Name[zh_CN]=用户文件夹更新 +Name[zh_HK]=使用者資料夾更新 +Name[zh_TW]=使用者資料夾更新 +Name=User folders update +Comment[af]=Dateer algemene gidsname op om te pas by die huidige lokaliteitsinstelling +Comment[an]=Esviellar os nombres d'as carpetas ta conincidir con a configuracion rechional actual +Comment[ar]=حدّث أسماء المجلدات المشتركة لتطابق المحلية الحالية +Comment[as]=বৰ্ত্তমানৰ লোকেইলৰ লগত মিলাবলৈ সাধাৰণ ফোল্ডাৰৰ নাম উন্নয়ন কৰক +Comment[ast]=Anovar los nomes comunes de les carpetes pa que concasen cola configuración rexonal actual +Comment[be]=Абнаўленне назваў стандартных папак у адпаведнасці з актыўнымі настройкамі мясцовасці +Comment[be@latin]=Aktualizuj nazvy asnoŭnych katalohaŭ, kab adpaviadali dziejnaj lakalnaści +Comment[bg]=Превеждане на имената на стандартните папки към текущо ползвания език +Comment[bn_IN]=বর্তমান লোকেইল অনুযায়ী, সাধারণ ফোল্ডারগুলির নাম পরিবর্তন করা হবে +Comment[bs]=Promijeni imena često korišćenih direktorija na trenutni jezik +Comment[ca]=Actualitza els noms de les carpetes comunes per a coincidir amb l'idioma actual +Comment[crh]=Umumiy cilbentlerniñ isimlerini ağımdaki tilge uyğunlaştır +Comment[cs]=Aktualizovat názvy běžných složek podle aktuální lokalizace libc +Comment[csb]=Aktualizacëjô nowich mionów katalogów do aktualnegò nastôwù jãzëka +Comment[da]=Opdatér almindelige mappenavne, så de passer til det nuværende sprog +Comment[de]=Namen der Standardordner auf die momentan verwendete Sprache aktualisieren +Comment[el]=Ενημέρωση ονομάτων των συνηθισμένων φακέλων ώστε να ταιριάζουν στην τρέχουσα γλώσσα +Comment[en_GB]=Update common folders names to match current locale +Comment[eo]=Ĝisdatigi komunajn dosierujnomojn por tute kongrui aktualan lokan lingvon +Comment[es]=Actualizar los nombres comunes de las carpetas para coincidir con la configuración regional actual +Comment[et]=Standardkaustade nimede uuendamine, et need sobiksid valitud keelega +Comment[eu]=Eguneratu karpeta arrunten izenak uneko lokalearekin bat etortzeko +Comment[fa]=به‌روز رسانی نام شاخه‌های معمول برای تطابق با زبان کنونی +Comment[fi]=Päivitä vakiokansioiden nimet nykyisten kieliasetusten perusteella +Comment[fr]=Mettre à jour les noms des dossiers courants pour correspondre à la langue (« locale ») actuelle +Comment[fur]=Inzorne i nons des cartelis ordenaris in base ae lenghe in ûs +Comment[gl]=Actualizar nomes dos cartafoles comúns para coincidir co locale actual +Comment[gu]=હાલનાં લોકેલ ને બંધબેસતા સામાન્ય ફોલ્ડર નામોને સુધારો +Comment[he]=עדכון שמות של תיקיות נפוצות כך שיתאימו לשפה הנוכחית +Comment[hi]=मौजूदा फोल्डर से मेल खाने के लिए सामान्य फोल्डर नाम को अद्यतन करें +Comment[hr]=Nadopuni nazive uobičajenih mapa kako bi odgovarali trenutnom jeziku +Comment[hu]=Általános mappanevek frissítése a jelenlegi területi beállításra +Comment[id]=Perbarui nama folder umum untuk disamakan dengan lokal saat ini +Comment[ie]=Actualisar nómines del comun fólderes al actual locale +Comment[is]=Uppfæra möppur til að passa við núverandi tungumál +Comment[it]=Aggiorna i nomi di cartella comuni in base alla lingua in uso +Comment[ja]=標準フォルダーの名前を現在の言語に合わせて更新します +Comment[ka]=დასტების მიმდინარე ლოკალის მიხედვით განახლება +Comment[kab]=Leqqem ismawen n yikaramen icaεen akken ad mmagren d tutlayt n tura. +Comment[kg]=bandula nta za lundombe mu ndingAku +Comment[kk]=Ағымдағы тілге сәйкес келуі үшін қалыпты бумалар атауларын жаңарту +Comment[kn]=ಪ್ರಸಕ್ತ ಭಾಷೆಗೆ(ಲೊಕ್ಯಾಲ್‌) ಹೊಂದಿಕೊಳ್ಳುವಂತೆ ಸಾಮಾನ್ಯ ಕಡತಕೋಶದ ಹೆಸರುಗಳನ್ನು ಬದಲಾಯಿಸಿ +Comment[ko]=현재 로캘에 맞게 공통 폴더의 이름을 바꿉니다 +Comment[ku]=Navên peldankên zêde bikaranî rojane bike da ku lihevhatina bi localeya heyî re hebe. +Comment[lt]=Atnaujinti standartinių aplankų vardus pagal nustatytą lokalę +Comment[lv]=Atjaunināt vispārīgo mapju nosaukumus, lai tie sakristu ar izvēlēto lokāli +Comment[ml]=ഇപ്പോഴുള്ള ലൊക്കേലുമായി പൊരുത്തപ്പെടുന്ന സാധാരണ ഫോള്‍ഡര്‍ നാമങ്ങള്‍ നല്‍കുക +Comment[mr]=सध्याच्या लोकेलची जुळवणी करण्यासाठी सामान्य फोल्डरचे नावे सुधारीत करा +Comment[ms]=Kemaskini nama folder umum mengikut lokal semasa yang sepadan +Comment[nb]=Oppdater navn på vanlige mapper til aktivt språk +Comment[nds]=Allgemeene Verteeknisnaamen in de neje Sprak opfrischen +Comment[ne]=हालको लोक्याल मिलाउन साझा फोल्डरनामहरू अद्यावधिक गर्नुहोस् +Comment[nl]=Namen van standaardmappen aanpassen aan de huidige taalinstelling +Comment[or]=ପ୍ରଚଳିତ ଭାଷା ସହିତ ମେଳାଇବା ପାଇଁ ସାଧାରଣ ଫୋଲଡର ନାମଗୁଡ଼ିକୁ ଅଦ୍ୟତନ କରନ୍ତୁ +Comment[pa]=ਆਮ ਫੋਲਡਰ ਨਾਂ ਮੌਜੂਦਾ ਲੋਕੇਲ ਨਾਲ ਮਿਲਾਉਣ ਵਾਸਤੇ ਅੱਪਡੇਟ +Comment[pl]=Aktualizowanie nazw katalogów do bieżących ustawień językowych +Comment[ps]=د ټولګړو پوښېو نومونه اوسمهالول چې د اوسنۍ ځاييزونې سره ساري شي +Comment[pt]=Atualizar os nomes de pastas comuns para corresponderem ao idioma atual +Comment[pt_BR]=Atualiza o nome de pastas comuns para se adequar à localização atual +Comment[ro]=Actualizați numele dosarelor uzuale pentru a se potrivi cu localizarea curentă +Comment[ru]=Обновить имена общих папок для соответствия текущему языку +Comment[sk]=Aktualizovať názvy bežných priečinkov, aby sa zhodovali so súčasným jazykom +Comment[sl]=Posodobi imena map na trenutno izbrani jezik +Comment[sq]=Përditëso emrat e kartelave të zakonshme në bazë të gjuhës në përdorim +Comment[sr]=Усклађује имена стандардних фасцикли са тренутним језиком +Comment[sr@latin]=Usklađuje imena standardnih fascikli sa trenutnim jezikom +Comment[sv]=Uppdatera vanliga mappnamn för att passa aktuell lokal +Comment[ta]=நடப்பு உள்ளமைக்கு பொதுவான கோப்புறைகளின் பெயர்களை பொருத்துவதற்கு மேம்படுத்து +Comment[te]=ఉమ్మడి ఫోల్డర్ నామములను ప్రస్తుత స్థానికానికి నవీకరించుము +Comment[th]=ปรับชื่อโฟลเดอร์มาตรฐานให้เป็นภาษาเดียวกับโลแคลปัจจุบัน +Comment[tr]=Ortak klasör adlarını güncelleyerek geçerli dile uyarla +Comment[uk]=Оновити імена загальних тек для відповідності поточній локалі +Comment[vi]=Cập nhật tên các thư mục thông dụng cho khớp với ngôn ngữ bản địa +Comment[zh_CN]=更新公共文件夹名称以匹配当前区域设置 +Comment[zh_HK]=更新常用資料夾名稱以符合目前的語言區域設定 +Comment[zh_TW]=更新常用資料夾名稱以符合目前的語言區域設定 +Comment=Update common folders names to match current locale +Terminal=false +OnlyShowIn=GNOME;LXDE;Unity; +NoDisplay=true +Type=Application +StartupNotify=false +X-KDE-autostart-after=panel diff --git a/includedir/etc/xdg/autostart/xdg-user-dirs.desktop b/includedir/etc/xdg/autostart/xdg-user-dirs.desktop new file mode 100644 index 0000000000000000000000000000000000000000..6b969d46f6676a971ee4a2f52d90f4155b885193 --- /dev/null +++ b/includedir/etc/xdg/autostart/xdg-user-dirs.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Type=Application +Name=User folders update +TryExec=xdg-user-dirs-update +Exec=xdg-user-dirs-update +StartupNotify=false +NoDisplay=true + +X-GNOME-Autostart-Phase=Initialization +X-KDE-autostart-phase=1 diff --git a/includedir/etc/xdg/menus/mate-applications.menu b/includedir/etc/xdg/menus/mate-applications.menu new file mode 100644 index 0000000000000000000000000000000000000000..9037852bb63b78432db8adb4d5975305a279aa45 --- /dev/null +++ b/includedir/etc/xdg/menus/mate-applications.menu @@ -0,0 +1,166 @@ + + + + + Applications + mate-menu-applications.directory + + + + /etc/X11/applnk + /usr/share/mate/apps + + + + + + + + applications-merged + + + + Accessories + mate-utility.directory + + + Utility + + Accessibility + System + + + + + + + Universal Access + mate-utility-accessibility.directory + + + Accessibility + Settings + + + + + + + Development + mate-development.directory + + + Development + + emacs.desktop + + + + + + Education + mate-education.directory + + + Education + + + + + + + Games + mate-game.directory + + + Game + + + + + + + Graphics + mate-graphics.directory + + + Graphics + + + + + + + Internet + mate-network.directory + + + Network + + + + + + + Multimedia + mate-audio-video.directory + + + AudioVideo + + + + + + + Office + mate-office.directory + + + Office + + + + + + + System + mate-system-tools.directory + + + System + Settings + + + + + + + Collection + mate-collection.directory + + + Collection + Settings + + + + + + Other + mate-other.directory + + + + Core + Settings + Screensaver + + + + + diff --git a/includedir/etc/xdg/menus/mate-preferences-categories.menu b/includedir/etc/xdg/menus/mate-preferences-categories.menu new file mode 100644 index 0000000000000000000000000000000000000000..bd8972699a22f59b140bbfea562f18a78cfe6c34 --- /dev/null +++ b/includedir/etc/xdg/menus/mate-preferences-categories.menu @@ -0,0 +1,114 @@ + + + + Preferences + + + Personal + mate-personal.directory + + + Settings + X-MATE-PersonalSettings + System + + + Settings + X-GNOME-PersonalSettings + System + + + Settings + X-GNOME-SystemSettings + Archiving + + + Settings + Accessibility + + + + + + Look and Feel + mate-look-and-feel.directory + + + Settings + DesktopSettings + System + Security + + + Settings + Qt + System + Security + + + + + + Internet and Network + mate-internet-and-network.directory + + + Settings + X-MATE-NetworkSettings + System + + + Settings + X-GNOME-NetworkSettings + System + + + Settings + Security + System + + + + + + Hardware + mate-hardware.directory + + + Settings + HardwareSettings + System + + + + + + Other + mate-other.directory + + + Settings + Accessibility + System + DesktopSettings + HardwareSettings + Security + Archiving + Qt + X-MATE-NetworkSettings + X-GNOME-NetworkSettings + X-MATE-PersonalSettings + X-GNOME-PersonalSettings + + + + matecc.desktop + + + + + Settings + + + diff --git a/includedir/etc/xdg/menus/mate-settings.menu b/includedir/etc/xdg/menus/mate-settings.menu new file mode 100644 index 0000000000000000000000000000000000000000..29e07b79f00edc60b4d9d2280a0a7f0a0eb3248a --- /dev/null +++ b/includedir/etc/xdg/menus/mate-settings.menu @@ -0,0 +1,59 @@ + + + + + Desktop + mate-menu-system.directory + + + + + + + + preferences-merged + + + + matecc.desktop + + + + + Preferences + mate-settings.directory + + + Settings + + + System + matecc.desktop + + + + + mate-preferences-categories.menu + + + + + Administration + mate-settings-system.directory + + + Settings + System + + + + + + Preferences + Administration + + + + + diff --git a/includedir/etc/xdg/menus/matecc.menu b/includedir/etc/xdg/menus/matecc.menu new file mode 100644 index 0000000000000000000000000000000000000000..6acfc0859462cff3f40f580375d2968cd75ed81c --- /dev/null +++ b/includedir/etc/xdg/menus/matecc.menu @@ -0,0 +1,154 @@ + + + + Control Center + matecc.directory + + + + + + + + + + + Administration + Hardware + Internet and Network + Look and Feel + Personal + Universal Access + + + + + + + Settings + Accessibility + System + DesktopSettings + HardwareSettings + Security + Archiving + Qt + X-MATE-NetworkSettings + X-GNOME-NetworkSettings + X-MATE-PersonalSettings + X-GNOME-PersonalSettings + + + + matecc.desktop + + + + + matecc.desktop + + + + + Administration + mate-settings-system.directory + + + Settings + System + + + Settings + System + Printing + + + + + + + Hardware + mate-hardware.directory + + + Settings + HardwareSettings + System + + + + + + + Internet and Network + mate-internet-and-network.directory + + + Settings + X-MATE-NetworkSettings + System + + + Settings + X-GNOME-NetworkSettings + System + + + Settings + Security + System + + + + + + + Look and Feel + mate-look-and-feel.directory + + + Settings + DesktopSettings + System + Security + + + Settings + Qt + System + Security + + + + + + + + Personal + mate-personal.directory + + + Settings + X-MATE-PersonalSettings + System + + + Settings + X-GNOME-PersonalSettings + System + + + Settings + X-GNOME-SystemSettings + Archiving + + + Settings + Accessibility + Utility + + + + + diff --git a/includedir/etc/xdg/tumbler/tumbler.rc b/includedir/etc/xdg/tumbler/tumbler.rc new file mode 100644 index 0000000000000000000000000000000000000000..d9093fb625c180f6f59cb90891b33562fc3d4f22 --- /dev/null +++ b/includedir/etc/xdg/tumbler/tumbler.rc @@ -0,0 +1,148 @@ +### +# [TypeNameOfPlugin] +# Disabled: Set to true to avoid loading the plugin. By default all +# plugins are loaded. +# Priority: Priority of the plugin if more plugins support the same +# uri-scheme / mime-type combination. +# Locations: ;-separated path list the plugin will be used in. If the +# source file is not a child of one of the locations, the +# plugin won't be used and another plugin with a lower +# priority will be tried. +# Absolute paths, environment variables, ~/ and ~username/ +# are allowed. Leave empty to allow all locations. +# Excludes: ;-separated path list the plugin will not be used in. +# Absolute paths, environment variables, ~/ and ~username/ +# are allowed. Leave empty to exclude nothing. Please note +# that paths in Excludes precede those in Locations. +# MaxFileSize: Maximum size of the source file the plugin will still +# try to generate a plugin for. The size is in bytes, +# 0 disables the check. +# +# For more information see https://docs.xfce.org/xfce/tumbler/start +### + +### +# Image Thumbnailers +### + +# Jpeg thumbnailer (from exif data if possible) +[JPEGThumbnailer] +Disabled=false +Priority=3 +Locations= +Excludes= +MaxFileSize=0 + +# RAW image files using libopenraw (the libopenraw pixbuf loader is kind of +# broken, hence the priority) +[RawThumbnailer] +Disabled=false +Priority=3 +Locations= +Excludes= +MaxFileSize=0 + +# Supports all type GdkPixbuf supports +[PixbufThumbnailer] +Disabled=false +Priority=2 +Locations= +Excludes= +MaxFileSize=0 + +### +# Video Thumbnailers +### + +# Download cover from omdbapi.com or themoviedb.org if an +# API key is given. This plugin is disabled because it +# sends your (private) movie names over the internet. +[CoverThumbnailer] +Disabled=true +Priority=3 +Locations=~/movies +Excludes= +MaxFileSize=0 +#APIKey=your-api-key-from-themoviedb.org + +# ffmpegthumbnailer plugin +[FfmpegThumbnailer] +Disabled=false +Priority=2 +Locations= +Excludes= +MaxFileSize=0 + +# GStreamer plugin +[GstThumbnailer] +Disabled=false +Priority=1 +Locations= +Excludes= +MaxFileSize=0 + +### +# Document Thumbnailers +### + +# FreeType thumbnailer +[FontThumbnailer] +Disabled=false +Priority=1 +Locations= +Excludes= +MaxFileSize=0 + + +# PDF/PS thumbnailer +[PopplerThumbnailer] +Disabled=false +Priority=1 +Locations= +Excludes= +MaxFileSize=0 + +# Open document thumbnailer (ODF) +[OdfThumbnailer] +Disabled=false +Priority=1 +Locations= +Excludes= +MaxFileSize=0 + +# Epub thumbnailer +[EpubThumbnailer] +Disabled=false +Priority=1 +Locations= +Excludes= +MaxFileSize=0 + +### +# External Thumbnailers +### + +# Thumbnailers provided by .thumbnailer desktop files located in $XDG_DATA_HOME/thumbnailers/ and +# $XDG_DATA_DIRS/thumbnailers/ +# +# They can handle any mime type, depending on the contents of each particular desktop file. +# Their priority is defined here globally and by default lower than that of all internal +# thumbnailers. +# These priorities should in any case remain different, otherwise there is no way to know in +# advance which of the internal or external thumbnailer will be prioritized in case of a mime type +# match. +# +# In case of several desktop files with the same name in the thumbnailer directories, the one +# placed in the highest priority directory override all the others. +# +# All the properties below can be overridden per desktop file, in the "X-Tumbler Settings" group, +# for example: +# [X-Tumbler Settings] +# Priority=4 +# MaxFileSize=104857600 +[DesktopThumbnailer] +Disabled=false +Priority=0 +Locations= +Excludes= +MaxFileSize=0 diff --git a/includedir/etc/xdg/user-dirs.conf b/includedir/etc/xdg/user-dirs.conf new file mode 100644 index 0000000000000000000000000000000000000000..86012d034c73f960a9e3bc7ae3cfc6db7e9e4a29 --- /dev/null +++ b/includedir/etc/xdg/user-dirs.conf @@ -0,0 +1,11 @@ +# This controls the behaviour of xdg-user-dirs-update which is run on user login +# You can also have per-user config in ~/.config/user-dirs.conf, or specify +# the XDG_CONFIG_HOME and/or XDG_CONFIG_DIRS to override this +# + +enabled=True + +# This sets the filename encoding to use. You can specify an explicit +# encoding, or "locale" which means the encoding of the users locale +# will be used +filename_encoding=UTF-8 diff --git a/includedir/etc/xdg/user-dirs.defaults b/includedir/etc/xdg/user-dirs.defaults new file mode 100644 index 0000000000000000000000000000000000000000..6baf7cc2dd9774cd6ba9ef4dd34f4cbbdd880c4d --- /dev/null +++ b/includedir/etc/xdg/user-dirs.defaults @@ -0,0 +1,16 @@ +# Default settings for user directories +# +# The values are relative pathnames from the home directory and +# will be translated on a per-path-element basis into the users locale +DESKTOP=Desktop +DOWNLOAD=Downloads +TEMPLATES=Templates +PUBLICSHARE=Public +DOCUMENTS=Documents +MUSIC=Music +PICTURES=Pictures +VIDEOS=Videos +# Another alternative is: +#MUSIC=Documents/Music +#PICTURES=Documents/Pictures +#VIDEOS=Documents/Videos diff --git a/includedir/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml b/includedir/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml new file mode 100644 index 0000000000000000000000000000000000000000..32901e3b74d45f41268b26994f165bbd5c529964 --- /dev/null +++ b/includedir/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/includedir/home/anon/.config/QtProject.conf b/includedir/home/anon/.config/QtProject.conf new file mode 100644 index 0000000000000000000000000000000000000000..1e53d1fa722bd754e5eda9a6f3d04044f1039faa --- /dev/null +++ b/includedir/home/anon/.config/QtProject.conf @@ -0,0 +1,8 @@ +[FileDialog] +history=file:///home/javierc/Downloads +lastVisited=file:///home/javierc/Downloads +qtVersion=6.8.2 +shortcuts=file:, file:///home/javierc +sidebarWidth=98 +treeViewHeader=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\x1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x1\xec\0\0\0\x4\x1\x1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x64\xff\xff\xff\xff\0\0\0\x81\0\0\0\0\0\0\0\x4\0\0\0\xff\0\0\0\x1\0\0\0\0\0\0\0?\0\0\0\x1\0\0\0\0\0\0\0@\0\0\0\x1\0\0\0\0\0\0\0n\0\0\0\x1\0\0\0\0\0\0\x3\xe8\0\xff\xff\xff\xff\0\0\0\0) +viewMode=Detail diff --git a/includedir/home/anon/.config/caja/accels b/includedir/home/anon/.config/caja/accels new file mode 100644 index 0000000000000000000000000000000000000000..23357e36406d3d06953fb93ffbeaf019e88cd479 --- /dev/null +++ b/includedir/home/anon/.config/caja/accels @@ -0,0 +1,174 @@ +; caja GtkAccelMap rc-file -*- scheme -*- +; this file is an automated accelerator map dump +; +; (gtk_accel_path "/DirViewActions/New Empty File" "") +; (gtk_accel_path "/NavigationActions/Show Hide Extra Pane" "F3") +; (gtk_accel_path "/SpatialActions/Close All Folders" "q") +; (gtk_accel_path "/ShellActions/File" "") +; (gtk_accel_path "/DirViewActions/Self Format Volume" "") +; (gtk_accel_path "/DesktopViewActions/Empty Trash Conditional" "") +; (gtk_accel_path "/NavigationActions/Forward" "Right") +; (gtk_accel_path "/IconViewActions/Sort by Size" "") +; (gtk_accel_path "/DirViewActions/OpenAlternate" "w") +; (gtk_accel_path "/SpatialActions/Go to Location" "l") +; (gtk_accel_path "/ShellActions/Zoom In" "plus") +; (gtk_accel_path "/DirViewActions/Cut" "x") +; (gtk_accel_path "/ShellActions/Go to Computer" "") +; (gtk_accel_path "/DirViewActions/RenameSelectAll" "F2") +; (gtk_accel_path "/DirViewActions/Redo" "y") +; (gtk_accel_path "/DirViewActions/Create Link" "m") +; (gtk_accel_path "/ShellActions/Preferences" "") +; (gtk_accel_path "/IconViewActions/Reversed Order" "") +; (gtk_accel_path "/DirViewActions/OpenAccel" "Down") +; (gtk_accel_path "/DirViewActions/Delete" "") +; (gtk_accel_path "/DirViewActions/No Templates" "") +; (gtk_accel_path "/NavigationActions/Show Hide Toolbar" "") +; (gtk_accel_path "/NavigationActions/Tab9" "0") +; (gtk_accel_path "/IconViewActions/Unstretch" "") +; (gtk_accel_path "/DirViewActions/LocationDelete" "") +; (gtk_accel_path "/ShellActions/Stop" "") +; (gtk_accel_path "/DirViewActions/New Documents" "") +; (gtk_accel_path "/DirViewActions/LocationCopy" "") +; (gtk_accel_path "/ShellActions/Close" "w") +; (gtk_accel_path "/DirViewActions/Location Eject Volume" "") +; (gtk_accel_path "/DirViewActions/Connect To Server Link" "") +; (gtk_accel_path "/IconViewActions/Sort by Extension" "") +; (gtk_accel_path "/DirViewActions/Stop Volume" "") +; (gtk_accel_path "/DirViewActions/LocationRestoreFromTrash" "") +; (gtk_accel_path "/NavigationActions/Tab8" "9") +; (gtk_accel_path "/NavigationActions/Go" "") +; (gtk_accel_path "/NavigationActions/SplitViewNextPane" "F6") +; (gtk_accel_path "/NavigationActions/Back" "Left") +; (gtk_accel_path "/DesktopViewActions/New Launcher Desktop" "") +; (gtk_accel_path "/NavigationActions/TabsPrevious" "Page_Up") +; (gtk_accel_path "/NavigationActions/Tab7" "8") +; (gtk_accel_path "/NavigationActions/Tab6" "7") +; (gtk_accel_path "/DirViewActions/Poll" "") +; (gtk_accel_path "/ShellActions/Edit" "") +; (gtk_accel_path "/ShellActions/Zoom Out" "minus") +; (gtk_accel_path "/NavigationActions/Go to Location" "l") +; (gtk_accel_path "/DirViewActions/Location Unmount Volume" "") +; (gtk_accel_path "/IconViewActions/Keep Aligned" "") +; (gtk_accel_path "/DirViewActions/New Launcher" "") +; (gtk_accel_path "/DirViewActions/OtherApplication2" "") +; (gtk_accel_path "/NavigationActions/New Tab" "t") +; (gtk_accel_path "/DirViewActions/Move to next pane" "") +; (gtk_accel_path "/DirViewActions/Open With" "") +; (gtk_accel_path "/DirViewActions/OpenInNewTab" "o") +; (gtk_accel_path "/IconViewActions/Sort by Name" "") +; (gtk_accel_path "/DirViewActions/Select Pattern" "s") +; (gtk_accel_path "/ShellActions/Go to Network" "") +; (gtk_accel_path "/NavigationActions/Search" "") +; (gtk_accel_path "/NavigationActions/Tab5" "6") +; (gtk_accel_path "/DirViewActions/OtherApplication1" "") +; (gtk_accel_path "/DirViewActions/Format Volume" "") +; (gtk_accel_path "/SpatialActions/Search" "f") +; (gtk_accel_path "/ShellActions/Show Backup Files" "k") +; (gtk_accel_path "/DirViewActions/Location Start Volume" "") +; (gtk_accel_path "/NavigationActions/New Window" "n") +; (gtk_accel_path "/NavigationActions/Edit Bookmarks" "b") +; (gtk_accel_path "/DirViewActions/Properties" "Return") +; (gtk_accel_path "/NavigationActions/Tab4" "5") +; (gtk_accel_path "/ShellActions/Home" "Home") +; (gtk_accel_path "/ShellActions/Go to Trash" "") +; (gtk_accel_path "/DirViewActions/Location Poll" "") +; (gtk_accel_path "/DirViewActions/Location Stop Volume" "") +; (gtk_accel_path "/DirViewActions/Open Scripts Folder" "") +; (gtk_accel_path "/DirViewActions/Mount Volume" "") +; (gtk_accel_path "/DirViewActions/Copy to Home" "") +; (gtk_accel_path "/DirViewActions/Move to Desktop" "") +; (gtk_accel_path "/NavigationActions/Tab3" "4") +; (gtk_accel_path "/SpatialActions/Close Parent Folders" "w") +; (gtk_accel_path "/ExtensionsMenuGroup/CajaOpenTerminal::open_terminal" "") +; (gtk_accel_path "/DirViewActions/Reset to Defaults" "") +; (gtk_accel_path "/DirViewActions/LocationOpenInNewTab" "") +; (gtk_accel_path "/NavigationActions/Show Hide Sidebar" "F9") +; (gtk_accel_path "/NavigationActions/Tab2" "3") +; (gtk_accel_path "/DirViewActions/CopyToMenu" "") +; (gtk_accel_path "/ShellActions/Backgrounds and Emblems" "") +; (gtk_accel_path "/NavigationActions/Folder Window" "") +; (gtk_accel_path "/DirViewActions/Open" "o") +; (gtk_accel_path "/IconViewActions/Clean Up" "") +; (gtk_accel_path "/NavigationActions/Tab1" "2") +; (gtk_accel_path "/ShellActions/View" "") +; (gtk_accel_path "/DirViewActions/Save Search" "") +; (gtk_accel_path "/IconViewActions/Sort by Size on Disk" "") +; (gtk_accel_path "/IconViewActions/Sort by Modification Date" "") +; (gtk_accel_path "/DirViewActions/Select All" "a") +; (gtk_accel_path "/IconViewActions/Sort by Emblems" "") +; (gtk_accel_path "/NavigationActions/Tab0" "1") +; (gtk_accel_path "/ShellActions/Caja Manual" "F1") +; (gtk_accel_path "/DirViewActions/LocationPasteFilesInto" "") +; (gtk_accel_path "/ShellActions/About Caja" "") +; (gtk_accel_path "/NavigationActions/Show Hide Statusbar" "") +; (gtk_accel_path "/DirViewActions/Eject Volume" "") +; (gtk_accel_path "/DirViewActions/Unmount Volume" "") +; (gtk_accel_path "/DirViewActions/Duplicate" "") +; (gtk_accel_path "/DirViewActions/LocationTrash" "") +; (gtk_accel_path "/NavigationActions/Bookmarks" "") +; (gtk_accel_path "/ShellActions/Help" "") +; (gtk_accel_path "/IconViewActions/Stretch" "") +; (gtk_accel_path "/DirViewActions/Copy to Desktop" "") +; (gtk_accel_path "/ShellActions/Connect to Server" "") +; (gtk_accel_path "/DirViewActions/LocationProperties" "") +; (gtk_accel_path "/DirViewActions/Rename" "F2") +; (gtk_accel_path "/DirViewActions/Empty Trash" "") +; (gtk_accel_path "/SpatialActions/Places" "") +; (gtk_accel_path "/DirViewActions/Self Eject Volume" "") +; (gtk_accel_path "/ShellActions/Go to Templates" "") +; (gtk_accel_path "/DirViewActions/Save Search As" "") +; (gtk_accel_path "/DirViewActions/Location Format Volume" "") +; (gtk_accel_path "/DirViewActions/LocationOpenFolderWindow" "") +; (gtk_accel_path "/SpatialActions/Edit Bookmarks" "b") +; (gtk_accel_path "/NavigationActions/Close All Windows" "q") +; (gtk_accel_path "/NavigationActions/Clear History" "") +; (gtk_accel_path "/ShellActions/ZoomOutAccel" "KP_Subtract") +; (gtk_accel_path "/ShellActions/ZoomInAccel2" "KP_Add") +; (gtk_accel_path "/NavigationActions/TabsMoveRight" "Page_Down") +; (gtk_accel_path "/IconViewActions/Manual Layout" "") +; (gtk_accel_path "/NavigationActions/Add Bookmark" "d") +; (gtk_accel_path "/DirViewActions/Start Volume" "") +; (gtk_accel_path "/IconViewActions/Lock Icons Position" "") +; (gtk_accel_path "/DirViewActions/Undo" "z") +; (gtk_accel_path "/DirViewActions/Self Start Volume" "") +; (gtk_accel_path "/NavigationActions/TabsNext" "Page_Down") +; (gtk_accel_path "/IconViewActions/Arrange Items" "") +; (gtk_accel_path "/view_as_3" "3") +; (gtk_accel_path "/NavigationActions/SplitViewSameLocation" "") +; (gtk_accel_path "/IconViewActions/Sort by Trash Time" "") +; (gtk_accel_path "/ClipboardActions/Select All" "a") +; (gtk_accel_path "/DirViewActions/New Folder" "n") +; (gtk_accel_path "/DirViewActions/Self Poll" "") +; (gtk_accel_path "/NavigationActions/ShowSearch" "f") +; (gtk_accel_path "/ShellActions/Reload" "r") +; (gtk_accel_path "/DirViewActions/Restore From Trash" "") +; (gtk_accel_path "/NavigationActions/Show Hide Location Bar" "") +; (gtk_accel_path "/DirViewActions/MoveToMenu" "") +; (gtk_accel_path "/view_as_4" "4") +; (gtk_accel_path "/ShellActions/Zoom Normal" "0") +; (gtk_accel_path "/DirViewActions/OpenCloseParent" "Down") +; (gtk_accel_path "/ShellActions/Up" "Up") +; (gtk_accel_path "/IconViewActions/Tighter Layout" "") +; (gtk_accel_path "/DirViewActions/OpenFolderWindow" "") +; (gtk_accel_path "/DirViewActions/Copy to next pane" "") +; (gtk_accel_path "/DirViewActions/Self Stop Volume" "") +; (gtk_accel_path "/DirViewActions/Move to Home" "") +; (gtk_accel_path "/DirViewActions/Paste Files Into" "") +; (gtk_accel_path "/DirViewActions/Self Unmount Volume" "") +; (gtk_accel_path "/DirViewActions/Self Mount Volume" "") +; (gtk_accel_path "/SpatialActions/Add Bookmark" "d") +; (gtk_accel_path "/DesktopViewActions/Change Background" "") +; (gtk_accel_path "/DirViewActions/PropertiesAccel" "i") +; (gtk_accel_path "/DirViewActions/Paste" "v") +; (gtk_accel_path "/view_as_2" "2") +; (gtk_accel_path "/ShellActions/Show Hidden Files" "h") +; (gtk_accel_path "/DirViewActions/Location Mount Volume" "") +; (gtk_accel_path "/DirViewActions/LocationCut" "") +; (gtk_accel_path "/NavigationActions/TabsMoveLeft" "Page_Up") +; (gtk_accel_path "/DirViewActions/Copy" "c") +; (gtk_accel_path "/DirViewActions/LocationOpenAlternate" "") +; (gtk_accel_path "/DirViewActions/Trash" "") +; (gtk_accel_path "/ShellActions/ZoomInAccel" "equal") +; (gtk_accel_path "/IconViewActions/Sort by Type" "") +; (gtk_accel_path "/DirViewActions/Invert Selection" "i") +; (gtk_accel_path "/view_as_1" "1") diff --git a/includedir/home/anon/.config/caja/desktop-metadata b/includedir/home/anon/.config/caja/desktop-metadata new file mode 100644 index 0000000000000000000000000000000000000000..87ea10e22102fcf15b71e9c1c7639d546c38a204 --- /dev/null +++ b/includedir/home/anon/.config/caja/desktop-metadata @@ -0,0 +1,93 @@ +[directory] +caja-icon-view-keep-aligned=true +caja-icon-view-layout-timestamp=1777230830 + +[trash] +caja-icon-position=64,182 +icon-scale=1 +caja-icon-position-timestamp=1777230830 + +[home] +caja-icon-position=64,102 +icon-scale=1 +caja-icon-position-timestamp=1777230830 + +[computer] +caja-icon-position=64,22 +icon-scale=1 +caja-icon-position-timestamp=1777230830 + +[Ventoy.volume] +caja-icon-position=64,362 +icon-scale=1 +caja-icon-position-timestamp=1770068409 + +[root.volume] +caja-icon-position=64,462 +icon-scale=1 +caja-icon-position-timestamp=1770056499 + +[cgroup.volume] +caja-icon-position=64,562 +icon-scale=1 +caja-icon-position-timestamp=1770054403 + +[dev.volume] +caja-icon-position=220,22 +icon-scale=1 +caja-icon-position-timestamp=1770054403 + +[efivars.volume] +caja-icon-position=220,122 +icon-scale=1 +caja-icon-position-timestamp=1770054403 + +[proc.volume] +caja-icon-position=220,222 +icon-scale=1 +caja-icon-position-timestamp=1770054403 + +[pts.volume] +caja-icon-position=220,322 +icon-scale=1 +caja-icon-position-timestamp=1770054403 + +[security.volume] +caja-icon-position=220,422 +icon-scale=1 +caja-icon-position-timestamp=1770054403 + +[shm.volume] +caja-icon-position=220,522 +icon-scale=1 +caja-icon-position-timestamp=1770054403 + +[sys.volume] +caja-icon-position=220,622 +icon-scale=1 +caja-icon-position-timestamp=1770054403 + +[grub_uefi.volume] +caja-icon-position=376,22 +icon-scale=1 +caja-icon-position-timestamp=1770054941 + +[8.4 GB Volume.volume] +caja-icon-position=64,562 +icon-scale=1 +caja-icon-position-timestamp=1770001791 + +[8.5 GB Volume.volume] +caja-icon-position=64,562 +icon-scale=1 +caja-icon-position-timestamp=1770003979 + +[8.6 GB Volume.volume] +caja-icon-position=64,562 +icon-scale=1 +caja-icon-position-timestamp=1770018188 + +[8.8 GB Volume.volume] +caja-icon-position=64,562 +icon-scale=1 +caja-icon-position-timestamp=1770054946 diff --git a/includedir/home/anon/.config/dconf/user b/includedir/home/anon/.config/dconf/user new file mode 100644 index 0000000000000000000000000000000000000000..b16aa978abdf8cd9745b3a5699be3f4987d6c6c3 Binary files /dev/null and b/includedir/home/anon/.config/dconf/user differ diff --git a/includedir/home/anon/.config/fastfetch/config.jsonc b/includedir/home/anon/.config/fastfetch/config.jsonc new file mode 100644 index 0000000000000000000000000000000000000000..15d0e0ae4018ea85d20be421219c3203c6297fc7 --- /dev/null +++ b/includedir/home/anon/.config/fastfetch/config.jsonc @@ -0,0 +1,48 @@ +{ + "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json", + "logo": { + "source": "$HOME/.config/javi", + "type": "file" + }, + "display": { + "size": { + "maxPrefix": "MB", + "ndigits": 0 + } + }, + "modules": [ + "title", + "separator", + "os", + "host", + { + "type": "kernel", + "format": "{release}" + }, + "uptime", + "packages", + "shell", + { + "type": "display", + "compactType": "original", + "key": "Resolution" + }, + "de", + "wm", + "wmtheme", + "theme", + "icons", + "terminal", + { + "type": "terminalfont", + "format": "{/name}{-}{/}{name}{?size} {size}{?}" + }, + "cpu", + { + "type": "memory", + "format": "{} / {}" + }, + "break", + "colors" + ] +} diff --git a/includedir/home/anon/.config/fastfetch/neofetch.jsonc b/includedir/home/anon/.config/fastfetch/neofetch.jsonc new file mode 100644 index 0000000000000000000000000000000000000000..47330eb2bfb25da5d37d0aa33ac93f6e910fc450 --- /dev/null +++ b/includedir/home/anon/.config/fastfetch/neofetch.jsonc @@ -0,0 +1,48 @@ +{ + "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json", + "display": { + "size": { + "maxPrefix": "MB", + "ndigits": 0 + } + }, + "modules": [ + "title", + "separator", + "os", + "host", + { + "type": "kernel", + "format": "{release}" + }, + "uptime", + "packages", + "shell", + { + "type": "display", + "compactType": "original", + "key": "Resolution" + }, + "de", + "wm", + "wmtheme", + "theme", + "icons", + "terminal", + { + "type": "terminalfont", + "format": "{/name}{-}{/}{name}{?size} {size}{?}" + }, + "cpu", + { + "type": "gpu", + "key": "GPU" + }, + { + "type": "memory", + "format": "{} / {}" + }, + "break", + "colors" + ] +} diff --git a/includedir/home/anon/.config/gtk-3.0/bookmarks b/includedir/home/anon/.config/gtk-3.0/bookmarks new file mode 100644 index 0000000000000000000000000000000000000000..7b42c1fa1de69a9a7bc449992b3a4555ab6116a1 --- /dev/null +++ b/includedir/home/anon/.config/gtk-3.0/bookmarks @@ -0,0 +1,4 @@ +file:///home/javierc/Documents +file:///home/javierc/Music +file:///home/javierc/Pictures +file:///home/javierc/Downloads diff --git a/includedir/home/anon/.config/gtk-3.0/settings.ini b/includedir/home/anon/.config/gtk-3.0/settings.ini new file mode 100644 index 0000000000000000000000000000000000000000..a6074818346d5c230920dc0e4fdaedafa565050d --- /dev/null +++ b/includedir/home/anon/.config/gtk-3.0/settings.ini @@ -0,0 +1,5 @@ +[Settings] +gtk-theme-name=Gruvbox-Material-Dark +gtk-icon-theme-name=Gruvbox-Material-Dark +gtk-font-name=CaskaydiaCove Nerd Font 12 +gtk-cursor-theme-name=Bibata-Gruvbox diff --git a/includedir/home/anon/.config/gtk-4.0/settings.ini b/includedir/home/anon/.config/gtk-4.0/settings.ini new file mode 100644 index 0000000000000000000000000000000000000000..a6074818346d5c230920dc0e4fdaedafa565050d --- /dev/null +++ b/includedir/home/anon/.config/gtk-4.0/settings.ini @@ -0,0 +1,5 @@ +[Settings] +gtk-theme-name=Gruvbox-Material-Dark +gtk-icon-theme-name=Gruvbox-Material-Dark +gtk-font-name=CaskaydiaCove Nerd Font 12 +gtk-cursor-theme-name=Bibata-Gruvbox diff --git a/includedir/home/anon/.config/javi b/includedir/home/anon/.config/javi new file mode 100644 index 0000000000000000000000000000000000000000..397574be61dcd5284e2dedefb5e61eabed58b8e4 --- /dev/null +++ b/includedir/home/anon/.config/javi @@ -0,0 +1,18 @@ + = + : @ + = @ + #: :@: + ## =@: = + @@ #@= =# + @@ #@= #@ + @@ @@# @@ + =@@ @@@ @@ + #@@# @@@$ :@@= + @@@# @@@ #@@@ + =@ ## @=: + @@ #@ @@ + @# #@ @@ + @ ## @ + # # # + # + diff --git a/includedir/home/anon/.config/mate/backgrounds.xml b/includedir/home/anon/.config/mate/backgrounds.xml new file mode 100644 index 0000000000000000000000000000000000000000..47470c9dd34e19271b80c24eb44a58d8b92ae4ba --- /dev/null +++ b/includedir/home/anon/.config/mate/backgrounds.xml @@ -0,0 +1,427 @@ + + + + + Two Wings + /usr/share/backgrounds/mate/nature/TwoWings.jpg + zoom + vertical-gradient + rgb(88,145,188) + rgb(60,143,37) + Charles Barbin, Hylke Bons + + + Garden + /usr/share/backgrounds/mate/nature/Garden.jpg + zoom + vertical-gradient + rgb(88,145,188) + rgb(60,143,37) + Charles Barbin + + + Neko - Kyoko Wallpaper + /usr/share/backgrounds/Neko-KyokoWallpaper.png + zoom + solid + rgb(0,0,0) + rgb(0,0,0) + (none) + + + Neko Kyoko Rose No Text + /usr/share/backgrounds/Neko-KyokoWallpaper-rose-no-text.png + zoom + solid + rgb(0,0,0) + rgb(0,0,0) + (none) + + + Fresh Flower + /usr/share/backgrounds/mate/nature/FreshFlower.jpg + zoom + vertical-gradient + rgb(88,145,188) + rgb(60,143,37) + Jens Ansorg + + + Kyoko 12426426 + /usr/share/backgrounds/kyoko12426426.png + zoom + solid + rgb(0,0,0) + rgb(0,0,0) + (none) + + + Dune + /usr/share/backgrounds/mate/nature/Dune.jpg + zoom + vertical-gradient + rgb(88,145,188) + rgb(60,143,37) + Marco Cogoni, Hylke Bons + + + Edernity + /usr/share/backgrounds/edernity.png + zoom + solid + rgb(0,0,0) + rgb(0,0,0) + (none) + + + Wood + /usr/share/backgrounds/mate/nature/Wood.jpg + zoom + vertical-gradient + rgb(88,145,188) + rgb(60,143,37) + Jean-François Fortin Tam + + + Neko Kyoko Rose JP + /usr/share/backgrounds/Neko-KyokoWallpaper-rose-jp.png + zoom + solid + rgb(0,0,0) + rgb(0,0,0) + (none) + + + Neko PNG + /usr/share/backgrounds/neko.png + zoom + solid + rgb(0,0,0) + rgb(0,0,0) + (none) + + + Green Traditional + /usr/share/backgrounds/mate/desktop/GreenTraditional.jpg + zoom + vertical-gradient + rgb(88,145,188) + rgb(60,143,37) + l0r4n0n + + + Green Meadow + /usr/share/backgrounds/mate/nature/GreenMeadow.jpg + zoom + vertical-gradient + rgb(88,145,188) + rgb(60,143,37) + Timothy Schellhase, Lapo Calamandrei + + + Kyoko SAFSAF + /usr/share/backgrounds/kyokosafsaf.png + zoom + solid + rgb(0,0,0) + rgb(0,0,0) + (none) + + + Kyoko JSFJSA + /usr/share/backgrounds/kyokojsfjsa.png + zoom + solid + rgb(0,0,0) + rgb(0,0,0) + (none) + + + Yellow Flower + /usr/share/backgrounds/mate/nature/YellowFlower.jpg + zoom + vertical-gradient + rgb(88,145,188) + rgb(60,143,37) + Charles Barbin + + + Kyoko 241 + /usr/share/backgrounds/kyoko241.png + zoom + solid + rgb(0,0,0) + rgb(0,0,0) + (none) + + + Gulp + /usr/share/backgrounds/mate/abstract/Gulp.png + zoom + horizontal-gradient + rgb(98,127,90) + rgb(39,88,126) + Daniel Galleguillos, Hylke Bons + + + Neko Kyoko Dark JP + /usr/share/backgrounds/Neko-KyokoWallpaper-dark-jp.png + zoom + solid + rgb(0,0,0) + rgb(0,0,0) + (none) + + + Ubuntu MATE Cold + /usr/share/backgrounds/mate/desktop/Ubuntu-Mate-Cold-no-logo.png + zoom + vertical-gradient + rgb(88,145,188) + rgb(60,143,37) + Goce Mitevski + + + Silk + /usr/share/backgrounds/mate/abstract/Silk.png + zoom + horizontal-gradient + rgb(39,88,126) + rgb(98,127,90) + Patryk Zawadzki + + + Lady Bird + /usr/share/backgrounds/mate/nature/LadyBird.jpg + zoom + vertical-gradient + rgb(88,145,188) + rgb(60,143,37) + Charles Barbin + + + Ubuntu MATE Radioactive + /usr/share/backgrounds/mate/desktop/Ubuntu-Mate-Radioactive-no-logo.png + zoom + vertical-gradient + rgb(88,145,188) + rgb(60,143,37) + Goce Mitevski + + + Cosmos + /usr/share/backgrounds/cosmos/background-1.xml + zoom + vertical-gradient + rgb(114,159,207) + rgb(0,0,0) + (none) + + + Ubuntu MATE Warm + /usr/share/backgrounds/mate/desktop/Ubuntu-Mate-Warm-no-logo.png + zoom + vertical-gradient + rgb(88,145,188) + rgb(60,143,37) + Goce Mitevski + + + Neko Kyoko Blue JP + /usr/share/backgrounds/Neko-KyokoWallpaper-blue-jp.png + zoom + solid + rgb(0,0,0) + rgb(0,0,0) + (none) + + + Moony 3 + /usr/share/backgrounds/moony3.png + zoom + solid + rgb(0,0,0) + rgb(0,0,0) + (none) + + + Something slowly gets clear + /usr/share/backgrounds/mate/abstract/Elephants.jpg + zoom + vertical-gradient + rgb(114,159,207) + rgb(0,0,0) + Wyng Stancikaite + + + MATE Stripes Light + /usr/share/backgrounds/mate/desktop/MATE-Stripes-Light.png + zoom + vertical-gradient + rgb(63,77,40) + rgb(106,148,38) + Adam Erdman + + + Something slowly gets clear + /usr/share/backgrounds/mate/abstract/Elephants_5640x3172.jpg + scaled + vertical-gradient + rgb(114,159,207) + rgb(0,0,0) + Wyng Stancikaite + + + Stripes + /usr/share/backgrounds/mate/desktop/Stripes.png + zoom + vertical-gradient + rgb(88,145,188) + rgb(60,143,37) + Jakub Steiner + + + Arc + /usr/share/backgrounds/mate/abstract/Arc-Colors-Transparent-Wallpaper.png + zoom + vertical-gradient + rgb(39,88,126) + rgb(98,127,90) + (none) + + + MATE Stripes Dark + /usr/share/backgrounds/mate/desktop/MATE-Stripes-Dark.png + zoom + vertical-gradient + rgb(186,218,85) + rgb(133,212,91) + Adam Erdman + + + Kyoko 32586230 + /usr/share/backgrounds/kyoko32586230.png + zoom + solid + rgb(0,0,0) + rgb(0,0,0) + (none) + + + Neko Kyoko Prueba No Text + /usr/share/backgrounds/Neko-KyokoWallpaper-prueba-no-text.png + zoom + solid + rgb(0,0,0) + rgb(0,0,0) + (none) + + + Aqua + /usr/share/backgrounds/mate/nature/Aqua.jpg + zoom + vertical-gradient + rgb(88,145,188) + rgb(60,143,37) + Charles Barbin + + + Float into MATE + /usr/share/backgrounds/mate/desktop/Float-into-MATE.png + zoom + vertical-gradient + rgb(88,145,188) + rgb(60,143,37) + Rowen Stipe + + + Neko Kyoko Green JP + /usr/share/backgrounds/Neko-KyokoWallpaper-green-jp.png + zoom + solid + rgb(0,0,0) + rgb(0,0,0) + (none) + + + Spring + /usr/share/backgrounds/mate/abstract/Spring.png + zoom + vertical-gradient + rgb(39,88,126) + rgb(98,127,90) + Patryk Zawadzki + + + Waves + /usr/share/backgrounds/mate/abstract/Waves.png + zoom + horizontal-gradient + rgb(39,88,126) + rgb(98,127,90) + Patryk Zawadzki + + + No Desktop Background + (none) + wallpaper + vertical-gradient + rgb(114,159,207) + rgb(0,0,0) + (none) + + + Flow + /usr/share/backgrounds/mate/abstract/Flow.png + zoom + horizontal-gradient + rgb(39,88,126) + rgb(98,127,90) + Daniel Galleguillos, Hylke Bons + + + Rain Drops + /usr/share/backgrounds/mate/nature/RainDrops.jpg + zoom + vertical-gradient + rgb(88,145,188) + rgb(60,143,37) + blackcombwhistler07 + + + Something slowly gets clear + /usr/share/backgrounds/mate/abstract/Elephants_3840x2160.jpg + scaled + vertical-gradient + rgb(114,159,207) + rgb(0,0,0) + Wyng Stancikaite + + + Ubuntu MATE Dark + /usr/share/backgrounds/mate/desktop/Ubuntu-Mate-Dark-no-logo.png + zoom + vertical-gradient + rgb(88,145,188) + rgb(60,143,37) + Goce Mitevski + + + Storm + /usr/share/backgrounds/mate/nature/Storm.jpg + zoom + vertical-gradient + rgb(88,145,188) + rgb(60,143,37) + Sergey Nazarov + + + Blinds + /usr/share/backgrounds/mate/nature/Blinds.jpg + zoom + vertical-gradient + rgb(88,145,188) + rgb(60,143,37) + Lennart Poettering, Andrea Cimitan + + diff --git a/includedir/home/anon/.config/mimeapps.list b/includedir/home/anon/.config/mimeapps.list new file mode 100644 index 0000000000000000000000000000000000000000..040910fba02330d568e604e182120c36d1f5fc0a --- /dev/null +++ b/includedir/home/anon/.config/mimeapps.list @@ -0,0 +1,60 @@ +[Default Applications] +x-scheme-handler/discord=vesktop.desktop +x-scheme-handler/http=xfce4-web-browser.desktop +x-scheme-handler/https=xfce4-web-browser.desktop +application/zip=xarchiver.desktop +application/x-shellscript=org.xfce.mousepad.desktop +image/bmp=org.xfce.ristretto.desktop +image/gif=org.xfce.ristretto.desktop +image/jpeg=org.xfce.ristretto.desktop +image/png=org.xfce.ristretto.desktop +image/tiff=org.xfce.ristretto.desktop +text/html=xfce4-web-browser.desktop +x-scheme-handler/about=xfce4-web-browser.desktop +text/plain=org.xfce.mousepad.desktop +audio/flac=mpv.desktop +audio/x-flac=mpv.desktop +audio/mpeg=mpv.desktop +audio/x-mpegurl=mpv.desktop +audio/x-scpls=mpv.desktop +audio/x-vorbis+ogg=mpv.desktop +audio/x-wav=mpv.desktop +video/mp4=mpv.desktop +video/mpeg=mpv.desktop +video/mp2t=mpv.desktop +video/msvideo=mpv.desktop +video/quicktime=mpv.desktop +video/webm=mpv.desktop +video/x-avi=mpv.desktop +video/x-flv=mpv.desktop +video/x-matroska=mpv.desktop +video/x-mpeg=mpv.desktop +video/x-ogm+ogg=mpv.desktop +application/pdf=atril.desktop + +[Added Associations] +application/x-shellscript=org.xfce.mousepad.desktop; +text/markdown=org.xfce.mousepad.desktop; +application/zip=xarchiver.desktop; +application/xml=org.xfce.mousepad.desktop; +text/html=xfce4-web-browser.desktop; +x-scheme-handler/about=xfce4-web-browser.desktop; +audio/flac=org.xfce.Parole.desktop; +audio/x-flac=org.xfce.Parole.desktop; +audio/mpeg=org.xfce.Parole.desktop; +audio/x-mpegurl=org.xfce.Parole.desktop; +audio/x-scpls=org.xfce.Parole.desktop; +audio/x-vorbis+ogg=org.xfce.Parole.desktop; +audio/x-wav=org.xfce.Parole.desktop; +video/mp4=org.xfce.Parole.desktop; +video/mpeg=org.xfce.Parole.desktop; +video/mp2t=org.xfce.Parole.desktop; +video/msvideo=org.xfce.Parole.desktop; +video/quicktime=org.xfce.Parole.desktop; +video/webm=org.xfce.Parole.desktop; +video/x-avi=org.xfce.Parole.desktop; +video/x-flv=org.xfce.Parole.desktop; +video/x-matroska=org.xfce.Parole.desktop; +video/x-mpeg=org.xfce.Parole.desktop; +video/x-ogm+ogg=org.xfce.Parole.desktop; + diff --git a/includedir/home/anon/.config/pavucontrol.ini b/includedir/home/anon/.config/pavucontrol.ini new file mode 100644 index 0000000000000000000000000000000000000000..01899b2d87d0bcff15866f0788881aa032b2b82a --- /dev/null +++ b/includedir/home/anon/.config/pavucontrol.ini @@ -0,0 +1,9 @@ +[window] +width=500 +height=400 +sinkInputType=1 +sourceOutputType=1 +sinkType=0 +sourceType=1 +showVolumeMeters=1 +hideUnavailableCardProfiles=0 diff --git a/includedir/home/anon/.config/pluma/accels b/includedir/home/anon/.config/pluma/accels new file mode 100644 index 0000000000000000000000000000000000000000..444a55293f84153255cbb5142ea91fbfee993d8d --- /dev/null +++ b/includedir/home/anon/.config/pluma/accels @@ -0,0 +1,223 @@ +; pluma GtkAccelMap rc-file -*- scheme -*- +; this file is an automated accelerator map dump +; +; (gtk_accel_path "/FileBrowserWidgetSensitiveActionGroup/DirectoryRefresh" "") +; (gtk_accel_path "/PlumaSpellPluginActions/CheckSpell" "F7") +; (gtk_accel_path "/LanguagesActions/php" "") +; (gtk_accel_path "/PlumaWindowAlwaysSensitiveActions/Search" "") +; (gtk_accel_path "/FileBrowserWidgetSingleMostSelectionActionGroup/FileNew" "") +; (gtk_accel_path "/LanguagesActions/typescript" "") +; (gtk_accel_path "/LanguagesActions/t2t" "") +; (gtk_accel_path "/LanguagesActions/vala" "") +; (gtk_accel_path "/LanguagesActions/gtkrc" "") +; (gtk_accel_path "/LanguagesActions/pig" "") +; (gtk_accel_path "/LanguagesActions/vhdl" "") +; (gtk_accel_path "/LanguagesActions/idl-exelis" "") +; (gtk_accel_path "/LanguagesActions/automake" "") +; (gtk_accel_path "/LanguagesActions/erb-html" "") +; (gtk_accel_path "/LanguagesActions/asp" "") +; (gtk_accel_path "/LanguagesActions/sql" "") +; (gtk_accel_path "/LanguagesActions/opal" "") +; (gtk_accel_path "/LanguagesActions/eiffel" "") +; (gtk_accel_path "/LanguagesActions/docker" "") +; (gtk_accel_path "/PlumaWindowActions/SearchGoToLine" "i") +; (gtk_accel_path "/LanguagesActions/vbnet" "") +; (gtk_accel_path "/LanguagesActions/idl" "") +; (gtk_accel_path "/PlumaWindowPanesActions/ViewBottomPane" "F9") +; (gtk_accel_path "/PlumaWindowActions/EditDelete" "") +; (gtk_accel_path "/PlumaWindowAlwaysSensitiveActions/HelpContents" "F1") +; (gtk_accel_path "/LanguagesActions/dpatch" "") +; (gtk_accel_path "/LanguagesActions/opencl" "") +; (gtk_accel_path "/LanguagesActions/logcat" "") +; (gtk_accel_path "/PlumaWindowActions/DocumentsPreviousDocument" "Page_Up") +; (gtk_accel_path "/LanguagesActions/kotlin" "") +; (gtk_accel_path "/LanguagesActions/forth" "") +; (gtk_accel_path "/PlumaWindowActions/EditPaste" "v") +; (gtk_accel_path "/LanguagesActions/puppet" "") +; (gtk_accel_path "/PlumaWindowAlwaysSensitiveActions/ViewFullscreen" "F11") +; (gtk_accel_path "/PlumaWindowActions/UpperCase" "") +; (gtk_accel_path "/LanguagesActions/js" "") +; (gtk_accel_path "/LanguagesActions/boo" "") +; (gtk_accel_path "/PlumaWindowActions/EditUndo" "z") +; (gtk_accel_path "/LanguagesActions/ftl" "") +; (gtk_accel_path "/PlumaWindowActions/SearchFindNext" "g") +; (gtk_accel_path "/PlumaWindowAlwaysSensitiveActions/Edit" "") +; (gtk_accel_path "/FileBrowserWidgetSensitiveActionGroup/DirectoryOpen" "") +; (gtk_accel_path "/LanguagesActions/yacc" "") +; (gtk_accel_path "/LanguagesActions/star" "") +; (gtk_accel_path "/LanguagesActions/jsx" "") +; (gtk_accel_path "/LanguagesActions/spice" "") +; (gtk_accel_path "/LanguagesActions/erb" "") +; (gtk_accel_path "/LanguagesActions/docbook" "") +; (gtk_accel_path "/LanguagesActions/meson" "") +; (gtk_accel_path "/LanguagesActions/gdb-log" "") +; (gtk_accel_path "/LanguagesActions/json" "") +; (gtk_accel_path "/PlumaWindowPanesActions/ViewSidePane" "F9") +; (gtk_accel_path "/PlumaWindowActions/FileRevert" "") +; (gtk_accel_path "/LanguagesActions/ocl" "") +; (gtk_accel_path "/LanguagesActions/scala" "") +; (gtk_accel_path "/LanguagesActions/dart" "") +; (gtk_accel_path "/LanguagesActions/xml" "") +; (gtk_accel_path "/LanguagesActions/terraform" "") +; (gtk_accel_path "/FileBrowserWidgetFileSelectionActionGroup/FileOpen" "") +; (gtk_accel_path "/PlumaSpellPluginActions/AutoSpell" "F7") +; (gtk_accel_path "/LanguagesActions/haskell-literate" "") +; (gtk_accel_path "/LanguagesActions/ooc" "") +; (gtk_accel_path "/LanguagesActions/commonlisp" "") +; (gtk_accel_path "/FileBrowserPluginSingleSelectionExtra/OpenTerminal" "") +; (gtk_accel_path "/LanguagesActions/matlab" "") +; (gtk_accel_path "/LanguagesActions/ansforth94" "") +; (gtk_accel_path "/LanguagesActions/scilab" "") +; (gtk_accel_path "/PlumaWindowActions/FileSave" "s") +; (gtk_accel_path "/LanguagesActions/rust" "") +; (gtk_accel_path "/LanguagesActions/xslt" "") +; (gtk_accel_path "/LanguagesActions/j" "") +; (gtk_accel_path "/LanguagesActions/verilog" "") +; (gtk_accel_path "/LanguagesActions/objj" "") +; (gtk_accel_path "/LanguagesActions/tera" "") +; (gtk_accel_path "/LanguagesActions/yaml" "") +; (gtk_accel_path "/LanguagesActions/makefile" "") +; (gtk_accel_path "/LanguagesActions/html" "") +; (gtk_accel_path "/LanguagesActions/gettext-translation" "") +; (gtk_accel_path "/PlumaWindowActions/EditCopy" "c") +; (gtk_accel_path "/LanguagesActions/csv" "") +; (gtk_accel_path "/LanguagesActions/llvm" "") +; (gtk_accel_path "/LanguagesActions/cmake" "") +; (gtk_accel_path "/LanguagesActions/imagej" "") +; (gtk_accel_path "/LanguagesActions/octave" "") +; (gtk_accel_path "/FileBrowserWidgetActionGroup/FilterBinary" "") +; (gtk_accel_path "/LanguagesActions/dosbatch" "") +; (gtk_accel_path "/LanguagesActions/glsl" "") +; (gtk_accel_path "/PlumaWindowAlwaysSensitiveActions/FileOpen" "o") +; (gtk_accel_path "/PlumaWindowActions/FileCloseAll" "w") +; (gtk_accel_path "/LanguagesActions/desktop" "") +; (gtk_accel_path "/LanguagesActions/diff" "") +; (gtk_accel_path "/LanguagesActions/pkgconfig" "") +; (gtk_accel_path "/LanguagesActions/haskell" "") +; (gtk_accel_path "/LanguagesActions/ada" "") +; (gtk_accel_path "/PlumaWindowAlwaysSensitiveActions/View" "") +; (gtk_accel_path "/LanguagesActions/chdr" "") +; (gtk_accel_path "/LanguagesActions/maxima" "") +; (gtk_accel_path "/PlumaWindowAlwaysSensitiveActions/HelpAbout" "") +; (gtk_accel_path "/PlumaWindowAlwaysSensitiveActions/Help" "") +; (gtk_accel_path "/PlumaQuitWindowActions/FileQuit" "q") +; (gtk_accel_path "/PlumaWindowActions/DocumentsMoveToNewWindow" "") +; (gtk_accel_path "/LanguagesActions/scss" "") +; (gtk_accel_path "/PlumaWindowAlwaysSensitiveActions/Documents" "") +; (gtk_accel_path "/DocumentsListActions/Tab_0" "1") +; (gtk_accel_path "/PlumaWindowActions/EditRedo" "z") +; (gtk_accel_path "/LanguagesActions/awk" "") +; (gtk_accel_path "/LanguagesActions/rpmspec" "") +; (gtk_accel_path "/LanguagesActions/css" "") +; (gtk_accel_path "/LanguagesActions/python" "") +; (gtk_accel_path "/LanguagesActions/libtool" "") +; (gtk_accel_path "/PlumaWindowActions/InvertCase" "") +; (gtk_accel_path "/LanguagesActions/dot" "") +; (gtk_accel_path "/LanguagesActions/haxe" "") +; (gtk_accel_path "/LanguagesActions/less" "") +; (gtk_accel_path "/LanguagesActions/m4" "") +; (gtk_accel_path "/PlumaWindowActions/EditSelectAll" "a") +; (gtk_accel_path "/LanguagesActions/netrexx" "") +; (gtk_accel_path "/LanguagesActions/groovy" "") +; (gtk_accel_path "/LanguagesActions/typescript-jsx" "") +; (gtk_accel_path "/LanguagesActions/perl" "") +; (gtk_accel_path "/LanguagesActions/sparql" "") +; (gtk_accel_path "/PlumaWindowActions/SearchIncrementalSearch" "k") +; (gtk_accel_path "/LanguagesActions/powershell" "") +; (gtk_accel_path "/LanguagesActions/rst" "") +; (gtk_accel_path "/LanguagesActions/d" "") +; (gtk_accel_path "/PlumaWindowActions/SearchClearHighlight" "k") +; (gtk_accel_path "/LanguagesActions/jade" "") +; (gtk_accel_path "/LanguagesActions/yara" "") +; (gtk_accel_path "/LanguagesActions/sh" "") +; (gtk_accel_path "/LanguagesActions/pascal" "") +; (gtk_accel_path "/PlumaWindowActions/EditCut" "x") +; (gtk_accel_path "/LanguagesActions/julia" "") +; (gtk_accel_path "/PlumaWindowActions/FilePrint" "p") +; (gtk_accel_path "/LanguagesActions/tcl" "") +; (gtk_accel_path "/LanguagesActions/c" "") +; (gtk_accel_path "/LanguagesActions/mallard" "") +; (gtk_accel_path "/LanguagesActions/objc" "") +; (gtk_accel_path "/LanguagesActions/dtl" "") +; (gtk_accel_path "/PlumaSpellPluginActions/ConfigSpell" "") +; (gtk_accel_path "/LanguagesActions/systemverilog" "") +; (gtk_accel_path "/LanguagesActions/fsharp" "") +; (gtk_accel_path "/LanguagesActions/erlang" "") +; (gtk_accel_path "/LanguagesActions/fcl" "") +; (gtk_accel_path "/LanguagesActions/ruby" "") +; (gtk_accel_path "/LanguagesActions/fish" "") +; (gtk_accel_path "/PlumaTimePluginActions/InsertDateAndTime" "") +; (gtk_accel_path "/LanguagesActions/go" "") +; (gtk_accel_path "/LanguagesActions/solidity" "") +; (gtk_accel_path "/LanguagesActions/fortran" "") +; (gtk_accel_path "/LanguagesActions/python3" "") +; (gtk_accel_path "/LanguagesActions/changelog" "") +; (gtk_accel_path "/LanguagesActions/cobol" "") +; (gtk_accel_path "/LanguagesActions/abnf" "") +; (gtk_accel_path "/PlumaWindowActions/SearchFindPrevious" "g") +; (gtk_accel_path "/FileBrowserWidgetSelectionActionGroup/FileMoveToTrash" "") +; (gtk_accel_path "/LanguagesActions/mediawiki" "") +; (gtk_accel_path "/LanguagesActions/swift" "") +; (gtk_accel_path "/LanguagesActions/java" "") +; (gtk_accel_path "/LanguagesActions/genie" "") +; (gtk_accel_path "/FileBrowserWidgetBookmarkActionGroup/BookmarkOpen" "") +; (gtk_accel_path "/LanguagesActions/c-sharp" "") +; (gtk_accel_path "/LanguagesActions/cuda" "") +; (gtk_accel_path "/LanguagesActions/bluespec" "") +; (gtk_accel_path "/PlumaWindowActions/SearchFind" "f") +; (gtk_accel_path "/LanguagesActions/gap" "") +; (gtk_accel_path "/PlumaCloseWindowActions/FileClose" "w") +; (gtk_accel_path "/PlumaWindowActions/ChangeCase" "") +; (gtk_accel_path "/LanguagesActions/lean" "") +; (gtk_accel_path "/PlumaWindowActions/FileSaveAs" "s") +; (gtk_accel_path "/FileBrowserWidgetActionGroup/FilterHidden" "") +; (gtk_accel_path "/LanguagesActions/sweave" "") +; (gtk_accel_path "/LanguagesActions/mxml" "") +; (gtk_accel_path "/LanguagesActions/nemerle" "") +; (gtk_accel_path "/PlumaWindowAlwaysSensitiveActions/ViewToolbar" "") +; (gtk_accel_path "/LanguagesActions/ini" "") +; (gtk_accel_path "/LanguagesActions/cg" "") +; (gtk_accel_path "/LanguagesActions/scheme" "") +; (gtk_accel_path "/LanguagesActions/actionscript" "") +; (gtk_accel_path "/LanguagesActions/toml" "") +; (gtk_accel_path "/FileBrowserWidgetActionGroupToplevel/FilterMenuAction" "") +; (gtk_accel_path "/LanguagesActions/gradle" "") +; (gtk_accel_path "/PlumaWindowActions/SearchReplace" "h") +; (gtk_accel_path "/LanguagesActions/bibtex" "") +; (gtk_accel_path "/PlumaWindowActions/FileSaveAll" "l") +; (gtk_accel_path "/LanguagesActions/asciidoc" "") +; (gtk_accel_path "/LanguagesActions/ocaml" "") +; (gtk_accel_path "/PlumaWindowActions/ViewHighlightMode" "") +; (gtk_accel_path "/FileBrowserPluginExtra/SetActiveRoot" "") +; (gtk_accel_path "/LanguagesActions/lua" "") +; (gtk_accel_path "/FileBrowserWidgetSingleMostSelectionActionGroup/DirectoryNew" "") +; (gtk_accel_path "/LanguagesActions/latex" "") +; (gtk_accel_path "/LanguagesActions/sml" "") +; (gtk_accel_path "/PlumaWindowActions/FilePrintPreview" "p") +; (gtk_accel_path "/LanguagesActions/markdown" "") +; (gtk_accel_path "/LanguagesActions/proto" "") +; (gtk_accel_path "/PlumaWindowAlwaysSensitiveActions/EditPreferences" "") +; (gtk_accel_path "/LanguagesActions/erb-js" "") +; (gtk_accel_path "/LanguagesActions/gdscript" "") +; (gtk_accel_path "/LanguagesActions/cpphdr" "") +; (gtk_accel_path "/LanguagesActions/r" "") +; (gtk_accel_path "/LanguagesActions/bennugd" "") +; (gtk_accel_path "/PlumaWindowActions/TitleCase" "") +; (gtk_accel_path "/LanguagesActions/logtalk" "") +; (gtk_accel_path "/FileBrowserWidgetSingleSelectionActionGroup/FileRename" "") +; (gtk_accel_path "/PlumaWindowAlwaysSensitiveActions/File" "") +; (gtk_accel_path "/PlumaWindowAlwaysSensitiveActions/ViewStatusbar" "") +; (gtk_accel_path "/PlumaWindowActions/DocumentsNextDocument" "Page_Down") +; (gtk_accel_path "/LanguagesActions/cpp" "") +; (gtk_accel_path "/LanguagesActions/nsis" "") +; (gtk_accel_path "/FileBrowserWidgetSelectionActionGroup/FileDelete" "") +; (gtk_accel_path "/LanguagesActions/dtd" "") +; (gtk_accel_path "/LanguagesActions/prolog" "") +; (gtk_accel_path "/LanguagesActions/texinfo" "") +; (gtk_accel_path "/LanguagesActions/lex" "") +; (gtk_accel_path "/PlumaWindowActions/LowerCase" "") +; (gtk_accel_path "/LanguagesActions/modelica" "") +; (gtk_accel_path "/PlumaWindowAlwaysSensitiveActions/Tools" "") +; (gtk_accel_path "/PlumaDocInfoPluginActions/DocumentStatistics" "") +; (gtk_accel_path "/PlumaWindowAlwaysSensitiveActions/FileNew" "n") +; (gtk_accel_path "/LanguagesActions/thrift" "") diff --git a/includedir/home/anon/.config/pulse/cookie b/includedir/home/anon/.config/pulse/cookie new file mode 100644 index 0000000000000000000000000000000000000000..fd8d07a06e175cf3d91c9b594dc90b779afeb154 --- /dev/null +++ b/includedir/home/anon/.config/pulse/cookie @@ -0,0 +1,3 @@ +AAР>'l(;+vVpRksmMN|3F{a+dX^~"qہSs7( }VFYFhT5i*Q=H6Ӂ/+\p b%vW + }HFX7{b{yNPʗ4#BfAqذ(NycĄG +S5#-4}.VNDt;-]<<%rS*q {b$ \ No newline at end of file diff --git a/includedir/home/anon/.config/user-dirs.dirs b/includedir/home/anon/.config/user-dirs.dirs new file mode 100644 index 0000000000000000000000000000000000000000..7375b4a91eaaae2131bbb7674a350b4dbff8f878 --- /dev/null +++ b/includedir/home/anon/.config/user-dirs.dirs @@ -0,0 +1,15 @@ +# 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/" +XDG_DOWNLOAD_DIR="$HOME/" +XDG_TEMPLATES_DIR="$HOME/" +XDG_PUBLICSHARE_DIR="$HOME/" +XDG_DOCUMENTS_DIR="$HOME/" +XDG_MUSIC_DIR="$HOME/" +XDG_PICTURES_DIR="$HOME/" +XDG_VIDEOS_DIR="$HOME/" diff --git a/includedir/home/anon/.config/user-dirs.locale b/includedir/home/anon/.config/user-dirs.locale new file mode 100644 index 0000000000000000000000000000000000000000..3e0b4191bfec49a21d823e4691673936218765d8 --- /dev/null +++ b/includedir/home/anon/.config/user-dirs.locale @@ -0,0 +1 @@ +en_US \ No newline at end of file diff --git a/includedir/home/anon/.setup/downloader b/includedir/home/anon/.setup/downloader new file mode 100644 index 0000000000000000000000000000000000000000..8740f7d14785053094e52d57010da4370436aeb9 Binary files /dev/null and b/includedir/home/anon/.setup/downloader differ diff --git a/includedir/home/anon/instalar.desktop b/includedir/home/anon/instalar.desktop new file mode 100644 index 0000000000000000000000000000000000000000..6e72fb1aced0ce794c534f93ffb79620037361ec --- /dev/null +++ b/includedir/home/anon/instalar.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Type=Application +Name=Install Neko-Void +GenericName=System Installer +Comment=Install Neko-Void Linux to your computer +Exec=sudo /home/anon/.setup/downloader +Icon=system-software-install +Categories=System;Utility;GTK; +StartupNotify=true +Keywords=installer;void;linux; +Path= +Terminal=true diff --git a/includedir/usr/bin/mate_monitor b/includedir/usr/bin/mate_monitor new file mode 100644 index 0000000000000000000000000000000000000000..2b9c63c1a126a700043a4d46b4e4dd8b6e69d03f Binary files /dev/null and b/includedir/usr/bin/mate_monitor differ diff --git a/includedir/usr/bin/neko_installer b/includedir/usr/bin/neko_installer new file mode 100644 index 0000000000000000000000000000000000000000..d90ffc45ee542304fa9d81e4266ddf8acf96774a --- /dev/null +++ b/includedir/usr/bin/neko_installer @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:610b9617512944a82145ea138496556aa3596a1604ca40a351a093aed97e45de +size 259552 diff --git a/includedir/usr/bin/rice_set b/includedir/usr/bin/rice_set new file mode 100644 index 0000000000000000000000000000000000000000..72b01061e3570f948cbf17a52abb222f4a36df18 --- /dev/null +++ b/includedir/usr/bin/rice_set @@ -0,0 +1,44 @@ +#!/bin/bash + +# Ruta del archivo de marca +MARKER_FILE="$HOME/.rices.set" + +runn(){ +# Aplicar configuración de apariencia personalizada para MATE +xdg-user-dirs-update && xdg-user-dirs-update --force +gsettings set org.mate.caja-open-terminal desktop-opens-home-dir true + +# Tema GTK y Marco: Juno +gsettings set org.mate.interface gtk-theme "Dracula" +gsettings set org.mate.Marco.general theme "Dracula" + +# Tema de iconos: pixelitos-dark +gsettings set org.mate.interface icon-theme "pixelitos-dark" + +# Tema de cursor: Bibata-Gruvbox +gsettings set org.mate.peripherals-mouse cursor-theme "Bibata-Gruvbox" + +# Fondo de pantalla +gsettings set org.mate.background picture-filename "/usr/share/backgrounds/kyoko241.png" +gsettings set org.mate.background picture-options "stretched" +# Opciones: none, wallpaper, centered, scaled, stretched, zoom, spanned +#Keys +dconf write /org/mate/marco/global-keybindings/run-command-terminal "'Return'" +dconf write /org/mate/settings-daemon/plugins/media-keys/home "'e'" +dconf load / < /usr/share/rice/backup_dconf_completo.txt +/usr/lib/Neko-Wizard/neko-store & +/usr/bin/mate_monitor & +# Crear el archivo de marca para evitar reejecución +touch "$MARKER_FILE" + +echo "✓ Apariencia MATE configurada: Juno + pixelitos-dark + Bibata-Gruvbox + edernity.png" +} + +# Verificar si ya se ejecutó la configuración +if [ -f "$MARKER_FILE" ]; then + /usr/bin/mate_monitor & + echo "✓ La configuración de apariencia ya fue aplicada (archivo $MARKER_FILE encontrado)." +else +runn +fi + diff --git a/includedir/usr/bin/tinyfecth b/includedir/usr/bin/tinyfecth new file mode 100644 index 0000000000000000000000000000000000000000..3a35c285767ca955827ed184bcd23cd9da31d979 --- /dev/null +++ b/includedir/usr/bin/tinyfecth @@ -0,0 +1,94 @@ +#!/bin/sh + +# Colores +CYAN='\033[96m' +GREEN='\033[92m' +BLUE='\033[94m' +RESET='\033[0m' + +# Obtener información del sistema +KERNEL=$(uname -r) + +# Obtener número de paquetes (para Arch Linux) +PACKAGES="Idk" + +# Obtener memoria +MEMORY=$(free -h) +TOTAL_MEM=$(echo "$MEMORY" | awk '/^Mem:/ {print $2}') +USED_MEM=$(echo "$MEMORY" | awk '/^Mem:/ {print $3}') + +# Función para formatear uptime desde /proc/uptime (compatible con POSIX) +format_uptime() { + uptime_seconds=$(cat /proc/uptime | awk '{print $1}' | cut -d. -f1) + + days=$((uptime_seconds / 86400)) + hours=$(( (uptime_seconds % 86400) / 3600 )) + minutes=$(( (uptime_seconds % 3600) / 60 )) + + result="" + + if [ $days -gt 0 ]; then + result="${days}d " + fi + + if [ $hours -gt 0 ]; then + result="${result}${hours}h " + fi + + if [ $minutes -gt 0 ]; then + result="${result}${minutes}m" + fi + + # Si es menos de 1 minuto + if [ -z "$result" ]; then + result="<1m" + fi + + echo "${result}" +} + +# Usar la función +UPTIME=$(format_uptime) + +# Calcular la longitud del contenido más largo para ajustar el cuadro +# En lugar de un array, usaremos variables individuales y calcularemos la longitud máxima + +CONTENT1="OS› Neko-Void" +CONTENT2="Kernel› $KERNEL" +CONTENT3="Packages› $PACKAGES" +CONTENT4="Memory› $USED_MEM/$TOTAL_MEM" +CONTENT5="Uptime› $UPTIME" + +# Función para obtener la longitud de una cadena sin códigos de color +strlen_without_colors() { + echo "$1" | sed -r "s/\x1B\[[0-9;]*[JKmsu]//g" | wc -m +} + +# Nota: wc -m cuenta caracteres, pero puede incluir un newline. Ajustamos. +L1=$(printf "%s" "$CONTENT1" | sed -r "s/\x1B\[[0-9;]*[JKmsu]//g" | wc -m) +L2=$(printf "%s" "$CONTENT2" | sed -r "s/\x1B\[[0-9;]*[JKmsu]//g" | wc -m) +L3=$(printf "%s" "$CONTENT3" | sed -r "s/\x1B\[[0-9;]*[JKmsu]//g" | wc -m) +L4=$(printf "%s" "$CONTENT4" | sed -r "s/\x1B\[[0-9;]*[JKmsu]//g" | wc -m) +L5=$(printf "%s" "$CONTENT5" | sed -r "s/\x1B\[[0-9;]*[JKmsu]//g" | wc -m) + +# Encontrar la longitud máxima +MAX_LEN=0 +for len in "$L1" "$L2" "$L3" "$L4" "$L5"; do + # Convertir a número (eliminar newline de wc) + len_num=$(echo "$len" | tr -d '\n') + if [ "$len_num" -gt "$MAX_LEN" ]; then + MAX_LEN=$len_num + fi +done + +# Añadir margen para los espacios y caracteres extra +BOX_WIDTH=$((MAX_LEN + 5)) + +# Imprimir el sistema de información con arte ASCII +echo " ${CYAN}╭$(printf '─%.0s' $(seq 1 $BOX_WIDTH))╮${RESET}" +echo " ${CYAN} │${RESET} ${BLUE}OS${RESET}› Neko Void $(printf ' %.0s' $(seq 1 $((BOX_WIDTH - L1 - 2))))${CYAN}│${RESET}" +echo " ${CYAN}│${RESET} ${BLUE}Kernel${RESET}› $KERNEL$(printf ' %.0s' $(seq 1 $((BOX_WIDTH - L2 - 2))))${CYAN} │${RESET}" +echo " ${CYAN}│${RESET} ${BLUE}Packages${RESET}› $PACKAGES$(printf ' %.0s' $(seq 1 $((BOX_WIDTH - L3 - 2))))${CYAN} │${RESET}" +echo " ${CYAN}│${RESET} ${BLUE}Memory${RESET}› $USED_MEM/$TOTAL_MEM$(printf ' %.0s' $(seq 1 $((BOX_WIDTH - L4 - 2))))${CYAN} │${RESET}" +echo " ${CYAN}│${RESET} ${BLUE}Uptime${RESET}› $UPTIME$(printf ' %.0s' $(seq 1 $((BOX_WIDTH - L5 - 2))))${CYAN} │${RESET}" +echo " ${CYAN}╰$(printf '─%.0s' $(seq 1 $BOX_WIDTH))╯${RESET}" diff --git a/includedir/usr/bin/void-installer b/includedir/usr/bin/void-installer new file mode 100644 index 0000000000000000000000000000000000000000..44e22aa8942b2ffeebc93124123ddba4ad3f3636 --- /dev/null +++ b/includedir/usr/bin/void-installer @@ -0,0 +1,1635 @@ +#!/bin/bash +#- +# Copyright (c) 2012-2015 Juan Romero Pardines . +# 2012 Dave Elusive . +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +#- + +# Make sure we don't inherit these from env. +SOURCE_DONE= +HOSTNAME_DONE= +KEYBOARD_DONE= +LOCALE_DONE= +TIMEZONE_DONE= +ROOTPASSWORD_DONE= +USERLOGIN_DONE= +USERPASSWORD_DONE= +USERNAME_DONE= +USERGROUPS_DONE= +USERACCOUNT_DONE= +BOOTLOADER_DONE= +PARTITIONS_DONE= +NETWORK_DONE= +FILESYSTEMS_DONE= +MIRROR_DONE= + +TARGETDIR=/mnt/target +LOG=/dev/tty8 +CONF_FILE=/tmp/.void-installer.conf +if [ ! -f $CONF_FILE ]; then + touch -f $CONF_FILE +fi +ANSWER=$(mktemp -t vinstall-XXXXXXXX || exit 1) +TARGET_SERVICES=$(mktemp -t vinstall-sv-XXXXXXXX || exit 1) +TARGET_FSTAB=$(mktemp -t vinstall-fstab-XXXXXXXX || exit 1) + +trap "DIE" INT TERM QUIT + +# disable printk +if [ -w /proc/sys/kernel/printk ]; then + echo 0 >/proc/sys/kernel/printk +fi + +# Detect if this is an EFI system. +if [ -e /sys/firmware/efi/systab ]; then + EFI_SYSTEM=1 + EFI_FW_BITS=$(cat /sys/firmware/efi/fw_platform_size) + if [ $EFI_FW_BITS -eq 32 ]; then + EFI_TARGET=i386-efi + else + EFI_TARGET=x86_64-efi + fi +fi + +# dialog colors +BLACK="\Z0" +RED="\Z1" +GREEN="\Z2" +YELLOW="\Z3" +BLUE="\Z4" +MAGENTA="\Z5" +CYAN="\Z6" +WHITE="\Z7" +BOLD="\Zb" +REVERSE="\Zr" +UNDERLINE="\Zu" +RESET="\Zn" + +# Properties shared per widget. +MENULABEL="${BOLD}Use UP and DOWN keys to navigate \ +menus. Use TAB to switch between buttons and ENTER to select.${RESET}" +MENUSIZE="14 60 0" +INPUTSIZE="8 60" +MSGBOXSIZE="8 70" +YESNOSIZE="$INPUTSIZE" +WIDGET_SIZE="10 70" + +DIALOG() { + rm -f $ANSWER + dialog --colors --keep-tite --no-shadow --no-mouse \ + --backtitle "${BOLD}${WHITE}Void Linux installation -- https://www.voidlinux.org (@@MKLIVE_VERSION@@)${RESET}" \ + --cancel-label "Back" --aspect 20 "$@" 2>$ANSWER + return $? +} + +INFOBOX() { + # Note: dialog --infobox and --keep-tite don't work together + dialog --colors --no-shadow --no-mouse \ + --backtitle "${BOLD}${WHITE}Void Linux installation -- https://www.voidlinux.org (@@MKLIVE_VERSION@@)${RESET}" \ + --title "${TITLE}" --aspect 20 --infobox "$@" +} + +DIE() { + rval=$1 + [ -z "$rval" ] && rval=0 + clear + rm -f $ANSWER $TARGET_FSTAB $TARGET_SERVICES + # reenable printk + if [ -w /proc/sys/kernel/printk ]; then + echo 4 >/proc/sys/kernel/printk + fi + umount_filesystems + exit $rval +} + +set_option() { + if grep -Eq "^${1} .*" $CONF_FILE; then + sed -i -e "/^${1} .*/d" $CONF_FILE + fi + echo "${1} ${2}" >>$CONF_FILE +} + +get_option() { + grep -E "^${1} .*" $CONF_FILE | sed -e "s|^${1} ||" +} + +# ISO-639 language names for locales +iso639_language() { + case "$1" in + aa) echo "Afar" ;; + af) echo "Afrikaans" ;; + an) echo "Aragonese" ;; + ar) echo "Arabic" ;; + ast) echo "Asturian" ;; + be) echo "Belgian" ;; + bg) echo "Bulgarian" ;; + bhb) echo "Bhili" ;; + br) echo "Breton" ;; + bs) echo "Bosnian" ;; + ca) echo "Catalan" ;; + cs) echo "Czech" ;; + cy) echo "Welsh" ;; + da) echo "Danish" ;; + de) echo "German" ;; + el) echo "Greek" ;; + en) echo "English" ;; + es) echo "Spanish" ;; + et) echo "Estonian" ;; + eu) echo "Basque" ;; + fi) echo "Finnish" ;; + fo) echo "Faroese" ;; + fr) echo "French" ;; + ga) echo "Irish" ;; + gd) echo "Scottish Gaelic" ;; + gl) echo "Galician" ;; + gv) echo "Manx" ;; + he) echo "Hebrew" ;; + hr) echo "Croatian" ;; + hsb) echo "Upper Sorbian" ;; + hu) echo "Hungarian" ;; + id) echo "Indonesian" ;; + is) echo "Icelandic" ;; + it) echo "Italian" ;; + iw) echo "Hebrew" ;; + ja) echo "Japanese" ;; + ka) echo "Georgian" ;; + kk) echo "Kazakh" ;; + kl) echo "Kalaallisut" ;; + ko) echo "Korean" ;; + ku) echo "Kurdish" ;; + kw) echo "Cornish" ;; + lg) echo "Ganda" ;; + lt) echo "Lithuanian" ;; + lv) echo "Latvian" ;; + mg) echo "Malagasy" ;; + mi) echo "Maori" ;; + mk) echo "Macedonian" ;; + ms) echo "Malay" ;; + mt) echo "Maltese" ;; + nb) echo "Norwegian Bokmål" ;; + nl) echo "Dutch" ;; + nn) echo "Norwegian Nynorsk" ;; + oc) echo "Occitan" ;; + om) echo "Oromo" ;; + pl) echo "Polish" ;; + pt) echo "Portuguese" ;; + ro) echo "Romanian" ;; + ru) echo "Russian" ;; + sk) echo "Slovak" ;; + sl) echo "Slovenian" ;; + so) echo "Somali" ;; + sq) echo "Albanian" ;; + st) echo "Southern Sotho" ;; + sv) echo "Swedish" ;; + tcy) echo "Tulu" ;; + tg) echo "Tajik" ;; + th) echo "Thai" ;; + tl) echo "Tagalog" ;; + tr) echo "Turkish" ;; + uk) echo "Ukrainian" ;; + uz) echo "Uzbek" ;; + wa) echo "Walloon" ;; + xh) echo "Xhosa" ;; + yi) echo "Yiddish" ;; + zh) echo "Chinese" ;; + zu) echo "Zulu" ;; + *) echo "$1" ;; + esac +} + +# ISO-3166 country codes for locales +iso3166_country() { + case "$1" in + AD) echo "Andorra" ;; + AE) echo "United Arab Emirates" ;; + AL) echo "Albania" ;; + AR) echo "Argentina" ;; + AT) echo "Austria" ;; + AU) echo "Australia" ;; + BA) echo "Bosnia and Herzegovina" ;; + BE) echo "Belgium" ;; + BG) echo "Bulgaria" ;; + BH) echo "Bahrain" ;; + BO) echo "Bolivia" ;; + BR) echo "Brazil" ;; + BW) echo "Botswana" ;; + BY) echo "Belarus" ;; + CA) echo "Canada" ;; + CH) echo "Switzerland" ;; + CL) echo "Chile" ;; + CN) echo "China" ;; + CO) echo "Colombia" ;; + CR) echo "Costa Rica" ;; + CY) echo "Cyprus" ;; + CZ) echo "Czech Republic" ;; + DE) echo "Germany" ;; + DJ) echo "Djibouti" ;; + DK) echo "Denmark" ;; + DO) echo "Dominican Republic" ;; + DZ) echo "Algeria" ;; + EC) echo "Ecuador" ;; + EE) echo "Estonia" ;; + EG) echo "Egypt" ;; + ES) echo "Spain" ;; + FI) echo "Finland" ;; + FO) echo "Faroe Islands" ;; + FR) echo "France" ;; + GB) echo "Great Britain" ;; + GE) echo "Georgia" ;; + GL) echo "Greenland" ;; + GR) echo "Greece" ;; + GT) echo "Guatemala" ;; + HK) echo "Hong Kong" ;; + HN) echo "Honduras" ;; + HR) echo "Croatia" ;; + HU) echo "Hungary" ;; + ID) echo "Indonesia" ;; + IE) echo "Ireland" ;; + IL) echo "Israel" ;; + IN) echo "India" ;; + IQ) echo "Iraq" ;; + IS) echo "Iceland" ;; + IT) echo "Italy" ;; + JO) echo "Jordan" ;; + JP) echo "Japan" ;; + KE) echo "Kenya" ;; + KR) echo "Korea, Republic of" ;; + KW) echo "Kuwait" ;; + KZ) echo "Kazakhstan" ;; + LB) echo "Lebanon" ;; + LT) echo "Lithuania" ;; + LU) echo "Luxembourg" ;; + LV) echo "Latvia" ;; + LY) echo "Libya" ;; + MA) echo "Morocco" ;; + MG) echo "Madagascar" ;; + MK) echo "Macedonia" ;; + MT) echo "Malta" ;; + MX) echo "Mexico" ;; + MY) echo "Malaysia" ;; + NI) echo "Nicaragua" ;; + NL) echo "Netherlands" ;; + NO) echo "Norway" ;; + NZ) echo "New Zealand" ;; + OM) echo "Oman" ;; + PA) echo "Panama" ;; + PE) echo "Peru" ;; + PH) echo "Philippines" ;; + PL) echo "Poland" ;; + PR) echo "Puerto Rico" ;; + PT) echo "Portugal" ;; + PY) echo "Paraguay" ;; + QA) echo "Qatar" ;; + RO) echo "Romania" ;; + RU) echo "Russian Federation" ;; + SA) echo "Saudi Arabia" ;; + SD) echo "Sudan" ;; + SE) echo "Sweden" ;; + SG) echo "Singapore" ;; + SI) echo "Slovenia" ;; + SK) echo "Slovakia" ;; + SO) echo "Somalia" ;; + SV) echo "El Salvador" ;; + SY) echo "Syria" ;; + TH) echo "Thailand" ;; + TJ) echo "Tajikistan" ;; + TN) echo "Tunisia" ;; + TR) echo "Turkey" ;; + TW) echo "Taiwan" ;; + UA) echo "Ukraine" ;; + UG) echo "Uganda" ;; + US) echo "United States of America" ;; + UY) echo "Uruguay" ;; + UZ) echo "Uzbekistan" ;; + VE) echo "Venezuela" ;; + YE) echo "Yemen" ;; + ZA) echo "South Africa" ;; + ZW) echo "Zimbabwe" ;; + *) echo "$1" ;; + esac +} + +show_disks() { + local dev size sectorsize gbytes + + # IDE + for dev in $(ls /sys/block|grep -E '^hd'); do + if [ "$(cat /sys/block/$dev/device/media)" = "disk" ]; then + # Find out nr sectors and bytes per sector; + echo "/dev/$dev" + size=$(cat /sys/block/$dev/size) + sectorsize=$(cat /sys/block/$dev/queue/hw_sector_size) + gbytes="$(($size * $sectorsize / 1024 / 1024 / 1024))" + echo "size:${gbytes}GB;sector_size:$sectorsize" + fi + done + # SATA/SCSI and Virtual disks (virtio) + for dev in $(ls /sys/block|grep -E '^([sv]|xv)d|mmcblk|nvme'); do + echo "/dev/$dev" + size=$(cat /sys/block/$dev/size) + sectorsize=$(cat /sys/block/$dev/queue/hw_sector_size) + gbytes="$(($size * $sectorsize / 1024 / 1024 / 1024))" + echo "size:${gbytes}GB;sector_size:$sectorsize" + done + # cciss(4) devices + for dev in $(ls /dev/cciss 2>/dev/null|grep -E 'c[0-9]d[0-9]$'); do + echo "/dev/cciss/$dev" + size=$(cat /sys/block/cciss\!$dev/size) + sectorsize=$(cat /sys/block/cciss\!$dev/queue/hw_sector_size) + gbytes="$(($size * $sectorsize / 1024 / 1024 / 1024))" + echo "size:${gbytes}GB;sector_size:$sectorsize" + done +} + +get_partfs() { + # Get fs type from configuration if available. This ensures + # that the user is shown the proper fs type if they install the system. + local part="$1" + local default="${2:-none}" + local fstype=$(grep "MOUNTPOINT ${part} " "$CONF_FILE"|awk '{print $3}') + echo "${fstype:-$default}" +} + +show_partitions() { + local dev fstype fssize p part + + set -- $(show_disks) + while [ $# -ne 0 ]; do + disk=$(basename $1) + shift 2 + # ATA/SCSI/SATA + for p in /sys/block/$disk/$disk*; do + if [ -d $p ]; then + part=$(basename $p) + fstype=$(lsblk -nfr /dev/$part|awk '{print $2}'|head -1) + [ "$fstype" = "iso9660" ] && continue + [ "$fstype" = "crypto_LUKS" ] && continue + [ "$fstype" = "LVM2_member" ] && continue + fssize=$(lsblk -nr /dev/$part|awk '{print $4}'|head -1) + echo "/dev/$part" + echo "size:${fssize:-unknown};fstype:$(get_partfs "/dev/$part")" + fi + done + done + # Device Mapper + for p in /dev/mapper/*; do + part=$(basename $p) + [ "${part}" = "live-rw" ] && continue + [ "${part}" = "live-base" ] && continue + [ "${part}" = "control" ] && continue + + fstype=$(lsblk -nfr $p|awk '{print $2}'|head -1) + fssize=$(lsblk -nr $p|awk '{print $4}'|head -1) + echo "${p}" + echo "size:${fssize:-unknown};fstype:$(get_partfs "$p")" + done + # Software raid (md) + for p in $(ls -d /dev/md* 2>/dev/null|grep '[0-9]'); do + part=$(basename $p) + if cat /proc/mdstat|grep -qw $part; then + fstype=$(lsblk -nfr /dev/$part|awk '{print $2}') + [ "$fstype" = "crypto_LUKS" ] && continue + [ "$fstype" = "LVM2_member" ] && continue + fssize=$(lsblk -nr /dev/$part|awk '{print $4}') + echo "$p" + echo "size:${fssize:-unknown};fstype:$(get_partfs "$p")" + fi + done + # cciss(4) devices + for part in $(ls /dev/cciss 2>/dev/null|grep -E 'c[0-9]d[0-9]p[0-9]+'); do + fstype=$(lsblk -nfr /dev/cciss/$part|awk '{print $2}') + [ "$fstype" = "crypto_LUKS" ] && continue + [ "$fstype" = "LVM2_member" ] && continue + fssize=$(lsblk -nr /dev/cciss/$part|awk '{print $4}') + echo "/dev/cciss/$part" + echo "size:${fssize:-unknown};fstype:$(get_partfs "/dev/cciss/$part")" + done + if [ -e /sbin/lvs ]; then + # LVM + lvs --noheadings|while read lvname vgname perms size; do + echo "/dev/mapper/${vgname}-${lvname}" + echo "size:${size};fstype:$(get_partfs "/dev/mapper/${vgname}-${lvname}" lvm)" + done + fi +} + +menu_filesystems() { + local dev fstype fssize mntpoint reformat + + while true; do + DIALOG --ok-label "Change" --cancel-label "Done" \ + --title " Select the partition to edit " --menu "$MENULABEL" \ + ${MENUSIZE} $(show_partitions) + [ $? -ne 0 ] && return + + dev=$(cat $ANSWER) + DIALOG --title " Select the filesystem type for $dev " \ + --menu "$MENULABEL" ${MENUSIZE} \ + "btrfs" "Oracle's Btrfs" \ + "ext2" "Linux ext2 (no journaling)" \ + "ext3" "Linux ext3 (journal)" \ + "ext4" "Linux ext4 (journal)" \ + "f2fs" "Flash-Friendly Filesystem" \ + "swap" "Linux swap" \ + "vfat" "FAT32" \ + "xfs" "SGI's XFS" + if [ $? -eq 0 ]; then + fstype=$(cat $ANSWER) + else + continue + fi + if [ "$fstype" != "swap" ]; then + DIALOG --inputbox "Please specify the mount point for $dev:" ${INPUTSIZE} + if [ $? -eq 0 ]; then + mntpoint=$(cat $ANSWER) + elif [ $? -eq 1 ]; then + continue + fi + else + mntpoint=swap + fi + DIALOG --yesno "Do you want to create a new filesystem on $dev?" ${YESNOSIZE} + if [ $? -eq 0 ]; then + reformat=1 + elif [ $? -eq 1 ]; then + reformat=0 + else + continue + fi + fssize=$(lsblk -nr $dev|awk '{print $4}') + set -- "$fstype" "$fssize" "$mntpoint" "$reformat" + if [ -n "$1" -a -n "$2" -a -n "$3" -a -n "$4" ]; then + local bdev=$(basename $dev) + local ddev=$(basename $(dirname $dev)) + if [ "$ddev" != "dev" ]; then + sed -i -e "/^MOUNTPOINT \/dev\/${ddev}\/${bdev} .*/d" $CONF_FILE + else + sed -i -e "/^MOUNTPOINT \/dev\/${bdev} .*/d" $CONF_FILE + fi + echo "MOUNTPOINT $dev $1 $2 $3 $4" >>$CONF_FILE + fi + done + FILESYSTEMS_DONE=1 +} + +menu_partitions() { + DIALOG --title " Select the disk to partition " \ + --menu "$MENULABEL" ${MENUSIZE} $(show_disks) + if [ $? -eq 0 ]; then + local device=$(cat $ANSWER) + + DIALOG --title " Select the software for partitioning " \ + --menu "$MENULABEL" ${MENUSIZE} \ + "cfdisk" "Easy to use" \ + "fdisk" "More advanced" + if [ $? -eq 0 ]; then + local software=$(cat $ANSWER) + + DIALOG --title "Modify Partition Table on $device" --msgbox "\n +${BOLD}${software} will be executed in disk $device.${RESET}\n\n +For BIOS systems, MBR or GPT partition tables are supported. To use GPT\n +on PC BIOS systems, an empty partition of 1MB must be added at the first\n +2GB of the disk with the partition type \`BIOS Boot'.\n +${BOLD}NOTE: you don't need this on EFI systems.${RESET}\n\n +For EFI systems, GPT is mandatory and a FAT32 partition with at least 100MB\n +must be created with the partition type \`EFI System'. This will be used as\n +the EFI System Partition. This partition must have the mountpoint \`/boot/efi'.\n\n +At least 1 partition is required for the rootfs (/). For this partition,\n +at least 2GB is required, but more is recommended. The rootfs partition\n +should have the partition type \`Linux Filesystem'. For swap, RAM*2\n +should be enough and the partition type \`Linux swap' should be used.\n\n +${BOLD}WARNING: /usr is not supported as a separate partition.${RESET}\n +${RESET}\n" 23 80 + if [ $? -eq 0 ]; then + while true; do + clear; $software $device; PARTITIONS_DONE=1 + break + done + else + return + fi + fi + fi +} + +menu_keymap() { + local _keymaps="$(find /usr/share/kbd/keymaps/ -type f -iname "*.map.gz" -printf "%f\n" | sed 's|.map.gz||g' | sort)" + local _KEYMAPS= + + for f in ${_keymaps}; do + _KEYMAPS="${_KEYMAPS} ${f} -" + done + while true; do + DIALOG --title " Select your keymap " --menu "$MENULABEL" 14 70 14 ${_KEYMAPS} + if [ $? -eq 0 ]; then + set_option KEYMAP "$(cat $ANSWER)" + loadkeys "$(cat $ANSWER)" + KEYBOARD_DONE=1 + break + else + return + fi + done +} + +set_keymap() { + local KEYMAP=$(get_option KEYMAP) + + if [ -f /etc/vconsole.conf ]; then + sed -i -e "s|KEYMAP=.*|KEYMAP=$KEYMAP|g" $TARGETDIR/etc/vconsole.conf + else + sed -i -e "s|#\?KEYMAP=.*|KEYMAP=$KEYMAP|g" $TARGETDIR/etc/rc.conf + fi +} + +menu_locale() { + local _locales="$(grep -E '\.UTF-8' /etc/default/libc-locales|awk '{print $1}'|sed -e 's/^#//')" + local LOCALES ISO639 ISO3166 + local TMPFILE=$(mktemp -t vinstall-XXXXXXXX || exit 1) + INFOBOX "Scanning locales ..." 4 60 + for f in ${_locales}; do + eval $(echo $f | awk 'BEGIN { FS="." } \ + { FS="_"; split($1, a); printf "ISO639=%s ISO3166=%s\n", a[1], a[2] }') + echo "$f|$(iso639_language $ISO639) ($(iso3166_country $ISO3166))|" >> $TMPFILE + done + clear + # Sort by ISO-639 language names + LOCALES=$(sort -t '|' -k 2 < $TMPFILE | xargs | sed -e's/| /|/g') + rm -f $TMPFILE + while true; do + (IFS="|"; DIALOG --title " Select your locale " --menu "$MENULABEL" 18 70 18 ${LOCALES}) + if [ $? -eq 0 ]; then + set_option LOCALE "$(cat $ANSWER)" + LOCALE_DONE=1 + break + else + return + fi + done +} + +set_locale() { + if [ -f $TARGETDIR/etc/default/libc-locales ]; then + local LOCALE="$(get_option LOCALE)" + : "${LOCALE:=C.UTF-8}" + sed -i -e "s|LANG=.*|LANG=$LOCALE|g" $TARGETDIR/etc/locale.conf + # Uncomment locale from /etc/default/libc-locales and regenerate it. + sed -e "/${LOCALE}/s/^\#//" -i $TARGETDIR/etc/default/libc-locales + echo "Running xbps-reconfigure -f glibc-locales ..." >$LOG + chroot $TARGETDIR xbps-reconfigure -f glibc-locales >$LOG 2>&1 + fi +} +set_rice() { + cp /home/.profile /home/$USERLOGIN/ +} +menu_timezone() { + local areas=(Africa America Antarctica Arctic Asia Atlantic Australia Europe Indian Pacific) + + local area locations location + while (IFS='|'; DIALOG ${area:+--default-item|"$area"} --title " Select area " --menu "$MENULABEL" 19 51 19 $(printf '%s||' "${areas[@]}")); do + area=$(cat $ANSWER) + read -a locations -d '\n' < <(find /usr/share/zoneinfo/$area -type f -printf '%P\n' | sort) + if (IFS='|'; DIALOG --title " Select location (${area}) " --menu "$MENULABEL" 19 51 19 $(printf '%s||' "${locations[@]//_/ }")); then + location=$(tr ' ' '_' < $ANSWER) + set_option TIMEZONE "$area/$location" + TIMEZONE_DONE=1 + return 0 + else + continue + fi + done + return 1 +} + +set_timezone() { + local TIMEZONE="$(get_option TIMEZONE)" + + ln -sf "/usr/share/zoneinfo/${TIMEZONE}" "${TARGETDIR}/etc/localtime" +} + +menu_hostname() { + while true; do + DIALOG --inputbox "Set the machine hostname:" ${INPUTSIZE} + if [ $? -eq 0 ]; then + set_option HOSTNAME "$(cat $ANSWER)" + HOSTNAME_DONE=1 + break + else + return + fi + done +} + +set_hostname() { + local hostname="$(get_option HOSTNAME)" + echo "${hostname:-void}" > $TARGETDIR/etc/hostname +} + +menu_rootpassword() { + local _firstpass _secondpass _again _desc + + while true; do + if [ -z "${_firstpass}" ]; then + _desc="Enter the root password" + else + _again=" again" + fi + DIALOG --insecure --passwordbox "${_desc}${_again}" ${INPUTSIZE} + if [ $? -eq 0 ]; then + if [ -z "${_firstpass}" ]; then + _firstpass="$(cat $ANSWER)" + else + _secondpass="$(cat $ANSWER)" + fi + if [ -n "${_firstpass}" -a -n "${_secondpass}" ]; then + if [ "${_firstpass}" != "${_secondpass}" ]; then + INFOBOX "Passwords do not match! Please enter again." 6 60 + unset _firstpass _secondpass _again + sleep 2 && clear && continue + fi + set_option ROOTPASSWORD "${_firstpass}" + ROOTPASSWORD_DONE=1 + break + fi + else + return + fi + done +} + +set_rootpassword() { + echo "root:$(get_option ROOTPASSWORD)" | chroot $TARGETDIR chpasswd -c SHA512 +} + +menu_useraccount() { + local _firstpass _secondpass _desc _again + local _groups _status _group _checklist + local _preset _userlogin + + while true; do + _preset=$(get_option USERLOGIN) + [ -z "$_preset" ] && _preset="void" + DIALOG --inputbox "Enter a primary login name:" ${INPUTSIZE} "$_preset" + if [ $? -eq 0 ]; then + _userlogin="$(cat $ANSWER)" + # based on useradd(8) § Caveats + if [ "${#_userlogin}" -le 32 ] && [[ "${_userlogin}" =~ ^[a-z_][a-z0-9_-]*[$]?$ ]]; then + set_option USERLOGIN "${_userlogin}" + USERLOGIN_DONE=1 + break + else + INFOBOX "Invalid login name! Please try again." 6 60 + unset _userlogin + sleep 2 && clear && continue + fi + else + return + fi + done + + while true; do + _preset=$(get_option USERNAME) + [ -z "$_preset" ] && _preset="Void User" + DIALOG --inputbox "Enter a display name for login '$(get_option USERLOGIN)' :" \ + ${INPUTSIZE} "$_preset" + if [ $? -eq 0 ]; then + set_option USERNAME "$(cat $ANSWER)" + USERNAME_DONE=1 + break + else + return + fi + done + + while true; do + if [ -z "${_firstpass}" ]; then + _desc="Enter the password for login '$(get_option USERLOGIN)'" + else + _again=" again" + fi + DIALOG --insecure --passwordbox "${_desc}${_again}" ${INPUTSIZE} + if [ $? -eq 0 ]; then + if [ -z "${_firstpass}" ]; then + _firstpass="$(cat $ANSWER)" + else + _secondpass="$(cat $ANSWER)" + fi + if [ -n "${_firstpass}" -a -n "${_secondpass}" ]; then + if [ "${_firstpass}" != "${_secondpass}" ]; then + INFOBOX "Passwords do not match! Please enter again." 6 60 + unset _firstpass _secondpass _again + sleep 2 && clear && continue + fi + set_option USERPASSWORD "${_firstpass}" + USERPASSWORD_DONE=1 + break + fi + else + return + fi + done + + _groups="wheel,audio,video,floppy,cdrom,optical,kvm,users,xbuilder" + while true; do + _desc="Select group membership for login '$(get_option USERLOGIN)':" + for _group in $(cat /etc/group); do + _gid="$(echo ${_group} | cut -d: -f3)" + _group="$(echo ${_group} | cut -d: -f1)" + _status="$(echo ${_groups} | grep -w ${_group})" + if [ -z "${_status}" ]; then + _status=off + else + _status=on + fi + # ignore the groups of root, existing users, and package groups + if [[ "${_gid}" -ge 1000 || "${_group}" = "_"* || "${_group}" =~ ^(root|nogroup|chrony|dbus|lightdm|polkitd)$ ]]; then + continue + fi + if [ -z "${_checklist}" ]; then + _checklist="${_group} ${_group}:${_gid} ${_status}" + else + _checklist="${_checklist} ${_group} ${_group}:${_gid} ${_status}" + fi + done + DIALOG --no-tags --checklist "${_desc}" 20 60 18 ${_checklist} + if [ $? -eq 0 ]; then + set_option USERGROUPS $(cat $ANSWER | sed -e's| |,|g') + USERGROUPS_DONE=1 + break + else + return + fi + done +} + +set_useraccount() { + [ -z "$USERACCOUNT_DONE" ] && return + chroot $TARGETDIR useradd -m -G "$(get_option USERGROUPS)" \ + -c "$(get_option USERNAME)" "$(get_option USERLOGIN)" + echo "$(get_option USERLOGIN):$(get_option USERPASSWORD)" | \ + chroot $TARGETDIR chpasswd -c SHA512 +} + +menu_bootloader() { + while true; do + DIALOG --title " Select the disk to install the bootloader" \ + --menu "$MENULABEL" ${MENUSIZE} $(show_disks) none "Manage bootloader otherwise" + if [ $? -eq 0 ]; then + set_option BOOTLOADER "$(cat $ANSWER)" + BOOTLOADER_DONE=1 + break + else + return + fi + done + while true; do + DIALOG --yesno "Use a graphical terminal for the boot loader?" ${YESNOSIZE} + if [ $? -eq 0 ]; then + set_option TEXTCONSOLE 0 + break + elif [ $? -eq 1 ]; then + set_option TEXTCONSOLE 1 + break + else + return + fi + done +} + +set_bootloader() { + local dev=$(get_option BOOTLOADER) grub_args= + + if [ "$dev" = "none" ]; then return; fi + + # Check if it's an EFI system via efivars module. + if [ -n "$EFI_SYSTEM" ]; then + grub_args="--target=$EFI_TARGET --efi-directory=/boot/efi --bootloader-id=void_grub --recheck" + fi + echo "Running grub-install $grub_args $dev..." >$LOG + chroot $TARGETDIR grub-install $grub_args $dev >$LOG 2>&1 + if [ $? -ne 0 ]; then + DIALOG --msgbox "${BOLD}${RED}ERROR:${RESET} \ +failed to install GRUB to $dev!\nCheck $LOG for errors." ${MSGBOXSIZE} + DIE 1 + fi + echo "Running grub-mkconfig on $TARGETDIR..." >$LOG + chroot $TARGETDIR grub-mkconfig -o /boot/grub/grub.cfg >$LOG 2>&1 + if [ $? -ne 0 ]; then + DIALOG --msgbox "${BOLD}${RED}ERROR${RESET}: \ +failed to run grub-mkconfig!\nCheck $LOG for errors." ${MSGBOXSIZE} + DIE 1 + fi +} + +test_network() { + # Reset the global variable to ensure that network is accessible for this test. + NETWORK_DONE= + + rm -f otime && \ + xbps-uhelper fetch https://repo-default.voidlinux.org/current/otime >$LOG 2>&1 + local status=$? + rm -f otime + + if [ "$status" -eq 0 ]; then + DIALOG --msgbox "Network is working properly!" ${MSGBOXSIZE} + NETWORK_DONE=1 + return 1 + fi + if [ "$1" = "nm" ]; then + DIALOG --msgbox "Network Manager is enabled but network is inaccessible, please set it up externally with nmcli, nmtui, or the Network Manager tray applet." ${MSGBOXSIZE} + else + DIALOG --msgbox "Network is inaccessible, please set it up properly." ${MSGBOXSIZE} + fi +} + +configure_wifi() { + local dev="$1" ssid enc pass _wpasupconf=/etc/wpa_supplicant/wpa_supplicant.conf + + DIALOG --form "Wireless configuration for ${dev}\n(encryption type: wep, wpa, or sae)" 0 0 0 \ + "SSID:" 1 1 "" 1 16 30 0 \ + "Encryption:" 2 1 "" 2 16 4 3 \ + "Password:" 3 1 "" 3 16 63 0 || return 1 + readarray -t values <<<$(cat $ANSWER) + ssid="${values[0]}"; enc="${values[1]}"; pass="${values[2]}" + + if [ -z "$ssid" ]; then + DIALOG --msgbox "Invalid SSID." ${MSGBOXSIZE} + return 1 + elif [ -z "$enc" ] || [[ "$enc" != "wep" && "$enc" != "wpa" && "$enc" != "sae" ]]; then + DIALOG --msgbox "Invalid encryption type (possible values: wep, wpa, or sae)." ${MSGBOXSIZE} + return 1 + elif [ -z "$pass" ]; then + DIALOG --msgbox "Invalid AP password." ${MSGBOXSIZE} + fi + + # reset the configuration to the default, if necessary + # otherwise backup the configuration + if [ -f ${_wpasupconf}.orig ]; then + cp -f ${_wpasupconf}.orig ${_wpasupconf} + else + cp -f ${_wpasupconf} ${_wpasupconf}.orig + fi + if [ "$enc" = "wep" ]; then + cat << EOF >> ${_wpasupconf} +network={ + ssid="$ssid" + wep_key0="$pass" + wep_tx_keyidx=0 + auth_alg=SHARED +} +EOF + elif [ "$enc" = "sae" ]; then + cat << EOF >> ${_wpasupconf} +network={ + ssid="$ssid" + key_mgmt=SAE + sae_password="$pass" + ieee80211w=2 +} +EOF + else + wpa_passphrase "$ssid" "$pass" >> ${_wpasupconf} + fi + + sv restart wpa_supplicant + configure_net_dhcp $dev + return $? +} + +configure_net() { + local dev="$1" rval + + DIALOG --yesno "Do you want to use DHCP for $dev?" ${YESNOSIZE} + rval=$? + if [ $rval -eq 0 ]; then + configure_net_dhcp $dev + elif [ $rval -eq 1 ]; then + configure_net_static $dev + fi +} + +iface_setup() { + ip addr show dev $1 | grep -q -e 'inet ' -e 'inet6 ' + return $? +} + +configure_net_dhcp() { + local dev="$1" + + iface_setup $dev + if [ $? -eq 1 ]; then + sv restart dhcpcd 2>&1 | tee $LOG | \ + DIALOG --progressbox "Initializing $dev via DHCP..." ${WIDGET_SIZE} + if [ $? -ne 0 ]; then + DIALOG --msgbox "${BOLD}${RED}ERROR:${RESET} failed to run dhcpcd. See $LOG for details." ${MSGBOXSIZE} + return 1 + fi + export -f iface_setup + timeout 10s bash -c "while true; do iface_setup $dev; sleep 0.25; done" + if [ $? -eq 1 ]; then + DIALOG --msgbox "${BOLD}${RED}ERROR:${RESET} DHCP request failed for $dev. Check $LOG for errors." ${MSGBOXSIZE} + return 1 + fi + fi + test_network + if [ $? -eq 1 ]; then + set_option NETWORK "${dev} dhcp" + fi +} + +configure_net_static() { + local ip gw dns1 dns2 dev=$1 + + DIALOG --form "Static IP configuration for $dev:" 0 0 0 \ + "IP address:" 1 1 "192.168.0.2" 1 21 20 0 \ + "Gateway:" 2 1 "192.168.0.1" 2 21 20 0 \ + "DNS Primary" 3 1 "8.8.8.8" 3 21 20 0 \ + "DNS Secondary" 4 1 "8.8.4.4" 4 21 20 0 || return 1 + + set -- $(cat $ANSWER) + ip=$1; gw=$2; dns1=$3; dns2=$4 + echo "running: ip link set dev $dev up" >$LOG + ip link set dev $dev up >$LOG 2>&1 + if [ $? -ne 0 ]; then + DIALOG --msgbox "${BOLD}${RED}ERROR:${RESET} Failed to bring $dev interface." ${MSGBOXSIZE} + return 1 + fi + echo "running: ip addr add $ip dev $dev" >$LOG + ip addr add $ip dev $dev >$LOG 2>&1 + if [ $? -ne 0 ]; then + DIALOG --msgbox "${BOLD}${RED}ERROR:${RESET} Failed to set ip to the $dev interface." ${MSGBOXSIZE} + return 1 + fi + ip route add default via $gw >$LOG 2>&1 + if [ $? -ne 0 ]; then + DIALOG --msgbox "${BOLD}${RED}ERROR:${RESET} failed to setup your gateway." ${MSGBOXSIZE} + return 1 + fi + echo "nameserver $dns1" >/etc/resolv.conf + echo "nameserver $dns2" >>/etc/resolv.conf + test_network + if [ $? -eq 1 ]; then + set_option NETWORK "${dev} static $ip $gw $dns1 $dns2" + fi +} + +menu_network() { + local dev addr f DEVICES + + if [ -e /var/service/NetworkManager ]; then + test_network nm + return + fi + + for f in $(ls /sys/class/net); do + [ "$f" = "lo" ] && continue + addr=$(cat /sys/class/net/$f/address) + DEVICES="$DEVICES $f $addr" + done + DIALOG --title " Select the network interface to configure " \ + --menu "$MENULABEL" ${MENUSIZE} ${DEVICES} + if [ $? -eq 0 ]; then + dev=$(cat $ANSWER) + if $(echo $dev|egrep -q "^wl.*" 2>/dev/null); then + configure_wifi $dev + else + configure_net $dev + fi + fi +} + +validate_useraccount() { + # don't check that USERNAME has been set because it can be empty + local USERLOGIN=$(get_option USERLOGIN) + local USERPASSWORD=$(get_option USERPASSWORD) + local USERGROUPS=$(get_option USERGROUPS) + + if [ -n "$USERLOGIN" ] && [ -n "$USERPASSWORD" ] && [ -n "$USERGROUPS" ]; then + USERACCOUNT_DONE=1 + fi +} + +validate_filesystems() { + local mnts dev size fstype mntpt mkfs rootfound fmt + local usrfound efi_system_partition + local bootdev=$(get_option BOOTLOADER) + + unset TARGETFS + mnts=$(grep -E '^MOUNTPOINT .*' $CONF_FILE) + set -- ${mnts} + while [ $# -ne 0 ]; do + fmt="" + dev=$2; fstype=$3; size=$4; mntpt="$5"; mkfs=$6 + shift 6 + + if [ "$mntpt" = "/" ]; then + rootfound=1 + elif [ "$mntpt" = "/usr" ]; then + usrfound=1 + elif [ "$fstype" = "vfat" -a "$mntpt" = "/boot/efi" ]; then + efi_system_partition=1 + fi + if [ "$mkfs" -eq 1 ]; then + fmt="NEW FILESYSTEM: " + fi + if [ -z "$TARGETFS" ]; then + TARGETFS="${fmt}$dev ($size) mounted on $mntpt as ${fstype}\n" + else + TARGETFS="${TARGETFS}${fmt}${dev} ($size) mounted on $mntpt as ${fstype}\n" + fi + done + if [ -z "$rootfound" ]; then + DIALOG --msgbox "${BOLD}${RED}ERROR:${RESET} \ +the mount point for the root filesystem (/) has not yet been configured." ${MSGBOXSIZE} + return 1 + elif [ -n "$usrfound" ]; then + DIALOG --msgbox "${BOLD}${RED}ERROR:${RESET} \ +/usr mount point has been configured but is not supported, please remove it to continue." ${MSGBOXSIZE} + return 1 + elif [ -n "$EFI_SYSTEM" -a "$bootdev" != "none" -a -z "$efi_system_partition" ]; then + DIALOG --msgbox "${BOLD}${RED}ERROR:${RESET} \ +The EFI System Partition has not yet been configured, please create it\n +as FAT32, mountpoint /boot/efi and at least with 100MB of size." ${MSGBOXSIZE} + return 1 + fi + FILESYSTEMS_DONE=1 +} + +create_filesystems() { + local mnts dev mntpt fstype fspassno mkfs size rv uuid + + # truncate to avoid doubling up + : >"$TARGET_FSTAB" + + mnts=$(grep -E '^MOUNTPOINT .*' $CONF_FILE | sort -k 5) + set -- ${mnts} + while [ $# -ne 0 ]; do + dev=$2; fstype=$3; mntpt="$5"; mkfs=$6 + shift 6 + + # swap partitions + if [ "$fstype" = "swap" ]; then + swapoff $dev >/dev/null 2>&1 + if [ "$mkfs" -eq 1 ]; then + mkswap $dev >$LOG 2>&1 + if [ $? -ne 0 ]; then + DIALOG --msgbox "${BOLD}${RED}ERROR:${RESET} \ +failed to create swap on ${dev}!\ncheck $LOG for errors." ${MSGBOXSIZE} + DIE 1 + fi + fi + swapon $dev >$LOG 2>&1 + if [ $? -ne 0 ]; then + DIALOG --msgbox "${BOLD}${RED}ERROR:${RESET} \ +failed to activate swap on $dev!\ncheck $LOG for errors." ${MSGBOXSIZE} + DIE 1 + fi + # Add entry for target fstab + uuid=$(blkid -o value -s UUID "$dev") + echo "UUID=$uuid none swap defaults 0 0" >>$TARGET_FSTAB + continue + fi + + if [ "$mkfs" -eq 1 ]; then + case "$fstype" in + btrfs) MKFS="mkfs.btrfs -f"; modprobe btrfs >$LOG 2>&1;; + ext2) MKFS="mke2fs -F"; modprobe ext2 >$LOG 2>&1;; + ext3) MKFS="mke2fs -F -j"; modprobe ext3 >$LOG 2>&1;; + ext4) MKFS="mke2fs -F -t ext4"; modprobe ext4 >$LOG 2>&1;; + f2fs) MKFS="mkfs.f2fs -f"; modprobe f2fs >$LOG 2>&1;; + vfat) MKFS="mkfs.vfat -F32"; modprobe vfat >$LOG 2>&1;; + xfs) MKFS="mkfs.xfs -f -i sparse=0"; modprobe xfs >$LOG 2>&1;; + esac + TITLE="Check $LOG for details ..." + INFOBOX "Creating filesystem $fstype on $dev for $mntpt ..." 8 60 + echo "Running $MKFS $dev..." >$LOG + $MKFS $dev >$LOG 2>&1; rv=$? + if [ $rv -ne 0 ]; then + DIALOG --msgbox "${BOLD}${RED}ERROR:${RESET} \ +failed to create filesystem $fstype on $dev!\ncheck $LOG for errors." ${MSGBOXSIZE} + DIE 1 + fi + fi + # Mount rootfs the first one. + [ "$mntpt" != "/" ] && continue + mkdir -p $TARGETDIR + echo "Mounting $dev on $mntpt ($fstype)..." >$LOG + mount -t $fstype $dev $TARGETDIR >$LOG 2>&1 + if [ $? -ne 0 ]; then + DIALOG --msgbox "${BOLD}${RED}ERROR:${RESET} \ +failed to mount $dev on ${mntpt}! check $LOG for errors." ${MSGBOXSIZE} + DIE 1 + fi + # Add entry to target fstab + uuid=$(blkid -o value -s UUID "$dev") + if [ "$fstype" = "f2fs" -o "$fstype" = "btrfs" -o "$fstype" = "xfs" ]; then + fspassno=0 + else + fspassno=1 + fi + echo "UUID=$uuid $mntpt $fstype defaults 0 $fspassno" >>$TARGET_FSTAB + done + + # mount all filesystems in target rootfs + mnts=$(grep -E '^MOUNTPOINT .*' $CONF_FILE | sort -k 5) + set -- ${mnts} + while [ $# -ne 0 ]; do + dev=$2; fstype=$3; mntpt="$5" + shift 6 + [ "$mntpt" = "/" -o "$fstype" = "swap" ] && continue + mkdir -p ${TARGETDIR}${mntpt} + echo "Mounting $dev on $mntpt ($fstype)..." >$LOG + mount -t $fstype $dev ${TARGETDIR}${mntpt} >$LOG 2>&1 + if [ $? -ne 0 ]; then + DIALOG --msgbox "${BOLD}${RED}ERROR:${RESET} \ +failed to mount $dev on $mntpt! check $LOG for errors." ${MSGBOXSIZE} + DIE + fi + # Add entry to target fstab + uuid=$(blkid -o value -s UUID "$dev") + if [ "$fstype" = "f2fs" -o "$fstype" = "btrfs" -o "$fstype" = "xfs" ]; then + fspassno=0 + else + fspassno=2 + fi + echo "UUID=$uuid $mntpt $fstype defaults 0 $fspassno" >>$TARGET_FSTAB + done +} + +mount_filesystems() { + for f in sys proc dev; do + [ ! -d $TARGETDIR/$f ] && mkdir $TARGETDIR/$f + echo "Mounting $TARGETDIR/$f..." >$LOG + mount --rbind /$f $TARGETDIR/$f >$LOG 2>&1 + done +} + +umount_filesystems() { + local mnts="$(grep -E '^MOUNTPOINT .* swap .*$' $CONF_FILE | sort -r -k 5)" + set -- ${mnts} + while [ $# -ne 0 ]; do + local dev=$2; local fstype=$3 + shift 6 + if [ "$fstype" = "swap" ]; then + echo "Disabling swap space on $dev..." >$LOG + swapoff $dev >$LOG 2>&1 + continue + fi + done + echo "Unmounting $TARGETDIR..." >$LOG + umount -R $TARGETDIR >$LOG 2>&1 +} + +log_and_count() { + local progress whole tenth + while read line; do + echo "$line" >$LOG + copy_count=$((copy_count + 1)) + progress=$((1000 * copy_count / copy_total)) + if [ "$progress" != "$copy_progress" ]; then + whole=$((progress / 10)) + tenth=$((progress % 10)) + printf "Progress: %d.%d%% (%d of %d files)\n" $whole $tenth $copy_count $copy_total + copy_progress=$progress + fi + done +} + +copy_rootfs() { + local tar_in="--create --one-file-system --xattrs" + TITLE="Check $LOG for details ..." + INFOBOX "Counting files, please be patient ..." 4 60 + copy_total=$(tar ${tar_in} -v -f /dev/null / 2>/dev/null | wc -l) + export copy_total copy_count=0 copy_progress= + clear + tar ${tar_in} -f - / 2>/dev/null | \ + tar --extract --xattrs --xattrs-include='*' --preserve-permissions -v -f - -C $TARGETDIR | \ + log_and_count | \ + DIALOG --title "${TITLE}" \ + --progressbox "Copying live image to target rootfs." 5 60 + if [ $? -ne 0 ]; then + DIE 1 + fi + unset copy_total copy_count copy_percent +} + +install_packages() { + local _grub= _syspkg= + + if [ "$(get_option BOOTLOADER)" != none ]; then + if [ -n "$EFI_SYSTEM" ]; then + if [ $EFI_FW_BITS -eq 32 ]; then + _grub="grub-i386-efi" + else + _grub="grub-x86_64-efi" + fi + else + _grub="grub" + fi + fi + + _syspkg="base-system" + + mkdir -p $TARGETDIR/var/db/xbps/keys $TARGETDIR/usr/share + cp -a /usr/share/xbps.d $TARGETDIR/usr/share/ + cp /var/db/xbps/keys/*.plist $TARGETDIR/var/db/xbps/keys + if [ -n "$MIRROR_DONE" ]; then + mkdir -p $TARGETDIR/etc + cp -a /etc/xbps.d $TARGETDIR/etc + fi + mkdir -p $TARGETDIR/boot/grub + + _arch=$(xbps-uhelper arch) + + stdbuf -oL env XBPS_ARCH=${_arch} \ + xbps-install -r $TARGETDIR -SyU ${_syspkg} ${_grub} 2>&1 | \ + DIALOG --title "Installing base system packages..." \ + --programbox 24 80 + if [ $? -ne 0 ]; then + DIE 1 + fi + xbps-reconfigure -r $TARGETDIR -f base-files >/dev/null 2>&1 + stdbuf -oL chroot $TARGETDIR xbps-reconfigure -a 2>&1 | \ + DIALOG --title "Configuring base system packages..." --programbox 24 80 + if [ $? -ne 0 ]; then + DIE 1 + fi +} + +menu_services() { + local sv _status _checklist="" + # filter out services that probably shouldn't be messed with + local sv_ignore='^(agetty-(tty[1-9]|generic|serial|console)|udevd|sulogin)$' + find $TARGETDIR/etc/runit/runsvdir/default -mindepth 1 -maxdepth 1 -xtype d -printf '%f\n' | \ + grep -Ev "$sv_ignore" | sort -u > "$TARGET_SERVICES" + while true; do + while read -r sv; do + if [ -n "$sv" ]; then + if grep -qx "$sv" "$TARGET_SERVICES" 2>/dev/null; then + _status=on + else + _status=off + fi + _checklist+=" ${sv} ${sv} ${_status}" + fi + done < <(find $TARGETDIR/etc/sv -mindepth 1 -maxdepth 1 -type d -printf '%f\n' | grep -Ev "$sv_ignore" | sort -u) + DIALOG --no-tags --checklist "Select services to enable:" 20 60 18 ${_checklist} + if [ $? -eq 0 ]; then + comm -13 "$TARGET_SERVICES" <(cat "$ANSWER" | tr ' ' '\n') | while read -r sv; do + enable_service "$sv" + done + comm -23 "$TARGET_SERVICES" <(cat "$ANSWER" | tr ' ' '\n') | while read -r sv; do + disable_service "$sv" + done + break + else + return + fi + done +} + +enable_service() { + ln -sf "/etc/sv/$1" "$TARGETDIR/etc/runit/runsvdir/default/$1" +} + +disable_service() { + rm -f "$TARGETDIR/etc/runit/runsvdir/default/$1" +} + +menu_install() { + ROOTPASSWORD_DONE="$(get_option ROOTPASSWORD)" + BOOTLOADER_DONE="$(get_option BOOTLOADER)" + + if [ -z "$ROOTPASSWORD_DONE" ]; then + DIALOG --msgbox "${BOLD}The root password has not been configured, \ +please do so before starting the installation.${RESET}" ${MSGBOXSIZE} + return 1 + elif [ -z "$BOOTLOADER_DONE" ]; then + DIALOG --msgbox "${BOLD}The disk to install the bootloader has not been \ +configured, please do so before starting the installation.${RESET}" ${MSGBOXSIZE} + return 1 + fi + + # Validate filesystems after making sure bootloader is done, + # so that specific checks can be made based on the selection + validate_filesystems || return 1 + + if [ -z "$FILESYSTEMS_DONE" ]; then + DIALOG --msgbox "${BOLD}Required filesystems were not configured, \ +please do so before starting the installation.${RESET}" ${MSGBOXSIZE} + return 1 + fi + + # Validate useraccount. All parameters must be set (name, password, login name, groups). + validate_useraccount + + if [ -z "$USERACCOUNT_DONE" ]; then + DIALOG --yesno "${BOLD}The user account is not set up properly.${RESET}\n\n +${BOLD}${RED}WARNING: no user will be created. You will only be able to login \ +with the root user in your new system.${RESET}\n\n +${BOLD}Do you want to continue?${RESET}" 10 60 || return + fi + + DIALOG --yesno "${BOLD}The following operations will be executed:${RESET}\n\n +${BOLD}${TARGETFS}${RESET}\n +${BOLD}${RED}WARNING: data on partitions will be COMPLETELY DESTROYED for new \ +filesystems.${RESET}\n\n +${BOLD}Do you want to continue?${RESET}" 20 80 || return + unset TARGETFS + + # Create and mount filesystems + create_filesystems + + if ! find "$TARGETDIR" -xdev -mindepth 1 -maxdepth 1 -not -name 'lost+found' | read; then + DIALOG --msgbox "${BOLD}${RED}ERROR:${RESET} \ +Root partition not empty! Aborting..." ${MSGBOXSIZE} + DIE 1 + fi + + SOURCE_DONE="$(get_option SOURCE)" + # If source not set use defaults. + if [ "$(get_option SOURCE)" = "local" -o -z "$SOURCE_DONE" ]; then + copy_rootfs + . /etc/default/live.conf + rm -f $TARGETDIR/etc/motd + rm -f $TARGETDIR/etc/issue + rm -f $TARGETDIR/usr/sbin/void-installer + # Remove modified sddm.conf to let sddm use the defaults. + rm -f $TARGETDIR/etc/sddm.conf + # Remove live user. + echo "Removing $USERNAME live user from targetdir ..." >$LOG + chroot $TARGETDIR userdel -r $USERNAME >$LOG 2>&1 + rm -f $TARGETDIR/etc/sudoers.d/99-void-live + sed -i "s,GETTY_ARGS=\"--noclear -a $USERNAME\",GETTY_ARGS=\"--noclear\",g" $TARGETDIR/etc/sv/agetty-tty1/conf + TITLE="Check $LOG for details ..." + INFOBOX "Rebuilding initramfs for target ..." 4 60 + echo "Rebuilding initramfs for target ..." >$LOG + # mount required fs + mount_filesystems + chroot $TARGETDIR dracut --no-hostonly --add-drivers "ahci" --force >>$LOG 2>&1 + INFOBOX "Removing temporary packages from target ..." 4 60 + echo "Removing temporary packages from target ..." >$LOG + TO_REMOVE="dialog xtools-minimal xmirror" + # only remove espeakup and brltty if it wasn't enabled in the live environment + if ! [ -e "/var/service/espeakup" ]; then + TO_REMOVE+=" espeakup" + fi + if ! [ -e "/var/service/brltty" ]; then + TO_REMOVE+=" brltty" + fi + if [ "$(get_option BOOTLOADER)" = none ]; then + TO_REMOVE+=" grub-x86_64-efi grub-i386-efi grub" + fi + # uninstall separately to minimise errors + for pkg in $TO_REMOVE; do + xbps-remove -r $TARGETDIR -Ry "$pkg" >>$LOG 2>&1 + done + rmdir $TARGETDIR/mnt/target + else + # mount required fs + mount_filesystems + # network install, use packages. + install_packages + fi + + INFOBOX "Applying installer settings..." 4 60 + + # copy target fstab. + install -Dm644 $TARGET_FSTAB $TARGETDIR/etc/fstab + # Mount /tmp as tmpfs. + echo "tmpfs /tmp tmpfs defaults,nosuid,nodev 0 0" >> $TARGETDIR/etc/fstab + + + # set up keymap, locale, timezone, hostname, root passwd and user account. + set_keymap + set_locale + set_timezone + set_hostname + set_rootpassword + set_useraccount + #RICER + set_rice + # Copy /etc/skel files for root. + cp $TARGETDIR/etc/skel/.[bix]* $TARGETDIR/root + + NETWORK_DONE="$(get_option NETWORK)" + # network settings for target + if [ -n "$NETWORK_DONE" ]; then + local net="$(get_option NETWORK)" + set -- ${net} + local _dev="$1" _type="$2" _ip="$3" _gw="$4" _dns1="$5" _dns2="$6" + if [ -z "$_type" ]; then + # network type empty??!!! + : + elif [ "$_type" = "dhcp" ]; then + if $(echo $_dev|egrep -q "^wl.*" 2>/dev/null); then + cp /etc/wpa_supplicant/wpa_supplicant.conf $TARGETDIR/etc/wpa_supplicant + enable_service wpa_supplicant + fi + enable_service dhcpcd + elif [ -n "$_dev" -a "$_type" = "static" ]; then + # static IP through dhcpcd. + mv $TARGETDIR/etc/dhcpcd.conf $TARGETDIR/etc/dhcpcd.conf.orig + echo "# Static IP configuration set by the void-installer for $_dev." \ + >$TARGETDIR/etc/dhcpcd.conf + echo "interface $_dev" >>$TARGETDIR/etc/dhcpcd.conf + echo "static ip_address=$_ip" >>$TARGETDIR/etc/dhcpcd.conf + echo "static routers=$_gw" >>$TARGETDIR/etc/dhcpcd.conf + echo "static domain_name_servers=$_dns1 $_dns2" >>$TARGETDIR/etc/dhcpcd.conf + enable_service dhcpcd + fi + fi + + if [ -d $TARGETDIR/etc/sudoers.d ]; then + USERLOGIN="$(get_option USERLOGIN)" + if [ -z "$(echo $(get_option USERGROUPS) | grep -w wheel)" -a -n "$USERLOGIN" ]; then + # enable sudo for primary user USERLOGIN who is not member of wheel + echo "# Enable sudo for login '$USERLOGIN'" > "$TARGETDIR/etc/sudoers.d/$USERLOGIN" + echo "$USERLOGIN ALL=(ALL:ALL) ALL" >> "$TARGETDIR/etc/sudoers.d/$USERLOGIN" + else + # enable the sudoers entry for members of group wheel + echo "%wheel ALL=(ALL:ALL) ALL" > "$TARGETDIR/etc/sudoers.d/wheel" + fi + unset USERLOGIN + fi + + # clean up polkit rule - it's only useful in live systems + rm -f $TARGETDIR/etc/polkit-1/rules.d/void-live.rules + + # enable text console for grub if chosen + if [ "$(get_option TEXTCONSOLE)" = "1" ]; then + sed -i $TARGETDIR/etc/default/grub \ + -e 's|#\(GRUB_TERMINAL_INPUT\).*|\1=console|' \ + -e 's|#\(GRUB_TERMINAL_OUTPUT\).*|\1=console|' + fi + + # install bootloader. + set_bootloader + + # menu for enabling services + menu_services + + sync && sync && sync + + # unmount all filesystems. + umount_filesystems + + # installed successfully. + DIALOG --yesno "${BOLD}Void Linux has been installed successfully!${RESET}\n +Do you want to reboot the system?" ${YESNOSIZE} + if [ $? -eq 0 ]; then + shutdown -r now + else + return + fi +} + +menu_source() { + local src= + + DIALOG --title " Select installation source " \ + --menu "$MENULABEL" 8 70 0 \ + "Local" "Packages from ISO image" \ + "Network" "Base system only, downloaded from official repository" + case "$(cat $ANSWER)" in + "Local") src="local";; + "Network") src="net"; + if [ -z "$NETWORK_DONE" ]; then + if test_network; then + menu_network + fi + fi;; + *) return 1;; + esac + SOURCE_DONE=1 + set_option SOURCE $src +} + +menu_mirror() { + xmirror 2>$LOG && MIRROR_DONE=1 +} + +menu() { + local AFTER_HOSTNAME + if [ -z "$DEFITEM" ]; then + DEFITEM="Keyboard" + fi + + if xbps-uhelper arch | grep -qe '-musl$'; then + AFTER_HOSTNAME="Timezone" + DIALOG --default-item $DEFITEM \ + --extra-button --extra-label "Settings" \ + --title " Void Linux installation menu " \ + --menu "$MENULABEL" 10 70 0 \ + "Keyboard" "Set system keyboard" \ + "Network" "Set up the network" \ + "Source" "Set source installation" \ + "Mirror" "Select XBPS mirror" \ + "Hostname" "Set system hostname" \ + "Timezone" "Set system time zone" \ + "RootPassword" "Set system root password" \ + "UserAccount" "Set primary user name and password" \ + "BootLoader" "Set disk to install bootloader" \ + "Partition" "Partition disk(s)" \ + "Filesystems" "Configure filesystems and mount points" \ + "Install" "Start installation with saved settings" \ + "Exit" "Exit installation" + else + AFTER_HOSTNAME="Locale" + DIALOG --default-item $DEFITEM \ + --extra-button --extra-label "Settings" \ + --title " Void Linux installation menu " \ + --menu "$MENULABEL" 10 70 0 \ + "Keyboard" "Set system keyboard" \ + "Network" "Set up the network" \ + "Source" "Set source installation" \ + "Mirror" "Select XBPS mirror" \ + "Hostname" "Set system hostname" \ + "Locale" "Set system locale" \ + "Timezone" "Set system time zone" \ + "RootPassword" "Set system root password" \ + "UserAccount" "Set primary user name and password" \ + "BootLoader" "Set disk to install bootloader" \ + "Partition" "Partition disk(s)" \ + "Filesystems" "Configure filesystems and mount points" \ + "Install" "Start installation with saved settings" \ + "Exit" "Exit installation" + fi + + if [ $? -eq 3 ]; then + # Show settings + cp $CONF_FILE /tmp/conf_hidden.$$; + sed -i "s/^ROOTPASSWORD .*/ROOTPASSWORD <-hidden->/" /tmp/conf_hidden.$$ + sed -i "s/^USERPASSWORD .*/USERPASSWORD <-hidden->/" /tmp/conf_hidden.$$ + DIALOG --title "Saved settings for installation" --textbox /tmp/conf_hidden.$$ 14 60 + rm /tmp/conf_hidden.$$ + return + fi + + case $(cat $ANSWER) in + "Keyboard") menu_keymap && [ -n "$KEYBOARD_DONE" ] && DEFITEM="Network";; + "Network") menu_network && [ -n "$NETWORK_DONE" ] && DEFITEM="Source";; + "Source") menu_source && [ -n "$SOURCE_DONE" ] && DEFITEM="Mirror";; + "Mirror") menu_mirror && [ -n "$MIRROR_DONE" ] && DEFITEM="Hostname";; + "Hostname") menu_hostname && [ -n "$HOSTNAME_DONE" ] && DEFITEM="$AFTER_HOSTNAME";; + "Locale") menu_locale && [ -n "$LOCALE_DONE" ] && DEFITEM="Timezone";; + "Timezone") menu_timezone && [ -n "$TIMEZONE_DONE" ] && DEFITEM="RootPassword";; + "RootPassword") menu_rootpassword && [ -n "$ROOTPASSWORD_DONE" ] && DEFITEM="UserAccount";; + "UserAccount") menu_useraccount && [ -n "$USERLOGIN_DONE" ] && [ -n "$USERPASSWORD_DONE" ] \ + && DEFITEM="BootLoader";; + "BootLoader") menu_bootloader && [ -n "$BOOTLOADER_DONE" ] && DEFITEM="Partition";; + "Partition") menu_partitions && [ -n "$PARTITIONS_DONE" ] && DEFITEM="Filesystems";; + "Filesystems") menu_filesystems && [ -n "$FILESYSTEMS_DONE" ] && DEFITEM="Install";; + "Install") menu_install;; + "Exit") DIE;; + *) DIALOG --yesno "Abort Installation?" ${YESNOSIZE} && DIE + esac +} + +if ! command -v dialog >/dev/null; then + echo "ERROR: missing dialog command, exiting..." + exit 1 +fi + +if [ "$(id -u)" != "0" ]; then + echo "void-installer must run as root" 1>&2 + exit 1 +fi + +# +# main() +# +DIALOG --title "${BOLD}${RED} Enter the void ... ${RESET}" --msgbox "\n +Welcome to the Void Linux installation. A simple and minimal \ +Linux distribution made from scratch and built from the source package tree \ +available for XBPS, a new alternative binary package system.\n\n +The installation should be pretty straightforward. If you are in trouble \ +please join us at ${BOLD}#voidlinux${RESET} on ${BOLD}irc.libera.chat${RESET}.\n\n +${BOLD}https://www.voidlinux.org${RESET}\n\n" 16 80 + +while true; do + menu +done + +exit 0 +# vim: set ts=4 sw=4 et: diff --git a/includedir/usr/bin/void-installer.old b/includedir/usr/bin/void-installer.old new file mode 100644 index 0000000000000000000000000000000000000000..4c7c5decfc1b27f60a246b19c403975c8a6da486 --- /dev/null +++ b/includedir/usr/bin/void-installer.old @@ -0,0 +1,1577 @@ +#!/bin/bash +#- +# Copyright (c) 2012-2015 Juan Romero Pardines . +# 2012 Dave Elusive . +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +#- +echo "Update neko-repo, please accept RSA.." +xbps-install -S +# Make sure we don't inherit these from env. +SOURCE_DONE= +HOSTNAME_DONE= +KEYBOARD_DONE= +LOCALE_DONE= +TIMEZONE_DONE= +ROOTPASSWORD_DONE= +USERLOGIN_DONE= +USERPASSWORD_DONE= +USERNAME_DONE= +USERGROUPS_DONE= +USERACCOUNT_DONE= +BOOTLOADER_DONE= +PARTITIONS_DONE= +NETWORK_DONE= +FILESYSTEMS_DONE= +MIRROR_DONE= + +TARGETDIR=/mnt/target +LOG=/dev/tty8 +CONF_FILE=/tmp/.void-installer.conf +if [ ! -f $CONF_FILE ]; then + touch -f $CONF_FILE +fi +ANSWER=$(mktemp -t vinstall-XXXXXXXX || exit 1) +TARGET_FSTAB=$(mktemp -t vinstall-fstab-XXXXXXXX || exit 1) + +trap "DIE" INT TERM QUIT + +# disable printk +if [ -w /proc/sys/kernel/printk ]; then + echo 0 >/proc/sys/kernel/printk +fi + +# Detect if this is an EFI system. +if [ -e /sys/firmware/efi/systab ]; then + EFI_SYSTEM=1 + EFI_FW_BITS=$(cat /sys/firmware/efi/fw_platform_size) + if [ $EFI_FW_BITS -eq 32 ]; then + EFI_TARGET=i386-efi + else + EFI_TARGET=x86_64-efi + fi +fi + +# dialog colors +BLACK="\Z0" +RED="\Z1" +GREEN="\Z2" +YELLOW="\Z3" +BLUE="\Z4" +MAGENTA="\Z5" +CYAN="\Z6" +WHITE="\Z7" +BOLD="\Zb" +REVERSE="\Zr" +UNDERLINE="\Zu" +RESET="\Zn" + +# Properties shared per widget. +MENULABEL="${BOLD}Use UP and DOWN keys to navigate \ +menus. Use TAB to switch between buttons and ENTER to select.${RESET}" +MENUSIZE="14 60 0" +INPUTSIZE="8 60" +MSGBOXSIZE="8 70" +YESNOSIZE="$INPUTSIZE" +WIDGET_SIZE="10 70" + +DIALOG() { + rm -f $ANSWER + dialog --colors --keep-tite --no-shadow --no-mouse \ + --backtitle "${BOLD}${WHITE}Neko-Void installation -- https://www.voidlinux.org (@@JAVIERC_VERSION@@)${RESET}" \ + --cancel-label "Back" --aspect 20 "$@" 2>$ANSWER + return $? +} + +INFOBOX() { + # Note: dialog --infobox and --keep-tite don't work together + dialog --colors --no-shadow --no-mouse \ + --backtitle "${BOLD}${WHITE}Neko-Void installation -- https://www.voidlinux.org (@@JAVIERC_VERSION@@)${RESET}" \ + --title "${TITLE}" --aspect 20 --infobox "$@" +} + +DIE() { + rval=$1 + [ -z "$rval" ] && rval=0 + clear + rm -f $ANSWER $TARGET_FSTAB + # reenable printk + if [ -w /proc/sys/kernel/printk ]; then + echo 4 >/proc/sys/kernel/printk + fi + umount_filesystems + exit $rval +} + +set_option() { + if grep -Eq "^${1}.*" $CONF_FILE; then + sed -i -e "/^${1}.*/d" $CONF_FILE + fi + echo "${1} ${2}" >>$CONF_FILE +} + +get_option() { + echo $(grep -E "^${1}.*" $CONF_FILE|sed -e "s|${1}||") +} + +# ISO-639 language names for locales +iso639_language() { + case "$1" in + aa) echo "Afar" ;; + af) echo "Afrikaans" ;; + an) echo "Aragonese" ;; + ar) echo "Arabic" ;; + ast) echo "Asturian" ;; + be) echo "Belgian" ;; + bg) echo "Bulgarian" ;; + bhb) echo "Bhili" ;; + br) echo "Breton" ;; + bs) echo "Bosnian" ;; + ca) echo "Catalan" ;; + cs) echo "Czech" ;; + cy) echo "Welsh" ;; + da) echo "Danish" ;; + de) echo "German" ;; + el) echo "Greek" ;; + en) echo "English" ;; + es) echo "Spanish" ;; + et) echo "Estonian" ;; + eu) echo "Basque" ;; + fi) echo "Finnish" ;; + fo) echo "Faroese" ;; + fr) echo "French" ;; + ga) echo "Irish" ;; + gd) echo "Scottish Gaelic" ;; + gl) echo "Galician" ;; + gv) echo "Manx" ;; + he) echo "Hebrew" ;; + hr) echo "Croatian" ;; + hsb) echo "Upper Sorbian" ;; + hu) echo "Hungarian" ;; + id) echo "Indonesian" ;; + is) echo "Icelandic" ;; + it) echo "Italian" ;; + iw) echo "Hebrew" ;; + ja) echo "Japanese" ;; + ka) echo "Georgian" ;; + kk) echo "Kazakh" ;; + kl) echo "Kalaallisut" ;; + ko) echo "Korean" ;; + ku) echo "Kurdish" ;; + kw) echo "Cornish" ;; + lg) echo "Ganda" ;; + lt) echo "Lithuanian" ;; + lv) echo "Latvian" ;; + mg) echo "Malagasy" ;; + mi) echo "Maori" ;; + mk) echo "Macedonian" ;; + ms) echo "Malay" ;; + mt) echo "Maltese" ;; + nb) echo "Norwegian Bokmål" ;; + nl) echo "Dutch" ;; + nn) echo "Norwegian Nynorsk" ;; + oc) echo "Occitan" ;; + om) echo "Oromo" ;; + pl) echo "Polish" ;; + pt) echo "Portugese" ;; + ro) echo "Romanian" ;; + ru) echo "Russian" ;; + sk) echo "Slovak" ;; + sl) echo "Slovenian" ;; + so) echo "Somali" ;; + sq) echo "Albanian" ;; + st) echo "Southern Sotho" ;; + sv) echo "Swedish" ;; + tcy) echo "Tulu" ;; + tg) echo "Tajik" ;; + th) echo "Thai" ;; + tl) echo "Tagalog" ;; + tr) echo "Turkish" ;; + uk) echo "Ukrainian" ;; + uz) echo "Uzbek" ;; + wa) echo "Walloon" ;; + xh) echo "Xhosa" ;; + yi) echo "Yiddish" ;; + zh) echo "Chinese" ;; + zu) echo "Zulu" ;; + *) echo "$1" ;; + esac +} + +# ISO-3166 country codes for locales +iso3166_country() { + case "$1" in + AD) echo "Andorra" ;; + AE) echo "United Arab Emirates" ;; + AL) echo "Albania" ;; + AR) echo "Argentina" ;; + AT) echo "Austria" ;; + AU) echo "Australia" ;; + BA) echo "Bonsia and Herzegovina" ;; + BE) echo "Belgium" ;; + BG) echo "Bulgaria" ;; + BH) echo "Bahrain" ;; + BO) echo "Bolivia" ;; + BR) echo "Brazil" ;; + BW) echo "Botswana" ;; + BY) echo "Belarus" ;; + CA) echo "Canada" ;; + CH) echo "Switzerland" ;; + CL) echo "Chile" ;; + CN) echo "China" ;; + CO) echo "Colombia" ;; + CR) echo "Costa Rica" ;; + CY) echo "Cyprus" ;; + CZ) echo "Czech Republic" ;; + DE) echo "Germany" ;; + DJ) echo "Djibouti" ;; + DK) echo "Denmark" ;; + DO) echo "Dominican Republic" ;; + DZ) echo "Algeria" ;; + EC) echo "Ecuador" ;; + EE) echo "Estonia" ;; + EG) echo "Egypt" ;; + ES) echo "Spain" ;; + FI) echo "Finland" ;; + FO) echo "Faroe Islands" ;; + FR) echo "France" ;; + GB) echo "Great Britain" ;; + GE) echo "Georgia" ;; + GL) echo "Greenland" ;; + GR) echo "Greece" ;; + GT) echo "Guatemala" ;; + HK) echo "Hong Kong" ;; + HN) echo "Honduras" ;; + HR) echo "Croatia" ;; + HU) echo "Hungary" ;; + ID) echo "Indonesia" ;; + IE) echo "Ireland" ;; + IL) echo "Israel" ;; + IN) echo "India" ;; + IQ) echo "Iraq" ;; + IS) echo "Iceland" ;; + IT) echo "Italy" ;; + JO) echo "Jordan" ;; + JP) echo "Japan" ;; + KE) echo "Kenya" ;; + KR) echo "Korea, Republic of" ;; + KW) echo "Kuwait" ;; + KZ) echo "Kazakhstan" ;; + LB) echo "Lebanon" ;; + LT) echo "Lithuania" ;; + LU) echo "Luxembourg" ;; + LV) echo "Latvia" ;; + LY) echo "Libya" ;; + MA) echo "Morocco" ;; + MG) echo "Madagascar" ;; + MK) echo "Macedonia" ;; + MT) echo "Malta" ;; + MX) echo "Mexico" ;; + MY) echo "Malaysia" ;; + NI) echo "Nicaragua" ;; + NL) echo "Netherlands" ;; + NO) echo "Norway" ;; + NZ) echo "New Zealand" ;; + OM) echo "Oman" ;; + PA) echo "Panama" ;; + PE) echo "Peru" ;; + PH) echo "Philippines" ;; + PL) echo "Poland" ;; + PR) echo "Puerto Rico" ;; + PT) echo "Portugal" ;; + PY) echo "Paraguay" ;; + QA) echo "Qatar" ;; + RO) echo "Romania" ;; + RU) echo "Russian Federation" ;; + SA) echo "Saudi Arabia" ;; + SD) echo "Sudan" ;; + SE) echo "Sweden" ;; + SG) echo "Singapore" ;; + SI) echo "Slovenia" ;; + SK) echo "Slovakia" ;; + SO) echo "Somalia" ;; + SV) echo "El Salvador" ;; + SY) echo "Syria" ;; + TH) echo "Thailand" ;; + TJ) echo "Tajikistan" ;; + TN) echo "Tunisia" ;; + TR) echo "Turkey" ;; + TW) echo "Taiwan" ;; + UA) echo "Ukraine" ;; + UG) echo "Uganda" ;; + US) echo "United States of America" ;; + UY) echo "Uruguay" ;; + UZ) echo "Uzbekistan" ;; + VE) echo "Venezuela" ;; + YE) echo "Yemen" ;; + ZA) echo "South Africa" ;; + ZW) echo "Zimbabwe" ;; + *) echo "$1" ;; + esac +} + +show_disks() { + local dev size sectorsize gbytes + + # IDE + for dev in $(ls /sys/block|grep -E '^hd'); do + if [ "$(cat /sys/block/$dev/device/media)" = "disk" ]; then + # Find out nr sectors and bytes per sector; + echo "/dev/$dev" + size=$(cat /sys/block/$dev/size) + sectorsize=$(cat /sys/block/$dev/queue/hw_sector_size) + gbytes="$(($size * $sectorsize / 1024 / 1024 / 1024))" + echo "size:${gbytes}GB;sector_size:$sectorsize" + fi + done + # SATA/SCSI and Virtual disks (virtio) + for dev in $(ls /sys/block|grep -E '^([sv]|xv)d|mmcblk|nvme'); do + echo "/dev/$dev" + size=$(cat /sys/block/$dev/size) + sectorsize=$(cat /sys/block/$dev/queue/hw_sector_size) + gbytes="$(($size * $sectorsize / 1024 / 1024 / 1024))" + echo "size:${gbytes}GB;sector_size:$sectorsize" + done + # cciss(4) devices + for dev in $(ls /dev/cciss 2>/dev/null|grep -E 'c[0-9]d[0-9]$'); do + echo "/dev/cciss/$dev" + size=$(cat /sys/block/cciss\!$dev/size) + sectorsize=$(cat /sys/block/cciss\!$dev/queue/hw_sector_size) + gbytes="$(($size * $sectorsize / 1024 / 1024 / 1024))" + echo "size:${gbytes}GB;sector_size:$sectorsize" + done +} + +get_partfs() { + # Get fs type from configuration if available. This ensures + # that the user is shown the proper fs type if they install the system. + local part="$1" + local default="${2:-none}" + local fstype=$(grep "MOUNTPOINT ${part}" "$CONF_FILE"|awk '{print $3}') + echo "${fstype:-$default}" +} + +show_partitions() { + local dev fstype fssize p part + + set -- $(show_disks) + while [ $# -ne 0 ]; do + disk=$(basename $1) + shift 2 + # ATA/SCSI/SATA + for p in /sys/block/$disk/$disk*; do + if [ -d $p ]; then + part=$(basename $p) + fstype=$(lsblk -nfr /dev/$part|awk '{print $2}'|head -1) + [ "$fstype" = "iso9660" ] && continue + [ "$fstype" = "crypto_LUKS" ] && continue + [ "$fstype" = "LVM2_member" ] && continue + fssize=$(lsblk -nr /dev/$part|awk '{print $4}'|head -1) + echo "/dev/$part" + echo "size:${fssize:-unknown};fstype:$(get_partfs "/dev/$part")" + fi + done + done + # Device Mapper + for p in /dev/mapper/*; do + part=$(basename $p) + [ "${part}" = "live-rw" ] && continue + [ "${part}" = "live-base" ] && continue + [ "${part}" = "control" ] && continue + + fstype=$(lsblk -nfr $p|awk '{print $2}'|head -1) + fssize=$(lsblk -nr $p|awk '{print $4}'|head -1) + echo "${p}" + echo "size:${fssize:-unknown};fstype:$(get_partfs "$p")" + done + # Software raid (md) + for p in $(ls -d /dev/md* 2>/dev/null|grep '[0-9]'); do + part=$(basename $p) + if cat /proc/mdstat|grep -qw $part; then + fstype=$(lsblk -nfr /dev/$part|awk '{print $2}') + [ "$fstype" = "crypto_LUKS" ] && continue + [ "$fstype" = "LVM2_member" ] && continue + fssize=$(lsblk -nr /dev/$part|awk '{print $4}') + echo "$p" + echo "size:${fssize:-unknown};fstype:$(get_partfs "$p")" + fi + done + # cciss(4) devices + for part in $(ls /dev/cciss 2>/dev/null|grep -E 'c[0-9]d[0-9]p[0-9]+'); do + fstype=$(lsblk -nfr /dev/cciss/$part|awk '{print $2}') + [ "$fstype" = "crypto_LUKS" ] && continue + [ "$fstype" = "LVM2_member" ] && continue + fssize=$(lsblk -nr /dev/cciss/$part|awk '{print $4}') + echo "/dev/cciss/$part" + echo "size:${fssize:-unknown};fstype:$(get_partfs "/dev/cciss/$part")" + done + if [ -e /sbin/lvs ]; then + # LVM + lvs --noheadings|while read lvname vgname perms size; do + echo "/dev/mapper/${vgname}-${lvname}" + echo "size:${size};fstype:$(get_partfs "/dev/mapper/${vgname}-${lvname}" lvm)" + done + fi +} + +menu_filesystems() { + local dev fstype fssize mntpoint reformat + + while true; do + DIALOG --ok-label "Change" --cancel-label "Done" \ + --title " Select the partition to edit " --menu "$MENULABEL" \ + ${MENUSIZE} $(show_partitions) + [ $? -ne 0 ] && return + + dev=$(cat $ANSWER) + DIALOG --title " Select the filesystem type for $dev " \ + --menu "$MENULABEL" ${MENUSIZE} \ + "btrfs" "Oracle's Btrfs" \ + "ext2" "Linux ext2 (no journaling)" \ + "ext3" "Linux ext3 (journal)" \ + "ext4" "Linux ext4 (journal)" \ + "f2fs" "Flash-Friendly Filesystem" \ + "swap" "Linux swap" \ + "vfat" "FAT32" \ + "xfs" "SGI's XFS" + if [ $? -eq 0 ]; then + fstype=$(cat $ANSWER) + else + continue + fi + if [ "$fstype" != "swap" ]; then + DIALOG --inputbox "Please specify the mount point for $dev:" ${INPUTSIZE} + if [ $? -eq 0 ]; then + mntpoint=$(cat $ANSWER) + elif [ $? -eq 1 ]; then + continue + fi + else + mntpoint=swap + fi + DIALOG --yesno "Do you want to create a new filesystem on $dev?" ${YESNOSIZE} + if [ $? -eq 0 ]; then + reformat=1 + elif [ $? -eq 1 ]; then + reformat=0 + else + continue + fi + fssize=$(lsblk -nr $dev|awk '{print $4}') + set -- "$fstype" "$fssize" "$mntpoint" "$reformat" + if [ -n "$1" -a -n "$2" -a -n "$3" -a -n "$4" ]; then + local bdev=$(basename $dev) + local ddev=$(basename $(dirname $dev)) + if [ "$ddev" != "dev" ]; then + sed -i -e "/^MOUNTPOINT \/dev\/${ddev}\/${bdev}.*/d" $CONF_FILE + else + sed -i -e "/^MOUNTPOINT \/dev\/${bdev}.*/d" $CONF_FILE + fi + echo "MOUNTPOINT $dev $1 $2 $3 $4" >>$CONF_FILE + fi + done + FILESYSTEMS_DONE=1 +} + +menu_partitions() { + DIALOG --title " Select the disk to partition " \ + --menu "$MENULABEL" ${MENUSIZE} $(show_disks) + if [ $? -eq 0 ]; then + local device=$(cat $ANSWER) + + DIALOG --title " Select the software for partitioning " \ + --menu "$MENULABEL" ${MENUSIZE} \ + "cfdisk" "Easy to use" \ + "fdisk" "More advanced" + if [ $? -eq 0 ]; then + local software=$(cat $ANSWER) + + DIALOG --title "Modify Partition Table on $device" --msgbox "\n +${BOLD}${software} will be executed in disk $device.${RESET}\n\n +For BIOS systems, MBR or GPT partition tables are supported.\n +To use GPT on PC BIOS systems an empty partition of 1MB must be added\n +at the first 2GB of the disk with the TOGGLE \`bios_grub' enabled.\n +${BOLD}NOTE: you don't need this on EFI systems.${RESET}\n\n +For EFI systems GPT is mandatory and a FAT32 partition with at least\n +100MB must be created with the TOGGLE \`boot', this will be used as\n +EFI System Partition. This partition must have mountpoint as \`/boot/efi'.\n\n +At least 1 partition is required for the rootfs (/).\n +For swap, RAM*2 must be really enough. For / 600MB are required.\n\n +${BOLD}WARNING: /usr is not supported as a separate partition.${RESET}\n +${RESET}\n" 18 80 + if [ $? -eq 0 ]; then + while true; do + clear; $software $device; PARTITIONS_DONE=1 + break + done + else + return + fi + fi + fi +} + +menu_keymap() { + local _keymaps="$(find /usr/share/kbd/keymaps/ -type f -iname "*.map.gz" -printf "%f\n" | sed 's|.map.gz||g' | sort)" + local _KEYMAPS= + + for f in ${_keymaps}; do + _KEYMAPS="${_KEYMAPS} ${f} -" + done + while true; do + DIALOG --title " Select your keymap " --menu "$MENULABEL" 14 70 14 ${_KEYMAPS} + if [ $? -eq 0 ]; then + set_option KEYMAP "$(cat $ANSWER)" + loadkeys "$(cat $ANSWER)" + KEYBOARD_DONE=1 + break + else + return + fi + done +} + +set_keymap() { + local KEYMAP=$(get_option KEYMAP) + + if [ -f /etc/vconsole.conf ]; then + sed -i -e "s|KEYMAP=.*|KEYMAP=$KEYMAP|g" $TARGETDIR/etc/vconsole.conf + else + sed -i -e "s|#\?KEYMAP=.*|KEYMAP=$KEYMAP|g" $TARGETDIR/etc/rc.conf + fi +} + +menu_locale() { + local _locales="$(grep -E '\.UTF-8' /etc/default/libc-locales|awk '{print $1}'|sed -e 's/^#//')" + local LOCALES ISO639 ISO3166 + local TMPFILE=$(mktemp -t vinstall-XXXXXXXX || exit 1) + INFOBOX "Scanning locales ..." 4 60 + for f in ${_locales}; do + eval $(echo $f | awk 'BEGIN { FS="." } \ + { FS="_"; split($1, a); printf "ISO639=%s ISO3166=%s\n", a[1], a[2] }') + echo "$f|$(iso639_language $ISO639) ($(iso3166_country $ISO3166))|" >> $TMPFILE + done + clear + # Sort by ISO-639 language names + LOCALES=$(sort -t '|' -k 2 < $TMPFILE | xargs | sed -e's/| /|/g') + rm -f $TMPFILE + while true; do + (IFS="|"; DIALOG --title " Select your locale " --menu "$MENULABEL" 18 70 18 ${LOCALES}) + if [ $? -eq 0 ]; then + set_option LOCALE "$(cat $ANSWER)" + LOCALE_DONE=1 + break + else + return + fi + done +} + +set_locale() { + if [ -f $TARGETDIR/etc/default/libc-locales ]; then + local LOCALE="$(get_option LOCALE)" + : "${LOCALE:=C.UTF-8}" + sed -i -e "s|LANG=.*|LANG=$LOCALE|g" $TARGETDIR/etc/locale.conf + # Uncomment locale from /etc/default/libc-locales and regenerate it. + sed -e "/${LOCALE}/s/^\#//" -i $TARGETDIR/etc/default/libc-locales + echo "Running xbps-reconfigure -f glibc-locales ..." >$LOG + chroot $TARGETDIR xbps-reconfigure -f glibc-locales >$LOG 2>&1 + fi +} + +menu_timezone() { + local areas=(Africa America Antarctica Arctic Asia Atlantic Australia Europe Indian Pacific) + + local area locations location + while (IFS='|'; DIALOG ${area:+--default-item|"$area"} --title " Select area " --menu "$MENULABEL" 19 51 19 $(printf '%s||' "${areas[@]}")); do + area=$(cat $ANSWER) + read -a locations -d '\n' < <(find /usr/share/zoneinfo/$area -type f -printf '%P\n' | sort) + if (IFS='|'; DIALOG --title " Select location (${area}) " --menu "$MENULABEL" 19 51 19 $(printf '%s||' "${locations[@]//_/ }")); then + location=$(tr ' ' '_' < $ANSWER) + set_option TIMEZONE "$area/$location" + TIMEZONE_DONE=1 + return 0 + else + continue + fi + done + return 1 +} + +set_timezone() { + local TIMEZONE="$(get_option TIMEZONE)" + + ln -sf "/usr/share/zoneinfo/${TIMEZONE}" "${TARGETDIR}/etc/localtime" +} + +menu_hostname() { + while true; do + DIALOG --inputbox "Set the machine hostname:" ${INPUTSIZE} + if [ $? -eq 0 ]; then + set_option HOSTNAME "$(cat $ANSWER)" + HOSTNAME_DONE=1 + break + else + return + fi + done +} + +set_hostname() { + local hostname="$(get_option HOSTNAME)" + echo "${hostname:-void}" > $TARGETDIR/etc/hostname +} + +menu_rootpassword() { + local _firstpass _secondpass _again _desc + + while true; do + if [ -z "${_firstpass}" ]; then + _desc="Enter the root password" + else + _again=" again" + fi + DIALOG --insecure --passwordbox "${_desc}${_again}" ${INPUTSIZE} + if [ $? -eq 0 ]; then + if [ -z "${_firstpass}" ]; then + _firstpass="$(cat $ANSWER)" + else + _secondpass="$(cat $ANSWER)" + fi + if [ -n "${_firstpass}" -a -n "${_secondpass}" ]; then + if [ "${_firstpass}" != "${_secondpass}" ]; then + INFOBOX "Passwords do not match! Please enter again." 6 60 + unset _firstpass _secondpass _again + sleep 2 && clear && continue + fi + set_option ROOTPASSWORD "${_firstpass}" + ROOTPASSWORD_DONE=1 + break + fi + else + return + fi + done +} + +set_rootpassword() { + echo "root:$(get_option ROOTPASSWORD)" | chroot $TARGETDIR chpasswd -c SHA512 +} + +menu_useraccount() { + local _firstpass _secondpass _desc _again + local _groups _status _group _checklist + local _preset _userlogin + + while true; do + _preset=$(get_option USERLOGIN) + [ -z "$_preset" ] && _preset="void" + DIALOG --inputbox "Enter a primary login name:" ${INPUTSIZE} "$_preset" + if [ $? -eq 0 ]; then + _userlogin="$(cat $ANSWER)" + # based on useradd(8) § Caveats + if [ "${#_userlogin}" -le 32 ] && [[ "${_userlogin}" =~ ^[a-z_][a-z0-9_-]*[$]?$ ]]; then + set_option USERLOGIN "${_userlogin}" + USERLOGIN_DONE=1 + break + else + INFOBOX "Invalid login name! Please try again." 6 60 + unset _userlogin + sleep 2 && clear && continue + fi + else + return + fi + done + + while true; do + _preset=$(get_option USERNAME) + [ -z "$_preset" ] && _preset="Void User" + DIALOG --inputbox "Enter a display name for login '$(get_option USERLOGIN)' :" \ + ${INPUTSIZE} "$_preset" + if [ $? -eq 0 ]; then + set_option USERNAME "$(cat $ANSWER)" + USERNAME_DONE=1 + break + else + return + fi + done + + while true; do + if [ -z "${_firstpass}" ]; then + _desc="Enter the password for login '$(get_option USERLOGIN)'" + else + _again=" again" + fi + DIALOG --insecure --passwordbox "${_desc}${_again}" ${INPUTSIZE} + if [ $? -eq 0 ]; then + if [ -z "${_firstpass}" ]; then + _firstpass="$(cat $ANSWER)" + else + _secondpass="$(cat $ANSWER)" + fi + if [ -n "${_firstpass}" -a -n "${_secondpass}" ]; then + if [ "${_firstpass}" != "${_secondpass}" ]; then + INFOBOX "Passwords do not match! Please enter again." 6 60 + unset _firstpass _secondpass _again + sleep 2 && clear && continue + fi + set_option USERPASSWORD "${_firstpass}" + USERPASSWORD_DONE=1 + break + fi + else + return + fi + done + + _groups="wheel,audio,video,floppy,cdrom,optical,kvm,xbuilder" + while true; do + _desc="Select group membership for login '$(get_option USERLOGIN)':" + for _group in $(cat /etc/group); do + _gid="$(echo ${_group} | cut -d: -f3)" + _group="$(echo ${_group} | cut -d: -f1)" + _status="$(echo ${_groups} | grep -w ${_group})" + if [ -z "${_status}" ]; then + _status=off + else + _status=on + fi + # ignore the groups of root, existing users, and package groups + if [[ "${_gid}" -ge 1000 || "${_group}" = "_"* || "${_group}" = "root" ]]; then + continue + fi + if [ -z "${_checklist}" ]; then + _checklist="${_group} ${_group}:${_gid} ${_status}" + else + _checklist="${_checklist} ${_group} ${_group}:${_gid} ${_status}" + fi + done + DIALOG --no-tags --checklist "${_desc}" 20 60 18 ${_checklist} + if [ $? -eq 0 ]; then + set_option USERGROUPS $(cat $ANSWER | sed -e's| |,|g') + USERGROUPS_DONE=1 + break + else + return + fi + done +} + +set_useraccount() { + [ -z "$USERACCOUNT_DONE" ] && return + chroot $TARGETDIR useradd -m -G "$(get_option USERGROUPS)" \ + -c "$(get_option USERNAME)" "$(get_option USERLOGIN)" + echo "$(get_option USERLOGIN):$(get_option USERPASSWORD)" | \ + chroot $TARGETDIR chpasswd -c SHA512 +} + +menu_bootloader() { + while true; do + DIALOG --title " Select the disk to install the bootloader" \ + --menu "$MENULABEL" ${MENUSIZE} $(show_disks) none "Manage bootloader otherwise" + if [ $? -eq 0 ]; then + set_option BOOTLOADER "$(cat $ANSWER)" + BOOTLOADER_DONE=1 + break + else + return + fi + done + while true; do + DIALOG --yesno "Use a graphical terminal for the boot loader?" ${YESNOSIZE} + if [ $? -eq 0 ]; then + set_option TEXTCONSOLE 0 + break + elif [ $? -eq 1 ]; then + set_option TEXTCONSOLE 1 + break + else + return + fi + done +} + +set_bootloader() { + local dev=$(get_option BOOTLOADER) grub_args= + + if [ "$dev" = "none" ]; then return; fi + + # Check if it's an EFI system via efivars module. + if [ -n "$EFI_SYSTEM" ]; then + grub_args="--target=$EFI_TARGET --efi-directory=/boot/efi --bootloader-id=void_grub --recheck" + fi + echo "Running grub-install $grub_args $dev..." >$LOG + chroot $TARGETDIR grub-install $grub_args $dev >$LOG 2>&1 + if [ $? -ne 0 ]; then + DIALOG --msgbox "${BOLD}${RED}ERROR:${RESET} \ +failed to install GRUB to $dev!\nCheck $LOG for errors." ${MSGBOXSIZE} + DIE 1 + fi + echo "Running grub-mkconfig on $TARGETDIR..." >$LOG + chroot $TARGETDIR grub-mkconfig -o /boot/grub/grub.cfg >$LOG 2>&1 + if [ $? -ne 0 ]; then + DIALOG --msgbox "${BOLD}${RED}ERROR${RESET}: \ +failed to run grub-mkconfig!\nCheck $LOG for errors." ${MSGBOXSIZE} + DIE 1 + fi +} + +test_network() { + # Reset the global variable to ensure that network is accessible for this test. + NETWORK_DONE= + + rm -f otime && \ + xbps-uhelper fetch https://repo-default.voidlinux.org/current/otime >$LOG 2>&1 + local status=$? + rm -f otime + + if [ "$status" -eq 0 ]; then + DIALOG --msgbox "Network is working properly!" ${MSGBOXSIZE} + NETWORK_DONE=1 + return 1 + fi + if [ "$1" = "nm" ]; then + DIALOG --msgbox "Network Manager is enabled but network is inaccessible, please set it up externally with nmcli, nmtui, or the Network Manager tray applet." ${MSGBOXSIZE} + else + DIALOG --msgbox "Network is inaccessible, please set it up properly." ${MSGBOXSIZE} + fi +} + +configure_wifi() { + local dev="$1" ssid enc pass _wpasupconf=/etc/wpa_supplicant/wpa_supplicant.conf + + DIALOG --form "Wireless configuration for ${dev}\n(encryption type: wep or wpa)" 0 0 0 \ + "SSID:" 1 1 "" 1 16 30 0 \ + "Encryption:" 2 1 "" 2 16 4 3 \ + "Password:" 3 1 "" 3 16 63 0 || return 1 + readarray -t values <<<$(cat $ANSWER) + ssid="${values[0]}"; enc="${values[1]}"; pass="${values[2]}" + + if [ -z "$ssid" ]; then + DIALOG --msgbox "Invalid SSID." ${MSGBOXSIZE} + return 1 + elif [ -z "$enc" -o "$enc" != "wep" -a "$enc" != "wpa" ]; then + DIALOG --msgbox "Invalid encryption type (possible values: wep or wpa)." ${MSGBOXSIZE} + return 1 + elif [ -z "$pass" ]; then + DIALOG --msgbox "Invalid AP password." ${MSGBOXSIZE} + fi + + # reset the configuration to the default, if necessary + # otherwise backup the configuration + if [ -f ${_wpasupconf}.orig ]; then + cp -f ${_wpasupconf}.orig ${_wpasupconf} + else + cp -f ${_wpasupconf} ${_wpasupconf}.orig + fi + if [ "$enc" = "wep" ]; then + cat << EOF >> ${_wpasupconf} +network={ + ssid="$ssid" + wep_key0="$pass" + wep_tx_keyidx=0 + auth_alg=SHARED +} +EOF + else + wpa_passphrase "$ssid" "$pass" >> ${_wpasupconf} + fi + + sv restart wpa_supplicant + configure_net_dhcp $dev + return $? +} + +configure_net() { + local dev="$1" rval + + DIALOG --yesno "Do you want to use DHCP for $dev?" ${YESNOSIZE} + rval=$? + if [ $rval -eq 0 ]; then + configure_net_dhcp $dev + elif [ $rval -eq 1 ]; then + configure_net_static $dev + fi +} + +iface_setup() { + ip addr show dev $1 | grep -q -e 'inet ' -e 'inet6 ' + return $? +} + +configure_net_dhcp() { + local dev="$1" + + iface_setup $dev + if [ $? -eq 1 ]; then + sv restart dhcpcd 2>&1 | tee $LOG | \ + DIALOG --progressbox "Initializing $dev via DHCP..." ${WIDGET_SIZE} + if [ $? -ne 0 ]; then + DIALOG --msgbox "${BOLD}${RED}ERROR:${RESET} failed to run dhcpcd. See $LOG for details." ${MSGBOXSIZE} + return 1 + fi + export -f iface_setup + timeout 10s bash -c "while true; do iface_setup $dev; sleep 0.25; done" + if [ $? -eq 1 ]; then + DIALOG --msgbox "${BOLD}${RED}ERROR:${RESET} DHCP request failed for $dev. Check $LOG for errors." ${MSGBOXSIZE} + return 1 + fi + fi + test_network + if [ $? -eq 1 ]; then + set_option NETWORK "${dev} dhcp" + fi +} + +configure_net_static() { + local ip gw dns1 dns2 dev=$1 + + DIALOG --form "Static IP configuration for $dev:" 0 0 0 \ + "IP address:" 1 1 "192.168.0.2" 1 21 20 0 \ + "Gateway:" 2 1 "192.168.0.1" 2 21 20 0 \ + "DNS Primary" 3 1 "8.8.8.8" 3 21 20 0 \ + "DNS Secondary" 4 1 "8.8.4.4" 4 21 20 0 || return 1 + + set -- $(cat $ANSWER) + ip=$1; gw=$2; dns1=$3; dns2=$4 + echo "running: ip link set dev $dev up" >$LOG + ip link set dev $dev up >$LOG 2>&1 + if [ $? -ne 0 ]; then + DIALOG --msgbox "${BOLD}${RED}ERROR:${RESET} Failed to bring $dev interface." ${MSGBOXSIZE} + return 1 + fi + echo "running: ip addr add $ip dev $dev" >$LOG + ip addr add $ip dev $dev >$LOG 2>&1 + if [ $? -ne 0 ]; then + DIALOG --msgbox "${BOLD}${RED}ERROR:${RESET} Failed to set ip to the $dev interface." ${MSGBOXSIZE} + return 1 + fi + ip route add default via $gw >$LOG 2>&1 + if [ $? -ne 0 ]; then + DIALOG --msgbox "${BOLD}${RED}ERROR:${RESET} failed to setup your gateway." ${MSGBOXSIZE} + return 1 + fi + echo "nameserver $dns1" >/etc/resolv.conf + echo "nameserver $dns2" >>/etc/resolv.conf + test_network + if [ $? -eq 1 ]; then + set_option NETWORK "${dev} static $ip $gw $dns1 $dns2" + fi +} + +menu_network() { + local dev addr f DEVICES + + if [ -e /var/service/NetworkManager ]; then + test_network nm + return + fi + + for f in $(ls /sys/class/net); do + [ "$f" = "lo" ] && continue + addr=$(cat /sys/class/net/$f/address) + DEVICES="$DEVICES $f $addr" + done + DIALOG --title " Select the network interface to configure " \ + --menu "$MENULABEL" ${MENUSIZE} ${DEVICES} + if [ $? -eq 0 ]; then + dev=$(cat $ANSWER) + if $(echo $dev|egrep -q "^wl.*" 2>/dev/null); then + configure_wifi $dev + else + configure_net $dev + fi + fi +} + +validate_useraccount() { + # don't check that USERNAME has been set because it can be empty + local USERLOGIN=$(get_option USERLOGIN) + local USERPASSWORD=$(get_option USERPASSWORD) + local USERGROUPS=$(get_option USERGROUPS) + + if [ -n "$USERLOGIN" ] && [ -n "$USERPASSWORD" ] && [ -n "$USERGROUPS" ]; then + USERACCOUNT_DONE=1 + fi +} + +validate_filesystems() { + local mnts dev size fstype mntpt mkfs rootfound fmt + local usrfound efi_system_partition + local bootdev=$(get_option BOOTLOADER) + + unset TARGETFS + mnts=$(grep -E '^MOUNTPOINT.*' $CONF_FILE) + set -- ${mnts} + while [ $# -ne 0 ]; do + fmt="" + dev=$2; fstype=$3; size=$4; mntpt="$5"; mkfs=$6 + shift 6 + + if [ "$mntpt" = "/" ]; then + rootfound=1 + elif [ "$mntpt" = "/usr" ]; then + usrfound=1 + elif [ "$fstype" = "vfat" -a "$mntpt" = "/boot/efi" ]; then + efi_system_partition=1 + fi + if [ "$mkfs" -eq 1 ]; then + fmt="NEW FILESYSTEM: " + fi + if [ -z "$TARGETFS" ]; then + TARGETFS="${fmt}$dev ($size) mounted on $mntpt as ${fstype}\n" + else + TARGETFS="${TARGETFS}${fmt}${dev} ($size) mounted on $mntpt as ${fstype}\n" + fi + done + if [ -z "$rootfound" ]; then + DIALOG --msgbox "${BOLD}${RED}ERROR:${RESET} \ +the mount point for the root filesystem (/) has not yet been configured." ${MSGBOXSIZE} + return 1 + elif [ -n "$usrfound" ]; then + DIALOG --msgbox "${BOLD}${RED}ERROR:${RESET} \ +/usr mount point has been configured but is not supported, please remove it to continue." ${MSGBOXSIZE} + return 1 + elif [ -n "$EFI_SYSTEM" -a "$bootdev" != "none" -a -z "$efi_system_partition" ]; then + DIALOG --msgbox "${BOLD}${RED}ERROR:${RESET} \ +The EFI System Partition has not yet been configured, please create it\n +as FAT32, mountpoint /boot/efi and at least with 100MB of size." ${MSGBOXSIZE} + return 1 + fi + FILESYSTEMS_DONE=1 +} + +create_filesystems() { + local mnts dev mntpt fstype fspassno mkfs size rv uuid + + mnts=$(grep -E '^MOUNTPOINT.*' $CONF_FILE | sort -k 5) + set -- ${mnts} + while [ $# -ne 0 ]; do + dev=$2; fstype=$3; mntpt="$5"; mkfs=$6 + shift 6 + + # swap partitions + if [ "$fstype" = "swap" ]; then + swapoff $dev >/dev/null 2>&1 + if [ "$mkfs" -eq 1 ]; then + mkswap $dev >$LOG 2>&1 + if [ $? -ne 0 ]; then + DIALOG --msgbox "${BOLD}${RED}ERROR:${RESET} \ +failed to create swap on ${dev}!\ncheck $LOG for errors." ${MSGBOXSIZE} + DIE 1 + fi + fi + swapon $dev >$LOG 2>&1 + if [ $? -ne 0 ]; then + DIALOG --msgbox "${BOLD}${RED}ERROR:${RESET} \ +failed to activate swap on $dev!\ncheck $LOG for errors." ${MSGBOXSIZE} + DIE 1 + fi + # Add entry for target fstab + uuid=$(blkid -o value -s UUID "$dev") + echo "UUID=$uuid none swap defaults 0 0" >>$TARGET_FSTAB + continue + fi + + if [ "$mkfs" -eq 1 ]; then + case "$fstype" in + btrfs) MKFS="mkfs.btrfs -f"; modprobe btrfs >$LOG 2>&1;; + ext2) MKFS="mke2fs -F"; modprobe ext2 >$LOG 2>&1;; + ext3) MKFS="mke2fs -F -j"; modprobe ext3 >$LOG 2>&1;; + ext4) MKFS="mke2fs -F -t ext4"; modprobe ext4 >$LOG 2>&1;; + f2fs) MKFS="mkfs.f2fs -f"; modprobe f2fs >$LOG 2>&1;; + vfat) MKFS="mkfs.vfat -F32"; modprobe vfat >$LOG 2>&1;; + xfs) MKFS="mkfs.xfs -f -i sparse=0"; modprobe xfs >$LOG 2>&1;; + esac + TITLE="Check $LOG for details ..." + INFOBOX "Creating filesystem $fstype on $dev for $mntpt ..." 8 60 + echo "Running $MKFS $dev..." >$LOG + $MKFS $dev >$LOG 2>&1; rv=$? + if [ $rv -ne 0 ]; then + DIALOG --msgbox "${BOLD}${RED}ERROR:${RESET} \ +failed to create filesystem $fstype on $dev!\ncheck $LOG for errors." ${MSGBOXSIZE} + DIE 1 + fi + fi + # Mount rootfs the first one. + [ "$mntpt" != "/" ] && continue + mkdir -p $TARGETDIR + echo "Mounting $dev on $mntpt ($fstype)..." >$LOG + mount -t $fstype $dev $TARGETDIR >$LOG 2>&1 + if [ $? -ne 0 ]; then + DIALOG --msgbox "${BOLD}${RED}ERROR:${RESET} \ +failed to mount $dev on ${mntpt}! check $LOG for errors." ${MSGBOXSIZE} + DIE 1 + fi + # Add entry to target fstab + uuid=$(blkid -o value -s UUID "$dev") + if [ "$fstype" = "f2fs" -o "$fstype" = "btrfs" -o "$fstype" = "xfs" ]; then + fspassno=0 + else + fspassno=1 + fi + echo "UUID=$uuid $mntpt $fstype defaults 0 $fspassno" >>$TARGET_FSTAB + done + + # mount all filesystems in target rootfs + mnts=$(grep -E '^MOUNTPOINT.*' $CONF_FILE | sort -k 5) + set -- ${mnts} + while [ $# -ne 0 ]; do + dev=$2; fstype=$3; mntpt="$5" + shift 6 + [ "$mntpt" = "/" -o "$fstype" = "swap" ] && continue + mkdir -p ${TARGETDIR}${mntpt} + echo "Mounting $dev on $mntpt ($fstype)..." >$LOG + mount -t $fstype $dev ${TARGETDIR}${mntpt} >$LOG 2>&1 + if [ $? -ne 0 ]; then + DIALOG --msgbox "${BOLD}${RED}ERROR:${RESET} \ +failed to mount $dev on $mntpt! check $LOG for errors." ${MSGBOXSIZE} + DIE + fi + # Add entry to target fstab + uuid=$(blkid -o value -s UUID "$dev") + if [ "$fstype" = "f2fs" -o "$fstype" = "btrfs" -o "$fstype" = "xfs" ]; then + fspassno=0 + else + fspassno=2 + fi + echo "UUID=$uuid $mntpt $fstype defaults 0 $fspassno" >>$TARGET_FSTAB + done +} + +mount_filesystems() { + for f in sys proc dev; do + [ ! -d $TARGETDIR/$f ] && mkdir $TARGETDIR/$f + echo "Mounting $TARGETDIR/$f..." >$LOG + mount --rbind /$f $TARGETDIR/$f >$LOG 2>&1 + done +} + +umount_filesystems() { + local mnts="$(grep -E '^MOUNTPOINT.*swap.*$' $CONF_FILE | sort -r -k 5)" + set -- ${mnts} + while [ $# -ne 0 ]; do + local dev=$2; local fstype=$3 + shift 6 + if [ "$fstype" = "swap" ]; then + echo "Disabling swap space on $dev..." >$LOG + swapoff $dev >$LOG 2>&1 + continue + fi + done + echo "Unmounting $TARGETDIR..." >$LOG + umount -R $TARGETDIR >$LOG 2>&1 +} + +log_and_count() { + local progress whole tenth + while read line; do + echo "$line" >$LOG + copy_count=$((copy_count + 1)) + progress=$((1000 * copy_count / copy_total)) + if [ "$progress" != "$copy_progress" ]; then + whole=$((progress / 10)) + tenth=$((progress % 10)) + printf "Progress: %d.%d%% (%d of %d files)\n" $whole $tenth $copy_count $copy_total + copy_progress=$progress + fi + done +} + +copy_rootfs() { + local tar_in="--create --one-file-system --xattrs" + TITLE="Check $LOG for details ..." + INFOBOX "Counting files, please be patient ..." 4 60 + copy_total=$(tar ${tar_in} -v -f /dev/null / 2>/dev/null | wc -l) + export copy_total copy_count=0 copy_progress= + clear + tar ${tar_in} -f - / 2>/dev/null | \ + tar --extract --xattrs --xattrs-include='*' --preserve-permissions -v -f - -C $TARGETDIR | \ + log_and_count | \ + DIALOG --title "${TITLE}" \ + --progressbox "Copying live image to target rootfs." 5 60 + if [ $? -ne 0 ]; then + DIE 1 + fi + unset copy_total copy_count copy_percent +} + +install_packages() { + local _grub= _syspkg= + + if [ -n "$EFI_SYSTEM" ]; then + if [ $EFI_FW_BITS -eq 32 ]; then + _grub="grub-i386-efi" + else + _grub="grub-x86_64-efi" + fi + else + _grub="grub" + fi + + _syspkg="base-system" + + mkdir -p $TARGETDIR/var/db/xbps/keys $TARGETDIR/usr/share + cp -a /usr/share/xbps.d $TARGETDIR/usr/share/ + cp /var/db/xbps/keys/*.plist $TARGETDIR/var/db/xbps/keys + if [ -n "$MIRROR_DONE" ]; then + mkdir -p $TARGETDIR/etc + cp -a /etc/xbps.d $TARGETDIR/etc + fi + mkdir -p $TARGETDIR/boot/grub + + _arch=$(xbps-uhelper arch) + + stdbuf -oL env XBPS_ARCH=${_arch} \ + xbps-install -r $TARGETDIR -SyU ${_syspkg} ${_grub} 2>&1 | \ + DIALOG --title "Installing base system packages..." \ + --programbox 24 80 + if [ $? -ne 0 ]; then + DIE 1 + fi + xbps-reconfigure -r $TARGETDIR -f base-files >/dev/null 2>&1 + chroot $TARGETDIR xbps-reconfigure -a +} + +enable_service() { + ln -sf /etc/sv/$1 $TARGETDIR/etc/runit/runsvdir/default/$1 +} + +menu_install() { + ROOTPASSWORD_DONE="$(get_option ROOTPASSWORD)" + BOOTLOADER_DONE="$(get_option BOOTLOADER)" + + if [ -z "$ROOTPASSWORD_DONE" ]; then + DIALOG --msgbox "${BOLD}The root password has not been configured, \ +please do so before starting the installation.${RESET}" ${MSGBOXSIZE} + return 1 + elif [ -z "$BOOTLOADER_DONE" ]; then + DIALOG --msgbox "${BOLD}The disk to install the bootloader has not been \ +configured, please do so before starting the installation.${RESET}" ${MSGBOXSIZE} + return 1 + fi + + # Validate filesystems after making sure bootloader is done, + # so that specific checks can be made based on the selection + validate_filesystems || return 1 + + if [ -z "$FILESYSTEMS_DONE" ]; then + DIALOG --msgbox "${BOLD}Required filesystems were not configured, \ +please do so before starting the installation.${RESET}" ${MSGBOXSIZE} + return 1 + fi + + # Validate useraccount. All parameters must be set (name, password, login name, groups). + validate_useraccount + + if [ -z "$USERACCOUNT_DONE" ]; then + DIALOG --yesno "${BOLD}The user account is not set up properly.${RESET}\n\n +${BOLD}${RED}WARNING: no user will be created. You will only be able to login \ +with the root user in your new system.${RESET}\n\n +${BOLD}Do you want to continue?${RESET}" 10 60 || return + fi + + DIALOG --yesno "${BOLD}The following operations will be executed:${RESET}\n\n +${BOLD}${TARGETFS}${RESET}\n +${BOLD}${RED}WARNING: data on partitions will be COMPLETELY DESTROYED for new \ +filesystems.${RESET}\n\n +${BOLD}Do you want to continue?${RESET}" 20 80 || return + unset TARGETFS + + # Create and mount filesystems + create_filesystems + + SOURCE_DONE="$(get_option SOURCE)" + # If source not set use defaults. + if [ "$(get_option SOURCE)" = "local" -o -z "$SOURCE_DONE" ]; then + copy_rootfs + . /etc/default/live.conf + rm -f $TARGETDIR/etc/motd + rm -f $TARGETDIR/etc/issue + rm -f $TARGETDIR/usr/sbin/void-installer + # Remove modified sddm.conf to let sddm use the defaults. + rm -f $TARGETDIR/etc/sddm.conf + # Remove live user. + echo "Removing $USERNAME live user from targetdir ..." >$LOG + chroot $TARGETDIR userdel -r $USERNAME >$LOG 2>&1 + rm -f $TARGETDIR/etc/sudoers.d/99-void-live + sed -i "s,GETTY_ARGS=\"--noclear -a $USERNAME\",GETTY_ARGS=\"--noclear\",g" $TARGETDIR/etc/sv/agetty-tty1/conf + TITLE="Check $LOG for details ..." + INFOBOX "Rebuilding initramfs for target ..." 4 60 + echo "Rebuilding initramfs for target ..." >$LOG + # mount required fs + mount_filesystems + chroot $TARGETDIR dracut --no-hostonly --add-drivers "ahci" --force >>$LOG 2>&1 + INFOBOX "Removing temporary packages from target ..." 4 60 + echo "Removing temporary packages from target ..." >$LOG + TO_REMOVE="dialog xtools-minimal xmirror" + # only remove espeakup and brltty if it wasn't enabled in the live environment + if ! [ -e "/var/service/espeakup" ]; then + TO_REMOVE+=" espeakup" + fi + if ! [ -e "/var/service/brltty" ]; then + TO_REMOVE+=" brltty" + fi + xbps-remove -r $TARGETDIR -Ry $TO_REMOVE >>$LOG 2>&1 + rmdir $TARGETDIR/mnt/target + else + # mount required fs + mount_filesystems + # network install, use packages. + install_packages + fi + + INFOBOX "Applying installer settings..." 4 60 + + # copy target fstab. + install -Dm644 $TARGET_FSTAB $TARGETDIR/etc/fstab + # Mount /tmp as tmpfs. + echo "tmpfs /tmp tmpfs defaults,nosuid,nodev 0 0" >> $TARGETDIR/etc/fstab + + + # set up keymap, locale, timezone, hostname, root passwd and user account. + set_keymap + set_locale + set_timezone + set_hostname + set_rootpassword + set_useraccount + + # Copy /etc/skel files for root. + cp $TARGETDIR/etc/skel/.[bix]* $TARGETDIR/root + + NETWORK_DONE="$(get_option NETWORK)" + # network settings for target + if [ -n "$NETWORK_DONE" ]; then + local net="$(get_option NETWORK)" + set -- ${net} + local _dev="$1" _type="$2" _ip="$3" _gw="$4" _dns1="$5" _dns2="$6" + if [ -z "$_type" ]; then + # network type empty??!!! + : + elif [ "$_type" = "dhcp" ]; then + if $(echo $_dev|egrep -q "^wl.*" 2>/dev/null); then + cp /etc/wpa_supplicant/wpa_supplicant.conf $TARGETDIR/etc/wpa_supplicant + ln -sf /etc/sv/wpa_supplicant $TARGETDIR/etc/runit/runsvdir/default/wpa_supplicant + fi + enable_service dhcpcd + elif [ -n "$_dev" -a "$_type" = "static" ]; then + # static IP through dhcpcd. + mv $TARGETDIR/etc/dhcpcd.conf $TARGETDIR/etc/dhcpcd.conf.orig + echo "# Static IP configuration set by the void-installer for $_dev." \ + >$TARGETDIR/etc/dhcpcd.conf + echo "interface $_dev" >>$TARGETDIR/etc/dhcpcd.conf + echo "static ip_address=$_ip" >>$TARGETDIR/etc/dhcpcd.conf + echo "static routers=$_gw" >>$TARGETDIR/etc/dhcpcd.conf + echo "static domain_name_servers=$_dns1 $_dns2" >>$TARGETDIR/etc/dhcpcd.conf + enable_service dhcpcd + fi + fi + + if [ -d $TARGETDIR/etc/sudoers.d ]; then + USERLOGIN="$(get_option USERLOGIN)" + + #copy config of anon - @javierc + cp -rf /var/lib/flatpak "$TARGETDIR/var/lib/flatpak" + mkdir -p "$TARGETDIR/etc/xbps.d/" + cp -rf /etc/xbps.d/* "$TARGETDIR/etc/xbps.d/" + cp -rf /home/anon/.profile "$TARGETDIR/home/$USERLOGIN/" + cp -rf /home/anon/.icons "$TARGETDIR/home/$USERLOGIN/" + cp -rf /home/anon/.themes "$TARGETDIR/home/$USERLOGIN/" + #AUTOLOGIN + if grep -q "^autologin-user=" /etc/lightdm/lightdm.conf; then + sed -i "s/^autologin-user=.*/autologin-user=$USERLOGIN/" "$TARGETDIR/etc/lightdm/lightdm.conf" + else + # Si no existe, añadirlo después de [Seat:*] + sed -i "/^\[Seat:\*\]/a autologin-user=$USERLOGIN" "$TARGETDIR/etc/lightdm/lightdm.conf" + fi + + + if [ -z "$(echo $(get_option USERGROUPS) | grep -w wheel)" -a -n "$USERLOGIN" ]; then + # enable sudo for primary user USERLOGIN who is not member of wheel + echo "# Enable sudo for login '$USERLOGIN'" > "$TARGETDIR/etc/sudoers.d/$USERLOGIN" + echo "$USERLOGIN ALL=(ALL:ALL) ALL" >> "$TARGETDIR/etc/sudoers.d/$USERLOGIN" + else + # enable the sudoers entry for members of group wheel + echo "%wheel ALL=(ALL:ALL) ALL" > "$TARGETDIR/etc/sudoers.d/wheel" + fi + unset USERLOGIN + fi + + # clean up polkit rule - it's only useful in live systems + rm -f $TARGETDIR/etc/polkit-1/rules.d/void-live.rules + + # enable text console for grub if chosen + if [ "$(get_option TEXTCONSOLE)" = "1" ]; then + sed -i $TARGETDIR/etc/default/grub \ + -e 's|#\(GRUB_TERMINAL_INPUT\).*|\1=console|' \ + -e 's|#\(GRUB_TERMINAL_OUTPUT\).*|\1=console|' + fi + + # install bootloader. + set_bootloader + sync && sync && sync + + # unmount all filesystems. + umount_filesystems + + # installed successfully. + DIALOG --yesno "${BOLD}Neko-Void has been installed successfully!${RESET}\n +Do you want to reboot the system?" ${YESNOSIZE} + if [ $? -eq 0 ]; then + shutdown -r now + else + return + fi +} + +menu_source() { + local src= + + DIALOG --title " Select installation source " \ + --menu "$MENULABEL" 8 70 0 \ + "Local" "Packages from ISO image" \ + "Network" "Base system only, downloaded from official repository" + case "$(cat $ANSWER)" in + "Local") src="local";; + "Network") src="net"; + if [ -z "$NETWORK_DONE" ]; then + if test_network; then + menu_network + fi + fi;; + *) return 1;; + esac + SOURCE_DONE=1 + set_option SOURCE $src +} + +menu_mirror() { + xmirror 2>$LOG && MIRROR_DONE=1 +} + +menu() { + local AFTER_HOSTNAME + if [ -z "$DEFITEM" ]; then + DEFITEM="Keyboard" + fi + + if xbps-uhelper arch | grep -qe '-musl$'; then + AFTER_HOSTNAME="Timezone" + DIALOG --default-item $DEFITEM \ + --extra-button --extra-label "Settings" \ + --title " Void Linux installation menu " \ + --menu "$MENULABEL" 10 70 0 \ + "Keyboard" "Set system keyboard" \ + "Network" "Set up the network" \ + "Source" "Set source installation" \ + "Mirror" "Select XBPS mirror" \ + "Hostname" "Set system hostname" \ + "Timezone" "Set system time zone" \ + "RootPassword" "Set system root password" \ + "UserAccount" "Set primary user name and password" \ + "BootLoader" "Set disk to install bootloader" \ + "Partition" "Partition disk(s)" \ + "Filesystems" "Configure filesystems and mount points" \ + "Install" "Start installation with saved settings" \ + "Exit" "Exit installation" + else + AFTER_HOSTNAME="Locale" + DIALOG --default-item $DEFITEM \ + --extra-button --extra-label "Settings" \ + --title " Void Linux installation menu " \ + --menu "$MENULABEL" 10 70 0 \ + "Keyboard" "Set system keyboard" \ + "Network" "Set up the network" \ + "Source" "Set source installation" \ + "Mirror" "Select XBPS mirror" \ + "Hostname" "Set system hostname" \ + "Locale" "Set system locale" \ + "Timezone" "Set system time zone" \ + "RootPassword" "Set system root password" \ + "UserAccount" "Set primary user name and password" \ + "BootLoader" "Set disk to install bootloader" \ + "Partition" "Partition disk(s)" \ + "Filesystems" "Configure filesystems and mount points" \ + "Install" "Start installation with saved settings" \ + "Exit" "Exit installation" + fi + + if [ $? -eq 3 ]; then + # Show settings + cp $CONF_FILE /tmp/conf_hidden.$$; + sed -i "s/^ROOTPASSWORD.*/ROOTPASSWORD <-hidden->/" /tmp/conf_hidden.$$ + sed -i "s/^USERPASSWORD.*/USERPASSWORD <-hidden->/" /tmp/conf_hidden.$$ + DIALOG --title "Saved settings for installation" --textbox /tmp/conf_hidden.$$ 14 60 + rm /tmp/conf_hidden.$$ + return + fi + + case $(cat $ANSWER) in + "Keyboard") menu_keymap && [ -n "$KEYBOARD_DONE" ] && DEFITEM="Network";; + "Network") menu_network && [ -n "$NETWORK_DONE" ] && DEFITEM="Source";; + "Source") menu_source && [ -n "$SOURCE_DONE" ] && DEFITEM="Mirror";; + "Mirror") menu_mirror && [ -n "$MIRROR_DONE" ] && DEFITEM="Hostname";; + "Hostname") menu_hostname && [ -n "$HOSTNAME_DONE" ] && DEFITEM="$AFTER_HOSTNAME";; + "Locale") menu_locale && [ -n "$LOCALE_DONE" ] && DEFITEM="Timezone";; + "Timezone") menu_timezone && [ -n "$TIMEZONE_DONE" ] && DEFITEM="RootPassword";; + "RootPassword") menu_rootpassword && [ -n "$ROOTPASSWORD_DONE" ] && DEFITEM="UserAccount";; + "UserAccount") menu_useraccount && [ -n "$USERLOGIN_DONE" ] && [ -n "$USERPASSWORD_DONE" ] \ + && DEFITEM="BootLoader";; + "BootLoader") menu_bootloader && [ -n "$BOOTLOADER_DONE" ] && DEFITEM="Partition";; + "Partition") menu_partitions && [ -n "$PARTITIONS_DONE" ] && DEFITEM="Filesystems";; + "Filesystems") menu_filesystems && [ -n "$FILESYSTEMS_DONE" ] && DEFITEM="Install";; + "Install") menu_install;; + "Exit") DIE;; + *) DIALOG --yesno "Abort Installation?" ${YESNOSIZE} && DIE + esac +} + +if ! command -v dialog >/dev/null; then + echo "ERROR: missing dialog command, exiting..." + exit 1 +fi + +if [ "$(id -u)" != "0" ]; then + echo "void-installer must run as root" 1>&2 + exit 1 +fi + +# +# main() +# +DIALOG --title "${BOLD}${RED} Enter the void ... ${RESET}" --msgbox "\n +Welcome to the Neko-Void installation. A simple and minimal \ +Linux distribution made from scratch and built from the source package tree \ +available for XBPS, a new alternative binary package system.\n\n +The installation should be pretty straightforward. If you are in trouble \ +please join us at ${BOLD}#voidlinux${RESET} on ${BOLD}irc.libera.chat${RESET}.\n\n +${BOLD}https://www.voidlinux.org${RESET}\n\n" 16 80 + +while true; do + menu +done + +exit 0 +# vim: set ts=4 sw=4 et: diff --git a/includedir/usr/share/rice/backup_dconf_completo.txt b/includedir/usr/share/rice/backup_dconf_completo.txt new file mode 100644 index 0000000000000000000000000000000000000000..402c60c9346fe793f8e3d39278e84fd4deb35acd --- /dev/null +++ b/includedir/usr/share/rice/backup_dconf_completo.txt @@ -0,0 +1,261 @@ +[ca/desrt/dconf-editor] +relocatable-schemas-user-paths={'ca.desrt.dconf-editor.Demo.Relocatable': '/ca/desrt/dconf-editor/Demo/relocatable/', 'org.mate.panel.applet.workspace-switcher': '/org/mate/panel/objects/workspace-switcher/prefs/', 'org.mate.panel.applet.clock': '/org/mate/panel/objects/clock/prefs/', 'org.mate.panel.applet.notification-area': '/org/mate/panel/objects/notification-area/prefs/', 'org.mate.panel.applet.window-list-previews': '/org/mate/panel/objects/window-list/prefs/', 'org.mate.panel.applet.window-list-previews': '/org/mate/panel/objects/object-0/prefs/', 'org.mate.panel.applet.workspace-switcher': '/org/mate/panel/objects/object-2/prefs/', 'org.mate.panel.applet.clock': '/org/mate/panel/objects/object-3/prefs/', 'org.mate.panel.applet.notification-area': '/org/mate/panel/objects/object-4/prefs/', 'org.mate.panel.applet.window-list-previews': '/org/mate/panel/objects/object-1/prefs/'} + +[org/gnome/desktop/interface] +cursor-blink=true +cursor-blink-time=1200 +cursor-size=0 +cursor-theme='' +font-name='Sans 10' +gtk-key-theme='' +gtk-theme='Dracula' +icon-theme='Tela-dracula-dark' + +[org/gnome/desktop/peripherals/mouse] +double-click=400 +drag-threshold=8 + +[org/gnome/desktop/sound] +event-sounds=false +input-feedback-sounds=false +theme-name='default' + +[org/gnome/desktop/wm/preferences] +action-middle-click-titlebar='lower' +button-layout='icon,menu:minimize,maximize,close' + +[org/gnome/gnome-screenshot] +delay=0 +include-pointer=false +last-save-directory='file:///home/javierc/Pictures' + +[org/gtk/settings/color-chooser] +custom-colors=[(0.10763555555555557, 0.10711111111111112, 0.13333333333333333, 1.0), (0.17072617449664432, 0.15180000000000002, 0.18000000000000002, 1.0), (0.083333333333333343, 0.083333333333333343, 0.083333333333333343, 1.0), (0.11764705882352941, 0.12156862745098039, 0.16078431372549021, 1.0)] +selected-color=(true, 0.10763555555555557, 0.10711111111111112, 0.13333333333333333, 1.0) + +[org/gtk/settings/file-chooser] +date-format='regular' +location-mode='path-bar' +show-hidden=false +show-size-column=true +show-type-column=true +sidebar-width=203 +sort-column='name' +sort-directories-first=false +sort-order='descending' +type-format='category' +window-position=(408, 96) +window-size=(1099, 824) + +[org/mate/caja-open-terminal] +desktop-opens-home-dir=true + +[org/mate/caja/window-state] +geometry='800x550+560+250' +maximized=true +start-with-sidebar=true +start-with-status-bar=true +start-with-toolbar=true + +[org/mate/desktop/accessibility/keyboard] +bouncekeys-beep-reject=true +bouncekeys-delay=300 +bouncekeys-enable=false +enable=false +feature-state-change-beep=false +mousekeys-accel-time=1200 +mousekeys-enable=false +mousekeys-init-delay=160 +mousekeys-max-speed=750 +slowkeys-beep-accept=true +slowkeys-beep-press=true +slowkeys-beep-reject=false +slowkeys-delay=300 +slowkeys-enable=false +stickykeys-enable=false +stickykeys-latch-to-lock=true +stickykeys-modifier-beep=true +stickykeys-two-key-off=true +timeout=120 +timeout-enable=false +togglekeys-enable=false + +[org/mate/desktop/background] +color-shading-type='solid' +picture-filename='/usr/share/backgrounds/moony-art3.png' +picture-options='zoom' +primary-color='rgb(0,0,0)' +secondary-color='rgb(0,0,0)' +show-desktop-icons=true + +[org/mate/desktop/interface] +gtk-color-scheme='dark_fg_color:#f8f8f2\ndark_bg_color:#1e1f29' +gtk-theme='Dracula' +icon-theme='Tela-dracula-dark' + +[org/mate/desktop/peripherals/keyboard] +numlock-state='off' + +[org/mate/desktop/peripherals/keyboard/kbd] +layouts=['us\tintl'] +options=@as [] + +[org/mate/desktop/peripherals/keyboard/preview] +height=810 +width=1440 +x=240 +y=145 + +[org/mate/desktop/peripherals/mouse] +cursor-theme='Bibata-Gruvbox' + +[org/mate/desktop/session] +idle-delay=55 +session-start=1778023867 + +[org/mate/engrampa/general] +unar-open-zip=false + +[org/mate/engrampa/listing] +list-mode='as-folder' +name-column-width=250 +show-path=false +sort-method='name' +sort-type='descending' + +[org/mate/engrampa/ui] +sidebar-width=200 +window-height=480 +window-width=600 + +[org/mate/eom/ui] +image-collection=false + +[org/mate/marco/general] +theme='Dracula' + +[org/mate/marco/global-keybindings] +run-command-terminal='Return' + +[org/mate/panel/general] +object-id-list=['object-0', 'object-1', 'object-2', 'object-3', 'object-4', 'object-5'] +toplevel-id-list=['toplevel-0'] + +[org/mate/panel/objects/object-0] +locked=true +object-type='menu' +panel-right-stick=false +position=0 +tooltip='Compact Menu' +toplevel-id='toplevel-0' +use-menu-path=false + +[org/mate/panel/objects/object-1] +applet-iid='WnckletFactory::WindowListApplet' +locked=true +object-type='applet' +panel-right-stick=false +position=32 +toplevel-id='toplevel-0' + +[org/mate/panel/objects/object-2] +applet-iid='WnckletFactory::WorkspaceSwitcherApplet' +locked=true +object-type='applet' +panel-right-stick=false +position=1657 +toplevel-id='toplevel-0' + +[org/mate/panel/objects/object-3] +applet-iid='ClockAppletFactory::ClockApplet' +locked=true +object-type='applet' +panel-right-stick=false +position=1594 +toplevel-id='toplevel-0' + +[org/mate/panel/objects/object-3/prefs] +show-date=false +show-temperature=false +show-weather=false +show-week-numbers=false + +[org/mate/panel/objects/object-4] +applet-iid='NotificationAreaAppletFactory::NotificationArea' +locked=true +object-type='applet' +panel-right-stick=false +position=1488 +toplevel-id='toplevel-0' + +[org/mate/panel/objects/object-5] +applet-iid='WnckletFactory::ShowDesktopApplet' +locked=true +object-type='applet' +panel-right-stick=true +position=32 +toplevel-id='toplevel-0' + +[org/mate/panel/toplevels/toplevel-0] +auto-hide=false +enable-buttons=false +expand=true +monitor=0 +orientation='bottom' +screen=0 +size=33 +x-centered=true +x-right=-1 +y=1047 +y-bottom=0 + +[org/mate/pluma] +bottom-panel-size=140 +history-search-for=['strncpy(file_counts[0].path, home_path, sizeof(file_counts[0].path));\n'] +side-panel-active-page=827629879 +side-panel-size=200 +size=(650, 500) +state=4 +statusbar-visible=true + +[org/mate/pluma/plugins/filebrowser/on-load] +root='file:///' +tree-view=true +virtual-root='file:///home/javierc/steam_sandbox/Desktop' + +[org/mate/screensaver] +idle-activation-enabled=true +lock-enabled=false +mode='blank-only' +picture-filename='/usr/share/backgrounds/mate/desktop/Stripes.png' +themes=@as [] + +[org/mate/screenshot] +border-effect='none' +delay=0 +include-border=true +include-pointer=true +last-save-directory='file:///home/javierc/Desktop' + +[org/mate/settings-daemon/plugins/media-keys] +home='e' + +[org/mate/system-monitor] +current-tab=1 +maximized=false +window-state=(764, 523, 50, 50) + +[org/mate/system-monitor/disktreenew] +col-7-width=300 + +[org/mate/system-monitor/proctree] +col-0-width=270 +col-2-width=102 +col-26-width=131 +col-8-width=62 + +[org/mate/terminal/profiles/default] +background-darkness=0.85507246376811596 +background-type='transparent' +palette='#2E2E34343636:#CCCC00000000:#4E4E9A9A0606:#C4C4A0A00000:#34346565A4A4:#757550507B7B:#060698209A9A:#D3D3D7D7CFCF:#555557575353:#EFEF29292929:#8A8AE2E23434:#FCFCE9E94F4F:#72729F9FCFCF:#ADAD7F7FA8A8:#3434E2E2E2E2:#EEEEEEEEECEC' +visible-name='Default' diff --git a/includedir/var/db/xbps/keys/00:ca:42:57:c9:c0:9a:ec:94:b4:7d:97:e5:a9:aa:1e.plist b/includedir/var/db/xbps/keys/00:ca:42:57:c9:c0:9a:ec:94:b4:7d:97:e5:a9:aa:1e.plist new file mode 100644 index 0000000000000000000000000000000000000000..d9918f806f3ca60f494ba017557af741579d82e0 --- /dev/null +++ b/includedir/var/db/xbps/keys/00:ca:42:57:c9:c0:9a:ec:94:b4:7d:97:e5:a9:aa:1e.plist @@ -0,0 +1,12 @@ + + + + + public-key + LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUF6aFR1SkVjalBFZzZaUnNGbThtLwpaRnY0RWoyNUZVZzRZR3JQZlI3cWdaaGs5MExWd1hnTnVBQVl2TXFrSmpDd1dueEdYZVNzWUgyNFpSaFhiSHNvCm1DOGJFSDBOWkpmWGRYWFl3Rjg1dGl3b0RGRkpxOE0wN3daT0JsVmI4YXhkRm96UElpWXlRUEMxN1BwTjg0UksKS3NzZkJtQmt0dDUwbGptUWpmQW5lV21tZzF5VTRlSWZvR3AvamgrWW9TUGkyTzZTQi9ZVVJpZnNFYmlUK1RoMQpGdmpZTWhCb1VmQ2NGaGlIb3hDWXJOREhNOURSM21lUVI5ZkFuTEhKNEdXclhoMy84TjFhTngwcnZXckdSNDlJCkJrenNJdjErL2hHNzdyVG54Z3VPNGx0QVZ0QnljdVhRa2ZoWlpzMCtNSXphMzZpaVJja1lVRVVzYVFtQkJnUXMKaHdJREFRQUIKLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCg== + public-key-size + 2048 + signature-by + xlibre-github-actions + + diff --git a/includedir/var/db/xbps/keys/25:e3:ac:85:0a:cd:ac:2c:0d:c3:b4:1c:ec:7b:8f:56.plist b/includedir/var/db/xbps/keys/25:e3:ac:85:0a:cd:ac:2c:0d:c3:b4:1c:ec:7b:8f:56.plist new file mode 100644 index 0000000000000000000000000000000000000000..62055789f00ab7b0105a48c05a03622728c4521f --- /dev/null +++ b/includedir/var/db/xbps/keys/25:e3:ac:85:0a:cd:ac:2c:0d:c3:b4:1c:ec:7b:8f:56.plist @@ -0,0 +1,12 @@ + + + + + public-key + LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFubmZManhYMWY1NnBiZWFCaStnQgpNQ05ZenBmSXltY3pyMXh2dFNrL0tKMGdrZXBhQXFCeGRZd1N0dE1rcS9ydVVXdnhBOXRCb2VGSG1QSk13WUdECkEyR0I0YituRzh5WWFnRTRoVWZEb0xEOXpnZlNiV0VMTUdJei9BaGcvb1dGckNVT2c2T1NMeWNUYnROWGlmbWIKNDVPSFBmMit5QlpZVmtTQmd6OWV5Z1ZHWGVrekw2RDdhYnJsYm5zbkt0YjhiOWJESGIrbGFjb1VUb2hZUGNzbQo4MjZFbXhJK0R2bEsrYnlIT3ZEd0x4RE52dmd3ZCtSWVNPNTNZSFRMMXd0ZlJ2a0dWazVmSm5hZHJ3cW92QnJIClNQeVYzLzEzZ1NyQWxWZy9mSitweHdwZ2x6b3JjWWFBN1hUNUlRdmYxVktrZ25TekxxbjFzYWZFcnRSQVo1SzQKWHI1NGZCYTZkNUhiYWRJMW04aDk3MjZDYmgrQU9NeGxjb3FkZzJWSmpDRVJQMzE3K2JhbmRGcEJ6eUtoMjd1VQpWZDNHYVZoMXQ0VXFadDNEV2ZHWnFqcE9oTXNLYXY2cW85dWMrbVFSSGVVenZPZXh0ZGVkZ1pNYXZ4amxScWIrClZqS1hZZGxxOENFbTVoQ1ZiRWMwbU5iT3Z1Qm5hemlsSkJVZWFUcnhoZzR6MnZ2VWdWS2xLM0grc2Z6TFZsWDQKQUJsUzdsbHJsZDlBc3RCQU5Md1N5bmxMWjhYRnEySUpwTVQ1NWliaTBOVkNrcUE4QVhTT0ppeGYxNkJ0WUhrUApFYU55MlorVjFVaHBOSHljUnVSNXZlM1E4L0ZkU0VNZ0NZSnFlb0g0blBCOG9IOGVKV0VlSGlvNlhKeW5ZcUtZCkovdXJMQnd1TGpvYVRtNXRvaGNyVkJzQ0F3RUFBUT09Ci0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLQo= + public-key-size + 4096 + signature-by + JavierC + + diff --git a/includedir/var/db/xbps/keys/3d:b9:c0:50:41:a7:68:4c:2e:2c:a9:a2:5a:04:b7:3f.plist b/includedir/var/db/xbps/keys/3d:b9:c0:50:41:a7:68:4c:2e:2c:a9:a2:5a:04:b7:3f.plist new file mode 100644 index 0000000000000000000000000000000000000000..41bc2cb7f322a2a83a420087937dceb5c1c78038 --- /dev/null +++ b/includedir/var/db/xbps/keys/3d:b9:c0:50:41:a7:68:4c:2e:2c:a9:a2:5a:04:b7:3f.plist @@ -0,0 +1,12 @@ + + + + + public-key + LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUFvM1Nrc2p5N01PMmc4UWxsZjdCVQp1aXhFUWlqN3FOSVJrU0hrWWw4SGxxd1hOczFnK1FzbzhGV3dSbDNMbUpTVW5wT1BaOG1sdVdSajd4Y2pLbnVJCnhPRjBtQS8vM0lzTnVId2dYV2RLL0JiT29wNzFLZmt4aEE0WjhwK0hRbmhLMThxUkFPbG9xOGJ6WXZhaGI2NmEKemdWVTVFM1JzRDU4V0M2ZTFOUVdSSGpiMG1TM2h6M1NxVWVWZFVMT20zVzZBRTdYdWlVQVJOSEdyY1ljMXkyKwpxNjBKWHMrVk5sRlMwaGdDdnpqS3phMVg5cWtzQndzTmdaRlhBcXN1MGFKRndYSTEvM2R4ZWxBcUZFbnRMWVFSCjA4NHpaTDFmWDVRMWlacGNEaHVhTWZVREVZQjA4UzdKTTBYKytibkxxVnphVTZzc0RXdGtzbFJaNjNaVStISTUKemk5a0pyc25LcU5Pa3BKSnJTUkRyMGFvRjV2RDRwN20vYWdZKzdTRk5aaDZzOUJ5V0x3NDVFdytwalVVUmp5aQp6T01TSFhEM3YzczhFdzZkV29wbTVQTGUvUEgzZWFiMEVnbG9yVDZhYmRwaCtaVG4zaUxMWVVkSGNmQ1FDN01GCkNmVGl1TWt4SkJpaCtoOEhKaUlBdmpDZjVxdjZiaFpEUHpGRzAwbEpYRUZwNHRpbGp6eTFmbitiMkdLY3BDOWQKUUs4TEc3M0RFaXhacHBmU09IU09MMWYxVlBzZTBRdnl6d2RWc0xzR0dqV0FaZkw4WUdVZDl4Y20yeW5tVzFuNgpKTjl6NE9oZ3lRa21mNUFFUXpYSUxQR0d1MlREUVh5c05IRG0vUnRMMHJPN3cxbFVKSTVYOW1kbEZYd0xUWHI3ClYrU25aK3U5VCtFREg1NTV6WDJDZTgwQ0F3RUFBUT09Ci0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLQo= + public-key-size + 4096 + signature-by + Void Linux + + diff --git a/includedir/var/db/xbps/keys/60:ae:0c:d6:f0:95:17:80:bc:93:46:7a:89:af:a3:2d.plist b/includedir/var/db/xbps/keys/60:ae:0c:d6:f0:95:17:80:bc:93:46:7a:89:af:a3:2d.plist new file mode 100644 index 0000000000000000000000000000000000000000..c1e82a7ed9e96a014d6a3ebdbe7f6ed793743edd --- /dev/null +++ b/includedir/var/db/xbps/keys/60:ae:0c:d6:f0:95:17:80:bc:93:46:7a:89:af:a3:2d.plist @@ -0,0 +1,12 @@ + + + + + public-key + LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUF2clN6QlpNdmd2T0NJM0FYYk9qYQoycktSa0pTVE0zYy9FalRJZ0NnRFhndW05M0JQQ3RZOE1jRlZvQ1U0T2lYSEdmVG1xMzlCVk5wTHZMSEw5S2sxCnAyNzhTQmhYVk90YkIyRVZtREtudmZJREVUbGRMR3plN3JaTlJKZHR1TjJtWi9UVnJVQjlTMHlRYytJdWY0aHYKMytEOTdWSWRUSkhBN0FTcjA0MjhwcEVHSkd3U1NoWTJYSm05RDVJMEV1R1JXYzE0TUVHN2RJS0ppWWlNMG5FNAp0WW8yL3ZINElGVEhkblZBM2dZaVp5RG5idUNBUi84RVNmVVRVMTNTTkNPZGJ1ZGYzRDVCY3krVWlNREpJM1llCjRNRktCclQ5WmhaK0dzWEJaWTQ4MmxxaVppNkNMNXB0YzlJUUZmOC9lS1phOGphdGtpVkZWZ3JLZU5Sak9UeE4KZldTdTJua3hHTlgrYmhYWXRoaUdXbUpFWThjQ0FQeUZOK0x2NVJldEsyNTZnZGNiMnNrbUVxZWZ2MnpQQyt3VgpXQmJkSDViRDRiWmpuME42Wmw4MXJ2NVJ6RHZudmYrdkQxNGFGVWJaOFFGcXU3NVBiTDR3Nm1ZTTRsZE0vZzBSCjZOWEU4QXo5Qnd4MnREZlllS3V1dHcxRXBQbTJZdkZ5VFViMWNveUF1VEdSeUFhcDFVVEh2ZzlsaFBJSm1oRlEKSjVrQ2cxcUQ3QTMxV2wwUmxuZTZoZ0dvMFpaTko1Y0pNL3YvelNUS0pjdUZnd283SDBoT0dpbDZEZm84OUI0agpHOTZBQ3lQUytEVktQRlhSWXdqL0FrYkhwYVEyZjFGTUFvU3BCcXVEcUhoM3VrazcxS1g2ajE5dDBpRjhEUUxyCnZ0RlNTZElqREEwMmx3ZVY5TmFRcFdzQ0F3RUFBUT09Ci0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLQo= + public-key-size + 4096 + signature-by + Void Linux + + diff --git a/includedir/var/db/xbps/keys/fd:a3:7d:ab:fe:ed:b4:4e:20:48:3e:ab:0b:02:7d:45.plist b/includedir/var/db/xbps/keys/fd:a3:7d:ab:fe:ed:b4:4e:20:48:3e:ab:0b:02:7d:45.plist new file mode 100644 index 0000000000000000000000000000000000000000..d77e671955a325a60de478f3060e731a27d148e3 --- /dev/null +++ b/includedir/var/db/xbps/keys/fd:a3:7d:ab:fe:ed:b4:4e:20:48:3e:ab:0b:02:7d:45.plist @@ -0,0 +1,12 @@ + + + + + public-key + LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUF0UkErTXQzQ1FMQ0M0U1JOQXhnQgpoYVNuazRSUkNFOVlnRU5hWjREVk1tOWtGZ0FDVjZ0WnhFZzhVN2h1VmlOQ29rdTJGZnc5QzZFMjZoQ0xwcFMyCnBMYjY1MCtnMWJIWCtHN3dVZVRzRk14aVNEWk9TaG5KRDJjR0Y1S0tabnpYa1hHMWV0Q1pOcTF0T2I1enNONkIKcUNIUE9aTmFqdGJNMllVRk5Ea09sTUplRDJVRmVyRlJ6UVVkV29YNER1TkF3MzVMdmNzakhib2NEcjlTclYvVwphdDUyMXp3V2VyYmVqalA4YXJwWXFlMG5HcS82QVdGWjFUZytjRmhGQW1MUXJaYmEwejJFMm94MG1OMXZrbEVFCkgrTFNTY25sZCtmcXdTeTV4MEkweUpKeE8waitMWEVtcFgyYlRSL0F5STd3bFRNcnFwaEk5ekN4b1M3aitIbWgKTVFJREFRQUIKLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCg== + public-key-size + 2048 + signature-by + void-packages-github-actions + + diff --git a/includedir/var/lib/flatpak/repo/config b/includedir/var/lib/flatpak/repo/config new file mode 100644 index 0000000000000000000000000000000000000000..4e891bc15573dc183a30658043ff8f0f50c35e9e --- /dev/null +++ b/includedir/var/lib/flatpak/repo/config @@ -0,0 +1,70 @@ +[core] +repo_version=1 +mode=bare-user-only +min-free-space-size=500MB +xa.pinned=runtime/org.freedesktop.Platform/x86_64/23.08;runtime/org.freedesktop.Sdk/x86_64/23.08;runtime/org.freedesktop.Sdk/x86_64/25.08;runtime/org.kde.Platform/x86_64/6.7;runtime/org.kde.Sdk/x86_64/6.10;runtime/org.kde.Sdk/x86_64/6.7;runtime/org.kde.Sdk/x86_64/6.8 + +[remote "flathub"] +url=https://dl.flathub.org/repo/ +xa.title=Flathub +gpg-verify=true +gpg-verify-summary=true +xa.comment=Central repository of Flatpak applications +xa.description=Central repository of Flatpak applications +xa.icon=https://dl.flathub.org/repo/logo.svg +xa.homepage=https://flathub.org/ + +[remote "hytalelauncher-origin"] +url= +xa.title=tmp.flatpak +xa.noenumerate=true +xa.prio=0 +gpg-verify-summary=false +gpg-verify=false +xa.main-ref=app/com.hypixel.HytaleLauncher/x86_64/master + +[remote "launcher-origin"] +url=file:///home/javierc/Documentos/server/dev/FLATPAK/QT6-trinity/flatpak/.flatpak-builder/cache +xa.title=Local repo +xa.noenumerate=true +xa.prio=0 +gpg-verify-summary=false +gpg-verify=false +xa.main-ref=app/com.trench.trinity.launcher/x86_64/main + +[remote "gearlever-origin"] +url= +xa.title=gearlever-4.4.8-x86_64.flatpak +xa.noenumerate=true +xa.prio=0 +gpg-verify-summary=false +gpg-verify=false +xa.main-ref=app/it.mijorus.gearlever/x86_64/master + +[remote "gearlever1-origin"] +url= +xa.title=gearlever-4.4.8-x86_64.flatpak +xa.noenumerate=true +xa.prio=0 +gpg-verify-summary=false +gpg-verify=false +xa.main-ref=app/it.mijorus.gearlever/x86_64/master + +[remote "flathub-beta"] +url=https://dl.flathub.org/beta-repo/ +xa.title=Flathub beta +gpg-verify=true +gpg-verify-summary=true +xa.comment=Beta builds of Flatpak applications +xa.description=Beta builds of Flatpak applications +xa.icon=https://dl.flathub.org/repo/logo.svg +xa.homepage=https://flathub.org/ + +[remote "trinity"] +url=https://huggingface.co/datasets/ccoffee20/flatpak/resolve/main/ +xa.title=Trinity Launcher Repository +gpg-verify=true +gpg-verify-summary=true +xa.description=Repositorio oficial de Trinity Launcher para MC Bedrock en Linux +xa.icon=https://trinitylauncher.vercel.app/assets/icons/start.svg +xa.homepage=https://trinitylauncher.vercel.app/ diff --git a/includedir/var/lib/flatpak/repo/flathub-beta.trustedkeys.gpg b/includedir/var/lib/flatpak/repo/flathub-beta.trustedkeys.gpg new file mode 100644 index 0000000000000000000000000000000000000000..c967731876a830e084db2c545b3bd3e4dda4b83b Binary files /dev/null and b/includedir/var/lib/flatpak/repo/flathub-beta.trustedkeys.gpg differ diff --git a/includedir/var/lib/flatpak/repo/flathub.trustedkeys.gpg b/includedir/var/lib/flatpak/repo/flathub.trustedkeys.gpg new file mode 100644 index 0000000000000000000000000000000000000000..c967731876a830e084db2c545b3bd3e4dda4b83b Binary files /dev/null and b/includedir/var/lib/flatpak/repo/flathub.trustedkeys.gpg differ diff --git a/includedir/var/lib/flatpak/repo/trinity.trustedkeys.gpg b/includedir/var/lib/flatpak/repo/trinity.trustedkeys.gpg new file mode 100644 index 0000000000000000000000000000000000000000..00134cf1c184b84bced76fca156773871a9add7a Binary files /dev/null and b/includedir/var/lib/flatpak/repo/trinity.trustedkeys.gpg differ