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
60 changed files with 2124 additions and 141 deletions

32
.github/workflows/build.yml vendored Normal file
View File

@ -0,0 +1,32 @@
name: build
on:
schedule:
- cron: 0 2 * * 6
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
container:
image: docker.io/fedora:latest
# Fix SELinux for the built OSTree: https://github.com/coreos/rpm-ostree/issues/1943
options: --privileged --security-opt label:disable
steps:
- name: Install dependencies
run: dnf install -y rpm-ostree selinux-policy selinux-policy-targeted policycoreutils
- name: Clone repository
uses: actions/checkout@v2
- name: Build OSTree
run: ./compose.sh
# upload-artifact@v2 has trouble with tens of thousands of files
- name: Create repo tarball
run: tar -czf /var/tmp/repo.tar.gz -C /var/tmp/repo .
- name: Create repository artifact
uses: actions/upload-artifact@v2
with:
name: repository
path: /var/tmp/repo.tar.gz
retention-days: 5

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:
- https://fedoraproject.org/wiki/Workstation/AtomicWorkstation
- https://fedoraproject.org/wiki/Changes/WorkstationOstree
- <https://fedoraproject.org/wiki/Workstation/AtomicWorkstation>
- <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)
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
Note also this repo obsoletes https://pagure.io/atomic-ws

10
better-fonts-37.repo Normal file
View File

@ -0,0 +1,10 @@
[copr:copr.fedorainfracloud.org:dawid:better_fonts]
name=Copr repo for better_fonts owned by dawid
baseurl=https://download.copr.fedorainfracloud.org/results/dawid/better_fonts/fedora-37-$basearch/
type=rpm-md
skip_if_unavailable=True
gpgcheck=1
gpgkey=https://download.copr.fedorainfracloud.org/results/dawid/better_fonts/pubkey.gpg
repo_gpgcheck=0
enabled=1
enabled_metadata=1

13
compose.sh Executable file
View File

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

View File

@ -41,6 +41,7 @@ exclude_list:
# Architecture specific packages
- powerpc-utils
- lsvpd
- s390utils-base
base-x:
# x86 specific packages. Added back by fedora-common-ostree.yaml
- xorg-x11-drv-intel
@ -61,6 +62,7 @@ exclude_list:
- dnf
- dnf-plugins-core
- deltarpm
- python3-dnf-plugin-system-upgrade
# We use fedora-release-silverblue instead
- fedora-release-workstation
# Really not worth listing explicitly
@ -92,6 +94,7 @@ exclude_list:
- evolution
- evolution-ews
- evolution-help
- mediawriter
# This is ancient now, and IMO has been superceded by cgroups
# Also it breaks with --unified-core.
- psacct
@ -106,7 +109,6 @@ exclude_list:
# filesystem tools, again priv container
- symlinks
- dosfstools
- ntfs-3g
# Misc
- dos2unix
# Gnome specific
@ -139,12 +141,12 @@ desktop_exclude_list:
- evince-nautilus
- file-roller
- file-roller-nautilus
- gedit
- gnome-boxes
- gnome-calculator
- gnome-calendar
- gnome-characters
- gnome-clocks
- gnome-connections
- gnome-contacts
- gnome-documents
- gnome-font-viewer
@ -152,6 +154,7 @@ desktop_exclude_list:
- gnome-maps
- gnome-photos
- gnome-screenshot
- gnome-text-editor
- gnome-weather
- jwhois
- rdist
@ -180,7 +183,6 @@ desktop_exclude_list:
- kcalc
- kcharselect
- kcolorchooser
- kde-partitionmanager
- kdnssd
- kf5-kipi-plugins
- kfind
@ -197,18 +199,14 @@ desktop_exclude_list:
- kwrite
- libreoffice-kde
- okular
- spectacle
# Misc
- adwaita-gtk2-theme
- colord-kde
- keditbookmarks
- kwebkitpart
- plasma-nm-l2tp
- plasma-nm-openconnect
- plasma-nm-openswan
- plasma-nm-openvpn
- plasma-nm-pptp
- plasma-nm-vpnc
xfce-desktop:
# Incompatible with ostree for various reasons
- abrt-desktop
@ -265,5 +263,5 @@ desktop_exclude_list:
- NetworkManager-strongswan-gnome
- NetworkManager-team
- NetworkManager-wifi
# Use Silverblue release package for now
- fedora-release-matecompiz
# Already in the common set
- wireplumber

View File

@ -1,5 +1,5 @@
#!/usr/bin/python3
# Usage: ./comps-sync.py /path/to/comps-f34.xml.in
# Usage: ./comps-sync.py /path/to/comps-f35.xml.in
#
# Can both remove packages from the manifest
# which are not mentioned in comps, and add packages from

View File

@ -10,10 +10,10 @@ os_pretty_name = Fedora ostree Workstation
tree_name = workstation
tree_file = %(os_name)s-%(tree_name)s.json
arch = x86_64
release = rawhide
release = 36
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
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_include_packages = fedora-productimg-atomic
docker_os_name = fedora

View File

@ -0,0 +1,4 @@
XDG_SESSION_TYPE=wayland
XDG_CURRENT_DESKTOP=sway
MOZ_ENABLE_WAYLAND=1
SDL_VIDEODRIVER=wayland

View File

@ -0,0 +1,6 @@
[terminal]
vt = 1
[default_session]
command = "cage -s -- gtkgreet"
user = "greeter"

View File

@ -0,0 +1,2 @@
sway
bash

View File

@ -0,0 +1,78 @@
# when using 3istsatus-rs with swaybar
# https://github.com/greshake/i3status-rust
#
theme = "solarized-dark"
icons = "awesome5"
[[block]]
block = "temperature"
collapsed = false
interval = 10
format = "gpu {max}°"
chip = "amdgpu-pci-*"
[[block]]
block = "temperature"
collapsed = false
interval = 10
format = "cpu {max}°"
chip = "k10temp-pci-*"
[[block]]
block = "temperature"
collapsed = true
interval = 10
format = "nvme: {max}°"
chip = "nvme-pci-*"
[[block]]
block = "temperature"
collapsed = true
interval = 10
format = "wifi: {max}°"
chip = "iwlwifi_1-*"
[[block]]
block = "net"
device = "wlan0"
format = "{ssid} {signal_strength} {ip} {speed_down} {graph_down}"
interval = 5
[[block]]
block = "disk_space"
path = "/"
alias = "/"
info_type = "available"
unit = "GB"
interval = 20
warning = 20.0
alert = 10.0
[[block]]
block = "memory"
display_type = "memory"
format_mem = "{Mup}%"
format_swap = "{SUp}%"
[[block]]
block = "cpu"
interval = 1
[[block]]
block = "load"
interval = 1
format = "{1m}"
[[block]]
block = "sound"
[[block]]
block = "keyboard_layout"
driver = "sway"
sway_kb_identifier = "6127:24585:Lite-On_Technology_Corp._ThinkPad_USB_Keyboard_with_TrackPoint"
[[block]]
block = "time"
interval = 60
format = "%a %d/%m %R"

View File

@ -0,0 +1,4 @@
options i915 enable_fbc=1
options i915 enable_guc=2
options i915 nuclear_pageflip=Y
options i915 enable_dc=2

7
config/sway-service.sh Executable file
View File

@ -0,0 +1,7 @@
#! /bin/sh
# /usr/local/bin/sway-service.sh - needs to be 0755
# first import environment variables from the login manager
systemctl --user import-environment
# then start the service
exec systemctl --wait --user start sway.service

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

8
config/swaylock/config Normal file
View File

@ -0,0 +1,8 @@
# ~/.config/swayidle/config
before-sleep 'systemctl --user start swaylock'
lock 'systemctl --user start swaylock'
unlock 'swaymsg "output * dpms on"'
after-resume 'swaymsg "output * dpms on"'
timeout 300 'systemctl --user start swaylock'
timeout 600 'swaymsg "output * dpms off"'
resume 'swaymsg "output * dpms on"'

View File

@ -0,0 +1,10 @@
[Unit]
Description=Firefox nightly
PartOf=graphical-session.target
[Service]
Type=exec
ExecStart=/opt/firefox/firefox
[Install]
WantedBy=graphical-session.target

View File

@ -0,0 +1,15 @@
[Unit]
Description=Lightweight Wayland notification daemon
Documentation=man:mako(1)
PartOf=sway-session.target
After=sway-session.target
[Service]
Type=dbus
BusName=org.freedesktop.Notifications
ExecCondition=/bin/sh -c '[ -n "$WAYLAND_DISPLAY" ]'
ExecStart=/usr/bin/mako
ExecReload=/usr/bin/makoctl reload
[Install]
WantedBy=sway-session.target

View File

@ -0,0 +1,14 @@
[Unit]
Description=network monitor and control GUI applet
Documentation=man:nm-applet(1)
PartOf=wayland-session.target
After=wayland-session.target
# requires nm-applet compiled with -D appindicator=yes
[Service]
Type=dbus
BusName=org.freedesktop.network-manager-applet
ExecStart=/usr/bin/nm-applet --indicator
[Install]
WantedBy=wayland-session.target

View File

@ -0,0 +1,14 @@
[Unit]
Description=sway - i3-compatible Wayland compositor
Documentation=man:sway(5)
Before=graphical-session.service
Wants=graphical-session-pre.service
After=graphical-session-pre.service
[Service]
Type=simple
EnvironmentFile=-%h/.config/sway/env
ExecStart=/usr/bin/sway
Restart=on-failure
RestartSec=1
TimeoutStopSec=10

View File

@ -0,0 +1,13 @@
[Unit]
Description=Idle manager for Wayland
Documentation=man:swayidle(1)
Documentation=https://github.com/gdamjan/swayidle - fork with sd-notify and autolock
PartOf=graphical-session.target
After=sway-session.target
[Service]
Type=notify
ExecStart=/usr/bin/swayidle -w
[Install]
WantedBy=sway-session.target

View File

@ -0,0 +1,11 @@
[Unit]
Description=swaylock - Screen locker for Wayland
Documentation=man:swaylock(1)
[Service]
Type=forking
ExecStart=/usr/bin/swaylock -f
Restart=on-failure
[Install]
WantedBy=sway-session.target

90
config/waybar/config Normal file
View File

@ -0,0 +1,90 @@
{
"layer": "top", // Waybar at top layer
"position": "bottom", // Waybar position (top|bottom|left|right)
"height": 30,
"modules-left": ["sway/workspaces", "sway/mode", "sway/window"],
"modules-center": [],
"modules-right": ["temperature", "network", "battery", "pulseaudio", "backlight", "cpu", "memory", "custom/layout", "clock", "tray"],
// Module config
"sway/mode": {
"tooltip": true,
"format": "<span weight=\"bold\">{}</span>"
},
"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
},
"format": "{icon} {capacity}%",
"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": ["🔊"]
},
"on-click": "pavucontrol"
},
"cpu": {
"interval": 5,
"tooltip": false,
"format": " {usage}%"
},
"memory": {
"format": " {}%"
},
"custom/layout": {
"exec": "/etc/xdg/waybar/keyboard-layout.py",
"return-type": "json",
"format": "| <span color='#ef9f33'>{}</span>"
},
"clock": {
"tooltip": false,
"format": "| {:%d.%m.%Y %H:%M}"
},
"tray": {
"tooltip": false,
"icon-size": 18,
"spacing": 5
}
}

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()

123
config/waybar/style.css Normal file
View File

@ -0,0 +1,123 @@
* {
border: none;
border-radius: 0;
font-family: Consolas, "Material Design Icons";
font-size: 1em;
min-height: 0;
}
window#waybar {
background-color: rgba(11, 11, 11, 0.8);
color: #ffffff;
transition-property: background-color;
transition-duration: .5s;
}
window#waybar.hidden {
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 {
background-color: transparent;
}
window#waybar.solo {
background-color: #FFFFFF;
}
*/
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
#workspaces button {
padding: 0 5px;
background-color: transparent;
border-bottom: 2px solid rgba(180, 14, 25, 0.5);
color: #999999;
}
#workspaces button.focused {
color: #ffffff;
background-color: #333333;
border-bottom: 2px solid #ff9600;
}
#workspaces button.urgent {
background-color: #eb4d4b;
}
#clock,
#custom-vpn,
#battery,
#cpu,
#memory,
#backlight,
#network,
#pulseaudio,
#tray,
#temperature,
#mode,
#idle_inhibitor {
padding: 0 5px;
margin: 0 4px;
background-color: transparent;
border-bottom: 2px solid #bdbd45;
color: #ffffff;
}
#temperature {
border-bottom: 2px solid #42a832;
}
#mode {
background-color: #00ff96;
color: #000000;
}
#pulseaudio,
#clock,
#tray,
#cpu {
border-bottom: transparent;
}
#battery {
border-bottom: 2px solid #bff874;
}
#battery.charging {
border-bottom: 2px solid #00ff96;
}
#custom-vpn.down,
#temperature.critical,
#battery.critical:not(.charging) {
border-bottom: 2px solid #dd2241;
}
label:focus {
background-color: #000000;
}
#network.disconnected {
border-bottom: 2px solid #dd2241;
}
#pulseaudio.bluetooth {
border-bottom: 2px solid #1a8cff;
}
#pulseaudio.muted {
border-bottom: 2px solid #fff569;
}

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

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

6
fedora-37.repo Normal file
View File

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

View File

@ -1,10 +1,13 @@
include: fedora-common-ostree.yaml
ref: fedora/rawhide/${basearch}/base
ref: fedora/35/${basearch}/base
rojig:
name: fedora-base
summary: "Fedora base image for alternative DE"
license: MIT
packages:
# Generic release package for desktop variants
- fedora-release
- fedora-release-ostree-desktop
# XWayland support
- xorg-x11-server-Xwayland
# Portals for Flatpak
@ -12,4 +15,5 @@ packages:
- xdg-desktop-portal-gtk
repos:
- fedora-rawhide
- fedora-35
- fedora-35-updates

View File

@ -5,7 +5,6 @@ packages:
- NetworkManager-config-connectivity-fedora
- NetworkManager-wifi
- NetworkManager-wwan
- aajohan-comfortaa-fonts
- abattis-cantarell-fonts
- acl
- adwaita-qt5
@ -28,6 +27,7 @@ packages:
- chrony
- cifs-utils
- colord
- compsize
- coreutils
- cpio
- cryptsetup
@ -35,14 +35,15 @@ packages:
- cups-filters
- curl
- cyrus-sasl-plain
- default-editor
- dejavu-sans-fonts
- dejavu-sans-mono-fonts
- dejavu-serif-fonts
- dhcp-client
- dnsmasq
- e2fsprogs
- earlyoom
- ethtool
- exfatprogs
- fedora-bookmarks
- fedora-chromium-config
- fedora-repos-modular
@ -51,19 +52,31 @@ packages:
- filesystem
- firefox
- firewalld
- foomatic
- foomatic-db-ppds
- fpaste
- fros-gnome
- fwupd
- gamemode
- glibc
- glibc-all-langpacks
- glx-utils
- gnupg2
- 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-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-thaana-vf-fonts
- google-noto-sans-vf-fonts
- google-noto-serif-vf-fonts
- gstreamer1-plugins-bad-free
- gstreamer1-plugins-good
- gstreamer1-plugins-ugly-free
@ -72,19 +85,17 @@ packages:
- hostname
- hplip
- hunspell
- ibus-anthy
- ibus-gtk3
- ibus-hangul
- ibus-kkc
- ibus-libpinyin
- ibus-libzhuyin
- ibus-m17n
- ibus-typing-booster
- iproute
- iptables
- iptables-nft
- iptstate
- iputils
- ipw2100-firmware
- ipw2200-firmware
- iwl100-firmware
- iwl1000-firmware
- iwl105-firmware
@ -101,8 +112,8 @@ packages:
- iwl6000g2b-firmware
- iwl6050-firmware
- iwl7260-firmware
- iwlax2xx-firmware
- jomolhari-fonts
- julietaula-montserrat-fonts
- kbd
- kernel
- kernel-modules-extra
@ -114,6 +125,7 @@ packages:
- libertas-sd8686-firmware
- libertas-sd8787-firmware
- libertas-usb8388-firmware
- libglvnd-gles
- linux-firmware
- logrotate
- lohit-assamese-fonts
@ -121,6 +133,7 @@ packages:
- lohit-devanagari-fonts
- lohit-gujarati-fonts
- lohit-kannada-fonts
- lohit-marathi-fonts
- lohit-odia-fonts
- lohit-tamil-fonts
- lohit-telugu-fonts
@ -131,14 +144,12 @@ packages:
- mdadm
- mesa-dri-drivers
- mesa-vulkan-drivers
- mlocate
- mpage
- mtr
- nano
- nano-default-editor
- nfs-utils
- nss-altfiles
- nss-mdns
- ntfs-3g
- ntfsprogs
- opensc
- openssh-clients
@ -160,7 +171,6 @@ packages:
- policycoreutils-python-utils
- procps-ng
- psmisc
- pt-sans-fonts
- qemu-guest-agent
- qt5-qtbase
- qt5-qtbase-gui
@ -168,6 +178,7 @@ packages:
- qt5-qtxmlpatterns
- quota
- realmd
- rit-meera-new-fonts
- rootfiles
- rpm
- rsync
@ -175,11 +186,9 @@ packages:
- selinux-policy-targeted
- setup
- shadow-utils
- sil-abyssinica-fonts
- sil-mingzat-fonts
- sil-nuosu-fonts
- sil-padauk-fonts
- smc-meera-fonts
- sos
- spice-vdagent
- sssd
@ -189,6 +198,8 @@ packages:
- sudo
- system-config-printer-udev
- systemd
- systemd-oomd-defaults
- systemd-resolved
- systemd-udev
- tar
- thai-scalable-waree-fonts
@ -202,7 +213,9 @@ packages:
- vim-minimal
- wget
- which
- wireplumber
- words
- wpa_supplicant
- xorg-x11-drv-amdgpu
- xorg-x11-drv-ati
- xorg-x11-drv-evdev
@ -212,7 +225,6 @@ packages:
- xorg-x11-drv-qxl
- xorg-x11-drv-wacom
- xorg-x11-server-Xorg
- xorg-x11-utils
- xorg-x11-xauth
- xorg-x11-xinit
- zd1211-firmware

View File

@ -1,12 +1,11 @@
ref: fedora/rawhide/${basearch}/ostree-base
automatic_version_prefix: "34"
mutate-os-release: "34"
automatic_version_prefix: "35"
mutate-os-release: "35"
include: fedora-common-ostree-pkgs.yaml
packages:
- fedora-release-silverblue
- git-core
- lvm2
- rpm-ostree
@ -17,7 +16,6 @@ packages:
- toolbox
# Flatpak support
- flatpak
- flatpak-builder
- xdg-desktop-portal
# HFS filesystem tools for Apple hardware
# See https://github.com/projectatomic/rpm-ostree/issues/1380
@ -48,8 +46,12 @@ ignore-removed-users:
- root
ignore-removed-groups:
- root
check-passwd: { type: file, filename: passwd }
check-groups: { type: file, filename: group }
check-passwd:
type: file
filename: passwd
check-groups:
type: file
filename: group
default_target: graphical.target
@ -69,11 +71,13 @@ packages-ppc64le:
- grub2
- ostree-grub2
packages-x86_64:
- grub2
- grub2-efi-ia32
- grub2-efi-x64
- grub2-pc
- ostree-grub2
- efibootmgr
- shim
- shim-ia32
- shim-x64
- microcode_ctl
- mcelog
- thermald
@ -92,3 +96,23 @@ exclude-packages:
- gstreamer1-plugin-openh264
- mozilla-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,12 +1,16 @@
include: deepin-desktop-pkgs.yaml
ref: fedora/rawhide/${basearch}/deepin
ref: fedora/35/${basearch}/deepin
rojig:
name: fedora-deepin
summary: "Fedora Deepin base image"
license: MIT
packages:
# Generic release package for desktop variants
- fedora-release
- fedora-release-ostree-desktop
# GUI to manage updates & Flatpaks
- gnome-software
repos:
- fedora-rawhide
- fedora-35
- fedora-35-updates

View File

@ -1,10 +1,11 @@
include: kde-desktop-pkgs.yaml
ref: fedora/rawhide/${basearch}/kinoite
ref: fedora/35/${basearch}/kinoite
rojig:
name: fedora-kde
summary: "Fedora Kinoite (KDE) base image"
license: MIT
packages:
- fedora-release-kinoite
# Wayland support
- kwayland-integration
- kwin-wayland
@ -14,6 +15,21 @@ packages:
- xdg-desktop-portal-kde
# Provide an archive manager by default
- ark
# Keep some basic apps installed until we have Flatpaks available
# See https://pagure.io/fedora-kde/SIG/issue/13
- gwenview
- kcalc
- kwrite
- okular
# Make sure the following are not pulled in when Recommended by other packages
exclude-packages:
- plasma-discover-offline-updates
- plasma-discover-packagekit
# Exclude currently broken support for rpm-ostree in Discover
- plasma-discover-rpm-ostree
- plasma-pk-updates
repos:
- fedora-rawhide
- fedora-35
- fedora-35-updates

View File

@ -1,13 +1,17 @@
include: lxqt-desktop-pkgs.yaml
ref: fedora/rawhide/${basearch}/lxqt
ref: fedora/35/${basearch}/lxqt
rojig:
name: fedora-lxqt
summary: "Fedora LXQt base image"
license: MIT
packages:
# Generic release package for desktop variants
- fedora-release
- fedora-release-ostree-desktop
- libqtxdg
# Portals for Flatpak
- xdg-desktop-portal-kde
repos:
- fedora-rawhide
- fedora-35
- fedora-35-updates

View File

@ -1,11 +1,12 @@
include: mate-desktop-pkgs.yaml
ref: fedora/rawhide/${basearch}/mate
ref: fedora/35/${basearch}/mate
rojig:
name: fedora-mate
summary: "Fedora Mate base image"
license: MIT
packages:
# Generic release sub package for desktop variants
- fedora-release-ostree-desktop
# Portals for Flatpak
- xdg-desktop-portal-gtk
@ -13,4 +14,5 @@ exclude-packages:
- python3-unbound
repos:
- fedora-rawhide
- fedora-35
- fedora-35-updates

View File

@ -1,10 +1,14 @@
include: pantheon-desktop-pkgs.yaml
ref: fedora/rawhide/${basearch}/pantheon
ref: fedora/35/${basearch}/pantheon
rojig:
name: fedora-pantheon
summary: "Fedora Pantheon base image"
license: MIT
packages:
# Generic release package for desktop variants
- fedora-release
- fedora-release-ostree-desktop
repos:
- fedora-rawhide
- fedora-35
- fedora-35-updates

View File

@ -1,7 +0,0 @@
[fedora-rawhide]
name=Fedora rawhide $basearch
#baseurl=https://download.fedoraproject.org/pub/fedora/linux/development/rawhide/$basearch/os/
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=rawhide&arch=$basearch
enabled=0
gpgcheck=0
metadata_expire=1d

View File

@ -1,10 +1,11 @@
include: gnome-desktop-pkgs.yaml
ref: fedora/rawhide/${basearch}/silverblue
ref: fedora/35/${basearch}/silverblue
rojig:
name: fedora-silverblue
summary: "Fedora Silverblue base image"
license: MIT
packages:
- fedora-release-silverblue
- desktop-backgrounds-gnome
- gnome-shell-extension-background-logo
- pinentry-gnome3
@ -14,6 +15,13 @@ packages:
# Include evince-thumbnailer otherwise PDF thumbnails won't work in Nautilus
# https://github.com/fedora-silverblue/issue-tracker/issues/98
- evince-thumbnailer
# Include evince-previewer otherwise print previews are broken in Evince
# https://github.com/fedora-silverblue/issue-tracker/issues/122
- evince-previewer
# Include totem-video-thumbnailer for video thumbnailing in Nautilus
# https://pagure.io/fedora-workstation/issue/168
- totem-video-thumbnailer
repos:
- fedora-rawhide
- fedora-35
- fedora-35-updates

View File

@ -1,11 +1,15 @@
include: xfce-desktop-pkgs.yaml
ref: fedora/rawhide/${basearch}/xfce
ref: fedora/35/${basearch}/xfce
rojig:
name: fedora-xfce
summary: "Fedora XFCE base image"
license: MIT
packages:
- fedora-release-xfce
# Generic release sub package for desktop variants
- fedora-release-ostree-desktop
# Portals for Flatpak
- xdg-desktop-portal-gtk
repos:
- fedora-rawhide
- fedora-35
- fedora-35-updates

20
github-fetch.sh Executable file
View File

@ -0,0 +1,20 @@
#!/bin/sh
# Download built GitHub OSTree repository artifact and unpack it into a plain directory
set -eux
# download latest repo build
REPO_FINAL="$(dirname $0)/pitti-workstation"
REPO="${REPO_FINAL}.new"
CURL="curl -u token:$(cat ~/.config/github-token) --show-error --fail"
RESPONSE=$($CURL --silent https://api.github.com/repos/martinpitt/ostree-pitti-workstation/actions/artifacts)
ZIP=$(echo "$RESPONSE" | jq --raw-output '.artifacts | map(select(.name == "repository"))[0].archive_download_url')
echo "INFO: Downloading $ZIP ..."
[ -e /tmp/repository.zip ] || $CURL -L -o /tmp/repository.zip "$ZIP"
rm -rf "$REPO"
mkdir -p "$REPO"
unzip -p /tmp/repository.zip | tar -xzC "$REPO"
rm /tmp/repository.zip
[ ! -e "$REPO_FINAL" ] || mv "${REPO_FINAL}" "${REPO_FINAL}.old"
mv "$REPO" "$REPO_FINAL"
rm -rf "${REPO_FINAL}.old"

View File

@ -25,7 +25,6 @@ packages:
- gnome-color-manager
- gnome-control-center
- gnome-disk-utility
- gnome-getting-started-docs
- gnome-initial-setup
- gnome-remote-desktop
- gnome-session-wayland-session
@ -60,6 +59,7 @@ packages:
- tracker
- tracker-miners
- xdg-desktop-portal
- xdg-desktop-portal-gnome
- xdg-desktop-portal-gtk
- xdg-user-dirs-gtk
- yelp

11
greetd-37.repo Normal file
View File

@ -0,0 +1,11 @@
[copr:copr.fedorainfracloud.org:alebastr:sway-extras]
name=Copr repo for sway-extras owned by alebastr
baseurl=https://download.copr.fedorainfracloud.org/results/alebastr/sway-extras/fedora-37-$basearch/
type=rpm-md
skip_if_unavailable=True
gpgcheck=1
gpgkey=https://download.copr.fedorainfracloud.org/results/alebastr/sway-extras/pubkey.gpg
repo_gpgcheck=0
enabled=1
enabled_metadata=1
module_hotfixes=1

View File

@ -5,13 +5,13 @@ packages:
- bluedevil
- breeze-icon-theme
- dolphin
- earlyoom
- firewall-config
- fprintd-pam
- glibc-all-langpacks
- gnome-keyring-pam
- initial-setup-gui
- kcm_systemd
- kde-gtk-config
- kde-partitionmanager
- kde-print-manager
- kde-settings-pulseaudio
- kdegraphics-thumbnailers
@ -29,7 +29,6 @@ packages:
- konsole5
- kscreen
- kscreenlocker
- ksysguard
- kwalletmanager5
- kwin
- pam-kwallet
@ -39,9 +38,17 @@ packages:
- plasma-desktop
- plasma-desktop-doc
- plasma-discover
- plasma-discover-notifier
- plasma-disks
- plasma-drkonqi
- plasma-nm
- plasma-nm-openconnect
- plasma-nm-openvpn
- plasma-nm-vpnc
- plasma-pa
- plasma-systemmonitor
- plasma-thunderbolt
- plasma-vault
- plasma-workspace
- plasma-workspace-geolocation
- plasma-workspace-xorg
@ -52,4 +59,6 @@ packages:
- sddm
- sddm-breeze
- sddm-kcm
- spectacle
- xdg-desktop-portal-gnome
- xorg-x11-drv-libinput

View File

@ -23,10 +23,11 @@ packages:
- dconf-editor
- engrampa
- eom
- f33-backgrounds-base
- f33-backgrounds-extras-base
- f33-backgrounds-extras-mate
- f33-backgrounds-mate
- f35-backgrounds-base
- f35-backgrounds-extras-base
- f35-backgrounds-extras-mate
- f35-backgrounds-mate
- fedora-release-matecompiz
- firefox
- firewall-config
- gnome-epub-thumbnailer
@ -94,3 +95,5 @@ packages:
- system-config-printer-applet
- usermode-gtk
- xdg-user-dirs-gtk
- xmodmap
- xrdb

View File

@ -11,10 +11,12 @@ packages:
- elementary-greeter
- elementary-icon-theme
- elementary-music
- elementary-notifications
- elementary-photos
- elementary-print
- elementary-screenshot-tool
- elementary-shortcut-overlay
- elementary-sideload
- elementary-sound-theme
- elementary-terminal
- elementary-theme
@ -36,7 +38,6 @@ packages:
- switchboard-plug-mouse-touchpad
- switchboard-plug-networking
- switchboard-plug-notifications
- switchboard-plug-onlineaccounts
- switchboard-plug-pantheon-shell
- switchboard-plug-printers
- switchboard-plug-sharing

View File

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

32
rpmfusion-free-37.repo Normal file
View File

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

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

418
x1-gen7-sway-desktop.yaml Normal file
View File

@ -0,0 +1,418 @@
ref: x1-gen7-sway-desktop-35
rojig:
name: x1-gen7-sway-desktop-35
summary: "Thinkpad X1 Gen 7 Sway Desktop - Fedora 35"
license: MIT
automatic_version_prefix: "35"
mutate-os-release: "35"
repos:
- fedora-35
- fedora-35-updates
- rpmfusion-free-35
- rpmfusion-free-updates-35
- 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
- grub2-efi-ia32
- grub2-efi-x64
- grub2-pc
- libva-intel-driver
- libva-intel-hybrid-driver
- mcelog
- microcode_ctl
- ostree-grub2
- shim-ia32
- shim-x64
- 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
- network-manager-applet
# 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
- fontawesome-fonts
- fontawesome-fonts-web
- fontconfig
- fontconfig-font-replacements
- fontconfig-enhanced-defaults
- google-roboto-slab-fonts
- langpacks-core-font-en
- lato-fonts
- open-sans-fonts
- terminus-fonts
- ucs-miscfixed-opentype-fonts
- urw-base35-bookman-fonts
- urw-base35-c059-fonts
- urw-base35-d050000l-fonts
- urw-base35-fonts-common
- urw-base35-fonts
- 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
- vlc
# 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
- wofi
- 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
- NetworkManager
- NetworkManager-bluetooth
- NetworkManager-config-connectivity-fedora
- NetworkManager-wifi
- NetworkManager-wwan
- abattis-cantarell-fonts
- acl
# - adwaita-qt5
- alsa-sof-firmware
- alsa-ucm
- alsa-utils
# - atmel-firmware
- attr
- audit
- b43-fwcutter
- b43-openfwwf
- basesystem
- bash
- bash-completion
- bc
- bind-utils
# - bluez-cups
# - btrfs-progs
- bzip2
# - chrony
# - cifs-utils
- colord
- compsize
- coreutils
- cpio
- cryptsetup
# - cups
# - cups-filters
- curl
- cyrus-sasl-plain
# - default-editor
- dejavu-sans-fonts
- dejavu-sans-mono-fonts
- dejavu-serif-fonts
- dhcp-client
- dnsmasq
- e2fsprogs
- ethtool
- exfatprogs
# - fedora-bookmarks
# - fedora-chromium-config
- fedora-repos-modular
# - fedora-workstation-backgrounds
- file
- filesystem
- firefox
- firewalld
# - fpaste
# - fros-gnome
# - gamemode
- glibc
- glibc-all-langpacks
- glx-utils
- gnupg2
- google-noto-emoji-color-fonts
# - google-noto-sans-cjk-ttc-fonts
- google-noto-sans-gurmukhi-fonts
- google-noto-sans-sinhala-vf-fonts
- gstreamer1-plugins-bad-free
- gstreamer1-plugins-good
- gstreamer1-plugins-ugly-free
# - gutenprint
# - gutenprint-cups
- hostname
# - hplip
- hunspell
- ibus-anthy
- ibus-gtk3
- ibus-hangul
- ibus-libpinyin
- ibus-libzhuyin
- ibus-m17n
- ibus-typing-booster
- iproute
- iptables-nft
- iptstate
- iputils
- ipw2100-firmware
- ipw2200-firmware
- iwl100-firmware
- iwl1000-firmware
- iwl105-firmware
- iwl135-firmware
- iwl2000-firmware
- iwl2030-firmware
- iwl3160-firmware
- iwl3945-firmware
- iwl4965-firmware
- iwl5000-firmware
- iwl5150-firmware
- iwl6000-firmware
- iwl6000g2a-firmware
- iwl6000g2b-firmware
- iwl6050-firmware
- iwl7260-firmware
- iwlax2xx-firmware
- jomolhari-fonts
- kbd
- kernel
- kernel-modules-extra
- khmer-os-system-fonts
- less
- liberation-mono-fonts
- liberation-sans-fonts
- liberation-serif-fonts
- libertas-sd8686-firmware
- libertas-sd8787-firmware
- libertas-usb8388-firmware
# - libglvnd-gles
- linux-firmware
- logrotate
- lohit-assamese-fonts
- lohit-bengali-fonts
- lohit-devanagari-fonts
- lohit-gujarati-fonts
- lohit-kannada-fonts
- lohit-odia-fonts
- lohit-tamil-fonts
- lohit-telugu-fonts
# - lrzsz
- lsof
- man-db
- man-pages
- mdadm
- mesa-dri-drivers
- mesa-vulkan-drivers
- mlocate
# - mpage
- mtr
- nfs-utils
- nss-altfiles
- nss-mdns
# - ntfs-3g
# - ntfsprogs
- opensc
- openssh-clients
- openssh-server
- paktype-naskh-basic-fonts
- pam_afs_session
# - paps
- 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
# - realmd
- rootfiles
- rpm
- rsync
# - samba-client
- selinux-policy-targeted
- setup
- shadow-utils
- sil-abyssinica-fonts
- sil-mingzat-fonts
- sil-nuosu-fonts
- sil-padauk-fonts
- smc-meera-fonts
- sos
- spice-vdagent
- sssd
- sssd-common
- sssd-kcm
- stix-fonts
- sudo
# - system-config-printer-udev
- systemd
- systemd-oomd-defaults
- systemd-resolved
- systemd-udev
- tar
- thai-scalable-waree-fonts
- time
- tree
- unzip
- uresourced
- usb_modeswitch
- usbutils
- util-linux
# - vim-minimal
- wget
- which
- wireplumber
- words
- wpa_supplicant
# - zd1211-firmware
- 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/systemd/sway-session.target", "/etc/systemd/user/sway-session.target"]
- ["config/systemd/wayland-session.target", "/etc/systemd/user/wayland-session.target"]
- ["config/sway-service.desktop", "/usr/share/wayland-sessions/sway-service.desktop"]
- ["config/modprobe.d/i2c_i801-blacklist.conf", "/etc/modprobe.d/i2c_i801-blacklist.conf"]
- ["config/environment.d/wayland.conf", "/etc/environment.d/wayland.conf"]
- ["config/greetd/config.toml", "/etc/greetd/config.toml"]
- ["config/greetd/environments", "/etc/greetd/environments"]

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"]

View File

@ -45,5 +45,4 @@ packages:
- xfconf
- xfdesktop
- xfwm4
- xfwm4-theme-nodoka
- xfwm4-themes