NixOS/Suckless/dwm/appearance.nix
2026-03-30 13:10:42 +07:00

39 lines
1.9 KiB
Nix

# dwm appearance settings (colors, fonts, borders, gaps)
# Integrates with Stylix for consistent theming
{ config, lib }:
let
colors = config.lib.stylix.colors;
fonts = config.stylix.fonts;
in
{
config = ''
/* See LICENSE file for copyright and license details. */
/* appearance */
static const unsigned int borderpx = 2; /* border pixel of windows */
static const unsigned int gappx = 5; /* gaps between windows */
static const unsigned int snap = 32; /* snap pixel */
static const int showbar = 0; /* 0 means no bar (holdbar shows on key hold) */
static const int topbar = 1; /* 0 means bottom bar */
/* Display modes of the tab bar: never shown, always shown, shown only in */
/* monocle mode in the presence of several windows. */
/* Modes after showtab_nmodes are disabled. */
enum showtab_modes { showtab_never, showtab_auto, showtab_nmodes, showtab_always};
static const int showtab = showtab_auto; /* Default tab bar show mode */
static const int toptab = False; /* False means bottom tab bar */
static const char *fonts[] = { "${fonts.monospace.name}:size=${toString fonts.sizes.terminal}" };
static const char dmenufont[] = "${fonts.monospace.name}:size=${toString fonts.sizes.terminal}";
static const char col_gray1[] = "#${colors.base00}";
static const char col_gray2[] = "#${colors.base01}";
static const char col_gray3[] = "#${colors.base04}";
static const char col_gray4[] = "#${colors.base05}";
static const char col_cyan[] = "#${colors.base0D}";
static const char *colors[][3] = {
/* fg bg border */
[SchemeNorm] = { col_gray3, col_gray1, col_gray2 },
[SchemeSel] = { col_gray4, col_cyan, col_cyan },
};
'';
}