forked from Shinonome/alt-illogical-impulse
9821e69f5c
✅ COMPLETE: Full NixOS-style configuration system implemented 🎯 Features: - Rich configuration options for Quickshell, Hyprland, and Terminal - Type-safe NixOS module options with defaults and descriptions - Generated configuration files from Nix expressions - Example configurations (gaming, productivity, minimalist) - Comprehensive documentation 🔧 Configuration Modules: - modules/components/quickshell-config.nix - Quickshell options - modules/components/hyprland-config.nix - Hyprland options - modules/components/terminal-config.nix - Terminal options 📝 Example Usage: programs.dots-hyprland = { quickshell.bar.utilButtons.showColorPicker = true; hyprland.general.gapsIn = 6; terminal.colors.alpha = 0.90; }; 🎨 Generated Files: - ~/.config/quickshell/ii/modules/common/Config.qml (NixOS-managed) - ~/.config/hypr/general.conf (NixOS-managed) - ~/.config/foot/foot.ini (NixOS-managed) ✅ Tested: All configurations build and activate successfully 🎉 Ready for production use with full NixOS declarative configuration!
94 lines
2.3 KiB
Nix
94 lines
2.3 KiB
Nix
# Productivity-focused configuration for dots-hyprland
|
|
{ config, lib, pkgs, ... }:
|
|
|
|
{
|
|
programs.dots-hyprland = {
|
|
enable = true;
|
|
source = ./configs;
|
|
packageSet = "essential";
|
|
mode = "declarative";
|
|
|
|
# 💼 Productivity-optimized settings
|
|
quickshell = {
|
|
appearance = {
|
|
transparency = true; # Nice visual effects
|
|
fakeScreenRounding = 2;
|
|
};
|
|
|
|
bar = {
|
|
bottom = false; # Top bar for traditional feel
|
|
cornerStyle = 1; # Float style
|
|
showBackground = true;
|
|
verbose = true; # Show detailed info
|
|
|
|
utilButtons = {
|
|
showScreenSnip = true; # Essential for productivity
|
|
showColorPicker = true; # Useful for design work
|
|
showMicToggle = true; # For meetings
|
|
showKeyboardToggle = true;
|
|
showDarkModeToggle = true;
|
|
showPerformanceProfileToggle = false;
|
|
};
|
|
|
|
workspaces = {
|
|
shown = 10; # Many workspaces for organization
|
|
showAppIcons = true;
|
|
alwaysShowNumbers = true; # Always show for quick navigation
|
|
showNumberDelay = 100; # Quick response
|
|
};
|
|
};
|
|
|
|
battery = {
|
|
low = 25; # Higher threshold for work
|
|
critical = 10;
|
|
automaticSuspend = true;
|
|
suspend = 5; # Longer suspend delay
|
|
};
|
|
|
|
apps = {
|
|
terminal = "foot";
|
|
taskManager = "plasma-systemmonitor --page-name Processes";
|
|
};
|
|
|
|
time = {
|
|
format = "HH:mm:ss"; # 24-hour with seconds
|
|
dateFormat = "dddd, MMMM dd, yyyy"; # Full date
|
|
};
|
|
};
|
|
|
|
hyprland = {
|
|
general = {
|
|
gapsIn = 6; # Comfortable gaps
|
|
gapsOut = 10;
|
|
borderSize = 2;
|
|
allowTearing = false; # Smooth visuals
|
|
};
|
|
|
|
decoration = {
|
|
rounding = 12; # Moderate rounding
|
|
blurEnabled = true; # Nice visual effects
|
|
};
|
|
|
|
gestures = {
|
|
workspaceSwipe = true; # Efficient navigation
|
|
};
|
|
};
|
|
|
|
terminal = {
|
|
scrollback = {
|
|
lines = 10000; # Large scrollback for logs
|
|
multiplier = 3.0;
|
|
};
|
|
|
|
cursor = {
|
|
style = "beam";
|
|
blink = true; # Visible cursor
|
|
};
|
|
|
|
colors = {
|
|
alpha = 0.90; # Slight transparency
|
|
};
|
|
};
|
|
};
|
|
}
|