-
Notifications
You must be signed in to change notification settings - Fork 0
/
desktop.nix
118 lines (111 loc) · 2.59 KB
/
desktop.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
117
118
# desktop.nix
{ config, lib, pkgs, ... }:
# Set desktop in configuration.nix
# Current desktops supported:
# kde
# pantheon
let
myuser = config.myParams.myusername;
in
with lib;
{
options = {
myDesktop = mkOption {
type = types.str;
default = "kde";
description = "Desktop Environment to use";
};
};
config = mkMerge [
(mkIf (config.myDesktop == "kde") {
services.desktopManager.plasma6.enable = true;
services = {
xserver.enable = true;
displayManager = {
sddm.enable = true;
defaultSession = "plasmax11";
autoLogin.enable = true;
autoLogin.user = "${myuser}";
};
};
})
(mkIf (config.myDesktop == "hyprland") {
services.xserver = {
enable = true;
displayManager.gdm = {
enable = true;
wayland = true;
};
};
programs.hyprland = {
enable = true;
xwayland.enable = true;
};
# environment.sessionVariables = {
# WLR_NO_HARDWARE_CURSORS = "1";
# };
hardware = {
opengl.enable = true;
};
xdg.portal.enable = true;
xdg.portal.extraPortals = [
pkgs.xdg-desktop-portal
pkgs.xdg-desktop-portal-gtk
];
environment.sessionVariables = {
QT_QPA_PLATFORMTHEME = "qt5ct";
};
# environment.systemPackages = [
# pkgs.waybar
# # Notifications
# pkgs.dunst
# pkgs.libnotify
# # Wallpapers
# unstable.pkgs.swww
# # terminal
# pkgs.kitty
# # App launcher
# pkgs.rofi-wayland
# ];
})
(mkIf (config.myDesktop == "pantheon") {
services.xserver = {
enable = true;
displayManager.lightdm.autoLogin.timeout = 3600;
desktopManager.pantheon = {
enable = true;
extraGSettingsOverrides = ''
[org.gnome.settings-daemon.plugins.power]
[io.elementary.terminal.settings]
font='Hack Nerd Font Mono 10'
follow-last-tab=true
'';
extraGSettingsOverridePackages = [
pkgs.pantheon.elementary-terminal
];
};
};
programs.pantheon-tweaks.enable = true;
})
(mkIf (config.myDesktop == "budgie") {
services.xserver = {
enable = true;
desktopManager.budgie.enable = true;
displayManager.lightdm = {
enable = true;
autoLogin.timeout = 3600;
};
};
xdg.portal.enable = true;
# xdg.portal.extraPortals = [
# pkgs.xdg-desktop-portal
# pkgs.xdg-desktop-portal-gtk
# ];
})
# Common desktop config settings go below
({
# X11 keymap
services.xserver.xkb.layout = "gb";
})
];
}