Init GNOME desktop config
This commit is contained in:
parent
7425d5b06c
commit
e158bda697
|
|
@ -10,6 +10,7 @@
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
./../../modules/nixos/cspark-single-gpu-passthru/module.nix
|
./../../modules/nixos/cspark-single-gpu-passthru/module.nix
|
||||||
./../../modules/nixos/cspark-desktop-plasma/module.nix
|
./../../modules/nixos/cspark-desktop-plasma/module.nix
|
||||||
|
./../../modules/nixos/cspark-desktop-gnome/module.nix
|
||||||
./../../modules/nixos/cspark-desktop-sway/module.nix
|
./../../modules/nixos/cspark-desktop-sway/module.nix
|
||||||
./../../modules/nixos/cspark-desktop-niri/module.nix
|
./../../modules/nixos/cspark-desktop-niri/module.nix
|
||||||
inputs.home-manager.nixosModules.default
|
inputs.home-manager.nixosModules.default
|
||||||
|
|
@ -27,8 +28,9 @@
|
||||||
|
|
||||||
# Custom desktop environments
|
# Custom desktop environments
|
||||||
# cspark-desktop-plasma.enable = true;
|
# cspark-desktop-plasma.enable = true;
|
||||||
|
cspark-desktop-gnome.enable = true;
|
||||||
# cspark-desktop-sway.enable = true;
|
# cspark-desktop-sway.enable = true;
|
||||||
cspark-desktop-niri.enable = true;
|
# cspark-desktop-niri.enable = true;
|
||||||
|
|
||||||
# My audio interface has issues after coming out from suspend/hibernate, this will reset it to fix it when necessary.
|
# My audio interface has issues after coming out from suspend/hibernate, this will reset it to fix it when necessary.
|
||||||
systemd.services.audiointerface-reset-unbind = {
|
systemd.services.audiointerface-reset-unbind = {
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@
|
||||||
# Global Config, always to be included
|
# Global Config, always to be included
|
||||||
./../../global-home.nix
|
./../../global-home.nix
|
||||||
./../../modules/nixos/cspark-desktop-plasma/home.nix
|
./../../modules/nixos/cspark-desktop-plasma/home.nix
|
||||||
|
./../../modules/nixos/cspark-desktop-gnome/home.nix
|
||||||
./../../modules/nixos/cspark-desktop-sway/home.nix
|
./../../modules/nixos/cspark-desktop-sway/home.nix
|
||||||
./../../modules/nixos/cspark-desktop-niri/home.nix
|
./../../modules/nixos/cspark-desktop-niri/home.nix
|
||||||
];
|
];
|
||||||
|
|
@ -16,8 +17,9 @@
|
||||||
|
|
||||||
# Custom Desktop Configurations
|
# Custom Desktop Configurations
|
||||||
# cspark-desktop-plasma-config-1.enable = true;
|
# cspark-desktop-plasma-config-1.enable = true;
|
||||||
|
cspark-desktop-gnome-config-1.enable = true;
|
||||||
# cspark-desktop-sway-config-1.enable = true;
|
# cspark-desktop-sway-config-1.enable = true;
|
||||||
cspark-desktop-niri-config-1.enable = true;
|
# cspark-desktop-niri-config-1.enable = true;
|
||||||
|
|
||||||
# Home Manager is pretty good at managing dotfiles. The primary way to manage
|
# Home Manager is pretty good at managing dotfiles. The primary way to manage
|
||||||
# plain files is through 'home.file'.
|
# plain files is through 'home.file'.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
{ lib, config, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.cspark-desktop-gnome-config-1;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.cspark-desktop-gnome-config-1 = {
|
||||||
|
enable
|
||||||
|
= lib.mkEnableOption "Enable Custom GNOME Desktop Setup 1";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
home.sessionVariables = {
|
||||||
|
TERM = "foot";
|
||||||
|
QT_QPA_PLATFORM = "wayland";
|
||||||
|
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
|
||||||
|
SDL_VIDEODRIVER = "wayland";
|
||||||
|
MOZ_ENABLE_WAYLAND = "1";
|
||||||
|
# Enable native wayland support for chromium and electron based applications
|
||||||
|
NIXOS_OZONE_WL = "1";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,110 @@
|
||||||
|
{ lib, config, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.cspark-desktop-gnome;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.cspark-desktop-gnome = {
|
||||||
|
enable
|
||||||
|
= lib.mkEnableOption "Enable GNOME Plasma Desktop Setup";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
services.xserver = {
|
||||||
|
# Enable the X11 windowing system.
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
# Remove/disable xterm, we are using Foot.
|
||||||
|
desktopManager.xterm.enable = false;
|
||||||
|
excludePackages = with pkgs; [ xterm ];
|
||||||
|
|
||||||
|
# Enable the GDM display manager
|
||||||
|
displayManager.gdm = {
|
||||||
|
enable = true;
|
||||||
|
wayland = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enable the GNOME Desktop Environment.
|
||||||
|
desktopManager.gnome.enable = true;
|
||||||
|
|
||||||
|
# Enable touchpad support (enabled default in most desktopManager).
|
||||||
|
# libinput.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Exclude default GNOME applications
|
||||||
|
environment.gnome.excludePackages = (with pkgs; [
|
||||||
|
gnome-photos
|
||||||
|
gnome-tour
|
||||||
|
]) ++ (with pkgs.gnome; [
|
||||||
|
cheese # webcam tool
|
||||||
|
gnome-music
|
||||||
|
gnome-terminal
|
||||||
|
gedit # text editor
|
||||||
|
epiphany # web browser
|
||||||
|
geary # email reader
|
||||||
|
evince # document viewer
|
||||||
|
gnome-characters
|
||||||
|
totem # video player
|
||||||
|
tali # poker game
|
||||||
|
iagno # go game
|
||||||
|
hitori # sudoku game
|
||||||
|
atomix # puzzle game
|
||||||
|
]);
|
||||||
|
|
||||||
|
services.udev.packages = with pkgs; [ gnome.gnome-settings-daemon ];
|
||||||
|
services.dbus.packages = with pkgs; [ gnome2.GConf ];
|
||||||
|
|
||||||
|
# GTK themes are not applied in Wayland applications / Window Decorations missing / Cursor looks different
|
||||||
|
programs.dconf.enable = true;
|
||||||
|
|
||||||
|
# Enable CUPS to print documents.
|
||||||
|
services.printing.enable = true;
|
||||||
|
|
||||||
|
# Enable sound with pipewire.
|
||||||
|
sound.enable = true;
|
||||||
|
hardware.pulseaudio.enable = false;
|
||||||
|
security.rtkit.enable = true;
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
alsa.support32Bit = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
# If you want to use JACK applications, uncomment this
|
||||||
|
jack.enable = true;
|
||||||
|
|
||||||
|
# use the example session manager (no others are packaged yet so this is enabled by default,
|
||||||
|
# no need to redefine it in your config for now)
|
||||||
|
#media-session.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Set konsole to be default terminal
|
||||||
|
environment.sessionVariables = {
|
||||||
|
TERM = "foot";
|
||||||
|
QT_QPA_PLATFORM = "wayland";
|
||||||
|
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
|
||||||
|
SDL_VIDEODRIVER = "wayland";
|
||||||
|
MOZ_ENABLE_WAYLAND = "1";
|
||||||
|
# Enable native wayland support for chromium and electron based applications
|
||||||
|
NIXOS_OZONE_WL = "1";
|
||||||
|
};
|
||||||
|
environment.variables = {
|
||||||
|
TERM = "foot";
|
||||||
|
QT_QPA_PLATFORM = "wayland";
|
||||||
|
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
|
||||||
|
SDL_VIDEODRIVER = "wayland";
|
||||||
|
MOZ_ENABLE_WAYLAND = "1";
|
||||||
|
# Enable native wayland support for chromium and electron based applications
|
||||||
|
NIXOS_OZONE_WL = "1";
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
# GNOME plugins
|
||||||
|
gnomeExtensions.appindicator
|
||||||
|
|
||||||
|
foot # Terminal Emulator
|
||||||
|
wl-clipboard
|
||||||
|
wev # Clone of X11 xev for wayland
|
||||||
|
];
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue