partly add hyprland home module + bluetooth

This commit is contained in:
2026-07-31 17:00:52 +02:00
parent ee0447931e
commit b4ae5a89aa
9 changed files with 934 additions and 57 deletions
+6
View File
@@ -89,6 +89,11 @@ in
hardware.graphics.enable32Bit = true;
services.hardware.openrgb.enable = true;
hardware.bluetooth = {
enable = true;
powerOnBoot = false;
};
# Bootloader.
boot.loader.grub.enable = true;
boot.loader.grub.device = "nodev";
@@ -240,6 +245,7 @@ in
libxkbcommon # libxkbcommon.so.0
libx11 # libX11.so.6
wayland
krb5
]);
};
+2 -42
View File
@@ -7,6 +7,7 @@
{
imports = [
./mpd.nix
./programs.nix
zen-browser.homeModules.beta
];
@@ -54,12 +55,6 @@
setAsDefaultBrowser = true;
};
programs.yazi.enable = true;
programs.yazi.enableFishIntegration = true;
programs.fzf.enable = true;
programs.fzf.enableFishIntegration = true;
programs.eza = {
enable = true;
enableFishIntegration = true;
@@ -70,14 +65,6 @@
];
};
programs.pywal = {
enable = true;
package = pkgs.pywal16;
};
programs.lazygit.enable = true;
programs.lazygit.enableFishIntegration = true;
programs.rbw = {
enable = true;
settings = {
@@ -87,31 +74,6 @@
};
};
programs.distrobox.enable = true;
services.podman.enable = true;
programs.rofi.enable = true;
programs.rofi.plugins = [ pkgs.rofi-calc ];
services.polkit-gnome.enable = true;
services.cliphist.enable = true;
programs.btop.enable = true;
services.udiskie.enable = true;
programs.cava.enable = true;
programs.equibop.enable = true;
services.awww.enable = true;
services.mpdris2.enable = true;
programs.fastfetch.enable = true;
programs.prismlauncher.enable = true;
programs.fd.enable = true;
programs.uv.enable = true;
programs.satty.enable = true;
programs.mpvpaper.enable = true;
programs.obsidian.enable = true;
programs.gcc.enable = true;
programs.mpv.enable = true;
programs.imv.enable = true;
programs.aria2.enable = true;
programs.qutebrowser = {
enable = true;
settings = {
@@ -166,12 +128,10 @@
rm = "gomi";
ssh = "kitty +kitten ssh";
nd = "nix develop";
df = "df -h -x tmpfs -x devtmpfs -x squashfs -x overlay -x efivarfs";
};
};
programs.zoxide.enable = true;
programs.zoxide.enableFishIntegration = true;
home.file.".local/share/Steam/steam.cfg".text = ''
BootStrapperInhibitAll=enable
BootStrapperForceSelfUpdate=disable
@@ -0,0 +1,5 @@
{
imports = [
./general.nix
];
}
@@ -0,0 +1,162 @@
{ hyprsplit, ... }:
let
# Replace these with your pywal colors or import them from another file.
# wal = {
# color11 = "#...";
# color14 = "#...";
# };
in
{
wayland.windowManager.hyprland = {
enable = true;
settings = {
device = [
{
name = "glorious-model-o-wireless";
sensitivity = -1.0;
}
];
config = {
input = {
kb_layout = "de";
follow_mouse = 1;
repeat_delay = 300;
repeat_rate = 35;
scroll_factor = 1.3;
sensitivity = -1.0;
};
general = {
gaps_in = 4;
gaps_out = 12;
border_size = 2;
# "col.active_border" = "rgb(${wal.color11}) rgb(${wal.color14}) 45deg";
# "col.active_border" = "rgba(80808077) rgba(80808077) 45deg";
# "col.inactive_border" = "rgba(80808077) rgba(80808077) 45deg";
resize_on_border = false;
allow_tearing = false;
layout = "dwindle";
};
decoration = {
rounding = 2;
active_opacity = 0.65;
inactive_opacity = 0.65;
shadow = {
enabled = true;
range = 50;
render_power = 4;
color = "0xaf1a1a1a";
};
blur = {
enabled = true;
size = 3;
passes = 4;
brightness = 0.473;
contrast = 1.0;
vibrancy = 0.1696;
vibrancy_darkness = 0.2;
ignore_opacity = true;
popups = true;
};
};
master = {
new_status = "master";
new_on_top = true;
mfact = 0.5;
orientation = "center";
};
misc = {
force_default_wallpaper = 0;
disable_hyprland_logo = true;
enable_anr_dialog = false;
};
xwayland = {
force_zero_scaling = true;
};
};
# animations = {
# enabled = false;
# };
# bezier = [
# "md3_standard,0.2,0,0,1"
# "md3_decel,0.05,0.7,0.1,1"
# "md3_accel,0.3,0,0.8,0.15"
# "overshot,0.05,0.9,0.1,1.02"
#
# # Hyprland supports spring curves as strings.
# "spring_snappy,1,80,16"
#
# "weighted_decel,0.05,0.9,0.1,1"
# "snap_curve,0.1,1,0,1"
# "winIn,0.1,1,0.1,1"
# "winOut,0.1,1,0.1,1"
# ];
#
# animation = [
# "windows,1,4,spring_snappy"
# "windowsIn,1,3,md3_decel,popin 70%"
# "windowsOut,1,4,md3_accel,popin 70%"
# "windowsMove,1,4,overshot"
#
# "fade,1,3,md3_decel"
#
# "layers,1,4.5,md3_standard,fade"
# "layersIn,1,4.5,winIn,slide"
# "layersOut,1,5,winOut,slide"
#
# "workspaces,1,5,md3_decel,slide"
# "workspacesIn,1,7,winIn,slide"
# "workspacesOut,1,7,winOut,slide"
#
# "specialWorkspace,1,4,winIn,slidevert"
# ];
};
extraLuaFiles = {
# create a symlink to `.config/hypr/hyprsplit/init.lua`.
"hyprsplit/init" = {
autoLoad = false;
content = builtins.readFile "${hyprsplit}/init.lua";
};
# Finally, use it directly in Lua.
"hyprload" = {
autoLoad = true;
content = ''
local hs = require("hyprsplit")
hs.config({ num_workspaces = 10 })
local mod = "SUPER"
for i = 1, 10 do
local key = (i == 10) and "0" or tostring(i)
hl.bind(mod .. " + " .. key, hs.dsp.focus({ workspace = i }))
hl.bind(mod .. " + " .. key, hs.dsp.window.move({ workspace = i }))
hl.bind("SUPER + " .. key, hs.dsp.focus({ workspace = i }))
hl.bind("SUPER + SHIFT + " .. key, hs.dsp.window.move({ workspace = i, follow = true }))
end
'';
};
};
extraConfig = ''
hl.monitor({ output = "DP-1", mode = "1920x1080@60", position = "3840x0", scale = "auto" })
hl.monitor({ output = "DP-2", mode = "1920x1080@144", position = "1920x0", scale = "auto", bitdepth = 10 })
hl.monitor({ output = "HDMI-A-1", mode = "1920x1080@60", position = "0x0", scale = "auto" })
'';
};
}
@@ -0,0 +1,130 @@
{
wayland.windowManager.hyprland.settings = {
window_rule = [
# -----------------
# Workspace
# -----------------
"workspace 24,title:^(rmpc)$"
"workspace 10,class:^(equibop)$"
"monitor DP-1,title:^(rmpc)$"
"monitor DP-1,class:^(equibop)$"
# -----------------
# Windows
# -----------------
"opacity 1 0.999999,class:^(mpv)$"
"opacity 0.99 override 0.99 override,class:^(obsidian)$"
# -----------------
# Floating
# -----------------
"float,class:^(imv)$"
"float,class:^(nemo)$"
"float,class:.*,title:^(Open File.*)$"
"float,title:^(Picture-in-Picture)$"
"float,class:^(rofi)$"
"float,class:^(xdg-desktop-portal-gtk)$"
"float,title:^(Steam Settings)$"
"float,title:^(Friends List)$"
"float,title:^(nvim)$"
"float,class:^(org.gnome.FileRoller)$"
"float,class:^(org.gnome.Decibels)$"
"float,class:^(neovide)$"
"float,class:^(org.prismlauncher.PrismLauncher)$"
"float,class:^(feh)$"
"float,class:^(com.github.aliencoweatcake.imageviewer)$"
"float,class:^(waypaper)$"
# -----------------
# Scrolling
# -----------------
"scrollmouse 1.0,class:^(Minecraft.*)$"
"scrollmouse 1.0,class:^(Lunar.*)$"
"scrollmouse 1.0,class:^(LiquidBounce.*)$"
"scrollmouse 1.0,class:^(Nomifactory.*)$"
"scrollmouse 1.0,class:^(GT.*)$"
# -----------------
# Center
# -----------------
"center,class:^(imv)$"
"center,class:^(nemo)$"
"center,class:^(org.prismlauncher.PrismLauncher)$"
# -----------------
# Size
# -----------------
"size 1200 700,class:^(imv)$"
"size 1200 700,class:^(nemo)$"
"size 1200 700,title:^(nvim)$"
"size 1200 700,class:^(org.gnome.Decibels)$"
"size 1200 700,class:^(neovide)$"
"size 1200 700,class:^(org.prismlauncher.PrismLauncher)$"
"size 1200 700,class:^(waypaper)$"
"suppressevent maximize,class:.*"
# -----------------
# Opaque
# -----------------
"opaque,class:^(kitty)$"
"opaque,class:^(nemo)$"
"opaque,class:^(virt-manager)$"
"opaque,class:^(rofi)$"
"opaque,class:^(looking-glass-client)$"
"opaque,class:^(steam)$"
"opaque,class:^(equibop)$"
"opaque,initialtitle:^(Zen Browser)$"
"opaque,class:^(org.qutebrowser.qutebrowser)$"
"opaque,class:^(gimp)$"
"opaque,class:^(discord)$"
"opaque,class:^(librewolf)$"
"opaque,class:^(imv)$"
"opaque,class:^(org.gnome.Decibels)$"
"opaque,class:^(neovide)$"
"opaque,class:^(Tor Browser)$"
"opaque,class:^(com.ayugram.desktop)$"
"opaque,title:^(Software Manager)$"
"opaque,class:^(waypaper)$"
"opaque,class:^(mpv)$"
"opaque,class:^(helium)$"
"opaque,class:^(Spotify)$"
# -----------------
# Kando
# -----------------
"noblur,class:^(kando)$"
"opaque,class:^(kando)$"
"size 100% 100%,class:^(kando)$"
"bordersize 0,class:^(kando)$"
"noanim,class:^(kando)$"
"float,class:^(kando)$"
"pin,class:^(kando)$"
];
layerrule = [
"blur,rofi"
"noanim,hyprpicker"
"noanim,selection"
"noscreenshare,notifications"
"blur,notifications"
"ignorealpha 1,notifications"
"blur,wofi"
"dimaround,rofi"
"noanim,^dms$"
"noscreenshare,dms:notification-popup"
"noanim,noctalia-background-.*$"
"ignorealpha 0.5,noctalia-background-.*$"
"blur,noctalia-background-.*$"
"blurpopups,noctalia-background-.*$"
"noscreenshare,noctalia-notifications-.*$"
];
};
}
+45
View File
@@ -0,0 +1,45 @@
{ pkgs, ... }:
{
programs.yazi.enable = true;
programs.yazi.enableFishIntegration = true;
programs.fzf.enable = true;
programs.fzf.enableFishIntegration = true;
programs.lazygit.enable = true;
programs.lazygit.enableFishIntegration = true;
programs.zoxide.enable = true;
programs.zoxide.enableFishIntegration = true;
programs.distrobox.enable = true;
services.podman.enable = true;
programs.rofi.enable = true;
programs.rofi.plugins = [ pkgs.rofi-calc ];
services.polkit-gnome.enable = true;
services.cliphist.enable = true;
programs.btop.enable = true;
services.udiskie.enable = true;
programs.cava.enable = true;
programs.equibop.enable = true;
services.awww.enable = true;
services.mpdris2.enable = true;
programs.fastfetch.enable = true;
programs.prismlauncher.enable = true;
programs.fd.enable = true;
programs.uv.enable = true;
programs.satty.enable = true;
programs.mpvpaper.enable = true;
programs.obsidian.enable = true;
programs.gcc.enable = true;
programs.mpv.enable = true;
programs.imv.enable = true;
programs.aria2.enable = true;
programs.pywal = {
enable = true;
package = pkgs.pywal16;
};
}
+2
View File
@@ -59,6 +59,8 @@
losslesscut
tree
stow
bluetui
file-roller
];
fonts.packages = with pkgs; [