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:
Chinmay D. Pai 2024-09-23 11:34:09 +05:30
parent e3b7f53837
commit bd68ccda65
Signed by: thunderbottom
GPG Key ID: 75507BE256F40CED
4 changed files with 129 additions and 5 deletions

View File

@ -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 = {

View 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"
];
};
}

View 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"
];
};
}

View File

@ -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 = [