initial config

This commit is contained in:
matiss
2026-04-20 15:08:47 +00:00
commit 8f4daf76b8
27 changed files with 1458 additions and 0 deletions

View File

@@ -0,0 +1,77 @@
# ==========================================
# DESKTOP ENVIRONMENT — Hyprland + Waybar + Walker
# ==========================================
# Omarchy-inspired: keyboard-first tiling Wayland compositor
# with a clean status bar and fast application launcher.
# ==========================================
{ config, pkgs, ... }:
{
# Hyprland compositor
programs.hyprland = {
enable = true;
xwayland.enable = true;
};
# greetd + tuigreet (minimal TUI login — no bloated DMs)
services.greetd = {
enable = true;
settings = {
default_session = {
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --remember --remember-session --cmd Hyprland";
user = "greeter";
};
};
};
# Disable other display managers
services.xserver.enable = false;
# Polkit for privilege escalation prompts
security.polkit.enable = true;
# GNOME Keyring for secrets/passwords
services.gnome.gnome-keyring.enable = true;
security.pam.services.greetd.enableGnomeKeyring = true;
# Screen locking
programs.hyprlock.enable = true;
# Idle management
services.hypridle.enable = true;
# XDG Desktop Portal (screen sharing, file pickers)
xdg.portal = {
enable = true;
extraPortals = [
pkgs.xdg-desktop-portal-hyprland
pkgs.xdg-desktop-portal-gtk
];
};
# Keyboard — caps lock as escape (omarchy default)
services.xserver.xkb = {
layout = "us";
variant = "";
options = "caps:escape";
};
# Desktop packages available system-wide
environment.systemPackages = with pkgs; [
waybar # Status bar
walker # Application launcher
mako # Notification daemon
wl-clipboard # Wayland clipboard
cliphist # Clipboard history
brightnessctl # Backlight control
playerctl # Media key control
swayosd # On-screen display for volume/brightness
grim # Screenshot
slurp # Region selection
swappy # Screenshot editor
wdisplays # Display configurator
networkmanagerapplet # Tray network widget
blueman # Bluetooth manager
polkit_gnome # Polkit GUI agent
];
}