Compare commits

..

85 Commits

Author SHA1 Message Date
Vladan Popovic 2a8d2ada45 remove unneeded sway services 2023-01-04 01:15:56 +01:00
Vladan Popovic 23cd1ce2ee add wldash + config 2022-12-28 15:56:56 +01:00
Vladan Popovic 1ca878a6ec remove empty line at EOL 2022-12-28 14:48:54 +01:00
Vladan Popovic 10f017a9ff remove RH cert from pitti's setup 2022-12-28 14:48:37 +01:00
Vladan Popovic 394063b9d2 add sway config to tree (etc) 2022-12-28 00:35:35 +01:00
Vladan Popovic e93bcf8baf upgrade to fedora 37 2022-12-26 22:54:40 +01:00
Vladan Popovic 61ac168bea fedora36 on x13 gen1 ryzen7 2022-08-14 23:21:24 +02:00
Vladan Popovic bc9f720092 f35 full tree 2022-08-14 23:09:43 +02:00
Vladan Popovic f8790aa337 X1 Carbon Gen 7 Sway Desktop 2022-08-14 23:09:21 +02:00
Martin Pitt 2f37aae96f Add rofimoji
Nice wofi based emoji search.
2022-08-14 23:08:43 +02:00
Martin Pitt cd80bf126f Move to systemd-resolved
For per-interface resolution
2022-08-14 23:08:43 +02:00
Martin Pitt 0fb3d46275 Install xdg-desktop-portal-gtk for proper flatpak app support 2022-08-14 23:08:43 +02:00
Martin Pitt cee7775cf2 Unignore flatpak 2022-08-14 23:08:43 +02:00
Martin Pitt bd41bf4cf2 Install selinux-policy-targeted
Otherwise latest rpm-ostree fails with
```
Writing rpmdb... done
error: Loading pkgcache branch rpmostree/pkg/adwaita-cursor-theme/40.0-2.fc34.noarch: SELinux enabled, but no policy found
```
2022-08-14 23:08:43 +02:00
Martin Pitt e6767e9a28 Move back from iwd to wpa_supplicant
iwd has a really strange behaviour of randomly interrupting the wifi
connection:

    Received Deauthentication event, reason: 4, from_ap: false

This also interrupts VPN. This does not happen with wpasupplicant.

https://bugzilla.redhat.com/show_bug.cgi?id=1915641
2022-08-14 23:08:43 +02:00
Martin Pitt 66795725b7 Add GitHub workflow for building the OSTree repository
Also add a script to download and unpack the artifact on my server's
`public_html/`.
2022-08-14 23:08:43 +02:00
Martin Pitt aa2b9cc1ea Enable systemd-homed
This requires some PAM config updates and disabling SELinux.
2022-08-14 23:08:43 +02:00
Martin Pitt 99bfa2406a Define tree for pitti's workstation
Also add helper script for running the ostree build.
2022-08-14 23:08:43 +02:00
Martin Pitt 8db4392080 Remove unwanted packages for pitti's workstation 2022-08-14 23:08:43 +02:00
Timothée Ravier fb712bc8e7 comps-sync f34 2021-04-23 2022-08-14 23:08:43 +02:00
Timothée Ravier 658cc65a70 Kinoite: Explicitely exclude PackageKit & Offline updates support 2022-08-14 23:08:43 +02:00
Kalev Lember 6e22a7ad50 Include totem-video-thumbnailer for video thumbnailing in Nautilus
https://pagure.io/fedora-workstation/issue/168
2022-08-14 23:08:43 +02:00
Timothée Ravier 9f96278761 Pre-enable updates repo
This repo is currently empty but will be used after F34 is released.
This is a noop for official variants built via Pungi but useful for
unofficial ones.
2022-08-14 23:08:43 +02:00
Timothée Ravier c4a7e20f41 Fix Rawhide -> F34 branching 2022-08-14 23:08:43 +02:00
Timothée Ravier 5baae7abf4 repos: Fixup repo names and EOF 2022-08-14 23:08:43 +02:00
Tomas Hrcka bd6da1fe64 Fix mirrorlist URL
Signed-off-by: Tomas Hrcka <thrcka@redhat.com>
2022-08-14 23:08:43 +02:00
Tomas Hrcka 6b1948851e Branching F34 from rawhide
Signed-off-by: Tomas Hrcka <thrcka@redhat.com>
2022-08-14 23:08:43 +02:00
Timothée Ravier 405725e8a6 Revert "Kinoite: Manually include imsettings-systemd"
Support is currently not good enough.

See https://pagure.io/fedora-kde/SIG/issue/156

This reverts commit 9151fe0047.
2022-05-30 19:43:41 +02:00
Timothée Ravier 9151fe0047 Kinoite: Manually include imsettings-systemd
Required to enable complex input-methods support. We might consider
including the input-methods comps group if it turns out that we need
more packages.

Fixes: https://pagure.io/fedora-kde/SIG/issue/156
Backport: https://pagure.io/workstation-ostree-config/c/663cf9dac0bff235f67d0f8e3aae429d83281764?branch=main
2022-05-21 17:44:02 +00:00
Timothée Ravier 81265a7d67 comps-sync f36 2022-05-16 2022-05-16 19:58:36 +02:00
Timothée Ravier e02e26439b fedora-common-ostree: Add ncurses
Provides terminal tools like clear, reset, tput, and tset

Fixes: https://github.com/fedora-silverblue/issue-tracker/issues/253

Cherry-picked from: https://pagure.io/workstation-ostree-config/c/1628cb19bf7130f2475fa178fd2311798518e8b7?branch=main
2022-04-20 13:46:19 +02:00
Timothée Ravier ab7e8b5017 comps-sync f36 2022-04-20 2022-04-20 13:22:26 +02:00
Timothée Ravier dbcf9d4913 comps-sync f36 2022-02-16 2022-02-16 19:00:17 +01:00
Allison Karlitskaya 7c20a91792 Revert "Add minimal -devel packages as needed to build kernel modules"
This reverts commit 31ad6acced.

With the addition of the fedora-updates-archive repository to fedora-repos, our
concern about not being able to find the correct -devel packages to install
have disappeared.  Additionally, the kernel now ships -matched versions
of its packages (to allow matching headers to the main kernel package)
and akmods depends on the matched package, which means that we are sure
to get the package we need.

See also: https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1195
See also: https://src.fedoraproject.org/rpms/akmods/pull-request/3
2022-02-16 18:53:59 +01:00
Timothée Ravier 6975ed5043 repo: Remove unused baseurl 2022-02-16 17:45:00 +00:00
Timothée Ravier d70b76520f repo: Enable fedora-36-updates repo 2022-02-16 17:45:00 +00:00
Timothée Ravier 16af9adcb8 Kinoite: Temporarily exclude plasma-discover-rpm-ostree
Exclude rpm-ostree backend for Discover from the base image as it is
still not ready for general consumption. Keep it in Rawhide to help
debugging and testing.
2022-02-14 10:34:37 +01:00
Timothée Ravier 1890d13ee5 Kinoite: Keep some application until with get Flatpaks
Keep some basic application in the base image until we can replace them
with Flatpaks.
2022-02-14 10:34:37 +01:00
Adam Williamson 2e86d085a6 comps-sync f36 2022-02-08
Font changes related to
https://fedoraproject.org/wiki/Changes/DefaultToNotoFonts , and
gedit replaced with gnome-text-editor (so changed the exclusion
list).

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-02-08 10:13:16 -08:00
Tomas Hrcka b550a02c83 Branch F36 from rawhide
Signed-off-by: Tomas Hrcka <thrcka@redhat.com>
2022-02-08 13:59:53 +01:00
Timothée Ravier eb48de275c fedora-common-ostree: Move post script inline
This was difficult with the JSON based manifests but is now easy with
the YAML ones.
2022-01-21 11:32:12 +01:00
Timothée Ravier c5edd168e1 post.sh: Update persistent journal workaround
Add a systemd configuration drop-in instead of modyfing the default
configuration file.

Imported from:
https://github.com/coreos/fedora-coreos-config/blob/testing-devel/overlay.d/05core/usr/lib/systemd/journald.conf.d/10-coreos-persistent.conf
2022-01-21 11:29:47 +01:00
Jonathan Lebon 635f72795a post.sh: stop disabling modular repos
rpm-ostree understands modules now so it's safe to leave it enabled.
FCOS equivalent: https://github.com/coreos/fedora-coreos-config/pull/1191
2022-01-12 16:56:00 -05:00
Timothée Ravier 387ad78e4f comps-sync f36 2021-12-13
https://pagure.io/fedora-comps/c/122cc1d1e51b3272207793672aded2b53835d1b7?branch=main
https://pagure.io/fedora-comps/c/15a2b896371eb78ec2ecbafb6fe76a632c0bf58a?branch=main
2021-12-16 16:22:20 +00:00
Timothée Ravier 9ae2a6a534 LICENSE: Add MIT license text 2021-12-16 11:39:31 +01:00
Adam Williamson 487891c21f Drop ipw2100-firmware and ipw2200-firmware (retired)
These packages were retired today as part of
https://fedoraproject.org/wiki/Changes/RemoveWirelessExtensions .
Them being listed in the manifest breaks the ostree compose:
https://kojipkgs.fedoraproject.org/compose/rawhide/Fedora-Rawhide-20211203.n.0/logs/x86_64/Silverblue/ostree-4/create-ostree-repo.log

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-12-03 11:22:03 -08:00
Tomas Popela 825c68d285 Merge #254 `README: General update` 2021-11-23 08:25:19 +00:00
Timothée Ravier b3d1fa1987 README: General update 2021-11-18 17:42:07 +01:00
Timothée Ravier 30e1bff894 comps-sync f35 2021-11-15 2021-11-15 20:14:49 +01:00
Timothée Ravier 61b9bf4802 Kinoite: Exclude plasma-pk-updates
plasma-pk-updates is only useful with PackageKit and thus not needed on
Kinoite.
2021-11-15 20:14:49 +01:00
Timothée Ravier 048502f488 Kinoite: Keep kde-partitionmanager
Re-add kde-partitionmanager to the base image until we have it available
as a Flatpak.

See: https://pagure.io/fedora-kde/SIG/issue/131
2021-11-15 20:12:06 +01:00
Timothée Ravier 167a5f0097 fedora-common-ostree: Minor cosmetic fix 2021-11-15 20:12:06 +01:00
Timothée Ravier 58eba54567 comps-sync rawhide 2021-10-09 2021-10-09 17:20:09 +02:00
Timothée Ravier bcc49ab09c Silverblue: Exclude GNOME Connections
Remove GNOME Connections as it not a core app and is available as
Flatpak. This was added by mistake via a previous comps-sync as it was
included in the default Workstation installation.

See:
- https://pagure.io/fedora-comps/c/29839a7651f41d4ffcec65062e2a500d17dac4fe?branch=main
- https://pagure.io/workstation-ostree-config/c/72a325f103eeb877a9d65dd1b9371f33fc758395?branch=main
2021-10-04 10:56:11 +02:00
Timothée Ravier 896b292752 comps-sync f35 2021-09-28 2021-09-28 14:08:33 +02:00
Timothée Ravier 193646a75e Mate: Ignore wireplubmer and use release package from comps 2021-09-28 14:08:33 +02:00
Timothée Ravier 72a325f103 comps-sync rawhide 2021-08-23 2021-08-24 20:03:00 +02:00
Timothée Ravier 66ba0e109f Remove fedora-release-ostree-counting from manifests
See https://src.fedoraproject.org/rpms/fedora-release/pull-request/199
2021-08-24 18:22:22 +02:00
Timothée Ravier d82eefe7c3 Revert "Use sqlite instead of bdb for rpmdb"
This is now the default for rpm-ostree in F34+.

This reverts commit a2743ec5de.
2021-08-19 20:09:48 +02:00
Tomas Hrcka 2852268aab Rawhide is now f36
Signed-off-by: Tomas Hrcka <thrcka@redhat.com>
2021-08-10 14:23:18 +02:00
Timothée Ravier 4ff0f23a8b comps-sync rawhide 2021-08-02 2021-08-02 13:45:20 +02:00
Timothée Ravier f53ee393aa comps-sync rawhide 2021-07-06 2021-07-06 17:21:26 +02:00
Timothée Ravier a3833e591f comps-sync rawhide 2021-06-20 2021-06-20 11:38:41 +02:00
Timothée Ravier 43d57ab38c comps-sync rawhide 2021-06-14 2021-06-14 20:03:55 +02:00
Timothée Ravier 4247bce5e4 comps-sync rawhide 2021-06-07 2021-06-07 15:17:46 +02:00
Timothée Ravier bea529a1a2 Kinoite: Keep spectacle & a subset of plasma-nm-*
- Spectacle is not yet available as a Flatpak
- plasma-nm-openconnect, plasma-nm-openvpn and plasma-nm-vpnc are common
  VPN options so keep them installed by default. The other ones are
  either less common or insecure and will work fine as overlayed
  packages.
2021-05-30 16:45:49 +02:00
Kalev Lember ff60c0a260 Explicitly include grub2-pc instead of grub2
This makes the listing more explicit but shouldn't change the package
set as grub2-pc provides grub2.
2021-05-17 11:24:17 +02:00
Kalev Lember c6aa31404a Include shim and grub2 packages for 32-bit EFI firmware
https://pagure.io/workstation-ostree-config/issue/217
2021-05-17 10:58:58 +02:00
Tomas Popela cd73bfcc20 Silverblue: Include evince-previewer
Otherwise print previews are broken in Evince. See
https://github.com/fedora-silverblue/issue-tracker/issues/122
2021-05-13 10:18:58 +02:00
Timothée Ravier e414f58612 Switch to per variant fedora-release-* package
Move the fedora-release-* package requirement to each variant treefile
to enable per variant specifc release package. Silverblue keeps its
existing release package and Kinoite gets its own for Fedora 35:
https://fedoraproject.org/wiki/Changes/Fedora_Kinoite

For now, all other unofficial variants will use the Fedora generic
release package (or the corresponding Spin release package) with the
ostree counting and desktop sub packages to enable those features by
default.
2021-05-10 18:16:15 +02:00
Allison Karlitskaya 6383af9933 comps-sync rawhide 2021-05-01
Includes https://pagure.io/fedora-comps/pull-request/645
2021-05-01 16:33:10 +02:00
Allison Karlitskaya 00cb9ed884 comps-sync-exclude: Exclude mediawriter
It's available as a Flatpak.
2021-05-01 16:32:31 +02:00
Timothée Ravier 8e483e4dd3 comps-sync rawhide 2021-04-26
Includes https://pagure.io/fedora-comps/pull-request/651
2021-04-26 18:54:06 +02:00
Timothée Ravier 0a1adf6f6c
comps-sync-exclude: Keep ntfs-3g (already included)
ntfs-3g is required for proper RW support of NTFS partitions and is
already included via a dependency from another package.
2021-04-12 12:31:56 +02:00
Timothée Ravier 4a19517471
comps-sync rawhide 2021-04-10 2021-04-10 16:39:30 +02:00
Timothée Ravier cea2e95d23 Kinoite: Replace plasma-pk-updates by plasma-discover-notifier
plasma-pk-updates was previously excluded and plasma-discover-notifier
will gain support for rpm-ostree based systems in an upcoming release.
Flatpak and fwupd support is already functionnal.
2021-04-01 12:23:38 +02:00
Kalev Lember d57d538e39 fedora-common-ostree: Drop flatpak-builder
People who do local flatpak builds can use flatpak-builder from toolbox,
or just use flathub gnome-builder that bundles flatpak-builder.
2021-03-29 17:19:54 +02:00
Timothée Ravier dc78baa941 comps-sync rawhide 2021-03-25 2021-03-25 12:58:18 +01:00
Timothée Ravier 9116a38a71 comps-sync: Exclude arch specific s390utils-base package 2021-03-25 12:58:18 +01:00
Timothée Ravier 78d6cf5424 Kinoite: Explicitely exclude PackageKit & Offline updates support 2021-03-25 12:58:18 +01:00
Timothée Ravier 2c7dc6fa80
comps-sync: Exclude python3-dnf-plugin-system-upgrade 2021-02-26 12:51:48 +01:00
Kalev Lember df22c7fdc8 Include totem-video-thumbnailer for video thumbnailing in Nautilus
https://pagure.io/fedora-workstation/issue/168
2021-02-23 14:34:55 +01:00
Timothée Ravier a2743ec5de
Use sqlite instead of bdb for rpmdb 2021-02-19 11:13:41 +01:00
Timothée Ravier 0ed8f327de
comps-sync rawhide 2021-02-18 2021-02-18 18:15:35 +01:00
Tomas Hrcka 29db52d114 Setup for rawhide being F35
Signed-off-by: Tomas Hrcka <thrcka@redhat.com>
2021-02-09 14:48:30 +01:00
38 changed files with 1230 additions and 444 deletions

View File

@ -1,25 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIENDCCAxygAwIBAgIJANunI0D662cnMA0GCSqGSIb3DQEBCwUAMIGlMQswCQYD
VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExEDAOBgNVBAcMB1JhbGVp
Z2gxFjAUBgNVBAoMDVJlZCBIYXQsIEluYy4xEzARBgNVBAsMClJlZCBIYXQgSVQx
GzAZBgNVBAMMElJlZCBIYXQgSVQgUm9vdCBDQTEhMB8GCSqGSIb3DQEJARYSaW5m
b3NlY0ByZWRoYXQuY29tMCAXDTE1MDcwNjE3MzgxMVoYDzIwNTUwNjI2MTczODEx
WjCBpTELMAkGA1UEBhMCVVMxFzAVBgNVBAgMDk5vcnRoIENhcm9saW5hMRAwDgYD
VQQHDAdSYWxlaWdoMRYwFAYDVQQKDA1SZWQgSGF0LCBJbmMuMRMwEQYDVQQLDApS
ZWQgSGF0IElUMRswGQYDVQQDDBJSZWQgSGF0IElUIFJvb3QgQ0ExITAfBgkqhkiG
9w0BCQEWEmluZm9zZWNAcmVkaGF0LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEP
ADCCAQoCggEBALQt9OJQh6GC5LT1g80qNh0u50BQ4sZ/yZ8aETxt+5lnPVX6MHKz
bfwI6nO1aMG6j9bSw+6UUyPBHP796+FT/pTS+K0wsDV7c9XvHoxJBJJU38cdLkI2
c/i7lDqTfTcfLL2nyUBd2fQDk1B0fxrskhGIIZ3ifP1Ps4ltTkv8hRSob3VtNqSo
GxkKfvD2PKjTPxDPWYyruy9irLZioMffi3i/gCut0ZWtAyO3MVH5qWF/enKwgPES
X9po+TdCvRB/RUObBaM761EcrLSM1GqHNueSfqnho3AjLQ6dBnPWlo638Zm1VebK
BELyhkLWMSFkKwDmne0jQ02Y4g075vCKvCsCAwEAAaNjMGEwHQYDVR0OBBYEFH7R
4yC+UehIIPeuL8Zqw3PzbgcZMB8GA1UdIwQYMBaAFH7R4yC+UehIIPeuL8Zqw3Pz
bgcZMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB
CwUAA4IBAQBDNvD2Vm9sA5A9AlOJR8+en5Xz9hXcxJB5phxcZQ8jFoG04Vshvd0e
LEnUrMcfFgIZ4njMKTQCM4ZFUPAieyLx4f52HuDopp3e5JyIMfW+KFcNIpKwCsak
oSoKtIUOsUJK7qBVZxcrIyeQV2qcYOeZhtS5wBqIwOAhFwlCET7Ze58QHmS48slj
S9K0JAcps2xdnGu0fkzhSQxY8GPQNFTlr6rYld5+ID/hHeS76gq0YG3q6RLWRkHf
4eTkRjivAlExrFzKcljC4axKQlnOvVAzz+Gm32U0xPBF4ByePVxCJUHw1TsyTmel
RxNEp7yHoXcwn+fXna+t5JWh1gxUZty3
-----END CERTIFICATE-----

19
LICENSE Normal file
View File

@ -0,0 +1,19 @@
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 (including the next
paragraph) 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.

167
README.md
View File

@ -1,73 +1,100 @@
# Vladan's X13 Gen 1 Sway Desktop config
This is an [rpm-ostree](https://coreos.github.io/rpm-ostree/) based minimal
[Fedora](https://getfedora.org/) developer desktop with the [sway window manager](https://swaywm.org/) and [podman](https://podman.io/)/[toolbox](https://docs.fedoraproject.org/en-US/fedora-silverblue/toolbox/) for doing development and running less common graphical applications.
Run `sudo ./compose.sh` from the root folder of this repo to build the rootfs in a local repo. Don't forget to change the path related env vars.
---
Original README for [workstation-ostree-config](https://pagure.io/workstation-ostree-config)
---
# Manifests for rpm-ostree based Fedora variants
This is the configuration needed to create
[rpm-ostree](https://coreos.github.io/rpm-ostree/) based variants of Fedora.
Each variant is described in a YAML
[treefile](https://coreos.github.io/rpm-ostree/treefile/) which is then used by
rpm-ostree to compose an ostree commit with the package requested.
In the Fedora infrastructure, this happens via
[pungi](https://pagure.io/pungi-fedora) with
[Lorax](https://github.com/weldr/lorax)
([templates](https://pagure.io/fedora-lorax-templates)).
## Fedora Silverblue
- Website: https://silverblue.fedoraproject.org/ ([sources](https://github.com/fedora-silverblue/silverblue-site))
- Documentation: https://docs.fedoraproject.org/en-US/fedora-silverblue/ ([sources](https://github.com/fedora-silverblue/silverblue-docs))
- Issue tracker: https://github.com/fedora-silverblue/issue-tracker/issues
## Fedora Kinoite
- Website: https://kinoite.fedoraproject.org/ ([sources](https://pagure.io/fedora-kde/kinoite-site))
- Documentation: https://docs.fedoraproject.org/en-US/fedora-kinoite/ ([sources](https://pagure.io/fedora-kde/kinoite-docs))
- Issue tracker: https://pagure.io/fedora-kde/SIG/issues
## Building
Instructions to perform a local build of Silverblue:
```
# Clone the config
git clone https://pagure.io/workstation-ostree-config && cd workstation-ostree-config
# Prepare directories
mkdir -p repo cache
ostree --repo=repo init --mode=archive
# Build (compose) the variant of your choice
sudo rpm-ostree compose tree --repo=repo --cachedir=cache fedora-silverblue.yaml
# Update summary file
ostree summary --repo=repo --update
```
## Testing
Instructions to test the resulting build:
- First, serve the ostree repo using an HTTP server. You can use any static file server. For example using <https://github.com/TheWaWaR/simple-http-server>:
```
simple-http-server --index --ip 192.168.122.1 --port 8000
```
- Then, on an already installed Silverblue system:
```
# Add an ostree remote
sudo ostree remote add testremote http://192.168.122.1:8000/repo --no-gpg-verify
# Pin the currently deployed (and probably working) version
sudo ostree admin pin 0
# List refs from variant remote
sudo ostree remote refs testremote
# Switch to your variant
sudo rpm-ostree rebase testremote:fedora/rawhide/x86_64/silverblue
# Reboot and test!
```
## Historical references
Building and testing instructions:
- https://dustymabe.com/2017/10/05/setting-up-an-atomic-host-build-server/
- https://dustymabe.com/2017/08/08/how-do-we-create-ostree-repos-and-artifacts-in-fedora/
- https://www.projectatomic.io/blog/2017/12/compose-custom-ostree/
- https://www.projectatomic.io/docs/compose-your-own-tree/
For some background, see: For some background, see:
- https://fedoraproject.org/wiki/Workstation/AtomicWorkstation - <https://fedoraproject.org/wiki/Workstation/AtomicWorkstation>
- https://fedoraproject.org/wiki/Changes/WorkstationOstree - <https://fedoraproject.org/wiki/Changes/WorkstationOstree>
- <https://fedoraproject.org/wiki/Changes/Silverblue>
- <https://fedoraproject.org/wiki/Changes/Fedora_Kinoite>
(Note also this repo obsoletes https://pagure.io/atomic-ws) Note also this repo obsoletes https://pagure.io/atomic-ws
High level design
-----------------
The goal of the system is to be a workstation, using
rpm-ostree for the base OS, and a combination of
Docker and Flatpak containers, as well as virtualization
tools such as Vagrant.
Status
------
This project is actively maintained and is ready for use
by sophisticated and interested users, but not ready
for widespread promotion.
See some [https://lists.fedoraproject.org/archives/list/desktop@lists.fedoraproject.org/thread/J6BJS7Z4NKNOQUZWGYXZZIEKYMWBBSUY/](discussion about the first release).
Installing
------------
See the Silverblue documentation at
https://docs.fedoraproject.org/en-US/fedora-silverblue/installation-guide/.
There's also a guide for installing inside an existing system:
https://docs.fedoraproject.org/en-US/fedora-silverblue/installation-dual-boot/.
Important issues:
-----------------------
- [flatpak system repo](https://github.com/flatpak/flatpak/issues/113#issuecomment-247022006)
Using the system
--------------------
One of the first things you should do use is use a container runtime of your
choice to manage one or more "pet" containers. This is where you will use
`yum/dnf` to install utilities.
With `docker` for example, you can use the `-v /srv:/srv` command line option so
these containers can share content with your host (such as git repositories).
Note that if you want to share content between multiple Docker containers and
the host (e.g. your desktop session), you should execute (once):
```
sudo chcon -R -h -t container_file_t /var/srv
```
Next, let's try flatpak. Before you do: There's a known flatpak issue on
AtomicWS - run [this workaround](https://github.com/flatpak/flatpak/issues/113#issuecomment-247022006),
which you only need to do once. After that, [try flatpak](http://flatpak.org/apps.html).
If you are a developer for server applications,
try [oc cluster up](https://github.com/openshift/origin/blob/master/docs/cluster_up_down.md) to
create a local OpenShift v3 cluster.
Finally, try out `rpm-ostree install` to layer additional packages directly on
the host. This is needed for "host extensions" - privileged software that
doesn't make sense to live in a container. For example, `rpm-ostree install
powerline` to use that software for the shell prompts of the host. Another
good example is `rpm-ostree install vagrant-libvirt` to use [Vagrant](https://www.vagrantup.com/)
to manage VMs.
Future work
-----------
- GNOME Software support for both rpm-ostree/flatpak and possibly docker
- automated tests that run on this content

View File

@ -1,6 +1,6 @@
[copr:copr.fedorainfracloud.org:dawid:better_fonts] [copr:copr.fedorainfracloud.org:dawid:better_fonts]
name=Copr repo for better_fonts owned by dawid name=Copr repo for better_fonts owned by dawid
baseurl=https://download.copr.fedorainfracloud.org/results/dawid/better_fonts/fedora-34-$basearch/ baseurl=https://download.copr.fedorainfracloud.org/results/dawid/better_fonts/fedora-37-$basearch/
type=rpm-md type=rpm-md
skip_if_unavailable=True skip_if_unavailable=True
gpgcheck=1 gpgcheck=1

View File

@ -1,7 +1,7 @@
#!/bin/sh #!/bin/sh
set -eu set -eu
CACHE=/var/cache/x1-gen7-sway-ostree CACHE=/var/cache/x13-gen1-sway-ostree
REPO=/srv/ostree/repo REPO=/srv/ostree/x13-gen1-sway-repo
mkdir -p $CACHE mkdir -p $CACHE
@ -9,4 +9,5 @@ if [ ! -d $REPO/objects ]; then
ostree --repo=$REPO init --mode=archive-z2 ostree --repo=$REPO init --mode=archive-z2
fi fi
rpm-ostree compose tree --unified-core --cachedir=$CACHE --repo=$REPO x1-gen7-sway-desktop.yaml rpm-ostree compose tree --unified-core --cachedir=$CACHE --repo=$REPO x13-gen1-sway-desktop.yaml
ostree summary --repo=$REPO --update

View File

@ -141,7 +141,6 @@ desktop_exclude_list:
- evince-nautilus - evince-nautilus
- file-roller - file-roller
- file-roller-nautilus - file-roller-nautilus
- gedit
- gnome-boxes - gnome-boxes
- gnome-calculator - gnome-calculator
- gnome-calendar - gnome-calendar
@ -155,6 +154,7 @@ desktop_exclude_list:
- gnome-maps - gnome-maps
- gnome-photos - gnome-photos
- gnome-screenshot - gnome-screenshot
- gnome-text-editor
- gnome-weather - gnome-weather
- jwhois - jwhois
- rdist - rdist

View File

@ -10,10 +10,10 @@ os_pretty_name = Fedora ostree Workstation
tree_name = workstation tree_name = workstation
tree_file = %(os_name)s-%(tree_name)s.json tree_file = %(os_name)s-%(tree_name)s.json
arch = x86_64 arch = x86_64
release = rawhide release = 36
ref = %(os_name)s/%(release)s/%(arch)s/%(tree_name)s ref = %(os_name)s/%(release)s/%(arch)s/%(tree_name)s
# Force use of a closeish and fastish HTTP mirror, so that the HTTP proxy works # Force use of a closeish and fastish HTTP mirror, so that the HTTP proxy works
yum_baseurl = https://download.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/%(arch)s/os/ yum_baseurl = https://download.fedoraproject.org/pub/fedora/linux/development/36/Everything/%(arch)s/os/
# lorax_additional_repos = http://127.0.0.1/fedora-atomic/local-overrides # lorax_additional_repos = http://127.0.0.1/fedora-atomic/local-overrides
# lorax_include_packages = fedora-productimg-atomic # lorax_include_packages = fedora-productimg-atomic
docker_os_name = fedora docker_os_name = fedora

View File

@ -1 +0,0 @@
blacklist i2c_i801

View File

@ -1,6 +0,0 @@
# /usr/share/wayland-sessions/sway-service.desktop
[Desktop Entry]
Name=Sway Service
Comment=i3-compatible Wayland compositor as a systemd service
Exec=sway-service.sh
Type=Application

View File

@ -0,0 +1,42 @@
#!/usr/bin/env python
# This script keeps track of active keyboard layouts per window.
#
# This script requires i3ipc-python package (install it from a system package
# manager or pip).
#
# https://github.com/swaywm/sway/pull/4504/files
import i3ipc
sway = i3ipc.Connection()
prev_focused = sway.get_tree().find_focused().id
windows = {}
def on_window_focus(ipc, event):
global windows, prev_focused
# Save current layouts
layouts = {input.identifier: input.xkb_active_layout_index for input in sway.get_inputs()}
windows[prev_focused] = layouts
# Restore layout of the newly focused window
if event.container.id in windows:
for (input_id, layout_index) in windows[event.container.id].items():
if layout_index != layouts[input_id]:
sway.command(f'input "{input_id}" xkb_switch_layout {layout_index}')
prev_focused = event.container.id
def on_window_close(ipc, event):
global windows
if event.container.id in windows:
del(windows[event.container.id])
def on_window(ipc, event):
if event.change == "focus":
on_window_focus(ipc, event)
elif event.change == "close":
on_window_close(ipc, event)
sway.on("window", on_window)
sway.main()

1
config/sway/config Normal file
View File

@ -0,0 +1 @@
include /etc/sway/config.d/*

View File

@ -0,0 +1,15 @@
### Variables
#
# Logo key. Use Mod1 for Alt.
set $mod Mod4
# Home row direction keys, like vim
set $left h
set $down j
set $up k
set $right l
# Your preferred terminal emulator
set $term alacritty
# Your preferred application launcher
# Note: it's recommended that you pass the final command to sway
# set $menu wofi -c $HOME/.config/wofi/config -s $HOME/.config/wofi/style.css | xargs swaymsg exec --
set $menu wldash

View File

@ -0,0 +1,16 @@
### Output configuration
#
# Example configuration:
#
# output HDMI-A-1 resolution 1920x1080 position 1920,0
#
# You can get the names of your outputs by running: swaymsg -t get_outputs
#
output DP-1 bg ~/.config/sway/bkg2.jpg fill
output DP-1 scale 1.2 res 3840x2160 pos 0 0
output DP-2 bg ~/.config/sway/bkg2.jpg fill
output DP-2 scale 1.2 res 3840x2160 pos 0 0
output HDMI-A-1 bg ~/.config/sway/bkg2.jpg fill
output HDMI-A-1 scale 1.2 res 3840x2160 pos 0 0
output eDP-1 bg ~/.config/sway/bkg.jpg fill
output eDP-1 scale 1.0 res 1920x1080 pos 640 1800

View File

@ -0,0 +1,27 @@
### Input configuration
#
# Example configuration:
#
# input "2:14:SynPS/2_Synaptics_TouchPad" {
# dwt enabled
# tap enabled
# natural_scroll enabled
# middle_emulation enabled
# }
#
# You can get the names of your inputs by running: swaymsg -t get_inputs
# Read `man 5 sway-input` for more information about this section.
input * xkb_layout "us,mk"
input * xkb_variant "typewriter"
input * xkb_options "grp:caps_toggle"
# Pulse Audio controls
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume 0 +5% #increase sound volume
bindsym XF86AudioLowerVolume exec pactl set-sink-volume 0 -5% #decrease sound volume
bindsym XF86AudioMute exec pactl set-sink-mute 0 toggle # mute sound
bindsym XF86AudioMicMute exec pactl set-source-mute alsa_input.pci-0000_00_1b.0.analog-stereo toggle # mute mic
# Sreen brightness controls
bindsym XF86MonBrightnessUp exec brightnessctl -q s +10%
bindsym XF86MonBrightnessDown exec brightnessctl -q s 10%-

View File

@ -0,0 +1,47 @@
#
# Status Bar:
#
# Read `man 5 sway-bar` for more information about this section.
bar {
position top
# When the status_command prints a new line to stdout, swaybar updates.
# The default just shows the current date and time.
swaybar_command waybar
}
# Remove title from windows
default_border pixel 1
default_floating_border normal
bindsym $mod+t border toggle
hide_edge_borders smart
# Background
set $bg #232425
# Background active
set $ba #191919
# Background inactive
set $bi #3f3f3f
# Foreground active
set $fa #eff1f5
# Foreground inactive
set $fi #646464
# Border active
set $bra #9a9a9a
# Border inactive
set $bri #000000
# class border backgr. text indicator child_border
client.focused $bra $bra $bg $bg $bra
client.focused_inactive $bra $ba $fa $bg $bri
client.unfocused $bri $bi $fi $bg $bri
#client.urgent $br $br $fg $bg $br #currently not implemented
#client.placeholder $br $br $fg $bg $br #currently not implemented
client.background $bg
gaps inner 0
gaps outer 0
#smart_gaps on
for_window [app_id=".*"] border normal

View File

@ -0,0 +1,34 @@
for_window [class="Firefox"] mark Browser
for_window [class="Firefox" window_role="Browser"] {
border normal 0
}
# firefox floating menus
for_window [window_role="pop-up"] floating enable
for_window [window_role="task_dialog"] floating enable
for_window [window_role="pop-up"] floating enable
for_window [window_role="bubble"] floating enable
for_window [window_role="task_dialog"] floating enable
for_window [window_role="Preferences"] floating enable
for_window [window_type="dialog"] floating enable
for_window [window_type="menu"] floating enable
for_window [title="About Mozilla Firefox"] floating enabled
for_window [title="Password Required - Mozilla Firefox"] floating enabled
for_window [app_id="pinentry-qt"] {
move position center
floating enable
}
for_window [app_id="pavucontrol"] {
move position center
floating enable
}
for_window [app_id="wdisplays"] {
floating enable
}
for_window [app_id="com.nextcloud.desktopclient.nextcloud"] {
border normal 1
floating enable
}
for_window [app_id="avizo-service"] border pixel 0
for_window [app_id="avizo-service"] sticky toggle
no_focus [app_id="avizo-service"]

View File

@ -0,0 +1,150 @@
### Key bindings
#
# Basics:
#
# start a terminal
bindsym $mod+Return exec $term
# kill focused window
bindsym $mod+Shift+q kill
# start your launcher
bindsym $mod+d exec $menu
# Drag floating windows by holding down $mod and left mouse button.
# Resize them with right mouse button + $mod.
# Despite the name, also works for non-floating windows.
# Change normal to inverse to use left mouse button for resizing and right
# mouse button for dragging.
floating_modifier $mod normal
# reload the configuration file
bindsym $mod+Shift+c reload
# exit sway (logs you out of your Wayland session)
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -b 'Yes, exit sway' 'swaymsg exit'
#
# Moving around:
#
# Move your focus around
bindsym $mod+$left focus left
bindsym $mod+$down focus down
bindsym $mod+$up focus up
bindsym $mod+$right focus right
# or use $mod+[up|down|left|right]
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# _move_ the focused window with the same, but add Shift
bindsym $mod+Shift+$left move left
bindsym $mod+Shift+$down move down
bindsym $mod+Shift+$up move up
bindsym $mod+Shift+$right move right
# ditto, with arrow keys
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
#
# Workspaces:
#
# switch to workspace
bindsym $mod+1 workspace 1
bindsym $mod+2 workspace 2
bindsym $mod+3 workspace 3
bindsym $mod+4 workspace 4
bindsym $mod+5 workspace 5
bindsym $mod+6 workspace 6
bindsym $mod+7 workspace 7
bindsym $mod+8 workspace 8
bindsym $mod+9 workspace 9
bindsym $mod+0 workspace 10
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace 1
bindsym $mod+Shift+2 move container to workspace 2
bindsym $mod+Shift+3 move container to workspace 3
bindsym $mod+Shift+4 move container to workspace 4
bindsym $mod+Shift+5 move container to workspace 5
bindsym $mod+Shift+6 move container to workspace 6
bindsym $mod+Shift+7 move container to workspace 7
bindsym $mod+Shift+8 move container to workspace 8
bindsym $mod+Shift+9 move container to workspace 9
bindsym $mod+Shift+0 move container to workspace 10
# Note: workspaces can have any name you want, not just numbers.
# We just use 1-10 as the default.
#
# Layout stuff:
#
# You can "split" the current object of your focus with
# $mod+b or $mod+v, for horizontal and vertical splits
# respectively.
bindsym $mod+b splith
bindsym $mod+v splitv
# Switch the current container between different layout styles
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# Make the current focus fullscreen
bindsym $mod+f fullscreen
# Toggle the current focus between tiling and floating mode
bindsym $mod+Shift+space floating toggle
# Swap focus between the tiling area and the floating area
bindsym $mod+space focus mode_toggle
# move focus to the parent container
bindsym $mod+a focus parent
#
# Scratchpad:
#
# Sway has a "scratchpad", which is a bag of holding for windows.
# You can send windows there and get them back later.
# Move the currently focused window to the scratchpad
bindsym $mod+Shift+minus move scratchpad
# Show the next scratchpad window or hide the focused scratchpad window.
# If there are multiple scratchpad windows, this command cycles through them.
bindsym $mod+minus scratchpad show
# Lock screen
bindsym $mod+z exec swaylock -c 000000
# Take full screen screenshot with PrtScr
bindsym Print exec grim -t png /tmp/screen.png
# Take area screenshot with Shift+PrtScr
bindsym Shift+Print exec grim -g "$(slurp)" /tmp/screen.png
#
# Resizing containers:
#
bindsym $mod+r mode "resize"
mode "resize" {
# left will shrink the containers width
# right will grow the containers width
# up will shrink the containers height
# down will grow the containers height
bindsym $left resize shrink width 10px
bindsym $down resize grow height 10px
bindsym $up resize shrink height 10px
bindsym $right resize grow width 10px
# ditto, with arrow keys
bindsym Left resize shrink width 10px
bindsym Down resize grow height 10px
bindsym Up resize shrink height 10px
bindsym Right resize grow width 10px
# return to default mode
bindsym Return mode "default"
bindsym Escape mode "default"
}

View File

@ -0,0 +1,52 @@
# Change focus between workspaces
unbindsym $mod+1
unbindsym $mod+2
unbindsym $mod+3
unbindsym $mod+4
unbindsym $mod+5
unbindsym $mod+6
unbindsym $mod+7
unbindsym $mod+8
unbindsym $mod+9
unbindsym $mod+0
bindsym $mod+1 exec "swaysome focus 1"
bindsym $mod+2 exec "swaysome focus 2"
bindsym $mod+3 exec "swaysome focus 3"
bindsym $mod+4 exec "swaysome focus 4"
bindsym $mod+5 exec "swaysome focus 5"
bindsym $mod+6 exec "swaysome focus 6"
bindsym $mod+7 exec "swaysome focus 7"
bindsym $mod+8 exec "swaysome focus 8"
bindsym $mod+9 exec "swaysome focus 9"
bindsym $mod+0 exec "swaysome focus 0"
# Move containers between workspaces
unbindsym $mod+Shift+1
unbindsym $mod+Shift+2
unbindsym $mod+Shift+3
unbindsym $mod+Shift+4
unbindsym $mod+Shift+5
unbindsym $mod+Shift+6
unbindsym $mod+Shift+7
unbindsym $mod+Shift+8
unbindsym $mod+Shift+9
unbindsym $mod+Shift+0
bindsym $mod+Shift+1 exec "swaysome move 1"
bindsym $mod+Shift+2 exec "swaysome move 2"
bindsym $mod+Shift+3 exec "swaysome move 3"
bindsym $mod+Shift+4 exec "swaysome move 4"
bindsym $mod+Shift+5 exec "swaysome move 5"
bindsym $mod+Shift+6 exec "swaysome move 6"
bindsym $mod+Shift+7 exec "swaysome move 7"
bindsym $mod+Shift+8 exec "swaysome move 8"
bindsym $mod+Shift+9 exec "swaysome move 9"
bindsym $mod+Shift+0 exec "swaysome move 0"
# Move focused container to next output
bindsym $mod+o exec "swaysome next_output"
# Move focused container to previous output
bindsym $mod+Shift+o exec "swaysome prev_output"
# Init workspaces for every screen
exec "swaysome init 1"

View File

@ -0,0 +1,3 @@
exec "/usr/local/bin/keyboard-layout-per-window.py"
exec "systemctl --user start sway-session.target"
exec dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway

View File

@ -1,6 +0,0 @@
[Unit]
Description=sway compositor session
Documentation=man:systemd.special(7)
BindsTo=graphical-session.target wayland-session.target
Wants=graphical-session-pre.target
After=graphical-session-pre.target

View File

@ -1,16 +0,0 @@
# SPDX-License-Identifier: LGPL-2.1+
#
# This file is inspired from systemd's `graphical-session.target`
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
[Unit]
Description=Current wayland user session
Documentation=man:systemd.special(7)
Requires=basic.target
RefuseManualStart=yes
StopWhenUnneeded=yes
BindsTo=graphical-session.target

View File

@ -1,95 +1,90 @@
{ {
"layer": "top", "layer": "top", // Waybar at top layer
"position": "bottom", "position": "bottom", // Waybar position (top|bottom|left|right)
"height": 24, "height": 30,
"modules-left": ["sway/workspaces", "idle_inhibitor", "sway/mode"], "modules-left": ["sway/workspaces", "sway/mode", "sway/window"],
"modules-center": ["sway/window"], "modules-center": [],
"modules-right": [ "pulseaudio", "backlight", "network", "cpu", "memory", "battery#bat0", "battery#bat1", "modules-right": ["temperature", "network", "battery", "pulseaudio", "backlight", "cpu", "memory", "custom/layout", "clock", "tray"],
"tray", "sway/language", "clock" ], // Module config
"sway/workspaces": { "sway/mode": {
"disable-scroll": true, "tooltip": true,
"all-outputs": true, "format": "<span weight=\"bold\">{}</span>"
"format": "{index} {name}" },
"temperature": {
"thermal-zone": 1,
"hwmon-path": "/sys/class/hwmon/hwmon2/temp3_input",
"critical-threshold": 80,
"format-critical": "🌡 {temperatureC}°C",
"format": " {temperatureC}°C"
},
"custom/vpn": {
},
"network": {
"tooltip": false,
"interface": "wlp3s0*",
"format-wifi": " {essid} ({signalStrength}%)",
"format-ethernet": "{ifname}: {ipaddr}/{cidr}",
"format-linked": "{ifname} (No IP)",
"format-alt": "{ifname}: {ipaddr}",
"format-disconnected": "No internet"
},
"battery": {
"tooltip": false,
"states": {
"good": 95,
"warning": 30,
"critical": 15
}, },
"sway/mode": { "format": "{icon} {capacity}%",
"format": "{}" "format-alt": "{time} {icon} {power}",
"format-charging": " {capacity}%",
"format-icons": ["🪫", "", "🔋"],
"format-plugged": " {capacity}%"
},
"backlight": {
"device": "amdgpu_bl0",
"format": "{icon} {percent}%",
"format-icons": ["", ""]
},
"pulseaudio": {
"tooltip": true,
"scroll-step": 1.0,
"format": "{icon} {volume}%",
"format-bluetooth": " {volume}%",
"format-muted": "🔇",
"format-source": "{volume}%",
"format-source-muted": "🔇",
"format-icons": {
"headphones": "🎧",
"handsfree": "🎧",
"headset": "🎧",
"phone": "",
"portable": "",
"car": "",
"default": ["🔊"]
}, },
"sway/language": { "on-click": "pavucontrol"
"format": "{}", },
"max-length": 50 "cpu": {
}, "interval": 5,
"tray": { "tooltip": false,
// "icon-size": 21, "format": " {usage}%"
"spacing": 10 },
}, "memory": {
"clock": { "format": " {}%"
"tooltip-format": "{:%A\n%d %B %Y\n%H:%M}", },
"format": "{:%a %d %b %H:%M}", "custom/layout": {
"format-alt": "{:%H:%M}" "exec": "/etc/xdg/waybar/keyboard-layout.py",
}, "return-type": "json",
"cpu": { "format": "| <span color='#ef9f33'>{}</span>"
"format": "{usage:2}% " },
}, "clock": {
"memory": { "tooltip": false,
"format": "{}% " "format": "| {:%d.%m.%Y %H:%M}"
}, },
"battery#bat0": { "tray": {
"bat": "BAT0", "tooltip": false,
"name": "BAT0", "icon-size": 18,
"states": { "spacing": 5
"warning": 20, }
"critical": 10
},
"format": "{capacity}% {icon}",
"format-icons": ["", "", "", "", ""]
},
"battery#bat1": {
"bat": "BAT1",
"name": "BAT1",
"states": {
"warning": 20,
"critical": 10
},
"format": "{capacity}% {icon}",
"format-icons": ["", "", "", "", ""]
},
"network": {
"interval": 1,
"max-width": 50,
// "interface": "wlp2s0", // (Optional) To force the use of this interface
"format-wifi": "",
"format-ethernet": "{bandwidthUpBits} {bandwidthDownBits} ",
"format-disconnected": "⚠",
"tooltip-format-wifi": " {essid}: {frequency}Mhz ({signalStrength}%)\n{bandwidthUpBits}\n{bandwidthDownBits}",
"tooltip-format-ethernet": " {ifname}: {ipaddr}/{cidr}",
"tooltip-format-disconnected": "⚠ Disconnected"
},
"pulseaudio": {
//"scroll-step": 1,
"format": "{volume}% {icon}",
"format-bluetooth": "{volume}% {icon}",
"format-muted": "",
"format-icons": {
"headphones": "",
"handsfree": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": ["", ""]
},
"on-click": "pavucontrol"
},
"backlight": {
"device": "intel_backlight",
"format": "{percent}% {icon}",
"format-icons": ["", ""]
},
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "",
"deactivated": ""
}
}
} }

View File

@ -0,0 +1,36 @@
#!/usr/bin/python
import i3ipc
import json
long_to_short = {
'English (US)': 'en',
'Macedonian': 'mk',
}
def print_status(keyboard):
layout = keyboard.xkb_active_layout_name
short_code = long_to_short.get(layout, layout)
output = {"text": short_code, "tooltip": layout, "class": short_code}
print(json.dumps(output), flush=True)
def find_keyboard(sway):
# *the* keyboard is the one with more than one layout
for input_dev in sway.get_inputs():
if input_dev.type == 'keyboard' and len(input_dev.xkb_layout_names) > 1:
return input_dev
def on_input(sway, event):
if event.change == "xkb_layout" and \
event.input.identifier == sway.keyboard.identifier:
print_status(event.input)
def main():
sway = i3ipc.Connection()
sway.keyboard = find_keyboard(sway)
print_status(sway.keyboard)
sway.on(i3ipc.Event.INPUT, on_input)
sway.main()
main()

View File

@ -1,14 +1,13 @@
* { * {
border: none; border: none;
border-radius: 0; border-radius: 0;
font-family: Roboto, Helvetica, Arial, sans-serif; font-family: Consolas, "Material Design Icons";
font-size: 13px; font-size: 1em;
min-height: 0; min-height: 0;
} }
window#waybar { window#waybar {
background-color: rgba(43, 48, 59, 0.5); background-color: rgba(11, 11, 11, 0.8);
border-bottom: 3px solid rgba(100, 114, 125, 0.5);
color: #ffffff; color: #ffffff;
transition-property: background-color; transition-property: background-color;
transition-duration: .5s; transition-duration: .5s;
@ -18,6 +17,20 @@ window#waybar.hidden {
opacity: 0.2; opacity: 0.2;
} }
#window {
padding: 0 15px;
}
window {
color: rgba(217, 216, 216, 1);
background: rgba(35, 31, 32, 0.00);
}
window#waybar.solo {
color: rgba(217, 216, 216, 1);
background: rgba(35, 31, 32, 0.85);
}
/* /*
window#waybar.empty { window#waybar.empty {
background-color: transparent; background-color: transparent;
@ -27,187 +40,84 @@ window#waybar.solo {
} }
*/ */
window#waybar.termite { /* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
background-color: #3F3F3F;
}
window#waybar.chromium {
background-color: #000000;
border: none;
}
#workspaces button { #workspaces button {
padding: 0 5px; padding: 0 5px;
background-color: transparent; background-color: transparent;
color: #ffffff; border-bottom: 2px solid rgba(180, 14, 25, 0.5);
border-bottom: 3px solid transparent; color: #999999;
}
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
#workspaces button:hover {
background: rgba(0, 0, 0, 0.2);
box-shadow: inherit;
border-bottom: 3px solid #ffffff;
} }
#workspaces button.focused { #workspaces button.focused {
background-color: #64727D; color: #ffffff;
border-bottom: 3px solid #ffffff; background-color: #333333;
border-bottom: 2px solid #ff9600;
} }
#workspaces button.urgent { #workspaces button.urgent {
background-color: #eb4d4b; background-color: #eb4d4b;
} }
#mode { #clock,
background-color: #64727D; #custom-vpn,
border-bottom: 3px solid #ffffff; #battery,
}
#cpu, #cpu,
#memory, #memory,
#temperature,
#backlight, #backlight,
#network, #network,
#pulseaudio, #pulseaudio,
#custom-media,
#tray, #tray,
#temperature,
#mode, #mode,
#idle_inhibitor { #idle_inhibitor {
padding: 0 10px; padding: 0 5px;
margin: 0 4px; margin: 0 4px;
background-color: transparent;
border-bottom: 2px solid #bdbd45;
color: #ffffff; color: #ffffff;
} }
#clock { #temperature {
padding: 0 10px; border-bottom: 2px solid #42a832;
color: #ffffff; }
background-color: #64727D; #mode {
background-color: #00ff96;
color: #000000;
} }
#battery .BAT0 { #pulseaudio,
margin-left: 9px; #clock,
} #tray,
#battery .BAT1 { #cpu {
margin-right: 9px; border-bottom: transparent;
} }
#battery { #battery {
padding: 0 10px; border-bottom: 2px solid #bff874;
background-color: #ffffff;
color: #000000;
} }
#battery.charging { #battery.charging {
color: #ffffff; border-bottom: 2px solid #00ff96;
background-color: #26A65B;
}
@keyframes blink {
to {
background-color: #ffffff;
color: #000000;
}
} }
#custom-vpn.down,
#temperature.critical,
#battery.critical:not(.charging) { #battery.critical:not(.charging) {
background-color: #f53c3c; border-bottom: 2px solid #dd2241;
color: #ffffff;
animation-name: blink;
animation-duration: 0.5s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
} }
label:focus { label:focus {
background-color: #000000; background-color: #000000;
} }
#cpu {
background-color: #2ecc71;
color: #000000;
}
#memory {
background-color: #9b59b6;
}
#backlight {
background-color: #90b1b1;
}
#network {
background-color: #2980b9;
}
#network.disconnected { #network.disconnected {
background-color: #f53c3c; border-bottom: 2px solid #dd2241;
} }
#pulseaudio { #pulseaudio.bluetooth {
background-color: #f1c40f; border-bottom: 2px solid #1a8cff;
color: #000000;
} }
#pulseaudio.muted { #pulseaudio.muted {
background-color: #90b1b1; border-bottom: 2px solid #fff569;
color: #2a5c45;
} }
#custom-media {
background-color: #66cc99;
color: #2a5c45;
min-width: 100px;
}
#custom-media.custom-spotify {
background-color: #66cc99;
}
#custom-media.custom-vlc {
background-color: #ffa000;
}
#temperature {
background-color: #f0932b;
}
#temperature.critical {
background-color: #eb4d4b;
}
#tray {
background-color: #2980b9;
}
#idle_inhibitor {
background-color: #2d3436;
}
#idle_inhibitor.activated {
background-color: #ecf0f1;
color: #2d3436;
}
#mpd {
background-color: #66cc99;
color: #2a5c45;
}
#mpd.disconnected {
background-color: #f53c3c;
}
#mpd.stopped {
background-color: #90b1b1;
}
#mpd.paused {
background-color: #51a37a;
}
#custom-layout {
background-color: #ecf0f1;
color: #2d3436;
min-width: 2em;
}

82
config/wldash.yaml Normal file
View File

@ -0,0 +1,82 @@
---
outputMode: active
scale: 0.6
background:
red: 0.0
green: 0.0
blue: 0.0
opacity: 0.8999999761581421
widget:
margin:
margins:
- 20
- 20
- 20
- 20
widget:
verticalLayout:
- horizontalLayout:
- margin:
margins:
- 0
- 88
- 0
- 32
widget:
verticalLayout:
- date:
font: ~
font_size: 64.0
- clock:
font: ~
font_size: 256.0
- verticalLayout:
- margin:
margins:
- 0
- 0
- 0
- 8
widget:
battery:
font: ~
font_size: 24.0
length: 0
- margin:
margins:
- 0
- 0
- 0
- 8
widget:
backlight:
device: intel_backlight
font: ~
font_size: 24.0
length: 0
- margin:
margins:
- 0
- 0
- 0
- 8
widget:
pulseAudio:
font: ~
font_size: 24.0
length: 0
- calendar:
font_primary: ~
font_secondary: ~
font_size: 16.0
sections: 3
- launcher:
font: ~
font_size: 32.0
length: 0
app_opener: ""
term_opener: ""
url_opener: ""
fonts:
sans: sans
mono: mono

View File

@ -1,6 +0,0 @@
[fedora-35-updates]
name=Fedora 35 $basearch Updates
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=updates-released-f35&arch=$basearch
enabled=0
gpgcheck=1
metadata_expire=1d

6
fedora-37-updates.repo Normal file
View File

@ -0,0 +1,6 @@
[fedora-37-updates]
name=Fedora 37 $basearch Updates
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=updates-released-f37&arch=$basearch
enabled=1
gpgcheck=1
metadata_expire=1d

View File

@ -1,6 +1,6 @@
[fedora-35] [fedora-37]
name=Fedora 35 $basearch name=Fedora 37 $basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=fedora-35&arch=$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=fedora-37&arch=$basearch
enabled=0 enabled=1
gpgcheck=1 gpgcheck=1
metadata_expire=1d metadata_expire=1d

View File

@ -54,15 +54,29 @@ packages:
- firewalld - firewalld
- fpaste - fpaste
- fros-gnome - fros-gnome
- fwupd
- gamemode - gamemode
- glibc - glibc
- glibc-all-langpacks - glibc-all-langpacks
- glx-utils - glx-utils
- gnupg2 - gnupg2
- google-noto-emoji-color-fonts - google-noto-emoji-color-fonts
- google-noto-naskh-arabic-vf-fonts
- google-noto-sans-armenian-vf-fonts
- google-noto-sans-canadian-aboriginal-vf-fonts
- google-noto-sans-cherokee-vf-fonts
- google-noto-sans-cjk-ttc-fonts - google-noto-sans-cjk-ttc-fonts
- google-noto-sans-gurmukhi-fonts - google-noto-sans-ethiopic-vf-fonts
- google-noto-sans-georgian-vf-fonts
- google-noto-sans-gurmukhi-vf-fonts
- google-noto-sans-hebrew-vf-fonts
- google-noto-sans-lao-vf-fonts
- google-noto-sans-math-vf-fonts
- google-noto-sans-mono-vf-fonts
- google-noto-sans-sinhala-vf-fonts - google-noto-sans-sinhala-vf-fonts
- google-noto-sans-thaana-vf-fonts
- google-noto-sans-vf-fonts
- google-noto-serif-vf-fonts
- gstreamer1-plugins-bad-free - gstreamer1-plugins-bad-free
- gstreamer1-plugins-good - gstreamer1-plugins-good
- gstreamer1-plugins-ugly-free - gstreamer1-plugins-ugly-free
@ -82,8 +96,6 @@ packages:
- iptables-nft - iptables-nft
- iptstate - iptstate
- iputils - iputils
- ipw2100-firmware
- ipw2200-firmware
- iwl100-firmware - iwl100-firmware
- iwl1000-firmware - iwl1000-firmware
- iwl105-firmware - iwl105-firmware
@ -121,6 +133,7 @@ packages:
- lohit-devanagari-fonts - lohit-devanagari-fonts
- lohit-gujarati-fonts - lohit-gujarati-fonts
- lohit-kannada-fonts - lohit-kannada-fonts
- lohit-marathi-fonts
- lohit-odia-fonts - lohit-odia-fonts
- lohit-tamil-fonts - lohit-tamil-fonts
- lohit-telugu-fonts - lohit-telugu-fonts
@ -131,7 +144,6 @@ packages:
- mdadm - mdadm
- mesa-dri-drivers - mesa-dri-drivers
- mesa-vulkan-drivers - mesa-vulkan-drivers
- mlocate
- mpage - mpage
- mtr - mtr
- nfs-utils - nfs-utils
@ -166,6 +178,7 @@ packages:
- qt5-qtxmlpatterns - qt5-qtxmlpatterns
- quota - quota
- realmd - realmd
- rit-meera-new-fonts
- rootfiles - rootfiles
- rpm - rpm
- rsync - rsync
@ -173,11 +186,9 @@ packages:
- selinux-policy-targeted - selinux-policy-targeted
- setup - setup
- shadow-utils - shadow-utils
- sil-abyssinica-fonts
- sil-mingzat-fonts - sil-mingzat-fonts
- sil-nuosu-fonts - sil-nuosu-fonts
- sil-padauk-fonts - sil-padauk-fonts
- smc-meera-fonts
- sos - sos
- spice-vdagent - spice-vdagent
- sssd - sssd

View File

@ -96,3 +96,23 @@ exclude-packages:
- gstreamer1-plugin-openh264 - gstreamer1-plugin-openh264
- mozilla-openh264 - mozilla-openh264
- openh264 - openh264
postprocess:
- |
#!/usr/bin/env bash
set -xeuo pipefail
# Work around https://bugzilla.redhat.com/show_bug.cgi?id=1265295
# From https://github.com/coreos/fedora-coreos-config/blob/testing-devel/overlay.d/05core/usr/lib/systemd/journald.conf.d/10-coreos-persistent.conf
install -dm0755 /usr/lib/systemd/journald.conf.d/
echo -e "[Journal]\nStorage=persistent" > /usr/lib/systemd/journald.conf.d/10-persistent.conf
# See: https://src.fedoraproject.org/rpms/glibc/pull-request/4
# Basically that program handles deleting old shared library directories
# mid-transaction, which never applies to rpm-ostree. This is structured as a
# loop/glob to avoid hardcoding (or trying to match) the architecture.
for x in /usr/sbin/glibc_post_upgrade.*; do
if test -f ${x}; then
ln -srf /usr/bin/true ${x}
fi
done

View File

@ -1,6 +1,6 @@
[copr:copr.fedorainfracloud.org:alebastr:sway-extras] [copr:copr.fedorainfracloud.org:alebastr:sway-extras]
name=Copr repo for sway-extras owned by alebastr name=Copr repo for sway-extras owned by alebastr
baseurl=https://download.copr.fedorainfracloud.org/results/alebastr/sway-extras/fedora-35-$basearch/ baseurl=https://download.copr.fedorainfracloud.org/results/alebastr/sway-extras/fedora-37-$basearch/
type=rpm-md type=rpm-md
skip_if_unavailable=True skip_if_unavailable=True
gpgcheck=1 gpgcheck=1

View File

@ -6,6 +6,7 @@ packages:
- breeze-icon-theme - breeze-icon-theme
- dolphin - dolphin
- firewall-config - firewall-config
- fprintd-pam
- glibc-all-langpacks - glibc-all-langpacks
- gnome-keyring-pam - gnome-keyring-pam
- initial-setup-gui - initial-setup-gui

View File

@ -26,3 +26,6 @@ for x in /usr/sbin/glibc_post_upgrade.*; do
ln -srf /usr/bin/true ${x} ln -srf /usr/bin/true ${x}
fi fi
done done
# enable services
systemctl enable greetd

View File

@ -1,33 +1,32 @@
[rpmfusion-free-35] [rpmfusion-free-37]
name=RPM Fusion for Fedora 35 - Free name=RPM Fusion for Fedora 37 - Free
#baseurl=http://download1.rpmfusion.org/free/fedora/releases/35/Everything/$basearch/os/ #baseurl=http://download1.rpmfusion.org/free/fedora/releases/36/Everything/$basearch/os/
metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-35&arch=$basearch metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-37&arch=$basearch
enabled=0 enabled=0
metadata_expire=14d metadata_expire=14d
type=rpm-md type=rpm-md
gpgcheck=1 gpgcheck=1
repo_gpgcheck=0 repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-35 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-37
[rpmfusion-free-debuginfo-35] [rpmfusion-free-debuginfo-37]
name=RPM Fusion for Fedora 35 - Free - Debug name=RPM Fusion for Fedora 37 - Free - Debug
#baseurl=http://download1.rpmfusion.org/free/fedora/releases/35/Everything/$basearch/debug/ #baseurl=http://download1.rpmfusion.org/free/fedora/releases/36/Everything/$basearch/debug/
metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-debug-35&arch=$basearch metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-debug-37&arch=$basearch
enabled=0 enabled=0
metadata_expire=7d metadata_expire=7d
type=rpm-md type=rpm-md
gpgcheck=1 gpgcheck=1
repo_gpgcheck=0 repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-35 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-37
[rpmfusion-free-source-35] [rpmfusion-free-source-37]
name=RPM Fusion for Fedora 35 - Free - Source name=RPM Fusion for Fedora 37 - Free - Source
#baseurl=http://download1.rpmfusion.org/free/fedora/releases/35/Everything/source/SRPMS/ #baseurl=http://download1.rpmfusion.org/free/fedora/releases/36/Everything/source/SRPMS/
metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-source-35&arch=$basearch metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-source-37&arch=$basearch
enabled=0 enabled=0
metadata_expire=7d metadata_expire=7d
type=rpm-md type=rpm-md
gpgcheck=1 gpgcheck=1
repo_gpgcheck=0 repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-35 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-37

View File

@ -1,30 +0,0 @@
[rpmfusion-free-updates-35]
name=RPM Fusion for Fedora 35 - Free - Updates
#baseurl=http://download1.rpmfusion.org/free/fedora/updates/35/$basearch/
metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-updates-released-35&arch=$basearch
enabled=0
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-35
[rpmfusion-free-updates-debuginfo-35]
name=RPM Fusion for Fedora 35 - Free - Updates Debug
#baseurl=http://download1.rpmfusion.org/free/fedora/updates/35/$basearch/debug/
metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-updates-released-debug-35&arch=$basearch
enabled=0
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-35
[rpmfusion-free-updates-source-35]
name=RPM Fusion for Fedora 35 - Free - Updates Source
#baseurl=http://download1.rpmfusion.org/free/fedora/updates/35/SRPMS/
metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-updates-released-source-35&arch=$basearch
enabled=0
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-35

View File

@ -0,0 +1,29 @@
[rpmfusion-free-updates-37]
name=RPM Fusion for Fedora 37 - Free - Updates
#baseurl=http://download1.rpmfusion.org/free/fedora/updates/36/$basearch/
metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-updates-released-37&arch=$basearch
enabled=0
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-37
[rpmfusion-free-updates-debuginfo-37]
name=RPM Fusion for Fedora 37 - Free - Updates Debug
#baseurl=http://download1.rpmfusion.org/free/fedora/updates/36/$basearch/debug/
metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-updates-released-debug-37&arch=$basearch
enabled=0
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-37
[rpmfusion-free-updates-source-37]
name=RPM Fusion for Fedora 37 - Free - Updates Source
#baseurl=http://download1.rpmfusion.org/free/fedora/updates/36/SRPMS/
metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-updates-released-source-37&arch=$basearch
enabled=0
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-37

View File

@ -1,18 +0,0 @@
[rpmfusion-free]
name=RPM Fusion for Fedora $releasever - Free
#baseurl=http://download1.rpmfusion.org/free/fedora/releases/$releasever/Everything/$basearch/os/
metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-34&arch=$basearch
enabled=1
metadata_expire=14d
type=rpm-md
gpgcheck=0
[rpmfusion-free-updates]
name=RPM Fusion for Fedora $releasever - Free - Updates
#baseurl=http://download1.rpmfusion.org/free/fedora/updates/$releasever/$basearch/
metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-updates-released-34&arch=$basearch
enabled=1
enabled_metadata=1
type=rpm-md
gpgcheck=0
repo_gpgcheck=0

368
x13-gen1-sway-desktop.yaml Normal file
View File

@ -0,0 +1,368 @@
ref: x13-gen1-sway-desktop-37
rojig:
name: x13-gen1-sway-desktop-37
summary: "Thinkpad X13 Gen 1 Sway Desktop - Fedora 37"
license: MIT
automatic_version_prefix: "37"
mutate-os-release: "37"
repos:
- fedora-37
- fedora-37-updates
- rpmfusion-free-37
- rpmfusion-free-updates-37
- copr:copr.fedorainfracloud.org:dawid:better_fonts
- copr:copr.fedorainfracloud.org:alebastr:sway-extras
selinux: true
documentation: true
boot-location: modules
etc-group-members:
- wheel
tmp-is-dir: true
postprocess-script: post.sh
ignore-removed-users:
- root
ignore-removed-groups:
- root
check-passwd:
type: file
filename: passwd
check-groups:
type: file
filename: group
default_target: graphical.target
packages:
- lvm2
- rpm-ostree
# Container management
- buildah
- podman
- skopeo
- toolbox
# Flatpak support
- flatpak
- xdg-desktop-portal
- glibc-devel
- kernel-devel
- elfutils-libelf-devel
- fedora-repos-ostree
- fedora-repos-archive
# boot / hardware / drivers
- efibootmgr
- fwupd
- libva-intel-driver
- libva-intel-hybrid-driver
- mcelog
- microcode_ctl
- thermald
- thinkfan
# base system
- biosdevname
- coreutils-common
- dbus-daemon
- device-mapper-multipath
- nvme-cli
- rng-tools
# diagnostic / utils
- htop
- iotop
- lm_sensors
- lshw
- net-tools
- nmap-ncat
- powertop
- wireshark
# alternative modern rust apps
- bat
- ripgrep
# networking
- bridge-utils
- dhcpcd
- iwd
- NetworkManager
- network-manager-applet
- NetworkManager-bluetooth
- NetworkManager-config-connectivity-fedora
- NetworkManager-wifi
- NetworkManager-wwan
# shell tools and development
- alacritty
- autoconf
- automake
- ctags
- emacs
- gettext-devel
- git
- intltool
- ipython3
- libtool
- make
- neovim
- patchutils
- squashfs-tools
- strace
- systemd-container
- vim-enhanced
- w3m
- zram-generator
# fonts
- adobe-source-sans-pro-fonts
- bitstream-vera-fonts-all
- dejavu-sans-fonts
- dejavu-sans-mono-fonts
- dejavu-serif-fonts
- fontawesome-fonts
- fontawesome-fonts-web
- fontconfig
- fontconfig-enhanced-defaults
- google-noto-emoji-color-fonts
- google-noto-sans-gurmukhi-fonts
- google-noto-sans-sinhala-vf-fonts
- khmer-os-system-fonts
- langpacks-core-font-en
- liberation-mono-fonts
- liberation-sans-fonts
- liberation-serif-fonts
- lohit-assamese-fonts
- lohit-bengali-fonts
- lohit-devanagari-fonts
- lohit-gujarati-fonts
- lohit-kannada-fonts
- lohit-odia-fonts
- lohit-tamil-fonts
- lohit-telugu-fonts
- open-sans-fonts
- paktype-naskh-basic-fonts
- sil-abyssinica-fonts
- sil-mingzat-fonts
- sil-nuosu-fonts
- sil-padauk-fonts
- rit-meera-new-fonts
- terminus-fonts
- thai-scalable-waree-fonts
- ucs-miscfixed-opentype-fonts
- urw-base35-bookman-fonts
- urw-base35-c059-fonts
- urw-base35-d050000l-fonts
- urw-base35-fonts
- urw-base35-fonts-common
- urw-base35-gothic-fonts
- urw-base35-nimbus-mono-ps-fonts
- urw-base35-nimbus-roman-fonts
- urw-base35-nimbus-sans-fonts
- urw-base35-p052-fonts
- urw-base35-standard-symbols-ps-fonts
- urw-base35-z003-fonts
# audio / video
- alsa-plugins-pulseaudio
- ffmpeg
- gstreamer1-libav
- gvfs-mtp
- libavdevice
- libva
- libva-utils
- pavucontrol
- pulseaudio-utils
# misc
- feh
- okular
# sway / wayland desktop
- brightnessctl
- cage
- greetd
- greetd-gtkgreet
- grim
- i3status-rs
- kanshi
- mako
- pinentry-qt
- slurp
- sway
- swayidle
- swaylock
- waybar
- wayland-devel
- wdisplays
- wl-clipboard
- wldash
- xdg-desktop-portal-wlr
# virtualization
- libguestfs-tools
- libvirt-daemon-config-network
- libvirt-daemon-kvm
- python-libguestfs
- qemu-img
- qemu-kvm
- qemu-system-x86-core
- qemu-ui-sdl
- virt-install
- virt-manager
- virt-top
- virt-viewer
# comps-sync
- abattis-cantarell-fonts
- acl
- alsa-sof-firmware
- alsa-ucm
- alsa-utils
- attr
- audit
- b43-fwcutter
- b43-openfwwf
- basesystem
- bash
- bash-completion
- bc
- bind-utils
- bzip2
- colord
- compsize
- coreutils
- cpio
- cryptsetup
- curl
- dhcp-client
- dnsmasq
- e2fsprogs
- ethtool
- exfatprogs
- fedora-repos-modular
- file
- filesystem
- firefox
- firewalld
- glibc
- glibc-all-langpacks
- glx-utils
- gnupg2
- gstreamer1-plugins-bad-free
- gstreamer1-plugins-good
- gstreamer1-plugins-ugly-free
- hostname
- hunspell
- ibus-anthy
- ibus-gtk3
- ibus-hangul
- ibus-libpinyin
- ibus-libzhuyin
- ibus-m17n
- ibus-typing-booster
- iproute
- iptables-nft
- iptstate
- iputils
- iwl7260-firmware
- jomolhari-fonts
- kbd
- kernel
- kernel-modules-extra
- less
- libertas-sd8686-firmware
- libertas-sd8787-firmware
- libertas-usb8388-firmware
- linux-firmware
- logrotate
- lsof
- man-db
- man-pages
- mdadm
- mesa-dri-drivers
- mesa-vulkan-drivers
- mlocate
- mtr
- nfs-utils
- nss-altfiles
- nss-mdns
- opensc
- openssh-clients
- openssh-server
- pam_afs_session
- passwd
- passwdqc
- pciutils
- pinfo
- pipewire-alsa
- pipewire-gstreamer
- pipewire-pulseaudio
- pipewire-utils
- plymouth
- plymouth-system-theme
- policycoreutils
- policycoreutils-python-utils
- procps-ng
- psmisc
- qemu-guest-agent
- qt5-qtbase
- qt5-qtbase-gui
- qt5-qtdeclarative
- qt5-qtxmlpatterns
- quota
- rootfiles
- rpm
- rsync
- selinux-policy-targeted
- setup
- shadow-utils
- sos
- spice-vdagent
- sssd
- sssd-common
- sssd-kcm
- stix-fonts
- sudo
- systemd
- systemd-oomd-defaults
- systemd-resolved
- systemd-udev
- tar
- time
- tree
- unzip
- uresourced
- usb_modeswitch
- usbutils
- util-linux
- wget
- which
- wireplumber
- words
- wpa_supplicant
- zip
- zram-generator-defaults
# Make sure the following are not pulled in when Recommended by other packages
exclude-packages:
- PackageKit
# We can not include openh264. See https://fedoraproject.org/wiki/OpenH264
- gstreamer1-plugin-openh264
- mozilla-openh264
- openh264
- xdg-desktop-portal-gtk
add-files:
- ["config/systemd/mako.service", "/etc/systemd/user/mako.service"]
- ["config/systemd/nm-applet.service", "/etc/systemd/user/nm-applet.service"]
- ["config/systemd/swayidle.service", "/etc/systemd/user/swayidle.service"]
- ["config/systemd/swaylock.service", "/etc/systemd/user/swaylock.service"]
- ["config/environment.d/wayland.conf", "/etc/environment.d/wayland.conf"]
- ["config/greetd/config.toml", "/etc/greetd/config.toml"]
- ["config/sway/config", "/etc/sway/config"]
- ["config/sway/config.d/10-variables.conf", "/etc/sway/config.d/10-variables.conf"]
- ["config/sway/config.d/20-output.conf", "/etc/sway/config.d/20-output.conf"]
- ["config/sway/config.d/30-input.conf", "/etc/sway/config.d/30-input.conf"]
- ["config/sway/config.d/50-style.conf", "/etc/sway/config.d/50-style.conf"]
- ["config/sway/config.d/60-app-windows.conf", "/etc/sway/config.d/60-app-windows.conf"]
- ["config/sway/config.d/90-bindings.conf", "/etc/sway/config.d/90-bindings.conf"]
- ["config/sway/config.d/91-swaysome.conf", "/etc/sway/config.d/91-swaysome.conf"]
- ["config/sway/config.d/99-startup.conf", "/etc/sway/config.d/99-startup.conf"]
- ["config/sway/bin/keyboard-layout-per-window.py", "/usr/bin/keyboard-layout-per-window.py"]
- ["config/waybar/config", "/etc/xdg/waybar/config"]
- ["config/waybar/style.css", "/etc/xdg/waybar/style.css"]
- ["config/waybar/keyboard-layout.py", "/etc/xdg/waybar/keyboard-layout.py"]
- ["config/wldash.yaml", "/usr/share/wldash/config.yaml"]