rearrange DE modules
This commit is contained in:
parent
9caeac0da8
commit
77fc760e3d
5 changed files with 100 additions and 84 deletions
|
|
@ -43,31 +43,6 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Input method configuration
|
|
||||||
i18n.inputMethod = {
|
|
||||||
enable = true;
|
|
||||||
type = "ibus";
|
|
||||||
ibus.engines = with pkgs.ibus-engines; [
|
|
||||||
libpinyin # Chinese Simplified Pinyin
|
|
||||||
mozc # Japanese (Romaji)
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
# GNOME settings (prevent suspend, enable virtual keyboard)
|
|
||||||
programs.dconf.profiles.user.databases = [{
|
|
||||||
settings = {
|
|
||||||
"org/gnome/settings-daemon/plugins/power" = {
|
|
||||||
sleep-inactive-ac-type = "nothing";
|
|
||||||
};
|
|
||||||
"org/gnome/desktop/a11y/applications" = {
|
|
||||||
screen-keyboard-enabled = true;
|
|
||||||
};
|
|
||||||
"org/gnome/desktop/peripherals/mouse" = {
|
|
||||||
accel-profile = "flat";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}];
|
|
||||||
|
|
||||||
# Hardware support for Steam Deck (AMD APU)
|
# Hardware support for Steam Deck (AMD APU)
|
||||||
hardware = {
|
hardware = {
|
||||||
enableRedistributableFirmware = true;
|
enableRedistributableFirmware = true;
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,5 @@
|
||||||
'';
|
'';
|
||||||
})
|
})
|
||||||
remmina
|
remmina
|
||||||
evince
|
|
||||||
loupe
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -80,6 +80,31 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Input method configuration for GNOME
|
||||||
|
i18n.inputMethod = {
|
||||||
|
enable = true;
|
||||||
|
type = "ibus";
|
||||||
|
ibus.engines = with pkgs.ibus-engines; [
|
||||||
|
libpinyin # Chinese Simplified Pinyin
|
||||||
|
mozc # Japanese (Romaji)
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# GNOME dconf settings
|
||||||
|
programs.dconf.profiles.user.databases = [{
|
||||||
|
settings = {
|
||||||
|
"org/gnome/settings-daemon/plugins/power" = {
|
||||||
|
sleep-inactive-ac-type = "nothing";
|
||||||
|
};
|
||||||
|
"org/gnome/desktop/a11y/applications" = {
|
||||||
|
screen-keyboard-enabled = true;
|
||||||
|
};
|
||||||
|
"org/gnome/desktop/peripherals/mouse" = {
|
||||||
|
accel-profile = "flat";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}];
|
||||||
|
|
||||||
# System packages for GNOME
|
# System packages for GNOME
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
hicolor-icon-theme # Fallback icon theme
|
hicolor-icon-theme # Fallback icon theme
|
||||||
|
|
|
||||||
|
|
@ -387,6 +387,8 @@
|
||||||
adwaita-qt6
|
adwaita-qt6
|
||||||
grimblast
|
grimblast
|
||||||
xfce.thunar
|
xfce.thunar
|
||||||
|
evince
|
||||||
|
loupe
|
||||||
];
|
];
|
||||||
|
|
||||||
# Hyprland-specific shell configuration
|
# Hyprland-specific shell configuration
|
||||||
|
|
|
||||||
|
|
@ -1,70 +1,86 @@
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.hyprland-system-custom;
|
||||||
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
# Enable Hyprland
|
options.hyprland-system-custom = {
|
||||||
programs.hyprland = {
|
enableDisplayManager = mkOption {
|
||||||
enable = true;
|
type = types.bool;
|
||||||
xwayland.enable = true;
|
default = true;
|
||||||
|
description = "Enable greetd display manager (conflicts with jovian.steam.autoStart)";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Display manager: greetd + tuigreet
|
config = {
|
||||||
services.greetd = {
|
# Enable Hyprland
|
||||||
enable = true;
|
programs.hyprland = {
|
||||||
settings = {
|
enable = true;
|
||||||
default_session = {
|
xwayland.enable = true;
|
||||||
command = "${pkgs.tuigreet}/bin/tuigreet --time --cmd Hyprland";
|
};
|
||||||
user = "greeter";
|
|
||||||
|
# Display manager: greetd + tuigreet
|
||||||
|
services.greetd = mkIf cfg.enableDisplayManager {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
default_session = {
|
||||||
|
command = "${pkgs.tuigreet}/bin/tuigreet --time --cmd Hyprland";
|
||||||
|
user = "greeter";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
# XDG portals for screen sharing, file picker, etc.
|
# XDG portals for screen sharing, file picker, etc.
|
||||||
xdg.portal = {
|
xdg.portal = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraPortals = [
|
extraPortals = [
|
||||||
pkgs.xdg-desktop-portal-hyprland
|
pkgs.xdg-desktop-portal-hyprland
|
||||||
pkgs.xdg-desktop-portal-gtk
|
pkgs.xdg-desktop-portal-gtk
|
||||||
];
|
];
|
||||||
config.common.default = ["*"];
|
config.common.default = ["*"];
|
||||||
};
|
|
||||||
|
|
||||||
# Configure touchpad settings
|
|
||||||
services.libinput = {
|
|
||||||
enable = true;
|
|
||||||
touchpad = {
|
|
||||||
naturalScrolling = true;
|
|
||||||
tapping = false;
|
|
||||||
disableWhileTyping = true;
|
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
# GNOME Keyring with PAM integration for WiFi password storage
|
# Configure touchpad settings
|
||||||
services.gnome.gnome-keyring.enable = true;
|
services.libinput = {
|
||||||
security.pam.services.greetd.enableGnomeKeyring = true;
|
enable = true;
|
||||||
|
touchpad = {
|
||||||
|
naturalScrolling = true;
|
||||||
|
tapping = false;
|
||||||
|
disableWhileTyping = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
# Input method configuration for Hyprland
|
# GNOME Keyring with PAM integration for WiFi password storage
|
||||||
i18n.inputMethod = {
|
services.gnome.gnome-keyring.enable = true;
|
||||||
enable = true;
|
security.pam.services.greetd.enableGnomeKeyring = mkIf cfg.enableDisplayManager true;
|
||||||
type = "fcitx5";
|
|
||||||
fcitx5.addons = with pkgs; [
|
# Input method configuration for Hyprland
|
||||||
fcitx5-rime # Chinese Simplified/Traditional (more powerful than libpinyin)
|
i18n.inputMethod = {
|
||||||
fcitx5-mozc # Japanese (Romaji)
|
enable = true;
|
||||||
fcitx5-gtk # GTK integration
|
type = "fcitx5";
|
||||||
|
fcitx5.addons = with pkgs; [
|
||||||
|
fcitx5-rime # Chinese Simplified/Traditional (more powerful than libpinyin)
|
||||||
|
fcitx5-mozc # Japanese (Romaji)
|
||||||
|
fcitx5-gtk # GTK integration
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# System packages for Hyprland
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
hyprland
|
||||||
|
hypridle
|
||||||
|
hyprlock
|
||||||
|
hyprpaper
|
||||||
|
tuigreet
|
||||||
|
waybar
|
||||||
|
wofi
|
||||||
|
networkmanagerapplet
|
||||||
|
pavucontrol
|
||||||
|
nwg-displays
|
||||||
|
swaynotificationcenter
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
# System packages for Hyprland
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
hyprland
|
|
||||||
hypridle
|
|
||||||
hyprlock
|
|
||||||
hyprpaper
|
|
||||||
tuigreet
|
|
||||||
waybar
|
|
||||||
wofi
|
|
||||||
networkmanagerapplet
|
|
||||||
pavucontrol
|
|
||||||
nwg-displays
|
|
||||||
swaynotificationcenter
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue