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" ]; })
];
}

89
modules/system.nix Normal file
View File

@@ -0,0 +1,89 @@
{ config, pkgs, ... }:
{
# Essential system packages
environment.systemPackages = with pkgs; [
# System utilities
wget
curl
git
vim
neovim
htop
btop
killall
unzip
zip
p7zip
# Network tools
networkmanagerapplet
# File managers
ranger
lf
# Terminal
kitty
alacritty
# Shell
zsh
oh-my-zsh
# Development
gcc
gnumake
cmake
# Misc utilities
ripgrep
fd
fzf
bat
eza
tldr
tree
];
# Enable sound
sound.enable = true;
hardware.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
};
# Enable CUPS for printing
services.printing.enable = true;
# Enable OpenGL
hardware.opengl = {
enable = true;
driSupport = true;
driSupport32Bit = true;
};
# Enable Bluetooth
hardware.bluetooth.enable = true;
services.blueman.enable = true;
# Enable SSH
services.openssh.enable = true;
# Enable ZSH
programs.zsh.enable = true;
# Enable dconf (required for some applications)
programs.dconf.enable = true;
# XDG portals for Wayland
xdg.portal = {
enable = true;
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
};
}