mew
This commit is contained in:
parent
9c9a3fe8ad
commit
86953ea925
17 changed files with 1110 additions and 606 deletions
458
flake.lock
generated
458
flake.lock
generated
|
|
@ -39,21 +39,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"crane_2": {
|
||||
"locked": {
|
||||
"lastModified": 1730060262,
|
||||
"narHash": "sha256-RMgSVkZ9H03sxC+Vh4jxtLTCzSjPq18UWpiM0gq6shQ=",
|
||||
"owner": "ipetkov",
|
||||
"repo": "crane",
|
||||
"rev": "498d9f122c413ee1154e8131ace5a35a80d8fa76",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "ipetkov",
|
||||
"repo": "crane",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"darwin": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
|
@ -83,11 +68,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1730878299,
|
||||
"narHash": "sha256-0VIz/3PKaylSIoRdOE07kkT1tMXgqaybXrfIS2Xz+so=",
|
||||
"lastModified": 1732603785,
|
||||
"narHash": "sha256-AEjWTJwOmSnVYsSJCojKgoguGfFfwel6z/6ud6UFMU8=",
|
||||
"owner": "lnl7",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "98e7dba87238e4fa4eac609dc44f07dab40661c4",
|
||||
"rev": "6ab87b7c84d4ee873e937108c4ff80c015a40c7a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -97,6 +82,24 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": "nixpkgs-lib"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1727826117,
|
||||
"narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems_2"
|
||||
|
|
@ -120,11 +123,11 @@
|
|||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709126324,
|
||||
"narHash": "sha256-q6EQdSeUZOG26WelxqkmR7kArjgWCdw5sfJVHPH/7j8=",
|
||||
"lastModified": 1726560853,
|
||||
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "d465f4819400de7c8d874d50b982301f28a84605",
|
||||
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -138,11 +141,11 @@
|
|||
"systems": "systems_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1705309234,
|
||||
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
|
||||
"lastModified": 1685518550,
|
||||
"narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
|
||||
"rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -152,33 +155,15 @@
|
|||
}
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1685518550,
|
||||
"narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=",
|
||||
"lastModified": 1726560853,
|
||||
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef",
|
||||
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -202,6 +187,40 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"freetype2": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1687587065,
|
||||
"narHash": "sha256-+Fh+/k+NWL5Ow9sDLtp8Cv/8rLNA1oByQQCIQS/bysY=",
|
||||
"owner": "wez",
|
||||
"repo": "freetype2",
|
||||
"rev": "e4586d960f339cf75e2e0b34aee30a0ed8353c0d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "wez",
|
||||
"repo": "freetype2",
|
||||
"rev": "e4586d960f339cf75e2e0b34aee30a0ed8353c0d",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"harfbuzz": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1711722720,
|
||||
"narHash": "sha256-GdxcAPx5QyniSHPAN1ih28AD9JLUPR0ItqW9JEsl3pU=",
|
||||
"owner": "harfbuzz",
|
||||
"repo": "harfbuzz",
|
||||
"rev": "63973005bc07aba599b47fdd4cf788647b601ccd",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "harfbuzz",
|
||||
"ref": "8.4.0",
|
||||
"repo": "harfbuzz",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"helix": {
|
||||
"inputs": {
|
||||
"crane": "crane",
|
||||
|
|
@ -210,11 +229,11 @@
|
|||
"rust-overlay": "rust-overlay"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1730790589,
|
||||
"narHash": "sha256-xJ6bQ4VmdTB7A+dMbmOMaZ8a6erB6rkZkB+yzqD7gd4=",
|
||||
"lastModified": 1732735497,
|
||||
"narHash": "sha256-qaiRKT4T+kRAMwfFf1fIJ5pwCcaLp2dfNpT65C4uWuE=",
|
||||
"owner": "helix-editor",
|
||||
"repo": "helix",
|
||||
"rev": "b53dafe326d51b7f64a1c52379e3d4150cd2991e",
|
||||
"rev": "e1d1a5c5a12127ded88dfcf66dd74aad1650977c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -251,49 +270,27 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726989464,
|
||||
"narHash": "sha256-Vl+WVTJwutXkimwGprnEtXc/s/s8sMuXzqXaspIGlwM=",
|
||||
"lastModified": 1732466619,
|
||||
"narHash": "sha256-T1e5oceypZu3Q8vzICjv1X/sGs9XfJRMW5OuXHgpB3c=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "2f23fa308a7c067e52dfcc30a0758f47043ec176",
|
||||
"rev": "f3111f62a23451114433888902a55cf0692b408d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"ref": "release-24.05",
|
||||
"ref": "release-24.11",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"imab": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_2",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"rust-overlay": "rust-overlay_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726550136,
|
||||
"narHash": "sha256-bwo8XR6y27gsSddgQIsMqKE3GB34kXH+jQhuDwo7C1s=",
|
||||
"owner": "ulyssa",
|
||||
"repo": "iamb",
|
||||
"rev": "9a9bdb4862646da3b03490ab250feb62df7ea468",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "ulyssa",
|
||||
"repo": "iamb",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"impermanence": {
|
||||
"locked": {
|
||||
"lastModified": 1730403150,
|
||||
"narHash": "sha256-W1FH5aJ/GpRCOA7DXT/sJHFpa5r8sq2qAUncWwRZ3Gg=",
|
||||
"lastModified": 1731242966,
|
||||
"narHash": "sha256-B3C3JLbGw0FtLSWCjBxU961gLNv+BOOBC6WvstKLYMw=",
|
||||
"owner": "nix-community",
|
||||
"repo": "impermanence",
|
||||
"rev": "0d09341beeaa2367bac5d718df1404bf2ce45e6f",
|
||||
"rev": "3ed3f0eaae9fcc0a8331e77e9319c8a4abd8a71a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -302,29 +299,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"ironbar": {
|
||||
"inputs": {
|
||||
"crane": "crane_2",
|
||||
"naersk": "naersk",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"rust-overlay": "rust-overlay_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1730812834,
|
||||
"narHash": "sha256-pZ8PMNXrI5yvPWjFy2CW0740DwQZuKkEdNeJd/lfnFc=",
|
||||
"owner": "JakeStanger",
|
||||
"repo": "ironbar",
|
||||
"rev": "e53a9067b03de002a07f85e5302e3774e53521f2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "JakeStanger",
|
||||
"repo": "ironbar",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"kmonad": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
|
@ -333,39 +307,55 @@
|
|||
},
|
||||
"locked": {
|
||||
"dir": "nix",
|
||||
"lastModified": 1730793763,
|
||||
"narHash": "sha256-m9agq+UNNwAovZj+WS5/1Yc1xoExG4A3SqmVP/e0r9Q=",
|
||||
"ref": "refs/heads/master",
|
||||
"rev": "606c488862df6c3be1e4e670f6e1e06008c84732",
|
||||
"lastModified": 1732049875,
|
||||
"narHash": "sha256-uJZ8YkouJj1PxEgfH6DtG2lrDUQrtT2YC0S7MYpsdVM=",
|
||||
"ref": "feat-tap-overlap",
|
||||
"rev": "e49f7cf18bce17642bb096dd5c2332c8d77068fa",
|
||||
"revCount": 875,
|
||||
"submodules": true,
|
||||
"type": "git",
|
||||
"url": "https://github.com/kmonad/kmonad"
|
||||
"url": "https://github.com/jokesper/kmonad"
|
||||
},
|
||||
"original": {
|
||||
"dir": "nix",
|
||||
"submodules": true,
|
||||
"ref": "feat-tap-overlap",
|
||||
"type": "git",
|
||||
"url": "https://github.com/kmonad/kmonad"
|
||||
"url": "https://github.com/jokesper/kmonad"
|
||||
}
|
||||
},
|
||||
"libpng": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1549245649,
|
||||
"narHash": "sha256-1+cRp0Ungme/OGfc9kGJbklYIWAFxk8Il1M+NV4KSgw=",
|
||||
"owner": "glennrp",
|
||||
"repo": "libpng",
|
||||
"rev": "8439534daa1d3a5705ba92e653eda9251246dd61",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "glennrp",
|
||||
"repo": "libpng",
|
||||
"rev": "8439534daa1d3a5705ba92e653eda9251246dd61",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"lix": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1723503926,
|
||||
"narHash": "sha256-Rosl9iA9MybF5Bud4BTAQ9adbY81aGmPfV8dDBGl34s=",
|
||||
"rev": "bcaeb6388b8916ac6d1736e3aa2b13313e6a6bd2",
|
||||
"lastModified": 1729298361,
|
||||
"narHash": "sha256-hiGtfzxFkDc9TSYsb96Whg0vnqBVV7CUxyscZNhed0U=",
|
||||
"rev": "ad9d06f7838a25beec425ff406fe68721fef73be",
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/bcaeb6388b8916ac6d1736e3aa2b13313e6a6bd2.tar.gz?rev=bcaeb6388b8916ac6d1736e3aa2b13313e6a6bd2"
|
||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/ad9d06f7838a25beec425ff406fe68721fef73be.tar.gz?rev=ad9d06f7838a25beec425ff406fe68721fef73be"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/lix-project/lix/archive/2.91.0.tar.gz"
|
||||
"url": "https://git.lix.systems/lix-project/lix/archive/2.91.1.tar.gz"
|
||||
}
|
||||
},
|
||||
"lix-module": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_4",
|
||||
"flake-utils": "flake-utils_2",
|
||||
"flakey-profile": "flakey-profile",
|
||||
"lix": "lix",
|
||||
"nixpkgs": [
|
||||
|
|
@ -373,36 +363,32 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1723510904,
|
||||
"narHash": "sha256-zNW/rqNJwhq2lYmQf19wJerRuNimjhxHKmzrWWFJYts=",
|
||||
"rev": "622a2253a071a1fb97a4d3c8103a91114acc1140",
|
||||
"lastModified": 1729360442,
|
||||
"narHash": "sha256-6U0CyPycIBc04hbYy2hBINnVso58n/ZyywY2BD3hu+s=",
|
||||
"rev": "9098ac95768f7006d7e070b88bae76939f6034e6",
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/622a2253a071a1fb97a4d3c8103a91114acc1140.tar.gz?rev=622a2253a071a1fb97a4d3c8103a91114acc1140"
|
||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/9098ac95768f7006d7e070b88bae76939f6034e6.tar.gz?rev=9098ac95768f7006d7e070b88bae76939f6034e6"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/lix-project/nixos-module/archive/2.91.0.tar.gz"
|
||||
"url": "https://git.lix.systems/lix-project/nixos-module/archive/2.91.1-1.tar.gz"
|
||||
}
|
||||
},
|
||||
"lolpizza": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"pnpm2nix": "pnpm2nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1729255849,
|
||||
"narHash": "sha256-P9Dw2s1LL0xluiJyRMXz+STza75UYTvS3oegpE3S3zs=",
|
||||
"owner": "thexyno",
|
||||
"repo": "lolpizza2",
|
||||
"path": "/nix/store/v48mn8cw1hgswjifw9nin7v73mdvh3aq-source",
|
||||
"rev": "6989a9dc030ce99589758d0cea682c3011a6ea31",
|
||||
"type": "github"
|
||||
"type": "path"
|
||||
},
|
||||
"original": {
|
||||
"owner": "thexyno",
|
||||
"repo": "lolpizza2",
|
||||
"type": "github"
|
||||
"id": "lolpizza",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"miro": {
|
||||
|
|
@ -421,31 +407,13 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"naersk": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1721727458,
|
||||
"narHash": "sha256-r/xppY958gmZ4oTfLiHN0ZGuQ+RSTijDblVgVLFi1mw=",
|
||||
"owner": "nix-community",
|
||||
"repo": "naersk",
|
||||
"rev": "3fb418eaf352498f6b6c30592e3beb63df42ef11",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "naersk",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixos-hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1730919458,
|
||||
"narHash": "sha256-yMO0T0QJlmT/x4HEyvrCyigGrdYfIXX3e5gWqB64wLg=",
|
||||
"lastModified": 1732483221,
|
||||
"narHash": "sha256-kF6rDeCshoCgmQz+7uiuPdREVFuzhIorGOoPXMalL2U=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "e1cc1f6483393634aee94514186d21a4871e78d7",
|
||||
"rev": "45348ad6fb8ac0e8415f6e5e96efe47dd7f39405",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -487,13 +455,25 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-lib": {
|
||||
"locked": {
|
||||
"lastModified": 1727825735,
|
||||
"narHash": "sha256-0xHYkMkeLVQAMa7gvkddbPqpxph+hDzdu1XdGPJR+Os=",
|
||||
"type": "tarball",
|
||||
"url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz"
|
||||
}
|
||||
},
|
||||
"nixpkgs-master": {
|
||||
"locked": {
|
||||
"lastModified": 1730930401,
|
||||
"narHash": "sha256-jESb/dY9BvYw1kttkMGhiYgkH6G/jvpbeIDpLau0onc=",
|
||||
"lastModified": 1732832104,
|
||||
"narHash": "sha256-V+2uq4ziEDhUkfYZoxO9gofEeXvo/cVhHOJ51bSfBhk=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "2c9461ecb17d46e9a3b7947a8d923f17351bfe92",
|
||||
"rev": "02fe29395df8e5571291ebcc6114f94dd33f722b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -505,46 +485,48 @@
|
|||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1706487304,
|
||||
"narHash": "sha256-LE8lVX28MV2jWJsidW13D2qrHU/RUUONendL2Q/WlJg=",
|
||||
"lastModified": 1718437845,
|
||||
"narHash": "sha256-ZT7Oc1g4I4pHVGGjQFnewFVDRLH5cIZhEzODLz9YXeY=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "90f456026d284c22b3e3497be980b2e47d0b28ac",
|
||||
"rev": "752c634c09ceb50c45e751f8791cb45cb3d46c9e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"ref": "nixos-24.05",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1730272153,
|
||||
"narHash": "sha256-B5WRZYsRlJgwVHIV6DvidFN7VX7Fg9uuwkRW9Ha8z+w=",
|
||||
"lastModified": 1732350895,
|
||||
"narHash": "sha256-GcOQbOgmwlsRhpLGSwZJwLbo3pu9ochMETuRSS1xpz4=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "2d2a9ddbe3f2c00747398f3dc9b05f7f2ebb0f53",
|
||||
"rev": "0c582677378f2d9ffcb01490af2f2c678dcb29d3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
"type": "indirect"
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-24.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1730741070,
|
||||
"narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=",
|
||||
"lastModified": 1728538411,
|
||||
"narHash": "sha256-f0SBJz1eZ2yOuKUr5CA9BHULGXVSn6miBuUWdTyhUhU=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "d063c1dd113c91ab27959ba540c0d9753409edf3",
|
||||
"rev": "b69de56fac8c2b6f8fd27f2eca01dcda8e0a4221",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-24.05",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
|
|
@ -567,7 +549,7 @@
|
|||
},
|
||||
"pnpm2nix": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_5",
|
||||
"flake-utils": "flake-utils_3",
|
||||
"nixpkgs": [
|
||||
"lolpizza",
|
||||
"nixpkgs"
|
||||
|
|
@ -593,21 +575,20 @@
|
|||
"darwin": "darwin_2",
|
||||
"helix": "helix",
|
||||
"home-manager": "home-manager_2",
|
||||
"imab": "imab",
|
||||
"impermanence": "impermanence",
|
||||
"ironbar": "ironbar",
|
||||
"kmonad": "kmonad",
|
||||
"lix-module": "lix-module",
|
||||
"lolpizza": "lolpizza",
|
||||
"miro": "miro",
|
||||
"nixos-hardware": "nixos-hardware",
|
||||
"nixpkgs": "nixpkgs_4",
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"nixpkgs-darwin": "nixpkgs-darwin",
|
||||
"nixpkgs-master": "nixpkgs-master",
|
||||
"pandoc-latex-template": "pandoc-latex-template",
|
||||
"spoons": "spoons",
|
||||
"swaymonad": "swaymonad",
|
||||
"utils": "utils_2",
|
||||
"utils": "utils",
|
||||
"wezterm": "wezterm",
|
||||
"wired": "wired",
|
||||
"x": "x",
|
||||
"xynoblog": "xynoblog"
|
||||
}
|
||||
|
|
@ -635,15 +616,17 @@
|
|||
},
|
||||
"rust-overlay_2": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_3",
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
"nixpkgs": [
|
||||
"wezterm",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709863839,
|
||||
"narHash": "sha256-QpEL5FmZNi2By3sKZY55wGniFXc4wEn9PQczlE8TG0o=",
|
||||
"lastModified": 1729477859,
|
||||
"narHash": "sha256-r0VyeJxy4O4CgTB/PNtfQft9fPfN1VuGvnZiCxDArvg=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "e5ab9ee98f479081ad971473d2bc13c59e9fbc0a",
|
||||
"rev": "ada8266712449c4c0e6ee6fcbc442b3c217c79e1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -654,10 +637,7 @@
|
|||
},
|
||||
"rust-overlay_3": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"ironbar",
|
||||
"nixpkgs"
|
||||
]
|
||||
"nixpkgs": "nixpkgs_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1730341826,
|
||||
|
|
@ -689,27 +669,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"swaymonad": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"utils": "utils"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1708895016,
|
||||
"narHash": "sha256-yM2sbiGM5wZ6O1yZ9FOfrXki9qrfcwPLs28a5FlcO4k=",
|
||||
"owner": "nicolasavru",
|
||||
"repo": "swaymonad",
|
||||
"rev": "bd9b94ae756a09c185a2b2b0323b7008c19c859b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nicolasavru",
|
||||
"repo": "swaymonad",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
|
|
@ -800,28 +759,16 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_7": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"utils": {
|
||||
"inputs": {
|
||||
"systems": "systems_5"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1653893745,
|
||||
"narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=",
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -830,21 +777,53 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"utils_2": {
|
||||
"wezterm": {
|
||||
"inputs": {
|
||||
"systems": "systems_7"
|
||||
"flake-utils": "flake-utils_4",
|
||||
"freetype2": "freetype2",
|
||||
"harfbuzz": "harfbuzz",
|
||||
"libpng": "libpng",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"rust-overlay": "rust-overlay_2",
|
||||
"zlib": "zlib"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726560853,
|
||||
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
|
||||
"dir": "nix",
|
||||
"lastModified": 1732816683,
|
||||
"narHash": "sha256-m2gGLcmUFdmgUFkIkTofB+8WoS91UTF+0B91WNc9M+k=",
|
||||
"owner": "wez",
|
||||
"repo": "wezterm",
|
||||
"rev": "a7ff718c7c182d62d7c848187da1655e58b8ecd8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"dir": "nix",
|
||||
"owner": "wez",
|
||||
"repo": "wezterm",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"wired": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"rust-overlay": "rust-overlay_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1730615238,
|
||||
"narHash": "sha256-u/ZGtyEUvAkFOBgLo2YldOx0GKjE3/esWpWruRD376E=",
|
||||
"owner": "Toqozz",
|
||||
"repo": "wired-notify",
|
||||
"rev": "1632418aa15889343028261663e81d8b5595860e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "Toqozz",
|
||||
"repo": "wired-notify",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
|
|
@ -875,11 +854,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1718741395,
|
||||
"narHash": "sha256-t0wSw2l52mq1plaetggmDD9h10DuyLEuQZ93q11eD/8=",
|
||||
"lastModified": 1732833558,
|
||||
"narHash": "sha256-KpAsXBkNJTNBHQuwqJkMSCsVWhbj9K7LLY7emgU6f4Q=",
|
||||
"owner": "thexyno",
|
||||
"repo": "blog",
|
||||
"rev": "912bb9b95ae05182d63cb1cd2cba147a4ce93f0e",
|
||||
"rev": "b020543dcb823c7be01a7aca9f1748a517ece659",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -887,6 +866,23 @@
|
|||
"repo": "blog",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"zlib": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1484501380,
|
||||
"narHash": "sha256-j5b6aki1ztrzfCqu8y729sPar8GpyQWIrajdzpJC+ww=",
|
||||
"owner": "madler",
|
||||
"repo": "zlib",
|
||||
"rev": "cacf7f1d4e3d44d871b605da3b647f07d718623f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "madler",
|
||||
"ref": "v1.2.11",
|
||||
"repo": "zlib",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
|
|
|
|||
29
flake.nix
29
flake.nix
|
|
@ -5,43 +5,36 @@
|
|||
utils.url = "github:numtide/flake-utils";
|
||||
|
||||
## nixos/nix-darwin dependencies
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05";
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11";
|
||||
nixpkgs-darwin.url = "github:NixOS/nixpkgs/nixpkgs-24.05-darwin";
|
||||
nixpkgs-master.url = "github:NixOS/nixpkgs/master";
|
||||
agenix.url = "github:ryantm/agenix/main";
|
||||
agenix.inputs.nixpkgs.follows = "nixpkgs";
|
||||
home-manager.url = "github:nix-community/home-manager/release-24.05";
|
||||
home-manager.url = "github:nix-community/home-manager/release-24.11";
|
||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||
impermanence.url = "github:nix-community/impermanence";
|
||||
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
|
||||
darwin.url = "github:lnl7/nix-darwin/master";
|
||||
darwin.inputs.nixpkgs.follows = "nixpkgs";
|
||||
lix-module = {
|
||||
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.91.0.tar.gz";
|
||||
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.91.1-1.tar.gz";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
# programs
|
||||
xynoblog.url = "github:thexyno/blog";
|
||||
xynoblog.inputs.nixpkgs.follows = "nixpkgs";
|
||||
lolpizza.url = "github:thexyno/lolpizza2";
|
||||
lolpizza.inputs.nixpkgs.follows = "nixpkgs";
|
||||
x.url = "github:thexyno/x";
|
||||
x.inputs.nixpkgs.follows = "nixpkgs";
|
||||
imab.url = "github:ulyssa/iamb";
|
||||
imab.inputs.nixpkgs.follows = "nixpkgs";
|
||||
helix.url = "github:helix-editor/helix";
|
||||
ironbar = {
|
||||
url = "github:JakeStanger/ironbar";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
swaymonad = {
|
||||
url = "github:nicolasavru/swaymonad";
|
||||
inputs.nixpkgs.follows = "nixpkgs"; # not mandatory but recommended
|
||||
};
|
||||
kmonad = {
|
||||
wezterm.url = "github:wez/wezterm?dir=nix";
|
||||
wezterm.inputs.nixpkgs.follows = "nixpkgs";
|
||||
wired.inputs.nixpkgs.follows = "nixpkgs";
|
||||
wired.url = "github:Toqozz/wired-notify";
|
||||
|
||||
url = "git+https://github.com/kmonad/kmonad?submodules=1&dir=nix";
|
||||
|
||||
kmonad = {
|
||||
url = "git+https://github.com/jokesper/kmonad?dir=nix&ref=feat-tap-overlap";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
|
|
@ -102,6 +95,7 @@
|
|||
, lolpizza
|
||||
, lix-module
|
||||
, kmonad
|
||||
, wired
|
||||
, x
|
||||
, ...
|
||||
}:
|
||||
|
|
@ -113,6 +107,7 @@
|
|||
|
||||
overlays = [
|
||||
self.overlays.default
|
||||
wired.overlays.default
|
||||
];
|
||||
genPkgsWithOverlays = system: import nixpkgs {
|
||||
inherit system overlays;
|
||||
|
|
|
|||
|
|
@ -61,7 +61,8 @@
|
|||
|
||||
user.name = "Lucy Hochkamp";
|
||||
user.email = "git@xyno.systems";
|
||||
user.signingKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIuwQJY0H/fdu1UmGXAut7VfcvAk2Dm78tJpkyyv2in2";
|
||||
user.signingKey = # TODO: don't hardcode a computer
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID/oMAi5jyQsNohfhcSH2ItisTpBGB0WtYTVxJYKKqhj"; # theseus
|
||||
|
||||
# Set default "git pull" behaviour so it doesn't try to default to
|
||||
# either "git fetch; git merge" (default) or "git fetch; git rebase".
|
||||
|
|
|
|||
0
hm-modules/eww/eww.scss
Normal file
0
hm-modules/eww/eww.scss
Normal file
39
hm-modules/eww/eww.yuck
Normal file
39
hm-modules/eww/eww.yuck
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
(defwindow bar
|
||||
:monitor 0
|
||||
:hexpand false
|
||||
:vexpand false
|
||||
:geometry (geometry :anchor "top left" :x 0 :y 0 :width "100%")
|
||||
; :reserve (struts :distance "10px" :side "top")
|
||||
(bar))
|
||||
|
||||
(defwidget bar
|
||||
(centerbox :orientation "h"
|
||||
(left)
|
||||
(center)
|
||||
(right)))
|
||||
|
||||
(defwidget left []
|
||||
:halign "start"
|
||||
(workspaces)
|
||||
)
|
||||
|
||||
(defwidget workspaces []
|
||||
(box :class "workspaces"
|
||||
:orientation "h"
|
||||
:space-evenly true
|
||||
:spacing 5
|
||||
(button :onclick "wmctrl -s 0" 1)
|
||||
(button :onclick "wmctrl -s 1" 2)
|
||||
(button :onclick "wmctrl -s 2" 3)
|
||||
(button :onclick "wmctrl -s 3" 4)
|
||||
(button :onclick "wmctrl -s 4" 5)
|
||||
(button :onclick "wmctrl -s 5" 6)
|
||||
(button :onclick "wmctrl -s 6" 7)
|
||||
(button :onclick "wmctrl -s 7" 8)
|
||||
(button :onclick "wmctrl -s 8" 9)))
|
||||
|
||||
(defwidget center []
|
||||
:haligh "center"
|
||||
(window_name))
|
||||
|
||||
(defwidget )
|
||||
|
|
@ -18,7 +18,7 @@ in
|
|||
nodePackages_latest.vscode-langservers-extracted
|
||||
## python
|
||||
ruff-lsp
|
||||
nodePackages_latest.pyright
|
||||
# nodePackages_latest.pyright
|
||||
];
|
||||
programs.helix = {
|
||||
package = inputs.helix.packages.${pkgs.system}.default;
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ let
|
|||
in
|
||||
{
|
||||
options.ragon.nushell.enable = lib.mkOption { default = false; };
|
||||
options.ragon.nushell.isNixOS = lib.mkOption { default = false; };
|
||||
config = lib.mkIf cfg.enable {
|
||||
programs.direnv = {
|
||||
enable = true;
|
||||
|
|
@ -13,82 +14,86 @@ in
|
|||
programs.nushell = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
let carapace_completer = {|spans: list<string>|
|
||||
carapace $spans.0 nushell ...$spans
|
||||
| from json
|
||||
| if ($in | default [] | where value =~ '^-.*ERR$' | is-empty) { $in } else { null }
|
||||
}
|
||||
let external_completer = {|spans|
|
||||
let expanded_alias = scope aliases
|
||||
| where name == $spans.0
|
||||
| get -i 0.expansion
|
||||
let carapace_completer = {|spans: list<string>|
|
||||
carapace $spans.0 nushell ...$spans
|
||||
| from json
|
||||
| if ($in | default [] | where value =~ '^-.*ERR$' | is-empty) { $in } else { null }
|
||||
}
|
||||
let external_completer = {|spans|
|
||||
let expanded_alias = scope aliases
|
||||
| where name == $spans.0
|
||||
| get -i 0.expansion
|
||||
|
||||
let spans = if $expanded_alias != null {
|
||||
$spans
|
||||
| skip 1
|
||||
| prepend ($expanded_alias | split row ' ' | take 1)
|
||||
} else {
|
||||
$spans
|
||||
}
|
||||
let spans = if $expanded_alias != null {
|
||||
$spans
|
||||
| skip 1
|
||||
| prepend ($expanded_alias | split row ' ' | take 1)
|
||||
} else {
|
||||
$spans
|
||||
}
|
||||
|
||||
match $spans.0 {
|
||||
# carapace completions are incorrect for nu
|
||||
# nu => $fish_completer
|
||||
# fish completes commits and branch names in a nicer way
|
||||
# git => $fish_completer
|
||||
# carapace doesn't have completions for asdf
|
||||
# asdf => $fish_completer
|
||||
# use zoxide completions for zoxide commands
|
||||
# __zoxide_z | __zoxide_zi => $zoxide_completer
|
||||
_ => $carapace_completer
|
||||
} | do $in $spans
|
||||
}
|
||||
$env.config = {
|
||||
edit_mode: vi
|
||||
show_banner: false,
|
||||
completions: {
|
||||
case_sensitive: false # case-sensitive completions
|
||||
quick: true # set to false to prevent auto-selecting completions
|
||||
partial: true # set to false to prevent partial filling of the prompt
|
||||
algorithm: "fuzzy" # prefix or fuzzy
|
||||
external: {
|
||||
# set to false to prevent nushell looking into $env.PATH to find more suggestions
|
||||
enable: true
|
||||
# set to lower can improve completion performance at the cost of omitting some options
|
||||
max_results: 100
|
||||
completer: $external_completer # check 'carapace_completer'
|
||||
match $spans.0 {
|
||||
# carapace completions are incorrect for nu
|
||||
# nu => $fish_completer
|
||||
# fish completes commits and branch names in a nicer way
|
||||
# git => $fish_completer
|
||||
# carapace doesn't have completions for asdf
|
||||
# asdf => $fish_completer
|
||||
# use zoxide completions for zoxide commands
|
||||
# __zoxide_z | __zoxide_zi => $zoxide_completer
|
||||
_ => $carapace_completer
|
||||
} | do $in $spans
|
||||
}
|
||||
$env.config = {
|
||||
edit_mode: vi
|
||||
show_banner: false,
|
||||
completions: {
|
||||
case_sensitive: false # case-sensitive completions
|
||||
quick: true # set to false to prevent auto-selecting completions
|
||||
partial: true # set to false to prevent partial filling of the prompt
|
||||
algorithm: "fuzzy" # prefix or fuzzy
|
||||
external: {
|
||||
# set to false to prevent nushell looking into $env.PATH to find more suggestions
|
||||
enable: true
|
||||
# set to lower can improve completion performance at the cost of omitting some options
|
||||
max_results: 100
|
||||
completer: $external_completer # check 'carapace_completer'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$env.EDITOR = "hx"
|
||||
$env.VISUAL = "hx"
|
||||
$env.NIX_REMOTE = "daemon"
|
||||
$env.NIX_USER_PROFILE_DIR = $"/nix/var/nix/profiles/per-user/($env.USER)"
|
||||
$env.NIX_PROFILES = $"/nix/var/nix/profiles/default:($env.HOME)/.nix-profile"
|
||||
$env.NIX_SSL_CERT_FILE = "/etc/ssl/certs/ca-certificates.crt"
|
||||
$env.NIX_PATH = "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixpkgs:/nix/var/nix/profiles/per-user/root/channels"
|
||||
$env.PATH = ($env.PATH |
|
||||
split row (char esep) |
|
||||
append /usr/bin/env |
|
||||
append $"($env.HOME)/.nix-profile/bin" |
|
||||
append "/nix/var/nix/profiles/default/bin" |
|
||||
append $"/etc/profiles/per-user/($env.USER)/bin" |
|
||||
append "/run/current-system/sw/bin" |
|
||||
append "/opt/homebrew/bin" |
|
||||
append $"($env.HOME)/.cargo/bin" |
|
||||
append $"($env.HOME)/.local/bin"
|
||||
)
|
||||
alias no = open
|
||||
alias open = ^open
|
||||
alias l = ls -al
|
||||
alias ll = ls -l
|
||||
alias ga = git add
|
||||
alias gaa = git add -A
|
||||
alias gd = git diff
|
||||
alias gc = git commit
|
||||
alias gp = git push
|
||||
alias gpl = git pull
|
||||
alias ytl = yt-dlp -f "bv*+mergeall[vcodec=none]" --audio-multistreams
|
||||
}
|
||||
$env.EDITOR = "hx"
|
||||
$env.VISUAL = "hx"
|
||||
alias no = open
|
||||
alias open = ^open
|
||||
alias l = ls -al
|
||||
alias ll = ls -l
|
||||
alias ga = git add
|
||||
alias gaa = git add -A
|
||||
alias gd = git diff
|
||||
alias gc = git commit
|
||||
alias gp = git push
|
||||
alias gpl = git pull
|
||||
alias ytl = yt-dlp -f "bv*+mergeall[vcodec=none]" --audio-multistreams
|
||||
alias conf = cd ~/proj/nixos-config
|
||||
${(if !cfg.isNixOS then ''
|
||||
|
||||
$env.NIX_REMOTE = "daemon"
|
||||
$env.NIX_USER_PROFILE_DIR = $"/nix/var/nix/profiles/per-user/($env.USER)"
|
||||
$env.NIX_PROFILES = $"/nix/var/nix/profiles/default:($env.HOME)/.nix-profile"
|
||||
$env.NIX_SSL_CERT_FILE = "/etc/ssl/certs/ca-certificates.crt"
|
||||
$env.NIX_PATH = "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixpkgs:/nix/var/nix/profiles/per-user/root/channels"
|
||||
$env.PATH = ($env.PATH |
|
||||
split row (char esep) |
|
||||
append /usr/bin/env |
|
||||
append $"($env.HOME)/.nix-profile/bin" |
|
||||
append "/nix/var/nix/profiles/default/bin" |
|
||||
append $"/etc/profiles/per-user/($env.USER)/bin" |
|
||||
append "/run/current-system/sw/bin" |
|
||||
append "/opt/homebrew/bin" |
|
||||
append $"($env.HOME)/.cargo/bin" |
|
||||
append $"($env.HOME)/.local/bin"
|
||||
)
|
||||
'' else "")}
|
||||
'';
|
||||
shellAliases = {
|
||||
vi = "hx";
|
||||
|
|
|
|||
|
|
@ -66,6 +66,7 @@
|
|||
logFormat = "level INFO";
|
||||
enable = true;
|
||||
globalConfig = ''
|
||||
email ssl@xyno.systems
|
||||
acme_dns desec {
|
||||
token "{$TOKEN}"
|
||||
}
|
||||
|
|
@ -75,10 +76,6 @@
|
|||
handle @8081 {
|
||||
reverse_proxy http://[::1]:8081
|
||||
}
|
||||
@lolpizza host lolpizza.ragon.xyz
|
||||
handle @lolpizza {
|
||||
reverse_proxy http://[::1]${config.services.lolpizza2.listen}
|
||||
}
|
||||
@files host files.ragon.xyz
|
||||
handle @files {
|
||||
encode zstd gzip
|
||||
|
|
@ -159,7 +156,7 @@
|
|||
}
|
||||
@sso host sso.xyno.systems
|
||||
handle @sso {
|
||||
reverse_proxy http://127.0.0.1:${toString config.services.authelia.instances.main.settings.server.port}
|
||||
reverse_proxy http://127.0.0.1:9091
|
||||
}
|
||||
@git host git.xyno.systems
|
||||
handle @git {
|
||||
|
|
@ -177,9 +174,6 @@
|
|||
virtualHosts."xyno.systems".extraConfig = ''
|
||||
redir https://xyno.space{uri}
|
||||
'';
|
||||
virtualHosts."czi.dating".extraConfig = ''
|
||||
redir https://foss-ag.de{uri}
|
||||
'';
|
||||
};
|
||||
|
||||
services.forgejo = {
|
||||
|
|
|
|||
|
|
@ -45,8 +45,8 @@
|
|||
(deflayer colemak-dh
|
||||
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
|
||||
grv 1 2 3 4 5 6 7 8 9 0 - = bspc
|
||||
tab (tap-hold-next-release 200 q @num) w f p b j l u y (tap-hold-next-release 200 ; @num) [ ]
|
||||
esc (tap-hold-next-release 200 a lctrl) (tap-hold-next-release 200 r ralt) (tap-hold-next-release 200 s lmet) t g m n (tap-hold-next-release 200 e rmet) (tap-hold-next-release 200 i lalt) (tap-hold-next-release 200 o rctrl) ' \\ ret
|
||||
tab (tap-hold-next-release 200 :grace 15 q @num) w f p b j l u y (tap-hold-next-release 200 :grace 15 ; @num) [ ]
|
||||
esc (tap-hold-next-release 200 :grace 15 a lctrl) (tap-hold-next-release 200 :grace 15 r ralt) (tap-hold-next-release 200 :grace 15 s lmet) t g m n (tap-hold-next-release 200 :grace 15 e rmet) (tap-hold-next-release 200 :grace 15 i lalt) (tap-hold-next-release 200 :grace 15 o rctrl) ' \\ ret
|
||||
lsft z x c d v 102d k h , . / rsft
|
||||
lctl lmet lalt spc ralt rmet _ _
|
||||
)
|
||||
|
|
|
|||
|
|
@ -18,7 +18,19 @@
|
|||
programs.fuse.userAllowOther = true;
|
||||
programs.sway.enable = true;
|
||||
programs.nix-ld.enable = true;
|
||||
programs.gamescope.enable = true;
|
||||
services.gnome.sushi.enable = true;
|
||||
services.gnome.gnome-settings-daemon.enable = true;
|
||||
services.gvfs.enable = true;
|
||||
services.logind.extraConfig = ''
|
||||
# supspend on pw button press
|
||||
HandlePowerKey=suspend
|
||||
'';
|
||||
programs.kdeconnect.enable = true;
|
||||
services.power-profiles-daemon.enable = true;
|
||||
services.printing.enable = true;
|
||||
services.printing.drivers = with pkgs; [ gutenprint hplip splix ];
|
||||
services.avahi.enable = true;
|
||||
programs.sway.extraSessionCommands = ''
|
||||
export NIXOS_OZONE_WL=1
|
||||
'';
|
||||
|
|
@ -26,6 +38,7 @@
|
|||
wlr.enable = true;
|
||||
enable = true;
|
||||
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
||||
configPackages = [ pkgs.xdg-desktop-portal-gtk ];
|
||||
};
|
||||
# start bt
|
||||
hardware.bluetooth.enable = true;
|
||||
|
|
@ -35,23 +48,39 @@
|
|||
programs.light.enable = true;
|
||||
networking.networkmanager.enable = true;
|
||||
networking.networkmanager.wifi.backend = "iwd";
|
||||
services.displayManager.sddm.enable = true;
|
||||
services.displayManager.sddm.wayland.enable = true;
|
||||
# services.displayManager.defaultSession = "river";
|
||||
services.xserver.displayManager.gdm.enable = true;
|
||||
services.xserver.enable = true;
|
||||
services.xserver.displayManager.gdm.wayland = true;
|
||||
programs.seahorse.enable = true;
|
||||
services.gnome.gnome-keyring.enable = true;
|
||||
services.gnome.gnome-online-accounts.enable = true;
|
||||
services.gnome.core-utilities.enable = true;
|
||||
services.displayManager.defaultSession = "river";
|
||||
programs.river.enable = true;
|
||||
services.upower.enable = true;
|
||||
users.users.ragon.extraGroups = [ "networkmanager" "video" ];
|
||||
programs.kde-pim = { enable = true; kmail = true; kontact = true; merkuro = true; };
|
||||
environment.systemPackages = [
|
||||
pkgs.qt6.qtwayland
|
||||
];
|
||||
fonts.packages = [
|
||||
pkgs.nerdfonts
|
||||
fonts.packages = with pkgs; [
|
||||
nerdfonts
|
||||
cantarell-fonts
|
||||
dejavu_fonts
|
||||
source-code-pro # Default monospace font in 3.32
|
||||
source-sans
|
||||
];
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
pulse.enable = true;
|
||||
};
|
||||
services.fwupd.enable = true;
|
||||
|
||||
programs.ssh.startAgent = true;
|
||||
|
||||
programs.evolution.enable = true;
|
||||
services.gnome.evolution-data-server.enable = true;
|
||||
services.flatpak.enable = true;
|
||||
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
|
||||
|
|
@ -68,22 +97,26 @@
|
|||
./swaycfg.nix
|
||||
./work.nix
|
||||
./river.nix
|
||||
./kanshi.nix
|
||||
../../hm-modules/files.nix
|
||||
inputs.wired.homeManagerModules.default
|
||||
];
|
||||
ragon.helix.enable = true;
|
||||
ragon.nushell.enable = true;
|
||||
ragon.nushell.isNixOS = true;
|
||||
ragon.zellij.enable = true;
|
||||
services.gnome-keyring.enable = true;
|
||||
home.file.".config/wezterm/wezterm.lua".text = ''
|
||||
local wezterm = require 'wezterm'
|
||||
|
||||
|
||||
|
||||
-- This will hold the configuration.
|
||||
local config = wezterm.config_builder()
|
||||
|
||||
config.default_prog = { 'zellij', 'attach', '-c' }
|
||||
config.default_prog = { 'nu' }
|
||||
config.hide_tab_bar_if_only_one_tab = true
|
||||
config.max_fps = 144
|
||||
config.font = wezterm.font 'Source Code Pro'
|
||||
|
||||
-- This is where you actually apply your config choices
|
||||
|
||||
|
|
@ -95,15 +128,41 @@
|
|||
'';
|
||||
|
||||
home.packages = with pkgs; [
|
||||
wezterm
|
||||
inputs.wezterm.packages.${pkgs.system}.default
|
||||
element-desktop # this is not a place of honor
|
||||
discord # shitcord
|
||||
unstable.signal-desktop
|
||||
plexamp
|
||||
unstable.feishin
|
||||
unstable.plexamp
|
||||
firefox
|
||||
gnome.seahorse
|
||||
obsidian
|
||||
thunderbird
|
||||
orca-slicer
|
||||
diebahn
|
||||
vlc
|
||||
dolphin
|
||||
# unstable.kicad
|
||||
unstable.devenv
|
||||
lutris
|
||||
libsecret
|
||||
mixxx
|
||||
unstable.harsh
|
||||
|
||||
|
||||
broot
|
||||
];
|
||||
home.file.".zshrc".text = lib.mkForce ''
|
||||
exec nu
|
||||
'';
|
||||
programs.nushell.extraConfig = ''
|
||||
harsh l
|
||||
'';
|
||||
|
||||
services.kdeconnect = {
|
||||
enable = true;
|
||||
indicator = true;
|
||||
package = pkgs.kdePackages.kdeconnect-kde;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
|
@ -131,11 +190,35 @@
|
|||
# };
|
||||
programs.home-manager.enable = true;
|
||||
home.stateVersion = "24.05";
|
||||
programs.borgmatic = {
|
||||
enable = true;
|
||||
backups.system = {
|
||||
location.sourceDirectories = [ "/persistent" ];
|
||||
location.repositories = [{ path = "ssh://ragon@ds9//backups/theseus"; }];
|
||||
location.extraConfig.exclude_if_present = [ ".nobackup" ];
|
||||
storage.encryptionPasscommand = "${pkgs.libsecret}/bin/secret-tool lookup borg-repository system";
|
||||
location.extraConfig.before_backup = [ "notify-send -u low -a borgmatic borgmatic \"starting backup\" -t 10000" ];
|
||||
location.extraConfig.after_backup = [ "notify-send -u low -a borgmatic borgmatic \"finished backup\" -t 10000" ];
|
||||
location.extraConfig.on_error = [ "notify-send -u critical -a borgmatic borgmatic \"backup failed\"" ];
|
||||
location.extraConfig.ssh_command = "ssh -i /home/ragon/.ssh/id_ed25519";
|
||||
retention = {
|
||||
keepHourly = 24;
|
||||
keepDaily = 7;
|
||||
keepWeekly = 4;
|
||||
keepMonthly = 12;
|
||||
keepYearly = 2;
|
||||
};
|
||||
};
|
||||
};
|
||||
services.borgmatic.enable = true;
|
||||
};
|
||||
|
||||
ragon = {
|
||||
user.enable = true;
|
||||
persist.enable = true;
|
||||
persist.extraDirectories = [
|
||||
"/var/lib/bluetooth"
|
||||
];
|
||||
services = {
|
||||
ssh.enable = true;
|
||||
tailscale.enable = true;
|
||||
|
|
|
|||
|
|
@ -1,55 +0,0 @@
|
|||
{ pkgs, inputs, options, lib, ... }:
|
||||
let
|
||||
# TODO: have a list of workspaces and operate on that
|
||||
moveWs = output: workspaceStart: workspaceEnd: map
|
||||
(x: ''${pkgs.sway}/bin/swaymsg workspace ${toString x}:${toString x} ouptut "${output}", workspace ${toString x}:${toString x}, move workspace to "${output}"'')
|
||||
(lib.range workspaceStart workspaceEnd);
|
||||
in
|
||||
{
|
||||
services.kanshi = {
|
||||
enable = true;
|
||||
settings = [
|
||||
{
|
||||
profile.name = "undocked";
|
||||
profile.outputs = [
|
||||
{
|
||||
criteria = "eDP-1";
|
||||
adaptiveSync = true;
|
||||
scale = 1.5;
|
||||
mode = "2880x1920@120Hz";
|
||||
}
|
||||
];
|
||||
}
|
||||
{
|
||||
profile.name = "docked_home";
|
||||
profile.outputs = [
|
||||
{
|
||||
criteria = "eDP-1";
|
||||
adaptiveSync = true;
|
||||
scale = 2.0;
|
||||
mode = "2880x1920@120Hz";
|
||||
}
|
||||
{
|
||||
criteria = "Dell Inc. Dell S2716DG #ASM2LrMXJiXd";
|
||||
adaptiveSync = true;
|
||||
position = "1440,0";
|
||||
scale = 1.0;
|
||||
mode = "2560x1440@119.998Hz";
|
||||
}
|
||||
{
|
||||
criteria = "Acer Technologies KG271U TATEE0018511";
|
||||
adaptiveSync = true;
|
||||
position = "4000,0";
|
||||
scale = 1.0;
|
||||
mode = "2560x1440@74.924Hz";
|
||||
}
|
||||
];
|
||||
profile.exec = lib.flatten [
|
||||
(moveWs "eDP-1" 1 3)
|
||||
(moveWs "Dell Inc. Dell S2716DG #ASM2LrMXJiXd" 4 7)
|
||||
(moveWs "Acer Technologies KG271U TATEE0018511" 8 10)
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
@ -1,12 +1,17 @@
|
|||
{ pkgs, lib, ... }: {
|
||||
services.kmonad = {
|
||||
enable = true;
|
||||
keyboards = {
|
||||
builtin= {
|
||||
device = "/dev/input/by-path/platform-i8042-serio-0-event-kbd";
|
||||
config = builtins.readFile ./builtin.kbd;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
enable = true;
|
||||
keyboards = {
|
||||
builtin = {
|
||||
device = "/dev/input/by-path/platform-i8042-serio-0-event-kbd";
|
||||
config = builtins.readFile ./builtin.kbd;
|
||||
};
|
||||
razerbuero = {
|
||||
device = "/dev/input/by-id/usb-Razer_Razer_BlackWidow_Tournament_Edition_Chroma-event-kbd";
|
||||
config = builtins.readFile ./razer.kbd;
|
||||
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
89
hosts/theseus/razer.kbd
Normal file
89
hosts/theseus/razer.kbd
Normal file
|
|
@ -0,0 +1,89 @@
|
|||
(defcfg
|
||||
;; ** For Linux **
|
||||
input (device-file "/dev/input/by-id/usb-Razer_Razer_BlackWidow_Tournament_Edition_Chroma-event-kbd")
|
||||
;; input (device-file "/dev/input/by-path/platform-i8042-serio-0-event-kbd")
|
||||
output (uinput-sink "KMonad output razer")
|
||||
|
||||
;; ** For Windows **
|
||||
;; input (low-level-hook)
|
||||
;; output (send-event-sink)
|
||||
|
||||
;; ** For MacOS **
|
||||
;; input (iokit-name "my-keyboard-product-string")
|
||||
;; output (kext)
|
||||
|
||||
fallthrough true
|
||||
)
|
||||
|
||||
(defsrc
|
||||
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
|
||||
grv 1 2 3 4 5 6 7 8 9 0 - = bspc
|
||||
tab q w e r t y u i o p [ ]
|
||||
caps a s d f g h j k l ; ' \ ret
|
||||
lsft 102d z x c v b n m , . / rsft
|
||||
lctl lmet lalt spc ralt rmet cmp rctl
|
||||
)
|
||||
|
||||
(defalias
|
||||
ext (layer-toggle extend) ;; Bind 'ext' to the Extend Layer
|
||||
)
|
||||
|
||||
(defalias
|
||||
cpy C-c
|
||||
pst C-v
|
||||
cut C-x
|
||||
udo C-z
|
||||
all C-a
|
||||
fnd C-f
|
||||
bk Back
|
||||
fw Forward
|
||||
)
|
||||
(defalias
|
||||
num (layer-toggle num)
|
||||
)
|
||||
|
||||
(deflayer colemak-dh
|
||||
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
|
||||
grv 1 2 3 4 5 6 7 8 9 0 - = bspc
|
||||
tab (tap-hold-next-release 200 q @num) w f p b j l u y (tap-hold-next-release 200 ; @num) [ ]
|
||||
esc (tap-hold-next-release 200 a lctrl) (tap-hold-next-release 200 r ralt) (tap-hold-next-release 200 s lmet) t g m n (tap-hold-next-release 200 e rmet) (tap-hold-next-release 200 i lalt) (tap-hold-next-release 200 o rctrl) ' \\ ret
|
||||
lsft z x c d v 102d k h , . / rsft
|
||||
lctl lmet lalt spc ralt rmet _ _
|
||||
)
|
||||
(deflayer num
|
||||
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
|
||||
grv 1 2 3 4 5 6 7 8 9 0 - = bspc
|
||||
tab q w f p b j l u y ; [ ]
|
||||
esc 1 2 3 4 5 6 7 8 9 0 ' \\ ret
|
||||
lsft z x c d v 102d k h , . / rsft
|
||||
lctl lmet lalt spc ralt rmet _ _
|
||||
)
|
||||
|
||||
(deflayer colemak-dhk
|
||||
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
|
||||
grv 1 2 3 4 5 6 7 8 9 0 - = bspc
|
||||
tab q w f p b j l u y ; [ ]
|
||||
@ext a r s t g k n e i o ' \\ ret
|
||||
lsft z x c d v 102d m h , . / rsft
|
||||
lctl lmet lalt spc ralt rmet _ _
|
||||
)
|
||||
|
||||
(deflayer extend
|
||||
_ play rewind previoussong nextsong ejectcd refresh brdn brup www mail prog1 prog2
|
||||
_ f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 _
|
||||
_ esc @bk @fnd @fw ins pgup home up end menu prnt slck
|
||||
_ lalt lmet lsft lctl ralt pgdn lft down rght del caps _ _
|
||||
_ @udo @cut @cpy tab @pst _ pgdn bks lsft lctl comp _
|
||||
_ _ _ ret _ _ _ _
|
||||
)
|
||||
|
||||
|
||||
(deflayer empty
|
||||
_ _ _ _ _ _ _ _ _ _ _ _ _
|
||||
_ _ _ _ _ _ _ _ _ _ _ _ _ _
|
||||
_ _ _ _ _ _ _ _ _ _ _ _ _
|
||||
_ _ _ _ _ _ _ _ _ _ _ _ _ _
|
||||
_ _ _ _ _ _ _ _ _ _ _ _ _
|
||||
_ _ _ _ _ _ _ _
|
||||
)
|
||||
|
||||
|
|
@ -1,16 +1,29 @@
|
|||
{ lib, pkgs, config, inputs, ... }: {
|
||||
{ lib, pkgs, config, inputs, ... }:
|
||||
let
|
||||
# backgroundImage = builtins.fetchurl {
|
||||
# url = "https://gruvbox-wallpapers.pages.dev/wallpapers/anime/wallhaven-2e2xyx.jpg";
|
||||
# sha256 = "1zw1a8x20bp9mn9lx18mxzgzvzi02ss57r4q1lc9f14fsmzphnlq";
|
||||
# };
|
||||
backgroundImage = "/home/ragon/Pictures/background.jpg";
|
||||
in
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
kanshi
|
||||
unstable.shikane
|
||||
helvum
|
||||
swaylock
|
||||
swayidle
|
||||
swaybg
|
||||
wlopm
|
||||
brightnessctl
|
||||
dconf
|
||||
pwvucontrol
|
||||
networkmanagerapplet
|
||||
libnotify
|
||||
];
|
||||
|
||||
dconf = {
|
||||
settings = {
|
||||
"org/gnome/desktop/interface" = {
|
||||
gtk-theme = "Adwaita-dark";
|
||||
color-scheme = "prefer-dark";
|
||||
};
|
||||
};
|
||||
|
|
@ -19,10 +32,7 @@
|
|||
gtk = {
|
||||
enable = true;
|
||||
gtk4.extraConfig.gtk-application-prefer-dark-theme = 1;
|
||||
theme = {
|
||||
name = "Adwaita-dark";
|
||||
package = pkgs.gnome.gnome-themes-extra;
|
||||
};
|
||||
gtk3.extraConfig.gtk-application-prefer-dark-theme = 1;
|
||||
};
|
||||
|
||||
qt = {
|
||||
|
|
@ -307,13 +317,17 @@ label:focus {
|
|||
layer = "top";
|
||||
position = "top";
|
||||
height = 15;
|
||||
modules-left = [ "river/tags" "river/layout" ];
|
||||
modules-left = [ "river/tags" "river/layout" "tray"];
|
||||
modules-center = [ "river/window" ];
|
||||
modules-right = [ "tray" "wireplumber" "upower" "backlight" "cpu" "temperature" "memory" "disk" "network" "clock" ];
|
||||
modules-right = [ "wireplumber" "upower" "backlight" "cpu" "temperature" "memory" "disk" "custom/tailscale" "network" "clock" ];
|
||||
"river/window" = {
|
||||
max-length = 40;
|
||||
};
|
||||
wireplumber = {
|
||||
"format" = "{volume}% {icon}";
|
||||
"format-muted" = "";
|
||||
"on-click" = "${pkgs.pwvucontrol}/bin/pwvucontrol";
|
||||
"on-right-click" = "${pkgs.wireplumber}/bin/wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
||||
"format-icons" = [ "" "" "" ];
|
||||
};
|
||||
"backlight" = {
|
||||
|
|
@ -325,7 +339,7 @@ label:focus {
|
|||
};
|
||||
"cpu" = {
|
||||
"interval" = 10;
|
||||
"format" = "{}% ";
|
||||
"format" = "{:0.0f}% ";
|
||||
"max-length" = 10;
|
||||
};
|
||||
"temperature" = {
|
||||
|
|
@ -344,6 +358,15 @@ label:focus {
|
|||
unit = "GB";
|
||||
path = "/persistent";
|
||||
};
|
||||
"custom/tailscale" = {
|
||||
exec = pkgs.writeScript "tailscaleWaybar.sh" ''
|
||||
#!${pkgs.bash}/bin/bash
|
||||
TAILNET=$(${pkgs.tailscale}/bin/tailscale status --json | ${pkgs.jq}/bin/jq -j '.MagicDNSSuffix')
|
||||
|
||||
echo "''${''${TAILNET%.ts.net}:(-15)}"
|
||||
'';
|
||||
interval = 30;
|
||||
};
|
||||
"network" = {
|
||||
"format" = "{ifname}";
|
||||
"format-wifi" = "{essid} ({signalStrength}%) ";
|
||||
|
|
@ -364,97 +387,116 @@ label:focus {
|
|||
xwayland.enable = true;
|
||||
settings = {
|
||||
map = {
|
||||
normal = {
|
||||
"Super+Shift Space" = "spawn 'rofi -show drun'";
|
||||
"Super+Shift Return" = "spawn 'wezterm'";
|
||||
"Super Q" = "close";
|
||||
"Super J" = "focus-view next";
|
||||
"Super K" = "focus-view previous";
|
||||
"Super Up" = "focus-view next";
|
||||
"Super Down" = "focus-view previous";
|
||||
"Super+Shift J" = "swap next";
|
||||
"Super+Shift K" = "swap previous";
|
||||
"Super+Shift Up" = "swap next";
|
||||
"Super+Shift Down" = "swap previous";
|
||||
"Super Period" = "focus-output right";
|
||||
"Super Comma" = "focus-output left";
|
||||
"Super+Control Period" = "send-to-output right";
|
||||
"Super+Control Comma" = "send-to-output left";
|
||||
"Super Return" = "zoom";
|
||||
"Super H" = ''send-layout-cmd rivertile "main-ratio -0.05"'';
|
||||
"Super L" = ''send-layout-cmd rivertile "main-ratio +0.05"'';
|
||||
"Super Left" = ''send-layout-cmd rivertile "main-ratio -0.05"'';
|
||||
"Super Right" = ''send-layout-cmd rivertile "main-ratio +0.05"'';
|
||||
"Super+Shift H" = ''send-layout-cmd rivertile "main-count -1"'';
|
||||
"Super+Shift L" = ''send-layout-cmd rivertile "main-count +1"'';
|
||||
"Super+Shift Left" = ''send-layout-cmd rivertile main-count -1"'';
|
||||
"Super+Shift Right" = ''send-layout-cmd rivertile main-count +1"'';
|
||||
# Super+Alt+{H,J,K,L} to move views
|
||||
"Super+Alt H" = "move left 100";
|
||||
"Super+Alt J" = "move down 100";
|
||||
"Super+Alt K" = "move up 100";
|
||||
"Super+Alt L" = "move right 100";
|
||||
normal =
|
||||
let
|
||||
scrn = pkgs.writeScript "scrn.sh" ''
|
||||
#!${pkgs.bash}/bin/bash
|
||||
IMG_FILE=~/Images/screenshots/scrn-$(date +\"%Y-%m-%d-%H-%M-%S\").png
|
||||
${pkgs.grim}/bin/grim $IMG_FILE
|
||||
${pkgs.wl-clipboard}/bin/wl-copy < $IMG_FILE
|
||||
${pkgs.libnotify}/bin/notify-send -i $IMG_FILE -e -t 10000 "Screenshot Saved" $IMG_FILE
|
||||
'';
|
||||
slurpscrn = pkgs.writeScript "scurpscrn.sh" ''
|
||||
#!${pkgs.bash}/bin/bash
|
||||
IMG_FILE=~/Images/screenshots/scrn-$(date +\"%Y-%m-%d-%H-%M-%S\").png
|
||||
${pkgs.slurp}/bin/slurp | ${pkgs.grim}/bin/grim -g - $IMG_FILE
|
||||
${pkgs.wl-clipboard}/bin/wl-copy < $IMG_FILE
|
||||
${pkgs.libnotify}/bin/notify-send -i $IMG_FILE -e -t 10000 "Screenshot Saved" $IMG_FILE
|
||||
'';
|
||||
in
|
||||
{
|
||||
"Super+Alt 4" = "spawn '${slurpscrn}'";
|
||||
"Super+Alt 1" = "spawn '${scrn}'";
|
||||
"Super+Shift Space" = "spawn 'rofi -show drun'";
|
||||
"Super+Shift Return" = "spawn wezterm";
|
||||
"Super Q" = "close";
|
||||
"Super J" = "focus-view next";
|
||||
"Super K" = "focus-view previous";
|
||||
"Super Up" = "focus-view next";
|
||||
"Super Down" = "focus-view previous";
|
||||
"Super+Shift J" = "swap next";
|
||||
"Super+Shift K" = "swap previous";
|
||||
"Super+Shift Up" = "swap next";
|
||||
"Super+Shift Down" = "swap previous";
|
||||
"Super Period" = "focus-output right";
|
||||
"Super Comma" = "focus-output left";
|
||||
"Super+Control Period" = "send-to-output -current-tags right";
|
||||
"Super+Control Comma" = "send-to-output -current-tags left";
|
||||
"Super Return" = "zoom";
|
||||
"Super H" = ''send-layout-cmd rivertile "main-ratio -0.05"'';
|
||||
"Super L" = ''send-layout-cmd rivertile "main-ratio +0.05"'';
|
||||
"Super Left" = ''send-layout-cmd rivertile "main-ratio -0.05"'';
|
||||
"Super Right" = ''send-layout-cmd rivertile "main-ratio +0.05"'';
|
||||
"Super+Shift H" = ''send-layout-cmd rivertile "main-count -1"'';
|
||||
"Super+Shift L" = ''send-layout-cmd rivertile "main-count +1"'';
|
||||
"Super+Shift Left" = ''send-layout-cmd rivertile main-count -1"'';
|
||||
"Super+Shift Right" = ''send-layout-cmd rivertile main-count +1"'';
|
||||
# Super+Alt+{H,J,K,L} to move views
|
||||
"Super+Alt H" = "move left 100";
|
||||
"Super+Alt J" = "move down 100";
|
||||
"Super+Alt K" = "move up 100";
|
||||
"Super+Alt L" = "move right 100";
|
||||
|
||||
# Super+Alt+Control+{H,J,K,L} to snap views to screen edges
|
||||
"Super+Alt+Control H" = "snap left";
|
||||
"Super+Alt+Control J" = "snap down";
|
||||
"Super+Alt+Control K" = "snap up";
|
||||
"Super+Alt+Control L" = "snap right";
|
||||
# Super+Alt+Control+{H,J,K,L} to snap views to screen edges
|
||||
"Super+Alt+Control H" = "snap left";
|
||||
"Super+Alt+Control J" = "snap down";
|
||||
"Super+Alt+Control K" = "snap up";
|
||||
"Super+Alt+Control L" = "snap right";
|
||||
|
||||
# Super+Alt+Shift+{H,J,K,L} to resize views
|
||||
"Super+Alt+Shift H" = "resize horizontal -100";
|
||||
"Super+Alt+Shift J" = "resize vertical 100";
|
||||
"Super+Alt+Shift K" = "resize vertical -100";
|
||||
"Super+Alt+Shift L" = "resize horizontal 100";
|
||||
# Super+Alt+Shift+{H,J,K,L} to resize views
|
||||
"Super+Alt+Shift H" = "resize horizontal -100";
|
||||
"Super+Alt+Shift J" = "resize vertical 100";
|
||||
"Super+Alt+Shift K" = "resize vertical -100";
|
||||
"Super+Alt+Shift L" = "resize horizontal 100";
|
||||
|
||||
} // (lib.zipAttrs (map
|
||||
(x_int:
|
||||
let
|
||||
pow = n: i:
|
||||
if i == 1 then n
|
||||
else if i == 0 then 1
|
||||
else n * pow n (i - 1);
|
||||
tags = toString (pow 2 (x_int - 1));
|
||||
x = toString x_int;
|
||||
} // (lib.zipAttrs (map
|
||||
(x_int:
|
||||
let
|
||||
pow = n: i:
|
||||
if i == 1 then n
|
||||
else if i == 0 then 1
|
||||
else n * pow n (i - 1);
|
||||
tags = toString (pow 2 (x_int - 1));
|
||||
x = toString x_int;
|
||||
|
||||
in
|
||||
{
|
||||
"Super ${x}" = "set-focused-tags ${tags}";
|
||||
"Super+Shift ${x}" = "set-view-tags ${tags}";
|
||||
"Super+Control ${x}" = "toggle-focused-tags ${tags}";
|
||||
"Super+Shift+Control ${x}" = "toggle-view-tags ${tags}";
|
||||
}
|
||||
)
|
||||
(lib.range 1 9)))
|
||||
// {
|
||||
"Super 0" = "set-focused-tags 4294967295"; # $(((1 << 32) - 1))
|
||||
"Super+Shift 0" = "set-view-tags 4294967295"; # $(((1 << 32) - 1))
|
||||
# Super+Space to toggle float
|
||||
"Super Space" = "toggle-float";
|
||||
in
|
||||
{
|
||||
"Super ${x}" = "set-focused-tags ${tags}";
|
||||
"Super+Shift ${x}" = "set-view-tags ${tags}";
|
||||
"Super+Control ${x}" = "toggle-focused-tags ${tags}";
|
||||
"Super+Shift+Control ${x}" = "toggle-view-tags ${tags}";
|
||||
}
|
||||
)
|
||||
(lib.range 1 9)))
|
||||
// {
|
||||
"Super 0" = "set-focused-tags 4294967295"; # $(((1 << 32) - 1))
|
||||
"Super+Shift 0" = "set-view-tags 4294967295"; # $(((1 << 32) - 1))
|
||||
# Super+Space to toggle float
|
||||
"Super Space" = "toggle-float";
|
||||
|
||||
# Super+F to toggle fullscreen
|
||||
"Super F" = "toggle-fullscreen";
|
||||
# Super+F to toggle fullscreen
|
||||
"Super F" = "toggle-fullscreen";
|
||||
|
||||
# Super+{Up,Right,Down,Left} to change layout orientation
|
||||
"Super Up" = ''send-layout-cmd rivertile "main-location top"'';
|
||||
"Super Right" = ''send-layout-cmd rivertile "main-location right"'';
|
||||
"Super Down" = ''send-layout-cmd rivertile "main-location bottom"'';
|
||||
"Super Left" = ''send-layout-cmd rivertile "main-location left"'';
|
||||
# Control pulse audio volume with pamixer (https://github.com/cdemoulins/pamixer)
|
||||
"None XF86AudioRaiseVolume" = "spawn 'pamixer -i 5'";
|
||||
"None XF86AudioLowerVolume" = "spawn 'pamixer -d 5'";
|
||||
"None XF86AudioMute" = "spawn 'pamixer --toggle-mute'";
|
||||
# Super+{Up,Right,Down,Left} to change layout orientation
|
||||
"Super Up" = ''send-layout-cmd rivertile "main-location top"'';
|
||||
"Super Right" = ''send-layout-cmd rivertile "main-location right"'';
|
||||
"Super Down" = ''send-layout-cmd rivertile "main-location bottom"'';
|
||||
"Super Left" = ''send-layout-cmd rivertile "main-location left"'';
|
||||
# Control pulse audio volume with pamixer (https://github.com/cdemoulins/pamixer)
|
||||
"None XF86AudioRaiseVolume" = "spawn 'pamixer -i 5'";
|
||||
"None XF86AudioLowerVolume" = "spawn 'pamixer -d 5'";
|
||||
"None XF86AudioMute" = "spawn 'pamixer --toggle-mute'";
|
||||
|
||||
# Control MPRIS aware media players with playerctl (https://github.com/altdesktop/playerctl)
|
||||
"None XF86AudioMedia" = "spawn 'playerctl play-pause'";
|
||||
"None XF86AudioPlay" = "spawn 'playerctl play-pause'";
|
||||
"None XF86AudioPrev" = "spawn 'playerctl previous'";
|
||||
"None XF86AudioNext" = "spawn 'playerctl next'";
|
||||
# Control MPRIS aware media players with playerctl (https://github.com/altdesktop/playerctl)
|
||||
"None XF86AudioMedia" = "spawn 'playerctl play-pause'";
|
||||
"None XF86AudioPlay" = "spawn 'playerctl play-pause'";
|
||||
"None XF86AudioPrev" = "spawn 'playerctl previous'";
|
||||
"None XF86AudioNext" = "spawn 'playerctl next'";
|
||||
|
||||
# Control screen backlight brightness with brightnessctl (https://github.com/Hummer12007/brightnessctl)
|
||||
"None XF86MonBrightnessUp" = "spawn 'brightnessctl set +5%'";
|
||||
"None XF86MonBrightnessDown" = "spawn 'brightnessctl set 5%-'";
|
||||
}
|
||||
# Control screen backlight brightness with brightnessctl (https://github.com/Hummer12007/brightnessctl)
|
||||
"None XF86MonBrightnessUp" = "spawn 'brightnessctl set +5%'";
|
||||
"None XF86MonBrightnessDown" = "spawn 'brightnessctl set 5%-'";
|
||||
}
|
||||
;
|
||||
};
|
||||
map-pointer.normal = {
|
||||
|
|
@ -473,15 +515,23 @@ label:focus {
|
|||
input = {
|
||||
"pointer-2362-628-PIXA3854:00_093A:0274_Touchpad" = "tap enabled";
|
||||
};
|
||||
keyboard-layout = "eu";
|
||||
xcursor-theme = "Adwaita";
|
||||
default-layout = "rivertile";
|
||||
};
|
||||
extraConfig = ''
|
||||
rivertile -view-padding 3 -outer-padding 3 &
|
||||
swayidle \
|
||||
timeout 300 'exec swaylock -c 000000' \
|
||||
before-sleep 'exec swaylock -c 000000' &
|
||||
kanshi &
|
||||
timeout 300 'swaylock -i ${backgroundImage}' \
|
||||
timeout 600 'wlopm --off \*' resume 'wlopm --on \*' \
|
||||
before-sleep 'swaylock -i ${backgroundImage}' &
|
||||
swaybg -i ${backgroundImage} &
|
||||
shikane &
|
||||
nm-applet &
|
||||
'';
|
||||
};
|
||||
services.wired = {
|
||||
enable = true;
|
||||
config = ./wired.ron;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,119 +1,119 @@
|
|||
{ pkgs, config, inputs, ... }: {
|
||||
imports = [ inputs.ironbar.homeManagerModules.default ];
|
||||
# imports = [ inputs.ironbar.homeManagerModules.default ];
|
||||
home.packages = with pkgs; [
|
||||
slurp
|
||||
grim
|
||||
mako
|
||||
# mako
|
||||
firefox
|
||||
# light installed via programs.light
|
||||
playerctl
|
||||
jq
|
||||
rofi
|
||||
inputs.swaymonad.defaultPackage.x86_64-linux
|
||||
# inputs.swaymonad.defaultPackage.x86_64-linux
|
||||
swaylock
|
||||
];
|
||||
programs.ironbar = {
|
||||
enable = true;
|
||||
style = ''
|
||||
@define-color color_bg #282828;
|
||||
@define-color color_bg_dark #3c3836;
|
||||
@define-color color_border #665c54;
|
||||
@define-color color_border_active #7c6f64;
|
||||
@define-color color_text #ebdbb2;
|
||||
@define-color color_urgent #cc241d;
|
||||
* {
|
||||
font-family: Source Sans Pro Nerd Font, sans-serif;
|
||||
font-size: 15px;
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
}
|
||||
# programs.ironbar = {
|
||||
# enable = false;
|
||||
# style = ''
|
||||
# @define-color color_bg #282828;
|
||||
# @define-color color_bg_dark #3c3836;
|
||||
# @define-color color_border #665c54;
|
||||
# @define-color color_border_active #7c6f64;
|
||||
# @define-color color_text #ebdbb2;
|
||||
# @define-color color_urgent #cc241d;
|
||||
# * {
|
||||
# font-family: Source Sans Pro Nerd Font, sans-serif;
|
||||
# font-size: 15px;
|
||||
# border: none;
|
||||
# border-radius: 0;
|
||||
# }
|
||||
|
||||
box, menubar, button {
|
||||
background-color: @color_bg;
|
||||
background-image: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
# box, menubar, button {
|
||||
# background-color: @color_bg;
|
||||
# background-image: none;
|
||||
# box-shadow: none;
|
||||
# }
|
||||
|
||||
button, label {
|
||||
color: @color_text;
|
||||
}
|
||||
# button, label {
|
||||
# color: @color_text;
|
||||
# }
|
||||
|
||||
button:hover {
|
||||
background-color: @color_bg_dark;
|
||||
}
|
||||
# button:hover {
|
||||
# background-color: @color_bg_dark;
|
||||
# }
|
||||
|
||||
scale trough {
|
||||
min-width: 1px;
|
||||
min-height: 2px;
|
||||
}
|
||||
# scale trough {
|
||||
# min-width: 1px;
|
||||
# min-height: 2px;
|
||||
# }
|
||||
|
||||
/* #bar {
|
||||
border-top: 1px solid @color_border;
|
||||
} */
|
||||
# /* #bar {
|
||||
# border-top: 1px solid @color_border;
|
||||
# } */
|
||||
|
||||
.popup {
|
||||
border: 1px solid @color_border;
|
||||
padding: 1em;
|
||||
}
|
||||
'';
|
||||
config = {
|
||||
position = "top";
|
||||
height = 20;
|
||||
start = [
|
||||
{ type = "workspaces"; }
|
||||
{ type = "sway_mode"; }
|
||||
];
|
||||
center = [
|
||||
{
|
||||
type = "focused";
|
||||
show_icon = true;
|
||||
show_title = true;
|
||||
icon_size = 10;
|
||||
truncate = "end";
|
||||
}
|
||||
];
|
||||
end = [
|
||||
{ type = "music"; player_name = "mpris"; }
|
||||
{
|
||||
type = "volume";
|
||||
icons = {
|
||||
volume_high = "";
|
||||
volume_medium = "";
|
||||
volume_low = "";
|
||||
muted = "";
|
||||
};
|
||||
format = "{icon} {percentage}%";
|
||||
max_volume = 100;
|
||||
}
|
||||
{
|
||||
type = "upower";
|
||||
format = "{icon} {percentage}%";
|
||||
}
|
||||
{
|
||||
type = "sys_info";
|
||||
format = [
|
||||
" {cpu_percent}%"
|
||||
" {temp_c:k10temp-Tctl}°C"
|
||||
" {memory_used}/{memory_total}GB"
|
||||
" {disk_used:/persistent}/{disk_total:/persistent}GB"
|
||||
" {net_down:wlan0}/{net_up:wlan0} Mbps"
|
||||
# " {load_average:1} | {load_average:5} | {load_average:15}"
|
||||
];
|
||||
interval = {
|
||||
"cpu" = 1;
|
||||
"disks" = 300;
|
||||
"memory" = 30;
|
||||
"networks" = 3;
|
||||
"temps" = 5;
|
||||
};
|
||||
}
|
||||
{
|
||||
type = "clock";
|
||||
format = "%Y-%m-%dT%H:%M:%S%z";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
# .popup {
|
||||
# border: 1px solid @color_border;
|
||||
# padding: 1em;
|
||||
# }
|
||||
# '';
|
||||
# config = {
|
||||
# position = "top";
|
||||
# height = 20;
|
||||
# start = [
|
||||
# { type = "workspaces"; }
|
||||
# { type = "sway_mode"; }
|
||||
# ];
|
||||
# center = [
|
||||
# {
|
||||
# type = "focused";
|
||||
# show_icon = true;
|
||||
# show_title = true;
|
||||
# icon_size = 10;
|
||||
# truncate = "end";
|
||||
# }
|
||||
# ];
|
||||
# end = [
|
||||
# { type = "music"; player_name = "mpris"; }
|
||||
# {
|
||||
# type = "volume";
|
||||
# icons = {
|
||||
# volume_high = "";
|
||||
# volume_medium = "";
|
||||
# volume_low = "";
|
||||
# muted = "";
|
||||
# };
|
||||
# format = "{icon} {percentage}%";
|
||||
# max_volume = 100;
|
||||
# }
|
||||
# {
|
||||
# type = "upower";
|
||||
# format = "{icon} {percentage}%";
|
||||
# }
|
||||
# {
|
||||
# type = "sys_info";
|
||||
# format = [
|
||||
# " {cpu_percent}%"
|
||||
# " {temp_c:k10temp-Tctl}°C"
|
||||
# " {memory_used}/{memory_total}GB"
|
||||
# " {disk_used:/persistent}/{disk_total:/persistent}GB"
|
||||
# " {net_down:wlan0}/{net_up:wlan0} Mbps"
|
||||
# # " {load_average:1} | {load_average:5} | {load_average:15}"
|
||||
# ];
|
||||
# interval = {
|
||||
# "cpu" = 1;
|
||||
# "disks" = 300;
|
||||
# "memory" = 30;
|
||||
# "networks" = 3;
|
||||
# "temps" = 5;
|
||||
# };
|
||||
# }
|
||||
# {
|
||||
# type = "clock";
|
||||
# format = "%Y-%m-%dT%H:%M:%S%z";
|
||||
# }
|
||||
# ];
|
||||
# };
|
||||
# };
|
||||
|
||||
# TODO: change to home-manager module somehow
|
||||
home.file.".config/sway/config".text = ''
|
||||
|
|
@ -239,7 +239,7 @@
|
|||
}
|
||||
bindsym $mod+Shift+e mode "$mode_system"
|
||||
|
||||
exec_always "pkill -f 'python3? .+/swaymonad.py'; swaymonad"
|
||||
# exec_always "pkill -f 'python3? .+/swaymonad.py'; swaymonad"
|
||||
bindsym $mod+Return nop promote_window
|
||||
|
||||
bindsym $mod+j nop focus_next_window
|
||||
|
|
|
|||
302
hosts/theseus/wired.ron
Normal file
302
hosts/theseus/wired.ron
Normal file
|
|
@ -0,0 +1,302 @@
|
|||
(
|
||||
// Maximum number of notifications to show at any one time.
|
||||
// A value of 0 means that there is no limit.
|
||||
max_notifications: 0,
|
||||
|
||||
// The default timeout, in miliseconds, for notifications that don't have an initial timeout set.
|
||||
// 1000ms = 1s.
|
||||
timeout: 10000,
|
||||
|
||||
// How should we handle `expire_timeout` values of zero?
|
||||
// `UseDefault`: use `timeout`.
|
||||
// `NeverExpire`: show this notification forever.
|
||||
// The latter is technically correct according to the notification spec: https://specifications.freedesktop.org/notification-spec/notification-spec-latest.html
|
||||
zero_timeout_behavior: NeverExpire,
|
||||
|
||||
// `poll_interval` decides decides how often (in milliseconds) Wired checks events,
|
||||
// draws notifications (if necessary) -- the update loop while any notification is present.
|
||||
// Note that when no notifications are present, Wired polls at `idle_poll_interval` instead.
|
||||
// 16ms ~= 60hz / 7ms ~= 144hz.
|
||||
poll_interval: 16,
|
||||
|
||||
// The interval at which wired updates when no notifications/windows are present.
|
||||
//idle_poll_interval: 500,
|
||||
|
||||
// Wired will pause notifications if you are idle (no mouse or keyboard input) for longer than
|
||||
// `idle_threshold` seconds.
|
||||
// Note that notifications will not be automatically unpaused on wake, and will need to be manually
|
||||
// cleared, unless `unpause_on_input` is set to true.
|
||||
// Also note that no distinction is made between manually paused and idle paused notifications.
|
||||
// If `idle_threshold` is not specified, the behavior will be disabled entirely.
|
||||
//idle_threshold: 3600,
|
||||
|
||||
// Notifications will spawn paused, and have to be manually unpaused or cleared by the user,
|
||||
// unless `unpause_on_input` is also set.
|
||||
//notifications_spawn_paused: false,
|
||||
|
||||
// Unpause notifications when we receive any input after being idle for longer than 1 second.
|
||||
// Note that no distinction is made between manually paused notifications and idle paused/spawned notifications.
|
||||
//unpause_on_input: false,
|
||||
|
||||
// Enable/disable replacement functionality.
|
||||
// If this is disabled, replacement requests will just send a new notification.
|
||||
// E.g., with replacing_enabled: true, Pidgin will only show the latest message from each contact,
|
||||
// instead of sending a new one for each message.
|
||||
// Default: true
|
||||
//replacing_enabled: true,
|
||||
|
||||
// Whether a notification should reset its timeout when it is replaced.
|
||||
// No effect if replacing_enabled is set to false.
|
||||
// Default: false
|
||||
//replacing_resets_timeout: false,
|
||||
|
||||
// Some apps/programs close notifications on their own by sending a request to dbus.
|
||||
// Sometimes this is not desired.
|
||||
// Default: true
|
||||
//closing_enabled: true,
|
||||
|
||||
// How many notifications are kept in history.
|
||||
// Each notification is roughly 256 bytes (excluding buffers!), so there's some math to do here.
|
||||
// Default: 100
|
||||
//history_length: 100,
|
||||
|
||||
// When a `NotificationBlock` has monitorr: -1 (i.e. should follow active monitor), then what input
|
||||
// should we use to determine the active monitor?
|
||||
// Options: Mouse, Window
|
||||
// Default: Mouse
|
||||
//focus_follows: Mouse,
|
||||
|
||||
// Enable printing notification data to a file.
|
||||
// Useful for scripting purposes.
|
||||
// The data is written as JSON.
|
||||
// Default: None
|
||||
//print_to_file: "/tmp/wired.log",
|
||||
|
||||
// Minimum window width and height. This is used to create the base rect that the notification
|
||||
// grows within.
|
||||
// The notification window will never be smaller than this.
|
||||
// A value of 1 means that the window will generally always resize with notification, unless
|
||||
// you have a 1x1 pixel notification...
|
||||
// Generally, you shouldn't need to set this.
|
||||
min_window_width: 325,
|
||||
//min_window_height: 1,
|
||||
|
||||
// Trim whitespace in received notification text, since some clients like to send whitespace, which we usually don't actually want.
|
||||
//trim_whitespace: true,
|
||||
|
||||
// Enable/disable debug rendering.
|
||||
debug: false,
|
||||
debug_color: Color(r: 0.0, g: 1.0, b: 0.0, a: 1.0), // Primary color for debug rectangles.
|
||||
debug_color_alt: Color(r: 1.0, g: 0.0, b: 0.0, a: 1.0), // Secondary color for debug rectangles.
|
||||
|
||||
layout_blocks: [
|
||||
|
||||
// Layout 1, when an image is present.
|
||||
(
|
||||
name: "root",
|
||||
parent: "",
|
||||
hook: Hook(parent_anchor: TR, self_anchor: TR),
|
||||
offset: Vec2(x: -15, y: 15),
|
||||
//render_criteria: [HintImage],
|
||||
// https://github.com/Toqozz/wired-notify/wiki/NotificationBlock
|
||||
params: NotificationBlock((
|
||||
monitor: 0,
|
||||
border_width: 2.0,
|
||||
border_rounding: 0.0,
|
||||
background_color: Color(hex: "#11111b"),
|
||||
border_color: Color(hex: "#cba6f7"),
|
||||
border_color_low: Color(hex: "#89b4fa"),
|
||||
border_color_critical: Color(hex: "#f38ba8"),
|
||||
border_color_paused: Color(hex: "#f9e2af"),
|
||||
|
||||
gap: Vec2(x: 0.0, y: 10),
|
||||
notification_hook: Hook(parent_anchor: BR, self_anchor: TR),
|
||||
)),
|
||||
),
|
||||
|
||||
(
|
||||
name: "image",
|
||||
parent: "root",
|
||||
hook: Hook(parent_anchor: ML, self_anchor: ML),
|
||||
offset: Vec2(x: 0.0, y: 0.0),
|
||||
// https://github.com/Toqozz/wired-notify/wiki/ImageBlock
|
||||
params: ImageBlock((
|
||||
image_type: HintThenApp,
|
||||
padding: Padding(left: 13.0, right: 6.0, top: 0.0, bottom: 10.0),
|
||||
rounding: 3.0,
|
||||
scale_width: 48,
|
||||
scale_height: 48,
|
||||
filter_mode: Lanczos3,
|
||||
)),
|
||||
),
|
||||
|
||||
(
|
||||
name: "summary",
|
||||
parent: "image",
|
||||
hook: Hook(parent_anchor: MR, self_anchor: BL),
|
||||
offset: Vec2(x: 0.0, y: 0.0),
|
||||
// https://github.com/Toqozz/wired-notify/wiki/TextBlock
|
||||
params: TextBlock((
|
||||
text: "%s",
|
||||
font: "JetBrains Mono 11",
|
||||
color: Color(hex: "#ffffff"),
|
||||
padding: Padding(left: 12.0, right: 11.0, top: 12.0, bottom: 12.0),
|
||||
dimensions: (width: (min: 50, max: 250), height: (min: 0, max: 0)),
|
||||
)),
|
||||
),
|
||||
|
||||
(
|
||||
name: "body",
|
||||
parent: "summary",
|
||||
hook: Hook(parent_anchor: BL, self_anchor: TL),
|
||||
offset: Vec2(x: 0.0, y: 0.0),
|
||||
render_criteria: [Body],
|
||||
// https://github.com/Toqozz/wired-notify/wiki/ScrollingTextBlock
|
||||
params: ScrollingTextBlock((
|
||||
text: "%b",
|
||||
font: "JetBrains Mono 10",
|
||||
color: Color(hex: "#a6adc8"),
|
||||
padding: Padding(left: 11.0, right: 11.0, top: 0.0, bottom: 11.0),
|
||||
width: (min: 150, max: 300),
|
||||
scroll_speed: 0.1,
|
||||
lhs_dist: 35.0,
|
||||
rhs_dist: 35.0,
|
||||
scroll_t: 1.0,
|
||||
)),
|
||||
),
|
||||
|
||||
(
|
||||
name: "progress",
|
||||
parent: "summary",
|
||||
hook: Hook(parent_anchor: BL, self_anchor: TL),
|
||||
offset: Vec2(x: 0.0, y: -3.0),
|
||||
render_criteria: [Progress],
|
||||
// https://github.com/Toqozz/wired-notify/wiki/ProgressBlock
|
||||
params: ProgressBlock((
|
||||
padding: Padding(left: 12.0, right: 11.0, top: 6.0, bottom: 11.0),
|
||||
border_width: 2.0,
|
||||
border_rounding: 5.0,
|
||||
fill_rounding: 5.0,
|
||||
border_color: Color(hex: "#313244"),
|
||||
background_color: Color(hex: "#1e1e2e"),
|
||||
fill_color: Color(hex: "#cba6f7"),
|
||||
width: 230,
|
||||
height: 15,
|
||||
)),
|
||||
),
|
||||
|
||||
(
|
||||
name: "button_0",
|
||||
parent: "summary",
|
||||
hook: Hook(parent_anchor: BL, self_anchor: TL),
|
||||
offset: Vec2(x: 12.0, y: 0.0),
|
||||
render_criteria: [ActionOther(0)],
|
||||
// https://github.com/Toqozz/wired-notify/wiki/ButtonBlock
|
||||
params: ButtonBlock((
|
||||
padding: Padding(left: 8.0, right: 11.0, top: 6.0, bottom: 5.0),
|
||||
action: OtherAction(0),
|
||||
text: "%a",
|
||||
font: "JetBrains Mono 9",
|
||||
border_width: 2.0,
|
||||
border_rounding: 0.0,
|
||||
text_color: Color(hex: "#a6adc8"),
|
||||
border_color: Color(hex: "#313244"),
|
||||
background_color: Color(hex: "#1e1e2e"),
|
||||
dimensions: (width: (min: 0, max: 150), height: (min: 0, max: 0)),
|
||||
)),
|
||||
),
|
||||
|
||||
(
|
||||
name: "button_1",
|
||||
parent: "button_0",
|
||||
hook: Hook(parent_anchor: TR, self_anchor: TL),
|
||||
offset: Vec2(x: 12.0, y: 0.0),
|
||||
render_criteria: [ActionOther(1)],
|
||||
// https://github.com/Toqozz/wired-notify/wiki/ButtonBlock
|
||||
params: ButtonBlock((
|
||||
padding: Padding(left: 8.0, right: 11.0, top: 6.0, bottom: 5.0),
|
||||
action: OtherAction(1),
|
||||
text: "%a",
|
||||
font: "JetBrains Mono 9",
|
||||
border_width: 2.0,
|
||||
border_rounding: 0.0,
|
||||
text_color: Color(hex: "#a6adc8"),
|
||||
border_color: Color(hex: "#313244"),
|
||||
background_color: Color(hex: "#1e1e2e"),
|
||||
dimensions: (width: (min: 0, max: 150), height: (min: 0, max: 0)),
|
||||
)),
|
||||
),
|
||||
|
||||
(
|
||||
name: "button_2",
|
||||
parent: "button_1",
|
||||
hook: Hook(parent_anchor: TR, self_anchor: TL),
|
||||
offset: Vec2(x: 12.0, y: 0.0),
|
||||
render_criteria: [ActionOther(2)],
|
||||
// https://github.com/Toqozz/wired-notify/wiki/ButtonBlock
|
||||
params: ButtonBlock((
|
||||
padding: Padding(left: 8.0, right: 11.0, top: 6.0, bottom: 5.0),
|
||||
action: OtherAction(2),
|
||||
text: "%a",
|
||||
font: "JetBrains Mono 9",
|
||||
border_width: 2.0,
|
||||
border_rounding: 0.0,
|
||||
text_color: Color(hex: "#a6adc8"),
|
||||
border_color: Color(hex: "#313244"),
|
||||
background_color: Color(hex: "#1e1e2e"),
|
||||
dimensions: (width: (min: 0, max: 150), height: (min: 0, max: 0)),
|
||||
)),
|
||||
),
|
||||
|
||||
(
|
||||
name: "button_3",
|
||||
parent: "button_2",
|
||||
hook: Hook(parent_anchor: TR, self_anchor: TL),
|
||||
offset: Vec2(x: 12.0, y: 0.0),
|
||||
render_criteria: [ActionOther(3)],
|
||||
// https://github.com/Toqozz/wired-notify/wiki/ButtonBlock
|
||||
params: ButtonBlock((
|
||||
padding: Padding(left: 8.0, right: 11.0, top: 6.0, bottom: 5.0),
|
||||
action: OtherAction(3),
|
||||
text: "%a",
|
||||
font: "JetBrains Mono 9",
|
||||
border_width: 2.0,
|
||||
border_rounding: 0.0,
|
||||
text_color: Color(hex: "#a6adc8"),
|
||||
border_color: Color(hex: "#313244"),
|
||||
background_color: Color(hex: "#1e1e2e"),
|
||||
dimensions: (width: (min: 0, max: 150), height: (min: 0, max: 0)),
|
||||
)),
|
||||
),
|
||||
|
||||
(
|
||||
name: "padding",
|
||||
parent: "button_0",
|
||||
hook: Hook(parent_anchor: BR, self_anchor: TL),
|
||||
offset: Vec2(x: 0.0, y: 0.0),
|
||||
render_criteria: [ActionOther(0)],
|
||||
// https://github.com/Toqozz/wired-notify/wiki/ScrollingTextBlock
|
||||
params: TextBlock((
|
||||
text: "",
|
||||
font: "JetBrains Mono 1",
|
||||
color: Color(hex: "#ffffff"),
|
||||
padding: Padding(left: 12.0, right: 0.0, top: 12.0, bottom: 0.0),
|
||||
dimensions: (width: (min: 0, max: 0), height: (min: 0, max: 0)),
|
||||
)),
|
||||
),
|
||||
|
||||
],
|
||||
|
||||
// https://github.com/Toqozz/wired-notify/wiki/Shortcuts
|
||||
shortcuts: ShortcutsConfig (
|
||||
notification_interact: 1,
|
||||
notification_close: 2,
|
||||
// notification_closeall: 99,
|
||||
// notification_pause: 99,
|
||||
|
||||
notification_action1: 3,
|
||||
// notification_action2: 99,
|
||||
// notification_action3: 99,
|
||||
// notification_action4: 99,
|
||||
),
|
||||
)
|
||||
|
|
@ -18,7 +18,7 @@ caddy.override {
|
|||
|
||||
plugins = [
|
||||
"github.com/caddy-dns/ionos@751e8e24162290ee74bea465ae733a2bf49551a6"
|
||||
"github.com/caddy-dns/desec@e1e64971fe34c29ce3f4176464adb84d6890aa50"
|
||||
"github.com/caddy-dns/desec@822a6a2014b221e8fa589fbcfd0395abe9ee90f6"
|
||||
];
|
||||
|
||||
configurePhase = ''
|
||||
|
|
@ -37,7 +37,7 @@ caddy.override {
|
|||
cp -r --reflink=auto . $out
|
||||
'';
|
||||
|
||||
outputHash = "sha256-yI5eUpEbbZN7qOemT64lodh/Khz9XkFwwoK7NEL0pdI=";
|
||||
outputHash = "sha256-Z2KQu4qayqaRudKfcxK4tLQ383//JZJ8q5vtX9/IX0I=";
|
||||
outputHashMode = "recursive";
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue