Hyprland Config Refactor:
- Removed flake inputs everywhere, git flakes always broke. Idk what those bitches doing - Moved Rules and Plugins to their own files - Reworked binds to use a script and not the shitty nix implementation - Installed and setup Hyprscroller - Some Theming with colors and wallpaper with hyprpaper
This commit is contained in:
parent
d14c747744
commit
dc2e697b14
10 changed files with 446 additions and 812 deletions
622
flake.lock
generated
622
flake.lock
generated
|
@ -1,48 +1,26 @@
|
|||
{
|
||||
"nodes": {
|
||||
"aquamarine": {
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"hyprutils": "hyprutils",
|
||||
"hyprwayland-scanner": "hyprwayland-scanner",
|
||||
"nixpkgs": [
|
||||
"nixpkgs-unstable"
|
||||
],
|
||||
"systems": "systems"
|
||||
"nixpkgs-lib": "nixpkgs-lib"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1742162448,
|
||||
"narHash": "sha256-ybpV2+yNExdHnMhhhmtxqgBCgI+nRr8gi/D+VVb9lQY=",
|
||||
"ref": "refs/tags/v0.8.0",
|
||||
"rev": "1c8fa0bf04d706698311cf595e80bbd6d3697956",
|
||||
"revCount": 279,
|
||||
"type": "git",
|
||||
"url": "https://github.com/hyprwm/aquamarine"
|
||||
},
|
||||
"original": {
|
||||
"ref": "refs/tags/v0.8.0",
|
||||
"type": "git",
|
||||
"url": "https://github.com/hyprwm/aquamarine"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1696426674,
|
||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||
"lastModified": 1741352980,
|
||||
"narHash": "sha256-+u2UunDA4Cl5Fci3m7S643HzKmIDAe+fiXrLqYsR2fs=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "f4330d22f1c5d2ba72d3d22df5597d123fdb60a9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems_6"
|
||||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1681202837,
|
||||
|
@ -58,35 +36,13 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"pre-commit-hooks",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709087332,
|
||||
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1741792691,
|
||||
"narHash": "sha256-f0BVt1/cvA0DQ/q3rB+HY4g4tKksd03ZkzI4xehC2Ew=",
|
||||
"lastModified": 1743167577,
|
||||
"narHash": "sha256-I09SrXIO0UdyBFfh0fxDq5WnCDg8XKmZ1HQbaXzMA1k=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "e1f12151258b12c567f456d8248e4694e9390613",
|
||||
"rev": "0ed819e708af17bfc4bbc63ee080ef308a24aa42",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -102,11 +58,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1741955947,
|
||||
"narHash": "sha256-2lbURKclgKqBNm7hVRtWh0A7NrdsibD0EaWhahUVhhY=",
|
||||
"lastModified": 1743267068,
|
||||
"narHash": "sha256-G7866vbO5jgqMcYJzgbxej40O6mBGQMGt6gM0himjoA=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "4e12151c9e014e2449e0beca2c0e9534b96a26b4",
|
||||
"rev": "b431496538b0e294fbe44a1441b24ae8195c63f0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -115,252 +71,13 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprcursor": {
|
||||
"inputs": {
|
||||
"hyprlang": [
|
||||
"hyprland",
|
||||
"hyprlang"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1738664950,
|
||||
"narHash": "sha256-xIeGNM+iivwVHkv9tHwOqoUP5dDrtees34bbFKKMZYs=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprcursor",
|
||||
"rev": "7c6d165e1eb9045a996551eb9f121b6d1b30adc3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprcursor",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprgraphics": {
|
||||
"inputs": {
|
||||
"hyprutils": [
|
||||
"hyprland",
|
||||
"hyprutils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1739049071,
|
||||
"narHash": "sha256-3+7TpXMrbsUXSwgr5VAKAnmkzMb6JO+Rvc9XRb5NMg4=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprgraphics",
|
||||
"rev": "175c6b29b6ff82100539e7c4363a35a02c74dd73",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprgraphics",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprland": {
|
||||
"inputs": {
|
||||
"aquamarine": [
|
||||
"aquamarine"
|
||||
],
|
||||
"hyprcursor": "hyprcursor",
|
||||
"hyprgraphics": "hyprgraphics",
|
||||
"hyprland-protocols": "hyprland-protocols",
|
||||
"hyprland-qtutils": "hyprland-qtutils",
|
||||
"hyprlang": "hyprlang_2",
|
||||
"hyprutils": "hyprutils_3",
|
||||
"hyprwayland-scanner": "hyprwayland-scanner_2",
|
||||
"nixpkgs": [
|
||||
"nixpkgs-unstable"
|
||||
],
|
||||
"pre-commit-hooks": "pre-commit-hooks",
|
||||
"systems": "systems_2",
|
||||
"xdph": "xdph"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1738457237,
|
||||
"narHash": "sha256-dSKR1VpjpdJVZ5dmLgIvAu3K+DYrSbohZkqxSQhjw8U=",
|
||||
"ref": "refs/tags/v0.47.2",
|
||||
"rev": "882f7ad7d2bbfc7440d0ccaef93b1cdd78e8e3ff",
|
||||
"revCount": 5767,
|
||||
"submodules": true,
|
||||
"type": "git",
|
||||
"url": "https://github.com/hyprwm/Hyprland"
|
||||
},
|
||||
"original": {
|
||||
"ref": "refs/tags/v0.47.2",
|
||||
"submodules": true,
|
||||
"type": "git",
|
||||
"url": "https://github.com/hyprwm/Hyprland"
|
||||
}
|
||||
},
|
||||
"hyprland-protocols": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1738422629,
|
||||
"narHash": "sha256-5v+bv75wJWvahyM2xcMTSNNxmV8a7hb01Eey5zYnBJw=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-protocols",
|
||||
"rev": "755aef8dab49d0fc4663c715fa4ad221b2aedaed",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-protocols",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprland-qt-support": {
|
||||
"inputs": {
|
||||
"hyprlang": [
|
||||
"hyprland",
|
||||
"hyprland-qtutils",
|
||||
"hyprlang"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"hyprland-qtutils",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"hyprland-qtutils",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1737634706,
|
||||
"narHash": "sha256-nGCibkfsXz7ARx5R+SnisRtMq21IQIhazp6viBU8I/A=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-qt-support",
|
||||
"rev": "8810df502cdee755993cb803eba7b23f189db795",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-qt-support",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprland-qtutils": {
|
||||
"inputs": {
|
||||
"hyprland-qt-support": "hyprland-qt-support",
|
||||
"hyprlang": "hyprlang",
|
||||
"hyprutils": [
|
||||
"hyprland",
|
||||
"hyprutils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1739048983,
|
||||
"narHash": "sha256-REhTcXq4qs3B3cCDtLlYDz0GZvmsBSh947Ub6pQWGTQ=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-qtutils",
|
||||
"rev": "3504a293c8f8db4127cb0f7cfc1a318ffb4316f8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-qtutils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprlang": {
|
||||
"inputs": {
|
||||
"hyprutils": "hyprutils_2",
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"hyprland-qtutils",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"hyprland-qtutils",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1741191527,
|
||||
"narHash": "sha256-kM+11Nch47Xwfgtw2EpRitJuORy4miwoMuRi5tyMBDY=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprlang",
|
||||
"rev": "72df3861f1197e41b078faa3e38eedd60e00018d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprlang",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprlang_2": {
|
||||
"inputs": {
|
||||
"hyprutils": [
|
||||
"hyprland",
|
||||
"hyprutils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1741191527,
|
||||
"narHash": "sha256-kM+11Nch47Xwfgtw2EpRitJuORy4miwoMuRi5tyMBDY=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprlang",
|
||||
"rev": "72df3861f1197e41b078faa3e38eedd60e00018d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprlang",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprlang_3": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"rose-pine-hyprcursor",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": "systems_4"
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709914708,
|
||||
|
@ -376,163 +93,34 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprspace": {
|
||||
"inputs": {
|
||||
"hyprland": [
|
||||
"hyprland"
|
||||
],
|
||||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1741933157,
|
||||
"narHash": "sha256-HEWIQ1SgUTnc964oDsi68rQQug57BqbdUYqZvr3Ep0A=",
|
||||
"owner": "KZDKM",
|
||||
"repo": "Hyprspace",
|
||||
"rev": "c3cf91bdb6a912f9d2c2779deebdf23385fd659a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "KZDKM",
|
||||
"repo": "Hyprspace",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprutils": {
|
||||
"nix-gaming": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts",
|
||||
"nixpkgs": [
|
||||
"aquamarine",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"aquamarine",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1741534688,
|
||||
"narHash": "sha256-EV3945SnjOCuRVbGRghsWx/9D89FyshnSO1Q6/TuQ14=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprutils",
|
||||
"rev": "dd1f720cbc2dbb3c71167c9598045dd3261d27b3",
|
||||
"lastModified": 1742998728,
|
||||
"narHash": "sha256-WOJEfqNrgvUFgGlA70S3h9iHIJtT6qhwxVwbiUdVhXs=",
|
||||
"owner": "fufexan",
|
||||
"repo": "nix-gaming",
|
||||
"rev": "5f44cf346870efd1c6300d81d03a132a8834e0e4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprutils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprutils_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"hyprland-qtutils",
|
||||
"hyprlang",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"hyprland-qtutils",
|
||||
"hyprlang",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1737632363,
|
||||
"narHash": "sha256-X9I8POSlHxBVjD0fiX1O2j7U9Zi1+4rIkrsyHP0uHXY=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprutils",
|
||||
"rev": "006620eb29d54ea9086538891404c78563d1bae1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprutils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprutils_3": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1741534688,
|
||||
"narHash": "sha256-EV3945SnjOCuRVbGRghsWx/9D89FyshnSO1Q6/TuQ14=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprutils",
|
||||
"rev": "dd1f720cbc2dbb3c71167c9598045dd3261d27b3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprutils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprwayland-scanner": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"aquamarine",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"aquamarine",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1739870480,
|
||||
"narHash": "sha256-SiDN5BGxa/1hAsqhgJsS03C3t2QrLgBT8u+ENJ0Qzwc=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprwayland-scanner",
|
||||
"rev": "206367a08dc5ac4ba7ad31bdca391d098082e64b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprwayland-scanner",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprwayland-scanner_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1739870480,
|
||||
"narHash": "sha256-SiDN5BGxa/1hAsqhgJsS03C3t2QrLgBT8u+ENJ0Qzwc=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprwayland-scanner",
|
||||
"rev": "206367a08dc5ac4ba7ad31bdca391d098082e64b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprwayland-scanner",
|
||||
"owner": "fufexan",
|
||||
"repo": "nix-gaming",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1741851582,
|
||||
"narHash": "sha256-cPfs8qMccim2RBgtKGF+x9IBCduRvd/N5F4nYpU0TVE=",
|
||||
"lastModified": 1743095683,
|
||||
"narHash": "sha256-gWd4urRoLRe8GLVC/3rYRae1h+xfQzt09xOfb0PaHSk=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "6607cf789e541e7873d40d3a8f7815ea92204f32",
|
||||
"rev": "5e5402ecbcb27af32284d4a62553c019a3a49ea6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -542,6 +130,21 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-lib": {
|
||||
"locked": {
|
||||
"lastModified": 1740877520,
|
||||
"narHash": "sha256-oiwv/ZK/2FhGxrCkQkB83i7GnWXPPLzoqFHpDD3uYpk=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"rev": "147dee35aab2193b174e4c0868bd80ead5ce755c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-ovmf": {
|
||||
"locked": {
|
||||
"lastModified": 1708984720,
|
||||
|
@ -560,11 +163,11 @@
|
|||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1741862977,
|
||||
"narHash": "sha256-prZ0M8vE/ghRGGZcflvxCu40ObKaB+ikn74/xQoNrGQ=",
|
||||
"lastModified": 1743231893,
|
||||
"narHash": "sha256-tpJsHMUPEhEnzySoQxx7+kA+KUtgWqvlcUBqROYNNt0=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "cdd2ef009676ac92b715ff26630164bb88fec4e0",
|
||||
"rev": "c570c1f5304493cafe133b8d843c7c1c4a10d3a6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -576,11 +179,11 @@
|
|||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1741851582,
|
||||
"narHash": "sha256-cPfs8qMccim2RBgtKGF+x9IBCduRvd/N5F4nYpU0TVE=",
|
||||
"lastModified": 1743095683,
|
||||
"narHash": "sha256-gWd4urRoLRe8GLVC/3rYRae1h+xfQzt09xOfb0PaHSk=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "6607cf789e541e7873d40d3a8f7815ea92204f32",
|
||||
"rev": "5e5402ecbcb27af32284d4a62553c019a3a49ea6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -626,36 +229,11 @@
|
|||
"url": "https://flakehub.com/f/AshleyYakeley/NixVirt/%2A.tar.gz"
|
||||
}
|
||||
},
|
||||
"pre-commit-hooks": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"gitignore": "gitignore",
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1741379162,
|
||||
"narHash": "sha256-srpAbmJapkaqGRE3ytf3bj4XshspVR5964OX5LfjDWc=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "b5a62751225b2f62ff3147d0a334055ebadcd5cc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"aquamarine": "aquamarine",
|
||||
"hardware": "hardware",
|
||||
"home-manager": "home-manager",
|
||||
"hyprland": "hyprland",
|
||||
"hyprspace": "hyprspace",
|
||||
"nix-gaming": "nix-gaming",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixpkgs-stable": "nixpkgs-stable",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||
|
@ -667,7 +245,7 @@
|
|||
},
|
||||
"rose-pine-hyprcursor": {
|
||||
"inputs": {
|
||||
"hyprlang": "hyprlang_3",
|
||||
"hyprlang": "hyprlang",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"utils": "utils"
|
||||
},
|
||||
|
@ -701,51 +279,6 @@
|
|||
}
|
||||
},
|
||||
"systems_2": {
|
||||
"locked": {
|
||||
"lastModified": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_3": {
|
||||
"locked": {
|
||||
"lastModified": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_4": {
|
||||
"locked": {
|
||||
"lastModified": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_5": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
|
@ -760,7 +293,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_6": {
|
||||
"systems_3": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
|
@ -777,7 +310,7 @@
|
|||
},
|
||||
"utils": {
|
||||
"inputs": {
|
||||
"systems": "systems_5"
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1710146030,
|
||||
|
@ -814,47 +347,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"xdph": {
|
||||
"inputs": {
|
||||
"hyprland-protocols": [
|
||||
"hyprland",
|
||||
"hyprland-protocols"
|
||||
],
|
||||
"hyprlang": [
|
||||
"hyprland",
|
||||
"hyprlang"
|
||||
],
|
||||
"hyprutils": [
|
||||
"hyprland",
|
||||
"hyprutils"
|
||||
],
|
||||
"hyprwayland-scanner": [
|
||||
"hyprland",
|
||||
"hyprwayland-scanner"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1741934139,
|
||||
"narHash": "sha256-ZhTcTH9FoeAtbPfWGrhkH7RjLJZ7GeF18nygLAMR+WE=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "xdg-desktop-portal-hyprland",
|
||||
"rev": "150b0b6f52bb422a1b232a53698606fe0320dde0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "xdg-desktop-portal-hyprland",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"zen-browser": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
@ -862,11 +354,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1741838758,
|
||||
"narHash": "sha256-nGTC/y9e+1+QIVCzIbiSpPiXM2HfS8YwIDCp52CcOQ4=",
|
||||
"lastModified": 1743134754,
|
||||
"narHash": "sha256-NC90oFdXwjABXs7wg0tMi5yxNW/xT1bgezg+0a9+3AI=",
|
||||
"owner": "youwen5",
|
||||
"repo": "zen-browser-flake",
|
||||
"rev": "03a7fc89bc48344aed00e01b409c1d6ffc4c52ce",
|
||||
"rev": "ceb2e7122307700e9c310973c793c2c241dc0901",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
27
flake.nix
27
flake.nix
|
@ -32,33 +32,6 @@
|
|||
|
||||
## Hyprland ##
|
||||
|
||||
aquamarine = {
|
||||
type = "git";
|
||||
url = "https://github.com/hyprwm/aquamarine";
|
||||
ref = "refs/tags/v0.8.0";
|
||||
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
||||
};
|
||||
|
||||
hyprland = {
|
||||
type = "git";
|
||||
submodules = true;
|
||||
url = "https://github.com/hyprwm/Hyprland";
|
||||
ref = "refs/tags/v0.47.2";
|
||||
inputs.aquamarine.follows = "aquamarine";
|
||||
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
||||
};
|
||||
|
||||
# TODO: Not working but id like to fix it
|
||||
# hycov = {
|
||||
# url = "github:bighu630/hycov";
|
||||
# inputs.hyprland.follows = "hyprland";
|
||||
# };
|
||||
|
||||
hyprspace = {
|
||||
url = "github:KZDKM/Hyprspace";
|
||||
inputs.hyprland.follows = "hyprland";
|
||||
};
|
||||
|
||||
rose-pine-hyprcursor = {
|
||||
url = "github:ndom91/rose-pine-hyprcursor";
|
||||
};
|
||||
|
|
|
@ -4,119 +4,196 @@
|
|||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
#INFO: Reference bind flags: https://wiki.hyprland.org/Configuring/Binds/#bind-flags
|
||||
wayland.windowManager.hyprland.settings =
|
||||
let
|
||||
# -- Functions --
|
||||
defaultApp =
|
||||
type: "${pkgs.gtk3}/bin/gtk-launch $(${pkgs.xdg-utils}/bin/xdg-mime query default ${type})";
|
||||
exec = script: "${pkgs.fish}/bin/fish ${script}";
|
||||
xdg-open = command: "${pkgs.xdg-utils}/bin/xdg-open ${command}";
|
||||
let
|
||||
## Functions, Variables and Launchers ##
|
||||
|
||||
# -- Script Launchers --
|
||||
# colorpicker = exec ./scripts/colorpicker.fish;
|
||||
# lockscreen = exec ./scripts/lockscreen.fish;
|
||||
# notify = exec ./scripts/notify.fish;
|
||||
terminal = exec ./scripts/terminal.fish;
|
||||
# wlogout = exec ./scripts/wlogout.fish;
|
||||
# colorpicker = exec ./scripts/colorpicker.fish;
|
||||
# lockscreen = exec ./scripts/lockscreen.fish;
|
||||
# notify = exec ./scripts/notify.fish;
|
||||
# wlogout = exec ./scripts/wlogout.fish;
|
||||
#gtk-play = "${pkgs.libcanberra-gtk3}/bin/canberra-gtk-play";
|
||||
#makoctl = "${config.services.mako.package}/bin/makoctl";
|
||||
#notify-send = "${pkgs.libnotify}/bin/notify-send";
|
||||
#playerctl = lib.getExe pkgs.playerctl; # installed via /home/common/optional/desktops/playerctl.nix
|
||||
#swaylock = "lib.getExe pkgs.swaylock;
|
||||
|
||||
# -- Commands or Binaries --
|
||||
browser = defaultApp "x-scheme-handler/https";
|
||||
editor = "code";
|
||||
menu = "${pkgs.walker}/bin/walker --modules applications,ssh";
|
||||
files = xdg-open "$HOME";
|
||||
pactl = lib.getExe' pkgs.pulseaudio "pactl";
|
||||
defaultApp =
|
||||
type: "${pkgs.gtk3}/bin/gtk-launch $(${pkgs.xdg-utils}/bin/xdg-mime query default ${type})";
|
||||
exec = script: "${pkgs.fish}/bin/fish ${script}";
|
||||
|
||||
#playerctl = lib.getExe pkgs.playerctl; # installed via /home/common/optional/desktops/playerctl.nix
|
||||
#swaylock = "lib.getExe pkgs.swaylock;
|
||||
#makoctl = "${config.services.mako.package}/bin/makoctl";
|
||||
#gtk-play = "${pkgs.libcanberra-gtk3}/bin/canberra-gtk-play";
|
||||
#notify-send = "${pkgs.libnotify}/bin/notify-send";
|
||||
files = "${pkgs.nautilus}/bin/nautilus $HOME";
|
||||
browser = defaultApp "x-scheme-handler/https";
|
||||
editor = "code";
|
||||
launcher = "${pkgs.walker}/bin/walker --modules applications,ssh";
|
||||
pactl = lib.getExe' pkgs.pulseaudio "pactl";
|
||||
terminal = exec ./scripts/terminal.fish;
|
||||
|
||||
# This shits too long
|
||||
lowerVol = "XF86AudioLowerVolume";
|
||||
raiseVol = "XF86AudioRaiseVolume";
|
||||
in
|
||||
{
|
||||
## Mouse Binds ##
|
||||
bindm = [
|
||||
", mouse:275, movewindow"
|
||||
", mouse:276, resizewindow"
|
||||
];
|
||||
## Long ass keys ##
|
||||
lowerVol = "XF86AudioLowerVolume";
|
||||
raiseVol = "XF86AudioRaiseVolume";
|
||||
|
||||
## Non-consuming Binds ##
|
||||
bindn = [
|
||||
];
|
||||
## Keybinds & Submaps ##
|
||||
|
||||
## Repeat Binds ##
|
||||
binde = [
|
||||
# Resize active window 5 pixels in direction
|
||||
"SUPER_ALT, left, resizeactive, -20 0"
|
||||
"SUPER_ALT, right, resizeactive, 20 0"
|
||||
"SUPER_ALT, up, resizeactive, 0 -20"
|
||||
"SUPER_ALT, down, resizeactive, 0 20"
|
||||
#INFO: Did this scripts to avoid the shitty hyprland config implementation for nix :)
|
||||
submaps = {
|
||||
## Submap: Reset ##
|
||||
"" = {
|
||||
binds = {
|
||||
## One-Shot Binds ##
|
||||
"" = [
|
||||
## Terminal ##
|
||||
"SUPER, T, exec, ${terminal}"
|
||||
# "SUPER_SHIFT, T, exec, ${terminal}" # Floating
|
||||
# "SUPER_ALT, T, exec, ${terminal}" # Select
|
||||
|
||||
# -- Volume --
|
||||
", ${raiseVol}, exec, ${pactl} set-sink-volume @DEFAULT_SINK@ +5%"
|
||||
", ${lowerVol}, exec, ${pactl} set-sink-volume @DEFAULT_SINK@ -5%"
|
||||
", ${raiseVol}, exec, ${pactl} set-source-volume @DEFAULT_SOURCE@ +5%"
|
||||
", ${lowerVol}, exec, ${pactl} set-source-volume @DEFAULT_SOURCE@ -5%"
|
||||
];
|
||||
## App Runs ##
|
||||
"SUPER, F, exec, ${files}"
|
||||
"SUPER, E, exec, ${editor}"
|
||||
"SUPER, W, exec, ${browser}"
|
||||
"SUPER, N, exec, nm-connection-editor"
|
||||
|
||||
## One-shot Binds ##
|
||||
bind = [
|
||||
# -- Terminal --
|
||||
"SUPER, T, exec, ${terminal}"
|
||||
"SUPER_SHIFT, T, exec, ${terminal}" # floating
|
||||
"SUPER_ALT, T, exec, ${terminal}" # select size?
|
||||
## Launcher ##
|
||||
"SUPER, SUPER_L, exec, ${launcher}"
|
||||
# "SUPER, SUPER_L, exec, ${launcher} --app launcher"
|
||||
# "SUPER, P, exec, ${launcher} --app color" # Color Picker
|
||||
# "SUPER, V, exec, ${launcher} --app clip" # Clipboard
|
||||
# "SUPER, X, exec, ${launcher} --app power" # Power Menu
|
||||
|
||||
# -- Apps --
|
||||
"SUPER, F, exec, ${files}"
|
||||
"SUPER, E, exec, ${editor}"
|
||||
"SUPER, W, exec, ${browser}"
|
||||
"SUPER, N, exec, nm-connection-editor"
|
||||
# "SUPER, P, exec, ${colorpicker}"
|
||||
## System ##
|
||||
"SUPER, L, exec, hyprlock"
|
||||
# "SUPER, L, exec, ${lockscreen}"
|
||||
"SUPER, Q, killactive,"
|
||||
"CTRL_ALT, Delete, exit,"
|
||||
|
||||
# -- Menu --
|
||||
"SUPER, SUPER_L, exec, ${menu}"
|
||||
# "SUPER, V, exec, ${menu}"
|
||||
## Window Management ##
|
||||
"SUPER_SHIFT, F, fullscreen, 0"
|
||||
# "SUPER, F, exec, ${notify} 'Fullscreen Mode'"
|
||||
"SUPER, Backspace, togglefloating,"
|
||||
"SUPER, Backspace, centerwindow,"
|
||||
"SUPER, left, scroller:movefocus, l"
|
||||
"SUPER, right, scroller:movefocus, r"
|
||||
"SUPER, up, scroller:movefocus, u"
|
||||
"SUPER, down, scroller:movefocus, d"
|
||||
"SUPER_SHIFT, left, scroller:movewindow, l, nomode"
|
||||
"SUPER_SHIFT, right, scroller:movewindow, r, nomode"
|
||||
"SUPER_SHIFT, up, scroller:movewindow, u, nomode"
|
||||
"SUPER_SHIFT, down, scroller:movewindow, d, nomode"
|
||||
"SUPER_SHIFT, P, pin,"
|
||||
# "SUPER_SHIFT, P, exec, ${notify} 'Toggled Pin'"
|
||||
"SUPER_SHIFT, S, swapnext"
|
||||
# "SUPER_SHIFT, O, toggleopaque"
|
||||
"SUPER, G, togglegroup"
|
||||
# "SUPER, G, exec, ${notify} 'Toggled Group'"
|
||||
"SUPER, Tab, changegroupactive, f"
|
||||
|
||||
# -- System --
|
||||
# "SUPER, X, exec, ${wlogout}"
|
||||
# "SUPER, L, exec, ${lockscreen}"
|
||||
"SUPER, L, exec, hyprlock"
|
||||
"SUPER, Q, killactive,"
|
||||
"CTRL_ALT, Delete, exit,"
|
||||
# ## Workspaces ##
|
||||
# ", Home, hyprexpo:expo, toggle"
|
||||
", Home, overview:toggle"
|
||||
"ALT, Tab, cyclenext,"
|
||||
"ALT, Tab, bringactivetotop,"
|
||||
"SUPER_ALT, G, submap, steam"
|
||||
|
||||
# -- Window Management --
|
||||
"SUPER_SHIFT, F, fullscreen, 0"
|
||||
# "SUPER, F, exec, ${notify} 'Fullscreen Mode'"
|
||||
"SUPER, Backspace, togglefloating,"
|
||||
"SUPER, Backspace, centerwindow,"
|
||||
"SUPER, left, movefocus, l"
|
||||
"SUPER, right, movefocus, r"
|
||||
"SUPER, up, movefocus, u"
|
||||
"SUPER, down, movefocus, d"
|
||||
"SUPER_SHIFT, left, movewindow, l"
|
||||
"SUPER_SHIFT, right, movewindow, r"
|
||||
"SUPER_SHIFT, up, movewindow, u"
|
||||
"SUPER_SHIFT, down, movewindow, d"
|
||||
"SUPER_SHIFT, P, pin,"
|
||||
# "SUPER_SHIFT, P, exec, ${notify} 'Toggled Pin'"
|
||||
"SUPER_SHIFT, S, swapnext"
|
||||
# "SUPER_SHIFT, O, toggleopaque"
|
||||
"SUPER, G, togglegroup"
|
||||
# "SUPER, G, exec, ${notify} 'Toggled Group'"
|
||||
"SUPER, Tab, changegroupactive, f"
|
||||
## Scroller ##
|
||||
"SUPER, P, scroller:pin"
|
||||
"SUPER, P, scroller:alignwindow, left"
|
||||
"SUPER, P, scroller:setsize, onethird"
|
||||
# "\\notify"
|
||||
"SUPER_SHIFT, P, scroller:pin"
|
||||
"SUPER_SHIFT, P, scroller:alignwindow, right"
|
||||
"SUPER_SHIFT, P, scroller:setsize, onethird"
|
||||
# "\\notify"
|
||||
"SUPER, A, scroller:jump"
|
||||
# F20 - F23
|
||||
", code:198, scroller:selectiontoggle"
|
||||
", code:199, scroller:selectionworkspace"
|
||||
", code:200, scroller:selectionmove, e"
|
||||
", code:201, scroller:selectionreset"
|
||||
|
||||
# -- Workspaces --
|
||||
", Home, overview:toggle"
|
||||
# "SUPER, A, "
|
||||
# TODO: use hycov for alt tab, https://github.com/bighu630/hycov
|
||||
"ALT, Tab, cyclenext,"
|
||||
"ALT, Tab, bringactivetotop,"
|
||||
];
|
||||
];
|
||||
|
||||
## Repeating Binds ##
|
||||
e = [
|
||||
"SUPER_ALT, left, scroller:cyclewidth, next"
|
||||
"SUPER_ALT, right, scroller:cyclewidth, prev"
|
||||
"SUPER_ALT, up, scroller:cycleheight, next"
|
||||
"SUPER_ALT, down, scroller:cycleheight, prev"
|
||||
# "SUPER_ALT, left, resizeactive, -20 0"
|
||||
# "SUPER_ALT, right, resizeactive, 20 0"
|
||||
# "SUPER_ALT, up, resizeactive, 0 -20"
|
||||
# "SUPER_ALT, down, resizeactive, 0 20"
|
||||
", ${raiseVol}, exec, ${pactl} set-sink-volume @DEFAULT_SINK@ +5%"
|
||||
", ${lowerVol}, exec, ${pactl} set-sink-volume @DEFAULT_SINK@ -5%"
|
||||
", ${raiseVol}, exec, ${pactl} set-source-volume @DEFAULT_SOURCE@ +5%"
|
||||
", ${lowerVol}, exec, ${pactl} set-source-volume @DEFAULT_SOURCE@ -5%"
|
||||
];
|
||||
|
||||
## Mouse Binds ##
|
||||
m = [
|
||||
", mouse:275, movewindow"
|
||||
", mouse:276, resizewindow"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
## Submap: Steam ##
|
||||
steam = {
|
||||
binds = {
|
||||
"" = [
|
||||
"SUPER, Escape, submap, reset"
|
||||
"SUPER, SUPER_L, pass"
|
||||
", mouse:275, pass"
|
||||
", mouse:276, pass"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
submaps-json = pkgs.writeText "submaps.json" (builtins.toJSON submaps);
|
||||
submaps-script = pkgs.writeScript "submap-script" ''
|
||||
#!/usr/bin/env fish
|
||||
|
||||
# Usage: ./parse_submaps.fish path/to/file.json
|
||||
if test (count $argv) -lt 1
|
||||
echo "Usage: $argv[0] path/to/file.json"
|
||||
exit 1
|
||||
end
|
||||
|
||||
set json_file $argv[1]
|
||||
|
||||
# Iterate over submaps preserving order
|
||||
for entry in (${pkgs.jq}/bin/jq -c '.| to_entries[]' $json_file)
|
||||
set submap_name (echo $entry | ${pkgs.jq}/bin/jq -r '.key')
|
||||
echo "submap=$submap_name"
|
||||
|
||||
# Process each binds entry within the submap
|
||||
for bind_entry in (echo $entry | ${pkgs.jq}/bin/jq -c '.value.binds | to_entries[]')
|
||||
set bind_key (echo $bind_entry | ${pkgs.jq}/bin/jq -r '.key')
|
||||
|
||||
if test "$bind_key" = ""
|
||||
set prefix "bind="
|
||||
else if test "$bind_key" = "unbind"
|
||||
set prefix "unbind="
|
||||
else
|
||||
set prefix "bind$bind_key="
|
||||
end
|
||||
|
||||
# Process each binding's value in the array
|
||||
for binding in (echo $bind_entry | ${pkgs.jq}/bin/jq -r '.value[]')
|
||||
echo "$prefix$binding"
|
||||
end
|
||||
end
|
||||
|
||||
# Append submap reset except for default "" submap
|
||||
if not test "$submap_name" = ""
|
||||
echo "submap=reset"
|
||||
end
|
||||
end
|
||||
'';
|
||||
submaps-run = pkgs.runCommand "submaps-run" { inherit submaps-json submaps-script; } ''
|
||||
mkdir -p $out
|
||||
${pkgs.fish}/bin/fish ${submaps-script} ${submaps-json} > $out/submaps-out
|
||||
'';
|
||||
in
|
||||
{
|
||||
wayland.windowManager.hyprland.extraConfig = builtins.readFile "${submaps-run}/submaps-out";
|
||||
}
|
||||
|
|
|
@ -12,7 +12,6 @@
|
|||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
# withUWSM = true; # One day, but not today
|
||||
package = inputs.hyprland.packages."${pkgs.system}".hyprland;
|
||||
|
||||
systemd = {
|
||||
enable = true;
|
||||
|
@ -23,15 +22,7 @@
|
|||
];
|
||||
};
|
||||
|
||||
plugins = [
|
||||
# inputs.hycov.packages.${pkgs.system}.hycov
|
||||
(inputs.hyprspace.packages.${pkgs.system}.Hyprspace.overrideAttrs {
|
||||
dontUseCmakeConfigure = true;
|
||||
})
|
||||
];
|
||||
|
||||
settings = {
|
||||
|
||||
## Environment Vars ##
|
||||
env = [
|
||||
"NIXOS_OZONE_WL, 1" # for ozone-based and electron apps to run on wayland
|
||||
|
@ -59,8 +50,8 @@
|
|||
) (config.monitors)
|
||||
);
|
||||
|
||||
# I love this :)
|
||||
# Creates 5 workspaces for all monitors
|
||||
# This used to be usefull now its just overkill
|
||||
# Creates 1 persistent workspaces for all monitors
|
||||
workspace =
|
||||
let
|
||||
json = pkgs.writeTextFile {
|
||||
|
@ -71,7 +62,7 @@
|
|||
mkdir "$out"; ${pkgs.jq}/bin/jq -r '
|
||||
[ to_entries[] |
|
||||
(.key as $i | .value.name as $name |
|
||||
[ range(0;5) | ($i * 5 + .) as $wsnum |
|
||||
[ range(0;1) | ($i * 1 + .) as $wsnum |
|
||||
if . == 0 then "\($wsnum), monitor:\($name), default:true, persistent:true"
|
||||
else "\($wsnum), monitor:\($name)" end
|
||||
]
|
||||
|
@ -131,11 +122,12 @@
|
|||
## Appearance ##
|
||||
|
||||
general = {
|
||||
layout = "scroller";
|
||||
border_size = 2;
|
||||
gaps_in = 6;
|
||||
gaps_out = 6;
|
||||
"col.inactive_border" = "0x44e3625e";
|
||||
"col.active_border" = "0x20e3625e";
|
||||
"col.inactive_border" = "rgb(191b1c)";
|
||||
"col.active_border" = "rgb(1cbdd9) rgb(f6ef9d) 30deg";
|
||||
allow_tearing = true; # used to reduce latency and/or jitter in games
|
||||
snap = {
|
||||
enabled = true;
|
||||
|
@ -146,13 +138,15 @@
|
|||
decoration = {
|
||||
rounding = 10;
|
||||
rounding_power = 4.0;
|
||||
active_opacity = 0.90;
|
||||
inactive_opacity = 0.80;
|
||||
active_opacity = 0.85;
|
||||
inactive_opacity = 0.75;
|
||||
fullscreen_opacity = 1.0;
|
||||
dim_inactive = true;
|
||||
dim_strength = 0.2;
|
||||
blur = {
|
||||
enabled = true;
|
||||
size = 15;
|
||||
passes = 2;
|
||||
size = 7;
|
||||
passes = 3;
|
||||
new_optimizations = true;
|
||||
ignore_opacity = true;
|
||||
xray = true;
|
||||
|
@ -162,10 +156,10 @@
|
|||
shadow = {
|
||||
enabled = true;
|
||||
range = 30;
|
||||
render_power = 3;
|
||||
scale = 1.0;
|
||||
color = "0x66000000";
|
||||
color_inactive = "0x66000000";
|
||||
render_power = 2;
|
||||
scale = 1.5;
|
||||
color = "rgb(191b1c)";
|
||||
color_inactive = "rgb(191b1c)";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -181,102 +175,6 @@
|
|||
"border, 1, 10 ,default"
|
||||
"workspaces, 1, 5 ,default, slide"
|
||||
];
|
||||
|
||||
## Auto Launch ##
|
||||
|
||||
exec-once = [
|
||||
''${pkgs.waypaper}/bin/waypaper --restore''
|
||||
];
|
||||
|
||||
## Layers Rules ##
|
||||
|
||||
layer = [
|
||||
#"blur, rofi"
|
||||
#"ignorezero, rofi"
|
||||
#"ignorezero, logout_dialog"
|
||||
];
|
||||
|
||||
## Window Rules ##
|
||||
|
||||
windowrule = [
|
||||
# Dialogs
|
||||
"float, title:^(Open File)(.*)$"
|
||||
"float, title:^(Select a File)(.*)$"
|
||||
"float, title:^(Choose wallpaper)(.*)$"
|
||||
"float, title:^(Open Folder)(.*)$"
|
||||
"float, title:^(Save As)(.*)$"
|
||||
"float, title:^(Library)(.*)$"
|
||||
"float, title:^(Accounts)(.*)$"
|
||||
];
|
||||
|
||||
windowrulev2 = [
|
||||
#Zen Extensions
|
||||
"suppressevent maximize, class:^(zen)$"
|
||||
|
||||
"float, class:^(galculator)$"
|
||||
"float, class:^(waypaper)$"
|
||||
"float, class:^(keymapp)$"
|
||||
|
||||
#
|
||||
# ========== Always opaque ==========
|
||||
#
|
||||
"opaque, class:^([Gg]imp)$"
|
||||
"opaque, class:^([Ff]lameshot)$"
|
||||
"opaque, class:^([Ii]nkscape)$"
|
||||
"opaque, class:^([Bb]lender)$"
|
||||
"opaque, class:^([Oo][Bb][Ss])$"
|
||||
"opaque, class:^([Ss]team)$"
|
||||
"opaque, class:^([Ss]team_app_*)$"
|
||||
"opaque, class:^([Vv]lc)$"
|
||||
|
||||
# Remove transparency from video
|
||||
"opaque, title:^(Netflix)(.*)$"
|
||||
"opaque, title:^(.*YouTube.*)$"
|
||||
"opaque, title:^(Picture-in-Picture)$"
|
||||
#
|
||||
# ========== Scratch rules ==========
|
||||
#
|
||||
#"size 80% 85%, workspace:^(special:special)$"
|
||||
#"center, workspace:^(special:special)$"
|
||||
|
||||
#
|
||||
# ========== Steam rules ==========
|
||||
#
|
||||
"stayfocused, title:^()$,class:^([Ss]team)$"
|
||||
"minsize 1 1, title:^()$,class:^([Ss]team)$"
|
||||
"immediate, class:^([Ss]team_app_*)$"
|
||||
"workspace 7, class:^([Ss]team_app_*)$"
|
||||
"monitor 0, class:^([Ss]team_app_*)$"
|
||||
|
||||
#
|
||||
# ========== Fameshot rules ==========
|
||||
#
|
||||
# flameshot currently doesn't have great wayland support so needs some tweaks
|
||||
#"rounding 0, class:^([Ff]lameshot)$"
|
||||
#"noborder, class:^([Ff]lameshot)$"
|
||||
#"float, class:^([Ff]lameshot)$"
|
||||
#"move 0 0, class:^([Ff]lameshot)$"
|
||||
#"suppressevent fullscreen, class:^([Ff]lameshot)$"
|
||||
# "monitor:DP-1, ${flameshot}"
|
||||
|
||||
#
|
||||
# ========== Workspace Assignments ==========
|
||||
#
|
||||
# "workspace 8, class:^(virt-manager)$"
|
||||
# "workspace 8, class:^(obsidian)$"
|
||||
# "workspace 9, class:^(brave-browser)$"
|
||||
# "workspace 9, class:^(signal)$"
|
||||
# "workspace 9, class:^(org.telegram.desktop)$"
|
||||
# "workspace 9, class:^(discord)$"
|
||||
# "workspace 0, title:^([Ss]potify*)$"
|
||||
# "workspace special, class:^(yubioath-flutter)$"
|
||||
];
|
||||
|
||||
# load at the end of the hyperland set
|
||||
# extraConfig = '''';
|
||||
|
||||
plugin = {
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
39
home/toph/common/optional/hyprland/hyprpaper/default.nix
Normal file
39
home/toph/common/optional/hyprland/hyprpaper/default.nix
Normal file
|
@ -0,0 +1,39 @@
|
|||
# Hyprpaper is used to set the wallpaper on the system
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
# wallpaper = "/home/${config.hostSpec.username}/Pictures/Wallpapers/wallpaper.jpg";
|
||||
# wallpaper = "/home/${config.hostSpec.username}/Pictures/Wallpapers/wallpaper.png";
|
||||
wallpaper = "/home/${config.hostSpec.username}/Pictures/Wallpapers/invincible.jpg";
|
||||
in
|
||||
{
|
||||
# The wallpaper is set by stylix
|
||||
services.hyprpaper = {
|
||||
enable = true;
|
||||
settings = {
|
||||
ipc = "on";
|
||||
splash = false;
|
||||
splash_offset = 2.0;
|
||||
preload = [
|
||||
wallpaper
|
||||
];
|
||||
wallpaper = [
|
||||
", ${wallpaper}"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
home.file."Pictures/Wallpapers" = {
|
||||
source = ./wallpapers;
|
||||
recursive = true;
|
||||
};
|
||||
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
exec-once = [
|
||||
"${pkgs.hyprpaper}/bin/hyprpaper"
|
||||
];
|
||||
};
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 6.2 MiB |
Binary file not shown.
After Width: | Height: | Size: 2.9 MiB |
67
home/toph/common/optional/hyprland/plugins.nix
Normal file
67
home/toph/common/optional/hyprland/plugins.nix
Normal file
|
@ -0,0 +1,67 @@
|
|||
{ pkgs, inputs, ... }:
|
||||
{
|
||||
|
||||
home.packages = [
|
||||
# pkgs.hyprlandPlugins.hyprexpo
|
||||
pkgs.hyprlandPlugins.hyprspace
|
||||
pkgs.hyprlandPlugins.hyprscroller
|
||||
];
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
plugins = [
|
||||
# pkgs.hyprlandPlugins.hyprexpo
|
||||
pkgs.hyprlandPlugins.hyprspace
|
||||
pkgs.hyprlandPlugins.hyprscroller
|
||||
];
|
||||
|
||||
# TODO: Colors and Theme
|
||||
settings = {
|
||||
windowrulev2 = [
|
||||
"bordercolor rgb(191b1c) rgb(ffffff) 25deg, tag: scroller:pinned"
|
||||
];
|
||||
|
||||
plugin = {
|
||||
# hyprexpo = {
|
||||
# columns = 3;
|
||||
# gap_size = 5;
|
||||
# bg_col = "rgb(000000)";
|
||||
# workspace_method = "center current"; # [center/first] [workspace] e.g. first 1 or center m+1
|
||||
# };
|
||||
overview = {
|
||||
centerAligned = true;
|
||||
hideOverlayLayers = true;
|
||||
showSpecialWorkspaces = true;
|
||||
};
|
||||
scroller = {
|
||||
center_active_column = true;
|
||||
center_active_window = false;
|
||||
focus_wrap = true;
|
||||
overview_scale_content = false;
|
||||
"col.selection_border" = "rgb(191b1c)";
|
||||
jump_labels_font = "Monocraft";
|
||||
jump_labels_color = "rgb(ffffff)";
|
||||
jump_labels_scale = "0.1";
|
||||
jump_labels_keys = "qwfpgarstd";
|
||||
# monitor_options = ''
|
||||
# (
|
||||
# DP-3 = (
|
||||
# mode = row;
|
||||
# column_default_width = onehalf;
|
||||
# column_widths = onehalf onethird twothirds threefourths;
|
||||
# window_default_height = seveneighths;
|
||||
# window_heights = seveneighths onehalf onethird twothirds
|
||||
# ),
|
||||
# HDMI-A-2 = (
|
||||
# mode = col;
|
||||
# column_default_width = one;
|
||||
# column_widths = one onehalf;
|
||||
# window_default_height = twothirds;
|
||||
# window_heights = seveneighths onehalf onethird twothirds
|
||||
# ),
|
||||
# )'';
|
||||
monitor_options = "(DP-3 = (mode = row;column_default_width = onehalf;column_widths = threequarters twothirds onehalf onethird;window_default_height = one;window_heights = one seveneighths twothirds onehalf onethird),HDMI-A-2 = (mode = col; column_default_width = one;column_widths = one onehalf;window_default_height = twothirds;window_heights = seveneighths twothirds onehalf onethird),)";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
90
home/toph/common/optional/hyprland/rules.nix
Normal file
90
home/toph/common/optional/hyprland/rules.nix
Normal file
|
@ -0,0 +1,90 @@
|
|||
{
|
||||
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
|
||||
## Layers Rules ##
|
||||
|
||||
layer = [
|
||||
#"blur, rofi"
|
||||
#"ignorezero, rofi"
|
||||
#"ignorezero, logout_dialog"
|
||||
];
|
||||
|
||||
## Window Rules ##
|
||||
|
||||
windowrulev2 = [
|
||||
# Dialogs
|
||||
"float, title:^(Open File)(.*)$"
|
||||
"float, title:^(Select a File)(.*)$"
|
||||
"float, title:^(Choose wallpaper)(.*)$"
|
||||
"float, title:^(Open Folder)(.*)$"
|
||||
"float, title:^(Save As)(.*)$"
|
||||
"float, title:^(Library)(.*)$"
|
||||
"float, title:^(Accounts)(.*)$"
|
||||
"float, title:^(Media viewer)$"
|
||||
|
||||
## Zen ##
|
||||
"suppressevent maximize, class:^(zen)$"
|
||||
"float, title:^(Picture-in-Picture)$"
|
||||
"pin, title:^(Picture-in-Picture)$"
|
||||
"float, class:^(zen)$, title:^(File Upload)$"
|
||||
"workspace special silent, title:^(Zen — Sharing Indicator)$"
|
||||
"workspace special silent, title:^(.*is sharing (your screen|a window)\.)$"
|
||||
|
||||
# Float Apps
|
||||
"float, class:^(galculator)$"
|
||||
"float, class:^(waypaper)$"
|
||||
"float, class:^(keymapp)$"
|
||||
|
||||
# Nautilus
|
||||
"float, initialClass:^(org.gnome.Nautilus)$"
|
||||
"float, initialClass:^(org.gnome.Nautilus)$, move 10% 50%"
|
||||
"size 30% 30%, initialClass:^(org.gnome.Nautilus)$"
|
||||
|
||||
# Always opaque
|
||||
"opaque, class:^([Gg]imp)$"
|
||||
"opaque, class:^([Ff]lameshot)$"
|
||||
|
||||
"opaque, class:^([Ii]nkscape)$"
|
||||
"opaque, class:^([Bb]lender)$"
|
||||
"opaque, class:^([Oo][Bb][Ss])$"
|
||||
"opaque, class:^([Vv]lc)$"
|
||||
|
||||
# Remove transparency from video
|
||||
"opaque, title:^(Netflix)(.*)$"
|
||||
"opaque, title:^(.*YouTube.*)$"
|
||||
|
||||
## Scratch rules ##
|
||||
#"size 80% 85%, workspace:^(special:special)$"
|
||||
#"center, workspace:^(special:special)$"
|
||||
|
||||
## Steam rules ##
|
||||
"stayfocused, initialClass:^([Gg]amescope)$"
|
||||
"fullscreen, initialClass:^([Gg]amescope)$"
|
||||
"minsize 1 1, initialClass:^([Gg]amescope)$"
|
||||
"immediate, initialClass:^([Gg]amescope)$"
|
||||
"workspace 3, initialClass:^([Gg]amescope)$"
|
||||
"monitor 0, initialClass:^([Gg]amescope)$"
|
||||
|
||||
#
|
||||
# ========== Fameshot rules ==========
|
||||
#
|
||||
# flameshot currently doesn't have great wayland support so needs some tweaks
|
||||
#"rounding 0, class:^([Ff]lameshot)$"
|
||||
#"noborder, class:^([Ff]lameshot)$"
|
||||
#"float, class:^([Ff]lameshot)$"
|
||||
#"move 0 0, class:^([Ff]lameshot)$"
|
||||
#"suppressevent fullscreen, class:^([Ff]lameshot)$"
|
||||
# "monitor:DP-1, ${flameshot}"
|
||||
|
||||
## Workspace Assignments ##
|
||||
"workspace 1, initialClass:^(vesktop)$"
|
||||
"workspace 1, initialClass:^(spotify)$"
|
||||
"workspace 1, initialClass:^(org.telegram.desktop)$"
|
||||
# "workspace name:4, initialClass:^(virt-manager)$"
|
||||
|
||||
# "workspace 8, class:^(obsidian)$"
|
||||
# "workspace 9, class:^(brave-browser)$"
|
||||
];
|
||||
};
|
||||
}
|
|
@ -11,8 +11,6 @@
|
|||
programs.hyprland = {
|
||||
enable = true;
|
||||
# withUWSM = true; # One day, but not today
|
||||
package = inputs.hyprland.packages."${pkgs.system}".hyprland;
|
||||
portalPackage = inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland;
|
||||
};
|
||||
|
||||
environment.systemPackages = [
|
||||
|
|
Loading…
Add table
Reference in a new issue