This commit is contained in:
2026-01-22 12:07:08 -07:00
parent 62c0915491
commit 6ec023f040
6 changed files with 205 additions and 10 deletions

95
modules/hyprland.nix Normal file
View File

@@ -0,0 +1,95 @@
{ config, pkgs, inputs, ... }:
{
programs.hyprland = {
enable = true;
package = inputs.hyprland.packages.${pkgs.system}.hyprland;
portalPackage = inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland;
};
services.displayManager.sddm = {
enable = true;
wayland.enable = true;
enableHidpi = true;
};
# Environment variables for Wayland
environment.sessionVariables = {
NIXOS_OZONE_WL = "1";
# QT Variables
QT_QPA_PLATFORM = "wayland";
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
QT_AUTO_SCREEN_SCALE_FACTOR = "1";
# Toolkit Backends
GDK_BACKEND = "wayland,x11,*";
SDL_VIDEODRIVER = "wayland";
CLUTTER_BACKEND = "wayland";
# XDG Specifications
XDG_CURRENT_DESKTOP = "Hyprland";
XDG_SESSION_TYPE = "wayland";
XDG_SESSION_DESKTOP = "Hyprland";
};
environment.systemPackages = with pkgs; [
# Core
waybar # Status bar
rofi-wayland # App launcher
swaynotificationcenter # Notifications
libnotify # Notification library
# Theming & Wallpaper
swww # Wallpaper daemon
hyprcursor # Cursor theme manager
# Utilities
wl-clipboard # Clipboard manager
cliphist # Clipboard history
grim # Screenshot tool
slurp # Region selector
swappy # Screenshot editor
hyprpicker # Color picker
# System Management
hypridle # Idle daemon
hyprlock # Screen locker
wlogout # Logout menu
# Audio
pamixer
playerctl
# File Management
# (Dolphin or Nautilus usually handled by user preference, keeping system clean)
# Polkit Agent
polkit_gnome
];
# Security / Polkit
security.polkit.enable = true;
systemd.user.services.polkit-gnome-authentication-agent-1 = {
description = "polkit-gnome-authentication-agent-1";
wantedBy = [ "graphical-session.target" ];
wants = [ "graphical-session.target" ];
after = [ "graphical-session.target" ];
serviceConfig = {
Type = "simple";
ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
Restart = "on-failure";
RestartSec = 1;
TimeoutStopSec = 10;
};
};
# Portals
xdg.portal = {
enable = true;
extraPortals = [
pkgs.xdg-desktop-portal-gtk
];
};
}

View File

@@ -52,12 +52,6 @@ in
impression
streamcontroller
onlyoffice-desktopeditors
# Gnome Extensions
gnomeExtensions.blur-my-shell
gnomeExtensions.just-perfection
gnomeExtensions.arc-menu
gnomeExtensions.appindicator
];
# Programs with extra configuration

60
modules/stylix.nix Normal file
View File

@@ -0,0 +1,60 @@
{ config, pkgs, inputs, ... }:
{
stylix = {
enable = true;
# Set the wallpaper
image = ../assets/wallpapers/japantrain.png;
# Set the color scheme (dark mode)
polarity = "dark";
# Optionally force a specific scheme instead of generating from image
# base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-mocha.yaml";
cursor = {
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Ice";
size = 24;
};
fonts = {
monospace = {
package = pkgs.nerd-fonts.jetbrains-mono;
name = "JetBrainsMono Nerd Font Mono";
};
sansSerif = {
package = pkgs.dejavu_fonts;
name = "DejaVu Sans";
};
serif = {
package = pkgs.dejavu_fonts;
name = "DejaVu Serif";
};
sizes = {
applications = 12;
terminal = 15;
desktop = 10;
popups = 10;
};
};
# Opacity for various applications
opacity = {
applications = 1.0;
terminal = 0.95;
desktop = 1.0;
popups = 1.0;
};
# Configure which targets Stylix should manage
targets = {
console.enable = true;
gnome.enable = true;
gtk.enable = true;
nixos-icons.enable = true;
};
};
}