diff --git a/Containerfile b/Containerfile index 4d7c72f8647..7191ba1d129 100644 --- a/Containerfile +++ b/Containerfile @@ -35,6 +35,7 @@ RUN if [ ${FEDORA_MAJOR_VERSION} -ge "39" ]; then \ COPY usr /usr COPY just /tmp/just +COPY motd /tmp/motd COPY etc/yum.repos.d/ /etc/yum.repos.d/ COPY packages.json /tmp/packages.json COPY build.sh /tmp/build.sh @@ -73,6 +74,7 @@ RUN wget https://copr.fedorainfracloud.org/coprs/ublue-os/staging/repo/fedora-"$ pip install --prefix=/usr yafti && \ pip install --prefix=/usr topgrade && \ rpm-ostree install ublue-update && \ + glow -s /tmp/motd/dracula.json /tmp/motd/bluefin.md > /usr/share/ublue-os/user-motd && \ mkdir -p /usr/etc/flatpak/remotes.d && \ wget -q https://dl.flathub.org/repo/flathub.flatpakrepo -P /usr/etc/flatpak/remotes.d && \ cp /tmp/ublue-update.toml /usr/etc/ublue-update/ublue-update.toml && \ diff --git a/dx/usr/lib/systemd/system/swtpm-workaround.service b/dx/usr/lib/systemd/system/swtpm-workaround.service index 5a93f6ebed5..271ed8293ac 100644 --- a/dx/usr/lib/systemd/system/swtpm-workaround.service +++ b/dx/usr/lib/systemd/system/swtpm-workaround.service @@ -5,7 +5,7 @@ After=local-fs.target [Service] Type=oneshot -# Copy if it doens't exist +# Copy if it doesn't exist ExecStartPre=/usr/bin/bash -c "[ -x /usr/local/bin/.swtpm ] || /usr/bin/cp /usr/bin/swtpm /usr/local/bin/.swtpm" # This is faster than using .mount unit. Also allows for the previous line/cleanup ExecStartPre=/usr/bin/mount --bind /usr/local/bin/.swtpm /usr/bin/swtpm @@ -17,4 +17,4 @@ ExecStop=/usr/bin/rm /usr/local/bin/.swtpm RemainAfterExit=yes [Install] -WantedBy=multi-user.target \ No newline at end of file +WantedBy=multi-user.target diff --git a/motd/bluefin.md b/motd/bluefin.md new file mode 100644 index 00000000000..422b722924e --- /dev/null +++ b/motd/bluefin.md @@ -0,0 +1,12 @@ +# Welcome to Bluefin + +| Command | Description | +| ------- | ----------- | +| `ujust bluefin-cli` | Configure the terminal | +| `ujust toggle-user-motd` | Toggle this banner on/off | +| `ujust` | List all available commands | + +*tip: the Project Bluefin team will use this banner to share important information and occasional tips.* + +- [Documentation](http://docs.projectbluefin.io/) +- [Discuss](https://community.projectbluefin.io/) diff --git a/motd/dracula.json b/motd/dracula.json new file mode 100644 index 00000000000..ef0d292769f --- /dev/null +++ b/motd/dracula.json @@ -0,0 +1,192 @@ +{ + "document": { + "block_prefix": "\n", + "block_suffix": "\n", + "color": "#f8f8f2", + "margin": 2 + }, + "block_quote": { + "color": "#f1fa8c", + "italic": true, + "indent": 2 + }, + "paragraph": {}, + "list": { + "color": "#f8f8f2", + "level_indent": 2 + }, + "heading": { + "block_suffix": "\n", + "color": "#bd93f9", + "bold": true + }, + "h1": { + "prefix": "# " + }, + "h2": { + "prefix": "## " + }, + "h3": { + "prefix": "### " + }, + "h4": { + "prefix": "#### " + }, + "h5": { + "prefix": "##### " + }, + "h6": { + "prefix": "###### " + }, + "text": {}, + "strikethrough": { + "crossed_out": true + }, + "emph": { + "color": "#f1fa8c", + "italic": true + }, + "strong": { + "color": "#ffb86c", + "bold": true + }, + "hr": { + "color": "#6272A4", + "format": "\n--------\n" + }, + "item": { + "block_prefix": "• " + }, + "enumeration": { + "block_prefix": ". ", + "color": "#8be9fd" + }, + "task": { + "ticked": "[✓] ", + "unticked": "[ ] " + }, + "link": { + "color": "#8be9fd", + "underline": true + }, + "link_text": { + "color": "#ff79c6" + }, + "image": { + "color": "#8be9fd", + "underline": true + }, + "image_text": { + "color": "#ff79c6", + "format": "Image: {{.text}} →" + }, + "code": { + "color": "#50fa7b" + }, + "code_block": { + "color": "#ffb86c", + "margin": 2, + "chroma": { + "text": { + "color": "#f8f8f2" + }, + "error": { + "color": "#f8f8f2", + "background_color": "#ff5555" + }, + "comment": { + "color": "#6272A4" + }, + "comment_preproc": { + "color": "#ff79c6" + }, + "keyword": { + "color": "#ff79c6" + }, + "keyword_reserved": { + "color": "#ff79c6" + }, + "keyword_namespace": { + "color": "#ff79c6" + }, + "keyword_type": { + "color": "#8be9fd" + }, + "operator": { + "color": "#ff79c6" + }, + "punctuation": { + "color": "#f8f8f2" + }, + "name": { + "color": "#8be9fd" + }, + "name_builtin": { + "color": "#8be9fd" + }, + "name_tag": { + "color": "#ff79c6" + }, + "name_attribute": { + "color": "#50fa7b" + }, + "name_class": { + "color": "#8be9fd" + }, + "name_constant": { + "color": "#bd93f9" + }, + "name_decorator": { + "color": "#50fa7b" + }, + "name_exception": {}, + "name_function": { + "color": "#50fa7b" + }, + "name_other": {}, + "literal": {}, + "literal_number": { + "color": "#6EEFC0" + }, + "literal_date": {}, + "literal_string": { + "color": "#f1fa8c" + }, + "literal_string_escape": { + "color": "#ff79c6" + }, + "generic_deleted": { + "color": "#ff5555" + }, + "generic_emph": { + "color": "#f1fa8c", + "italic": true + }, + "generic_inserted": { + "color": "#50fa7b" + }, + "generic_strong": { + "color": "#ffb86c", + "bold": true + }, + "generic_subheading": { + "color": "#bd93f9" + }, + "background": { + "background_color": "#282a36" + } + } + }, + "table": { + "center_separator": "┼", + "column_separator": "│", + "row_separator": "─" + }, + "definition_list": {}, + "definition_term": {}, + "definition_description": { + "block_prefix": "\n🠶 " + }, + "html_block": {}, + "html_span": {} +}