Compare commits
202
Commits
0dbc397a82
..
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a5db402144
|
||
|
|
fc1c7a0f61
|
||
|
|
eed510e68b
|
||
|
|
be9e7c0ce8
|
||
|
|
e53efb0472
|
||
|
|
8acfda2aa5 | ||
|
|
0e8763663b | ||
|
|
4180bfd391
|
||
|
|
0c07e7be79
|
||
|
|
d5832d160c
|
||
|
|
fac73d8508
|
||
|
|
e57dad8746
|
||
|
|
238166668f
|
||
|
|
ec8fdec87b
|
||
|
|
e6e6af404f
|
||
|
|
7845af1fd1
|
||
|
|
4a001529ec
|
||
|
|
357db9432d
|
||
|
|
cdc137c2d9
|
||
|
|
ce03661f12
|
||
|
|
c78d0b40a2
|
||
|
|
3c8a4219a6
|
||
|
|
4d77be992e
|
||
|
|
4c65c1b05f
|
||
|
|
7e8f9439aa
|
||
|
|
fe4052fe73
|
||
|
|
e216e9bc7a
|
||
|
|
d4504b9705
|
||
|
|
8625d875db
|
||
|
|
17e247fb38
|
||
|
|
ed2f738a83
|
||
|
|
e61bcb7d92
|
||
|
|
7b428a0b79
|
||
|
|
f8edaafdf3
|
||
|
|
e6e77aeed6
|
||
|
|
8b0298b67c
|
||
|
|
f084bdf9b4
|
||
|
|
de76f09730
|
||
|
|
124f3a7cf3
|
||
|
|
ea289034ca
|
||
|
|
deba85fd30
|
||
|
|
21471838e6
|
||
|
|
8ceca8ee8f
|
||
|
|
dac276d6ed
|
||
|
|
a5e1267370
|
||
|
|
c79cee4206
|
||
|
|
b468c42a9e
|
||
|
|
61259a2320
|
||
|
|
41f53f802c
|
||
|
|
55e4406dc5
|
||
|
|
32f5cac84d
|
||
|
|
a2fc3275af
|
||
|
|
e51ba243dc
|
||
|
|
aada228357
|
||
|
|
60734ee516
|
||
|
|
fe204a4d5a
|
||
|
|
ed37f81cfd
|
||
|
|
fdeeb87f13
|
||
|
|
50a9f73fea
|
||
|
|
b064e912aa
|
||
|
|
10084a5e8e
|
||
|
|
9a7b7f0b50
|
||
|
|
7f59ba969e
|
||
|
|
0c97dde79f
|
||
|
|
f973b8e5ad
|
||
|
|
b4848028eb
|
||
|
|
1441647527
|
||
|
|
e8350c58cc
|
||
|
|
998af9fc41
|
||
|
|
1ca630a80c
|
||
|
|
7ceabba4ab
|
||
|
|
d56f003982
|
||
|
|
6c062088fa
|
||
|
|
d8eaa5916b
|
||
|
|
6da0db4ffd
|
||
|
|
4454eadfaf
|
||
|
|
ada545525a
|
||
|
|
f31dc89efb
|
||
|
|
8b8d7fc413
|
||
|
|
5f5931a47f
|
||
|
|
d9e8f3e4f1
|
||
|
|
3f359a91ec
|
||
|
|
db46ffd3ec
|
||
|
|
e560d34515
|
||
|
|
13af1b5b4e
|
||
|
|
21df106ace
|
||
|
|
8f93c5ef2a
|
||
|
|
005edb2730
|
||
|
|
d1056472e4
|
||
|
|
db70613838
|
||
|
|
d88a2a4871
|
||
|
|
d2560fa2a7
|
||
|
|
69585ab64a
|
||
|
|
f106eb0609
|
||
|
|
c9ffbd5964
|
||
|
|
7b28ee6b9c
|
||
|
|
a30c4f8b68
|
||
|
|
623f7b6425
|
||
|
|
ce84c7ab53
|
||
|
|
82da0a8bda
|
||
|
|
17a5125775
|
||
|
|
5b2a0997bd
|
||
|
|
6ab8cb5724
|
||
|
|
3d94a2952c
|
||
|
|
dfb1e890e5
|
||
|
|
a6495ca832
|
||
|
|
d976f13a10
|
||
|
|
e6f3422b4d
|
||
|
|
4f284d441e
|
||
|
|
371565c2bd
|
||
|
|
635cbff519
|
||
|
|
826fe11063
|
||
|
|
f3aac17934
|
||
|
|
b789807b47
|
||
|
|
5861a9e6a0
|
||
|
|
6b106f7948
|
||
|
|
48b08d23ff
|
||
|
|
1fb4acea88
|
||
|
|
e0bcb87b2c
|
||
|
|
01d3b727a1
|
||
|
|
d3c08aa4f5
|
||
|
|
c6e8cf9847
|
||
|
|
36bd415a4e
|
||
|
|
6953af7176
|
||
|
|
a36956b016
|
||
|
|
659627a4f1
|
||
|
|
a00b0ccb33
|
||
|
|
8e3d4604c4
|
||
|
|
bb09c5f642
|
||
|
|
dbd3b513c2
|
||
|
|
c83c94817d
|
||
|
|
de69e7a17f
|
||
|
|
ec4438fff9
|
||
|
|
39681985e2
|
||
|
|
47f7494203
|
||
|
|
9990ed351e
|
||
|
|
9033cfe614
|
||
|
|
598bf6a35d
|
||
|
|
454cd36176
|
||
|
|
1a4a7b3918
|
||
|
|
492218b1f4
|
||
|
|
378182cff3
|
||
|
|
2e8f33aa56
|
||
|
|
b384ef60e0
|
||
|
|
4d9729a4dd
|
||
|
|
85cd854889
|
||
|
|
15dee2e15d
|
||
|
|
cf52a7e7f3
|
||
|
|
b8745ac460
|
||
|
|
f88917aaf2
|
||
|
|
6a545149e9
|
||
|
|
bb8e8c079d
|
||
|
|
281f0ad2da
|
||
|
|
97e6f6bd31
|
||
|
|
01aa2b8083
|
||
|
|
ad6e7e332f
|
||
|
|
478e184312
|
||
|
|
b2f10ff9ea
|
||
|
|
32c6b50dbe
|
||
|
|
02dd50200f
|
||
|
|
fe7d4c1851
|
||
|
|
1111288a47
|
||
|
|
b6fe61969d
|
||
|
|
9c4bee71e2
|
||
|
|
dfddc572b2
|
||
|
|
81a737a43e
|
||
|
|
aed9a6a713
|
||
|
|
b3f072d851
|
||
|
|
d5894374f2
|
||
|
|
7df28b1a5d
|
||
|
|
71bb0a839e
|
||
|
|
f29c8f07cc
|
||
|
|
40f612bad1
|
||
|
|
20950f6774
|
||
|
|
765fd10420
|
||
|
|
a7359b47b5
|
||
|
|
debad3cdae
|
||
|
|
6fb6f6e5b5
|
||
|
|
b6bef9e3ed
|
||
|
|
f9ae2cb408
|
||
|
|
b85a81882d
|
||
|
|
e6f27cd3f1
|
||
|
|
ff0d402a7c
|
||
|
|
61677eed09
|
||
|
|
b68f55c599
|
||
|
|
baa89ba1d4
|
||
|
|
b889c1d876
|
||
|
|
9d3c053acd
|
||
|
|
122ab982e6
|
||
|
|
d07853a8d1
|
||
|
|
c7a3b353aa
|
||
|
|
0804b164e1
|
||
|
|
b3137f6a21
|
||
|
|
8dab87ee21
|
||
|
|
d94737e8de
|
||
|
|
25fbc9fee0
|
||
|
|
f01634bc64
|
||
|
|
1b4638c2f9
|
||
|
|
6c543e7478
|
||
|
|
e70c545ecb
|
||
|
|
eb84bf348a
|
||
|
|
59edb25ebe
|
+1
-1
@@ -5,7 +5,7 @@ creation_rules:
|
||||
key_groups:
|
||||
- age:
|
||||
- *primary
|
||||
- path_regex: host/(Rias|Senko|Eclipse)/secrets/.+$
|
||||
- path_regex: host/(Rias|Senko|Inaho|Eclipse)/secrets/.+$
|
||||
key_groups:
|
||||
- age:
|
||||
- *primary
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
{ lib
|
||||
, pkgs
|
||||
, mumble ? pkgs.mumble
|
||||
}:
|
||||
|
||||
let
|
||||
# PipeWire 1.4.0 removed client-rt.conf, changing how clients negotiate
|
||||
# realtime scheduling. Mumble never adapted, so its PipeWire data-loop
|
||||
# thread stalls mid-negotiation and its own RT watchdog SIGKILLs the
|
||||
# whole process almost immediately on every launch (confirmed via
|
||||
# bpftrace: signal_generate shows Mumble's own "data-loop.0" thread
|
||||
# sending itself SIGKILL). Reproduced identically on both the packaged
|
||||
# 1.5.915 (Qt5) and a from-source 1.6.870 RC (Qt6) build, so it's the
|
||||
# shared PipeWire client integration at fault, not Mumble's UI stack.
|
||||
#
|
||||
# Upstream: https://github.com/mumble-voip/mumble/issues/6780
|
||||
# Bisected there to PipeWire 1.2.7 (last known-good) vs 1.4.1+ (broken).
|
||||
#
|
||||
# Fix: give Mumble an old, compatible libpipewire-0.3.so to dlopen at
|
||||
# runtime. The system's actual PipeWire daemon is untouched (still
|
||||
# whatever version NixOS ships) - only the client library Mumble talks
|
||||
# through is pinned back.
|
||||
pipewireGoodPkgs = import (fetchTarball {
|
||||
url = "https://channels.nixos.org/nixos-24.11/nixexprs.tar.xz";
|
||||
sha256 = "189lwv8l10bm9fnksfkzy05pm86gmziy9z3bdn13zc8d636ylchj"; # nix-prefetch-url --unpack https://channels.nixos.org/nixos-24.11/nixexprs.tar.xz
|
||||
}) { inherit (pkgs) system; };
|
||||
pipewireGood = pipewireGoodPkgs.pipewire;
|
||||
|
||||
# Mumble's own build is Qt5-based; QT_PLUGIN_PATH isn't set by its
|
||||
# wrapper for the platform/sql plugins mumble actually needs when we
|
||||
# bypass that wrapper below, so it has to be supplied explicitly.
|
||||
qt5PluginPath = lib.makeSearchPath "lib/qt-${pkgs.qt5.qtbase.version}/plugins" [
|
||||
pkgs.qt5.qtbase.bin
|
||||
pkgs.qt5.qtsvg.bin
|
||||
pkgs.qt5.qtwayland.bin
|
||||
];
|
||||
in
|
||||
pkgs.symlinkJoin {
|
||||
name = "mumble-pipewire-fixed-${mumble.version}";
|
||||
|
||||
paths = [ mumble ];
|
||||
|
||||
nativeBuildInputs = [ pkgs.makeWrapper ];
|
||||
|
||||
# mumble's own wrapper always prepends its own (broken, too-new)
|
||||
# PipeWire path in front of anything we set, so wrapping it a second
|
||||
# time can't win that ordering fight. Instead we skip straight to the
|
||||
# real unwrapped binary and set env ourselves.
|
||||
postBuild = ''
|
||||
rm -f $out/bin/mumble
|
||||
makeWrapper ${mumble}/bin/.mumble-wrapped $out/bin/mumble \
|
||||
--prefix LD_LIBRARY_PATH : "${pipewireGood}/lib" \
|
||||
--set QT_PLUGIN_PATH "${qt5PluginPath}"
|
||||
'';
|
||||
|
||||
meta = mumble.meta // {
|
||||
description = mumble.meta.description
|
||||
+ " (patched: pinned PipeWire client lib to 1.2.7 to work around SIGKILL-on-launch with PipeWire >=1.4.0, see mumble#6780)";
|
||||
};
|
||||
}
|
||||
Generated
+166
-232
@@ -3,15 +3,17 @@
|
||||
"aagl": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"rust-overlay": "rust-overlay"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1783003291,
|
||||
"narHash": "sha256-BYXGP1e9WDEPse3Ux6KoxW/v8KIJJLR+fn1cw3CIZ/Y=",
|
||||
"lastModified": 1789138122,
|
||||
"narHash": "sha256-mh+ZiGCtHAo0xIi1yaNjHsftfnlWz9JiYwHCyT16yIE=",
|
||||
"owner": "ezKEa",
|
||||
"repo": "aagl-gtk-on-nix",
|
||||
"rev": "4e8fc67bd94f4376aa455833fc5aa68b0731549d",
|
||||
"rev": "d82d6d6f66caf4b63fb154e62fad83c627874127",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -23,7 +25,9 @@
|
||||
"ags": {
|
||||
"inputs": {
|
||||
"astal": "astal",
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1744557573,
|
||||
@@ -60,11 +64,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1772460678,
|
||||
"narHash": "sha256-NYaWs8fYJ38IgFld0hGSdT2LEVhrgO8SiRReBjIH7YY=",
|
||||
"lastModified": 1784368054,
|
||||
"narHash": "sha256-zF1iJkBQSDWmRO4/LEeHR1SpKY0lqZaxkoQJpPS9K9U=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "aquamarine",
|
||||
"rev": "5d2cb726b16ee349df443f84b64cff53221b6983",
|
||||
"rev": "9b5f14d9483445e766294eb8fbe0b8f370269ed0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -185,11 +189,11 @@
|
||||
"firefox-gnome-theme": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1779670703,
|
||||
"narHash": "sha256-UdfMivNMwCCqQsYDg5pSz8X2IOaOrIZLIIy+Bg3CO2o=",
|
||||
"lastModified": 1783570805,
|
||||
"narHash": "sha256-ptl5aRlCv9/uRSv2u8Hq8UFVFeZ6Q/bT049bpqNgc3w=",
|
||||
"owner": "rafaelmardojai",
|
||||
"repo": "firefox-gnome-theme",
|
||||
"rev": "942159e73e40bf785816f7f1f5feed9ef3d7c8f9",
|
||||
"rev": "5602ed62d638142c1ab31dccd01dfbfb28841225",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -230,6 +234,22 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_3": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1767039857,
|
||||
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
@@ -238,11 +258,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1778716662,
|
||||
"narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
|
||||
"lastModified": 1782949081,
|
||||
"narHash": "sha256-vp6Y/Grm98ESt6ceOkWiHWyZRDV3J1RID4w+6NWK9yA=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
|
||||
"rev": "17c9d6cdfc60c64f4ee8d306f9bc0b4ccb51481e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -285,56 +305,38 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"pre-commit-hooks",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709087332,
|
||||
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gnome-shell": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1767737596,
|
||||
"narHash": "sha256-eFujfIUQDgWnSJBablOuG+32hCai192yRdrNHTv0a+s=",
|
||||
"host": "gitlab.gnome.org",
|
||||
"lastModified": 1776175984,
|
||||
"narHash": "sha256-RJFlFW8GiMei6oqUGrMkGEvVqOH8U7Q8abc1yK4VKD8=",
|
||||
"owner": "GNOME",
|
||||
"repo": "gnome-shell",
|
||||
"rev": "ef02db02bf0ff342734d525b5767814770d85b49",
|
||||
"type": "github"
|
||||
"rev": "e0fdc4c13250e9a9b8ea9594c83925274f4a5dca",
|
||||
"type": "gitlab"
|
||||
},
|
||||
"original": {
|
||||
"host": "gitlab.gnome.org",
|
||||
"owner": "GNOME",
|
||||
"ref": "50.1",
|
||||
"repo": "gnome-shell",
|
||||
"rev": "ef02db02bf0ff342734d525b5767814770d85b49",
|
||||
"type": "github"
|
||||
"type": "gitlab"
|
||||
}
|
||||
},
|
||||
"helix-steel": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"rust-overlay": "rust-overlay_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1782088553,
|
||||
"narHash": "sha256-bGfByNnjuzENdvTW97s4UhwglYY7ydBk54gOZmnaM4Q=",
|
||||
"lastModified": 1788213353,
|
||||
"narHash": "sha256-vJ7VgxuM/Dp7vyVlu6EXjP/ES14TALy64jgzyuYZl6g=",
|
||||
"owner": "mattwparas",
|
||||
"repo": "helix",
|
||||
"rev": "0522d519fd5227f77ecef387a87e51b732907562",
|
||||
"rev": "ba5b022c1000a0ce28d4ce1d09acdd062a83a020",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -351,11 +353,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1783222121,
|
||||
"narHash": "sha256-E/ElL373TO8lQ2aMvYyzN+k4xkVaUGoRqoa8AtM71tI=",
|
||||
"lastModified": 1789320570,
|
||||
"narHash": "sha256-1Js4AJiWLV7U1SF3ok0J2tKbBEJYE5YpElGU+7fMbfo=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "a1645f40777620c4bd2b6d854b290c2fc354a266",
|
||||
"rev": "87b3c74df02a2b2e691a24f3c82774f48a70c1bd",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -380,11 +382,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1772461003,
|
||||
"narHash": "sha256-pVICsV7FtcEeVwg5y/LFh3XFUkVJninm/P1j/JHzEbM=",
|
||||
"lastModified": 1776511930,
|
||||
"narHash": "sha256-fCpwFiTW0rT7oKJqr3cqHMnkwypSwQKpbtUEtxdkgrM=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprcursor",
|
||||
"rev": "b62396457b9cfe2ebf24fe05404b09d2a40f8ed7",
|
||||
"rev": "39435900785d0c560c6ae8777d29f28617d031ef",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -409,11 +411,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1772461523,
|
||||
"narHash": "sha256-mI6A51do+hEUzeJKk9YSWfVHdI/SEEIBi2tp5Whq5mI=",
|
||||
"lastModified": 1782566056,
|
||||
"narHash": "sha256-haEZcHzYrePnjFOYSWTbxm/Nrla0aPslJfmvdCvqtVc=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprgraphics",
|
||||
"rev": "7d63c04b4a2dd5e59ef943b4b143f46e713df804",
|
||||
"rev": "c6e7b9f673f4360bc813d3dc75028f75ee88d3f8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -433,22 +435,22 @@
|
||||
"hyprutils": "hyprutils",
|
||||
"hyprwayland-scanner": "hyprwayland-scanner",
|
||||
"hyprwire": "hyprwire",
|
||||
"nixpkgs": "nixpkgs_4",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"pre-commit-hooks": "pre-commit-hooks",
|
||||
"systems": "systems",
|
||||
"xdph": "xdph"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1773149218,
|
||||
"narHash": "sha256-m5Ewi+rgn18qPP54Um4O2zwZ02oiomlZssHvXYEUv3U=",
|
||||
"lastModified": 1785170029,
|
||||
"narHash": "sha256-8CKDx282HhxlD1pwXPnC4uK29Abn1Jsnh7LgPzeIXxI=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "Hyprland",
|
||||
"rev": "59f9f2688ac508a0584d1462151195a6c4992f99",
|
||||
"rev": "5c9377c15f85c50648f35ca5a213754f95b93ca0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"ref": "v0.54.2-b",
|
||||
"ref": "v0.56.1",
|
||||
"repo": "Hyprland",
|
||||
"type": "github"
|
||||
}
|
||||
@@ -486,11 +488,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1772467975,
|
||||
"narHash": "sha256-kipyuDBxrZq+beYpZqWzGvFWm4QbayW9agAvi94vDXY=",
|
||||
"lastModified": 1784196523,
|
||||
"narHash": "sha256-ahtKMGXFJdlQNhatQm1+BBU/pGfGYnAqQt3vWvq4p8s=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-guiutils",
|
||||
"rev": "5e1c6b9025aaf4d578f3eff7c0eb1f0c197a9507",
|
||||
"rev": "a6ccb6cb112ed5a244c0191fb972347ecfa893e0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -516,11 +518,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1782769258,
|
||||
"narHash": "sha256-HAhqQOoz4S0gzIOMnClL49B+rMT7zdp3UDWeqxtMs/k=",
|
||||
"lastModified": 1788563182,
|
||||
"narHash": "sha256-e2Q7i5T+iQY0o/uxFNnXxWpXZ1e5f6VV4eHdKk7l6kc=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-plugins",
|
||||
"rev": "71b8953d7d92dbebe87a6ff9895bdd30e7495873",
|
||||
"rev": "722f15a77768eab13f01f5e5dce024bd2f61f270",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -570,11 +572,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1772459629,
|
||||
"narHash": "sha256-/iwvNUYShmmnwmz/czEUh6+0eF5vCMv0xtDW0STPIuM=",
|
||||
"lastModified": 1777320127,
|
||||
"narHash": "sha256-Qu+Wf2Bp5qUjyn2YpZNq8a7JyzTGowhT1knrwE38a9U=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprlang",
|
||||
"rev": "7615ee388de18239a4ab1400946f3d0e498a8186",
|
||||
"rev": "090117506ddc3d7f26e650ff344d378c2ec329cc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -622,11 +624,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1772462885,
|
||||
"narHash": "sha256-5pHXrQK9zasMnIo6yME6EOXmWGFMSnCITcfKshhKJ9I=",
|
||||
"lastModified": 1782554491,
|
||||
"narHash": "sha256-+p3MlyN/nqRefcf2IckPlGRUn9+hielqpS9XClbLleM=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprtoolkit",
|
||||
"rev": "9af245a69fa6b286b88ddfc340afd288e00a6998",
|
||||
"rev": "bdba25ced39ea39ab004a8f31593ba0b0ff1ca35",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -647,11 +649,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1772459870,
|
||||
"narHash": "sha256-xxkK2Cvqxpf/4UGcJ/TyCwrvmiNWsKsJfFzHMp2bxis=",
|
||||
"lastModified": 1784323413,
|
||||
"narHash": "sha256-XnAVV+H4f8Xdv0yZcSwJ5kCjLyE8fHxPeLX6a3HSrAU=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprutils",
|
||||
"rev": "e63f3a79334dec49f8eb1691f66f18115df04085",
|
||||
"rev": "5f03477ab3a005ff27c527486f551883535aea2f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -672,11 +674,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1772459835,
|
||||
"narHash": "sha256-978jRz/y/9TKmZb/qD4lEYHCQGHpEXGqy+8X2lFZsak=",
|
||||
"lastModified": 1777159683,
|
||||
"narHash": "sha256-Jxixw6wZphUp+nHYxOKUYSckL17QMBx2d5Zp0rJHr1g=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprwayland-scanner",
|
||||
"rev": "0a692d4a645165eebd65f109146b8861e3a925e7",
|
||||
"rev": "b8632713a6beaf28b56f2a7b0ab2fb7088dbb404",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -701,11 +703,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1772463520,
|
||||
"narHash": "sha256-GIjASzYnV4fK19HnyJKmHyqyxHxIpjusK9foEA4Yo+4=",
|
||||
"lastModified": 1778410714,
|
||||
"narHash": "sha256-o6RzFj4nJXaPRY7EM01siuCQeT41RfwwmcmFQqwFJJg=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprwire",
|
||||
"rev": "4e1933ae5602b350c5b6633f5c932549c9b8aca2",
|
||||
"rev": "85148a8e612808cf5ddb25d0b3c5840f3498a7dc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -716,15 +718,15 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1782723713,
|
||||
"narHash": "sha256-oPXCU/SSUokcGaJREHibG1CBX3+s/W7orDWQOZDsEeQ=",
|
||||
"owner": "nixos",
|
||||
"lastModified": 1784356753,
|
||||
"narHash": "sha256-12KrbMiWLcf8m7pCvAtZh1ZrgF85ZXDXvfR/fWTKy84=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "b5aa0fbd538984f6e3d201be0005b4463d8b09f8",
|
||||
"rev": "61b7c44c4073f0b827768aff0049561b5110ea5a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
@@ -748,11 +750,11 @@
|
||||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1783148766,
|
||||
"narHash": "sha256-uslt2pqShTIXDdAHRHv2QkYLsVdY8Oqwz0EA48/RSM8=",
|
||||
"lastModified": 1789114715,
|
||||
"narHash": "sha256-ugpsyk3NM2s87vXfUiIIiibbJ4Pp0JPS5p/3mfs+q+c=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "a50de1b7d8a586adc18d2395c19de7d6058e6030",
|
||||
"rev": "21a67dc470149f337cecafbe965d8d252a390518",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -764,11 +766,11 @@
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1743583204,
|
||||
"narHash": "sha256-F7n4+KOIfWrwoQjXrL2wD9RhFYLs2/GGe/MQY1sSdlE=",
|
||||
"lastModified": 1789149629,
|
||||
"narHash": "sha256-H6GwaZzZf+4npqv0tph94w9tZddSjFjmQrVsW0z78uk=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "2c8d3f48d33929642c1c12cd243df4cc7d2ce434",
|
||||
"rev": "eaad089433ca2bb662274377d33df3d0e51ef28b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -778,102 +780,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1775036866,
|
||||
"narHash": "sha256-ZojAnPuCdy657PbTq5V0Y+AHKhZAIwSIT2cb8UgAz/U=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "6201e203d09599479a3b3450ed24fa81537ebc4e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1772542754,
|
||||
"narHash": "sha256-WGV2hy+VIeQsYXpsLjdr4GvHv5eECMISX1zKLTedhdg=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "8c809a146a140c5c8806f13399592dbcb1bb5dc4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_5": {
|
||||
"locked": {
|
||||
"lastModified": 1783224372,
|
||||
"narHash": "sha256-8i/87eeoqiGE4yOTjwSA3Eh/ziJRQEmd/unYU+K27sk=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "d407951447dcd00442e97087bf374aad70c04cea",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_6": {
|
||||
"locked": {
|
||||
"lastModified": 1782175435,
|
||||
"narHash": "sha256-EMzXKmnOtBQ2MnvpiNOm7E+kOMvdPrIKaeg52Tip2Uk=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "89570f24e97e614aa34aa9ab1c927b6578a43775",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_7": {
|
||||
"locked": {
|
||||
"lastModified": 1780243769,
|
||||
"narHash": "sha256-x5UQuRsH3MqI0U9afaXSNqzTPSeZlRLvFAav2Ux1pNw=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "331800de5053fcebacf6813adb5db9c9dca22a0c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_8": {
|
||||
"locked": {
|
||||
"lastModified": 1779877693,
|
||||
"narHash": "sha256-NOF9NAREhxr50bbBfVcVOq+ArCMSoe8dP79Pk2uyARk=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "4100e830e085863741bc69b156ec4ccd53ab5be0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nur": {
|
||||
"inputs": {
|
||||
"flake-parts": [
|
||||
@@ -886,11 +792,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1780281641,
|
||||
"narHash": "sha256-M/+hUKoKbHXpV0xGVfELbN1Ds1aoe3pL5p5/t46YhVo=",
|
||||
"lastModified": 1785549842,
|
||||
"narHash": "sha256-DCwBZmGsySF7oKGTRgEv2HvpxVXkHT+38VhTM76k0B4=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "30f9ae2f04174de63ba8bcf3580ca90843b28a01",
|
||||
"rev": "a9f987b57594e845e3e5cdd423b9a70846d70308",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -902,18 +808,17 @@
|
||||
"pre-commit-hooks": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_2",
|
||||
"gitignore": "gitignore",
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1772024342,
|
||||
"narHash": "sha256-+eXlIc4/7dE6EcPs9a2DaSY3fTA9AE526hGqkNID3Wg=",
|
||||
"lastModified": 1784288435,
|
||||
"narHash": "sha256-ReRHaLgr/uVqdD8afFSn+myXIfpHeOhP0yYe0TJqAA8=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "6e34e97ed9788b17796ee43ccdbaf871a5c2b476",
|
||||
"rev": "43b3c1ab9d40fb1dbb008f451988a91e375825e9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -931,11 +836,12 @@
|
||||
"home-manager": "home-manager",
|
||||
"hyprland": "hyprland",
|
||||
"hyprland-plugins": "hyprland-plugins",
|
||||
"nixpkgs": "nixpkgs_5",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nixpkgs-pinned": "nixpkgs-pinned",
|
||||
"nixpkgs-stable": "nixpkgs-stable",
|
||||
"sops-nix": "sops-nix",
|
||||
"stylix": "stylix",
|
||||
"waybar": "waybar",
|
||||
"yazi": "yazi",
|
||||
"yazi-plugins": "yazi-plugins"
|
||||
}
|
||||
@@ -948,11 +854,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1782875958,
|
||||
"narHash": "sha256-5eqDcnBjb1424HRQdnhuhNOBZguq1Z2tqSa2OMF/m2c=",
|
||||
"lastModified": 1785476452,
|
||||
"narHash": "sha256-/CXwCFPS41rb/JI2VitKCgVK6V5E6/sfw5ke3B9zyVQ=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "13139aefa973f3d96c60c0fbab801de058ae25ca",
|
||||
"rev": "6ef009bf4c4873cdc1a621826722bdea7c03e62c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -990,11 +896,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1779851998,
|
||||
"narHash": "sha256-UkkMh3bX9QW4Luqkm98nUaOqKWrU6i65mUnph3WeSSw=",
|
||||
"lastModified": 1783320166,
|
||||
"narHash": "sha256-l7C/OsjcnWDOk2K3ssj+SBduwL67LashjBqis9+t468=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "6cddd512fa2bf7231f098d3a2f92f6e4cff71e0a",
|
||||
"rev": "20ee15370c9256669d66968b89ee20a4b0a4e673",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1005,14 +911,16 @@
|
||||
},
|
||||
"sops-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_6"
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1783174389,
|
||||
"narHash": "sha256-aCWC8ngycU7OdJrU2+Je3qf+1a2ykuBvpPhZT/9tXMc=",
|
||||
"lastModified": 1788914643,
|
||||
"narHash": "sha256-4GuMPW90JSxXWDPUB9M+1m7fYbe3H0apOd86/zBQ2Kw=",
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"rev": "f1406619a3884cd5c47992a70b8b35c9c0fcb4c9",
|
||||
"rev": "13616fff713a9f94055c66f15687ebdc17a335df",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1030,7 +938,9 @@
|
||||
"firefox-gnome-theme": "firefox-gnome-theme",
|
||||
"flake-parts": "flake-parts",
|
||||
"gnome-shell": "gnome-shell",
|
||||
"nixpkgs": "nixpkgs_7",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"nur": "nur",
|
||||
"systems": "systems_2",
|
||||
"tinted-kitty": "tinted-kitty",
|
||||
@@ -1039,11 +949,11 @@
|
||||
"tinted-zed": "tinted-zed"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1783307741,
|
||||
"narHash": "sha256-c/FqXr+r16WM3ad/o+fzDcDSnqmItPkMbbJ/9FhO81Q=",
|
||||
"lastModified": 1787771653,
|
||||
"narHash": "sha256-DkkJSBOXWV/mja5Vy8az5g1KpZlsbUwlmH0BsQhowaQ=",
|
||||
"owner": "danth",
|
||||
"repo": "stylix",
|
||||
"rev": "9837fb7867cc0356d86e02c3398ea876d43826c1",
|
||||
"rev": "5e3809851f486e7fc7e84b40f174c74b60ecc784",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1069,15 +979,16 @@
|
||||
},
|
||||
"systems_2": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"lastModified": 1774449309,
|
||||
"narHash": "sha256-brhZ8DmuGtzkCYHJg4HEd602amKm89Y9ytsFZ5uWD1w=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"rev": "c29398b59d2048c4ab79345812849c9bd15e9150",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"ref": "future-26.11",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
@@ -1116,11 +1027,11 @@
|
||||
"tinted-schemes": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1777806186,
|
||||
"narHash": "sha256-PDF0/wObw4nIsSBeXVYLsloXOiphXCgIdsrNcVXguKs=",
|
||||
"lastModified": 1785153830,
|
||||
"narHash": "sha256-fNdfCTeCXU3tZG3TMincd+u68qBHQgCr2Ljr/M1mWP0=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "schemes",
|
||||
"rev": "0c94645546f4f3ddac77a1a5fce54eb95bf50795",
|
||||
"rev": "9bd28ed313560db3c5b605c63bc4e309e78e3fc8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1132,11 +1043,11 @@
|
||||
"tinted-tmux": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1778379944,
|
||||
"narHash": "sha256-wPDFzMGSlARlw0Sfsn48Q2+jPSfk6N0Ng6BC/d+7Q24=",
|
||||
"lastModified": 1785031658,
|
||||
"narHash": "sha256-mZp9O2LjzdMzlqQF3l3fjqsuPBzXy+1qTfBEUGjTlpk=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-tmux",
|
||||
"rev": "fe0203a198690e71a5ff11e08812a4673de3678d",
|
||||
"rev": "5d2c67f61ea7af36f16865ab6d541cdba41dc257",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1148,11 +1059,11 @@
|
||||
"tinted-zed": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1778378178,
|
||||
"narHash": "sha256-OXPXRIQgGwV77HjYRryOHguh4ALX96jkg+tseLkGgHA=",
|
||||
"lastModified": 1785030526,
|
||||
"narHash": "sha256-klZf8UviewRkxuu74Bhbq6tqy7oxebQC7UVRWbbtQxU=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-zed",
|
||||
"rev": "9cd816033ff969415b190722cddf134e78a5665f",
|
||||
"rev": "16f5a8adf4a6b1310d0a61ab172de963e8f76a02",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1161,6 +1072,27 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"waybar": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_3",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1789627973,
|
||||
"narHash": "sha256-OJBVQSIpW0Ozb3czGP3+TQyDC5BBqMQtx2asPsspFHo=",
|
||||
"owner": "Alexays",
|
||||
"repo": "Waybar",
|
||||
"rev": "1687ec724a89756e79371784a2ba3f9700f8e5c6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "Alexays",
|
||||
"repo": "Waybar",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"xdph": {
|
||||
"inputs": {
|
||||
"hyprland-protocols": [
|
||||
@@ -1189,11 +1121,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1772476586,
|
||||
"narHash": "sha256-N/ZwsRLULLpBP5ecvAUzNq8E/CgLRwPwSrHyY3xB5KM=",
|
||||
"lastModified": 1784371182,
|
||||
"narHash": "sha256-S8A1lezEalltWcCp3gAic5lssS0xTSISK6fKODefhOk=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "xdg-desktop-portal-hyprland",
|
||||
"rev": "eb6c02a2ead882f3474f3d7f2fbe966b64ed5110",
|
||||
"rev": "08d99f727944dd15e4740090305e31c5fb92a50a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1205,15 +1137,17 @@
|
||||
"yazi": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": "nixpkgs_8",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"rust-overlay": "rust-overlay_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1783245985,
|
||||
"narHash": "sha256-dbtTQlBu2IMJF/mcwzOmzCWcJnDdWR6K/IfQj5j8oHo=",
|
||||
"lastModified": 1789171366,
|
||||
"narHash": "sha256-b7B5VQC96NJx0/q5pTVWqgGjyCiO0Cz1aPfVJcBXLfA=",
|
||||
"owner": "sxyazi",
|
||||
"repo": "yazi",
|
||||
"rev": "c92c4aba884c16d318a92f6bc0517ee0d2bcc414",
|
||||
"rev": "b8973fb4c2b9b184aad03cfc717c1fefe4140c40",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1225,11 +1159,11 @@
|
||||
"yazi-plugins": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1783246245,
|
||||
"narHash": "sha256-f4y952sUF/lrHMX6enQts/obk2DeatqAcaVHfjTD65k=",
|
||||
"lastModified": 1788955781,
|
||||
"narHash": "sha256-kwf9+KXOL5JXGDoEGdtwq+JujP8GVoOwDgz76FBM3xk=",
|
||||
"owner": "yazi-rs",
|
||||
"repo": "plugins",
|
||||
"rev": "8cd50c622898d3ace3ca821f540241965308289a",
|
||||
"rev": "58c4f4e2f4835cc9bf6751f39e3f7c574fc7f55a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -19,35 +19,72 @@
|
||||
};
|
||||
|
||||
inputs = {
|
||||
aagl.url = "github:ezKEa/aagl-gtk-on-nix";
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-26.05";
|
||||
nixpkgs-pinned.url = "github:nixos/nixpkgs/ec942ba042dad5ef097e2ef3a3effc034241f011";
|
||||
aagl = {
|
||||
url = "github:ezKEa/aagl-gtk-on-nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
ags = {
|
||||
url = "github:Aylur/ags/3ed9737bdbc8fc7a7c7ceef2165c9109f336bff6";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
disko = {
|
||||
url = "github:nix-community/disko";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
sops-nix.url = "github:Mic92/sops-nix";
|
||||
stylix.url = "github:danth/stylix";
|
||||
ags.url = "github:Aylur/ags/3ed9737bdbc8fc7a7c7ceef2165c9109f336bff6";
|
||||
helix-steel.url = "github:mattwparas/helix/steel-event-system";
|
||||
|
||||
yazi.url = "github:sxyazi/yazi";
|
||||
yazi-plugins = {
|
||||
url = "github:yazi-rs/plugins";
|
||||
flake = false;
|
||||
};
|
||||
|
||||
hyprland.url = "github:hyprwm/Hyprland/v0.54.2-b";
|
||||
hyprland-plugins = {
|
||||
url = "github:hyprwm/hyprland-plugins";
|
||||
inputs.hyprland.follows = "hyprland";
|
||||
helix-steel = {
|
||||
url = "github:mattwparas/helix/steel-event-system";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
hyprland = {
|
||||
url = "github:hyprwm/Hyprland/v0.56.1";
|
||||
# inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
hyprland-plugins = {
|
||||
url = "github:hyprwm/hyprland-plugins";
|
||||
inputs = {
|
||||
hyprland.follows = "hyprland";
|
||||
# nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
nixpkgs-pinned.url = "github:nixos/nixpkgs/ec942ba042dad5ef097e2ef3a3effc034241f011";
|
||||
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-26.05";
|
||||
|
||||
sops-nix = {
|
||||
url = "github:Mic92/sops-nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
stylix = {
|
||||
url = "github:danth/stylix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
waybar = {
|
||||
url = "github:Alexays/Waybar";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
yazi = {
|
||||
url = "github:sxyazi/yazi";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
yazi-plugins = {
|
||||
url = "github:yazi-rs/plugins";
|
||||
flake = false;
|
||||
};
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, nixpkgs-stable, nixpkgs-pinned, home-manager, ... }@inputs: let
|
||||
|
||||
@@ -1,27 +1,40 @@
|
||||
{ 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 = {
|
||||
monitor = [
|
||||
"DP-3 , 1920x1080@165, 0x0 , 1"
|
||||
"HDMI-A-1, preferred , -1080x0, 1, transform, 1"
|
||||
];
|
||||
{ pkgs, lib, ... }:
|
||||
let
|
||||
hyprLua = import ../../../modules/user/hyprland/lua.nix { inherit lib; };
|
||||
wallpaper = pkgs.fetchurl {
|
||||
name = "miku_wallpaper.jpg";
|
||||
url = "https://c.lair.moe/pub/miku_wallpaper.jpeg?raw";
|
||||
hash = "sha256-inK4X5KzQk5FHwDw2DYy43nm7XtXlC6I0S1PkYUv+3w=";
|
||||
};
|
||||
in {
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
monitor = [
|
||||
{
|
||||
output = "DP-3";
|
||||
mode = "1920x1080@165";
|
||||
position = "0x0";
|
||||
scale = 1;
|
||||
}
|
||||
{
|
||||
output = "HDMI-A-1";
|
||||
mode = "preferred";
|
||||
position = "-1080x0";
|
||||
scale = 1;
|
||||
transform = 1;
|
||||
}
|
||||
];
|
||||
|
||||
workspace = [
|
||||
"1, monitor:DP-3, default:true"
|
||||
"10, monitor:HDMI-A-1, default:true"
|
||||
];
|
||||
workspace_rule = [
|
||||
{ workspace = "1"; monitor = "DP-3"; default = true; }
|
||||
{ workspace = "10"; monitor = "HDMI-A-1"; default = true; }
|
||||
];
|
||||
|
||||
exec-once = [
|
||||
"hyprctl dispatch workspace 1"
|
||||
on = [
|
||||
(hyprLua.onStart [
|
||||
"hyprctl dispatch 'hl.dsp.focus({ workspace = 1 })'"
|
||||
"${lib.getExe pkgs.swww} img -o HDMI-A-1 ${wallpaper}"
|
||||
"${lib.getExe pkgs.linux-wallpaperengine} ~/.local/share/wpe/wallpaper --assets-dir ~/.local/share/wpe/assets --screen-root DP-3 --noautomute"
|
||||
];
|
||||
};
|
||||
])
|
||||
];
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,15 +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}"
|
||||
];
|
||||
};
|
||||
{ pkgs, lib, ... }:
|
||||
let
|
||||
hyprLua = import ../../../modules/user/hyprland/lua.nix { inherit lib; };
|
||||
wallpaper = pkgs.fetchurl {
|
||||
name = "miku_wallpaper.jpg";
|
||||
url = "https://c.lair.moe/pub/miku_wallpaper.jpeg?raw";
|
||||
hash = "sha256-inK4X5KzQk5FHwDw2DYy43nm7XtXlC6I0S1PkYUv+3w=";
|
||||
};
|
||||
}
|
||||
in {
|
||||
wayland.windowManager.hyprland.settings.on = [
|
||||
(hyprLua.onStart [
|
||||
"${lib.getExe pkgs.swww} img -o eDP-1 ${wallpaper}"
|
||||
])
|
||||
];
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
./disko.nix
|
||||
./secrets/secrets.nix
|
||||
./modules/grub.nix
|
||||
./modules/syncthing.nix
|
||||
../modules/thinkpad.nix
|
||||
../modules/gpu/intel.nix
|
||||
|
||||
@@ -28,6 +29,9 @@
|
||||
hardware.bluetooth.enable = true;
|
||||
host.laptop = true;
|
||||
|
||||
hardware.usb-modeswitch.enable = true;
|
||||
networking.modemmanager.enable = true;
|
||||
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
gamescopeSession.enable = true;
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
{
|
||||
wayland.windowManager.hyprland = {
|
||||
settings = {
|
||||
monitor = [
|
||||
"eDP-1, 1920x1080@60, 0x0, 1"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
wayland.windowManager.hyprland.settings.monitor = [
|
||||
{
|
||||
output = "eDP-1";
|
||||
mode = "1920x1080@60";
|
||||
position = "0x0";
|
||||
scale = 1;
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
{ config, ... }: {
|
||||
services.syncthing = {
|
||||
enable = true;
|
||||
openDefaultPorts = true;
|
||||
|
||||
user = "sweetbread";
|
||||
dataDir = "/home/sweetbread/.config/syncthing";
|
||||
|
||||
key = config.sops.secrets.syncthing_key.path;
|
||||
cert = config.sops.secrets.syncthing_cert.path;
|
||||
|
||||
settings = {
|
||||
devices = {
|
||||
Rias.id = "EC5AGVN-2RKJDHN-NOSB7PQ-IRYCEEW-NPPDUGX-6QGSLUU-YIT5ZZZ-RVPTHQ6";
|
||||
Akeno.id = "QDW3WJX-J7ETS4R-32CUAIY-EGNM2RD-ZEHOUW2-CHOEOUG-USZOWTR-HHQS2QX";
|
||||
Koneko.id = "PJFWQRY-ZFUBGDR-NV7KVBL-UBDQ4HT-KPTYP34-MUDFPJU-4EZUHTT-ZLYRMAB";
|
||||
};
|
||||
|
||||
folders = {
|
||||
"Music" = {
|
||||
path = "/home/sweetbread/Music";
|
||||
devices = [ "Rias" "Akeno" "Koneko" ];
|
||||
};
|
||||
|
||||
"Obsidian" = {
|
||||
path = "/home/sweetbread/Documents/Obsidian";
|
||||
devices = [ "Rias" "Akeno" "Koneko" ];
|
||||
};
|
||||
|
||||
"Documents" = {
|
||||
path = "/home/sweetbread/Documents";
|
||||
devices = [ "Rias" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.syncthing.environment.STNODEFAULTFOLDER = "true";
|
||||
}
|
||||
@@ -6,6 +6,15 @@
|
||||
format = "binary";
|
||||
sopsFile = ../../Rias/secrets/vpn_bolt.db;
|
||||
};
|
||||
|
||||
syncthing_cert = {
|
||||
format = "binary";
|
||||
sopsFile = ./syncthing_cert.pem;
|
||||
};
|
||||
syncthing_key = {
|
||||
format = "binary";
|
||||
sopsFile = ./syncthing_key.pem;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"data": "ENC[AES256_GCM,data:rMr83F9VyGV5dp2XqXGAh3X2sCczUb0chH/2Hn9N9tijfRsOLGqHuy/zy29aOHR0PJ4euTU3bhmxWrBV/7oTnnEfI7DFF0vX4eBDaK8BzwAzrzXHYJOAgcwuYSqEEyWiLvTGABuLhTEto9kIMLxVIssa679s7zQSRwemVJSA3fEdtYD0BLAiO/ZtiAEmitgEt4EBRp9DhJPqlh2YfMmP6DpkDSy0hk+S+0NZg7eyrp7fivldiLzjsYDwCsugFcZQtWOqLMHY0kYhou8c2CKXu8UyqVVx24DyWfBfD1TH2pOk1ZsXFsxhFFKp5wcsfi0xDF1BG4hANcHVa6pR6y5JxNzh53xaH3NuvNJFEQSGJw5fNMuCrDnkYLDpU3xezzjvvxI01y7i2A00zsLli1fc9HA67ZlP1OBzsI7FyMgZlnOXQpbqnkj+kZdYAdOTjjMzQvrPusVS3RvqvcWj1qZtnHa1ZGmWh7xG0J10lQB4uDmTSxWoUUi7VmLXTC16HQNMySd8GbFmD/4Nj+/SxDShgsiug7L4hICjPC8Isosy99tE2wRXpjmMYUdlD7zu/vyEMxVPhkWnJyZZPXG+DjGBc/Diaw4ufYNxUs4yIRDceMArirubt/sN/eUoGOBGVWxvGm0/olTott7Yr+YKRSrDyWo9SWCz1qgz/ydpXm+xE7bPtbj9eAObZwneB/0tZTyo8o1WKd9yUST89m91EMQ31R97yCBwDW19VftWVCZH2w+QHNunih4ZUNiALQS745T2petbvc63iNiZswu0l3qoVM8x3y1RhAPLbsZpwQWSca307iDfBTB6uVW4HwLtL30=,iv:ajC3mjCYKUqS7XGIN64NiJoG6wHMvGdcHhazSO860ms=,tag:31fWG7m2neW2Pft9TjmBGg==,type:str]",
|
||||
"sops": {
|
||||
"age": [
|
||||
{
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBuQUNTSDVIeDRuMmtTWXZD\nU0x4OVJrUStFeW5QV0pOZ2hEZnJZQ09UbW5RCmwxbjhuWis1Q3BCTGtOdS8zNE0w\nL0pDK3dBY1hxZ2dCNG96RlA0dkNWVWMKLS0tIHFld2hUdm11dk5hT2ZtRXpId0VG\nRDM0L05jS0lGcnJBYWVNWElIazdlaUEKugvBGcCzYTZL6aC6mI6GCzhiPFYql75z\nSBfalDmqSVU2k1IBqsNHIYSxzOXwUiGS3MSHJUCf7M2y9X3dHJGeyw==\n-----END AGE ENCRYPTED FILE-----\n",
|
||||
"recipient": "age1j3uuyax673fvl5x4dveupq3dylngnrq0e5uy7fmclsexkfd25vysk646wk"
|
||||
}
|
||||
],
|
||||
"lastmodified": "2026-07-21T20:27:59Z",
|
||||
"mac": "ENC[AES256_GCM,data:lYZH1f3TyvcgqWI9hVOP3l2xImRh+LL0volXVUYSdGBnQTsAJfzMdsol/SsETwNNn+KrANC3ucO0/MXOWDK7ZPJ5Oq9R+OQnM8LK9/5mNfbzgodTw0RaH8FsrrtBCtHn3H2rlrBoPFEArblWKOh0G9iyrmufT09OREGt/G0tE5o=,iv:vmB1CY3sVajvLS8zAS/0I+NgnAOStbUkzQdw6XY45y4=,tag:mZP/eZVn+DJq+OT1ghtOkQ==,type:str]",
|
||||
"version": "3.13.2"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"data": "ENC[AES256_GCM,data:2nMwCxU1y0zE5VtnmEf3lT4XyI9e8dokPkipo3TXpxuRJZ9OXCOb0n4pHb4Xx9OlDgAeW2UX70cR1Wtj7QPQx9h/HYZTmUeIP4rvlTPhaxs/2F33ud1lPKceV2DK2q8G/EvPLnlCcLWMvy6BVsqBlNmjAzNonWI=,iv:7H0o0i3zp7K2demt1O2Pw4BNt+2q4PhHBw1K/jC7OH4=,tag:Bx82eo5kQqwlb6egYmopgQ==,type:str]",
|
||||
"sops": {
|
||||
"age": [
|
||||
{
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA2Vzl3M3pFblY5SmRQRUtI\nNWFCbWZJQTJTOWFHdTd1YkJEbXFGOFhBTUNNClBKdWhGdmh3Q2dUNkpMUUU3Zmdq\nUFd1M2twNW1KRGErRHUvc1BLY2pMT3MKLS0tIElVZ0RVVFQrb1FuYnJ0OU44RWZK\nbnpJZnFLR3kzV3VRaytQRDMrYkg5S2sKkr97EwJmtcIsRYH4di+tadTWnWzuCDa9\ngY+CKCVEPUgD1AXSgCwCP2AVd/zaKUbm6d6UA2QzZyqGsRim56WFsQ==\n-----END AGE ENCRYPTED FILE-----\n",
|
||||
"recipient": "age1j3uuyax673fvl5x4dveupq3dylngnrq0e5uy7fmclsexkfd25vysk646wk"
|
||||
}
|
||||
],
|
||||
"lastmodified": "2026-07-21T20:28:23Z",
|
||||
"mac": "ENC[AES256_GCM,data:ohYjzIYDilW7lsmZFZXpF629yevO2p8laA7Zl0+NCvZ8dB4nthLUePsnLTYCrEo5ADbboM5Cka11FiYbmB1IMR4mEdRwTN37EsQtyYLZbZ+j4XPsuXO0UT0NmWWiFNJlQEWfTVbhaZRDQXcPpVvm+6qQfRub018/0C59oWpmbyA=,iv:SX1QDDUWZyxE0zODAImcGGHJI7KGKYx9/6Q9F+9SVCQ=,tag:AExTZIfAKTCeU9c3Qj+IUw==,type:str]",
|
||||
"version": "3.13.2"
|
||||
}
|
||||
}
|
||||
@@ -11,6 +11,10 @@
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
environment.etc.crypttab.text = ''
|
||||
storage UUID=9327148b-788a-4c23-ac73-28464ffabe1b none luks
|
||||
'';
|
||||
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-label/NixOS";
|
||||
fsType = "ext4";
|
||||
@@ -23,9 +27,9 @@
|
||||
};
|
||||
|
||||
fileSystems."/mnt/D" = {
|
||||
device = "/dev/disk/by-label/Data";
|
||||
fsType = "ntfs3";
|
||||
options = ["umask=0022" "gid=100" "uid=1000" "nofail" ];
|
||||
device = "/dev/mapper/storage";
|
||||
fsType = "ext4";
|
||||
options = [ "noatime" "nofail" ];
|
||||
};
|
||||
|
||||
swapDevices = [ ];
|
||||
|
||||
@@ -1,44 +1,50 @@
|
||||
{ pkgs, lib, ...}: {
|
||||
wayland.windowManager.hyprland = let
|
||||
monitor-switcher = pkgs.writers.writeBashBin "monitor_switcher" /*bash*/ ''
|
||||
MODE=$1
|
||||
{ pkgs, lib, ... }:
|
||||
let
|
||||
hyprLua = import ../../../modules/user/hyprland/lua.nix { inherit lib; };
|
||||
|
||||
case $MODE in
|
||||
"tv")
|
||||
hyprctl keyword monitor "DP-3, 1920x1080@60, 3840x0, 1"
|
||||
hyprctl keyword monitor "HDMI-A-1, 3840x2160@60, 0x0, 1"
|
||||
notify-send "TV mode"
|
||||
;;
|
||||
monitor-switcher = pkgs.writers.writeBashBin "monitor_switcher" /*bash*/ ''
|
||||
MODE=$1
|
||||
|
||||
"mirror")
|
||||
hyprctl keyword monitor "HDMI-A-1, 3840x2160@60, 0x0, 1"
|
||||
hyprctl keyword monitor "DP-3, preferred, auto, 1, mirror, HDMI-A-1"
|
||||
notify-send "TV-only mode"
|
||||
;;
|
||||
case $MODE in
|
||||
"tv")
|
||||
hyprctl eval 'hl.monitor({ output = "DP-3", mode = "1920x1080@60", position = "3840x0", scale = 1 })'
|
||||
hyprctl eval 'hl.monitor({ output = "HDMI-A-1", mode = "3840x2160@60", position = "0x0", scale = 1 })'
|
||||
notify-send "TV mode"
|
||||
;;
|
||||
|
||||
"display"|*)
|
||||
hyprctl keyword monitor "HDMI-A-1, disable"
|
||||
hyprctl keyword monitor "DP-3, 3440x1440@165, 0x0, 1"
|
||||
notify-send "Display mode"
|
||||
;;
|
||||
"mirror")
|
||||
hyprctl eval 'hl.monitor({ output = "HDMI-A-1", mode = "3840x2160@60", position = "0x0", scale = 1 })'
|
||||
hyprctl eval 'hl.monitor({ output = "DP-3", mode = "preferred", position = "auto", scale = 1, mirror = "HDMI-A-1" })'
|
||||
notify-send "TV-only mode"
|
||||
;;
|
||||
|
||||
esac
|
||||
'';
|
||||
in {
|
||||
settings = {
|
||||
monitor = [
|
||||
"DP-3, 3440x1440@165, auto-right, 1"
|
||||
# "HDMI-A-1, 3840x2160@60, auto-left, 2"
|
||||
"HDMI-A-1, disabled"
|
||||
];
|
||||
"display"|*)
|
||||
hyprctl eval 'hl.monitor({ output = "HDMI-A-1", disabled = true })'
|
||||
hyprctl eval 'hl.monitor({ output = "DP-3", mode = "3440x1440@165", position = "0x0", scale = 1 })'
|
||||
notify-send "Display mode"
|
||||
;;
|
||||
esac
|
||||
'';
|
||||
in {
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
monitor = [
|
||||
{
|
||||
output = "DP-3";
|
||||
mode = "3440x1440@165";
|
||||
position = "auto-right";
|
||||
scale = 1;
|
||||
}
|
||||
{
|
||||
output = "HDMI-A-1";
|
||||
disabled = true;
|
||||
}
|
||||
];
|
||||
|
||||
bind = [
|
||||
'', XF86Calculator, exec, ghostty --title=pulsemixer -e pulsemixer''
|
||||
|
||||
''$mainMod, F1, exec, ${lib.getExe monitor-switcher} tv''
|
||||
''$mainMod, F2, exec, ${lib.getExe monitor-switcher} mirror''
|
||||
''$mainMod, F3, exec, ${lib.getExe monitor-switcher}''
|
||||
];
|
||||
};
|
||||
bind = [
|
||||
(hyprLua.bind "XF86Calculator" (hyprLua.exec "ghostty --title=pulsemixer -e pulsemixer"))
|
||||
(hyprLua.bind "SUPER + F1" (hyprLua.exec "${lib.getExe monitor-switcher} tv"))
|
||||
(hyprLua.bind "SUPER + F2" (hyprLua.exec "${lib.getExe monitor-switcher} mirror"))
|
||||
(hyprLua.bind "SUPER + F3" (hyprLua.exec "${lib.getExe monitor-switcher}"))
|
||||
];
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,8 +11,9 @@
|
||||
|
||||
settings = {
|
||||
devices = {
|
||||
Akeno = { id = "QDW3WJX-J7ETS4R-32CUAIY-EGNM2RD-ZEHOUW2-CHOEOUG-USZOWTR-HHQS2QX"; };
|
||||
Koneko = { id = "PJFWQRY-ZFUBGDR-NV7KVBL-UBDQ4HT-KPTYP34-MUDFPJU-4EZUHTT-ZLYRMAB"; };
|
||||
Akeno.id = "QDW3WJX-J7ETS4R-32CUAIY-EGNM2RD-ZEHOUW2-CHOEOUG-USZOWTR-HHQS2QX";
|
||||
Koneko.id = "PJFWQRY-ZFUBGDR-NV7KVBL-UBDQ4HT-KPTYP34-MUDFPJU-4EZUHTT-ZLYRMAB";
|
||||
Inaho.id = "GEHWQFQ-MPIMQ7R-QEWSOEB-BIZAHSZ-5YOFATK-KDIXFMV-JX3OF6G-ZPNZMA4";
|
||||
};
|
||||
|
||||
folders = {
|
||||
@@ -33,7 +34,17 @@
|
||||
|
||||
"Music" = {
|
||||
path = "/home/sweetbread/Music";
|
||||
devices = [ "Akeno" "Koneko" ];
|
||||
devices = [ "Akeno" "Koneko" "Inaho" ];
|
||||
};
|
||||
|
||||
"Obsidian" = {
|
||||
path = "/mnt/D/Obsidian";
|
||||
devices = [ "Koneko" "Inaho" ];
|
||||
};
|
||||
|
||||
"Documents" = {
|
||||
path = "/home/sweetbread/Documents";
|
||||
devices = [ "Inaho" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
{
|
||||
wayland.windowManager.hyprland = {
|
||||
settings = {
|
||||
monitor = [
|
||||
"eDP-1, 1920x1080@60, 0x0, 1"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
wayland.windowManager.hyprland.settings.monitor = [
|
||||
{
|
||||
output = "eDP-1";
|
||||
mode = "1920x1080@60";
|
||||
position = "0x0";
|
||||
scale = 1;
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
nix.settings = {
|
||||
keep-going = true;
|
||||
extra-substituters = [ "https://nix.lair.moe/main" ];
|
||||
extra-trusted-public-keys = [ "main:kpwMe+9BsGJ/IUb7i3iadaV38y5/Yuqoct0mf7wI9ds=" ];
|
||||
extra-trusted-public-keys = [ "main:tR2gNhCBJHKAlVgohPNHBhGnWL55tB8SxXmMWJe5lo8=" ];
|
||||
experimental-features = [ "nix-command" "flakes" ];
|
||||
};
|
||||
networking.hostName = hostname;
|
||||
|
||||
@@ -44,8 +44,8 @@
|
||||
fprintd.enable = true;
|
||||
|
||||
logind.settings.Login = {
|
||||
HandleLidSwitch = "suspend";
|
||||
HandleLidSwitchExternalPower = "suspend";
|
||||
HandleLidSwitch = "suspend-then-hibernate";
|
||||
HandleLidSwitchExternalPower = "suspend-then-hibernate";
|
||||
HandlePowerKey = "poweroff";
|
||||
};
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
# Preserve batteries when the laptop is usually on AC.
|
||||
# Raise STOP_* to 100 if maximum autonomy matters more than battery wear.
|
||||
START_CHARGE_THRESH_BAT0 = 70;
|
||||
STOP_CHARGE_THRESH_BAT0 = 85;
|
||||
STOP_CHARGE_THRESH_BAT0 = 95;
|
||||
START_CHARGE_THRESH_BAT1 = 70;
|
||||
STOP_CHARGE_THRESH_BAT1 = 85;
|
||||
RESTORE_THRESHOLDS_ON_BAT = 1;
|
||||
|
||||
+1
-1
@@ -15,6 +15,7 @@
|
||||
./host/virtmanager.nix
|
||||
./host/vpn.nix
|
||||
./host/yggdrasil.nix
|
||||
./host/mtp.nix
|
||||
];
|
||||
|
||||
programs = {
|
||||
@@ -48,7 +49,6 @@
|
||||
};
|
||||
|
||||
services = {
|
||||
udisks2.enable = true;
|
||||
fstrim.enable = true;
|
||||
upower.enable = true;
|
||||
};
|
||||
|
||||
@@ -9,7 +9,7 @@ lib.mkIf config.programs.gamemode.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
mangohud
|
||||
protonup-ng
|
||||
pkgs-stable.bottles
|
||||
bottles
|
||||
pkgs-stable.heroic
|
||||
prismlauncher
|
||||
];
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
{ pkgs, ... }: {
|
||||
environment.systemPackages = [ pkgs.glib ];
|
||||
programs.fuse.enable = true;
|
||||
services.gvfs.enable = true;
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{ pkgs, lib, ... }:
|
||||
let
|
||||
sol = pkgs.writers.writePython3 "shutdown-on-lan.py" {
|
||||
libraries = [ pkgs.python313Packages.psutil ];
|
||||
libraries = ps: [ ps.psutil ];
|
||||
flakeIgnore = [ "E302" "E305" "E501" "E701" ];
|
||||
} /*py*/ ''
|
||||
# https://habr.com/ru/articles/816765/
|
||||
|
||||
+77
-7
@@ -1,4 +1,4 @@
|
||||
{ inputs, pkgs, ... }: let
|
||||
{ inputs, pkgs, lib, config, ... }: let
|
||||
helixSteel =
|
||||
inputs.helix-steel.packages.${pkgs.system}.default.overrideAttrs (old: {
|
||||
cargoBuildFlags = (old.cargoBuildFlags or []) ++ [
|
||||
@@ -68,11 +68,40 @@
|
||||
PY
|
||||
'';
|
||||
in {
|
||||
home.packages = with pkgs; [
|
||||
asm-lsp
|
||||
fasm
|
||||
steel
|
||||
wakatime-cli
|
||||
];
|
||||
|
||||
home.activation.installWakatimeHx = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
|
||||
export PATH="${pkgs.steel}/bin:$PATH"
|
||||
export STEEL_HOME="${config.xdg.dataHome}/steel"
|
||||
|
||||
if [ ! -f "$STEEL_HOME/cogs/wakatime/wakatime.scm" ]; then
|
||||
forge pkg install --git https://github.com/Xerxes-2/wakatime.hx.git
|
||||
fi
|
||||
'';
|
||||
|
||||
programs.helix = {
|
||||
enable = true;
|
||||
package = helixSteel;
|
||||
defaultEditor = true;
|
||||
|
||||
languages = {
|
||||
language-server.asm-lsp.command = "asm-lsp";
|
||||
|
||||
language = [
|
||||
{
|
||||
name = "nasm";
|
||||
file-types = [ "asm" "inc" ];
|
||||
comment-token = ";";
|
||||
language-servers = [ "asm-lsp" ];
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
settings = {
|
||||
# theme = "catppuccin-mocha";
|
||||
editor = {
|
||||
@@ -96,22 +125,51 @@ in {
|
||||
};
|
||||
|
||||
keys.normal = {
|
||||
space.C-c = {
|
||||
h = ":comment-h1";
|
||||
j = ":comment-h2";
|
||||
k = ":comment-h3";
|
||||
d = ":comment-divider";
|
||||
space = {
|
||||
C-a = {
|
||||
b = ":fasm-build";
|
||||
r = ":fasm-run";
|
||||
c = ":fasm-clean";
|
||||
};
|
||||
|
||||
C-c = {
|
||||
h = ":comment-h1";
|
||||
j = ":comment-h2";
|
||||
k = ":comment-h3";
|
||||
d = ":comment-divider";
|
||||
};
|
||||
};
|
||||
|
||||
S-down = ["extend_to_line_bounds" "delete_selection" "paste_after"];
|
||||
S-up = ["extend_to_line_bounds" "delete_selection" "move_line_up" "paste_before"];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
xdg.configFile = {
|
||||
"asm-lsp/.asm-lsp.toml".text = ''
|
||||
[default_config]
|
||||
assembler = "fasm"
|
||||
instruction_set = "x86/x86-64"
|
||||
|
||||
[opts]
|
||||
compiler = "fasm"
|
||||
diagnostics = true
|
||||
default_diagnostics = true
|
||||
'';
|
||||
|
||||
"helix/cogs/comment_headers.scm".source = patched-comment-headers;
|
||||
"helix/helix.scm".text = ''
|
||||
(require (prefix-in div. "cogs/comment_headers.scm"))
|
||||
(require (prefix-in helix. "helix/commands.scm"))
|
||||
|
||||
(provide comment-h1 comment-h2 comment-h3 comment-divider)
|
||||
(provide comment-h1
|
||||
comment-h2
|
||||
comment-h3
|
||||
comment-divider
|
||||
fasm-build
|
||||
fasm-run
|
||||
fasm-clean)
|
||||
|
||||
(define (comment-h1)
|
||||
(div.insert-h1!))
|
||||
@@ -124,9 +182,21 @@ in {
|
||||
|
||||
(define (comment-divider)
|
||||
(div.insert-divider! 80 "~"))
|
||||
|
||||
(define (fasm-build)
|
||||
(helix.write)
|
||||
(helix.run-shell-command "just" "build"))
|
||||
|
||||
(define (fasm-run)
|
||||
(helix.write)
|
||||
(helix.run-shell-command "just" "run"))
|
||||
|
||||
(define (fasm-clean)
|
||||
(helix.run-shell-command "just" "clean"))
|
||||
'';
|
||||
"helix/init.scm".text = ''
|
||||
;; Steel init file
|
||||
(require "wakatime/wakatime.scm")
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
||||
+150
-174
@@ -1,6 +1,26 @@
|
||||
{ pkgs, lib, config, osConfig, inputs, username, ... }: let
|
||||
{ pkgs, lib, config, osConfig, inputs, username, ... }:
|
||||
let
|
||||
optImport = path: lib.optional (builtins.pathExists path) path;
|
||||
hostname = osConfig.networking.hostName;
|
||||
hyprLua = import ./hyprland/lua.nix { inherit lib; };
|
||||
inherit (hyprLua) bind bindWithFlags exec onStart;
|
||||
|
||||
direction = {
|
||||
left = "l";
|
||||
right = "r";
|
||||
up = "u";
|
||||
down = "d";
|
||||
};
|
||||
|
||||
workspaceBinds = lib.concatMap (workspace:
|
||||
let
|
||||
key = if workspace == 10 then "0" else toString workspace;
|
||||
workspaceValue = toString workspace;
|
||||
in [
|
||||
(bind "SUPER + ${key}" "hl.dsp.focus({ workspace = ${workspaceValue} })")
|
||||
(bind "SUPER + SHIFT + ${key}" "hl.dsp.window.move({ workspace = ${workspaceValue}, follow = false })")
|
||||
]
|
||||
) (lib.range 1 10);
|
||||
in {
|
||||
imports = [
|
||||
./hyprland/zoom.nix
|
||||
@@ -19,11 +39,9 @@ in {
|
||||
wifitui
|
||||
];
|
||||
|
||||
wayland.windowManager.hyprland = let
|
||||
colors = config.lib.stylix.colors;
|
||||
in {
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
configType = "hyprlang";
|
||||
configType = "lua";
|
||||
xwayland.enable = true;
|
||||
|
||||
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
||||
@@ -32,200 +50,158 @@ in {
|
||||
];
|
||||
|
||||
settings = {
|
||||
"$mainMod" = "SUPER";
|
||||
config = {
|
||||
ecosystem = {
|
||||
no_donation_nag = true;
|
||||
no_update_news = true;
|
||||
};
|
||||
|
||||
ecosystem = {
|
||||
no_donation_nag = true;
|
||||
no_update_news = true;
|
||||
cursor.no_hardware_cursors = 1;
|
||||
|
||||
debug = {
|
||||
disable_logs = false;
|
||||
enable_stdout_logs = true;
|
||||
};
|
||||
|
||||
general."col.inactive_border" = lib.mkForce "rgba(00000000)";
|
||||
|
||||
decoration = {
|
||||
inactive_opacity = lib.mkDefault 0.95;
|
||||
border_part_of_window = false;
|
||||
};
|
||||
|
||||
misc.focus_on_activate = true;
|
||||
|
||||
input = {
|
||||
kb_layout = "us,ru";
|
||||
kb_options = "grp:caps_toggle";
|
||||
numlock_by_default = true;
|
||||
follow_mouse = 1;
|
||||
touchpad.natural_scroll = false;
|
||||
sensitivity = 0;
|
||||
};
|
||||
|
||||
gestures = {
|
||||
workspace_swipe_invert = true;
|
||||
workspace_swipe_distance = 200;
|
||||
workspace_swipe_forever = true;
|
||||
};
|
||||
};
|
||||
|
||||
env = [
|
||||
"XDG_SESSION_TYPE,wayland"
|
||||
"QT_QPA_PLATFORM,wayland"
|
||||
"QT_QPA_PLATFORMTHEME,xdgdesktopportal"
|
||||
"GTK_USE_PORTAL,1"
|
||||
"TDESKTOP_USE_GTK_FILE_DIALOG,1"
|
||||
"NIXOS_OZONE_WL,1"
|
||||
"ELECTRON_OZONE_PLATFORM_HINT,auto"
|
||||
|
||||
"XDG_CURRENT_DESKTOP,Hyprland"
|
||||
"XDG_SESSION_DESKTOP,Hyprland"
|
||||
|
||||
"XCURSOR_SIZE, ${toString config.stylix.cursor.size}"
|
||||
"XCURSOR_THEME, ${config.stylix.cursor.name}"
|
||||
|
||||
"XDG_SCREENSHOTS_DIR,~/screens"
|
||||
{ _args = [ "XDG_SESSION_TYPE" "wayland" ]; }
|
||||
{ _args = [ "QT_QPA_PLATFORM" "wayland" ]; }
|
||||
{ _args = [ "QT_QPA_PLATFORMTHEME" "xdgdesktopportal" ]; }
|
||||
{ _args = [ "GTK_USE_PORTAL" "1" ]; }
|
||||
{ _args = [ "TDESKTOP_USE_GTK_FILE_DIALOG" "1" ]; }
|
||||
{ _args = [ "NIXOS_OZONE_WL" "1" ]; }
|
||||
{ _args = [ "ELECTRON_OZONE_PLATFORM_HINT" "auto" ]; }
|
||||
{ _args = [ "XDG_CURRENT_DESKTOP" "Hyprland" ]; }
|
||||
{ _args = [ "XDG_SESSION_DESKTOP" "Hyprland" ]; }
|
||||
{ _args = [ "XCURSOR_SIZE" (toString config.stylix.cursor.size) ]; }
|
||||
{ _args = [ "XCURSOR_THEME" config.stylix.cursor.name ]; }
|
||||
{ _args = [ "XDG_SCREENSHOTS_DIR" "~/screens" ]; }
|
||||
];
|
||||
|
||||
cursor.no_hardware_cursors = true;
|
||||
|
||||
debug = {
|
||||
disable_logs = false;
|
||||
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 = {
|
||||
focus_on_activate = true;
|
||||
};
|
||||
|
||||
input = {
|
||||
kb_layout = "us,ru";
|
||||
kb_options = "grp:caps_toggle";
|
||||
numlock_by_default = true;
|
||||
|
||||
follow_mouse = 1;
|
||||
|
||||
touchpad = {
|
||||
natural_scroll = false;
|
||||
};
|
||||
|
||||
sensitivity = 0;
|
||||
};
|
||||
|
||||
gestures = {
|
||||
workspace_swipe_invert = true;
|
||||
workspace_swipe_distance = 200;
|
||||
workspace_swipe_forever = true;
|
||||
};
|
||||
|
||||
gesture = [
|
||||
"3, horizontal, workspace"
|
||||
{
|
||||
fingers = 3;
|
||||
direction = "horizontal";
|
||||
action = "workspace";
|
||||
}
|
||||
];
|
||||
|
||||
workspace = [
|
||||
"w[t1], gapsout:0"
|
||||
workspace_rule = [
|
||||
{
|
||||
workspace = "w[t1]";
|
||||
gaps_out = 0;
|
||||
}
|
||||
];
|
||||
|
||||
windowrule = [
|
||||
"match:class imv, float 1"
|
||||
"match:class feh, float 1"
|
||||
"match:class mpv, float 1"
|
||||
|
||||
"match:title Список друзей, float 1"
|
||||
"match:title wifitui, float 1"
|
||||
"match:title pulsemixer, float 1"
|
||||
|
||||
"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"
|
||||
window_rule = [
|
||||
{ match.class = "imv"; float = true; }
|
||||
{ match.class = "feh"; float = true; }
|
||||
{ match.class = "mpv"; float = true; }
|
||||
{ match.title = "Список друзей"; float = true; }
|
||||
{ match.title = "wifitui"; float = true; }
|
||||
{ match.title = "pulsemixer"; float = true; }
|
||||
{ match.title = "clipse"; float = true; }
|
||||
{ match.title = "clipse"; size = [ 622 652 ]; }
|
||||
{ match.focus = true; rounding = 0; }
|
||||
{
|
||||
match = {
|
||||
float = false;
|
||||
workspace = "w[t1]";
|
||||
};
|
||||
border_size = 0;
|
||||
}
|
||||
];
|
||||
|
||||
exec-once = lib.mkBefore [
|
||||
"systemctl --user start plasma-polkit-agent"
|
||||
"${lib.getExe' pkgs.dbus "dbus-update-activation-environment"} --systemd --all"
|
||||
"systemctl --user import-environment XDG_CURRENT_DESKTOP XDG_SESSION_DESKTOP XDG_SESSION_TYPE WAYLAND_DISPLAY DISPLAY GTK_USE_PORTAL QT_QPA_PLATFORMTHEME TDESKTOP_USE_GTK_FILE_DIALOG NIXOS_OZONE_WL ELECTRON_OZONE_PLATFORM_HINT"
|
||||
"awww-daemon"
|
||||
"wl-clip-persist --clipboard both"
|
||||
"clipse -listen"
|
||||
"${lib.getExe' pkgs.udiskie "udiskie"}"
|
||||
on = lib.mkBefore [
|
||||
(onStart [
|
||||
"systemctl --user start plasma-polkit-agent"
|
||||
"${lib.getExe' pkgs.dbus "dbus-update-activation-environment"} --systemd --all"
|
||||
"systemctl --user import-environment XDG_CURRENT_DESKTOP XDG_SESSION_DESKTOP XDG_SESSION_TYPE WAYLAND_DISPLAY DISPLAY GTK_USE_PORTAL QT_QPA_PLATFORMTHEME TDESKTOP_USE_GTK_FILE_DIALOG NIXOS_OZONE_WL ELECTRON_OZONE_PLATFORM_HINT"
|
||||
"awww-daemon"
|
||||
"wl-clip-persist --clipboard both"
|
||||
"clipse -listen"
|
||||
"${lib.getExe' pkgs.udiskie "udiskie"}"
|
||||
])
|
||||
];
|
||||
|
||||
bind = [
|
||||
"$mainMod, V, exec, ghostty --title=clipse -e clipse"
|
||||
(bind "SUPER + V" (exec "ghostty --title=clipse -e clipse"))
|
||||
(bind "SUPER + RETURN" (exec "ghostty"))
|
||||
(bind "SUPER + Q" "hl.dsp.window.close()")
|
||||
(bind "SUPER + M" "hl.dsp.exit()")
|
||||
(bind "SUPER + E" (exec "ghostty -e sh -c yazi"))
|
||||
(bind "SUPER + F" "hl.dsp.window.float({ action = \"toggle\" })")
|
||||
(bind "SUPER + P" "hl.dsp.window.pseudo({ action = \"toggle\" })")
|
||||
(bind "SUPER + J" "hl.dsp.layout(\"togglesplit\")")
|
||||
(bind "SUPER + K" "hl.dsp.layout(\"swapsplit\")")
|
||||
|
||||
"$mainMod, Return, exec, ghostty"
|
||||
"$mainMod, Q, killactive,"
|
||||
"$mainMod, M, exit,"
|
||||
"$mainMod, E, exec, ghostty -e sh -c yazi"
|
||||
"$mainMod, F, togglefloating,"
|
||||
"$mainMod, P, pseudo, # dwindle"
|
||||
"$mainMod, J, layoutmsg, togglesplit"
|
||||
"$mainMod, K, layoutmsg, swapsplit"
|
||||
(bind "SUPER + LEFT" "hl.dsp.focus({ direction = \"${direction.left}\" })")
|
||||
(bind "SUPER + RIGHT" "hl.dsp.focus({ direction = \"${direction.right}\" })")
|
||||
(bind "SUPER + UP" "hl.dsp.focus({ direction = \"${direction.up}\" })")
|
||||
(bind "SUPER + DOWN" "hl.dsp.focus({ direction = \"${direction.down}\" })")
|
||||
|
||||
# Move focus with mainMod + arrow keys
|
||||
"$mainMod, left, movefocus, l"
|
||||
"$mainMod, right, movefocus, r"
|
||||
"$mainMod, up, movefocus, u"
|
||||
"$mainMod, down, movefocus, d"
|
||||
(bind "SUPER + SHIFT + LEFT" "hl.dsp.window.swap({ direction = \"${direction.left}\" })")
|
||||
(bind "SUPER + SHIFT + RIGHT" "hl.dsp.window.swap({ direction = \"${direction.right}\" })")
|
||||
(bind "SUPER + SHIFT + UP" "hl.dsp.window.swap({ direction = \"${direction.up}\" })")
|
||||
(bind "SUPER + SHIFT + DOWN" "hl.dsp.window.swap({ direction = \"${direction.down}\" })")
|
||||
|
||||
# Moving windows
|
||||
"$mainMod SHIFT, left, swapwindow, l"
|
||||
"$mainMod SHIFT, right, swapwindow, r"
|
||||
"$mainMod SHIFT, up, swapwindow, u"
|
||||
"$mainMod SHIFT, down, swapwindow, d"
|
||||
(bind "SUPER + CTRL + LEFT" "hl.dsp.window.resize({ x = -60, y = 0, relative = true })")
|
||||
(bind "SUPER + CTRL + RIGHT" "hl.dsp.window.resize({ x = 60, y = 0, relative = true })")
|
||||
(bind "SUPER + CTRL + UP" "hl.dsp.window.resize({ x = 0, y = -60, relative = true })")
|
||||
(bind "SUPER + CTRL + DOWN" "hl.dsp.window.resize({ x = 0, y = 60, relative = true })")
|
||||
] ++ workspaceBinds ++ [
|
||||
(bind "SUPER + SHIFT + F" "hl.dsp.window.fullscreen({ action = \"toggle\", mode = \"fullscreen\" })")
|
||||
(bind "SUPER + mouse_down" "hl.dsp.focus({ workspace = \"e-1\" })")
|
||||
(bind "SUPER + mouse_up" "hl.dsp.focus({ workspace = \"e+1\" })")
|
||||
|
||||
# Window resizing X Y
|
||||
"$mainMod CTRL, left, resizeactive, -60 0"
|
||||
"$mainMod CTRL, right, resizeactive, 60 0"
|
||||
"$mainMod CTRL, up, resizeactive, 0 -60"
|
||||
"$mainMod CTRL, down, resizeactive, 0 60"
|
||||
(bind "SUPER + F3" (exec "${lib.getExe pkgs.brightnessctl} -d *::kbd_backlight set +33%"))
|
||||
(bind "SUPER + F2" (exec "${lib.getExe pkgs.brightnessctl} -d *::kbd_backlight set 33%-"))
|
||||
|
||||
# Switch workspaces with mainMod + [0-9]
|
||||
"$mainMod, 1, workspace, 1"
|
||||
"$mainMod, 2, workspace, 2"
|
||||
"$mainMod, 3, workspace, 3"
|
||||
"$mainMod, 4, workspace, 4"
|
||||
"$mainMod, 5, workspace, 5"
|
||||
"$mainMod, 6, workspace, 6"
|
||||
"$mainMod, 7, workspace, 7"
|
||||
"$mainMod, 8, workspace, 8"
|
||||
"$mainMod, 9, workspace, 9"
|
||||
"$mainMod, 0, workspace, 10"
|
||||
(bind "XF86AudioMute" (exec "pamixer -t"))
|
||||
(bind "XF86AudioMicMute" (exec "pamixer --default-source -m"))
|
||||
(bind "XF86AudioPlay" (exec "${lib.getExe pkgs.playerctl} play-pause"))
|
||||
(bind "XF86Explorer" (exec "ghostty -e sh -c yazi"))
|
||||
(bind "XF86Mail" (exec "thunderbird"))
|
||||
(bind "XF86WWW" (exec "google-chrome-stable"))
|
||||
|
||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||
"$mainMod SHIFT, 1, movetoworkspacesilent, 1"
|
||||
"$mainMod SHIFT, 2, movetoworkspacesilent, 2"
|
||||
"$mainMod SHIFT, 3, movetoworkspacesilent, 3"
|
||||
"$mainMod SHIFT, 4, movetoworkspacesilent, 4"
|
||||
"$mainMod SHIFT, 5, movetoworkspacesilent, 5"
|
||||
"$mainMod SHIFT, 6, movetoworkspacesilent, 6"
|
||||
"$mainMod SHIFT, 7, movetoworkspacesilent, 7"
|
||||
"$mainMod SHIFT, 8, movetoworkspacesilent, 8"
|
||||
"$mainMod SHIFT, 9, movetoworkspacesilent, 9"
|
||||
"$mainMod SHIFT, 0, movetoworkspacesilent, 10"
|
||||
(bind "XF86MonBrightnessDown" (exec "${lib.getExe pkgs.brightnessctl} set 5%-"))
|
||||
(bind "XF86MonBrightnessUp" (exec "${lib.getExe pkgs.brightnessctl} set +5%"))
|
||||
|
||||
"$mainMod SHIFT, F, fullscreen"
|
||||
(bindWithFlags "XF86AudioRaiseVolume" (exec "pamixer -i 5") { repeating = true; })
|
||||
(bindWithFlags "XF86AudioLowerVolume" (exec "pamixer -d 5") { repeating = true; })
|
||||
|
||||
# Scroll through existing workspaces with mainMod + scroll
|
||||
"$mainMod, mouse_down, workspace, e+1"
|
||||
"$mainMod, mouse_up, workspace, e-1"
|
||||
(bindWithFlags "XF86AudioPrev" (exec "${lib.getExe pkgs.playerctl} position 5-") { click = true; })
|
||||
(bindWithFlags "XF86AudioNext" (exec "${lib.getExe pkgs.playerctl} position 5+") { click = true; })
|
||||
(bindWithFlags "XF86AudioPrev" (exec "${lib.getExe pkgs.playerctl} previous") { long_press = true; })
|
||||
(bindWithFlags "XF86AudioNext" (exec "${lib.getExe pkgs.playerctl} next") { long_press = true; })
|
||||
|
||||
# Keyboard backlight
|
||||
"$mainMod, F3, exec, ${lib.getExe pkgs.brightnessctl} -d *::kbd_backlight set +33%"
|
||||
"$mainMod, F2, exec, ${lib.getExe pkgs.brightnessctl} -d *::kbd_backlight set 33%-"
|
||||
|
||||
# Volume and Media Control
|
||||
", XF86AudioMute, exec, pamixer -t"
|
||||
", XF86AudioMicMute, exec, pamixer --default-source -m"
|
||||
", XF86AudioPlay, exec, ${lib.getExe pkgs.playerctl} play-pause"
|
||||
|
||||
", XF86Explorer, exec, ghostty -e sh -c yazi"
|
||||
", XF86Mail, exec, thunderbird"
|
||||
", XF86WWW, exec, google-chrome-stable" # TODO: Replace hard-code to some variable
|
||||
|
||||
# Brightness control
|
||||
", XF86MonBrightnessDown, exec, ${lib.getExe pkgs.brightnessctl} set 5%- "
|
||||
", XF86MonBrightnessUp, exec, ${lib.getExe pkgs.brightnessctl} set +5% "
|
||||
];
|
||||
|
||||
binde = [
|
||||
", XF86AudioRaiseVolume, exec, pamixer -i 5 "
|
||||
", XF86AudioLowerVolume, exec, pamixer -d 5 "
|
||||
];
|
||||
|
||||
bindc = [
|
||||
", XF86AudioPrev, exec, ${lib.getExe pkgs.playerctl} position 5-"
|
||||
", XF86AudioNext, exec, ${lib.getExe pkgs.playerctl} position 5+"
|
||||
];
|
||||
|
||||
bindo = [
|
||||
", XF86AudioPrev, exec, ${lib.getExe pkgs.playerctl} previous"
|
||||
", XF86AudioNext, exec, ${lib.getExe pkgs.playerctl} next"
|
||||
];
|
||||
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
bindm = [
|
||||
"$mainMod, mouse:272, movewindow"
|
||||
"$mainMod, mouse:273, resizewindow"
|
||||
(bindWithFlags "SUPER + mouse:272" "hl.dsp.window.drag()" { mouse = true; })
|
||||
(bindWithFlags "SUPER + mouse:273" "hl.dsp.window.resize()" { mouse = true; })
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
{ lib }:
|
||||
let
|
||||
inline = lib.generators.mkLuaInline;
|
||||
quote = builtins.toJSON;
|
||||
in rec {
|
||||
inherit inline;
|
||||
|
||||
exec = command: "hl.dsp.exec_cmd(${quote command})";
|
||||
|
||||
bind = keys: dispatcher: {
|
||||
_args = [
|
||||
keys
|
||||
(inline dispatcher)
|
||||
];
|
||||
};
|
||||
|
||||
bindWithFlags = keys: dispatcher: flags: {
|
||||
_args = [
|
||||
keys
|
||||
(inline dispatcher)
|
||||
flags
|
||||
];
|
||||
};
|
||||
|
||||
onStart = commands: {
|
||||
_args = [
|
||||
"hyprland.start"
|
||||
(inline (
|
||||
"function()\n"
|
||||
+ lib.concatMapStringsSep "\n" (command: " hl.exec_cmd(${quote command})") commands
|
||||
+ "\nend"
|
||||
))
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,21 +1,32 @@
|
||||
{
|
||||
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')"
|
||||
{ lib, ... }:
|
||||
let
|
||||
hyprLua = import ./lua.nix { inherit lib; };
|
||||
inherit (hyprLua) bind bindWithFlags;
|
||||
|
||||
"$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"
|
||||
];
|
||||
resetZoom = ''function()
|
||||
hl.config({ cursor = { zoom_factor = 1 } })
|
||||
end'';
|
||||
|
||||
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')"
|
||||
];
|
||||
};
|
||||
}
|
||||
zoomIn = ''function()
|
||||
local current = hl.get_config("cursor.zoom_factor")
|
||||
hl.config({ cursor = { zoom_factor = current * 1.1 } })
|
||||
end'';
|
||||
|
||||
zoomOut = ''function()
|
||||
local current = hl.get_config("cursor.zoom_factor")
|
||||
hl.config({ cursor = { zoom_factor = math.max(1, current * 0.9) } })
|
||||
end'';
|
||||
in {
|
||||
wayland.windowManager.hyprland.settings.bind = [
|
||||
(bind "SUPER + SHIFT + mouse_up" resetZoom)
|
||||
(bind "SUPER + SHIFT + mouse_down" resetZoom)
|
||||
(bind "SUPER + SHIFT + minus" resetZoom)
|
||||
(bind "SUPER + SHIFT + KP_SUBTRACT" resetZoom)
|
||||
(bind "SUPER + SHIFT + 0" resetZoom)
|
||||
|
||||
(bindWithFlags "SUPER + equal" zoomIn { repeating = true; })
|
||||
(bindWithFlags "SUPER + minus" zoomOut { repeating = true; })
|
||||
(bindWithFlags "SUPER + KP_ADD" zoomIn { repeating = true; })
|
||||
(bindWithFlags "SUPER + KP_SUBTRACT" zoomOut { repeating = true; })
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
hyprLua = import ./hyprland/lua.nix { inherit lib; };
|
||||
in
|
||||
lib.mkIf config.programs.hyprlock.enable {
|
||||
wayland.windowManager.hyprland.settings.exec-once = [ "hyprlock" ];
|
||||
wayland.windowManager.hyprland.settings.on = [
|
||||
(hyprLua.onStart [ "hyprlock" ])
|
||||
];
|
||||
|
||||
programs.hyprlock = let
|
||||
image = pkgs.fetchurl {
|
||||
|
||||
@@ -10,5 +10,6 @@
|
||||
thunderbird
|
||||
libreoffice
|
||||
pear-desktop
|
||||
( pkgs.callPackage ../../../drv/mumble.nix {} )
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
{ pkgs, ... }: {
|
||||
home.packages = with pkgs; [
|
||||
texstudio
|
||||
(texlive.combine {
|
||||
inherit (texlive)
|
||||
babel-russian
|
||||
cm-super
|
||||
cyrillic
|
||||
hyphen-russian
|
||||
hyphenat
|
||||
titlesec
|
||||
caption
|
||||
float
|
||||
xcolor
|
||||
listings
|
||||
pagecolor
|
||||
moresize
|
||||
raleway
|
||||
fontawesome5
|
||||
luatexbase
|
||||
fontspec
|
||||
ragged2e
|
||||
enumitem
|
||||
extsizes
|
||||
multirow
|
||||
varwidth
|
||||
paracol
|
||||
anyfontsize
|
||||
scheme-basic;
|
||||
})
|
||||
];
|
||||
}
|
||||
@@ -1,4 +1,7 @@
|
||||
{
|
||||
{ lib, ... }:
|
||||
let
|
||||
hyprLua = import ./hyprland/lua.nix { inherit lib; };
|
||||
in {
|
||||
services = {
|
||||
walker = {
|
||||
enable = true;
|
||||
@@ -9,6 +12,6 @@
|
||||
};
|
||||
|
||||
wayland.windowManager.hyprland.settings.bind = [
|
||||
"$mainMod, D, exec, walker"
|
||||
(hyprLua.bind "SUPER + D" (hyprLua.exec "walker"))
|
||||
];
|
||||
}
|
||||
|
||||
+21
-12
@@ -18,6 +18,8 @@
|
||||
percent="$(${lib.getExe pkgs.brightnessctl} -m | ${lib.getExe' pkgs.coreutils "cut"} -d, -f4 | ${lib.getExe' pkgs.coreutils "tr"} -d '%')"
|
||||
printf '%s brightness\n' "$percent" > ${wobSocket}
|
||||
'';
|
||||
|
||||
hyprLua = import ./hyprland/lua.nix { inherit lib; };
|
||||
in {
|
||||
systemd.user = {
|
||||
services.wob.Install.WantedBy = lib.mkForce [ ];
|
||||
@@ -53,16 +55,23 @@ in {
|
||||
};
|
||||
};
|
||||
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
bindel = [
|
||||
", XF86AudioRaiseVolume, exec, ${lib.getExe volumeStep}"
|
||||
", XF86AudioLowerVolume, exec, ${lib.getExe volumeStep}"
|
||||
", XF86MonBrightnessUp, exec, ${lib.getExe brightnessStep}"
|
||||
", XF86MonBrightnessDown, exec, ${lib.getExe brightnessStep}"
|
||||
];
|
||||
|
||||
bind = [
|
||||
", XF86AudioMute, exec, ${lib.getExe volumeStep} mute"
|
||||
];
|
||||
};
|
||||
wayland.windowManager.hyprland.settings.bind = [
|
||||
(hyprLua.bindWithFlags "XF86AudioRaiseVolume" (hyprLua.exec "${lib.getExe volumeStep}") {
|
||||
repeating = true;
|
||||
locked = true;
|
||||
})
|
||||
(hyprLua.bindWithFlags "XF86AudioLowerVolume" (hyprLua.exec "${lib.getExe volumeStep}") {
|
||||
repeating = true;
|
||||
locked = true;
|
||||
})
|
||||
(hyprLua.bindWithFlags "XF86MonBrightnessUp" (hyprLua.exec "${lib.getExe brightnessStep}") {
|
||||
repeating = true;
|
||||
locked = true;
|
||||
})
|
||||
(hyprLua.bindWithFlags "XF86MonBrightnessDown" (hyprLua.exec "${lib.getExe brightnessStep}") {
|
||||
repeating = true;
|
||||
locked = true;
|
||||
})
|
||||
(hyprLua.bind "XF86AudioMute" (hyprLua.exec "${lib.getExe volumeStep} mute"))
|
||||
];
|
||||
}
|
||||
|
||||
+54
-7
@@ -188,10 +188,22 @@ in {
|
||||
Exec=${lib.getExe fileManager1}
|
||||
'';
|
||||
|
||||
wayland.windowManager.hyprland.settings.windowrule = [
|
||||
"match:class dragon-drop, move cursor_x-window_w/2 cursor_y-window_h/2"
|
||||
"match:title Yazi File Picker, float 1"
|
||||
"match:title Yazi File Picker, size 1200 800"
|
||||
wayland.windowManager.hyprland.settings.window_rule = [
|
||||
{
|
||||
match.class = "dragon-drop";
|
||||
move = [
|
||||
"(cursor_x-(window_w*0.5))"
|
||||
"(cursor_y-(window_h*0.5))"
|
||||
];
|
||||
}
|
||||
{
|
||||
match.title = "Yazi File Picker";
|
||||
float = true;
|
||||
}
|
||||
{
|
||||
match.title = "Yazi File Picker";
|
||||
size = [ 1200 800 ];
|
||||
}
|
||||
];
|
||||
|
||||
programs.yazi = {
|
||||
@@ -250,6 +262,11 @@ in {
|
||||
toggle-pane
|
||||
;
|
||||
|
||||
gvfs = {
|
||||
package = gvfs;
|
||||
setup = true;
|
||||
};
|
||||
|
||||
full-border = {
|
||||
package = yaziPlugin "full-border";
|
||||
setup = true;
|
||||
@@ -261,7 +278,7 @@ in {
|
||||
};
|
||||
|
||||
git = {
|
||||
package = git;
|
||||
package = yaziPlugin "git";
|
||||
setup = true;
|
||||
};
|
||||
};
|
||||
@@ -300,9 +317,39 @@ in {
|
||||
desc = "Chmod on selected files";
|
||||
}
|
||||
{
|
||||
on = ["M"];
|
||||
on = [ "M" "b" ];
|
||||
run = "plugin mount";
|
||||
desc = "Open mount menu";
|
||||
desc = "Open block-device mount menu";
|
||||
}
|
||||
{
|
||||
on = [ "M" "m" ];
|
||||
run = "plugin gvfs -- select-then-mount --jump";
|
||||
desc = "Mount GVFS device and jump to it";
|
||||
}
|
||||
{
|
||||
on = [ "M" "u" ];
|
||||
run = "plugin gvfs -- select-then-unmount";
|
||||
desc = "Unmount GVFS device";
|
||||
}
|
||||
{
|
||||
on = [ "M" "U" ];
|
||||
run = "plugin gvfs -- select-then-unmount --eject";
|
||||
desc = "Unmount and eject GVFS device";
|
||||
}
|
||||
{
|
||||
on = [ "M" "t" ];
|
||||
run = "plugin gvfs -- automount-when-cd";
|
||||
desc = "Enable GVFS automount when entering device";
|
||||
}
|
||||
{
|
||||
on = [ "g" "m" ];
|
||||
run = "plugin gvfs -- jump-to-device";
|
||||
desc = "Jump to mounted GVFS device";
|
||||
}
|
||||
{
|
||||
on = [ "`" "`" ];
|
||||
run = "plugin gvfs -- jump-back-prev-cwd";
|
||||
desc = "Jump back from GVFS device";
|
||||
}
|
||||
{
|
||||
on = [ "<C-n>" ];
|
||||
|
||||
@@ -74,6 +74,7 @@
|
||||
eval "$(zoxide init zsh)"
|
||||
source "$(fzf-share)/key-bindings.zsh"
|
||||
source "$(fzf-share)/completion.zsh"
|
||||
nr() { nix run "nixpkgs#$1" -- "''${@:2}" }
|
||||
'';
|
||||
|
||||
envExtra = ''
|
||||
|
||||
+2
-1
@@ -8,8 +8,9 @@
|
||||
|
||||
home.packages = with pkgs; [
|
||||
nautilus
|
||||
vscode
|
||||
python3
|
||||
pkgs-pinned.jetbrains.pycharm-community
|
||||
pkgs-pinned.jetbrains.pycharm-oss
|
||||
aseprite
|
||||
krita
|
||||
google-chrome
|
||||
|
||||
@@ -1,16 +1,22 @@
|
||||
{ pkgs, lib, config, inputs, ... }: {
|
||||
wayland.windowManager.hyprland = let
|
||||
colors = config.lib.stylix.colors;
|
||||
accent = colors.${config.stylix.accent};
|
||||
in {
|
||||
settings = {
|
||||
{ pkgs, lib, config, ... }:
|
||||
let
|
||||
colors = config.lib.stylix.colors;
|
||||
accent = colors.${config.stylix.accent};
|
||||
hyprLua = import ../../../modules/user/hyprland/lua.nix { inherit lib; };
|
||||
in {
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
config = {
|
||||
general = {
|
||||
gaps_in = 5;
|
||||
gaps_out = 5;
|
||||
border_size = 2;
|
||||
"col.active_border" = "rgba(${accent}ee) rgba(${colors.base0C}ee) 45deg";
|
||||
"col.inactive_border" = "rgba(${colors.base05}aa)";
|
||||
|
||||
"col.active_border" = lib.mkForce {
|
||||
colors = [
|
||||
"rgba(${accent}ee)"
|
||||
"rgba(${colors.base0C}ee)"
|
||||
];
|
||||
angle = 45;
|
||||
};
|
||||
layout = "dwindle";
|
||||
};
|
||||
|
||||
@@ -32,25 +38,9 @@
|
||||
};
|
||||
};
|
||||
|
||||
animations = {
|
||||
enabled = true;
|
||||
|
||||
bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
|
||||
|
||||
animation = [
|
||||
"windows, 1, 7, myBezier"
|
||||
"windowsOut, 1, 7, default, popin 80%"
|
||||
"border, 1, 10, default"
|
||||
"borderangle, 1, 8, default"
|
||||
"fade, 1, 7, default"
|
||||
"workspaces, 1, 6, default"
|
||||
];
|
||||
};
|
||||
|
||||
dwindle = {
|
||||
smart_split = true;
|
||||
};
|
||||
animations.enabled = true;
|
||||
|
||||
dwindle.smart_split = true;
|
||||
master.new_status = "master";
|
||||
|
||||
misc = {
|
||||
@@ -58,10 +48,32 @@
|
||||
animate_mouse_windowdragging = true;
|
||||
enable_swallow = true;
|
||||
};
|
||||
};
|
||||
|
||||
bind = [
|
||||
''$mainMod Shift, S, exec, ${lib.getExe pkgs.grim} -g "$(${lib.getExe pkgs.slurp})" - | ${lib.getExe pkgs.swappy} -f -''
|
||||
curve = {
|
||||
_args = [
|
||||
"myBezier"
|
||||
{
|
||||
type = "bezier";
|
||||
points = [
|
||||
[ 0.05 0.9 ]
|
||||
[ 0.1 1.05 ]
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
animation = [
|
||||
{ leaf = "windows"; enabled = true; speed = 7; bezier = "myBezier"; }
|
||||
{ leaf = "windowsOut"; enabled = true; speed = 7; bezier = "default"; style = "popin 80%"; }
|
||||
{ leaf = "border"; enabled = true; speed = 10; bezier = "default"; }
|
||||
{ leaf = "borderangle"; enabled = true; speed = 8; bezier = "default"; }
|
||||
{ leaf = "fade"; enabled = true; speed = 7; bezier = "default"; }
|
||||
{ leaf = "workspaces"; enabled = true; speed = 6; bezier = "default"; }
|
||||
];
|
||||
|
||||
bind = [
|
||||
(hyprLua.bind "SUPER + SHIFT + S" (hyprLua.exec ''${lib.getExe pkgs.grim} -g "$(${lib.getExe pkgs.slurp})" - | ${lib.getExe pkgs.swappy} -f -''))
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,4 +1,11 @@
|
||||
{ osConfig, config, pkgs, lib, ... }: {
|
||||
{
|
||||
osConfig,
|
||||
config,
|
||||
inputs,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
home.packages = with pkgs; [
|
||||
font-awesome
|
||||
nerd-fonts.symbols-only
|
||||
@@ -10,6 +17,7 @@
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
systemd.enable = true;
|
||||
package = inputs.waybar.packages.${pkgs.stdenv.hostPlatform.system}.default;
|
||||
|
||||
settings.mainBar = {
|
||||
modules-center = [
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
{ pkgs, ... }: {
|
||||
imports = [
|
||||
../../modules/user/packages/tex.nix
|
||||
];
|
||||
programs.hyprlock.enable = true;
|
||||
home.packages = with pkgs; [
|
||||
android-studio
|
||||
@@ -10,6 +7,7 @@
|
||||
enableWidevine = true;
|
||||
})
|
||||
weechat
|
||||
insomnia
|
||||
];
|
||||
|
||||
xdg.mimeApps = {
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
wayland.windowManager.hyprland = let
|
||||
colors = config.lib.stylix.colors;
|
||||
accent = colors.${config.stylix.accent};
|
||||
hyprLua = import ../../../modules/user/hyprland/lua.nix { inherit lib; };
|
||||
|
||||
wallpaper_changer = pkgs.writers.writePython3Bin "wallpaper_changer" {
|
||||
libraries = [ pkgs.python3Packages.requests ];
|
||||
@@ -126,69 +127,83 @@
|
||||
'';
|
||||
in {
|
||||
settings = {
|
||||
general = {
|
||||
gaps_in = 2;
|
||||
gaps_out = 10;
|
||||
border_size = 3;
|
||||
"col.active_border" = lib.mkForce "rgba(${colors.base0C}aa) rgba(${accent}aa) 45deg";
|
||||
|
||||
layout = "dwindle";
|
||||
};
|
||||
|
||||
decoration = {
|
||||
rounding = 10;
|
||||
|
||||
blur = {
|
||||
enabled = true;
|
||||
size = 16;
|
||||
passes = 2;
|
||||
new_optimizations = true;
|
||||
config = {
|
||||
general = {
|
||||
gaps_in = 2;
|
||||
gaps_out = 10;
|
||||
border_size = 3;
|
||||
"col.active_border" = lib.mkForce {
|
||||
colors = [
|
||||
"rgba(${colors.base0C}aa)"
|
||||
"rgba(${accent}aa)"
|
||||
];
|
||||
angle = 45;
|
||||
};
|
||||
layout = "dwindle";
|
||||
};
|
||||
|
||||
shadow.enabled = false;
|
||||
decoration = {
|
||||
rounding = 10;
|
||||
|
||||
blur = {
|
||||
enabled = true;
|
||||
size = 16;
|
||||
passes = 2;
|
||||
new_optimizations = true;
|
||||
};
|
||||
|
||||
shadow.enabled = false;
|
||||
};
|
||||
|
||||
animations.enabled = true;
|
||||
dwindle.smart_split = true;
|
||||
master.new_status = "master";
|
||||
|
||||
misc = {
|
||||
animate_manual_resizes = true;
|
||||
animate_mouse_windowdragging = true;
|
||||
enable_swallow = true;
|
||||
};
|
||||
};
|
||||
|
||||
animations = {
|
||||
enabled = true;
|
||||
|
||||
bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
|
||||
|
||||
animation = [
|
||||
"windows, 1, 7, myBezier"
|
||||
"windowsOut, 1, 7, default, popin 80%"
|
||||
"border, 1, 10, default"
|
||||
"borderangle, 1, 8, default"
|
||||
"fade, 1, 7, default"
|
||||
"workspaces, 1, 6, default"
|
||||
curve = {
|
||||
_args = [
|
||||
"myBezier"
|
||||
{
|
||||
type = "bezier";
|
||||
points = [
|
||||
[ 0.05 0.9 ]
|
||||
[ 0.1 1.05 ]
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
dwindle = {
|
||||
smart_split = true;
|
||||
};
|
||||
|
||||
master.new_status = "master";
|
||||
|
||||
misc = {
|
||||
animate_manual_resizes = true;
|
||||
animate_mouse_windowdragging = true;
|
||||
enable_swallow = true;
|
||||
};
|
||||
|
||||
exec-once = [
|
||||
"${lib.getExe wallpaper_changer}"
|
||||
animation = [
|
||||
{ leaf = "windows"; enabled = true; speed = 7; bezier = "myBezier"; }
|
||||
{ leaf = "windowsOut"; enabled = true; speed = 7; bezier = "default"; style = "popin 80%"; }
|
||||
{ leaf = "border"; enabled = true; speed = 10; bezier = "default"; }
|
||||
{ leaf = "borderangle"; enabled = true; speed = 8; bezier = "default"; }
|
||||
{ leaf = "fade"; enabled = true; speed = 7; bezier = "default"; }
|
||||
{ leaf = "workspaces"; enabled = true; speed = 6; bezier = "default"; }
|
||||
];
|
||||
|
||||
workspace = [
|
||||
"2, layout:scrolling"
|
||||
on = [
|
||||
(hyprLua.onStart [ "${lib.getExe wallpaper_changer}" ])
|
||||
];
|
||||
|
||||
workspace_rule = [
|
||||
{
|
||||
workspace = "2";
|
||||
layout = "scrolling";
|
||||
}
|
||||
];
|
||||
|
||||
bind = [
|
||||
" , Print, exec, ${lib.getExe pkgs.hyprshot} -z -o ~/Screenshots -m active -m output"
|
||||
"CTRL, Print, exec, ${lib.getExe pkgs.hyprshot} -z -o ~/Screenshots -m region"
|
||||
"ALT , Print, exec, ${lib.getExe pkgs.hyprshot} -z -o ~/Screenshots -m active -m window"
|
||||
|
||||
"$mainMod, W, exec, ${lib.getExe wallpaper_changer}"
|
||||
(hyprLua.bind "Print" (hyprLua.exec "${lib.getExe pkgs.hyprshot} -z -o ~/Screenshots -m active -m output"))
|
||||
(hyprLua.bind "CTRL + Print" (hyprLua.exec "${lib.getExe pkgs.hyprshot} -z -o ~/Screenshots -m region"))
|
||||
(hyprLua.bind "ALT + Print" (hyprLua.exec "${lib.getExe pkgs.hyprshot} -z -o ~/Screenshots -m active -m window"))
|
||||
(hyprLua.bind "SUPER + W" (hyprLua.exec "${lib.getExe wallpaper_changer}"))
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,17 +1,28 @@
|
||||
{ osConfig, config, pkgs, lib, ... }: {
|
||||
{
|
||||
osConfig,
|
||||
config,
|
||||
inputs,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
home.packages = with pkgs; [
|
||||
playerctl
|
||||
cava
|
||||
pulsemixer
|
||||
libnotify
|
||||
|
||||
monocraft
|
||||
font-awesome
|
||||
nerd-fonts.symbols-only
|
||||
];
|
||||
|
||||
programs.waybar = {
|
||||
programs.waybar = let
|
||||
multibat = osConfig.networking.hostName == "Inaho";
|
||||
in {
|
||||
enable = true;
|
||||
systemd.enable = true;
|
||||
package = inputs.waybar.packages.${pkgs.stdenv.hostPlatform.system}.default;
|
||||
|
||||
settings.mainBar = {
|
||||
spacing = 8;
|
||||
@@ -31,7 +42,7 @@
|
||||
"tray"
|
||||
"group/system"
|
||||
"pulseaudio"
|
||||
"battery"
|
||||
( if multibat then "group/bat" else "battery" )
|
||||
"clock"
|
||||
];
|
||||
|
||||
@@ -71,6 +82,19 @@
|
||||
dynamic-order = [ "title" "artist" "album" ];
|
||||
};
|
||||
|
||||
"group/bat" = lib.mkIf multibat {
|
||||
orientation = "inherit";
|
||||
drawer = {
|
||||
transition-duration = 500;
|
||||
transition-left-to-right = false;
|
||||
};
|
||||
modules = [
|
||||
"battery"
|
||||
"battery#int"
|
||||
"battery#ext"
|
||||
];
|
||||
};
|
||||
|
||||
battery = {
|
||||
interval = 5;
|
||||
states = {
|
||||
@@ -82,6 +106,33 @@
|
||||
default = ["" "" "" "" "" "" "" "" "" "" ""];
|
||||
charging = ["" "" "" "" "" "" "" "" "" "" ""];
|
||||
};
|
||||
events = {
|
||||
on-discharging-warning = "notify-send -u normal 'Low Battery'";
|
||||
on-discharging-critical = "notify-send -u critical 'Very Low Battery'";
|
||||
};
|
||||
};
|
||||
|
||||
"battery#int" = lib.mkIf multibat {
|
||||
bat = "BAT0";
|
||||
interval = 5;
|
||||
states = {
|
||||
warning = 30;
|
||||
critical = 15;
|
||||
};
|
||||
format = "I: {capacity}%";
|
||||
};
|
||||
|
||||
"battery#ext" = lib.mkIf multibat {
|
||||
bat = "BAT1";
|
||||
interval = 5;
|
||||
states = {
|
||||
warning = 30;
|
||||
critical = 15;
|
||||
};
|
||||
format = "E: {capacity}%";
|
||||
events = {
|
||||
on-discharging-critical = "notify-send -u normal 'External battery is critical";
|
||||
};
|
||||
};
|
||||
|
||||
"keyboard-state" = {
|
||||
@@ -249,8 +300,9 @@
|
||||
}
|
||||
}
|
||||
|
||||
#system .drawer-child > * {
|
||||
margin-right: 4px
|
||||
#system,
|
||||
#bat {
|
||||
& .drawer-child > * { margin-right: 4px }
|
||||
}
|
||||
|
||||
#keyboard-state label.locked {
|
||||
@@ -259,7 +311,6 @@
|
||||
}
|
||||
|
||||
#battery {
|
||||
&.plugged { color: ${colors.base0D}; }
|
||||
&.charging { color: ${accent}; }
|
||||
&:not(.charging) {
|
||||
&.warning {
|
||||
@@ -280,6 +331,10 @@
|
||||
color: ${colors.base00};
|
||||
background: ${accent};
|
||||
}
|
||||
&.plugged {
|
||||
color: ${colors.base00};
|
||||
background: ${colors.base0D};
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes blink {
|
||||
@@ -296,7 +351,10 @@
|
||||
in builtins.readFile cssFile;
|
||||
};
|
||||
|
||||
wayland.windowManager.hyprland.settings.layerrule = [
|
||||
"blur on, match:namespace waybar"
|
||||
wayland.windowManager.hyprland.settings.layer_rule = [
|
||||
{
|
||||
match.namespace = "waybar";
|
||||
blur = true;
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user