feat: add hyprland, gnome configurations and changes to default
* add gnome and hyprland base setup * remove unused intel-ocl from graphics * move xdg-portal configuration to desktop environments Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com>
This commit is contained in:
parent
e3b7f53837
commit
bd68ccda65
@ -35,7 +35,6 @@
|
|||||||
vaapiIntel
|
vaapiIntel
|
||||||
libvdpau-va-gl
|
libvdpau-va-gl
|
||||||
vaapiVdpau
|
vaapiVdpau
|
||||||
intel-ocl
|
|
||||||
intel-media-driver
|
intel-media-driver
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
@ -65,10 +64,9 @@
|
|||||||
# Additional configuration for XDG Portal.
|
# Additional configuration for XDG Portal.
|
||||||
xdg.portal.wlr.enable = true;
|
xdg.portal.wlr.enable = true;
|
||||||
xdg.portal.xdgOpenUsePortal = true;
|
xdg.portal.xdgOpenUsePortal = true;
|
||||||
xdg.portal.extraPortals = with pkgs; [
|
|
||||||
xdg-desktop-portal-gtk
|
# Add bibata cursors everywhere because it looks cool.
|
||||||
xdg-desktop-portal-kde
|
environment.systemPackages = [pkgs.bibata-cursors];
|
||||||
];
|
|
||||||
|
|
||||||
# Set environment variables for the system.
|
# Set environment variables for the system.
|
||||||
environment.variables = {
|
environment.variables = {
|
||||||
|
86
modules/nixos/desktop/gnome/default.nix
Normal file
86
modules/nixos/desktop/gnome/default.nix
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
options.snowflake.desktop.gnome = {
|
||||||
|
enable = lib.mkEnableOption "Enable the Gnome Desktop Environment";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf config.snowflake.desktop.gnome.enable {
|
||||||
|
services.xserver = {
|
||||||
|
displayManager.gdm = {
|
||||||
|
enable = true;
|
||||||
|
wayland = true;
|
||||||
|
};
|
||||||
|
desktopManager.gnome = {
|
||||||
|
enable = true;
|
||||||
|
extraGSettingsOverridePackages = [
|
||||||
|
pkgs.nautilus-open-any-terminal
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.udev.packages = [pkgs.gnome-settings-daemon];
|
||||||
|
|
||||||
|
# Remove bloatware that we do not require.
|
||||||
|
environment = {
|
||||||
|
gnome.excludePackages = with pkgs; [
|
||||||
|
atomix # puzzle game
|
||||||
|
cheese # webcam tool
|
||||||
|
epiphany # web browser
|
||||||
|
evince # document viewer
|
||||||
|
geary # email reader
|
||||||
|
gedit
|
||||||
|
gnome-characters
|
||||||
|
gnome-connections
|
||||||
|
gnome-console
|
||||||
|
gnome-contacts
|
||||||
|
gnome-font-viewer
|
||||||
|
gnome-initial-setup
|
||||||
|
gnome-maps
|
||||||
|
gnome-music
|
||||||
|
gnome-photos
|
||||||
|
gnome-shell-extensions
|
||||||
|
gnome-text-editor
|
||||||
|
gnome-tour
|
||||||
|
hitori # sudoku game
|
||||||
|
iagno # go game
|
||||||
|
snapshot
|
||||||
|
tali # poker game
|
||||||
|
totem # video player
|
||||||
|
yelp # Help view
|
||||||
|
];
|
||||||
|
|
||||||
|
systemPackages = with pkgs; [
|
||||||
|
ffmpegthumbnailer
|
||||||
|
adwaita-icon-theme
|
||||||
|
bibata-cursors
|
||||||
|
dconf-editor
|
||||||
|
gnome-tweaks
|
||||||
|
nautilus-python
|
||||||
|
nautilus-open-any-terminal
|
||||||
|
wl-clipboard
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.dconf.profiles = {
|
||||||
|
gdm.databases = [
|
||||||
|
{
|
||||||
|
settings = {
|
||||||
|
"org/gnome/mutter".experimental-features = ["scale-monitor-framebuffer"];
|
||||||
|
"org/gnome/desktop/peripherals/mouse".accel-profile = "flat";
|
||||||
|
"org/gnome/desktop/peripherals/touchpad".tap-to-click = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
snowflake.user.extraGroups = [
|
||||||
|
"audio"
|
||||||
|
"input"
|
||||||
|
"video"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
39
modules/nixos/desktop/hyprland/default.nix
Normal file
39
modules/nixos/desktop/hyprland/default.nix
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
inputs,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
options.snowflake.desktop.hyprland = {
|
||||||
|
enable = lib.mkEnableOption "Enable the Hyprland Desktop Environment";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf config.snowflake.desktop.hyprland.enable {
|
||||||
|
programs.hyprland = {
|
||||||
|
enable = true;
|
||||||
|
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
||||||
|
portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
|
||||||
|
xwayland.enable = true;
|
||||||
|
};
|
||||||
|
programs.hyprlock.enable = true;
|
||||||
|
|
||||||
|
environment.sessionVariables.WLR_NO_HARDWARE_CURSORS = "1";
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
bibata-cursors
|
||||||
|
mako
|
||||||
|
wofi
|
||||||
|
];
|
||||||
|
|
||||||
|
security.polkit.enable = true;
|
||||||
|
security.pam.services.hyprlock = {
|
||||||
|
fprintAuth = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
snowflake.user.extraGroups = [
|
||||||
|
"audio"
|
||||||
|
"input"
|
||||||
|
"video"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
@ -32,6 +32,7 @@
|
|||||||
|
|
||||||
xdg.portal.extraPortals = with pkgs; [
|
xdg.portal.extraPortals = with pkgs; [
|
||||||
xdg-desktop-portal-kde
|
xdg-desktop-portal-kde
|
||||||
|
xdg-desktop-portal-gtk
|
||||||
];
|
];
|
||||||
|
|
||||||
snowflake.user.extraGroups = [
|
snowflake.user.extraGroups = [
|
||||||
|
Loading…
Reference in New Issue
Block a user