This commit is contained in:
Varris 2023-08-24 07:03:47 +02:00
parent b5510c3328
commit 9f2285ce83
14 changed files with 1137 additions and 52 deletions

View File

@ -11,6 +11,8 @@
[
"amdgpu.ppfeaturemask=0xffffffff"
"net.ifnames=0"
"amd_pstate.shared_mem=1"
"amd_pstate=active"
];
loader = {
@ -193,16 +195,6 @@
enable = true;
interval = "weekly";
};
greetd = {
enable = true;
settings = {
default_session = {
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd Hyprland";
user = "greeter";
};
};
};
};
virtualisation = {
@ -252,12 +244,15 @@
substituters = [
"https://nyx.chaotic.cx"
"https://hyprland.cachix.org"
"https://nix-community.cachix.org"
];
trusted-public-keys = [
"nyx.chaotic.cx-1:HfnXSw4pj95iI/n17rIDy40agHj12WfF+Gqk6SonIT8="
"chaotic-nyx.cachix.org-1:HfnXSw4pj95iI/n17rIDy40agHj12WfF+Gqk6SonIT8="
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
];
};
};

View File

@ -123,15 +123,16 @@
"eww-git": {
"flake": false,
"locked": {
"lastModified": 1692366702,
"narHash": "sha256-GEysmNDm+olt1WXHzRwb4ZLifkXmeP5+APAN3b81/Og=",
"owner": "elkowar",
"lastModified": 1692622179,
"narHash": "sha256-vxMGAa/RTsMADPK4dM/28SV2ktCT0DenYvGsHZ4IJ8c=",
"owner": "ralismark",
"repo": "eww",
"rev": "a9a35c1804d72ef92e04ee71555bd9e5a08fa17e",
"rev": "a82ed62c25ba50f28dc8c3d57efe440d51d6136b",
"type": "github"
},
"original": {
"owner": "elkowar",
"owner": "ralismark",
"ref": "tray-3",
"repo": "eww",
"type": "github"
}

View File

@ -3,8 +3,21 @@
inputs = {
nixpkgs.url = "nixpkgs/nixpkgs-unstable";
home-manager.url = "github:nix-community/home-manager";
chaotic-nyx.url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
fenix = {
url = "github:nix-community/fenix";
inputs.nixpkgs.follows = "nixpkgs";
};
chaotic-nyx = {
url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-index-database = {
url = "github:Mic92/nix-index-database";
@ -51,6 +64,12 @@
inputs.nixpkgs.follows = "nixpkgs";
};
eww-git = {
# url = "github:elkowar/eww";
url = "github:ralismark/eww/tray-3";
flake = false;
};
openmw-git = {
url = "gitlab:OpenMW/openmw";
flake = false;
@ -65,7 +84,6 @@
url = "github:calops/hmts.nvim";
flake = false;
};
};
outputs = { self, nixpkgs, home-manager, ... }@inputs:

View File

@ -2,9 +2,8 @@
{
default = final: prev: {
eww = prev.eww.override {
withWayland = true;
};
eww-git = prev.callPackage ./pkgs/eww-systray { inherit inputs; withWayland = true; };
eww-hyprland-activewindow = prev.callPackage ./pkgs/eww-hyprland-activewindow { inherit inputs; };
gruvbox-plus-icon-pack = final.callPackage ./pkgs/gruvbox-plus-icon-pack { };
@ -32,25 +31,11 @@
prev.keyutils
prev.gnome.zenity
prev.xdg-user-dirs
];
extraLibraries = prev: [ ];
};
waybar_hyprland = prev.waybar.overrideAttrs (old: {
version = "9999";
src = inputs.waybar;
preConfigure = ''
sed -i 's/zext_workspace_handle_v1_activate(workspace_handle_);/const std::string command = "hyprctl dispatch workspace " + name_;\n\tsystem(command.c_str());/g' \
src/modules/wlr/workspace_manager.cpp
'';
mesonFlags = old.mesonFlags ++ [
"-Dexperimental=true"
"-Dcava=disabled"
];
});
nvim-hmts = prev.vimUtils.buildVimPluginFrom2Nix {
pname = "nvim-hmts";
version = "1";

View File

@ -0,0 +1,633 @@
diff --git a/Cargo.lock b/Cargo.lock
index 9db8b0e..53ec701 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -3,23 +3,38 @@
version = 3
[[package]]
-name = "aho-corasick"
+name = "addr2line"
+version = "0.20.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f4fa78e18c64fce05e902adecd7a5eed15a5e0a3439f7b0e169f0252214865e3"
+dependencies = [
+ "gimli",
+]
+
+[[package]]
+name = "adler"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41"
+checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+
+[[package]]
+name = "aho-corasick"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6748e8def348ed4d14996fa801f4122cd763fff530258cdc03f64b25f89d3a5a"
dependencies = [
"memchr",
]
[[package]]
name = "async-trait"
-version = "0.1.63"
+version = "0.1.73"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eff18d764974428cf3a9328e23fc5c986f5fbed46e6cd4cdf42544df5d297ec1"
+checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0"
dependencies = [
"proc-macro2",
"quote",
- "syn 1.0.107",
+ "syn 2.0.29",
]
[[package]]
@@ -28,6 +43,21 @@ version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+[[package]]
+name = "backtrace"
+version = "0.3.68"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4319208da049c43661739c5fade2ba182f09d1dc2299b32298d3a31692b17e12"
+dependencies = [
+ "addr2line",
+ "cc",
+ "cfg-if",
+ "libc",
+ "miniz_oxide",
+ "object",
+ "rustc-demangle",
+]
+
[[package]]
name = "bitflags"
version = "1.3.2"
@@ -36,9 +66,18 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "bytes"
-version = "1.3.0"
+version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c"
+checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
+
+[[package]]
+name = "cc"
+version = "1.0.82"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "305fe645edc1442a0fa8b6726ba61d422798d37a52e12eaecf4b022ebbb88f01"
+dependencies = [
+ "libc",
+]
[[package]]
name = "cfg-if"
@@ -62,7 +101,7 @@ dependencies = [
"proc-macro2",
"quote",
"rustc_version",
- "syn 1.0.107",
+ "syn 1.0.109",
]
[[package]]
@@ -127,7 +166,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.13",
+ "syn 2.0.29",
]
[[package]]
@@ -160,6 +199,12 @@ dependencies = [
"slab",
]
+[[package]]
+name = "gimli"
+version = "0.27.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e"
+
[[package]]
name = "heck"
version = "0.4.1"
@@ -168,12 +213,9 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
[[package]]
name = "hermit-abi"
-version = "0.2.6"
+version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
-dependencies = [
- "libc",
-]
+checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b"
[[package]]
name = "hex"
@@ -220,14 +262,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c941d3d52e979612af8cb94e8de49000c7fada2014a7791d173ab41339f4e4eb"
dependencies = [
"quote",
- "syn 2.0.13",
+ "syn 2.0.29",
]
[[package]]
name = "itoa"
-version = "1.0.5"
+version = "1.0.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440"
+checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
[[package]]
name = "lazy_static"
@@ -237,66 +279,74 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]]
name = "libc"
-version = "0.2.139"
+version = "0.2.147"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79"
+checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
[[package]]
name = "lock_api"
-version = "0.4.9"
+version = "0.4.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
+checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16"
dependencies = [
"autocfg",
"scopeguard",
]
-[[package]]
-name = "log"
-version = "0.4.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
-dependencies = [
- "cfg-if",
-]
-
[[package]]
name = "memchr"
version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+[[package]]
+name = "miniz_oxide"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
+dependencies = [
+ "adler",
+]
+
[[package]]
name = "mio"
-version = "0.8.5"
+version = "0.8.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de"
+checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2"
dependencies = [
"libc",
- "log",
"wasi",
"windows-sys",
]
[[package]]
name = "num-traits"
-version = "0.2.15"
+version = "0.2.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
+checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2"
dependencies = [
"autocfg",
]
[[package]]
name = "num_cpus"
-version = "1.15.0"
+version = "1.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
+checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
dependencies = [
"hermit-abi",
"libc",
]
+[[package]]
+name = "object"
+version = "0.31.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8bda667d9f2b5051b8833f59f3bf748b28ef54f850f4fcb389a252aa383866d1"
+dependencies = [
+ "memchr",
+]
+
[[package]]
name = "parking_lot"
version = "0.12.1"
@@ -309,28 +359,28 @@ dependencies = [
[[package]]
name = "parking_lot_core"
-version = "0.9.6"
+version = "0.9.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba1ef8814b5c993410bb3adfad7a5ed269563e4a2f90c41f5d85be7fb47133bf"
+checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
dependencies = [
"cfg-if",
"libc",
"redox_syscall",
"smallvec",
- "windows-sys",
+ "windows-targets",
]
[[package]]
name = "paste"
-version = "1.0.11"
+version = "1.0.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d01a5bd0424d00070b0098dd17ebca6f961a959dead1dbcbbbc1d1cd8d3deeba"
+checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
[[package]]
name = "pin-project-lite"
-version = "0.2.9"
+version = "0.2.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
+checksum = "12cc1b0bf1727a77a54b6654e7b5f1af8604923edc8b81885f8ec92f9e3f0a05"
[[package]]
name = "pin-utils"
@@ -340,27 +390,27 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
[[package]]
name = "proc-macro2"
-version = "1.0.56"
+version = "1.0.66"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435"
+checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
dependencies = [
"unicode-ident",
]
[[package]]
name = "quote"
-version = "1.0.26"
+version = "1.0.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc"
+checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
dependencies = [
"proc-macro2",
]
[[package]]
name = "redox_syscall"
-version = "0.2.16"
+version = "0.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
+checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
dependencies = [
"bitflags",
]
@@ -394,6 +444,12 @@ version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2"
+[[package]]
+name = "rustc-demangle"
+version = "0.1.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
+
[[package]]
name = "rustc_version"
version = "0.4.0"
@@ -405,53 +461,53 @@ dependencies = [
[[package]]
name = "rustversion"
-version = "1.0.11"
+version = "1.0.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5583e89e108996506031660fe09baa5011b9dd0341b89029313006d1fb508d70"
+checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4"
[[package]]
name = "ryu"
-version = "1.0.12"
+version = "1.0.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde"
+checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
[[package]]
name = "scopeguard"
-version = "1.1.0"
+version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
[[package]]
name = "semver"
-version = "1.0.17"
+version = "1.0.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed"
+checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918"
[[package]]
name = "serde"
-version = "1.0.152"
+version = "1.0.183"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb"
+checksum = "32ac8da02677876d532745a130fc9d8e6edfa81a269b107c5b00829b91d8eb3c"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
-version = "1.0.152"
+version = "1.0.183"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e"
+checksum = "aafe972d60b0b9bee71a91b92fee2d4fb3c9d7e8f6b179aa99f27203d99a4816"
dependencies = [
"proc-macro2",
"quote",
- "syn 1.0.107",
+ "syn 2.0.29",
]
[[package]]
name = "serde_json"
-version = "1.0.91"
+version = "1.0.105"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883"
+checksum = "693151e1ac27563d6dbcec9dee9fbd5da8539b20fa14ad3752b2e6d363ace360"
dependencies = [
"itoa",
"ryu",
@@ -460,20 +516,20 @@ dependencies = [
[[package]]
name = "serde_repr"
-version = "0.1.10"
+version = "0.1.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a5ec9fa74a20ebbe5d9ac23dac1fc96ba0ecfe9f50f2843b52e537b10fbcb4e"
+checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00"
dependencies = [
"proc-macro2",
"quote",
- "syn 1.0.107",
+ "syn 2.0.29",
]
[[package]]
name = "signal-hook-registry"
-version = "1.4.0"
+version = "1.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0"
+checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1"
dependencies = [
"libc",
]
@@ -489,18 +545,18 @@ dependencies = [
[[package]]
name = "smallvec"
-version = "1.10.0"
+version = "1.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
+checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9"
[[package]]
name = "socket2"
-version = "0.4.7"
+version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd"
+checksum = "2538b18701741680e0322a2302176d3253a35388e2e62f172f64f4f16605f877"
dependencies = [
"libc",
- "winapi",
+ "windows-sys",
]
[[package]]
@@ -514,22 +570,22 @@ dependencies = [
[[package]]
name = "strum_macros"
-version = "0.25.1"
+version = "0.25.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6069ca09d878a33f883cc06aaa9718ede171841d3832450354410b718b097232"
+checksum = "ad8d03b598d3d0fff69bf533ee3ef19b8eeb342729596df84bcc7e1f96ec4059"
dependencies = [
"heck",
"proc-macro2",
"quote",
"rustversion",
- "syn 2.0.13",
+ "syn 2.0.29",
]
[[package]]
name = "syn"
-version = "1.0.107"
+version = "1.0.109"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5"
+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
dependencies = [
"proc-macro2",
"quote",
@@ -538,9 +594,9 @@ dependencies = [
[[package]]
name = "syn"
-version = "2.0.13"
+version = "2.0.29"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c9da457c5285ac1f936ebd076af6dac17a61cfe7826f2076b4d015cf47bc8ec"
+checksum = "c324c494eba9d92503e6f1ef2e6df781e78f6a7705a0202d9801b198807d518a"
dependencies = [
"proc-macro2",
"quote",
@@ -549,14 +605,13 @@ dependencies = [
[[package]]
name = "tokio"
-version = "1.24.2"
+version = "1.32.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "597a12a59981d9e3c38d216785b0c37399f6e415e8d0712047620f189371b0bb"
+checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9"
dependencies = [
- "autocfg",
+ "backtrace",
"bytes",
"libc",
- "memchr",
"mio",
"num_cpus",
"parking_lot",
@@ -569,20 +624,20 @@ dependencies = [
[[package]]
name = "tokio-macros"
-version = "1.8.2"
+version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8"
+checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
dependencies = [
"proc-macro2",
"quote",
- "syn 1.0.107",
+ "syn 2.0.29",
]
[[package]]
name = "unicode-ident"
-version = "1.0.6"
+version = "1.0.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc"
+checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c"
[[package]]
name = "wasi"
@@ -591,32 +646,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
[[package]]
-name = "winapi"
-version = "0.3.9"
+name = "windows-sys"
+version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
dependencies = [
- "winapi-i686-pc-windows-gnu",
- "winapi-x86_64-pc-windows-gnu",
+ "windows-targets",
]
[[package]]
-name = "winapi-i686-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
-
-[[package]]
-name = "winapi-x86_64-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
-
-[[package]]
-name = "windows-sys"
-version = "0.42.0"
+name = "windows-targets"
+version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
dependencies = [
"windows_aarch64_gnullvm",
"windows_aarch64_msvc",
@@ -629,42 +671,42 @@ dependencies = [
[[package]]
name = "windows_aarch64_gnullvm"
-version = "0.42.1"
+version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
[[package]]
name = "windows_aarch64_msvc"
-version = "0.42.1"
+version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
[[package]]
name = "windows_i686_gnu"
-version = "0.42.1"
+version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
[[package]]
name = "windows_i686_msvc"
-version = "0.42.1"
+version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
[[package]]
name = "windows_x86_64_gnu"
-version = "0.42.1"
+version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
[[package]]
name = "windows_x86_64_gnullvm"
-version = "0.42.1"
+version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
[[package]]
name = "windows_x86_64_msvc"
-version = "0.42.1"
+version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd"
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"

View File

@ -0,0 +1,26 @@
{ lib
, rustPlatform
, fetchFromGitHub
, stdenv
, makeRustPlatform
, system
, inputs
}:
(makeRustPlatform {
cargo = inputs.fenix.packages.${system}.default.toolchain;
rustc = inputs.fenix.packages.${system}.default.toolchain;
}).buildRustPackage rec {
pname = "hyprland-activewindow";
version = "v0.4.1";
src = fetchFromGitHub {
owner = "FieldofClay";
repo = "hyprland-activewindow";
rev = "${version}";
hash = "sha256-Y/idFeBY6u0kvLnS6w5Kd5tRRM5OAkI+210cx83T4ys=";
};
cargoHash = "sha256-3K7MmLobn+Cp8AbMCjloS4zqsL7LTyMUh62G2jyZCB0=";
cargoPatches = [ ./bumpdeps.diff ];
}

View File

@ -0,0 +1,50 @@
{ lib
, rustPlatform
, fetchFromGitHub
, pkg-config
, gtk3
, gdk-pixbuf
, libdbusmenu-gtk3
, withWayland ? false
, gtk-layer-shell
, stdenv
, inputs
, makeRustPlatform
, system
}:
(makeRustPlatform {
cargo = inputs.fenix.packages.${system}.minimal.toolchain;
rustc = inputs.fenix.packages.${system}.minimal.toolchain;
}).buildRustPackage rec {
pname = "eww";
version = "unstable-2023-08-19";
src = inputs.eww-git;
cargoLock.lockFile = "${inputs.eww-git}/Cargo.lock";
nativeBuildInputs = [ pkg-config ];
buildInputs = [ gtk3 gdk-pixbuf libdbusmenu-gtk3 ] ++ lib.optional withWayland gtk-layer-shell;
buildNoDefaultFeatures = true;
buildFeatures = [
(if withWayland then "wayland" else "x11")
];
cargoBuildFlags = [ "--bin" "eww" ];
cargoTestFlags = cargoBuildFlags;
# requires unstable rust features
RUSTC_BOOTSTRAP = 1;
meta = with lib; {
description = "ElKowars wacky widgets";
homepage = "https://github.com/elkowar/eww";
license = licenses.mit;
maintainers = with maintainers; [ figsoda lom ];
mainProgram = "eww";
broken = stdenv.isDarwin;
};
}

View File

@ -0,0 +1,175 @@
{ pkgs, ... }:
let
inherit (import ./scripts.nix { inherit pkgs; }) workspaces mpd-current-song get-volume;
in
{
eww-config = ''
;; ----------------------------- right monitor
(defwidget bar0 []
(centerbox
:class "bar"
:orientation "h"
(left_side0)
(center)
(right_side)
)
)
(defwidget left_side0 []
(box
:space-evenly false
:orientation "h"
:spacing 5
(box
:class "wswidget"
:spacing 0
(workspaces0)
)
(box
:class "window"
window0)
)
)
;; ----------------------------- left monitor
(defwidget bar1 []
(centerbox
:class "bar"
:orientation "h"
(left_side1)
(center)
(right_side)
)
)
(defwidget left_side1 []
(box
:space-evenly false
:orientation "h"
:spacing 5
(box
:class "wswidget"
:spacing 0
(workspaces1)
)
(box
:class "window"
window1)
)
)
;; -----------------------------
(defwidget center []
(box
:space-evenly false
:spacing 5
(eventbox
:onscroll "pamixer `echo {} | sed 's/up/\-i/\' | sed 's/down/\-d/'` 10"
(box
:space-evenly false
:class "volume"
volume))
(box
:space-evenly false
:class "mpd"
mpd)
)
)
(defwidget right_side []
(box
:space-evenly false
:spacing 5
:halign "end"
;; (box
;; :class "tray"
;; (tray))
(box
:space-evenly false
:orientation "h"
:class "date"
date)
)
)
;; ---------------------------- workspace widget
(deflisten workspace0
"${workspaces}/bin/workspaces.sh 0")
(defwidget workspaces0 []
(literal :content workspace0))
(deflisten workspace1
"${workspaces}/bin/workspaces.sh 1")
(defwidget workspaces1 []
(literal :content workspace1))
;; ---------------------------- window widget
(deflisten window0 "${pkgs.eww-hyprland-activewindow}/bin/hyprland-activewindow `hyprctl monitors -j | jq -r \".[0].name\"`")
(deflisten window1 "${pkgs.eww-hyprland-activewindow}/bin/hyprland-activewindow `hyprctl monitors -j | jq -r \".[1].name\"`")
(defwidget title0 []
(label :text "''${window0}"))
(defwidget title1 []
(label :text "''${window1}"))
;; -----------------------------
(defpoll volume
:initial ""
:interval "0.1s"
"${get-volume}/bin/get_volume.sh")
(deflisten mpd
:initial ""
"${mpd-current-song}/bin/mpd_current_song.sh")
(defpoll date
:interval "1s"
"date '+%a %d, %B %H:%M'")
(defwidget tray []
(systray
:pack-direction "ltr"
:icon-size 22
))
(defwindow bar0
:monitor 0
:windowtype "dock"
:geometry
(geometry :x "0%"
:y "0%"
:width "100%"
:height "32px"
:anchor "top center")
:exclusive true
(bar0))
(defwindow bar1
:monitor 1
:windowtype "dock"
:geometry
(geometry :x "0%"
:y "0%"
:width "100%"
:height "32px"
:anchor "top center")
:exclusive true
(bar1))
'';
}

View File

@ -0,0 +1,13 @@
{ pkgs, ... }:
let
inherit (import ./config.nix { inherit pkgs; }) eww-config;
inherit (import ./stylesheet.nix) eww-stylesheet;
in
{
xdg.configFile."eww/eww.yuck".text = "${eww-config}";
xdg.configFile."eww/eww.scss".text = "${eww-stylesheet}";
home.packages = [ pkgs.eww-git ];
}

View File

@ -0,0 +1,80 @@
{ pkgs, ... }:
{
workspaces = pkgs.writeShellScriptBin "workspaces.sh" ''
workspaces() {
unset -v \
o1 o2 o3 o4 o5 o6 \
f1 f2 f3 f4 f5 f6
ows="$(${pkgs.hyprland}/bin/hyprctl workspaces -j | ${pkgs.jq}/bin/jq '.[] | del(select(.id == -99)) | .id')"
for num in $ows; do
export o"$num"="$num"
done
# Get Focused workspace for current monitor ID
arg="$1"
num="$(${pkgs.hyprland}/bin/hyprctl monitors -j | ${pkgs.jq}/bin/jq --argjson arg "$arg" '.[] | select(.id == $arg).activeWorkspace.id')"
export f"$num"="$num"
if [[ $arg -eq 0 ]]; then
echo "(eventbox :onscroll \"echo {} | sed -e 's/up/-1/g' -e 's/down/+1/g' | xargs hyprctl dispatch workspace\" \
(box :class \"workspace\" :orientation \"h\" :space-evenly \"false\" \
(button :onclick \"${pkgs.hyprland}/bin/hyprctl dispatch workspace 1\" :class \"w0$o1$f1\" \"1\") \
(button :onclick \"${pkgs.hyprland}/bin/hyprctl dispatch workspace 2\" :class \"w0$o2$f2\" \"2\") \
(button :onclick \"${pkgs.hyprland}/bin/hyprctl dispatch workspace 3\" :class \"w0$o3$f3\" \"3\") \
)\
)"
elif [[ $arg -eq 1 ]]; then
echo "(eventbox :onscroll \"echo {} | sed -e 's/up/-1/g' -e 's/down/+1/g' | xargs hyprctl dispatch workspace\" \
(box :class \"workspace\" :orientation \"h\" :space-evenly \"false\" \
(button :onclick \"${pkgs.hyprland}/bin/hyprctl dispatch workspace 4\" :class \"w0$o4$f4\" \"4\") \
(button :onclick \"${pkgs.hyprland}/bin/hyprctl dispatch workspace 5\" :class \"w0$o5$f5\" \"5\") \
(button :onclick \"${pkgs.hyprland}/bin/hyprctl dispatch workspace 6\" :class \"w0$o6$f6\" \"6\") \
)\
)"
fi
}
workspaces $1
${pkgs.socat}/bin/socat -u UNIX-CONNECT:/tmp/hypr/"$HYPRLAND_INSTANCE_SIGNATURE"/.socket2.sock - | while read -r; do
workspaces $1
done
'';
mpd-current-song = pkgs.writeShellScriptBin "mpd_current_song.sh" ''
currentsong=""
state=""
while true; do
state=$(${pkgs.mpc-cli}/bin/mpc status %state%)
current_song=$(${pkgs.mpc-cli}/bin/mpc current)
if [[ $state == "playing" ]]; then
echo " $current_song"
elif [[ $state == "paused" && $current_song ]]; then
echo "󰏤 $current_song"
else
echo " stopped"
fi
${pkgs.mpc-cli}/bin/mpc idle player &> /dev/null
done
'';
get-volume = pkgs.writeShellScriptBin "get_volume.sh" ''
volume=$(${pkgs.pamixer}/bin/pamixer --get-volume)
if [[ $volume -eq 0 ]]; then
echo " $volume%"
elif [[ $volume -lt 25 ]]; then
echo " $volume%"
elif [[ $volume -lt 50 ]]; then
echo " $volume%"
elif [[ $volume -lt 75 ]]; then
echo "󰕾 $volume%"
else
echo " $volume%"
fi
'';
}

View File

@ -0,0 +1,92 @@
{
eww-stylesheet = ''
$bg: rgba(40,40,40,0.8);
$fg: rgb(235,219,178);
$wsfg: rgb(235,219,178);
$wsbg: rgb(60,56,54);
$activewsbg: rgb(102,92,84);
$box-bg: rgb(80,73,69);
* {
all: unset; //Unsets everything so you can style everything from scratch
}
//Global Styles
.bar {
background-color: $bg;
color: $fg;
font-family: "JetBrainsMono Nerd Font";
font-size: 12px;
}
.window {
background-color: $box-bg;
border-radius: 10px;
padding: 0px 10px 0px 10px;
margin: 5px 0px 5px 10px;
}
.volume {
background-color: $box-bg;
border-radius: 10px 0px 0px 10px;
margin: 5px 0px 5px 0px;
padding: 0px 10px 0px 10px;
}
.mpd {
background-color: $box-bg;
border-radius: 0px 10px 10px 0px;
padding: 0px 10px 0px 10px;
margin: 5px 10px 5px 0px;
}
.tray {
background-color: $box-bg;
border-radius: 10px;
padding: 0px 10px 0px 10px;
margin: 5px 10px 5px 0px;
}
.date {
background-color: $box-bg;
border-radius: 10px;
padding: 0px 10px 0px 10px;
margin: 5px 10px 5px 0px;
}
.wswidget {
background-color: $box-bg;
border-radius: 10px;
margin: 5px 0px 5px 10px;
}
.w0, .w01, .w02, .w03, .w04, .w05, .w06, .w07, .w08, .w09, .w011, .w022, .w033, .w044, .w055, .w066, .w077, .w088, .w099 {
background-color: $wsbg;
padding: 3px 10px;
}
.w01, .w011, .w04, .w044 {
background-color: $wsbg;
border-radius: 10px 0px 0px 10px;
}
.w03, .w033, .w06, .w066 {
background-color: $wsbg;
border-radius: 0px 10px 10px 0px;
}
/* Occupied */
.w01, .w02, .w03, .w04, .w05, .w06, .w07, .w08, .w09 {
background-color: $wsbg;
}
/* Focused */
.w011, .w022, .w033, .w044, .w055, .w066, .w077, .w088, .w099 {
background-color: $activewsbg;
}
'';
}

View File

@ -1,7 +1,18 @@
{ config, pkgs, inputs, ... }:
let
leftMonitor = "DP-2";
rightMonitor = "DP-1";
leftMonitor = {
display = "DP-2";
res = "2560x1440";
pos = "-2560x0";
refreshRate = "144";
};
rightMonitor = {
display = "DP-1";
res = "2560x1440";
pos = "0x0";
refreshRate = "144";
};
modKey = "SUPER";
@ -49,21 +60,22 @@ in
../foot
../wob
../mako
../eww
];
wayland.windowManager.hyprland = {
enable = true;
extraConfig = ''
monitor=${leftMonitor}, 2560x1440@144, 0x0, 1
monitor=${rightMonitor}, 2560x1440@144, 2560x0, 1
monitor=${leftMonitor.display}, ${leftMonitor.res}@${leftMonitor.refreshRate}, ${leftMonitor.pos}, 1
monitor=${rightMonitor.display}, ${rightMonitor.res}@${rightMonitor.refreshRate}, ${rightMonitor.pos}, 1
workspace = 1, monitor:${rightMonitor}
workspace = 2, monitor:${rightMonitor}
workspace = 3, monitor:${rightMonitor}
workspace = 1, monitor:${rightMonitor.display}
workspace = 2, monitor:${rightMonitor.display}
workspace = 3, monitor:${rightMonitor.display}
workspace = 4, monitor:${leftMonitor}
workspace = 5, monitor:${leftMonitor}
workspace = 6, monitor:${leftMonitor}
workspace = 4, monitor:${leftMonitor.display}
workspace = 5, monitor:${leftMonitor.display}
workspace = 6, monitor:${leftMonitor.display}
input {
kb_layout = us
@ -132,14 +144,18 @@ in
exec-once = ${pkgs.mullvad-vpn}/bin/mullvad-gui
exec-once = ${pkgs.ydotool}/bin/ydotoold
exec = ${pkgs.xorg.xrandr}/bin/xrandr --output ${rightMonitor} --primary
exec = ${pkgs.xorg.xrandr}/bin/xrandr --output ${rightMonitor.display} --primary
exec = ${wob-voldaemon}/bin/wob-volumeindicator.sh;
exec = pkill waybar; ${pkgs.waybar_hyprland}/bin/waybar
exec = pkill swww; ${pkgs.swww}/bin/swww init && ${pkgs.swww}/bin/swww img $(cat ~/.cache/swww/wallpaper.txt)
# exec = pkill waybar; ${pkgs.waybar-hyprland}/bin/waybar
exec = ${pkgs.eww-git}/bin/eww kill; ${pkgs.eww-git}/bin/eww open-many bar0 bar1
exec = pkill swww; sleep 2 && ${pkgs.swww}/bin/swww init && ${pkgs.swww}/bin/swww img $(cat ~/.cache/swww/wallpaper.txt)
#Set cursor
exec = ${pkgs.hyprland}/bin/hyprctl setcursor "${config.gtk.cursorTheme.name}" ${builtins.toString config.gtk.cursorTheme.size} &> /dev/null
# Fix clipboard with Wine
exec-once = ${pkgs.wl-clipboard}/bin/wl-paste -t text -w sh -c '[ "$(${pkgs.xclip}/bin/xclip -selection clipboard -o)" = "$(${pkgs.wl-clipboard}/bin/wl-paste -n)" ] || ${pkgs.xclip}/bin/xclip -selection clipboard'
env = XCURSOR_SIZE,${builtins.toString config.gtk.cursorTheme.size}
#keybinds

View File

@ -24,7 +24,7 @@ in
{
programs.waybar = {
enable = true;
package = pkgs.waybar_hyprland;
package = pkgs.waybar-hyprland;
settings = [{
layer = "top";

View File

@ -25,7 +25,6 @@
bottles
bottom
calcurse
eww
gamescope_git
gimp
gnome.gnome-boxes
@ -34,6 +33,7 @@
gnome.gnome-settings-daemon
gnome.simple-scan
heroic
jq
libsForQt5.ark
libsForQt5.dolphin
libsForQt5.dolphin-plugins
@ -45,6 +45,7 @@
noto-fonts-cjk-serif
obs-studio
openmw
pamixer
pavucontrol
playerctl
protontricks
@ -55,6 +56,7 @@
signal-desktop
sshfs
steam-run
steamtinkerlaunch
sxiv
thunderbird
tldr
@ -63,7 +65,6 @@
vulkan-tools
vulkan-validation-layers
discord
wineWowPackages.stagingFull
xdg-utils
];