This commit is contained in:
2025-12-29 20:24:48 -07:00
parent a4e61d4446
commit f108de09bb
2 changed files with 40 additions and 0 deletions

View File

@@ -15,6 +15,7 @@
./modules/hardware.nix
./modules/services.nix
./modules/aliases.nix
./modules/theme.nix
];
nix.settings.experimental-features = [ "nix-command" "flakes" ];

39
modules/theme.nix Normal file
View File

@@ -0,0 +1,39 @@
{ pkgs, config, lib, ... }:
let
# URL for the theme
themeUrl = "https://raw.githubusercontent.com/catppuccin/cosmic-desktop/main/themes/cosmic-settings/catppuccin-macchiato-blue%2Bround.ron";
themeFile = pkgs.fetchurl {
url = themeUrl;
sha256 = "00hkydzjy87g18xqbg2a07hlh96akwnlbl1pdn006f3kkscyfkmr";
};
in
{
# Create a systemd user service to apply the theme
systemd.user.services.apply-cosmic-theme = {
description = "Apply Catppuccin Macchiato theme to Cosmic";
wantedBy = [ "graphical-session.target" ];
partOf = [ "graphical-session.target" ];
script = ''
mkdir -p %h/.config/cosmic/com.system76.CosmicTheme.Dark.Builder
# The theme file from the repo is the "entries" part of the config.
# We need to wrap it in the structure Cosmic expects: ( entries: ..., version: 1 )
echo "(" > %h/.config/cosmic/com.system76.CosmicTheme.Dark.Builder/v1
echo " entries: " >> %h/.config/cosmic/com.system76.CosmicTheme.Dark.Builder/v1
cat ${themeFile} >> %h/.config/cosmic/com.system76.CosmicTheme.Dark.Builder/v1
echo "," >> %h/.config/cosmic/com.system76.CosmicTheme.Dark.Builder/v1
echo " version: 1" >> %h/.config/cosmic/com.system76.CosmicTheme.Dark.Builder/v1
echo ")" >> %h/.config/cosmic/com.system76.CosmicTheme.Dark.Builder/v1
# Ensure Dark Mode is enabled
mkdir -p %h/.config/cosmic/com.system76.CosmicTheme.Mode
echo '( entries: ( is_dark: true ), version: 1 )' > %h/.config/cosmic/com.system76.CosmicTheme.Mode/v1
'';
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
};
};
}