mirror of
https://github.com/outbackdingo/hyprcosmic.git
synced 2026-08-25 14:53:21 +00:00
Ship the per-user config, and recommend a font that exists
Two things anyone installing v0.1.0 would have hit. The per-user files were listed in install-assets.sh as installed 'by hand', which meant a clean machine logged in to a bare compositor with nothing drawn on it and no binding that opened anything. They are now installed as a skeleton under share/hyprcosmic/skel, laid out exactly as they sit under ~/.config, and the session copies what is missing at login. The audit still forces every file under config/ into exactly one list, so this could not be quietly skipped again. theme.css, theme.rasi and local.rasi are new and deliberately empty. They are the relative @imports of style.css and config.rasi, and a missing @import is fatal to both consumers rather than a warning they skip: GTK fails the whole stylesheet, and rofi reports the error in place of the launcher. Every colour they could define already has a default from palette.css and palette.rasi, so empty is the correct content until import-theme writes them. style.css's own header has promised 'a sibling file we create at install time' since it was written; now there is one. Recommends: nerd-fonts named a package that is in no Fedora repository, so it could never be satisfied and the font never arrived -- silently, which is what Recommends does when it cannot resolve. Fedora has no Nerd Font at all: texlive-inconsolata-nerd-font lands under texmf-dist and kitty's SymbolsNerdFont under /usr/lib64/kitty, and fontconfig scans neither. Recommend font(notosansmono) instead, the fallback rules.rasi already names, and say in the README how to install the glyphs by hand.
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
/* Per-machine launcher settings for HyprCosmic.
|
||||
*
|
||||
* Empty until `hyprcosmic-conf import-theme --assets` writes it. It exists from
|
||||
* the first session because config.rasi imports it, and a missing @import is an
|
||||
* error rofi reports in place of the launcher rather than a warning it skips.
|
||||
*
|
||||
* It is the last of the four imports in config.rasi, so anything here wins; it
|
||||
* is also overwritten by the next import run with --overwrite, so keep hand
|
||||
* edits somewhere else.
|
||||
*
|
||||
* Two things belong in this file and nothing else does: values that name a path
|
||||
* or a package on this particular machine, which neither /usr/share/hyprcosmic
|
||||
* nor a HyDE theme file can know. Concretely, that is the icon theme and the
|
||||
* sidebar image:
|
||||
*
|
||||
* configuration {
|
||||
* icon-theme: "Tela-circle-purple", "Adwaita";
|
||||
* }
|
||||
*
|
||||
* dummywall {
|
||||
* background-image: url("/home/you/.local/share/wallpapers/hyprcosmic/current", height);
|
||||
* }
|
||||
*
|
||||
* Both are shown commented out rather than set, because a default that named
|
||||
* an icon theme nobody has installed, or a wallpaper path under someone else's
|
||||
* home, would be worse than no default at all.
|
||||
*/
|
||||
|
||||
* {}
|
||||
@@ -0,0 +1,16 @@
|
||||
/* Step 2 of the import chain in config.rasi: the installed HyDE theme's rofi
|
||||
* colours.
|
||||
*
|
||||
* Empty on purpose, for the same reason as waybar's theme.css: a missing
|
||||
* @import is an error rofi reports in place of the launcher rather than a
|
||||
* warning it skips, so config.rasi can only import a file that is guaranteed
|
||||
* to exist. palette.rasi already defines every name rules.rasi reads, so
|
||||
* defining nothing here leaves a complete theme rather than an unresolved
|
||||
* reference.
|
||||
*
|
||||
* `hyprcosmic-conf import-theme` overwrites this with the imported theme's
|
||||
* rofi colours. Hand-written overrides belong in local.rasi, which is imported
|
||||
* after the rules and is left alone unless --overwrite is passed.
|
||||
*/
|
||||
|
||||
* {}
|
||||
@@ -0,0 +1,18 @@
|
||||
/* Step 2 of the import chain in style.css: the installed HyDE theme's
|
||||
* waybar.theme.
|
||||
*
|
||||
* This copy is deliberately empty of rules. It is not a stub waiting to be
|
||||
* written -- an empty file is the correct content when no theme has been
|
||||
* imported, and it is what makes the other three steps work:
|
||||
*
|
||||
* - A missing @import is fatal in GTK, so style.css cannot name a file that
|
||||
* might not exist. This one always exists, from the moment the session
|
||||
* first starts.
|
||||
* - Every colour the rules consume already has a default from palette.css
|
||||
* and bridge-hyde.css, so a file that defines nothing leaves a complete
|
||||
* stylesheet rather than an undefined name.
|
||||
*
|
||||
* `hyprcosmic-conf import-theme` overwrites this with the waybar.theme of the
|
||||
* theme being imported. Anything written here by hand is lost at that point,
|
||||
* which is why the per-user override belongs in style.css instead.
|
||||
*/
|
||||
Reference in New Issue
Block a user