mirror of
https://github.com/alyraffauf/nixcfg.git
synced 2024-11-22 02:13:55 -05:00
Aly Raffauf
23c783cfc5
Some checks are pending
git-mirror / gitlab-sync (push) Waiting to run
nix-build / default-build (push) Waiting to run
nix-build / fallarbor-build (push) Waiting to run
nix-build / lavaridge-build (push) Waiting to run
nix-build / mauville-build (push) Waiting to run
nix-build / petalburg-build (push) Waiting to run
nix-build / rustboro-build (push) Waiting to run
nix-check / fmt-check (push) Waiting to run
nix-check / eval-check (push) Waiting to run
* swaylock: update to standard font name * theme: setup font options and mgirate theme.nix * zed: migrate to font modules * swaylock: migrate to font modules * kitty: migrate to font modules * fuzzel: migrate to font modules * vsCodium: migrate to font modules * rofi: migrate to font modules * rofi: migrate to font modules * waybar: migrate to font modules * alacritty: migrate to font modules * alacritty: pull font size from theme module * nixfmt * rustboro: migrate font overrides * waybar: calculate font size from theme font settings * vsCodium: set font size from module * zed: set font size from module * sway: migrate to font modules * wlogout: migrate to font modules * mako: migrate to font modules * sway: fix improper option reference
139 lines
3.1 KiB
Nix
139 lines
3.1 KiB
Nix
{
|
|
pkgs,
|
|
lib,
|
|
config,
|
|
...
|
|
}: let
|
|
cfg = config.ar.home.theme;
|
|
|
|
gtk = {
|
|
extraConfig = lib.attrsets.optionalAttrs (cfg.darkMode) {gtk-application-prefer-dark-theme = 1;};
|
|
|
|
extraCss = ''
|
|
@define-color accent_bg_color ${cfg.colors.primary};
|
|
@define-color accent_color @accent_bg_color;
|
|
|
|
${
|
|
lib.strings.optionalString
|
|
cfg.gtk.hideTitleBar
|
|
''
|
|
/* No (default) title bar on wayland */
|
|
headerbar.default-decoration {
|
|
/* You may need to tweak these values depending on your GTK theme */
|
|
margin-bottom: 50px;
|
|
margin-top: -100px;
|
|
|
|
background: transparent;
|
|
padding: 0;
|
|
border: 0;
|
|
min-height: 0;
|
|
font-size: 0;
|
|
box-shadow: none;
|
|
}
|
|
|
|
/* rm -rf window shadows */
|
|
window.csd, /* gtk4? */
|
|
window.csd decoration { /* gtk3 */
|
|
box-shadow: none;
|
|
}
|
|
''
|
|
}
|
|
'';
|
|
};
|
|
in {
|
|
config = lib.mkIf cfg.enable {
|
|
home = {
|
|
packages = [
|
|
cfg.monospaceFont.package
|
|
cfg.sansFont.package
|
|
cfg.serifFont.package
|
|
pkgs.adwaita-qt
|
|
pkgs.gnome.adwaita-icon-theme
|
|
pkgs.liberation_ttf
|
|
];
|
|
|
|
pointerCursor = {
|
|
gtk.enable = true;
|
|
name = "Bibata-Modern-Classic";
|
|
package = pkgs.bibata-cursors;
|
|
size = lib.mkDefault 24;
|
|
|
|
x11 = {
|
|
enable = true;
|
|
defaultCursor = config.home.pointerCursor.name;
|
|
};
|
|
};
|
|
};
|
|
|
|
fonts.fontconfig = {
|
|
enable = true;
|
|
|
|
defaultFonts = {
|
|
monospace = [cfg.monospaceFont.name];
|
|
sansSerif = [cfg.sansFont.name];
|
|
serif = [cfg.serifFont.name];
|
|
};
|
|
};
|
|
|
|
gtk = {
|
|
enable = true;
|
|
|
|
theme = {
|
|
name =
|
|
if cfg.darkMode
|
|
then "adw-gtk3-dark"
|
|
else "adw-gtk3";
|
|
|
|
package = pkgs.adw-gtk3;
|
|
};
|
|
|
|
font = {inherit (cfg.sansFont) name package size;};
|
|
|
|
iconTheme = {
|
|
name =
|
|
if cfg.darkMode
|
|
then "Papirus-Dark"
|
|
else "Papirus";
|
|
|
|
package = pkgs.papirus-icon-theme.override {color = "adwaita";};
|
|
};
|
|
|
|
gtk3 = {inherit (gtk) extraConfig extraCss;};
|
|
gtk4 = {inherit (gtk) extraConfig extraCss;};
|
|
};
|
|
|
|
qt = {
|
|
enable = true;
|
|
platformTheme.name = "qtct";
|
|
|
|
style = {
|
|
name =
|
|
if cfg.darkMode
|
|
then "Adwaita-Dark"
|
|
else "Adwaita";
|
|
|
|
package = pkgs.adwaita-qt6;
|
|
};
|
|
};
|
|
|
|
dconf.settings = {
|
|
"org/gnome/desktop/background" = {
|
|
picture-uri = "file://${cfg.wallpaper}";
|
|
picture-uri-dark = "file://${cfg.wallpaper}";
|
|
};
|
|
|
|
"org/gnome/desktop/interface" = {
|
|
color-scheme =
|
|
if cfg.darkMode
|
|
then "prefer-dark"
|
|
else "prefer-light";
|
|
|
|
document-font-name = "${cfg.serifFont.name} ${toString cfg.serifFont.size}";
|
|
monospace-font-name = "${cfg.monospaceFont.name} ${toString cfg.monospaceFont.size}";
|
|
};
|
|
|
|
"org/gnome/desktop/wm/preferences".titlebar-font = "${cfg.sansFont.name} ${toString cfg.sansFont.size}";
|
|
};
|
|
};
|
|
}
|