blob: 16406c9a01d808d8d031f2ce4966e2c54fab2cfd (
plain)
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
|
{
lib,
config,
pkgs,
inputs,
...
}: let
inherit (lib) mkEnableOption mkIf optionals;
cfg = config.desktops;
in {
imports = [
./hyprland
./sway
./ly.nix
./wayland.nix
];
options.desktops = {
enable = mkEnableOption "Enable baseline desktop utils and programs.";
wayland = mkEnableOption "Enable wayland desktop components.";
ly = mkEnableOption "Install the ly display manager.";
hyprland = mkEnableOption "Install the Hyprland desktop.";
sway = mkEnableOption "Install the sway desktop.";
};
config = mkIf cfg.enable {
home-manager.users.${config.user} = {
# desktop specific programs
home.packages = with pkgs; [
# gtk
adwaita-icon-theme
# codecs
libaacs
libavif
libbluray
libjxl
# wayland
cage
grimblast
wl-clipboard
wl-clip-persist
wl-mirror
# xdg
libnotify
];
};
# desktop only fonts
fonts.packages =
(with pkgs; [
corefonts
dejavu_fonts
fira-code
fira-code-symbols
jetbrains-mono
material-icons
nerd-fonts.fira-code
noto-fonts
noto-fonts-cjk-sans
noto-fonts-emoji
twemoji-color-font
vistafonts
])
++ (with inputs.apple-fonts.packages.${pkgs.system}; [
sf-pro
sf-mono
sf-compact
]);
fonts.fontconfig = {
enable = true;
defaultFonts = {
serif = [
"Twemoji"
"DejaVu Serif"
];
sansSerif = [
"Twemoji"
"DejaVu Sans"
];
monospace = [
"Fira Code"
"FiraCode Nerd Font Mono"
"Font Awesome 6 Pro Regular"
"Twemoji"
"DejaVu Sans Mono"
];
emoji = [
"Twemoji"
"Noto Color Emoji"
];
};
};
};
}
|