feat(hyprland): add Hyprland into the flake as a system app

This commit is contained in:
rafiq 2025-02-27 06:06:52 +08:00
parent 55b02cc258
commit b69626eb88
4 changed files with 466 additions and 16 deletions

View file

@ -2,7 +2,7 @@
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{ config, pkgs, ... }:
{ inputs, config, pkgs, ... }:
{
imports =
@ -14,6 +14,12 @@
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
# Add hyprland.cachix.org as a binary cache for Hyprland
nix.settings = {
substituters = ["https://hyprland.cachix.org"];
trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];
};
networking.hostName = "nemesis"; # Define your hostname.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
@ -53,7 +59,6 @@
isNormalUser = true;
description = "rafiq";
extraGroups = [ "networkmanager" "wheel" ];
packages = with pkgs; [];
};
# Allow unfree packages
@ -61,7 +66,9 @@
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [];
environment.systemPackages = with pkgs; [
firefox
];
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
@ -74,7 +81,21 @@
# List services that you want to enable:
# Enable the OpenSSH daemon.
services.openssh.enable = true;
services.openssh.enable = true;
programs.hyprland = {
enable = true;
# Use the packages that we have defined as inputs in our flake.
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
# Enable sustemd integration
systemd.setPath.enable = true;
withUWSM = true;
# Enable compatibility with X11 apps
xwayland.enable = true;
};
services.hypridle.enable = true;
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];