blob: bd336888a01f38cd0d166127e6b6f4e21ac6852d (
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
|
{
pkgs,
lib,
...
}: {
# Desktop environment - Niri compositor
programs.niri.enable = true;
services.displayManager.defaultSession = "niri";
# Keyboard layout - change to your preference
services.xserver.xkb = {
layout = "us";
};
# Polkit for Niri
security.polkit.enable = true;
systemd.user.services.niri-flake-polkit.enable = false;
systemd.user.services.polkit-gnome-authentication-agent-1 = {
description = "polkit-gnome-authentication-agent-1";
wantedBy = ["graphical-session.target"];
wants = ["graphical-session.target"];
after = ["graphical-session.target"];
serviceConfig = {
Type = "simple";
ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
Restart = "on-failure";
RestartSec = 1;
TimeoutStopSec = 10;
};
};
# Audio - Pipewire
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
environment.systemPackages = with pkgs; [
playerctl
pulsemixer
];
# XDG portals
xdg.portal.extraPortals = [
pkgs.xdg-desktop-portal-cosmic
];
xdg.portal.config.common.default = [
"gnome"
];
# Fonts
fonts = {
packages = with pkgs; [
nerd-fonts.fira-code
noto-fonts-color-emoji
inter
];
fontDir.enable = true;
};
# Stylix - pick your scheme
stylix = {
enable = true;
polarity = "dark";
base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-hard.yaml";
fonts = {
sansSerif = {
package = pkgs.inter;
name = "Inter";
};
monospace = {
package = pkgs.nerd-fonts.fira-code;
name = "FiraCode Nerd Font";
};
emoji = {
package = pkgs.noto-fonts-color-emoji;
name = "Noto Color Emoji";
};
};
};
# Services
services.upower.enable = true;
}
|