Compare commits

...

7 commits

Author SHA1 Message Date
088a024edd organized the just-pulled package list a bit 2026-05-07 14:45:08 +02:00
5328cd4e69 giving system.yaml a proper funeral 2026-05-07 14:43:55 +02:00
a9ae92d1c2 Pulled package list from my „previous” BlendOS 2026-05-05 19:03:53 +02:00
fff0fb1ba5 disabling on-system backups (I don't have enough disk space lol) 2026-05-05 19:03:10 +02:00
9acbdd412d Customized defaults to my liking 2026-05-05 18:13:04 +02:00
1bd63c5c2f autogen config 2026-05-05 17:59:39 +02:00
336c6949d4 Copyright © 2026 Guzio | Licensed under the MIT License
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
2026-05-05 17:34:47 +02:00
13 changed files with 754 additions and 15 deletions

5
.gitignore vendored Normal file
View file

@ -0,0 +1,5 @@
# Configs are host-specific by their very nature (they include the hostname of the very system they describe). Idk why this .gitignore wasn't the default in the first place.
config.yaml
# Moved here, instead of a separate .gitignore in state/
state

19
LICENSE
View file

@ -1,18 +1,7 @@
MIT License
Copyright (c) 2026 Guzio
Copyright © 2026 Guzio
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
associated documentation files (the "Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the
following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial
portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
USE OR OTHER DEALINGS IN THE SOFTWARE.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

9
config.yaml.template Normal file
View file

@ -0,0 +1,9 @@
# dcli configuration pointer
# This file points to the active host configuration
# The full configuration lives in hosts/[HOSTNAME].yaml
# Active host
host: [HOSTNAME]
# Package manager: pacman (Arch) or apt (Debian/Ubuntu)
package_manager: pacman

105
hosts/GuzioPadV4.yaml Normal file
View file

@ -0,0 +1,105 @@
# Host configuration for GuzioPadV4
# GuzioPad V4
host: GuzioPadV4
description: GuzioPad V4
# Import shared configurations (optional)
#Example:
#import:
# - hosts/shared/laptop-common.yaml
# Enabled modules
enabled_modules:
- base
- system-packages-GuzioPadV4
# Module processing mode
# parallel: Collect and install all modules at once (faster, default)
# sequential: Process modules one-by-one in enabled_modules order (more control)
module_processing: parallel
strict_package_order: false
# Host-specific packages
packages: []
# Exclude packages from base or modules
exclude: []
# Configuration backup settings
config_backups:
enabled: true # Auto-backup on sync
max_backups: 5 # Keep last 5 backups (0 = unlimited)
# System backup settings
system_backups:
enabled: false # Global toggle for system backups
backup_on_sync: true # Create backup during dcli sync
backup_on_update: true # Create backup during dcli update
tool: timeshift # Backup tool: timeshift or snapper
snapper_config: root # Snapper config name (if using snapper)
max_backups: 5 # Keep last N backups (0 = unlimited)
# Settings
flatpak_scope: system
auto_prune: true
# AUR helper to use (auto-detects paru or yay if not specified)
aur_helper: paru # Options: paru, yay, or any AUR helper
# Update hooks (optional - run scripts before/after system updates)
#update_hooks:
# pre_update: "scripts/pre-update.sh" # Run before system update
# post_update: "scripts/post-update.sh" # Run after flatpak update
# behavior: ask # Options: ask, always, once, skip
# devel: false # Set to true to always use --devel flag (updates -git packages)
services:
enabled:
- NetworkManager
- NetworkManager-dispatcher
- NetworkManager-wait-online
- akshara
- bluetooth
- cups
- docker
- getty@
disabled: []
scope: system
# I don't think it's possible to let DCli manage both user and system services at the same time, so I'm commenting-out user services out of this for now
#services:
# enabled:
# - blend-files
# - hyprpolkitagent
# - wireplumber
# disabled: []
# scope: user
default_apps:
scope: system
browser: app.zen_browser.zen
text_editor: org.onlyoffice.desktopeditors
file_manager: open_folder
terminal: null #apparently, this is related to the xdg-terminal-exec binary, which I don't have - leaving it null for now
video_player: org.videolan.VLC
audio_player: org.videolan.VLC
image_viewer: app.zen_browser.zen
pdf_viewer: app.zen_browser.zen
mime_types: {} #I had A LOT OF associations set up here, but it seems that dcli didn't auto-pull them, and I'm too lazy to migrate them manually, so I'm leaving this empty for now (I'll set up important ones manually as-I-encounter-them)
# This magically appeared as I was syncing services and default apps. It doesn't seem to be documented anywhere, so I guess it's an in-progress feature - leaving it commented out for now.
#theming:
# scope: user
# cursor: null
# icons: null
# theme: null
# dark_or_light: null
# font: null
# gtk: null
# qt: null
# env_vars: {}
#editor: null
#
#sync_sudo: false
#auto_commit: false

29
modules/base.yaml Normal file
View file

@ -0,0 +1,29 @@
# Base packages installed on all systems
# These packages are included regardless of host or modules
description: Autogenerated by DCli; kept because it contains some of its dependencies that I wouldn't've installed myself.
packages:
# Essential base system
- base
- base-devel
# Kernel (uncomment the one you use)
# - linux # Standard kernel
- linux-zen # Zen kernel (optimized for desktop)
# - linux-lts # Long-term support kernel
# - linux-hardened # Security-focused kernel
# Firmware (usually needed)
- linux-firmware
# Basic tools (uncomment as needed)
- git
# - vim
# - neovim
- htop
# dcli dependencies
- paru # AUR helper (required for AUR package management)
- fzf # Fuzzy finder (required for dcli search/module/backup TUI)
# - timeshift # System backup tool (required for dcli backup commands)

17
modules/example.yaml Normal file
View file

@ -0,0 +1,17 @@
# Example module template
# Copy this to create new modules, or delete it
description: Example module - customize or delete this
# List of packages in this module
packages: []
# Modules that conflict with this one
conflicts: []
# Script to run before installing packages (optional)
# Useful for system preparation like enabling multilib
pre_install_hook: ""
# Script to run after installing packages (optional)
post_install_hook: ""

View file

@ -0,0 +1,24 @@
description: System packages for GuzioPadV4 (auto-synced by dcli merge)
conflicts: []
pre_install_hook: null
post_install_hook: null
hook_behavior: ask
pre_hook_behavior: null
post_hook_behavior: null
run_hooks_as_user: false
post_disable_hook: null
post_disable_behavior: null
package_files:
- packages-blendbase.yaml
- packages-blendplasma.yaml
- packages.yaml
- packages-aur.yaml
- packages-flatpaks.yaml
dotfiles_sync: null
dotfiles: []
author: null
version: null
category: null
tags: []
license: null
upstream_url: null

View file

@ -0,0 +1,22 @@
description: AUR packages that I declared manually in system.yaml
packages:
- 'visual-studio-code-bin' #Needed for: devcontainers (Flatpaked VSCode wouldn't accept my Docker socket - this was probably related to comms-over-an-IPC-socet perms but that's too late now)
- 'wvkbd-deskintl' #Needed for: Hyprland virtual keyboard
- 'clipse' #Needed for: Hyprland clipboard history (replaces vicinae-bin)
- 'hyprshell-bin' #Needed for: WinTab and system menu in Hyprland
- 'ags-hyprpanel-git' #My stupid fucking memory-leaking, touch-breaking, menu bar
- 'grim-hyprland-git' #Needed for: screenshots
- 'dcli-arch-git' #Alternative declarative Arch system experiment - may very well turn out to be a disaster, but I'd like to try anyway
- 'wayle-bin' #Menu bar (replaces ags-hyprpanel-git)
- 'android-sdk-platform-tools' #Command: adb (and some others, but I don't care); Needed for: Shizuku in Waydroid
deb_packages: []
exclude: []
conflicts: []
pre_install_hook: null
post_install_hook: null
hook_behavior: ask
pre_hook_behavior: null
post_hook_behavior: null
run_hooks_as_user: false
post_disable_hook: null
post_disable_behavior: null

View file

@ -0,0 +1,143 @@
description: Packages scraped from BlendOS's base package list, as found in system.yaml (except that I also commented-out core BlendOS components, ie. filesystem-blend and akshara)
packages:
- 'alsa-utils'
#- 'amd-ucode' #disabled because I don't have an AMD CPU
- 'arch-install-scripts'
- 'b43-fwcutter'
- 'archlinux-keyring'
- 'base-devel'
- 'git'
- 'bash'
- 'bzip2'
- 'coreutils'
- 'file'
#- 'filesystem-blend' #disabled because I no longer use Blend
- 'fprintd'
- 'findutils'
- 'gawk'
- 'gcc-libs'
- 'gettext'
- 'glibc'
- 'grep'
- 'gzip'
- 'iproute2'
- 'iputils'
- 'licenses'
- 'pacman'
- 'pciutils'
- 'procps-ng'
- 'psmisc'
- 'sed'
- 'shadow'
- 'systemd'
- 'systemd-sysvcompat'
- 'tar'
- 'util-linux'
- 'xz'
- 'bash'
- 'bash-completion'
- 'bind'
#- 'blend' #disabled because I don't care about BlendOS's "blending"
#- 'blend-settings' #disabled because I don't care about BlendOS's "blending"
- 'brltty'
#- 'broadcom-wl-dkms' #disabled because I don't have any Broadcom cards
- 'btrfs-progs'
- 'cryptsetup'
- 'dhclient'
- 'dmidecode'
- 'dnsmasq'
- 'dosfstools'
- 'e2fsprogs'
- 'efibootmgr'
- 'espeakup'
- 'exfatprogs'
- 'f2fs-tools'
- 'fatresize'
- 'gpart'
- 'gptfdisk'
- 'grub'
- 'hdparm'
- 'hyperv'
- 'intel-ucode'
- 'irssi'
- 'less'
- 'lshw'
- 'libfido2'
- 'libusb-compat'
- 'linux-zen'
- 'linux-zen-headers'
- 'linux-atm'
- 'linux-firmware'
- 'linux-firmware-marvell'
- 'power-profiles-daemon'
- 'fwupd'
- 'man-db'
- 'man-pages'
- 'mc'
- 'mdadm'
- 'mesa-utils'
- 'lib32-mesa-utils'
- 'memtest86+'
- 'mkinitcpio'
- 'mkinitcpio-archiso'
- 'mkinitcpio-nfs-utils'
- 'modemmanager'
- 'mtools'
- 'nano'
- 'nbd'
- 'ndisc6'
- 'nfs-utils'
- 'nilfs-utils'
- 'ntfs-3g'
- 'noto-fonts'
- 'noto-fonts-cjk'
- 'noto-fonts-emoji'
- 'noto-fonts-extra'
#- 'openconnect' #disabled because I don't need 30 different VPN backends
- 'openssh'
#- 'openvpn' #disabled because I don't need 30 different VPN backends
- 'python-pyclip'
- 'xclip'
- 'xsel'
- 'os-prober'
- 'parted'
- 'partimage'
- 'pcsclite'
- 'ppp'
- 'pptpclient'
- 'pv'
- 'rsync'
- 'smartmontools'
- 'sof-firmware'
- 'squashfs-tools'
- 'sudo'
- 'syslinux'
- 'tcpdump'
- 'tpm2-tss'
- 'udftools'
- 'usb_modeswitch'
- 'usbmuxd'
- 'usbutils'
#- 'vpnc' #disabled because I don't need 30 different VPN backends
- 'wireless-regdb'
- 'wireless_tools'
- 'wpa_supplicant'
- 'wvdial'
- 'xfsprogs'
- 'xl2tpd'
- 'bluez'
- 'networkmanager'
- 'cups'
- 'ttf-jetbrains-mono'
#- 'akshara' #probably-dependency of blend or blend-settings because it's a core Blend component and stuff will break badly without it, but it wasn't explicitly listed - disabled because I no longer use Blend, which means that things would break badly WITH it installed
deb_packages: []
exclude: []
conflicts: []
pre_install_hook: null
post_install_hook: null
hook_behavior: ask
pre_hook_behavior: null
post_hook_behavior: null
run_hooks_as_user: false
post_disable_hook: null
post_disable_behavior: null

View file

@ -0,0 +1,25 @@
description: Packages scraped from BlendOS's Plasma package list, as found in system.yaml - most are disabled because I use Hyprland, but some were kept (with explanations attached), including some manually re-added dependencies
packages:
#- 'kde-system-meta'
#- 'kde-utilities-meta'
#- 'kdeconnect'
#- 'plasma'
#- 'plasma-workspace'
- 'sddm' #kept because I'd be unable to log in otherwise
#- 'firefox' #disabling has nothing to do with Hyprland usage: disabled because I use Zen Browser
- 'waydroid' #kept because I want Android
- 'waydroid-image' #kept because I want Android
- 'wl-clipboard' #kept because I'm not sure if the clipboard will work without it.
- 'systemsettings' #dependency of plasma - kept because I like their settings GUI
- 'konsole' #dependency of plasma - kept because I need a terminal bruh
deb_packages: []
exclude: []
conflicts: []
pre_install_hook: null
post_install_hook: null
hook_behavior: ask
pre_hook_behavior: null
post_hook_behavior: null
run_hooks_as_user: false
post_disable_hook: null
post_disable_behavior: null

View file

@ -0,0 +1,84 @@
description: Flatpak packages installed manually on the system (auto-synced by dcli) - also includes Flatpak itself, and all runtimes are commented out
packages:
- flatpak
- name: com.discordapp.Discord
type: flatpak
- name: com.github.tchx84.Flatseal
type: flatpak
- name: com.github.xournalpp.xournalpp
type: flatpak
- name: com.jetbrains.IntelliJ-IDEA-Community
type: flatpak
- name: com.modrinth.ModrinthApp
type: flatpak
- name: com.mojang.Minecraft
type: flatpak
- name: im.riot.Riot
type: flatpak
- name: md.obsidian.Obsidian
type: flatpak
- name: org.freecad.FreeCAD
type: flatpak
#- name: org.freedesktop.LinuxAudio.Plugins.TAP
# type: flatpak
#- name: org.freedesktop.LinuxAudio.Plugins.swh
# type: flatpak
#- name: org.freedesktop.Platform
# type: flatpak
#- name: org.freedesktop.Platform
# type: flatpak
#- name: org.freedesktop.Platform.GL.default
# type: flatpak
#- name: org.freedesktop.Platform.GL.default
# type: flatpak
#- name: org.freedesktop.Platform.GL.default
# type: flatpak
#- name: org.freedesktop.Platform.GL.default
# type: flatpak
#- name: org.freedesktop.Platform.VAAPI.Intel
# type: flatpak
#- name: org.freedesktop.Platform.VAAPI.Intel
# type: flatpak
#- name: org.freedesktop.Platform.codecs-extra
# type: flatpak
#- name: org.freedesktop.Platform.ffmpeg-full
# type: flatpak
#- name: org.freedesktop.Platform.openh264
# type: flatpak
#- name: org.freedesktop.Sdk
# type: flatpak
#- name: org.gnome.Platform
# type: flatpak
#- name: org.gnome.Platform
# type: flatpak
#- name: org.gtk.Gtk3theme.Breeze
# type: flatpak
#- name: org.gtk.Gtk3theme.Breeze-Dark
# type: flatpak
- name: org.inkscape.Inkscape
type: flatpak
#- name: org.kde.Platform
# type: flatpak
#- name: org.kde.Platform
# type: flatpak
#- name: org.kde.Platform
# type: flatpak
- name: org.kde.krita
type: flatpak
- name: org.onlyoffice.desktopeditors
type: flatpak
- name: org.prismlauncher.PrismLauncher
type: flatpak
- name: org.videolan.VLC
type: flatpak
deb_packages: []
exclude: []
conflicts: []
pre_install_hook: null
post_install_hook: null
hook_behavior: ask
pre_hook_behavior: null
post_hook_behavior: null
run_hooks_as_user: false
post_disable_hook: null
post_disable_behavior: null

View file

@ -0,0 +1,52 @@
description: Packages that I declared manually in system.yaml
packages:
- 'noto-fonts' #for completeness sake with all other nerd-fonts packages
- 'noto-fonts-emoji' #Making sure that half of the text online isn't just squares
- 'noto-fonts-cjk' #Making sure that half of the text online isn't just squares
- 'noto-fonts-extra' #Making sure that half of the text online isn't just squares
- 'nerd-fonts' #Making sure that decor in shells and everything in hyprpanel isn't just squares
- 'fish' #core shell utils
- 'fastfetch' #core shell utils
- 'starship' #core shell utils
- 'htop' #core shell utils
- 'docker' #Needed for: devcontainers
- 'docker-compose' #Needed for: devcontainers
- 'unzip' #core shell utils
- 'zip' #core shell utils
#- 'system-config-printer' #I'm not exactly sure what this does (tho the name is somewhat self-explanatory) and I don't think I need this anymore (my wired printer is configured already) but I'm too scared I'll forget the package name if I need it again(???), so I'll leave it disabled.
- 'hplip' #Will need it to configure our funky wireless printer fucker eventually, probably. And I'll probably be VERY MUCH IN A HURRY when I need it. So I'll keep the package on standby.
- 'gparted' #because blendos-base manages to ship 5 different partition managers and somehow every single one is ass
- 'curl' #core shell utils
- 'wget' #core shell utils
#- 'openssl' #I don't think anything needs it - maybe something Docker-related does. Will comment out and see if anything breaks.
#- 'librsvg' #I don't think anything needs it - maybe some stupid AUR Hyprland util does. Will comment out and see if anything breaks.
- 'hyprland' #MA'H FUKKEN GUI!
- 'wtype' #Needed for: misc. Wayland automation, notably: opening menu on touchscreen workaround
- 'jq' #Needed for: misc. scripts that use hyprctl
- 'satty' #Needed for: screenshots
- 'hyprlock' #Needed for: screen-lock
- 'hypridle' #Needed for: Auto-run Hyprlock on exit from sleep
- 'xdg-desktop-portal-hyprland' #Needed by: Hyprland
- 'hyprpolkitagent' #Needed by: Hyprland
- 'qt5-wayland' #Needed by: Hyprland
- 'qt6-wayland' #Needed by: Hyprland
- 'meson' #Needed by: HyprPM
- 'cpio' #Needed by: HyprPM
- 'cmake' #Needed by: HyprPM
- 'brightnessctl' #Needed by: Hyprpanel
- 'swww' #hyprpanel again
- 'qt6ct' #Needed for: darkmode in Qt apps
- 'glm' #Needed by: Hyprgrass
- 'iio-sensor-proxy' #Command: monitor-sensors; Needed for: custom rotate scripts
- 'wl-clip-persist' #Provides the most basic fucking functionality that exists on literally every OS on Earth ever, ie. the ability to paste from clipboard after the app that copied stuff there closes. How the FUCK is this not a standard on Wayland???
deb_packages: []
exclude: []
conflicts: []
pre_install_hook: null
post_install_hook: null
hook_behavior: ask
pre_hook_behavior: null
post_hook_behavior: null
run_hooks_as_user: false
post_disable_hook: null
post_disable_behavior: null

View file

@ -0,0 +1,235 @@
# BlendOS's /system.yaml file - backed up here for historical preservation and reference, but obviously not actually used by DCli
track: 'custom' #derived from http://github.com/blend-os/tracks/raw/main blendos-base, then plasma
packages:
- 'alsa-utils' #from blendos-base
# - 'amd-ucode' #from blendos-base - disabled because I don't have an AMD CPU
- 'arch-install-scripts' #from blendos-base
- 'b43-fwcutter' #from blendos-base
- 'archlinux-keyring' #from blendos-base
- 'base-devel' #from blendos-base
- 'git' #from blendos-base
- 'bash' #from blendos-base
- 'bzip2' #from blendos-base
- 'coreutils' #from blendos-base
- 'file' #from blendos-base
- 'filesystem-blend' #from blendos-base
- 'fprintd' #from blendos-base
- 'findutils' #from blendos-base
- 'gawk' #from blendos-base
- 'gcc-libs' #from blendos-base
- 'gettext' #from blendos-base
- 'glibc' #from blendos-base
- 'grep' #from blendos-base
- 'gzip' #from blendos-base
- 'iproute2' #from blendos-base
- 'iputils' #from blendos-base
- 'licenses' #from blendos-base
- 'pacman' #from blendos-base
- 'pciutils' #from blendos-base
- 'procps-ng' #from blendos-base
- 'psmisc' #from blendos-base
- 'sed' #from blendos-base
- 'shadow' #from blendos-base
- 'systemd' #from blendos-base
- 'systemd-sysvcompat' #from blendos-base
- 'tar' #from blendos-base
- 'util-linux' #from blendos-base
- 'xz' #from blendos-base
- 'bash' #from blendos-base
- 'bash-completion' #from blendos-base
- 'bind' #from blendos-base
# - 'blend' #from blendos-base - disabled because I don't care about BlendOS's "blending"
# - 'blend-settings' #from blendos-base - disabled because I don't care about BlendOS's "blending"
- 'brltty' #from blendos-base
# - 'broadcom-wl-dkms' #from blendos-base - disabled because I don't have any Broadcom cards
- 'btrfs-progs' #from blendos-base
- 'cryptsetup' #from blendos-base
- 'dhclient' #from blendos-base
- 'dmidecode' #from blendos-base
- 'dnsmasq' #from blendos-base
- 'dosfstools' #from blendos-base
- 'e2fsprogs' #from blendos-base
- 'efibootmgr' #from blendos-base
- 'espeakup' #from blendos-base
- 'exfatprogs' #from blendos-base
- 'f2fs-tools' #from blendos-base
- 'fatresize' #from blendos-base
- 'gpart' #from blendos-base
- 'gptfdisk' #from blendos-base
- 'grub' #from blendos-base
- 'hdparm' #from blendos-base
- 'hyperv' #from blendos-base
- 'intel-ucode' #from blendos-base
- 'irssi' #from blendos-base
- 'less' #from blendos-base
- 'lshw' #from blendos-base
- 'libfido2' #from blendos-base
- 'libusb-compat' #from blendos-base
- 'linux-zen' #from blendos-base
- 'linux-zen-headers' #from blendos-base
- 'linux-atm' #from blendos-base
- 'linux-firmware' #from blendos-base
- 'linux-firmware-marvell' #from blendos-base
- 'power-profiles-daemon' #from blendos-base
- 'fwupd' #from blendos-base
- 'man-db' #from blendos-base
- 'man-pages' #from blendos-base
- 'mc' #from blendos-base
- 'mdadm' #from blendos-base
- 'mesa-utils' #from blendos-base
- 'lib32-mesa-utils' #from blendos-base
- 'memtest86+' #from blendos-base
- 'mkinitcpio' #from blendos-base
- 'mkinitcpio-archiso' #from blendos-base
- 'mkinitcpio-nfs-utils' #from blendos-base
- 'modemmanager' #from blendos-base
- 'mtools' #from blendos-base
- 'nano' #from blendos-base
- 'nbd' #from blendos-base
- 'ndisc6' #from blendos-base
- 'nfs-utils' #from blendos-base
- 'nilfs-utils' #from blendos-base
- 'ntfs-3g' #from blendos-base
- 'noto-fonts' #from blendos-base
- 'noto-fonts-cjk' #from blendos-base
- 'noto-fonts-emoji' #from blendos-base
- 'noto-fonts-extra' #from blendos-base
# - 'openconnect' #from blendos-base - disabled because I don't need 30 different VPN backends
- 'openssh' #from blendos-base
# - 'openvpn' #from blendos-base - disabled because I don't need 30 different VPN backends
- 'python-pyclip' #from blendos-base
- 'xclip' #from blendos-base
- 'xsel' #from blendos-base
- 'os-prober' #from blendos-base
- 'parted' #from blendos-base
- 'partimage' #from blendos-base
- 'pcsclite' #from blendos-base
- 'ppp' #from blendos-base
- 'pptpclient' #from blendos-base
- 'pv' #from blendos-base
- 'rsync' #from blendos-base
- 'smartmontools' #from blendos-base
- 'sof-firmware' #from blendos-base
- 'squashfs-tools' #from blendos-base
- 'sudo' #from blendos-base
- 'syslinux' #from blendos-base
- 'tcpdump' #from blendos-base
- 'tpm2-tss' #from blendos-base
- 'udftools' #from blendos-base
- 'usb_modeswitch' #from blendos-base
- 'usbmuxd' #from blendos-base
- 'usbutils' #from blendos-base
# - 'vpnc' #from blendos-base - disabled because I don't need 30 different VPN backends
- 'wireless-regdb' #from blendos-base
- 'wireless_tools' #from blendos-base
- 'wpa_supplicant' #from blendos-base
- 'wvdial' #from blendos-base
- 'xfsprogs' #from blendos-base
- 'xl2tpd' #from blendos-base
- 'bluez' #from blendos-base
- 'networkmanager' #from blendos-base
- 'cups' #from blendos-base
- 'ttf-jetbrains-mono' #from blendos-base
- 'akshara' #probably-dependency of blend or blend-settings because it's a core Blend component and stuff will break badly without it, but it wasn't explicitly listed
# - 'kde-system-meta' #from plasma - disabled because I use Hyprland
# - 'kde-utilities-meta' #from plasma - disabled because I use Hyprland
# - 'kdeconnect' #from plasma - disabled because I use Hyprland
# - 'plasma' #from plasma - disabled because I use Hyprland
# - 'plasma-workspace' #from plasma - disabled because I use Hyprland
- 'sddm' #from plasma - kept because I'd be unable to log in otherwise
# - 'firefox' #from plasma - disabled because I use Zen
- 'waydroid' #from plasma - kept because I want Android
- 'waydroid-image' #from plasma - kept because I want Android
- 'wl-clipboard' #from plasma - kept because I'm not sure if the clipboard will work without it.
- 'systemsettings' #dependency of plasma - kept because I like their settings GUI
- 'konsole' #dependency of plasma - kept because I need a terminal bruh
- 'flatpak' #either a dependency of something plasma-related, or blend-related - I'm not sure which; all I know is that my apps are flatpaks and they broke catastrophically after I removed a bunch of Plasma and Blend stuff, so I had to re-add this
- 'noto-fonts' #for completeness sake with all other nerd-fonts packages
- 'noto-fonts-emoji' #Making sure that half of the text online isn't just squares
- 'noto-fonts-cjk' #Making sure that half of the text online isn't just squares
- 'noto-fonts-extra' #Making sure that half of the text online isn't just squares
- 'nerd-fonts' #Making sure that decor in shells and everything in hyprpanel isn't just squares
- 'fish' #core shell utils
- 'fastfetch' #core shell utils
- 'starship' #core shell utils
- 'htop' #core shell utils
- 'docker' #Needed for: devcontainers
- 'docker-compose' #Needed for: devcontainers
- 'unzip' #core shell utils
- 'zip' #core shell utils
# - 'system-config-printer' #I'm not exactly sure what this does (tho the name is somewhat self-explanatory) and I don't think I need this anymore (my wired printer is configured already) but I'm too scared I'll forget the package name if I need it again(???), so I'll leave it disabled.
- 'hplip' #Will need it to configure our funky wireless printer fucker eventually, probably. And I'll probably be VERY MUCH IN A HURRY when I need it. So I'll keep the package on standby.
- 'gparted' #because blendos-base manages to ship 5 different partition managers and somehow every single one is ass
- 'curl' #core shell utils
- 'wget' #core shell utils
# - 'openssl' #I don't think anything needs it - maybe something Docker-related does. Will comment out and see if anything breaks.
# - 'librsvg' #I don't think anything needs it - maybe some stupid AUR Hyprland util does. Will comment out and see if anything breaks.
- 'hyprland' #MA'H FUKKEN GUI!
- 'wtype' #Needed for: misc. Wayland automation, notably: opening menu on touchscreen workaround
- 'jq' #Needed for: misc. scripts that use hyprctl
- 'satty' #Needed for: screenshots
- 'hyprlock' #Needed for: screen-lock
- 'hypridle' #Needed for: Auto-run Hyprlock on exit from sleep
- 'xdg-desktop-portal-hyprland' #Needed by: Hyprland
- 'hyprpolkitagent' #Needed by: Hyprland
- 'qt5-wayland' #Needed by: Hyprland
- 'qt6-wayland' #Needed by: Hyprland
- 'meson' #Needed by: HyprPM
- 'cpio' #Needed by: HyprPM
- 'cmake' #Needed by: HyprPM
- 'brightnessctl' #Needed by: Hyprpanel
- 'swww' #hyprpanel again
- 'qt6ct' #Needed for: darkmode in Qt apps
- 'glm' #Needed by: Hyprgrass
- 'iio-sensor-proxy' #Command: monitor-sensors; Needed for: custom rotate scripts
- 'wl-clip-persist' #Provides the most basic fucking functionality that exists on literally every OS on Earth ever, ie. the ability to paste from clipboard after the app that copied stuff there closes. How the FUCK is this not a standard on Wayland???
aur-packages:
- 'visual-studio-code-bin' #Needed for: devcontainers (Flatpaked VSCode wouldn't accept my Docker socket - this was probably related to comms-over-an-IPC-socet perms but that's too late now)
- 'wvkbd-deskintl' #Needed for: Hyprland virtual keyboard
- 'clipse' #Needed for: Hyprland clipboard history (replaces vicinae-bin)
- 'hyprshell-bin' #Needed for: WinTab and system menu in Hyprland
- 'ags-hyprpanel-git' #My stupid fucking memory-leaking, touch-breaking, menu bar
- 'grim-hyprland-git' #Needed for: screenshots
- 'dcli-arch-git' #Alternative declarative Arch system experiment - may very well turn out to be a disaster, but I'd like to try anyway
- 'wayle-bin' #Replaces ags-hyprpanel-git
- 'android-sdk-platform-tools' #Command: adb (and some others, but I don't care); Needed for: Shizuku in Waydroid
services:
- 'cups' #from blendos-base
- 'bluetooth' #from blendos-base
- 'NetworkManager' #from blendos-base
- 'power-profilesdaemon' #from blendos-base
- 'fprintd' #from blendos-base
- 'sddm' #from plasma - kept because I'd be unable to log in otherwise
- 'docker' #Needed for: devcontainers
user-services:
# - 'blend-files' #from blendos-base - disabled because it comes from the "blend" util
commands:
- 'echo Processing post-install hooks...'
# - 'rm -f /usr/share/applications/Waydroid.desktop' #from plasma - disabled because I actually want the desktop entry
- 'useradd -m sddm -s /bin/false' #from plasma
- 'usermod -aG video sddm' #from plasma
- | #from plasma
cat << EOF > /usr/lib/sddm/sddm.conf.d/no-gnome-initial-setup.conf
[Users]
HideUsers=gnome-initial-setup
EOF
- 'locale-gen' #makes Polish work
- 'echo Hooks COMPLETE!'
etc-changes:
- 'echo In GUI' #Created my user account; added WiFis and BT-devs
- 'sudo usermod -aG docker guzio'
- 'sudo nano /etc/locale.gen' #Polish
- 'sudo nano /etc/systemd/logind.conf' #Made short-press=sleep; long-press=suspend
- 'sudo nano /etc/resolv.conf' #MC was censored by ISP lmao; backup in .config
- 'sudo nano /etc/sddm.conf.d/default.conf' #Enabled autologin
- 'visudo' #Allowed some scripts and HTop to run passwordless