feat: ralph, waybar, formatted
This commit is contained in:
parent
774daebdff
commit
1eb01464e1
38 changed files with 1913 additions and 609 deletions
|
|
@ -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;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ $menu = wofi --show drun
|
|||
# exec-once = $terminal
|
||||
# exec-once = nm-applet &
|
||||
exec-once = hyprctl setcursor Bibata-Modern-Ice 24
|
||||
exec-once = waybar & hyprpaper
|
||||
exec-once = waybar & flameshot & hyprpaper
|
||||
# This exports the necessary variables for Electron to find the Keyring
|
||||
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
||||
# This starts the daemon and makes it the "Secret Service" provider
|
||||
|
|
@ -197,9 +197,9 @@ input {
|
|||
}
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#gestures
|
||||
gestures {
|
||||
workspace_swipe = false
|
||||
}
|
||||
# gestures {
|
||||
# workspace_swipe = false
|
||||
# }
|
||||
|
||||
# Example per-device config
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
|
||||
|
|
@ -291,11 +291,35 @@ bindl = , XF86AudioPrev, exec, playerctl previous
|
|||
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
|
||||
|
||||
# Example windowrule
|
||||
windowrulev2 = workspace 2, class:^(firefox)$
|
||||
windowrulev2 = workspace 4, class:^(vesktop)$
|
||||
windowrule {
|
||||
name = firefox-on-w2
|
||||
match:class = ^(firefox)$
|
||||
workspace = 2
|
||||
}
|
||||
windowrule {
|
||||
name = vesktop-on-w4
|
||||
match:class = ^(vesktop)$
|
||||
workspace = 4
|
||||
}
|
||||
|
||||
# Ignore maximize requests from apps. You'll probably like this.
|
||||
windowrule = suppressevent maximize, class:.*
|
||||
windowrule {
|
||||
# Ignore maximize requests from all apps. You'll probably like this.
|
||||
name = suppress-maximize-events
|
||||
match:class = .*
|
||||
|
||||
suppress_event = maximize
|
||||
}
|
||||
|
||||
# Fix some dragging issues with XWayland
|
||||
windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
|
||||
windowrule {
|
||||
# Fix some dragging issues with XWayland
|
||||
name = fix-xwayland-drags
|
||||
match:class = ^$
|
||||
match:title = ^$
|
||||
match:xwayland = true
|
||||
match:float = true
|
||||
match:fullscreen = false
|
||||
match:pin = false
|
||||
|
||||
no_focus = true
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue