cosmic-manager

Manage COSMIC desktop declaratively using home-manager.

What is cosmic-manager?

cosmic-manager is a declarative way to manage your COSMIC desktop using home-manager. It provides a set of modules that can be used to configure your favorite desktop environment. This means your settings are easy to backup, share, replicate and restore. It also provides a command-line interface with some utilities to use in conjunction with cosmic-manager.

Getting started

Ready to give it a try? Check out the Getting started guide to get started with cosmic-manager. Once you're done, you can take a look at all of our available options in the Options section.

Found a bug?

If you found a bug, please open an issue on the issue tracker.

Licenses

  • GPL-3.0-only: Applies to the cosmic-manager command-line interface located in the cosmic-manager subdirectory.
  • MIT: Covers Nix packages, home-manager modules, cosmic-manager library, documentation, and basically everything else.

Getting started

cosmic-manager supports both stable Nix and Flakes. So you can choose the one that best fits your needs. Follow the steps below to get started with managing your COSMIC desktop declaratively using cosmic-manager.

Stable Nix

When using stable Nix, you have several options to install cosmic-manager based on your preferences and setup. Choose one of the methods below to get started.

Option 1: Using npins

npins simplifies the process of "pinning" external dependencies for your configuration.

Steps:

  1. Ensure you have followed the npins getting started guide.
  2. Add cosmic-manager to your configuration:
npins add --name cosmic-manager github HeitorAugustoLN cosmic-manager
  1. Update your Nix configuration:

With home-manager integrated into NixOS:

let
  sources = import ./npins;
in
{
  home-manager.users.cosmic-user = {
    imports = [
      (sources.cosmic-manager + "/modules")
    ];

    wayland.desktopManager.cosmic.enable = true;
  };
}

With standalone home-manager:

let
  sources = import ./npins.nix;
in
{
  imports = [
    (sources.cosmic-manager + "/modules")
  ];

  home.username = "cosmic-user";
  programs.home-manager.enable = true;

  wayland.desktopManager.cosmic.enable = true;
}

Option 2: Using Channels

Nix channels offer a simple way to download, update, and use cosmic-manager modules. However, this approach sacrifices reproducibility across different machines.

Steps:

  1. Add the cosmic-manager channel:
sudo nix-channel --add https://github.com/HeitorAugustoLN/cosmic-manager/archive/main.tar.gz cosmic-manager
sudo nix-channel --update
  1. Update your Nix configuration:

With home-manager integrated into NixOS:

{
  home-manager.users.cosmic-user = {
    imports = [
      <cosmic-manager/modules>
    ];

    wayland.desktopManager.cosmic.enable = true;
  };
}

With standalone home-manager:

{
  imports = [
    <cosmic-manager/modules>
  ];

  home.username = "cosmic-user";
  programs.home-manager.enable = true;

  wayland.desktopManager.cosmic.enable = true;
}

Which Option Should I Choose?

  • Use npins: If you want better reproducibility and a cleaner way to manage external dependencies.
  • Use Channels: If you prefer a simpler setup and are okay with sacrificing strict reproducibility.

With either method, you’re set to manage your COSMIC desktop declaratively!

Flakes

Flakes are the preferred way to use cosmic-manager, offering a modern and reproducible way to manage your COSMIC desktop.

If you have Flakes enabled, this will be the easiest and most flexible method to get started.

Adding cosmic-manager as an Input

First, add cosmic-manager to the inputs in your flake.nix file. Here’s an example:

{
  inputs = {
    nixpkgs.url = "nixpkgs/nixos-unstable";
    cosmic-manager = {
      url = "github:HeitorAugustoLN/cosmic-manager";
      inputs = {
        nixpkgs.follows = "nixpkgs";
        home-manager.follows = "home-manager";
      };
    };
    home-manager = {
      url = "github:nix-community/home-manager";
      inputs.nixpkgs.follows = "nixpkgs";
    };
  };

  outputs = { nixpkgs, home-manager, cosmic-manager, ... }: {
    # Outputs will depend on your setup (home-manager as NixOS module or standalone home-manager).
  };
}

Using cosmic-manager with a home-manager as NixOS module installation

If you’re using home-manager as a NixOS module, your flake.nix file might look like this:

{
  outputs = { nixpkgs, home-manager, cosmic-manager, ... }: {
    nixosConfigurations.my-computer = nixpkgs.lib.nixosSystem {
      system = "x86_64-linux";
      modules = [
        home-manager.nixosModules.home-manager
        {
          home-manager.users.cosmic-user = {
            imports = [
              ./home.nix
              cosmic-manager.homeManagerModules.cosmic-manager
            ];
          };
        }
      ];
    };
  };
}

Using cosmic-manager with a standalone home-manager installation

If you’re using home-manager as a standalone tool, your flake.nix file might look like this:

{
  outputs = { nixpkgs, home-manager, cosmic-manager, ... }: {
    homeConfigurations."cosmic-user@my-computer" = home-manager.lib.homeManagerConfiguration {
      pkgs = nixpkgs.legacyPackages.x86_64-linux;
      modules = [
        ./home.nix
        cosmic-manager.homeManagerModules.cosmic-manager
      ];
    };
  };
}

Follow this guide, and you’ll have cosmic-manager up and running with Flakes in no time!

programs.cosmic-applibrary.enable

Whether to enable COSMIC Application Library.

Type: boolean

Default: false

Example: true

Declared by:

programs.cosmic-applibrary.package

The cosmic-applibrary package to use. Set to null if you don’t want to install the package.

Type: null or package

Default: pkgs.cosmic-applibrary

Declared by:

programs.cosmic-applibrary.settings

Configuration entries for COSMIC Application Library.

Type: attribute set of anything

Default: { }

Example:

{
  groups = [
    {
      filter = cosmicLib.cosmic.mkRon "namedStruct" {
        name = "Categories";
        value = {
          categories = [
            "Office"
          ];
          exclude = [ ];
          include = [
            "org.gnome.Totem"
            "org.gnome.eog"
            "simple-scan"
            "thunderbird"
          ];
        };
      };
      icon = "folder-symbolic";
      name = "cosmic-office";
    }
    {
      filter = cosmicLib.cosmic.mkRon "enum" {
        value = [
          "Counter-Strike 2"
        ];
        variant = "AppIds";
      };
      icon = "folder-symbolic";
      name = "Games";
    }
  ];
}

Declared by:

programs.cosmic-applibrary.settings.groups

The groups of applications to display.

Type: null or (list of (attribute set of anything))

Default: null

Example:

[
  {
    filter = cosmicLib.cosmic.mkRon "namedStruct" {
      name = "Categories";
      value = {
        categories = [
          "Office"
        ];
        exclude = [ ];
        include = [
          "org.gnome.Totem"
          "org.gnome.eog"
          "simple-scan"
          "thunderbird"
        ];
      };
    };
    icon = "folder-symbolic";
    name = "cosmic-office";
  }
  {
    filter = cosmicLib.cosmic.mkRon "enum" {
      value = [
        "Counter-Strike 2"
      ];
      variant = "AppIds";
    };
    icon = "folder-symbolic";
    name = "Games";
  }
]

Declared by:

programs.cosmic-applibrary.settings.groups.*.filter

The filter of the group.

Type: RON enum variant “None” (singular RON enum) or RON enum variant “AppIds” with 1 list of string value (singular RON tuple enum) or RON named struct of (attribute set of anything) or raw RON value

Example:

{
  __type = "namedStruct";
  name = "Categories";
  value = {
    categories = [
      "Office"
    ];
    exclude = [ ];
    include = [
      "org.gnome.Totem"
      "org.gnome.eog"
      "simple-scan"
      "thunderbird"
    ];
  };
}

Declared by:

programs.cosmic-applibrary.settings.groups.*.icon

The icon of the group.

Type: string or raw RON value

Example: "folder-symbolic"

Declared by:

programs.cosmic-applibrary.settings.groups.*.name

The name of the group.

Type: string or raw RON value

Example: "cosmic-office"

Declared by:

programs.cosmic-edit.enable

Whether to enable COSMIC Text Editor.

Type: boolean

Default: false

Example: true

Declared by:

programs.cosmic-edit.package

The cosmic-edit package to use. Set to null if you don’t want to install the package.

Type: null or package

Default: pkgs.cosmic-edit

Declared by:

programs.cosmic-edit.settings

Configuration entries for COSMIC Text Editor.

Type: attribute set of anything

Default: { }

Example:

{
  app_theme = cosmicLib.cosmic.mkRon "enum" "System";
  auto_indent = true;
  find_case_sensitive = false;
  find_use_regex = false;
  find_wrap_around = true;
  font_name = "Fira Mono";
  font_size = 16;
  highlight_current_line = true;
  line_numbers = true;
  syntax_theme_dark = "COSMIC Dark";
  syntax_theme_light = "COSMIC Light";
  tab_width = 2;
  vim_bindings = true;
  word_wrap = true;
}

Declared by:

programs.cosmic-edit.settings.app_theme

The theme of the application.

Type: null or one of the following RON enum variants: “Dark”, “Light”, “System” or raw RON value

Default: null

Example: cosmicLib.cosmic.mkRon "enum" "System"

Declared by:

programs.cosmic-edit.settings.auto_indent

Whether to automatically indent the code.

Type: null or boolean or raw RON value

Default: null

Example: true

Declared by:

programs.cosmic-edit.settings.find_case_sensitive

Whether to make the search case sensitive.

Type: null or boolean or raw RON value

Default: null

Example: false

Declared by:

programs.cosmic-edit.settings.find_use_regex

Whether to use regular expressions in the search.

Type: null or boolean or raw RON value

Default: null

Example: false

Declared by:

programs.cosmic-edit.settings.find_wrap_around

Whether to wrap around the search.

Type: null or boolean or raw RON value

Default: null

Example: true

Declared by:

programs.cosmic-edit.settings.font_name

The name of the font to be used.

Type: null or string or raw RON value

Default: null

Example: "Fira Mono"

Declared by:

programs.cosmic-edit.settings.font_size

The size of the font to be used.

Type: null or 16 bit unsigned integer; between 0 and 65535 (both inclusive) or raw RON value

Default: null

Example: 14

Declared by:

programs.cosmic-edit.settings.highlight_current_line

Whether to highlight the current line.

Type: null or boolean or raw RON value

Default: null

Example: true

Declared by:

programs.cosmic-edit.settings.line_numbers

Whether to show line numbers.

Type: null or boolean or raw RON value

Default: null

Example: true

Declared by:

programs.cosmic-edit.settings.syntax_theme_dark

The name of the dark syntax theme to be used.

Type: null or string or raw RON value

Default: null

Example: "COSMIC Dark"

Declared by:

programs.cosmic-edit.settings.syntax_theme_light

The name of the light syntax theme to be used.

Type: null or string or raw RON value

Default: null

Example: "COSMIC Light"

Declared by:

programs.cosmic-edit.settings.tab_width

The width of the tab.

Type: null or 16 bit unsigned integer; between 0 and 65535 (both inclusive) or raw RON value

Default: null

Example: 4

Declared by:

programs.cosmic-edit.settings.vim_bindings

Whether to enable Vim bindings.

Type: null or boolean or raw RON value

Default: null

Example: false

Declared by:

programs.cosmic-edit.settings.word_wrap

Whether to wrap the words.

Type: null or boolean or raw RON value

Default: null

Example: true

Declared by:

programs.cosmic-ext-calculator.enable

Whether to enable COSMIC Calculator.

Type: boolean

Default: false

Example: true

Declared by:

programs.cosmic-ext-calculator.package

The cosmic-ext-calculator package to use. Set to null if you don’t want to install the package.

Type: null or package

Default: pkgs.cosmic-ext-calculator

Declared by:

programs.cosmic-ext-calculator.settings

Configuration entries for COSMIC Calculator.

Type: attribute set of anything

Default: { }

Example:

{
  app_theme = cosmicLib.cosmic.mkRon "enum" "System";
}

Declared by:

programs.cosmic-ext-calculator.settings.app_theme

The theme of the application.

Type: null or one of the following RON enum variants: “Dark”, “Light”, “System” or raw RON value

Default: null

Example: cosmicLib.cosmic.mkRon "enum" "System"

Declared by:

programs.cosmic-ext-ctl.enable

Whether to enable cosmic-ctl.

When disabled, cosmic-ctl will not be installed. But it will still be used by cosmic-manager for managing COSMIC Desktop configurations.

Type: boolean

Default: config.wayland.desktopManager.cosmic.enable

Example: true

Declared by:

programs.cosmic-ext-ctl.package

The cosmic-ext-ctl package to use.

Type: package

Default: pkgs.cosmic-ext-ctl

Declared by:

programs.cosmic-ext-tweaks.enable

Whether to enable COSMIC Calculator.

Type: boolean

Default: false

Example: true

Declared by:

programs.cosmic-ext-tweaks.package

The cosmic-ext-tweaks package to use. Set to null if you don’t want to install the package.

Type: null or package

Default: pkgs.cosmic-ext-tweaks

Declared by:

programs.cosmic-ext-tweaks.settings

Configuration entries for COSMIC Calculator.

Type: attribute set of anything

Default: { }

Example:

{
  app_theme = cosmicLib.cosmic.mkRon "enum" "System";
}

Declared by:

programs.cosmic-ext-tweaks.settings.app_theme

The theme of the application.

Type: null or one of the following RON enum variants: “Dark”, “Light”, “System” or raw RON value

Default: null

Example: cosmicLib.cosmic.mkRon "enum" "System"

Declared by:

programs.cosmic-files.enable

Whether to enable COSMIC Files.

Type: boolean

Default: false

Example: true

Declared by:

programs.cosmic-files.package

The cosmic-files package to use. Set to null if you don’t want to install the package.

Type: null or package

Default: pkgs.cosmic-files

Declared by:

programs.cosmic-files.settings

Configuration entries for COSMIC Files.

Type: attribute set of anything

Default: { }

Example:

{
  app_theme = cosmicLib.cosmic.mkRon "enum" "System";
  desktop = {
    show_content = true;
    show_mounted_drives = false;
    show_trash = false;
  };
  favorites = [
    (cosmicLib.cosmic.mkRon "enum" "Home")
    (cosmicLib.cosmic.mkRon "enum" "Documents")
    (cosmicLib.cosmic.mkRon "enum" "Downloads")
    (cosmicLib.cosmic.mkRon "enum" "Music")
    (cosmicLib.cosmic.mkRon "enum" "Pictures")
    (cosmicLib.cosmic.mkRon "enum" "Videos")
  ];
  show_details = false;
  tab = {
    folders_first = true;
    icon_sizes = {
      grid = 100;
      list = 100;
    };
    show_hidden = false;
    view = cosmicLib.cosmic.mkRon "enum" "List";
  };
}

Declared by:

programs.cosmic-files.settings.app_theme

The theme of the application.

Type: null or one of the following RON enum variants: “Dark”, “Light”, “System” or raw RON value

Default: null

Example: cosmicLib.cosmic.mkRon "enum" "System"

Declared by:

programs.cosmic-files.settings.desktop

The desktop icons settings.

Type: null or (attribute set of anything)

Default: null

Example:

{
  show_content = true;
  show_mounted_drives = false;
  show_trash = false;
}

Declared by:

programs.cosmic-files.settings.desktop.show_content

Whether to show the content of the Desktop folder.

Type: boolean or raw RON value

Example: true

Declared by:

programs.cosmic-files.settings.desktop.show_mounted_drives

Whether to show mounted drives on the Desktop.

Type: boolean or raw RON value

Example: false

Declared by:

programs.cosmic-files.settings.desktop.show_trash

Whether to show the Trash on the Desktop.

Type: boolean or raw RON value

Example: false

Declared by:

programs.cosmic-files.settings.favorites

The list of favorite folders.

Type: null or (list of (one of the following RON enum variants: “Documents”, “Downloads”, “Home”, “Music”, “Pictures”, “Videos” or RON enum variant “Path” with 1 string value (singular RON tuple enum) or raw RON value)) or raw RON value

Default: null

Example:

[
  (cosmicLib.cosmic.mkRon "enum" "Home")
  (cosmicLib.cosmic.mkRon "enum" "Documents")
  (cosmicLib.cosmic.mkRon "enum" "Downloads")
  (cosmicLib.cosmic.mkRon "enum" "Music")
  (cosmicLib.cosmic.mkRon "enum" "Pictures")
  (cosmicLib.cosmic.mkRon "enum" "Videos")
]

Declared by:

programs.cosmic-files.settings.show_details

Whether to show file details.

Type: null or boolean or raw RON value

Default: null

Example: false

Declared by:

programs.cosmic-files.settings.tab

The tab settings.

Type: null or (attribute set of anything)

Default: null

Example:

{
  folders_first = true;
  icon_sizes = {
    grid = 100;
    list = 100;
  };
  show_hidden = false;
  view = cosmicLib.cosmic.mkRon "enum" "List";
}

Declared by:

programs.cosmic-files.settings.tab.folders_first

Whether to show folders before files.

Type: boolean or raw RON value

Example: true

Declared by:

programs.cosmic-files.settings.tab.icon_sizes

The icon sizes of the grid and list views.

Type: attribute set of anything

Example:

{
  grid = 100;
  list = 100;
}

Declared by:

programs.cosmic-files.settings.tab.icon_sizes.grid

The size of the icons in the grid view.

Type: Non-zero unsigned 16-bit integer or raw RON value

Example: 100

Declared by:

programs.cosmic-files.settings.tab.icon_sizes.list

The size of the icons in the list view.

Type: Non-zero unsigned 16-bit integer or raw RON value

Example: 100

Declared by:

programs.cosmic-files.settings.tab.show_hidden

Whether to show hidden files.

Type: boolean or raw RON value

Example: false

Declared by:

programs.cosmic-files.settings.tab.view

The default view of the tab.

Type: one of the following RON enum variants: “Grid”, “List” or raw RON value

Example: cosmicLib.cosmic.mkRon "enum" "List"

Declared by:

programs.cosmic-manager.enable

Whether to enable cosmic-manager command-line interface.

Type: boolean

Default: config.wayland.desktopManager.cosmic.enable

Example: true

Declared by:

programs.cosmic-manager.package

The package to use for cosmic-manager command-line interface.

Type: package

Default: pkgs.callPackage <cosmic-manager/cosmic-manager> { }

Declared by:

programs.cosmic-player.enable

Whether to enable COSMIC Media Player.

Type: boolean

Default: false

Example: true

Declared by:

programs.cosmic-player.package

The cosmic-player package to use. Set to null if you don’t want to install the package.

Type: null or package

Default: pkgs.cosmic-player

Declared by:

programs.cosmic-player.settings

Configuration entries for COSMIC Media Player.

Type: attribute set of anything

Default: { }

Example:

{
  app_theme = cosmicLib.cosmic.mkRon "enum" "System";
}

Declared by:

programs.cosmic-player.settings.app_theme

The theme of the application.

Type: null or one of the following RON enum variants: “Dark”, “Light”, “System” or raw RON value

Default: null

Example: cosmicLib.cosmic.mkRon "enum" "System"

Declared by:

programs.cosmic-store.enable

Whether to enable COSMIC Store.

Type: boolean

Default: false

Example: true

Declared by:

programs.cosmic-store.package

The cosmic-store package to use. Set to null if you don’t want to install the package.

Type: null or package

Default: pkgs.cosmic-store

Declared by:

programs.cosmic-store.settings

Configuration entries for COSMIC Store.

Type: attribute set of anything

Default: { }

Example:

{
  app_theme = cosmicLib.cosmic.mkRon "enum" "System";
}

Declared by:

programs.cosmic-store.settings.app_theme

The theme of the application.

Type: null or one of the following RON enum variants: “Dark”, “Light”, “System” or raw RON value

Default: null

Example: cosmicLib.cosmic.mkRon "enum" "System"

Declared by:

programs.cosmic-term.enable

Whether to enable COSMIC Terminal Emulator.

Type: boolean

Default: false

Example: true

Declared by:

programs.cosmic-term.package

The cosmic-term package to use. Set to null if you don’t want to install the package.

Type: null or package

Default: pkgs.cosmic-term

Declared by:

programs.cosmic-term.colorSchemes

The color schemes to include in the terminal.

Type: null or (list of (attribute set of anything))

Default: null

Example:

[
  {
    bright = {
      black = "#585B70";
      blue = "#89B4FA";
      cyan = "#94E2D5";
      green = "#A6E3A1";
      magenta = "#F5C2E7";
      red = "#F38BA8";
      white = "#A6ADC8";
      yellow = "#F9E2AF";
    };
    bright_foreground = "#CDD6F4";
    cursor = "#F5E0DC";
    dim = {
      black = "#45475A";
      blue = "#89B4FA";
      cyan = "#94E2D5";
      green = "#A6E3A1";
      magenta = "#F5C2E7";
      red = "#F38BA8";
      white = "#BAC2DE";
      yellow = "#F9E2AF";
    };
    dim_foreground = "#6C7086";
    foreground = "#CDD6F4";
    mode = "dark";
    name = "Catppuccin Mocha";
    normal = {
      black = "#45475A";
      blue = "#89B4FA";
      cyan = "#94E2D5";
      green = "#A6E3A1";
      magenta = "#F5C2E7";
      red = "#F38BA8";
      white = "#BAC2DE";
      yellow = "#F9E2AF";
    };
  }
]

Declared by:

programs.cosmic-term.colorSchemes.*.bright

The bright colors of the terminal.

Type: attribute set of anything

Declared by:

programs.cosmic-term.colorSchemes.*.bright.black

The black color of bright colors.

Type: hex color

Example: "#000000"

Declared by:

programs.cosmic-term.colorSchemes.*.bright.blue

The blue color of bright colors.

Type: hex color

Example: "#0000FF"

Declared by:

programs.cosmic-term.colorSchemes.*.bright.cyan

The cyan color of bright colors.

Type: hex color

Example: "#00FFFF"

Declared by:

programs.cosmic-term.colorSchemes.*.bright.green

The green color of bright colors.

Type: hex color

Example: "#00FF00"

Declared by:

programs.cosmic-term.colorSchemes.*.bright.magenta

The magenta color of bright colors.

Type: hex color

Example: "#FF00FF"

Declared by:

programs.cosmic-term.colorSchemes.*.bright.red

The red color of bright colors.

Type: hex color

Example: "#FF0000"

Declared by:

programs.cosmic-term.colorSchemes.*.bright.white

The white color of bright colors.

Type: hex color

Example: "#FFFFFF"

Declared by:

programs.cosmic-term.colorSchemes.*.bright.yellow

The yellow color of bright colors.

Type: hex color

Example: "#FFFF00"

Declared by:

programs.cosmic-term.colorSchemes.*.bright_foreground

The bright foreground color of the terminal.

Type: hex color

Example: "#FFFFFF"

Declared by:

programs.cosmic-term.colorSchemes.*.cursor

The color of the terminal cursor.

Type: hex color

Example: "#FFFFFF"

Declared by:

programs.cosmic-term.colorSchemes.*.dim

The dim colors of the terminal.

Type: attribute set of anything

Declared by:

programs.cosmic-term.colorSchemes.*.dim.black

The black color of dim colors.

Type: hex color

Example: "#000000"

Declared by:

programs.cosmic-term.colorSchemes.*.dim.blue

The blue color of dim colors.

Type: hex color

Example: "#0000FF"

Declared by:

programs.cosmic-term.colorSchemes.*.dim.cyan

The cyan color of dim colors.

Type: hex color

Example: "#00FFFF"

Declared by:

programs.cosmic-term.colorSchemes.*.dim.green

The green color of dim colors.

Type: hex color

Example: "#00FF00"

Declared by:

programs.cosmic-term.colorSchemes.*.dim.magenta

The magenta color of dim colors.

Type: hex color

Example: "#FF00FF"

Declared by:

programs.cosmic-term.colorSchemes.*.dim.red

The red color of dim colors.

Type: hex color

Example: "#FF0000"

Declared by:

programs.cosmic-term.colorSchemes.*.dim.white

The white color of dim colors.

Type: hex color

Example: "#FFFFFF"

Declared by:

programs.cosmic-term.colorSchemes.*.dim.yellow

The yellow color of dim colors.

Type: hex color

Example: "#FFFF00"

Declared by:

programs.cosmic-term.colorSchemes.*.dim_foreground

The dim foreground color of the terminal.

Type: hex color

Example: "#FFFFFF"

Declared by:

programs.cosmic-term.colorSchemes.*.foreground

The foreground color of the terminal.

Type: hex color

Example: "#FFFFFF"

Declared by:

programs.cosmic-term.colorSchemes.*.mode

The mode of the colorscheme.

Type: one of “dark”, “light”

Example: "dark"

Declared by:

programs.cosmic-term.colorSchemes.*.name

The name of the colorscheme.

Type: string

Example: "Catppuccin Mocha"

Declared by:

programs.cosmic-term.colorSchemes.*.normal

The normal colors of the terminal.

Type: attribute set of anything

Declared by:

programs.cosmic-term.colorSchemes.*.normal.black

The black color of normal colors.

Type: hex color

Example: "#000000"

Declared by:

programs.cosmic-term.colorSchemes.*.normal.blue

The blue color of normal colors.

Type: hex color

Example: "#0000FF"

Declared by:

programs.cosmic-term.colorSchemes.*.normal.cyan

The cyan color of normal colors.

Type: hex color

Example: "#00FFFF"

Declared by:

programs.cosmic-term.colorSchemes.*.normal.green

The green color of normal colors.

Type: hex color

Example: "#00FF00"

Declared by:

programs.cosmic-term.colorSchemes.*.normal.magenta

The magenta color of normal colors.

Type: hex color

Example: "#FF00FF"

Declared by:

programs.cosmic-term.colorSchemes.*.normal.red

The red color of normal colors.

Type: hex color

Example: "#FF0000"

Declared by:

programs.cosmic-term.colorSchemes.*.normal.white

The white color of normal colors.

Type: hex color

Example: "#FFFFFF"

Declared by:

programs.cosmic-term.colorSchemes.*.normal.yellow

The yellow color of normal colors.

Type: hex color

Example: "#FFFF00"

Declared by:

programs.cosmic-term.profiles

The profiles to use in the terminal.

Type: null or (list of (attribute set of anything))

Default: null

Example:

[
  {
    command = "bash";
    hold = false;
    is_default = true;
    name = "Default";
    syntax_theme_dark = "COSMIC Dark";
    syntax_theme_light = "COSMIC Light";
    tab_title = "Default";
    working_directory = "/home/user";
  }
  {
    command = "bash";
    hold = false;
    is_default = false;
    name = "New Profile";
    syntax_theme_dark = "Catppuccin Mocha";
    syntax_theme_light = "Catppuccin Latte";
    tab_title = "New Profile";
  }
]

Declared by:

programs.cosmic-term.profiles.*.command

The shell or program to execute when opening a new terminal instance with this profile. If it is not specified, it will default to your system shell.

Type: null or string or raw RON value

Default: null

Example: "bash"

Declared by:

programs.cosmic-term.profiles.*.hold

Whether the terminal should continue running after the command exits.

Type: boolean

Example: true

Declared by:

programs.cosmic-term.profiles.*.is_default

Whether the profile is the default.

Type: boolean

Default: false

Example: true

Declared by:

programs.cosmic-term.profiles.*.name

The name of the profile.

Type: string

Example: "Default"

Declared by:

programs.cosmic-term.profiles.*.syntax_theme_dark

Specifies the color scheme used for syntax highlighting in dark mode for this profile.

Type: string

Example: "COSMIC Dark"

Declared by:

programs.cosmic-term.profiles.*.syntax_theme_light

Specifies the color scheme used for syntax highlighting in light mode for this profile.

Type: string

Example: "COSMIC Light"

Declared by:

programs.cosmic-term.profiles.*.tab_title

Overrides the title of the terminal tab. If it is not specified, it will not override the title.

Type: null or string or raw RON value

Default: null

Example: "Default"

Declared by:

programs.cosmic-term.profiles.*.working_directory

The working directory to use when opening a new terminal instance with this profile. If it is not specified, it will continue using the current working directory.

Type: null or string or raw RON value

Default: null

Example: "/home/user"

Declared by:

programs.cosmic-term.settings

Configuration entries for COSMIC Terminal Emulator.

Type: attribute set of anything

Default: { }

Example:

{
  app_theme = cosmicLib.cosmic.mkRon "enum" "Dark";
  bold_font_weight = 700;
  dim_font_weight = 300;
  focus_follows_mouse = true;
  font_name = "JetBrains Mono";
  font_size = 12;
  font_size_zoom_step_mul_100 = 100;
  font_stretch = 100;
  font_weight = 400;
  opacity = 100;
  show_headerbar = true;
  use_bright_bold = true;
}

Declared by:

programs.cosmic-term.settings.app_theme

Controls the theme of the terminal.

  • Dark: Use the dark theme.
  • Light: Use the light theme.
  • System: Follows the system theme.

Type: null or one of the following RON enum variants: “Dark”, “Light”, “System” or raw RON value

Default: null

Example: cosmicLib.cosmic.mkRon "enum" "Dark"

Declared by:

programs.cosmic-term.settings.bold_font_weight

Specifies the weight of bold text characters in the terminal.

Type: null or 16 bit unsigned integer; between 0 and 65535 (both inclusive) or raw RON value

Default: null

Example: 700

Declared by:

programs.cosmic-term.settings.dim_font_weight

Specifies the weight of dim text characters in the terminal.

Type: null or 16 bit unsigned integer; between 0 and 65535 (both inclusive) or raw RON value

Default: null

Example: 300

Declared by:

programs.cosmic-term.settings.focus_follows_mouse

Whether to enable focus follows mouse in the terminal.

When enabled, the terminal split will automatically receive focus when the mouse cursor hovers over it, without needing to click.

Type: null or boolean or raw RON value

Default: null

Example: true

Declared by:

programs.cosmic-term.settings.font_name

Specificies the font family to use in the terminal.

Type: null or string or raw RON value

Default: null

Example: "JetBrains Mono"

Declared by:

programs.cosmic-term.settings.font_size

Specifies the font size to use in the terminal.

Type: null or 16 bit unsigned integer; between 0 and 65535 (both inclusive) or raw RON value

Default: null

Example: 12

Declared by:

programs.cosmic-term.settings.font_size_zoom_step_mul_100

Controls the granularity of font size changes when zooming.

Value is multiplied by 0.01 to determine the zoom step (e.g. 100 = 1px).

Type: null or 16 bit unsigned integer; between 0 and 65535 (both inclusive) or raw RON value

Default: null

Example: 100

Declared by:

programs.cosmic-term.settings.font_stretch

Controls the horizontal font spacing of characters in the terminal.

Type: null or 16 bit unsigned integer; between 0 and 65535 (both inclusive) or raw RON value

Default: null

Example: 100

Declared by:

programs.cosmic-term.settings.font_weight

Specifies the weight of normal text characters in the terminal.

Type: null or 16 bit unsigned integer; between 0 and 65535 (both inclusive) or raw RON value

Default: null

Example: 400

Declared by:

programs.cosmic-term.settings.opacity

Specifies the opacity of the terminal background.

Type: null or integer between 0 and 100 (both inclusive) or raw RON value

Default: null

Example: 100

Declared by:

programs.cosmic-term.settings.show_headerbar

Whether to show the terminal window title bar and menu.

Type: null or boolean or raw RON value

Default: null

Example: true

Declared by:

programs.cosmic-term.settings.syntax_theme_dark

Specifies the color scheme used for syntax highlighting in dark mode.

Type: null or string or raw RON value

Default: null

Example: "COSMIC Dark"

Declared by:

programs.cosmic-term.settings.syntax_theme_light

Specifies the color scheme used for syntax highlighting in light mode.

Type: null or string or raw RON value

Default: null

Example: "COSMIC Light"

Declared by:

programs.cosmic-term.settings.use_bright_bold

Whether the terminal should use bright bold text.

Type: null or boolean or raw RON value

Default: null

Example: true

Declared by:

programs.forecast.enable

Whether to enable Forecast.

Type: boolean

Default: false

Example: true

Declared by:

programs.forecast.package

The forecast package to use. Set to null if you don’t want to install the package.

Type: null or package

Default: pkgs.forecast

Declared by:

programs.forecast.settings

Configuration entries for Forecast.

Type: attribute set of anything

Default: { }

Example:

{
  api_key = "";
  app_theme = cosmicLib.cosmic.mkRon "enum" "System";
  default_page = cosmicLib.cosmic.mkRon "enum" "HourlyView";
  latitude = cosmicLib.cosmic.mkRon "optional" "-28.971476";
  location = cosmicLib.cosmic.mkRon "optional" "Anta Gorda - RS, Brazil";
  longitude = cosmicLib.cosmic.mkRon "optional" "-412.005691";
  pressure_units = cosmicLib.cosmic.mkRon "enum" "Hectopascal";
  speed_units = cosmicLib.cosmic.mkRon "enum" "KilometresPerHour";
  timefmt = cosmicLib.cosmic.mkRon "enum" "TwelveHr";
  units = cosmicLib.cosmic.mkRon "enum" "Fahrenheit";
}

Declared by:

programs.forecast.settings.api_key

The API key for Geocoding API.

Type: null or string or raw RON value

Default: null

Example: ""

Declared by:

programs.forecast.settings.app_theme

The theme of the application.

Type: null or one of the following RON enum variants: “Dark”, “Light”, “System” or raw RON value

Default: null

Example: cosmicLib.cosmic.mkRon "enum" "System"

Declared by:

programs.forecast.settings.default_page

The default page of the application.

Type: null or one of the following RON enum variants: “DailyView”, “Details”, “HourlyView” or raw RON value

Default: null

Example: cosmicLib.cosmic.mkRon "enum" "HourlyView"

Declared by:

programs.forecast.settings.latitude

The latitude of the location.

Type: null or (RON optional of (string or raw RON value)) or raw RON value

Default: null

Example: cosmicLib.cosmic.mkRon "optional" "-28.971476"

Declared by:

programs.forecast.settings.location

The name of the location.

Type: null or (RON optional of (string or raw RON value)) or raw RON value

Default: null

Example: cosmicLib.cosmic.mkRon "optional" "Anta Gorda - RS, Brazil"

Declared by:

programs.forecast.settings.longitude

The longitude of the location.

Type: null or (RON optional of (string or raw RON value)) or raw RON value

Default: null

Example: cosmicLib.cosmic.mkRon "optional" "-412.005691"

Declared by:

programs.forecast.settings.pressure_units

The units of the pressure.

Type: null or one of the following RON enum variants: “Bar”, “Hectopascal”, “Kilopascal”, “Psi” or raw RON value

Default: null

Example: cosmicLib.cosmic.mkRon "enum" "Hectopascal"

Declared by:

programs.forecast.settings.speed_units

The units of the speed.

Type: null or one of the following RON enum variants: “KilometresPerHour”, “MetersPerSecond”, “MilesPerHour” or raw RON value

Default: null

Example: cosmicLib.cosmic.mkRon "enum" "KilometresPerHour"

Declared by:

programs.forecast.settings.timefmt

The time format.

Type: null or one of the following RON enum variants: “TwelveHr”, “TwentyFourHr” or raw RON value

Default: null

Example: cosmicLib.cosmic.mkRon "enum" "TwelveHr"

Declared by:

programs.forecast.settings.units

The units of the temperature.

Type: null or one of the following RON enum variants: “Celsius”, “Fahrenheit” or raw RON value

Default: null

Example: cosmicLib.cosmic.mkRon "enum" "Fahrenheit"

Declared by:

programs.tasks.enable

Whether to enable Tasks.

Type: boolean

Default: false

Example: true

Declared by:

programs.tasks.package

The tasks package to use. Set to null if you don’t want to install the package.

Type: null or package

Default: pkgs.tasks

Declared by:

programs.tasks.settings

Configuration entries for Tasks.

Type: attribute set of anything

Default: { }

Example:

{
  app_theme = cosmicLib.cosmic.mkRon "enum" "System";
}

Declared by:

programs.tasks.settings.app_theme

The theme of the application.

Type: null or one of the following RON enum variants: “Dark”, “Light”, “System” or raw RON value

Default: null

Example: cosmicLib.cosmic.mkRon "enum" "System"

Declared by:

wayland.desktopManager.cosmic.enable

Whether to enable declarative configuration management for the COSMIC Desktop environment.

When enabled, this module allows you to manage your COSMIC Desktop settings through home-manager.

Type: boolean

Default: false

Example: true

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark

The dark theme to build for COSMIC desktop and applications.

Type: null or (attribute set of anything)

Default: null

Example:

{
  active_hint = 3;
}

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.accent

Accent color for the theme.

Type: null or (RON optional of (submodule))

Default: null

Example:

cosmicLib.cosmic.mkRon "optional" {
  blue = 0.0;
  green = 0.0;
  red = 0.0;
}

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.accent.blue

The blue component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.accent.green

The green component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.accent.red

The red component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.active_hint

Active window hint outline width for COSMIC compositor.

Type: null or 32 bit unsigned integer; between 0 and 4294967295 (both inclusive) or raw RON value

Default: null

Example: 3

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.bg_color

Background color for the theme.

Type: null or (RON optional of (submodule))

Default: null

Example:

cosmicLib.cosmic.mkRon "optional" {
  alpha = 1.0;
  blue = 0.0;
  green = 0.0;
  red = 0.0;
}

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.bg_color.alpha

The alpha component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.bg_color.blue

The blue component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.bg_color.green

The green component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.bg_color.red

The red component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.corner_radii

Corner radii variables for the theme.

Type: null or (attribute set of anything)

Default: null

Example:

{
  radius_0 = cosmicLib.cosmic.mkRon "tuple" [
    0.0
    0.0
    0.0
    0.0
  ];
  radius_l = cosmicLib.cosmic.mkRon "tuple" [
    32.0
    32.0
    32.0
    32.0
  ];
  radius_m = cosmicLib.cosmic.mkRon "tuple" [
    16.0
    16.0
    16.0
    16.0
  ];
  radius_s = cosmicLib.cosmic.mkRon "tuple" [
    8.0
    8.0
    8.0
    8.0
  ];
  radius_xl = cosmicLib.cosmic.mkRon "tuple" [
    160.0
    160.0
    160.0
    160.0
  ];
  radius_xs = cosmicLib.cosmic.mkRon "tuple" [
    4.0
    4.0
    4.0
    4.0
  ];
}

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.corner_radii.radius_0

The corner radius of 0.

Type: (RON tuple of floating point number with a fixed-size of 4 elements) or raw RON value

Example:

cosmicLib.cosmic.mkRon "tuple" [
  0.0
  0.0
  0.0
  0.0
]

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.corner_radii.radius_l

The large corner radius.

Type: (RON tuple of floating point number with a fixed-size of 4 elements) or raw RON value

Example:

cosmicLib.cosmic.mkRon "tuple" [
  32.0
  32.0
  32.0
  32.0
]

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.corner_radii.radius_m

The medium corner radius.

Type: (RON tuple of floating point number with a fixed-size of 4 elements) or raw RON value

Example:

cosmicLib.cosmic.mkRon "tuple" [
  16.0
  16.0
  16.0
  16.0
]

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.corner_radii.radius_s

The small corner radius.

Type: (RON tuple of floating point number with a fixed-size of 4 elements) or raw RON value

Example:

cosmicLib.cosmic.mkRon "tuple" [
  8.0
  8.0
  8.0
  8.0
]

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.corner_radii.radius_xl

The extra large corner radius.

Type: (RON tuple of floating point number with a fixed-size of 4 elements) or raw RON value

Example:

cosmicLib.cosmic.mkRon "tuple" [
  160.0
  160.0
  160.0
  160.0
]

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.corner_radii.radius_xs

The extra small corner radius.

Type: (RON tuple of floating point number with a fixed-size of 4 elements) or raw RON value

Example:

cosmicLib.cosmic.mkRon "tuple" [
  4.0
  4.0
  4.0
  4.0
]

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.destructive

Destructive color for the theme.

Type: null or (RON optional of (submodule))

Default: null

Example:

cosmicLib.cosmic.mkRon "optional" {
  blue = 0.0;
  green = 0.0;
  red = 1.0;
}

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.destructive.blue

The blue component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.destructive.green

The green component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.destructive.red

The red component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.gaps

Window gaps size (outer and inner, respectively) for COSMIC compositor.

Type: null or (RON tuple of (32 bit unsigned integer; between 0 and 4294967295 (both inclusive) or raw RON value) with a fixed-size of 2 elements) or raw RON value

Default: null

Example:

cosmicLib.cosmic.mkRon "tuple" [
  0
  8
]

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.is_frosted

Whether to enable blurred transparency for COSMIC compositor.

NOTE: This option doesn’t work for COSMIC yet.

Type: null or boolean or raw RON value

Default: null

Example: false

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.neutral_tint

Neutral tint color for the theme.

Type: null or (RON optional of (submodule))

Default: null

Example:

cosmicLib.cosmic.mkRon "optional" {
  blue = 0.0;
  green = 0.0;
  red = 0.0;
}

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.neutral_tint.blue

The blue component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.neutral_tint.green

The green component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.neutral_tint.red

The red component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.palette

The color palette for the theme.

Type: null or one of the following RON tuple enum variants: “Dark”, “HighContrastDark”, “HighContrastLight”, “Light” with 1 ((attribute set of anything) or raw RON value) value or raw RON value

Default: null

Example:

cosmicLib.cosmic.mkRon "enum" {
  value = [
    {
      accent_blue = {
        alpha = 1.0;
        blue = 1.0;
        green = 0.5;
        red = 0.0;
      };
      accent_green = {
        alpha = 1.0;
        blue = 0.0;
        green = 1.0;
        red = 0.0;
      };
      accent_indigo = {
        alpha = 1.0;
        blue = 0.5;
        green = 0.0;
        red = 0.3;
      };
      accent_orange = {
        alpha = 1.0;
        blue = 0.0;
        green = 0.5;
        red = 1.0;
      };
      accent_pink = {
        alpha = 1.0;
        blue = 0.5;
        green = 0.0;
        red = 1.0;
      };
      accent_purple = {
        alpha = 1.0;
        blue = 0.5;
        green = 0.0;
        red = 0.5;
      };
      accent_red = {
        alpha = 1.0;
        blue = 0.0;
        green = 0.0;
        red = 1.0;
      };
      accent_warm_grey = {
        alpha = 1.0;
        blue = 0.5;
        green = 0.5;
        red = 0.5;
      };
      accent_yellow = {
        alpha = 1.0;
        blue = 0.0;
        green = 1.0;
        red = 1.0;
      };
      bright_green = {
        alpha = 1.0;
        blue = 0.0;
        green = 1.0;
        red = 0.0;
      };
      bright_orange = {
        alpha = 1.0;
        blue = 0.0;
        green = 0.5;
        red = 1.0;
      };
      bright_red = {
        alpha = 1.0;
        blue = 0.0;
        green = 0.0;
        red = 1.0;
      };
      ext_blue = {
        alpha = 1.0;
        blue = 1.0;
        green = 0.5;
        red = 0.0;
      };
      ext_indigo = {
        alpha = 1.0;
        blue = 0.5;
        green = 0.0;
        red = 0.3;
      };
      ext_orange = {
        alpha = 1.0;
        blue = 0.0;
        green = 0.5;
        red = 1.0;
      };
      ext_pink = {
        alpha = 1.0;
        blue = 0.5;
        green = 0.0;
        red = 1.0;
      };
      ext_purple = {
        alpha = 1.0;
        blue = 0.5;
        green = 0.0;
        red = 0.5;
      };
      ext_warm_grey = {
        alpha = 1.0;
        blue = 0.5;
        green = 0.5;
        red = 0.5;
      };
      ext_yellow = {
        alpha = 1.0;
        blue = 0.0;
        green = 1.0;
        red = 1.0;
      };
      gray_1 = {
        alpha = 1.0;
        blue = 0.1;
        green = 0.1;
        red = 0.1;
      };
      gray_2 = {
        alpha = 1.0;
        blue = 0.2;
        green = 0.2;
        red = 0.2;
      };
      name = "cosmic-dark";
      neutral_0 = {
        alpha = 1.0;
        blue = 0.0;
        green = 0.0;
        red = 0.0;
      };
      neutral_1 = {
        alpha = 1.0;
        blue = 0.1;
        green = 0.1;
        red = 0.1;
      };
      neutral_10 = {
        alpha = 1.0;
        blue = 1.0;
        green = 1.0;
        red = 1.0;
      };
      neutral_2 = {
        alpha = 1.0;
        blue = 0.2;
        green = 0.2;
        red = 0.2;
      };
      neutral_3 = {
        alpha = 1.0;
        blue = 0.3;
        green = 0.3;
        red = 0.3;
      };
      neutral_4 = {
        alpha = 1.0;
        blue = 0.4;
        green = 0.4;
        red = 0.4;
      };
      neutral_5 = {
        alpha = 1.0;
        blue = 0.5;
        green = 0.5;
        red = 0.5;
      };
      neutral_6 = {
        alpha = 1.0;
        blue = 0.6;
        green = 0.6;
        red = 0.6;
      };
      neutral_7 = {
        alpha = 1.0;
        blue = 0.7;
        green = 0.7;
        red = 0.7;
      };
      neutral_8 = {
        alpha = 1.0;
        blue = 0.8;
        green = 0.8;
        red = 0.8;
      };
      neutral_9 = {
        alpha = 1.0;
        blue = 0.9;
        green = 0.9;
        red = 0.9;
      };
    }
  ];
  variant = "Dark";
}

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.primary_container_bg

Primary container background color for the theme.

Type: null or (RON optional of (submodule))

Default: null

Example:

cosmicLib.cosmic.mkRon "optional" {
  alpha = 1.0;
  blue = 0.0;
  green = 0.0;
  red = 0.0;
}

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.primary_container_bg.alpha

The alpha component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.primary_container_bg.blue

The blue component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.primary_container_bg.green

The green component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.primary_container_bg.red

The red component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.secondary_container_bg

Secondary container background color for the theme.

Type: null or (RON optional of (submodule))

Default: null

Example:

cosmicLib.cosmic.mkRon "optional" {
  alpha = 1.0;
  blue = 0.0;
  green = 0.0;
  red = 0.0;
}

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.secondary_container_bg.alpha

The alpha component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.secondary_container_bg.blue

The blue component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.secondary_container_bg.green

The green component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.secondary_container_bg.red

The red component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.spacing

The spacing for the theme.

Type: null or (attribute set of anything)

Default: null

Example:

{
  space_l = 32;
  space_m = 24;
  space_none = 0;
  space_s = 16;
  space_xl = 48;
  space_xs = 12;
  space_xxl = 64;
  space_xxs = 8;
  space_xxxl = 128;
  space_xxxs = 4;
}

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.spacing.space_l

The large spacing size.

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive) or raw RON value

Example: 32

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.spacing.space_m

The medium spacing size.

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive) or raw RON value

Example: 24

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.spacing.space_none

The spacing size when there is no spacing.

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive) or raw RON value

Example: 0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.spacing.space_s

The small spacing size.

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive) or raw RON value

Example: 16

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.spacing.space_xl

The extra large spacing size.

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive) or raw RON value

Example: 48

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.spacing.space_xs

The extra small spacing size.

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive) or raw RON value

Example: 12

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.spacing.space_xxl

The extra extra large spacing size.

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive) or raw RON value

Example: 64

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.spacing.space_xxs

The extra extra small spacing size.

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive) or raw RON value

Example: 8

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.spacing.space_xxxl

The extra extra extra large spacing size.

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive) or raw RON value

Example: 128

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.spacing.space_xxxs

The extra extra extra small spacing size.

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive) or raw RON value

Example: 4

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.success

Success color for the theme.

Type: null or (RON optional of (submodule))

Default: null

Example:

cosmicLib.cosmic.mkRon "optional" {
  blue = 0.0;
  green = 1.0;
  red = 0.0;
}

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.success.blue

The blue component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.success.green

The green component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.success.red

The red component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.text_tint

Text tint color for the theme.

Type: null or (RON optional of (submodule))

Default: null

Example:

cosmicLib.cosmic.mkRon "optional" {
  blue = 0.0;
  green = 0.0;
  red = 0.0;
}

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.text_tint.blue

The blue component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.text_tint.green

The green component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.text_tint.red

The red component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.warning

Warning color for the theme.

Type: null or (RON optional of (submodule))

Default: null

Example:

cosmicLib.cosmic.mkRon "optional" {
  blue = 0.0;
  green = 0.0;
  red = 1.0;
}

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.warning.blue

The blue component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.warning.green

The green component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.warning.red

The red component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.window_hint

Window hint color for COSMIC compositor.

Type: null or (RON optional of (submodule))

Default: null

Example:

cosmicLib.cosmic.mkRon "optional" {
  blue = 1.0;
  green = 0.5;
  red = 0.0;
}

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.window_hint.blue

The blue component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.window_hint.green

The green component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.dark.window_hint.red

The red component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light

The light theme to build for COSMIC desktop and applications.

Type: null or (attribute set of anything)

Default: null

Example:

{
  active_hint = 3;
}

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.accent

Accent color for the theme.

Type: null or (RON optional of (submodule))

Default: null

Example:

cosmicLib.cosmic.mkRon "optional" {
  blue = 0.0;
  green = 0.0;
  red = 0.0;
}

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.accent.blue

The blue component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.accent.green

The green component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.accent.red

The red component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.active_hint

Active window hint outline width for COSMIC compositor.

Type: null or 32 bit unsigned integer; between 0 and 4294967295 (both inclusive) or raw RON value

Default: null

Example: 3

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.bg_color

Background color for the theme.

Type: null or (RON optional of (submodule))

Default: null

Example:

cosmicLib.cosmic.mkRon "optional" {
  alpha = 1.0;
  blue = 0.0;
  green = 0.0;
  red = 0.0;
}

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.bg_color.alpha

The alpha component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.bg_color.blue

The blue component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.bg_color.green

The green component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.bg_color.red

The red component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.corner_radii

Corner radii variables for the theme.

Type: null or (attribute set of anything)

Default: null

Example:

{
  radius_0 = cosmicLib.cosmic.mkRon "tuple" [
    0.0
    0.0
    0.0
    0.0
  ];
  radius_l = cosmicLib.cosmic.mkRon "tuple" [
    32.0
    32.0
    32.0
    32.0
  ];
  radius_m = cosmicLib.cosmic.mkRon "tuple" [
    16.0
    16.0
    16.0
    16.0
  ];
  radius_s = cosmicLib.cosmic.mkRon "tuple" [
    8.0
    8.0
    8.0
    8.0
  ];
  radius_xl = cosmicLib.cosmic.mkRon "tuple" [
    160.0
    160.0
    160.0
    160.0
  ];
  radius_xs = cosmicLib.cosmic.mkRon "tuple" [
    4.0
    4.0
    4.0
    4.0
  ];
}

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.corner_radii.radius_0

The corner radius of 0.

Type: (RON tuple of floating point number with a fixed-size of 4 elements) or raw RON value

Example:

cosmicLib.cosmic.mkRon "tuple" [
  0.0
  0.0
  0.0
  0.0
]

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.corner_radii.radius_l

The large corner radius.

Type: (RON tuple of floating point number with a fixed-size of 4 elements) or raw RON value

Example:

cosmicLib.cosmic.mkRon "tuple" [
  32.0
  32.0
  32.0
  32.0
]

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.corner_radii.radius_m

The medium corner radius.

Type: (RON tuple of floating point number with a fixed-size of 4 elements) or raw RON value

Example:

cosmicLib.cosmic.mkRon "tuple" [
  16.0
  16.0
  16.0
  16.0
]

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.corner_radii.radius_s

The small corner radius.

Type: (RON tuple of floating point number with a fixed-size of 4 elements) or raw RON value

Example:

cosmicLib.cosmic.mkRon "tuple" [
  8.0
  8.0
  8.0
  8.0
]

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.corner_radii.radius_xl

The extra large corner radius.

Type: (RON tuple of floating point number with a fixed-size of 4 elements) or raw RON value

Example:

cosmicLib.cosmic.mkRon "tuple" [
  160.0
  160.0
  160.0
  160.0
]

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.corner_radii.radius_xs

The extra small corner radius.

Type: (RON tuple of floating point number with a fixed-size of 4 elements) or raw RON value

Example:

cosmicLib.cosmic.mkRon "tuple" [
  4.0
  4.0
  4.0
  4.0
]

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.destructive

Destructive color for the theme.

Type: null or (RON optional of (submodule))

Default: null

Example:

cosmicLib.cosmic.mkRon "optional" {
  blue = 0.0;
  green = 0.0;
  red = 1.0;
}

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.destructive.blue

The blue component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.destructive.green

The green component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.destructive.red

The red component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.gaps

Window gaps size (outer and inner, respectively) for COSMIC compositor.

Type: null or (RON tuple of (32 bit unsigned integer; between 0 and 4294967295 (both inclusive) or raw RON value) with a fixed-size of 2 elements) or raw RON value

Default: null

Example:

cosmicLib.cosmic.mkRon "tuple" [
  0
  8
]

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.is_frosted

Whether to enable blurred transparency for COSMIC compositor.

NOTE: This option doesn’t work for COSMIC yet.

Type: null or boolean or raw RON value

Default: null

Example: false

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.neutral_tint

Neutral tint color for the theme.

Type: null or (RON optional of (submodule))

Default: null

Example:

cosmicLib.cosmic.mkRon "optional" {
  blue = 0.0;
  green = 0.0;
  red = 0.0;
}

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.neutral_tint.blue

The blue component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.neutral_tint.green

The green component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.neutral_tint.red

The red component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.palette

The color palette for the theme.

Type: null or one of the following RON tuple enum variants: “Dark”, “HighContrastDark”, “HighContrastLight”, “Light” with 1 ((attribute set of anything) or raw RON value) value or raw RON value

Default: null

Example:

cosmicLib.cosmic.mkRon "enum" {
  value = [
    {
      accent_blue = {
        alpha = 1.0;
        blue = 1.0;
        green = 0.5;
        red = 0.0;
      };
      accent_green = {
        alpha = 1.0;
        blue = 0.0;
        green = 1.0;
        red = 0.0;
      };
      accent_indigo = {
        alpha = 1.0;
        blue = 0.5;
        green = 0.0;
        red = 0.3;
      };
      accent_orange = {
        alpha = 1.0;
        blue = 0.0;
        green = 0.5;
        red = 1.0;
      };
      accent_pink = {
        alpha = 1.0;
        blue = 0.5;
        green = 0.0;
        red = 1.0;
      };
      accent_purple = {
        alpha = 1.0;
        blue = 0.5;
        green = 0.0;
        red = 0.5;
      };
      accent_red = {
        alpha = 1.0;
        blue = 0.0;
        green = 0.0;
        red = 1.0;
      };
      accent_warm_grey = {
        alpha = 1.0;
        blue = 0.5;
        green = 0.5;
        red = 0.5;
      };
      accent_yellow = {
        alpha = 1.0;
        blue = 0.0;
        green = 1.0;
        red = 1.0;
      };
      bright_green = {
        alpha = 1.0;
        blue = 0.0;
        green = 1.0;
        red = 0.0;
      };
      bright_orange = {
        alpha = 1.0;
        blue = 0.0;
        green = 0.5;
        red = 1.0;
      };
      bright_red = {
        alpha = 1.0;
        blue = 0.0;
        green = 0.0;
        red = 1.0;
      };
      ext_blue = {
        alpha = 1.0;
        blue = 1.0;
        green = 0.5;
        red = 0.0;
      };
      ext_indigo = {
        alpha = 1.0;
        blue = 0.5;
        green = 0.0;
        red = 0.3;
      };
      ext_orange = {
        alpha = 1.0;
        blue = 0.0;
        green = 0.5;
        red = 1.0;
      };
      ext_pink = {
        alpha = 1.0;
        blue = 0.5;
        green = 0.0;
        red = 1.0;
      };
      ext_purple = {
        alpha = 1.0;
        blue = 0.5;
        green = 0.0;
        red = 0.5;
      };
      ext_warm_grey = {
        alpha = 1.0;
        blue = 0.5;
        green = 0.5;
        red = 0.5;
      };
      ext_yellow = {
        alpha = 1.0;
        blue = 0.0;
        green = 1.0;
        red = 1.0;
      };
      gray_1 = {
        alpha = 1.0;
        blue = 0.1;
        green = 0.1;
        red = 0.1;
      };
      gray_2 = {
        alpha = 1.0;
        blue = 0.2;
        green = 0.2;
        red = 0.2;
      };
      name = "cosmic-dark";
      neutral_0 = {
        alpha = 1.0;
        blue = 0.0;
        green = 0.0;
        red = 0.0;
      };
      neutral_1 = {
        alpha = 1.0;
        blue = 0.1;
        green = 0.1;
        red = 0.1;
      };
      neutral_10 = {
        alpha = 1.0;
        blue = 1.0;
        green = 1.0;
        red = 1.0;
      };
      neutral_2 = {
        alpha = 1.0;
        blue = 0.2;
        green = 0.2;
        red = 0.2;
      };
      neutral_3 = {
        alpha = 1.0;
        blue = 0.3;
        green = 0.3;
        red = 0.3;
      };
      neutral_4 = {
        alpha = 1.0;
        blue = 0.4;
        green = 0.4;
        red = 0.4;
      };
      neutral_5 = {
        alpha = 1.0;
        blue = 0.5;
        green = 0.5;
        red = 0.5;
      };
      neutral_6 = {
        alpha = 1.0;
        blue = 0.6;
        green = 0.6;
        red = 0.6;
      };
      neutral_7 = {
        alpha = 1.0;
        blue = 0.7;
        green = 0.7;
        red = 0.7;
      };
      neutral_8 = {
        alpha = 1.0;
        blue = 0.8;
        green = 0.8;
        red = 0.8;
      };
      neutral_9 = {
        alpha = 1.0;
        blue = 0.9;
        green = 0.9;
        red = 0.9;
      };
    }
  ];
  variant = "Dark";
}

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.primary_container_bg

Primary container background color for the theme.

Type: null or (RON optional of (submodule))

Default: null

Example:

cosmicLib.cosmic.mkRon "optional" {
  alpha = 1.0;
  blue = 0.0;
  green = 0.0;
  red = 0.0;
}

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.primary_container_bg.alpha

The alpha component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.primary_container_bg.blue

The blue component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.primary_container_bg.green

The green component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.primary_container_bg.red

The red component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.secondary_container_bg

Secondary container background color for the theme.

Type: null or (RON optional of (submodule))

Default: null

Example:

cosmicLib.cosmic.mkRon "optional" {
  alpha = 1.0;
  blue = 0.0;
  green = 0.0;
  red = 0.0;
}

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.secondary_container_bg.alpha

The alpha component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.secondary_container_bg.blue

The blue component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.secondary_container_bg.green

The green component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.secondary_container_bg.red

The red component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.spacing

The spacing for the theme.

Type: null or (attribute set of anything)

Default: null

Example:

{
  space_l = 32;
  space_m = 24;
  space_none = 0;
  space_s = 16;
  space_xl = 48;
  space_xs = 12;
  space_xxl = 64;
  space_xxs = 8;
  space_xxxl = 128;
  space_xxxs = 4;
}

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.spacing.space_l

The large spacing size.

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive) or raw RON value

Example: 32

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.spacing.space_m

The medium spacing size.

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive) or raw RON value

Example: 24

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.spacing.space_none

The spacing size when there is no spacing.

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive) or raw RON value

Example: 0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.spacing.space_s

The small spacing size.

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive) or raw RON value

Example: 16

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.spacing.space_xl

The extra large spacing size.

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive) or raw RON value

Example: 48

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.spacing.space_xs

The extra small spacing size.

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive) or raw RON value

Example: 12

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.spacing.space_xxl

The extra extra large spacing size.

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive) or raw RON value

Example: 64

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.spacing.space_xxs

The extra extra small spacing size.

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive) or raw RON value

Example: 8

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.spacing.space_xxxl

The extra extra extra large spacing size.

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive) or raw RON value

Example: 128

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.spacing.space_xxxs

The extra extra extra small spacing size.

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive) or raw RON value

Example: 4

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.success

Success color for the theme.

Type: null or (RON optional of (submodule))

Default: null

Example:

cosmicLib.cosmic.mkRon "optional" {
  blue = 0.0;
  green = 1.0;
  red = 0.0;
}

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.success.blue

The blue component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.success.green

The green component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.success.red

The red component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.text_tint

Text tint color for the theme.

Type: null or (RON optional of (submodule))

Default: null

Example:

cosmicLib.cosmic.mkRon "optional" {
  blue = 0.0;
  green = 0.0;
  red = 0.0;
}

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.text_tint.blue

The blue component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.text_tint.green

The green component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.text_tint.red

The red component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.warning

Warning color for the theme.

Type: null or (RON optional of (submodule))

Default: null

Example:

cosmicLib.cosmic.mkRon "optional" {
  blue = 0.0;
  green = 0.0;
  red = 1.0;
}

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.warning.blue

The blue component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.warning.green

The green component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.warning.red

The red component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.window_hint

Window hint color for COSMIC compositor.

Type: null or (RON optional of (submodule))

Default: null

Example:

cosmicLib.cosmic.mkRon "optional" {
  blue = 1.0;
  green = 0.5;
  red = 0.0;
}

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.window_hint.blue

The blue component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.window_hint.green

The green component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.light.window_hint.red

The red component of the color.

Type: integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.appearance.theme.mode

The default theme to use for COSMIC desktop and applications.

Type: null or one of “dark”, “light” or raw RON value

Default: null

Example: "dark"

Declared by:

wayland.desktopManager.cosmic.appearance.toolkit

The toolkit configuration for COSMIC desktop and applications.

Type: null or (attribute set of anything)

Default: null

Example:

{
  apply_theme_global = false;
  icon_theme = "Cosmic";
}

Declared by:

wayland.desktopManager.cosmic.appearance.toolkit.apply_theme_global

Whether to apply the theme to other toolkits (GTK, etc.).

Type: null or boolean or raw RON value

Default: null

Example: false

Declared by:

wayland.desktopManager.cosmic.appearance.toolkit.header_size

The header size for COSMIC desktop and applications.

Type: null or one of the following RON enum variants: “Compact”, “Spacious”, “Standard” or raw RON value

Default: null

Example: "Standard"

Declared by:

wayland.desktopManager.cosmic.appearance.toolkit.icon_theme

The icon theme to use for COSMIC desktop and applications.

Type: null or string or raw RON value

Default: null

Example: "Cosmic"

Declared by:

wayland.desktopManager.cosmic.appearance.toolkit.interface_density

The interface density to use for COSMIC desktop and applications.

Type: null or one of the following RON enum variants: “Compact”, “Spacious”, “Standard” or raw RON value

Default: null

Example: "Standard"

Declared by:

wayland.desktopManager.cosmic.appearance.toolkit.interface_font

The interface font to use for COSMIC desktop and applications.

Type: null or (attribute set of anything)

Default: null

Example:

{
  family = "Inter";
  stretch = cosmicLib.cosmic.mkRon "enum" "Normal";
  style = cosmicLib.cosmic.mkRon "enum" "Normal";
  weight = cosmicLib.cosmic.mkRon "enum" "Normal";
}

Declared by:

wayland.desktopManager.cosmic.appearance.toolkit.interface_font.family

The font family to use.

Type: string or raw RON value

Example: "Inter"

Declared by:

wayland.desktopManager.cosmic.appearance.toolkit.interface_font.stretch

The font stretch to use.

Type: one of the following RON enum variants: “UltraCondensed”, “ExtraCondensed”, “Condensed”, “SemiCondensed”, “Normal”, “SemiExpanded”, “Expanded”, “ExtraExpanded”, “UltraExpanded” or raw RON value

Example: cosmicLib.cosmic.mkRon "enum" "Normal"

Declared by:

wayland.desktopManager.cosmic.appearance.toolkit.interface_font.style

The font style to use.

Type: one of the following RON enum variants: “Normal”, “Italic”, “Oblique” or raw RON value

Example: cosmicLib.cosmic.mkRon "enum" "Normal"

Declared by:

wayland.desktopManager.cosmic.appearance.toolkit.interface_font.weight

The font weight to use.

Type: one of the following RON enum variants: “Thin”, “ExtraLight”, “Light”, “Normal”, “Medium”, “Semibold”, “Bold”, “ExtraBold”, “Black” or raw RON value

Example: cosmicLib.cosmic.mkRon "enum" "Normal"

Declared by:

wayland.desktopManager.cosmic.appearance.toolkit.monospace_font

The monospace font to use for COSMIC desktop and applications.

Type: null or (attribute set of anything)

Default: null

Example:

{
  family = "JetBrains Mono";
  stretch = cosmicLib.cosmic.mkRon "enum" "Normal";
  style = cosmicLib.cosmic.mkRon "enum" "Normal";
  weight = cosmicLib.cosmic.mkRon "enum" "Normal";
}

Declared by:

wayland.desktopManager.cosmic.appearance.toolkit.monospace_font.family

The font family to use.

Type: string or raw RON value

Example: "Inter"

Declared by:

wayland.desktopManager.cosmic.appearance.toolkit.monospace_font.stretch

The font stretch to use.

Type: one of the following RON enum variants: “UltraCondensed”, “ExtraCondensed”, “Condensed”, “SemiCondensed”, “Normal”, “SemiExpanded”, “Expanded”, “ExtraExpanded”, “UltraExpanded” or raw RON value

Example: cosmicLib.cosmic.mkRon "enum" "Normal"

Declared by:

wayland.desktopManager.cosmic.appearance.toolkit.monospace_font.style

The font style to use.

Type: one of the following RON enum variants: “Normal”, “Italic”, “Oblique” or raw RON value

Example: cosmicLib.cosmic.mkRon "enum" "Normal"

Declared by:

wayland.desktopManager.cosmic.appearance.toolkit.monospace_font.weight

The font weight to use.

Type: one of the following RON enum variants: “Thin”, “ExtraLight”, “Light”, “Normal”, “Medium”, “Semibold”, “Bold”, “ExtraBold”, “Black” or raw RON value

Example: cosmicLib.cosmic.mkRon "enum" "Normal"

Declared by:

wayland.desktopManager.cosmic.appearance.toolkit.show_maximize

Whether to show the maximize button in the window title bar.

Type: null or boolean or raw RON value

Default: null

Example: true

Declared by:

wayland.desktopManager.cosmic.appearance.toolkit.show_minimize

Whether to show the minimize button in the window title bar.

Type: null or boolean or raw RON value

Default: null

Example: true

Declared by:

wayland.desktopManager.cosmic.applets.app-list.settings

Configuration entries for App Tray applet.

Type: attribute set of anything

Default: { }

Example:

{
  enable_drag_source = true;
  favorites = [
    "firefox"
    "com.system76.CosmicFiles"
    "com.system76.CosmicEdit"
    "com.system76.CosmicTerm"
    "com.system76.CosmicSettings"
  ];
  filter_top_levels = cosmicLib.cosmic.mkRon "optional" (cosmicLib.cosmic.mkRon "enum" "ActiveWorkspace");
}

Declared by:

wayland.desktopManager.cosmic.applets.app-list.settings.enable_drag_source

Whether to enable dragging applications from the application list.

Type: null or boolean or raw RON value

Default: null

Example: true

Declared by:

wayland.desktopManager.cosmic.applets.app-list.settings.favorites

A list of applications to always be shown in the application list.

Type: null or (list of (string or raw RON value)) or raw RON value

Default: null

Example:

[
  "firefox"
  "com.system76.CosmicFiles"
  "com.system76.CosmicEdit"
  "com.system76.CosmicTerm"
  "com.system76.CosmicSettings"
]

Declared by:

wayland.desktopManager.cosmic.applets.app-list.settings.filter_top_levels

The top level filter to use for the application list.

Type: null or (RON optional of (one of the following RON enum variants: “ActiveWorkspace”, “ConfiguredOutput” or raw RON value)) or raw RON value

Default: null

Example: cosmicLib.cosmic.mkRon "optional" (cosmicLib.cosmic.mkRon "enum" "ActiveWorkspace")

Declared by:

wayland.desktopManager.cosmic.applets.audio.settings

Configuration entries for Sound applet.

Type: attribute set of anything

Default: { }

Example:

{
  show_media_controls_in_top_panel = true;
}

Declared by:

wayland.desktopManager.cosmic.applets.audio.settings.show_media_controls_in_top_panel

Whether to show media controls in the top panel.

Type: null or boolean or raw RON value

Default: null

Example: true

Declared by:

wayland.desktopManager.cosmic.applets.panel-button.settings

Configuration entries for all panel buttons.

Type: attribute set of anything

Default: { }

Example:

{
  configs = cosmicLib.cosmic.mkRon "map" [
    {
      key = "Panel";
      value = {
        force_presentation = cosmicLib.cosmic.mkRon "optional" (cosmicLib.cosmic.mkRon "enum" "Icon");
      };
    }
    {
      key = "Dock";
      value = {
        force_presentation = cosmicLib.cosmic.mkRon "optional" (cosmicLib.cosmic.mkRon "enum" "Text");
      };
    }
  ];
}

Declared by:

wayland.desktopManager.cosmic.applets.panel-button.settings.configs

Configurations for the panel buttons.

Type: null or (RON map of (attribute set of anything))

Default: null

Example:

cosmicLib.cosmic.mkRon "map" [
  {
    key = "Panel";
    value = {
      force_presentation = cosmicLib.cosmic.mkRon "optional" (cosmicLib.cosmic.mkRon "enum" "Icon");
    };
  }
  {
    key = "Dock";
    value = {
      force_presentation = cosmicLib.cosmic.mkRon "optional" (cosmicLib.cosmic.mkRon "enum" "Text");
    };
  }
]

Declared by:

wayland.desktopManager.cosmic.applets.panel-button.settings.configs.*.value.force_presentation

Force the presentation of the buttons on the panel.

Type: (RON optional of (one of the following RON enum variants: “Icon”, “Text” or raw RON value)) or raw RON value

Example:

{
  __type = "optional";
  value = {
    __type = "enum";
    variant = "Icon";
  };
}

Declared by:

wayland.desktopManager.cosmic.applets.time.settings

Configuration entries for Date, Time & Calendar applet.

Type: attribute set of anything

Default: { }

Example:

{
  first_day_of_week = 6;
  military_time = false;
  show_date_in_top_panel = true;
  show_seconds = false;
  show_weekday = true;
}

Declared by:

wayland.desktopManager.cosmic.applets.time.settings.first_day_of_week

Which day of the week should be considered the first day.

0 for Monday, 1 for Tuesday, and so on.

Type: null or 8 bit unsigned integer; between 0 and 255 (both inclusive) or raw RON value

Default: null

Example: 6

Declared by:

wayland.desktopManager.cosmic.applets.time.settings.military_time

Whether to use the 24-hour format for the clock.

Type: null or boolean or raw RON value

Default: null

Example: false

Declared by:

wayland.desktopManager.cosmic.applets.time.settings.show_date_in_top_panel

Whether to show the current date in the top panel.

Type: null or boolean or raw RON value

Default: null

Example: true

Declared by:

wayland.desktopManager.cosmic.applets.time.settings.show_seconds

Whether to show the seconds in the clock.

Type: null or boolean or raw RON value

Default: null

Example: false

Declared by:

wayland.desktopManager.cosmic.applets.time.settings.show_weekday

Whether to show the current weekday in the clock.

Type: null or boolean or raw RON value

Default: null

Example: true

Declared by:

wayland.desktopManager.cosmic.compositor

The COSMIC compositor configuration.

Type: null or (attribute set of anything)

Default: null

Example:

{
  active_hint = true;
  autotile = false;
  autotile_behavior = cosmicLib.cosmic.mkRon "enum" "PerWorkspace";
  cursor_follows_focus = false;
  descale_xwayland = false;
  focus_follows_cursor = false;
  focus_follows_cursor_delay = 250;
  workspaces = {
    workspace_layout = cosmicLib.cosmic.mkRon "enum" "Vertical";
    workspace_mode = cosmicLib.cosmic.mkRon "enum" "OutputBound";
  };
  xkb_config = {
    layout = "br";
    model = "pc104";
    options = cosmicLib.cosmic.mkRon "optional" "terminate:ctrl_alt_bksp";
    repeat_delay = 600;
    repeat_rate = 25;
    rules = "";
    variant = "dvorak";
  };
}

Declared by:

wayland.desktopManager.cosmic.compositor.active_hint

Whether to show the active window hint.

Type: null or boolean or raw RON value

Default: null

Example: true

Declared by:

wayland.desktopManager.cosmic.compositor.autotile

Whether to automatically tile windows.

Type: null or boolean or raw RON value

Default: null

Example: false

Declared by:

wayland.desktopManager.cosmic.compositor.autotile_behavior

Automatic tiling behavior.

If set to Global, autotile applies to all windows in all workspaces. If set to PerWorkspace, autotile only applies to new windows, and new workspaces.

Type: null or one of the following RON enum variants: “Global”, “PerWorkspace” or raw RON value

Default: null

Example: cosmicLib.cosmic.mkRon "enum" "PerWorkspace"

Declared by:

wayland.desktopManager.cosmic.compositor.cursor_follows_focus

Whether the cursor should follow the focused window.

Type: null or boolean or raw RON value

Default: null

Example: false

Declared by:

wayland.desktopManager.cosmic.compositor.descale_xwayland

Whether to let XWayland windows be scaled by themselves.

Type: null or boolean or raw RON value

Default: null

Example: false

Declared by:

wayland.desktopManager.cosmic.compositor.focus_follows_cursor

Whether the focused window should follow the cursor.

Type: null or boolean or raw RON value

Default: null

Example: false

Declared by:

wayland.desktopManager.cosmic.compositor.focus_follows_cursor_delay

The delay in milliseconds before the focused window follows the cursor.

Type: null or unsigned integer, meaning >=0, or raw RON value

Default: null

Example: 250

Declared by:

wayland.desktopManager.cosmic.compositor.input_default

The input configuration for mice.

Type: null or (attribute set of anything)

Default: null

Example:

{
  acceleration = {
    profile = cosmicLib.cosmic.mkRon "optional" (cosmicLib.cosmic.mkRon "enum" "Flat");
    speed = 0.0;
  };
  state = cosmicLib.cosmic.mkRon "enum" "Enabled";
}

Declared by:

wayland.desktopManager.cosmic.compositor.input_default.acceleration

The acceleration configuration for the input device.

Type: null or (RON optional of (attribute set of anything))

Default: null

Example:

cosmicLib.cosmic.mkRon "optional" {
  profile = (cosmicLib.cosmic.mkRon "optional" (cosmicLib.cosmic.mkRon "enum" "Flat"));
  speed = 0.0;
}

Declared by:

wayland.desktopManager.cosmic.compositor.input_default.acceleration.profile

This option has no description.

Type: (RON optional of (one of the following RON enum variants: “Adaptive”, “Flat” or raw RON value)) or raw RON value

Example: cosmicLib.cosmic.mkRon "optional" (cosmicLib.cosmic.mkRon "enum" "Flat")

Declared by:

wayland.desktopManager.cosmic.compositor.input_default.acceleration.speed

The speed of the input device.

Type: floating point number or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.compositor.input_default.calibration

The calibration matrix for the input device.

Type: null or (RON optional of ((RON tuple of floating point number with a fixed-size of 6 elements) or raw RON value)) or raw RON value

Default: null

Example:

cosmicLib.cosmic.mkRon "optional" (cosmicLib.cosmic.mkRon "tuple" [
  1.0
  0.0
  0.0
  0.0
  1.0
  0.0
])

Declared by:

wayland.desktopManager.cosmic.compositor.input_default.click_method

The click method for the input device.

Type: null or (RON optional of (one of the following RON enum variants: “ButtonAreas”, “Clickfinger” or raw RON value)) or raw RON value

Default: null

Example: cosmicLib.cosmic.mkRon "optional" (cosmicLib.cosmic.mkRon "enum" "ButtonAreas")

Declared by:

wayland.desktopManager.cosmic.compositor.input_default.disable_while_typing

Whether to disable the input device while typing.

Type: null or (RON optional of (boolean or raw RON value)) or raw RON value

Default: null

Example: cosmicLib.cosmic.mkRon "optional" true

Declared by:

wayland.desktopManager.cosmic.compositor.input_default.left_handed

Whether the input device is left-handed.

Type: null or (RON optional of (boolean or raw RON value)) or raw RON value

Default: null

Example: cosmicLib.cosmic.mkRon "optional" false

Declared by:

wayland.desktopManager.cosmic.compositor.input_default.map_to_output

The output to map the input device to.

Type: null or (RON optional of (string or raw RON value)) or raw RON value

Default: null

Example: cosmicLib.cosmic.mkRon "optional" "HDMI-A-1"

Declared by:

wayland.desktopManager.cosmic.compositor.input_default.middle_button_emulation

Whether to emulate the middle button.

Type: null or (RON optional of (boolean or raw RON value)) or raw RON value

Default: null

Example: cosmicLib.cosmic.mkRon "optional" false

Declared by:

wayland.desktopManager.cosmic.compositor.input_default.rotation_angle

The rotation angle of the input device.

Type: null or (RON optional of (32 bit unsigned integer; between 0 and 4294967295 (both inclusive) or raw RON value)) or raw RON value

Default: null

Example: cosmicLib.cosmic.mkRon "optional" 0

Declared by:

wayland.desktopManager.cosmic.compositor.input_default.scroll_config

The scroll configuration for the input device.

Type: null or (RON optional of (attribute set of anything))

Default: null

Example:

{
  method = cosmicLib.cosmic.mkRon "optional" (cosmicLib.cosmic.mkRon "enum" "Edge");
  natural_scroll = cosmicLib.cosmic.mkRon "optional" true;
  scroll_button = cosmicLib.cosmic.mkRon "optional" 2;
  scroll_factor = cosmicLib.cosmic.mkRon "optional" 1.0;
}

Declared by:

wayland.desktopManager.cosmic.compositor.input_default.scroll_config.method

The scroll method of the input device.

Type: (RON optional of (one of the following RON enum variants: “Edge”, “NoScroll”, “OnButtonDown”, “TwoFinger” or raw RON value)) or raw RON value

Example: cosmicLib.cosmic.mkRon "optional" (cosmicLib.cosmic.mkRon "enum" "Edge")

Declared by:

wayland.desktopManager.cosmic.compositor.input_default.scroll_config.natural_scroll

Whether to enable natural scrolling.

Type: (RON optional of (boolean or raw RON value)) or raw RON value

Example: true

Declared by:

wayland.desktopManager.cosmic.compositor.input_default.scroll_config.scroll_button

The scroll button of the input device.

Type: (RON optional of (32 bit unsigned integer; between 0 and 4294967295 (both inclusive) or raw RON value)) or raw RON value

Example: 2

Declared by:

wayland.desktopManager.cosmic.compositor.input_default.scroll_config.scroll_factor

The scroll factor of the input device.

Type: (RON optional of (floating point number or raw RON value)) or raw RON value

Example: 1.0

Declared by:

wayland.desktopManager.cosmic.compositor.input_default.state

The state of the input module.

If set to Disabled, the input module is disabled. If set to DisabledOnExternalMouse, the input module is disabled when an external mouse is connected. If set to Enabled, the input module is enabled.

Type: null or one of the following RON enum variants: “Disabled”, “DisabledOnExternalMouse”, “Enabled” or raw RON value

Default: null

Example: cosmicLib.cosmic.mkRon "enum" "Enabled"

Declared by:

wayland.desktopManager.cosmic.compositor.input_default.tap_config

The tap configuration for the input device.

Type: null or (RON optional of (attribute set of anything))

Default: null

Example:

{
  button_map = cosmicLib.cosmic.mkRon "optional" (cosmicLib.cosmic.mkRon "enum" "LeftMiddleRight");
  drag = cosmicLib.cosmic.mkRon "optional" true;
  drag_lock = cosmicLib.cosmic.mkRon "optional" true;
  enabled = cosmicLib.cosmic.mkRon "optional" true;
}

Declared by:

wayland.desktopManager.cosmic.compositor.input_default.tap_config.enabled

Whether to enable tap.

Type: boolean or raw RON value

Example: true

Declared by:

wayland.desktopManager.cosmic.compositor.input_default.tap_config.button_map

This option has no description.

Type: (RON optional of (one of the following RON enum variants: “LeftMiddleRight”, “LeftRightMiddle” or raw RON value)) or raw RON value

Example: cosmicLib.cosmic.mkRon "optional" (cosmicLib.cosmic.mkRon "enum" "LeftMiddleRight")

Declared by:

wayland.desktopManager.cosmic.compositor.input_default.tap_config.drag

Whether to enable drag.

Type: boolean or raw RON value

Example: true

Declared by:

wayland.desktopManager.cosmic.compositor.input_default.tap_config.drag_lock

Whether to enable drag lock.

Type: boolean or raw RON value

Example: true

Declared by:

wayland.desktopManager.cosmic.compositor.input_touchpad

The input configuration for touchpad.

Type: null or (attribute set of anything)

Default: null

Example:

{
  acceleration = {
    profile = cosmicLib.cosmic.mkRon "optional" (cosmicLib.cosmic.mkRon "enum" "Flat");
    speed = 0.0;
  };
  click_method = cosmicLib.cosmic.mkRon "optional" (cosmicLib.cosmic.mkRon "enum" "Clickfinger");
  disable_while_typing = cosmicLib.cosmic.mkRon "optional" true;
  state = cosmicLib.cosmic.mkRon "enum" "Enabled";
  tap_config = {
    button_map = cosmicLib.cosmic.mkRon "optional" (cosmicLib.cosmic.mkRon "enum" "LeftMiddleRight");
    drag = cosmicLib.cosmic.mkRon "optional" true;
    drag_lock = cosmicLib.cosmic.mkRon "optional" true;
    enabled = cosmicLib.cosmic.mkRon "optional" true;
  };
}

Declared by:

wayland.desktopManager.cosmic.compositor.input_touchpad.acceleration

The acceleration configuration for the input device.

Type: null or (RON optional of (attribute set of anything))

Default: null

Example:

cosmicLib.cosmic.mkRon "optional" {
  profile = (cosmicLib.cosmic.mkRon "optional" (cosmicLib.cosmic.mkRon "enum" "Flat"));
  speed = 0.0;
}

Declared by:

wayland.desktopManager.cosmic.compositor.input_touchpad.acceleration.profile

This option has no description.

Type: (RON optional of (one of the following RON enum variants: “Adaptive”, “Flat” or raw RON value)) or raw RON value

Example: cosmicLib.cosmic.mkRon "optional" (cosmicLib.cosmic.mkRon "enum" "Flat")

Declared by:

wayland.desktopManager.cosmic.compositor.input_touchpad.acceleration.speed

The speed of the input device.

Type: floating point number or raw RON value

Example: 0.0

Declared by:

wayland.desktopManager.cosmic.compositor.input_touchpad.calibration

The calibration matrix for the input device.

Type: null or (RON optional of ((RON tuple of floating point number with a fixed-size of 6 elements) or raw RON value)) or raw RON value

Default: null

Example:

cosmicLib.cosmic.mkRon "optional" (cosmicLib.cosmic.mkRon "tuple" [
  1.0
  0.0
  0.0
  0.0
  1.0
  0.0
])

Declared by:

wayland.desktopManager.cosmic.compositor.input_touchpad.click_method

The click method for the input device.

Type: null or (RON optional of (one of the following RON enum variants: “ButtonAreas”, “Clickfinger” or raw RON value)) or raw RON value

Default: null

Example: cosmicLib.cosmic.mkRon "optional" (cosmicLib.cosmic.mkRon "enum" "ButtonAreas")

Declared by:

wayland.desktopManager.cosmic.compositor.input_touchpad.disable_while_typing

Whether to disable the input device while typing.

Type: null or (RON optional of (boolean or raw RON value)) or raw RON value

Default: null

Example: cosmicLib.cosmic.mkRon "optional" true

Declared by:

wayland.desktopManager.cosmic.compositor.input_touchpad.left_handed

Whether the input device is left-handed.

Type: null or (RON optional of (boolean or raw RON value)) or raw RON value

Default: null

Example: cosmicLib.cosmic.mkRon "optional" false

Declared by:

wayland.desktopManager.cosmic.compositor.input_touchpad.map_to_output

The output to map the input device to.

Type: null or (RON optional of (string or raw RON value)) or raw RON value

Default: null

Example: cosmicLib.cosmic.mkRon "optional" "HDMI-A-1"

Declared by:

wayland.desktopManager.cosmic.compositor.input_touchpad.middle_button_emulation

Whether to emulate the middle button.

Type: null or (RON optional of (boolean or raw RON value)) or raw RON value

Default: null

Example: cosmicLib.cosmic.mkRon "optional" false

Declared by:

wayland.desktopManager.cosmic.compositor.input_touchpad.rotation_angle

The rotation angle of the input device.

Type: null or (RON optional of (32 bit unsigned integer; between 0 and 4294967295 (both inclusive) or raw RON value)) or raw RON value

Default: null

Example: cosmicLib.cosmic.mkRon "optional" 0

Declared by:

wayland.desktopManager.cosmic.compositor.input_touchpad.scroll_config

The scroll configuration for the input device.

Type: null or (RON optional of (attribute set of anything))

Default: null

Example:

{
  method = cosmicLib.cosmic.mkRon "optional" (cosmicLib.cosmic.mkRon "enum" "Edge");
  natural_scroll = cosmicLib.cosmic.mkRon "optional" true;
  scroll_button = cosmicLib.cosmic.mkRon "optional" 2;
  scroll_factor = cosmicLib.cosmic.mkRon "optional" 1.0;
}

Declared by:

wayland.desktopManager.cosmic.compositor.input_touchpad.scroll_config.method

The scroll method of the input device.

Type: (RON optional of (one of the following RON enum variants: “Edge”, “NoScroll”, “OnButtonDown”, “TwoFinger” or raw RON value)) or raw RON value

Example: cosmicLib.cosmic.mkRon "optional" (cosmicLib.cosmic.mkRon "enum" "Edge")

Declared by:

wayland.desktopManager.cosmic.compositor.input_touchpad.scroll_config.natural_scroll

Whether to enable natural scrolling.

Type: (RON optional of (boolean or raw RON value)) or raw RON value

Example: true

Declared by:

wayland.desktopManager.cosmic.compositor.input_touchpad.scroll_config.scroll_button

The scroll button of the input device.

Type: (RON optional of (32 bit unsigned integer; between 0 and 4294967295 (both inclusive) or raw RON value)) or raw RON value

Example: 2

Declared by:

wayland.desktopManager.cosmic.compositor.input_touchpad.scroll_config.scroll_factor

The scroll factor of the input device.

Type: (RON optional of (floating point number or raw RON value)) or raw RON value

Example: 1.0

Declared by:

wayland.desktopManager.cosmic.compositor.input_touchpad.state

The state of the input module.

If set to Disabled, the input module is disabled. If set to DisabledOnExternalMouse, the input module is disabled when an external mouse is connected. If set to Enabled, the input module is enabled.

Type: null or one of the following RON enum variants: “Disabled”, “DisabledOnExternalMouse”, “Enabled” or raw RON value

Default: null

Example: cosmicLib.cosmic.mkRon "enum" "Enabled"

Declared by:

wayland.desktopManager.cosmic.compositor.input_touchpad.tap_config

The tap configuration for the input device.

Type: null or (RON optional of (attribute set of anything))

Default: null

Example:

{
  button_map = cosmicLib.cosmic.mkRon "optional" (cosmicLib.cosmic.mkRon "enum" "LeftMiddleRight");
  drag = cosmicLib.cosmic.mkRon "optional" true;
  drag_lock = cosmicLib.cosmic.mkRon "optional" true;
  enabled = cosmicLib.cosmic.mkRon "optional" true;
}

Declared by:

wayland.desktopManager.cosmic.compositor.input_touchpad.tap_config.enabled

Whether to enable tap.

Type: boolean or raw RON value

Example: true

Declared by:

wayland.desktopManager.cosmic.compositor.input_touchpad.tap_config.button_map

This option has no description.

Type: (RON optional of (one of the following RON enum variants: “LeftMiddleRight”, “LeftRightMiddle” or raw RON value)) or raw RON value

Example: cosmicLib.cosmic.mkRon "optional" (cosmicLib.cosmic.mkRon "enum" "LeftMiddleRight")

Declared by:

wayland.desktopManager.cosmic.compositor.input_touchpad.tap_config.drag

Whether to enable drag.

Type: boolean or raw RON value

Example: true

Declared by:

wayland.desktopManager.cosmic.compositor.input_touchpad.tap_config.drag_lock

Whether to enable drag lock.

Type: boolean or raw RON value

Example: true

Declared by:

wayland.desktopManager.cosmic.compositor.workspaces

The workspaces configuration for the COSMIC compositor.

Type: null or (attribute set of anything)

Default: null

Example:

{
  workspace_layout = cosmicLib.cosmic.mkRon "enum" "Vertical";
  workspace_mode = cosmicLib.cosmic.mkRon "enum" "OutputBound";
}

Declared by:

wayland.desktopManager.cosmic.compositor.workspaces.workspace_layout

The layout of the workspaces.

If set to Horizontal, workspaces are arranged horizontally. If set to Vertical, workspaces are arranged vertically.

Type: one of the following RON enum variants: “Horizontal”, “Vertical” or raw RON value

Example: cosmicLib.cosmic.mkRon "enum" "Vertical"

Declared by:

wayland.desktopManager.cosmic.compositor.workspaces.workspace_mode

The mode of the workspaces.

If set to Global, workspaces are shared across all outputs. If set to OutputBound, workspaces are bound to the output they are created on.

Type: one of the following RON enum variants: “Global”, “OutputBound” or raw RON value

Example: cosmicLib.cosmic.mkRon "enum" "OutputBound"

Declared by:

wayland.desktopManager.cosmic.compositor.xkb_config

The keyboard configuration for the COSMIC compositor.

Type: null or (attribute set of anything)

Default: null

Example:

{
  layout = "br";
  model = "pc104";
  options = cosmicLib.cosmic.mkRon "optional" "terminate:ctrl_alt_bksp";
  repeat_delay = 600;
  repeat_rate = 25;
  rules = "";
  variant = "dvorak";
}

Declared by:

wayland.desktopManager.cosmic.compositor.xkb_config.layout

The keyboard layout.

Type: string or raw RON value

Example: "br"

Declared by:

wayland.desktopManager.cosmic.compositor.xkb_config.model

The keyboard model.

Type: string or raw RON value

Example: "pc104"

Declared by:

wayland.desktopManager.cosmic.compositor.xkb_config.options

The keyboard options.

Type: (RON optional of (string or raw RON value)) or raw RON value

Example: "terminate:ctrl_alt_bksp"

Declared by:

wayland.desktopManager.cosmic.compositor.xkb_config.repeat_delay

The keyboard repeat delay.

Type: 32 bit unsigned integer; between 0 and 4294967295 (both inclusive) or raw RON value

Example: 600

Declared by:

wayland.desktopManager.cosmic.compositor.xkb_config.repeat_rate

The keyboard repeat rate.

Type: 32 bit unsigned integer; between 0 and 4294967295 (both inclusive) or raw RON value

Example: 25

Declared by:

wayland.desktopManager.cosmic.compositor.xkb_config.rules

The keyboard rules.

Type: string or raw RON value

Declared by:

wayland.desktopManager.cosmic.compositor.xkb_config.variant

The keyboard variant.

Type: string or raw RON value

Example: "dvorak"

Declared by:

wayland.desktopManager.cosmic.configFile

Configuration files for COSMIC components stored in $XDG_CONFIG_HOME.

Each component is identified by its unique identifier (e.g., com.system76.CosmicComp).

Structure for each component:

  • version: Schema version number for the component configuration.
  • entries: Component-specific settings as key-value pairs.

Entry values can be:

  • Simple types: booleans, integers, floating point numbers, strings.

  • Complex types: lists, and attribute sets (RON structs).

  • Special types:

    • raw: The value is stored as-is.
    • optional: The value is stored as an optional value. (e.g. Some(value) or None).
    • char: The value is stored as a single character. (e.g. 'a').
    • map: The value is stored as a map. (e.g. { "key" = "value" }).
    • tuple: The value is stored as a tuple. (e.g. (1, 2, 3)).
    • enum: The value is stored as an enum variant.
  • Named structs: A structured entry with a name identifier.

All values are serialized to RON format using lib.cosmic.generators.toRON.

Type: attribute set of (submodule)

Default: { }

Example:

{
  "com.system76.CosmicComp" = {
    entries = {
      autotile = true;
      autotile_behavior = {
        __type = "enum";
        variant = "PerWorkspace";
      };
      xkb_config = {
        layout = "br";
        model = "";
        options = {
          __type = "optional";
          value = null;
        };
        repeat_delay = 600;
        repeat_rate = 25;
        rules = "";
        variant = "";
      };
    };
    version = 1;
  };
  "com.system76.CosmicSettings" = {
    entries = {
      active-page = "wallpaper";
    };
    version = 1;
  };
  "com.system76.CosmicTerm" = {
    entries = {
      font_name = "JetBrains Mono";
      font_size = 16;
    };
    version = 1;
  };
}

Declared by:

wayland.desktopManager.cosmic.configFile.<name>.entries

Configuration entries for the component.

Type: attribute set of anything

Example:

{
  autotile = true;
  autotile_behavior = {
    __type = "enum";
    variant = "PerWorkspace";
  };
}

Declared by:

wayland.desktopManager.cosmic.configFile.<name>.version

Schema version number for the component configuration.

Type: unsigned integer, meaning >=0

Example: 1

Declared by:

wayland.desktopManager.cosmic.dataFile

Data files for COSMIC components stored in $XDG_DATA_HOME.

Each component is identified by its unique identifier (e.g., com.system76.CosmicComp).

Structure for each component:

  • version: Schema version number for the component configuration.
  • entries: Component-specific settings as key-value pairs.

Entry values can be:

  • Simple types: booleans, integers, floating point numbers, strings.

  • Complex types: lists, and attribute sets (RON structs).

  • Special types:

    • raw: The value is stored as-is.
    • optional: The value is stored as an optional value. (e.g. Some(value) or None).
    • char: The value is stored as a single character. (e.g. 'a').
    • map: The value is stored as a map. (e.g. { "key" = "value" }).
    • tuple: The value is stored as a tuple. (e.g. (1, 2, 3)).
    • enum: The value is stored as an enum variant.
  • Named structs: A structured entry with a name identifier.

All values are serialized to RON format using lib.cosmic.generators.toRON.

Type: attribute set of (submodule)

Default: { }

Declared by:

wayland.desktopManager.cosmic.dataFile.<name>.entries

Configuration entries for the component.

Type: attribute set of anything

Example:

{
  autotile = true;
  autotile_behavior = {
    __type = "enum";
    variant = "PerWorkspace";
  };
}

Declared by:

wayland.desktopManager.cosmic.dataFile.<name>.version

Schema version number for the component configuration.

Type: unsigned integer, meaning >=0

Example: 1

Declared by:

wayland.desktopManager.cosmic.idle

Settings for the COSMIC idle manager.

Type: null or (attribute set of anything)

Default: null

Example:

{
  screen_off_time = cosmicLib.cosmic.mkRon "optional" 90000;
  suspend_on_ac_time = cosmicLib.cosmic.mkRon "optional" 180000;
  suspend_on_battery_time = cosmicLib.cosmic.mkRon "optional" 90000;
}

Declared by:

wayland.desktopManager.cosmic.idle.screen_off_time

The time in milliseconds before the screen turns off.

Type: null or (RON optional of (32 bit unsigned integer; between 0 and 4294967295 (both inclusive) or raw RON value)) or raw RON value

Default: null

Example: cosmicLib.cosmic.mkRon "optional" 90000

Declared by:

wayland.desktopManager.cosmic.idle.suspend_on_ac_time

The time in milliseconds before the system suspends when on AC power.

Type: null or (RON optional of (32 bit unsigned integer; between 0 and 4294967295 (both inclusive) or raw RON value)) or raw RON value

Default: null

Example: cosmicLib.cosmic.mkRon "optional" 180000

Declared by:

wayland.desktopManager.cosmic.idle.suspend_on_battery_time

The time in milliseconds before the system suspends when on battery power.

Type: null or (RON optional of (32 bit unsigned integer; between 0 and 4294967295 (both inclusive) or raw RON value)) or raw RON value

Default: null

Example: cosmicLib.cosmic.mkRon "optional" 90000

Declared by:

wayland.desktopManager.cosmic.panels

The panels that will be displayed on the desktop.

Type: null or (list of (attribute set of anything))

Default: null

Example:

[
  {
    anchor = cosmicLib.cosmic.mkRon "enum" "Bottom";
    anchor_gap = true;
    autohide = cosmicLib.cosmic.mkRon "optional" {
      handle_size = 4;
      transition_time = 200;
      wait_time = 1000;
    };
    background = cosmicLib.cosmic.mkRon "enum" "Dark";
    expand_to_edges = true;
    name = "Panel";
    opacity = 1.0;
    output = cosmicLib.cosmic.mkRon "enum" {
      value = [
        "Virtual-1"
      ];
      variant = "Name";
    };
    plugins_center = cosmicLib.cosmic.mkRon "optional" [
      "com.system76.CosmicAppletTime"
    ];
    plugins_wings = cosmicLib.cosmic.mkRon "optional" (cosmicLib.cosmic.mkRon "tuple" [
      [
        "com.system76.CosmicPanelWorkspacesButton"
        "com.system76.CosmicPanelAppButton"
        "com.system76.CosmicAppletWorkspaces"
      ]
      [
        "com.system76.CosmicAppletInputSources"
        "com.system76.CosmicAppletStatusArea"
        "com.system76.CosmicAppletTiling"
        "com.system76.CosmicAppletAudio"
        "com.system76.CosmicAppletNetwork"
        "com.system76.CosmicAppletBattery"
        "com.system76.CosmicAppletNotifications"
        "com.system76.CosmicAppletBluetooth"
        "com.system76.CosmicAppletPower"
      ]
    ]);
    size = cosmicLib.cosmic.mkRon "enum" "M";
  }
]

Declared by:

wayland.desktopManager.cosmic.panels.*.anchor

The position of the panel on the screen.

Type: null or one of the following RON enum variants: “Bottom”, “Left”, “Right”, “Top” or raw RON value

Default: null

Example: cosmicLib.cosmic.mkRon "enum" "Bottom"

Declared by:

wayland.desktopManager.cosmic.panels.*.anchor_gap

Whether there should be a gap between the panel and the screen edge.

Type: null or boolean or raw RON value

Default: null

Example: true

Declared by:

wayland.desktopManager.cosmic.panels.*.autohide

Whether the panel should autohide and the settings for autohide. If set the value is set to null, the panel will not autohide.

Type: null or (RON optional of (attribute set of anything))

Default: null

Example:

cosmicLib.cosmic.mkRon "optional" {
  handle_size = 4;
  transition_time = 200;
  wait_time = 1000;
}

Declared by:

wayland.desktopManager.cosmic.panels.*.autohide.handle_size

The size of the handle in pixels.

Type: Non-zero 32-bit unsigned integer or raw RON value

Example: 4

Declared by:

wayland.desktopManager.cosmic.panels.*.autohide.transition_time

The time in milliseconds it should take to transition the panel hiding.

Type: 32 bit unsigned integer; between 0 and 4294967295 (both inclusive) or raw RON value

Example: 200

Declared by:

wayland.desktopManager.cosmic.panels.*.autohide.wait_time

The time in milliseconds without pointer focus before the panel hides.

Type: 32 bit unsigned integer; between 0 and 4294967295 (both inclusive) or raw RON value

Example: 1000

Declared by:

wayland.desktopManager.cosmic.panels.*.background

The appearance of the panel.

Type: null or one of the following RON enum variants: “Dark”, “Light”, “ThemeDefault” or RON enum variant “Color” with 1 RON tuple of floating point number with a fixed-size of 3 elements value (singular RON tuple enum) or raw RON value

Default: null

Example: cosmicLib.cosmic.mkRon "enum" "Dark"

Declared by:

wayland.desktopManager.cosmic.panels.*.expand_to_edges

Whether the panel should expand to the edges of the screen.

Type: null or boolean or raw RON value

Default: null

Example: true

Declared by:

wayland.desktopManager.cosmic.panels.*.name

The name of the panel.

Type: string

Example: "Panel"

Declared by:

wayland.desktopManager.cosmic.panels.*.opacity

The opacity of the panel.

Type: null or integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value

Default: null

Example: 1.0

Declared by:

wayland.desktopManager.cosmic.panels.*.output

The output(s) the panel should be displayed on.

Type: null or one of the following RON enum variants: “Active”, “All” or RON enum variant “Name” with 1 string value (singular RON tuple enum) or raw RON value

Default: null

Example:

cosmicLib.cosmic.mkRon "enum" {
  value = [
    "Virtual-1"
  ];
  variant = "Name";
}

Declared by:

wayland.desktopManager.cosmic.panels.*.plugins_center

The center applets of the panel.

Type: null or (RON optional of ((list of string) or raw RON value)) or raw RON value

Default: null

Example:

cosmicLib.cosmic.mkRon "optional" [
  "com.system76.CosmicAppletTime"
]

Declared by:

wayland.desktopManager.cosmic.panels.*.plugins_wings

The plugins that will be displayed on the right and left sides of the panel, respectively.

Type: null or (RON optional of ((RON tuple of list of string with a fixed-size of 2 elements) or raw RON value)) or raw RON value

Default: null

Example:

cosmicLib.cosmic.mkRon "optional" (cosmicLib.cosmic.mkRon "tuple" [
  [
    "com.system76.CosmicPanelWorkspacesButton"
    "com.system76.CosmicPanelAppButton"
    "com.system76.CosmicAppletWorkspaces"
  ]
  [
    "com.system76.CosmicAppletInputSources"
    "com.system76.CosmicAppletStatusArea"
    "com.system76.CosmicAppletTiling"
    "com.system76.CosmicAppletAudio"
    "com.system76.CosmicAppletNetwork"
    "com.system76.CosmicAppletBattery"
    "com.system76.CosmicAppletNotifications"
    "com.system76.CosmicAppletBluetooth"
    "com.system76.CosmicAppletPower"
  ]
])

Declared by:

wayland.desktopManager.cosmic.panels.*.size

The size of the panel.

Type: null or one of the following RON enum variants: “XS”, “S”, “M”, “L”, “XL” or raw RON value

Default: null

Example: cosmicLib.cosmic.mkRon "enum" "M"

Declared by:

wayland.desktopManager.cosmic.resetFiles

Whether to enable COSMIC configuration files reset.

When enabled, this option will delete any COSMIC-related files in the specified XDG directories that were not explicitly declared in your configuration. This ensures that your COSMIC desktop environment remains in a clean, known state as defined by your home-manager configuration.

Type: boolean

Default: false

Example: true

Declared by:

wayland.desktopManager.cosmic.resetFilesDirectories

XDG base directories to reset when resetFiles is enabled.

Available directories:

  • config: User configuration ($XDG_CONFIG_HOME)
  • data: Application data ($XDG_DATA_HOME)
  • state: Runtime state ($XDG_STATE_HOME)
  • cache: Cached data ($XDG_CACHE_HOME)
  • runtime: Runtime files ($XDG_RUNTIME_DIR)

Type: list of (one of “config”, “data”, “state”, “cache”, “runtime”)

Default:

[
  "config"
  "state"
]

Example:

[
  "config"
  "data"
  "state"
]

Declared by:

wayland.desktopManager.cosmic.resetFilesExclude

Patterns to exclude from the reset operation when resetFiles is enabled. Supports glob patterns and brace expansion for matching files and directories.

Use this option to preserve specific files or directories from being reset.

Type: list of string

Default: [ ]

Example:

[
  "com.system76.CosmicComp"
  "dev.edfloreshz.CosmicTweaks/v1"
  "com.system76.CosmicSettings/v1/active-page"
  "com.system76.CosmicTerm/v1/{font_size,font_family}"
  "com.system76.{CosmicComp,CosmicPanel.Dock}/v1"
]

Declared by:

wayland.desktopManager.cosmic.shortcuts

Defines a list of custom shortcuts for the COSMIC desktop environment. Each shortcut specifies a key combination, the action to be performed, and optionally a description for a custom shortcut.

Type: null or (list of (submodule))

Default: null

Example:

[
  {
    action = cosmicLib.cosmic.mkRon "enum" {
      value = [
        "firefox"
      ];
      variant = "Spawn";
    };
    description = cosmicLib.cosmic.mkRon "optional" "Open Firefox";
    key = "Super+B";
  }
  {
    action = cosmicLib.cosmic.mkRon "enum" "Close";
    key = "Super+Q";
  }
  {
    action = cosmicLib.cosmic.mkRon "enum" "Disable";
    key = "Super+M";
  }
  {
    action = cosmicLib.cosmic.mkRon "enum" {
      value = [
        (cosmicLib.cosmic.mkRon "enum" "BrightnessDown")
      ];
      variant = "System";
    };
    key = "XF86MonBrightnessDown";
  }
  {
    action = cosmicLib.cosmic.mkRon "enum" {
      value = [
        (cosmicLib.cosmic.mkRon "enum" "Launcher")
      ];
      variant = "System";
    };
    key = "Super";
  }
]

Declared by:

wayland.desktopManager.cosmic.shortcuts.*.action

The action triggered by the shortcut. Actions can include running a command, moving windows, system actions, and more.

Type: one of the following RON enum variants: “Close”, “Debug”, “Disable”, “LastWorkspace”, “Maximize”, “MigrateWorkspaceToNextOutput”, “MigrateWorkspaceToPreviousOutput”, “Minimize”, “MoveToLastWorkspace”, “MoveToNextOutput”, “MoveToNextWorkspace”, “MoveToPreviousOutput”, “MoveToPreviousWorkspace”, “NextOutput”, “NextWorkspace”, “PreviousOutput”, “PreviousWorkspace”, “SendToLastWorkspace”, “SendToNextOutput”, “SendToNextWorkspace”, “SendToPreviousOutput”, “SendToPreviousWorkspace”, “SwapWindow”, “Terminate”, “ToggleOrientation”, “ToggleStacking”, “ToggleSticky”, “ToggleTiling”, “ToggleWindowFloating”, “ZoomIn”, “ZoomOut” or one of the following RON tuple enum variants: “MigrateWorkspaceToOutput”, “Move”, “MoveToOutput”, “SendToOutput”, “SwitchOutput” with 1 (one of the following RON enum variants: “Left”, “Right”, “Up”, “Down”) value or RON enum variant “Focus” with 1 (one of the following RON enum variants: “Left”, “Right”, “Up”, “Down”, “In”, “Out”) value (singular RON tuple enum) or RON enum variant “Orientation” with 1 (one of the following RON enum variants: “Horizontal”, “Vertical”) value (singular RON tuple enum) or RON enum variant “Resizing” with 1 (one of the following RON enum variants: “Inwards”, “Outwards”) value (singular RON tuple enum) or RON enum variant “Spawn” with 1 string value (singular RON tuple enum) or RON enum variant “System” with 1 (one of the following RON enum variants: “AppLibrary”, “BrightnessDown”, “BrightnessUp”, “HomeFolder”, “KeyboardBrightnessDown”, “KeyboardBrightnessUp”, “Launcher”, “LockScreen”, “LogOut”, “Mute”, “MuteMic”, “PlayPause”, “PlayNext”, “PlayPrev”, “Screenshot”, “Terminal”, “VolumeLower”, “VolumeRaise”, “WebBrowser”, “WindowSwitcher”, “WindowSwitcherPrevious”, “WorkspaceOverview”) value (singular RON tuple enum) or one of the following RON tuple enum variants: “MoveToWorkspace”, “SendToWorkspace”, “Workspace” with 1 8 bit unsigned integer; between 0 and 255 (both inclusive) value or raw RON value

Example:

cosmicLib.cosmic.mkRon "enum" {
  value = [
    "firefox"
  ];
  variant = "Spawn";
}

Declared by:

wayland.desktopManager.cosmic.shortcuts.*.description

A description for the shortcut. Used by COSMIC Settings to display the name of a custom shortcut. This field is optional, and should only be used when defining custom shortcuts.

Type: null or (RON optional of (string or raw RON value)) or raw RON value

Default: null

Example: cosmicLib.cosmic.mkRon "optional" "Open Terminal"

Declared by:

wayland.desktopManager.cosmic.shortcuts.*.key

The key combination that triggers the action. For example, “Super+Q” would trigger the action when the Super and Q keys are pressed together.

Type: string

Example: "Super+Q"

Declared by:

wayland.desktopManager.cosmic.stateFile

State files for COSMIC components stored in $XDG_STATE_HOME.

Each component is identified by its unique identifier (e.g., com.system76.CosmicComp).

Structure for each component:

  • version: Schema version number for the component configuration.
  • entries: Component-specific settings as key-value pairs.

Entry values can be:

  • Simple types: booleans, integers, floating point numbers, strings.

  • Complex types: lists, and attribute sets (RON structs).

  • Special types:

    • raw: The value is stored as-is.
    • optional: The value is stored as an optional value. (e.g. Some(value) or None).
    • char: The value is stored as a single character. (e.g. 'a').
    • map: The value is stored as a map. (e.g. { "key" = "value" }).
    • tuple: The value is stored as a tuple. (e.g. (1, 2, 3)).
    • enum: The value is stored as an enum variant.
  • Named structs: A structured entry with a name identifier.

All values are serialized to RON format using lib.cosmic.generators.toRON.

Type: attribute set of (submodule)

Default: { }

Example:

{
  "com.system76.CosmicBackground" = {
    entries = {
      wallpapers = [
        {
          __type = "tuple";
          value = [
            "Virtual-1"
            {
              __type = "enum";
              value = [
                "/usr/share/backgrounds/cosmic/webb-inspired-wallpaper-system76.jpg"
              ];
              variant = "Path";
            }
          ];
        }
      ];
    };
    version = 1;
  };
}

Declared by:

wayland.desktopManager.cosmic.stateFile.<name>.entries

Configuration entries for the component.

Type: attribute set of anything

Example:

{
  autotile = true;
  autotile_behavior = {
    __type = "enum";
    variant = "PerWorkspace";
  };
}

Declared by:

wayland.desktopManager.cosmic.stateFile.<name>.version

Schema version number for the component configuration.

Type: unsigned integer, meaning >=0

Example: 1

Declared by:

wayland.desktopManager.cosmic.wallpapers

List of wallpapers to be used in COSMIC.

Type: null or (list of (attribute set of anything))

Default: null

Example:

[
  {
    filter_by_theme = true;
    filter_method = cosmicLib.cosmic.mkRon "enum" "Lanczos";
    output = "all";
    rotation_frequency = 600;
    sampling_method = cosmicLib.cosmic.mkRon "enum" "Alphanumeric";
    scaling_mode = cosmicLib.cosmic.mkRon "enum" {
      value = [
        (cosmicLib.cosmic.mkRon "tuple" [
          0.5
          1.0
          (cosmicLib.cosmic.mkRon "raw" "0.345354352")
        ])
      ];
      variant = "Fit";
    };
    source = cosmicLib.cosmic.mkRon "enum" {
      value = [
        "/path/to/wallpaper.png"
      ];
      variant = "Path";
    };
  }
]

Declared by:

wayland.desktopManager.cosmic.wallpapers.*.filter_by_theme

Whether to filter the wallpapers by the active theme.

Type: boolean or raw RON value

Example: true

Declared by:

wayland.desktopManager.cosmic.wallpapers.*.filter_method

This option has no description.

Type: one of the following RON enum variants: “Lanczos”, “Linear”, “Nearest” or raw RON value

Example: cosmicLib.cosmic.mkRon "enum" "Lanczos"

Declared by:

wayland.desktopManager.cosmic.wallpapers.*.output

The output(s) to show the wallpaper.

Type: value “all” (singular enum) or string or raw RON value

Example: "all"

Declared by:

wayland.desktopManager.cosmic.wallpapers.*.rotation_frequency

The frequency at which the wallpaper should change in seconds.

Type: unsigned integer, meaning >=0, or raw RON value

Example: 600

Declared by:

wayland.desktopManager.cosmic.wallpapers.*.sampling_method

The method to use for sampling the wallpapers.

Type: one of the following RON enum variants: “Alphanumeric”, “Random” or raw RON value

Example: cosmicLib.cosmic.mkRon "enum" "Alphanumeric"

Declared by:

wayland.desktopManager.cosmic.wallpapers.*.scaling_mode

This option has no description.

Type: one of the following RON enum variants: “Stretch”, “Zoom” or RON enum variant “Fit” with 1 RON tuple of (integer or floating point number between 0.0 and 1.0 (both inclusive) or raw RON value) with a fixed-size of 3 elements value (singular RON tuple enum) or raw RON value

Example:

cosmicLib.cosmic.mkRon "enum" {
  value = [
    (cosmicLib.cosmic.mkRon "tuple" [
      0.5
      1.0
      (cosmicLib.cosmic.mkRon "raw" "0.345354352")
    ])
  ];
  variant = "Fit";
}

Declared by:

wayland.desktopManager.cosmic.wallpapers.*.source

The source of the wallpaper.

Type: RON enum variant “Path” with 1 (string or raw RON value) value (singular RON tuple enum) or RON enum variant “Color” with 1 (RON enum variant “Gradient” with 1 (attribute set of anything) value (singular RON tuple enum) or RON enum variant “Single” with 1 ((RON tuple of (floating point number or raw RON value) with a fixed-size of 3 elements) or raw RON value) value (singular RON tuple enum)) value (singular RON tuple enum) or raw RON value

Example:

cosmicLib.cosmic.mkRon "enum" {
  value = [
    (cosmicLib.cosmic.mkRon "enum" {
      value = [
        {
          colors = [
            (cosmicLib.cosmic.mkRon "tuple" [
              0.0
              0.0
              0.0
            ])
            (cosmicLib.cosmic.mkRon "tuple" [
              1.0
              1.0
              1.0
            ])
          ];
          radius = 180.0;
        }
      ];
      variant = "Gradient";
    })
  ];
  variant = "Color";
}

Declared by: