diff --git a/desktops/hyprland/default.nix b/desktops/hyprland/default.nix new file mode 100644 index 0000000..7e72967 --- /dev/null +++ b/desktops/hyprland/default.nix @@ -0,0 +1,8 @@ +{ ... }: + +{ + imports = [ + ./home.nix + ./system.nix + ]; +} \ No newline at end of file diff --git a/desktops/hyprland/home.nix b/desktops/hyprland/home.nix new file mode 100644 index 0000000..59c5d6e --- /dev/null +++ b/desktops/hyprland/home.nix @@ -0,0 +1,20 @@ +{ pkgs, ... }: + +{ + wayland.windowManager.hyprland = { + enable = true; + + settings = { + "$mod" = "SUPER"; + + bind = [ + "$mod, Q, exec, ghostty" + "$mod, F, exec, brave" + ]; + }; + }; + + home.sessionVariables = { + NIXOS_OZONE_WL = "1"; + }; +} diff --git a/desktops/hyprland/system.nix b/desktops/hyprland/system.nix new file mode 100644 index 0000000..5e8d898 --- /dev/null +++ b/desktops/hyprland/system.nix @@ -0,0 +1,22 @@ +{ pkgs, ... }: + +{ + programs.hyprland.enable = true; + services.displayManager.sddm.enable = true; + + xdg.portal = { + enable = true; + extraPortals = [ pkgs.xdg-desktop-portal-hyprland ]; + }; + + security.polkit.enable = true; + + environment.systemPackages = with pkgs; [ + hyprland + hyprpicker + mpvpaper + quickshell + hyprpolkitagent + rofi + ]; +} diff --git a/desktops/plasma/default.nix b/desktops/plasma/default.nix new file mode 100644 index 0000000..3b6aab0 --- /dev/null +++ b/desktops/plasma/default.nix @@ -0,0 +1,9 @@ +{ pkgs, ... }: + +{ + services.desktopManager.plasma6.enable = true; + services.displayManager.sddm.enable = true; + + xdg.portal.enable = true; + xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-kde ]; +} diff --git a/desktops/xfce/default.nix b/desktops/xfce/default.nix new file mode 100644 index 0000000..6253f0a --- /dev/null +++ b/desktops/xfce/default.nix @@ -0,0 +1,8 @@ +{ pkgs, ... }: + +{ + services.xserver.enable = true; + + services.xserver.desktopManager.xfce.enable = true; + services.xserver.displayManager.lightdm.enable = true; +} diff --git a/hosts/laptop/configuration.nix b/hosts/laptop/configuration.nix index c6c5b1b..ef970fb 100644 --- a/hosts/laptop/configuration.nix +++ b/hosts/laptop/configuration.nix @@ -10,6 +10,9 @@ ../../modules/development ../../modules/networking ../../modules/virtualization + + ## Desktop Environment + ../../desktops/hyprland ]; boot = { @@ -48,6 +51,7 @@ environment.systemPackages = with pkgs; [ tpm2-tools + brave ]; system.stateVersion = "26.05"; diff --git a/modules/core/default.nix b/modules/core/default.nix index b1c6ee9..e5ce133 100644 --- a/modules/core/default.nix +++ b/modules/core/default.nix @@ -16,6 +16,8 @@ neovim btop unzip + mpv + wl-clipboard ]; nix.gc = { @@ -36,4 +38,4 @@ enable = true; settings.PermitRootLogin = "no"; }; -} \ No newline at end of file +}