feat: ralph, waybar, formatted

This commit is contained in:
jackjohn7 2026-03-28 18:35:54 -05:00
parent 774daebdff
commit 1eb01464e1
38 changed files with 1913 additions and 609 deletions

View file

@ -1,60 +1,75 @@
{ self, inputs, ... }: {
flake.nixosModules.hyprland = { pkgs, lib, config, ... }: {
imports = [ self.nixosModules.cursors ];
options.hyprland-users = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [];
description = "List of users to configure hyprland for";
};
config = {
# System-level configuration
programs.hyprland.enable = true;
environment.systemPackages = with pkgs; [
waybar
hyprpaper
wofi
kitty
firefox
dolphin
wl-clipboard
brightnessctl
playerctl
grim
xdg-desktop-portal-hyprland
xdg-desktop-portal-gtk
gnome-keyring
seahorse
{ self, inputs, ... }:
{
flake.nixosModules.hyprland =
{
pkgs,
lib,
config,
...
}:
{
imports = [
self.nixosModules.cursors
self.nixosModules.waybar
self.nixosModules.wallpapers
];
services.gnome.gnome-keyring.enable = true;
services.dbus.packages = [ pkgs.gnome-keyring pkgs.gcr ];
programs.seahorse.enable = true;
options.hyprland-users = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [ ];
description = "List of users to configure hyprland for";
};
xdg.portal = {
enable = true;
extraPortals = [
pkgs.xdg-desktop-portal-gtk
pkgs.xdg-desktop-portal-hyprland
config = {
# System-level configuration
programs.hyprland.enable = true;
environment.systemPackages = with pkgs; [
waybar
hyprpaper
wofi
kitty
firefox
wl-clipboard
brightnessctl
playerctl
grim
xdg-desktop-portal-hyprland
xdg-desktop-portal-gtk
gnome-keyring
seahorse
flameshot
];
configPackages = [ pkgs.xdg-desktop-portal-gnome ];
};
# Configure hjem for specified users
hjem = lib.mkIf (config.hyprland-users != []) {
users = lib.genAttrs config.hyprland-users (username: {
services.gnome.gnome-keyring.enable = true;
services.dbus.packages = [
pkgs.gnome-keyring
pkgs.gcr
];
programs.seahorse.enable = true;
xdg.portal = {
enable = true;
files = {
".config/hypr/hyprland.conf".source = ./hyprland.conf;
".config/hypr/hyprpaper.conf".source = ./hyprpaper.conf;
};
});
};
extraPortals = [
pkgs.xdg-desktop-portal-gtk
pkgs.xdg-desktop-portal-hyprland
];
configPackages = [ pkgs.xdg-desktop-portal-gnome ];
};
# Enable cursors for hyprland users
cursor-users = lib.mkDefault config.hyprland-users;
# Configure hjem for specified users
hjem = lib.mkIf (config.hyprland-users != [ ]) {
users = lib.genAttrs config.hyprland-users (username: {
enable = true;
files = {
".config/hypr/hyprland.conf".source = ./hyprland.conf;
".config/hypr/hyprpaper.conf".source = ./hyprpaper.conf;
};
});
};
# Enable cursors for hyprland users
cursor-users = lib.mkDefault config.hyprland-users;
};
};
};
}