60 lines
1.4 KiB
Nix
60 lines
1.4 KiB
Nix
{
|
|
lib,
|
|
config,
|
|
pkgs,
|
|
options,
|
|
azos-utils,
|
|
...
|
|
}: let
|
|
isEnabled =
|
|
config.azos.suites.hyprland.enable;
|
|
in {
|
|
options.azos.suites.hyprland.enable = lib.mkOption {
|
|
default = false;
|
|
example = true;
|
|
type = lib.types.bool;
|
|
};
|
|
|
|
#TODO shutdown reboot commands
|
|
config = lib.mkIf isEnabled {
|
|
home.packages = with pkgs; [
|
|
hyprland
|
|
waybar # status bar
|
|
wofi # application launcher
|
|
kitty
|
|
grim # screenshot utility
|
|
slurp # region selector
|
|
swappy # screenshot editor
|
|
networkmanagerapplet
|
|
xwayland
|
|
];
|
|
|
|
azos.emacs.enabledSuites = ["azos-emacs-hyprland"];
|
|
azos.emacs.pkgs = [pkgs.azos-emacs-hyprland];
|
|
azos.emacs.emacspkg = pkgs.emacs-pgtk;
|
|
|
|
home.file.".login.sh" = {
|
|
text = ''
|
|
#!/usr/bin/env bash
|
|
${pkgs.hyprland}/bin/Hyprland
|
|
'';
|
|
#Make executable
|
|
executable = true;
|
|
};
|
|
|
|
# systemd.user.services.xwayland = {
|
|
# Unit.Description = "XWayland server";
|
|
# Install.WantedBy = [ "default.target" ];
|
|
# Service = {
|
|
# ExecStart = "${pkgs.xwayland}/bin/Xwayland :0 -rootless -terminate -listen tcp";
|
|
# Restart = "on-failure";
|
|
# RestartSec = "1s";
|
|
# StandardInput = "null";
|
|
# StandardOutput = "null";
|
|
# StandardError = "journal";
|
|
# };
|
|
# };
|
|
|
|
};
|
|
}
|