This commit is contained in:
delta 2024-06-08 01:48:01 +03:00
commit d63a70e5f2
22 changed files with 1879 additions and 204 deletions

View file

@ -0,0 +1,28 @@
{ lib
, buildGoModule
, fetchFromGitHub
}:
buildGoModule rec {
pname = "hola-proxy";
version = "1.13.3";
src = fetchFromGitHub {
owner = "Snawoot";
repo = "hola-proxy";
rev = "v${version}";
hash = "sha256-T4kXwseOspXtu6jMCytCqROwQP1XjKFT2ejfAA36HUY=";
};
vendorHash = "sha256-1mQzeopJzzXV4cCHu30QelCIz6NivOImpiCTpGnAtzY=";
ldflags = [ "-s" "-w" ];
meta = with lib; {
description = "Standalone Hola proxy client";
homepage = "https://github.com/Snawoot/hola-proxy";
license = licenses.mit;
maintainers = with maintainers; [ ];
mainProgram = "hola-proxy";
};
}

722
derivations/hyprdrop/Cargo.lock generated Normal file
View file

@ -0,0 +1,722 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 3
[[package]]
name = "addr2line"
version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
dependencies = [
"gimli",
]
[[package]]
name = "adler"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
[[package]]
name = "ahash"
version = "0.8.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
dependencies = [
"cfg-if",
"once_cell",
"serde",
"version_check",
"zerocopy",
]
[[package]]
name = "aho-corasick"
version = "1.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
dependencies = [
"memchr",
]
[[package]]
name = "ansi_term"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
dependencies = [
"winapi",
]
[[package]]
name = "atty"
version = "0.2.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
dependencies = [
"hermit-abi",
"libc",
"winapi",
]
[[package]]
name = "autocfg"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
[[package]]
name = "backtrace"
version = "0.3.69"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
dependencies = [
"addr2line",
"cc",
"cfg-if",
"libc",
"miniz_oxide",
"object",
"rustc-demangle",
]
[[package]]
name = "bitflags"
version = "1.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "bytes"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
[[package]]
name = "cc"
version = "1.0.83"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
dependencies = [
"libc",
]
[[package]]
name = "cfg-if"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "clap"
version = "2.34.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c"
dependencies = [
"ansi_term",
"atty",
"bitflags",
"strsim",
"textwrap",
"unicode-width",
"vec_map",
]
[[package]]
name = "colored"
version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cbf2150cce219b664a8a70df7a1f933836724b503f8a413af9365b4dcc4d90b8"
dependencies = [
"lazy_static",
"windows-sys",
]
[[package]]
name = "deranged"
version = "0.3.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
dependencies = [
"powerfmt",
]
[[package]]
name = "derive_more"
version = "0.99.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321"
dependencies = [
"proc-macro2",
"quote",
"syn 1.0.109",
]
[[package]]
name = "gimli"
version = "0.28.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
[[package]]
name = "heck"
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
dependencies = [
"unicode-segmentation",
]
[[package]]
name = "hermit-abi"
version = "0.1.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
dependencies = [
"libc",
]
[[package]]
name = "hyprdrop"
version = "0.2.0"
dependencies = [
"hyprland",
"log",
"simple_logger",
"structopt",
"time",
]
[[package]]
name = "hyprland"
version = "0.4.0-alpha.2"
source = "git+https://github.com/hyprland-community/hyprland-rs.git?tag=0.4.0-alpha.2#11f8a9fc85c03a889b1b53d750ccef6149cbed9a"
dependencies = [
"ahash",
"derive_more",
"hyprland-macros",
"num-traits",
"once_cell",
"paste",
"regex",
"serde",
"serde_json",
"serde_repr",
"tokio",
]
[[package]]
name = "hyprland-macros"
version = "0.4.0-alpha.2"
source = "git+https://github.com/hyprland-community/hyprland-rs.git?tag=0.4.0-alpha.2#11f8a9fc85c03a889b1b53d750ccef6149cbed9a"
dependencies = [
"quote",
"syn 2.0.48",
]
[[package]]
name = "itoa"
version = "1.0.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
[[package]]
name = "lazy_static"
version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]]
name = "libc"
version = "0.2.153"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
[[package]]
name = "log"
version = "0.4.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
[[package]]
name = "memchr"
version = "2.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
[[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.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09"
dependencies = [
"libc",
"wasi",
"windows-sys",
]
[[package]]
name = "num-conv"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
[[package]]
name = "num-traits"
version = "0.2.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
dependencies = [
"autocfg",
]
[[package]]
name = "num_threads"
version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44"
dependencies = [
"libc",
]
[[package]]
name = "object"
version = "0.32.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441"
dependencies = [
"memchr",
]
[[package]]
name = "once_cell"
version = "1.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
[[package]]
name = "paste"
version = "1.0.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
[[package]]
name = "pin-project-lite"
version = "0.2.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
[[package]]
name = "powerfmt"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
[[package]]
name = "proc-macro-error"
version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
dependencies = [
"proc-macro-error-attr",
"proc-macro2",
"quote",
"syn 1.0.109",
"version_check",
]
[[package]]
name = "proc-macro-error-attr"
version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
dependencies = [
"proc-macro2",
"quote",
"version_check",
]
[[package]]
name = "proc-macro2"
version = "1.0.78"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
dependencies = [
"unicode-ident",
]
[[package]]
name = "quote"
version = "1.0.35"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
dependencies = [
"proc-macro2",
]
[[package]]
name = "regex"
version = "1.10.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
dependencies = [
"aho-corasick",
"memchr",
"regex-automata",
"regex-syntax",
]
[[package]]
name = "regex-automata"
version = "0.4.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd"
dependencies = [
"aho-corasick",
"memchr",
"regex-syntax",
]
[[package]]
name = "regex-syntax"
version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
[[package]]
name = "rustc-demangle"
version = "0.1.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
[[package]]
name = "ryu"
version = "1.0.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c"
[[package]]
name = "serde"
version = "1.0.196"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
version = "1.0.196"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.48",
]
[[package]]
name = "serde_json"
version = "1.0.113"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "69801b70b1c3dac963ecb03a364ba0ceda9cf60c71cfe475e99864759c8b8a79"
dependencies = [
"itoa",
"ryu",
"serde",
]
[[package]]
name = "serde_repr"
version = "0.1.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b2e6b945e9d3df726b65d6ee24060aff8e3533d431f677a9695db04eff9dfdb"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.48",
]
[[package]]
name = "simple_logger"
version = "4.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8e7e46c8c90251d47d08b28b8a419ffb4aede0f87c2eea95e17d1d5bacbf3ef1"
dependencies = [
"colored",
"log",
"time",
"windows-sys",
]
[[package]]
name = "socket2"
version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
dependencies = [
"libc",
"windows-sys",
]
[[package]]
name = "strsim"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
[[package]]
name = "structopt"
version = "0.3.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0c6b5c64445ba8094a6ab0c3cd2ad323e07171012d9c98b0b15651daf1787a10"
dependencies = [
"clap",
"lazy_static",
"structopt-derive",
]
[[package]]
name = "structopt-derive"
version = "0.4.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0"
dependencies = [
"heck",
"proc-macro-error",
"proc-macro2",
"quote",
"syn 1.0.109",
]
[[package]]
name = "syn"
version = "1.0.109"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
dependencies = [
"proc-macro2",
"quote",
"unicode-ident",
]
[[package]]
name = "syn"
version = "2.0.48"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
dependencies = [
"proc-macro2",
"quote",
"unicode-ident",
]
[[package]]
name = "textwrap"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
dependencies = [
"unicode-width",
]
[[package]]
name = "time"
version = "0.3.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fe80ced77cbfb4cb91a94bf72b378b4b6791a0d9b7f09d0be747d1bdff4e68bd"
dependencies = [
"deranged",
"itoa",
"libc",
"num-conv",
"num_threads",
"powerfmt",
"serde",
"time-core",
"time-macros",
]
[[package]]
name = "time-core"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
[[package]]
name = "time-macros"
version = "0.2.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774"
dependencies = [
"num-conv",
"time-core",
]
[[package]]
name = "tokio"
version = "1.35.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104"
dependencies = [
"backtrace",
"bytes",
"libc",
"mio",
"pin-project-lite",
"socket2",
"windows-sys",
]
[[package]]
name = "unicode-ident"
version = "1.0.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
[[package]]
name = "unicode-segmentation"
version = "1.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
[[package]]
name = "unicode-width"
version = "0.1.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
[[package]]
name = "vec_map"
version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
[[package]]
name = "version_check"
version = "0.9.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
[[package]]
name = "wasi"
version = "0.11.0+wasi-snapshot-preview1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
[[package]]
name = "winapi"
version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
dependencies = [
"winapi-i686-pc-windows-gnu",
"winapi-x86_64-pc-windows-gnu",
]
[[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.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
dependencies = [
"windows-targets",
]
[[package]]
name = "windows-targets"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
dependencies = [
"windows_aarch64_gnullvm",
"windows_aarch64_msvc",
"windows_i686_gnu",
"windows_i686_msvc",
"windows_x86_64_gnu",
"windows_x86_64_gnullvm",
"windows_x86_64_msvc",
]
[[package]]
name = "windows_aarch64_gnullvm"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
[[package]]
name = "windows_aarch64_msvc"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
[[package]]
name = "windows_i686_gnu"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
[[package]]
name = "windows_i686_msvc"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
[[package]]
name = "windows_x86_64_gnu"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
[[package]]
name = "windows_x86_64_gnullvm"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
[[package]]
name = "windows_x86_64_msvc"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
[[package]]
name = "zerocopy"
version = "0.7.34"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087"
dependencies = [
"zerocopy-derive",
]
[[package]]
name = "zerocopy-derive"
version = "0.7.34"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.48",
]

View file

@ -0,0 +1,31 @@
{ lib
, rustPlatform
, fetchFromGitHub
}:
rustPlatform.buildRustPackage rec {
pname = "hyprdrop";
version = "unstable-2024-05-12";
src = fetchFromGitHub {
owner = "kjlo";
repo = "hyprdrop";
rev = "d21001d1589e0f4d3b809a6b6efa18c411421c30";
hash = "sha256-t/sxLtpPFHOWTSivMdh+7C8Ba4bBObZgjisgSkRcOpc=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"hyprland-0.4.0-alpha.2" = "sha256-+AkB1ZltdqPn2ZRzU5FIQVWwuvm2TWhnNJnnG/oUIfI=";
};
};
meta = with lib; {
description = "Rust implementation of Hdrop";
homepage = "https://github.com/kjlo/hyprdrop";
license = licenses.mit;
maintainers = with maintainers; [ ];
mainProgram = "hyprdrop";
};
}

View file

@ -0,0 +1,28 @@
{ lib
, buildGoModule
, fetchFromGitHub
}:
buildGoModule rec {
pname = "opera-proxy";
version = "1.2.5";
src = fetchFromGitHub {
owner = "Snawoot";
repo = "opera-proxy";
rev = "v${version}";
hash = "sha256-ZTebhXmyUPONxcOR7+1qQzGKcGlGfOu2OToFaCgSPCQ=";
};
vendorHash = "sha256-IlkMeihvGwuvswOFC8+8ZJCCVWbFnLH51X7Z+VDnZx4=";
ldflags = [ "-s" "-w" ];
meta = with lib; {
description = "Standalone client for proxies of Opera VPN";
homepage = "https://github.com/Snawoot/opera-proxy";
license = licenses.mit;
maintainers = with maintainers; [ ];
mainProgram = "opera-proxy";
};
}

View file

@ -0,0 +1,28 @@
{ lib
, buildGoModule
, fetchFromGitHub
}:
buildGoModule rec {
pname = "windscribe-proxy";
version = "1.4.0";
src = fetchFromGitHub {
owner = "Snawoot";
repo = "windscribe-proxy";
rev = "v${version}";
hash = "sha256-bVW/cdG1/5WiVZD5yXdkoVqUlYas/CkTD82WANne9gA=";
};
vendorHash = "sha256-K1ca//RdFGbNLrLDHsjaCcChHREO/dvOWg7/auRbFhs=";
ldflags = [ "-s" "-w" ];
meta = with lib; {
description = "Standalone client for proxies of Windscribe browser extension";
homepage = "https://github.com/Snawoot/windscribe-proxy";
license = licenses.mit;
maintainers = with maintainers; [ ];
mainProgram = "windscribe-proxy";
};
}

View file

@ -5,14 +5,15 @@
"flake-parts": "flake-parts",
"nixpkgs": [
"nixpkgs"
]
],
"systems": "systems"
},
"locked": {
"lastModified": 1713259062,
"narHash": "sha256-WTO84hUL8IlNuHDK2yOCeJ38EewFzGt5E0kzBjNWxa8=",
"lastModified": 1717576207,
"narHash": "sha256-LU6d1xX7jN1zt10YU7Oym07MtzVfziSmUEznGFdbuaw=",
"owner": "anyrun-org",
"repo": "anyrun",
"rev": "f9d30e34fa4ccb2797c6becec37e8bcff6585d39",
"rev": "7aabad8d5bb7d1bffae903ce86427b888ab824b4",
"type": "github"
},
"original": {
@ -70,11 +71,11 @@
]
},
"locked": {
"lastModified": 1716035127,
"narHash": "sha256-qqxeTHGDvCcer1QEGlu81MmRfbkNHBqCD9Ue7S2yHBE=",
"lastModified": 1717590482,
"narHash": "sha256-TbKrGVHIXTdanGtit/NghkQ4qeCdP7W775VKmPm0tnM=",
"owner": "nix-community",
"repo": "flake-firefox-nightly",
"rev": "ee25f2df1923145abee8aa8096f9b45065b535fb",
"rev": "e7deec85c929653bc1aa034a3c2f0a588614e10b",
"type": "github"
},
"original": {
@ -85,11 +86,11 @@
},
"flake-compat": {
"locked": {
"lastModified": 1688025799,
"narHash": "sha256-ktpB4dRtnksm9F5WawoIkEneh1nrEvuxb5lJFt1iOyw=",
"lastModified": 1717312683,
"narHash": "sha256-FrlieJH50AuvagamEvWMIE6D2OAnERuDboFDYAED/dE=",
"owner": "nix-community",
"repo": "flake-compat",
"rev": "8bf105319d44f6b9f0d764efa4fdef9f1cc9ba1c",
"rev": "38fd3954cf65ce6faf3d0d45cd26059e059f07ea",
"type": "github"
},
"original": {
@ -136,11 +137,11 @@
]
},
"locked": {
"lastModified": 1696343447,
"narHash": "sha256-B2xAZKLkkeRFG5XcHHSXXcP7To9Xzr59KXeZiRf4vdQ=",
"lastModified": 1717285511,
"narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "c9afaba3dfa4085dbd2ccb38dfade5141e33d9d4",
"rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8",
"type": "github"
},
"original": {
@ -157,11 +158,11 @@
]
},
"locked": {
"lastModified": 1714641030,
"narHash": "sha256-yzcRNDoyVP7+SCNX0wmuDju1NUCt8Dz9+lyUXEI0dbI=",
"lastModified": 1715865404,
"narHash": "sha256-/GJvTdTpuDjNn84j82cU6bXztE0MSkdnTWClUCRub78=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "e5d10a24b66c3ea8f150e47dfdb0416ab7c3390e",
"rev": "8dc45382d5206bd292f9c2768b8058a8fd8311d9",
"type": "github"
},
"original": {
@ -170,24 +171,9 @@
"type": "github"
}
},
"flake-root": {
"locked": {
"lastModified": 1713493429,
"narHash": "sha256-ztz8JQkI08tjKnsTpfLqzWoKFQF4JGu2LRz8bkdnYUk=",
"owner": "srid",
"repo": "flake-root",
"rev": "bc748b93b86ee76e2032eecda33440ceb2532fcd",
"type": "github"
},
"original": {
"owner": "srid",
"repo": "flake-root",
"type": "github"
}
},
"flake-utils": {
"inputs": {
"systems": "systems"
"systems": "systems_2"
},
"locked": {
"lastModified": 1710146030,
@ -205,7 +191,7 @@
},
"flake-utils_2": {
"inputs": {
"systems": "systems_3"
"systems": "systems_4"
},
"locked": {
"lastModified": 1701680307,
@ -223,7 +209,7 @@
},
"flake-utils_3": {
"inputs": {
"systems": "systems_4"
"systems": "systems_5"
},
"locked": {
"lastModified": 1710146030,
@ -240,24 +226,6 @@
}
},
"flake-utils_4": {
"inputs": {
"systems": "systems_5"
},
"locked": {
"lastModified": 1710146030,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_5": {
"inputs": {
"systems": "systems_6"
},
@ -275,11 +243,38 @@
"type": "github"
}
},
"git-hooks": {
"inputs": {
"flake-compat": "flake-compat_3",
"gitignore": "gitignore",
"nixpkgs": [
"nixvim",
"nixpkgs"
],
"nixpkgs-stable": [
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1716213921,
"narHash": "sha256-xrsYFST8ij4QWaV6HEokCUNIZLjjLP1bYC60K8XiBVA=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "0e8fcc54b842ad8428c9e705cb5994eaf05c26a0",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
"nixvim",
"pre-commit-hooks",
"git-hooks",
"nixpkgs"
]
},
@ -304,11 +299,11 @@
]
},
"locked": {
"lastModified": 1715486357,
"narHash": "sha256-4pRuzsHZOW5W4CsXI9uhKtiJeQSUoe1d2M9mWU98HC4=",
"lastModified": 1717525419,
"narHash": "sha256-5z2422pzWnPXHgq2ms8lcCfttM0dz+hg+x1pCcNkAws=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "44677a1c96810a8e8c4ffaeaad10c842402647c1",
"rev": "a7117efb3725e6197dd95424136f79147aa35e5b",
"type": "github"
},
"original": {
@ -325,11 +320,11 @@
]
},
"locked": {
"lastModified": 1715486357,
"narHash": "sha256-4pRuzsHZOW5W4CsXI9uhKtiJeQSUoe1d2M9mWU98HC4=",
"lastModified": 1717052710,
"narHash": "sha256-LRhOxzXmOza5SymhOgnEzA8EAQp+94kkeUYWKKpLJ/U=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "44677a1c96810a8e8c4ffaeaad10c842402647c1",
"rev": "29c69d9a466e41d46fd3a7a9d0591ef9c113c2ae",
"type": "github"
},
"original": {
@ -354,11 +349,11 @@
]
},
"locked": {
"lastModified": 1715791817,
"narHash": "sha256-J069Uhv/gCMFLX1dSh2f+9ZTM09r1Nv3oUfocCnWKow=",
"lastModified": 1716576411,
"narHash": "sha256-FIN1wMoyePBTtibCbaeJaoKNLuAYIGwLCWAYC1DJanw=",
"owner": "hyprwm",
"repo": "hyprcursor",
"rev": "7c3aa03dffb53921e583ade3d4ae3f487e390e7e",
"rev": "57298fc4f13c807e50ada2c986a3114b7fc2e621",
"type": "github"
},
"original": {
@ -373,15 +368,15 @@
"hyprlang": "hyprlang",
"hyprwayland-scanner": "hyprwayland-scanner",
"nixpkgs": "nixpkgs",
"systems": "systems_2",
"systems": "systems_3",
"xdph": "xdph"
},
"locked": {
"lastModified": 1716316196,
"narHash": "sha256-ynu+Ii1PTtnz4YdjP2CJbnxaie9aETNAds9lwDzeQus=",
"lastModified": 1717576964,
"narHash": "sha256-+iTjt2ujiWJZW7J36s/CzMiF1CEOi20TTK+Uq53tlxk=",
"ref": "refs/heads/main",
"rev": "e419ef1873de01b0762f7f1a411994170a4d8cab",
"revCount": 4723,
"rev": "fefa55d406e38eda481ce75178cef3e43298762d",
"revCount": 4763,
"submodules": true,
"type": "git",
"url": "https://github.com/hyprwm/Hyprland"
@ -399,11 +394,11 @@
]
},
"locked": {
"lastModified": 1715621965,
"narHash": "sha256-S5Wzi3hhFOiCaeZqmx3zBdrv8KzaEafD5hCfY8ixz0A=",
"lastModified": 1716228712,
"narHash": "sha256-y+LOXuSRMfkR2Vfwl5K2NVrszi1h5MJpML+msLnVS8U=",
"owner": "hyprwm",
"repo": "contrib",
"rev": "46d2206858657d439792926958f52b037534de49",
"rev": "33b38358559054d316eb605ccb733980dfa7dc63",
"type": "github"
},
"original": {
@ -451,11 +446,11 @@
]
},
"locked": {
"lastModified": 1715791527,
"narHash": "sha256-HhQ4zvGHrRjR63ltySSeg+x+0jb0lepiutWdnFhLRoo=",
"lastModified": 1716473782,
"narHash": "sha256-+qLn4lsHU6iL3+HTo1gTQ1tWzet8K9h+IfVemzEQZj8=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "969cb076e5b76f2e823aeca1937a3e1f159812ee",
"rev": "87d5d984109c839482b88b4795db073eb9ed446f",
"type": "github"
},
"original": {
@ -495,11 +490,11 @@
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1716725378,
"narHash": "sha256-bNTVDAVBLFSSTU+q54cJnntmFKBi+F/D8sSqlZwBGiM=",
"lastModified": 1717330178,
"narHash": "sha256-rRZjmC3xcPpHTJHnEy3T99O86Ecjao5YhakzaoNiRcs=",
"owner": "nix-community",
"repo": "lib-aggregate",
"rev": "dbc9130fe1455e0f6ee4d8f5f799f9be551f866b",
"rev": "64d43e2bbc6eab8d1cbdfba96d90a71e15a847d7",
"type": "github"
},
"original": {
@ -532,11 +527,11 @@
]
},
"locked": {
"lastModified": 1713946171,
"narHash": "sha256-lc75rgRQLdp4Dzogv5cfqOg6qYc5Rp83oedF2t0kDp8=",
"lastModified": 1716993688,
"narHash": "sha256-vo5k2wQekfeoq/2aleQkBN41dQiQHNTniZeVONWiWLs=",
"owner": "lnl7",
"repo": "nix-darwin",
"rev": "230a197063de9287128e2c68a7a4b0cd7d0b50a7",
"rev": "c0d5b8c54d6828516c97f6be9f2d00c63a363df4",
"type": "github"
},
"original": {
@ -547,11 +542,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1716137900,
"narHash": "sha256-sowPU+tLQv8GlqtVtsXioTKeaQvlMz/pefcdwg8MvfM=",
"lastModified": 1716330097,
"narHash": "sha256-8BO3B7e3BiyIDsaKA0tY8O88rClYRTjvAp66y+VBUeU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "6c0b7a92c30122196a761b440ac0d46d3d9954f1",
"rev": "5710852ba686cc1fd0d3b8e22b3117d43ba374c2",
"type": "github"
},
"original": {
@ -563,11 +558,11 @@
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1716684580,
"narHash": "sha256-sIbMJWJr4hl2PWd9/iWlh89QfVzBn1NJ3u5RjeZADuM=",
"lastModified": 1717289404,
"narHash": "sha256-4q6ZO3BqHgdd3Aacb/xiQXB4g9TQKpQg/praTpD9vbI=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "d0d27192931680482081aa1c38389da2af84a651",
"rev": "e090cb30ae82f4b4461aafdb808847c6c97b08c2",
"type": "github"
},
"original": {
@ -578,11 +573,11 @@
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1715668745,
"narHash": "sha256-xp62OkRkbUDNUc6VSqH02jB0FbOS+MsfMb7wL1RJOfA=",
"lastModified": 1717530100,
"narHash": "sha256-b4Dn+PnrZoVZ/BoR9JN2fTxXxplJrAsdSUIePf4Cacs=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "9ddcaffecdf098822d944d4147dd8da30b4e6843",
"rev": "a2e1d0414259a144ebdc048408a807e69e0565af",
"type": "github"
},
"original": {
@ -610,11 +605,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1715534503,
"narHash": "sha256-5ZSVkFadZbFP1THataCaSf0JH2cAH3S29hU9rrxTEqk=",
"lastModified": 1717196966,
"narHash": "sha256-yZKhxVIKd2lsbOqYd5iDoUIwsRZFqE87smE2Vzf6Ck0=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "2057814051972fa1453ddfb0d98badbea9b83c06",
"rev": "57610d2f8f0937f39dbd72251e9614b1561942d8",
"type": "github"
},
"original": {
@ -658,11 +653,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1715534503,
"narHash": "sha256-5ZSVkFadZbFP1THataCaSf0JH2cAH3S29hU9rrxTEqk=",
"lastModified": 1717602782,
"narHash": "sha256-pL9jeus5QpX5R+9rsp3hhZ+uplVHscNJh8n8VpqscM0=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "2057814051972fa1453ddfb0d98badbea9b83c06",
"rev": "e8057b67ebf307f01bdcc8fba94d94f75039d1f6",
"type": "github"
},
"original": {
@ -674,11 +669,11 @@
},
"nixpkgs_3": {
"locked": {
"lastModified": 1715447595,
"narHash": "sha256-VsVAUQOj/cS1LCOmMjAGeRksXIAdPnFIjCQ0XLkCsT0=",
"lastModified": 1716769173,
"narHash": "sha256-7EXDb5WBw+d004Agt+JHC/Oyh/KTUglOaQ4MNjBbo5w=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "062ca2a9370a27a35c524dc82d540e6e9824b652",
"rev": "9ca3f649614213b2aaf5f1e16ec06952fe4c2632",
"type": "github"
},
"original": {
@ -741,19 +736,18 @@
"devshell": "devshell",
"flake-compat": "flake-compat_2",
"flake-parts": "flake-parts_2",
"flake-root": "flake-root",
"git-hooks": "git-hooks",
"home-manager": "home-manager_2",
"nix-darwin": "nix-darwin",
"nixpkgs": "nixpkgs_3",
"pre-commit-hooks": "pre-commit-hooks",
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1715758881,
"narHash": "sha256-0W9F2F9YnqMZPBrz68VrTALlhTyBBeuuh/xD8C0PEVg=",
"lastModified": 1717574948,
"narHash": "sha256-8C2S1WWC4ty1LePzFWp+D6re/pggCJj9tWslddJ/wUw=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "e035d22b64a9bd5f469664cbe42ea798d7c16b2e",
"rev": "a54ee8ad64c91b587c3460126bad25a441c1118c",
"type": "github"
},
"original": {
@ -762,34 +756,6 @@
"type": "github"
}
},
"pre-commit-hooks": {
"inputs": {
"flake-compat": "flake-compat_3",
"flake-utils": "flake-utils_3",
"gitignore": "gitignore",
"nixpkgs": [
"nixvim",
"nixpkgs"
],
"nixpkgs-stable": [
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1714478972,
"narHash": "sha256-q//cgb52vv81uOuwz1LaXElp3XAe1TqrABXODAEF6Sk=",
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"rev": "2849da033884f54822af194400f8dff435ada242",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"type": "github"
}
},
"root": {
"inputs": {
"anyrun": "anyrun",
@ -813,11 +779,11 @@
"sops-nix": "sops-nix"
},
"locked": {
"lastModified": 1716081545,
"narHash": "sha256-ypSvXHziqSlX/dafHm0SWS2TiaAEoswWr/0LrzPC8Xc=",
"lastModified": 1717693242,
"narHash": "sha256-yRPXkZ6Uc4M585Hq1hxNtSBlgGnzDEVFcs2+xccDcXs=",
"ref": "refs/heads/main",
"rev": "33beddf3a50f2a15266f847e298b50ce54077ef8",
"revCount": 33,
"rev": "dc80291b90317d2b88665392858c4191ebb6f6ad",
"revCount": 36,
"type": "git",
"url": "ssh://git@github.com/deltathetawastaken/secrets.git"
},
@ -828,7 +794,7 @@
},
"shwewo": {
"inputs": {
"flake-utils": "flake-utils_4",
"flake-utils": "flake-utils_3",
"nixpkgs": [
"nixpkgs"
],
@ -871,21 +837,6 @@
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_2": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
@ -900,7 +851,7 @@
"type": "github"
}
},
"systems_3": {
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@ -915,6 +866,21 @@
"type": "github"
}
},
"systems_3": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-linux",
"type": "github"
}
},
"systems_4": {
"locked": {
"lastModified": 1681028828,
@ -962,7 +928,7 @@
},
"tdesktop": {
"inputs": {
"flake-utils": "flake-utils_5",
"flake-utils": "flake-utils_4",
"nixpkgs": "nixpkgs_6"
},
"locked": {
@ -987,11 +953,11 @@
]
},
"locked": {
"lastModified": 1714058656,
"narHash": "sha256-Qv4RBm4LKuO4fNOfx9wl40W2rBbv5u5m+whxRYUMiaA=",
"lastModified": 1715940852,
"narHash": "sha256-wJqHMg/K6X3JGAE9YLM0LsuKrKb4XiBeVaoeMNlReZg=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "c6aaf729f34a36c445618580a9f95a48f5e4e03f",
"rev": "2fba33a182602b9d49f0b2440513e5ee091d838b",
"type": "github"
},
"original": {

View file

@ -7,6 +7,7 @@
./theme.nix
../pkgs/helix
../pkgs/yazi
../pkgs/waybar
];
#services.blueman-applet.enable = true;
@ -15,7 +16,6 @@
enable = true;
package = pkgs.vscode;
extensions = with pkgs.vscode-extensions; [
matklad.rust-analyzer
jnoortheen.nix-ide
b4dm4n.vscode-nixpkgs-fmt
usernamehw.errorlens

View file

@ -2,7 +2,6 @@
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ stable, unstable, config, lib, pkgs, modulesPath, ... }:
{
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
@ -29,24 +28,49 @@
pkgs.wireless-regdb
];
console = {
earlySetup = true;
font = "${pkgs.spleen}/share/consolefonts/spleen-16x32.psfu";
packages = with pkgs; [ spleen ];
keyMap = "us";
};
boot.initrd = {
preDeviceCommands = ''
cat << "EOF"
____
/\ \
/ \ \
/ \ \
/ \ \
/ /\ \ \
/ / \ \ \
/ / /\ \ \
/ / / \ \ \
/ / /____\___\ \
/ / / \
/ / /________________\
\ / /
\/_____________________/
EOF
echo kernel: $(uname -r | tr '[:upper:]' '[:lower:]')
'';
};
# boot.initrd = {
# preDeviceCommands = ''/bin/initrd.sh'';
# secrets."/bin/initrd.sh" = ./initrd.sh;
# };
# 5 GHZ wifi
boot.extraModprobeConfig = ''
options cfg80211 ieee80211_regdom="RU"
options cfg80211 ieee80211_regdom="RU"
'';
services.zfs.autoScrub.enable = true;
services.fstrim = {
enable = true;
interval = "weekly";
};
# nix.gc = {
# automatic = true;
# dates = "weekly";
# options = "--delete-older-than 7d";
# # randomizedDelaySec = "30m";
# };
programs.nh = {
enable = true;
clean.enable = true;
@ -62,25 +86,44 @@
"initcall_blacklist=acpi_cpufreq_init"
"nowatchdog"
"amd_pstate.shared_mem=1"
"zfs.zfs_arc_max=19327352832"
"resume=UUID=a2ff20bd-56f3-4c83-b1b4-933ba0c82f36"
];
boot.kernelModules = [ "amd-pstate" "acpi_call" "amdgpu" "kvm-amd" "vfat" "nls_cp437" "nls_iso8859-1" ];
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usb_storage" "sd_mod" "vfat" "nls_cp437" "nls_iso8859-1" ];
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usb_storage" "usbhid" "sd_mod" "vfat" "nls_cp437" "nls_iso8859-1" ];
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.efi.efiSysMountPoint = "/boot";
boot.initrd.kernelModules = [ ];
boot.kernelPackages = unstable.linuxPackages_xanmod_latest;
boot.extraModulePackages = with config.boot.kernelPackages; [ acpi_call cpupower ];
boot.extraModulePackages = with config.boot.kernelPackages; [ usbip.out ];
boot.kernelPackages =
with builtins; with lib; let
latestCompatibleVersion = config.boot.zfs.package.latestCompatibleLinuxPackages.kernel.version;
xanPackages = filterAttrs (name: packages: hasSuffix "_xanmod" name && (tryEval packages).success) pkgs.linuxKernel.packages;
compatiblePackages = filter (packages: compareVersions packages.kernel.version latestCompatibleVersion <= 0) (attrValues xanPackages);
orderedCompatiblePackages = sort (x: y: compareVersions x.kernel.version y.kernel.version > 0) compatiblePackages;
selectedKernelPackage = head orderedCompatiblePackages;
in selectedKernelPackage // {
extraPackages = with selectedKernelPackage; [ acpi_call ];
};
fileSystems."/" = {
device = "/dev/disk/by-uuid/6b2d5c46-92de-42d0-a272-16b7ef7f30af";
fsType = "ext4";
};
boot.plymouth.enable = false;
boot.supportedFilesystems = [ "zfs" ];
boot.initrd.extraUtilsCommands = ''
copy_bin_and_libs ${pkgs.multipath-tools}/bin/kpartx
'';
boot.initrd.luks = {
yubikeySupport = true;
devices."cryptroot" = {
yubikeySupport = false;
devices."cryptroot0" = {
device = "/dev/nvme0n1p2";
postOpenCommands = "
kpartx -u /dev/mapper/cryptroot0
kpartx -u /dev/mapper/cryptroot0p1
kpartx -u /dev/mapper/cryptroot0p2
";
yubikey = {
slot = 2;
gracePeriod = 7;
@ -96,15 +139,26 @@
};
};
sops.age.keyFile = lib.mkForce "/root/keys.txt";
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/6770-34DC";
device = "/dev/disk/by-uuid/4E0B-6C2F";
fsType = "vfat";
};
swapDevices = [{
device = "/var/lib/swapfile";
size = 32 * 1024;
}];
fileSystems."/" =
{ device = "zroot/root";
fsType = "zfs";
};
fileSystems."/home" =
{ device = "zroot/home";
fsType = "zfs";
};
swapDevices =
[ { device = "/dev/disk/by-uuid/a2ff20bd-56f3-4c83-b1b4-933ba0c82f36"; }
];
hardware.opengl = {
enable = true;
@ -118,6 +172,7 @@
};
networking.useDHCP = lib.mkDefault true;
networking.hostId = "11C0FFEE";
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;

View file

@ -21,10 +21,16 @@
time.timeZone = "Europe/Moscow";
i18n.defaultLocale = "en_GB.UTF-8";
i18n.extraLocaleSettings = {
LANGUAGE = "en_GB.UTF-8";
LC_ALL = "en_GB.UTF-8";
LC_TIME = "en_GB.UTF-8";
};
networking = {
hostName = "dlaptop";
nameservers = [ "100.92.15.128" "fd7a:115c:a1e0::b21c:f80" ];
nameservers = [ "1.1.1.1" ];
#nameservers = [ "100.92.15.128" "fd7a:115c:a1e0::b21c:f80" ];
networkmanager.dns = "none";
networkmanager.enable = true;
useDHCP = lib.mkDefault true;
@ -156,6 +162,8 @@
};
environment.systemPackages = with pkgs; [
multipath-tools #ZFS in LUKS mount
openvpn
any-nix-shell
comma

View file

@ -129,7 +129,7 @@ in {
",s" = ", -s";
};
promptInit = ''
# set TERM "xterm-256color"
set TERM "xterm-256color"
set fish_greeting
export STARSHIP_CONFIG=/etc/starship.toml
${pkgs.zoxide}/bin/zoxide init fish | source

View file

@ -40,6 +40,8 @@ in {
wl-clipboard-x11
#(callPackage ../derivations/nu_plugin_dns.nix { })
(fishPlugins.callPackage ../derivations/fish/fish-functions.nix { })
(callPackage ../derivations/opera-proxy.nix { })
(callPackage ../derivations/hyprdrop/hyprdrop.nix { })
xorg.xwininfo
jq
dropbox
@ -74,11 +76,11 @@ in {
lexend # font from google (non-mono)
ibm-plex
fira-code
# iosevka-comfy.comfy
iosevka-comfy.comfy
# iosevka-comfy.comfy-duo
# iosevka-comfy.comfy-wide
# iosevka-comfy.comfy-wide-duo
iosevka-comfy.comfy-motion-duo
iosevka-comfy.comfy-wide
iosevka-comfy.comfy-wide-duo
# iosevka-comfy.comfy-motion-duo
jamesdsp easyeffects
nmap
wget
@ -94,7 +96,8 @@ in {
# '';
#})
shwewo.audiorelay
shwewo.tdesktop
# shwewo.tdesktop
# _64gram
(pkgs.writeScriptBin "tlp" ''/run/wrappers/bin/sudo ${pkgs.tlp}/bin/tlp $@'')
prismlauncher
stable.teleport_12 #work
@ -104,6 +107,7 @@ in {
atool #unarchive
open-interpreter
overrides.diosevka
# iosevka-bin
# overrides.iosevka-comfy
overrides.vesktop
# overrides.input-font

View file

@ -40,9 +40,9 @@ in
programs.dconf.profiles.user.databases = [
{
settings = {
#"org/gnome/mutter" = {
# experimental-features = [ "scale-monitor-framebuffer" ];
#};
"org/gnome/mutter" = {
experimental-features = [ "scale-monitor-framebuffer" ];
};
"org/gnome/settings-daemon/plugins/media-keys" = {
custom-keybindings = [
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/"

View file

@ -10,7 +10,7 @@
programs.hyprland.package = inputs.hyprland.packages.${pkgs.system}.hyprland;
users.users.delta.packages = with pkgs; [
swww
stable.waybar
waybar
stable.swaynotificationcenter
cliphist
fzf

View file

@ -7,7 +7,7 @@
# monitor=eDP-1,2944x1840@60,auto,1.333333
# monitor=eDP-1,preferred,auto,1.6
monitor=eDP-1,preferred,auto,1.333333
monitor=eDP-1,preferred,auto,1.6
#monitor=eDP-1,preferred,auto,1.066667
#source = ~/.config/hypr/monitors.conf
@ -33,7 +33,7 @@ exec-once = sh -c "sleep 2 && swww clear"
#exec-once = mpvpaper '*' -o "video-scale-y=1.1 --gpu-context=wayland --vo=gpu --hwdec=vaapi-copy" videowork/bgloop.webm
# exec-once = gtk-launch autostart
exec-once =
exec-once = waybar -c ~/.config/waybar/config-offline.jsonc
exec-once = waybar
#exec-once = ags
exec-once = nm-applet
@ -327,7 +327,11 @@ windowrulev2 = fakefullscreen,class:^(org.telegram.desktop|telegramdesktop)$,tit
# windowrulev2 = center,initialTitle:^(Media viewer)$
# windowrulev2 = fakefullscreen,initialTitle:^(Media viewer)$
# windowrulev2 = noshadow,initialTitle:^(Media viewer)$
windowrulev2 = float, class:^(kitty_hyprdrop)$
windowrulev2 = center 1, class:^(kitty_hyprdrop)$
windowrulev2 = size 100% 98%, class:^(kitty_hyprdrop)$
windowrulev2 = noanim,class:^(kitty_hyprdrop)$
windowrule = noblur,^(kitty_hyprdrop)$
#layerrules
@ -355,7 +359,8 @@ bind = $mainMod, U, togglesplit
#bind = $mainMod, RETURN, exec, footclient #open the terminal
bind = $mainMod, RETURN, exec, footclient
bind = $mainMod, Q, exec, footclient
bind = ALT, RETURN, exec, sh -c "/home/delta/.config/hypr/hdrop -g '30' -h '98' -p t -f kitty --class kitty_drop"
# bind = ALT, RETURN, exec, sh -c "/home/delta/.config/hypr/hdrop -g '30' -h '98' -p t -f kitty --class kitty_drop"
bind = ALT, RETURN, exec, hyprdrop kitty -i kitty_hyprdrop
bind = ALT, X, exec, sh -c "/home/delta/.config/hypr/hdrop -g '30' -h '60' -f 'keepassxc_lite' --class org.keepassxc.KeePassXC"
# bind = ALT, T, exec, sh -c "QT_QPA_PLATFORM=xcb /home/delta/.config/hypr/hdrop -h '60' -g '30' -f 'telegram-desktop' --class TelegramDesktop"
#bind = $mainMod SHIFT, RETURN, exec, alacritty #open the terminal
@ -525,5 +530,5 @@ binde = $mainMod SHIFT CTRL, L, moveactive, 30 0
# Source a file (multi-file configs)
# source = ~/.config/hypr/myColors.conf
source = ~/.config/hypr/media-binds.conf
source = ~/.config/hypr/env_var.conf
###source = ~/.config/hypr/media-binds.conf
###source = ~/.config/hypr/env_var.conf

View file

@ -1,15 +1,15 @@
{ pkgs, lib, inputs, ... }:
let
nixpkgs2305 = import inputs.nixpkgs2305 { system = "${pkgs.system}"; config = { allowUnfree = true; }; };
socksBuilder = attrs:
socksBuilder = { name, script, autostart ? true, socketConfig ? null }:
{
inherit (attrs) name;
inherit name;
value = {
enable = true;
after = [ "novpn.service" "network-online.target" ];
wants = [ "novpn.service" "network-online.target" ];
bindsTo = [ "novpn.service" ];
wantedBy = [ "multi-user.target" ];
wantedBy = if autostart then [ "multi-user.target" ] else [ ];
serviceConfig = {
Restart = "on-failure";
@ -20,7 +20,7 @@ let
Group = "socks";
};
script = attrs.script;
script = script;
preStart = "while true; do ip addr show dev novpn1 | grep -q 'inet' && break; sleep 1; done";
path = with pkgs; [
@ -28,18 +28,62 @@ let
shadowsocks-libev
shadowsocks-v2ray-plugin
sing-box
wireproxy
wireproxy
gost
(callPackage ../derivations/opera-proxy.nix { })
];
};
};
socksed = [ # IP of the proxies is 192.168.150.2
{ name = "singbox-aus"; script = "sing-box run -c /run/secrets/singbox-aus";} # port 4000
{ name = "socks-warp"; script = "wireproxy -c /etc/wireguard/cproxy.conf"; } # port 3333
{ name = "socks-warp" ; script = "wireproxy -c /etc/wireguzard/cproxy.conf"; } # port 3333
{ name = "socks-novpn"; script = "gost -L socks5://192.168.150.2:3334"; } # port 3334
{ name = "opera-socks";
script = "sing-box run -c ${opera-singboxcfg} & opera-proxy -bootstrap-dns https://1.1.1.1/dns-query -bind-address 192.168.150.2:18088";
autostart = false;
socketConfig = { port = "3335"; idleStopSec = "180s"; };
} # port 3335
];
socketsServiceGenerator = { name, port, idleStopSec }: {
inherit name;
value = {
description = "Socket activation for ${name}";
wantedBy = [ "sockets.target" ];
socketConfig = {
ListenStream = "${port}";
IdleStopSec = idleStopSec;
};
};
};
opera-singboxcfg = pkgs.writeText "opera-singboxcfg" ''
{
"log": {
"disabled": true,
"output": "stdout"
},
"inbounds": [
{
"type": "socks",
"listen": "192.168.150.2",
"listen_port": 3335,
"sniff": true,
"sniff_override_destination": true
}
],
"outbounds": [
{
"type": "http",
"server": "192.168.150.2",
"server_port": 18088
}
]
}
'';
delete_rules = pkgs.writeScriptBin "delete_rules" ''
#!${pkgs.bash}/bin/bash
default_gateway=$(cat /etc/netns/novpn/default_gateway)
@ -117,6 +161,11 @@ let
ip netns del novpn
rm -rf /var/run/netns/novpn/
'';
socketsBuilder = socketsServiceGenerator;
withSockets = lib.filter (s: lib.hasAttr "socketConfig" s) socksed;
enabledSocksed = lib.filter (s: !lib.hasAttr "autostart" s || s.autostart) socksed;
in {
users.users.socks = {
group = "socks";
@ -124,13 +173,20 @@ in {
};
users.groups.socks = {};
systemd.sockets = builtins.listToAttrs (map (s: socketsBuilder {
name = s.name;
port = s.socketConfig.port;
idleStopSec = s.socketConfig.idleStopSec;
}) withSockets);
systemd.services = builtins.listToAttrs (map socksBuilder socksed) // {
novpn = {
enable = true;
description = "novpn namespace";
after = [ "network-online.target" ];
wantedBy = [ "multi-user.target" ];
wants = map (s: "${s.name}.service") socksed ++ [ "network-online.target"];
wants = map (s: "${s.name}.service") enabledSocksed ++ [ "network-online.target"];
serviceConfig = {
Restart = "on-failure";

View file

@ -0,0 +1,189 @@
{
"layer": "top",
"position": "top",
"mod": "dock",
"exclusive": true,
"passthrough": false,
"gtk-layer-shell": true,
"height": 20,
"modules-left": [
"custom/power_btn",
"custom/launch_apps",
"idle_inhibitor",
"hyprland/workspaces",
"hyprland/window"
],
"modules-center": [
"clock"
],
"modules-right": [
//"custom/updates",
"cpu",
"pulseaudio",
"custom/bluetoothcharge",
"pulseaudio#microphone",
"backlight",
"tray",
//"temperature",
"custom/power_profile",
"battery",
"hyprland/language"
//"custom/myutils",
//"custom/weather"
//"custom/light_dark"
],
"include": [
"~/.config/waybar/mesu.jsonc"
// "~/.config/utils/waybar/conf/asus-rog.jsonc",
// "~/.config/utils/waybar/conf/utils-util.jsonc"
],
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "󰛐",
"deactivated": "󰛑"
},
"timeout": 180,
"tooltip": true
},
"custom/launch_apps": {
"format": "󱗼 ",
"on-click": "sh -c '(nwg-drawer -term foot)'",
"tooltip": false
},
"hyprland/language": {
"interval": 30,
"format": "<span font-family=\"Twemoji\">{}</span>",
"format-en": "🇬🇧",
"format-ru": "🇷🇺",
"on-click": "hyprctl switchxkblayout at-translated-set-2-keyboard next",
"signal": 8
},
"hyprland/window": {
"max-length": 200,
"separate-outputs": true
},
"custom/power_btn": {
"format": "",
"on-click": "sh -c '(wlogout --protocol layer-shell)'",
"tooltip": false
},
"custom/lock_screen": {
"format": "",
"on-click": "sh -c '(swaylock)'",
"tooltip": false
},
"hyprland/workspaces": {
"disable-scroll": true,
"all-outputs": true,
"on-scroll-up": "hyprctl dispatch workspace e+1",
"on-scroll-down": "hyprctl dispatch workspace e-1",
"on-click": "activate"
},
"cpu": {
"states": {
"high": 80,
"med": 40,
"low": 15
},
"interval": 10,
"format": " {usage}%",
"max-length": 10,
"format-alt-click": "click-right",
"format-alt": " ",
"on-click": "footclient --fullscreen --title=btop -o colors.alpha=0.3 sh -c 'btop'"
},
"battery": {
"states": {
"good": 80,
"warning": 30,
"critical": 20
},
"format": "{icon} {capacity}%",
"format-charging": " {capacity}%",
"format-plugged": " {capacity}%",
"format-alt-click": "click-right",
"format-alt": "{icon}",
"format-icons": ["󰂎", "󰁺", "󰁻", "󰁼", "󰁽", "󰁾", "󰁿", "󰂀", "󰂁", "󰂂", "󰁹"]
},
"pulseaudio": {
"format": "{icon}",
"format-muted": "",
"on-click": "~/.config/utils/waybar/scripts/volume --toggle",
"on-click-right": "pavucontrol",
"on-scroll-up": "~/.config/utils/waybar/scripts/volume --inc",
"on-scroll-down": "~/.config/utils/waybar/scripts/volume --dec",
"scroll-step": 5,
"format-icons": {
"headphone": "",
"hands-free": "",
"headset": "<span color='#757de8'></span>",
"phone": "",
"portable": "",
"car": "",
"default": ["", "", ""]
},
"format-alt-click": "click-middle",
"format-alt": "{icon} {volume}%",
"tooltip": true,
"tooltip-format": "{volume}%"
},
"pulseaudio#microphone": {
"format": "{format_source}",
"format-source": "",
"format-source-muted": "",
"on-click": "~/.config/utils/waybar/scripts/volume --toggle-mic",
"on-click-right": "pavucontrol",
"on-scroll-up": "~/.config/utils/waybar/scripts/volume --mic-inc",
"on-scroll-down": "~/.config/utils/waybar/scripts/volume --mic-dec",
"scroll-step": 5,
"format-alt-click": "click-middle",
"format-alt": " {volume}%",
"tooltip": true,
"tooltip-format": " {volume}%"
},
"backlight": {
"device": "intel_backlight",
"format": "{icon}",
"format-alt-click": "click-right",
"format-alt": "{icon} {percent}%",
"format-icons": ["󰃞", "󰃟", "󰃠"],
"on-scroll-up": "~/.config/utils/waybar/scripts/brightness --inc",
"on-scroll-down": "~/.config/utils/waybar/scripts/brightness --dec"
},
"tray": {
"icon-size": 16,
"spacing": 10
},
"custom/updates": {
"format": "{}",
"exec": "~/.config/utils/waybar/scripts/update-sys",
"on-click": "~/.config/utils/waybar/scripts/update-sys update",
"interval": 3600,
"tooltip": true
},
"custom/bluetoothcharge": {
"format": "{}",
"tooltip-format": "{}",
"exec": "~/.config/utils/waybar/scripts/bluetoothcharge",
"on-click": "~/.config/utils/waybar/scripts/bluetoothcharge",
"interval": 60,
"tooltip": true
}
}

View file

@ -0,0 +1,188 @@
{
"layer": "top",
"position": "top",
"mod": "dock",
"exclusive": true,
"passthrough": false,
"gtk-layer-shell": true,
"height": 20,
"modules-left": [
"custom/power_btn",
"custom/launch_apps",
"idle_inhibitor",
"hyprland/workspaces",
"hyprland/window"
],
"modules-center": [
"clock"
],
"modules-right": [
"custom/updates",
"cpu",
"pulseaudio",
"custom/bluetoothcharge",
"pulseaudio#microphone",
"backlight",
"tray",
//"temperature",
"custom/power_profile",
"battery",
"hyprland/language",
//"custom/myhyprv",
"custom/weather"
//"custom/light_dark"
],
"include": [
"~/.config/HyprV/waybar/conf/mesu.jsonc",
// "~/.config/HyprV/waybar/conf/asus-rog.jsonc",
"~/.config/HyprV/waybar/conf/hyprv-util.jsonc"
],
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "󰛐",
"deactivated": "󰛑"
},
"tooltip": true
},
"custom/launch_apps": {
"format": "󱗼 ",
"on-click": "sh -c '(nwg-drawer -term wezterm)'",
"tooltip": false
},
"hyprland/language": {
"interval": 30,
"format": "<span font-family=\"Twemoji\">{}</span>",
"format-en": "🇬🇧",
"format-ru": "🇷🇺",
"on-click": "hyprctl switchxkblayout at-translated-set-2-keyboard next",
"signal": 8
},
"hyprland/window": {
"max-length": 200,
"separate-outputs": true
},
"custom/power_btn": {
"format": "",
"on-click": "sh -c '(sleep 0.5s; wlogout --protocol layer-shell)'",
"tooltip": false
},
"custom/lock_screen": {
"format": "",
"on-click": "sh -c '(sleep 0.5s; swaylock)'",
"tooltip": false
},
"hyprland/workspaces": {
"disable-scroll": true,
"all-outputs": true,
"on-scroll-up": "hyprctl dispatch workspace e+1",
"on-scroll-down": "hyprctl dispatch workspace e-1",
"on-click": "activate"
},
"cpu": {
"states": {
"high": 80,
"med": 40,
"low": 15
},
"interval": 10,
"format": " {usage}%",
"max-length": 10,
"format-alt-click": "click-right",
"format-alt": " ",
"on-click": "footclient --fullscreen --title=btop -o colors.alpha=0.3 sh -c 'btop'"
},
"battery": {
"states": {
"good": 80,
"warning": 30,
"critical": 20
},
"format": "{icon} {capacity}%",
"format-charging": " {capacity}%",
"format-plugged": " {capacity}%",
"format-alt-click": "click-right",
"format-alt": "{icon}",
"format-icons": ["󰂎", "󰁺", "󰁻", "󰁼", "󰁽", "󰁾", "󰁿", "󰂀", "󰂁", "󰂂", "󰁹"]
},
"pulseaudio": {
"format": "{icon}",
"format-muted": "",
"on-click": "~/.config/HyprV/waybar/scripts/volume --toggle",
"on-click-right": "pavucontrol",
"on-scroll-up": "~/.config/HyprV/waybar/scripts/volume --inc",
"on-scroll-down": "~/.config/HyprV/waybar/scripts/volume --dec",
"scroll-step": 5,
"format-icons": {
"headphone": "",
"hands-free": "",
"headset": "<span color='#757de8'></span>",
"phone": "",
"portable": "",
"car": "",
"default": ["", "", ""]
},
"format-alt-click": "click-middle",
"format-alt": "{icon} {volume}%",
"tooltip": true,
"tooltip-format": "{volume}%"
},
"pulseaudio#microphone": {
"format": "{format_source}",
"format-source": "",
"format-source-muted": "",
"on-click": "~/.config/HyprV/waybar/scripts/volume --toggle-mic",
"on-click-right": "pavucontrol",
"on-scroll-up": "~/.config/HyprV/waybar/scripts/volume --mic-inc",
"on-scroll-down": "~/.config/HyprV/waybar/scripts/volume --mic-dec",
"scroll-step": 5,
"format-alt-click": "click-middle",
"format-alt": " {volume}%",
"tooltip": true,
"tooltip-format": " {volume}%"
},
"backlight": {
"device": "intel_backlight",
"format": "{icon}",
"format-alt-click": "click-right",
"format-alt": "{icon} {percent}%",
"format-icons": ["󰃞", "󰃟", "󰃠"],
"on-scroll-up": "~/.config/HyprV/waybar/scripts/brightness --inc",
"on-scroll-down": "~/.config/HyprV/waybar/scripts/brightness --dec"
},
"tray": {
"icon-size": 16,
"spacing": 10
},
"custom/updates": {
"format": "{}",
"exec": "~/.config/HyprV/waybar/scripts/update-sys",
"on-click": "~/.config/HyprV/waybar/scripts/update-sys update",
"interval": 3600,
"tooltip": true
},
"custom/bluetoothcharge": {
"format": "{}",
"tooltip-format": "{}",
"exec": "~/.config/HyprV/waybar/scripts/bluetoothcharge",
"on-click": "~/.config/HyprV/waybar/scripts/bluetoothcharge",
"interval": 60,
"tooltip": true
}
}

View file

@ -0,0 +1,159 @@
{
"layer": "top",
"position": "top",
"mod": "dock",
"exclusive": true,
"passthrough": false,
"gtk-layer-shell": true,
"height": 20,
"modules-left": [
"custom/power_btn",
"custom/launch_apps",
"idle_inhibitor",
"sway/workspaces",
"sway/mode"
],
"modules-center": [
"clock"
],
"modules-right": [
"custom/updates",
"cpu",
"pulseaudio",
"pulseaudio#microphone",
"backlight",
"tray",
"temperature",
"custom/power_profile",
"battery",
"sway/language",
"custom/weather"
],
"include": [
"~/.config/HyprV/waybar/conf/mesu.jsonc",
// "~/.config/HyprV/waybar/conf/asus-rog.jsonc",
"~/.config/HyprV/waybar/conf/hyprv-util.jsonc"
],
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "󰛐",
"deactivated": "󰛑"
},
"tooltip": true
},
"custom/launch_apps": {
"format": "󱗼 ",
"on-click": "sh -c '(sleep 0.5s; pkill nwg-drawer || nwg-drawer -term wezterm)' & disown",
"tooltip": false
},
"sway/language": {
"interval": 30,
"format": "<span font-family=\"Twitter Color Emoji\"> {}</span>",
"format-en": "🇬🇧",
"format-ru": "🇷🇺",
"on-click": "hyprctl switchxkblayout at-translated-set-2-keyboard next",
"signal": 8
},
"custom/power_btn": {
"format": "",
"on-click": "sh -c '(sleep 0.5s; wlogout --protocol layer-shell)' & disown",
"tooltip": false
},
"custom/lock_screen": {
"format": "",
"on-click": "sh -c '(sleep 0.5s; swaylock)' & disown",
"tooltip": false
},
"cpu": {
"interval": 10,
"format": "",
"max-length": 10,
"format-alt-click": "click-right",
"format-alt": " {usage}%",
"on-click": "kitty --start-as=fullscreen --title btop sh -c 'btop'"
},
"battery": {
"states": {
"good": 80,
"warning": 30,
"critical": 20
},
"format": "{icon}",
"format-charging": " {capacity}%",
"format-plugged": " {capacity}%",
"format-alt-click": "click-right",
"format-alt": "{icon} {capacity}%",
"format-icons": ["󰂎", "󰁺", "󰁻", "󰁼", "󰁽", "󰁾", "󰁿", "󰂀", "󰂁", "󰂂", "󰁹"]
},
"pulseaudio": {
"format": "{icon}",
"format-muted": "",
"on-click": "~/.config/HyprV/waybar/scripts/volume --toggle",
"on-click-right": "pavucontrol",
"on-scroll-up": "~/.config/HyprV/waybar/scripts/volume --inc",
"on-scroll-down": "~/.config/HyprV/waybar/scripts/volume --dec",
"scroll-step": 5,
"format-icons": {
"headphone": "",
"hands-free": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": ["", "", ""]
},
"format-alt-click": "click-middle",
"format-alt": "{icon} {volume}%",
"tooltip": true,
"tooltip-format": "{icon} {volume}%"
},
"pulseaudio#microphone": {
"format": "{format_source}",
"format-source": "",
"format-source-muted": "",
"on-click": "~/.config/HyprV/waybar/scripts/volume --toggle-mic",
"on-click-right": "pavucontrol",
"on-scroll-up": "~/.config/HyprV/waybar/scripts/volume --mic-inc",
"on-scroll-down": "~/.config/HyprV/waybar/scripts/volume --mic-dec",
"scroll-step": 5,
"format-alt-click": "click-middle",
"format-alt": " {volume}%",
"tooltip": true,
"tooltip-format": " {volume}%"
},
"backlight": {
"device": "intel_backlight",
"format": "{icon}",
"format-alt-click": "click-right",
"format-alt": "{icon} {percent}%",
"format-icons": ["󰃞", "󰃟", "󰃠"],
"on-scroll-up": "~/.config/HyprV/waybar/scripts/brightness --inc",
"on-scroll-down": "~/.config/HyprV/waybar/scripts/brightness --dec"
},
"tray": {
"icon-size": 16,
"spacing": 10
},
"custom/updates": {
"format": "{}",
"exec": "~/.config/HyprV/waybar/scripts/update-sys",
"on-click": "~/.config/HyprV/waybar/scripts/update-sys update",
"interval": 300,
"tooltip": true
}
}

1
pkgs/waybar/config.jsonc Symbolic link
View file

@ -0,0 +1 @@
config-offline.jsonc

8
pkgs/waybar/default.nix Normal file
View file

@ -0,0 +1,8 @@
{ pkgs, lib, ... }:
{
home.file.".config/waybar/config.jsonc".text = builtins.readFile ./config-offline.jsonc;
home.file.".config/waybar/style.css".text = builtins.readFile ./style.css;
home.file.".config/waybar/mesu.jsonc".text = builtins.readFile ./mesu.jsonc;
}

38
pkgs/waybar/mesu.jsonc Normal file
View file

@ -0,0 +1,38 @@
{
"clock": {
"format": "{:%H:%M}",
"format-alt": "{:%a %d %R}",
"tooltip-format": "<tt><small>{calendar}</small></tt>",
"calendar": {
"mode" : "month",
"mode-mon-col" : 3,
"weeks-pos" : "right",
"on-scroll" : 1,
"on-click-right": "mode",
"format": {
"months": "<span color='#66cc99'><b>{}</b></span>",
"days": "<span color='#cccccc'><b>{}</b></span>",
"weeks": "<span color='#666666'><b>{}</b></span>",
"weekdays": "<span color='#99ffcc'><b>{}</b></span>",
"today": "<span color='#ff99cc'><b>{}</b></span>"
}
},
"actions": {
"on-click-right": "mode",
"on-click-forward": "tz_up",
"on-click-backward": "tz_down",
"on-scroll-up": "shift_up",
"on-scroll-down": "shift_down"
}
},
"temperature": {
"thermal-zone": 1,
"format": "",
"format-alt-click": "click-right",
"format-alt": " {temperatureC}°C",
"critical-threshold": 70,
"format-critical": " {temperatureC}°C",
"on-click": "kitty --start-as=fullscreen --title btop sh -c 'btop'"
}
}

161
pkgs/waybar/style.css Normal file
View file

@ -0,0 +1,161 @@
* {
border: none;
border-radius: 0;
font-family: "IosevkaDiosevka";
font-weight: bold;
font-size: 16px;
min-height: 0;
}
#language {
font-size: 20px;
font-family: "Twemoji";
}
window#waybar {
background: rgba(21, 18, 27, 0);
color: #f6f7fc;
}
tooltip {
font-family: "Iosevka\ Fixed\ Heavy\ Extended";
background: #000000;
opacity: 1;
border-radius: 10px;
border-width: 2px;
border-style: solid;
border-color: #11111b;
}
tooltip label{
color: #cdd6f4;
}
#workspaces button {
padding: 5px;
color: #f6f7fc;
margin-right: 5px;
}
#workspaces button.active {
color: #000000;
background: #a6e3a1;
border-radius: 10px;
}
#workspaces button:hover {
background: #11111b;
color: #cdd6f4;
border-radius: 10px;
}
#custom-launch_wofi,
#custom-launch_firefox,
#custom-launch_thunderbird,
#custom-launch_thunar,
#custom-launch_kitty,
#custom-lock_screen,
#custom-light_dark,
#custom-power_btn,
#custom-power_profile,
#custom-weather,
#custom-myhyprv,
#window,
#cpu,
#disk,
#custom-updates,
#memory,
#clock,
#battery,
#pulseaudio,
#network,
#tray,
#temperature,
#workspaces,
#idle_inhibitor,
#backlight {
background: rgba(21, 18, 27, 0);
opacity: 1;
padding: 0px 8px;
margin: 0px 3px;
border: 0px;
}
#temperature.critical {
color: #e92d4d;
}
#workspaces {
padding-right: 0px;
padding-left: 5px;
}
#window {
border-radius: 10px;
margin-left: 0px;
margin-right: 0px;
}
#custom-launch_firefox,
#custom-launch_thunderbird,
#custom-launch_thunar,
#custom-launch_wofi,
#custom-launch_kitty,
#custom-weather {
margin-left: 0px;
border-right: 0px;
font-size: 24px;
margin-right: 20px;
}
#custom-launch_firefox,
#custom-launch_kitty {
font-size: 20px;
}
#battery {
color: #FFFFFF;
}
#battery.charging {
color: #7bc275;
}
#battery.warning:not(.charging) {
color: #FCCE7B;
}
#battery.critical:not(.charging) {
color: #f44336;
}
#cpu {
color: #FFFFFF;
}
#cpu.crit {
color: #70140d
}
#cpu.high {
color: #f44336
}
#cpu.med {
color: #FCCE7B;
}
#cpu.low {
color: #99d8ff;
}
#custom-bluetoothcharge {
color: #757de8;
}
#clock {
font-size: 17px;
margin-left: 0px;
border-right: 0px;
margin-right: 0px;
}