stuff and things

This commit is contained in:
zack 2025-04-07 13:07:15 -04:00
parent fe357582a6
commit b5542e492f
No known key found for this signature in database
GPG key ID: EE8A2B709E2401D1
36 changed files with 1059 additions and 1069 deletions

515
flake.lock generated
View file

@ -54,11 +54,11 @@
"systems": "systems_3" "systems": "systems_3"
}, },
"locked": { "locked": {
"lastModified": 1735301051, "lastModified": 1743762088,
"narHash": "sha256-jU88Q9tP4vuvWYGQcmOdFwI9e2uMPVYJHbXdiklIH9o=", "narHash": "sha256-f+oXT9b3xuBDmm4v4nDqJvlHabxxZRB6+pay4Ub/NvA=",
"owner": "anyrun-org", "owner": "anyrun-org",
"repo": "anyrun", "repo": "anyrun",
"rev": "06017e753c8886d5296768dca80745ee09402a2d", "rev": "786f539d69d5abcefa68978dbaa964ac14536a00",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -87,11 +87,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1742213273, "lastModified": 1743265529,
"narHash": "sha256-0l0vDb4anfsBu1rOs94bC73Hub+xEivgBAo6QXl2MmU=", "narHash": "sha256-QbjP15/2N+VJl0b5jxrrTc+VOt39aU4XrDvtP0Lz5ik=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "aquamarine", "repo": "aquamarine",
"rev": "484b732195cc53f4536ce4bd59a5c6402b1e7ccf", "rev": "1d2dbd72c2bbaceab031c592d4810f744741d203",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -161,11 +161,11 @@
"nixpkgs": "nixpkgs_4" "nixpkgs": "nixpkgs_4"
}, },
"locked": { "locked": {
"lastModified": 1742599566, "lastModified": 1743801669,
"narHash": "sha256-xr6ntmiUPXSh9o9mJ7og9vxALMQs1EQhIhWUAO2D1M0=", "narHash": "sha256-RxQQQCGqywOPbdNrWGbFyFdcrdrXM4YBHW7vYt13OeI=",
"owner": "catppuccin", "owner": "catppuccin",
"repo": "nix", "repo": "nix",
"rev": "5e303e8d7e251868fa79f83bbda69da90aa62402", "rev": "07beb389d69a52c4dd5895da9553463c3740a26a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -210,21 +210,6 @@
"type": "github" "type": "github"
} }
}, },
"crane_3": {
"locked": {
"lastModified": 1731098351,
"narHash": "sha256-HQkYvKvaLQqNa10KEFGgWHfMAbWBfFp+4cAgkut+NNE=",
"owner": "ipetkov",
"repo": "crane",
"rev": "ef80ead953c1b28316cc3f8613904edc2eb90c28",
"type": "github"
},
"original": {
"owner": "ipetkov",
"repo": "crane",
"type": "github"
}
},
"disko": { "disko": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -232,11 +217,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1741786315, "lastModified": 1743598667,
"narHash": "sha256-VT65AE2syHVj6v/DGB496bqBnu1PXrrzwlw07/Zpllc=", "narHash": "sha256-ViE7NoFWytYO2uJONTAX35eGsvTYXNHjWALeHAg8OQY=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "0d8c6ad4a43906d14abd5c60e0ffe7b587b213de", "rev": "329d3d7e8bc63dd30c39e14e6076db590a6eabe6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -251,11 +236,11 @@
"nixpkgs-stable": "nixpkgs-stable" "nixpkgs-stable": "nixpkgs-stable"
}, },
"locked": { "locked": {
"lastModified": 1742750000, "lastModified": 1743930892,
"narHash": "sha256-03p4sJr5edbuXd5AkoUTr46co5+/B4APV/Sbv/hoDHk=", "narHash": "sha256-2efjGG9Mpz/QPZQjkeqOW/mpxf099t0NO0kK/tchWPQ=",
"owner": "nix-community", "owner": "nix-community",
"repo": "emacs-overlay", "repo": "emacs-overlay",
"rev": "7ea1ac244572b6186965d15ef05ec5d466aac1ea", "rev": "3fb12f3aacdc18ee1f455cca300c33d5f20de175",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -432,11 +417,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1727826117, "lastModified": 1743550720,
"narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=", "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1", "rev": "c621e8422220273271f52058f618c94e405bb0f5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -492,11 +477,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1741352980, "lastModified": 1743550720,
"narHash": "sha256-+u2UunDA4Cl5Fci3m7S643HzKmIDAe+fiXrLqYsR2fs=", "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "f4330d22f1c5d2ba72d3d22df5597d123fdb60a9", "rev": "c621e8422220273271f52058f618c94e405bb0f5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -531,11 +516,11 @@
"nixpkgs-lib": "nixpkgs-lib_2" "nixpkgs-lib": "nixpkgs-lib_2"
}, },
"locked": { "locked": {
"lastModified": 1741352980, "lastModified": 1743550720,
"narHash": "sha256-+u2UunDA4Cl5Fci3m7S643HzKmIDAe+fiXrLqYsR2fs=", "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "f4330d22f1c5d2ba72d3d22df5597d123fdb60a9", "rev": "c621e8422220273271f52058f618c94e405bb0f5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -600,7 +585,7 @@
}, },
"flake-utils-plus": { "flake-utils-plus": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_8" "flake-utils": "flake-utils_7"
}, },
"locked": { "locked": {
"lastModified": 1715533576, "lastModified": 1715533576,
@ -619,7 +604,7 @@
}, },
"flake-utils-plus_2": { "flake-utils-plus_2": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_9" "flake-utils": "flake-utils_8"
}, },
"locked": { "locked": {
"lastModified": 1715533576, "lastModified": 1715533576,
@ -712,24 +697,6 @@
"inputs": { "inputs": {
"systems": "systems_13" "systems": "systems_13"
}, },
"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_7": {
"inputs": {
"systems": "systems_14"
},
"locked": { "locked": {
"lastModified": 1701680307, "lastModified": 1701680307,
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
@ -744,9 +711,9 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils_8": { "flake-utils_7": {
"inputs": { "inputs": {
"systems": "systems_18" "systems": "systems_17"
}, },
"locked": { "locked": {
"lastModified": 1694529238, "lastModified": 1694529238,
@ -762,9 +729,9 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils_9": { "flake-utils_8": {
"inputs": { "inputs": {
"systems": "systems_19" "systems": "systems_18"
}, },
"locked": { "locked": {
"lastModified": 1694529238, "lastModified": 1694529238,
@ -805,11 +772,11 @@
"zon2nix": "zon2nix" "zon2nix": "zon2nix"
}, },
"locked": { "locked": {
"lastModified": 1742702839, "lastModified": 1743820100,
"narHash": "sha256-9atn1IrQH/R2ahK+Zj6JpS0CfjSPBLObHQeTw/4Vv5Q=", "narHash": "sha256-URg5DLo0IvpTLNGrWA9f6U4pl21JxsQWSJUpjvALyxs=",
"owner": "ghostty-org", "owner": "ghostty-org",
"repo": "ghostty", "repo": "ghostty",
"rev": "c58fe676ad6212114455ac89a2703dcc3b8b67b7", "rev": "6f7977fef186faa9b9afe7707dc21a2eff59883b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -957,11 +924,32 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1742744903, "lastModified": 1743948087,
"narHash": "sha256-qd2uiGol/kb9Dk0vgOOLBl9VsycG0VfteM78OduFl2Y=", "narHash": "sha256-B6cIi2ScgVSROPPlTti6len+TdR0K25B9R3oKvbw3M8=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "5ff90f09d1bd189b722e60798513724cdd3580b6", "rev": "ef3b2a6b602c3f1a80c6897d6de3ee62339a3eb7",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"home-manager_3": {
"inputs": {
"nixpkgs": [
"zen-browser",
"nixpkgs"
]
},
"locked": {
"lastModified": 1743604125,
"narHash": "sha256-ZD61DNbsBt1mQbinAaaEqKaJk2RFo9R/j+eYWeGMx7A=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "180fd43eea296e62ae68e079fcf56aba268b9a1a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1040,11 +1028,11 @@
"systems": "systems_8" "systems": "systems_8"
}, },
"locked": { "locked": {
"lastModified": 1742397293, "lastModified": 1743294595,
"narHash": "sha256-WVREToubLhIlogCoNJzo+HdatLKkEushwStDU1uyRnc=", "narHash": "sha256-kEr12UVk8Bul09wi9g8UwXADpTdDxinfAO2V5/1RhJA=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hypridle", "repo": "hypridle",
"rev": "71e875e49e583c7b8b1364b55dfe494375c4e3ea", "rev": "66d1815b5ef5f7de083ec285aaab68064924b897",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1071,11 +1059,11 @@
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1742746774, "lastModified": 1743895813,
"narHash": "sha256-p33LUt9KoNQOAFBWOyN8OfWLVKUOyAyX8PLwWw6s454=", "narHash": "sha256-1K/UFvPrq0OBq4A8elxzIqjDFuq4311F6D0Sbe4APAQ=",
"ref": "refs/heads/main", "ref": "refs/heads/main",
"rev": "e4abf26069b4d43c8f6ad6b3dfb56c952abb38c2", "rev": "e96b8ce4cc5e5856b6da653f1d92af856b5e72c9",
"revCount": 5924, "revCount": 5968,
"submodules": true, "submodules": true,
"type": "git", "type": "git",
"url": "https://github.com/hyprwm/Hyprland" "url": "https://github.com/hyprwm/Hyprland"
@ -1123,11 +1111,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1738422629, "lastModified": 1743549251,
"narHash": "sha256-5v+bv75wJWvahyM2xcMTSNNxmV8a7hb01Eey5zYnBJw=", "narHash": "sha256-yf+AXt0RkAkCyF6iSnJt6EJAnNG/l6qv70CVzhRP6Bg=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprland-protocols", "repo": "hyprland-protocols",
"rev": "755aef8dab49d0fc4663c715fa4ad221b2aedaed", "rev": "4ab17ccac08456cb5e00e8bd323de2efd30612be",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1299,11 +1287,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1741534688, "lastModified": 1742984269,
"narHash": "sha256-EV3945SnjOCuRVbGRghsWx/9D89FyshnSO1Q6/TuQ14=", "narHash": "sha256-uz9FaCIbga/gQ5ZG1Hb4HVVjTWT1qjjCAFlCXiaefxg=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprutils", "repo": "hyprutils",
"rev": "dd1f720cbc2dbb3c71167c9598045dd3261d27b3", "rev": "7248194a2ce0106ae647b70d0526a96dc9d6ad60",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1417,8 +1405,8 @@
"lexical": { "lexical": {
"inputs": { "inputs": {
"flake-parts": "flake-parts_8", "flake-parts": "flake-parts_8",
"nixpkgs": "nixpkgs_18", "nixpkgs": "nixpkgs_19",
"systems": "systems_22" "systems": "systems_21"
}, },
"locked": { "locked": {
"lastModified": 1727126932, "lastModified": 1727126932,
@ -1490,27 +1478,6 @@
"type": "gitlab" "type": "gitlab"
} }
}, },
"mc-honeypot": {
"inputs": {
"crane": "crane_3",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1732194526,
"narHash": "sha256-qgPm10THq0V3yc26TXU0RO2LFLAH3qpWKAbm9SNU66Q=",
"owner": "Duckulus",
"repo": "mc-honeypot",
"rev": "f0611215c6cea398736bbb2af4b5ad38c77d5c47",
"type": "github"
},
"original": {
"owner": "Duckulus",
"repo": "mc-honeypot",
"type": "github"
}
},
"neovim-nightly-overlay": { "neovim-nightly-overlay": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_5", "flake-compat": "flake-compat_5",
@ -1522,11 +1489,11 @@
"treefmt-nix": "treefmt-nix_2" "treefmt-nix": "treefmt-nix_2"
}, },
"locked": { "locked": {
"lastModified": 1742688454, "lastModified": 1743898191,
"narHash": "sha256-gK9nPXWEXVtBWlZCBlwMZynlCDGJ1TtVlRBfC02PNxc=", "narHash": "sha256-JCcQDgwYV+C4igYA6DchGpKKA6eyZXLvRrxWHmQbmDk=",
"owner": "nix-community", "owner": "nix-community",
"repo": "neovim-nightly-overlay", "repo": "neovim-nightly-overlay",
"rev": "098d2af8c606ea8adc1b8b3084f454ca681a7ab3", "rev": "276567b29d8c9aca7b6a54e93a9183e44a17f19c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1538,11 +1505,11 @@
"neovim-src": { "neovim-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1742654371, "lastModified": 1743893800,
"narHash": "sha256-fmOfoKTyGmjouWGFxfJvMdZVX3u2GSZyMlVE9yNhusA=", "narHash": "sha256-i/X0b3b/dAqjNIB5RoryeDvMkVfdoPBwK5xn06W6Wdo=",
"owner": "neovim", "owner": "neovim",
"repo": "neovim", "repo": "neovim",
"rev": "f4d9a2983a49c1729f78ffbf6b1e6dcc30215d0d", "rev": "28e819018520a2300eaeeec6794ffcd614b25dd2",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1551,6 +1518,62 @@
"type": "github" "type": "github"
} }
}, },
"niri": {
"inputs": {
"niri-stable": "niri-stable",
"niri-unstable": "niri-unstable",
"nixpkgs": "nixpkgs_10",
"nixpkgs-stable": "nixpkgs-stable_4",
"xwayland-satellite-stable": "xwayland-satellite-stable",
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
},
"locked": {
"lastModified": 1743943715,
"narHash": "sha256-9xCTf79Naq7mxvqtjgbcU9ZlNwubAep0qlwrL3GqZQQ=",
"owner": "sodiboo",
"repo": "niri-flake",
"rev": "f53eac2ea3c72dd4e9739228660f661eb27359d0",
"type": "github"
},
"original": {
"owner": "sodiboo",
"repo": "niri-flake",
"type": "github"
}
},
"niri-stable": {
"flake": false,
"locked": {
"lastModified": 1740117926,
"narHash": "sha256-mTTHA0RAaQcdYe+9A3Jx77cmmyLFHmRoZdd8RpWa+m8=",
"owner": "YaLTeR",
"repo": "niri",
"rev": "b94a5db8790339cf9134873d8b490be69e02ac71",
"type": "github"
},
"original": {
"owner": "YaLTeR",
"ref": "v25.02",
"repo": "niri",
"type": "github"
}
},
"niri-unstable": {
"flake": false,
"locked": {
"lastModified": 1743923080,
"narHash": "sha256-Hb3t6FoJycnqIZmu3c6K1bJGndBsrDw8IQtM2ieLbzU=",
"owner": "YaLTeR",
"repo": "niri",
"rev": "430b155929a60644ea223012ee0c1389fc5e3755",
"type": "github"
},
"original": {
"owner": "YaLTeR",
"repo": "niri",
"type": "github"
}
},
"nixlib": { "nixlib": {
"locked": { "locked": {
"lastModified": 1736643958, "lastModified": 1736643958,
@ -1589,11 +1612,11 @@
}, },
"nixos-stable": { "nixos-stable": {
"locked": { "locked": {
"lastModified": 1742512142, "lastModified": 1743813633,
"narHash": "sha256-8XfURTDxOm6+33swQJu/hx6xw1Tznl8vJJN5HwVqckg=", "narHash": "sha256-BgkBz4NpV6Kg8XF7cmHDHRVGZYnKbvG0Y4p+jElwxaM=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "7105ae3957700a9646cc4b766f5815b23ed0c682", "rev": "7819a0d29d1dd2bc331bec4b327f0776359b1fa6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1605,11 +1628,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1742422364, "lastModified": 1743827369,
"narHash": "sha256-mNqIplmEohk5jRkqYqG19GA8MbQ/D4gQSK0Mu4LvfRQ=", "narHash": "sha256-rpqepOZ8Eo1zg+KJeWoq1HAOgoMCDloqv5r2EAa9TSA=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "a84ebe20c6bc2ecbcfb000a50776219f48d134cc", "rev": "42a1c966be226125b48c384171c44c651c236c22",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1646,11 +1669,11 @@
}, },
"nixpkgs-lib_2": { "nixpkgs-lib_2": {
"locked": { "locked": {
"lastModified": 1740877520, "lastModified": 1743296961,
"narHash": "sha256-oiwv/ZK/2FhGxrCkQkB83i7GnWXPPLzoqFHpDD3uYpk=", "narHash": "sha256-b1EdN3cULCqtorQ4QeWgLMrd5ZGOjLSLemfa00heasc=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixpkgs.lib", "repo": "nixpkgs.lib",
"rev": "147dee35aab2193b174e4c0868bd80ead5ce755c", "rev": "e4822aea2a6d1cdd36653c134cacfd64c97ff4fa",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1685,11 +1708,11 @@
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1742512142, "lastModified": 1743703532,
"narHash": "sha256-8XfURTDxOm6+33swQJu/hx6xw1Tznl8vJJN5HwVqckg=", "narHash": "sha256-s1KLDALEeqy+ttrvqV3jx9mBZEvmthQErTVOAzbjHZs=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "7105ae3957700a9646cc4b766f5815b23ed0c682", "rev": "bdb91860de2f719b57eef819b5617762f7120c70",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1731,6 +1754,22 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-stable_4": {
"locked": {
"lastModified": 1743813633,
"narHash": "sha256-BgkBz4NpV6Kg8XF7cmHDHRVGZYnKbvG0Y4p+jElwxaM=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "7819a0d29d1dd2bc331bec4b327f0776359b1fa6",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-24.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1741865919, "lastModified": 1741865919,
@ -1749,15 +1788,15 @@
}, },
"nixpkgs_10": { "nixpkgs_10": {
"locked": { "locked": {
"lastModified": 1742422364, "lastModified": 1743827369,
"narHash": "sha256-mNqIplmEohk5jRkqYqG19GA8MbQ/D4gQSK0Mu4LvfRQ=", "narHash": "sha256-rpqepOZ8Eo1zg+KJeWoq1HAOgoMCDloqv5r2EAa9TSA=",
"owner": "nixos", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "a84ebe20c6bc2ecbcfb000a50776219f48d134cc", "rev": "42a1c966be226125b48c384171c44c651c236c22",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "NixOS",
"ref": "nixos-unstable", "ref": "nixos-unstable",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
@ -1765,15 +1804,15 @@
}, },
"nixpkgs_11": { "nixpkgs_11": {
"locked": { "locked": {
"lastModified": 1720031269, "lastModified": 1743827369,
"narHash": "sha256-rwz8NJZV+387rnWpTYcXaRNvzUSnnF9aHONoJIYmiUQ=", "narHash": "sha256-rpqepOZ8Eo1zg+KJeWoq1HAOgoMCDloqv5r2EAa9TSA=",
"owner": "NixOS", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", "rev": "42a1c966be226125b48c384171c44c651c236c22",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "nixos",
"ref": "nixos-unstable", "ref": "nixos-unstable",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
@ -1844,6 +1883,22 @@
} }
}, },
"nixpkgs_16": { "nixpkgs_16": {
"locked": {
"lastModified": 1743689281,
"narHash": "sha256-y7Hg5lwWhEOgflEHRfzSH96BOt26LaYfrYWzZ+VoVdg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "2bfc080955153be0be56724be6fa5477b4eefabb",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_17": {
"locked": { "locked": {
"lastModified": 1740547748, "lastModified": 1740547748,
"narHash": "sha256-Ly2fBL1LscV+KyCqPRufUBuiw+zmWrlJzpWOWbahplg=", "narHash": "sha256-Ly2fBL1LscV+KyCqPRufUBuiw+zmWrlJzpWOWbahplg=",
@ -1859,13 +1914,13 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_17": { "nixpkgs_18": {
"locked": { "locked": {
"lastModified": 1742288794, "lastModified": 1743448293,
"narHash": "sha256-Txwa5uO+qpQXrNG4eumPSD+hHzzYi/CdaM80M9XRLCo=", "narHash": "sha256-bmEPmSjJakAp/JojZRrUvNcDX2R5/nuX6bm+seVaGhs=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "b6eaf97c6960d97350c584de1b6dcff03c9daf42", "rev": "77b584d61ff80b4cef9245829a6f1dfad5afdfa3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1875,7 +1930,7 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_18": { "nixpkgs_19": {
"locked": { "locked": {
"lastModified": 1719931832, "lastModified": 1719931832,
"narHash": "sha256-0LD+KePCKKEb4CcPsTBOwf019wDtZJanjoKm1S8q3Do=", "narHash": "sha256-0LD+KePCKKEb4CcPsTBOwf019wDtZJanjoKm1S8q3Do=",
@ -1923,11 +1978,11 @@
}, },
"nixpkgs_4": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1742288794, "lastModified": 1743583204,
"narHash": "sha256-Txwa5uO+qpQXrNG4eumPSD+hHzzYi/CdaM80M9XRLCo=", "narHash": "sha256-F7n4+KOIfWrwoQjXrL2wD9RhFYLs2/GGe/MQY1sSdlE=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "b6eaf97c6960d97350c584de1b6dcff03c9daf42", "rev": "2c8d3f48d33929642c1c12cd243df4cc7d2ce434",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1939,11 +1994,11 @@
}, },
"nixpkgs_5": { "nixpkgs_5": {
"locked": { "locked": {
"lastModified": 1742422364, "lastModified": 1743827369,
"narHash": "sha256-mNqIplmEohk5jRkqYqG19GA8MbQ/D4gQSK0Mu4LvfRQ=", "narHash": "sha256-rpqepOZ8Eo1zg+KJeWoq1HAOgoMCDloqv5r2EAa9TSA=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "a84ebe20c6bc2ecbcfb000a50776219f48d134cc", "rev": "42a1c966be226125b48c384171c44c651c236c22",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -2002,11 +2057,11 @@
}, },
"nixpkgs_9": { "nixpkgs_9": {
"locked": { "locked": {
"lastModified": 1742578646, "lastModified": 1743689281,
"narHash": "sha256-GiQ40ndXRnmmbDZvuv762vS+gew1uDpFwOfgJ8tLiEs=", "narHash": "sha256-y7Hg5lwWhEOgflEHRfzSH96BOt26LaYfrYWzZ+VoVdg=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "94c4dbe77c0740ebba36c173672ca15a7926c993", "rev": "2bfc080955153be0be56724be6fa5477b4eefabb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -2016,25 +2071,6 @@
"type": "github" "type": "github"
} }
}, },
"opnix": {
"inputs": {
"flake-utils": "flake-utils_6",
"nixpkgs": "nixpkgs_11"
},
"locked": {
"lastModified": 1733770284,
"narHash": "sha256-cZha5DPsmr1H007pn/95t2wIktEUSepjmLm0RL/bu50=",
"owner": "brizzbuzz",
"repo": "opnix",
"rev": "4696993a9ef5f37f7d75b8aa64db0053c85eaa10",
"type": "github"
},
"original": {
"owner": "brizzbuzz",
"repo": "opnix",
"type": "github"
}
},
"pnpm2nix": { "pnpm2nix": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_2", "flake-utils": "flake-utils_2",
@ -2056,7 +2092,7 @@
}, },
"pnpm2nix_2": { "pnpm2nix_2": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_7", "flake-utils": "flake-utils_6",
"nixpkgs": "nixpkgs_12" "nixpkgs": "nixpkgs_12"
}, },
"locked": { "locked": {
@ -2102,11 +2138,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1742058297, "lastModified": 1742649964,
"narHash": "sha256-b4SZc6TkKw8WQQssbN5O2DaCEzmFfvSTPYHlx/SFW9Y=", "narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "59f17850021620cd348ad2e9c0c64f4e6325ce2a", "rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -2160,7 +2196,7 @@
"resume": { "resume": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_14", "nixpkgs": "nixpkgs_14",
"systems": "systems_16" "systems": "systems_15"
}, },
"locked": { "locked": {
"lastModified": 1741033401, "lastModified": 1741033401,
@ -2183,14 +2219,14 @@
"nixpkgs" "nixpkgs"
], ],
"rust-overlay": "rust-overlay_3", "rust-overlay": "rust-overlay_3",
"systems": "systems_17" "systems": "systems_16"
}, },
"locked": { "locked": {
"lastModified": 1742634895, "lastModified": 1743931237,
"narHash": "sha256-vWxkx9/dGzAzaVo177H2VO796pc3UTUqwOqH1J9xUyM=", "narHash": "sha256-TiHJQYx0PkBceCG4UoavTO9UN8Dwoqglw5Lac5awLk8=",
"owner": "raphamorim", "owner": "raphamorim",
"repo": "rio", "repo": "rio",
"rev": "d0ff00eca8d0a9f096d4245e4ec7af850d19d1a9", "rev": "dbaf02f9ec66d8d55c363f697d4eab3ca24d80aa",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -2217,12 +2253,11 @@
"lanzaboote": "lanzaboote", "lanzaboote": "lanzaboote",
"lix-module": "lix-module", "lix-module": "lix-module",
"mailserver": "mailserver", "mailserver": "mailserver",
"mc-honeypot": "mc-honeypot",
"neovim-nightly-overlay": "neovim-nightly-overlay", "neovim-nightly-overlay": "neovim-nightly-overlay",
"niri": "niri",
"nixos-generators": "nixos-generators", "nixos-generators": "nixos-generators",
"nixos-stable": "nixos-stable", "nixos-stable": "nixos-stable",
"nixpkgs": "nixpkgs_10", "nixpkgs": "nixpkgs_11",
"opnix": "opnix",
"pnpm2nix": "pnpm2nix_2", "pnpm2nix": "pnpm2nix_2",
"posting": "posting", "posting": "posting",
"resume": "resume", "resume": "resume",
@ -2230,8 +2265,9 @@
"rust-overlay": "rust-overlay_4", "rust-overlay": "rust-overlay_4",
"snowfall-lib": "snowfall-lib", "snowfall-lib": "snowfall-lib",
"solaar": "solaar", "solaar": "solaar",
"sops-nix": "sops-nix",
"spicetify-nix": "spicetify-nix", "spicetify-nix": "spicetify-nix",
"systems": "systems_21", "systems": "systems_20",
"umu": "umu", "umu": "umu",
"waybar": "waybar", "waybar": "waybar",
"zen-browser": "zen-browser", "zen-browser": "zen-browser",
@ -2286,11 +2322,11 @@
"nixpkgs": "nixpkgs_15" "nixpkgs": "nixpkgs_15"
}, },
"locked": { "locked": {
"lastModified": 1741400194, "lastModified": 1743820323,
"narHash": "sha256-tEpgT+q5KlGjHSm8MnINgTPErEl8YDzX3Eps8PVc09g=", "narHash": "sha256-UXxJogXhPhBFaX4uxmMudcD/x3sEGFtoSc4busTcftY=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "16b6045a232fea0e9e4c69e55a6e269607dd8e3f", "rev": "b4734ce867252f92cdc7d25f8cc3b7cef153e703",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -2306,11 +2342,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1742697269, "lastModified": 1743906877,
"narHash": "sha256-Lpp0XyAtIl1oGJzNmTiTGLhTkcUjwSkEb0gOiNzYFGM=", "narHash": "sha256-Thah1oU8Vy0gs9bh5QhNcQh1iuQiowMnZPbrkURonZA=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "01973c84732f9275c50c5f075dd1f54cc04b3316", "rev": "9d00c6b69408dd40d067603012938d9fbe95cfcd",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -2388,19 +2424,37 @@
"type": "github" "type": "github"
} }
}, },
"sops-nix": {
"inputs": {
"nixpkgs": "nixpkgs_16"
},
"locked": {
"lastModified": 1743910657,
"narHash": "sha256-zr2jmWeWyhCD8WmO2aWov2g0WPPuZfcJDKzMJZYGq3Y=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "523f58a4faff6c67f5f685bed33a7721e984c304",
"type": "github"
},
"original": {
"owner": "Mic92",
"repo": "sops-nix",
"type": "github"
}
},
"spicetify-nix": { "spicetify-nix": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"systems": "systems_20" "systems": "systems_19"
}, },
"locked": { "locked": {
"lastModified": 1742703429, "lastModified": 1743946771,
"narHash": "sha256-/07c78WpRta925dyZEhwQi+D+rd+zVoDPApur+907p4=", "narHash": "sha256-n/LxWCGJtDi/rWMKEXWQn39v46iFZpW+V9mY4/4LJQs=",
"owner": "Gerg-L", "owner": "Gerg-L",
"repo": "spicetify-nix", "repo": "spicetify-nix",
"rev": "d86aca850354c8db834c20feb170356e3d28a5c6", "rev": "af24d96983faa41e79fa00312106c37a7cc2ca0a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -2515,6 +2569,7 @@
} }
}, },
"systems_16": { "systems_16": {
"flake": false,
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@ -2530,7 +2585,6 @@
} }
}, },
"systems_17": { "systems_17": {
"flake": false,
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@ -2635,21 +2689,6 @@
"type": "github" "type": "github"
} }
}, },
"systems_23": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_3": { "systems_3": {
"locked": { "locked": {
"lastModified": 1689347949, "lastModified": 1689347949,
@ -2781,11 +2820,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1742370146, "lastModified": 1743748085,
"narHash": "sha256-XRE8hL4vKIQyVMDXykFh4ceo3KSpuJF3ts8GKwh5bIU=", "narHash": "sha256-uhjnlaVTWo5iD3LXics1rp9gaKgDRQj6660+gbUU3cE=",
"owner": "numtide", "owner": "numtide",
"repo": "treefmt-nix", "repo": "treefmt-nix",
"rev": "adc195eef5da3606891cedf80c0d9ce2d3190808", "rev": "815e4121d6a5d504c0f96e5be2dd7f871e4fd99d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -2796,15 +2835,15 @@
}, },
"umu": { "umu": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_16" "nixpkgs": "nixpkgs_17"
}, },
"locked": { "locked": {
"dir": "packaging/nix", "dir": "packaging/nix",
"lastModified": 1742441912, "lastModified": 1743524226,
"narHash": "sha256-8379sxse20nhUT6VcjjpsDmYoT8EJQCy0E8bLZZdos8=", "narHash": "sha256-af5xqPTOE3u+tsavSAuuuYgsGFMAq8sJYJTTr2V+tRw=",
"owner": "Open-Wine-Components", "owner": "Open-Wine-Components",
"repo": "umu-launcher", "repo": "umu-launcher",
"rev": "28eef5f5638d5660fb2d7c1811c8f2915a5e8c5b", "rev": "5fd075b7ece7fc1b22e8c5151b1804fc3939dbe3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -2816,7 +2855,7 @@
}, },
"utils": { "utils": {
"inputs": { "inputs": {
"systems": "systems_15" "systems": "systems_14"
}, },
"locked": { "locked": {
"lastModified": 1726560853, "lastModified": 1726560853,
@ -2840,11 +2879,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1740125099, "lastModified": 1743754816,
"narHash": "sha256-VpT3ePqmo75Ni6/02KFGV6ltnpiV70/ovG/p1f2wKkU=", "narHash": "sha256-UsDvxfAwR0qXSrCV3UOZLB6r6l08lfdvg9OoFWNVxSM=",
"owner": "Alexays", "owner": "Alexays",
"repo": "Waybar", "repo": "Waybar",
"rev": "8490a1d9b9a5c8770dd63e9faca0a5e01acedcae", "rev": "056295cbc6d6b8efccae51251483c6f92b3b15b2",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -2894,16 +2933,50 @@
"type": "github" "type": "github"
} }
}, },
"xwayland-satellite-stable": {
"flake": false,
"locked": {
"lastModified": 1739246919,
"narHash": "sha256-/hBM43/Gd0/tW+egrhlWgOIISeJxEs2uAOIYVpfDKeU=",
"owner": "Supreeeme",
"repo": "xwayland-satellite",
"rev": "44590a416d4a3e8220e19e29e0b6efe64a80315d",
"type": "github"
},
"original": {
"owner": "Supreeeme",
"ref": "v0.5.1",
"repo": "xwayland-satellite",
"type": "github"
}
},
"xwayland-satellite-unstable": {
"flake": false,
"locked": {
"lastModified": 1743346993,
"narHash": "sha256-i7rWd/5BcqLgQEtB5L/6gKN5R5GUJcmm34F+iBivH60=",
"owner": "Supreeeme",
"repo": "xwayland-satellite",
"rev": "45c055696437a08e3989d9b91d9c617b84cc2bc3",
"type": "github"
},
"original": {
"owner": "Supreeeme",
"repo": "xwayland-satellite",
"type": "github"
}
},
"zen-browser": { "zen-browser": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_17" "home-manager": "home-manager_3",
"nixpkgs": "nixpkgs_18"
}, },
"locked": { "locked": {
"lastModified": 1742736106, "lastModified": 1743854692,
"narHash": "sha256-wzdYoYASPlITYBiw2xDyE56DnOcLNsO6QHRGUDj6kq4=", "narHash": "sha256-0j18TfmblTLRC/yJhx3uhaJZ1gmq1JDCZgKtJMjHb9s=",
"owner": "0xc000022070", "owner": "0xc000022070",
"repo": "zen-browser-flake", "repo": "zen-browser-flake",
"rev": "7c3008fcc5a436c885d3faaf6d058afc41ae3762", "rev": "d0b39aeb79744bc47c6cc3b0fde1d5156673d4a6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -2948,7 +3021,7 @@
"nixpkgs" "nixpkgs"
], ],
"process-compose-flake": "process-compose-flake", "process-compose-flake": "process-compose-flake",
"systems": "systems_23" "systems": "systems_22"
}, },
"locked": { "locked": {
"lastModified": 1731607548, "lastModified": 1731607548,

View file

@ -37,6 +37,9 @@
agenix.inputs.nixpkgs.follows = "nixpkgs"; agenix.inputs.nixpkgs.follows = "nixpkgs";
agenix.inputs.darwin.follows = ""; agenix.inputs.darwin.follows = "";
# to replace with sops-nix
sops-nix.url = "github:Mic92/sops-nix";
pnpm2nix.url = "github:nzbr/pnpm2nix-nzbr"; pnpm2nix.url = "github:nzbr/pnpm2nix-nzbr";
solaar = { solaar = {
@ -128,10 +131,7 @@
disko.url = "github:nix-community/disko"; disko.url = "github:nix-community/disko";
disko.inputs.nixpkgs.follows = "nixpkgs"; disko.inputs.nixpkgs.follows = "nixpkgs";
opnix.url = "github:brizzbuzz/opnix"; niri.url = "github:sodiboo/niri-flake";
mc-honeypot.url = "github:Duckulus/mc-honeypot";
mc-honeypot.inputs.nixpkgs.follows = "nixpkgs";
}; };
outputs = inputs @ {self, ...}: let outputs = inputs @ {self, ...}: let
@ -139,10 +139,10 @@
inherit inputs; inherit inputs;
src = ./.; src = ./.;
overlays = [ overlays = with inputs; [
inputs.rust-overlay.overlays.default rust-overlay.overlays.default
(final: prev: { (final: prev: {
ghostty = inputs.ghostty.packages."x86_64-linux".default; ghostty = ghostty.packages."x86_64-linux".default;
}) })
(final: prev: { (final: prev: {
shadps4 = prev.shadps4.overrideAttrs { shadps4 = prev.shadps4.overrideAttrs {
@ -156,6 +156,7 @@
patches = []; patches = [];
}; };
}) })
niri.overlays.niri
]; ];
snowfall = { snowfall = {
@ -171,10 +172,9 @@
homes.modules = with inputs; [ homes.modules = with inputs; [
spicetify-nix.homeManagerModules.default spicetify-nix.homeManagerModules.default
catppuccin.homeManagerModules.catppuccin catppuccin.homeModules.catppuccin
anyrun.homeManagerModules.default anyrun.homeManagerModules.default
ags.homeManagerModules.default ags.homeManagerModules.default
opnix.homeManagerModules.default
]; ];
systems.modules.nixos = with inputs; [ systems.modules.nixos = with inputs; [
@ -183,13 +183,13 @@
catppuccin.nixosModules.catppuccin catppuccin.nixosModules.catppuccin
blog.nixosModule blog.nixosModule
agenix.nixosModules.default agenix.nixosModules.default
sops-nix.nixosModules.sops
solaar.nixosModules.default solaar.nixosModules.default
zoeycomputer.nixosModules.default zoeycomputer.nixosModules.default
lix-module.nixosModules.default lix-module.nixosModules.default
mailserver.nixosModule mailserver.nixosModule
disko.nixosModules.disko disko.nixosModules.disko
mc-honeypot.nixosModules.default niri.nixosModules.niri
opnix.nixosModules.default
]; ];
}; };
in in

View file

@ -5,10 +5,11 @@
lib, lib,
... ...
}: { }: {
wms.hyprland.enable = true; # wms.hyprland.enable = true;
wms.niri.enable = true;
apps = { apps = {
web.librewolf.enable = true; web.librewolf.enable = true;
web.librewolf.setDefault = true; web.zen.setDefault = true;
tools.git.enable = true; tools.git.enable = true;
tools.tmux.enable = true; tools.tmux.enable = true;
@ -24,7 +25,7 @@
term.kitty.enable = true; term.kitty.enable = true;
term.foot.enable = true; term.foot.enable = true;
# term.rio.enable = true; term.rio.enable = true;
term.alacritty.enable = true; term.alacritty.enable = true;
term.ghostty.enable = true; term.ghostty.enable = true;
@ -104,7 +105,7 @@
work.vpn.enable = true; work.vpn.enable = true;
home.packages = [ home.packages = with pkgs; [
pkgs.gimp pkgs.gimp
pkgs.slack pkgs.slack
@ -119,6 +120,7 @@
pkgs.ungoogled-chromium pkgs.ungoogled-chromium
pkgs.uutils-coreutils-noprefix pkgs.uutils-coreutils-noprefix
pkgs.yazi pkgs.yazi
pkgs.reaper
pkgs.fragments pkgs.fragments
inputs.posting.packages.${pkgs.system}.default inputs.posting.packages.${pkgs.system}.default
@ -135,6 +137,8 @@
pkgs.custom.enc pkgs.custom.enc
pkgs.neural-amp-modeler-lv2
pkgs.nix-tree pkgs.nix-tree
# inputs.g2claude.packages.${pkgs.system}.default # inputs.g2claude.packages.${pkgs.system}.default
@ -197,6 +201,8 @@
pkgs.rofimoji pkgs.rofimoji
pkgs.renderdoc pkgs.renderdoc
pkgs.xwayland-satellite
pkgs.nautilus pkgs.nautilus
pkgs.nautilus-python pkgs.nautilus-python
pkgs.loupe pkgs.loupe
@ -230,25 +236,29 @@
programs.cava = { programs.cava = {
enable = true; enable = true;
catppuccin.enable = true; catppuccin.enable = true;
# settings = { settings = {
# general = { general = {
# bars = 2; # bars = 2;
# channels = 2; # channels = 2;
# mono = "no"; # mono = "no";
#
# # smoothing = 0; # smoothing = 0;
# # falloff = 0.0; # falloff = 0.0;
# }; };
# input = { input = {
# method = "pipewire"; method = "pipewire";
# source = "alsa_input.pci-0000_0d_00.4.analog-stereo"; source = "497";
# }; };
# # output = { # output = {
# # method = "ncurses"; # method = "ncurses";
# # }; # };
# }; };
}; };
catppuccin.fuzzel.enable = true;
programs.fuzzel.enable = true;
programs.btop = { programs.btop = {
enable = true; enable = true;
catppuccin.enable = true; catppuccin.enable = true;

View file

@ -28,5 +28,5 @@
}; };
}; };
wallpaper = ./favs-98.png; wallpaper = ./wall4p.jpg;
} }

BIN
lib/theme/wall4p.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 MiB

BIN
lib/theme/wallp.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 MiB

View file

@ -497,7 +497,7 @@ in {
"gtk-layer-shell" = true; "gtk-layer-shell" = true;
passthrough = false; passthrough = false;
"fixed-center" = true; "fixed-center" = true;
"modules-left" = ["hyprland/workspaces" "hyprland/window"]; "modules-left" = ["hyprland/workspaces" "hyprland/window" "niri/workspaces" "niri/window"];
"modules-center" = ["mpris"]; "modules-center" = ["mpris"];
"modules-right" = [ "modules-right" = [
"cpu" "cpu"

View file

@ -12,22 +12,56 @@ in {
enable = mkBoolOpt false "Enable Alacritty Term"; enable = mkBoolOpt false "Enable Alacritty Term";
fonts = { fonts = {
# normal = {
# family = mkStringOpt "Cozette" "The Family of the font";
# # style = mkStringOpt "ExtraBold" "The Style of the font";
# };
# bold = {
# family = mkStringOpt "Cozette" "The Family of the font";
# # style = mkStringOpt "Heavy" "The Style of the font";
# };
# italic = {
# family = mkStringOpt "Cozette" "The Family of the font";
# # style = mkStringOpt "ExtraBold Italic" "The Style of the font";
# };
# bold_italic = {
# family = mkStringOpt "Cozette" "The Family of the font";
# # style = mkStringOpt "Heavy Italic" "The Style of the font";
# };
normal = { normal = {
family = mkStringOpt "Iosevka" "The Family of the font"; family = mkStringOpt "Iosevka Nerd Font Mono" "The Family of the font";
style = mkStringOpt "ExtraBold" "The Style of the font"; style = mkStringOpt "SemiBold SemiExtended" "The Style of the font";
}; };
bold = { bold = {
family = mkStringOpt "Iosevka" "The Family of the font"; family = mkStringOpt "Iosevka Nerd Font Mono" "The Family of the font";
style = mkStringOpt "Heavy" "The Style of the font"; style = mkStringOpt "Bold SemiExtended" "The Style of the font";
}; };
italic = { italic = {
family = mkStringOpt "Iosevka" "The Family of the font"; family = mkStringOpt "Iosevka Nerd Font Mono" "The Family of the font";
style = mkStringOpt "ExtraBold Italic" "The Style of the font"; style = mkStringOpt "SemiBold Italic SemiExtended" "The Style of the font";
}; };
bold_italic = { bold_italic = {
family = mkStringOpt "Iosevka" "The Family of the font"; family = mkStringOpt "Iosevka Nerd Font Mono" "The Family of the font";
style = mkStringOpt "Heavy Italic" "The Style of the font"; style = mkStringOpt "Bold Italic SemiExtended" "The Style of the font";
}; };
# normal = {
# family = mkStringOpt "PragmataPro" "The Family of the font";
# # style = mkStringOpt "" "The Style of the font";
# };
# bold = {
# family = mkStringOpt "PragmataPro" "The Family of the font";
# style = mkStringOpt "Bold" "The Style of the font";
# };
# italic = {
# family = mkStringOpt "PragmataPro" "The Family of the font";
# style = mkStringOpt "Italic" "The Style of the font";
# };
# bold_italic = {
# family = mkStringOpt "PragmataPro" "The Family of the font";
# style = mkStringOpt "Bold Italic" "The Style of the font";
# };
}; };
}; };
@ -37,14 +71,29 @@ in {
catppuccin.enable = true; catppuccin.enable = true;
settings = { settings = {
colors = {
primary.background = "#11111b";
};
env = {
term = "xterm-256color";
};
cursor = {
style = {
shape = "Beam";
};
vi_mode_style = {
shape = "Beam";
};
};
window = { window = {
opacity = 0.95; # opacity = 0.95;
padding = { padding = {
x = 20; x = 20;
y = 20; y = 20;
}; };
}; };
font = { font = {
size = 16.0;
normal = cfg.fonts.normal; normal = cfg.fonts.normal;
bold = cfg.fonts.bold; bold = cfg.fonts.bold;
italic = cfg.fonts.italic; italic = cfg.fonts.italic;

View file

@ -16,10 +16,15 @@ in {
# bold = mkStringOpt "JetBrainsMonoNL Nerd Font Mono ExtraBold" "Bold Font"; # bold = mkStringOpt "JetBrainsMonoNL Nerd Font Mono ExtraBold" "Bold Font";
# italic = mkStringOpt "JetBrainsMonoNL Nerd Font Mono Bold Italic" "Italic Font"; # italic = mkStringOpt "JetBrainsMonoNL Nerd Font Mono Bold Italic" "Italic Font";
# bold_italic = mkStringOpt "JetBrainsMonoNL Nerd Font Mono ExtraBold Italic" "Bold Italic Font"; # bold_italic = mkStringOpt "JetBrainsMonoNL Nerd Font Mono ExtraBold Italic" "Bold Italic Font";
normal = mkStringOpt "Pragmata Pro Mono" "Normal Font"; # normal = mkStringOpt "Pragmata Pro Mono" "Normal Font";
bold = mkStringOpt "Iosevka ExtraBold" "Bold Font"; # bold = mkStringOpt "Pragmata Pro Mono" "Bold Font";
italic = mkStringOpt "Iosevka Bold Italic" "Italic Font"; # italic = mkStringOpt "Iosevka Bold Italic" "Italic Font";
bold_italic = mkStringOpt "Iosevka ExtraBold Italic" "Bold Italic Font"; # bold_italic = mkStringOpt "Iosevka ExtraBold Italic" "Bold Italic Font";
normal = mkStringOpt "Iosevka" "Normal Font";
bold = mkStringOpt "Iosevka" "Bold Font";
italic = mkStringOpt "Iosevka" "Italic Font";
bold_italic = mkStringOpt "Iosevka" "Bold Italic Font";
}; };
}; };

View file

@ -12,14 +12,18 @@ in {
enable = mkBoolOpt false "Enable Kitty Term"; enable = mkBoolOpt false "Enable Kitty Term";
fonts = { fonts = {
normal = mkStringOpt "JetBrainsMonoNL Nerd Font Mono Bold" "Normal Font"; # normal = mkStringOpt "JetBrainsMonoNL Nerd Font Mono Bold" "Normal Font";
bold = mkStringOpt "JetBrainsMonoNL Nerd Font Mono ExtraBold" "Bold Font"; # bold = mkStringOpt "JetBrainsMonoNL Nerd Font Mono ExtraBold" "Bold Font";
italic = mkStringOpt "JetBrainsMonoNL Nerd Font Mono Bold Italic" "Italic Font"; # italic = mkStringOpt "JetBrainsMonoNL Nerd Font Mono Bold Italic" "Italic Font";
bold_italic = mkStringOpt "JetBrainsMonoNL Nerd Font Mono ExtraBold Italic" "Bold Italic Font"; # bold_italic = mkStringOpt "JetBrainsMoIosevka ExtraBold ItalicnoNL Nerd Font Mono ExtraBold Italic" "Bold Italic Font";
# normal = mkStringOpt "Iosevka Bold" "Normal Font"; # normal = mkStringOpt "Kirsch Nerd Font Mono" "Normal Font";
# bold = mkStringOpt "Iosevka ExtraBold" "Bold Font"; # bold = mkStringOpt "Kirsch Nerd Font Mono" "BBoldold Font";
# italic = mkStringOpt "Iosevka Bold Italic" "Italic Font"; # italic = mkStringOpt "Kirsch Nerd Font Mono" "Italic Font";
# bold_italic = mkStringOpt "Iosevka ExtraBold Italic" "Bold Italic Font"; # bold_italic = mkStringOpt "Kirsch Nerd Font Mono" "Bold Italic Font";
normal = mkStringOpt "CozetteVector" "Normal Font";
bold = mkStringOpt "CozetteVector" "Bold Font";
italic = mkStringOpt "CozetteVector" "Italic Font";
bold_italic = mkStringOpt "CozetteVector" "Bold Italic Font";
}; };
}; };
@ -28,7 +32,7 @@ in {
enable = true; enable = true;
font = { font = {
name = cfg.fonts.normal; name = cfg.fonts.normal;
size = 14; size = 16;
}; };
extraConfig = '' extraConfig = ''
@ -41,7 +45,7 @@ in {
settings = { settings = {
window_padding_width = 12; window_padding_width = 12;
background_opacity = "0.9"; # background_opacity = "0.9";
# background = "#000000"; # background = "#000000";
}; };
}; };

View file

@ -16,7 +16,7 @@ in {
config = mkIf cfg.enable { config = mkIf cfg.enable {
programs.rio = { programs.rio = {
enable = true; enable = true;
package = inputs.rio-term.packages.${pkgs.system}.default; # package = inputs.rio-term.packages.${pkgs.system}.default;
settings = { settings = {
window = { window = {
opacity = 0.9; opacity = 0.9;

View file

@ -14,6 +14,7 @@
"lazyvim.plugins.extras.lang.toml", "lazyvim.plugins.extras.lang.toml",
"lazyvim.plugins.extras.lang.json", "lazyvim.plugins.extras.lang.json",
"lazyvim.plugins.extras.lang.clangd", "lazyvim.plugins.extras.lang.clangd",
"lazyvim.plugins.extras.lang.rust",
"lazyvim.plugins.extras.lang.markdown", "lazyvim.plugins.extras.lang.markdown",
"lazyvim.plugins.extras.lang.nix", "lazyvim.plugins.extras.lang.nix",
"lazyvim.plugins.extras.lang.sql", "lazyvim.plugins.extras.lang.sql",
@ -32,8 +33,9 @@
"lazyvim.plugins.extras.coding.luasnip", "lazyvim.plugins.extras.coding.luasnip",
"lazyvim.plugins.extras.coding.blink" "lazyvim.plugins.extras.coding.blink"
], ],
"install_version": 8,
"news": { "news": {
"NEWS.md": "6520" "NEWS.md": "10960"
}, },
"version": 8 "version": 8
} }

View file

@ -3,34 +3,7 @@ require("lazy").setup({
-- add LazyVim and import its plugins -- add LazyVim and import its plugins
{ "LazyVim/LazyVim", import = "lazyvim.plugins" }, { "LazyVim/LazyVim", import = "lazyvim.plugins" },
-- import/override with your plugins -- import/override with your plugins
-- { import = "lazyvim.plugins.extras.lang.rust" },
-- { import = "lazyvim.plugins.extras.lang.json" },
-- { import = "lazyvim.plugins.extras.lang.astro" },
-- { import = "lazyvim.plugins.extras.lang.git" },
-- { import = "lazyvim.plugins.extras.lang.docker" },
-- { import = "lazyvim.plugins.extras.lang.clangd" },
-- { import = "lazyvim.plugins.extras.lang.cmake" },
-- { import = "lazyvim.plugins.extras.lang.haskell" },
-- { import = "lazyvim.plugins.extras.lang.java" },
-- { import = "lazyvim.plugins.extras.lang.markdown" },
-- { import = "lazyvim.plugins.extras.lang.nix" },
-- { import = "lazyvim.plugins.extras.lang.sql" },
-- { import = "lazyvim.plugins.extras.lang.svelte" },
-- { import = "lazyvim.plugins.extras.lang.tailwind" },
-- { import = "lazyvim.plugins.extras.lang.tex" },
-- { import = "lazyvim.plugins.extras.lang.typescript" },
-- { import = "lazyvim.plugins.extras.lang.toml" },
-- { import = "lazyvim.plugins.extras.lang.angular" },
--
-- { import = "lazyvim.plugins.extras.formatting.prettier" },
--
-- { import = "lazyvim.plugins.extras.coding.luasnip" },
-- { import = "lazyvim.plugins.extras.coding.yanky" },
--
-- { import = "lazyvim.plugins.extras.dap.core" },
{ import = "plugins" }, { import = "plugins" },
{ import = "plugins.extras.rust" },
-- { import = "plugins.extras.clangd" },
}, },
defaults = { defaults = {
-- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup. -- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup.

View file

@ -9,3 +9,5 @@ end
-- in this case. -- in this case.
vim.g.lazyvim_blink_main = true vim.g.lazyvim_blink_main = true
vim.o.termguicolors = true

View file

@ -6,61 +6,51 @@ return {
news = { lazyvim = false }, news = { lazyvim = false },
}, },
}, },
{
"drewxs/ash.nvim",
lazy = false,
priority = 1000,
},
{
"dgox16/oldworld.nvim",
lazy = false,
priority = 1000,
},
{
"snacks.nvim",
opts = {
scroll = {
enabled = false,
},
dashboard = {
preset = {
header = [[
l
l ~
f_,)
]],
},
},
},
},
-- {
-- "uZer/pywal16.nvim",
-- -- for local dev replace with:
-- -- dir = '~/your/path/pywal16.nvim',
-- config = function()
-- vim.cmd.colorscheme("pywal16")
-- end,
-- },
{ {
"catppuccin", "catppuccin",
opts = { config = function()
transparent_background = true, require("catppuccin").setup({
integrations = { transparent_background = false,
blink_cmp = true, integrations = {
}, blink_cmp = true,
-- color_overrides = { nvimtree = true,
-- mocha = { },
-- base = "#000000", custom_highlights = function(colors)
-- mantle = "#000000", return {
-- crust = "#000000", Normal = { bg = colors.crust },
-- }, NormalFloat = { bg = colors.crust },
-- },
}, -- Completion menu (nvim-cmp)
Pmenu = { bg = colors.crust },
PmenuSel = { bg = colors.surface0 },
CmpItemAbbr = { bg = colors.crust },
CmpItemAbbrMatch = { bg = colors.crust },
-- Tabs
TabLine = { bg = colors.crust },
TabLineFill = { bg = colors.crust },
TabLineSel = { bg = colors.crust },
-- Status line
StatusLine = { bg = colors.crust },
StatusLineNC = { bg = colors.crust },
-- Line numbers
LineNr = { bg = colors.crust },
SignColumn = { bg = colors.crust },
}
end,
color_overrides = {
mocha = {
base = "#11111b",
mantle = "#11111b",
crust = "#11111b",
},
},
})
end,
}, },
"f-person/git-blame.nvim", "f-person/git-blame.nvim",
{ "nvim-lualine/lualine.nvim", enabled = false },
{ "echasnovski/mini.statusline", opts = {} },
{ {
"stevearc/conform.nvim", "stevearc/conform.nvim",
opts = { opts = {
@ -75,41 +65,20 @@ return {
}, },
}, },
}, },
{
"folke/snacks.nvim",
priority = 1000,
lazy = false,
keys = {
{
"<leader>z",
function()
Snacks.zen()
end,
desc = "Toggle Zen Mode",
},
},
},
{
"lukas-reineke/indent-blankline.nvim",
main = "ibl",
tag = "v3.8.2",
---@module "ibl"
---@type ibl.config
-- opts = {
-- debounce = 100,
-- indent = { char = "|" },
-- whitespace = { highlight = "Whitespace", "NonText" },
-- },
},
{ {
"neovim/nvim-lspconfig", "neovim/nvim-lspconfig",
---@class PluginLspOpts
opts = { opts = {
servers = { servers = {
emmet_ls = {}, emmet_ls = {},
slang = { slangd = {
inlayHints = { settings = {
deducedTypes = true, slangd = {
paramaterNames = true, inlayHints = {
deducedTypes = true,
paramaterNames = true,
},
},
}, },
}, },
nil_ls = { nil_ls = {
@ -145,10 +114,4 @@ return {
require("force-cul").setup() require("force-cul").setup()
end, end,
}, },
-- {
-- "supermaven-inc/supermaven-nvim",
-- config = function()
-- require("supermaven-nvim").setup({})
-- end,
-- },
} }

View file

@ -16,10 +16,10 @@ in {
config = mkIf cfg.enable { config = mkIf cfg.enable {
catppuccin.tmux = { catppuccin.tmux = {
enable = true; enable = true;
# extraConfig = '' extraConfig = ''
# set -g @catppuccin_window_status_style "basic" set -g @catppuccin_window_status_style "basic"
# set -g @catppuccin_status_background "#000000" set -g @catppuccin_status_background "#11111b"
# ''; '';
}; };
programs.tmux = { programs.tmux = {
@ -42,7 +42,8 @@ in {
set-window-option -g pane-base-index 1 set-window-option -g pane-base-index 1
set-option -g renumber-windows on set-option -g renumber-windows on
set -g default-terminal "tmux-256color" set -g default-terminal "$TERM"
set -ag terminal-overrides ",$TERM:Tc"
set -g allow-passthrough on set -g allow-passthrough on
set -g status-right-length 100 set -g status-right-length 100

View file

@ -61,7 +61,7 @@ in {
} }
]; ];
iconUpdateURL = "https://www.openstreetmap.org/favicon.ico"; icon = "https://www.openstreetmap.org/favicon.ico";
definedAliases = ["@openstreetmap" "@osm"]; definedAliases = ["@openstreetmap" "@osm"];
}; };
@ -72,7 +72,7 @@ in {
} }
]; ];
iconUpdateURL = "https://search.zoeys.computer/searx/static/themes/simple/img/favicon.svg"; icon = "https://search.zoeys.computer/searx/static/themes/simple/img/favicon.svg";
definedAliases = ["@searx"]; definedAliases = ["@searx"];
}; };
@ -83,7 +83,7 @@ in {
} }
]; ];
iconUpdateURL = "https://docs.rs/-/static/favicon.ico"; icon = "https://docs.rs/-/static/favicon.ico";
definedAliases = ["@docs"]; definedAliases = ["@docs"];
}; };
@ -94,7 +94,7 @@ in {
} }
]; ];
iconUpdateURL = "https://crates.io/assets/cargo.png"; icon = "https://crates.io/assets/cargo.png";
definedAliases = ["@crates"]; definedAliases = ["@crates"];
}; };
}; };

View file

@ -0,0 +1,24 @@
{
lib,
config,
pkgs,
...
}:
with lib;
with lib.custom; let
cfg = config.apps.web.zen;
in {
options.apps.web.zen = with types; {
enable = mkBoolOpt false "Enable or disable zen";
setDefault = mkBoolOpt false "Set zen as default browser";
};
config = mkIf cfg.enable {
xdg.mimeApps.defaultApplications = mkIf cfg.setDefault {
"text/html" = "zen-beta.desktop";
"x-scheme-handler/http" = "zen-beta.desktop";
"x-scheme-handler/https" = "zen-beta.desktop";
};
};
}

View file

@ -54,10 +54,7 @@ in {
wayland.windowManager.hyprland.settings = with colors; { wayland.windowManager.hyprland.settings = with colors; {
exec-once = [ exec-once = [
# "pw-loopback -C \"alsa_input.pci-0000_0d_00.4.analog-stereo\" -P \"Scarlett Solo (3rd Gen.) Headphones / Line 1-2\"" "zen"
# "dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
# "systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
"librewolf"
"thunderbird" "thunderbird"
"vesktop" "vesktop"
"spotify" "spotify"
@ -65,20 +62,31 @@ in {
"signal-desktop" "signal-desktop"
]; ];
env = [ # env = [
"XDG_SESSION_TYPE,wayland" # "XDG_SESSION_TYPE,wayland"
"XDG_SESSION_DESKTOP,Hyprland" # "XDG_SESSION_DESKTOP,Hyprland"
"XDG_CURRENT_DESKTOP,Hyprland" # "XDG_CURRENT_DESKTOP,Hyprland"
]; # ];
bind = bind =
[ [
''${mod},RETURN,exec,${lib.getExe pkgs.kitty}'' "${mod},RETURN,exec,${lib.getExe pkgs.alacritty}"
"${mod},D,exec,rofi -show drun" "${mod},D,exec,rofi -show drun"
"${mod},Q,killactive" "${mod},Q,killactive"
"${mod},M,exit" "${mod},M,exit"
"${mod},P,pseudo" "${mod},P,pseudo"
"${mod},Z,exec,${pkgs.writeShellScriptBin "zen-launcher" ''
ZEN_RESULT=$(${inputs.hyprland.packages.${pkgs.system}.default}/bin/hyprctl clients -j | ${lib.getExe pkgs.jq} '.[] | select(.class | contains("zen"))')
if [ -z "$ZEN_RESULT" ]; then
${lib.getExe inputs.zen-browser.packages.${pkgs.system}.beta} &
disown
else
ZEN_WORKSPACE=$(echo "$ZEN_RESULT" | ${lib.getExe pkgs.jq} '.workspace.id')
${pkgs.hyprland}/bin/hyprctl dispatch workspace "$ZEN_WORKSPACE"
fi
''}/bin/zen-launcher"
"${mod},J,togglesplit," "${mod},J,togglesplit,"
@ -116,13 +124,13 @@ in {
gaps_out = 8; gaps_out = 8;
# border thiccness # border thiccness
border_size = 2; border_size = 4;
allow_tearing = true; allow_tearing = true;
# active border color # active border color
"col.active_border" = "rgb(${rose})"; "col.active_border" = "rgb(${base})";
"col.inactive_border" = "rgb(${muted})"; "col.inactive_border" = "rgb(${base})";
}; };
input = { input = {
@ -138,7 +146,7 @@ in {
decoration = { decoration = {
# fancy corners # fancy corners
rounding = 4; rounding = 0;
# blur # blur
blur = { blur = {
enabled = true; enabled = true;

View file

@ -0,0 +1,458 @@
{
lib,
config,
pkgs,
inputs,
...
}:
with lib;
with lib.custom; let
cfg = config.wms.niri;
mkService = recursiveUpdate {
Unit.PartOf = ["graphical-session.target"];
Unit.After = ["graphical-session.target"];
Install.WantedBy = ["graphical-session.target"];
};
actions = config.lib.niri.actions;
mkColor = color: {inherit color;};
mkGradient = from: to: {
angle ? 180,
relative-to ? "window",
in' ? null,
}: {
gradient = {inherit from to angle relative-to in';};
};
in {
options.wms.niri = with types; {
enable = mkBoolOpt false "Enable niri";
};
config = mkIf cfg.enable {
programs.niri = {
package = pkgs.niri;
settings = {
# Input device configuration
input = {
keyboard = {
# xkb settings are empty in KDL, using defaults/empty strings
xkb = {
rules = "";
model = "";
layout = "";
variant = "";
options = null; # Or "" if you prefer explicit empty
};
};
touchpad = {
enable = true; # Not explicitly 'off' in KDL
tap = true;
dwt = false; # Commented out in KDL
dwtp = false; # Commented out in KDL
natural-scroll = true;
# accel-speed = 0.2; # Commented out
# accel-profile = "flat"; # Commented out
# scroll-method = "two-finger"; # Commented out
disabled-on-external-mouse = true;
};
mouse = {
enable = true; # Not explicitly 'off' in KDL
natural-scroll = false; # Commented out in KDL
accel-speed = 0.2;
accel-profile = "flat";
# scroll-method = "no-scroll"; # Commented out
};
trackpoint = {
enable = true; # Not explicitly 'off' in KDL
natural-scroll = false; # Commented out
# accel-speed = 0.2; # Commented out
# accel-profile = "flat"; # Commented out
# scroll-method = "on-button-down"; # Commented out
# scroll-button = 273; # Commented out
middle-emulation = false; # Commented out
};
warp-mouse-to-focus = true;
focus-follows-mouse = {
enable = false; # Commented out in KDL
# max-scroll-amount = "0%"; # Only relevant if enabled
};
};
# Output configuration
outputs."DP-1" = {
enable = true; # Not explicitly 'off'
mode = {
width = 2560;
height = 1440;
refresh = 239.972;
};
scale = 1;
transform = {
# "normal"
rotation = 0;
flipped = false;
};
position = {
x = 0;
y = 0;
};
};
# Environment variables
environment = {
DISPLAY = ":0";
};
# Layout settings
layout = {
gaps = 16;
center-focused-column = "never";
preset-column-widths = [
{proportion = 0.33333;}
{proportion = 0.5;}
{proportion = 0.66667;}
# { fixed = 1920; } # Example if needed
];
# preset-window-heights = []; # Empty in KDL
default-column-width = {proportion = 0.5;};
# default-column-width = {}; # Alternative from KDL comments
focus-ring = {
enable = true; # Not explicitly 'off'
width = 4;
active = mkGradient "#89b4fa" "#74c7ec" {angle = 45;};
# active = mkColor "#7fc8ff"; # Alternative solid color from KDL
inactive = mkGradient "#505050" "#808080" {
angle = 45;
relative-to = "workspace-view";
};
# inactive = mkColor "#505050"; # Alternative solid color from KDL
};
border = {
enable = true; # Explicitly 'off' in KDL
width = 0;
active = mkColor "#89b4fa";
inactive = mkColor "#1e1e2e";
# active-gradient = ... # Commented out in KDL
# inactive-gradient = ... # Commented out in KDL
};
struts = {
# left = 64; # Commented out
# right = 64; # Commented out
# top = 64; # Commented out
# bottom = 64; # Commented out
};
};
# Spawn processes at startup
spawn-at-startup = [
{command = ["xwayland-satellite"];}
{command = ["thunderbird"];}
{command = ["zen"];}
{
command = [
"${lib.getExe pkgs.bash} -c '(( $(date +%u) < 6 )) && ${lib.getExe pkgs.slack}'"
];
}
];
# Prefer server-side decorations
prefer-no-csd = true;
# Screenshot path
screenshot-path = "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png";
# screenshot-path = null; # Alternative from KDL comments
# Animation settings
animations = {
enable = true; # Not explicitly 'off'
# slowdown = 3.0; # Commented out
# Individual animation settings can be added here if needed
};
debug = {
wait-for-frame-completion-in-pipewire = [];
};
# Window rules
window-rules = [
# Password manager rule (example from KDL comments)
{
matches = [
{app-id = "^org\\.keepassxc\\.KeePassXC$";}
{app-id = "^org\\.gnome\\.World\\.Secrets$";}
{app-id = "^thunderbird$";}
{app-id = "^signal$";}
{app-id = "^vesktop$";}
];
block-out-from = "screen-capture";
# block-out-from = "screencast"; # Alternative
}
# Rounded corners rule (example from KDL comments)
{
# No matches means apply to all windows
geometry-corner-radius = {
top-left = 12.0;
top-right = 12.0;
bottom-left = 12.0;
bottom-right = 12.0;
};
clip-to-geometry = true;
}
# Window cast target rule
{
matches = [{is-window-cast-target = true;}];
focus-ring = {
active = mkColor "#f38ba8";
inactive = mkColor "#7d0d2d";
};
border = {
# Only inactive is specified in KDL rule
active = mkColor "#f38ba8";
width = 4;
inactive = mkColor "#7d0d2d";
};
shadow = {
# Only color is specified in KDL rule
color = "#7d0d2d70";
};
tab-indicator = {
active = mkColor "#f38ba8";
inactive = mkColor "#7d0d2d";
};
}
# fix steam popups holy fuck they're annoying
{
matches = [
{app-id = "^steam$";}
];
excludes = [{title = "^Steam$";}];
open-floating = true;
open-focused = false;
default-floating-position = {
relative-to = "bottom-right";
x = 16;
y = 16;
};
}
];
# Keybindings
binds = {
"Mod+Shift+Slash" = {action = actions.show-hotkey-overlay;};
"Mod+Return" = {action = actions.spawn "alacritty";};
"Mod+D" = {action = actions.spawn "fuzzel";};
"Super+Alt+L" = {action = actions.spawn "swaylock";};
# "Mod+T" = { action = actions.spawn "bash" "-c" "notify-send hello && exec alacritty"; };
"XF86AudioRaiseVolume" = {
allow-when-locked = true;
action = actions.spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+";
};
"XF86AudioLowerVolume" = {
allow-when-locked = true;
action = actions.spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-";
};
"XF86AudioMute" = {
allow-when-locked = true;
action = actions.spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle";
};
"XF86AudioMicMute" = {
allow-when-locked = true;
action =
actions.spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle";
};
"Mod+Q" = {action = actions.close-window;};
"Mod+Left" = {action = actions.focus-column-left;};
"Mod+Down" = {action = actions.focus-window-down;};
"Mod+Up" = {action = actions.focus-window-up;};
"Mod+Right" = {action = actions.focus-column-right;};
"Mod+H" = {action = actions.focus-column-left;};
"Mod+J" = {action = actions.focus-window-down;};
"Mod+K" = {action = actions.focus-window-up;};
"Mod+L" = {action = actions.focus-column-right;};
"Mod+Ctrl+Left" = {action = actions.move-column-left;};
"Mod+Ctrl+Down" = {action = actions.move-window-down;};
"Mod+Ctrl+Up" = {action = actions.move-window-up;};
"Mod+Ctrl+Right" = {action = actions.move-column-right;};
"Mod+Ctrl+H" = {action = actions.move-column-left;};
"Mod+Ctrl+J" = {action = actions.move-window-down;};
"Mod+Ctrl+K" = {action = actions.move-window-up;};
"Mod+Ctrl+L" = {action = actions.move-column-right;};
# Alternative commands (commented out in KDL)
# "Mod+J" = { action = actions.focus-window-or-workspace-down; };
# "Mod+K" = { action = actions.focus-window-or-workspace-up; };
# "Mod+Ctrl+J" = { action = actions.move-window-down-or-to-workspace-down; };
# "Mod+Ctrl+K" = { action = actions.move-window-up-or-to-workspace-up; };
"Mod+Home" = {action = actions.focus-column-first;};
"Mod+End" = {action = actions.focus-column-last;};
"Mod+Ctrl+Home" = {action = actions.move-column-to-first;};
"Mod+Ctrl+End" = {action = actions.move-column-to-last;};
"Mod+Shift+Left" = {action = actions.focus-monitor-left;};
"Mod+Shift+Down" = {action = actions.focus-monitor-down;};
"Mod+Shift+Up" = {action = actions.focus-monitor-up;};
"Mod+Shift+Right" = {action = actions.focus-monitor-right;};
"Mod+Shift+H" = {action = actions.focus-monitor-left;};
"Mod+Shift+J" = {action = actions.focus-workspace-down;};
"Mod+Shift+K" = {action = actions.focus-workspace-up;};
"Mod+Shift+L" = {action = actions.focus-monitor-right;};
"Mod+Shift+Ctrl+Left" = {action = actions.move-column-to-monitor-left;};
"Mod+Shift+Ctrl+Down" = {action = actions.move-column-to-monitor-down;};
"Mod+Shift+Ctrl+Up" = {action = actions.move-column-to-monitor-up;};
"Mod+Shift+Ctrl+Right" = {action = actions.move-column-to-monitor-right;};
"Mod+Shift+Ctrl+H" = {action = actions.move-column-to-monitor-left;};
"Mod+Shift+Ctrl+J" = {action = actions.move-column-to-monitor-down;};
"Mod+Shift+Ctrl+K" = {action = actions.move-column-to-monitor-up;};
"Mod+Shift+Ctrl+L" = {action = actions.move-column-to-monitor-right;};
# Alternative move commands (commented out in KDL)
# "Mod+Shift+Ctrl+Left" = { action = actions.move-window-to-monitor-left; };
# "Mod+Shift+Ctrl+Left" = { action = actions.move-workspace-to-monitor-left; };
"Mod+Page_Down" = {action = actions.focus-workspace-down;};
"Mod+Page_Up" = {action = actions.focus-workspace-up;};
"Mod+U" = {action = actions.focus-workspace-down;};
"Mod+I" = {action = actions.focus-workspace-up;};
"Mod+Ctrl+Page_Down" = {action = actions.move-column-to-workspace-down;};
"Mod+Ctrl+Page_Up" = {action = actions.move-column-to-workspace-up;};
"Mod+Ctrl+U" = {action = actions.move-column-to-workspace-down;};
"Mod+Ctrl+I" = {action = actions.move-column-to-workspace-up;};
# Alternative move commands (commented out in KDL)
# "Mod+Ctrl+Page_Down" = { action = actions.move-window-to-workspace-down; };
"Mod+Shift+Page_Down" = {action = actions.move-workspace-down;};
"Mod+Shift+Page_Up" = {action = actions.move-workspace-up;};
"Mod+Shift+U" = {action = actions.move-workspace-down;};
"Mod+Shift+I" = {action = actions.move-workspace-up;};
"Mod+WheelScrollDown" = {
cooldown-ms = 150;
action = actions.focus-workspace-down;
};
"Mod+WheelScrollUp" = {
cooldown-ms = 150;
action = actions.focus-workspace-up;
};
"Mod+Ctrl+WheelScrollDown" = {
cooldown-ms = 150;
action = actions.move-column-to-workspace-down;
};
"Mod+Ctrl+WheelScrollUp" = {
cooldown-ms = 150;
action = actions.move-column-to-workspace-up;
};
"Mod+WheelScrollRight" = {action = actions.focus-column-right;};
"Mod+WheelScrollLeft" = {action = actions.focus-column-left;};
"Mod+Ctrl+WheelScrollRight" = {action = actions.move-column-right;};
"Mod+Ctrl+WheelScrollLeft" = {action = actions.move-column-left;};
"Mod+Shift+WheelScrollDown" = {action = actions.focus-column-right;};
"Mod+Shift+WheelScrollUp" = {action = actions.focus-column-left;};
"Mod+Ctrl+Shift+WheelScrollDown" = {action = actions.move-column-right;};
"Mod+Ctrl+Shift+WheelScrollUp" = {action = actions.move-column-left;};
# Touchpad scroll binds (commented out in KDL)
# "Mod+TouchpadScrollDown" = { action = actions.spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.02+"; };
# "Mod+TouchpadScrollUp" = { action = actions.spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.02-"; };
"Mod+1" = {action = actions.focus-workspace 1;};
"Mod+2" = {action = actions.focus-workspace 2;};
"Mod+3" = {action = actions.focus-workspace 3;};
"Mod+4" = {action = actions.focus-workspace 4;};
"Mod+5" = {action = actions.focus-workspace 5;};
"Mod+6" = {action = actions.focus-workspace 6;};
"Mod+7" = {action = actions.focus-workspace 7;};
"Mod+8" = {action = actions.focus-workspace 8;};
"Mod+9" = {action = actions.focus-workspace 9;};
"Mod+Shift+1" = {action = actions.move-column-to-workspace 1;};
"Mod+Shift+2" = {action = actions.move-column-to-workspace 2;};
"Mod+Shift+3" = {action = actions.move-column-to-workspace 3;};
"Mod+Shift+4" = {action = actions.move-column-to-workspace 4;};
"Mod+Shift+5" = {action = actions.move-column-to-workspace 5;};
"Mod+Shift+6" = {action = actions.move-column-to-workspace 6;};
"Mod+Shift+7" = {action = actions.move-column-to-workspace 7;};
"Mod+Shift+8" = {action = actions.move-column-to-workspace 8;};
"Mod+Shift+9" = {action = actions.move-column-to-workspace 9;};
# Alternative move commands (commented out in KDL)
# "Mod+Ctrl+1" = { action = actions.move-window-to-workspace 1; };
# "Mod+Tab" = { action = actions.focus-workspace-previous; }; # Commented out
"Mod+Comma" = {action = actions.consume-window-into-column;};
"Mod+Period" = {action = actions.expel-window-from-column;};
"Mod+BracketLeft" = {action = actions.consume-or-expel-window-left;};
"Mod+BracketRight" = {action = actions.consume-or-expel-window-right;};
"Mod+R" = {action = actions.switch-preset-column-width;};
"Mod+Shift+R" = {action = actions.switch-preset-window-height;};
"Mod+Ctrl+R" = {action = actions.reset-window-height;};
"Mod+F" = {action = actions.maximize-column;};
"Mod+Shift+F" = {action = actions.fullscreen-window;};
"Mod+C" = {action = actions.center-column;};
"Mod+Ctrl+F" = {action = actions.expand-column-to-available-width;};
"Mod+V" = {action = actions.toggle-window-floating;};
"Mod+Minus" = {action = actions.set-column-width "-10%";};
"Mod+Equal" = {action = actions.set-column-width "+10%";};
"Mod+Shift+Minus" = {action = actions.set-window-height "-10%";};
"Mod+Shift+Equal" = {action = actions.set-window-height "+10%";};
# Layout switching (commented out in KDL)
# "Mod+Space" = { action = actions.switch-layout "next"; };
# "Mod+Shift+Space" = { action = actions.switch-layout "prev"; };
"Print" = {action = actions.screenshot {};}; # Empty attrset for default args
# "Ctrl+Print" = {action = actions.screenshot-screen {};}; # Empty attrset for default args
# "Alt+Print" = {action = actions.screenshot-window {};}; # Empty attrset for default args
"Mod+Shift+E" = {action = actions.quit {};}; # Default: no skip-confirmation
"Ctrl+Alt+Delete" = {action = actions.quit {};};
"Mod+Shift+P" = {action = actions.power-off-monitors;};
};
};
};
systemd.user.services = {
swaybg = mkService {
Unit.Description = "Wallpaper Chooser";
Service = {
ExecStart = "${getExe pkgs.swaybg} -i ${wallpaper}";
Restart = "always";
};
};
};
};
}

View file

@ -16,8 +16,6 @@ in {
config = mkIf cfg.enable { config = mkIf cfg.enable {
xdg.configFile."vpn/work.ovpn" = { xdg.configFile."vpn/work.ovpn" = {
text = '' text = ''
conifg /home/zoey/cvpn-client.ovpn
up ${pkgs.update-resolv-conf}/libexec/openvpn/update-resolv-conf up ${pkgs.update-resolv-conf}/libexec/openvpn/update-resolv-conf
down ${pkgs.update-resolv-conf}/libexec/openvpn/update-resolv-conf down ${pkgs.update-resolv-conf}/libexec/openvpn/update-resolv-conf
''; '';

View file

@ -22,100 +22,6 @@ in {
pulse.enable = true; pulse.enable = true;
wireplumber.enable = true; wireplumber.enable = true;
jack.enable = true; jack.enable = true;
# extraConfig.pipewire.adjust-sample-rate = {
# "context.properties" = {
# "default.clock.rate" = 41000;
# "default.clock.allowed-rates" = [44100];
# };
# };
# wireplumber.extraConfig = {
# "custom" = {
# "monitor.alsa.rules" = [
# {
# matches = [
# {
# "node.name" = "alsa_output.usb-Focusrite_Scarlett_Solo_USB_Y76P5M4160A866-00.HiFi__Line1__sink";
# }
# ];
# actions = {
# update-props = {
# "audio.format" = "S32LE";
# "audio.rate" = 192000;
# "api.alsa.period-size" = 1024;
# };
# };
# }
# {
# matches = [
# {
# "node.name" = "alsa_input.pci-0000_0d_00.4.analog-stereo";
# }
# ];
# actions = {
# update-props = {
# "audio.format" = "S32LE";
# "audio.rate" = 192000;
# "api.alsa.period-size" = 1024;
# };
# };
# }
# {
# matches = [
# {
# "node.name" = "~alsa_output.*";
# }
# ];
# actions = {
# update-props = {
# "api.alsa.period-size" = 1024;
# "api.alsa.headroom" = 8192;
# };
# };
# }
# ];
# };
#
# "99-connect-tt" = {
# "wireplumber.components" = [
# {
# name = "auto-connect-tt.lua";
# type = "script/lua";
# provides = "custom.connect-tt";
# }
# ];
#
# "wireplumber.profiles" = {
# main = {
# "custom.connect-tt" = "required";
# };
# };
# };
# };
# wireplumber.extraScripts = {
# "auto-connect-tt.lua" = builtins.readFile ./auto-connect-tt.lua;
# };
# };
#
# # PulseAudio compatibility layer configuration for 44.1kHz
# services.pipewire.extraConfig.pipewire-pulse."92-steam-config" = {
# context.modules = [
# {
# name = "libpipewire-module-protocol-pulse";
# args = {
# pulse.min.req = "32/44100";
# pulse.default.req = "32/44100";
# pulse.min.quantum = "32/44100";
# pulse.max.quantum = "8192/44100";
# };
# }
# ];
# };
#
# environment.sessionVariables = {
# PIPEWIRE_LATENCY = "1024/44100";
}; };
}; };
} }

View file

@ -141,6 +141,8 @@ in {
# Stop display manager # Stop display manager
systemctl stop display-manager.service systemctl stop display-manager.service
killall gdm-wayland-session killall gdm-wayland-session
killall niri
killall niri-session
# Unbind VTconsoles # Unbind VTconsoles
echo 0 > /sys/class/vtconsole/vtcon0/bind echo 0 > /sys/class/vtconsole/vtcon0/bind

View file

@ -37,7 +37,7 @@ in {
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus # https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
# Only available from driver 515.43.04+ # Only available from driver 515.43.04+
# Currently alpha-quality/buggy, so false is currently the recommended setting. # Currently alpha-quality/buggy, so false is currently the recommended setting.
open = true; open = false;
# Enable the Nvidia settings menu, # Enable the Nvidia settings menu,
# accessible via `nvidia-settings`. # accessible via `nvidia-settings`.

View file

@ -36,14 +36,19 @@ in {
services.xserver.displayManager.gdm.enable = true; services.xserver.displayManager.gdm.enable = true;
programs.uwsm = { programs.uwsm = {
enable = true; enable = false;
# waylandCompositors = { waylandCompositors = {
# "mwc" = { # "mwc" = {
# prettyName = "MWC"; # prettyName = "MWC";
# binPath = "/run/current-system/sw/bin/mwc"; # binPath = "/run/current-system/sw/bin/mwc";
# comment = "previously owl"; # comment = "previously owl";
# }; # };
# }; # niri = {
# prettyName = "niri";
# binPath = "/run/current-system/sw/bin/niri";
# comment = "niri";
# };
};
}; };
# environment.systemPackages = [ # environment.systemPackages = [
@ -52,13 +57,14 @@ in {
programs.hyprland = { programs.hyprland = {
withUWSM = true; withUWSM = true;
enable = true; enable = false;
xwayland.enable = true; xwayland.enable = true;
package = inputs.hyprland.packages.${pkgs.system}.hyprland; package = inputs.hyprland.packages.${pkgs.system}.hyprland;
portalPackage = inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland; portalPackage = inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland;
}; };
programs.niri.enable = false; programs.niri.enable = true;
programs.niri.package = pkgs.niri-unstable;
environment = { environment = {
variables = { variables = {
@ -78,26 +84,18 @@ in {
WLR_BACKEND = "wayland"; WLR_BACKEND = "wayland";
WLR_RENDERER = "wayland"; WLR_RENDERER = "wayland";
XDG_SESSION_TYPE = "wayland"; XDG_SESSION_TYPE = "wayland";
SDL_VIDEODRIVER = "wayland"; SDL_VIDEODRIVER = "wayland,x11";
XDG_CACHE_HOME = "/home/zoey/.cache"; XDG_CACHE_HOME = "/home/zoey/.cache";
CLUTTER_BACKEND = "wayland"; CLUTTER_BACKEND = "wayland";
DEFAULT_BROWSER = "${pkgs.firefox}/bin/firefox"; DEFAULT_BROWSER = "${pkgs.firefox}/bin/firefox";
}; };
loginShellInit = ''
dbus-update-activation-environment --systemd DISPLAY
eval $(gnome-keyring-daemon --start --components=ssh,secrets)
eval $(ssh-agent)
'';
}; };
hardware.pulseaudio.support32Bit = true; hardware.pulseaudio.support32Bit = true;
xdg.portal = { xdg.portal = {
enable = true; enable = true;
wlr.enable = false;
config.common.default = "*";
extraPortals = [ extraPortals = [
pkgs.xdg-desktop-portal-gtk
# pkgs.xwaylandvideobridge # pkgs.xwaylandvideobridge
]; ];
}; };

View file

@ -27,6 +27,8 @@ in {
}; };
zach-pw.file = ./sec/zach-pw.age; zach-pw.file = ./sec/zach-pw.age;
emily-pw.file = ./sec/emily-piccat.age; emily-pw.file = ./sec/emily-piccat.age;
gitlab-email-pw-hashed.file = ./sec/gitlab-email-pw-hashed.age;
}; };
mailserver = { mailserver = {
@ -51,6 +53,10 @@ in {
hashedPasswordFile = sec.emily-pw.path; hashedPasswordFile = sec.emily-pw.path;
aliases = ["emily@pictureofcat.com"]; aliases = ["emily@pictureofcat.com"];
}; };
"gitlab@zoeys.cloud" = {
hashedPasswordFile = sec.gitlab-email-pw-hashed.path;
aliases = ["noreply@zoeys.cloud"];
};
}; };
certificateScheme = "acme-nginx"; certificateScheme = "acme-nginx";

View file

@ -48,6 +48,11 @@ in {
gitlab_runner = { gitlab_runner = {
file = ./sec/gitlab_runner.age; file = ./sec/gitlab_runner.age;
}; };
gitlab_email_pw = {
file = ./sec/gitlab-email-pw.age;
owner = user;
group = group;
};
}; };
boot.kernel.sysctl."net.ipv4.ip_forward" = true; # 1 boot.kernel.sysctl."net.ipv4.ip_forward" = true; # 1
@ -97,6 +102,15 @@ in {
port = 443; port = 443;
https = true; https = true;
host = cfg.domain; host = cfg.domain;
smtp = {
enable = true;
address = "mail.zoeys.cloud";
username = "gitlab@zoeys.cloud";
passwordFile = sec.gitlab_email_pw.path;
port = 465;
};
secrets = { secrets = {
secretFile = sec.gitlab_sec.path; secretFile = sec.gitlab_sec.path;
otpFile = sec.gitlab_otp.path; otpFile = sec.gitlab_otp.path;

View file

@ -0,0 +1,8 @@
age-encryption.org/v1
-> ssh-ed25519 CtmR6w wfPgH83/+qjITFELir/Q/zjH+wjlgrU+HNC5eOsFhg8
orHZwCQOmlK9TFHOEOb/K2FszXoMbQfwHdYAbKIOnR0
-> ssh-ed25519 RMNffg E7mah8eqt9cDw2SKQTah25M4j/iIWhPHtrtmJpSPDgo
eeoo3cfoiVh8xF9TVy9cKUlAw6NBhMg1iFs8JlpquPA
--- NB2RNduULAMPoBmfRByWGL1hdK5/b5kDe4vnzdW1Hb0
±¶Hú"y£“«=Ùúñ,”î«ÐµÎè5|V0âý´1´²qA³sNIÜÉ—R£qè¤NY!§Œl×®bÚ\LG·®e{En'™£ó<C2A3>Í”ØFh<B+sŽ¥Ìޝš£v»ñc©Œèeˆ¶Ø4Û+ K÷…].<2E>¦9éü<1D>k\ý(ž’ÿÈ?¯çPÎk~Yy¤
¥ˆ•!€w®ùÉ

View file

@ -42,13 +42,31 @@ in {
# noCvSs = true # noCvSs = true
# exportGlyphNames = true # exportGlyphNames = true
# #
# [buildPlans.IosevkaCustom.variants] # [buildPlans.IosevkaCustom.variants]
# inherits = "ss08" # inherits = "ss05"
#
# [buildPlans.IosevkaCustom.variants.design]
# l = "hooky"
# #
# [buildPlans.IosevkaCustom.widths.Normal] # [buildPlans.IosevkaCustom.widths.Normal]
# shape = 500 # shape = 500
# menu = 5 # menu = 5
# css = "normal" # css = "normal"
#
# [buildPlans.IosevkaCustom.widths.Extended]
# shape = 600
# menu = 7
# css = "expanded"
#
# [buildPlans.IosevkaCustom.widths.SemiCondensed]
# shape = 456
# menu = 4
# css = "semi-condensed"
#
# [buildPlans.IosevkaCustom.widths.SemiExtended]
# shape = 548
# menu = 6
# css = "semi-expanded"
# ''; # '';
# }) # })
noto-fonts noto-fonts
@ -58,6 +76,8 @@ in {
nerd-fonts.iosevka nerd-fonts.iosevka
nerd-fonts.zed-mono nerd-fonts.zed-mono
adwaita-fonts adwaita-fonts
cozette
scientifica
# (nerdfonts.override {fonts = ["ZedMono" "Iosevka"];}) # (nerdfonts.override {fonts = ["ZedMono" "Iosevka"];})
]; ];

View file

@ -1,430 +0,0 @@
{
buildNpmPackage,
buildPackages,
fetchFromGitHub,
fetchurl,
lib,
overrideCC,
stdenv,
# build time
autoconf,
cargo,
dump_syms,
git,
gnum4,
nodejs,
patchelf,
pkg-config,
pkgsBuildBuild,
pkgsCross,
python3,
runCommand,
rsync,
rustc,
rust-cbindgen,
rustPlatform,
unzip,
vips,
wrapGAppsHook3,
writeShellScript,
# runtime
alsa-lib,
atk,
cairo,
cups,
dbus,
dbus-glib,
ffmpeg,
fontconfig,
freetype,
gdk-pixbuf,
gtk3,
glib,
icu73,
jemalloc,
libGL,
libGLU,
libdrm,
libevent,
libffi,
libglvnd,
libjack2,
libjpeg,
libkrb5,
libnotify,
libpng,
libpulseaudio,
libstartup_notification,
libva,
libvpx,
libwebp,
libxkbcommon,
libxml2,
makeWrapper,
mesa,
nasm,
nspr,
nss_latest,
pango,
pciutils,
pipewire,
sndio,
udev,
xcb-util-cursor,
xorg,
zlib,
# Generic changes the compatibility mode of the final binaries.
#
# Enabling generic will make the browser compatible with more devices at the
# cost of disabling hardware-specific optimizations. It is highly recommended
# to leave `generic` disabled.
generic ? false,
debugBuild ? false,
# On 32bit platforms, we disable adding "-g" for easier linking.
enableDebugSymbols ? !stdenv.hostPlatform.is32bit,
alsaSupport ? stdenv.hostPlatform.isLinux,
ffmpegSupport ? true,
gssSupport ? true,
jackSupport ? stdenv.hostPlatform.isLinux,
jemallocSupport ? !stdenv.hostPlatform.isMusl,
pipewireSupport ? waylandSupport && webrtcSupport,
pulseaudioSupport ? stdenv.hostPlatform.isLinux,
sndioSupport ? stdenv.hostPlatform.isLinux,
waylandSupport ? true,
privacySupport ? false,
# WARNING: NEVER set any of the options below to `true` by default.
# Set to `!privacySupport` or `false`.
crashreporterSupport ? !privacySupport && !stdenv.hostPlatform.isRiscV && !stdenv.hostPlatform.isMusl,
geolocationSupport ? !privacySupport,
webrtcSupport ? !privacySupport,
}: let
surfer = buildNpmPackage {
pname = "surfer";
version = "1.5.0";
src = fetchFromGitHub {
owner = "zen-browser";
repo = "surfer";
rev = "50af7094ede6e9f0910f010c531f8447876a6464";
hash = "sha256-wmAWg6hoICNHfoXJifYFHmyFQS6H22u3GSuRW4alexw=";
};
patches = [./surfer-dont-check-update.patch];
npmDepsHash = "sha256-p0RVqn0Yfe0jxBcBa/hYj5g9XSVMFhnnZT+au+bMs18=";
makeCacheWritable = true;
SHARP_IGNORE_GLOBAL_LIBVIPS = false;
nativeBuildInputs = [pkg-config];
buildInputs = [vips];
};
llvmPackages0 = rustc.llvmPackages;
llvmPackagesBuildBuild0 = pkgsBuildBuild.rustc.llvmPackages;
llvmPackages = llvmPackages0.override {
bootBintoolsNoLibc = null;
bootBintools = null;
};
llvmPackagesBuildBuild = llvmPackagesBuildBuild0.override {
bootBintoolsNoLibc = null;
bootBintools = null;
};
buildStdenv = overrideCC llvmPackages.stdenv (
llvmPackages.stdenv.cc.override {bintools = buildPackages.rustc.llvmPackages.bintools;}
);
inherit (pkgsCross) wasi32;
wasiSysRoot = runCommand "wasi-sysroot" {} ''
mkdir -p "$out"/lib/wasm32-wasi
for lib in ${wasi32.llvmPackages.libcxx}/lib/*; do
ln -s "$lib" "$out"/lib/wasm32-wasi
done
'';
firefox-l10n = fetchFromGitHub {
owner = "mozilla-l10n";
repo = "firefox-l10n";
rev = "9d639cd79d6b73081fadb3474dd7d73b89732e7b";
hash = "sha256-+2JCaPp+c2BRM60xFCeY0pixIyo2a3rpTPaSt1kTfDw=";
};
in
buildStdenv.mkDerivation (finalAttrs: {
pname = "zen-browser-unwrapped";
version = "1.0.2-b.0";
src = fetchFromGitHub {
owner = "zen-browser";
repo = "desktop";
rev = "df4ea8794f957c8e409adef9b2c3325be710c626";
hash = "sha256-vPe/hTJozJdCbq5GK87MGBh+Nybs8et+6ukm0Fdz3uA=";
fetchSubmodules = true;
};
# DO NOT UPDATE THE FIREFOX VERSION MANUALLY!
#
# Both `firefoxVersion` and `firefoxSrc` are managed by the `update.sh` script.
# The Firefox version is specified by `zen-browser` in the `surfer.json` file.
#
# We need to manually set the version here to avoid IFD.
firefoxVersion = "133.0.3";
firefoxSrc = fetchurl {
url = "mirror://mozilla/firefox/releases/${finalAttrs.firefoxVersion}/source/firefox-${finalAttrs.firefoxVersion}.source.tar.xz";
hash = "sha256-8TSlQgIAuwOrRg+dKGdQfA7bIiznP69AZM2+oCoKyhs=";
};
SURFER_COMPAT = generic;
nativeBuildInputs =
[
autoconf
cargo
git
gnum4
llvmPackagesBuildBuild.bintools
makeWrapper
nasm
nodejs
pkg-config
python3
rsync
rust-cbindgen
rustPlatform.bindgenHook
rustc
surfer
unzip
wrapGAppsHook3
xorg.xvfb
]
++ lib.optionals crashreporterSupport [
dump_syms
patchelf
];
buildInputs =
[
atk
cairo
cups
dbus
dbus-glib
ffmpeg
fontconfig
freetype
gdk-pixbuf
gtk3
glib
icu73
libGL
libGLU
libevent
libffi
libglvnd
libjpeg
libnotify
libpng
libstartup_notification
libva
libvpx
libwebp
libxml2
mesa
nspr
nss_latest
pango
pciutils
pipewire
udev
xcb-util-cursor
xorg.libX11
xorg.libXcursor
xorg.libXdamage
xorg.libXext
xorg.libXft
xorg.libXi
xorg.libXrender
xorg.libXt
xorg.libXtst
xorg.pixman
xorg.xorgproto
xorg.libxcb
xorg.libXrandr
xorg.libXcomposite
xorg.libXfixes
xorg.libXScrnSaver
zlib
]
++ lib.optional alsaSupport alsa-lib
++ lib.optional jackSupport libjack2
++ lib.optional pulseaudioSupport libpulseaudio
++ lib.optional sndioSupport sndio
++ lib.optional gssSupport libkrb5
++ lib.optional jemallocSupport jemalloc
++ lib.optionals waylandSupport [
libdrm
libxkbcommon
];
configureFlags =
[
"--disable-bootstrap"
"--disable-updater"
"--enable-default-toolkit=cairo-gtk3${lib.optionalString waylandSupport "-wayland"}"
"--enable-system-pixman"
"--with-distribution-id=org.nixos"
"--with-libclang-path=${llvmPackagesBuildBuild.libclang.lib}/lib"
"--with-system-ffi"
"--with-system-icu"
"--with-system-jpeg"
"--with-system-libevent"
"--with-system-libvpx"
"--with-system-nspr"
"--with-system-nss"
"--with-system-png" # needs APNG support
"--with-system-webp"
"--with-system-zlib"
"--with-wasi-sysroot=${wasiSysRoot}"
"--host=${buildStdenv.buildPlatform.config}"
"--target=${buildStdenv.hostPlatform.config}"
(lib.enableFeature alsaSupport "alsa")
(lib.enableFeature ffmpegSupport "ffmpeg")
(lib.enableFeature geolocationSupport "necko-wifi")
(lib.enableFeature gssSupport "negotiateauth")
(lib.enableFeature jackSupport "jack")
(lib.enableFeature jemallocSupport "jemalloc")
(lib.enableFeature pulseaudioSupport "pulseaudio")
(lib.enableFeature sndioSupport "sndio")
(lib.enableFeature webrtcSupport "webrtc")
# --enable-release adds -ffunction-sections & LTO that require a big amount
# of RAM, and the 32-bit memory space cannot handle that linking
(lib.enableFeature (!debugBuild && !stdenv.hostPlatform.is32bit) "release")
(lib.enableFeature enableDebugSymbols "debug-symbols")
]
++ lib.optional stdenv.hostPlatform.isAarch "--disable-wasm-avx";
configureScript = writeShellScript "configureMozconfig" (
(lib.optionalString stdenv.hostPlatform.isAarch ''
echo "ac_add_options --with-libclang-path=/usr/lib64" >> ./configs/linux/mozconfig
# linux mozconfig
sed -i 's/x86-\(64\|64-v3\)/native/g' ./configs/linux/mozconfig
sed -i 's/x86_64-pc-linux/aarch64-linux-gnu/g' ./configs/linux/mozconfig
# eme/widevine must be disabled on arm64 (thx google)
sed -i '/--enable-eme/s/^/# /' ./configs/common/mozconfig
sed -i 's/-msse3//g' ./configs/linux/mozconfig
sed -i 's/-mssse3//g' ./configs/linux/mozconfig
sed -i 's/-msse4.1//g' ./configs/linux/mozconfig
sed -i 's/-msse4.2//g' ./configs/linux/mozconfig
sed -i 's/-mavx2//g' ./configs/linux/mozconfig
sed -i 's/-mavx//g' ./configs/linux/mozconfig
sed -i 's/-mfma//g' ./configs/linux/mozconfig
sed -i 's/-maes//g' ./configs/linux/mozconfig
sed -i 's/-mpopcnt//g' ./configs/linux/mozconfig
sed -i 's/-mpclmul//g' ./configs/linux/mozconfig
sed -i 's/+avx2//g' ./configs/linux/mozconfig
sed -i 's/+sse4.1//g' ./configs/linux/mozconfig
'')
+ ''
for flag in $@; do
echo "ac_add_options $flag" >> mozconfig
done
''
);
# To the person reading this wondering what is going on here, this is what
# happens when a build process relies on Git. Normally you would use `fetchgit`
# with `leaveDotGit = true`, however that leads to reproducibility issues, so
# instead we create our own Git repo with a single commit.
#
# `surfer` (the build tool made for zen-browser) uses git to read the latest
# HEAD commit, `git apply`, and likely a few other operations.
preConfigure = ''
export HOME="$TMPDIR"
git config --global user.email "nixbld@localhost"
git config --global user.name "nixbld"
git init
git add --all
git commit -m 'nixpkgs'
export LLVM_PROFDATA=llvm-profdata
export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system
export WASM_CC=${wasi32.stdenv.cc}/bin/${wasi32.stdenv.cc.targetPrefix}cc
export WASM_CXX=${wasi32.stdenv.cc}/bin/${wasi32.stdenv.cc.targetPrefix}c++
export ZEN_RELEASE=1
surfer ci --brand beta --display-version ${finalAttrs.version}
install -D ${finalAttrs.firefoxSrc} .surfer/engine/firefox-${finalAttrs.firefoxVersion}.source.tar.xz
surfer download
surfer import
patchShebangs engine/mach engine/build engine/tools
'';
preBuild = ''
cp -r ${firefox-l10n} l10n/firefox-l10n
for lang in $(cat ./l10n/supported-languages); do
rsync -av --progress l10n/firefox-l10n/"$lang"/ l10n/"$lang" --exclude .git
done
sh scripts/copy-language-pack.sh en-US
for lang in $(cat ./l10n/supported-languages); do
sh scripts/copy-language-pack.sh "$lang"
done
Xvfb :2 -screen 0 1024x768x24 &
export DISPLAY=:2
'';
buildPhase = ''
runHook preBuild
surfer build
runHook postBuild
'';
preInstall = ''
cd engine/obj-*
'';
meta = {
mainProgram = "zen";
description = "Firefox based browser with a focus on privacy and customization";
homepage = "https://www.zen-browser.app/";
license = lib.licenses.mpl20;
maintainers = with lib.maintainers; [
matthewpi
titaniumtown
];
platforms = [
"aarch64-linux"
"x86_64-linux"
];
};
enableParallelBuilding = true;
requiredSystemFeatures = ["big-parallel"];
passthru = {
updateScript = ./update.sh;
# These values are used by `wrapFirefox`.
# ref; `pkgs/applications/networking/browsers/firefox/wrapper.nix'
binaryName = finalAttrs.meta.mainProgram;
inherit alsaSupport;
inherit jackSupport;
inherit pipewireSupport;
inherit sndioSupport;
inherit nspr;
inherit ffmpegSupport;
inherit gssSupport;
inherit gtk3;
inherit wasiSysRoot;
};
})

View file

@ -1,19 +0,0 @@
diff --git a/src/index.ts b/src/index.ts
index 3d41389..f6bfb95 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -19,7 +19,6 @@ import { resolve } from 'node:path'
import { errorHandler, config as configInited, versionFormatter } from './utils'
import { commands } from './cmds'
import { BIN_NAME, ENGINE_DIR } from './constants'
-import { updateCheck } from './middleware/update-check'
import { registerCommand } from './middleware/register-command'
import { log } from './log'
@@ -83,7 +82,6 @@ async function middleware(command: commander.Command) {
// If the program is verbose, store that fact within the logger
log.isDebug = program.opts().verbose
- await updateCheck()
registerCommand(command.name())
}

View file

@ -1,66 +0,0 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq common-updater-scripts nix-prefetch-git nix-prefetch-github
# Define the package file
PACKAGE_FILE="default.nix"
# Function to get the latest version of zen-browser/desktop
get_latest_version() {
curl --silent "https://api.github.com/repos/zen-browser/desktop/releases" |
jq -r '[.[] | select(.prerelease==false)][0].tag_name'
}
# Get the latest version
latest_version=$(get_latest_version)
if [ -z "$latest_version" ] || [ "$latest_version" == "null" ]; then
echo "Failed to get the latest version."
exit 1
fi
echo "Latest version: $latest_version"
# Update the 'version' variable in the Nix expression
sed -i "/pname = \"zen-browser-unwrapped\";/,/version = \".*\";/s/version = \".*\";/version = \"$latest_version\";/" "$PACKAGE_FILE"
# Fetch the new 'src' hash
echo "Fetching new source hash..."
src_info=$(nix-prefetch-github zen-browser desktop --rev "$latest_version" --fetch-submodules)
src_hash=$(echo "$src_info" | jq -r .sha256)
echo "New source hash: $src_hash"
# Update 'rev' and 'hash' in the 'src' fetchFromGitHub
sed -i "/src = fetchFromGitHub {/,/};/{
/owner = \"zen-browser\";/,/};/{
s/rev = \".*\";/rev = \"$latest_version\";/
s/hash = \".*\";/hash = \"$src_hash\";/
}
}" "$PACKAGE_FILE"
# Clone the repository to extract 'firefoxVersion'
tmpdir=$(mktemp -d)
trap 'rm -rf "$tmpdir"' EXIT
git clone --depth 1 --branch "$latest_version" https://github.com/zen-browser/desktop.git "$tmpdir"
# Extract 'firefoxVersion' from 'surfer.json'
firefoxVersion=$(jq --raw-output '.version.version' "$tmpdir/surfer.json")
echo "Firefox version: $firefoxVersion"
# Update the 'firefoxVersion' in the Nix expression
sed -i "s/firefoxVersion = \".*\";/firefoxVersion = \"$firefoxVersion\";/" "$PACKAGE_FILE"
# Fetch the new 'firefoxSrc' hash
firefox_url="mirror://mozilla/firefox/releases/$firefoxVersion/source/firefox-$firefoxVersion.source.tar.xz"
echo "Fetching Firefox source hash..."
firefox_hash=$(nix-prefetch-url --unpack "$firefox_url")
echo "Firefox source hash: $firefox_hash"
# Update the 'firefoxSrc' hash in the Nix expression
sed -i "/firefoxSrc = fetchurl {/,/};/{
s/hash = \".*\";/hash = \"$firefox_hash\";/
}" "$PACKAGE_FILE"
echo "Update complete!"

View file

@ -1,8 +0,0 @@
{
wrapFirefox,
custom,
}:
wrapFirefox custom.zen-browser-unwrapped {
pname = "zen-browser";
libName = "zen";
}

View file

@ -162,7 +162,6 @@
pkgs.transmission_4 pkgs.transmission_4
pkgs.protonup-qt pkgs.protonup-qt
pkgs.restic pkgs.restic
inputs.opnix.packages.${system}.default
pkgs.qt5.qtwayland pkgs.qt5.qtwayland
(inputs.umu.packages.${system}.umu.override { (inputs.umu.packages.${system}.umu.override {
version = inputs.umu.shortRev; version = inputs.umu.shortRev;

View file

@ -64,16 +64,6 @@
}; };
}; };
services.mc-honeypot = {
enable = true;
openFirewall = true;
settings = {
"webhook-url" = "https://discord.com/api/webhooks/1348850542398410834/1fqV4QLh4uTTuwZ0DjOczZa6gkDjsYECSlmWBwTXHWcYTHhwsE1ZLTP17z5v-vh6nn7H";
};
};
networking.firewall.allowedTCPPorts = [80 443]; networking.firewall.allowedTCPPorts = [80 443];
system.stateVersion = "24.05"; system.stateVersion = "24.05";