No description
Find a file
2024-07-01 07:08:52 +02:00
.github/workflows Appearance jammy (#78) 2023-10-17 17:05:07 -04:00
.vscode feat: settings application architecture 2023-01-26 23:20:45 +01:00
cosmic-settings improv: reduce padding when condensed 2024-07-01 07:08:52 +02:00
debian chore(debian): add adw-gtk3 as recommends 2024-04-19 23:08:23 +02:00
i18n l10n(ru): Russian l10n updates 2024-06-24 08:11:35 -06:00
page refactor: use Slab for storing page section descriptions 2024-06-06 16:00:04 +02:00
pages chore(cargo): update dependencies 2024-03-20 02:54:21 +01:00
resources Update com.system76.CosmicSettings.desktop 2024-05-30 13:20:41 -06:00
scripts fix(just): move install recipes to main justfile 2024-04-01 15:58:50 +02:00
.gitignore chore: add nix flake 2023-06-26 18:22:58 +02:00
Cargo.lock update libcosmic 2024-06-18 10:30:01 -04:00
Cargo.toml feat: responsive controls and standard button fixes 2024-05-30 17:16:44 +02:00
flake.lock chore: add nix flake 2023-06-26 18:22:58 +02:00
flake.nix feat: dock settings pages 2023-09-12 11:31:29 -04:00
justfile feat(about): editable hostname input 2024-04-10 17:31:29 +02:00
LICENSE.md feat: settings application architecture 2023-01-26 23:20:45 +01:00
README.md chore(doc): update readme 2024-03-19 17:07:22 +01:00
rust-toolchain.toml improv: update libcosmic with wallpaper page UI improvements 2024-01-29 20:14:57 +01:00

COSMIC Settings

The settings application for the COSMIC desktop environment.

Translators

Translation files may be found in the i18n directory. New translations may copy the English (en) localization of the project and rename en to the desired ISO 639-1 language code. Translations may be submitted through GitHub as an issue or pull request. Submissions by email or other means are also acceptable; with the preferred name and email to associate with the changes.

Build

Dependencies

  • rust (>= 1.71.0)
  • just
  • cmake
  • libexpat1-dev
  • libfontconfig-dev
  • libfreetype-dev
  • pkg-config

Install

COSMIC uses just as its preferred build tool.

just
sudo just install

Packaging

If packaging for a Linux distribution, vendor dependencies locally with the vendor rule, and build with the vendored sources using the build-vendored rule. When installing files, use the rootdir and prefix variables to change installation paths.

just vendor
just build-vendored
just rootdir=debian/cosmic-settings prefix=/usr install

It is recommended to build a source tarball with the vendored dependencies, which can typically be done by running just vendor on the host system before it enters the build environment. Reference debian/rules to see how we generate debian packages with sbuild.

Developers

Developers should install rustup and configure their editor to use rust-analyzer. Run just check to ensure that the changes you make are free of linter warnings. You may configure your editor to run just check-json as the rust-analyzer check command.

To improve compilation times, disable LTO in the release profile, install the mold linker, and configure sccache for use with Rust. The mold linker will only improve link times if LTO is disabled.

Run the cosmic-settings binary with just run so that logs will be emitted to stderr, and crashes will generate detailed backtraces. Applications shouldn't crash, so when writing code, avoid use of unwrap() and expect(). Instead, log errors with tracing::error!() or tracing::warn!().

License

Licensed under the GNU Public License 3.0.

Contribution

Any contribution intentionally submitted for inclusion in the work by you shall be licensed under the GNU Public License 3.0 (GPL-3.0). Each source file should have a SPDX copyright notice at the top of the file:

// SPDX-License-Identifier: GPL-3.0-only