aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaroline Larimore <caroline@larimo.re>2025-02-07 22:57:54 -0800
committerCaroline Larimore <caroline@larimo.re>2025-04-14 18:58:49 -0700
commitf94a9071e7ccad349af26add593e855cd9f88f32 (patch)
treec72506f139d9747c487d180ada054eafc86c1be2
parente11a0658b3c47459767ba49ccfe319a2b8c73456 (diff)
migration: gtk theme
-rw-r--r--hosts/c-pc/home.nix9
-rw-r--r--roles/home/desktop/default.nix79
-rw-r--r--roles/home/desktop/gtk.nix15
-rw-r--r--snowfall/modules/home/desktop/components/gtk/default.nix26
-rw-r--r--snowfall/modules/home/suites/desktop/default.nix4
-rw-r--r--snowfall/modules/nixos/suites/desktop/default.nix2
6 files changed, 32 insertions, 103 deletions
diff --git a/hosts/c-pc/home.nix b/hosts/c-pc/home.nix
index 026a5e9..74ff894 100644
--- a/hosts/c-pc/home.nix
+++ b/hosts/c-pc/home.nix
@@ -52,15 +52,6 @@
];
};
- home.roles = {
- dev = {
- enable = true;
- key = "314C14641E707B68";
- };
-
- desktop.enable = true;
- };
-
programs = {
feh.enable = true;
btop.enable = true;
diff --git a/roles/home/desktop/default.nix b/roles/home/desktop/default.nix
deleted file mode 100644
index 8e411ba..0000000
--- a/roles/home/desktop/default.nix
+++ /dev/null
@@ -1,79 +0,0 @@
-{ config, lib, pkgs, ... }:
-with lib;
-
-let cfg = config.home.roles.desktop; in {
- imports = [
- ./theme.nix
-
- ./i3.nix
- ./picom.nix
- ./polybar.nix
- ./rofi.nix
- ./kitty.nix
-
- ./gtk.nix
- ./fcitx5.nix
-
- ./discord.nix
- ./eww.nix
- ./mpv.nix
- ./flameshot.nix
- ./fastfetch.nix
- ./cmus.nix
- ];
-
- options.home.roles.desktop = {
- enable = mkEnableOption "desktop home role";
-
- discord = mkOption {
- type = types.bool;
- default = cfg.enable;
- };
-
- eww = mkOption {
- type = types.bool;
- default = cfg.enable;
- };
-
- mpv = mkOption {
- type = types.bool;
- default = cfg.enable;
- };
-
- screenshot = mkOption {
- type = types.bool;
- default = cfg.enable;
- };
-
- fetch = mkOption {
- type = types.bool;
- default = cfg.enable;
- };
-
- music = mkOption {
- type = types.bool;
- default = cfg.enable;
- };
- };
-
- config = mkIf cfg.enable {
- gtk.enable = true;
-
- home = {
- packages = with pkgs; [
- (writeShellScriptBin "switch-theme" ''
- #!/usr/bin/env bash
-
- cd /etc/nixos
-
- rm theme.nix
- ln -s ./themes/$1.nix theme.nix
-
- sudo nixos-rebuild switch --flake path:/etc/nixos
-
- i3-msg restart
- '')
- ];
- };
- };
-}
diff --git a/roles/home/desktop/gtk.nix b/roles/home/desktop/gtk.nix
deleted file mode 100644
index 33745d5..0000000
--- a/roles/home/desktop/gtk.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ pkgs, ... }:
-
-{
- gtk = {
- theme = {
- package = pkgs.gruvbox-gtk-theme;
- name = "Gruvbox-Dark";
- };
-
- font = {
- name = "monospace";
- size = 8;
- };
- };
-}
diff --git a/snowfall/modules/home/desktop/components/gtk/default.nix b/snowfall/modules/home/desktop/components/gtk/default.nix
new file mode 100644
index 0000000..a20cc1f
--- /dev/null
+++ b/snowfall/modules/home/desktop/components/gtk/default.nix
@@ -0,0 +1,26 @@
+{ options, config, lib, pkgs, namespace, ... }:
+
+with lib; with lib.${namespace}; let
+ cfg = config.${namespace}.desktop.components.gtk;
+in {
+ options.${namespace}.desktop.components.gtk = with types; {
+ enable = mkEnableOption "gtk";
+ };
+
+ config = mkIf cfg.enable {
+ gtk = {
+ enable = true;
+
+ #TODO: dynamic theming
+ theme = {
+ package = pkgs.gruvbox-gtk-theme;
+ name = "Gruvbox-Dark";
+ };
+
+ font = {
+ name = "monospace";
+ size = 8;
+ };
+ };
+ };
+}
diff --git a/snowfall/modules/home/suites/desktop/default.nix b/snowfall/modules/home/suites/desktop/default.nix
index 2e73ad0..f80cadb 100644
--- a/snowfall/modules/home/suites/desktop/default.nix
+++ b/snowfall/modules/home/suites/desktop/default.nix
@@ -19,6 +19,10 @@ in {
kitty.enable = true;
flameshot.enable = true;
};
+
+ desktop.components = {
+ gtk.enable = true;
+ };
};
};
}
diff --git a/snowfall/modules/nixos/suites/desktop/default.nix b/snowfall/modules/nixos/suites/desktop/default.nix
index 90b60cc..1d6e0c2 100644
--- a/snowfall/modules/nixos/suites/desktop/default.nix
+++ b/snowfall/modules/nixos/suites/desktop/default.nix
@@ -21,5 +21,7 @@ in {
system.fonts.enable = true;
};
+
+ programs.dconf.enable = true;
};
}