nixos/home/desktop/hyprland/default.nix

66 lines
1.8 KiB
Nix
Raw Normal View History

{
inputs,
pkgs,
lib,
config,
...
}: let
configure-gtk = pkgs.writeTextFile {
name = "configure-gtk";
destination = "/bin/configure-gtk";
executable = true;
text = let
schema = pkgs.gsettings-desktop-schemas;
datadir = "${schema}/share/gsettings-schemas/${schema.name}";
gtk-theme = config.gtk.theme.name;
icon-theme = config.gtk.iconTheme.name;
cursor-theme = config.gtk.cursorTheme.name;
in ''
export XDG_DATA_DIRS=${datadir}:$XDG_DATA_DIRS
gnome_schema=org.gnome.desktop.interface
gsettings set $gnome_schema gtk-theme '${gtk-theme}'
gsettings set $gnome_schema icon-theme '${icon-theme}'
gsettings set $gnome_schema cursor-theme '${cursor-theme}'
'';
};
in {
imports = [
# ../eww
../waybar
../rofi
../swaylock.nix
../gtk.nix
../dunst.nix
];
home.packages = with pkgs; [
hyprpaper
configure-gtk
pipewire
wireplumber
wl-clipboard
swayimg
brightnessctl
];
programs = {
firefox.package = pkgs.firefox-wayland;
chromium.commandLineArgs = ["--enable-features=UseOzonePlatform" "--ozone-platform=wayland"];
rofi.package = pkgs.rofi-wayland;
};
wayland.windowManager.hyprland = {
enable = true;
package = null; # Use package from nixpkgs
xwayland = {
enable = true;
hidpi = true;
};
extraConfig = builtins.readFile ./hyprland.conf;
};
xdg.configFile."hypr/hyprpaper.conf".text = lib.mkDefault ''
preload = ${inputs.wallpapers.outputs.default}
wallpaper = ,${inputs.wallpapers.outputs.default}
'';
xdg.configFile."hypr/macchiato.conf".source = ./macchiato.conf;
xdg.configFile."hypr/display.conf".text = lib.mkDefault '''';
xdg.configFile."hypr/autostart.conf".text = lib.mkDefault '''';
}