fully remove flavor and accent-specific catppuccin configs
This commit is contained in:
parent
679b37b1ea
commit
362df45987
15 changed files with 276 additions and 364 deletions
237
home/all.nix
237
home/all.nix
|
|
@ -1,97 +1,156 @@
|
||||||
{ config, pkgs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
options = {
|
||||||
# cli utilities
|
catppuccinUpper = {
|
||||||
tmux
|
accent = lib.mkOption {
|
||||||
fastfetch
|
type = lib.types.str;
|
||||||
btop
|
readOnly = true;
|
||||||
killall
|
default =
|
||||||
wget
|
builtins.substring 0 1 (lib.toUpper config.catppuccin.accent)
|
||||||
ripgrep
|
+ builtins.substring 1 (-1) config.catppuccin.accent;
|
||||||
ncdu
|
};
|
||||||
fzf
|
flavor = lib.mkOption {
|
||||||
wl-clipboard
|
type = lib.types.str;
|
||||||
rclone
|
readOnly = true;
|
||||||
waypipe
|
default =
|
||||||
spotdl
|
builtins.substring 0 1 (lib.toUpper config.catppuccin.flavor)
|
||||||
browsh
|
+ builtins.substring 1 (-1) config.catppuccin.flavor;
|
||||||
mosh
|
|
||||||
|
|
||||||
# development & tooling
|
|
||||||
gh
|
|
||||||
deno
|
|
||||||
prettier
|
|
||||||
prettierd
|
|
||||||
nixfmt-rfc-style
|
|
||||||
jdk21_headless
|
|
||||||
|
|
||||||
# kde and kde theming
|
|
||||||
kde-rounded-corners
|
|
||||||
kdePackages.partitionmanager
|
|
||||||
colloid-icon-theme
|
|
||||||
|
|
||||||
# gui applications
|
|
||||||
vesktop
|
|
||||||
input-leap
|
|
||||||
libreoffice-qt-fresh
|
|
||||||
# helium-browser
|
|
||||||
bitwarden-desktop
|
|
||||||
qbittorrent
|
|
||||||
|
|
||||||
# gui applications ( games )
|
|
||||||
openmw
|
|
||||||
prismlauncher
|
|
||||||
|
|
||||||
# gui applications ( multimedia )
|
|
||||||
audacity
|
|
||||||
strawberry
|
|
||||||
musescore
|
|
||||||
mpv
|
|
||||||
gimp
|
|
||||||
calibre
|
|
||||||
spotify-player
|
|
||||||
|
|
||||||
# browsers
|
|
||||||
# (chromium.override {
|
|
||||||
# enableWideVine = true;
|
|
||||||
# })
|
|
||||||
];
|
|
||||||
|
|
||||||
services = {
|
|
||||||
spotifyd = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
global = {
|
|
||||||
device_type = "computer";
|
|
||||||
dbus_type = "session";
|
|
||||||
disable_discovery = true;
|
|
||||||
use_mpris = true;
|
|
||||||
bitrate = 320;
|
|
||||||
initial_volume = 100;
|
|
||||||
volume_normalisation = true;
|
|
||||||
normalisation_pregain = -10;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
catppuccin = {
|
config = {
|
||||||
enable = false;
|
home.packages =
|
||||||
cursors.enable = false;
|
(with pkgs; [
|
||||||
cache.enable = true;
|
# cli utilities
|
||||||
|
tmux
|
||||||
|
fastfetch
|
||||||
|
btop
|
||||||
|
killall
|
||||||
|
wget
|
||||||
|
ripgrep
|
||||||
|
ncdu
|
||||||
|
fzf
|
||||||
|
wl-clipboard
|
||||||
|
rclone
|
||||||
|
waypipe
|
||||||
|
spotdl
|
||||||
|
browsh
|
||||||
|
mosh
|
||||||
|
|
||||||
|
# development & tooling
|
||||||
|
gh
|
||||||
|
deno
|
||||||
|
prettier
|
||||||
|
prettierd
|
||||||
|
nixfmt-rfc-style
|
||||||
|
jdk21_headless
|
||||||
|
|
||||||
|
# kde and kde theming
|
||||||
|
kde-rounded-corners
|
||||||
|
kdePackages.partitionmanager
|
||||||
|
colloid-icon-theme
|
||||||
|
|
||||||
|
# gui applications
|
||||||
|
vesktop
|
||||||
|
input-leap
|
||||||
|
libreoffice-qt-fresh
|
||||||
|
# helium-browser
|
||||||
|
bitwarden-desktop
|
||||||
|
qbittorrent
|
||||||
|
|
||||||
|
# gui applications ( games )
|
||||||
|
openmw
|
||||||
|
prismlauncher
|
||||||
|
|
||||||
|
# gui applications ( multimedia )
|
||||||
|
audacity
|
||||||
|
strawberry
|
||||||
|
musescore
|
||||||
|
mpv
|
||||||
|
gimp
|
||||||
|
calibre
|
||||||
|
spotify-player
|
||||||
|
|
||||||
|
# overrides
|
||||||
|
# (chromium.override {
|
||||||
|
# enableWideVine = true;
|
||||||
|
# })
|
||||||
|
(catppuccin-kde.override {
|
||||||
|
flavour = [
|
||||||
|
"latte"
|
||||||
|
config.catppuccin.flavor
|
||||||
|
];
|
||||||
|
accents = [
|
||||||
|
config.catppuccin.accent
|
||||||
|
];
|
||||||
|
})
|
||||||
|
])
|
||||||
|
++ [
|
||||||
|
pkgs.catppuccin-cursors.latteDark
|
||||||
|
pkgs.catppuccin-cursors.latteLight
|
||||||
|
pkgs.catppuccin-cursors."latte${config.catppuccinUpper.accent}"
|
||||||
|
pkgs.catppuccin-cursors."${config.catppuccin.flavor}Dark"
|
||||||
|
pkgs.catppuccin-cursors."${config.catppuccin.flavor}Light"
|
||||||
|
pkgs.catppuccin-cursors."${config.catppuccin.flavor}${config.catppuccinUpper.accent}"
|
||||||
|
];
|
||||||
|
|
||||||
|
services = {
|
||||||
|
spotifyd = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
global = {
|
||||||
|
device_type = "computer";
|
||||||
|
dbus_type = "session";
|
||||||
|
disable_discovery = true;
|
||||||
|
use_mpris = true;
|
||||||
|
bitrate = 320;
|
||||||
|
initial_volume = 100;
|
||||||
|
volume_normalisation = true;
|
||||||
|
normalisation_pregain = -10;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
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}";
|
||||||
|
};
|
||||||
|
|
||||||
|
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
|
||||||
|
# when a new Home Manager release introduces backwards
|
||||||
|
# incompatible changes.
|
||||||
|
#
|
||||||
|
# You can update Home Manager without changing this value. See
|
||||||
|
# the Home Manager release notes for a list of state version
|
||||||
|
# changes in each release.
|
||||||
|
home.stateVersion = "25.05";
|
||||||
|
|
||||||
|
# Let Home Manager install and manage itself.
|
||||||
|
programs.home-manager.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
# This value determines the Home Manager release that your
|
|
||||||
# configuration is compatible with. This helps avoid breakage
|
|
||||||
# when a new Home Manager release introduces backwards
|
|
||||||
# incompatible changes.
|
|
||||||
#
|
|
||||||
# You can update Home Manager without changing this value. See
|
|
||||||
# the Home Manager release notes for a list of state version
|
|
||||||
# changes in each release.
|
|
||||||
home.stateVersion = "25.05";
|
|
||||||
|
|
||||||
# Let Home Manager install and manage itself.
|
|
||||||
programs.home-manager.enable = true;
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,23 +8,6 @@
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
|
||||||
# catppuccin-cursors.latteDark
|
|
||||||
# catppuccin-cursors.latteLight
|
|
||||||
# catppuccin-cursors.latteBlue
|
|
||||||
# catppuccin-cursors.mochaDark
|
|
||||||
# catppuccin-cursors.mochaLight
|
|
||||||
catppuccin-cursors.mochaBlue
|
|
||||||
|
|
||||||
(catppuccin-kde.override {
|
|
||||||
flavour = [
|
|
||||||
"latte"
|
|
||||||
"mocha"
|
|
||||||
];
|
|
||||||
accents = [
|
|
||||||
"blue"
|
|
||||||
];
|
|
||||||
})
|
|
||||||
|
|
||||||
# steam gtk theming
|
# steam gtk theming
|
||||||
adwsteamgtk
|
adwsteamgtk
|
||||||
|
|
||||||
|
|
@ -33,25 +16,7 @@
|
||||||
_2ship2harkinian
|
_2ship2harkinian
|
||||||
];
|
];
|
||||||
|
|
||||||
gtk.cursorTheme = {
|
|
||||||
name = "catppuccin-mocha-blue-cursors";
|
|
||||||
package = pkgs.catppuccin-cursors.mochaBlue;
|
|
||||||
size = 24;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.plasma = {
|
programs.plasma = {
|
||||||
workspace = {
|
|
||||||
colorScheme = "CatppuccinMochaBlue";
|
|
||||||
cursor.theme = "catppuccin-mocha-blue-cursors";
|
|
||||||
splashScreen.theme = "Catpppuccin-Mocha-Blue";
|
|
||||||
};
|
|
||||||
|
|
||||||
configFile = {
|
|
||||||
kdeglobals.KDE = {
|
|
||||||
DefaultDarkLookAndFeel = "Catppuccin-Mocha-Blue";
|
|
||||||
DefaultLightLookAndFeel = "Catppuccin-Latte-Blue";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
panels = [
|
panels = [
|
||||||
# Alternative global menu to fit the modified taskbar
|
# Alternative global menu to fit the modified taskbar
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
{
|
{
|
||||||
catppuccin = {
|
catppuccin = {
|
||||||
accent = "peach";
|
accent = "peach";
|
||||||
flavor = "mocha";
|
flavor = "macchiato";
|
||||||
};
|
};
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
|
@ -13,34 +13,10 @@
|
||||||
asahi-btsync
|
asahi-btsync
|
||||||
asahi-wifisync
|
asahi-wifisync
|
||||||
|
|
||||||
# catppuccin-cursors.latteDark
|
|
||||||
# catppuccin-cursors.latteLight
|
|
||||||
# catppuccin-cursors.lattePeach
|
|
||||||
# catppuccin-cursors.mochaDark
|
|
||||||
# catppuccin-cursors.mochaLight
|
|
||||||
catppuccin-cursors.mochaPeach
|
|
||||||
|
|
||||||
(catppuccin-kde.override {
|
|
||||||
flavour = [
|
|
||||||
"latte"
|
|
||||||
"mocha"
|
|
||||||
];
|
|
||||||
accents = [
|
|
||||||
"peach"
|
|
||||||
];
|
|
||||||
})
|
|
||||||
|
|
||||||
moonlight-qt
|
moonlight-qt
|
||||||
];
|
];
|
||||||
|
|
||||||
gtk.cursorTheme = {
|
|
||||||
name = "catppuccin-mocha-peach-cursors";
|
|
||||||
package = pkgs.catppuccin-cursors.mochaPeach;
|
|
||||||
size = 24;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.plasma = {
|
programs.plasma = {
|
||||||
|
|
||||||
input.touchpads = [
|
input.touchpads = [
|
||||||
{
|
{
|
||||||
name = "Apple MTP multi-touch";
|
name = "Apple MTP multi-touch";
|
||||||
|
|
@ -54,32 +30,8 @@
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
workspace = {
|
|
||||||
colorScheme = "CatppuccinMochaPeach";
|
|
||||||
cursor.theme = "catppuccin-mocha-peach-cursors";
|
|
||||||
splashScreen.theme = "Catpppuccin-Mocha-Peach";
|
|
||||||
};
|
|
||||||
|
|
||||||
configFile = {
|
|
||||||
kdeglobals.KDE = {
|
|
||||||
DefaultDarkLookAndFeel = "Catppuccin-Mocha-Peach";
|
|
||||||
DefaultLightLookAndFeel = "Catppuccin-Latte-Peach";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
shortcuts = {
|
shortcuts = {
|
||||||
# # my volume down key broke as hell boy
|
# this is really annoying on asahi laptops
|
||||||
# kmix.decrease_volume = [
|
|
||||||
# "Volume Mute"
|
|
||||||
# "Volume Down"
|
|
||||||
# ];
|
|
||||||
# kmix.decrease_volume_small = [
|
|
||||||
# "Shift+Volume Mute"
|
|
||||||
# "Shift+Volume Down"
|
|
||||||
# ];
|
|
||||||
# kmix.increase_volume = "Volume Up";
|
|
||||||
# kmix.increase_volume_small = "Shift+Volume Up";
|
|
||||||
# kmix.mute = "Sleep";
|
|
||||||
org_kde_powerdevil.Sleep = [ ];
|
org_kde_powerdevil.Sleep = [ ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,77 +6,9 @@
|
||||||
flavor = "mocha";
|
flavor = "mocha";
|
||||||
};
|
};
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [ ];
|
||||||
|
|
||||||
# catppuccin-cursors.latteDark
|
|
||||||
# catppuccin-cursors.latteLight
|
|
||||||
# catppuccin-cursors.latteGreen
|
|
||||||
# catppuccin-cursors.mochaDark
|
|
||||||
# catppuccin-cursors.mochaLight
|
|
||||||
catppuccin-cursors.mochaGreen
|
|
||||||
|
|
||||||
(catppuccin-kde.override {
|
|
||||||
flavour = [
|
|
||||||
"latte"
|
|
||||||
"mocha"
|
|
||||||
];
|
|
||||||
accents = [
|
|
||||||
"green"
|
|
||||||
];
|
|
||||||
})
|
|
||||||
|
|
||||||
];
|
|
||||||
|
|
||||||
gtk.cursorTheme = {
|
|
||||||
name = "catppuccin-mocha-green-cursors";
|
|
||||||
package = pkgs.catppuccin-cursors.mochaGreen;
|
|
||||||
size = 24;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.plasma = {
|
programs.plasma = {
|
||||||
|
|
||||||
input.touchpads = [
|
|
||||||
{
|
|
||||||
name = "Apple MTP multi-touch";
|
|
||||||
vendorId = "05ac";
|
|
||||||
productId = "0352";
|
|
||||||
disableWhileTyping = false;
|
|
||||||
enable = true;
|
|
||||||
tapToClick = false;
|
|
||||||
naturalScroll = true;
|
|
||||||
accelerationProfile = "default";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
workspace = {
|
|
||||||
colorScheme = "CatppuccinMochaGreen";
|
|
||||||
cursor.theme = "catppuccin-mocha-green-cursors";
|
|
||||||
splashScreen.theme = "Catpppuccin-Mocha-Green";
|
|
||||||
};
|
|
||||||
|
|
||||||
configFile = {
|
|
||||||
kdeglobals.KDE = {
|
|
||||||
DefaultDarkLookAndFeel = "Catppuccin-Mocha-Green";
|
|
||||||
DefaultLightLookAndFeel = "Catppuccin-Latte-Green";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
shortcuts = {
|
|
||||||
# # my volume down key broke as hell boy
|
|
||||||
# kmix.decrease_volume = [
|
|
||||||
# "Volume Mute"
|
|
||||||
# "Volume Down"
|
|
||||||
# ];
|
|
||||||
# kmix.decrease_volume_small = [
|
|
||||||
# "Shift+Volume Mute"
|
|
||||||
# "Shift+Volume Down"
|
|
||||||
# ];
|
|
||||||
# kmix.increase_volume = "Volume Up";
|
|
||||||
# kmix.increase_volume_small = "Shift+Volume Up";
|
|
||||||
# kmix.mute = "Sleep";
|
|
||||||
org_kde_powerdevil.Sleep = [ ];
|
|
||||||
};
|
|
||||||
|
|
||||||
panels = [
|
panels = [
|
||||||
# Application name, Global menu and Song information and playback controls at the top
|
# Application name, Global menu and Song information and playback controls at the top
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
|
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
|
||||||
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
|
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
|
||||||
color_theme = "catppuccin_mocha.theme"
|
color_theme = "catppuccin_blankFlavor.theme"
|
||||||
|
|
||||||
#* If the theme set background should be shown, set to False if you want terminal background transparency.
|
#* If the theme set background should be shown, set to False if you want terminal background transparency.
|
||||||
theme_background = True
|
theme_background = True
|
||||||
|
|
|
||||||
|
|
@ -10,11 +10,10 @@ let
|
||||||
|
|
||||||
mergedConfig = pkgs.runCommand "mergedConfig" { } ''
|
mergedConfig = pkgs.runCommand "mergedConfig" { } ''
|
||||||
mkdir -p $out/themes
|
mkdir -p $out/themes
|
||||||
cp ${./btop.conf} $out/btop.conf
|
${pkgs.gnused}/bin/sed 's/blankFlavor/${config.catppuccin.flavor}/g' \
|
||||||
cp ${catppuccin-btop}/themes/catppuccin_latte.theme $out/themes/
|
${./btop.conf} > $out/btop.conf
|
||||||
cp ${catppuccin-btop}/themes/catppuccin_frappe.theme $out/themes/
|
cp ${catppuccin-btop}/themes/catppuccin_latte.theme $out/themes/
|
||||||
cp ${catppuccin-btop}/themes/catppuccin_macchiato.theme $out/themes/
|
cp ${catppuccin-btop}/themes/catppuccin_${config.catppuccin.flavor}.theme $out/themes/
|
||||||
cp ${catppuccin-btop}/themes/catppuccin_mocha.theme $out/themes/
|
|
||||||
'';
|
'';
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,10 @@
|
||||||
|
{ config, lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
programs.kitty = {
|
programs.kitty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableGitIntegration = true;
|
enableGitIntegration = true;
|
||||||
themeFile = "Catppuccin-Mocha";
|
themeFile = "Catppuccin-${config.catppuccinUpper.flavor}";
|
||||||
font = {
|
font = {
|
||||||
name = "NotoSansM Nerd Font Mono";
|
name = "NotoSansM Nerd Font Mono";
|
||||||
size = 10;
|
size = 10;
|
||||||
|
|
@ -10,7 +12,6 @@
|
||||||
shellIntegration = {
|
shellIntegration = {
|
||||||
enableFishIntegration = true;
|
enableFishIntegration = true;
|
||||||
};
|
};
|
||||||
# extraConfig = "\nwheel_scroll_multiplier 5.0\nconfirm_os_window_close 0";
|
|
||||||
settings = {
|
settings = {
|
||||||
scrollback_lines = 10000;
|
scrollback_lines = 10000;
|
||||||
enable_audio_bell = false;
|
enable_audio_bell = false;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, config, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
|
|
@ -28,7 +28,7 @@
|
||||||
colorschemes.catppuccin = {
|
colorschemes.catppuccin = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
flavour = "mocha";
|
flavour = config.catppuccin.flavor;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
keymaps = [
|
keymaps = [
|
||||||
|
|
|
||||||
|
|
@ -63,7 +63,11 @@ in
|
||||||
package = pkgs.colloid-icon-theme;
|
package = pkgs.colloid-icon-theme;
|
||||||
};
|
};
|
||||||
|
|
||||||
# cursor theme handled in home/hosts/host.nix and in config.kdl
|
cursorTheme = {
|
||||||
|
name = "catppuccin-${config.catppuccin.flavor}-${config.catppuccin.accent}-cursors";
|
||||||
|
package = pkgs.catppuccin-cursors."${config.catppuccin.flavor}${config.catppuccinUpper.accent}";
|
||||||
|
size = 24;
|
||||||
|
};
|
||||||
|
|
||||||
gtk3.extraConfig = {
|
gtk3.extraConfig = {
|
||||||
gtk-application-prefer-dark-theme = true;
|
gtk-application-prefer-dark-theme = true;
|
||||||
|
|
@ -103,7 +107,6 @@ in
|
||||||
# };
|
# };
|
||||||
};
|
};
|
||||||
|
|
||||||
# Cursor / icon env vars for GTK and Qt apps
|
|
||||||
xsession = {
|
xsession = {
|
||||||
enable = true; # only needed for session variable injection
|
enable = true; # only needed for session variable injection
|
||||||
windowManager.command = "niri"; # launches niri directly
|
windowManager.command = "niri"; # launches niri directly
|
||||||
|
|
@ -114,6 +117,7 @@ in
|
||||||
screenshot-path = "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png";
|
screenshot-path = "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png";
|
||||||
hotkey-overlay.skip-at-startup = true;
|
hotkey-overlay.skip-at-startup = true;
|
||||||
prefer-no-csd = true;
|
prefer-no-csd = true;
|
||||||
|
gestures.hot-corners.enable = false;
|
||||||
spawn-at-startup = [
|
spawn-at-startup = [
|
||||||
{
|
{
|
||||||
command = [
|
command = [
|
||||||
|
|
@ -150,6 +154,10 @@ in
|
||||||
drag = false;
|
drag = false;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
environment = {
|
||||||
|
QT_QPA_PLATFORM = "wayland";
|
||||||
|
DISPLAY = null;
|
||||||
|
};
|
||||||
outputs = {
|
outputs = {
|
||||||
"eDP-1" = {
|
"eDP-1" = {
|
||||||
scale = 1.75;
|
scale = 1.75;
|
||||||
|
|
|
||||||
|
|
@ -6,10 +6,81 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
customPackage = pkgs.noctalia-shell-custom.override {
|
# Get the actual color palettes
|
||||||
catppuccinFlavor = config.catppuccin.flavor;
|
darkPalette = pkgs.catppuccin.${config.catppuccin.flavor};
|
||||||
catppuccinAccent = config.catppuccin.accent;
|
lightPalette = pkgs.catppuccin.latte;
|
||||||
|
|
||||||
|
# Create theme from palette
|
||||||
|
mkTheme = palette: accent: {
|
||||||
|
mPrimary = palette.${accent};
|
||||||
|
mOnPrimary = palette.crust;
|
||||||
|
mSecondary = palette.subtext0;
|
||||||
|
mOnSecondary = palette.crust;
|
||||||
|
mTertiary = palette.teal;
|
||||||
|
mOnTertiary = palette.crust;
|
||||||
|
mError = palette.red;
|
||||||
|
mOnError = palette.crust;
|
||||||
|
mSurface = palette.base;
|
||||||
|
mOnSurface = palette.text;
|
||||||
|
mSurfaceVariant = palette.surface0;
|
||||||
|
mOnSurfaceVariant = palette.lavender;
|
||||||
|
mOutline = palette.surface2;
|
||||||
|
mShadow = palette.crust;
|
||||||
|
mHover = palette.teal;
|
||||||
|
mOnHover = palette.crust;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Build the complete color scheme
|
||||||
|
customScheme = {
|
||||||
|
dark = mkTheme darkPalette config.catppuccin.accent;
|
||||||
|
light = mkTheme lightPalette config.catppuccin.accent;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Convert to JSON
|
||||||
|
schemeJson = builtins.toJSON customScheme;
|
||||||
|
|
||||||
|
# Write to file - escape for shell
|
||||||
|
schemeJsonEscaped = lib.escapeShellArg schemeJson;
|
||||||
|
|
||||||
|
customPackage = pkgs.noctalia-shell.overrideAttrs (oldAttrs: {
|
||||||
|
pname = "noctalia-shell-custom";
|
||||||
|
nativeBuildInputs = (oldAttrs.nativeBuildInputs or [ ]) ++ [ pkgs.jq ];
|
||||||
|
|
||||||
|
postPatch = (oldAttrs.postPatch or "") + ''
|
||||||
|
echo "Patching noctalia-shell with Cat-Custom theme..."
|
||||||
|
echo " Dark: ${config.catppuccin.flavor} / Light: latte"
|
||||||
|
echo " Accent: ${config.catppuccin.accent}"
|
||||||
|
|
||||||
|
if [ -d Assets/ColorScheme/Catppuccin ]; then
|
||||||
|
mkdir -p Assets/ColorScheme/Cat-Custom
|
||||||
|
|
||||||
|
# Write the JSON directly
|
||||||
|
cat > Assets/ColorScheme/Cat-Custom/Cat-Custom.json << 'COLORSCHEME_EOF'
|
||||||
|
${schemeJson}
|
||||||
|
COLORSCHEME_EOF
|
||||||
|
|
||||||
|
echo "Created Cat-Custom color scheme:"
|
||||||
|
${pkgs.jq}/bin/jq -C '.' Assets/ColorScheme/Cat-Custom/Cat-Custom.json || true
|
||||||
|
|
||||||
|
# Add translation entries
|
||||||
|
for lang in en fr de es pt zh-CN; do
|
||||||
|
if [ -f "Assets/Translations/$lang.json" ]; then
|
||||||
|
${pkgs.jq}/bin/jq \
|
||||||
|
'.["color-scheme"].predefined.schemes["Cat-Custom"] = "Cat-Custom"' \
|
||||||
|
"Assets/Translations/$lang.json" > "Assets/Translations/$lang.json.tmp" \
|
||||||
|
&& mv "Assets/Translations/$lang.json.tmp" "Assets/Translations/$lang.json"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
else
|
||||||
|
echo "ERROR: ColorScheme directory not found"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = oldAttrs.meta // {
|
||||||
|
description = "${oldAttrs.meta.description} (Cat-Custom: ${config.catppuccin.flavor}/${config.catppuccin.accent})";
|
||||||
|
};
|
||||||
|
});
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
programs.noctalia-shell = {
|
programs.noctalia-shell = {
|
||||||
|
|
@ -56,17 +127,27 @@ in
|
||||||
hideMode = "hidden";
|
hideMode = "hidden";
|
||||||
id = "ActiveWindow";
|
id = "ActiveWindow";
|
||||||
maxWidth = 375;
|
maxWidth = 375;
|
||||||
scrollingMode = "hover";
|
scrollingMode = "always";
|
||||||
showIcon = true;
|
showIcon = true;
|
||||||
useFixedWidth = false;
|
useFixedWidth = false;
|
||||||
}
|
}
|
||||||
{
|
|
||||||
id = "MediaMini";
|
|
||||||
}
|
|
||||||
];
|
];
|
||||||
center = [
|
center = [
|
||||||
];
|
];
|
||||||
right = [
|
right = [
|
||||||
|
{
|
||||||
|
hideMode = "hidden";
|
||||||
|
hideWhenIdle = false;
|
||||||
|
id = "MediaMini";
|
||||||
|
maxWidth = 350;
|
||||||
|
scrollingMode = "always";
|
||||||
|
showAlbumArt = false;
|
||||||
|
showArtistFirst = true;
|
||||||
|
showProgressRing = true;
|
||||||
|
showVisualizer = false;
|
||||||
|
useFixedWidth = false;
|
||||||
|
visualizerType = "linear";
|
||||||
|
}
|
||||||
{
|
{
|
||||||
id = "ScreenRecorder";
|
id = "ScreenRecorder";
|
||||||
}
|
}
|
||||||
|
|
@ -389,7 +470,7 @@ in
|
||||||
useWallpaperColors = false;
|
useWallpaperColors = false;
|
||||||
predefinedScheme = "Cat-Custom";
|
predefinedScheme = "Cat-Custom";
|
||||||
darkMode = true;
|
darkMode = true;
|
||||||
schedulingMode = "on";
|
schedulingMode = "off";
|
||||||
manualSunrise = "06:30";
|
manualSunrise = "06:30";
|
||||||
manualSunset = "18:30";
|
manualSunset = "18:30";
|
||||||
matugenSchemeType = "scheme-fruit-salad";
|
matugenSchemeType = "scheme-fruit-salad";
|
||||||
|
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
@define-color rosewater #f5e0dc;
|
|
||||||
@define-color flamingo #f2cdcd;
|
|
||||||
@define-color pink #f5c2e7;
|
|
||||||
@define-color mauve #cba6f7;
|
|
||||||
@define-color red #f38ba8;
|
|
||||||
@define-color maroon #eba0ac;
|
|
||||||
@define-color peach #fab387;
|
|
||||||
@define-color yellow #f9e2af;
|
|
||||||
@define-color green #a6e3a1;
|
|
||||||
@define-color teal #94e2d5;
|
|
||||||
@define-color sky #89dceb;
|
|
||||||
@define-color sapphire #74c7ec;
|
|
||||||
@define-color blue #89b4fa;
|
|
||||||
@define-color lavender #b4befe;
|
|
||||||
@define-color text #cdd6f4;
|
|
||||||
@define-color subtext1 #bac2de;
|
|
||||||
@define-color subtext0 #a6adc8;
|
|
||||||
@define-color overlay2 #9399b2;
|
|
||||||
@define-color overlay1 #7f849c;
|
|
||||||
@define-color overlay0 #6c7086;
|
|
||||||
@define-color surface2 #585b70;
|
|
||||||
@define-color surface1 #45475a;
|
|
||||||
@define-color surface0 #313244;
|
|
||||||
@define-color base #1e1e2e;
|
|
||||||
@define-color mantle #181825;
|
|
||||||
@define-color crust #11111b;
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
@import "./mocha.css";
|
@import "./colors.css";
|
||||||
* {
|
* {
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,26 @@
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
catppuccin-waybar = pkgs.fetchFromGitHub {
|
||||||
|
owner = "catppuccin";
|
||||||
|
repo = "waybar";
|
||||||
|
rev = "ee8ed32b4f63e9c417249c109818dcc05a2e25da";
|
||||||
|
sha256 = "sha256-za0y6hcN2rvN6Xjf31xLRe4PP0YyHu2i454ZPjr+lWA=";
|
||||||
|
};
|
||||||
|
|
||||||
|
mergedConfig = pkgs.runCommand "mergedConfig" { } ''
|
||||||
|
mkdir -p $out
|
||||||
|
cp -rv ${./config}/* $out/
|
||||||
|
cp -v ${catppuccin-waybar}/themes/${config.catppuccin.flavor}.css $out/colors.css
|
||||||
|
'';
|
||||||
|
in
|
||||||
{
|
{
|
||||||
programs.waybar = {
|
programs.waybar = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
home.file.".config/waybar" = {
|
home.file.".config/waybar" = {
|
||||||
source = ./config;
|
source = mergedConfig;
|
||||||
recursive = true;
|
recursive = true;
|
||||||
force = true;
|
force = true;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,69 +0,0 @@
|
||||||
{
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
noctalia-shell,
|
|
||||||
catppuccinFlavor ? "mocha",
|
|
||||||
catppuccinAccent ? "mauve",
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
|
|
||||||
mkTheme = colors: {
|
|
||||||
mPrimary = colors.${catppuccinAccent};
|
|
||||||
mOnPrimary = colors.crust;
|
|
||||||
mSecondary = colors.subtext0;
|
|
||||||
mOnSecondary = colors.crust;
|
|
||||||
mTertiary = colors.teal;
|
|
||||||
mOnTertiary = colors.crust;
|
|
||||||
mError = colors.red;
|
|
||||||
mOnError = colors.crust;
|
|
||||||
mSurface = colors.base;
|
|
||||||
mOnSurface = colors.text;
|
|
||||||
mSurfaceVariant = colors.surface0;
|
|
||||||
mOnSurfaceVariant = colors.lavender;
|
|
||||||
mOutline = colors.surface2;
|
|
||||||
mShadow = colors.crust;
|
|
||||||
mHover = colors.teal;
|
|
||||||
mOnHover = colors.crust;
|
|
||||||
};
|
|
||||||
|
|
||||||
customScheme = {
|
|
||||||
dark = mkTheme pkgs.catppuccin.${catppuccinFlavor};
|
|
||||||
light = mkTheme pkgs.catppuccin.latte;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Convert to JSON string for writing to file
|
|
||||||
customSchemeJson = builtins.toJSON customScheme;
|
|
||||||
in
|
|
||||||
noctalia-shell.overrideAttrs (oldAttrs: {
|
|
||||||
pname = "noctalia-shell-custom";
|
|
||||||
nativeBuildInputs = (oldAttrs.nativeBuildInputs or [ ]) ++ [ pkgs.jq ];
|
|
||||||
postPatch = (oldAttrs.postPatch or "") + ''
|
|
||||||
# Create the Cat-Custom color scheme
|
|
||||||
if [ -d Assets/ColorScheme/Catppuccin ]; then
|
|
||||||
# Create Cat-Custom directory
|
|
||||||
mkdir -p Assets/ColorScheme/Cat-Custom
|
|
||||||
|
|
||||||
# Write the custom color scheme
|
|
||||||
echo '${customSchemeJson}' | ${pkgs.jq}/bin/jq '.' > Assets/ColorScheme/Cat-Custom/Cat-Custom.json
|
|
||||||
|
|
||||||
echo "Created Cat-Custom color scheme with ${catppuccinAccent} accent"
|
|
||||||
echo " Dark theme: ${catppuccinFlavor}"
|
|
||||||
echo " Light theme: latte"
|
|
||||||
else
|
|
||||||
echo "Warning: ColorScheme directory not found at expected path"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Add translations for Cat-Custom to all supported languages
|
|
||||||
for lang in en fr de es pt zh-CN; do
|
|
||||||
if [ -f "Assets/Translations/$lang.json" ]; then
|
|
||||||
${pkgs.jq}/bin/jq '.["color-scheme"].predefined.schemes["Cat-Custom"] = "Cat-Custom"' \
|
|
||||||
"Assets/Translations/$lang.json" > "Assets/Translations/$lang.json.tmp"
|
|
||||||
mv "Assets/Translations/$lang.json.tmp" "Assets/Translations/$lang.json"
|
|
||||||
echo "Added Cat-Custom translation to $lang.json"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
'';
|
|
||||||
meta = oldAttrs.meta // {
|
|
||||||
description = oldAttrs.meta.description + " (with Cat-Custom Catppuccin theme)";
|
|
||||||
};
|
|
||||||
})
|
|
||||||
|
|
@ -24,10 +24,6 @@ final: prev: {
|
||||||
inherit helium-widevine;
|
inherit helium-widevine;
|
||||||
};
|
};
|
||||||
|
|
||||||
noctalia-shell-custom = prev.callPackage (builtins.path {
|
|
||||||
path = ./noctalia-shell-custom/package.nix;
|
|
||||||
}) { };
|
|
||||||
|
|
||||||
spotifyd = prev.callPackage (builtins.path { path = ./spotifyd/package.nix; }) { };
|
spotifyd = prev.callPackage (builtins.path { path = ./spotifyd/package.nix; }) { };
|
||||||
|
|
||||||
widevine-firefox = prev.callPackage (builtins.path { path = ./widevine-firefox/package.nix; }) { };
|
widevine-firefox = prev.callPackage (builtins.path { path = ./widevine-firefox/package.nix; }) { };
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue