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

257
flake.lock generated
View file

@ -70,36 +70,70 @@
"type": "github"
}
},
"catppuccin": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1752485532,
"narHash": "sha256-rwQCN+K/P5xE5XjAjmUrcp1B/d9RN3vQ/eNM4ZsPhNo=",
"path": "/home/kat/Projects/catppuccin",
"type": "path"
},
"original": {
"path": "/home/kat/Projects/catppuccin",
"type": "path"
}
},
"catppuccin-qtct": {
"base16-fish": {
"flake": false,
"locked": {
"lastModified": 1743247755,
"narHash": "sha256-wDj6kQ2LQyMuEvTQP6NifYFdsDLT+fMCe3Fxr8S783w=",
"owner": "catppuccin",
"repo": "qt5ct",
"rev": "cb585307edebccf74b8ae8f66ea14f21e6666535",
"lastModified": 1622559957,
"narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=",
"owner": "tomyun",
"repo": "base16-fish",
"rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe",
"type": "github"
},
"original": {
"owner": "catppuccin",
"repo": "qt5ct",
"owner": "tomyun",
"repo": "base16-fish",
"type": "github"
}
},
"base16-helix": {
"flake": false,
"locked": {
"lastModified": 1752979451,
"narHash": "sha256-0CQM+FkYy0fOO/sMGhOoNL80ftsAzYCg9VhIrodqusM=",
"owner": "tinted-theming",
"repo": "base16-helix",
"rev": "27cf1e66e50abc622fb76a3019012dc07c678fac",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "base16-helix",
"type": "github"
}
},
"base16-vim": {
"flake": false,
"locked": {
"lastModified": 1732806396,
"narHash": "sha256-e0bpPySdJf0F68Ndanwm+KWHgQiZ0s7liLhvJSWDNsA=",
"owner": "tinted-theming",
"repo": "base16-vim",
"rev": "577fe8125d74ff456cf942c733a85d769afe58b7",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "base16-vim",
"rev": "577fe8125d74ff456cf942c733a85d769afe58b7",
"type": "github"
}
},
"base16_2": {
"inputs": {
"fromYaml": "fromYaml"
},
"locked": {
"lastModified": 1746562888,
"narHash": "sha256-YgNJQyB5dQiwavdDFBMNKk1wyS77AtdgDk/VtU6wEaI=",
"owner": "SenchoPens",
"repo": "base16.nix",
"rev": "806a1777a5db2a1ef9d5d6f493ef2381047f2b89",
"type": "github"
},
"original": {
"owner": "SenchoPens",
"repo": "base16.nix",
"type": "github"
}
},
@ -267,6 +301,22 @@
"type": "github"
}
},
"firefox-gnome-theme": {
"flake": false,
"locked": {
"lastModified": 1748383148,
"narHash": "sha256-pGvD/RGuuPf/4oogsfeRaeMm6ipUIznI2QSILKjKzeA=",
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
"rev": "4eb2714fbed2b80e234312611a947d6cb7d70caf",
"type": "github"
},
"original": {
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
"type": "github"
}
},
"fl-config": {
"locked": {
"lastModified": 1653159448,
@ -444,6 +494,22 @@
"type": "github"
}
},
"fromYaml": {
"flake": false,
"locked": {
"lastModified": 1731966426,
"narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=",
"owner": "SenchoPens",
"repo": "fromYaml",
"rev": "106af9e2f715e2d828df706c386a685698f3223b",
"type": "github"
},
"original": {
"owner": "SenchoPens",
"repo": "fromYaml",
"type": "github"
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
@ -466,6 +532,23 @@
"type": "github"
}
},
"gnome-shell": {
"flake": false,
"locked": {
"lastModified": 1748186689,
"narHash": "sha256-UaD7Y9f8iuLBMGHXeJlRu6U1Ggw5B9JnkFs3enZlap0=",
"owner": "GNOME",
"repo": "gnome-shell",
"rev": "8c88f917db0f1f0d80fa55206c863d3746fa18d0",
"type": "github"
},
"original": {
"owner": "GNOME",
"ref": "48.2",
"repo": "gnome-shell",
"type": "github"
}
},
"harfbuzz": {
"flake": false,
"locked": {
@ -1323,8 +1406,6 @@
"arcexprs": "arcexprs",
"base16": "base16",
"base16-data": "base16-data",
"catppuccin": "catppuccin",
"catppuccin-qtct": "catppuccin-qtct",
"chaotic": "chaotic",
"ci": "ci",
"clipboard-sync": "clipboard-sync",
@ -1371,6 +1452,7 @@
"sops-nix": "sops-nix",
"spicetify-nix": "spicetify-nix",
"std": "std",
"stylix": "stylix",
"systems": "systems_2",
"tree": "tree",
"treefmt-nix": "treefmt-nix",
@ -1567,6 +1649,46 @@
"type": "github"
}
},
"stylix": {
"inputs": {
"base16": "base16_2",
"base16-fish": "base16-fish",
"base16-helix": "base16-helix",
"base16-vim": "base16-vim",
"firefox-gnome-theme": "firefox-gnome-theme",
"flake-parts": [
"flake-parts"
],
"gnome-shell": "gnome-shell",
"nixpkgs": [
"nixpkgs"
],
"nur": [
"nur"
],
"systems": [
"systems"
],
"tinted-foot": "tinted-foot",
"tinted-kitty": "tinted-kitty",
"tinted-schemes": "tinted-schemes",
"tinted-tmux": "tinted-tmux",
"tinted-zed": "tinted-zed"
},
"locked": {
"lastModified": 1753553562,
"narHash": "sha256-CpTwdsrPU3UFy95Btg56RcVMgNpnw3C0DYTznE5aRq4=",
"owner": "nix-community",
"repo": "stylix",
"rev": "af85565aba0f4749cb18b118a7333a0745920950",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "stylix",
"type": "github"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
@ -1597,6 +1719,87 @@
"type": "github"
}
},
"tinted-foot": {
"flake": false,
"locked": {
"lastModified": 1726913040,
"narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=",
"owner": "tinted-theming",
"repo": "tinted-foot",
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "tinted-foot",
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
"type": "github"
}
},
"tinted-kitty": {
"flake": false,
"locked": {
"lastModified": 1735730497,
"narHash": "sha256-4KtB+FiUzIeK/4aHCKce3V9HwRvYaxX+F1edUrfgzb8=",
"owner": "tinted-theming",
"repo": "tinted-kitty",
"rev": "de6f888497f2c6b2279361bfc790f164bfd0f3fa",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "tinted-kitty",
"type": "github"
}
},
"tinted-schemes": {
"flake": false,
"locked": {
"lastModified": 1750770351,
"narHash": "sha256-LI+BnRoFNRa2ffbe3dcuIRYAUcGklBx0+EcFxlHj0SY=",
"owner": "tinted-theming",
"repo": "schemes",
"rev": "5a775c6ffd6e6125947b393872cde95867d85a2a",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "schemes",
"type": "github"
}
},
"tinted-tmux": {
"flake": false,
"locked": {
"lastModified": 1751159871,
"narHash": "sha256-UOHBN1fgHIEzvPmdNMHaDvdRMgLmEJh2hNmDrp3d3LE=",
"owner": "tinted-theming",
"repo": "tinted-tmux",
"rev": "bded5e24407cec9d01bd47a317d15b9223a1546c",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "tinted-tmux",
"type": "github"
}
},
"tinted-zed": {
"flake": false,
"locked": {
"lastModified": 1751158968,
"narHash": "sha256-ksOyv7D3SRRtebpXxgpG4TK8gZSKFc4TIZpR+C98jX8=",
"owner": "tinted-theming",
"repo": "base16-zed",
"rev": "86a470d94204f7652b906ab0d378e4231a5b3384",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "base16-zed",
"type": "github"
}
},
"tree": {
"inputs": {
"nix-std": [

View file

@ -31,15 +31,16 @@
# inputs.nixpkgs.follows = "nixpkgs";
#};
};
systems.url = "github:nix-systems/default";
# TODO: https://github.com/catppuccin/nix/issues/601
catppuccin = {
url = "path:/home/kat/Projects/catppuccin";
#url = "github:catppuccin/nix";
stylix = {
url = "github:nix-community/stylix";
inputs = {
nixpkgs.follows = "nixpkgs";
nur.follows = "nur";
flake-parts.follows = "flake-parts";
systems.follows = "systems";
};
};
systems.url = "github:nix-systems/default";
flake-parts = {
url = "github:hercules-ci/flake-parts";
inputs.nixpkgs-lib.follows = "nixpkgs-lib";
@ -186,12 +187,6 @@
rust-overlay.follows = "rust-overlay";
};
};
catppuccin-qtct = {
type = "github";
owner = "catppuccin";
repo = "qt5ct";
flake = false;
};
spicetify-nix = {
url = "github:Gerg-L/spicetify-nix";
inputs = {
@ -346,7 +341,6 @@
url = "github:nix-community/NUR";
inputs = {
nixpkgs.follows = "nixpkgs";
treefmt-nix.follows = "treefmt-nix";
flake-parts.follows = "flake-parts";
};
};

View file

@ -1,9 +0,0 @@
{config, ...}: let
inherit (config.catppuccin) sources;
cfg = config.catppuccin.sway;
theme = "${sources.sway}/catppuccin-${cfg.flavor}";
in {
xsession.windowManager.i3.extraConfigEarly = ''
${builtins.readFile theme}
'';
}

View file

@ -74,7 +74,7 @@ in {
}
{
command = [
"${getExe pkgs.udiskie}"
"${getExe' pkgs.udiskie "udiskie"}"
];
}
{

View file

@ -1,4 +1,5 @@
{config, ...}: {
stylix.targets.avizo.enable = config.services.avizo.enable;
services.avizo = {
enable = false;
settings = {
@ -7,14 +8,6 @@
block-spacing = 0;
border-radius = 8;
border-width = 2;
background = "rgba(${builtins.toString config.palette.mantle.rgb.r}, ${builtins.toString config.palette.mantle.rgb.g}, ${builtins.toString config.palette.mantle.rgb.b}, 1)";
border-color = "rgba(${builtins.toString config.palette.${config.catppuccin.accent}.rgb.r}, ${
builtins.toString config.palette.${config.catppuccin.accent}.rgb.g
}, ${builtins.toString config.palette.${config.catppuccin.accent}.rgb.b}, 1)";
bar-fg-color = "rgba(${builtins.toString config.palette.${config.catppuccin.accent}.rgb.r}, ${
builtins.toString config.palette.${config.catppuccin.accent}.rgb.g
}, ${builtins.toString config.palette.${config.catppuccin.accent}.rgb.b}, 1)";
bar-bg-color = "rgba(${builtins.toString config.palette.mantle.rgb.r}, ${builtins.toString config.palette.mantle.rgb.g}, ${builtins.toString config.palette.mantle.rgb.b}, 1)";
};
};
};

View file

@ -1,5 +1,4 @@
{config, ...}: {
catppuccin.cursors.enable = true;
home.pointerCursor = {
dotIcons.enable = true;
x11 = {
@ -7,6 +6,5 @@
defaultCursor = config.home.pointerCursor.name;
};
gtk.enable = true;
size = 32;
};
}

View file

@ -1,5 +1,5 @@
_: {
catppuccin.fuzzel.enable = true;
{ config, ... }: {
stylix.targets.fuzzel.enable = config.programs.fuzzel.enable;
programs.fuzzel = {
enable = true;
};

View file

@ -1,6 +1,6 @@
_: {
services.mako = {
enable = true;
enable = false;
settings = {
font = "Monaspace Krypton 10";
};

View file

@ -20,6 +20,7 @@ in {
glib
pcmanfm
];
stylix.targets.niri.enable = true;
programs.niri = {
settings = {
cursor = {
@ -45,7 +46,6 @@ in {
#focus-follows-mouse.enable = true;
};
layout = {
background-color = config.palette.base.hex;
gaps = 10;
always-center-single-column = true;
preset-column-widths = [
@ -60,18 +60,13 @@ in {
border = {
enable = true;
width = 2;
active.color = config.palette.surface0.hex;
inactive.color = config.palette.surface0.hex;
urgent.color = config.palette.red.hex;
};
focus-ring = {
enable = false;
width = 2;
active.color = config.palette.${config.catppuccin.accent}.hex;
};
shadow = {
enable = true;
color = config.palette.crust.hex;
};
};
debug = {

View file

@ -0,0 +1,13 @@
_: {
stylix.targets.swaync.enable = true;
services.swaync = {
enable = true;
settings = {
positionX = "right";
positionY = "top";
layer-shell = true;
layer = "overlay";
control-center-layer = "top";
};
};
}

View file

@ -4,57 +4,57 @@ config,
pkgs,
...
}:
let
theme = pkgs.writeTextFile {
name = "swayosd-css";
text = ''
window#osd {
padding: 12px 20px;
border-radius: 999px;
border: solid 2px ${config.palette.${config.catppuccin.accent}.hex};
background: alpha(${config.palette.base.hex}, 0.99);
}
#container {
margin: 16px;
}
image,
label {
color: ${config.palette.text.hex};
}
progressbar:disabled,
image:disabled {
opacity: 0.5;
}
progressbar {
min-height: 6px;
border-radius: 999px;
background: transparent;
border: none;
}
trough {
min-height: inherit;
border-radius: inherit;
border: none;
background: alpha(${config.palette.${config.catppuccin.accent}.hex},0.3);
}
progress {
min-height: inherit;
border-radius: inherit;
border: none;
background: ${config.palette.${config.catppuccin.accent}.hex};
}
'';
};
in
#let
# theme = with config.lib.stylix.colors.withHashtag; pkgs.writeTextFile {
# name = "swayosd-css";
# text = ''
#window#osd {
# padding: 12px 20px;
# border-radius: 999px;
# border: solid 2px ${base0D};
# background: alpha(${base01}, 0.99);
#}
#
##container {
# margin: 16px;
#}
#
#image,
#label {
# color: ${base05};
#}
#
#progressbar:disabled,
#image:disabled {
# opacity: 0.5;
#}
#
#progressbar {
# min-height: 6px;
# border-radius: 999px;
# background: transparent;
# border: none;
#}
#
#trough {
# min-height: inherit;
# border-radius: inherit;
# border: none;
# background: alpha(${base01},0.3);
#}
#
#progress {
# min-height: inherit;
# border-radius: inherit;
# border: none;
# background: ${base01};
#}
# '';
#};
#in
{
services.swayosd = {
enable = true;
stylePath = theme;
#stylePath = theme;
};
}

View file

@ -17,12 +17,12 @@ _: {
.modules-left, .modules-right, .modules-center {
background: alpha(@base, 0.9);
background: alpha(@base00, 0.9);
box-shadow: 0px 0px 2px rgba(0,0,0,0.6);
color: @text;
padding: 5px;
margin: 2px 4px;
border: 1px solid @lavender;
border: 1px solid @base04;
}
tooltip {
@ -50,25 +50,25 @@ _: {
}
#workspaces button.empty {
background: @crust;
color: @subtext1;
background: @base01;
color: @base05;
}
#workspaces button.visible {
background: @pink;
color: @theme_selected_fg_color;
border-bottom: 3px solid @rosewater;
background: @base02;
color: @base04;
border-bottom: 3px solid @base0C;
}
#workspaces button.urgent {
background: @red;
background: @base08;
color: @theme_selected_fg_color;
}
#workspaces button.active, #workspaces button.focused {
background: @theme_selected_bg_color;
color: @theme_selected_fg_color;
border-bottom: 3px solid white;
border-bottom: 3px solid @base0E;
}
#window {
@ -90,20 +90,21 @@ _: {
}
#mpris.playing {
background-color: @lavender;
background-color: @base0E;
}
#mpris.paused {
background-color: @mauve;
background-color: @base09;
}
#mpris.stopped {
background-color: @rosewater;
background-color: @base08;
}
#mode {
background: #64727D;
border-bottom: 3px solid white;
background: @base07;
border-bottom: 3px solid @base0E;
color: @base06;
}
#clock {

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;

View file

@ -1,76 +0,0 @@
{
config,
pkgs,
lib,
std,
...
}: let
inherit (lib.options) mkOption;
inherit (lib.types) attrsOf str enum;
inherit (lib.modules) mkIf;
inherit (std) string set tuple list;
cfg = config.base16;
in {
options.base16 = {
palette = mkOption {
type = attrsOf str;
};
sass = {
variables = mkOption {
type = attrsOf str;
default =
cfg.palette
// {
term_font = "Iosevka";
font = "Iosevka";
font_size = "12px";
};
};
css_style = mkOption {
type = enum ["nested" "compressed" "compact" "expanded"];
default = "expanded";
};
};
};
config = mkIf (cfg.schemes != {}) {
base16 = {
palette = set.fromList (set.mapToValues (
k: v:
tuple.tuple2
k
"#${v.hex}"
)
(set.filter (n: _: string.hasPrefix "base" n)
cfg.defaultScheme));
};
lib.kittywitch.sassTemplate = {
name,
src,
}: let
variables = pkgs.writeText "base-variables.sass" ''
${(string.concatSep "\n" (set.mapToValues (var: con: "\$${var}: ${con}") cfg.sass.variables))}
'';
source =
pkgs.callPackage
({
sass,
stdenv,
}:
stdenv.mkDerivation {
inherit name src variables;
nativeBuildInputs = list.singleton pkgs.sass;
phases = ["buildPhase"];
buildPhase = ''
cat $variables $src > src-mut.sass
sass src-mut.sass $out --sourcemap=none --trace --style=${cfg.sass.css_style}
'';
})
{};
in {
inherit source;
text = builtins.readFile source;
};
_module.args = {inherit (config.lib) kittywitch;};
};
}

View file

@ -1,17 +0,0 @@
# Taken from: https://git.gay/olivia/fur/src/branch/main/modules/home/palette/default.nix
{
config,
pkgs,
lib,
...
}: let
inherit (lib) mkOption types;
palette =
(pkgs.lib.importJSON (config.catppuccin.sources.palette + "/palette.json"))
.${config.catppuccin.flavor}.colors;
in {
options.palette = mkOption {type = types.attrsOf types.raw;};
config = {
inherit palette;
};
}

View file

@ -1,9 +0,0 @@
{config, ...}: {
base16 = {
inherit (config.home-manager.users.kat.base16) defaultSchemeName defaultScheme schemes;
console = {
enable = false;
getty.enable = false;
};
};
}

View file

@ -1,7 +0,0 @@
_: {
catppuccin = {
enable = true;
flavor = "frappe";
grub.enable = false;
};
}

33
nixos/common/stylix.nix Normal file
View file

@ -0,0 +1,33 @@
{ pkgs, ... }: {
stylix = {
enable = true;
targets = {
grub.useWallpaper = false;
};
homeManagerIntegration = {
followSystem = true;
autoImport = false;
};
cursor = {
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Ice";
size = 32;
};
fonts = {
sansSerif = {
name = "Jost";
package = pkgs.jost;
};
serif = {
name = "Libre Baskerville";
package = pkgs.libre-baskerville;
};
monospace = {
name = "Monaspace Krypton";
package = pkgs.monaspace;
};
};
autoEnable = true;
base16Scheme = "${pkgs.base16-schemes}/share/themes/rose-pine.yaml";
};
}

View file

@ -1,11 +1,9 @@
{pkgs, ...}: {
programs.regreet = {
enable = true;
};
stylix.targets.regreet.enable = true;
services.greetd = {
enable = true;
settings = {
default_session = {
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd niri-session";
user = "greeter";
};
};
};
}

View file

@ -9,7 +9,7 @@ in {
timeout = null;
grub = {
useOSProber = true;
splashImage = ./splash.jpg;
#splashImage = ./splash.jpg;
extraConfig = ''
set color_normal=black/black
set menu_color_normal=black/black

View file

@ -13,24 +13,24 @@
protonplus
(lutris.override {
extraPkgs = pkgs: [
pkgs.gamescope
pkgs.libnghttp2
pkgs.winetricks
pkgs.jansson
pkgs.samba
pkgs.gvfs
pkgs.mangohud
pkgs.vkbasalt
pkgs.umu-launcher
pkgs.xdg-desktop-portal
#pkgs.gamescope
#pkgs.libnghttp2
#pkgs.winetricks
#pkgs.jansson
#pkgs.samba
#pkgs.gvfs
#pkgs.mangohud
#pkgs.vkbasalt
#pkgs.umu-launcher
#pkgs.xdg-desktop-portal
];
extraLibraries = pkgs: [
pkgs.libunwind
pkgs.xdg-desktop-portal
pkgs.gvfs
pkgs.jansson
pkgs.samba
pkgs.xz
#pkgs.libunwind
#pkgs.xdg-desktop-portal
#pkgs.gvfs
#pkgs.jansson
#pkgs.samba
#pkgs.xz
];
})

View file

@ -9,6 +9,7 @@
vistafonts
open-dyslexic
ubuntu-sans
jost
];
enableDefaultPackages = true;
fontDir.enable = true;

View file

@ -10,5 +10,5 @@ _: {
systemd.enable = true;
};
};
catppuccin.plymouth.enable = true;
stylix.targets.plymouth.enable = true;
}

View file

@ -1,16 +1,16 @@
{config, ...}: {
home-manager.users.kat.programs.weechat.config.buflist = {
format = with config.base16.defaultScheme.map.ansiStr; {
format = {
indent = " "; # default " "
buffer_current = "\${color:,${base02}}\${format_buffer}";
hotlist = " \${color:${base0D}}(\${hotlist}\${color:${base0D}})";
hotlist_highlight = "\${color:${base0E}}";
hotlist_low = "\${color:${base03}}";
hotlist_message = "\${color:${base08}}";
hotlist_none = "\${color:${base05}}";
hotlist_private = "\${color:${base09}}";
hotlist_separator = "\${color:${base04}},";
number = "\${color:${base09}}\${number}\${if:\${number_displayed}?.: }";
#buffer_current = "\${color:,${base02}}\${format_buffer}";
#hotlist = " \${color:${base0D}}(\${hotlist}\${color:${base0D}})";
#hotlist_highlight = "\${color:${base0E}}";
#hotlist_low = "\${color:${base03}}";
#hotlist_message = "\${color:${base08}}";
#hotlist_none = "\${color:${base05}}";
#hotlist_private = "\${color:${base09}}";
#hotlist_separator = "\${color:${base04}},";
#number = "\${color:${base09}}\${number}\${if:\${number_displayed}?.: }";
};
look.use_items = 4;
};

View file

@ -26,7 +26,8 @@ in {
urlgrab
unread_buffer
];
config.plugins.var = with set.map (_: v: "colour${builtins.toString (list.unsafeHead v)}") inputs.base16.lib.base16.shell.mapping256; {
config.plugins.var = {
#config.plugins.var = with set.map (_: v: "colour${builtins.toString (list.unsafeHead v)}") inputs.base16.lib.base16.shell.mapping256; {
python = {
vimode = {
copy_clipboard_cmd = "wl-copy";
@ -51,16 +52,16 @@ in {
"/" = "i/";
};
user_search_mapping = "?";
mode_indicator_cmd_color_bg = base01;
mode_indicator_cmd_color = base04;
mode_indicator_insert_color_bg = base01;
mode_indicator_insert_color = base04;
mode_indicator_normal_color_bg = base01;
mode_indicator_normal_color = base04;
mode_indicator_replace_color_bg = base01;
mode_indicator_replace_color = base0E;
mode_indicator_search_color_bg = base0E;
mode_indicator_search_color = base04;
#mode_indicator_cmd_color_bg = base01;
#mode_indicator_cmd_color = base04;
#mode_indicator_insert_color_bg = base01;
#mode_indicator_insert_color = base04;
#mode_indicator_normal_color_bg = base01;
#mode_indicator_normal_color = base04;
#mode_indicator_replace_color_bg = base01;
#mode_indicator_replace_color = base0E;
#mode_indicator_search_color_bg = base0E;
#mode_indicator_search_color = base04;
no_warn = true;
};
title = {

View file

@ -3,7 +3,7 @@
services.weechat.enable = true;
programs.weechat = {
enable = true;
config.weechat = with config.base16.defaultScheme.map.ansiStr; {
config.weechat = { #with config.base16.defaultScheme.map.ansiStr; {
look = {
mouse = true;
separator_horizontal = "";
@ -14,37 +14,37 @@
};
# color overrides
color = {
chat_nick_self = base0E;
separator = base06;
chat_read_marker = base0B;
chat_read_marker_bg = base03;
#chat_nick_self = base0E;
#separator = base06;
#chat_read_marker = base0B;
#chat_read_marker_bg = base03;
};
# bars config
bar = {
buflist = {
size_max = 24;
color_delim = base0E;
#color_delim = base0E;
};
input = {
items = "[input_prompt]+(away),[input_search],[input_paste],input_text,[vi_buffer]";
color_delim = base0E;
#color_delim = base0E;
conditions = "\${window.buffer.full_name} != perl.highmon";
};
nicklist = {
size_max = 18;
color_delim = base0E;
#color_delim = base0E;
};
status = {
color_bg = base02;
color_fg = base06;
color_delim = base0E;
#color_bg = base02;
#color_fg = base06;
#color_delim = base0E;
items = "[time],mode_indicator,[buffer_last_number],[buffer_plugin],buffer_number+:+buffer_name+(buffer_modes)+{buffer_nicklist_count}+matrix_typing_notice+buffer_zoom+buffer_filter,scroll,[lag],[hotlist],completion,cmd_completion";
conditions = "\${window.buffer.full_name} != perl.highmon";
};
title = {
color_bg = base02;
color_fg = base06;
color_delim = base0E;
#color_bg = base02;
#color_fg = base06;
#color_delim = base0E;
conditions = "\${window.buffer.full_name} != perl.highmon";
};
};

View file

@ -77,22 +77,21 @@
home-manager.nixosModules.home-manager
minecraft.nixosModules.minecraft-servers
sops-nix.nixosModules.sops
base16.nixosModules.base16
infrastructure.nixosModules.default
lanzaboote.nixosModules.lanzaboote
solaar.nixosModules.default
catppuccin.nixosModules.catppuccin
chaotic.nixosModules.default
nixpkgs-xr.nixosModules.nixpkgs-xr
spicetify-nix.nixosModules.spicetify
inputs.nix-gaming.nixosModules.ntsync
inputs.nix-gaming.nixosModules.pipewireLowLatency
inputs.nix-gaming.nixosModules.platformOptimizations
inputs.clipboard-sync.nixosModules.default
inputs.niri.nixosModules.niri
inputs.lix-module.nixosModules.default
inputs.nixos-cli.nixosModules.nixos-cli
inputs.nix-flatpak.nixosModules.nix-flatpak
nix-gaming.nixosModules.ntsync
nix-gaming.nixosModules.pipewireLowLatency
nix-gaming.nixosModules.platformOptimizations
clipboard-sync.nixosModules.default
niri.nixosModules.niri
lix-module.nixosModules.default
nixos-cli.nixosModules.nixos-cli
nix-flatpak.nixosModules.nix-flatpak
stylix.nixosModules.stylix
];
};
};
@ -110,14 +109,13 @@
external = with inputs;
[
nix-index-database.homeModules.nix-index
base16.homeModules.base16
catppuccin.homeModules.catppuccin
inputs.sops-nix.homeManagerModules.sops
sops-nix.homeManagerModules.sops
chaotic.homeManagerModules.default
spicetify-nix.homeManagerModules.spicetify
inputs.moonlight.homeModules.default
inputs.nix-flatpak.homeManagerModules.nix-flatpak
inputs.zen-browser.homeModules.default
moonlight.homeModules.default
nix-flatpak.homeManagerModules.nix-flatpak
zen-browser.homeModules.default
stylix.homeModules.stylix
]
++ (with (import (inputs.arcexprs + "/modules")).home-manager; [
i3gopher