Compare commits

...

3 commits

Author SHA1 Message Date
ItsDrike 36aced3350
Use meta+end for kbd isolation (not meta+favorites) 2024-06-24 19:23:39 +02:00
ItsDrike 66f5b39645
Fix typo in comment 2024-06-24 19:16:14 +02:00
ItsDrike 6643627c5b
Fix qt themes 2024-06-24 19:16:05 +02:00
5 changed files with 72 additions and 25 deletions

View file

@ -230,10 +230,10 @@
# #
# Useful to prevent keybind capturing (for games, etc) # Useful to prevent keybind capturing (for games, etc)
# SUPER + Fn + F12 (Favorites) # SUPER + End
bind = SUPER, XF86Favorites, exec, hyprctl dispatch submap isolate && notify-send "Keybind isolation" "Keybind isolation on" bind = SUPER, End, exec, hyprctl dispatch submap isolate && notify-send "Keybind isolation" "Keybind isolation on"
submap = isolate submap = isolate
bind = SUPER, XF86Favorites, exec, hyprctl dispatch submap reset && notify-send "Keybind isolation" "Keybind isolation off" bind = SUPER, End, exec, hyprctl dispatch submap reset && notify-send "Keybind isolation" "Keybind isolation off"
submap = reset submap = reset
# #

View file

@ -78,7 +78,7 @@ in {
}; };
dconf.settings = { dconf.settings = {
# This is like a system-wide dark mode swithc that some apps respect it. # This is like a system-wide dark mode switch that some apps respect it.
# Equivalent of the following dconf command: # Equivalent of the following dconf command:
# `conf write /org/gnome/desktop/interface/color-scheme "'prefer-dark'"` # `conf write /org/gnome/desktop/interface/color-scheme "'prefer-dark'"`
"org/gnome/desktop/interface".color-scheme = "prefer-dark"; "org/gnome/desktop/interface".color-scheme = "prefer-dark";

View file

@ -16,8 +16,8 @@ in {
then "gtk" then "gtk"
else "qtct"; else "qtct";
style = mkIf (!cfg.forceGtk) { style = mkIf (!cfg.forceGtk) {
name = "Kvantum"; # sets QT_STYLE_OVERRIDE
package = cfg.theme.package; name = "kvantum";
}; };
}; };
@ -25,10 +25,12 @@ in {
packages = with pkgs; packages = with pkgs;
mkMerge [ mkMerge [
[ [
# libraries and programs to ensure that qt applications load without issue # QT5 & QT6 configuration tools
# breeze-icons is added as a fallback
libsForQt5.qt5ct libsForQt5.qt5ct
kdePackages.qt6ct kdePackages.qt6ct
# Icon theme (here as fallback)
cfg.iconTheme.package
breeze-icons breeze-icons
] ]
@ -46,8 +48,8 @@ in {
qt6Packages.qtstyleplugin-kvantum qt6Packages.qtstyleplugin-kvantum
libsForQt5.qtstyleplugin-kvantum libsForQt5.qtstyleplugin-kvantum
# Also add the theme package to path just in case # Also add the Kvantum theme package to path
cfg.theme.package cfg.kvantumTheme.package
]) ])
]; ];
@ -67,10 +69,28 @@ in {
# tell calibre to use the dark theme, because the light one hurts my eyes # tell calibre to use the dark theme, because the light one hurts my eyes
CALIBRE_USE_DARK_PALETTE = "1"; CALIBRE_USE_DARK_PALETTE = "1";
}; };
};
xdg.configFile = mkIf (!cfg.forceGtk) { xdg.configFile = mkIf (!cfg.forceGtk) {
"Kvantum/kvantum.kvconfig".source = (pkgs.formats.ini {}).generate "kvantum.kvconfig" { # Kvantum configuration
General.theme = cfg.theme.name; "Kvantum/kvantum.kvconfig" = {
text = lib.generators.toINI {} {
General.theme = cfg.kvantumTheme.name;
};
};
"Kvantum/${cfg.kvantumTheme.name}".source = "${cfg.kvantumTheme.package}/share/Kvantum/${cfg.kvantumTheme.name}";
# Set icon theme using qtct
"qt5ct/qt5ct.conf".text = lib.generators.toINI {} {
Appearance = {
icon_theme = cfg.iconTheme.name;
};
};
"qt6ct/qt6ct.conf".text = lib.generators.toINI {} {
Appearance = {
icon_theme = cfg.iconTheme.name;
}; };
}; };
}; };

View file

@ -69,12 +69,15 @@ in
''; '';
}; };
theme = { kvantumTheme = {
name = mkOption { name = mkOption {
type = types.str; type = types.str;
default = "Catppuccin-Mocha-Dark"; default = "Catppuccin-Mocha-Blue";
description = '' description = ''
The name for the QT theme package. The name for the QT kvantum theme.
This needs to match the directory containing the kvconfig & svg files
for selected theme. The package should expose these in /share/Kvantum.
This has no effect if forceGtk is set. This has no effect if forceGtk is set.
''; '';
@ -83,14 +86,42 @@ in
package = mkOption { package = mkOption {
type = types.package; type = types.package;
description = '' description = ''
The theme package to be used for QT programs. The theme package to be used for QT kvantum theme.
This needs to expose a directory in /share/Kvantum with the
kvconfig & svg files. The name of this directory should match
the kvantumTheme.name option.
This has no effect if forceGtk is set. This has no effect if forceGtk is set.
''; '';
default = pkgs.catppuccin-kde.override { default = pkgs.catppuccin-kvantum.override {
flavour = ["mocha"]; variant = "Mocha";
accents = ["blue"]; accent = "Blue";
winDecStyles = ["modern"]; };
};
};
iconTheme = {
name = mkOption {
type = types.str;
description = ''
The name for the icon theme that will be used for QT programs.
This has no effect if forceGtk is set.
'';
default = "Papirus-Dark";
};
package = mkOption {
type = types.package;
description = ''
The QT icon theme package to be used.
This has no effect if forceGtk is set.
'';
default = pkgs.catppuccin-papirus-folders.override {
accent = "blue";
flavor = "mocha";
}; };
}; };
}; };

View file

@ -21,9 +21,5 @@ in
sound = { sound = {
enable = mkEnableOption "sound related programs and audio-dependent programs"; enable = mkEnableOption "sound related programs and audio-dependent programs";
}; };
bluetooth = {
enable = mkEnableOption "bluetooth modules, drivers and configuration program(s)";
};
}; };
} }