-
Notifications
You must be signed in to change notification settings - Fork 2
/
module.nix
116 lines (112 loc) · 2.68 KB
/
module.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
inputs: {
config,
lib,
pkgs,
...
}: let
inherit (pkgs.stdenv.hostPlatform) system;
cfg = config.programs.andromeda;
nucleus = pkgs.callPackage ./nucleus {inherit pkgs inputs cfg;};
# my desktop
andromeda = pkgs.callPackage ./andromeda {inherit pkgs inputs cfg;};
inherit (lib) mkOption mkEnableOption types mkIf;
in {
options.programs.andromeda = {
enable = mkEnableOption "rice :3";
nucleus = mkOption {
type = types.package;
default = nucleus;
};
andromeda = mkOption {
type = types.package;
default = andromeda;
};
theme = {
colors = {
# by default we use catppuccin frappe base16
accent = mkOption {
type = types.str;
default = "f4b8e4";
};
base00 = mkOption {
type = types.str;
default = "303446";
};
base01 = mkOption {
type = types.str;
default = "292c3c";
};
base02 = mkOption {
type = types.str;
default = "414559";
};
base03 = mkOption {
type = types.str;
default = "51576d";
};
base04 = mkOption {
type = types.str;
default = "626880";
};
base05 = mkOption {
type = types.str;
default = "c6d0f5";
};
base06 = mkOption {
type = types.str;
default = "f2d5cf";
};
base07 = mkOption {
type = types.str;
default = "babbf1";
};
base08 = mkOption {
type = types.str;
default = "e78284";
};
base09 = mkOption {
type = types.str;
default = "ef9f76";
};
base0A = mkOption {
type = types.str;
default = "e5c890";
};
base0B = mkOption {
type = types.str;
default = "a6d189";
};
base0C = mkOption {
type = types.str;
default = "81c8be";
};
base0D = mkOption {
type = types.str;
default = "8caaee";
};
base0E = mkOption {
type = types.str;
default = "ca9ee6";
};
base0F = mkOption {
type = types.str;
default = "eebebe";
};
};
};
};
config = mkIf cfg.enable {
environment.systemPackages = let
infoscript = import ./andromeda/misc/infoscript.nix pkgs;
osd = import ./andromeda/misc/osd.nix pkgs;
in
import ./andromeda {inherit pkgs inputs cfg;}
++ (import ./nucleus/packages.nix {inherit pkgs;})
++ [
cfg.nucleus
infoscript
osd
];
};
imports = [./homix/gtk];
}