Compare commits

..

1 Commits

9 changed files with 324 additions and 55 deletions

271
flake.lock generated
View File

@@ -150,16 +150,51 @@
"type": "github"
}
},
"hypridle": {
"inputs": {
"hyprland-protocols": "hyprland-protocols",
"hyprlang": [
"hyprland",
"hyprlang"
],
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": "hyprwayland-scanner",
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1749162425,
"narHash": "sha256-8LFke/vOxFOW1t9fJoLmO1r4kA8oXXRe8QKKq/lsPlc=",
"owner": "hyprwm",
"repo": "hypridle",
"rev": "b2bc15baffb5182051e94787f1342464fc9d241e",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hypridle",
"type": "github"
}
},
"hyprland": {
"inputs": {
"aquamarine": "aquamarine",
"hyprcursor": "hyprcursor",
"hyprgraphics": "hyprgraphics",
"hyprland-protocols": "hyprland-protocols",
"hyprland-protocols": "hyprland-protocols_2",
"hyprland-qtutils": "hyprland-qtutils",
"hyprlang": "hyprlang",
"hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner",
"hyprwayland-scanner": "hyprwayland-scanner_2",
"nixpkgs": "nixpkgs",
"pre-commit-hooks": "pre-commit-hooks",
"systems": "systems",
@@ -179,7 +214,83 @@
"type": "github"
}
},
"hyprland-contrib": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
]
},
"locked": {
"lastModified": 1749933213,
"narHash": "sha256-nlmU6lpm8zGe6EnexauHr9Y/4AknE4j+ATcyjIsO1jw=",
"owner": "hyprwm",
"repo": "contrib",
"rev": "9d4963e7394485ba4735779519c59275901de6ab",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "contrib",
"type": "github"
}
},
"hyprland-plugins": {
"inputs": {
"hyprland": [
"hyprland"
],
"nixpkgs": [
"hyprland-plugins",
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland-plugins",
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1750184339,
"narHash": "sha256-/QGKUdSOXJInLwlDzgtZZvPdbA+xI2z9CFbZ+iBN3j4=",
"owner": "hyprwm",
"repo": "hyprland-plugins",
"rev": "c0e675dd87d737f8ef64327291cbbb201f3764ba",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-plugins",
"type": "github"
}
},
"hyprland-protocols": {
"inputs": {
"nixpkgs": [
"hypridle",
"nixpkgs"
],
"systems": [
"hypridle",
"systems"
]
},
"locked": {
"lastModified": 1749046714,
"narHash": "sha256-kymV5FMnddYGI+UjwIw8ceDjdeg7ToDVjbHCvUlhn14=",
"owner": "hyprwm",
"repo": "hyprland-protocols",
"rev": "613878cb6f459c5e323aaafe1e6f388ac8a36330",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-protocols",
"type": "github"
}
},
"hyprland-protocols_2": {
"inputs": {
"nixpkgs": [
"hyprland",
@@ -301,6 +412,82 @@
"type": "github"
}
},
"hyprlock": {
"inputs": {
"hyprgraphics": [
"hyprland",
"hyprgraphics"
],
"hyprlang": [
"hyprland",
"hyprlang"
],
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": "hyprwayland-scanner_3",
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1749162391,
"narHash": "sha256-aCiNnE26qIAxEBP6SRXjLBlIGOB18TViDreoPe96p6Q=",
"owner": "hyprwm",
"repo": "hyprlock",
"rev": "f9d8dfab7ae0aec625e7814e16f626fabec3641b",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprlock",
"type": "github"
}
},
"hyprpaper": {
"inputs": {
"hyprgraphics": [
"hyprland",
"hyprgraphics"
],
"hyprlang": [
"hyprland",
"hyprlang"
],
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": "hyprwayland-scanner_4",
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1749539958,
"narHash": "sha256-4tMENfaUGXh5jCn4B/ubOJZHOiKsY6uKBT+Kh2uqR+w=",
"owner": "hyprwm",
"repo": "hyprpaper",
"rev": "81dc1fe4f05305319bb586a0eb6f6004a1476832",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprpaper",
"type": "github"
}
},
"hyprutils": {
"inputs": {
"nixpkgs": [
@@ -327,6 +514,31 @@
}
},
"hyprwayland-scanner": {
"inputs": {
"nixpkgs": [
"hypridle",
"nixpkgs"
],
"systems": [
"hypridle",
"systems"
]
},
"locked": {
"lastModified": 1749145760,
"narHash": "sha256-IHaGWpGrv7seFWdw/1A+wHtTsPlOGIKMrk1TUIYJEFI=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "817918315ea016cc2d94004bfb3223b5fd9dfcc6",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"type": "github"
}
},
"hyprwayland-scanner_2": {
"inputs": {
"nixpkgs": [
"hyprland",
@@ -351,6 +563,56 @@
"type": "github"
}
},
"hyprwayland-scanner_3": {
"inputs": {
"nixpkgs": [
"hyprlock",
"nixpkgs"
],
"systems": [
"hyprlock",
"systems"
]
},
"locked": {
"lastModified": 1749145760,
"narHash": "sha256-IHaGWpGrv7seFWdw/1A+wHtTsPlOGIKMrk1TUIYJEFI=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "817918315ea016cc2d94004bfb3223b5fd9dfcc6",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"type": "github"
}
},
"hyprwayland-scanner_4": {
"inputs": {
"nixpkgs": [
"hyprpaper",
"nixpkgs"
],
"systems": [
"hyprpaper",
"systems"
]
},
"locked": {
"lastModified": 1749145760,
"narHash": "sha256-IHaGWpGrv7seFWdw/1A+wHtTsPlOGIKMrk1TUIYJEFI=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "817918315ea016cc2d94004bfb3223b5fd9dfcc6",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1749794982,
@@ -425,7 +687,12 @@
"root": {
"inputs": {
"home-manager": "home-manager",
"hypridle": "hypridle",
"hyprland": "hyprland",
"hyprland-contrib": "hyprland-contrib",
"hyprland-plugins": "hyprland-plugins",
"hyprlock": "hyprlock",
"hyprpaper": "hyprpaper",
"nixpkgs": "nixpkgs_2",
"nixpkgs-unstable": "nixpkgs-unstable"
}

View File

@@ -44,5 +44,47 @@
# hyprwm
hyprland.url = "github:hyprwm/hyprland";
hypridle = {
url = "github:hyprwm/hypridle";
inputs = {
hyprlang.follows = "hyprland/hyprlang";
hyprutils.follows = "hyprland/hyprutils";
nixpkgs.follows = "hyprland/nixpkgs";
systems.follows = "hyprland/systems";
};
};
hyprland-contrib = {
url = "github:hyprwm/contrib";
inputs.nixpkgs.follows = "hyprland/nixpkgs";
};
hyprland-plugins = {
url = "github:hyprwm/hyprland-plugins";
inputs.hyprland.follows = "hyprland";
};
hyprlock = {
url = "github:hyprwm/hyprlock";
inputs = {
hyprgraphics.follows = "hyprland/hyprgraphics";
hyprlang.follows = "hyprland/hyprlang";
hyprutils.follows = "hyprland/hyprutils";
nixpkgs.follows = "hyprland/nixpkgs";
systems.follows = "hyprland/systems";
};
};
hyprpaper = {
url = "github:hyprwm/hyprpaper";
inputs = {
hyprgraphics.follows = "hyprland/hyprgraphics";
hyprlang.follows = "hyprland/hyprlang";
hyprutils.follows = "hyprland/hyprutils";
nixpkgs.follows = "hyprland/nixpkgs";
systems.follows = "hyprland/systems";
};
};
};
}

View File

@@ -1,8 +1,8 @@
{
# Home Manager Hyprland monitors
wayland.windowManager.hyprland.settings.monitor = [
"DP-3, 3440x1440@99.98, 0x0, 1" # Philips Ultrawide left
"HDMI-A-1, 3440x1440@99.98, 3440x0, 1" # Philips Ultrawide right
"eDP-1, 1920x1200@60.00, 1" # internal display
];
wayland.windowManager.hyprland.extraConfig = ''
monitor = DP-3, 3440x1440@99.98, 0x0, auto; # Philips Ultrawide left
monitor = HDMI-A-1, 3440x1440@99.98, 3440x0, auto; # Philips Ultrawide right
monitor = eDP-1, 1920x1200@60.00, auto, auto # internal display
'';
}

View File

@@ -1,7 +1,7 @@
{
# Home Manager Hyprland monitors
wayland.windowManager.hyprland.settings.monitor = [
"DP-3, 2560x1440@143.97, 1920x-360, 1, vrr, 1"
"HDMI-A-1, 1920x1080@50.00, 0x0, 1"
];
wayland.windowManager.hyprland.extraConfig = ''
monitor = DP-3, 2560x1440@143.97, 1920x-360, auto;
monitor = HDMI-A-1, 1920x1080@59.94, 0x0, auto;
'';
}

View File

@@ -27,10 +27,9 @@
};
# User-specific Home Manager configurations
users.schulze.imports = [
./home/home-manager.nix # Base user environment
./home/hyprland.nix # Hyprland window manager user config
./home/home-manager.nix # Base user environment
./home/hyprlock.nix # Hyprlock screen lock user config
./home/hypridle.nix # Hypridle idle daemon user config
./home/rofi.nix # Rofi theme/config
./home/ghostty.nix # Ghostty config
./home/gtk.nix # GTK theme

View File

@@ -21,9 +21,6 @@
# Power management services for laptops and desktops
upower.enable = true; # Battery and power device monitoring
power-profiles-daemon.enable = true; # CPU frequency scaling
# Hypridle, idle daemon
hypridle.enable = true;
};
# ================================
@@ -96,11 +93,10 @@
environment.systemPackages = with pkgs; [
# ---- CORE HYPRLAND WORKFLOW ----
waybar # Status bar/panel
rofi # Application launcher and dmenu replacement (rofi has native wayland support)
rofi-wayland # Application launcher and dmenu replacement
mako # Notification daemon
hyprpaper # Wallpaper daemon
hyprlock # Screen lock utility
hyprpicker # Color picker
# ---- CLIPBOARD & INPUT ----
wl-clipboard # Clipboard utilities for Wayland

View File

@@ -1,34 +0,0 @@
{
services.hypridle = {
enable = true;
settings = {
general = {
ignore_dbus_inhibit = false;
after_sleep_cmd = "hyprctl dispatch dpms on"; # to avoid having to press a key twice to turn on the display.
before_sleep_cmd = "loginctl lock-session"; # lock before suspend.
lock_cmd = "pidof hyprlock || hyprlock";
};
listener = [
{
timeout = 150; # 2.5min.
on-timeout = "brightnessctl -s set 10"; # set monitor backlight to minimum, avoid 0 on OLED monitor.
on-resume = "brightnessctl -r"; # monitor backlight restore.
}
{
timeout = 300; # 5min.
on-timeout = "loginctl lock-session"; # lock screen when timeout has passed
}
{
timeout = 600; # 10min.
on-timeout = "hyprctl dispatch dpms off"; # screen off when timeout has passed
on-resume = "hyprctl dispatch dpms on && brightnessctl -r"; # screen on when activity is detected after timeout has fired.
}
#{
# timeout = 1800; # 30min.
# on-timeout = "systemctl suspend"; # suspend pc
#}
];
};
};
}

View File

@@ -7,7 +7,6 @@ in {
settings = {
exec-once = [
"hyprpaper"
"hypridle"
];
input = {
kb_layout = "se";
@@ -41,7 +40,7 @@ in {
blur = {
enabled = true;
xray = true;
size = 4;
size = 3;
passes = 4;
};
};

View File

@@ -56,7 +56,7 @@ git diff -U0 '*.nix'
echo "NixOS Rebuilding configuration for host: $NIXOS_HOST..."
# First, run a check to see if the flake is valid
# nix flake check 2>&1 | grep -i --color error && exit 1 # This just takes too long
nix flake check 2>&1 | grep -i --color error && exit 1
# Rebuild the system
mkdir -p logs