diff --git a/flake.lock b/flake.lock index 2075568..6e32c30 100755 --- a/flake.lock +++ b/flake.lock @@ -44,11 +44,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1735765398, - "narHash": "sha256-tU7wFUNkThhYMAttCpuKyqHC+UgPRpBAr9dHtDKxGhk=", + "lastModified": 1736428354, + "narHash": "sha256-L7uo4PKf4Odc4hl/d5QMpy5aXXkqATxCPKE7omgi+n8=", "owner": "nix-community", "repo": "buildbot-nix", - "rev": "387f1ba65022e4ae17b4d64f44657bea8497aa10", + "rev": "b657f0a25702d260c5a702919a8ad615d709b21b", "type": "github" }, "original": { @@ -328,11 +328,11 @@ ] }, "locked": { - "lastModified": 1733312601, - "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", + "lastModified": 1735774679, + "narHash": "sha256-soePLBazJk0qQdDVhdbM98vYdssfs3WFedcq+raipRI=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", + "rev": "f2f7418ce0ab4a5309a4596161d154cfc877af66", "type": "github" }, "original": { @@ -496,11 +496,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1736402835, - "narHash": "sha256-SiG2B2KfU4BIOggrJJa9nKoagXtLXWWo9vXJ88a+ls8=", + "lastModified": 1736455421, + "narHash": "sha256-TsDbQIHOi84hTjb0SSLSyX27P1MA1DVLagX8uik+WGk=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "2d7706ec4f7042b9072d3b8ac8ea496dee209bc8", + "rev": "6ef757a8f85db7a124d370378850339a899c9e65", "type": "github" }, "original": { @@ -633,11 +633,11 @@ ] }, "locked": { - "lastModified": 1733333617, - "narHash": "sha256-nMMQXREGvLOLvUa0ByhYFdaL0Jov0t1wzLbKjr05P2w=", + "lastModified": 1735695978, + "narHash": "sha256-cwk53OX1S1bCFY09zydubZNmmwcx9l5XEba8mVYuNE4=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "56f8ea8d502c87cf62444bec4ee04512e8ea24ea", + "rev": "f6233b5cfbada692d93a73d6ed35bdbfd0fdb9c4", "type": "github" }, "original": { @@ -653,11 +653,11 @@ ] }, "locked": { - "lastModified": 1736366465, - "narHash": "sha256-Fo68EF6p/N9GJyHiAUbXtiE7IJlb3IMjK86LuxFMsRU=", + "lastModified": 1736421950, + "narHash": "sha256-RyrX0WFXxFrYvzHNLTIyuk3NcNl3UBykuYru/P0zW5E=", "owner": "nix-community", "repo": "home-manager", - "rev": "7e00856596891850ba5ad4c5ecd2ed74468c08c5", + "rev": "d4aebb947a301b8da8654a804979a738c5c5da50", "type": "github" }, "original": { @@ -794,11 +794,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1736370994, - "narHash": "sha256-0rt/+Ma9a3HMmvxziMMmUTb5dPu4gN+lSbW+K/zxG6o=", + "lastModified": 1736462318, + "narHash": "sha256-HRV9PN89cVaYi3s7For9fMJN5fWVMWYhE71qWODmjio=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "c9822b08f914da2997e8ef47c8bef8016e5ff313", + "rev": "f9c37ca43b14a4564d92b5788c81bf16f7bb719c", "type": "github" }, "original": { @@ -960,11 +960,11 @@ "systems": "systems_7" }, "locked": { - "lastModified": 1736169493, - "narHash": "sha256-btbk2tgg8LcOZZoKkaRutZLTylR9bJ6Gn/dadnYjCvc=", + "lastModified": 1736456356, + "narHash": "sha256-T31OdhWmRLQkbfhMMMV5MAUlGDH7GGczvVFrrSlcjtY=", "owner": "hyprwm", "repo": "hyprlock", - "rev": "de844d39adb09a827f15f4246a10bb7876f3c341", + "rev": "73e23e535fb5bac7af598021ba792bd911583753", "type": "github" }, "original": { @@ -1145,11 +1145,11 @@ "systems": "systems_9" }, "locked": { - "lastModified": 1736278550, - "narHash": "sha256-PS7E6JxSQ2IrIwdp5YOuRYHGV0wvJUoQsoOvgXlM3G0=", + "lastModified": 1736460301, + "narHash": "sha256-NLx7zV59MVlIL/CiTq0mC0zrEUqVLqVEcKRKqYEo6Qo=", "owner": "ngi-nix", "repo": "ngipkgs", - "rev": "09b52225ab55e18743c408e5704f20e48354128e", + "rev": "f29b81759789e092bdd64273c1edd7dd25eb12b3", "type": "github" }, "original": { @@ -1162,15 +1162,14 @@ "inputs": { "flake-compat": "flake-compat_5", "nixpkgs": "nixpkgs_2", - "nixpkgs-stable": "nixpkgs-stable_3", - "rust-overlay": "rust-overlay_2" + "nixpkgs-stable": "nixpkgs-stable_3" }, "locked": { - "lastModified": 1736391924, - "narHash": "sha256-0iils2qitbyYQswdgiSOeateOVsKRjhJqGaSNFWKRHE=", + "lastModified": 1736478165, + "narHash": "sha256-5xlUOnBABTSdrFQjukDoyiYPmI8RGs4wOEpsq7fgcQg=", "owner": "lilyinstarlight", "repo": "nixos-cosmic", - "rev": "ffa6eea20301d21932fd9870570418a4fb96204c", + "rev": "8f911597078dd297e94b6ae3dc100cedc8066915", "type": "github" }, "original": { @@ -1181,11 +1180,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1735915915, - "narHash": "sha256-Q4HuFAvoKAIiTRZTUxJ0ZXeTC7lLfC9/dggGHNXNlCw=", + "lastModified": 1736429638, + "narHash": "sha256-dDWqQqSgMQXw5eFtcyoVijv7HbYJZOIo+jWQdJtsxn4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a27871180d30ebee8aa6b11bf7fef8a52f024733", + "rev": "f81eabd5dd7c9213516fa2d3fc1d108a751340d4", "type": "github" }, "original": { @@ -1213,16 +1212,16 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1735563628, - "narHash": "sha256-OnSAY7XDSx7CtDoqNh8jwVwh4xNL/2HaJxGjryLWzX8=", + "lastModified": 1736200483, + "narHash": "sha256-JO+lFN2HsCwSLMUWXHeOad6QUxOuwe9UOAF/iSl1J4I=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b134951a4c9f3c995fd7be05f3243f8ecd65d798", + "rev": "3f0a8ac25fb674611b98089ca3a5dd6480175751", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-24.05", + "ref": "nixos-24.11", "repo": "nixpkgs", "type": "github" } @@ -1277,11 +1276,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1736012469, - "narHash": "sha256-/qlNWm/IEVVH7GfgAIyP6EsVZI6zjAx1cV5zNyrs+rI=", + "lastModified": 1736344531, + "narHash": "sha256-8YVQ9ZbSfuUk2bUf2KRj60NRraLPKPS0Q4QFTbc+c2c=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8f3e1f807051e32d8c95cd12b9b421623850a34d", + "rev": "bffc22eb12172e6db3c5dde9e3e5628f8e3e7912", "type": "github" }, "original": { @@ -1316,11 +1315,11 @@ "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1736404692, - "narHash": "sha256-DqM5ISXahEaGCBCP71VI7XNWL0EMblMxnqilLBLEvQ0=", + "lastModified": 1736493662, + "narHash": "sha256-CLs42Rc8FXyuqicJUW7bkG9U56cRWl5+RePMZV5f7d8=", "owner": "nix-community", "repo": "NUR", - "rev": "4ece91885a10535998c55269b22e25c0e4dd0df3", + "rev": "f78b8cc670475468b89c2fafa2ee3cbaaae7e3ac", "type": "github" }, "original": { @@ -1484,27 +1483,6 @@ } }, "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": { "nixpkgs": [ "wpaperd", @@ -1525,7 +1503,7 @@ "type": "github" } }, - "rust-overlay_4": { + "rust-overlay_3": { "inputs": { "nixpkgs": [ "yazi", @@ -1577,11 +1555,11 @@ ] }, "locked": { - "lastModified": 1735844895, - "narHash": "sha256-CIRlqX9tBK2awJkmVu2cKuap/0QziDXStQZ/u/+e8Z4=", + "lastModified": 1736203741, + "narHash": "sha256-eSjkBwBdQk+TZWFlLbclF2rAh4JxbGg8az4w/Lfe7f4=", "owner": "Mic92", "repo": "sops-nix", - "rev": "24d89184adf76d7ccc99e659dc5f3838efb5ee32", + "rev": "c9c88f08e3ee495e888b8d7c8624a0b2519cb773", "type": "github" }, "original": { @@ -1799,11 +1777,11 @@ ] }, "locked": { - "lastModified": 1735135567, - "narHash": "sha256-8T3K5amndEavxnludPyfj3Z1IkcFdRpR23q+T0BVeZE=", + "lastModified": 1736090846, + "narHash": "sha256-heFL48rpDWjX95ZTnan1mHQ8CA/ziSsF5fWBpf87FJc=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "9e09d30a644c57257715902efbb3adc56c79cf28", + "rev": "94ae23570d1c5baf710989fa1736eaea537fec27", "type": "github" }, "original": { @@ -1859,7 +1837,7 @@ "nixpkgs": [ "nixpkgs" ], - "rust-overlay": "rust-overlay_3", + "rust-overlay": "rust-overlay_2", "systems": "systems_11" }, "locked": { @@ -1921,7 +1899,7 @@ "inputs": { "flake-utils": "flake-utils_6", "nixpkgs": "nixpkgs_4", - "rust-overlay": "rust-overlay_4" + "rust-overlay": "rust-overlay_3" }, "locked": { "lastModified": 1736409518, diff --git a/home/modules/gtk/config/theme.nix b/home/modules/gtk/config/theme.nix index 4ac6418..926ed4c 100755 --- a/home/modules/gtk/config/theme.nix +++ b/home/modules/gtk/config/theme.nix @@ -3,7 +3,7 @@ size = "compact"; variant = "macchiato"; accents = [ - "mauve" + "lavender" ]; }; name = "catppuccin-macchiato-mauve-compact"; diff --git a/home/modules/hypr/land/config/bind.nix b/home/modules/hypr/land/config/bind.nix index 38e04c8..0abafa2 100755 --- a/home/modules/hypr/land/config/bind.nix +++ b/home/modules/hypr/land/config/bind.nix @@ -81,7 +81,13 @@ let "4, movetoworkspacesilent, 4" ]; in - superBinds ++ superShiftBinds ++ superCtrlBinds ++ altBinds ++ ctrlBinds ++ ctrlShiftBinds ++ shiftBinds + superBinds + ++ superShiftBinds + ++ superCtrlBinds + ++ altBinds + ++ ctrlBinds + ++ ctrlShiftBinds + ++ shiftBinds # Docs # https://wiki.hyprland.org/Getting-Started/Master-Tutorial/ diff --git a/home/modules/hypr/land/config/bindm.nix b/home/modules/hypr/land/config/bindm.nix index da83466..475bb29 100755 --- a/home/modules/hypr/land/config/bindm.nix +++ b/home/modules/hypr/land/config/bindm.nix @@ -7,4 +7,5 @@ let "mouse:272, movewindow" ]; in - superBinds ++ altBinds + superBinds + ++ altBinds diff --git a/home/modules/hypr/land/config/windowrule.nix b/home/modules/hypr/land/config/windowrule.nix deleted file mode 100755 index f2fa82f..0000000 --- a/home/modules/hypr/land/config/windowrule.nix +++ /dev/null @@ -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 diff --git a/home/modules/hypr/land/config/windowrulev2.nix b/home/modules/hypr/land/config/windowrulev2.nix index 812c6d4..9d552c0 100755 --- a/home/modules/hypr/land/config/windowrulev2.nix +++ b/home/modules/hypr/land/config/windowrulev2.nix @@ -1,29 +1,98 @@ let blueman = "(.blueman-manager-wrapped)"; + calculator = "(org.gnome.Calculator)"; easyeffects = "(com.github.wwmm.easyeffects)"; + firefox = "(firefox)"; nomacs = "(org.nomacs.ImageLounge)"; mpv = "(mpv)"; + vlc = "(vlc)"; emote = "(emote)"; flameshot = "(flameshot)"; + bitwarden = "(.*Bitwarden.*)"; + picture = "(.*Picture-in-Picture.*)"; + signal = "(signal)"; + vesktop = "(vesktop)"; + code = "(code)"; + feishin = "(feishin)"; + steam = "(steam)"; + kdenlive = "(org.kde.kdenlive)"; maxsizeWindows = [ - "maxsize 640 640, class:^${blueman}$" - "maxsize 720 720, class:^${easyeffects}$" - "maxsize 720 720, class:^${mpv}$" + "maxsize 720 400, class:^${blueman}$" + "maxsize 360 500, class:^${calculator}$" + "maxsize 720 400, class:^${easyeffects}$" + "maxsize 720 400, class:^${mpv}$" + "maxsize 720 400, class:^${vlc}$" "maxsize 640 360, class:^${nomacs}$" + "maxsize 800 450, title:^${bitwarden}$" + "maxsize 720 400, title:^${picture}$" ]; + floatWindows = builtins.map (x: "float, " + x) [ - "class:${blueman}" - "class:${easyeffects}" - "class:${emote}" - "class:${mpv}" - "class:${nomacs}" - "class:${flameshot}" - "title:^(Picture-in-Picture)$" + "class:^${blueman}$" + "class:^${calculator}$" + "class:^${easyeffects}$" + "class:^${emote}$" + "class:^${mpv}$" + "class:^${vlc}$" + "class:^${nomacs}$" + "class:^${flameshot}$" + "title:^(${picture})$" + "title:^${bitwarden}$" ]; 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 - maxsizeWindows ++ floatWindows ++ pinWindows + maxsizeWindows + ++ floatWindows + ++ pinWindows + ++ idleInhibit + ++ workspaceInit1 + ++ workspaceInit2 + ++ workspaceInit3 + ++ workspaceInit4 + ++ centerWindows + ++ opaqueWindows diff --git a/home/modules/hypr/land/default.nix b/home/modules/hypr/land/default.nix index 0e098d7..f07b518 100755 --- a/home/modules/hypr/land/default.nix +++ b/home/modules/hypr/land/default.nix @@ -1,28 +1,33 @@ { - pkgs, - flake, + # pkgs, + # flake, + # config, ... }: let + # hostname = config.networking.hostName; + # inherit (flake.config.machines.devices) desktop laptop; configPath = ./config; configImports = { animations = import (configPath + /animations.nix); bind = import (configPath + /bind.nix); bindm = import (configPath + /bindm.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); dwindle = import (configPath + /dwindle.nix); exec-once = import (configPath + /exec-once.nix); general = import (configPath + /general.nix); input = import (configPath + /input.nix); misc = import (configPath + /misc.nix); - windowrule = import (configPath + /windowrule.nix); windowrulev2 = import (configPath + /windowrulev2.nix); }; in { wayland.windowManager.hyprland = { enable = true; - package = flake.inputs.hyprland.packages.${pkgs.system}.hyprland; + # package = flake.inputs.hyprland.packages.${pkgs.system}.hyprland; xwayland.enable = true; systemd.enable = false; settings = configImports; diff --git a/nixos/modules/hyprland/hyprland.nix b/nixos/modules/hyprland/hyprland.nix index 0080853..b24b188 100755 --- a/nixos/modules/hyprland/hyprland.nix +++ b/nixos/modules/hyprland/hyprland.nix @@ -1,12 +1,12 @@ { pkgs, - flake, + # flake, ... }: { programs.hyprland = { enable = true; xwayland.enable = true; - package = flake.inputs.hyprland.packages.${pkgs.system}.hyprland; + # package = flake.inputs.hyprland.packages.${pkgs.system}.hyprland; }; xdg.portal = { enable = true;