feat: stylix?

This commit is contained in:
Kat Inskip 2025-07-26 17:06:28 -07:00
parent 2b1fd9b99e
commit d6d4d38dcc
Signed by: kat
GPG key ID: 465E64DECEA8CF0F
33 changed files with 465 additions and 629 deletions

View file

@ -1,27 +0,0 @@
{
lib,
pkgs,
inputs,
...
}: let
inherit (inputs.base16-data.lib.base16-data) schemeSources;
in {
base16 = {
vim = {
enable = false;
template = inputs.base16-data.legacyPackages.${pkgs.system}.base16-templates.vim.withTemplateData;
};
shell.enable = true;
schemes = {
light = {
schemeData = schemeSources.tinted.schemes.catppuccin-latte;
ansi.palette.background.alpha = "d000";
};
dark = {
schemeData = schemeSources.tinted.schemes.catppuccin-mocha;
ansi.palette.background.alpha = "d000";
};
};
defaultSchemeName = "dark";
};
}

View file

@ -1,222 +0,0 @@
{
config,
lib,
pkgs,
inputs,
...
}: let
inherit (lib) mkForce;
qtct = ''
[Appearance]
color_scheme_path=${inputs.catppuccin-qtct}/themes/Catppuccin-Frappe.conf
custom_palette=true
icon_theme=Breeze
standard_dialogs=kde
style=Breeze
'';
colors = pkgs.writeTextFile {
name = "colors";
text = ''
@define-color accent_color ${config.palette.${config.catppuccin.accent}.hex};
@define-color accent_bg_color ${config.palette.${config.catppuccin.accent}.hex};
@define-color accent_fg_color ${config.palette.base.hex};
@define-color destructive_color ${config.palette.red.hex};
@define-color destructive_bg_color ${config.palette.red.hex};
@define-color destructive_fg_color ${config.palette.base.hex};
@define-color success_color ${config.palette.green.hex};
@define-color success_bg_color ${config.palette.green.hex};
@define-color success_fg_color ${config.palette.base.hex};
@define-color warning_color ${config.palette.mauve.hex};
@define-color warning_bg_color ${config.palette.mauve.hex};
@define-color warning_fg_color ${config.palette.base.hex};
@define-color error_color ${config.palette.red.hex};
@define-color error_bg_color ${config.palette.red.hex};
@define-color error_fg_color ${config.palette.base.hex};
@define-color window_bg_color ${config.palette.base.hex};
@define-color window_fg_color ${config.palette.text.hex};
@define-color view_bg_color ${config.palette.base.hex};
@define-color view_fg_color ${config.palette.text.hex};
@define-color headerbar_bg_color ${config.palette.mantle.hex};
@define-color headerbar_fg_color ${config.palette.text.hex};
@define-color headerbar_border_color rgba(${builtins.toString config.palette.base.rgb.r}, ${builtins.toString config.palette.base.rgb.g}, ${builtins.toString config.palette.base.rgb.b}, 0.7);
@define-color headerbar_backdrop_color @window_bg_color;
@define-color headerbar_shade_color rgba(0, 0, 0, 0.07);
@define-color headerbar_darker_shade_color rgba(0, 0, 0, 0.07);
@define-color sidebar_bg_color ${config.palette.mantle.hex};
@define-color sidebar_fg_color ${config.palette.text.hex};
@define-color sidebar_backdrop_color @window_bg_color;
@define-color sidebar_shade_color rgba(0, 0, 0, 0.07);
@define-color secondary_sidebar_bg_color @sidebar_bg_color;
@define-color secondary_sidebar_fg_color @sidebar_fg_color;
@define-color secondary_sidebar_backdrop_color @sidebar_backdrop_color;
@define-color secondary_sidebar_shade_color @sidebar_shade_color;
@define-color card_bg_color ${config.palette.mantle.hex};
@define-color card_fg_color ${config.palette.text.hex};
@define-color card_shade_color rgba(0, 0, 0, 0.07);
@define-color dialog_bg_color ${config.palette.mantle.hex};
@define-color dialog_fg_color ${config.palette.text.hex};
@define-color popover_bg_color ${config.palette.mantle.hex};
@define-color popover_fg_color ${config.palette.text.hex};
@define-color popover_shade_color rgba(0, 0, 0, 0.07);
@define-color shade_color rgba(0, 0, 0, 0.07);
@define-color scrollbar_outline_color ${config.palette.surface0.hex};
@define-color blue_1 ${config.palette.blue.hex};
@define-color blue_2 ${config.palette.blue.hex};
@define-color blue_3 ${config.palette.blue.hex};
@define-color blue_4 ${config.palette.blue.hex};
@define-color blue_5 ${config.palette.blue.hex};
@define-color green_1 ${config.palette.green.hex};
@define-color green_2 ${config.palette.green.hex};
@define-color green_3 ${config.palette.green.hex};
@define-color green_4 ${config.palette.green.hex};
@define-color green_5 ${config.palette.green.hex};
@define-color yellow_1 ${config.palette.yellow.hex};
@define-color yellow_2 ${config.palette.yellow.hex};
@define-color yellow_3 ${config.palette.yellow.hex};
@define-color yellow_4 ${config.palette.yellow.hex};
@define-color yellow_5 ${config.palette.yellow.hex};
@define-color orange_1 ${config.palette.peach.hex};
@define-color orange_2 ${config.palette.peach.hex};
@define-color orange_3 ${config.palette.peach.hex};
@define-color orange_4 ${config.palette.peach.hex};
@define-color orange_5 ${config.palette.peach.hex};
@define-color red_1 ${config.palette.red.hex};
@define-color red_2 ${config.palette.red.hex};
@define-color red_3 ${config.palette.red.hex};
@define-color red_4 ${config.palette.red.hex};
@define-color red_5 ${config.palette.red.hex};
@define-color purple_1 ${config.palette.mauve.hex};
@define-color purple_2 ${config.palette.mauve.hex};
@define-color purple_3 ${config.palette.mauve.hex};
@define-color purple_4 ${config.palette.mauve.hex};
@define-color purple_5 ${config.palette.mauve.hex};
@define-color brown_1 ${config.palette.flamingo.hex};
@define-color brown_2 ${config.palette.flamingo.hex};
@define-color brown_3 ${config.palette.flamingo.hex};
@define-color brown_4 ${config.palette.flamingo.hex};
@define-color brown_5 ${config.palette.flamingo.hex};
@define-color light_1 ${config.palette.mantle.hex};
@define-color light_2 ${config.palette.mantle.hex};
@define-color light_3 ${config.palette.mantle.hex};
@define-color light_4 ${config.palette.mantle.hex};
@define-color light_5 ${config.palette.mantle.hex};
@define-color dark_1 ${config.palette.mantle.hex};
@define-color dark_2 ${config.palette.mantle.hex};
@define-color dark_3 ${config.palette.mantle.hex};
@define-color dark_4 ${config.palette.mantle.hex};
@define-color dark_5 ${config.palette.mantle.hex};
'';
};
gtk4-vars = pkgs.writeTextFile {
name = "gtk4-vars";
text = ''
:root {
--accent-bg-color: @accent_bg_color;
--accent-fg-color: @accent_fg_color;
--destructive-bg-color: @destructive_bg_color;
--destructive-fg-color: @destructive_fg_color;
--success-bg-color: @success_bg_color;
--success-fg-color: @success_fg_color;
--warning-bg-color: @warning_bg_color;
--warning-fg-color: @warning_fg_color;
--error-bg-color: @error_bg_color;
--error-fg-color: @error_fg_color;
--window-bg-color: @window_bg_color;
--window-fg-color: @window_fg_color;
--view-bg-color: @view_bg_color;
--view-fg-color: @view_fg_color;
--headerbar-bg-color: @headerbar_bg_color;
--headerbar-fg-color: @headerbar_fg_color;
--headerbar-border-color: @headerbar_border_color;
--headerbar-backdrop-color: @headerbar_backdrop_color;
--headerbar-shade-color: @headerbar_shade_color;
--headerbar-darker-shade-color: @headerbar_darker_shade_color;
--sidebar-bg-color: @sidebar_bg_color;
--sidebar-fg-color: @sidebar_fg_color;
--sidebar-backdrop-color: @sidebar_backdrop_color;
--sidebar-border-color: @sidebar_border_color;
--sidebar-shade-color: @sidebar_shade_color;
--secondary-sidebar-bg-color: @secondary_sidebar_bg_color;
--secondary-sidebar-fg-color: @secondary_sidebar_fg_color;
--secondary-sidebar-backdrop-color: @secondary_sidebar_backdrop_color;
--secondary-sidebar-border-color: @secondary_sidebar_border_color;
--secondary-sidebar-shade-color: @secondary_sidebar_shade_color;
--card-bg-color: @card_bg_color;
--card-fg-color: @card_fg_color;
--card-shade-color: @card_shade_color;
--dialog-bg-color: @dialog_bg_color;
--dialog-fg-color: @dialog_fg_color;
--popover-bg-color: @popover_bg_color;
--popover-fg-color: @popover_fg_color;
--popover-shade-color: @popover_shade_color;
--thumbnail-bg-color: @thumbnail_bg_color;
--thumbnail-fg-color: @thumbnail_fg_color;
--shade-color: @shade_color;
--scrollbar-outline-color: @scrollbar_outline_color;
}
'';
};
in {
catppuccin = {
enable = true;
flavor = "frappe";
firefox.profiles = mkForce {};
kvantum.enable = false;
gtk = {
enable = false;
icon.enable = true;
gnomeShellTheme = mkForce false;
};
};
# https://git.gay/olivia/fur/src/branch/main/modules/home/theming/qt/default.nix
qt = {
enable = true;
platformTheme.name = "qtct";
};
xdg.configFile = {
"qt5ct/qt5ct.conf".text = qtct;
"qt6ct/qt6ct.conf".text = qtct;
};
home.packages = [
pkgs.kdePackages.breeze
pkgs.kdePackages.breeze-icons
];
dconf.settings = {
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
};
};
gtk = {
enable = true;
theme = {
name = "adw-gtk3-dark";
package = pkgs.adw-gtk3;
};
gtk3 = {
extraCss = ''@import url("${colors}");'';
extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
};
gtk4 = {
extraCss = ''
@import url("${colors}");
@import url("${gtk4-vars}");
'';
};
};
}

View file

@ -0,0 +1,12 @@
{ pkgs, ... }: {
stylix = {
enable = true;
cursor = {
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Ice";
size = 32;
};
autoEnable = true;
base16Scheme = "${pkgs.base16-schemes}/share/themes/rose-pine.yaml";
};
}

View file

@ -17,15 +17,15 @@ in {
];
experimentalFeatures = true;
windowManagerPatch = true;
colorScheme = "CatppuccinMocha";
theme =
spicePkgs.themes.text
// {
additionalCss = ''
:root {
--font-family: 'Monaspace Krypton', monospace;
}
'';
};
#colorScheme = "CatppuccinMocha";
#theme =
# spicePkgs.themes.text
# // {
# additionalCss = ''
# :root {
# --font-family: 'Monaspace Krypton', monospace;
# }
# '';
# };
};
}

View file

@ -8,22 +8,23 @@
inherit (lib.modules) mkIf;
inherit (std) string set;
initLua = pkgs.replaceVars ./init.lua ({
base16ShellPath = config.base16.shell.package;
catppuccin_flavour = config.catppuccin.flavor;
inherit (config.base16) defaultSchemeName;
defaultSchemeSlug = config.base16.defaultScheme.slug;
}
// set.map (_: col: string.justifyRight 2 "0" (builtins.toString col.ansiIndex))
(set.filter (var: _: string.hasInfix "base" var) config.base16.defaultScheme));
inity = config.programs.neovim.generatedConfigs.lua;
});
in {
stylix.targets.neovim = {
enable = true;
transparentBackground = {
main = true;
signColumn = true;
numberLine = true;
};
};
home.sessionVariables = mkIf config.programs.neovim.enable {EDITOR = "nvim";};
programs.neovim = {
enable = true;
vimAlias = true;
viAlias = true;
plugins = with pkgs.vimPlugins; [
# Base16 manual
config.base16.vim.plugin
# Libraries
plenary-nvim
# Disables and re-enables highlighting when searching
@ -42,8 +43,6 @@ in {
hop-nvim
# org-mode for vim
neorg
# base16
config.base16.vim.plugin
# Fonts
nvim-web-devicons
# Completion

View file

@ -1,3 +1,7 @@
@inity@
MiniBase16.config.use_cterm = true
-----------------------------------------------------------
-- Variables
-----------------------------------------------------------
@ -6,44 +10,6 @@ local opt = vim.opt -- Set options (global/buffer/windows-scoped)
local wo = vim.wo -- Window local variables
local api = vim.api -- Lua API
-----------------------------------------------------------
-- Base16
-----------------------------------------------------------
--vim.g.base16colorspace = 256
--vim.g.base16background = "@defaultSchemeName@"
--g.base16_shell_path = "@base16ShellPath@"
--vim.cmd("colorscheme base16-@defaultSchemeSlug@")
--g.colors_name = "@defaultSchemeSlug@"
--local base16 = {
-- base00 = "@base00@",
-- base01 = "@base01@",
-- base02 = "@base02@",
-- base03 = "@base03@",
-- base04 = "@base04@",
-- base05 = "@base05@",
-- base06 = "@base06@",
-- base07 = "@base07@",
-- base08 = "@base08@",
-- base09 = "@base09@",
-- base0A = "@base0A@",
-- base0B = "@base0B@",
-- base0C = "@base0C@",
-- base0D = "@base0D@",
-- base0E = "@base0E@",
-- base0F = "@base0F@"
--}
api.nvim_create_autocmd("vimenter", {
command = "highlight Normal guibg=NONE ctermbg=NONE"
})
api.nvim_create_autocmd("SourcePost", {
command = "highlight Normal ctermbg=NONE guibg=NONE | " ..
"highlight LineNr ctermbg=NONE guibg=NONE | " ..
"highlight SignColumn ctermbg=NONE guibg=NONE"
})
-----------------------------------------------------------
-- General
-----------------------------------------------------------
@ -421,5 +387,3 @@ end, {remap=true})
vim.keymap.set("", "F", function()
hop.hint_char1({ direction = directions.BEFORE_CURSOR, current_line_only = true })
end, {remap=true})
vim.cmd("colorscheme catppuccin-@catppuccin_flavour@")

View file

@ -19,10 +19,10 @@ in {
ponysay
];
xdg.configFile."kattheme_immutable.json".text = serde.toJSON rec {
default = config.base16.defaultSchemeName;
current = default;
};
#xdg.configFile."kattheme_immutable.json".text = serde.toJSON rec {
#default = config.base16.defaultSchemeName;
#current = default;
#};
programs.zsh = {
enable = true;