Moved desktop config

This commit is contained in:
Jan-Bulthuis 2025-02-17 15:38:32 +01:00
parent a68f032fee
commit 77fc328c84
21 changed files with 56 additions and 59 deletions

View File

@ -50,14 +50,14 @@ in
extensions = with pkgs.nur.repos.rycee.firefox-addons; [ extensions = with pkgs.nur.repos.rycee.firefox-addons; [
ublock-origin ublock-origin
tridactyl # TODO: Add toggle for this extension? # tridactyl # TODO: Add toggle for this extension?
]; ];
# Theming # Theming
userChrome = readFile ( userChrome = readFile (
pkgs.substituteAll { pkgs.substituteAll {
src = ./userChrome.css; src = ./userChrome.css;
colors = config.theming.colorsCSS; colors = config.desktop.theming.colorsCSS;
} }
); );

View File

@ -8,7 +8,7 @@
with lib; with lib;
let let
cfg = config.modules.qutebrowser; cfg = config.modules.qutebrowser;
theme = config.theming; theme = config.desktop.theming;
in in
{ {
options.modules.qutebrowser = { options.modules.qutebrowser = {

View File

@ -8,7 +8,7 @@
with lib; with lib;
let let
cfg = config.modules.btop; cfg = config.modules.btop;
colors = config.theming.schemeColors; colors = config.desktop.theming.schemeColors;
in in
{ {
options.modules.btop = { options.modules.btop = {

View File

@ -29,7 +29,6 @@
./spotify/default.nix ./spotify/default.nix
./terminal/default.nix ./terminal/default.nix
./terminal/foot/default.nix ./terminal/foot/default.nix
./theming/default.nix
./vscode/default.nix ./vscode/default.nix
./whatsapp/default.nix ./whatsapp/default.nix
./winbox/default.nix ./winbox/default.nix

View File

@ -8,7 +8,7 @@
with lib; with lib;
let let
cfg = config.modules.waybar; cfg = config.modules.waybar;
theme = config.theming; theme = config.desktop.theming;
colors = theme.colors; colors = theme.colors;
in in
{ {

View File

@ -65,7 +65,7 @@ in
settings = settings =
let let
layout = "filtile"; layout = "filtile";
layoutOptions = "-outer-padding ${toString config.theming.layout.windowPadding} -view-padding ${toString config.theming.layout.windowPadding} -main-ratio 0.5"; layoutOptions = "-outer-padding ${toString config.desktop.theming.layout.windowPadding} -view-padding ${toString config.desktop.theming.layout.windowPadding} -main-ratio 0.5";
modes = [ modes = [
"normal" "normal"
"locked" "locked"
@ -83,7 +83,7 @@ in
]; ];
waylockOptions = "-init-color 0x${colors.bg} -input-color 0x${colors.border-focused} -fail-color 0x${colors.bg}"; waylockOptions = "-init-color 0x${colors.bg} -input-color 0x${colors.border-focused} -fail-color 0x${colors.bg}";
colors = config.theming.colors; colors = config.desktop.theming.colors;
# Quick pow function # Quick pow function
pow2 = power: if power != 0 then 2 * (pow2 (power - 1)) else 1; pow2 = power: if power != 0 then 2 * (pow2 (power - 1)) else 1;
@ -103,7 +103,7 @@ in
xcursor-theme = "BreezeX-RosePine-Linux 24"; xcursor-theme = "BreezeX-RosePine-Linux 24";
keyboard-layout = "-options \"caps:escape\" us"; keyboard-layout = "-options \"caps:escape\" us";
border-width = toString config.theming.layout.borderSize; border-width = toString config.desktop.theming.layout.borderSize;
background-color = "0x${colors.bg}"; background-color = "0x${colors.bg}";
border-color-focused = "0x${colors.fg}"; border-color-focused = "0x${colors.fg}";
border-color-unfocused = "0x${colors.border-unfocused}"; # TODO: Change to use named color; border-color-unfocused = "0x${colors.border-unfocused}"; # TODO: Change to use named color;

View File

@ -7,7 +7,7 @@
with lib; with lib;
let let
cfg = config.theming; cfg = config.desktop.theming;
# Font module type # Font module type
fontModule = types.submodule { fontModule = types.submodule {
@ -101,11 +101,9 @@ in
options.desktop.theming = options.desktop.theming =
let let
colors = config.theming.schemeColors; colors = config.desktop.theming.schemeColors;
in in
{ {
enable = mkEnableOption "theming";
darkMode = mkOption { darkMode = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
@ -250,7 +248,7 @@ in
}; };
}; };
config = mkIf config.modules.theming.enable { config = {
# Enable fontconfig # Enable fontconfig
modules.fontconfig.enable = true; modules.fontconfig.enable = true;

View File

@ -7,11 +7,11 @@
with lib; with lib;
let let
cfg = config.theming.themes.catppuccin; cfg = config.desktop.theming.themes.catppuccin;
in in
{ {
options = { options = {
theming.themes.catppuccin = { desktop.theming.themes.catppuccin = {
enable = mkEnableOption "catppuccin"; enable = mkEnableOption "catppuccin";
flavor = mkOption { flavor = mkOption {
type = types.enum [ type = types.enum [
@ -26,7 +26,7 @@ in
}; };
}; };
config.theming = mkIf cfg.enable { config.desktop.theming = mkIf cfg.enable {
darkMode = (cfg.flavor != "latte"); darkMode = (cfg.flavor != "latte");
colorScheme = "${pkgs.base16-schemes}/share/themes/catppuccin-${cfg.flavor}.yaml"; colorScheme = "${pkgs.base16-schemes}/share/themes/catppuccin-${cfg.flavor}.yaml";
}; };

View File

@ -7,12 +7,12 @@
with lib; with lib;
let let
cfg = config.theming.themes.gruvbox; cfg = config.desktop.theming.themes.gruvbox;
mode = if cfg.darkMode then "dark" else "light"; mode = if cfg.darkMode then "dark" else "light";
in in
{ {
options = { options = {
theming.themes.gruvbox = { desktop.theming.themes.gruvbox = {
enable = mkEnableOption "gruvbox-hard"; enable = mkEnableOption "gruvbox-hard";
darkMode = mkEnableOption "dark mode"; darkMode = mkEnableOption "dark mode";
contrast = mkOption { contrast = mkOption {
@ -27,7 +27,7 @@ in
}; };
}; };
config.theming = mkIf cfg.enable { config.desktop.theming = mkIf cfg.enable {
darkMode = cfg.darkMode; darkMode = cfg.darkMode;
colorScheme = "${pkgs.base16-schemes}/share/themes/gruvbox-${mode}-${cfg.contrast}.yaml"; colorScheme = "${pkgs.base16-schemes}/share/themes/gruvbox-${mode}-${cfg.contrast}.yaml";
}; };

View File

@ -7,18 +7,18 @@
with lib; with lib;
let let
cfg = config.theming.themes.nord; cfg = config.desktop.theming.themes.nord;
mode = if cfg.darkMode then "" else "-light"; mode = if cfg.darkMode then "" else "-light";
in in
{ {
options = { options = {
theming.themes.nord = { desktop.theming.themes.nord = {
enable = mkEnableOption "nord"; enable = mkEnableOption "nord";
darkMode = mkEnableOption "dark mode"; darkMode = mkEnableOption "dark mode";
}; };
}; };
config.theming = mkIf cfg.enable { config.desktop.theming = mkIf cfg.enable {
darkMode = cfg.darkMode; darkMode = cfg.darkMode;
colorScheme = "${pkgs.base16-schemes}/share/themes/nord${mode}.yaml"; colorScheme = "${pkgs.base16-schemes}/share/themes/nord${mode}.yaml";
}; };

View File

@ -7,18 +7,18 @@
with lib; with lib;
let let
cfg = config.theming.themes.oxocarbon; cfg = config.desktop.theming.themes.oxocarbon;
mode = if cfg.darkMode then "dark" else "light"; mode = if cfg.darkMode then "dark" else "light";
in in
{ {
options = { options = {
theming.themes.oxocarbon = { desktop.theming.themes.oxocarbon = {
enable = mkEnableOption "oxocarbon"; enable = mkEnableOption "oxocarbon";
darkMode = mkEnableOption "dark mode"; darkMode = mkEnableOption "dark mode";
}; };
}; };
config.theming = mkIf cfg.enable { config.desktop.theming = mkIf cfg.enable {
darkMode = cfg.darkMode; darkMode = cfg.darkMode;
colorScheme = "${pkgs.base16-schemes}/share/themes/oxocarbon-${mode}.yaml"; colorScheme = "${pkgs.base16-schemes}/share/themes/oxocarbon-${mode}.yaml";
}; };

View File

@ -7,18 +7,18 @@
with lib; with lib;
let let
cfg = config.theming.themes.papercolor; cfg = config.desktop.theming.themes.papercolor;
mode = if cfg.darkMode then "dark" else "light"; mode = if cfg.darkMode then "dark" else "light";
in in
{ {
options = { options = {
theming.themes.papercolor = { desktop.theming.themes.papercolor = {
enable = mkEnableOption "papercolor"; enable = mkEnableOption "papercolor";
darkMode = mkEnableOption "dark mode"; darkMode = mkEnableOption "dark mode";
}; };
}; };
config.theming = mkIf cfg.enable { config.desktop.theming = mkIf cfg.enable {
darkMode = cfg.darkMode; darkMode = cfg.darkMode;
colorScheme = "${pkgs.base16-schemes}/share/themes/papercolor-${mode}.yaml"; colorScheme = "${pkgs.base16-schemes}/share/themes/papercolor-${mode}.yaml";
}; };

View File

@ -7,16 +7,16 @@
with lib; with lib;
let let
cfg = config.theming.themes.sakura; cfg = config.desktop.theming.themes.sakura;
in in
{ {
options = { options = {
theming.themes.sakura = { desktop.theming.themes.sakura = {
enable = mkEnableOption "sakura"; enable = mkEnableOption "sakura";
}; };
}; };
config.theming = mkIf cfg.enable { config.desktop.theming = mkIf cfg.enable {
darkMode = false; darkMode = false;
colorScheme = "${pkgs.base16-schemes}/share/themes/sakura.yaml"; colorScheme = "${pkgs.base16-schemes}/share/themes/sakura.yaml";
}; };

View File

@ -21,7 +21,9 @@ let
''; '';
configContent = concatStrings ( configContent = concatStrings (
map (font: aliasConfig config.theming.fonts.pkgs.${font}) config.theming.fonts.installed map (
font: aliasConfig config.desktop.theming.fonts.pkgs.${font}
) config.desktop.theming.fonts.installed
); );
in in
{ {
@ -34,10 +36,10 @@ in
enable = true; enable = true;
defaultFonts = { defaultFonts = {
serif = [ config.theming.fonts.serif.name ]; serif = [ config.desktop.theming.fonts.serif.name ];
sansSerif = [ config.theming.fonts.sansSerif.name ]; sansSerif = [ config.desktop.theming.fonts.sansSerif.name ];
monospace = [ config.theming.fonts.monospace.name ]; monospace = [ config.desktop.theming.fonts.monospace.name ];
emoji = [ config.theming.fonts.emoji.name ]; emoji = [ config.desktop.theming.fonts.emoji.name ];
}; };
}; };

View File

@ -8,7 +8,7 @@
with lib; with lib;
let let
cfg = config.modules.mako; cfg = config.modules.mako;
theme = config.theming; theme = config.desktop.theming;
colors = theme.colors; colors = theme.colors;
in in
{ {

View File

@ -8,7 +8,7 @@
with lib; with lib;
let let
cfg = config.modules.neovim; cfg = config.modules.neovim;
theme = config.theming; theme = config.desktop.theming;
colors = theme.colors; colors = theme.colors;
in in
{ {

View File

@ -8,7 +8,7 @@
with lib; with lib;
let let
cfg = config.modules.rofi; cfg = config.modules.rofi;
theme = config.theming; theme = config.desktop.theming;
colors = theme.colors; colors = theme.colors;
in in
{ {

View File

@ -20,8 +20,8 @@ in
settings = { settings = {
main = main =
let let
font = config.theming.fonts.monospace.name; font = config.desktop.theming.fonts.monospace.name;
size = toString config.theming.fonts.monospace.recommendedSize; size = toString config.desktop.theming.fonts.monospace.recommendedSize;
in in
{ {
font = mkForce "${font}:style=Regular:size=${size}"; font = mkForce "${font}:style=Regular:size=${size}";

View File

@ -8,7 +8,7 @@
with lib; with lib;
let let
cfg = config.modules.vscode; cfg = config.modules.vscode;
theme = config.theming; theme = config.desktop.theming;
in in
{ {
options.modules.vscode = { options.modules.vscode = {
@ -31,7 +31,7 @@ in
"vscode-extension-ms-vsliveshare-vsliveshare" "vscode-extension-ms-vsliveshare-vsliveshare"
]; ];
theming.fonts.extraFonts = [ cfg.codeFont ]; desktop.theming.fonts.extraFonts = [ cfg.codeFont ];
programs.vscode = { programs.vscode = {
enable = true; enable = true;

View File

@ -7,7 +7,7 @@
let let
cfg = config.modules.zathura; cfg = config.modules.zathura;
colors = config.theming.colors; colors = config.desktop.theming.colors;
in in
{ {
options.modules.zathura.enable = lib.mkEnableOption "zathura"; options.modules.zathura.enable = lib.mkEnableOption "zathura";

View File

@ -25,17 +25,17 @@
]; ];
# Desktop environments # Desktop environments
desktops = # desktops =
let # let
in # in
{ # {
"River Dark" = { # "River Dark" = {
type = "custom"; # type = "custom";
theming = { }; # theming = { };
config = { }; # config = { };
extraConfig = { }; # extraConfig = { };
}; # };
}; # };
# Enabled modules # Enabled modules
modules = { modules = {
@ -121,11 +121,9 @@
# Theme configuration # Theme configuration
desktop.theming = desktop.theming =
let let
fontpkgs = config.theming.fonts.pkgs; fontpkgs = config.desktop.theming.fonts.pkgs;
in in
{ {
enable = true;
# Fonts # Fonts
fonts.serif = fontpkgs."DejaVu Serif"; fonts.serif = fontpkgs."DejaVu Serif";
fonts.sansSerif = fontpkgs."DejaVu Sans"; fonts.sansSerif = fontpkgs."DejaVu Sans";