feat: updated hyprland

This commit is contained in:
Nick 2025-01-10 04:17:54 -06:00
parent 241f8063cf
commit dc82cbe08d
8 changed files with 153 additions and 113 deletions

122
flake.lock generated
View file

@ -44,11 +44,11 @@
"treefmt-nix": "treefmt-nix" "treefmt-nix": "treefmt-nix"
}, },
"locked": { "locked": {
"lastModified": 1735765398, "lastModified": 1736428354,
"narHash": "sha256-tU7wFUNkThhYMAttCpuKyqHC+UgPRpBAr9dHtDKxGhk=", "narHash": "sha256-L7uo4PKf4Odc4hl/d5QMpy5aXXkqATxCPKE7omgi+n8=",
"owner": "nix-community", "owner": "nix-community",
"repo": "buildbot-nix", "repo": "buildbot-nix",
"rev": "387f1ba65022e4ae17b4d64f44657bea8497aa10", "rev": "b657f0a25702d260c5a702919a8ad615d709b21b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -328,11 +328,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1733312601, "lastModified": 1735774679,
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", "narHash": "sha256-soePLBazJk0qQdDVhdbM98vYdssfs3WFedcq+raipRI=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", "rev": "f2f7418ce0ab4a5309a4596161d154cfc877af66",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -496,11 +496,11 @@
"zig": "zig" "zig": "zig"
}, },
"locked": { "locked": {
"lastModified": 1736402835, "lastModified": 1736455421,
"narHash": "sha256-SiG2B2KfU4BIOggrJJa9nKoagXtLXWWo9vXJ88a+ls8=", "narHash": "sha256-TsDbQIHOi84hTjb0SSLSyX27P1MA1DVLagX8uik+WGk=",
"owner": "ghostty-org", "owner": "ghostty-org",
"repo": "ghostty", "repo": "ghostty",
"rev": "2d7706ec4f7042b9072d3b8ac8ea496dee209bc8", "rev": "6ef757a8f85db7a124d370378850339a899c9e65",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -633,11 +633,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1733333617, "lastModified": 1735695978,
"narHash": "sha256-nMMQXREGvLOLvUa0ByhYFdaL0Jov0t1wzLbKjr05P2w=", "narHash": "sha256-cwk53OX1S1bCFY09zydubZNmmwcx9l5XEba8mVYuNE4=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "hercules-ci-effects", "repo": "hercules-ci-effects",
"rev": "56f8ea8d502c87cf62444bec4ee04512e8ea24ea", "rev": "f6233b5cfbada692d93a73d6ed35bdbfd0fdb9c4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -653,11 +653,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1736366465, "lastModified": 1736421950,
"narHash": "sha256-Fo68EF6p/N9GJyHiAUbXtiE7IJlb3IMjK86LuxFMsRU=", "narHash": "sha256-RyrX0WFXxFrYvzHNLTIyuk3NcNl3UBykuYru/P0zW5E=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "7e00856596891850ba5ad4c5ecd2ed74468c08c5", "rev": "d4aebb947a301b8da8654a804979a738c5c5da50",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -794,11 +794,11 @@
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1736370994, "lastModified": 1736462318,
"narHash": "sha256-0rt/+Ma9a3HMmvxziMMmUTb5dPu4gN+lSbW+K/zxG6o=", "narHash": "sha256-HRV9PN89cVaYi3s7For9fMJN5fWVMWYhE71qWODmjio=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "Hyprland", "repo": "Hyprland",
"rev": "c9822b08f914da2997e8ef47c8bef8016e5ff313", "rev": "f9c37ca43b14a4564d92b5788c81bf16f7bb719c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -960,11 +960,11 @@
"systems": "systems_7" "systems": "systems_7"
}, },
"locked": { "locked": {
"lastModified": 1736169493, "lastModified": 1736456356,
"narHash": "sha256-btbk2tgg8LcOZZoKkaRutZLTylR9bJ6Gn/dadnYjCvc=", "narHash": "sha256-T31OdhWmRLQkbfhMMMV5MAUlGDH7GGczvVFrrSlcjtY=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprlock", "repo": "hyprlock",
"rev": "de844d39adb09a827f15f4246a10bb7876f3c341", "rev": "73e23e535fb5bac7af598021ba792bd911583753",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1145,11 +1145,11 @@
"systems": "systems_9" "systems": "systems_9"
}, },
"locked": { "locked": {
"lastModified": 1736278550, "lastModified": 1736460301,
"narHash": "sha256-PS7E6JxSQ2IrIwdp5YOuRYHGV0wvJUoQsoOvgXlM3G0=", "narHash": "sha256-NLx7zV59MVlIL/CiTq0mC0zrEUqVLqVEcKRKqYEo6Qo=",
"owner": "ngi-nix", "owner": "ngi-nix",
"repo": "ngipkgs", "repo": "ngipkgs",
"rev": "09b52225ab55e18743c408e5704f20e48354128e", "rev": "f29b81759789e092bdd64273c1edd7dd25eb12b3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1162,15 +1162,14 @@
"inputs": { "inputs": {
"flake-compat": "flake-compat_5", "flake-compat": "flake-compat_5",
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs_2",
"nixpkgs-stable": "nixpkgs-stable_3", "nixpkgs-stable": "nixpkgs-stable_3"
"rust-overlay": "rust-overlay_2"
}, },
"locked": { "locked": {
"lastModified": 1736391924, "lastModified": 1736478165,
"narHash": "sha256-0iils2qitbyYQswdgiSOeateOVsKRjhJqGaSNFWKRHE=", "narHash": "sha256-5xlUOnBABTSdrFQjukDoyiYPmI8RGs4wOEpsq7fgcQg=",
"owner": "lilyinstarlight", "owner": "lilyinstarlight",
"repo": "nixos-cosmic", "repo": "nixos-cosmic",
"rev": "ffa6eea20301d21932fd9870570418a4fb96204c", "rev": "8f911597078dd297e94b6ae3dc100cedc8066915",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1181,11 +1180,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1735915915, "lastModified": 1736429638,
"narHash": "sha256-Q4HuFAvoKAIiTRZTUxJ0ZXeTC7lLfC9/dggGHNXNlCw=", "narHash": "sha256-dDWqQqSgMQXw5eFtcyoVijv7HbYJZOIo+jWQdJtsxn4=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "a27871180d30ebee8aa6b11bf7fef8a52f024733", "rev": "f81eabd5dd7c9213516fa2d3fc1d108a751340d4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1213,16 +1212,16 @@
}, },
"nixpkgs-stable_2": { "nixpkgs-stable_2": {
"locked": { "locked": {
"lastModified": 1735563628, "lastModified": 1736200483,
"narHash": "sha256-OnSAY7XDSx7CtDoqNh8jwVwh4xNL/2HaJxGjryLWzX8=", "narHash": "sha256-JO+lFN2HsCwSLMUWXHeOad6QUxOuwe9UOAF/iSl1J4I=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "b134951a4c9f3c995fd7be05f3243f8ecd65d798", "rev": "3f0a8ac25fb674611b98089ca3a5dd6480175751",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-24.05", "ref": "nixos-24.11",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
@ -1277,11 +1276,11 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1736012469, "lastModified": 1736344531,
"narHash": "sha256-/qlNWm/IEVVH7GfgAIyP6EsVZI6zjAx1cV5zNyrs+rI=", "narHash": "sha256-8YVQ9ZbSfuUk2bUf2KRj60NRraLPKPS0Q4QFTbc+c2c=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "8f3e1f807051e32d8c95cd12b9b421623850a34d", "rev": "bffc22eb12172e6db3c5dde9e3e5628f8e3e7912",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1316,11 +1315,11 @@
"treefmt-nix": "treefmt-nix_2" "treefmt-nix": "treefmt-nix_2"
}, },
"locked": { "locked": {
"lastModified": 1736404692, "lastModified": 1736493662,
"narHash": "sha256-DqM5ISXahEaGCBCP71VI7XNWL0EMblMxnqilLBLEvQ0=", "narHash": "sha256-CLs42Rc8FXyuqicJUW7bkG9U56cRWl5+RePMZV5f7d8=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NUR", "repo": "NUR",
"rev": "4ece91885a10535998c55269b22e25c0e4dd0df3", "rev": "f78b8cc670475468b89c2fafa2ee3cbaaae7e3ac",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1484,27 +1483,6 @@
} }
}, },
"rust-overlay_2": { "rust-overlay_2": {
"inputs": {
"nixpkgs": [
"nixos-cosmic",
"nixpkgs"
]
},
"locked": {
"lastModified": 1736390353,
"narHash": "sha256-e2SP1zV9CISHlYZwEhwT53N9CW7yPh0tKTR0vuQqiWc=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "1033caad3e26a56050de55ba0384df5ff0fa5ebd",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"type": "github"
}
},
"rust-overlay_3": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"wpaperd", "wpaperd",
@ -1525,7 +1503,7 @@
"type": "github" "type": "github"
} }
}, },
"rust-overlay_4": { "rust-overlay_3": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"yazi", "yazi",
@ -1577,11 +1555,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1735844895, "lastModified": 1736203741,
"narHash": "sha256-CIRlqX9tBK2awJkmVu2cKuap/0QziDXStQZ/u/+e8Z4=", "narHash": "sha256-eSjkBwBdQk+TZWFlLbclF2rAh4JxbGg8az4w/Lfe7f4=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "24d89184adf76d7ccc99e659dc5f3838efb5ee32", "rev": "c9c88f08e3ee495e888b8d7c8624a0b2519cb773",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1799,11 +1777,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1735135567, "lastModified": 1736090846,
"narHash": "sha256-8T3K5amndEavxnludPyfj3Z1IkcFdRpR23q+T0BVeZE=", "narHash": "sha256-heFL48rpDWjX95ZTnan1mHQ8CA/ziSsF5fWBpf87FJc=",
"owner": "numtide", "owner": "numtide",
"repo": "treefmt-nix", "repo": "treefmt-nix",
"rev": "9e09d30a644c57257715902efbb3adc56c79cf28", "rev": "94ae23570d1c5baf710989fa1736eaea537fec27",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1859,7 +1837,7 @@
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"rust-overlay": "rust-overlay_3", "rust-overlay": "rust-overlay_2",
"systems": "systems_11" "systems": "systems_11"
}, },
"locked": { "locked": {
@ -1921,7 +1899,7 @@
"inputs": { "inputs": {
"flake-utils": "flake-utils_6", "flake-utils": "flake-utils_6",
"nixpkgs": "nixpkgs_4", "nixpkgs": "nixpkgs_4",
"rust-overlay": "rust-overlay_4" "rust-overlay": "rust-overlay_3"
}, },
"locked": { "locked": {
"lastModified": 1736409518, "lastModified": 1736409518,

View file

@ -3,7 +3,7 @@
size = "compact"; size = "compact";
variant = "macchiato"; variant = "macchiato";
accents = [ accents = [
"mauve" "lavender"
]; ];
}; };
name = "catppuccin-macchiato-mauve-compact"; name = "catppuccin-macchiato-mauve-compact";

View file

@ -81,7 +81,13 @@ let
"4, movetoworkspacesilent, 4" "4, movetoworkspacesilent, 4"
]; ];
in in
superBinds ++ superShiftBinds ++ superCtrlBinds ++ altBinds ++ ctrlBinds ++ ctrlShiftBinds ++ shiftBinds superBinds
++ superShiftBinds
++ superCtrlBinds
++ altBinds
++ ctrlBinds
++ ctrlShiftBinds
++ shiftBinds
# Docs # Docs
# https://wiki.hyprland.org/Getting-Started/Master-Tutorial/ # https://wiki.hyprland.org/Getting-Started/Master-Tutorial/

View file

@ -7,4 +7,5 @@ let
"mouse:272, movewindow" "mouse:272, movewindow"
]; ];
in in
superBinds ++ altBinds superBinds
++ altBinds

View file

@ -1,19 +0,0 @@
let
centerWindows = [
"center, ^(gnome-characters)$"
"center, ^(mpv)$"
"center, ^(nomacs)$"
];
opaqueWindows = builtins.map (x: "opaque, " + x) [
"^(firefox)$"
"^(org.kde.kdenlive)$"
"^(krita)$"
"^(mpv)$"
"^(Brave-browser)$"
"^(Gimp-2.10)$"
"^(org.kde.okular)$"
"^(vlc)$"
"^(obsidian)$"
];
in
centerWindows ++ opaqueWindows

View file

@ -1,29 +1,98 @@
let let
blueman = "(.blueman-manager-wrapped)"; blueman = "(.blueman-manager-wrapped)";
calculator = "(org.gnome.Calculator)";
easyeffects = "(com.github.wwmm.easyeffects)"; easyeffects = "(com.github.wwmm.easyeffects)";
firefox = "(firefox)";
nomacs = "(org.nomacs.ImageLounge)"; nomacs = "(org.nomacs.ImageLounge)";
mpv = "(mpv)"; mpv = "(mpv)";
vlc = "(vlc)";
emote = "(emote)"; emote = "(emote)";
flameshot = "(flameshot)"; flameshot = "(flameshot)";
bitwarden = "(.*Bitwarden.*)";
picture = "(.*Picture-in-Picture.*)";
signal = "(signal)";
vesktop = "(vesktop)";
code = "(code)";
feishin = "(feishin)";
steam = "(steam)";
kdenlive = "(org.kde.kdenlive)";
maxsizeWindows = [ maxsizeWindows = [
"maxsize 640 640, class:^${blueman}$" "maxsize 720 400, class:^${blueman}$"
"maxsize 720 720, class:^${easyeffects}$" "maxsize 360 500, class:^${calculator}$"
"maxsize 720 720, class:^${mpv}$" "maxsize 720 400, class:^${easyeffects}$"
"maxsize 720 400, class:^${mpv}$"
"maxsize 720 400, class:^${vlc}$"
"maxsize 640 360, class:^${nomacs}$" "maxsize 640 360, class:^${nomacs}$"
"maxsize 800 450, title:^${bitwarden}$"
"maxsize 720 400, title:^${picture}$"
]; ];
floatWindows = builtins.map (x: "float, " + x) [ floatWindows = builtins.map (x: "float, " + x) [
"class:${blueman}" "class:^${blueman}$"
"class:${easyeffects}" "class:^${calculator}$"
"class:${emote}" "class:^${easyeffects}$"
"class:${mpv}" "class:^${emote}$"
"class:${nomacs}" "class:^${mpv}$"
"class:${flameshot}" "class:^${vlc}$"
"title:^(Picture-in-Picture)$" "class:^${nomacs}$"
"class:^${flameshot}$"
"title:^(${picture})$"
"title:^${bitwarden}$"
]; ];
pinWindows = builtins.map (x: "pin, " + x) [ pinWindows = builtins.map (x: "pin, " + x) [
"title:^(Picture-in-Picture)$" "title:^${bitwarden}$"
"title:^${picture}$"
];
idleInhibit = builtins.map (x: "idleinhibit, " + x) [
"fullscreen, class:^${firefox}$"
];
workspaceInit1 = builtins.map (x: "workspace 1 silent, " + x) [
"class:^${signal}$"
"class:^${vesktop}$"
];
workspaceInit2 = builtins.map (x: "workspace 2 silent, " + x) [
"class:^${code}$"
"class:^${firefox}$"
];
workspaceInit3 = builtins.map (x: "workspace 3 silent, " + x) [
"class:^${steam}$"
];
workspaceInit4 = builtins.map (x: "workspace 4 silent, " + x) [
"class:^${feishin}$"
];
centerWindows = builtins.map (x: "center, " + x) [
"class:^${emote}$"
"class:^${mpv}$"
"class:^${nomacs}$"
];
opaqueWindows = builtins.map (x: "opaque, " + x) [
"class:^${firefox}$"
"class:^${kdenlive}$"
"class:^(krita)$"
"class:^(shotcut)$"
"class:^${mpv}$"
"class:^(Brave-browser)$"
"class:^(Gimp-2.10)$"
"class:^(org.kde.okular)$"
"class:^${vlc}$"
]; ];
in in
maxsizeWindows ++ floatWindows ++ pinWindows maxsizeWindows
++ floatWindows
++ pinWindows
++ idleInhibit
++ workspaceInit1
++ workspaceInit2
++ workspaceInit3
++ workspaceInit4
++ centerWindows
++ opaqueWindows

View file

@ -1,28 +1,33 @@
{ {
pkgs, # pkgs,
flake, # flake,
# config,
... ...
}: let }: let
# hostname = config.networking.hostName;
# inherit (flake.config.machines.devices) desktop laptop;
configPath = ./config; configPath = ./config;
configImports = { configImports = {
animations = import (configPath + /animations.nix); animations = import (configPath + /animations.nix);
bind = import (configPath + /bind.nix); bind = import (configPath + /bind.nix);
bindm = import (configPath + /bindm.nix); bindm = import (configPath + /bindm.nix);
binds = import (configPath + /binds.nix); binds = import (configPath + /binds.nix);
bindl = import (configPath + /bindl.nix); # bindl =
# if hostname == laptop.name
# then import (configPath + /bindl.nix)
# else null;
decoration = import (configPath + /decoration.nix); decoration = import (configPath + /decoration.nix);
dwindle = import (configPath + /dwindle.nix); dwindle = import (configPath + /dwindle.nix);
exec-once = import (configPath + /exec-once.nix); exec-once = import (configPath + /exec-once.nix);
general = import (configPath + /general.nix); general = import (configPath + /general.nix);
input = import (configPath + /input.nix); input = import (configPath + /input.nix);
misc = import (configPath + /misc.nix); misc = import (configPath + /misc.nix);
windowrule = import (configPath + /windowrule.nix);
windowrulev2 = import (configPath + /windowrulev2.nix); windowrulev2 = import (configPath + /windowrulev2.nix);
}; };
in { in {
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {
enable = true; enable = true;
package = flake.inputs.hyprland.packages.${pkgs.system}.hyprland; # package = flake.inputs.hyprland.packages.${pkgs.system}.hyprland;
xwayland.enable = true; xwayland.enable = true;
systemd.enable = false; systemd.enable = false;
settings = configImports; settings = configImports;

View file

@ -1,12 +1,12 @@
{ {
pkgs, pkgs,
flake, # flake,
... ...
}: { }: {
programs.hyprland = { programs.hyprland = {
enable = true; enable = true;
xwayland.enable = true; xwayland.enable = true;
package = flake.inputs.hyprland.packages.${pkgs.system}.hyprland; # package = flake.inputs.hyprland.packages.${pkgs.system}.hyprland;
}; };
xdg.portal = { xdg.portal = {
enable = true; enable = true;