From ee0aa7c4a34d2f6506a54e390a03c1c798f0dddc Mon Sep 17 00:00:00 2001 From: Mohammad Rafiq Date: Wed, 5 Mar 2025 08:04:20 +0800 Subject: [PATCH] feat(hyprland): init hyprland as nixos and home-manager modules --- systems/modules/hyprland.nix | 11 +++++++++++ systems/nemesis.nix | 1 + users/rafiq/.config/hypr/hyprland.conf | 10 ++++++++++ users/rafiq/default.nix | 3 ++- users/rafiq/modules/firefox.nix | 7 +++++++ users/rafiq/modules/hyprland.nix | 9 +++++++++ 6 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 systems/modules/hyprland.nix create mode 100644 users/rafiq/.config/hypr/hyprland.conf create mode 100644 users/rafiq/modules/firefox.nix create mode 100644 users/rafiq/modules/hyprland.nix diff --git a/systems/modules/hyprland.nix b/systems/modules/hyprland.nix new file mode 100644 index 0000000..2bfc526 --- /dev/null +++ b/systems/modules/hyprland.nix @@ -0,0 +1,11 @@ +{ inputs, pkgs, ... }: { + programs.uwsm = { + enable = false; + }; + programs.hyprland = { + enable = true; + #withUWSN = true; + package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland; + portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland; + }; +} diff --git a/systems/nemesis.nix b/systems/nemesis.nix index c81abd4..118e6c4 100644 --- a/systems/nemesis.nix +++ b/systems/nemesis.nix @@ -5,6 +5,7 @@ ./modules/systemd-boot.nix ./modules/locale.nix ./modules/networking.nix + ./modules/hyprland.nix ]; networking.hostName = "nemesis"; diff --git a/users/rafiq/.config/hypr/hyprland.conf b/users/rafiq/.config/hypr/hyprland.conf new file mode 100644 index 0000000..a0ce02d --- /dev/null +++ b/users/rafiq/.config/hypr/hyprland.conf @@ -0,0 +1,10 @@ +monitor = , preferred, auto, 1 + +$mainMod = SUPER +$terminal = kitty +$browser = firefox + +bind = $mainMod, Q, exec, $terminal +bind = $mainMod, W, killactive +bind = $mainMod, E, exec, $browser +bind = $mainMod, M, exit diff --git a/users/rafiq/default.nix b/users/rafiq/default.nix index ebaaa69..8d1f050 100644 --- a/users/rafiq/default.nix +++ b/users/rafiq/default.nix @@ -2,9 +2,10 @@ _: { imports = [ ./modules/git.nix # git specific configs ./modules/sh.nix # bash and other shell specific configs - ./modules/wm.nix # window manager configs ./modules/nvim.nix # nvim specific configs ./modules/terminal.nix # terminal emulator configs + ./modules/firefox.nix # firefox configs + ./modules/hyprland.nix # hyprland settings ./modules/utils.nix # miscellaneous utilities ]; diff --git a/users/rafiq/modules/firefox.nix b/users/rafiq/modules/firefox.nix new file mode 100644 index 0000000..a5a2f40 --- /dev/null +++ b/users/rafiq/modules/firefox.nix @@ -0,0 +1,7 @@ +{ pkgs, ... }: + +{ + home.packages = with pkgs; [ + firefox + ]; +} diff --git a/users/rafiq/modules/hyprland.nix b/users/rafiq/modules/hyprland.nix new file mode 100644 index 0000000..d1645cf --- /dev/null +++ b/users/rafiq/modules/hyprland.nix @@ -0,0 +1,9 @@ +{ config, lib, ... }: { + wayland.windowManager.hyprland = { + enable = true; + package = null; + portalPackage = null; + }; + xdg.configFile."hypr".source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/repos/dotfiles/users/rafiq/.config/hypr"; + xdg.configFile."hypr/hyprland.conf".enable = false; # Needed so home-manager won't create the config file +}