nixos-configuration/nixos/modules/desktopManagers/cosmic.nix

67 lines
1.6 KiB
Nix

{
inputs,
lib,
pkgs,
self,
...
}:
let
cosmic-configuration = pkgs.stdenv.mkDerivation {
name = "cosmic-configuration";
src = ./cosmic-config;
outputs = [ "out" "share" ];
dontConfigure = true;
buildPhase = ''
for file in $(find . -type f); do
substituteInPlace "$file" \
--subst-var-by wallpaper "${builtins.path { path = "${self}/media/wallpaper.png"; }}" \
--subst-var-by corner_radii_theme "2.0" \
--subst-var-by corner_radii_panel "2"
done
'';
installPhase = ''
mkdir -p $out $share/share/cosmic
cp -r ./* $out/
cp -r ./* $share/share/cosmic/
'';
};
in
{
imports = [
"${inputs.cosmic-modules}/nixos/cosmic/module.nix"
"${self}/nixos/modules/generic/dconf.nix"
];
config = {
services.desktopManager.cosmic.enable = true;
environment.cosmic.excludePackages = with pkgs; [
cosmic-edit
cosmic-player
cosmic-term
];
environment.systemPackages = with pkgs; [
(lib.hiPrio cosmic-configuration.share)
google-cursor
];
services.gnome.gnome-keyring.enable = true;
proot.dconf = {
rules."org/gnome/desktop/interface".cursor-theme = "GoogleDot-White";
profiles.user.rulesToApply = [
"org/gnome/desktop/interface"
];
};
environment.sessionVariables = {
XCURSOR_SIZE = "16";
XCURSOR_THEME = "GoogleDot-White";
};
environment.etc."xdg/gtk-3.0/settings.ini".text = ''
[Settings]
gtk-cursor-theme-name=GoogleDot-White
gtk-application-prefer-dark-theme=true
'';
};
}