chore: merge remote-tracking branch 'refs/remotes/origin/master'

This commit is contained in:
Ahwx 2025-12-16 19:52:52 +01:00
commit 5865e9b08c
8 changed files with 160 additions and 18 deletions

31
flake.lock generated
View file

@ -421,6 +421,36 @@
"type": "github" "type": "github"
} }
}, },
"hyprland-plugins": {
"inputs": {
"hyprland": [
"hyprland"
],
"nixpkgs": [
"hyprland-plugins",
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland-plugins",
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1765207366,
"narHash": "sha256-s0jO2kEj5cLLTgTblKnAKjqt3MjYFnmyrQT3SxiUugM=",
"owner": "hyprwm",
"repo": "hyprland-plugins",
"rev": "e058ea23b80775cf20c675d064678416df2d9d04",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-plugins",
"type": "github"
}
},
"hyprland-protocols": { "hyprland-protocols": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -923,6 +953,7 @@
"home-manager": "home-manager", "home-manager": "home-manager",
"hypr-contrib": "hypr-contrib", "hypr-contrib": "hypr-contrib",
"hyprland": "hyprland", "hyprland": "hyprland",
"hyprland-plugins": "hyprland-plugins",
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_5", "nixpkgs": "nixpkgs_5",
"nixvim": "nixvim", "nixvim": "nixvim",

View file

@ -7,6 +7,8 @@
home-manager.inputs.nixpkgs.follows = "nixpkgs"; home-manager.inputs.nixpkgs.follows = "nixpkgs";
hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
hyprland.inputs.nixpkgs.follows = "nixpkgs"; hyprland.inputs.nixpkgs.follows = "nixpkgs";
hyprland-plugins.url = "github:hyprwm/hyprland-plugins";
hyprland-plugins.inputs.hyprland.follows = "hyprland";
hypr-contrib.url = "github:hyprwm/contrib"; hypr-contrib.url = "github:hyprwm/contrib";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
nur.url = "github:nix-community/NUR"; nur.url = "github:nix-community/NUR";

View file

@ -5,6 +5,90 @@
... ...
}: }:
{ {
home.file.".config/nwg-dock-hyprland/style.css".text = ''
* {
border-radius: 0
}
window {
background: #000000;
border-style: none;
border-width: 1px;
border-radius: 0;
border-color: rgba(156, 142, 122, 0.7);
padding: 4em 6em;
background: rgba(0, 0, 0, 0.5);
-webkit-backdrop-filter: blur(25px);
margin: 7px;
}
#box {
/* Define attributes of the box surrounding icons here */
padding: 10px
}
button,
image {
background: none;
border-style: none;
box-shadow: none;
color: #999
}
button {
padding: 4px;
margin-left: 4px;
margin-right: 4px;
color: #eee;
font-size: 12px
}
button:hover {
background-color: rgba(255, 255, 255, 0.15);
border-radius: 2px;
}
button:focus {
box-shadow: 0 0 2px;
}
'';
home.file.".cache/nwg-dock-pinned".text = ''
chromium-browser
thunar
${if (host == "sakura") then "darktable" else ""}
${if (host == "sakura") then "flstudio" else ""}
${if (host == "iris") then "steam" else ""}
footclient
qutebrowser
librewolf
anki
virt-manager
Element
signal
spotify
thunderbird
'';
services.hypridle.enable = true;
home.file.".config/hypr/hypridle.conf".text = ''
general {
lock_cmd = pgrep hyprlock || hyprlock
}
listener {
timeout = 165 # in seconds
on-timeout = pgrep hyprlock || hyprlock
}
listener {
timeout = 1800 # in seconds
on-timeout = systemctl suspend; hyprlock
}
'';
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {
settings = { settings = {
@ -37,7 +121,9 @@
"foot --server &" "foot --server &"
"hyprfloat &" "hyprfloat &"
"gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark' &" "gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark' &"
"nwg-dock-hyprland &" "nwg-dock-hyprland -l top &"
"nextcloud &"
"hyprland-monitor-attached dock-on-all-monitors dock-on-all-monitors &"
]; ];
input = { input = {
@ -51,11 +137,15 @@
}; };
}; };
#workspace = [
# "w[tv1], gapsout:0, gapsin:0"
# "f[1], gapsout:0, gapsin:0"
#];
general = { general = {
"$mainMod" = "ALT"; "$mainMod" = "ALT";
layout = "dwindle"; layout = "dwindle";
gaps_in = 0; gaps_in = 0;
gaps_out = 0; gaps_out = "0,0,68,0";
border_size = 2; border_size = 2;
"col.active_border" = "rgb(ffffff) rgb(ffffff) 45deg"; "col.active_border" = "rgb(ffffff) rgb(ffffff) 45deg";
"col.inactive_border" = "0x00000000"; "col.inactive_border" = "0x00000000";
@ -157,11 +247,11 @@
}; };
gesture = [ gesture = [
"3, horizontal, workspace" "3, left, dispatcher, changegroupactive, b"
"4, up, dispatcher, playerctl -p mpd play-pause" "3, right, dispatcher, changegroupactive, f"
"4, left, dispatcher, playerctl -p mpd next" "4, horizontal, workspace"
"4, right, dispatcher, playerctl -p mpd previous" "4, pinchin, fullscreen"
# "4, horizontal, move" "4, pinchout, float"
]; ];
bind = [ bind = [
@ -282,11 +372,6 @@
"$mainMod, mouse:273, resizewindow" "$mainMod, mouse:273, resizewindow"
]; ];
workspace = [
"w[tv1], gapsout:0, gapsin:0"
"f[1], gapsout:0, gapsin:0"
];
# windowrule # windowrule
# windowrule = [ # windowrule = [
# "float,title:^(float_kitty)$" # "float,title:^(float_kitty)$"

View file

@ -11,6 +11,7 @@
wayland wayland
direnv direnv
nwg-dock-hyprland nwg-dock-hyprland
hyprland-monitor-attached
]; ];
# systemd.user.targets.hyprland-session.Unit.Wants = [ "xdg-desktop-autostart.target" ]; # systemd.user.targets.hyprland-session.Unit.Wants = [ "xdg-desktop-autostart.target" ];
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {

View file

@ -12,6 +12,9 @@ let
builtins.readFile ./scripts/toggle_oppacity.sh builtins.readFile ./scripts/toggle_oppacity.sh
); );
ascii = pkgs.writeScriptBin "ascii" (builtins.readFile ./scripts/ascii.sh); ascii = pkgs.writeScriptBin "ascii" (builtins.readFile ./scripts/ascii.sh);
dock-on-all-monitors = pkgs.writeScriptBin "dock-on-all-monitors" (
builtins.readFile ./scripts/dock-on-all-monitors.sh
);
in in
{ {
home.packages = with pkgs; [ home.packages = with pkgs; [
@ -25,5 +28,6 @@ in
toggle_blur toggle_blur
toggle_oppacity toggle_oppacity
ascii ascii
dock-on-all-monitors
]; ];
} }

View file

@ -0,0 +1,18 @@
#!/usr/bin/env bash
set -e
set -x
last="$(hyprctl monitors | grep Monitor | sed 's/Monitor //g' | awk '{print $3}' | sed 's/)://g' | sed ':a;N;$!ba;s/\n/ /g' | awk '{print $NF}')"
hyprctl dispatch focusmonitor 0
setsid nwg-dock-hyprland -m -l top &
sleep 0.5
((last = last + 1)) # make number be one higher so it also takes last window (this is required as we used `i < "$last"`)
for ((i = 0; i < "$last"; i++)); do
hyprctl dispatch focusmonitor "$i"
setsid nwg-dock-hyprland -m -l top -c 'bemenu-run -l 5' &
sleep 0.5
done

View file

@ -36,6 +36,11 @@ unfuck_bar() {
setsid waybar & setsid waybar &
} }
unfuck_dock() {
pkill .nwg-dock-hyprl
setsid dock-on-all-monitors &
}
unfuck_networkmanager() { unfuck_networkmanager() {
# sudo modprobe -r iwlwifi # sudo modprobe -r iwlwifi
# sudo modprobe iwlwifi # sudo modprobe iwlwifi

View file

@ -33,12 +33,8 @@ in
size = 14; size = 14;
}; };
theme = { theme = {
name = "Juno"; name = "Orchis-Purple-Dark-Compact";
package = pkgs.juno-theme; # .override { package = pkgs.orchis-theme;
# colorVariants = [ "dark" ];
# themeVariants = [ "green" ];
# tweakVariants = [ "macos" ];
# };
}; };
iconTheme = { iconTheme = {
name = "Papirus-Dark"; name = "Papirus-Dark";