-
Notifications
You must be signed in to change notification settings - Fork 0
/
hyprland.nix
149 lines (135 loc) · 2.82 KB
/
hyprland.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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
{ config, pkgs, ... }:
{
# Specify system packages needed by Hyprland and other applications
environment.systemPackages = with pkgs; [
# System Packages
baobab
btrfs-progs
cpufrequtils
duf
ffmpeg
glib
hwdata
hyfetch
inxi
libappindicator
libnotify
openssl
vim
wget
xdg-user-dirs
# Additional packages specific to Hyprland or user's setup
audacious
fastfetch
(mpv.override { scripts = [ mpvScripts.mpris ]; }) # assuming you have mpvScripts defined
ranger
ags
btop
cava
cliphist
eog
gnome-system-monitor
file-roller
grim
gtk-engine-murrine
hyprcursor
hypridle
imagemagick
jq
kitty
libsForQt5.qtstyleplugin-kvantum
networkmanagerapplet
nwg-look
nvtopPackages.full
pamixer
pavucontrol
playerctl
polkit_gnome
pyprland
qt5ct
qt6ct
qt6.qtwayland
qt6Packages.qtstyleplugin-kvantum
rofi-wayland
slurp
swappy
swaynotificationcenter
swww
unzip
wl-clipboard
wlogout
yad
wallust
];
# Configure specific programs and services related to Hyprland
programs.hyprland = {
enable = true;
package = pkgs.hyprland; # Adjust if hyprland is provided differently
portalPackage = pkgs.xdg-desktop-portal-hyprland;
xwayland.enable = true;
};
# Other program configurations
programs = {
xwayland.enable = true;
hyprlock.enable = true;
firefox.enable = true;
git.enable = true;
thunar.enable = true;
thunar.plugins = with pkgs.xfce; [
exo
mousepad
thunar-archive-plugin
thunar-volman
tumbler
];
dconf.enable = true;
waybar.enable = true;
};
# Services configuration
services = {
gvfs.enable = true;
tumbler.enable = true;
pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
wireplumber.enable = true;
};
udev.enable = true;
envfs.enable = true;
dbus.enable = true;
fstrim = {
enable = true;
interval = "weekly";
};
fwupd.enable = true;
upower.enable = true;
};
# Fonts configuration
fonts.packages = with pkgs; [
noto-fonts
fira-code
noto-fonts-cjk
jetbrains-mono
font-awesome
terminus_font
(nerdfonts.override { fonts = ["JetBrainsMono"]; })
];
# Security settings
security = {
pam.services.swaylock.text = "auth include login";
polkit.enable = true;
rtkit.enable = true;
};
# Systemd services
systemd.services = {
NetworkManager-wait-online.enable = false;
firewalld.enable = false; # Exclude firewall configuration
power-profiles-daemon = {
enable = true;
wantedBy = [ "multi-user.target" ];
};
};
# Additional configurations as needed
}