Compare commits
No commits in common. "f22dee69f0e034fee5cd4e3ff507366489916bb9" and "c37a1de490c636864f0bfca193611a30a4c817ee" have entirely different histories.
f22dee69f0
...
c37a1de490
18 changed files with 432 additions and 668 deletions
308
flake.lock
generated
308
flake.lock
generated
|
|
@ -20,11 +20,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1765900596,
|
"lastModified": 1759499898,
|
||||||
"narHash": "sha256-+hn8v9jkkLP9m+o0Nm5SiEq10W0iWDSotH2XfjU45fA=",
|
"narHash": "sha256-UNzYHLWfkSzLHDep5Ckb5tXc0fdxwPIrT+MY4kpQttM=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "aquamarine",
|
"repo": "aquamarine",
|
||||||
"rev": "d83c97f8f5c0aae553c1489c7d9eff3eadcadace",
|
"rev": "655e067f96fd44b3f5685e17f566b0e4d535d798",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -43,11 +43,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1767198468,
|
"lastModified": 1759544172,
|
||||||
"narHash": "sha256-FxDbqVgsT/ofpcVD4oNSO4YyPK0bu0/w4TGr/p87E4A=",
|
"narHash": "sha256-oSkKuK4qWhN9ccvRMcnYhSCO9TJOmBb67z9+LIRdtNg=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "emacs-overlay",
|
"repo": "emacs-overlay",
|
||||||
"rev": "ff02fe1802aa90146fe3c236ec504c788825b152",
|
"rev": "942530872529aad21e9ac205b630694ef6b755de",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -59,11 +59,11 @@
|
||||||
"flake-compat": {
|
"flake-compat": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1761588595,
|
"lastModified": 1747046372,
|
||||||
"narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=",
|
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
|
||||||
"owner": "edolstra",
|
"owner": "edolstra",
|
||||||
"repo": "flake-compat",
|
"repo": "flake-compat",
|
||||||
"rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5",
|
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -122,11 +122,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1767104570,
|
"lastModified": 1759550472,
|
||||||
"narHash": "sha256-GKgwu5//R+cLdKysZjGqvUEEOGXXLdt93sNXeb2M/Lk=",
|
"narHash": "sha256-JLM3D6RbnGmXR8x+3WNac9neklAxA1JtZHZscwukFYw=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "e4e78a2cbeaddd07ab7238971b16468cc1d14daf",
|
"rev": "817ace497b72b38da0c08728a683b7febaccf9cf",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -180,11 +180,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1763733840,
|
"lastModified": 1759490292,
|
||||||
"narHash": "sha256-JnET78yl5RvpGuDQy3rCycOCkiKoLr5DN1fPhRNNMco=",
|
"narHash": "sha256-T6iWzDOXp8Wv0KQOCTHpBcmAOdHJ6zc/l9xaztW6Ivc=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprgraphics",
|
"repo": "hyprgraphics",
|
||||||
"rev": "8f1bec691b2d198c60cccabca7a94add2df4ed1a",
|
"rev": "9431db625cd9bb66ac55525479dce694101d6d7a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -198,8 +198,8 @@
|
||||||
"aquamarine": "aquamarine",
|
"aquamarine": "aquamarine",
|
||||||
"hyprcursor": "hyprcursor",
|
"hyprcursor": "hyprcursor",
|
||||||
"hyprgraphics": "hyprgraphics",
|
"hyprgraphics": "hyprgraphics",
|
||||||
"hyprland-guiutils": "hyprland-guiutils",
|
|
||||||
"hyprland-protocols": "hyprland-protocols",
|
"hyprland-protocols": "hyprland-protocols",
|
||||||
|
"hyprland-qtutils": "hyprland-qtutils",
|
||||||
"hyprlang": [
|
"hyprlang": [
|
||||||
"hyprlang"
|
"hyprlang"
|
||||||
],
|
],
|
||||||
|
|
@ -207,7 +207,6 @@
|
||||||
"hyprutils"
|
"hyprutils"
|
||||||
],
|
],
|
||||||
"hyprwayland-scanner": "hyprwayland-scanner",
|
"hyprwayland-scanner": "hyprwayland-scanner",
|
||||||
"hyprwire": "hyprwire",
|
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
|
|
@ -218,11 +217,11 @@
|
||||||
"xdph": "xdph"
|
"xdph": "xdph"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1767201430,
|
"lastModified": 1759530922,
|
||||||
"narHash": "sha256-2FF66EaIbsc7CL1jKHbRFslSePDq40fzlTTbUlm5v3k=",
|
"narHash": "sha256-9NgZKpibALekGTPDc2O8lP8vFealQSZkXe+L+S7MMZU=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "Hyprland",
|
"repo": "Hyprland",
|
||||||
"rev": "48a024e0322bbd7c4c88126498ec478444ec4cb2",
|
"rev": "76d998743ac10e712238c1016db4d8e8d16f1049",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -231,52 +230,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"hyprland-guiutils": {
|
|
||||||
"inputs": {
|
|
||||||
"aquamarine": [
|
|
||||||
"hyprland",
|
|
||||||
"aquamarine"
|
|
||||||
],
|
|
||||||
"hyprgraphics": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprgraphics"
|
|
||||||
],
|
|
||||||
"hyprlang": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprlang"
|
|
||||||
],
|
|
||||||
"hyprtoolkit": "hyprtoolkit",
|
|
||||||
"hyprutils": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprutils"
|
|
||||||
],
|
|
||||||
"hyprwayland-scanner": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprwayland-scanner"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
|
||||||
"hyprland",
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"systems": [
|
|
||||||
"hyprland",
|
|
||||||
"systems"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1765643131,
|
|
||||||
"narHash": "sha256-CCGohW5EBIRy4B7vTyBMqPgsNcaNenVad/wszfddET0=",
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprland-guiutils",
|
|
||||||
"rev": "e50ae912813bdfa8372d62daf454f48d6df02297",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprland-guiutils",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"hyprland-hy3": {
|
"hyprland-hy3": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"hyprland": [
|
"hyprland": [
|
||||||
|
|
@ -284,11 +237,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1766381032,
|
"lastModified": 1759126670,
|
||||||
"narHash": "sha256-Wuk2MULnGfgAbP1N/Rp6H6k7zG/ynDiy54mPvkt/4bM=",
|
"narHash": "sha256-p+HObKRf2j3DfI4mcrJoF+WR7IIg9demMioYBsRH0GM=",
|
||||||
"owner": "outfoxxed",
|
"owner": "outfoxxed",
|
||||||
"repo": "hy3",
|
"repo": "hy3",
|
||||||
"rev": "50643d625829f303239f9ec019021f17d7e9f3fc",
|
"rev": "af94b011af255de87b2b026121fab1e6f2c56c6d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -309,11 +262,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1765214753,
|
"lastModified": 1749046714,
|
||||||
"narHash": "sha256-P9zdGXOzToJJgu5sVjv7oeOGPIIwrd9hAUAP3PsmBBs=",
|
"narHash": "sha256-kymV5FMnddYGI+UjwIw8ceDjdeg7ToDVjbHCvUlhn14=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprland-protocols",
|
"repo": "hyprland-protocols",
|
||||||
"rev": "3f3860b869014c00e8b9e0528c7b4ddc335c21ab",
|
"rev": "613878cb6f459c5e323aaafe1e6f388ac8a36330",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -322,6 +275,74 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hyprland-qt-support": {
|
||||||
|
"inputs": {
|
||||||
|
"hyprlang": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprland-qtutils",
|
||||||
|
"hyprlang"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprland-qtutils",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprland-qtutils",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1749154592,
|
||||||
|
"narHash": "sha256-DO7z5CeT/ddSGDEnK9mAXm1qlGL47L3VAHLlLXoCjhE=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprland-qt-support",
|
||||||
|
"rev": "4c8053c3c888138a30c3a6c45c2e45f5484f2074",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprland-qt-support",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hyprland-qtutils": {
|
||||||
|
"inputs": {
|
||||||
|
"hyprland-qt-support": "hyprland-qt-support",
|
||||||
|
"hyprlang": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprlang"
|
||||||
|
],
|
||||||
|
"hyprutils": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprland-qtutils",
|
||||||
|
"hyprlang",
|
||||||
|
"hyprutils"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1759080228,
|
||||||
|
"narHash": "sha256-RgDoAja0T1hnF0pTc56xPfLfFOO8Utol2iITwYbUhTk=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprland-qtutils",
|
||||||
|
"rev": "629b15c19fa4082e4ce6be09fdb89e8c3312aed7",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprland-qtutils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"hyprlang": {
|
"hyprlang": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"hyprutils": [
|
"hyprutils": [
|
||||||
|
|
@ -335,11 +356,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1764612430,
|
"lastModified": 1758927902,
|
||||||
"narHash": "sha256-54ltTSbI6W+qYGMchAgCR6QnC1kOdKXN6X6pJhOWxFg=",
|
"narHash": "sha256-LZgMds7M94+vuMql2bERQ6LiFFdhgsEFezE4Vn+Ys3A=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprlang",
|
"repo": "hyprlang",
|
||||||
"rev": "0d00dc118981531aa731150b6ea551ef037acddd",
|
"rev": "4dafa28d4f79877d67a7d1a654cddccf8ebf15da",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -348,58 +369,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"hyprtoolkit": {
|
|
||||||
"inputs": {
|
|
||||||
"aquamarine": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprland-guiutils",
|
|
||||||
"aquamarine"
|
|
||||||
],
|
|
||||||
"hyprgraphics": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprland-guiutils",
|
|
||||||
"hyprgraphics"
|
|
||||||
],
|
|
||||||
"hyprlang": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprland-guiutils",
|
|
||||||
"hyprlang"
|
|
||||||
],
|
|
||||||
"hyprutils": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprland-guiutils",
|
|
||||||
"hyprutils"
|
|
||||||
],
|
|
||||||
"hyprwayland-scanner": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprland-guiutils",
|
|
||||||
"hyprwayland-scanner"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprland-guiutils",
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"systems": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprland-guiutils",
|
|
||||||
"systems"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1764592794,
|
|
||||||
"narHash": "sha256-7CcO+wbTJ1L1NBQHierHzheQGPWwkIQug/w+fhTAVuU=",
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprtoolkit",
|
|
||||||
"rev": "5cfe0743f0e608e1462972303778d8a0859ee63e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprtoolkit",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"hyprutils": {
|
"hyprutils": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
|
@ -410,11 +379,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1766253372,
|
"lastModified": 1759490926,
|
||||||
"narHash": "sha256-1+p4Kw8HdtMoFSmJtfdwjxM4bPxDK9yg27SlvUMpzWA=",
|
"narHash": "sha256-7IbZGJ5qAAfZsGhBHIsP8MBsfuFYS0hsxYHVkkeDG5Q=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprutils",
|
"repo": "hyprutils",
|
||||||
"rev": "51a4f93ce8572e7b12b7284eb9e6e8ebf16b4be9",
|
"rev": "94cce794344538c4d865e38682684ec2bbdb2ef3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -435,11 +404,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1763640274,
|
"lastModified": 1755184602,
|
||||||
"narHash": "sha256-Uan1Nl9i4TF/kyFoHnTq1bd/rsWh4GAK/9/jDqLbY5A=",
|
"narHash": "sha256-RCBQN8xuADB0LEgaKbfRqwm6CdyopE1xIEhNc67FAbw=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprwayland-scanner",
|
"repo": "hyprwayland-scanner",
|
||||||
"rev": "f6cf414ca0e16a4d30198fd670ec86df3c89f671",
|
"rev": "b3b0f1f40ae09d4447c20608e5a4faf8bf3c492d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -448,35 +417,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"hyprwire": {
|
|
||||||
"inputs": {
|
|
||||||
"hyprutils": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprutils"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
|
||||||
"hyprland",
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"systems": [
|
|
||||||
"hyprland",
|
|
||||||
"systems"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1766253200,
|
|
||||||
"narHash": "sha256-26qPwrd3od+xoYVywSB7hC2cz9ivN46VPLlrsXyGxvE=",
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprwire",
|
|
||||||
"rev": "1079777525b30a947c8d657fac158e00ae85de9d",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprwire",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"impurity": {
|
"impurity": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1689836741,
|
"lastModified": 1689836741,
|
||||||
|
|
@ -499,11 +439,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1765267181,
|
"lastModified": 1759032422,
|
||||||
"narHash": "sha256-d3NBA9zEtBu2JFMnTBqWj7Tmi7R5OikoU2ycrdhQEws=",
|
"narHash": "sha256-WZf+FhebP2/1pK2np5xj/NuDjD6fXK2BHnq/tPUN18o=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "nix-index-database",
|
"repo": "nix-index-database",
|
||||||
"rev": "82befcf7dc77c909b0f2a09f5da910ec95c5b78f",
|
"rev": "ec7a78cb0e098832d8acac091a4df393259c4839",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -534,11 +474,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1766902085,
|
"lastModified": 1759381078,
|
||||||
"narHash": "sha256-coBu0ONtFzlwwVBzmjacUQwj3G+lybcZ1oeNSQkgC0M=",
|
"narHash": "sha256-gTrEEp5gEspIcCOx9PD8kMaF1iEmfBcTbO0Jag2QhQs=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "c0b0e0fddf73fd517c3471e546c0df87a42d53f4",
|
"rev": "7df7ff7d8e00218376575f0acdcc5d66741351ee",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -555,11 +495,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1767202981,
|
"lastModified": 1759562581,
|
||||||
"narHash": "sha256-XF68CQaLfPcCk5DVAP/OLbyqchc9uj4E65AEf363HI8=",
|
"narHash": "sha256-Ws/2AeBPNO0rKZClWMZGHzpYYxvzipkQe0Uv0bRcYDM=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NUR",
|
"repo": "NUR",
|
||||||
"rev": "8666a7d3d9d26a7a3031ba4d5688ba4e6f83d6bd",
|
"rev": "fc4bde0d1bbd11352fd7836af54e56573f6649e6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -578,11 +518,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1765911976,
|
"lastModified": 1758108966,
|
||||||
"narHash": "sha256-t3T/xm8zstHRLx+pIHxVpQTiySbKqcQbK+r+01XVKc0=",
|
"narHash": "sha256-ytw7ROXaWZ7OfwHrQ9xvjpUWeGVm86pwnEd1QhzawIo=",
|
||||||
"owner": "cachix",
|
"owner": "cachix",
|
||||||
"repo": "git-hooks.nix",
|
"repo": "git-hooks.nix",
|
||||||
"rev": "b68b780b69702a090c8bb1b973bab13756cc7a27",
|
"rev": "54df955a695a84cd47d4a43e08e1feaf90b1fd9b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -598,11 +538,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1766725085,
|
"lastModified": 1759303785,
|
||||||
"narHash": "sha256-O2aMFdDUYJazFrlwL7aSIHbUSEm3ADVZjmf41uBJfHs=",
|
"narHash": "sha256-EUXrK7pUIzOQWR1dquZh26A6W8lsY2oiHEEZzQnsarM=",
|
||||||
"ref": "refs/heads/master",
|
"ref": "refs/heads/master",
|
||||||
"rev": "41828c4180fb921df7992a5405f5ff05d2ac2fff",
|
"rev": "9662234759eb57f2a1057f2a1c667da1bf128c1c",
|
||||||
"revCount": 715,
|
"revCount": 686,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://git.outfoxxed.me/quickshell/quickshell"
|
"url": "https://git.outfoxxed.me/quickshell/quickshell"
|
||||||
},
|
},
|
||||||
|
|
@ -631,11 +571,11 @@
|
||||||
},
|
},
|
||||||
"stable": {
|
"stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1767051569,
|
"lastModified": 1759281824,
|
||||||
"narHash": "sha256-0MnuWoN+n1UYaGBIpqpPs9I9ZHW4kynits4mrnh1Pk4=",
|
"narHash": "sha256-FIBE1qXv9TKvSNwst6FumyHwCRH3BlWDpfsnqRDCll0=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "40ee5e1944bebdd128f9fbada44faefddfde29bd",
|
"rev": "5b5be50345d4113d04ba58c444348849f5585b4a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -687,11 +627,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1761431178,
|
"lastModified": 1755354946,
|
||||||
"narHash": "sha256-xzjC1CV3+wpUQKNF+GnadnkeGUCJX+vgaWIZsnz9tzI=",
|
"narHash": "sha256-zdov5f/GcoLQc9qYIS1dUTqtJMeDqmBmo59PAxze6e4=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "xdg-desktop-portal-hyprland",
|
"repo": "xdg-desktop-portal-hyprland",
|
||||||
"rev": "4b8801228ff958d028f588f0c2b911dbf32297f9",
|
"rev": "a10726d6a8d0ef1a0c645378f983b6278c42eaa0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,22 @@
|
||||||
(with inputs.emacs-overlay.overlays; [
|
(with inputs.emacs-overlay.overlays; [
|
||||||
emacs
|
emacs
|
||||||
package
|
package
|
||||||
|
|
||||||
|
(final: prev: {
|
||||||
|
tree-sitter = prev.tree-sitter.override {
|
||||||
|
extraGrammars = {
|
||||||
|
tree-sitter-astro = {
|
||||||
|
version = "master";
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "virchau13";
|
||||||
|
repo = "tree-sitter-astro";
|
||||||
|
rev = "0ad33e32ae9726e151d16ca20ba3e507ff65e01f";
|
||||||
|
sha256 = "LhehKOhCDPExEgEiOj3TiuFk8/DohzYhy/9GmUSxaIg=";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
})
|
||||||
]);
|
]);
|
||||||
|
|
||||||
tree-sitter-parsers = grammars: with grammars; [
|
tree-sitter-parsers = grammars: with grammars; [
|
||||||
|
|
@ -40,25 +56,15 @@
|
||||||
tree-sitter-toml
|
tree-sitter-toml
|
||||||
tree-sitter-tsx
|
tree-sitter-tsx
|
||||||
tree-sitter-typescript
|
tree-sitter-typescript
|
||||||
|
tree-sitter-astro
|
||||||
tree-sitter-vim
|
tree-sitter-vim
|
||||||
tree-sitter-yaml
|
tree-sitter-yaml
|
||||||
tree-sitter-zig
|
tree-sitter-zig
|
||||||
(pkgs.tree-sitter.buildGrammar {
|
|
||||||
language = "astro";
|
|
||||||
version = "master";
|
|
||||||
src = pkgs.fetchFromGitHub {
|
|
||||||
owner = "virchau13";
|
|
||||||
repo = "tree-sitter-astro";
|
|
||||||
rev = "0ad33e32ae9726e151d16ca20ba3e507ff65e01f";
|
|
||||||
sha256 = "LhehKOhCDPExEgEiOj3TiuFk8/DohzYhy/9GmUSxaIg=";
|
|
||||||
};
|
|
||||||
})
|
|
||||||
];
|
];
|
||||||
|
|
||||||
custom-emacs =
|
custom-emacs =
|
||||||
with newpkgs;
|
with newpkgs;
|
||||||
((emacsPackagesFor (emacs30-pgtk.override { withNativeCompilation = true; })).emacsWithPackages (epkgs: with epkgs; [
|
((emacsPackagesFor (emacs30-pgtk.override { withNativeCompilation = true; })).emacsWithPackages (epkgs: with epkgs; [
|
||||||
aidermacs transient
|
|
||||||
avy
|
avy
|
||||||
better-jumper
|
better-jumper
|
||||||
company
|
company
|
||||||
|
|
@ -83,7 +89,6 @@
|
||||||
lsp-ui
|
lsp-ui
|
||||||
lsp-haskell
|
lsp-haskell
|
||||||
lsp-java
|
lsp-java
|
||||||
dap-mode
|
|
||||||
magit
|
magit
|
||||||
markdown-mode
|
markdown-mode
|
||||||
nasm-mode
|
nasm-mode
|
||||||
|
|
@ -102,14 +107,7 @@
|
||||||
use-package
|
use-package
|
||||||
vertico
|
vertico
|
||||||
which-key
|
which-key
|
||||||
(melpaPackages.ws-butler.overrideAttrs { # https://github.com/nix-community/emacs-overlay/issues/499
|
melpaPackages.ws-butler
|
||||||
src = pkgs.fetchFromSavannah {
|
|
||||||
repo = "emacs/nongnu";
|
|
||||||
rev = "9ee5a7657a22e836618813c2e2b64a548d27d2f";
|
|
||||||
hash = "sha256-S9aFJcFMkyB1KozJc9hpwKjAMkOyEnCZ6Wf3JVZ8d0c=";
|
|
||||||
};
|
|
||||||
})
|
|
||||||
minuet
|
|
||||||
zig-ts-mode
|
zig-ts-mode
|
||||||
]));
|
]));
|
||||||
in {
|
in {
|
||||||
|
|
|
||||||
|
|
@ -70,7 +70,7 @@ misc {
|
||||||
|
|
||||||
render {
|
render {
|
||||||
direct_scanout = true
|
direct_scanout = true
|
||||||
new_render_scheduling = false
|
new_render_scheduling = true
|
||||||
}
|
}
|
||||||
|
|
||||||
binds {
|
binds {
|
||||||
|
|
@ -108,36 +108,48 @@ debug {
|
||||||
|
|
||||||
monitor = , preferred, auto, 1
|
monitor = , preferred, auto, 1
|
||||||
|
|
||||||
layerrule = match:namespace shell:background, animation fade
|
layerrule = blur, test
|
||||||
|
layerrule = ignorezero, test
|
||||||
|
layerrule = noanim, test
|
||||||
|
|
||||||
layerrule = match:namespace shell:bar, blur on
|
layerrule = blur, wofi
|
||||||
layerrule = match:namespace shell:bar, blur_popups on
|
layerrule = ignorezero, wofi
|
||||||
layerrule = match:namespace shell:bar, ignore_alpha 0
|
layerrule = noanim, ^(selection)$
|
||||||
layerrule = match:namespace shell:notifications, blur on
|
|
||||||
layerrule = match:namespace shell:notifications, ignore_alpha 0
|
|
||||||
layerrule = match:namespace shell:notifications, animation 0
|
|
||||||
layerrule = match:namespace shell:screenshot, animation 0
|
|
||||||
|
|
||||||
layerrule = match:namespace shell:launcher, blur on
|
layerrule = blur, termspawner
|
||||||
layerrule = match:namespace shell:launcher, ignore_alpha 0
|
layerrule = ignorezero, termspawner
|
||||||
layerrule = match:namespace shell:launcher, animation popin 90%
|
layerrule = noanim, termspawner
|
||||||
|
|
||||||
windowrule = match:class org.kde.polkit-kde-authentication-agent-1, float on
|
layerrule = animation fade, shell:background
|
||||||
windowrule = match:class org.kde.polkit-kde-authentication-agent-1, dim_around on
|
|
||||||
|
|
||||||
windowrule = match:class gcr-prompter, float on
|
layerrule = blur, shell:bar
|
||||||
windowrule = match:class gcr-prompter, dim_around on
|
layerrule = blurpopups, shell:bar
|
||||||
|
layerrule = ignorezero, shell:bar
|
||||||
|
layerrule = blur, shell:notifications
|
||||||
|
layerrule = ignorezero, shell:notifications
|
||||||
|
layerrule = noanim, shell:notifications
|
||||||
|
|
||||||
windowrule = match:class org.freedesktop.impl.portal.desktop.kde, float on
|
layerrule = noanim, shell:screenshot
|
||||||
windowrule = match:class org.freedesktop.impl.portal.desktop.kde, size 1000 700
|
|
||||||
windowrule = match:class org.freedesktop.impl.portal.desktop.kde, dim_around on
|
|
||||||
|
|
||||||
windowrule = match:title ^(OpenSSH Authentication Passphrase request)$, float on
|
layerrule = blur, shell:launcher
|
||||||
windowrule = match:title ^(KeePassXC - Access Request)$, float on
|
layerrule = ignorezero, shell:launcher
|
||||||
windowrule = match:title ^(Unlock Database - KeePassXC)$, float on
|
layerrule = animation popin 90%, shell:launcher
|
||||||
windowrule = match:class org.keepassxc.KeePassXC, no_screen_share on
|
|
||||||
|
|
||||||
windowrule = match:class AlacrittyFloating, float on
|
windowrulev2 = float, class:^(opensnitch_ui)$
|
||||||
|
windowrulev2 = dimaround, class:^(opensnitch_ui)$
|
||||||
|
windowrulev2 = float, class:^(org.kde.polkit-kde-authentication-agent-1)$
|
||||||
|
windowrulev2 = dimaround, class:^(org.kde.polkit-kde-authentication-agent-1)$
|
||||||
|
windowrulev2 = float, class:^(gcr-prompter)$
|
||||||
|
windowrulev2 = dimaround, class:^(gcr-prompter)$
|
||||||
|
windowrulev2 = float, class:^(org.freedesktop.impl.portal.desktop.kde)$
|
||||||
|
windowrulev2 = size 1000 700, class:^(org.freedesktop.impl.portal.desktop.kde)$
|
||||||
|
windowrulev2 = center, class:^(org.freedesktop.impl.portal.desktop.kde)$
|
||||||
|
windowrulev2 = dimaround, class:^(org.freedesktop.impl.portal.desktop.kde)$
|
||||||
|
windowrulev2 = float, title:^(OpenSSH Authentication Passphrase request)$
|
||||||
|
windowrulev2 = float, title:^(KeePassXC - Access Request)$
|
||||||
|
windowrulev2 = float, title:^(Unlock Database - KeePassXC)$
|
||||||
|
|
||||||
|
windowrulev2 = float, class:^(AlacrittyFloating)$
|
||||||
|
|
||||||
$mod = SUPER
|
$mod = SUPER
|
||||||
$launcher = qs -c shell ipc call launcher open
|
$launcher = qs -c shell ipc call launcher open
|
||||||
|
|
@ -185,11 +197,6 @@ bind = ,XF86AudioStop, exec, qs -c shell ipc call mpris pauseAll
|
||||||
bind = ,XF86AudioPlay, exec, qs -c shell ipc call mpris playPause
|
bind = ,XF86AudioPlay, exec, qs -c shell ipc call mpris playPause
|
||||||
bind = ,XF86AudioNext, exec, qs -c shell ipc call mpris next
|
bind = ,XF86AudioNext, exec, qs -c shell ipc call mpris next
|
||||||
bind = ,XF86AudioPrev, exec, qs -c shell ipc call mpris previous
|
bind = ,XF86AudioPrev, exec, qs -c shell ipc call mpris previous
|
||||||
bind = $mod, m, exec, qs -c shell ipc call audio toggleMic
|
|
||||||
bind = ,XF86AudioRaiseVolume, exec, qs -c shell ipc call audio volUp
|
|
||||||
bind = ,XF86AudioLowerVolume, exec, qs -c shell ipc call audio volDown
|
|
||||||
bind = SHIFT,XF86AudioNext, exec, qs -c shell ipc call mpris next
|
|
||||||
bind = SHIFT,XF86AudioPrev, exec, qs -c shell ipc call mpris previous
|
|
||||||
|
|
||||||
bind = $mod, h, hy3:movefocus, l
|
bind = $mod, h, hy3:movefocus, l
|
||||||
bind = $mod, j, hy3:movefocus, d
|
bind = $mod, j, hy3:movefocus, d
|
||||||
|
|
@ -249,5 +256,6 @@ bind = $mod+SHIFT, 8, hy3:movetoworkspace, 08
|
||||||
bind = $mod+SHIFT, 9, hy3:movetoworkspace, 09
|
bind = $mod+SHIFT, 9, hy3:movetoworkspace, 09
|
||||||
bind = $mod+SHIFT, 0, hy3:movetoworkspace, 10
|
bind = $mod+SHIFT, 0, hy3:movetoworkspace, 10
|
||||||
|
|
||||||
workspace = f[1], gapsout:0
|
workspace = f[1], gapsout:0, gapsin:0
|
||||||
windowrule = match:fullscreen_state_internal 1, border_size 0
|
windowrule = bordersize 0, floating:0, onworkspace:f[1]
|
||||||
|
windowrule = rounding 0, floating:0, onworkspace:f[1]
|
||||||
|
|
|
||||||
|
|
@ -20,8 +20,6 @@
|
||||||
, lame
|
, lame
|
||||||
, withMusicbrainz ? false
|
, withMusicbrainz ? false
|
||||||
, libmusicbrainz5
|
, libmusicbrainz5
|
||||||
, libebur128
|
|
||||||
, kdePackages
|
|
||||||
|
|
||||||
, withTaglib ? true
|
, withTaglib ? true
|
||||||
, taglib
|
, taglib
|
||||||
|
|
@ -90,8 +88,8 @@ stdenv.mkDerivation rec {
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "nullobsi";
|
owner = "nullobsi";
|
||||||
repo = "cantata";
|
repo = "cantata";
|
||||||
rev = "dc5a0ce77cdf3eaacce29180fe7d2c710b3f31af";
|
rev = "a19efdf9649c50320f8592f07d82734c352ace9c";
|
||||||
sha256 = "YcGqVZuP7slfxo5oe0lBPchVCXm+UsSN/wpglwn6UmU=";
|
sha256 = "TVqgTYpHyU1OM9XddJ915GM1XQQrhH9V7yhSxQOaXRs=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
|
@ -110,9 +108,6 @@ stdenv.mkDerivation rec {
|
||||||
qtbase
|
qtbase
|
||||||
qtsvg
|
qtsvg
|
||||||
qtwayland
|
qtwayland
|
||||||
libebur128
|
|
||||||
kdePackages.kitemviews
|
|
||||||
kdePackages.karchive
|
|
||||||
(perl.withPackages (ppkgs: with ppkgs; [ URI ]))
|
(perl.withPackages (ppkgs: with ppkgs; [ URI ]))
|
||||||
]
|
]
|
||||||
++ lib.flatten (builtins.catAttrs "pkgs" (builtins.filter (e: e.enable) options));
|
++ lib.flatten (builtins.catAttrs "pkgs" (builtins.filter (e: e.enable) options));
|
||||||
|
|
|
||||||
|
|
@ -7,14 +7,6 @@
|
||||||
mcontrolcenter = final.callPackage ./mcontrolcenter.nix {};
|
mcontrolcenter = final.callPackage ./mcontrolcenter.nix {};
|
||||||
cantata = final.qt6Packages.callPackage ./cantata {};
|
cantata = final.qt6Packages.callPackage ./cantata {};
|
||||||
tws = final.callPackage ./tws.nix {};
|
tws = final.callPackage ./tws.nix {};
|
||||||
libsigrok = prev.libsigrok.overrideAttrs {
|
|
||||||
src = pkgs.fetchFromGitHub {
|
|
||||||
owner = "sipeed";
|
|
||||||
repo = "libsigrok";
|
|
||||||
rev = "4bd54163630ab48e3d5cd540ea9e8cf9809c6f3d";
|
|
||||||
hash = "sha256-Rl5w2jABGTKPnRXZJehNMEBNeGe4POHOoRzffIhAMTM=";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,7 @@
|
||||||
glib
|
glib
|
||||||
gtk2
|
gtk2
|
||||||
gtk3
|
gtk3
|
||||||
javaPackages.openjfx25
|
javaPackages.openjfx21
|
||||||
libdrm
|
libdrm
|
||||||
libGL
|
libGL
|
||||||
libxkbcommon
|
libxkbcommon
|
||||||
|
|
@ -74,7 +74,7 @@ in stdenv.mkDerivation {
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download2.interactivebrokers.com/installers/tws/latest-standalone/tws-latest-standalone-linux-x64.sh";
|
url = "https://download2.interactivebrokers.com/installers/tws/latest-standalone/tws-latest-standalone-linux-x64.sh";
|
||||||
hash = "sha256-QN7dSe+R2kfDjtJWa9TIGbc8zCSC3XNmxSxOZOjOB2o=";
|
hash = "sha256-Wk7lRE5ypJeAQfvi5aEDZYfUF6fJ3ktueYYytHohIGU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
||||||
|
|
@ -16,8 +16,6 @@
|
||||||
services.upower.enable = true;
|
services.upower.enable = true;
|
||||||
services.power-profiles-daemon.enable = true;
|
services.power-profiles-daemon.enable = true;
|
||||||
|
|
||||||
services.nixseparatedebuginfod2.enable = true;
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
git
|
git
|
||||||
git-lfs
|
git-lfs
|
||||||
|
|
|
||||||
|
|
@ -3,11 +3,7 @@
|
||||||
|
|
||||||
system.extraDependencies = with pkgs; [ ungoogled-chromium ];
|
system.extraDependencies = with pkgs; [ ungoogled-chromium ];
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [ nix-output-monitor ];
|
||||||
nix-output-monitor
|
|
||||||
pulseview # here because usev rules in libsigrok
|
|
||||||
];
|
|
||||||
services.udev.packages = [ pkgs.libsigrok ];
|
|
||||||
environment.sessionVariables.FLAKE = "/home/admin/nixnew";
|
environment.sessionVariables.FLAKE = "/home/admin/nixnew";
|
||||||
|
|
||||||
programs.steam = {
|
programs.steam = {
|
||||||
|
|
@ -30,7 +26,7 @@
|
||||||
material-symbols
|
material-symbols
|
||||||
font-awesome
|
font-awesome
|
||||||
corefonts
|
corefonts
|
||||||
vista-fonts
|
vistafonts
|
||||||
]);
|
]);
|
||||||
|
|
||||||
fontconfig = {
|
fontconfig = {
|
||||||
|
|
@ -101,8 +97,6 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
#programs.ladybird.enable = true;
|
|
||||||
|
|
||||||
home-manager.users.${config.main-user} = homeInputs: let
|
home-manager.users.${config.main-user} = homeInputs: let
|
||||||
homeConfig = homeInputs.config;
|
homeConfig = homeInputs.config;
|
||||||
in {
|
in {
|
||||||
|
|
@ -112,6 +106,7 @@
|
||||||
./modules/wofi
|
./modules/wofi
|
||||||
./modules/dolphin
|
./modules/dolphin
|
||||||
./modules/firefox
|
./modules/firefox
|
||||||
|
./modules/element.nix
|
||||||
./modules/keepassxc
|
./modules/keepassxc
|
||||||
./dev-support.nix
|
./dev-support.nix
|
||||||
];
|
];
|
||||||
|
|
@ -140,7 +135,6 @@
|
||||||
freetube
|
freetube
|
||||||
jujutsu
|
jujutsu
|
||||||
|
|
||||||
freecad
|
|
||||||
tws
|
tws
|
||||||
|
|
||||||
distrobox
|
distrobox
|
||||||
|
|
@ -168,7 +162,7 @@
|
||||||
services = {
|
services = {
|
||||||
mpd = {
|
mpd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
musicDirectory = "/pool2/music";
|
musicDirectory = "/pool/music";
|
||||||
network.startWhenNeeded = true;
|
network.startWhenNeeded = true;
|
||||||
|
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
|
|
|
||||||
|
|
@ -42,6 +42,13 @@ let
|
||||||
url = "https://addons.mozilla.org/firefox/downloads/file/3854469/github_repo_size-1.7.0.xpi";
|
url = "https://addons.mozilla.org/firefox/downloads/file/3854469/github_repo_size-1.7.0.xpi";
|
||||||
sha256 = "2zGY12esYusaw2IzXM+1kP0B/0Urxu0yj7xXlDlutto=";
|
sha256 = "2zGY12esYusaw2IzXM+1kP0B/0Urxu0yj7xXlDlutto=";
|
||||||
};
|
};
|
||||||
|
vencord = remoteXpiAddon {
|
||||||
|
pname = "vencord";
|
||||||
|
version = "1.2.7";
|
||||||
|
addonId = "vencord-firefox@vendicated.dev";
|
||||||
|
url = "https://addons.mozilla.org/firefox/downloads/file/4123132/vencord_web-1.2.7.xpi";
|
||||||
|
sha256 = "A/XKdT0EuDHsQ7mcK9hsXAoAJYUt4Uvp/rtCf/9dAS0=";
|
||||||
|
};
|
||||||
|
|
||||||
theme-gray = theme {
|
theme-gray = theme {
|
||||||
name = "theme-gray";
|
name = "theme-gray";
|
||||||
|
|
@ -236,6 +243,7 @@ in {
|
||||||
|
|
||||||
extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; with extra-addons; [
|
extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; with extra-addons; [
|
||||||
ublock-origin
|
ublock-origin
|
||||||
|
vencord
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
import Quickshell
|
import Quickshell
|
||||||
import Quickshell.Io
|
|
||||||
import Quickshell.Services.Pipewire
|
import Quickshell.Services.Pipewire
|
||||||
import qs.bar
|
import qs.bar
|
||||||
|
|
||||||
|
|
@ -41,23 +40,4 @@ BarWidgetInner {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
IpcHandler {
|
|
||||||
target: "audio"
|
|
||||||
|
|
||||||
function toggleMic(): void {
|
|
||||||
const source = Pipewire.defaultAudioSource;
|
|
||||||
source.audio.muted = !source.audio.muted;
|
|
||||||
}
|
|
||||||
|
|
||||||
function volUp(): void {
|
|
||||||
const sink = Pipewire.defaultAudioSink;
|
|
||||||
sink.audio.volume += 0.05;
|
|
||||||
}
|
|
||||||
|
|
||||||
function volDown(): void {
|
|
||||||
const sink = Pipewire.defaultAudioSink;
|
|
||||||
sink.audio.volume -= 0.05;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,8 @@ import Quickshell
|
||||||
import Quickshell.Io
|
import Quickshell.Io
|
||||||
import Quickshell.Wayland
|
import Quickshell.Wayland
|
||||||
import Quickshell.Widgets
|
import Quickshell.Widgets
|
||||||
import Quickshell.Hyprland
|
import Quickshell.Services.SystemTray
|
||||||
|
import ".."
|
||||||
|
|
||||||
Singleton {
|
Singleton {
|
||||||
PersistentProperties {
|
PersistentProperties {
|
||||||
|
|
@ -37,37 +38,240 @@ Singleton {
|
||||||
activeAsync: persist.launcherOpen
|
activeAsync: persist.launcherOpen
|
||||||
|
|
||||||
PanelWindow {
|
PanelWindow {
|
||||||
id: launcherWindow
|
width: 450
|
||||||
//anchors { left: true; right: true; top: true; bottom: true }
|
height: 7 + searchContainer.implicitHeight + list.topMargin * 2 + list.delegateHeight * 10
|
||||||
color: "transparent"
|
color: "transparent"
|
||||||
implicitWidth: content.width
|
WlrLayershell.keyboardFocus: WlrKeyboardFocus.Exclusive
|
||||||
implicitHeight: content.height
|
|
||||||
//color: "#20ff0000"
|
|
||||||
//WlrLayershell.keyboardFocus: WlrKeyboardFocus.Exclusive
|
|
||||||
WlrLayershell.namespace: "shell:launcher"
|
WlrLayershell.namespace: "shell:launcher"
|
||||||
|
|
||||||
/*HyprlandWindow.visibleMask: Region {
|
Rectangle {
|
||||||
item: content
|
//anchors.fill: parent
|
||||||
}*/
|
height: 7 + searchContainer.implicitHeight + list.topMargin + list.bottomMargin + Math.min(list.contentHeight, list.delegateHeight * 10)
|
||||||
|
Behavior on height { NumberAnimation { duration: 200; easing.type: Easing.OutCubic } }
|
||||||
|
width: 450
|
||||||
|
color: ShellGlobals.colors.bar
|
||||||
|
radius: 5
|
||||||
|
border.color: ShellGlobals.colors.barOutline
|
||||||
|
border.width: 1
|
||||||
|
|
||||||
HyprlandFocusGrab {
|
ColumnLayout {
|
||||||
windows: [launcherWindow]
|
anchors.fill: parent
|
||||||
active: true
|
anchors.margins: 7
|
||||||
//onCleared: console.log("cleared")
|
anchors.bottomMargin: 0
|
||||||
onCleared: persist.launcherOpen = false
|
spacing: 0
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
id: searchContainer
|
||||||
|
Layout.fillWidth: true
|
||||||
|
implicitHeight: searchbox.implicitHeight + 10
|
||||||
|
color: "#30c0ffff"
|
||||||
|
radius: 3
|
||||||
|
border.color: "#50ffffff"
|
||||||
|
|
||||||
|
RowLayout {
|
||||||
|
id: searchbox
|
||||||
|
anchors.fill: parent
|
||||||
|
anchors.margins: 5
|
||||||
|
|
||||||
|
IconImage {
|
||||||
|
implicitSize: parent.height
|
||||||
|
source: "root:icons/magnifying-glass.svg"
|
||||||
}
|
}
|
||||||
|
|
||||||
MouseArea {
|
TextInput {
|
||||||
anchors.fill: parent
|
id: search
|
||||||
|
Layout.fillWidth: true
|
||||||
|
color: "white"
|
||||||
|
|
||||||
onPressed: persist.launcherOpen = false
|
focus: true
|
||||||
|
Keys.forwardTo: [list]
|
||||||
|
Keys.onEscapePressed: persist.launcherOpen = false
|
||||||
|
|
||||||
MouseArea {
|
Keys.onPressed: event => {
|
||||||
anchors.centerIn: parent
|
if (event.modifiers & Qt.ControlModifier) {
|
||||||
width: content.width
|
if (event.key == Qt.Key_J) {
|
||||||
height: content.height
|
list.currentIndex = list.currentIndex == list.count - 1 ? 0 : list.currentIndex + 1;
|
||||||
|
event.accepted = true;
|
||||||
|
} else if (event.key == Qt.Key_K) {
|
||||||
|
list.currentIndex = list.currentIndex == 0 ? list.count - 1 : list.currentIndex - 1;
|
||||||
|
event.accepted = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
LaunchContent { id: content }
|
onAccepted: {
|
||||||
|
if (list.currentItem) {
|
||||||
|
list.currentItem.clicked(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
onTextChanged: {
|
||||||
|
list.currentIndex = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ListView {
|
||||||
|
id: list
|
||||||
|
Layout.fillWidth: true
|
||||||
|
Layout.fillHeight: true
|
||||||
|
clip: true
|
||||||
|
cacheBuffer: 0 // works around QTBUG-131106
|
||||||
|
//reuseItems: true
|
||||||
|
model: ScriptModel {
|
||||||
|
values: DesktopEntries.applications.values
|
||||||
|
.map(object => {
|
||||||
|
const stxt = search.text.toLowerCase();
|
||||||
|
const ntxt = object.name.toLowerCase();
|
||||||
|
let si = 0;
|
||||||
|
let ni = 0;
|
||||||
|
|
||||||
|
let matches = [];
|
||||||
|
let startMatch = -1;
|
||||||
|
|
||||||
|
for (let si = 0; si != stxt.length; ++si) {
|
||||||
|
const sc = stxt[si];
|
||||||
|
|
||||||
|
while (true) {
|
||||||
|
// Drop any entries with letters that don't exist in order
|
||||||
|
if (ni == ntxt.length) return null;
|
||||||
|
|
||||||
|
const nc = ntxt[ni++];
|
||||||
|
|
||||||
|
if (nc == sc) {
|
||||||
|
if (startMatch == -1) startMatch = ni;
|
||||||
|
break;
|
||||||
|
} else {
|
||||||
|
if (startMatch != -1) {
|
||||||
|
matches.push({
|
||||||
|
index: startMatch,
|
||||||
|
length: ni - startMatch,
|
||||||
|
});
|
||||||
|
|
||||||
|
startMatch = -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (startMatch != -1) {
|
||||||
|
matches.push({
|
||||||
|
index: startMatch,
|
||||||
|
length: ni - startMatch + 1,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
object: object,
|
||||||
|
matches: matches,
|
||||||
|
};
|
||||||
|
})
|
||||||
|
.filter(entry => entry !== null)
|
||||||
|
.sort((a, b) => {
|
||||||
|
let ai = 0;
|
||||||
|
let bi = 0;
|
||||||
|
let s = 0;
|
||||||
|
|
||||||
|
while (ai != a.matches.length && bi != b.matches.length) {
|
||||||
|
const am = a.matches[ai];
|
||||||
|
const bm = b.matches[bi];
|
||||||
|
|
||||||
|
s = bm.length - am.length;
|
||||||
|
if (s != 0) return s;
|
||||||
|
|
||||||
|
s = am.index - bm.index;
|
||||||
|
if (s != 0) return s;
|
||||||
|
|
||||||
|
++ai;
|
||||||
|
++bi;
|
||||||
|
}
|
||||||
|
|
||||||
|
s = a.matches.length - b.matches.length;
|
||||||
|
if (s != 0) return s;
|
||||||
|
|
||||||
|
s = a.object.name.length - b.object.name.length;
|
||||||
|
if (s != 0) return s;
|
||||||
|
|
||||||
|
return a.object.name.localeCompare(b.object.name);
|
||||||
|
})
|
||||||
|
.map(entry => entry.object);
|
||||||
|
|
||||||
|
onValuesChanged: list.currentIndex = 0
|
||||||
|
}
|
||||||
|
|
||||||
|
topMargin: 7
|
||||||
|
bottomMargin: list.count == 0 ? 0 : 7
|
||||||
|
|
||||||
|
add: Transition {
|
||||||
|
NumberAnimation { property: "opacity"; from: 0; to: 1; duration: 100 }
|
||||||
|
}
|
||||||
|
|
||||||
|
displaced: Transition {
|
||||||
|
NumberAnimation { property: "y"; duration: 200; easing.type: Easing.OutCubic }
|
||||||
|
NumberAnimation { property: "opacity"; to: 1; duration: 100 }
|
||||||
|
}
|
||||||
|
|
||||||
|
move: Transition {
|
||||||
|
NumberAnimation { property: "y"; duration: 200; easing.type: Easing.OutCubic }
|
||||||
|
NumberAnimation { property: "opacity"; to: 1; duration: 100 }
|
||||||
|
}
|
||||||
|
|
||||||
|
remove: Transition {
|
||||||
|
NumberAnimation { property: "y"; duration: 200; easing.type: Easing.OutCubic }
|
||||||
|
NumberAnimation { property: "opacity"; to: 0; duration: 100 }
|
||||||
|
}
|
||||||
|
|
||||||
|
highlight: Rectangle {
|
||||||
|
radius: 5
|
||||||
|
color: "#20e0ffff"
|
||||||
|
border.color: "#30ffffff"
|
||||||
|
border.width: 1
|
||||||
|
}
|
||||||
|
keyNavigationEnabled: true
|
||||||
|
keyNavigationWraps: true
|
||||||
|
highlightMoveVelocity: -1
|
||||||
|
highlightMoveDuration: 100
|
||||||
|
preferredHighlightBegin: list.topMargin
|
||||||
|
preferredHighlightEnd: list.height - list.bottomMargin
|
||||||
|
highlightRangeMode: ListView.ApplyRange
|
||||||
|
snapMode: ListView.SnapToItem
|
||||||
|
|
||||||
|
readonly property real delegateHeight: 44
|
||||||
|
|
||||||
|
delegate: MouseArea {
|
||||||
|
required property DesktopEntry modelData;
|
||||||
|
|
||||||
|
implicitHeight: list.delegateHeight
|
||||||
|
implicitWidth: ListView.view.width
|
||||||
|
|
||||||
|
onClicked: {
|
||||||
|
modelData.execute();
|
||||||
|
persist.launcherOpen = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
RowLayout {
|
||||||
|
id: delegateLayout
|
||||||
|
anchors {
|
||||||
|
verticalCenter: parent.verticalCenter
|
||||||
|
left: parent.left
|
||||||
|
leftMargin: 5
|
||||||
|
}
|
||||||
|
|
||||||
|
IconImage {
|
||||||
|
Layout.alignment: Qt.AlignVCenter
|
||||||
|
asynchronous: true
|
||||||
|
implicitSize: 30
|
||||||
|
source: Quickshell.iconPath(modelData.icon)
|
||||||
|
}
|
||||||
|
Text {
|
||||||
|
text: modelData.name
|
||||||
|
color: "#f0f0f0"
|
||||||
|
Layout.alignment: Qt.AlignVCenter
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,331 +0,0 @@
|
||||||
import QtQuick
|
|
||||||
import QtQuick.Layouts
|
|
||||||
import QtQuick.Controls
|
|
||||||
import Quickshell
|
|
||||||
import Quickshell.Widgets
|
|
||||||
import Quickshell.Wayland
|
|
||||||
import qs
|
|
||||||
|
|
||||||
Item {
|
|
||||||
id: root
|
|
||||||
height: 7 + searchContainer.implicitHeight + list.topMargin * 2 + list.delegateHeight * 10;
|
|
||||||
width: 450
|
|
||||||
|
|
||||||
Rectangle {
|
|
||||||
id: content
|
|
||||||
height: 7 + searchContainer.implicitHeight + list.topMargin + list.bottomMargin + Math.min(list.contentHeight, list.delegateHeight * 10)
|
|
||||||
Behavior on height { NumberAnimation { duration: 200; easing.type: Easing.OutCubic } }
|
|
||||||
width: 450
|
|
||||||
color: ShellGlobals.colors.bar
|
|
||||||
radius: 5
|
|
||||||
border.color: ShellGlobals.colors.barOutline
|
|
||||||
border.width: 1
|
|
||||||
|
|
||||||
ColumnLayout {
|
|
||||||
anchors.fill: parent
|
|
||||||
anchors.margins: 7
|
|
||||||
anchors.bottomMargin: 0
|
|
||||||
spacing: 0
|
|
||||||
|
|
||||||
Rectangle {
|
|
||||||
id: searchContainer
|
|
||||||
Layout.fillWidth: true
|
|
||||||
implicitHeight: searchbox.implicitHeight + 10
|
|
||||||
color: "#30c0ffff"
|
|
||||||
radius: 3
|
|
||||||
border.color: "#50ffffff"
|
|
||||||
|
|
||||||
RowLayout {
|
|
||||||
id: searchbox
|
|
||||||
anchors.fill: parent
|
|
||||||
anchors.margins: 5
|
|
||||||
|
|
||||||
IconImage {
|
|
||||||
implicitSize: parent.height
|
|
||||||
source: "root:icons/magnifying-glass.svg"
|
|
||||||
}
|
|
||||||
|
|
||||||
TextInput {
|
|
||||||
id: search
|
|
||||||
Layout.fillWidth: true
|
|
||||||
color: "white"
|
|
||||||
|
|
||||||
focus: true
|
|
||||||
Keys.forwardTo: [list]
|
|
||||||
Keys.onEscapePressed: persist.launcherOpen = false
|
|
||||||
|
|
||||||
Keys.onPressed: event => {
|
|
||||||
if (event.modifiers & Qt.ControlModifier) {
|
|
||||||
if (event.key == Qt.Key_J) {
|
|
||||||
list.currentIndex = list.currentIndex == list.count - 1 ? 0 : list.currentIndex + 1;
|
|
||||||
event.accepted = true;
|
|
||||||
} else if (event.key == Qt.Key_K) {
|
|
||||||
list.currentIndex = list.currentIndex == 0 ? list.count - 1 : list.currentIndex - 1;
|
|
||||||
event.accepted = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
onAccepted: {
|
|
||||||
if (list.currentItem) {
|
|
||||||
list.currentItem.clicked(null);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
onTextChanged: {
|
|
||||||
list.currentIndex = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ListView {
|
|
||||||
id: list
|
|
||||||
Layout.fillWidth: true
|
|
||||||
Layout.fillHeight: true
|
|
||||||
clip: true
|
|
||||||
cacheBuffer: 0 // works around QTBUG-131106
|
|
||||||
//reuseItems: true
|
|
||||||
model: ScriptModel {
|
|
||||||
values: DesktopEntries.applications.values
|
|
||||||
.map(object => {
|
|
||||||
const stxt = search.text.toLowerCase();
|
|
||||||
const ntxt = object.name.toLowerCase();
|
|
||||||
let si = 0;
|
|
||||||
let ni = 0;
|
|
||||||
|
|
||||||
let matches = [];
|
|
||||||
let startMatch = -1;
|
|
||||||
|
|
||||||
for (let si = 0; si != stxt.length; ++si) {
|
|
||||||
const sc = stxt[si];
|
|
||||||
|
|
||||||
while (true) {
|
|
||||||
// Drop any entries with letters that don't exist in order
|
|
||||||
if (ni == ntxt.length) return null;
|
|
||||||
|
|
||||||
const nc = ntxt[ni++];
|
|
||||||
|
|
||||||
if (nc == sc) {
|
|
||||||
if (startMatch == -1) startMatch = ni;
|
|
||||||
break;
|
|
||||||
} else {
|
|
||||||
if (startMatch != -1) {
|
|
||||||
matches.push({
|
|
||||||
index: startMatch,
|
|
||||||
length: ni - startMatch,
|
|
||||||
});
|
|
||||||
|
|
||||||
startMatch = -1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (startMatch != -1) {
|
|
||||||
matches.push({
|
|
||||||
index: startMatch,
|
|
||||||
length: ni - startMatch + 1,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
|
||||||
object: object,
|
|
||||||
matches: matches,
|
|
||||||
};
|
|
||||||
})
|
|
||||||
.filter(entry => entry !== null)
|
|
||||||
.sort((a, b) => {
|
|
||||||
let ai = 0;
|
|
||||||
let bi = 0;
|
|
||||||
let s = 0;
|
|
||||||
|
|
||||||
while (ai != a.matches.length && bi != b.matches.length) {
|
|
||||||
const am = a.matches[ai];
|
|
||||||
const bm = b.matches[bi];
|
|
||||||
|
|
||||||
s = bm.length - am.length;
|
|
||||||
if (s != 0) return s;
|
|
||||||
|
|
||||||
s = am.index - bm.index;
|
|
||||||
if (s != 0) return s;
|
|
||||||
|
|
||||||
++ai;
|
|
||||||
++bi;
|
|
||||||
}
|
|
||||||
|
|
||||||
s = a.matches.length - b.matches.length;
|
|
||||||
if (s != 0) return s;
|
|
||||||
|
|
||||||
s = a.object.name.length - b.object.name.length;
|
|
||||||
if (s != 0) return s;
|
|
||||||
|
|
||||||
return a.object.name.localeCompare(b.object.name);
|
|
||||||
})
|
|
||||||
.map(entry => entry.object);
|
|
||||||
|
|
||||||
onValuesChanged: list.currentIndex = 0
|
|
||||||
}
|
|
||||||
|
|
||||||
topMargin: 7
|
|
||||||
bottomMargin: list.count == 0 ? 0 : 7
|
|
||||||
|
|
||||||
add: Transition {
|
|
||||||
NumberAnimation { property: "opacity"; from: 0; to: 1; duration: 100 }
|
|
||||||
}
|
|
||||||
|
|
||||||
displaced: Transition {
|
|
||||||
NumberAnimation { property: "y"; duration: 200; easing.type: Easing.OutCubic }
|
|
||||||
NumberAnimation { property: "opacity"; to: 1; duration: 100 }
|
|
||||||
}
|
|
||||||
|
|
||||||
move: Transition {
|
|
||||||
NumberAnimation { property: "y"; duration: 200; easing.type: Easing.OutCubic }
|
|
||||||
NumberAnimation { property: "opacity"; to: 1; duration: 100 }
|
|
||||||
}
|
|
||||||
|
|
||||||
remove: Transition {
|
|
||||||
NumberAnimation { property: "y"; duration: 200; easing.type: Easing.OutCubic }
|
|
||||||
NumberAnimation { property: "opacity"; to: 0; duration: 100 }
|
|
||||||
}
|
|
||||||
|
|
||||||
highlight: Rectangle {
|
|
||||||
radius: 5
|
|
||||||
color: "#20e0ffff"
|
|
||||||
border.color: "#30ffffff"
|
|
||||||
border.width: 1
|
|
||||||
}
|
|
||||||
|
|
||||||
keyNavigationEnabled: true
|
|
||||||
keyNavigationWraps: true
|
|
||||||
highlightMoveVelocity: -1
|
|
||||||
highlightMoveDuration: 100
|
|
||||||
preferredHighlightBegin: list.topMargin
|
|
||||||
preferredHighlightEnd: list.height - list.bottomMargin
|
|
||||||
highlightRangeMode: ListView.ApplyRange
|
|
||||||
snapMode: ListView.SnapToItem
|
|
||||||
|
|
||||||
readonly property real delegateHeight: 44
|
|
||||||
|
|
||||||
delegate: MouseArea {
|
|
||||||
required property DesktopEntry modelData;
|
|
||||||
|
|
||||||
implicitHeight: list.delegateHeight
|
|
||||||
implicitWidth: ListView.view.width
|
|
||||||
|
|
||||||
onClicked: {
|
|
||||||
modelData.execute();
|
|
||||||
persist.launcherOpen = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
RowLayout {
|
|
||||||
id: delegateLayout
|
|
||||||
anchors {
|
|
||||||
verticalCenter: parent.verticalCenter
|
|
||||||
left: parent.left
|
|
||||||
leftMargin: 5
|
|
||||||
}
|
|
||||||
|
|
||||||
IconImage {
|
|
||||||
Layout.alignment: Qt.AlignVCenter
|
|
||||||
asynchronous: true
|
|
||||||
implicitSize: 30
|
|
||||||
source: Quickshell.iconPath(modelData.icon)
|
|
||||||
}
|
|
||||||
Text {
|
|
||||||
text: modelData.name
|
|
||||||
color: "#f0f0f0"
|
|
||||||
Layout.alignment: Qt.AlignVCenter
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Rectangle {
|
|
||||||
id: preview
|
|
||||||
|
|
||||||
anchors {
|
|
||||||
left: content.right
|
|
||||||
leftMargin: 5
|
|
||||||
}
|
|
||||||
|
|
||||||
property real listYOffset: 7 + searchContainer.implicitHeight
|
|
||||||
property real yCenter: list.contentY
|
|
||||||
y: listYOffset - yCenter - height / 2 + (list.currentItem?.y ?? 0) + list.delegateHeight / 2
|
|
||||||
|
|
||||||
implicitWidth: previewContent.implicitWidth + previewContent.anchors.margins * 2
|
|
||||||
implicitHeight: previewContent.implicitHeight + previewContent.anchors.margins * 2
|
|
||||||
|
|
||||||
color: ShellGlobals.colors.bar
|
|
||||||
radius: 5
|
|
||||||
border.color: ShellGlobals.colors.barOutline
|
|
||||||
border.width: 1
|
|
||||||
|
|
||||||
property DesktopEntry entry: list.currentItem?.modelData ?? null
|
|
||||||
property var toplevels: !entry ? []: ToplevelManager.toplevels.values
|
|
||||||
.filter(toplevel => toplevel.appId.toLowerCase() == entry.id.toLowerCase())
|
|
||||||
|
|
||||||
// waits for hasContent before showing
|
|
||||||
// cant use visible because layout wont run
|
|
||||||
property real scaleMul: previewLayout.implicitWidth != 0 ? 1 : 0;
|
|
||||||
Behavior on scaleMul { SmoothedAnimation { velocity: 5 } }
|
|
||||||
|
|
||||||
opacity: scaleMul
|
|
||||||
|
|
||||||
transform: Scale {
|
|
||||||
origin.x: 0
|
|
||||||
origin.y: preview.height / 2
|
|
||||||
xScale: 0.9 + preview.scaleMul * 0.1
|
|
||||||
yScale: xScale
|
|
||||||
}
|
|
||||||
|
|
||||||
Item {
|
|
||||||
id: previewContent
|
|
||||||
anchors.fill: parent
|
|
||||||
anchors.margins: 10
|
|
||||||
implicitWidth: previewLayout.implicitWidth
|
|
||||||
implicitHeight: previewLayout.implicitHeight
|
|
||||||
|
|
||||||
RowLayout {
|
|
||||||
id: previewLayout
|
|
||||||
|
|
||||||
Repeater {
|
|
||||||
model: preview.toplevels
|
|
||||||
|
|
||||||
Rectangle {
|
|
||||||
id: delegate
|
|
||||||
required property Toplevel modelData;
|
|
||||||
color: "transparent"
|
|
||||||
|
|
||||||
visible: view.hasContent
|
|
||||||
implicitWidth: previewContent.implicitWidth
|
|
||||||
implicitHeight: previewContent.implicitHeight
|
|
||||||
|
|
||||||
ColumnLayout {
|
|
||||||
id: previewContent
|
|
||||||
anchors.centerIn: parent
|
|
||||||
width: 240
|
|
||||||
|
|
||||||
ScreencopyView {
|
|
||||||
id: view
|
|
||||||
implicitWidth: 240
|
|
||||||
implicitHeight: 200
|
|
||||||
captureSource: modelData
|
|
||||||
live: true
|
|
||||||
}
|
|
||||||
|
|
||||||
Label {
|
|
||||||
text: modelData.title
|
|
||||||
Layout.fillWidth: true
|
|
||||||
elide: Text.ElideRight
|
|
||||||
horizontalAlignment: Text.AlignHCenter
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
import QtQuick
|
|
||||||
|
|
||||||
Item {
|
|
||||||
property real yCenter: 0
|
|
||||||
}
|
|
||||||
|
|
@ -4,8 +4,6 @@ import Quickshell.Wayland
|
||||||
import Quickshell.Hyprland
|
import Quickshell.Hyprland
|
||||||
|
|
||||||
PanelWindow {
|
PanelWindow {
|
||||||
id: root
|
|
||||||
|
|
||||||
WlrLayershell.namespace: "shell:notifications"
|
WlrLayershell.namespace: "shell:notifications"
|
||||||
exclusionMode: ExclusionMode.Ignore
|
exclusionMode: ExclusionMode.Ignore
|
||||||
color: "transparent"
|
color: "transparent"
|
||||||
|
|
@ -18,9 +16,6 @@ PanelWindow {
|
||||||
right: true
|
right: true
|
||||||
}
|
}
|
||||||
|
|
||||||
property var bar: null
|
|
||||||
//property var fullscreen: Hyprland.monitorFor(root.screen)?.activeWorkspace?.hasFullscreen ?? false
|
|
||||||
|
|
||||||
property Component notifComponent: DaemonNotification {}
|
property Component notifComponent: DaemonNotification {}
|
||||||
|
|
||||||
NotificationDisplay {
|
NotificationDisplay {
|
||||||
|
|
@ -28,8 +23,8 @@ PanelWindow {
|
||||||
|
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
|
|
||||||
stack.y: root.bar.compactState * 10 + 50//5 + 55//(NotificationManager.showTrayNotifs ? 55 : 0)
|
stack.y: 5 + 55//(NotificationManager.showTrayNotifs ? 55 : 0)
|
||||||
stack.x: root.bar.leftMargin + root.bar.width - 10
|
stack.x: 72
|
||||||
}
|
}
|
||||||
|
|
||||||
visible: display.stack.children.length != 0
|
visible: display.stack.children.length != 0
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,6 @@ Scope {
|
||||||
} else {
|
} else {
|
||||||
console.log("screenshot failed")
|
console.log("screenshot failed")
|
||||||
cleanupProc.running = true
|
cleanupProc.running = true
|
||||||
root.shooting = false
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
//@ pragma ShellId shell
|
//@ pragma ShellId shell
|
||||||
//@ pragma IgnoreSystemSettings
|
|
||||||
|
|
||||||
import Quickshell
|
import Quickshell
|
||||||
import Quickshell.Io
|
import Quickshell.Io
|
||||||
|
|
@ -14,8 +13,6 @@ import "launcher" as Launcher
|
||||||
import "background"
|
import "background"
|
||||||
|
|
||||||
ShellRoot {
|
ShellRoot {
|
||||||
id: root
|
|
||||||
|
|
||||||
Component.onCompleted: [Lock.Controller, Launcher.Controller.init()]
|
Component.onCompleted: [Lock.Controller, Launcher.Controller.init()]
|
||||||
|
|
||||||
Process {
|
Process {
|
||||||
|
|
@ -41,11 +38,8 @@ ShellRoot {
|
||||||
|
|
||||||
Notifs.NotificationOverlay {
|
Notifs.NotificationOverlay {
|
||||||
screen: Quickshell.screens.find(s => s.name == "DP-1")
|
screen: Quickshell.screens.find(s => s.name == "DP-1")
|
||||||
bar: root.bars.find(b => b.screen == screen)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
property var bars: []
|
|
||||||
|
|
||||||
Variants {
|
Variants {
|
||||||
model: Quickshell.screens
|
model: Quickshell.screens
|
||||||
|
|
||||||
|
|
@ -54,8 +48,6 @@ ShellRoot {
|
||||||
|
|
||||||
Bar.Bar {
|
Bar.Bar {
|
||||||
screen: modelData
|
screen: modelData
|
||||||
Component.onCompleted: root.bars = [...root.bars, this]
|
|
||||||
Component.onDestruction: root.bars = root.bars.filter(b => b == this)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
PanelWindow {
|
PanelWindow {
|
||||||
|
|
|
||||||
|
|
@ -13,10 +13,10 @@
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
boot.kernelModules = [ "kvm-amd" ];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
#boot.supportedFilesystems = [ "zfs" ];
|
boot.supportedFilesystems = [ "zfs" ];
|
||||||
#networking.hostId = "fd4421b3";
|
networking.hostId = "fd4421b3";
|
||||||
#systemd.services.zfs-mount.enable = false;
|
systemd.services.zfs-mount.enable = false;
|
||||||
#services.zfs.autoScrub.enable = true;
|
services.zfs.autoScrub.enable = true;
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" =
|
||||||
{ device = "/dev/disk/by-uuid/c9cb1730-c0d1-4a2e-a092-12dfa7098476";
|
{ device = "/dev/disk/by-uuid/c9cb1730-c0d1-4a2e-a092-12dfa7098476";
|
||||||
|
|
@ -28,7 +28,6 @@
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
|
||||||
fileSystems."/pool/games" = {
|
fileSystems."/pool/games" = {
|
||||||
fsType = "zfs";
|
fsType = "zfs";
|
||||||
device = "pool/games";
|
device = "pool/games";
|
||||||
|
|
@ -43,7 +42,6 @@
|
||||||
fsType = "zfs";
|
fsType = "zfs";
|
||||||
device = "pool/music";
|
device = "pool/music";
|
||||||
};
|
};
|
||||||
*/
|
|
||||||
|
|
||||||
swapDevices = [ ];
|
swapDevices = [ ];
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,7 @@
|
||||||
env = AQ_DRM_DEVICES,/dev/dri/card1:/dev/dri/card2
|
env = AQ_DRM_DEVICES,/dev/dri/card1:/dev/dri/card2
|
||||||
|
|
||||||
monitor = eDP-1, 1920x1080@240Hz, 0x1440, 1
|
monitor = eDP-1, 1920x1080@240Hz, 0x1440, 1
|
||||||
monitor = DP-1, highres, 1350x0, 1
|
monitor = DP-1, 5120x1440@120Hz, 1350x0, 1
|
||||||
#monitor = DP-1, 5120x1440@120Hz, 1350x0, 1
|
|
||||||
monitor = , preferred, auto, 1
|
monitor = , preferred, auto, 1
|
||||||
|
|
||||||
workspace = 01, monitor:DP-1, default:true
|
workspace = 01, monitor:DP-1, default:true
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue