switch to base16 project-wide

This commit is contained in:
Sean Kovacs 2026-01-21 14:04:21 -05:00
commit fb18ff7455
Signed by: sckova
GPG key ID: 00F325187C68651A
28 changed files with 847 additions and 810 deletions

159
flake.lock generated
View file

@ -21,6 +21,40 @@
"type": "github"
}
},
"base16": {
"inputs": {
"fromYaml": "fromYaml"
},
"locked": {
"lastModified": 1755819240,
"narHash": "sha256-qcMhnL7aGAuFuutH4rq9fvAhCpJWVHLcHVZLtPctPlo=",
"owner": "SenchoPens",
"repo": "base16.nix",
"rev": "75ed5e5e3fce37df22e49125181fa37899c3ccd6",
"type": "github"
},
"original": {
"owner": "SenchoPens",
"repo": "base16.nix",
"type": "github"
}
},
"base16-discord": {
"flake": false,
"locked": {
"lastModified": 1768273180,
"narHash": "sha256-uw7lz53YHxvPEyXZiS+NJFhKMb6AMUvVpCLH81NjM7U=",
"owner": "imbypass",
"repo": "base16-discord",
"rev": "d4df17db31276d94cc1a8988f34e813aae1f3fb4",
"type": "github"
},
"original": {
"owner": "imbypass",
"repo": "base16-discord",
"type": "github"
}
},
"cachyos-kernel": {
"flake": false,
"locked": {
@ -53,89 +87,6 @@
"type": "github"
}
},
"catppuccin": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1768575137,
"narHash": "sha256-e0SsKnkSnq+UwZNS9ZyPJjTjabzq9TRc1hqeDnvOF1Q=",
"owner": "catppuccin",
"repo": "nix",
"rev": "48e67b4ad22072f1ae30b0ed8e1cb020cf06c611",
"type": "github"
},
"original": {
"owner": "catppuccin",
"repo": "nix",
"type": "github"
}
},
"catppuccin-btop": {
"flake": false,
"locked": {
"lastModified": 1727050041,
"narHash": "sha256-mEGZwScVPWGu+Vbtddc/sJ+mNdD2kKienGZVUcTSl+c=",
"owner": "catppuccin",
"repo": "btop",
"rev": "f437574b600f1c6d932627050b15ff5153b58fa3",
"type": "github"
},
"original": {
"owner": "catppuccin",
"repo": "btop",
"type": "github"
}
},
"catppuccin-discord": {
"flake": false,
"locked": {
"lastModified": 1768037813,
"narHash": "sha256-ExRNnxvG2PSGmpuaPxzCKL6GK6ETs7Gq4Roa74HXp+s=",
"owner": "catppuccin",
"repo": "discord",
"rev": "0fcfe2e15ed91f8c5f1f3c6855f3b2024f78d86c",
"type": "github"
},
"original": {
"owner": "catppuccin",
"repo": "discord",
"type": "github"
}
},
"catppuccin-mpv": {
"flake": false,
"locked": {
"lastModified": 1754544320,
"narHash": "sha256-oUheJNWk2R6gNEmkK8H6PWX0iofx2KMGDoFWtnr420A=",
"owner": "catppuccin",
"repo": "mpv",
"rev": "08e90daf511eee2c10c98f0031b51bb9de240d60",
"type": "github"
},
"original": {
"owner": "catppuccin",
"repo": "mpv",
"type": "github"
}
},
"catppuccin-palette": {
"locked": {
"lastModified": 1760672867,
"narHash": "sha256-hbBM+5fS39YrDXdQKBLP33D0cu54FQ5hk/7XESTTRXY=",
"owner": "abhinandh-s",
"repo": "catppuccin-nix",
"rev": "b482f6e3ee1ae61c83e52f50653e54bf72900b13",
"type": "github"
},
"original": {
"owner": "abhinandh-s",
"repo": "catppuccin-nix",
"type": "github"
}
},
"flake-compat": {
"locked": {
"lastModified": 1761640442,
@ -245,6 +196,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"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
@ -583,11 +550,8 @@
"root": {
"inputs": {
"apple-silicon": "apple-silicon",
"catppuccin": "catppuccin",
"catppuccin-btop": "catppuccin-btop",
"catppuccin-discord": "catppuccin-discord",
"catppuccin-mpv": "catppuccin-mpv",
"catppuccin-palette": "catppuccin-palette",
"base16": "base16",
"base16-discord": "base16-discord",
"home-manager": "home-manager",
"niri": "niri",
"nix-cachyos-kernel": "nix-cachyos-kernel",
@ -598,7 +562,8 @@
"nur": "nur",
"openmw": "openmw",
"plasma-manager": "plasma-manager",
"spicetify-nix": "spicetify-nix"
"spicetify-nix": "spicetify-nix",
"tt-schemes": "tt-schemes"
}
},
"spicetify-nix": {
@ -667,6 +632,22 @@
"type": "github"
}
},
"tt-schemes": {
"flake": false,
"locked": {
"lastModified": 1768516483,
"narHash": "sha256-AWTIYZ1tZab0YwAQwgt5yO4ucqZoc4iXX002Byy7pRY=",
"owner": "tinted-theming",
"repo": "schemes",
"rev": "43dd14f6466a782bd57419fdfb5f398c74d6ac53",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "schemes",
"type": "github"
}
},
"xwayland-satellite-stable": {
"flake": false,
"locked": {

View file

@ -7,13 +7,18 @@
nix-cachyos-kernel.url = "github:xddxdd/nix-cachyos-kernel";
catppuccin = {
url = "github:catppuccin/nix";
inputs.nixpkgs.follows = "nixpkgs";
base16 = {
url = "github:SenchoPens/base16.nix";
};
catppuccin-palette = {
url = "github:abhinandh-s/catppuccin-nix";
tt-schemes = {
url = "github:tinted-theming/schemes";
flake = false;
};
base16-discord = {
url = "github:imbypass/base16-discord";
flake = false;
};
home-manager = {
@ -61,21 +66,6 @@
url = "gitlab:OpenMW/openmw";
flake = false;
};
catppuccin-discord = {
url = "github:catppuccin/discord";
flake = false;
};
catppuccin-btop = {
url = "github:catppuccin/btop";
flake = false;
};
catppuccin-mpv = {
url = "github:catppuccin/mpv";
flake = false;
};
};
outputs =
@ -83,8 +73,9 @@
nixpkgs,
nixpkgs-unstable,
nix-cachyos-kernel,
catppuccin,
catppuccin-palette,
base16,
tt-schemes,
base16-discord,
home-manager,
plasma-manager,
niri,
@ -94,9 +85,6 @@
nixvim,
apple-silicon,
openmw,
catppuccin-discord,
catppuccin-btop,
catppuccin-mpv,
...
}:
let
@ -123,7 +111,7 @@
nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = {
inherit catppuccin system;
inherit system;
pkgs-unstable = import nixpkgs-unstable {
inherit system;
config = pkgConfig;
@ -135,15 +123,12 @@
nixpkgs = {
config = pkgConfig;
overlays = [
catppuccin-palette.overlays.default
niri.overlays.niri
noctalia.overlays.default
nur.overlays.default
(final: prev: {
openmw-git = openmw;
catppuccin-discord-git = catppuccin-discord;
catppuccin-btop-git = catppuccin-btop;
catppuccin-mpv-git = catppuccin-mpv;
base16-discord-git = base16-discord;
})
(import ./packages/overlay.nix)
];
@ -207,7 +192,6 @@
./system/tailscale
./system/hosts/${hostname}
./hardware/${hostname}
catppuccin.nixosModules.catppuccin
niri.nixosModules.niri
home-manager.nixosModules.home-manager
noctalia.nixosModules.default
@ -218,6 +202,7 @@
users.sckova = {
imports = [
./home
./options.nix
./home/apps
./home/games
./home/hosts/${hostname}
@ -228,7 +213,13 @@
];
};
sharedModules = [
catppuccin.homeModules.catppuccin
base16.nixosModule
(
{ config, ... }:
{
scheme = "${tt-schemes}/base24/${config.colors.scheme}.yaml";
}
)
plasma-manager.homeModules.plasma-manager
noctalia.homeModules.default
spicetify-nix.homeManagerModules.default
@ -267,7 +258,6 @@
modules = [
./home
./home/hosts/${hostname}.nix
catppuccin.homeModules.catppuccin
home-manager.homeModules.home-manager
plasma-manager.homeModules.plasma-manager
niri.homeModules.default

View file

@ -3,6 +3,6 @@
./discord.nix
./librewolf.nix
./mpv.nix
./vscode.nix
# ./vscode.nix
];
}

View file

@ -4,19 +4,17 @@
...
}:
let
catppuccin-discord = "${pkgs.catppuccin-discord}/share/catppuccin-discord/catppuccin-${config.catppuccin.flavor}-${config.catppuccin.accent}.theme.css";
mergedThemes = pkgs.runCommand "mergedConfig" { } ''
mkdir -p $out
cp ${catppuccin-discord} $out/catppuccin.css
cp ${pkgs.base16-discord-git}/base16.css $out/theme.css
'';
vesktopSettings = {
discordBranch = "stable";
minimizeToTray = true;
arRPC = true;
splashColor = "${pkgs.catppuccin.rgb.${config.catppuccin.flavor}.text}";
splashBackground = "${pkgs.catppuccin.rgb.${config.catppuccin.flavor}.base}";
splashColor = config.scheme.withHashtag.base05;
splashBackground = config.scheme.withHashtag.base00;
spellCheckLanguages = [
"en-US"
"en"
@ -47,12 +45,31 @@ in
force = true;
};
home.file.".config/vesktop/settings/quickCss.css" = {
home.file.".config/vesktop/settings/quickCss.css" = with config.scheme.withHashtag; {
text = ''
* {
font-family: "${config.userOptions.fontSans.name}" !important;
font-size: ${toString config.userOptions.fontSans.size}px;
}
:root {
--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};
}
'';
force = true;
};

View file

@ -12,45 +12,40 @@
recursive = true;
};
home.file.".librewolf/default/chrome/colors.css" =
let
color = pkgs.catppuccin.rgb.${config.catppuccin.flavor};
accent = color.${config.catppuccin.accent};
in
{
text = ''
* {
--accent: ${accent};
--rosewater: ${color.rosewater};
--flamingo: ${color.flamingo};
--pink: ${color.pink};
--mauve: ${color.mauve};
--red: ${color.red};
--maroon: ${color.maroon};
--peach: ${color.peach};
--yellow: ${color.yellow};
--green: ${color.green};
--teal: ${color.teal};
--sky: ${color.sky};
--sapphire: ${color.sapphire};
--blue: ${color.blue};
--lavender: ${color.lavender};
--text: ${color.text};
--subtext1: ${color.subtext1};
--subtext0: ${color.subtext0};
--overlay2: ${color.overlay2};
--overlay1: ${color.overlay1};
--overlay0: ${color.overlay0};
--surface2: ${color.surface2};
--surface1: ${color.surface1};
--surface0: ${color.surface0};
--base: ${color.base};
--mantle: ${color.mantle};
--crust: ${color.crust};
}
'';
force = true;
};
home.file.".librewolf/default/chrome/colors.css" = with config.scheme.withHashtag; {
text = ''
* {
--accent: ${base09};
--rosewater: ${base06};
--flamingo: ${base0F};
--pink: ${base17};
--mauve: ${base0E};
--red: ${base08};
--maroon: ${base12};
--peach: ${base09};
--yellow: ${base0A};
--green: ${base0B};
--teal: ${base0C};
--sky: ${base15};
--sapphire: ${base16};
--blue: ${base0D};
--lavender: ${base07};
--text: ${base05};
--subtext1: ${base04};
--subtext0: ${base04};
--overlay2: ${base03};
--overlay1: ${base03};
--overlay0: ${base03};
--surface2: ${base02};
--surface1: ${base01};
--surface0: ${base01};
--base: ${base00};
--mantle: ${base10};
--crust: ${base11};
}
'';
force = true;
};
home.file.".local/share/firefoxpwa/profiles/01KEYXH9TC4B54J5CTPNE75JP0/prefs.js" = {
text = ''

View file

@ -3,14 +3,6 @@
pkgs,
...
}:
let
mergedConfig = pkgs.runCommand "mergedConfig" { } ''
mkdir -p $out
${pkgs.gnused}/bin/sed 's/${pkgs.catppuccin.${config.catppuccin.flavor}.base}/#000000/g' \
${pkgs.catppuccin-mpv-git}/themes/${config.catppuccin.flavor}/${config.catppuccin.accent}.conf \
> $out/mpv.conf
'';
in
{
home.packages = with pkgs; [
(mpv.override {
@ -21,9 +13,31 @@ in
];
})
];
home.file.".config/mpv" = {
source = mergedConfig;
recursive = true;
home.file.".config/mpv/mpv.conf" = {
text = with config.scheme; ''
# Credit to https://github.com/catppuccin/mpv
# Main mpv options
background-color='#000000'
osd-back-color='${config.scheme.withHashtag.base11}'
osd-border-color='${config.scheme.withHashtag.base11}'
osd-color='${config.scheme.withHashtag.base05}'
osd-shadow-color='${config.scheme.withHashtag.base00}'
# Stats script options
# Options are on separate lines for clarity
# Colors are in #BBGGRR format
script-opts-append=stats-border_color=${base08}
script-opts-append=stats-font_color=${base06}
script-opts-append=stats-plot_bg_border_color=${base16}
script-opts-append=stats-plot_bg_color=${base08}
script-opts-append=stats-plot_color=${base16}
# External script options
# It is fine to leave these here even if one does not use these scripts because they are just ignored unless a script uses them
# UOSC options
script-opts-append=uosc-color=foreground=${base09},foreground_text=${base01},background=${base00},background_text=${base05},curtain=${base10},success=${base0B},error=${base08}
'';
force = true;
};
}

View file

@ -4,7 +4,7 @@
useQuickCss = true;
themeLinks = [ ];
eagerPatches = false;
enabledThemes = [ "catppuccin.css" ];
enabledThemes = [ "theme.css" ];
enableReactDevtools = false;
frameless = false;
transparent = true;

View file

@ -2,210 +2,68 @@
config,
pkgs,
pkgs-unstable,
lib,
...
}:
{
options = {
catppuccinUpper = {
accent = lib.mkOption {
type = lib.types.str;
readOnly = true;
default =
builtins.substring 0 1 (lib.toUpper config.catppuccin.accent)
+ builtins.substring 1 (-1) config.catppuccin.accent;
};
flavor = lib.mkOption {
type = lib.types.str;
readOnly = true;
default =
builtins.substring 0 1 (lib.toUpper config.catppuccin.flavor)
+ builtins.substring 1 (-1) config.catppuccin.flavor;
};
};
userOptions = {
name = lib.mkOption {
type = lib.types.str;
readOnly = true;
default = "Sean Kovacs";
};
username = lib.mkOption {
type = lib.types.str;
readOnly = true;
default = "sckova";
};
hostname = lib.mkOption {
type = lib.types.str;
readOnly = true;
default = config.system.name;
};
fontSans = {
name = lib.mkOption {
type = lib.types.str;
readOnly = true;
default = "Noto Sans";
};
size = lib.mkOption {
type = lib.types.int;
readOnly = true;
default = 11;
};
package = lib.mkOption {
type = lib.types.package;
readOnly = true;
default = pkgs.noto-fonts;
};
};
fontSerif = {
name = lib.mkOption {
type = lib.types.str;
readOnly = true;
default = "Noto Serif";
};
size = lib.mkOption {
type = lib.types.int;
readOnly = true;
default = 11;
};
package = lib.mkOption {
type = lib.types.package;
readOnly = true;
default = pkgs.noto-fonts;
};
};
fontMono = {
name = lib.mkOption {
type = lib.types.str;
readOnly = true;
default = "NotoSansM Nerd Font Mono";
};
size = lib.mkOption {
type = lib.types.int;
readOnly = true;
default = 10;
};
package = lib.mkOption {
type = lib.types.package;
readOnly = true;
default = pkgs.nerd-fonts.noto;
};
};
fontEmoji = {
name = lib.mkOption {
type = lib.types.str;
readOnly = true;
default = "Noto Emoji";
};
size = lib.mkOption {
type = lib.types.int;
readOnly = true;
default = 10;
};
package = lib.mkOption {
type = lib.types.package;
readOnly = true;
default = pkgs.noto-fonts-color-emoji;
};
};
cursor =
let
attrName = config.catppuccin.flavor + config.catppuccinUpper.accent;
in
{
name = lib.mkOption {
type = lib.types.str;
readOnly = true;
default = "catppuccin-${config.catppuccin.flavor}-${config.catppuccin.accent}-cursors";
};
package = lib.mkOption {
type = lib.types.package;
readOnly = true;
default = pkgs.catppuccin-cursors.${attrName};
};
size = lib.mkOption {
type = lib.types.int;
readOnly = true;
default = 24;
};
path = lib.mkOption {
type = lib.types.str;
readOnly = true;
default = "${pkgs.catppuccin-cursors.${attrName}}/share/icons";
};
};
isDark = lib.mkOption {
type = lib.types.bool;
readOnly = true;
default = config.catppuccin.flavor != "latte";
};
};
};
config = {
home.packages =
(with pkgs; [
# cli utilities
tmux
fastfetch
btop
wget
ripgrep
ncdu
fzf
wl-clipboard
rclone
waypipe
spotdl
browsh
mosh
gh
home.packages = with pkgs; [
# cli utilities
tmux
fastfetch
btop
wget
ripgrep
ncdu
fzf
wl-clipboard
rclone
waypipe
spotdl
browsh
mosh
gh
# development & tooling
jdk21_headless
quickemu
nerd-fonts.noto
noto-fonts
noto-fonts-color-emoji
nix-prefetch
prowlarr
radarr
sonarr
flaresolverr
# development & tooling
jdk21_headless
quickemu
nerd-fonts.noto
noto-fonts
noto-fonts-color-emoji
nix-prefetch
prowlarr
radarr
sonarr
flaresolverr
# kde and kde theming
kde-rounded-corners
kdePackages.partitionmanager
# kde and kde theming
kde-rounded-corners
kdePackages.partitionmanager
pkgs.catppuccin-cursors.mochaPeach
# gui applications
input-leap
libreoffice-qt-fresh
# nur.repos.forkprince.helium-nightly
qbittorrent
nautilus
fractal
tuba
# gui applications
input-leap
libreoffice-qt-fresh
# nur.repos.forkprince.helium-nightly
qbittorrent
nautilus
fractal
tuba
# gui applications ( multimedia )
audacity
strawberry
musescore
gimp
calibre
riff
dissent
# gui applications ( multimedia )
audacity
strawberry
musescore
gimp
calibre
riff
dissent
# overrides
# (chromium.override {
# enableWideVine = true;
# })
(catppuccin-kde.override {
flavour = [ config.catppuccin.flavor ];
accents = [ config.catppuccin.accent ];
})
])
++ [
pkgs.catppuccin-cursors."${config.catppuccin.flavor}${config.catppuccinUpper.accent}"
];
# overrides
# (chromium.override {
# enableWideVine = true;
# })
];
services = {
spotifyd = {
@ -226,26 +84,20 @@
};
};
catppuccin = {
enable = false;
cursors.enable = false;
cache.enable = true;
};
# programs.plasma = {
# workspace = {
# colorScheme = "Catppuccin${config.catppuccinUpper.flavor}${config.catppuccinUpper.accent}";
# cursor.theme = "catppuccin-${config.catppuccin.flavor}-${config.catppuccin.accent}-cursors";
# splashScreen.theme = "Catpppuccin-${config.catppuccinUpper.flavor}-${config.catppuccinUpper.accent}";
# };
programs.plasma = {
workspace = {
colorScheme = "Catppuccin${config.catppuccinUpper.flavor}${config.catppuccinUpper.accent}";
cursor.theme = "catppuccin-${config.catppuccin.flavor}-${config.catppuccin.accent}-cursors";
splashScreen.theme = "Catpppuccin-${config.catppuccinUpper.flavor}-${config.catppuccinUpper.accent}";
};
configFile = {
kdeglobals.KDE = {
DefaultDarkLookAndFeel = "Catpppuccin-${config.catppuccinUpper.flavor}-${config.catppuccinUpper.accent}";
DefaultLightLookAndFeel = "Catpppuccin-Latte-${config.catppuccinUpper.accent}";
};
};
};
# configFile = {
# kdeglobals.KDE = {
# DefaultDarkLookAndFeel = "Catpppuccin-${config.catppuccinUpper.flavor}-${config.catppuccinUpper.accent}";
# DefaultLightLookAndFeel = "Catpppuccin-Latte-${config.catppuccinUpper.accent}";
# };
# };
# };
# This value determines the Home Manager release that your
# configuration is compatible with. This helps avoid breakage

View file

@ -6,9 +6,9 @@
...
}:
{
catppuccin = {
accent = "blue";
flavor = "mocha";
colors = {
scheme = "catppuccin-mocha";
accent = "base0D";
};
home.packages = [
@ -41,7 +41,7 @@
];
theme = spicePkgs.themes.catppuccin;
colorScheme = config.catppuccin.flavor;
colorScheme = "mocha";
};
programs.plasma = {

View file

@ -1,8 +1,8 @@
{ pkgs, ... }:
{ pkgs, config, ... }:
{
catppuccin = {
accent = "peach";
flavor = "mocha";
colors = {
scheme = "catppuccin-mocha";
accent = "base09";
};
home.packages = with pkgs; [

View file

@ -4,9 +4,9 @@
...
}:
{
catppuccin = {
accent = "green";
flavor = "mocha";
colors = {
scheme = "catppuccin-mocha";
accent = "base0B";
};
home.packages = with pkgs; [ ];

View file

@ -36,7 +36,7 @@
gtk = {
enable = true;
colorScheme = if config.userOptions.isDark then "dark" else "light";
# colorScheme = if config.userOptions.isDark then "dark" else "light";
# theme = {
# package = pkgs.kdePackages.breeze-gtk;
@ -46,8 +46,14 @@
# else "Breeze";
# };
# iconTheme = {
# name = if config.userOptions.isDark then "Colloid-Dark" else "Colloid-Light";
# package = pkgs.colloid-icon-theme;
# };
colorScheme = "dark";
iconTheme = {
name = if config.userOptions.isDark then "Colloid-Dark" else "Colloid-Light";
name = "Colloid-Dark";
package = pkgs.colloid-icon-theme;
};

View file

@ -1,106 +1,98 @@
{
config,
pkgs,
lib,
...
}:
let
colors = pkgs.catppuccin.hex.${config.catppuccin.flavor};
mkColorSection = name: value: "@define-color ${name} ${value};";
generateCSS = ''
/* Catppuccin ${lib.toUpper (builtins.substring 0 1 config.catppuccin.flavor)}${
builtins.substring 1 (-1) config.catppuccin.flavor
} ${lib.toUpper (builtins.substring 0 1 config.catppuccin.accent)}${
builtins.substring 1 (-1) config.catppuccin.accent
} Palette */
generateCSS = with config.scheme.withHashtag; ''
/* Kova's Nixified GTK */
/* Base colors */
${mkColorSection "window_bg_color" colors.base}
${mkColorSection "window_fg_color" colors.text}
${mkColorSection "window_bg_color" base00}
${mkColorSection "window_fg_color" base05}
/* View styling */
${mkColorSection "view_bg_color" colors.base}
${mkColorSection "view_fg_color" colors.text}
${mkColorSection "view_bg_color" base00}
${mkColorSection "view_fg_color" base05}
/* Header bar */
${mkColorSection "headerbar_bg_color" colors.mantle}
${mkColorSection "headerbar_backdrop_color" colors.mantle}
${mkColorSection "headerbar_fg_color" colors.text}
${mkColorSection "headerbar_bg_color" base10}
${mkColorSection "headerbar_backdrop_color" base10}
${mkColorSection "headerbar_fg_color" base05}
/* Popovers and dialogs */
${mkColorSection "popover_bg_color" colors.base}
${mkColorSection "popover_fg_color" colors.text}
${mkColorSection "popover_bg_color" base00}
${mkColorSection "popover_fg_color" base05}
@define-color dialog_bg_color @popover_bg_color;
@define-color dialog_fg_color @popover_fg_color;
/* Cards and sidebars */
${mkColorSection "card_bg_color" colors.mantle}
${mkColorSection "card_fg_color" colors.text}
${mkColorSection "sidebar_bg_color" colors.mantle}
${mkColorSection "sidebar_fg_color" colors.text}
${mkColorSection "card_bg_color" base10}
${mkColorSection "card_fg_color" base05}
${mkColorSection "sidebar_bg_color" base10}
${mkColorSection "sidebar_fg_color" base05}
@define-color sidebar_backdrop_color @sidebar_bg_color;
${mkColorSection "sidebar_border_color" colors.surface0}
${mkColorSection "sidebar_border_color" base01}
@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_border_color @sidebar_border_color;
/* Catppuccin accent colors */
${mkColorSection "blue_1" colors.blue}
${mkColorSection "blue_2" colors.sapphire}
${mkColorSection "blue_3" colors.sky}
${mkColorSection "blue_4" colors.teal}
${mkColorSection "blue_5" colors.lavender}
${mkColorSection "blue_1" base0D}
${mkColorSection "blue_2" base16}
${mkColorSection "blue_3" base15}
${mkColorSection "blue_4" base0C}
${mkColorSection "blue_5" base07}
${mkColorSection "green_1" colors.green}
${mkColorSection "green_2" colors.teal}
${mkColorSection "green_3" colors.sky}
${mkColorSection "green_4" colors.sapphire}
${mkColorSection "green_5" colors.blue}
${mkColorSection "green_1" base0B}
${mkColorSection "green_2" base0C}
${mkColorSection "green_3" base15}
${mkColorSection "green_4" base16}
${mkColorSection "green_5" base0D}
${mkColorSection "yellow_1" colors.yellow}
${mkColorSection "yellow_2" colors.peach}
${mkColorSection "yellow_3" colors.yellow}
${mkColorSection "yellow_4" colors.red}
${mkColorSection "yellow_5" colors.maroon}
${mkColorSection "yellow_1" base0A}
${mkColorSection "yellow_2" base09}
${mkColorSection "yellow_3" base0A}
${mkColorSection "yellow_4" base08}
${mkColorSection "yellow_5" base12}
${mkColorSection "orange_1" colors.peach}
${mkColorSection "orange_2" colors.red}
${mkColorSection "orange_3" colors.maroon}
${mkColorSection "orange_4" colors.yellow}
${mkColorSection "orange_5" colors.green}
${mkColorSection "orange_1" base09}
${mkColorSection "orange_2" base08}
${mkColorSection "orange_3" base12}
${mkColorSection "orange_4" base0A}
${mkColorSection "orange_5" base0B}
${mkColorSection "red_1" colors.red}
${mkColorSection "red_2" colors.maroon}
${mkColorSection "red_3" colors.pink}
${mkColorSection "red_4" colors.flamingo}
${mkColorSection "red_5" colors.rosewater}
${mkColorSection "red_1" base08}
${mkColorSection "red_2" base12}
${mkColorSection "red_3" base17}
${mkColorSection "red_4" base0F}
${mkColorSection "red_5" base13}
${mkColorSection "purple_1" colors.mauve}
${mkColorSection "purple_2" colors.lavender}
${mkColorSection "purple_3" colors.pink}
${mkColorSection "purple_4" colors.flamingo}
${mkColorSection "purple_5" colors.rosewater}
${mkColorSection "purple_1" base0E}
${mkColorSection "purple_2" base07}
${mkColorSection "purple_3" base17}
${mkColorSection "purple_4" base0F}
${mkColorSection "purple_5" base13}
${mkColorSection "brown_1" colors.surface2}
${mkColorSection "brown_2" colors.overlay0}
${mkColorSection "brown_3" colors.overlay1}
${mkColorSection "brown_4" colors.overlay2}
${mkColorSection "brown_5" colors.subtext1}
${mkColorSection "brown_1" base02}
${mkColorSection "brown_2" base03}
${mkColorSection "brown_3" base03}
${mkColorSection "brown_4" base03}
${mkColorSection "brown_5" base04}
${mkColorSection "light_1" colors.text}
${mkColorSection "light_2" colors.subtext0}
${mkColorSection "light_3" colors.subtext1}
${mkColorSection "light_4" colors.blue}
${mkColorSection "light_5" colors.overlay0}
${mkColorSection "light_1" base05}
${mkColorSection "light_2" base04}
${mkColorSection "light_3" base04}
${mkColorSection "light_4" base0D}
${mkColorSection "light_5" base03}
${mkColorSection "dark_1" colors.surface0}
${mkColorSection "dark_2" colors.surface1}
${mkColorSection "dark_3" colors.surface2}
${mkColorSection "dark_4" colors.mantle}
${mkColorSection "dark_5" colors.crust}
${mkColorSection "dark_1" base01}
${mkColorSection "dark_2" base02}
${mkColorSection "dark_3" base02}
${mkColorSection "dark_4" base10}
${mkColorSection "dark_5" base11}
/* Custom rules */
toast {
@ -118,7 +110,7 @@ let
}
/* Accent */
${mkColorSection "accent_bg_color" colors.${config.catppuccin.accent}}
${mkColorSection "accent_bg_color" base09}
@define-color accent_fg_color @window_bg_color;
'';
in

View file

@ -34,82 +34,82 @@
};
ColorScheme =
with config.scheme;
let
c = pkgs.catppuccin.bare.${config.catppuccin.flavor};
accent = c.${config.catppuccin.accent};
accent = base09;
mkColors = roles: builtins.concatStringsSep ", " (map (r: "#ff${r}") roles);
in
{
active_colors = mkColors [
c.text
c.surface0
c.surface1
c.surface0
c.base
c.mantle
c.text
c.text
c.text
c.base
c.mantle
c.crust
base05
base01
base02
base01
base00
base10
base05
base05
base05
base00
base10
base11
accent
c.base
base00
accent
c.mauve
c.mantle
base0E
base10
"000000"
c.base
c.text
c.overlay0
base00
base05
base03
accent
];
disabled_colors = mkColors [
c.overlay0
c.surface0
c.surface1
c.surface0
c.overlay0
c.mantle
c.overlay0
c.text
c.overlay0
c.surface0
c.surface0
c.mantle
c.overlay1
c.text
base03
base01
base02
base01
base03
base10
base03
base05
base03
base01
base01
base10
base03
base05
"0000ff"
"ff00ff"
c.surface0
base01
"000000"
c.surface0
c.base
base01
base00
"80000000"
c.overlay1
base03
];
inactive_colors = mkColors [
c.text
c.surface0
c.surface1
c.surface0
c.base
c.mantle
c.text
c.text
c.text
c.base
c.mantle
c.crust
base05
base01
base02
base01
base00
base10
base05
base05
base05
base00
base10
base11
accent
c.base
base00
accent
c.mauve
c.mantle
base0E
base10
"000000"
c.base
c.text
c.overlay0
base00
base05
base03
accent
];
};

View file

@ -4,12 +4,102 @@
...
}:
let
btop-colors = with config.scheme.withHashtag; ''
# Credit to https://github.com/catppuccin/btop
# Main background, empty for terminal default, need to be empty if you want transparent background
theme[main_bg]="${base00}"
# Main text color
theme[main_fg]="${base05}"
# Title color for boxes
theme[title]="${base05}"
# Highlight color for keyboard shortcuts
theme[hi_fg]="${base0D}"
# Background color of selected item in processes box
theme[selected_bg]="${base02}"
# Foreground color of selected item in processes box
theme[selected_fg]="${base0D}"
# Color of inactive/disabled text
theme[inactive_fg]="${base03}"
# Color of text appearing on top of graphs, i.e uptime and current network graph scaling
theme[graph_text]="${base06}"
# Background color of the percentage meters
theme[meter_bg]="${base02}"
# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
theme[proc_misc]="${base06}"
# CPU, Memory, Network, Proc box outline colors
theme[cpu_box]="${base0E}" #Mauve
theme[mem_box]="${base0B}" #Green
theme[net_box]="${base12}" #Maroon
theme[proc_box]="${base0D}" #Blue
# Box divider line and small boxes line color
theme[div_line]="${base03}"
# Temperature graph color (Green -> Yellow -> Red)
theme[temp_start]="${base0B}"
theme[temp_mid]="${base0A}"
theme[temp_end]="${base08}"
# CPU graph colors (Teal -> Lavender)
theme[cpu_start]="${base0C}"
theme[cpu_mid]="${base16}"
theme[cpu_end]="${base07}"
# Mem/Disk free meter (Mauve -> Lavender -> Blue)
theme[free_start]="${base0E}"
theme[free_mid]="${base07}"
theme[free_end]="${base0D}"
# Mem/Disk cached meter (Sapphire -> Lavender)
theme[cached_start]="${base16}"
theme[cached_mid]="${base0D}"
theme[cached_end]="${base07}"
# Mem/Disk available meter (Peach -> Red)
theme[available_start]="${base09}"
theme[available_mid]="${base12}"
theme[available_end]="${base08}"
# Mem/Disk used meter (Green -> Sky)
theme[used_start]="${base0B}"
theme[used_mid]="${base0C}"
theme[used_end]="${base15}"
# Download graph colors (Peach -> Red)
theme[download_start]="${base09}"
theme[download_mid]="${base12}"
theme[download_end]="${base08}"
# Upload graph colors (Green -> Sky)
theme[upload_start]="${base0B}"
theme[upload_mid]="${base0C}"
theme[upload_end]="${base15}"
# Process box color gradient for threads, mem and cpu usage (Sapphire -> Mauve)
theme[process_start]="${base16}"
theme[process_mid]="${base07}"
theme[process_end]="${base0E}"
'';
btop-colors-file = pkgs.writeTextFile {
name = "btop-colors";
text = btop-colors;
destination = "/nixos.theme";
};
mergedConfig = pkgs.runCommand "mergedConfig" { } ''
mkdir -p $out/themes
${pkgs.gnused}/bin/sed 's/blankFlavor/${config.catppuccin.flavor}/g' \
${./btop.conf} > $out/btop.conf
cp ${pkgs.catppuccin-btop-git}/themes/catppuccin_latte.theme $out/themes/
cp ${pkgs.catppuccin-btop-git}/themes/catppuccin_${config.catppuccin.flavor}.theme $out/themes/nixos.theme
cp -r ${btop-colors-file}/nixos.theme $out/themes/nixos.theme
'';
in
{

View file

@ -43,18 +43,4 @@
};
};
programs.man.generateCaches = false;
home.file.".config/fish/colors.fish" = {
text =
let
flavor = config.catppuccin.flavor;
palette = pkgs.catppuccin.bare.${flavor};
accent = config.catppuccin.accent;
in
lib.concatStringsSep "\n" (
(lib.mapAttrsToList (name: value: "set -g color_${name} ${value}") palette)
++ [ "set -g color_accent ${palette.${accent}}" ]
);
force = true;
};
}

View file

@ -1,24 +1,24 @@
source ~/.config/fish/colors.fish
# source ~/.config/fish/colors.fish
set -l last_status $status
set -l nix_shell_info (
if test -n "$IN_NIX_SHELL"
echo -n "<nix-shell> "
end
)
set -g color_user $color_sky
set -g color_host $color_red
set -g color_cwd $color_green
set -g color_user cyan
set -g color_host red
set -g color_cwd green
# Set host color based on hostname
if test (hostname) = peach
set -g color_host $color_accent
set -g color_host yellow
else if test (hostname) = alien
set -g color_host $color_accent
set -g color_host yellow
else if test (hostname) = vm
set -g color_host $color_accent
set -g color_host yellow
set -g color_cwd normal
else if test (uname) = Darwin
set -g color_host $color_yellow
set -g color_host yellow
end
set -l user_host (set_color $color_user)"$USER"(set_color normal)"@"(set_color $color_host)(prompt_hostname)(set_color normal)

View file

@ -4,11 +4,8 @@
...
}:
let
colors = pkgs.catppuccin.hex.${config.catppuccin.flavor};
accent = colors.${config.catppuccin.accent};
# Map Catppuccin colors to Kitty theme structure
kitty-colors = ''
kitty-colors = with config.scheme.withHashtag; ''
# vim:ft=kitty
## name: Kova's Nixified Kitty
## author: Catppuccin Org & sckova
@ -17,70 +14,70 @@ let
## blurb: The theme generated from the NixOS configuration!
# The basic colors
foreground ${colors.text}
background ${colors.base}
selection_foreground ${colors.base}
selection_background ${colors.rosewater}
foreground ${base05}
background ${base00}
selection_foreground ${base00}
selection_background ${base06}
# Cursor colors
cursor ${colors.rosewater}
cursor_text_color ${colors.base}
cursor ${base06}
cursor_text_color ${base00}
# URL underline color when hovering with mouse
url_color ${colors.rosewater}
url_color ${base06}
# Kitty window border colors
active_border_color ${accent}
inactive_border_color ${colors.overlay0}
bell_border_color ${colors.yellow}
active_border_color ${base09}
inactive_border_color ${base03}
bell_border_color ${base0A}
# Tab bar colors
active_tab_foreground ${colors.crust}
active_tab_background ${accent}
inactive_tab_foreground ${colors.text}
inactive_tab_background ${colors.mantle}
tab_bar_background ${colors.crust}
active_tab_foreground ${base11}
active_tab_background ${base09}
inactive_tab_foreground ${base05}
inactive_tab_background ${base10}
tab_bar_background ${base11}
# Colors for marks (marked text in the terminal)
mark1_foreground ${colors.base}
mark1_background ${accent}
mark2_foreground ${colors.base}
mark2_background ${colors.blue}
mark3_foreground ${colors.base}
mark3_background ${colors.sky}
mark1_foreground ${base00}
mark1_background ${base09}
mark2_foreground ${base00}
mark2_background ${base0D}
mark3_foreground ${base00}
mark3_background ${base15}
# The 16 terminal colors
# black
color0 ${colors.surface1}
color8 ${colors.surface2}
color0 ${base02}
color8 ${base02}
# red
color1 ${colors.red}
color9 ${colors.red}
color1 ${base08}
color9 ${base08}
# green
color2 ${colors.green}
color10 ${colors.green}
color2 ${base0B}
color10 ${base0B}
# yellow
color3 ${colors.yellow}
color11 ${colors.yellow}
color3 ${base0A}
color11 ${base0A}
# blue
color4 ${colors.blue}
color12 ${colors.blue}
color4 ${base0D}
color12 ${base0D}
# magenta
color5 ${colors.pink}
color13 ${colors.pink}
color5 ${base17}
color13 ${base17}
# cyan
color6 ${colors.teal}
color14 ${colors.teal}
color6 ${base0C}
color14 ${base0C}
# white
color7 ${colors.subtext1}
color15 ${colors.subtext0}
color7 ${base04}
color15 ${base04}
'';
kitty-colors-file = pkgs.writeTextFile {
@ -132,7 +129,7 @@ in
};
bat = {
enable = true;
config.theme = "Catppuccin ${config.catppuccinUpper.flavor}";
# config.theme = "Catppuccin ${config.catppuccinUpper.flavor}";
};
};
}

View file

@ -36,12 +36,49 @@
expandtab = true;
number = true;
};
colorschemes.catppuccin = {
colorschemes.palette = {
enable = true;
settings = {
flavour = config.catppuccin.flavor;
palettes = {
main = "base16_custom";
accent = "base16_custom";
state = "base16_custom";
};
custom_palettes = with config.scheme.withHashtag; {
main.base16_custom = {
color0 = base00; # background
color1 = base01; # lighter background
color2 = base02; # selection background
color3 = base03; # comments
color4 = base04; # dark foreground
color5 = base05; # default foreground
color6 = base06; # light foreground
color7 = base07; # lightest foreground
color8 = base05; # variables/tags
};
accent.base16_custom = {
accent0 = base09; # integers/constants
accent1 = base0A; # classes/search
accent2 = base0B; # strings/inherited
accent3 = base0C; # support/regex
accent4 = base0D; # functions/headings
accent5 = base0E; # keywords/bold
accent6 = base0F; # deprecated/embedded
};
state.base16_custom = {
error = base08; # red
warning = base0A; # yellow
hint = base0C; # cyan
ok = base0B; # green
info = base0D; # blue
};
};
};
};
keymaps = [
# --- Normal mode mappings ---
{
@ -186,110 +223,106 @@
nixd.enable = true;
};
};
lualine =
let
palette = pkgs.catppuccin.${config.catppuccin.flavor};
in
{
enable = true;
settings = {
options = {
theme = {
normal = {
a = {
fg = palette.base;
bg = palette.mauve;
};
b = {
fg = palette.text;
bg = palette.surface0;
};
c = {
fg = palette.text;
};
lualine = with config.scheme.withHashtag; {
enable = true;
settings = {
options = {
theme = {
normal = {
a = {
fg = base00;
bg = base0E;
};
insert = {
a = {
fg = palette.base;
bg = palette.blue;
};
b = {
fg = base05;
bg = base01;
};
visual = {
a = {
fg = palette.base;
bg = palette.teal;
};
};
replace = {
a = {
fg = palette.base;
bg = palette.red;
};
};
inactive = {
a = {
fg = palette.text;
bg = palette.base;
};
b = {
fg = palette.text;
bg = palette.base;
};
c = {
fg = palette.text;
};
c = {
fg = base05;
};
};
component_separators = "";
section_separators = {
left = "";
right = "";
insert = {
a = {
fg = base00;
bg = base0D;
};
};
visual = {
a = {
fg = base00;
bg = base0C;
};
};
replace = {
a = {
fg = base00;
bg = base08;
};
};
inactive = {
a = {
fg = base05;
bg = base00;
};
b = {
fg = base05;
bg = base00;
};
c = {
fg = base05;
};
};
};
sections = {
lualine_a = [
{
__unkeyed-1 = "mode";
separator = {
left = " ";
};
right_padding = 2;
}
];
lualine_b = [
"filename"
"branch"
];
lualine_c = [ "%=" ];
lualine_x = [ ];
lualine_y = [
"filetype"
"progress"
];
lualine_z = [
{
__unkeyed-1 = "location";
separator = {
right = " ";
};
left_padding = 2;
}
];
component_separators = "";
section_separators = {
left = "";
right = "";
};
inactive_sections = {
lualine_a = [ "filename" ];
lualine_b = [ ];
lualine_c = [ ];
lualine_x = [ ];
lualine_y = [ ];
lualine_z = [ "location" ];
};
tabline = { };
extensions = [ ];
};
sections = {
lualine_a = [
{
__unkeyed-1 = "mode";
separator = {
left = " ";
};
right_padding = 2;
}
];
lualine_b = [
"filename"
"branch"
];
lualine_c = [ "%=" ];
lualine_x = [ ];
lualine_y = [
"filetype"
"progress"
];
lualine_z = [
{
__unkeyed-1 = "location";
separator = {
right = " ";
};
left_padding = 2;
}
];
};
inactive_sections = {
lualine_a = [ "filename" ];
lualine_b = [ ];
lualine_c = [ ];
lualine_x = [ ];
lualine_y = [ ];
lualine_z = [ "location" ];
};
tabline = { };
extensions = [ ];
};
};
};
};
}

View file

@ -5,7 +5,7 @@
}:
{
# https://github.com/sodiboo/niri-flake/blob/main/docs.md
programs.niri = {
programs.niri = with config.scheme.withHashtag; {
# handle package systemwide
package = null;
@ -16,7 +16,7 @@
gestures.hot-corners.enable = false;
spawn-at-startup = [ ]; # systemd is based sorry
overview = {
backdrop-color = pkgs.catppuccin.${config.catppuccin.flavor}.crust;
backdrop-color = base11;
workspace-shadow.enable = false;
};
input = {
@ -90,7 +90,7 @@
};
layout = {
gaps = 4;
# background-color = pkgs.catppuccin.${config.catppuccin.flavor}.mantle;
# background-color = base10;
background-color = "transparent";
default-column-width = {
proportion = 0.5;
@ -103,16 +103,16 @@
border = {
enable = true;
width = 2;
active.color = pkgs.catppuccin.${config.catppuccin.flavor}.${config.catppuccin.accent};
inactive.color = pkgs.catppuccin.${config.catppuccin.flavor}.surface0;
urgent.color = pkgs.catppuccin.${config.catppuccin.flavor}.maroon;
active.color = base09;
inactive.color = base01;
urgent.color = base12;
};
focus-ring = {
enable = false;
width = 2;
active.color = pkgs.catppuccin.${config.catppuccin.flavor}.${config.catppuccin.accent};
inactive.color = pkgs.catppuccin.${config.catppuccin.flavor}.surface0;
urgent.color = pkgs.catppuccin.${config.catppuccin.flavor}.maroon;
active.color = base09;
inactive.color = base01;
urgent.color = base12;
};
shadow = {
enable = true;
@ -120,7 +120,7 @@
offset.x = 0;
offset.y = 5;
softness = 30;
color = pkgs.catppuccin.${config.catppuccin.flavor}.base + "77";
color = base00 + "77";
};
};
window-rules = [

View file

@ -6,23 +6,39 @@
{
programs.noctalia-shell = {
enable = true;
colors = {
mPrimary = pkgs.catppuccin.${config.catppuccin.flavor}.${config.catppuccin.accent};
mOnPrimary = pkgs.catppuccin.${config.catppuccin.flavor}.crust;
mSecondary = pkgs.catppuccin.${config.catppuccin.flavor}.subtext0;
mOnSecondary = pkgs.catppuccin.${config.catppuccin.flavor}.crust;
mTertiary = pkgs.catppuccin.${config.catppuccin.flavor}.teal;
mOnTertiary = pkgs.catppuccin.${config.catppuccin.flavor}.crust;
mError = pkgs.catppuccin.${config.catppuccin.flavor}.red;
mOnError = pkgs.catppuccin.${config.catppuccin.flavor}.crust;
mSurface = pkgs.catppuccin.${config.catppuccin.flavor}.mantle;
mOnSurface = pkgs.catppuccin.${config.catppuccin.flavor}.text;
mSurfaceVariant = pkgs.catppuccin.${config.catppuccin.flavor}.surface0;
mOnSurfaceVariant = pkgs.catppuccin.${config.catppuccin.flavor}.lavender;
mOutline = pkgs.catppuccin.${config.catppuccin.flavor}.surface2;
mShadow = pkgs.catppuccin.${config.catppuccin.flavor}.crust;
mHover = pkgs.catppuccin.${config.catppuccin.flavor}.subtext1;
mOnHover = pkgs.catppuccin.${config.catppuccin.flavor}.crust;
colors = with config.scheme.withHashtag; {
# mPrimary = base09;
# mOnPrimary = base11;
# mSecondary = base04;
# mOnSecondary = base09;
# mTertiary = base0C;
# mOnTertiary = base11;
# mError = base08;
# mOnError = base11;
# mSurface = base10;
# mOnSurface = base05;
# mSurfaceVariant = base04;
# mOnSurfaceVariant = base07;
# mOutline = base02;
# mShadow = base11;
# mHover = base04;
# mOnHover = base11;
mPrimary = base09;
mOnPrimary = base00;
mSecondary = base13;
mOnSecondary = base00;
mTertiary = base04;
mOnTertiary = base00;
mError = base12;
mOnError = base00;
mSurface = base00;
mOnSurface = base06;
mSurfaceVariant = base01;
mOnSurfaceVariant = base05;
mOutline = base02;
mShadow = base00;
mHover = base04;
mOnHover = base00;
};
settings = {
settingsVersion = 0;
@ -203,7 +219,7 @@
enableMultiMonitorDirectories = false;
recursiveSearch = false;
setWallpaperOnAllMonitors = true;
fillColor = "${pkgs.catppuccin.${config.catppuccin.flavor}.base}";
fillColor = config.scheme.withHashtag.base00;
fillMode = "crop";
hideWallpaperFilenames = true;
panelPosition = "follow_bar";

152
options.nix Normal file
View file

@ -0,0 +1,152 @@
{
lib,
config,
pkgs,
...
}:
{
options = {
colors = {
scheme = lib.mkOption {
type = lib.types.str;
default = "catppuccin-mocha";
};
accent = lib.mkOption {
type = lib.types.str;
default = "base09";
};
};
# catppuccinUpper = {
# accent = lib.mkOption {
# type = lib.types.str;
# readOnly = true;
# default =
# builtins.substring 0 1 (lib.toUpper config.catppuccin.accent)
# + builtins.substring 1 (-1) config.catppuccin.accent;
# };
# flavor = lib.mkOption {
# type = lib.types.str;
# readOnly = true;
# default =
# builtins.substring 0 1 (lib.toUpper config.catppuccin.flavor)
# + builtins.substring 1 (-1) config.catppuccin.flavor;
# };
# };
userOptions = {
name = lib.mkOption {
type = lib.types.str;
readOnly = true;
default = "Sean Kovacs";
};
username = lib.mkOption {
type = lib.types.str;
readOnly = true;
default = "sckova";
};
hostname = lib.mkOption {
type = lib.types.str;
readOnly = true;
default = config.system.name;
};
fontSans = {
name = lib.mkOption {
type = lib.types.str;
readOnly = true;
default = "Noto Sans";
};
size = lib.mkOption {
type = lib.types.int;
readOnly = true;
default = 11;
};
package = lib.mkOption {
type = lib.types.package;
readOnly = true;
default = pkgs.noto-fonts;
};
};
fontSerif = {
name = lib.mkOption {
type = lib.types.str;
readOnly = true;
default = "Noto Serif";
};
size = lib.mkOption {
type = lib.types.int;
readOnly = true;
default = 11;
};
package = lib.mkOption {
type = lib.types.package;
readOnly = true;
default = pkgs.noto-fonts;
};
};
fontMono = {
name = lib.mkOption {
type = lib.types.str;
readOnly = true;
default = "NotoSansM Nerd Font Mono";
};
size = lib.mkOption {
type = lib.types.int;
readOnly = true;
default = 10;
};
package = lib.mkOption {
type = lib.types.package;
readOnly = true;
default = pkgs.nerd-fonts.noto;
};
};
fontEmoji = {
name = lib.mkOption {
type = lib.types.str;
readOnly = true;
default = "Noto Emoji";
};
size = lib.mkOption {
type = lib.types.int;
readOnly = true;
default = 10;
};
package = lib.mkOption {
type = lib.types.package;
readOnly = true;
default = pkgs.noto-fonts-color-emoji;
};
};
cursor =
let
attrName = "mocha" + "Peach";
in
{
name = lib.mkOption {
type = lib.types.str;
readOnly = true;
default = "catppuccin-mocha-peach-cursors";
};
package = lib.mkOption {
type = lib.types.package;
readOnly = true;
default = pkgs.catppuccin-cursors.${attrName};
};
size = lib.mkOption {
type = lib.types.int;
readOnly = true;
default = 24;
};
path = lib.mkOption {
type = lib.types.str;
readOnly = true;
default = "${pkgs.catppuccin-cursors.${attrName}}/share/icons";
};
};
# isDark = lib.mkOption {
# type = lib.types.bool;
# readOnly = true;
# default = config.catppuccin.flavor != "latte";
# };
};
};
}

View file

@ -1,56 +0,0 @@
{
lib,
stdenv,
fetchYarnDeps,
yarn,
nodejs,
fixup-yarn-lock,
nodePackages,
catppuccin-discord-git,
}:
stdenv.mkDerivation rec {
pname = "catppuccin-discord";
version = "unstable-${catppuccin-discord-git.rev}";
src = catppuccin-discord-git;
yarnOfflineCache = fetchYarnDeps {
yarnLock = "${src}/yarn.lock";
hash = "sha256-BhE3aKyA/LBErjWx+lbEVb/CIXhqHkXbV+9U2djIBhs=";
};
nativeBuildInputs = [
yarn
nodejs
fixup-yarn-lock
nodePackages.sass
];
postPatch = ''
substituteInPlace package.json \
--replace-fail "--no-charset --no-source-map" ""
'';
configurePhase = ''
export HOME=$TMPDIR
yarn config --offline set yarn-offline-mirror ${yarnOfflineCache}
fixup-yarn-lock yarn.lock
yarn install --offline --frozen-lockfile --ignore-scripts --ignore-platform
'';
buildPhase = ''
yarn --offline release
'';
installPhase = ''
mkdir -p $out/share/catppuccin-discord
cp -r dist/dist/* $out/share/catppuccin-discord/
'';
meta = {
description = "Soothing pastel theme for Discord";
homepage = "https://github.com/catppuccin/discord";
license = lib.licenses.mit;
platforms = lib.platforms.all;
};
}

View file

@ -1,10 +1,6 @@
final: prev: {
spotify-webapp = final.callPackage ./spotify-webapp { };
catppuccin-discord = final.callPackage ./catppuccin-discord {
inherit (final) catppuccin-discord-git;
};
openmw = prev.openmw.overrideAttrs (oldAttrs: {
pname = "openmw";
src = final.openmw-git;

View file

@ -42,11 +42,6 @@
initrd.verbose = false;
};
catppuccin = {
enable = true;
cache.enable = true;
};
networking.networkmanager.enable = true;
hardware.bluetooth.enable = true;
@ -81,11 +76,7 @@
services = {
displayManager = {
sddm = {
enable = true;
wayland.enable = true;
enableHidpi = true;
};
cosmic-greeter.enable = true;
defaultSession = "niri";
};

View file

@ -22,11 +22,6 @@
'';
hardware.i2c.enable = true;
catppuccin = {
accent = "blue";
flavor = "mocha";
};
boot.loader.systemd-boot.consoleMode = "max";
boot.kernelPackages = pkgs.linuxPackages;

View file

@ -6,11 +6,6 @@
{
boot.kernelParams = [ "appledrm.show_notch=1" ];
catppuccin = {
accent = "peach";
flavor = "mocha";
};
environment.systemPackages = with pkgs; [
ddcutil
];

View file

@ -1,10 +1,5 @@
{ catppuccin, ... }:
{
catppuccin = {
accent = "green";
flavor = "mocha";
};
home-manager.users.sckova = {
imports = [ catppuccin.homeModules.catppuccin ];
};