Move GTK settings to sway/default.nix

Set icon theme using plasma-manager tools instead. Avoids conflict
completely with Plasma trying to overwrite GTK config files.

Move toCapital function to own file.
This commit is contained in:
Evie Litherland-Smith 2024-07-11 09:41:48 +01:00
parent 0e4663f6df
commit 9cbf319189
5 changed files with 37 additions and 31 deletions

View file

@ -10,7 +10,6 @@
programs.plasma = lib.mkIf config.programs.plasma.enable { programs.plasma = lib.mkIf config.programs.plasma.enable {
configFile = { configFile = {
kcminputrc."Libinput/1160/4132/DELL0A21:00 0488:1024 Touchpad".NaturalScroll = true; kcminputrc."Libinput/1160/4132/DELL0A21:00 0488:1024 Touchpad".NaturalScroll = true;
kwinrc."Tiling/8c3e40a5-6d02-561d-be90-abdf39b7afe6"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.5},{\"width\":0.5}]}";
}; };
}; };
wayland.windowManager.sway = lib.mkIf config.wayland.windowManager.sway.enable { wayland.windowManager.sway = lib.mkIf config.wayland.windowManager.sway.enable {

View file

@ -14,7 +14,7 @@
inherit name; inherit name;
package = pkgs.volantes-cursors; package = pkgs.volantes-cursors;
size = 32; size = 32;
gtk.enable = true; gtk.enable = config.gtk.enable;
x11 = { x11 = {
enable = true; enable = true;
defaultCursor = name; defaultCursor = name;
@ -29,30 +29,6 @@
}; };
services.syncthing.enable = true; services.syncthing.enable = true;
programs.mpv.enable = true; programs.mpv.enable = true;
gtk = let
toCapital = string:
with lib; let
chars = let
lc = strings.splitString "" string;
in (lists.sublist 1 (lists.length lc - 2) lc);
in (
strings.concatStringsSep "" (
(lists.singleton (strings.toUpper (lists.elemAt chars 0)))
++ (lists.sublist 1 (lists.length chars) chars)
)
);
in {
enable = true;
gtk2.configLocation = "${config.home.homeDirectory}/.hm-gtkrc-2.0";
theme = {
package = pkgs.materia-theme;
name = "Materia-${config.scheme.variant}";
};
iconTheme = {
package = pkgs.papirus-icon-theme.override {color = "violet";};
name = "Papirus-${toCapital config.scheme.variant}";
};
};
xdg = { xdg = {
mime.enable = true; mime.enable = true;
mimeApps = let mimeApps = let

View file

@ -0,0 +1,11 @@
lib: string:
with lib; let
chars = let
lc = strings.splitString "" string;
in (lists.sublist 1 (lists.length lc - 2) lc);
in (
strings.concatStringsSep "" (
(lists.singleton (strings.toUpper (lists.elemAt chars 0)))
++ (lists.sublist 1 (lists.length chars) chars)
)
)

View file

@ -1,5 +1,6 @@
{ {
config, config,
lib,
pkgs, pkgs,
fonts, fonts,
rc2nix, rc2nix,
@ -13,22 +14,28 @@
home.packages = with pkgs; [ home.packages = with pkgs; [
rc2nix rc2nix
wl-clipboard wl-clipboard
(papirus-icon-theme.override {color = "violet";})
]; ];
services.gpg-agent.pinentryPackage = pkgs.pinentry-qt; services.gpg-agent.pinentryPackage = pkgs.pinentry-qt;
programs.plasma = { programs.plasma = {
enable = true; enable = true;
overrideConfig = true; overrideConfig = true;
workspace = { workspace = let
toCapital = import ../lib/to_capital.nix lib;
in {
clickItemTo = "open"; clickItemTo = "open";
lookAndFeel = "org.kde.breeze.desktop";
theme = "default"; theme = "default";
colorScheme = "BreezeLight"; colorScheme = "Breeze${toCapital config.scheme.variant}";
iconTheme = "Papirus-${toCapital config.scheme.variant}";
windowDecorations = {
library = "org.kde.breeze";
theme = "Breeze";
};
cursor = { cursor = {
inherit (config.home.pointerCursor) size; inherit (config.home.pointerCursor) size;
theme = config.home.pointerCursor.name; theme = config.home.pointerCursor.name;
}; };
iconTheme = config.gtk.iconTheme.name;
wallpaper = "${../wallpapers/landscapes/tropic_island_day.jpg}"; wallpaper = "${../wallpapers/landscapes/tropic_island_day.jpg}";
}; };
@ -156,7 +163,7 @@
kwin = { kwin = {
virtualDesktops = { virtualDesktops = {
rows = 1; rows = 1;
number = 4; number = 6;
}; };
effects = { effects = {
translucency.enable = true; translucency.enable = true;

View file

@ -69,6 +69,19 @@ in {
tray = "never"; tray = "never";
}; };
}; };
gtk = let
toCapital = import ../lib/to_capital.nix lib;
in {
enable = true;
theme = {
package = pkgs.materia-theme;
name = "Materia-${config.scheme.variant}";
};
iconTheme = {
package = pkgs.papirus-icon-theme.override {color = "violet";};
name = "Papirus-${toCapital config.scheme.variant}";
};
};
wayland.windowManager.sway = { wayland.windowManager.sway = {
enable = true; enable = true;
package = package =