Compare commits
20 Commits
master
...
c49f782e11
| Author | SHA1 | Date | |
|---|---|---|---|
|
c49f782e11
|
|||
|
fd9ee227a6
|
|||
|
55cb613dfe
|
|||
|
5709bf861a
|
|||
|
296312e960
|
|||
| 03f0969ad3 | |||
| efe001f4da | |||
|
9d30ab07fa
|
|||
|
b0c9f8dabf
|
|||
|
d4b24ba000
|
|||
|
f78513db44
|
|||
|
aa3fb4b2ce
|
|||
|
ec6558a6ee
|
|||
|
1a89460348
|
|||
|
79574a4238
|
|||
|
7fc241affc
|
|||
|
37fc953d3a
|
|||
|
f189ff1d40
|
|||
|
258a155c00
|
|||
|
efc3a7fbc8
|
Generated
+117
-90
@@ -7,11 +7,11 @@
|
|||||||
"rust-overlay": "rust-overlay"
|
"rust-overlay": "rust-overlay"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1771029844,
|
"lastModified": 1774186997,
|
||||||
"narHash": "sha256-fY6UGNKCQcYkflnkdzNRbuGNJiavQzokZjMCMVfUgCg=",
|
"narHash": "sha256-hyNVlhAqmwcBPl7XRkxbGcMt1BfCOdvuEfBDUf0k8Oo=",
|
||||||
"owner": "ezKEa",
|
"owner": "ezKEa",
|
||||||
"repo": "aagl-gtk-on-nix",
|
"repo": "aagl-gtk-on-nix",
|
||||||
"rev": "c3b9c0ab9e24d1648ed29040164704a1cd8fa3c9",
|
"rev": "546e95f7ec74892a31f883a10b1723c35f2c2edd",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -60,11 +60,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1762356719,
|
"lastModified": 1772460678,
|
||||||
"narHash": "sha256-qwd/xdoOya1m8FENle+4hWnydCtlXUWLAW/Auk6WL7s=",
|
"narHash": "sha256-NYaWs8fYJ38IgFld0hGSdT2LEVhrgO8SiRReBjIH7YY=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "aquamarine",
|
"repo": "aquamarine",
|
||||||
"rev": "6d0b3567584691bf9d8fedb5d0093309e2f979c7",
|
"rev": "5d2cb726b16ee349df443f84b64cff53221b6983",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -197,15 +197,15 @@
|
|||||||
"flake-compat_2": {
|
"flake-compat_2": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747046372,
|
"lastModified": 1767039857,
|
||||||
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
|
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
|
||||||
"owner": "edolstra",
|
"owner": "NixOS",
|
||||||
"repo": "flake-compat",
|
"repo": "flake-compat",
|
||||||
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
|
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "edolstra",
|
"owner": "NixOS",
|
||||||
"repo": "flake-compat",
|
"repo": "flake-compat",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@@ -313,11 +313,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1771037579,
|
"lastModified": 1774647770,
|
||||||
"narHash": "sha256-NX5XuhGcsmk0oEII2PEtMRgvh2KaAv3/WWQsOpxAgR4=",
|
"narHash": "sha256-UNNi14XiqRWWjO8ykbFwA5wRwx7EscsC+GItOVpuGjc=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "05e6dc0f6ed936f918cb6f0f21f1dad1e4c53150",
|
"rev": "02371c05a04a2876cf92e2d67a259e8f87399068",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -342,11 +342,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1753964049,
|
"lastModified": 1772461003,
|
||||||
"narHash": "sha256-lIqabfBY7z/OANxHoPeIrDJrFyYy9jAM4GQLzZ2feCM=",
|
"narHash": "sha256-pVICsV7FtcEeVwg5y/LFh3XFUkVJninm/P1j/JHzEbM=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprcursor",
|
"repo": "hyprcursor",
|
||||||
"rev": "44e91d467bdad8dcf8bbd2ac7cf49972540980a5",
|
"rev": "b62396457b9cfe2ebf24fe05404b09d2a40f8ed7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -371,11 +371,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1762462052,
|
"lastModified": 1772461523,
|
||||||
"narHash": "sha256-6roLYzcDf4V38RUMSqycsOwAnqfodL6BmhRkUtwIgdA=",
|
"narHash": "sha256-mI6A51do+hEUzeJKk9YSWfVHdI/SEEIBi2tp5Whq5mI=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprgraphics",
|
"repo": "hyprgraphics",
|
||||||
"rev": "ffc999d980c7b3bca85d3ebd0a9fbadf984a8162",
|
"rev": "7d63c04b4a2dd5e59ef943b4b143f46e713df804",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -393,23 +393,24 @@
|
|||||||
"hyprland-protocols": "hyprland-protocols",
|
"hyprland-protocols": "hyprland-protocols",
|
||||||
"hyprlang": "hyprlang",
|
"hyprlang": "hyprlang",
|
||||||
"hyprutils": "hyprutils",
|
"hyprutils": "hyprutils",
|
||||||
"hyprwayland-scanner": "hyprwayland-scanner_2",
|
"hyprwayland-scanner": "hyprwayland-scanner",
|
||||||
|
"hyprwire": "hyprwire",
|
||||||
"nixpkgs": "nixpkgs_4",
|
"nixpkgs": "nixpkgs_4",
|
||||||
"pre-commit-hooks": "pre-commit-hooks",
|
"pre-commit-hooks": "pre-commit-hooks",
|
||||||
"systems": "systems",
|
"systems": "systems",
|
||||||
"xdph": "xdph"
|
"xdph": "xdph"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1762731096,
|
"lastModified": 1773149218,
|
||||||
"narHash": "sha256-Kma5MxOipSBamO6DnwBeqJNjJ+VwEO73zh9h1hs/2Aw=",
|
"narHash": "sha256-m5Ewi+rgn18qPP54Um4O2zwZ02oiomlZssHvXYEUv3U=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "Hyprland",
|
"repo": "Hyprland",
|
||||||
"rev": "967c3c7404d4fa00234e29c70df3e263386d2597",
|
"rev": "59f9f2688ac508a0584d1462151195a6c4992f99",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"ref": "v0.52.1-b",
|
"ref": "v0.54.2-b",
|
||||||
"repo": "Hyprland",
|
"repo": "Hyprland",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@@ -433,6 +434,10 @@
|
|||||||
"hyprland",
|
"hyprland",
|
||||||
"hyprutils"
|
"hyprutils"
|
||||||
],
|
],
|
||||||
|
"hyprwayland-scanner": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprwayland-scanner"
|
||||||
|
],
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"hyprland",
|
"hyprland",
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
@@ -443,11 +448,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1762465111,
|
"lastModified": 1772467975,
|
||||||
"narHash": "sha256-dS13YZdWjgGGLBjpT4FHB6xf8I/WiAU+mgNWXsZgDUs=",
|
"narHash": "sha256-kipyuDBxrZq+beYpZqWzGvFWm4QbayW9agAvi94vDXY=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprland-guiutils",
|
"repo": "hyprland-guiutils",
|
||||||
"rev": "a415eba866a953f3096d661318f771aa0082eb98",
|
"rev": "5e1c6b9025aaf4d578f3eff7c0eb1f0c197a9507",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -473,11 +478,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770899531,
|
"lastModified": 1771865848,
|
||||||
"narHash": "sha256-UBrWjh0DR8db60aLNkTnZTJ9F4kWK0Y7rUDNJC88W7A=",
|
"narHash": "sha256-xwNa+1D8WPsDnJtUofDrtyDCZKZotbUymzV/R5s+M0I=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprland-plugins",
|
"repo": "hyprland-plugins",
|
||||||
"rev": "e03c34ccd51280a44ea6d1f5c040cd81ecca25ed",
|
"rev": "b85a56b9531013c79f2f3846fd6ee2ff014b8960",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -498,11 +503,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1759610243,
|
"lastModified": 1772460177,
|
||||||
"narHash": "sha256-+KEVnKBe8wz+a6dTLq8YDcF3UrhQElwsYJaVaHXJtoI=",
|
"narHash": "sha256-/6G/MsPvtn7bc4Y32pserBT/Z4SUUdBd4XYJpOEKVR4=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprland-protocols",
|
"repo": "hyprland-protocols",
|
||||||
"rev": "bd153e76f751f150a09328dbdeb5e4fab9d23622",
|
"rev": "1cb6db5fd6bb8aee419f4457402fa18293ace917",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -527,11 +532,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1758927902,
|
"lastModified": 1772459629,
|
||||||
"narHash": "sha256-LZgMds7M94+vuMql2bERQ6LiFFdhgsEFezE4Vn+Ys3A=",
|
"narHash": "sha256-/iwvNUYShmmnwmz/czEUh6+0eF5vCMv0xtDW0STPIuM=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprlang",
|
"repo": "hyprlang",
|
||||||
"rev": "4dafa28d4f79877d67a7d1a654cddccf8ebf15da",
|
"rev": "7615ee388de18239a4ab1400946f3d0e498a8186",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -562,7 +567,11 @@
|
|||||||
"hyprland-guiutils",
|
"hyprland-guiutils",
|
||||||
"hyprutils"
|
"hyprutils"
|
||||||
],
|
],
|
||||||
"hyprwayland-scanner": "hyprwayland-scanner",
|
"hyprwayland-scanner": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprland-guiutils",
|
||||||
|
"hyprwayland-scanner"
|
||||||
|
],
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"hyprland",
|
"hyprland",
|
||||||
"hyprland-guiutils",
|
"hyprland-guiutils",
|
||||||
@@ -575,11 +584,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1762463729,
|
"lastModified": 1772462885,
|
||||||
"narHash": "sha256-2fYkU/mdz8WKY3dkDPlE/j6hTxIwqultsx4gMMsMns0=",
|
"narHash": "sha256-5pHXrQK9zasMnIo6yME6EOXmWGFMSnCITcfKshhKJ9I=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprtoolkit",
|
"repo": "hyprtoolkit",
|
||||||
"rev": "88483bdee5329ec985f0c8f834c519cd18cfe532",
|
"rev": "9af245a69fa6b286b88ddfc340afd288e00a6998",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -600,11 +609,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1762387740,
|
"lastModified": 1772459870,
|
||||||
"narHash": "sha256-gQ9zJ+pUI4o+Gh4Z6jhJll7jjCSwi8ZqJIhCE2oqwhQ=",
|
"narHash": "sha256-xxkK2Cvqxpf/4UGcJ/TyCwrvmiNWsKsJfFzHMp2bxis=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprutils",
|
"repo": "hyprutils",
|
||||||
"rev": "926689ddb9c0a8787e58c02c765a62e32d63d1f7",
|
"rev": "e63f3a79334dec49f8eb1691f66f18115df04085",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -617,23 +626,19 @@
|
|||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"hyprland",
|
"hyprland",
|
||||||
"hyprland-guiutils",
|
|
||||||
"hyprtoolkit",
|
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
"systems": [
|
"systems": [
|
||||||
"hyprland",
|
"hyprland",
|
||||||
"hyprland-guiutils",
|
|
||||||
"hyprtoolkit",
|
|
||||||
"systems"
|
"systems"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1755184602,
|
"lastModified": 1772459835,
|
||||||
"narHash": "sha256-RCBQN8xuADB0LEgaKbfRqwm6CdyopE1xIEhNc67FAbw=",
|
"narHash": "sha256-978jRz/y/9TKmZb/qD4lEYHCQGHpEXGqy+8X2lFZsak=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprwayland-scanner",
|
"repo": "hyprwayland-scanner",
|
||||||
"rev": "b3b0f1f40ae09d4447c20608e5a4faf8bf3c492d",
|
"rev": "0a692d4a645165eebd65f109146b8861e3a925e7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -642,8 +647,12 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"hyprwayland-scanner_2": {
|
"hyprwire": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"hyprutils": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprutils"
|
||||||
|
],
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"hyprland",
|
"hyprland",
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
@@ -654,16 +663,16 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1755184602,
|
"lastModified": 1772463520,
|
||||||
"narHash": "sha256-RCBQN8xuADB0LEgaKbfRqwm6CdyopE1xIEhNc67FAbw=",
|
"narHash": "sha256-GIjASzYnV4fK19HnyJKmHyqyxHxIpjusK9foEA4Yo+4=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprwayland-scanner",
|
"repo": "hyprwire",
|
||||||
"rev": "b3b0f1f40ae09d4447c20608e5a4faf8bf3c492d",
|
"rev": "4e1933ae5602b350c5b6633f5c932549c9b8aca2",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprwayland-scanner",
|
"repo": "hyprwire",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -701,11 +710,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770770419,
|
"lastModified": 1774388614,
|
||||||
"narHash": "sha256-iKZMkr6Cm9JzWlRYW/VPoL0A9jVKtZYiU4zSrVeetIs=",
|
"narHash": "sha256-tFwzTI0DdDzovdE9+Ras6CUss0yn8P9XV4Ja6RjA+nU=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "6c5e707c6b5339359a9a9e215c5e66d6d802fd7a",
|
"rev": "1073dad219cb244572b74da2b20c7fe39cb3fa9e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -749,11 +758,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1762363567,
|
"lastModified": 1772542754,
|
||||||
"narHash": "sha256-YRqMDEtSMbitIMj+JLpheSz0pwEr0Rmy5mC7myl17xs=",
|
"narHash": "sha256-WGV2hy+VIeQsYXpsLjdr4GvHv5eECMISX1zKLTedhdg=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "ae814fd3904b621d8ab97418f1d0f2eb0d3716f4",
|
"rev": "8c809a146a140c5c8806f13399592dbcb1bb5dc4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -765,11 +774,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_5": {
|
"nixpkgs_5": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1771008912,
|
"lastModified": 1774386573,
|
||||||
"narHash": "sha256-gf2AmWVTs8lEq7z/3ZAsgnZDhWIckkb+ZnAo5RzSxJg=",
|
"narHash": "sha256-4hAV26quOxdC6iyG7kYaZcM3VOskcPUrdCQd/nx8obc=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "a82ccc39b39b621151d6732718e3e250109076fa",
|
"rev": "46db2e09e1d3f113a13c0d7b81e2f221c63b8ce9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -781,11 +790,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_6": {
|
"nixpkgs_6": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770380644,
|
"lastModified": 1773840656,
|
||||||
"narHash": "sha256-P7dWMHRUWG5m4G+06jDyThXO7kwSk46C1kgjEWcybkE=",
|
"narHash": "sha256-9tpvMGFteZnd3gRQZFlRCohVpqooygFuy9yjuyRL2C0=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "ae67888ff7ef9dff69b3cf0cc0fbfbcd3a722abe",
|
"rev": "9cf7092bdd603554bd8b63c216e8943cf9b12512",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -813,11 +822,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_8": {
|
"nixpkgs_8": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1768875095,
|
"lastModified": 1772419343,
|
||||||
"narHash": "sha256-dYP3DjiL7oIiiq3H65tGIXXIT1Waiadmv93JS0sS+8A=",
|
"narHash": "sha256-QU3Cd5DJH7dHyMnGEFfPcZDaCAsJQ6tUD+JuUsYqnKU=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "ed142ab1b3a092c4d149245d0c4126a5d7ea00b0",
|
"rev": "93178f6a00c22fcdee1c6f5f9ab92f2072072ea9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -862,11 +871,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1762441963,
|
"lastModified": 1772024342,
|
||||||
"narHash": "sha256-j+rNQ119ffYUkYt2YYS6rnd6Jh/crMZmbqpkGLXaEt0=",
|
"narHash": "sha256-+eXlIc4/7dE6EcPs9a2DaSY3fTA9AE526hGqkNID3Wg=",
|
||||||
"owner": "cachix",
|
"owner": "cachix",
|
||||||
"repo": "git-hooks.nix",
|
"repo": "git-hooks.nix",
|
||||||
"rev": "8e7576e79b88c16d7ee3bbd112c8d90070832885",
|
"rev": "6e34e97ed9788b17796ee43ccdbaf871a5c2b476",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -885,11 +894,29 @@
|
|||||||
"nixpkgs": "nixpkgs_5",
|
"nixpkgs": "nixpkgs_5",
|
||||||
"nixpkgs-pinned": "nixpkgs-pinned",
|
"nixpkgs-pinned": "nixpkgs-pinned",
|
||||||
"nixpkgs-stable": "nixpkgs-stable",
|
"nixpkgs-stable": "nixpkgs-stable",
|
||||||
|
"russia-blocked-geoip": "russia-blocked-geoip",
|
||||||
"sops-nix": "sops-nix",
|
"sops-nix": "sops-nix",
|
||||||
"stylix": "stylix",
|
"stylix": "stylix",
|
||||||
"yazi": "yazi"
|
"yazi": "yazi"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"russia-blocked-geoip": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1774691120,
|
||||||
|
"narHash": "sha256-iy2Uvqrr/7nOLznDNdyV5T5aee7Y+3nMNmoGIjpeUFE=",
|
||||||
|
"owner": "runetfreedom",
|
||||||
|
"repo": "russia-blocked-geoip",
|
||||||
|
"rev": "433641f6807cdaa56c731125b5a367da512987e4",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "runetfreedom",
|
||||||
|
"ref": "release",
|
||||||
|
"repo": "russia-blocked-geoip",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"rust-overlay": {
|
"rust-overlay": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_2"
|
"nixpkgs": "nixpkgs_2"
|
||||||
@@ -916,11 +943,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1769091129,
|
"lastModified": 1772420823,
|
||||||
"narHash": "sha256-Jj/vIHjiu4OdDIrDXZ3xOPCJrMZZKzhE2UIVXV/NYzY=",
|
"narHash": "sha256-q3oVwz1Rx41D1D+F6vg41kpOkk3Zi3KwnkHEZp7DCGs=",
|
||||||
"owner": "oxalica",
|
"owner": "oxalica",
|
||||||
"repo": "rust-overlay",
|
"repo": "rust-overlay",
|
||||||
"rev": "131e22d6a6d54ab72aeef6a5a661ab7005b4c596",
|
"rev": "458eea8d905c609e9d889423e6b8a1c7bc2f792c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -934,11 +961,11 @@
|
|||||||
"nixpkgs": "nixpkgs_6"
|
"nixpkgs": "nixpkgs_6"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770683991,
|
"lastModified": 1774303811,
|
||||||
"narHash": "sha256-xVfPvXDf9QN3Eh9dV+Lw6IkWG42KSuQ1u2260HKvpnc=",
|
"narHash": "sha256-fhG4JAcLgjKwt+XHbjs8brpWnyKUfU4LikLm3s0Q/ic=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "8b89f44c2cc4581e402111d928869fe7ba9f7033",
|
"rev": "614e256310e0a4f8a9ccae3fa80c11844fba7042",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -966,11 +993,11 @@
|
|||||||
"tinted-zed": "tinted-zed"
|
"tinted-zed": "tinted-zed"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770914701,
|
"lastModified": 1774124764,
|
||||||
"narHash": "sha256-QHFYyngohNhih4w+3IqQty5DV+p1txsx1kkk6XJWar8=",
|
"narHash": "sha256-Poz9WTjiRlqZIf197CrMMJfTifZhrZpbHFv0eU1Nhtg=",
|
||||||
"owner": "danth",
|
"owner": "danth",
|
||||||
"repo": "stylix",
|
"repo": "stylix",
|
||||||
"rev": "db03fed72e5ca02be34e1d24789345a943329738",
|
"rev": "e31c79f571c5595a155f84b9d77ce53a84745494",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -1133,11 +1160,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1761431178,
|
"lastModified": 1772476586,
|
||||||
"narHash": "sha256-xzjC1CV3+wpUQKNF+GnadnkeGUCJX+vgaWIZsnz9tzI=",
|
"narHash": "sha256-N/ZwsRLULLpBP5ecvAUzNq8E/CgLRwPwSrHyY3xB5KM=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "xdg-desktop-portal-hyprland",
|
"repo": "xdg-desktop-portal-hyprland",
|
||||||
"rev": "4b8801228ff958d028f588f0c2b911dbf32297f9",
|
"rev": "eb6c02a2ead882f3474f3d7f2fbe966b64ed5110",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -1153,11 +1180,11 @@
|
|||||||
"rust-overlay": "rust-overlay_2"
|
"rust-overlay": "rust-overlay_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770959024,
|
"lastModified": 1774567340,
|
||||||
"narHash": "sha256-r2fZFW+xZxEdyORsAipCrnuxQblGGldtZcx0iSQI1ZQ=",
|
"narHash": "sha256-skKD1hvAvilKkK406RgNl6X/YJgkSsoZmtHmdfeoyWI=",
|
||||||
"owner": "sxyazi",
|
"owner": "sxyazi",
|
||||||
"repo": "yazi",
|
"repo": "yazi",
|
||||||
"rev": "13bdb164a473091b46e857d37599e7e1ae22665e",
|
"rev": "935eb6b2989f8a7ce219a2a71a539365c8dccfbb",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
ags.url = "github:Aylur/ags/3ed9737bdbc8fc7a7c7ceef2165c9109f336bff6";
|
ags.url = "github:Aylur/ags/3ed9737bdbc8fc7a7c7ceef2165c9109f336bff6";
|
||||||
yazi.url = "github:sxyazi/yazi";
|
yazi.url = "github:sxyazi/yazi";
|
||||||
|
|
||||||
hyprland.url = "github:hyprwm/Hyprland/v0.52.1-b";
|
hyprland.url = "github:hyprwm/Hyprland/v0.54.2-b";
|
||||||
hyprland-plugins = {
|
hyprland-plugins = {
|
||||||
url = "github:hyprwm/hyprland-plugins";
|
url = "github:hyprwm/hyprland-plugins";
|
||||||
inputs.hyprland.follows = "hyprland";
|
inputs.hyprland.follows = "hyprland";
|
||||||
@@ -38,6 +38,11 @@
|
|||||||
url = "github:nix-community/home-manager";
|
url = "github:nix-community/home-manager";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
russia-blocked-geoip = {
|
||||||
|
url = "github:runetfreedom/russia-blocked-geoip/release";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, nixpkgs-stable, nixpkgs-pinned, home-manager, ... }@inputs: let
|
outputs = { self, nixpkgs, nixpkgs-stable, nixpkgs-pinned, home-manager, ... }@inputs: let
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,15 @@
|
|||||||
|
{ pkgs, lib, ... }: {
|
||||||
|
wayland.windowManager.hyprland = let
|
||||||
|
wallpaper = pkgs.fetchurl {
|
||||||
|
name = "miku_wallpaper.jpg";
|
||||||
|
url = "https://c.lair.moe/pub/miku_wallpaper.jpeg?raw";
|
||||||
|
hash = "sha256-inK4X5KzQk5FHwDw2DYy43nm7XtXlC6I0S1PkYUv+3w=";
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
settings = {
|
||||||
|
exec-once = [
|
||||||
|
"${lib.getExe pkgs.swww} img -o eDP-1 ${wallpaper}"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -39,6 +39,11 @@
|
|||||||
''$mainMod, F2, exec, ${lib.getExe monitor-switcher} mirror''
|
''$mainMod, F2, exec, ${lib.getExe monitor-switcher} mirror''
|
||||||
''$mainMod, F3, exec, ${lib.getExe monitor-switcher}''
|
''$mainMod, F3, exec, ${lib.getExe monitor-switcher}''
|
||||||
];
|
];
|
||||||
|
|
||||||
|
workspace = [
|
||||||
|
"2, layout:scrolling"
|
||||||
|
"4, layout:monocle"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
File diff suppressed because one or more lines are too long
@@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
hardware.bluetooth.enable = true;
|
hardware.bluetooth.enable = true;
|
||||||
host.laptop = true;
|
host.laptop = true;
|
||||||
|
host.nvidia.prime.enable = true;
|
||||||
|
|
||||||
environment.systemPackages = [ pkgs.dbgate ];
|
environment.systemPackages = [ pkgs.dbgate ];
|
||||||
}
|
}
|
||||||
|
|||||||
+18
-2
@@ -7,7 +7,23 @@
|
|||||||
];
|
];
|
||||||
|
|
||||||
options = {
|
options = {
|
||||||
host.laptop = lib.mkEnableOption "laptop mode";
|
host = {
|
||||||
|
laptop = lib.mkEnableOption "laptop mode";
|
||||||
|
|
||||||
|
nvidia.prime = {
|
||||||
|
enable = lib.mkEnableOption "NVIDIA PRIME offload for hybrid graphics";
|
||||||
|
intelBusId = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = "PCI:0:2:0";
|
||||||
|
description = "Intel/iGPU Bus ID used by NVIDIA PRIME.";
|
||||||
|
};
|
||||||
|
nvidiaBusId = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = "PCI:1:0:0";
|
||||||
|
description = "NVIDIA dGPU Bus ID used by NVIDIA PRIME.";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
@@ -22,4 +38,4 @@
|
|||||||
i18n.defaultLocale = lib.mkDefault "ru_RU.UTF-8";
|
i18n.defaultLocale = lib.mkDefault "ru_RU.UTF-8";
|
||||||
system.stateVersion = "23.05";
|
system.stateVersion = "23.05";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
+27
-10
@@ -1,6 +1,16 @@
|
|||||||
{ config, pkgs-stable, lib, ... }: {
|
{ config, pkgs-stable, lib, ... }: let
|
||||||
boot.kernelParams = [ "nvidia-drm.modeset=1" ];
|
primeCfg = config.host.nvidia.prime;
|
||||||
services.xserver.videoDrivers = [ "nvidia" ];
|
isPrimeOffload = primeCfg.enable;
|
||||||
|
in {
|
||||||
|
boot = {
|
||||||
|
kernelParams = [ "nvidia-drm.modeset=1" ];
|
||||||
|
initrd.kernelModules = lib.optionals isPrimeOffload [ "i915" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
services.xserver.videoDrivers =
|
||||||
|
if isPrimeOffload
|
||||||
|
then [ "modesetting" "nvidia" ]
|
||||||
|
else [ "nvidia" ];
|
||||||
|
|
||||||
hardware = {
|
hardware = {
|
||||||
graphics = {
|
graphics = {
|
||||||
@@ -11,7 +21,7 @@
|
|||||||
intel-media-driver
|
intel-media-driver
|
||||||
libvdpau-va-gl
|
libvdpau-va-gl
|
||||||
];
|
];
|
||||||
extraPackages32 = with pkgs-stable.pkgsi686Linux; [nvidia-vaapi-driver intel-media-driver];
|
extraPackages32 = with pkgs-stable.pkgsi686Linux; [ nvidia-vaapi-driver intel-media-driver ];
|
||||||
};
|
};
|
||||||
|
|
||||||
nvidia = {
|
nvidia = {
|
||||||
@@ -24,21 +34,28 @@
|
|||||||
nvidiaSettings = true;
|
nvidiaSettings = true;
|
||||||
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||||
|
|
||||||
prime = lib.optionalAttrs config.host.laptop {
|
prime = lib.optionalAttrs isPrimeOffload {
|
||||||
intelBusId = "PCI:0:2:0";
|
offload = {
|
||||||
nvidiaBusId = "PCI:1:0:0";
|
enable = true;
|
||||||
|
enableOffloadCmd = true;
|
||||||
|
};
|
||||||
|
intelBusId = primeCfg.intelBusId;
|
||||||
|
nvidiaBusId = primeCfg.nvidiaBusId;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.sessionVariables = {
|
environment.sessionVariables = {
|
||||||
|
__GL_VRR_ALLOWED = 1;
|
||||||
|
ELECTRON_OZONE_PLATFORM_HINT = "auto";
|
||||||
|
NIXOS_OZONE_WL = 1;
|
||||||
|
} // lib.optionalAttrs isPrimeOffload {
|
||||||
|
LIBVA_DRIVER_NAME = "iHD";
|
||||||
|
} // lib.optionalAttrs (!isPrimeOffload) {
|
||||||
WLR_NO_HARDWARE_CURSORS = 1;
|
WLR_NO_HARDWARE_CURSORS = 1;
|
||||||
WLR_DRM_NO_ATOMIC = 1;
|
WLR_DRM_NO_ATOMIC = 1;
|
||||||
GBM_BACKEND = "nvidia-drm";
|
GBM_BACKEND = "nvidia-drm";
|
||||||
LIBVA_DRIVER_NAME = "nvidia";
|
LIBVA_DRIVER_NAME = "nvidia";
|
||||||
__GLX_VENDOR_LIBRARY_NAME = "nvidia";
|
__GLX_VENDOR_LIBRARY_NAME = "nvidia";
|
||||||
__GL_VRR_ALLOWED = 1;
|
|
||||||
ELECTRON_OZONE_PLATFORM_HINT = "auto";
|
|
||||||
NIXOS_OZONE_WL = 1;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{ pkgs, ... }: {
|
{
|
||||||
console = {
|
console = {
|
||||||
font = "${pkgs.kbd}/share/consolefonts/LatArCyrHeb-19.psfu.gz";
|
font = "LatArCyrHeb-19";
|
||||||
colors = [
|
colors = [
|
||||||
"16161E"
|
"16161E"
|
||||||
"1A1B26"
|
"1A1B26"
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ config, pkgs, lib, ... }:
|
{ config, pkgs, pkgs-stable, lib, ... }:
|
||||||
|
|
||||||
lib.mkIf config.programs.gamemode.enable {
|
lib.mkIf config.programs.gamemode.enable {
|
||||||
programs.steam = {
|
programs.steam = {
|
||||||
@@ -10,7 +10,7 @@ lib.mkIf config.programs.gamemode.enable {
|
|||||||
mangohud
|
mangohud
|
||||||
protonup-ng
|
protonup-ng
|
||||||
bottles
|
bottles
|
||||||
heroic
|
pkgs-stable.heroic
|
||||||
prismlauncher
|
prismlauncher
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, config, ... }: {
|
{ inputs, pkgs, config, ... }: {
|
||||||
systemd.services.v2raya = {
|
systemd.services.v2raya = {
|
||||||
enable = true;
|
enable = true;
|
||||||
description = "v2rayA gui client";
|
description = "v2rayA gui client";
|
||||||
@@ -11,18 +11,14 @@
|
|||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
environment = {
|
environment = {
|
||||||
V2RAYA_LOG_FILE = "/var/log/v2raya/v2raya.log";
|
V2RAYA_LOG_FILE = "/var/log/v2raya/v2raya.log";
|
||||||
|
V2RAYA_V2RAY_BIN = pkgs.lib.getExe pkgs.xray;
|
||||||
V2RAY_LOCATION_ASSET = "/etc/v2raya";
|
V2RAY_LOCATION_ASSET = "/etc/v2raya";
|
||||||
XRAY_LOCATION_ASSET = "/etc/v2raya";
|
XRAY_LOCATION_ASSET = "/etc/v2raya";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.etc = {
|
environment.etc = {
|
||||||
"v2raya/ru_geoip.dat".source = pkgs.fetchurl {
|
"v2raya/ru_geoip.dat".source = "${inputs.russia-blocked-geoip}/geoip.dat";
|
||||||
name = "geoip.dat";
|
|
||||||
url = "https://github.com/runetfreedom/russia-blocked-geoip/releases/download/202602271541/geoip.dat";
|
|
||||||
hash = "sha256-j+Cjq8OeZFWTyb+QvXTbWDoLaVHPcqQLNSc5Y+p5c/8=";
|
|
||||||
};
|
|
||||||
|
|
||||||
"v2raya/bolt.db".source = config.sops.secrets.vpn_bolt.path;
|
"v2raya/bolt.db".source = config.sops.secrets.vpn_bolt.path;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,40 @@
|
|||||||
|
{ pkgs, inputs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# Важно: портал должен быть собран под тот же Hyprland, что и сам Hyprland
|
||||||
|
# (есть отдельная опция именно для этого).
|
||||||
|
programs.hyprland = {
|
||||||
|
package = inputs.hyprland.packages.${pkgs.system}.hyprland;
|
||||||
|
portalPackage = inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland;
|
||||||
|
};
|
||||||
|
|
||||||
|
xdg.portal = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
# Делает так, что xdg-open идёт через портал (часто полезно для sandbox/FHS/wrappers).
|
||||||
|
# Опция есть в NixOS как xdg.portal.xdgOpenUsePortal :contentReference[oaicite:2]{index=2}
|
||||||
|
xdgOpenUsePortal = true;
|
||||||
|
|
||||||
|
# Два бэкенда: Hyprland (композитор-специфичное) + GTK (интеграция/диалоги/OpenURI)
|
||||||
|
extraPortals = [
|
||||||
|
inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland
|
||||||
|
pkgs.xdg-desktop-portal-gtk
|
||||||
|
];
|
||||||
|
|
||||||
|
# Роутинг интерфейсов по portals.conf(5):
|
||||||
|
# xdg-desktop-portal выбирает конфиг по XDG_CURRENT_DESKTOP (с lower-case) :contentReference[oaicite:3]{index=3}
|
||||||
|
config = {
|
||||||
|
common = {
|
||||||
|
default = [ "gtk" ];
|
||||||
|
"org.freedesktop.impl.portal.FileChooser" = [ "gtk" ];
|
||||||
|
"org.freedesktop.impl.portal.ScreenCast" = [ "hyprland" ];
|
||||||
|
"org.freedesktop.impl.portal.Screenshot" = [ "hyprland" ];
|
||||||
|
"org.freedesktop.impl.portal.GlobalShortcuts" = [ "hyprland" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Если XDG_CURRENT_DESKTOP=Hyprland присутствует — предпочитаем Hyprland,
|
||||||
|
# но оставляем gtk как fallback для интерфейсов, которых нет у hyprland-портала.
|
||||||
|
hyprland.default = [ "hyprland" "gtk" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
+1
-2
@@ -1,6 +1,5 @@
|
|||||||
{ config, lib, ... }: {
|
{ config, lib, ... }: {
|
||||||
imports = [
|
imports = [
|
||||||
./user/ags.nix
|
|
||||||
./user/btop.nix
|
./user/btop.nix
|
||||||
./user/fuzzel.nix
|
./user/fuzzel.nix
|
||||||
./user/ghostty.nix
|
./user/ghostty.nix
|
||||||
@@ -11,12 +10,12 @@
|
|||||||
./user/neofetch.nix
|
./user/neofetch.nix
|
||||||
./user/qt.nix
|
./user/qt.nix
|
||||||
./user/sops.nix
|
./user/sops.nix
|
||||||
|
./user/ssh.nix
|
||||||
./user/yazi.nix
|
./user/yazi.nix
|
||||||
./user/zsh.nix
|
./user/zsh.nix
|
||||||
|
|
||||||
./user/packages/art.nix
|
./user/packages/art.nix
|
||||||
./user/packages/desktop.nix
|
./user/packages/desktop.nix
|
||||||
./user/packages/coding.nix
|
|
||||||
./user/packages/utils.nix
|
./user/packages/utils.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
+29
-11
@@ -2,7 +2,9 @@
|
|||||||
optImport = path: lib.optional (builtins.pathExists path) path;
|
optImport = path: lib.optional (builtins.pathExists path) path;
|
||||||
hostname = osConfig.networking.hostName;
|
hostname = osConfig.networking.hostName;
|
||||||
in {
|
in {
|
||||||
imports =
|
imports = [
|
||||||
|
./hyprland/zoom.nix
|
||||||
|
] ++
|
||||||
optImport ../../host/${hostname}/modules/hyprland.nix ++
|
optImport ../../host/${hostname}/modules/hyprland.nix ++
|
||||||
optImport ../../user/${username}/modules/hyprland.nix;
|
optImport ../../user/${username}/modules/hyprland.nix;
|
||||||
|
|
||||||
@@ -54,6 +56,13 @@ in {
|
|||||||
enable_stdout_logs = true;
|
enable_stdout_logs = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
general = {
|
||||||
|
"col.inactive_border" = lib.mkForce "rgba(00000000)";
|
||||||
|
};
|
||||||
|
|
||||||
|
decoration.inactive_opacity = lib.mkDefault .95;
|
||||||
|
decoration.border_part_of_window = false;
|
||||||
|
|
||||||
misc = {
|
misc = {
|
||||||
focus_on_activate = true;
|
focus_on_activate = true;
|
||||||
};
|
};
|
||||||
@@ -82,16 +91,24 @@ in {
|
|||||||
"3, horizontal, workspace"
|
"3, horizontal, workspace"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
workspace = [
|
||||||
|
"w[t1], gapsout:0"
|
||||||
|
];
|
||||||
|
|
||||||
windowrule = [
|
windowrule = [
|
||||||
"float, class:^(imv)$"
|
"match:class imv, float 1"
|
||||||
"float, class:^(feh)$"
|
"match:class feh, float 1"
|
||||||
"float, class:^(mpv)$"
|
"match:class mpv, float 1"
|
||||||
"float, title:^(Список друзей)"
|
|
||||||
"move onscreen cursor -50% -50%, class:^(dragon-drop)$"
|
"match:title Список друзей, float 1"
|
||||||
"float, title:(nmtui)"
|
"match:title nmtui, float 1"
|
||||||
"float, title:(pulsemixer)"
|
"match:title pulsemixer, float 1"
|
||||||
"float, title:(clipse)"
|
|
||||||
"size 622 652, title:(clipse)"
|
"match:title clipse, float 1"
|
||||||
|
"match:title clipse, size 622 652"
|
||||||
|
|
||||||
|
"match:focus 1, rounding 0"
|
||||||
|
"match:float 0, match:workspace w[t1], border_size 0"
|
||||||
];
|
];
|
||||||
|
|
||||||
exec-once = lib.mkBefore [
|
exec-once = lib.mkBefore [
|
||||||
@@ -112,7 +129,8 @@ in {
|
|||||||
"$mainMod, F, togglefloating,"
|
"$mainMod, F, togglefloating,"
|
||||||
"$mainMod, D, exec, fuzzel"
|
"$mainMod, D, exec, fuzzel"
|
||||||
"$mainMod, P, pseudo, # dwindle"
|
"$mainMod, P, pseudo, # dwindle"
|
||||||
"$mainMod, J, togglesplit, # dwindle"
|
"$mainMod, J, layoutmsg, togglesplit"
|
||||||
|
"$mainMod, K, layoutmsg, swapsplit"
|
||||||
|
|
||||||
# Move focus with mainMod + arrow keys
|
# Move focus with mainMod + arrow keys
|
||||||
"$mainMod, left, movefocus, l"
|
"$mainMod, left, movefocus, l"
|
||||||
|
|||||||
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
wayland.windowManager.hyprland.settings = {
|
||||||
|
bind = [
|
||||||
|
# "$mainMod, mouse_down, exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor -j | jq '.float * 1.1')"
|
||||||
|
# "$mainMod, mouse_up , exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor -j | jq '(.float * 0.9) | if . < 1 then 1 else . end')"
|
||||||
|
|
||||||
|
"$mainMod SHIFT, mouse_up , exec, hyprctl -q keyword cursor:zoom_factor 1"
|
||||||
|
"$mainMod SHIFT, mouse_down , exec, hyprctl -q keyword cursor:zoom_factor 1"
|
||||||
|
"$mainMod SHIFT, minus , exec, hyprctl -q keyword cursor:zoom_factor 1"
|
||||||
|
"$mainMod SHIFT, KP_SUBTRACT, exec, hyprctl -q keyword cursor:zoom_factor 1"
|
||||||
|
"$mainMod SHIFT, 0 , exec, hyprctl -q keyword cursor:zoom_factor 1"
|
||||||
|
];
|
||||||
|
|
||||||
|
binde = [
|
||||||
|
"$mainMod, equal , exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor -j | jq '.float * 1.1')"
|
||||||
|
"$mainMod, minus , exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor -j | jq '(.float * 0.9) | if . < 1 then 1 else . end')"
|
||||||
|
"$mainMod, KP_ADD , exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor -j | jq '.float * 1.1')"
|
||||||
|
"$mainMod, KP_SUBTRACT, exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor -j | jq '(.float * 0.9) | if . < 1 then 1 else . end')"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
{ pkgs, ... }: {
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
jetbrains.idea-oss
|
|
||||||
android-studio
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -4,6 +4,7 @@
|
|||||||
vesktop
|
vesktop
|
||||||
obs-studio
|
obs-studio
|
||||||
mpv
|
mpv
|
||||||
|
imhex
|
||||||
obsidian
|
obsidian
|
||||||
qbittorrent
|
qbittorrent
|
||||||
thunderbird
|
thunderbird
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
programs.ssh = {
|
||||||
|
enable = true;
|
||||||
|
enableDefaultConfig = false;
|
||||||
|
matchBlocks = {
|
||||||
|
"*" = {
|
||||||
|
serverAliveInterval = 30;
|
||||||
|
serverAliveCountMax = 5;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -3,6 +3,10 @@
|
|||||||
( ouch.override { enableUnfree = true; } )
|
( ouch.override { enableUnfree = true; } )
|
||||||
];
|
];
|
||||||
|
|
||||||
|
wayland.windowManager.hyprland.settings.windowrule = [
|
||||||
|
"match:class dragon-drop, move cursor_x-window_w/2 cursor_y-window_h/2"
|
||||||
|
];
|
||||||
|
|
||||||
programs.yazi = {
|
programs.yazi = {
|
||||||
package = inputs.yazi.packages
|
package = inputs.yazi.packages
|
||||||
.${pkgs.stdenv.hostPlatform.system}.default
|
.${pkgs.stdenv.hostPlatform.system}.default
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
{ config, pkgs, ... }: {
|
{ config, osConfig, pkgs, lib, ... }: {
|
||||||
home.packages = [ pkgs.nh ];
|
home.packages = [ pkgs.nh ];
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
zoxide.enable = true;
|
zoxide.enable = true;
|
||||||
fzf.enable = true;
|
fzf.enable = true;
|
||||||
@@ -36,7 +37,10 @@
|
|||||||
read_only = " RO";
|
read_only = " RO";
|
||||||
};
|
};
|
||||||
nix_shell.format = "[nix-shell]($style) ";
|
nix_shell.format = "[nix-shell]($style) ";
|
||||||
os.disabled = false;
|
os = {
|
||||||
|
disabled = false;
|
||||||
|
style = "white";
|
||||||
|
};
|
||||||
python = {
|
python = {
|
||||||
symbol = "py ";
|
symbol = "py ";
|
||||||
python_binary = ["python3" "python"];
|
python_binary = ["python3" "python"];
|
||||||
@@ -62,11 +66,12 @@
|
|||||||
cd = "z";
|
cd = "z";
|
||||||
lg = "lazygit";
|
lg = "lazygit";
|
||||||
s = "nix-shell . --run zsh";
|
s = "nix-shell . --run zsh";
|
||||||
|
} // lib.optionalAttrs osConfig.boot.loader.grub.useOSProber {
|
||||||
|
win = "sudo grub-reboot 2; sudo reboot";
|
||||||
};
|
};
|
||||||
|
|
||||||
initContent = ''
|
initContent = /*bash*/ ''
|
||||||
eval "$(zoxide init zsh)"
|
eval "$(zoxide init zsh)"
|
||||||
eval "$(nh completions zsh)"
|
|
||||||
source "$(fzf-share)/key-bindings.zsh"
|
source "$(fzf-share)/key-bindings.zsh"
|
||||||
source "$(fzf-share)/completion.zsh"
|
source "$(fzf-share)/completion.zsh"
|
||||||
'';
|
'';
|
||||||
|
|||||||
+1
-2
@@ -2,11 +2,10 @@
|
|||||||
imports = [
|
imports = [
|
||||||
../../modules/user/packages/cs_utils.nix
|
../../modules/user/packages/cs_utils.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
disabledModules = [
|
disabledModules = [
|
||||||
../../modules/user/packages/art.nix
|
../../modules/user/packages/art.nix
|
||||||
../../modules/user/packages/coding.nix
|
|
||||||
];
|
];
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
nautilus
|
nautilus
|
||||||
python3
|
python3
|
||||||
|
|||||||
@@ -0,0 +1,321 @@
|
|||||||
|
{ osConfig, config, pkgs, lib, ... }: {
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
font-awesome
|
||||||
|
nerd-fonts.symbols-only
|
||||||
|
playerctl
|
||||||
|
cava
|
||||||
|
pulsemixer
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.waybar = {
|
||||||
|
enable = true;
|
||||||
|
systemd.enable = true;
|
||||||
|
|
||||||
|
settings.mainBar = {
|
||||||
|
modules-center = [
|
||||||
|
"group/left"
|
||||||
|
"group/center"
|
||||||
|
"group/right"
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
"group/left" = {
|
||||||
|
orientation = "inherit";
|
||||||
|
modules = [
|
||||||
|
"hyprland/workspaces"
|
||||||
|
"custom/sep-left"
|
||||||
|
"hyprland/language"
|
||||||
|
"keyboard-state"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
"group/center" = {
|
||||||
|
orientation = "inherit";
|
||||||
|
modules = [
|
||||||
|
"cava"
|
||||||
|
"mpris"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
"group/right" = {
|
||||||
|
orientation = "inherit";
|
||||||
|
modules = [
|
||||||
|
"tray"
|
||||||
|
"custom/sep-left"
|
||||||
|
"group/system"
|
||||||
|
"custom/sep-left"
|
||||||
|
"pulseaudio"
|
||||||
|
"custom/sep-left"
|
||||||
|
"battery"
|
||||||
|
"clock"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
cava = {
|
||||||
|
bars = 9;
|
||||||
|
bar_delimiter = 0;
|
||||||
|
stereo = false;
|
||||||
|
input_delay = 0;
|
||||||
|
format-icons = [" " "▁" "▂" "▃" "▄" "▅" "▆" "▇" "█"];
|
||||||
|
};
|
||||||
|
|
||||||
|
clock = {
|
||||||
|
tooltip = false;
|
||||||
|
interval = 5;
|
||||||
|
format = "{:L%d %b - %H:%M %a}";
|
||||||
|
};
|
||||||
|
|
||||||
|
pulseaudio = {
|
||||||
|
format = "{icon} {volume}%";
|
||||||
|
format-icons = {
|
||||||
|
headphone = "";
|
||||||
|
hands-free = "";
|
||||||
|
headset = "";
|
||||||
|
phone = "";
|
||||||
|
phone-muted = "";
|
||||||
|
portable = "";
|
||||||
|
car = "";
|
||||||
|
default = ["" ""];
|
||||||
|
};
|
||||||
|
on-click = "ghostty --title=pulsemixer -e pulsemixer";
|
||||||
|
};
|
||||||
|
|
||||||
|
mpris = {
|
||||||
|
format = "{dynamic}";
|
||||||
|
dynamic-len = if osConfig.host.laptop then 16 else 32;
|
||||||
|
dynamic-order = [ "title" "artist" "album" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
battery = {
|
||||||
|
interval = 5;
|
||||||
|
states = {
|
||||||
|
warning = 30;
|
||||||
|
critical = 15;
|
||||||
|
};
|
||||||
|
format = "{icon} {capacity}% | ";
|
||||||
|
format-icons = {
|
||||||
|
default = ["" "" "" "" "" "" "" "" "" "" ""];
|
||||||
|
charging = ["" "" "" "" "" "" "" "" "" "" ""];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
"custom/sep-left" = {
|
||||||
|
format = " | ";
|
||||||
|
tooltip = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
"keyboard-state" = {
|
||||||
|
capslock = true;
|
||||||
|
format = "{icon}";
|
||||||
|
format-icons = {
|
||||||
|
locked = "CAPS";
|
||||||
|
unlocked = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
"hyprland/language" = {
|
||||||
|
format-en = "en";
|
||||||
|
format-ru = "ru";
|
||||||
|
};
|
||||||
|
|
||||||
|
"group/system" = {
|
||||||
|
orientation = "inherit";
|
||||||
|
drawer = {
|
||||||
|
transition-duration = 500;
|
||||||
|
transition-left-to-right = false;
|
||||||
|
};
|
||||||
|
modules = [
|
||||||
|
"network"
|
||||||
|
"custom/mem"
|
||||||
|
"cpu"
|
||||||
|
"temperature"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
network = {
|
||||||
|
format = "{ifname}";
|
||||||
|
format-wifi = " {essid} ({signalStrength}%)";
|
||||||
|
format-ethernet = "{ifname}";
|
||||||
|
format-disconnected = "";
|
||||||
|
tooltip-format = "{ipaddr}";
|
||||||
|
max-length = 50;
|
||||||
|
on-click = "ghostty --title=nmtui -e nmtui";
|
||||||
|
};
|
||||||
|
|
||||||
|
"custom/weather" = {
|
||||||
|
format = "{}";
|
||||||
|
tooltip = true;
|
||||||
|
interval = 1800;
|
||||||
|
exec = "python3 $HOME/.config/waybar/scripts/wttr.py";
|
||||||
|
return-type = "json";
|
||||||
|
};
|
||||||
|
|
||||||
|
"custom/mem" = {
|
||||||
|
format = "{} ";
|
||||||
|
interval = 3;
|
||||||
|
exec = "free -h | awk '/Mem:/{printf $3}'";
|
||||||
|
tooltip = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
cpu = {
|
||||||
|
interval = 2;
|
||||||
|
format = "{usage}% ";
|
||||||
|
min-length = 6;
|
||||||
|
};
|
||||||
|
|
||||||
|
temperature = {
|
||||||
|
hwmon-path = "/sys/class/hwmon/hwmon5/temp1_input";
|
||||||
|
critical-threshold = 80;
|
||||||
|
format = "{temperatureC}°C {icon}";
|
||||||
|
format-icons = ["" "" "" "" ""];
|
||||||
|
tooltip = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
style = let
|
||||||
|
colors = config.lib.stylix.colors.withHashtag;
|
||||||
|
accent = colors.base0E;
|
||||||
|
scssFile = pkgs.writeText "waybar.scss" /*scss*/ ''
|
||||||
|
window#waybar {
|
||||||
|
background: transparent;
|
||||||
|
color: ${colors.base05};
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: .85em;
|
||||||
|
& > * { padding: 0 0 6px 0; }
|
||||||
|
}
|
||||||
|
|
||||||
|
.modules-center {
|
||||||
|
background: ${colors.base01}CC;
|
||||||
|
border-radius: 12px;
|
||||||
|
padding: 10px;
|
||||||
|
box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.4);
|
||||||
|
}
|
||||||
|
|
||||||
|
#left,
|
||||||
|
#right,
|
||||||
|
#center {
|
||||||
|
background: ${colors.base02};
|
||||||
|
padding: 0 2px;
|
||||||
|
margin: 0 8px;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
#left { margin-left: 0; }
|
||||||
|
#right { margin-right: 0; }
|
||||||
|
|
||||||
|
#clock { padding-right: 10px; }
|
||||||
|
|
||||||
|
#cava { padding: 0 10px; }
|
||||||
|
|
||||||
|
#language { padding: 8px; }
|
||||||
|
|
||||||
|
#workspaces button {
|
||||||
|
color: ${colors.base05};
|
||||||
|
padding: 0 2px;
|
||||||
|
border-radius: 999px;
|
||||||
|
border: 1pt solid transparent;
|
||||||
|
min-width: 20px;
|
||||||
|
|
||||||
|
&:hover { background: ${colors.base03}; }
|
||||||
|
|
||||||
|
&.active {
|
||||||
|
background: ${accent};
|
||||||
|
color: ${colors.base00};
|
||||||
|
min-width: 25px;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
border-color: ${accent};
|
||||||
|
background: ${colors.base03};
|
||||||
|
color: ${accent};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#mpris {
|
||||||
|
border-radius: 8px;
|
||||||
|
padding: 4px;
|
||||||
|
&:hover { background: ${colors.base03}; }
|
||||||
|
&.playing {
|
||||||
|
border: 2px solid ${accent};
|
||||||
|
padding: 2px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#tray {
|
||||||
|
widget {
|
||||||
|
border: 1pt solid transparent;
|
||||||
|
&:hover { background: ${colors.base03}; }
|
||||||
|
& > image { padding: 8px; }
|
||||||
|
}
|
||||||
|
|
||||||
|
& > .passive { border-color: ${colors.base03}; }
|
||||||
|
& > .needs-attention { border-color: ${colors.base09}; }
|
||||||
|
}
|
||||||
|
|
||||||
|
#pulseaudio {
|
||||||
|
&:hover { background: ${colors.base03}; }
|
||||||
|
&.muted {
|
||||||
|
background: ${colors.base08};
|
||||||
|
color: ${colors.base01};
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
color: ${colors.base08};
|
||||||
|
background: ${colors.base03};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#network {
|
||||||
|
&:hover { background: ${colors.base02}; }
|
||||||
|
&.disconnected {
|
||||||
|
color: ${colors.base00};
|
||||||
|
background: ${colors.base08};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#system .drawer-child > * {
|
||||||
|
margin-right: 4px
|
||||||
|
}
|
||||||
|
|
||||||
|
#keyboard-state label.locked {
|
||||||
|
color: ${colors.base08};
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery {
|
||||||
|
&.plugged { color: ${colors.base0D}; }
|
||||||
|
&.charging { color: ${colors.base0B}; }
|
||||||
|
&:not(.charging) {
|
||||||
|
&.warning {
|
||||||
|
color: ${colors.base00};
|
||||||
|
background-color: ${colors.base09};
|
||||||
|
}
|
||||||
|
&.critical {
|
||||||
|
background-color: ${colors.base08};
|
||||||
|
color: ${colors.base00};
|
||||||
|
animation-name: blink;
|
||||||
|
animation-duration: 0.5s;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
animation-direction: alternate;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&.full {
|
||||||
|
color: ${colors.base00};
|
||||||
|
background: ${colors.base0B};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes blink {
|
||||||
|
to {
|
||||||
|
background-color: ${colors.base00};
|
||||||
|
color: ${colors.base08};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
|
||||||
|
cssFile = pkgs.runCommand "waybar.css" {
|
||||||
|
nativeBuildInputs = [ pkgs.dart-sass ];
|
||||||
|
} "sass ${scssFile} $out";
|
||||||
|
in builtins.readFile cssFile;
|
||||||
|
};
|
||||||
|
}
|
||||||
+2
-1
@@ -22,6 +22,7 @@
|
|||||||
../modules/user.nix
|
../modules/user.nix
|
||||||
./${name}/modules/git.nix
|
./${name}/modules/git.nix
|
||||||
./${name}/modules/style.nix
|
./${name}/modules/style.nix
|
||||||
|
./${name}/modules/waybar.nix
|
||||||
./${name}/home.nix
|
./${name}/home.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -56,7 +57,7 @@
|
|||||||
|
|
||||||
services.greetd = let
|
services.greetd = let
|
||||||
tuigreet = lib.getExe pkgs.tuigreet;
|
tuigreet = lib.getExe pkgs.tuigreet;
|
||||||
session = lib.getExe inputs.hyprland.packages.${pkgs.system}.default;
|
session = lib.getExe' inputs.hyprland.packages.${pkgs.system}.default "start-hyprland";
|
||||||
in {
|
in {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|||||||
@@ -4,7 +4,9 @@
|
|||||||
];
|
];
|
||||||
programs.hyprlock.enable = true;
|
programs.hyprlock.enable = true;
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
android-studio
|
||||||
vivaldi
|
vivaldi
|
||||||
|
weechat
|
||||||
];
|
];
|
||||||
|
|
||||||
xdg.mimeApps = {
|
xdg.mimeApps = {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, lib, config, inputs, ... }: {
|
{ pkgs, lib, config, osConfig, inputs, ... }: {
|
||||||
wayland.windowManager.hyprland = let
|
wayland.windowManager.hyprland = let
|
||||||
colors = config.lib.stylix.colors;
|
colors = config.lib.stylix.colors;
|
||||||
|
|
||||||
@@ -13,7 +13,10 @@
|
|||||||
|
|
||||||
notify = lambda s: system(f"notify-desktop Wallpaper '{s}'")
|
notify = lambda s: system(f"notify-desktop Wallpaper '{s}'")
|
||||||
folder = "${config.home.homeDirectory}/Wallpapers"
|
folder = "${config.home.homeDirectory}/Wallpapers"
|
||||||
url = "https://wallhaven.cc/api/v1/collections/sweetbread/1764377"
|
url = "https://wallhaven.cc/api/v1/collections/sweetbread/${
|
||||||
|
if osConfig.networking.hostName == "Rias" then "1764377"
|
||||||
|
else "2108577"
|
||||||
|
}"
|
||||||
with open("${config.sops.secrets."tokens/apis/wallhaven".path}") as f:
|
with open("${config.sops.secrets."tokens/apis/wallhaven".path}") as f:
|
||||||
token = f.read()
|
token = f.read()
|
||||||
|
|
||||||
@@ -51,11 +54,10 @@
|
|||||||
in {
|
in {
|
||||||
settings = {
|
settings = {
|
||||||
general = {
|
general = {
|
||||||
gaps_in = 5;
|
gaps_in = 2;
|
||||||
gaps_out = 10;
|
gaps_out = 10;
|
||||||
border_size = 3;
|
border_size = 3;
|
||||||
"col.active_border" = lib.mkForce "rgba(${colors.base0C}ee) rgba(${colors.base0B}ee) 45deg";
|
"col.active_border" = lib.mkForce "rgba(${colors.base0C}aa) rgba(${colors.base0B}aa) 45deg";
|
||||||
"col.inactive_border" = lib.mkForce "rgba(${colors.base05}aa)";
|
|
||||||
|
|
||||||
layout = "dwindle";
|
layout = "dwindle";
|
||||||
};
|
};
|
||||||
@@ -70,11 +72,7 @@
|
|||||||
new_optimizations = true;
|
new_optimizations = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
shadow = {
|
shadow.enabled = false;
|
||||||
enabled = true;
|
|
||||||
range = 4;
|
|
||||||
render_power = 3;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
animations = {
|
animations = {
|
||||||
|
|||||||
@@ -142,8 +142,11 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
gtk = {
|
gtk = {
|
||||||
gtk4.extraConfig = {
|
gtk4 = {
|
||||||
gtk-application-prefer-dark-theme = true;
|
theme = null;
|
||||||
|
extraConfig = {
|
||||||
|
gtk-application-prefer-dark-theme = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
gtk3.extraConfig = {
|
gtk3.extraConfig = {
|
||||||
gtk-application-prefer-dark-theme = true;
|
gtk-application-prefer-dark-theme = true;
|
||||||
|
|||||||
@@ -0,0 +1,298 @@
|
|||||||
|
{ osConfig, config, pkgs, lib, ... }: {
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
font-awesome
|
||||||
|
nerd-fonts.symbols-only
|
||||||
|
playerctl
|
||||||
|
cava
|
||||||
|
pulsemixer
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.waybar = {
|
||||||
|
enable = true;
|
||||||
|
systemd.enable = true;
|
||||||
|
|
||||||
|
settings.mainBar = {
|
||||||
|
spacing = 8;
|
||||||
|
|
||||||
|
modules-left = [
|
||||||
|
"hyprland/workspaces"
|
||||||
|
"hyprland/language"
|
||||||
|
"keyboard-state"
|
||||||
|
"cava"
|
||||||
|
];
|
||||||
|
|
||||||
|
modules-center = [
|
||||||
|
"mpris"
|
||||||
|
];
|
||||||
|
|
||||||
|
modules-right = [
|
||||||
|
"tray"
|
||||||
|
"group/system"
|
||||||
|
"pulseaudio"
|
||||||
|
"battery"
|
||||||
|
"clock"
|
||||||
|
];
|
||||||
|
|
||||||
|
cava = {
|
||||||
|
bars = 14;
|
||||||
|
sleep_timer = 5;
|
||||||
|
hide_on_silence = true;
|
||||||
|
bar_delimiter = 0;
|
||||||
|
input_delay = 0;
|
||||||
|
format-icons = [" " "▁" "▂" "▃" "▄" "▅" "▆" "▇" "█"];
|
||||||
|
};
|
||||||
|
|
||||||
|
clock = {
|
||||||
|
tooltip = false;
|
||||||
|
interval = 5;
|
||||||
|
format = "{:L%d %b - %H:%M %a}";
|
||||||
|
};
|
||||||
|
|
||||||
|
pulseaudio = {
|
||||||
|
format = "{icon} {volume}%";
|
||||||
|
format-icons = {
|
||||||
|
headphone = "";
|
||||||
|
hands-free = "";
|
||||||
|
headset = "";
|
||||||
|
phone = "";
|
||||||
|
phone-muted = "";
|
||||||
|
portable = "";
|
||||||
|
car = "";
|
||||||
|
default = ["" ""];
|
||||||
|
};
|
||||||
|
on-click = "ghostty --title=pulsemixer -e pulsemixer";
|
||||||
|
};
|
||||||
|
|
||||||
|
mpris = {
|
||||||
|
format = "{dynamic}";
|
||||||
|
dynamic-len = if osConfig.host.laptop then 32 else 64;
|
||||||
|
dynamic-order = [ "title" "artist" "album" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
battery = {
|
||||||
|
interval = 5;
|
||||||
|
states = {
|
||||||
|
warning = 30;
|
||||||
|
critical = 15;
|
||||||
|
};
|
||||||
|
format = "{icon} {capacity}%";
|
||||||
|
format-icons = {
|
||||||
|
default = ["" "" "" "" "" "" "" "" "" "" ""];
|
||||||
|
charging = ["" "" "" "" "" "" "" "" "" "" ""];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
"keyboard-state" = {
|
||||||
|
capslock = true;
|
||||||
|
format = "{icon}";
|
||||||
|
format-icons = {
|
||||||
|
locked = "CAPS";
|
||||||
|
unlocked = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
"hyprland/language" = {
|
||||||
|
format-en = "en";
|
||||||
|
format-ru = "ru";
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
"group/system" = {
|
||||||
|
orientation = "inherit";
|
||||||
|
drawer = {
|
||||||
|
transition-duration = 500;
|
||||||
|
transition-left-to-right = false;
|
||||||
|
};
|
||||||
|
modules = [
|
||||||
|
"network"
|
||||||
|
"custom/mem"
|
||||||
|
"cpu"
|
||||||
|
"temperature"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
network = {
|
||||||
|
format = "{ifname}";
|
||||||
|
format-wifi = " {essid} ({signalStrength}%)";
|
||||||
|
format-ethernet = "{ifname}";
|
||||||
|
format-disconnected = "";
|
||||||
|
tooltip-format = "{ipaddr}";
|
||||||
|
max-length = 50;
|
||||||
|
on-click = "ghostty --title=nmtui -e nmtui";
|
||||||
|
};
|
||||||
|
|
||||||
|
"custom/weather" = {
|
||||||
|
format = "{}";
|
||||||
|
tooltip = true;
|
||||||
|
interval = 1800;
|
||||||
|
exec = "python3 $HOME/.config/waybar/scripts/wttr.py";
|
||||||
|
return-type = "json";
|
||||||
|
};
|
||||||
|
|
||||||
|
"custom/mem" = {
|
||||||
|
format = "{} ";
|
||||||
|
interval = 3;
|
||||||
|
exec = "free -h | awk '/Mem:/{printf $3}'";
|
||||||
|
tooltip = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
cpu = {
|
||||||
|
interval = 2;
|
||||||
|
format = "{usage}% ";
|
||||||
|
min-length = 6;
|
||||||
|
};
|
||||||
|
|
||||||
|
temperature = {
|
||||||
|
hwmon-path = "/sys/class/hwmon/hwmon5/temp1_input";
|
||||||
|
critical-threshold = 80;
|
||||||
|
format = "{temperatureC}°C {icon}";
|
||||||
|
format-icons = ["" "" "" "" ""];
|
||||||
|
tooltip = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
style = let
|
||||||
|
colors = config.lib.stylix.colors.withHashtag;
|
||||||
|
radius = "6px";
|
||||||
|
scssFile = pkgs.writeText "waybar.scss" /*scss*/ ''
|
||||||
|
window#waybar {
|
||||||
|
background: transparent;
|
||||||
|
color: ${colors.base05};
|
||||||
|
border-radius: ${radius};
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: .85em;
|
||||||
|
|
||||||
|
& > * { padding: 8px; }
|
||||||
|
}
|
||||||
|
|
||||||
|
#cava,
|
||||||
|
#language,
|
||||||
|
#mpris,
|
||||||
|
#pulseaudio,
|
||||||
|
#network,
|
||||||
|
#battery,
|
||||||
|
#cpu,
|
||||||
|
#temperature,
|
||||||
|
#keyboard-state label.locked,
|
||||||
|
#custom-mem,
|
||||||
|
#clock {
|
||||||
|
background: ${colors.base00};
|
||||||
|
border-radius: ${radius};
|
||||||
|
padding: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces,
|
||||||
|
#tray {
|
||||||
|
background: ${colors.base00};
|
||||||
|
border-radius: ${radius};
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button {
|
||||||
|
color: ${colors.base05};
|
||||||
|
padding: 4px;
|
||||||
|
border-radius: ${radius};
|
||||||
|
border: 1pt solid transparent;
|
||||||
|
|
||||||
|
&:hover { background: ${colors.base01}; }
|
||||||
|
|
||||||
|
&.active {
|
||||||
|
background: ${colors.base0B};
|
||||||
|
color: ${colors.base00};
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
border-color: ${colors.base0B};
|
||||||
|
background: ${colors.base01};
|
||||||
|
color: ${colors.base0B};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#mpris {
|
||||||
|
&:hover { background: ${colors.base01}; }
|
||||||
|
&.paused { opacity: .5; }
|
||||||
|
}
|
||||||
|
|
||||||
|
#tray {
|
||||||
|
widget {
|
||||||
|
border: 1pt solid transparent;
|
||||||
|
border-radius: ${radius};
|
||||||
|
&:hover { background: ${colors.base01}; }
|
||||||
|
& > image { padding: 8px; }
|
||||||
|
}
|
||||||
|
|
||||||
|
& > .passive { border-color: ${colors.base02}; }
|
||||||
|
& > .needs-attention { border-color: ${colors.base09}; }
|
||||||
|
}
|
||||||
|
|
||||||
|
#pulseaudio {
|
||||||
|
&:hover { background: ${colors.base01}; }
|
||||||
|
&.muted {
|
||||||
|
background: ${colors.base08};
|
||||||
|
color: ${colors.base00};
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
color: ${colors.base08};
|
||||||
|
background: ${colors.base01};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#network {
|
||||||
|
&:hover { background: ${colors.base01}; }
|
||||||
|
&.disconnected {
|
||||||
|
color: ${colors.base00};
|
||||||
|
background: ${colors.base08};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#system .drawer-child > * {
|
||||||
|
margin-right: 4px
|
||||||
|
}
|
||||||
|
|
||||||
|
#keyboard-state label.locked {
|
||||||
|
background-color: ${colors.base00};
|
||||||
|
color: ${colors.base08};
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery {
|
||||||
|
&.plugged { color: ${colors.base0D}; }
|
||||||
|
&.charging { color: ${colors.base0B}; }
|
||||||
|
&:not(.charging) {
|
||||||
|
&.warning {
|
||||||
|
color: ${colors.base00};
|
||||||
|
background-color: ${colors.base09};
|
||||||
|
}
|
||||||
|
&.critical {
|
||||||
|
background-color: ${colors.base08};
|
||||||
|
color: ${colors.base00};
|
||||||
|
animation-name: blink;
|
||||||
|
animation-duration: 0.5s;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
animation-direction: alternate;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&.full {
|
||||||
|
color: ${colors.base00};
|
||||||
|
background: ${colors.base0B};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes blink {
|
||||||
|
to {
|
||||||
|
background-color: ${colors.base00};
|
||||||
|
color: ${colors.base08};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
|
||||||
|
cssFile = pkgs.runCommand "waybar.css" {
|
||||||
|
nativeBuildInputs = [ pkgs.dart-sass ];
|
||||||
|
} "sass ${scssFile} $out";
|
||||||
|
in builtins.readFile cssFile;
|
||||||
|
};
|
||||||
|
|
||||||
|
wayland.windowManager.hyprland.settings.layerrule = [
|
||||||
|
"blur on, match:namespace waybar"
|
||||||
|
];
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user