@ -1,10 +1,12 @@
|
||||
{
|
||||
osConfig,
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
inherit (osConfig.module.stylix) theme;
|
||||
cfg = config.desktop.cosmic;
|
||||
in {
|
||||
options = {
|
||||
@ -12,8 +14,81 @@ in {
|
||||
mkEnableOption "enable cosmic desktop";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
stylix.targets = {
|
||||
qt.enable = false;
|
||||
gtk.enable = false;
|
||||
};
|
||||
home.packages = with pkgs; [
|
||||
wl-clipboard-rs
|
||||
helvum
|
||||
loupe
|
||||
papers
|
||||
junction
|
||||
celluloid
|
||||
mission-center
|
||||
dconf
|
||||
libnotify
|
||||
playerctl
|
||||
wdisplays
|
||||
pwvucontrol
|
||||
wl-clipboard
|
||||
];
|
||||
gtk = {
|
||||
enable = true;
|
||||
iconTheme = {
|
||||
name =
|
||||
if config.stylix.polarity == "dark"
|
||||
then "Papirus-Dark"
|
||||
else "Papirus-Light";
|
||||
package =
|
||||
if (removeSuffix "-light" theme) == "nord"
|
||||
then pkgs.papirus-nord
|
||||
else pkgs.papirus-icon-theme;
|
||||
};
|
||||
};
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme.name = "gtk3";
|
||||
};
|
||||
services = {
|
||||
gnome-keyring = {
|
||||
enable = true;
|
||||
components = ["secrets"];
|
||||
};
|
||||
};
|
||||
dconf.settings = {
|
||||
"org/gnome/desktop/wm/preferences" = {
|
||||
button-layout = "icon:minimize,maximize,close";
|
||||
};
|
||||
"org/gnome/desktop/interface" = {
|
||||
icon-theme = config.gtk.iconTheme.name;
|
||||
};
|
||||
};
|
||||
xdg = {
|
||||
mime.enable = true;
|
||||
mimeApps = {
|
||||
enable = true;
|
||||
defaultApplications = let
|
||||
file_manager = ["org.gnome.Nautilus.desktop"];
|
||||
image_viewer = ["org.gnome.Loupe.desktop"];
|
||||
pdf_reader = ["org.gnome.Papers.desktop"];
|
||||
video_player = ["io.github.celluloid_player.Celluloid.desktop"];
|
||||
web_browser = ["re.sonny.Junction.desktop"];
|
||||
in {
|
||||
"application/pdf" = pdf_reader;
|
||||
"image/jpeg" = image_viewer;
|
||||
"image/png" = image_viewer;
|
||||
"inode/directory" = file_manager;
|
||||
"text/html" = web_browser;
|
||||
"video/mp4" = video_player;
|
||||
"video/mpeg" = video_player;
|
||||
"video/x-matroska" = video_player;
|
||||
"video/x-mpeg" = video_player;
|
||||
"x-scheme-handler/about" = web_browser;
|
||||
"x-scheme-handler/http" = web_browser;
|
||||
"x-scheme-handler/https" = web_browser;
|
||||
"x-scheme-handler/unknown" = web_browser;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
{
|
||||
imports = [
|
||||
./common
|
||||
./cosmic
|
||||
./gnome
|
||||
./hyprland
|
||||
./niri
|
||||
|
Reference in New Issue
Block a user