feature(theme): replace all color theme configs with stylix

This commit is contained in:
2026-10-05 12:39:24 +02:00
parent 6a5eaca649
commit 2b55ec9873
9 changed files with 336 additions and 42 deletions
-3
View File
@@ -4,13 +4,10 @@
settings = {
clipboard-paste-protection = false;
clipboard-read = "allow";
font-family = "0xProto Nerd Font Mono";
font-size = 12;
gtk-titlebar = false;
scrollback-limit = 100000;
shell-integration = "zsh";
shell-integration-features = "ssh-env,ssh-terminfo";
theme = "noctalia"; # generated by noctalia-shell
window-decoration = "auto";
window-padding-x = 10;
window-padding-y = 10;
+12 -4
View File
@@ -2,7 +2,12 @@
# come from modules/nixos/niri.nix. Outputs and input devices that differ
# per machine live in hosts/<host>/niri.nix.
{ lib, osConfig, ... }:
{
config,
lib,
osConfig,
...
}:
let
# Mod+1..9 focus a workspace, Mod+Ctrl+1..9 move the column there
@@ -18,6 +23,9 @@ let
_props.allow-when-locked = true;
spawn-sh = cmd;
};
# niri has no stylix target, so the colors are picked here
colors = config.lib.stylix.colors.withHashtag;
in
{
wayland.windowManager.niri = {
@@ -61,9 +69,9 @@ in
focus-ring = {
on = { };
width = 2;
active-color = "#4c566a";
inactive-color = "#2e3440";
urgent-color = "#a3be8c";
active-color = colors.base03;
inactive-color = colors.base00;
urgent-color = colors.base0B;
};
border.off = { };
-3
View File
@@ -23,9 +23,6 @@
# nvim mapleader for all command below
globals.mapleader = " ";
# set colorscheme to nord
colorschemes.nord.enable = true;
# nvim plugins
plugins.indent-blankline.enable = true;
plugins.lualine.enable = true;
+1 -7
View File
@@ -14,13 +14,7 @@
# settings is rendered to ~/.config/noctalia/config.toml
settings = {
# theme / colors
theme = {
source = "builtin";
builtin = "Nord";
mode = "dark";
templates.builtin_ids = [ "ghostty" ];
};
# theme / colors come from stylix, see stylix.nix
# general
shell = {
-23
View File
@@ -1,23 +0,0 @@
{ pkgs, ... }:
{
gtk = {
enable = true;
theme = {
name = "Adwaita-dark";
package = pkgs.gnome-themes-extra;
};
gtk3.extraConfig.gtk-application-prefer-dark-theme = 1;
gtk4.theme = null;
gtk4.extraConfig.gtk-application-prefer-dark-theme = 1;
};
qt = {
enable = true;
platformTheme.name = "qt6";
style = {
name = "adwaita-dark";
package = pkgs.adwaita-qt;
};
};
}
+36
View File
@@ -0,0 +1,36 @@
# One Nord palette for everything stylix has a target for: gtk, qt,
# noctalia, ghostty, nixvim. niri has no target and reads the colors in
# niri.nix. Only the home-manager module is used, so boot, console and
# sddm are left alone.
{ pkgs, ... }:
{
stylix = {
enable = true;
base16Scheme = "${pkgs.base16-schemes}/share/themes/nord.yaml";
polarity = "dark";
fonts = {
monospace = {
name = "0xProto Nerd Font Mono";
package = pkgs.nerd-fonts._0xproto;
};
sizes.terminal = 12;
};
# its overlays (nixos-icons, gtksourceview) clash with useGlobalPkgs
overlays.enable = false;
targets = {
# profiles aren't managed by home-manager, declaring one here would
# take over the existing profile
firefox.enable = false;
# the bar keeps 0xProto instead of the sans-serif font
noctalia.fonts.enable = false;
# the hand-built status line in tmux.nix uses ANSI color names, which
# already follow the terminal palette
tmux.enable = false;
};
};
}