From c105e03d4d84f69da578db71bae49255d1075215 Mon Sep 17 00:00:00 2001 From: jacekpoz Date: Tue, 3 Oct 2023 19:22:24 +0200 Subject: [PATCH] feat: huge --- flake.lock | 497 ++++++++++++------ flake.nix | 5 + hosts/chmura/conduit.nix | 2 + hosts/chmura/configuration.nix | 11 +- hosts/chmura/default.nix | 8 +- hosts/chmura/discord-autodelete.nix | 55 ++ hosts/chmura/forgejo.nix | 35 ++ hosts/chmura/freshrss.nix | 7 +- hosts/chmura/grafana.nix | 3 - hosts/chmura/maddy.nix | 7 + hosts/chmura/ntfy-sh.nix | 16 + hosts/chmura/restic.nix | 10 + hosts/default.nix | 15 + hosts/hape/configuration.nix | 236 +++++++++ hosts/hape/default.nix | 9 + hosts/hape/greetd.nix | 33 ++ .../hardware-configuration.nix} | 0 hosts/hape/home-manager.nix | 162 ++++++ hosts/hape/pipewire.nix | 13 + hosts/niks/configuration.nix | 17 +- hosts/niks/default.nix | 6 +- hosts/niks/fcitx5.nix | 13 + hosts/niks/home-manager.nix | 8 + hosts/niks/pipewire.nix | 64 +-- hosts/niks/restic.nix | 9 + hosts/niks/ssh/default.nix | 6 +- hosts/niks/waydroid.nix | 2 +- modules/gui/firefox.nix | 6 +- modules/gui/foot.nix | 2 +- modules/gui/hypr.nix | 60 ++- modules/gui/swaylock.nix | 2 +- modules/gui/waybar.nix | 1 + modules/services/mpd.nix | 47 +- modules/tui/neovim/default.nix | 4 + secrets/discord-autodelete-config.age | Bin 0 -> 965 bytes secrets/secrets.nix | 1 + 36 files changed, 1101 insertions(+), 271 deletions(-) create mode 100644 hosts/chmura/discord-autodelete.nix create mode 100644 hosts/chmura/forgejo.nix create mode 100644 hosts/chmura/maddy.nix create mode 100644 hosts/chmura/ntfy-sh.nix create mode 100644 hosts/chmura/restic.nix create mode 100644 hosts/hape/configuration.nix create mode 100644 hosts/hape/default.nix create mode 100644 hosts/hape/greetd.nix rename hosts/{niks/hardware-configuration-hp.nix => hape/hardware-configuration.nix} (100%) create mode 100644 hosts/hape/home-manager.nix create mode 100644 hosts/hape/pipewire.nix create mode 100644 hosts/niks/fcitx5.nix create mode 100644 hosts/niks/restic.nix create mode 100644 secrets/discord-autodelete-config.age diff --git a/flake.lock b/flake.lock index bf7dc6eb..ba2ce02e 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1690228878, - "narHash": "sha256-9Xe7JV0krp4RJC9W9W9WutZVlw6BlHTFMiUP/k48LQY=", + "lastModified": 1695384796, + "narHash": "sha256-TYlE4B0ktPtlJJF9IFxTWrEeq+XKG8Ny0gc2FGEAdj0=", "owner": "ryantm", "repo": "agenix", - "rev": "d8c973fd228949736dedf61b7f8cc1ece3236792", + "rev": "1f677b3e161d3bdbfd08a939e8f25de2568e0ef4", "type": "github" }, "original": { @@ -573,11 +573,11 @@ "rust-analyzer-src": "rust-analyzer-src_2" }, "locked": { - "lastModified": 1694672497, - "narHash": "sha256-vOW9rupO3zxmRMXNx4K2TXNP8BN3/7rcE4NVQjzw0UI=", + "lastModified": 1696314121, + "narHash": "sha256-Dd0xm92D6cQ0c46uTMzBy7Zq9tyHScArpJtkzT87L4E=", "owner": "nix-community", "repo": "fenix", - "rev": "6cfe8bcc4995a58e04159c301a1d90f3e8582aa1", + "rev": "c543df32930d075f807fc0b00c3101bc6a3b163d", "type": "github" }, "original": { @@ -607,17 +607,18 @@ "inputs": { "cachix": "cachix", "flake-compat": "flake-compat_2", + "lib-aggregate": "lib-aggregate", "mozilla": "mozilla", "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1694693305, - "narHash": "sha256-Xy+1Ug4sQfY9nZlRZHhyxRt+CFzAjORJGUYAfWQUZc4=", + "lastModified": 1696336508, + "narHash": "sha256-WlXSBrwgllsJd2YtOGq1FTu/zqo3OiPVAMIxle4fVs0=", "owner": "colemickens", "repo": "flake-firefox-nightly", - "rev": "ff7565f5b580ccb37b6e0b972d00787e273e1f2b", + "rev": "7f5689ac0b2c3854c59aaa53cbdc0388423b6875", "type": "github" }, "original": { @@ -692,11 +693,11 @@ "flake-compat_5": { "flake": false, "locked": { - "lastModified": 1673956053, - "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "lastModified": 1696267196, + "narHash": "sha256-AAQ/2sD+0D18bb8hKuEEVpHUYD1GmO2Uh/taFamn6XQ=", "owner": "edolstra", "repo": "flake-compat", - "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "rev": "4f910c9827911b1ec2bf26b5a062cd09f8d89f85", "type": "github" }, "original": { @@ -741,9 +742,31 @@ "type": "github" } }, + "flake-parts_10": { + "inputs": { + "nixpkgs-lib": [ + "nixpkgs-wayland", + "nix-eval-jobs", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1696203690, + "narHash": "sha256-774XMEL7VHSTLDYVkqrbl5GCdmkVKsjMs+KLM4N4t7k=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "21928e6758af0a258002647d14363d5ffc85545b", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, "flake-parts_2": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib" + "nixpkgs-lib": "nixpkgs-lib_2" }, "locked": { "lastModified": 1688466019, @@ -767,11 +790,11 @@ ] }, "locked": { - "lastModified": 1693611461, - "narHash": "sha256-aPODl8vAgGQ0ZYFIRisxYG5MOGSkIczvu2Cd8Gb9+1Y=", + "lastModified": 1696203690, + "narHash": "sha256-774XMEL7VHSTLDYVkqrbl5GCdmkVKsjMs+KLM4N4t7k=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "7f53fdb7bdc5bb237da7fefef12d099e4fd611ca", + "rev": "21928e6758af0a258002647d14363d5ffc85545b", "type": "github" }, "original": { @@ -782,7 +805,7 @@ }, "flake-parts_4": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib_2" + "nixpkgs-lib": "nixpkgs-lib_3" }, "locked": { "lastModified": 1688466019, @@ -822,7 +845,7 @@ }, "flake-parts_6": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib_3" + "nixpkgs-lib": "nixpkgs-lib_4" }, "locked": { "lastModified": 1693611461, @@ -840,10 +863,7 @@ }, "flake-parts_7": { "inputs": { - "nixpkgs-lib": [ - "nixpak", - "nixpkgs" - ] + "nixpkgs-lib": "nixpkgs-lib_5" }, "locked": { "lastModified": 1693611461, @@ -863,17 +883,15 @@ "inputs": { "nixpkgs-lib": [ "nixpak", - "hercules-ci-effects", - "hercules-ci-agent", "nixpkgs" ] }, "locked": { - "lastModified": 1688466019, - "narHash": "sha256-VeM2akYrBYMsb4W/MmBo1zmaMfgbL4cH3Pu8PGyIwJ0=", + "lastModified": 1693611461, + "narHash": "sha256-aPODl8vAgGQ0ZYFIRisxYG5MOGSkIczvu2Cd8Gb9+1Y=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "8e8d955c22df93dbe24f19ea04f47a74adbdc5ec", + "rev": "7f53fdb7bdc5bb237da7fefef12d099e4fd611ca", "type": "github" }, "original": { @@ -885,17 +903,18 @@ "flake-parts_9": { "inputs": { "nixpkgs-lib": [ - "nixpkgs-wayland", - "nix-eval-jobs", + "nixpak", + "hercules-ci-effects", + "hercules-ci-agent", "nixpkgs" ] }, "locked": { - "lastModified": 1693611461, - "narHash": "sha256-aPODl8vAgGQ0ZYFIRisxYG5MOGSkIczvu2Cd8Gb9+1Y=", + "lastModified": 1688466019, + "narHash": "sha256-VeM2akYrBYMsb4W/MmBo1zmaMfgbL4cH3Pu8PGyIwJ0=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "7f53fdb7bdc5bb237da7fefef12d099e4fd611ca", + "rev": "8e8d955c22df93dbe24f19ea04f47a74adbdc5ec", "type": "github" }, "original": { @@ -927,11 +946,11 @@ "systems": "systems_2" }, "locked": { - "lastModified": 1689068808, - "narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=", + "lastModified": 1694529238, + "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", "owner": "numtide", "repo": "flake-utils", - "rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4", + "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", "type": "github" }, "original": { @@ -942,7 +961,7 @@ }, "flake-utils_3": { "inputs": { - "systems": "systems_4" + "systems": "systems_3" }, "locked": { "lastModified": 1689068808, @@ -959,6 +978,24 @@ } }, "flake-utils_4": { + "inputs": { + "systems": "systems_5" + }, + "locked": { + "lastModified": 1689068808, + "narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_5": { "locked": { "lastModified": 1659877975, "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", @@ -973,9 +1010,9 @@ "type": "github" } }, - "flake-utils_5": { + "flake-utils_6": { "inputs": { - "systems": "systems_5" + "systems": "systems_7" }, "locked": { "lastModified": 1685518550, @@ -991,9 +1028,9 @@ "type": "github" } }, - "flake-utils_6": { + "flake-utils_7": { "inputs": { - "systems": "systems_6" + "systems": "systems_8" }, "locked": { "lastModified": 1694529238, @@ -1108,16 +1145,16 @@ "helix": { "inputs": { "crane": "crane_2", - "flake-utils": "flake-utils_2", + "flake-utils": "flake-utils_3", "nixpkgs": "nixpkgs_3", "rust-overlay": "rust-overlay_2" }, "locked": { - "lastModified": 1694656828, - "narHash": "sha256-BiwbW0KPkswMSq4JFLY3TKSwHK9ZwptggmXOT+EN48Q=", + "lastModified": 1696295907, + "narHash": "sha256-GFeo5NpbFQjVeu2lv/B/pfZY/+SIt0KRHjh26s0bXAY=", "owner": "helix-editor", "repo": "helix", - "rev": "13d4463e4146473391e37b7f75e99b731aa55878", + "rev": "75c0a5ceb32d8a503915a93ccc1b64c8ad1cba8b", "type": "github" }, "original": { @@ -1147,7 +1184,7 @@ }, "hercules-ci-agent_2": { "inputs": { - "flake-parts": "flake-parts_8", + "flake-parts": "flake-parts_9", "haskell-flake": "haskell-flake_2", "nixpkgs": "nixpkgs_11" }, @@ -1174,11 +1211,11 @@ ] }, "locked": { - "lastModified": 1689397210, - "narHash": "sha256-fVxZnqxMbsDkB4GzGAs/B41K0wt/e+B/fLxmTFF/S20=", + "lastModified": 1695684520, + "narHash": "sha256-yORqGB0i1OtEf9MOCCT2BIbOd8txPZn216CM+ylMmhY=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "0a63bfa3f00a3775ea3a6722b247880f1ffe91ce", + "rev": "91fae5824f5f1199f61693c6590b4a89abaed9d7", "type": "github" }, "original": { @@ -1200,11 +1237,11 @@ ] }, "locked": { - "lastModified": 1689397210, - "narHash": "sha256-fVxZnqxMbsDkB4GzGAs/B41K0wt/e+B/fLxmTFF/S20=", + "lastModified": 1695684520, + "narHash": "sha256-yORqGB0i1OtEf9MOCCT2BIbOd8txPZn216CM+ylMmhY=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "0a63bfa3f00a3775ea3a6722b247880f1ffe91ce", + "rev": "91fae5824f5f1199f61693c6590b4a89abaed9d7", "type": "github" }, "original": { @@ -1241,11 +1278,11 @@ ] }, "locked": { - "lastModified": 1694643239, - "narHash": "sha256-pv2k/5FvyirDE8g4TNehzwZ0T4UOMMmqWSQnM/luRtE=", + "lastModified": 1696145345, + "narHash": "sha256-3dM7I/d4751SLPJah0to1WBlWiyzIiuCEUwJqwBdmr4=", "owner": "nix-community", "repo": "home-manager", - "rev": "d9b88b43524db1591fb3d9410a21428198d75d49", + "rev": "6f9b5b83ad1f470b3d11b8a9fe1d5ef68c7d0e30", "type": "github" }, "original": { @@ -1275,11 +1312,11 @@ "nixpkgs": "nixpkgs_4" }, "locked": { - "lastModified": 1693997747, - "narHash": "sha256-W23nMGmDnyBgxO8O/9jcZtiSpa0taMNcRAD1das/ttw=", + "lastModified": 1696339530, + "narHash": "sha256-rb954Rc+IyUiiXoIuQOJRp0//zH/WeMYZ3yJ5CccODA=", "owner": "hyprwm", "repo": "contrib", - "rev": "5b67181fced4fb06d26afcf9614b35765c576168", + "rev": "2e3f8ac2a3f1334fd2e211b07ed76b4215bb0542", "type": "github" }, "original": { @@ -1292,16 +1329,16 @@ "inputs": { "hyprland-protocols": "hyprland-protocols", "nixpkgs": "nixpkgs_5", - "systems": "systems_3", + "systems": "systems_4", "wlroots": "wlroots", "xdph": "xdph" }, "locked": { - "lastModified": 1694690836, - "narHash": "sha256-05EI2cbACE3bo94G8tCqmccFR4rEnZgwyxe98r1ziqw=", + "lastModified": 1696261738, + "narHash": "sha256-ujhtnd7vCZHJosOxTi4lgIyHA6iblYwXhx+ZS678fxw=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "e6651334f264591cffef96738a2355b1b207eaa6", + "rev": "b784931e678f907b1f1e41d04485fefd8a1faaf8", "type": "github" }, "original": { @@ -1317,11 +1354,11 @@ ] }, "locked": { - "lastModified": 1693752039, - "narHash": "sha256-US7WfYWqMax+uEaRPpCOn8ib2pLYDLa5Fy8dIjWH0aM=", + "lastModified": 1695936097, + "narHash": "sha256-UGEwNcnIYUESei7vWLlFwkjOJhu1rQQm3t+P5t175LE=", "owner": "hyprwm", "repo": "hyprland-plugins", - "rev": "b5d0cfdff726676b8c6df564fdb1732558d6c25b", + "rev": "33c3ced2c28eb228f64d637904a4070dc748457a", "type": "github" }, "original": { @@ -1421,15 +1458,34 @@ }, "lib-aggregate": { "inputs": { - "flake-utils": "flake-utils_6", - "nixpkgs-lib": "nixpkgs-lib_4" + "flake-utils": "flake-utils_2", + "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1694606970, - "narHash": "sha256-ZFLOqdkQ5mww+hSyi3197iwD+3qKiZyrspumzmyo5GQ=", + "lastModified": 1696162106, + "narHash": "sha256-72gAqduG8CpBFWchiO4DxZClux5HAti4frrrYGr/5xo=", "owner": "nix-community", "repo": "lib-aggregate", - "rev": "d3726e6c98c3110deb9901346a9cfaeac844d292", + "rev": "273cc814826475216b2a8aa008697b939e784514", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "lib-aggregate", + "type": "github" + } + }, + "lib-aggregate_2": { + "inputs": { + "flake-utils": "flake-utils_7", + "nixpkgs-lib": "nixpkgs-lib_6" + }, + "locked": { + "lastModified": 1696162106, + "narHash": "sha256-72gAqduG8CpBFWchiO4DxZClux5HAti4frrrYGr/5xo=", + "owner": "nix-community", + "repo": "lib-aggregate", + "rev": "273cc814826475216b2a8aa008697b939e784514", "type": "github" }, "original": { @@ -1569,11 +1625,11 @@ "mozilla": { "flake": false, "locked": { - "lastModified": 1690536331, - "narHash": "sha256-aRIf2FB2GTdfF7gl13WyETmiV/J7EhBGkSWXfZvlxcA=", + "lastModified": 1695805681, + "narHash": "sha256-1ElPLD8eFfnuIk0G52HGGpRtQZ4QPCjChRlEOfkZ5ro=", "owner": "mozilla", "repo": "nixpkgs-mozilla", - "rev": "db89c8707edcffefcd8e738459d511543a339ff5", + "rev": "6eabade97bc28d707a8b9d82ad13ef143836736e", "type": "github" }, "original": { @@ -1625,6 +1681,22 @@ "type": "github" } }, + "neodev-nvim": { + "flake": false, + "locked": { + "lastModified": 1695449121, + "narHash": "sha256-WisbNLKEz0IgO7gLDA2quNzK69hJaHzmvWkZSUPQb6k=", + "owner": "folke", + "repo": "neodev.nvim", + "rev": "c8e126393a34939fb448d48eeddb510971739e3a", + "type": "github" + }, + "original": { + "owner": "folke", + "repo": "neodev.nvim", + "type": "github" + } + }, "neovim-flake": { "inputs": { "alpha-nvim": "alpha-nvim", @@ -1652,7 +1724,7 @@ "elixir-tools": "elixir-tools", "fidget-nvim": "fidget-nvim", "flake-parts": "flake-parts_2", - "flake-utils": "flake-utils_3", + "flake-utils": "flake-utils_4", "flutter-tools": "flutter-tools", "gesture-nvim": "gesture-nvim", "gitsigns-nvim": "gitsigns-nvim", @@ -1670,6 +1742,7 @@ "mind-nvim": "mind-nvim", "minimap-vim": "minimap-vim", "modes-nvim": "modes-nvim", + "neodev-nvim": "neodev-nvim", "nil": "nil", "nixpkgs": [ "nixpkgs" @@ -1711,6 +1784,7 @@ "scrollbar-nvim": "scrollbar-nvim", "smartcolumn": "smartcolumn", "sqls-nvim": "sqls-nvim", + "systems": "systems_6", "tabular": "tabular", "telescope": "telescope", "tidalcycles": "tidalcycles", @@ -1728,11 +1802,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1693907367, - "narHash": "sha256-mXYG1bgyhQs4WJKAQXwZ8++DbbHU6i1ux/2HOIKfvWo=", + "lastModified": 1695892056, + "narHash": "sha256-yglXMhpRuqAijRed0b378eS4RN5n4zO0ka2ykUq74vs=", "owner": "NotAShelf", "repo": "neovim-flake", - "rev": "42b952dc1b79b5e2fee2a0eecb91a6d468b1474a", + "rev": "fc8206e7a61d7eb02006f9010e62ebdb3336d0d2", "type": "github" }, "original": { @@ -1743,7 +1817,7 @@ }, "neovim-flake_2": { "inputs": { - "flake-utils": "flake-utils_5", + "flake-utils": "flake-utils_6", "nixpkgs": [ "neovim-nightly-overlay", "nixpkgs" @@ -1751,11 +1825,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1694648542, - "narHash": "sha256-ktzCb7bmhW7DWtBuqQaZN32mGtNiXsydd1TrVkmxS+g=", + "lastModified": 1696337682, + "narHash": "sha256-GEaYVwuibPAaSxvm7U2/DbbFvyXZLHYADSqS0n45T1E=", "owner": "neovim", "repo": "neovim", - "rev": "f5953edbac14febce9d4f8a3c35bdec1eae26fbe", + "rev": "b2a8a9314798e18c0685faf7463bda32f691d755", "type": "github" }, "original": { @@ -1774,11 +1848,11 @@ "nixpkgs": "nixpkgs_10" }, "locked": { - "lastModified": 1694649852, - "narHash": "sha256-MYlZt8ywoeV/lk4Az+ctLvQRhbc4hCkBwc+4MAr6DAc=", + "lastModified": 1696341821, + "narHash": "sha256-NjpcL8eqaji/GLKMg+QSQ7CppNP5+9w3VZr83XmvPXk=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "a0f501276e820da3ff4599922df96154e86d8603", + "rev": "74e7c12548498a61b47c5545903313e9b8021549", "type": "github" }, "original": { @@ -1787,6 +1861,28 @@ "type": "github" } }, + "nh": { + "inputs": { + "flake-parts": "flake-parts_6", + "nix-filter": "nix-filter", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1696149398, + "narHash": "sha256-RwlAyww4bzeu2ndeQoScelYtlYiSxPdCn70R+xGdZBc=", + "owner": "viperML", + "repo": "nh", + "rev": "2985f5a45d6f3e1a9d8d3ca5c777ef1bc9c7fbd1", + "type": "github" + }, + "original": { + "owner": "viperML", + "repo": "nh", + "type": "github" + } + }, "nil": { "inputs": { "flake-utils": [ @@ -1815,16 +1911,16 @@ }, "nix-eval-jobs": { "inputs": { - "flake-parts": "flake-parts_9", + "flake-parts": "flake-parts_10", "nixpkgs": "nixpkgs_13", "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1694654058, - "narHash": "sha256-Wo0yw5ow7OSJvK94CD708zcSVfm9CCi5WFopP3BDaVc=", + "lastModified": 1696208796, + "narHash": "sha256-dGhlQ0TeiJhbtEk40ddbJ9Fz4kDa/JfU22F34iYJwu8=", "owner": "nix-community", "repo": "nix-eval-jobs", - "rev": "3e635f33fb31b39305ff378ed66149a4b3715985", + "rev": "82cede4edd01989095040b55d0212d61a65fc5fd", "type": "github" }, "original": { @@ -1834,6 +1930,21 @@ } }, "nix-filter": { + "locked": { + "lastModified": 1694857738, + "narHash": "sha256-bxxNyLHjhu0N8T3REINXQ2ZkJco0ABFPn6PIe2QUfqo=", + "owner": "numtide", + "repo": "nix-filter", + "rev": "41fd48e00c22b4ced525af521ead8792402de0ea", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "nix-filter", + "type": "github" + } + }, + "nix-filter_2": { "locked": { "lastModified": 1693833173, "narHash": "sha256-hlMABKrGbEiJD5dwUSfnw1CQ3bG7KKwDV+Nx3bEZd7U=", @@ -1850,17 +1961,17 @@ }, "nix-gaming": { "inputs": { - "flake-parts": "flake-parts_6", + "flake-parts": "flake-parts_7", "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1694653754, - "narHash": "sha256-iFRDkzd9YWHdSTC/GcUDo56h0KfunxAqzdhDzLWqec0=", + "lastModified": 1696332552, + "narHash": "sha256-chsT/zHLDn1+gOACWtQmZrSWlVPTuNBYCSa9uZkQsvE=", "owner": "fufexan", "repo": "nix-gaming", - "rev": "b37c4cb795b0073de1486b9bdd87a32e6bbc5402", + "rev": "cd66002bb827370c9076cadda5584b7ed15f7480", "type": "github" }, "original": { @@ -1871,18 +1982,18 @@ }, "nixpak": { "inputs": { - "flake-parts": "flake-parts_7", + "flake-parts": "flake-parts_8", "hercules-ci-effects": "hercules-ci-effects_2", "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1694664321, - "narHash": "sha256-NLuFP5JW2LRJTUg0zpeYXS14KjtrgTpFdhH0T7YqEpc=", + "lastModified": 1696098684, + "narHash": "sha256-/41Jr3cVzB0Xr20QiAQIh9rGYXU7rfLpoEoqlForkSA=", "owner": "max-privatevoid", "repo": "nixpak", - "rev": "9dd948303ea4c7d531e0775146b1b7fd969994c9", + "rev": "e2d0f5ed2212fa9dd2a980a6e393b38a3eee40ea", "type": "github" }, "original": { @@ -1909,19 +2020,16 @@ }, "nixpkgs-lib": { "locked": { - "dir": "lib", - "lastModified": 1688049487, - "narHash": "sha256-100g4iaKC9MalDjUW9iN6Jl/OocTDtXdeAj7pEGIRh4=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "4bc72cae107788bf3f24f30db2e2f685c9298dc9", + "lastModified": 1696121361, + "narHash": "sha256-sstnEW0Qwqo3MHmy1In/hJHjypfsSDlnhegNKw5eplk=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "56992d3dfd3b8cee5c5b5674c1a477446839b6ad", "type": "github" }, "original": { - "dir": "lib", - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", + "owner": "nix-community", + "repo": "nixpkgs.lib", "type": "github" } }, @@ -1944,6 +2052,24 @@ } }, "nixpkgs-lib_3": { + "locked": { + "dir": "lib", + "lastModified": 1688049487, + "narHash": "sha256-100g4iaKC9MalDjUW9iN6Jl/OocTDtXdeAj7pEGIRh4=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "4bc72cae107788bf3f24f30db2e2f685c9298dc9", + "type": "github" + }, + "original": { + "dir": "lib", + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-lib_4": { "locked": { "dir": "lib", "lastModified": 1693471703, @@ -1961,13 +2087,31 @@ "type": "github" } }, - "nixpkgs-lib_4": { + "nixpkgs-lib_5": { "locked": { - "lastModified": 1694306727, - "narHash": "sha256-26fkTOJOI65NOTNKFvtcJF9mzzf/kK9swHzfYt1Dl6Q=", + "dir": "lib", + "lastModified": 1693471703, + "narHash": "sha256-0l03ZBL8P1P6z8MaSDS/MvuU8E75rVxe5eE1N6gxeTo=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "3e52e76b70d5508f3cec70b882a29199f4d1ee85", + "type": "github" + }, + "original": { + "dir": "lib", + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-lib_6": { + "locked": { + "lastModified": 1696121361, + "narHash": "sha256-sstnEW0Qwqo3MHmy1In/hJHjypfsSDlnhegNKw5eplk=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "c30b6a84c0b84ec7aecbe74466033facc9ed103f", + "rev": "56992d3dfd3b8cee5c5b5674c1a477446839b6ad", "type": "github" }, "original": { @@ -1979,16 +2123,16 @@ "nixpkgs-wayland": { "inputs": { "flake-compat": "flake-compat_6", - "lib-aggregate": "lib-aggregate", + "lib-aggregate": "lib-aggregate_2", "nix-eval-jobs": "nix-eval-jobs", "nixpkgs": "nixpkgs_14" }, "locked": { - "lastModified": 1694700890, - "narHash": "sha256-Z+IQHLDIZVtinC61wb5pm0GhyDESOeEoX9i7vEbdRHc=", + "lastModified": 1696336180, + "narHash": "sha256-7DpYPaC7qwlZelQGkKpdcYAB86/Ae2YXlh0E6de1fMk=", "owner": "nix-community", "repo": "nixpkgs-wayland", - "rev": "314538c2c2210cb756ee17163f8139add6353226", + "rev": "34787112b82e6c586cd523609edb63488f449950", "type": "github" }, "original": { @@ -1999,11 +2143,11 @@ }, "nixpkgs_10": { "locked": { - "lastModified": 1694593561, - "narHash": "sha256-WSaIQZ5s9N9bDFkEMTw6P9eaZ9bv39ZhsiW12GtTNM0=", + "lastModified": 1696261572, + "narHash": "sha256-s8TtSYJ1LBpuITXjbPLUPyxzAKw35LhETcajJjCS5f0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1697b7d480449b01111e352021f46e5879e47643", + "rev": "0c7ffbc66e6d78c50c38e717ec91a2a14e0622fb", "type": "github" }, "original": { @@ -2031,11 +2175,11 @@ }, "nixpkgs_12": { "locked": { - "lastModified": 1694422566, - "narHash": "sha256-lHJ+A9esOz9vln/3CJG23FV6Wd2OoOFbDeEs4cMGMqc=", + "lastModified": 1696019113, + "narHash": "sha256-X3+DKYWJm93DRSdC5M6K5hLqzSya9BjibtBsuARoPco=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3a2786eea085f040a66ecde1bc3ddc7099f6dbeb", + "rev": "f5892ddac112a1e9b3612c39af1b72987ee5783a", "type": "github" }, "original": { @@ -2047,11 +2191,11 @@ }, "nixpkgs_13": { "locked": { - "lastModified": 1694651847, - "narHash": "sha256-W+2eI96glLiEwLnX/kWn5HDO7WfKKkF0lKW9yyNLEbY=", + "lastModified": 1696207572, + "narHash": "sha256-w24NTSMrc7bMIQP5Y8BFsKbpYjbRh/+ptf/9gCEFrKo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "46ea94edba83944a236850bbc0bfd92785736b00", + "rev": "fe0b3b663e98c85db7f08ab3a4ac318c523c0684", "type": "github" }, "original": { @@ -2063,11 +2207,11 @@ }, "nixpkgs_14": { "locked": { - "lastModified": 1694422566, - "narHash": "sha256-lHJ+A9esOz9vln/3CJG23FV6Wd2OoOFbDeEs4cMGMqc=", + "lastModified": 1696019113, + "narHash": "sha256-X3+DKYWJm93DRSdC5M6K5hLqzSya9BjibtBsuARoPco=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3a2786eea085f040a66ecde1bc3ddc7099f6dbeb", + "rev": "f5892ddac112a1e9b3612c39af1b72987ee5783a", "type": "github" }, "original": { @@ -2143,11 +2287,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1694183432, - "narHash": "sha256-YyPGNapgZNNj51ylQMw9lAgvxtM2ai1HZVUu3GS8Fng=", + "lastModified": 1694767346, + "narHash": "sha256-5uH27SiVFUwsTsqC5rs3kS7pBoNhtoy9QfTP9BmknGk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "db9208ab987cdeeedf78ad9b4cf3c55f5ebd269b", + "rev": "ace5093e36ab1e95cb9463863491bee90d5a4183", "type": "github" }, "original": { @@ -2287,11 +2431,11 @@ }, "nur": { "locked": { - "lastModified": 1694691985, - "narHash": "sha256-7LqdxQhbEFbFUgSAMUgtYWNzCvf6V/fue2NjhQu+ZUI=", + "lastModified": 1696351685, + "narHash": "sha256-lSNGQttwfSm9G3gEo8Pc5dZdUfMxKKIyUKts/J+UxT4=", "owner": "nix-community", "repo": "NUR", - "rev": "b662b29936b2461d08272623519e275d9f0d2b73", + "rev": "8d2064f5786202d354d073cb30336386fe7fc19b", "type": "github" }, "original": { @@ -2782,6 +2926,7 @@ "hyprland-plugins": "hyprland-plugins", "neovim-flake": "neovim-flake", "neovim-nightly-overlay": "neovim-nightly-overlay", + "nh": "nh", "nix-gaming": "nix-gaming", "nixpak": "nixpak", "nixpkgs": "nixpkgs_12", @@ -2811,11 +2956,11 @@ "rust-analyzer-src_2": { "flake": false, "locked": { - "lastModified": 1694635326, - "narHash": "sha256-oYA1HZCoxHS1i5qMja1j/kx/UjShCqzQMB6Z3nIHOaI=", + "lastModified": 1696238629, + "narHash": "sha256-KfFwKSVS0fj6XFNjmiOvtjkwtPCZAzN2eGE5UAIfJ5k=", "owner": "rust-lang", "repo": "rust-analyzer", - "rev": "089ae47ebe58faf749b952f5d064078c74ea1e29", + "rev": "4c9d2c75b55ab3f21abcaa0ae55373d8b5d7f80a", "type": "github" }, "original": { @@ -2976,7 +3121,7 @@ "hyprland": [ "hyprland" ], - "nix-filter": "nix-filter" + "nix-filter": "nix-filter_2" }, "locked": { "lastModified": 1694620282, @@ -3056,21 +3201,6 @@ } }, "systems_3": { - "locked": { - "lastModified": 1689347949, - "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", - "owner": "nix-systems", - "repo": "default-linux", - "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default-linux", - "type": "github" - } - }, - "systems_4": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -3085,6 +3215,21 @@ "type": "github" } }, + "systems_4": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, "systems_5": { "locked": { "lastModified": 1681028828, @@ -3115,6 +3260,36 @@ "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" + } + }, + "systems_8": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "tabular": { "flake": false, "locked": { @@ -3245,11 +3420,11 @@ ] }, "locked": { - "lastModified": 1694528738, - "narHash": "sha256-aWMEjib5oTqEzF9f3WXffC1cwICo6v/4dYKjwNktV8k=", + "lastModified": 1695822946, + "narHash": "sha256-IQU3fYo0H+oGlqX5YrgZU3VRhbt2Oqe6KmslQKUO4II=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "7a49c388d7a6b63bb551b1ddedfa4efab8f400d8", + "rev": "720bd006d855b08e60664e4683ccddb7a9ff614a", "type": "github" }, "original": { @@ -3454,18 +3629,18 @@ "flake": false, "locked": { "host": "gitlab.freedesktop.org", - "lastModified": 1694302348, - "narHash": "sha256-S9NOc88L/1jpNKJqBu2Hihvn0V1HHCK2hXE4bNBAStg=", + "lastModified": 1696255886, + "narHash": "sha256-0KZfiqqREousitBgG1mkzKmmNX4tjOIWdbBm6MvRCjQ=", "owner": "wlroots", "repo": "wlroots", - "rev": "65bbbbbf0c3d6844cee3c4e294d0ba07e1f82211", + "rev": "5ef42e8e8adece098848fac53c721b6eb3818fc2", "type": "gitlab" }, "original": { "host": "gitlab.freedesktop.org", "owner": "wlroots", "repo": "wlroots", - "rev": "65bbbbbf0c3d6844cee3c4e294d0ba07e1f82211", + "rev": "5ef42e8e8adece098848fac53c721b6eb3818fc2", "type": "gitlab" } }, @@ -3485,11 +3660,11 @@ ] }, "locked": { - "lastModified": 1694363988, - "narHash": "sha256-RF6LXm4J6mBF3B8VcQuABuU4g4tCPHgMYJQSoJ3DW+8=", + "lastModified": 1694628480, + "narHash": "sha256-Qg9hstRw0pvjGu5hStkr2UX1D73RYcQ9Ns/KnZMIm9w=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "aca51609d4c415b30e88b96c6f49f0142cbcdae7", + "rev": "8f45a6435069b9e24ebd3160eda736d7a391cbf2", "type": "github" }, "original": { @@ -3501,7 +3676,7 @@ "zig": { "inputs": { "flake-compat": "flake-compat_4", - "flake-utils": "flake-utils_4", + "flake-utils": "flake-utils_5", "nixpkgs": "nixpkgs_8" }, "locked": { diff --git a/flake.nix b/flake.nix index 373991a3..6c93a3e8 100644 --- a/flake.nix +++ b/flake.nix @@ -77,5 +77,10 @@ }; agenix.url = "github:ryantm/agenix"; + + nh = { + url = "github:viperML/nh"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; } diff --git a/hosts/chmura/conduit.nix b/hosts/chmura/conduit.nix index 3f0780e2..50dd27e3 100644 --- a/hosts/chmura/conduit.nix +++ b/hosts/chmura/conduit.nix @@ -11,6 +11,8 @@ respond /.well-known/matrix/client `{"m.homeserver":{"base_url":"https://m.jacekpoz.pl"}}` ''; in { + environment.systemPackages = with pkgs; [ mautrix-discord ]; + services.matrix-conduit = { enable = true; package = inputs.conduit.packages.${pkgs.system}.default; diff --git a/hosts/chmura/configuration.nix b/hosts/chmura/configuration.nix index be8fd13a..b2dab6af 100644 --- a/hosts/chmura/configuration.nix +++ b/hosts/chmura/configuration.nix @@ -99,12 +99,11 @@ }; virtualisation = { - #podman = { - # enable = true; - # dockerCompat = true; - #}; - #oci-containers.backend = "podman"; - docker.enable = true; + podman = { + enable = true; + dockerCompat = true; + }; + oci-containers.backend = "podman"; }; networking.firewall.allowedTCPPorts = [ 80 443 22 ]; diff --git a/hosts/chmura/default.nix b/hosts/chmura/default.nix index f83fbf83..215af8c0 100644 --- a/hosts/chmura/default.nix +++ b/hosts/chmura/default.nix @@ -1,14 +1,18 @@ _: { imports = [ + #./minecraft ./anki-sync-server.nix ./conduit.nix ./configuration.nix + #./discord-autodelete.nix + ./forgejo.nix #./freshrss.nix - ./grafana.nix + #./grafana.nix ./hardware-configuration.nix ./home-manager.nix ./i2pd.nix - #./minecraft + #./maddy.nix + ./ntfy-sh.nix #./qbittorrent.nix ]; } diff --git a/hosts/chmura/discord-autodelete.nix b/hosts/chmura/discord-autodelete.nix new file mode 100644 index 00000000..f118d076 --- /dev/null +++ b/hosts/chmura/discord-autodelete.nix @@ -0,0 +1,55 @@ +{ + config, + pkgs, + ... +}: let + service-name = "discord-autodelete"; + uid = 989; + gid = 5638; +in { + age.secrets.discord-autodelete-config.file = ../../secrets/discord-autodelete-config.age; + + users = { + users.${service-name} = { + isSystemUser = true; + group = service-name; + home = "/var/lib/${service-name}"; + inherit uid; + subUidRanges = [{ + startUid = 200000; + count = 65536; + }]; + subGidRanges = [{ + startGid = 200000; + count = 65536; + }]; + }; + groups = { + ${service-name}.gid = gid; + }; + }; + + services.dbus.enable = true; + + environment.systemPackages = with pkgs; [ dbus ]; + + systemd.tmpfiles.rules = [ + "d /var/lib/${service-name} 0700 ${service-name} ${builtins.toString gid}" + "d /var/lib/${service-name}/data 0700 ${service-name} ${builtins.toString gid}" + ]; + + systemd.services."${config.virtualisation.oci-containers.backend}-${service-name}".serviceConfig = { + User = service-name; + }; + + virtualisation.oci-containers.containers.${service-name} = { + image = "ksurl/autodelete-discord"; + autoStart = true; + ports = [ "5638:5638" ]; + volumes = [ + "/var/lib/${service-name}/data:/${service-name}/data" + "${config.age.secrets.discord-autodelete-config.path}:/${service-name}/config.yml" + ]; + user = "${service-name}:${service-name}"; + }; +} diff --git a/hosts/chmura/forgejo.nix b/hosts/chmura/forgejo.nix new file mode 100644 index 00000000..30528218 --- /dev/null +++ b/hosts/chmura/forgejo.nix @@ -0,0 +1,35 @@ +{ + config, + ... +}: { + services.forgejo = { + enable = true; + lfs.enable = true; + database.type = "postgres"; + dump = { + enable = true; + type = "tar.xz"; + }; + settings = { + DEFAULT = { + APP_NAME = "fuck it we code"; + + }; + + server = { + DOMAIN = "git.jacekpoz.pl"; + HTTP_PORT = 1849; + PROTOCOL = "http"; + SSH_PORT = 8236; + ROOT_URL = "${config.services.forgejo.settings.server.PROTOCOL}://${config.services.forgejo.settings.server.DOMAIN}/"; + }; + }; + }; + + services.caddy = { + enable = true; + virtualHosts."git.jacekpoz.pl".extraConfig = '' + reverse_proxy * localhost:1849 + ''; + }; +} diff --git a/hosts/chmura/freshrss.nix b/hosts/chmura/freshrss.nix index 1e9f3c01..020033c4 100644 --- a/hosts/chmura/freshrss.nix +++ b/hosts/chmura/freshrss.nix @@ -1,7 +1,7 @@ _: { services.freshrss = { enable = true; - baseUrl = "https://f.jacekpoz.pl:4834"; + baseUrl = "http://f.jacekpoz.pl"; database = { port = 7425; tableprefix = "freshrss"; @@ -9,7 +9,7 @@ _: { }; defaultUser = "jacek"; language = "pl"; - passwordFile = "/run/secrets/freshrss"; + #passwordFile = "/run/secrets/freshrss"; virtualHost = null; }; @@ -19,7 +19,4 @@ _: { reverse_proxy * localhost:4834 ''; }; - - networking.firewall.allowedTCPPorts = [ 4834 ]; - networking.firewall.allowedUDPPorts = [ 4834 ]; } diff --git a/hosts/chmura/grafana.nix b/hosts/chmura/grafana.nix index 60feaae2..71bdd798 100644 --- a/hosts/chmura/grafana.nix +++ b/hosts/chmura/grafana.nix @@ -15,7 +15,4 @@ _: { reverse_proxy * localhost:3000 ''; }; - - networking.firewall.allowedTCPPorts = [ 3000 ]; - networking.firewall.allowedUDPPorts = [ 3000 ]; } diff --git a/hosts/chmura/maddy.nix b/hosts/chmura/maddy.nix new file mode 100644 index 00000000..5bcb26e4 --- /dev/null +++ b/hosts/chmura/maddy.nix @@ -0,0 +1,7 @@ +{ + ... +}: { + services.maddy = { + enable = true; + }; +} diff --git a/hosts/chmura/ntfy-sh.nix b/hosts/chmura/ntfy-sh.nix new file mode 100644 index 00000000..f21c669c --- /dev/null +++ b/hosts/chmura/ntfy-sh.nix @@ -0,0 +1,16 @@ +_: { + services.ntfy-sh = { + enable = true; + settings = { + base-url = "https://ntfy.jacekpoz.pl"; + listen-http = ":7483"; + }; + }; + + services.caddy = { + enable = true; + virtualHosts."ntfy.jacekpoz.pl".extraConfig = '' + reverse_proxy * localhost:7483 + ''; + }; +} diff --git a/hosts/chmura/restic.nix b/hosts/chmura/restic.nix new file mode 100644 index 00000000..34a5af6a --- /dev/null +++ b/hosts/chmura/restic.nix @@ -0,0 +1,10 @@ +{ + ... +}: { + services.restic = { + server = { + enable = true; + listenAddress = "127.0.0.1:6487"; + }; + }; +} diff --git a/hosts/default.nix b/hosts/default.nix index 06cfb06a..9703ea2c 100644 --- a/hosts/default.nix +++ b/hosts/default.nix @@ -21,6 +21,21 @@ in { inputs.agenix.nixosModules.default ]; }; + hape = lib.nixosSystem { + system = "x86_64-linux"; + specialArgs = { + inherit lib inputs self; + config' = { + hostname = "hape"; + username = "jacek"; + gtk-theme = "Catppuccin-Mocha-Standard-Green-dark"; + }; + }; + modules = [ + ./hape + inputs.home-manager.nixosModules.home-manager + ]; + }; chmura = lib.nixosSystem { system = "x86_86-linux"; specialArgs = { diff --git a/hosts/hape/configuration.nix b/hosts/hape/configuration.nix new file mode 100644 index 00000000..e9e4c3d6 --- /dev/null +++ b/hosts/hape/configuration.nix @@ -0,0 +1,236 @@ +{ + config, + pkgs, + lib, + inputs, + config', + ... +}: { + nixpkgs = { + config.allowUnfree = true; + overlays = [ + inputs.nur.overlay + inputs.neovim-nightly-overlay.overlay + ]; + }; + + boot = { + loader = { + systemd-boot = { + enable = true; + memtest86.enable = true; + }; + efi.canTouchEfiVariables = true; + }; + kernelPackages = pkgs.linuxPackages_zen; + }; + + documentation = { + enable = true; + dev.enable = true; + doc.enable = true; + info.enable = true; + man = { + enable = true; + generateCaches = true; + man-db.enable = false; + mandoc.enable = true; + }; + nixos = { + includeAllModules = true; + }; + }; + + networking = { + hostName = config'.hostname; + networkmanager.enable = true; + firewall.checkReversePath = "loose"; + }; + + # don't wait for network to boot faster + # https://old.reddit.com/r/NixOS/comments/vdz86j/how_to_remove_boot_dependency_on_network_for_a + systemd = { + targets.network-online.wantedBy = lib.mkForce []; # default is [ "multi-user.target" ] + services.NetworkManager-wait-online.wantedBy = lib.mkForce []; # default is [ "network-online.target" ] + }; + + systemd.oomd = { + enable = true; + enableUserServices = true; + }; + + time.timeZone = "Europe/Warsaw"; + + nix = { + settings = { + experimental-features = [ + "flakes" + "nix-command" + ]; + substituters = [ + "https://hyprland.cachix.org" + "https://anyrun.cachix.org" + "https://nix-community.cachix.org" + "https://nixpkgs-wayland.cachix.org" + "https://helix.cachix.org" + "https://viperml.cachix.org" + ]; + trusted-public-keys = [ + "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" + "anyrun.cachix.org-1:pqBobmOjI7nKlsUMV25u9QHa9btJK65/C8vnO3p346s=" + "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" + "nixpkgs-wayland.cachix.org-1:3lwxaILxMRkVhehr5StQprHdEo4IrE8sRho9R9HOLYA=" + "helix.cachix.org-1:ejp9KQpR1FBI2onstMQ34yogDm4OgU2ru6lIwPvuCVs=" + "viperml.cachix.org-1:qZhKBMTfmcLL+OG6fj/hzsMEedgKvZVFRRAhq7j8Vh8=" + ]; + keep-outputs = true; + keep-derivations = true; + }; + }; + + programs.dconf.enable = true; + + # https://github.com/NixOS/nixpkgs/issues/158025 + security.pam.services = { + swaylock.text = "auth include login"; + gtklock.text = "auth include login"; + }; + + security.sudo.package = pkgs.sudo.override { withInsults = true; }; + + security.polkit.enable = true; + + fonts.packages = with pkgs; [ + material-design-icons + (nerdfonts.override { fonts = [ + "JetBrainsMono" + "Iosevka" + ]; }) + noto-fonts + noto-fonts-cjk-sans + noto-fonts-cjk-serif + noto-fonts-emoji + ]; + + users.users.${config'.username} = { + isNormalUser = true; + extraGroups = [ "wheel" "networkmanager" "libvirtd" ]; + shell = pkgs.zsh; + }; + + programs.zsh.enable = true; + + environment = { + shells = [ pkgs.zsh ]; + pathsToLink = [ "/share/zsh" ]; + enableAllTerminfo = true; + sessionVariables = { + TERM = "foot"; + EDITOR = "${pkgs.neovim}/bin/nvim"; + + GTK_IM_MODULE = "fcitx"; + QT_IM_MODULE = "fcitx"; + XMODIFIERS = "@im=fcitx"; + + LIBSEAT_BACKEND = "logind"; + QT_QPA_PLATFORMTHEME = "qt5ct"; + + GOPATH = "\$HOME/.local/share/go"; + + XDG_CURRENT_DESKTOP = "Hyprland"; + XDG_SESSION_TYPE = "wayland"; + XDG_SESSION_DESKTOP = "Hyprland"; + + QT_QPA_PLATFORM = "wayland"; + MOZ_ENABLE_WAYLAND = "1"; + MOZ_DRM_DEVICE = "/dev/dri/card0"; + + SDL_VIDEODRIVER = "wayland"; + + _JAVA_AWT_WM_NONEREPARENTING = "1"; + + CLUTTER_BACKEND = "wayland"; + + GDK_BACKEND = "wayland"; + + XCURSOR_THEME = "Bibata-Modern-Classic"; + XCURSOR_SIZE = "24"; + + XDG_DATA_HOME = "\$HOME/.local/share"; + XDG_CONFIG_HOME = "\$HOME/.config"; + XDG_STATE_HOME = "\$HOME/.local/state"; + XDG_CACHE_HOME = "\$HOME/.cache"; + + HISTFILE = "\${XDG_STATE_HOME}/bash/history"; + CARGO_HOME = "\${XDG_DATA_HOME}/cargo"; + GTK2_RC_FILES = "\${XDG_CONFIG_HOME}/gtk-2.0/gtkrc"; + + CHROME_EXECUTABLE = "${pkgs.ungoogled-chromium}/bin/chromium"; + + NIXOS_OZONE_WL = "1"; + }; + systemPackages = with pkgs; [ + man-pages + man-pages-posix + ]; + }; + + services = { + blueman.enable = true; + mullvad-vpn.enable = true; + + pcscd.enable = true; + + udev.packages = [ pkgs.yubikey-personalization ]; + + udisks2.enable = true; + dbus.enable = true; + }; + + programs.gnupg.agent = { + enable = true; + pinentryFlavor = "qt"; + enableSSHSupport = true; + }; + + hardware = { + opentabletdriver = { + enable = true; + daemon.enable = true; + }; + bluetooth.enable = true; + opengl = { + enable = true; + driSupport = true; + driSupport32Bit = true; + }; + }; + + xdg.portal = { + enable = true; + extraPortals = with pkgs; [ + inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland + xdg-desktop-portal-gtk + ]; + }; + + services.btrfs = { + autoScrub = { + enable = true; + interval = "weekly"; + }; + }; + + services.psd = { + enable = true; + resyncTimer = "30m"; + }; + + services.journald = { + extraConfig = '' + SystemMaxUse=100M + ''; + }; + + system.stateVersion = "23.11"; +} diff --git a/hosts/hape/default.nix b/hosts/hape/default.nix new file mode 100644 index 00000000..7c546bb8 --- /dev/null +++ b/hosts/hape/default.nix @@ -0,0 +1,9 @@ +_: { + imports = [ + ./configuration.nix + ./greetd.nix + ./hardware-configuration.nix + ./home-manager.nix + ./pipewire.nix + ]; +} diff --git a/hosts/hape/greetd.nix b/hosts/hape/greetd.nix new file mode 100644 index 00000000..3914bed4 --- /dev/null +++ b/hosts/hape/greetd.nix @@ -0,0 +1,33 @@ +{ + inputs, + pkgs, + config', + ... +}: let + greeter = "gtkgreet"; + + hyprlandConfig = pkgs.writeText "greetd-hyprland-config" '' + workspace=1,default:true,gapsout:0,gapsin:0,border:false,decorate:false + + exec-once=systemctl --user stop waybar.service + exec-once=[workspace 1;fullscreen;noanim] ${pkgs.greetd.${greeter}}/bin/${greeter} -l; hyprctl dispatch exit + exec-once=hyprctl dispatch focuswindow gtkgreet + ''; +in { + services.greetd = { + enable = true; + settings.default_session = { + command = "${inputs.hyprland.packages.${pkgs.system}.hyprland}/bin/Hyprland --config ${hyprlandConfig}"; + user = config'.username; + }; + }; + + environment.etc = { + "greetd/environments".text = '' + Hyprland + sway + zsh + shutdown now + ''; + }; +} diff --git a/hosts/niks/hardware-configuration-hp.nix b/hosts/hape/hardware-configuration.nix similarity index 100% rename from hosts/niks/hardware-configuration-hp.nix rename to hosts/hape/hardware-configuration.nix diff --git a/hosts/hape/home-manager.nix b/hosts/hape/home-manager.nix new file mode 100644 index 00000000..05da3a60 --- /dev/null +++ b/hosts/hape/home-manager.nix @@ -0,0 +1,162 @@ +{ + lib, + inputs, + pkgs, + self, + config', + ... +}: { + home-manager = { + useUserPackages = true; + useGlobalPkgs = true; + extraSpecialArgs = {inherit inputs self config';}; + users.${config'.username} = { + imports = [ + inputs.hyprland.homeManagerModules.default + inputs.anyrun.homeManagerModules.default + inputs.neovim-flake.homeManagerModules.default + ../../modules/cli + ../../modules/gui + ../../modules/tui + ../../modules/other + ../../modules/services + ]; + + programs = { + home-manager.enable = true; + direnv = { + enable = true; + nix-direnv.enable = true; + }; + }; + + home = { + inherit (config') username; + homeDirectory = "/home/${config'.username}"; + packages = let + hyprcontrib = inputs.hyprcontrib.packages.${pkgs.system}; + shadower = inputs.shadower.packages.${pkgs.system}; + nix-gaming = inputs.nix-gaming.packages.${pkgs.system}; + fenix = inputs.fenix.packages.${pkgs.system}; + nixpkgs-wayland = inputs.nixpkgs-wayland.packages.${pkgs.system}; + agenix = inputs.agenix.packages.${pkgs.system}; + nh = inputs.nh.packages.${pkgs.system}; + in with pkgs; [ + git + librewolf-wayland + keepassxc + eza + ripgrep + libnotify + rofi-wayland + rofi-calc + session-desktop + signal-desktop-beta + schildichat-desktop + obs-studio + heroic + steam + ungoogled-chromium + amdgpu_top + tor-browser-bundle-bin + mullvad-browser + thunderbird + livecaptions + gimp + helvum + bluez + blueman + easyeffects + libreoffice-fresh + onionshare-gui + qbittorrent + zathura + zellij + unzip + nixpkgs-wayland.sway-unwrapped + caprine-bin + waypipe + trash-cli + bibata-cursors + nixpkgs-wayland.swww + networkmanagerapplet + nixpkgs-wayland.wl-clipboard + nixpkgs-wayland.wlsunset + xdg-utils + hyprpicker + hyprcontrib.hyprprop + hyprcontrib.grimblast + shadower.shadower + pamixer + brightnessctl + dig + swappy + nixpkgs-wayland.imv + pcmanfm + xdg-ninja + auto-cpufreq + gnupg + pinentry-qt + age + rage + fd + udisks + ffmpeg + yt-dlp + filelight + (fenix.complete.withComponents [ + "cargo" + "clippy" + "rust-src" + "rustc" + "rustfmt" + ]) + wayland + showmethekey + polkit + libsForQt5.polkit-kde-agent + asciinema + asciinema-agg + du-dust + mullvad-vpn + appimage-run + file + hyfetch + git-annex + gamemode + croc + linuxKernel.packages.linux_xanmod_latest.cpupower + alsa-utils + speechd + arcanPackages.espeak + imagemagick + pavucontrol + psmisc + mesa-demos + nnn + jq + fq + tea + codeberg-cli + progress + parallel + p7zip + xxd + mpc-cli + playerctl + xdg-user-dirs + wiki-tui + lshw + tree + ydotool + agenix.default + nh.default + exiv2 + gamescope + ]; + + stateVersion = lib.mkDefault "23.11"; + }; + }; + }; +} diff --git a/hosts/hape/pipewire.nix b/hosts/hape/pipewire.nix new file mode 100644 index 00000000..00d15b8b --- /dev/null +++ b/hosts/hape/pipewire.nix @@ -0,0 +1,13 @@ +_: { + hardware.pulseaudio.enable = false; + + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + wireplumber.enable = true; + }; + + security.rtkit.enable = true; +} diff --git a/hosts/niks/configuration.nix b/hosts/niks/configuration.nix index f286b4b2..c75f5d66 100644 --- a/hosts/niks/configuration.nix +++ b/hosts/niks/configuration.nix @@ -27,13 +27,14 @@ }; efi.canTouchEfiVariables = true; }; - kernelPackages = pkgs.linuxPackages_xanmod_latest; + #kernelPackages = pkgs.linuxPackages_xanmod_latest; + kernelPackages = pkgs.linuxPackages_zen; extraModulePackages = with config.boot.kernelPackages; [ ( ddcci-driver.overrideAttrs (o: { - patches = (o.patches or [ ]) ++ [ - ./ddcci_semaphore_fix.patch - ]; + #patches = (o.patches or [ ]) ++ [ + # ./ddcci_semaphore_fix.patch + #]; }) ) ]; @@ -94,6 +95,7 @@ "https://nix-community.cachix.org" "https://nixpkgs-wayland.cachix.org" "https://helix.cachix.org" + "https://viperml.cachix.org" ]; trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" @@ -102,6 +104,7 @@ "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" "nixpkgs-wayland.cachix.org-1:3lwxaILxMRkVhehr5StQprHdEo4IrE8sRho9R9HOLYA=" "helix.cachix.org-1:ejp9KQpR1FBI2onstMQ34yogDm4OgU2ru6lIwPvuCVs=" + "viperml.cachix.org-1:qZhKBMTfmcLL+OG6fj/hzsMEedgKvZVFRRAhq7j8Vh8=" ]; keep-outputs = true; keep-derivations = true; @@ -132,6 +135,8 @@ security.sudo.package = pkgs.sudo.override { withInsults = true; }; + security.polkit.enable = true; + fonts.packages = with pkgs; [ material-design-icons (nerdfonts.override { fonts = [ @@ -198,6 +203,8 @@ GTK2_RC_FILES = "\${XDG_CONFIG_HOME}/gtk-2.0/gtkrc"; CHROME_EXECUTABLE = "${pkgs.ungoogled-chromium}/bin/chromium"; + + NIXOS_OZONE_WL = "1"; }; systemPackages = with pkgs; [ man-pages @@ -239,7 +246,7 @@ xdg.portal = { enable = true; extraPortals = with pkgs; [ - xdg-desktop-portal-hyprland + inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland xdg-desktop-portal-gtk ]; }; diff --git a/hosts/niks/default.nix b/hosts/niks/default.nix index d0ca6ae5..6e65bdd7 100644 --- a/hosts/niks/default.nix +++ b/hosts/niks/default.nix @@ -1,13 +1,15 @@ _: { imports = [ + ./ssh ./asusd.nix ./configuration.nix + ./fcitx5.nix ./greetd.nix ./hardware-configuration.nix ./home-manager.nix #./mullvad.nix ./pipewire.nix - ./ssh - #./waydroid.nix + #./restic.nix + ./waydroid.nix ]; } diff --git a/hosts/niks/fcitx5.nix b/hosts/niks/fcitx5.nix new file mode 100644 index 00000000..b80afa92 --- /dev/null +++ b/hosts/niks/fcitx5.nix @@ -0,0 +1,13 @@ +{ + pkgs, + ... +}: { + i18n.inputMethod = { + enabled = "fcitx5"; + fcitx5.addons = with pkgs; [ + fcitx5-gtk + fcitx5-skk-qt + libsForQt5.fcitx5-qt + ]; + }; +} diff --git a/hosts/niks/home-manager.nix b/hosts/niks/home-manager.nix index 1e2766e1..ebc47f3f 100644 --- a/hosts/niks/home-manager.nix +++ b/hosts/niks/home-manager.nix @@ -40,6 +40,7 @@ fenix = inputs.fenix.packages.${pkgs.system}; nixpkgs-wayland = inputs.nixpkgs-wayland.packages.${pkgs.system}; agenix = inputs.agenix.packages.${pkgs.system}; + nh = inputs.nh.packages.${pkgs.system}; in with pkgs; [ git librewolf-wayland @@ -185,6 +186,13 @@ piper smartmontools agenix.default + nh.default + nyxt + exiv2 + krita + mypaint + logseq + gamescope ]; stateVersion = lib.mkDefault "23.11"; diff --git a/hosts/niks/pipewire.nix b/hosts/niks/pipewire.nix index fa886c70..da40d005 100644 --- a/hosts/niks/pipewire.nix +++ b/hosts/niks/pipewire.nix @@ -14,36 +14,36 @@ security.rtkit.enable = true; - environment.etc = let - json = pkgs.formats.json {}; - rate = "48000"; - quantum = "256"; - in { - "pipewire/pipewire.conf.d/92-low-latency.conf".text = '' - context.properties = { - default.clock.rate = ${rate} - default.clock.quantum = ${quantum} - default.clock.min-quantum = ${quantum} - default.clock.max-quantum = ${quantum} - } - ''; - "pipewire/pipewire-pulse.d/92-low-latency.conf".source = json.generate "92-low-latency.conf" { - context.modules = [ - { - name = "libpipewire-module-protocol-pulse"; - args = { - pulse.min.req = "${quantum}/${rate}"; - pulse.default.req = "${quantum}/${rate}"; - pulse.max.req = "${quantum}/${rate}"; - pulse.min.quantum = "${quantum}/${rate}"; - pulse.max.quantum = "${quantum}/${rate}"; - }; - } - ]; - stream.properties = { - node.latency = "${quantum}/${rate}"; - resample.quality = 1; - }; - }; - }; + #environment.etc = let + # json = pkgs.formats.json {}; + # rate = "48000"; + # quantum = "256"; + #in { + # "pipewire/pipewire.conf.d/92-low-latency.conf".text = '' + # context.properties = { + # default.clock.rate = ${rate} + # default.clock.quantum = ${quantum} + # default.clock.min-quantum = ${quantum} + # default.clock.max-quantum = ${quantum} + # } + # ''; + # "pipewire/pipewire-pulse.d/92-low-latency.conf".source = json.generate "92-low-latency.conf" { + # context.modules = [ + # { + # name = "libpipewire-module-protocol-pulse"; + # args.pulse = { + # min.req = "${quantum}/${rate}"; + # default.req = "${quantum}/${rate}"; + # max.req = "${quantum}/${rate}"; + # min.quantum = "${quantum}/${rate}"; + # max.quantum = "${quantum}/${rate}"; + # }; + # } + # ]; + # stream.properties = { + # node.latency = "${quantum}/${rate}"; + # resample.quality = 1; + # }; + # }; + #}; } diff --git a/hosts/niks/restic.nix b/hosts/niks/restic.nix new file mode 100644 index 00000000..609bdef7 --- /dev/null +++ b/hosts/niks/restic.nix @@ -0,0 +1,9 @@ +_: { + services.restic.backups = { + chmuraBackup = { + extraOptions = [ + "sftp.command='ssh chmura@jacekpoz.pl -i ~/.ssh/chmura -s sftp'" + ]; + }; + }; +} diff --git a/hosts/niks/ssh/default.nix b/hosts/niks/ssh/default.nix index 9759891f..532571ad 100644 --- a/hosts/niks/ssh/default.nix +++ b/hosts/niks/ssh/default.nix @@ -3,7 +3,10 @@ _: { services.openssh = { enable = true; - settings.PasswordAuthentication = false; + settings = { + PasswordAuthentication = false; + PermitRootLogin = "no"; + }; }; programs.ssh.extraConfig = '' @@ -30,6 +33,7 @@ _: { IdentityFile ~/.ssh/gitlab IdentitiesOnly yes Host aur + HostName aur.archlinux.org IdentityFile ~/.ssh/aur User aur Host chmura diff --git a/hosts/niks/waydroid.nix b/hosts/niks/waydroid.nix index 9a24a2f7..1a494a70 100644 --- a/hosts/niks/waydroid.nix +++ b/hosts/niks/waydroid.nix @@ -1,6 +1,6 @@ _: { virtualisation = { waydroid.enable = true; - lxd.enable = true; + lxc.enable = true; }; } diff --git a/modules/gui/firefox.nix b/modules/gui/firefox.nix index 10a41d02..70b65559 100644 --- a/modules/gui/firefox.nix +++ b/modules/gui/firefox.nix @@ -35,11 +35,11 @@ }; }; - searxng-name = "SearXNG Sapti"; + searxng-name = "NotASearx"; searxng = { - urls = [{ template = "https://search.sapti.me/search?q={searchTerms}"; }]; - iconUpdateURL = "https://search.sapti.me/favicon.ico"; + urls = [{ template = "https://search.notashelf.dev/search?q={searchTerms}"; }]; + iconUpdateURL = "https://search.notashelf.dev/favicon.ico"; updateInterval = 24 * 60 * 60 * 1000; definedAliases = [ "@sx" ]; }; diff --git a/modules/gui/foot.nix b/modules/gui/foot.nix index e98290a7..ab7020fc 100644 --- a/modules/gui/foot.nix +++ b/modules/gui/foot.nix @@ -99,7 +99,7 @@ select-extend-character-wise = "Control+BTN_RIGHT"; select-word = "BTN_LEFT-2"; select-word-whitespace = "Control+BTN_LEFT-2"; - select-row = "BTN_LEFT-3"; + #select-row = "BTN_LEFT-3"; }; }; }; diff --git a/modules/gui/hypr.nix b/modules/gui/hypr.nix index 9236bd7f..e8f657d1 100644 --- a/modules/gui/hypr.nix +++ b/modules/gui/hypr.nix @@ -20,12 +20,12 @@ in { enable = true; package = inputs.hyprland.packages.${pkgs.system}.hyprland; plugins = [ - inputs.hyprland-plugins.packages.${pkgs.system}.csgo-vulkan-fix + #inputs.hyprland-plugins.packages.${pkgs.system}.csgo-vulkan-fix inputs.split-monitor-workspaces.packages.${pkgs.system}.split-monitor-workspaces ]; extraConfig = '' #laptop - monitor=eDP-1,2560@1440@165,0x0,1 + monitor=eDP-1,2560@1440@60,0x0,1 #second monitor monitor=HDMI-A-1,2560x1440@144,2560x0,1 @@ -51,16 +51,16 @@ in { workspace = 19, monitor:HDMI-A-1 workspace = 20, monitor:HDMI-A-1 - workspace = special:btop, allpseudo - workspace = special:amdgpu_top, allpseudo - workspace = special:helvum, allpseudo - workspace = special:nixos, allpseudo, gapsin:0, gapsout:0 + workspace = special:btop, decorate:false + workspace = special:amdgpu_top, decorate:false + workspace = special:helvum, decorate:false + workspace = special:nixos,decorate:false input { kb_layout=pl,ru kb_variant= kb_model= - kb_options=grp:alt_shift_toggle + kb_options= kb_rules= follow_mouse=1 @@ -85,6 +85,8 @@ in { apply_sens_to_raw=0 # whether to apply the sensitivity to raw input (e.g. used by games where you aim using your mouse) #no_border_on_floating=true + + #allow_tearing=true } decoration { @@ -152,13 +154,15 @@ in { windowrulev2 = float, class:^(org.keepassxc.KeePassXC)$ windowrulev2 = size 960 670, title:^(ROG Control Center)$ + #windowrulev2 = immediate, title:^(osu!)$ + bind = SUPER, RETURN, exec, ${foot}/bin/footclient bind = SUPER, W, exec, ${lib.removeSuffix " %U" config.xdg.desktopEntries.firefox-schizo.exec} bind = SUPERSHIFT, W, exec, ${lib.removeSuffix " %U" config.xdg.desktopEntries.firefox-unschizo.exec} bind = SUPER, Q, killactive bind = SUPER, F, fullscreen, 0 bind = SUPER, M, fullscreen, 1 - bind = SUPER, D, exec, pkill anyrun || ${anyrun}/bin/anyrun + bind = SUPER, D, exec, ${pkgs.procps}/bin/pkill anyrun || ${anyrun}/bin/anyrun bind = SUPER, SPACE, togglefloating, bind = SUPERSHIFT, C, centerwindow bind = SUPER, R, bringactivetotop @@ -206,17 +210,18 @@ in { bind = SUPERSHIFT, R, exec, ${hyprland}/bin/hyprctl reload bind = SUPER, P, pin - bind = , XF86Launch1, exec, rog-control-center - binde = , XF86Launch3, exec, asusctl led-mode -n - bind = , XF86Launch4, exec, asusctl profile -n; pkill -SIGRTMIN+8 waybar - binde = , XF86KbdBrightnessUp, exec, asusctl -n - binde = , XF86KbdBrightnessDown, exec, asusctl -p + bind = , XF86Launch1, exec, ${pkgs.asusctl}/bin/rog-control-center + binde = , XF86Launch3, exec, ${pkgs.asusctl}/bin/asusctl led-mode -n + bind = , XF86Launch4, exec, ${pkgs.asusctl}/bin/asusctl profile -n + binde = , XF86KbdBrightnessUp, exec, ${pkgs.asusctl}/bin/asusctl -n + binde = , XF86KbdBrightnessDown, exec, ${pkgs.asusctl}/bin/asusctl -p bind = , XF86TouchpadToggle, exec, bind = SUPER, T, exec, grim -g "$(slurp)" -t ppm - | tesseract -l pol - - | wl-copy && notify-send "Copied text: " "\"$(wl-paste)\"" bind = SUPER, SEMICOLON, exec, ~/.config/rofi/powermenu/type-2/powermenu.sh bind = SUPER, X, exec, ${pkgs.keepassxc}/bin/keepassxc bind = SUPER, G, togglegroup binde = SUPERSHIFT, G, changegroupactive, f + binde = SUPERCONTROL, G, changegroupactive, b bind = SUPERCONTROL, R, exec, replay-sorcery save bind = SUPERCONTROL, X, exec, ${pkgs.systemd}/bin/systemctl --user restart xdg-desktop-portal-hyprland bind = SUPERSHIFT, X, exec, ${hyprland}/bin/hyprctl kill @@ -225,6 +230,7 @@ in { bind = SUPER, V, togglespecialworkspace, helvum bind = SUPER, N, togglespecialworkspace, nixos bind = SUPER, C, exec, ${swaylock}/bin/swaylock + bind = SUPERCONTROL, B, exec, systemctl is-active --user && systemctl stop --user waybar || systemctl start --user waybar bindm = SUPER, mouse:272, movewindow bindm = SUPER, mouse:273, resizewindow @@ -236,35 +242,35 @@ in { exec-once=${pkgs.systemd}/bin/systemctl start --user waybar.service exec=${pkgs.systemd}/bin/systemctl restart --user waybar.service - exec=pkill btop - exec=pkill amdgpu_top - exec=pkill helvum + exec=${pkgs.procps}/bin/pkill btop + exec=${pkgs.procps}/bin/pkill amdgpu_top + exec=${pkgs.procps}/bin/pkill helvum - exec=[workspace special:btop silent;tile] ${foot}/bin/foot ${pkgs.btop}/bin/btop - exec=[workspace special:amdgpu_top silent] ${pkgs.amdgpu_top}/bin/amdgpu_top --gui -i 0 - exec=[workspace special:amdgpu_top silent] ${pkgs.amdgpu_top}/bin/amdgpu_top --gui -i 1 - exec=[workspace special:helvum silent] ${pkgs.helvum}/bin/helvum - exec-once=[workspace special:nixos silent;tile] cd niksos; ${foot}/bin/foot + exec=[workspace special:btop silent;tile] ${foot}/bin/foot -e ${pkgs.btop}/bin/btop + exec=[workspace special:amdgpu_top silent;tile] ${pkgs.amdgpu_top}/bin/amdgpu_top --gui -i 0 + exec=[workspace special:amdgpu_top silent;tile] ${pkgs.amdgpu_top}/bin/amdgpu_top --gui -i 1 + exec=[workspace special:helvum silent;tile] ${pkgs.helvum}/bin/helvum + exec-once=[workspace special:nixos silent;tile] cd ~/niksos; ${foot}/bin/foot exec-once=${foot}/bin/foot --server exec-once=${hyprland}/bin/hyprctl setcursor Bibata-Modern-Classic 24 #exec-once=${wl-clipboard}/bin/wl-paste --watch cliphist store - exec-once=${swww}/bin/swww init && sleep 0.5 - exec=${swww}/bin/swww img -o eDP-1 ~/catppuccin-wall0.png - exec=${swww}/bin/swww img -o HDMI-A-1 ~/catppuccin-wall1.png + exec-once=${swww}/bin/swww init + exec=sleep 0.5 && ${swww}/bin/swww img -o eDP-1 ~/catppuccin-wall0.png + exec=sleep 0.5 && ${swww}/bin/swww img -o HDMI-A-1 ~/catppuccin-wall1.png - exec-once=rog-control-center + #exec-once=rog-control-center exec-once=${wlsunset}/bin/wlsunset -S 06:00 -s 20:00 - exec-once=sleep 1 && ${pkgs.keepassxc}/bin/keepassxc + exec-once=${pkgs.keepassxc}/bin/keepassxc exec-once=${pkgs.networkmanagerapplet}/bin/nm-applet --indicator exec-once=${pkgs.blueman}/bin/blueman-applet - #exec-once=fcitx5 -d + #exec-once=fcitx5 exec-once=${pkgs.systemd}/bin/systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP exec-once=${pkgs.dbus}/bin/dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=$XDG_CURRENT_DESKTOP diff --git a/modules/gui/swaylock.nix b/modules/gui/swaylock.nix index c8d9e17c..158e8371 100644 --- a/modules/gui/swaylock.nix +++ b/modules/gui/swaylock.nix @@ -7,7 +7,7 @@ enable = true; package = inputs.nixpkgs-wayland.packages.${pkgs.system}.swaylock-effects; settings = { - daemonize = true; + daemonize = false; show-failed-attempts = true; clock = true; screenshots = true; diff --git a/modules/gui/waybar.nix b/modules/gui/waybar.nix index df2c8462..2dd56bfd 100644 --- a/modules/gui/waybar.nix +++ b/modules/gui/waybar.nix @@ -224,6 +224,7 @@ interval = 1; tooltip-format = "MPD (connected)"; tooltip-format-disconnected = "MPD (disconnected)"; + on-click = "mpc toggle"; }; }; style = '' diff --git a/modules/services/mpd.nix b/modules/services/mpd.nix index 1ec9acae..f1fe546e 100644 --- a/modules/services/mpd.nix +++ b/modules/services/mpd.nix @@ -1,26 +1,31 @@ _: { - services.mpd = { - enable = true; - musicDirectory = "~/Music"; - extraConfig = '' - audio_output { - type "pipewire" - name "PipeWire Sound Server" - } - ''; - }; - - services.mpd-mpris = { - enable = true; + services = { mpd = { - host = "127.0.0.1"; - network = "unix"; - port = 6600; - useLocal = true; + enable = true; + musicDirectory = "~/Music"; + extraConfig = '' + audio_output { + type "pipewire" + name "PipeWire Sound Server" + } + + follow_outside_symlinks "yes" + follow_inside_symlinks "yes" + ''; + }; + + mpd-mpris = { + enable = true; + mpd = { + host = "127.0.0.1"; + network = "unix"; + port = 6600; + useLocal = true; + }; + }; + + playerctld = { + enable = true; }; }; - - services.playerctld = { - enable = true; - }; } diff --git a/modules/tui/neovim/default.nix b/modules/tui/neovim/default.nix index f18842f4..1345a443 100644 --- a/modules/tui/neovim/default.nix +++ b/modules/tui/neovim/default.nix @@ -15,6 +15,8 @@ scrollOffset = 7; + useSystemClipboard = false; + maps = { normal = { "gD" = { @@ -105,6 +107,8 @@ markdown markdown-inline python + cmake + cpp ]; }; diff --git a/secrets/discord-autodelete-config.age b/secrets/discord-autodelete-config.age new file mode 100644 index 0000000000000000000000000000000000000000..ddf1aeb0b34fad6fa9c99933d2c12d4dd12a6d2d GIT binary patch literal 965 zcmZ9_-ER{G003}8;?xQWVnzs=vk-h>^|-sX*SnI&al7`~u6OO)>(@0XUVC@Fe)m4w z>m7=si;+1aIB#D|xFPmYO={qoMI96>n zabMHxBYb?8N{~W@kJ^Z^MAlV~shc@oUA?J6Ezjvzrc6_mqiIla4&n_J&G>SLNccb# zN4?%;EKqK#Lu7?__zBz+MO1%`Z-IV?3s$0FhBoLD+=_=YA}2@7B9CfO2U|(|DF?oK zW20dn&Rb)CqGgLVVm2hh1z-dTqZ*Miv#b;MmeRgNDp?ELLB@s*CUlF!z^Nip1oM<6 z!(tt3459%X#H%hzbt@*3LIuVsf`(fhg#O>8f=7rnUI+krMc`DyLI-uM0_U-Gg=F2{ zbgSqnQGyfAHNl$VCJfe2#E8psF<2r32=Bv{}za9}`3Di%E!iVzZK3Q0x_ zmEsLhb;?Xc;w%6FSm_LIk0Hg7q7u9)f&>}C6f~>RWR)thFbLbzIiVzkFbLHxp#wjy zl=UNx_xcZPd9=JVb!x1#;axO4*B;xvW8&?b#Z!xSR^D+X&h$(Itvh9Lg& z>z6whc3wE)=Z@a&?;4$!I;Hx+to)?&`MyGXeD2&z@9VXvKDbry`uFJv zmF^qUFS^go-Zed*t0cbH@z|j^`}S?S_aF#-{?fPf;P+Oz=Q+=rpHKW^?3-HqPvh6* z*=v`TZ$9Pk4llb-$2z<3HAnA{-TH9p`WsspcP-vNh+k}LNOkmwv)or*pKwQFOP8K; z^c-X!nF+MPqn7nQKHPjOJa=t*w)?f+=IK8#&J@SDo?LV3xAc|n_LU5_ZTNkU?Ynj4 zt|)YV{qO6b$wT-JXkqG$mCXw$&ri(kP?rJgL)*We2M#|my?^qv>mPf1<&o`jm${|W rZyf(<5B%4}2Ir<%>AyF=^77;HFaMZ#LR9a(JvrRjyC$^9+`sleGm&#y literal 0 HcmV?d00001 diff --git a/secrets/secrets.nix b/secrets/secrets.nix index a1160358..b0ad4253 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -9,4 +9,5 @@ let chmura = [ chmura_user chmura_host ]; in { "anki-user-credentials.age".publicKeys = niks ++ chmura; + "discord-autodelete-config.age".publicKeys = niks ++ chmura; }