Initial NixOS config

This commit is contained in:
2025-11-19 08:42:21 +01:00
commit 61adc10c49
14 changed files with 1645 additions and 0 deletions

79
modules/hyprland.nix Normal file
View File

@@ -0,0 +1,79 @@
{ config, pkgs, inputs, ... }:
{
# Import Hyprland module
imports = [ inputs.hyprland.nixosModules.default ];
# Enable Hyprland
programs.hyprland = {
enable = true;
xwayland.enable = true;
};
# Hyprland-related packages
environment.systemPackages = with pkgs; [
# Core Hyprland tools
hyprpaper # Wallpaper utility
hyprpicker # Color picker
hypridle # Idle daemon
hyprlock # Screen locker
# Wayland essentials
waybar # Status bar
wofi # Application launcher
dunst # Notification daemon
swww # Wallpaper daemon (alternative to hyprpaper)
# Screenshot and recording
grim # Screenshot tool
slurp # Region selector
wl-clipboard # Clipboard utilities
# File manager
thunar
# Image viewer
imv
# PDF viewer
zathura
# Audio control
pavucontrol
# Network management
networkmanagerapplet
# Brightness control
brightnessctl
# Additional tools for ricing
jq # JSON processor (for scripts)
socat # Socket tools
wlogout # Logout menu
nwg-look # GTK theme config
qt5ct # Qt5 config
qt6ct # Qt6 config
];
# Enable XDG Desktop Portal for Hyprland
xdg.portal = {
enable = true;
extraPortals = with pkgs; [
xdg-desktop-portal-hyprland
xdg-desktop-portal-gtk
];
};
# Security - for screen locking
security.pam.services.hyprlock = {};
# Fonts for better UI
fonts.packages = with pkgs; [
noto-fonts
noto-fonts-cjk
noto-fonts-emoji
font-awesome
(nerdfonts.override { fonts = [ "JetBrainsMono" "FiraCode" "DroidSansMono" ]; })
];
}