Add Niri desktop configuration with integrated utilities
- Introduced a new power menu script using fuzzel for session management. - Updated Bellerophon configuration to include Niri desktop and its components. - Removed obsolete README for Niri and consolidated its configuration files. - Added swayidle and swaylock integration for idle management and screen locking. - Implemented waybar for status bar functionality with basic configuration. - Created fuzzel integration for application launching and menu access. - Added zenbook debugging scripts for display and keyboard diagnostics. - Migrated keyring and other configurations to streamline Niri setup. - Enhanced display management with systemd services for better integration.
This commit is contained in:
8
hosts/common/optional/niri/fuzzel.nix
Normal file
8
hosts/common/optional/niri/fuzzel.nix
Normal file
@@ -0,0 +1,8 @@
|
||||
{pkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [fuzzel];
|
||||
|
||||
# Provide a simple system-wide wrapper script in /etc/profile.d or /etc to make fuzzel available
|
||||
environment.etc."profile.d/fuzzel.sh".text = ''
|
||||
export PATH="${pkgs.fuzzel}/bin:$PATH"
|
||||
'';
|
||||
}
|
||||
13
hosts/common/optional/niri/swayidle.nix
Normal file
13
hosts/common/optional/niri/swayidle.nix
Normal file
@@ -0,0 +1,13 @@
|
||||
{pkgs, ...}: {
|
||||
# Install swayidle and configure a systemd user service for idle locking
|
||||
environment.systemPackages = with pkgs; [swayidle swaylock inotify-tools];
|
||||
|
||||
systemd.user.services.swayidle = {
|
||||
description = "swayidle for Niri sessions";
|
||||
wantedBy = ["default.target"];
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.swayidle}/bin/swayidle -w 'timeout 300 ${pkgs.swaylock}/bin/swaylock -f' resume 'swaymsg resume'";
|
||||
Restart = "on-failure";
|
||||
};
|
||||
};
|
||||
}
|
||||
9
hosts/common/optional/niri/swaylock.nix
Normal file
9
hosts/common/optional/niri/swaylock.nix
Normal file
@@ -0,0 +1,9 @@
|
||||
{pkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [swaylock imagemagick];
|
||||
|
||||
# Provide a system-level helper in /etc/profile.d to point to a lock wrapper
|
||||
environment.etc."profile.d/lockwrapper.sh".text = ''
|
||||
#!/bin/sh
|
||||
export LOCK_WRAPPER="${pkgs.swaylock}/bin/swaylock"
|
||||
'';
|
||||
}
|
||||
23
hosts/common/optional/niri/waybar.nix
Normal file
23
hosts/common/optional/niri/waybar.nix
Normal file
@@ -0,0 +1,23 @@
|
||||
{pkgs, ...}: {
|
||||
# Install waybar system-wide and provide a systemd user service to start it for graphical users
|
||||
environment.systemPackages = with pkgs; [waybar jq wl-clipboard];
|
||||
|
||||
systemd.user.services.waybar = {
|
||||
description = "Waybar for Niri sessions";
|
||||
wantedBy = ["default.target"];
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.waybar}/bin/waybar";
|
||||
Restart = "on-failure";
|
||||
RestartSec = 2;
|
||||
};
|
||||
};
|
||||
|
||||
# Optionally provide a default system-level config in /etc/xdg/waybar/config
|
||||
environment.etc."xdg/waybar/config".text = ''
|
||||
{
|
||||
"modules-left": ["workspace"],
|
||||
"modules-center": [],
|
||||
"modules-right": ["clock"]
|
||||
}
|
||||
'';
|
||||
}
|
||||
Reference in New Issue
Block a user