feat: add laptop stuff, restructure a bit
This commit is contained in:
parent
1dcba83a6a
commit
6d05d6a323
13 changed files with 556 additions and 13 deletions
60
modules/features/hyprland/default.nix
Normal file
60
modules/features/hyprland/default.nix
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
{ 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
|
||||
];
|
||||
|
||||
services.gnome.gnome-keyring.enable = true;
|
||||
services.dbus.packages = [ pkgs.gnome-keyring pkgs.gcr ];
|
||||
programs.seahorse.enable = true;
|
||||
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
extraPortals = [
|
||||
pkgs.xdg-desktop-portal-gtk
|
||||
pkgs.xdg-desktop-portal-hyprland
|
||||
];
|
||||
configPackages = [ pkgs.xdg-desktop-portal-gnome ];
|
||||
};
|
||||
|
||||
# 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;
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue