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
|
||||
libvdpau-va-gl
|
||||
vaapiVdpau
|
||||
intel-ocl
|
||||
intel-media-driver
|
||||
];
|
||||
};
|
||||
@ -65,10 +64,9 @@
|
||||
# Additional configuration for XDG Portal.
|
||||
xdg.portal.wlr.enable = true;
|
||||
xdg.portal.xdgOpenUsePortal = true;
|
||||
xdg.portal.extraPortals = with pkgs; [
|
||||
xdg-desktop-portal-gtk
|
||||
xdg-desktop-portal-kde
|
||||
];
|
||||
|
||||
# Add bibata cursors everywhere because it looks cool.
|
||||
environment.systemPackages = [pkgs.bibata-cursors];
|
||||
|
||||
# Set environment variables for the system.
|
||||
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-desktop-portal-kde
|
||||
xdg-desktop-portal-gtk
|
||||
];
|
||||
|
||||
snowflake.user.extraGroups = [
|
||||
|
Loading…
Reference in New Issue
Block a user