Compare commits
4 commits
99cc0a4717
...
c24202cff1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c24202cff1 | ||
|
|
d826fd0576 | ||
|
|
cd5bf1b546 | ||
|
|
c67cc3c6f6 |
10 changed files with 63 additions and 25 deletions
|
|
@ -24,7 +24,12 @@ jobs:
|
|||
kcoreaddons kpmcore libpwquality qt6-declarative qt6-svg yaml-cpp
|
||||
useradd -m builder
|
||||
git config --global --add safe.directory '*'
|
||||
git clone --depth 1 "https://git.breadway.dev/${GITHUB_REPOSITORY}.git" /home/builder/src
|
||||
# Clone the branch/tag that triggered this run (not the default
|
||||
# branch) — same as bibata.yml/powerlevel10k.yml/yay-bin.yml, so a
|
||||
# push to a feature branch (or a release tag) builds and publishes
|
||||
# from that ref, not whatever happens to be on the default branch.
|
||||
git clone --depth 1 --branch "${GITHUB_REF_NAME}" \
|
||||
"https://git.breadway.dev/${GITHUB_REPOSITORY}.git" /home/builder/src
|
||||
chown -R builder:builder /home/builder/src
|
||||
su builder -c "cd /home/builder/src/packaging/calamares && makepkg -f --noconfirm --nocheck"
|
||||
PKG=$(find /home/builder/src/packaging/calamares -name '*.pkg.tar.zst' | head -1)
|
||||
|
|
|
|||
|
|
@ -111,8 +111,18 @@ jobs:
|
|||
run: |
|
||||
set -euo pipefail
|
||||
# bread-theme is not in the bakery index; build it at the tag pinned
|
||||
# in bos-settings/Cargo.toml so the CLI matches the library version.
|
||||
THEME_TAG=$(grep 'bread-theme.*tag' /bos/bos-settings/Cargo.toml \
|
||||
# in bos-settings' Cargo.toml so the CLI matches the library version
|
||||
# the bos-settings package (and breadbar/breadbox/breadpad) were
|
||||
# built against. bos-settings used to live at bos-settings/Cargo.toml
|
||||
# inside this repo; it's since been split into its own repo
|
||||
# (git.breadway.dev/Breadway/bos-settings), so fetch its Cargo.toml
|
||||
# from there instead of a path that no longer exists in this
|
||||
# checkout. Uses bos-settings' default branch (dev) — the branch its
|
||||
# own CI actually publishes the `bos-settings` pacman package from.
|
||||
REPO_OWNER="${GITHUB_REPOSITORY%%/*}"
|
||||
curl -fsSL "https://git.breadway.dev/${REPO_OWNER}/bos-settings/raw/branch/dev/Cargo.toml" \
|
||||
-o /tmp/bos-settings-Cargo.toml
|
||||
THEME_TAG=$(grep 'bread-theme.*tag' /tmp/bos-settings-Cargo.toml \
|
||||
| grep -oP '"v[^"]+"' | tr -d '"')
|
||||
echo "Building bread-theme @ $THEME_TAG"
|
||||
git clone --branch "$THEME_TAG" --depth 1 \
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# BOS — Bread Operating System
|
||||
|
||||
An Arch-based, Hyprland desktop distribution that ships the [bread
|
||||
ecosystem](https://github.com/Breadway) preconfigured. One Calamares install
|
||||
ecosystem](https://git.breadway.dev/Breadway) preconfigured. One Calamares install
|
||||
produces a themed, bootable Wayland desktop — no manual Arch bootstrap, no
|
||||
wiring up dotfiles, no per-tool bakery installs.
|
||||
|
||||
|
|
|
|||
12
bakery.toml
12
bakery.toml
|
|
@ -1,12 +0,0 @@
|
|||
name = "bos-settings"
|
||||
description = "System settings app for Bread OS"
|
||||
binaries = ["bos-settings"]
|
||||
system_deps = ["gtk4", "glib2"]
|
||||
optional_system_deps = ["snapper"]
|
||||
bread_deps = []
|
||||
|
||||
[config]
|
||||
dir = "~/.config"
|
||||
|
||||
[install]
|
||||
post_install = []
|
||||
|
|
@ -9,10 +9,10 @@ strings:
|
|||
versionedName: "BOS (rolling)"
|
||||
shortVersionedName: "BOS"
|
||||
bootloaderEntryName: "BOS"
|
||||
productUrl: "https://github.com/Breadway/bos"
|
||||
supportUrl: "https://github.com/Breadway/bos/issues"
|
||||
knownIssuesUrl: "https://github.com/Breadway/bos/issues"
|
||||
releaseNotesUrl: "https://github.com/Breadway/bos/releases"
|
||||
productUrl: "https://git.breadway.dev/Breadway/bos"
|
||||
supportUrl: "https://git.breadway.dev/Breadway/bos/issues"
|
||||
knownIssuesUrl: "https://git.breadway.dev/Breadway/bos/issues"
|
||||
releaseNotesUrl: "https://git.breadway.dev/Breadway/bos/releases"
|
||||
|
||||
images:
|
||||
productLogo: "logo.png"
|
||||
|
|
|
|||
|
|
@ -18,9 +18,23 @@
|
|||
|
||||
local M = bread.module({ name = "breadhelp-tour", version = "1.0.0" })
|
||||
|
||||
-- `bread.exec` only takes a single shell command string — it always runs it
|
||||
-- as `sh -lc <cmd>` (see breadd's Lua runtime), there's no array-exec form
|
||||
-- that bypasses the shell. `event.data.class` (a Wayland window class) and
|
||||
-- `event.data.data` (a layer-shell namespace) are both arbitrary strings a
|
||||
-- client fully controls — a window/surface can name itself
|
||||
-- `x; rm -rf ~ #` and have that land in a real shell command otherwise.
|
||||
-- POSIX single-quoting neutralizes that: wrap the value in single quotes,
|
||||
-- and turn any single quote *inside* it into `'\''` (close the quote, an
|
||||
-- escaped literal quote, reopen the quote) — the one escaping rule `sh`
|
||||
-- needs to treat the whole thing as inert data, never command syntax.
|
||||
local function shell_quote(s)
|
||||
return "'" .. tostring(s):gsub("'", "'\\''") .. "'"
|
||||
end
|
||||
|
||||
function M.on_load()
|
||||
bread.on("bread.window.opened", function(event)
|
||||
bread.exec("breadhelp --tour-event window:" .. event.data.class)
|
||||
bread.exec("breadhelp --tour-event " .. shell_quote("window:" .. event.data.class))
|
||||
end)
|
||||
|
||||
bread.on("bread.workspace.changed", function(event)
|
||||
|
|
@ -28,11 +42,11 @@ function M.on_load()
|
|||
end)
|
||||
|
||||
bread.hyprland.on_raw("openlayer", function(event)
|
||||
bread.exec("breadhelp --tour-event layer:" .. event.data.data)
|
||||
bread.exec("breadhelp --tour-event " .. shell_quote("layer:" .. event.data.data))
|
||||
end)
|
||||
|
||||
bread.hyprland.on_raw("closelayer", function(event)
|
||||
bread.exec("breadhelp --tour-event layer-closed:" .. event.data.data)
|
||||
bread.exec("breadhelp --tour-event " .. shell_quote("layer-closed:" .. event.data.data))
|
||||
end)
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -112,6 +112,19 @@ local function build_hl_config(v)
|
|||
dwindle = { preserve_split = true },
|
||||
animations = { enabled = true },
|
||||
misc = { disable_hyprland_logo = true, disable_splash_rendering = true },
|
||||
-- 3-finger touchpad swipe switches workspaces (touchscreen/touchpad
|
||||
-- gesture, native to Hyprland — no plugin needed).
|
||||
gestures = {
|
||||
workspace_swipe = true,
|
||||
workspace_swipe_fingers = 3,
|
||||
workspace_swipe_distance = 300,
|
||||
workspace_swipe_invert = true,
|
||||
workspace_swipe_min_speed_to_force = 30,
|
||||
workspace_swipe_cancel_ratio = 0.5,
|
||||
workspace_swipe_create_new = true,
|
||||
workspace_swipe_direction_lock = true,
|
||||
workspace_swipe_forever = false,
|
||||
},
|
||||
}
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -81,6 +81,14 @@ alias ip='ip --color=auto'
|
|||
alias update='bos-update'
|
||||
alias pacman='sudo pacman'
|
||||
|
||||
# Package shortcuts — official repos via pacman, AUR via yay (alt-* prefix).
|
||||
alias install='sudo pacman -S'
|
||||
alias uninstall='sudo pacman -R'
|
||||
alias srchpkg='sudo pacman -Ss'
|
||||
alias alt-install='yay -S'
|
||||
alias alt-uninstall='yay -R'
|
||||
alias alt-srchpkg='yay -Ss'
|
||||
|
||||
# ~/.local/bin holds the bread* binaries baked in at build time.
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ from this repo.
|
|||
|
||||
`bos-settings` is also pacman-packaged and served from the same [breadway]
|
||||
repo, but its source lives in its own repo now (`~/Projects/bos-settings`,
|
||||
`github.com/Breadway/bos-settings`) so a bos-settings release doesn't require
|
||||
`git.breadway.dev/Breadway/bos-settings`) so a bos-settings release doesn't require
|
||||
a BOS ISO release.
|
||||
|
||||
Everything else the bread ecosystem ships (breadbar, breadbox, breadpad, ...)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# Maintainer: Breadway <rileyhorsham@gmail.com>
|
||||
# Maintainer: Breadway <plasticbread849@gmail.com>
|
||||
# In-house copy of the AUR calamares PKGBUILD (Calamares is AUR-only; not in
|
||||
# Arch's official repos). Built by CI and published to the [breadway] repo.
|
||||
# Source of truth: https://aur.archlinux.org/packages/calamares
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue