diff --git a/build_all.sh b/build_all.sh new file mode 100755 index 0000000..40c13bb --- /dev/null +++ b/build_all.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash +set -euo pipefail + +# FLAKE_PATH="${1:-/tmp/flake}" +FLAKE_PATH=./flake.nix +CACHE="mycache" +GC_ROOT="/tmp/gcroots-ci" +mkdir -p "$GC_ROOT" + +declare -a paths_to_push + +# Build all NixOS configs +nixos_configs=$(nix eval --json "$FLAKE_PATH#nixosConfigurations" --apply 'builtins.attrNames' | jq -r '.[]') +for host in $nixos_configs; do + echo "▶ Building NixOS config: $host" + out_path=$(nix build --print-out-paths "$FLAKE_PATH#nixosConfigurations.${host}.config.system.build.toplevel") + paths_to_push+=("$out_path") +done + +# Build all Home Manager configs +home_configs=$(nix eval --json "$FLAKE_PATH#homeConfigurations" --apply 'builtins.attrNames' | jq -r '.[]') +for user in $home_configs; do + echo "▶ Building Home config: $user" + out_path=$(nix build --print-out-paths "$FLAKE_PATH#homeConfigurations.${user}.activationPackage") + paths_to_push+=("$out_path") +done + +# Push all at once +echo "📦 Pushing ${#paths_to_push[@]} paths to attic cache: $CACHE" +attic push "$CACHE" "${paths_to_push[@]}" + +# Clean up +nix store delete "${paths_to_push[@]}" diff --git a/common/networking/hosts.nix b/common/networking/hosts.nix index 54126d5..2f11d39 100644 --- a/common/networking/hosts.nix +++ b/common/networking/hosts.nix @@ -13,6 +13,8 @@ _: { 10.147.17.246 registry.zerotier.gwg313.xyz 10.147.17.246 ci.zerotier.gwg313.xyz 10.147.17.246 uptime.zerotier.gwg313.xyz + 10.147.17.246 hdoc.zerotier.gwg313.xyz + 10.147.17.246 cache.zerotier.gwg313.xyz @@ -24,6 +26,10 @@ _: { 10.1.10.50 s3-console.gwg313.xyz 10.1.10.50 pastebin.gwg313.xyz 10.1.10.50 audiobooks.gwg313.xyz + 10.1.10.50 snippets.gwg313.xyz + 10.1.10.50 bookmarks.gwg313.xyz 10.1.10.9 uptime.gwg313.xyz + 10.1.10.50 hdoc.gwg313.xyz + 10.1.10.13 cache.gwg313.xyz ''; } diff --git a/common/nixos/common.nix b/common/nixos/common.nix index b037ec7..c7ea2bf 100644 --- a/common/nixos/common.nix +++ b/common/nixos/common.nix @@ -33,7 +33,7 @@ nix = { settings = { substituters = [ - "https://cache.gwg313.xyz/mycache?priority=5" + # "https://cache.gwg313.xyz/mycache?priority=5" "https://cache.nixos.org?priority=10" "https://hyprland.cachix.org" "https://nix-community.cachix.org" @@ -41,7 +41,7 @@ "https://numtide.cachix.org" ]; trusted-public-keys = [ - "mycache:ovUjiiyQNUGjK8yZA4dPV1f8tIfCZrGIubdWvWpdvtc=" + # "mycache:ovUjiiyQNUGjK8yZA4dPV1f8tIfCZrGIubdWvWpdvtc=" "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" "cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g=" diff --git a/common/nixos/packages.nix b/common/nixos/packages.nix index b2c84fd..7ce9f44 100644 --- a/common/nixos/packages.nix +++ b/common/nixos/packages.nix @@ -14,6 +14,12 @@ enable = true; enableSSHSupport = true; }; + programs.nh = { + enable = true; + clean.enable = true; + clean.extraArgs = "--keep-since 4d --keep 3"; + flake = "/home/${user}/repos/nixos-config"; # sets NH_OS_FLAKE variable for you + }; environment.sessionVariables = { SSH_AUTH_SOCK = "/run/user/1000/gnupg/S.gpg-agent.ssh"; @@ -29,12 +35,8 @@ wget home-manager git - nh nix-output-monitor nvd # inputs.superfile.packages.${system}.default ]; - environment.sessionVariables = { - NH_FLAKE = "/home/${user}/repos/nixos-config"; - }; } diff --git a/flake.lock b/flake.lock index 582cdab..20784bd 100644 --- a/flake.lock +++ b/flake.lock @@ -3,15 +3,14 @@ "ags": { "inputs": { "astal": "astal", - "gnim": "gnim", "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1752328525, - "narHash": "sha256-0aaVFLQxY1dKIS5jzwhbO847yIdr3U0o2heUzC5iat4=", + "lastModified": 1756679577, + "narHash": "sha256-pkfftqE2CxVN6nKDZvlNdBxIkb/x5ch4wVfwZMYNGCM=", "owner": "Aylur", "repo": "ags", - "rev": "2eb3ea54311b0f7ba9d333d661d12cda1ed5507e", + "rev": "04d51ac4082af3ec47e8a803417a1a55b75151d7", "type": "github" }, "original": { @@ -40,11 +39,11 @@ ] }, "locked": { - "lastModified": 1752743471, - "narHash": "sha256-4izhj1j7J4mE8LgljCXSIUDculqOsxxhdoC81VhqizM=", + "lastModified": 1755946532, + "narHash": "sha256-POePremlUY5GyA1zfbtic6XLxDaQcqHN6l+bIxdT5gc=", "owner": "hyprwm", "repo": "aquamarine", - "rev": "e31b575d19e7cf8a8f4398e2f9cffe27a1332506", + "rev": "81584dae2df6ac79f6b6dae0ecb7705e95129ada", "type": "github" }, "original": { @@ -77,11 +76,11 @@ ] }, "locked": { - "lastModified": 1751740947, - "narHash": "sha256-35040CHH7P3JGmhGVfEb2oJHL/A5mI2IXumhkxrBnao=", + "lastModified": 1752743471, + "narHash": "sha256-4izhj1j7J4mE8LgljCXSIUDculqOsxxhdoC81VhqizM=", "owner": "hyprwm", "repo": "aquamarine", - "rev": "dfc1db15a08c4cd234288f66e1199c653495301f", + "rev": "e31b575d19e7cf8a8f4398e2f9cffe27a1332506", "type": "github" }, "original": { @@ -98,11 +97,11 @@ ] }, "locked": { - "lastModified": 1751126708, - "narHash": "sha256-AodIKw7TmI7rHVcOfEsO82stupMYIMVQeLAUQfVxnkU=", + "lastModified": 1756474652, + "narHash": "sha256-iiBU6itpEqE0spXeNJ3uJTfioSyKYjt5bNepykpDXTE=", "owner": "aylur", "repo": "astal", - "rev": "ac90f09385a2295da9fdc108aaba4a317aaeacc7", + "rev": "20bd8318e4136fbd3d4eb2d64dbabc3acbc915dd", "type": "github" }, "original": { @@ -116,11 +115,11 @@ "fromYaml": "fromYaml" }, "locked": { - "lastModified": 1746562888, - "narHash": "sha256-YgNJQyB5dQiwavdDFBMNKk1wyS77AtdgDk/VtU6wEaI=", + "lastModified": 1755819240, + "narHash": "sha256-qcMhnL7aGAuFuutH4rq9fvAhCpJWVHLcHVZLtPctPlo=", "owner": "SenchoPens", "repo": "base16.nix", - "rev": "806a1777a5db2a1ef9d5d6f493ef2381047f2b89", + "rev": "75ed5e5e3fce37df22e49125181fa37899c3ccd6", "type": "github" }, "original": { @@ -219,11 +218,11 @@ "stable": "stable" }, "locked": { - "lastModified": 1752287590, - "narHash": "sha256-U1IqFnxlgCRrPaeT5IGCdH0j9CNLPFcI/fRAidi0aDQ=", + "lastModified": 1755272288, + "narHash": "sha256-ypTPb2eKcOBbOoyvPV0j4ZOXs4kayo73/2KI456QnE0=", "owner": "zhaofengli", "repo": "colmena", - "rev": "d2beb694d54db653399b8597c0f6e15e20b26405", + "rev": "5bf4ce6a24adba74a5184f4a9bef01d545a09473", "type": "github" }, "original": { @@ -243,11 +242,11 @@ ] }, "locked": { - "lastModified": 1753386188, - "narHash": "sha256-x6VQB+z3brzYWscvY/UenGFv+FXc/G/5y1IT1TwtUms=", + "lastModified": 1757257819, + "narHash": "sha256-YJMXP05JX2eS5sCy+/vfOP+52AEawTOYyWorW98f+bA=", "owner": "cachix", "repo": "devenv", - "rev": "a19c43648f108256e442e46dc32d4eee57c71ac3", + "rev": "21d0c09bb318e14c9596344c57273bd457b76f53", "type": "github" }, "original": { @@ -260,11 +259,11 @@ "firefox-gnome-theme": { "flake": false, "locked": { - "lastModified": 1748383148, - "narHash": "sha256-pGvD/RGuuPf/4oogsfeRaeMm6ipUIznI2QSILKjKzeA=", + "lastModified": 1756083905, + "narHash": "sha256-UqYGTBgI5ypGh0Kf6zZjom/vABg7HQocB4gmxzl12uo=", "owner": "rafaelmardojai", "repo": "firefox-gnome-theme", - "rev": "4eb2714fbed2b80e234312611a947d6cb7d70caf", + "rev": "b655eaf16d4cbec9c3472f62eee285d4b419a808", "type": "github" }, "original": { @@ -308,11 +307,11 @@ "flake-compat_3": { "flake": false, "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "lastModified": 1747046372, + "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", "owner": "edolstra", "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", "type": "github" }, "original": { @@ -370,11 +369,11 @@ "flake-compat_7": { "flake": false, "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "lastModified": 1747046372, + "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", "owner": "edolstra", "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", "type": "github" }, "original": { @@ -426,11 +425,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1749398372, - "narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=", + "lastModified": 1754091436, + "narHash": "sha256-XKqDMN1/Qj1DKivQvscI4vmHfDfvYR2pfuFOJiCeewM=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569", + "rev": "67df8c627c2c39c41dbec76a1f201929929ab0bd", "type": "github" }, "original": { @@ -447,11 +446,11 @@ ] }, "locked": { - "lastModified": 1751413152, - "narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=", + "lastModified": 1754487366, + "narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "77826244401ea9de6e3bac47c2db46005e1f30b5", + "rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18", "type": "github" }, "original": { @@ -468,11 +467,11 @@ ] }, "locked": { - "lastModified": 1753121425, - "narHash": "sha256-TVcTNvOeWWk1DXljFxVRp+E0tzG1LhrVjOGGoMHuXio=", + "lastModified": 1756770412, + "narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "644e0fc48951a860279da645ba77fe4a6e814c5e", + "rev": "4524271976b625a4a605beefd893f270620fd751", "type": "github" }, "original": { @@ -489,11 +488,11 @@ ] }, "locked": { - "lastModified": 1751413152, - "narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=", + "lastModified": 1756770412, + "narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "77826244401ea9de6e3bac47c2db46005e1f30b5", + "rev": "4524271976b625a4a605beefd893f270620fd751", "type": "github" }, "original": { @@ -536,27 +535,6 @@ } }, "flake-utils_3": { - "inputs": { - "systems": [ - "nvf", - "systems" - ] - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_4": { "inputs": { "systems": "systems_8" }, @@ -704,22 +682,6 @@ "type": "github" } }, - "gnim": { - "flake": false, - "locked": { - "lastModified": 1751928958, - "narHash": "sha256-vQY2L+Hnp6F1MHFa3UbMft1goGw3iODI5M+96Z7P+9Q=", - "owner": "aylur", - "repo": "gnim", - "rev": "9bffa83f52f711b13e3c139454623a9aea4f5552", - "type": "github" - }, - "original": { - "owner": "aylur", - "repo": "gnim", - "type": "github" - } - }, "gnome-shell": { "flake": false, "locked": { @@ -769,11 +731,11 @@ ] }, "locked": { - "lastModified": 1753387274, - "narHash": "sha256-Y1hAI9h+9DLBbgKvZBsHaeptFIcRw4iC6ySPmzyqmlM=", + "lastModified": 1757256385, + "narHash": "sha256-WK7tOhWwr15mipcckhDg2no/eSpM1nIh4C9le8HgHhk=", "owner": "nix-community", "repo": "home-manager", - "rev": "a35f6b60430ff0c7803bd2a727df84c87569c167", + "rev": "f35703b412c67b48e97beb6e27a6ab96a084cd37", "type": "github" }, "original": { @@ -791,11 +753,11 @@ ] }, "locked": { - "lastModified": 1753387274, - "narHash": "sha256-Y1hAI9h+9DLBbgKvZBsHaeptFIcRw4iC6ySPmzyqmlM=", + "lastModified": 1752603129, + "narHash": "sha256-S+wmHhwNQ5Ru689L2Gu8n1OD6s9eU9n9mD827JNR+kw=", "owner": "nix-community", "repo": "home-manager", - "rev": "a35f6b60430ff0c7803bd2a727df84c87569c167", + "rev": "e8c19a3cec2814c754f031ab3ae7316b64da085b", "type": "github" }, "original": { @@ -820,11 +782,11 @@ ] }, "locked": { - "lastModified": 1749155331, - "narHash": "sha256-XR9fsI0zwLiFWfqi/pdS/VD+YNorKb3XIykgTg4l1nA=", + "lastModified": 1753964049, + "narHash": "sha256-lIqabfBY7z/OANxHoPeIrDJrFyYy9jAM4GQLzZ2feCM=", "owner": "hyprwm", "repo": "hyprcursor", - "rev": "45fcc10b4c282746d93ec406a740c43b48b4ef80", + "rev": "44e91d467bdad8dcf8bbd2ac7cf49972540980a5", "type": "github" }, "original": { @@ -881,11 +843,11 @@ ] }, "locked": { - "lastModified": 1752149140, - "narHash": "sha256-gbh1HL98Fdqu0jJIWN4OJQN7Kkth7+rbkFpSZLm/62A=", + "lastModified": 1755678602, + "narHash": "sha256-uEC5O/NIUNs1zmc1aH1+G3GRACbODjk2iS0ET5hXtuk=", "owner": "hyprwm", "repo": "hyprgraphics", - "rev": "340494a38b5ec453dfc542c6226481f736cc8a9a", + "rev": "157cc52065a104fc3b8fa542ae648b992421d1c7", "type": "github" }, "original": { @@ -913,11 +875,11 @@ ] }, "locked": { - "lastModified": 1751808145, - "narHash": "sha256-OXgL0XaKMmfX2rRQkt9SkJw+QNfv0jExlySt1D6O72g=", + "lastModified": 1752149140, + "narHash": "sha256-gbh1HL98Fdqu0jJIWN4OJQN7Kkth7+rbkFpSZLm/62A=", "owner": "hyprwm", "repo": "hyprgraphics", - "rev": "b841473a0bd4a1a74a0b64f1ec2ab199035c349f", + "rev": "340494a38b5ec453dfc542c6226481f736cc8a9a", "type": "github" }, "original": { @@ -942,11 +904,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1753448340, - "narHash": "sha256-bzWFkdiBoDYGVplNBsaDG2K6hJZTXFrHsOkG47PrcE4=", + "lastModified": 1757180583, + "narHash": "sha256-Ms2/f+vzcYezat/uaYjdnhTb00dtZ81qGvsNGLAE3h0=", "ref": "refs/heads/main", - "rev": "fd0c1f2ab492e8977305b6d00a6ea1cc293d6b6b", - "revCount": 6312, + "rev": "bce43f74eb8e4570d0d043f5fc8257eef7a57399", + "revCount": 6411, "submodules": true, "type": "git", "url": "https://github.com/hyprwm/Hyprland" @@ -1125,11 +1087,11 @@ ] }, "locked": { - "lastModified": 1750371812, - "narHash": "sha256-D868K1dVEACw17elVxRgXC6hOxY+54wIEjURztDWLk8=", + "lastModified": 1753819801, + "narHash": "sha256-tHe6XeNeVeKapkNM3tcjW4RuD+tB2iwwoogWJOtsqTI=", "owner": "hyprwm", "repo": "hyprland-qtutils", - "rev": "b13c7481e37856f322177010bdf75fccacd1adc8", + "rev": "b308a818b9dcaa7ab8ccab891c1b84ebde2152bc", "type": "github" }, "original": { @@ -1197,11 +1159,11 @@ "xdph": "xdph_2" }, "locked": { - "lastModified": 1752149340, - "narHash": "sha256-DJc2ROpttbP6FHcXwWpmK7EB2cpVsP/LmXjEr8RWcO8=", + "lastModified": 1753523167, + "narHash": "sha256-VlRatMh0YqAYP2zUUe62mafb6jEuuzXX3mQ98b1Ifbo=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "b5433bb75324a95dd27eb5492141565466c2cdd6", + "rev": "e1fff05d0db9c266679ec7ea1b5734c73d6b0a57", "type": "github" }, "original": { @@ -1226,11 +1188,11 @@ ] }, "locked": { - "lastModified": 1750371198, - "narHash": "sha256-/iuJ1paQOBoSLqHflRNNGyroqfF/yvPNurxzcCT0cAE=", + "lastModified": 1753622892, + "narHash": "sha256-0K+A+gmOI8IklSg5It1nyRNv0kCNL51duwnhUO/B8JA=", "owner": "hyprwm", "repo": "hyprlang", - "rev": "cee01452bca58d6cadb3224e21e370de8bc20f0b", + "rev": "23f0debd2003f17bd65f851cd3f930cff8a8c809", "type": "github" }, "original": { @@ -1307,11 +1269,11 @@ "systems": "systems_2" }, "locked": { - "lastModified": 1750372026, - "narHash": "sha256-TNK4bEM5vnbN0lj1zTjWYMrUFzjXq7ytkEMGaKP7czM=", + "lastModified": 1753969989, + "narHash": "sha256-39xQ6iitVz9KVJz6PPRR+pkS5hBogq25BDd24eUDOQg=", "owner": "hyprwm", "repo": "hyprpolkitagent", - "rev": "5f8de19fd0d723c421fc7892f5d2a2ac76994066", + "rev": "7e4054410f6d6331b239fea1c659ad6a917fbf6a", "type": "github" }, "original": { @@ -1326,11 +1288,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1752663231, - "narHash": "sha256-rTItuAWpzICMREF8Ww8cK4hYgNMRXJ4wjkN0akLlaWE=", + "lastModified": 1754887838, + "narHash": "sha256-npC+H+Wl60EdrV75sjqm+bbbLbKgCCGn4ALSM0B2OWA=", "owner": "KZDKM", "repo": "Hyprspace", - "rev": "0a82e3724f929de8ad8fb04d2b7fa128493f24f7", + "rev": "2b61fd2115262243b03aa9afe8dfd8a78e71636c", "type": "github" }, "original": { @@ -1351,11 +1313,11 @@ ] }, "locked": { - "lastModified": 1752252310, - "narHash": "sha256-06i1pIh6wb+sDeDmWlzuPwIdaFMxLlj1J9I5B9XqSeo=", + "lastModified": 1756117388, + "narHash": "sha256-oRDel6pNl/T2tI+nc/USU9ZP9w08dxtl7hiZxa0C/Wc=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "bcabcbada90ed2aacb435dc09b91001819a6dc82", + "rev": "b2ae3204845f5f2f79b4703b441252d8ad2ecfd0", "type": "github" }, "original": { @@ -1432,11 +1394,11 @@ ] }, "locked": { - "lastModified": 1751888065, - "narHash": "sha256-F2SV9WGqgtRsXIdUrl3sRe0wXlQD+kRRZcSfbepjPJY=", + "lastModified": 1752252310, + "narHash": "sha256-06i1pIh6wb+sDeDmWlzuPwIdaFMxLlj1J9I5B9XqSeo=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "a8229739cf36d159001cfc203871917b83fdf917", + "rev": "bcabcbada90ed2aacb435dc09b91001819a6dc82", "type": "github" }, "original": { @@ -1457,11 +1419,11 @@ ] }, "locked": { - "lastModified": 1751897909, - "narHash": "sha256-FnhBENxihITZldThvbO7883PdXC/2dzW4eiNvtoV5Ao=", + "lastModified": 1755184602, + "narHash": "sha256-RCBQN8xuADB0LEgaKbfRqwm6CdyopE1xIEhNc67FAbw=", "owner": "hyprwm", "repo": "hyprwayland-scanner", - "rev": "fcca0c61f988a9d092cbb33e906775014c61579d", + "rev": "b3b0f1f40ae09d4447c20608e5a4faf8bf3c492d", "type": "github" }, "original": { @@ -1484,11 +1446,11 @@ ] }, "locked": { - "lastModified": 1751881472, - "narHash": "sha256-meB0SnXbwIe2trD041MLKEv6R7NZ759QwBcVIhlSBfE=", + "lastModified": 1751897909, + "narHash": "sha256-FnhBENxihITZldThvbO7883PdXC/2dzW4eiNvtoV5Ao=", "owner": "hyprwm", "repo": "hyprwayland-scanner", - "rev": "8fb426b3e5452fd9169453fd6c10f8c14ca37120", + "rev": "fcca0c61f988a9d092cbb33e906775014c61579d", "type": "github" }, "original": { @@ -1511,27 +1473,27 @@ ] }, "locked": { - "lastModified": 1748294338, - "narHash": "sha256-FVO01jdmUNArzBS7NmaktLdGA5qA3lUMJ4B7a05Iynw=", + "lastModified": 1754860581, + "narHash": "sha256-EM0IE63OHxXCOpDHXaTyHIOk2cNvMCGPqLt/IdtVxgk=", "owner": "NuschtOS", "repo": "ixx", - "rev": "cc5f390f7caf265461d4aab37e98d2292ebbdb85", + "rev": "babfe85a876162c4acc9ab6fb4483df88fa1f281", "type": "github" }, "original": { "owner": "NuschtOS", - "ref": "v0.0.8", + "ref": "v0.1.1", "repo": "ixx", "type": "github" } }, "mnw": { "locked": { - "lastModified": 1748710831, - "narHash": "sha256-eZu2yH3Y2eA9DD3naKWy/sTxYS5rPK2hO7vj8tvUCSU=", + "lastModified": 1756659871, + "narHash": "sha256-v6Rh4aQ6RKjM2N02kK9Usn0Ix7+OY66vNpeklc1MnGE=", "owner": "Gerg-L", "repo": "mnw", - "rev": "cff958a4e050f8d917a6ff3a5624bc4681c6187d", + "rev": "ed6cc3e48557ba18266e598a5ebb6602499ada16", "type": "github" }, "original": { @@ -1563,11 +1525,11 @@ ] }, "locked": { - "lastModified": 1752773918, - "narHash": "sha256-dOi/M6yNeuJlj88exI+7k154z+hAhFcuB8tZktiW7rg=", + "lastModified": 1755029779, + "narHash": "sha256-3+GHIYGg4U9XKUN4rg473frIVNn8YD06bjwxKS1IPrU=", "owner": "cachix", "repo": "nix", - "rev": "031c3cf42d2e9391eee373507d8c12e0f9606779", + "rev": "b0972b0eee6726081d10b1199f54de6d2917f861", "type": "github" }, "original": { @@ -1605,11 +1567,11 @@ ] }, "locked": { - "lastModified": 1752985182, - "narHash": "sha256-sX8Neff8lp3TCHai6QmgLr5AD8MdsQQX3b52C1DVXR8=", + "lastModified": 1757218147, + "narHash": "sha256-IwOwN70HvoBNB2ckaROxcaCvj5NudNc52taPsv5wtLk=", "owner": "Mic92", "repo": "nix-index-database", - "rev": "fafdcb505ba605157ff7a7eeea452bc6d6cbc23c", + "rev": "9b144dc3ef6e42b888c4190e02746aab13b0e97f", "type": "github" }, "original": { @@ -1625,11 +1587,11 @@ ] }, "locked": { - "lastModified": 1753088945, - "narHash": "sha256-SIPudElkFWXnrHVE2dJYyianVGtY0M9i76paqszHU5U=", + "lastModified": 1756133168, + "narHash": "sha256-yvehjJD0TqfixoAJLb2SHWGMULQ312h7MsIM47iKgSg=", "owner": "Mic92", "repo": "nix-ld", - "rev": "c6298a7e607500720202221eb4e92317c900e000", + "rev": "ba0e76d84d88cc4fc65d589fb4c3c7a609990433", "type": "github" }, "original": { @@ -1645,11 +1607,11 @@ "nixpkgs": "nixpkgs_6" }, "locked": { - "lastModified": 1753407704, - "narHash": "sha256-TRJXudGSVk05NpRB+2HJ4AiOm0mXAm+M31PoOh4xchY=", + "lastModified": 1757207094, + "narHash": "sha256-uADYOTehuYQu6XsCHPe+57GYOxQNo063Ws52DqGbZDs=", "owner": "kaylorben", "repo": "nixcord", - "rev": "855a08344b3e9a5428f797df07de3f2c0c2e4799", + "rev": "f96fbdd36e43319a5459bd8a807395afe4d63105", "type": "github" }, "original": { @@ -1660,11 +1622,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1751792365, - "narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=", + "lastModified": 1756542300, + "narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb", + "rev": "d7600c775f877cd87b4f5a831c28aa94137377aa", "type": "github" }, "original": { @@ -1692,11 +1654,11 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1748740939, - "narHash": "sha256-rQaysilft1aVMwF14xIdGS3sj1yHlI6oKQNBRTF40cc=", + "lastModified": 1753579242, + "narHash": "sha256-zvaMGVn14/Zz8hnp4VWT9xVnhc8vuL3TStRqwk22biA=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "656a64127e9d791a334452c6b6606d17539476e2", + "rev": "0f36c44e01a6129be94e3ade315a5883f0228a6e", "type": "github" }, "original": { @@ -1707,11 +1669,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1753250450, - "narHash": "sha256-i+CQV2rPmP8wHxj0aq4siYyohHwVlsh40kV89f3nw1s=", + "lastModified": 1757068644, + "narHash": "sha256-NOrUtIhTkIIumj1E/Rsv1J37Yi3xGStISEo8tZm3KW4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "fc02ee70efb805d3b2865908a13ddd4474557ecf", + "rev": "8eb28adfa3dc4de28e792e3bf49fcf9007ca8ac9", "type": "github" }, "original": { @@ -1739,11 +1701,11 @@ }, "nixpkgs_11": { "locked": { - "lastModified": 1753250450, - "narHash": "sha256-i+CQV2rPmP8wHxj0aq4siYyohHwVlsh40kV89f3nw1s=", + "lastModified": 1755615617, + "narHash": "sha256-HMwfAJBdrr8wXAkbGhtcby1zGFvs+StOp19xNsbqdOg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "fc02ee70efb805d3b2865908a13ddd4474557ecf", + "rev": "20075955deac2583bb12f07151c2df830ef346b4", "type": "github" }, "original": { @@ -1771,11 +1733,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1752687322, - "narHash": "sha256-RKwfXA4OZROjBTQAl9WOZQFm7L8Bo93FQwSJpAiSRvo=", + "lastModified": 1756266583, + "narHash": "sha256-cr748nSmpfvnhqSXPiCfUPxRz2FJnvf/RjJGvFfaCsM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6e987485eb2c77e5dcc5af4e3c70843711ef9251", + "rev": "8a6d5427d99ec71c64f0b93d45778c889005d9c2", "type": "github" }, "original": { @@ -1803,11 +1765,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1751792365, - "narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=", + "lastModified": 1752687322, + "narHash": "sha256-RKwfXA4OZROjBTQAl9WOZQFm7L8Bo93FQwSJpAiSRvo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb", + "rev": "6e987485eb2c77e5dcc5af4e3c70843711ef9251", "type": "github" }, "original": { @@ -1819,11 +1781,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1749494155, - "narHash": "sha256-FG4DEYBpROupu758beabUk9lhrblSf5hnv84v1TLqMc=", + "lastModified": 1754028485, + "narHash": "sha256-IiiXB3BDTi6UqzAZcf2S797hWEPCRZOwyNThJIYhUfk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "88331c17ba434359491e8d5889cce872464052c2", + "rev": "59e69648d345d6e8fef86158c555730fa12af9de", "type": "github" }, "original": { @@ -1835,11 +1797,11 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1753250450, - "narHash": "sha256-i+CQV2rPmP8wHxj0aq4siYyohHwVlsh40kV89f3nw1s=", + "lastModified": 1757068644, + "narHash": "sha256-NOrUtIhTkIIumj1E/Rsv1J37Yi3xGStISEo8tZm3KW4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "fc02ee70efb805d3b2865908a13ddd4474557ecf", + "rev": "8eb28adfa3dc4de28e792e3bf49fcf9007ca8ac9", "type": "github" }, "original": { @@ -1851,11 +1813,11 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1752077645, - "narHash": "sha256-HM791ZQtXV93xtCY+ZxG1REzhQenSQO020cu6rHtAPk=", + "lastModified": 1755829505, + "narHash": "sha256-4/Jd+LkQ2ssw8luQVkqVs9spDBVE6h/u/hC/tzngsPo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "be9e214982e20b8310878ac2baa063a961c1bdf6", + "rev": "f937f8ecd1c70efd7e9f90ba13dfb400cf559de4", "type": "github" }, "original": { @@ -1889,11 +1851,11 @@ "systems": "systems_5" }, "locked": { - "lastModified": 1752976861, - "narHash": "sha256-59HcrqHfbSJUdmpzrAa9x8fW1PoS+ZGhCjL5k5HbyV8=", + "lastModified": 1757262063, + "narHash": "sha256-ZDaOhRQuEdwHza85JBBSh0a40YoSYN5nQEzUYIg+p3Q=", "owner": "nix-community", "repo": "nixvim", - "rev": "0c50ed9349199219583cb1ed1a972d71e06039ec", + "rev": "3813f183bc97100065554050b8b818b741a4e502", "type": "github" }, "original": { @@ -1914,11 +1876,11 @@ ] }, "locked": { - "lastModified": 1751906969, - "narHash": "sha256-BSQAOdPnzdpOuCdAGSJmefSDlqmStFNScEnrWzSqKPw=", + "lastModified": 1756961635, + "narHash": "sha256-hETvQcILTg5kChjYNns1fD5ELdsYB/VVgVmBtqKQj9A=", "owner": "nix-community", "repo": "NUR", - "rev": "ddb679f4131e819efe3bbc6457ba19d7ad116f25", + "rev": "6ca27b2654ac55e3f6e0ca434c1b4589ae22b370", "type": "github" }, "original": { @@ -1937,11 +1899,11 @@ ] }, "locked": { - "lastModified": 1749730855, - "narHash": "sha256-L3x2nSlFkXkM6tQPLJP3oCBMIsRifhIDPMQQdHO5xWo=", + "lastModified": 1755555503, + "narHash": "sha256-WiOO7GUOsJ4/DoMy2IC5InnqRDSo2U11la48vCCIjjY=", "owner": "NuschtOS", "repo": "search", - "rev": "8dfe5879dd009ff4742b668d9c699bc4b9761742", + "rev": "6f3efef888b92e6520f10eae15b86ff537e1d2ea", "type": "github" }, "original": { @@ -1954,7 +1916,6 @@ "inputs": { "flake-compat": "flake-compat_6", "flake-parts": "flake-parts_4", - "flake-utils": "flake-utils_3", "mnw": "mnw", "nixpkgs": [ "nixpkgs" @@ -1962,11 +1923,11 @@ "systems": "systems_6" }, "locked": { - "lastModified": 1753369692, - "narHash": "sha256-PpeSQWUZCKXinsFO/tJ+T1V8zfrd8XPS1eWZhYu6jKk=", + "lastModified": 1757095994, + "narHash": "sha256-AXwM6/7CuQ39iwBqmc6ZNkVcCdFiK4MFRIGQgU6Mkyk=", "owner": "notashelf", "repo": "nvf", - "rev": "a125a61d6bec1594d0378dab06169dd92272f63b", + "rev": "fb31022b366ad21951f0352f0cc282cc6a8e9e6f", "type": "github" }, "original": { @@ -1985,11 +1946,11 @@ ] }, "locked": { - "lastModified": 1750779888, - "narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=", + "lastModified": 1755960406, + "narHash": "sha256-RF7j6C1TmSTK9tYWO6CdEMtg6XZaUKcvZwOCD2SICZs=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d", + "rev": "e891a93b193fcaf2fc8012d890dc7f0befe86ec2", "type": "github" }, "original": { @@ -2031,11 +1992,11 @@ ] }, "locked": { - "lastModified": 1750779888, - "narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=", + "lastModified": 1757239681, + "narHash": "sha256-E9spYi9lxm2f1zWQLQ7xQt8Xs2nWgr1T4QM7ZjLFphM=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d", + "rev": "ab82ab08d6bf74085bd328de2a8722c12d97bd9d", "type": "github" }, "original": { @@ -2089,11 +2050,11 @@ "nixpkgs": "nixpkgs_9" }, "locked": { - "lastModified": 1752544651, - "narHash": "sha256-GllP7cmQu7zLZTs9z0J2gIL42IZHa9CBEXwBY9szT0U=", + "lastModified": 1754988908, + "narHash": "sha256-t+voe2961vCgrzPFtZxha0/kmFSHFobzF00sT8p9h0U=", "owner": "Mic92", "repo": "sops-nix", - "rev": "2c8def626f54708a9c38a5861866660395bb3461", + "rev": "3223c7a92724b5d804e9988c6b447a0d09017d48", "type": "github" }, "original": { @@ -2139,11 +2100,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1753372006, - "narHash": "sha256-eyIYqerHPYHl2Eq802wJSOwMwZ3tdvJ4D+vckDe2mD8=", + "lastModified": 1757172691, + "narHash": "sha256-VOn/s24rb+iO6auhmGfT5kyr0ixRK6weBsNCKkGo2yY=", "owner": "danth", "repo": "stylix", - "rev": "ceda12a6da2181e424d8ed7e68ed291745f06f49", + "rev": "9991299fe9aad330fb6b96bb58def37033271177", "type": "github" }, "original": { @@ -2155,16 +2116,16 @@ "superfile": { "inputs": { "flake-compat": "flake-compat_8", - "flake-utils": "flake-utils_4", + "flake-utils": "flake-utils_3", "gomod2nix": "gomod2nix", "nixpkgs": "nixpkgs_10" }, "locked": { - "lastModified": 1753351340, - "narHash": "sha256-A1SWsBcPtGNbSReslp5L3Gg4hy3lDSccqGxFpLfVPrk=", + "lastModified": 1757058434, + "narHash": "sha256-79PHblCIwklma2o4fQsFbZ0q+gmdFKQH2smBl1FmjjA=", "owner": "MHNightCat", "repo": "superfile", - "rev": "b444bdb2b646dd6f20c5005a71f91f630a44d052", + "rev": "51a71f25abee58c1a3dd148a59a62b06402fa920", "type": "github" }, "original": { @@ -2329,11 +2290,11 @@ "tinted-schemes": { "flake": false, "locked": { - "lastModified": 1750770351, - "narHash": "sha256-LI+BnRoFNRa2ffbe3dcuIRYAUcGklBx0+EcFxlHj0SY=", + "lastModified": 1754779259, + "narHash": "sha256-8KG2lXGaXLUE0F/JVwLQe7kOVm21IDfNEo0gfga5P4M=", "owner": "tinted-theming", "repo": "schemes", - "rev": "5a775c6ffd6e6125947b393872cde95867d85a2a", + "rev": "097d751b9e3c8b97ce158e7d141e5a292545b502", "type": "github" }, "original": { @@ -2345,11 +2306,11 @@ "tinted-tmux": { "flake": false, "locked": { - "lastModified": 1751159871, - "narHash": "sha256-UOHBN1fgHIEzvPmdNMHaDvdRMgLmEJh2hNmDrp3d3LE=", + "lastModified": 1754788770, + "narHash": "sha256-LAu5nBr7pM/jD9jwFc6/kyFY4h7Us4bZz7dvVvehuwo=", "owner": "tinted-theming", "repo": "tinted-tmux", - "rev": "bded5e24407cec9d01bd47a317d15b9223a1546c", + "rev": "fb2175accef8935f6955503ec9dd3c973eec385c", "type": "github" }, "original": { @@ -2361,11 +2322,11 @@ "tinted-zed": { "flake": false, "locked": { - "lastModified": 1751158968, - "narHash": "sha256-ksOyv7D3SRRtebpXxgpG4TK8gZSKFc4TIZpR+C98jX8=", + "lastModified": 1755613540, + "narHash": "sha256-zBFrrTxHLDMDX/OYxkCwGGbAhPXLi8FrnLhYLsSOKeY=", "owner": "tinted-theming", "repo": "base16-zed", - "rev": "86a470d94204f7652b906ab0d378e4231a5b3384", + "rev": "937bada16cd3200bdbd3a2f5776fc3b686d5cba0", "type": "github" }, "original": { @@ -2402,11 +2363,11 @@ ] }, "locked": { - "lastModified": 1751300244, - "narHash": "sha256-PFuv1TZVYvQhha0ac53E3YgdtmLShrN0t4T6xqHl0jE=", + "lastModified": 1755354946, + "narHash": "sha256-zdov5f/GcoLQc9qYIS1dUTqtJMeDqmBmo59PAxze6e4=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "6115f3fdcb2c1a57b4a80a69f3c797e47607b90a", + "rev": "a10726d6a8d0ef1a0c645378f983b6278c42eaa0", "type": "github" }, "original": { @@ -2468,11 +2429,11 @@ "nixpkgs": "nixpkgs_11" }, "locked": { - "lastModified": 1753417538, - "narHash": "sha256-Z/MbHMjvHoC57sQS43/oLwzEQebT5ST8MRU8Zcb5428=", + "lastModified": 1757218898, + "narHash": "sha256-mB3z1ssPry/wHgLd8gFOaltwQ9kIRTqrzikkcnxG720=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "d04bdc75b3d203b951ce00cbb6a7ab410ab110c6", + "rev": "2255b29eece0757827b9911ef685c963996542b6", "type": "github" }, "original": { diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix index de2739c..d5eb1dd 100644 --- a/home-manager/modules/common.nix +++ b/home-manager/modules/common.nix @@ -29,6 +29,7 @@ attic-client ncdu minio-client + kanata # Editors # neovim # Improved version of vim, often used with overlays. diff --git a/home-manager/modules/gammastep.nix b/home-manager/modules/gammastep.nix deleted file mode 100644 index 1256e14..0000000 --- a/home-manager/modules/gammastep.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ - services.gammastep = { - enable = true; - latitude = 45.4; - longitude = -75.7; - temperature = { - day = 6500; - night = 3500; - }; - tray = true; - }; -} diff --git a/home-manager/modules/ghostty.nix b/home-manager/modules/ghostty.nix index e9ba672..a68e100 100644 --- a/home-manager/modules/ghostty.nix +++ b/home-manager/modules/ghostty.nix @@ -12,14 +12,15 @@ # background-opacity = 0.8; background-opacity = 1; confirm-close-surface = false; - font-family = lib.mkForce "Comic Code Ligatures"; - font-size = 16; + # font-family = lib.mkForce "Comic Code Ligatures"; + font-family = lib.mkForce "Terminus"; + font-size = 9; gtk-titlebar = false; # theme = "Teerb"; }; - }; home.packages = with pkgs; [ ueberzugpp + terminus_font_ttf ]; } diff --git a/home-manager/modules/hyprland/default.nix b/home-manager/modules/hyprland/default.nix index ffe6444..caae2ce 100644 --- a/home-manager/modules/hyprland/default.nix +++ b/home-manager/modules/hyprland/default.nix @@ -140,7 +140,7 @@ in }; gestures = { - workspace_swipe = true; + workspace = true; }; misc = { diff --git a/home-manager/modules/nixcord.nix b/home-manager/modules/nixcord.nix index ce30e0c..09a3981 100644 --- a/home-manager/modules/nixcord.nix +++ b/home-manager/modules/nixcord.nix @@ -1,25 +1,12 @@ +# Discord is a popular chat application. +{ inputs, ... }: { - # ... + # imports = [inputs.nixcord.homeModules.nixcord]; + programs.nixcord = { enable = true; - # quickCss = "some CSS"; config = { - # useQuickCss = true; - themeLinks = [ - ]; - frameless = true; # set some Vencord options - plugins = { - hideAttachments.enable = true; - ignoreActivities = { - enable = true; - ignorePlaying = true; - ignoreWatching = true; - # ignoredActivities = [ "someActivity" ]; - }; - }; - }; - extraConfig = { + frameless = true; }; }; - # ... } diff --git a/home-manager/modules/nvf/default.nix b/home-manager/modules/nvf/default.nix index dec6519..2f2feff 100644 --- a/home-manager/modules/nvf/default.nix +++ b/home-manager/modules/nvf/default.nix @@ -18,8 +18,10 @@ programs.nvf = { enable = true; settings.vim = { - startPlugins = [ - pkgs.vimPlugins.vim-kitty-navigator + startPlugins = with pkgs; [ + # pkgs.vimPlugins.vim-kitty-navigator + vimPlugins.grug-far-nvim + vimPlugins.image-nvim ]; }; }; diff --git a/home-manager/modules/nvf/languages.nix b/home-manager/modules/nvf/languages.nix index c17999d..541f1c2 100644 --- a/home-manager/modules/nvf/languages.nix +++ b/home-manager/modules/nvf/languages.nix @@ -1,9 +1,38 @@ +{ + lib, + pkgs, + ... +}: { programs.nvf.settings.vim = { diagnostics = { enable = true; - nvim-lint.enable = true; - config.virtual_text = true; + config = { + signs = { + text = { + "vim.diagnostic.severity.Error" = " "; + "vim.diagnostic.severity.Warn" = " "; + "vim.diagnostic.severity.Hint" = " "; + "vim.diagnostic.severity.Info" = " "; + }; + }; + underline = true; + update_in_insert = true; + virtual_text = { + format = + lib.generators.mkLuaInline + # lua + '' + function(diagnostic) + return string.format("%s", diagnostic.message) + --return string.format("%s (%s)", diagnostic.message, diagnostic.source) + end + ''; + }; + }; + nvim-lint = { + enable = true; + }; }; syntaxHighlighting = true; treesitter = { @@ -18,11 +47,38 @@ lsp = { enable = true; trouble.enable = true; + lspSignature.enable = true; + lspconfig.enable = true; formatOnSave = true; inlayHints.enable = true; - lightbulb.enable = true; null-ls.enable = true; - otter-nvim.enable = true; + servers.nixd.settings.nil.nix.autoArchive = true; + otter-nvim = { + enable = true; + setupOpts = { + buffers.set_filetype = true; + lsp = { + diagnostic_update_event = [ + "BufWritePost" + "InsertLeave" + ]; + }; + }; + }; + lspkind.enable = true; + lspsaga = { + enable = true; + setupOpts = { + ui = { + code_action = ""; + }; + lightbulb = { + sign = false; + virtual_text = true; + }; + breadcrumbs.enable = false; + }; + }; }; languages = { enableDAP = true; @@ -35,15 +91,38 @@ java.enable = true; clang.enable = true; go.enable = true; - markdown.enable = true; + markdown = { + enable = true; + format.type = "prettierd"; + extensions = { + markview-nvim = { + enable = true; + }; + }; + extraDiagnostics.enable = true; + }; ts.enable = true; ts.extensions.ts-error-translator.enable = true; css.enable = true; svelte.enable = true; + haskell.enable = true; + haskell.lsp.enable = true; html.enable = true; bash.enable = true; nix.enable = true; tailwind.enable = true; + typst = { + enable = true; + lsp.enable = true; + lsp.server = "tinymist"; + format.enable = true; + treesitter.enable = true; + }; + }; + formatter = { + conform-nvim = { + enable = true; + }; }; }; } diff --git a/home-manager/modules/nvf/snacks.nix b/home-manager/modules/nvf/snacks.nix index f0faf03..0624537 100644 --- a/home-manager/modules/nvf/snacks.nix +++ b/home-manager/modules/nvf/snacks.nix @@ -4,7 +4,10 @@ setupOpts = { image = { enabled = true; - setupOpts.doc.inline = false; + doc = { + inline = false; + float = true; + }; }; quickfile.enabled = true; statuscolumn.enabled = true; diff --git a/home-manager/modules/nvf/utils.nix b/home-manager/modules/nvf/utils.nix index 1d56d97..2d5900a 100644 --- a/home-manager/modules/nvf/utils.nix +++ b/home-manager/modules/nvf/utils.nix @@ -1,6 +1,11 @@ -{ lib, ... }: +{ + lib, + pkgs, + ... +}: { programs.nvf.settings.vim = { + undoFile.enable = true; theme = lib.mkForce { enable = true; name = "catppuccin"; @@ -20,14 +25,27 @@ }; tabline.nvimBufferline.enable = true; notes.todo-comments.enable = true; - assistant.copilot = { - enable = true; - cmp.enable = true; - }; + # assistant.copilot = { + # enable = true; + # cmp.enable = true; + # }; statusline.lualine.enable = true; - autocomplete.blink-cmp = { - enable = true; - friendly-snippets.enable = true; + # autocomplete.blink-cmp = { + # enable = true; + # friendly-snippets.enable = true; + # }; + autocomplete = { + nvim-cmp = { + enable = true; + sources = { + buffer = "[Buffer]"; + nvim-cmp = null; + path = "[Path]"; + }; + sourcePlugins = [ + pkgs.vimPlugins.cmp-cmdline + ]; + }; }; snippets.luasnip.enable = true; ui = { @@ -35,7 +53,10 @@ colorizer.enable = true; }; visuals = { - cinnamon-nvim.enable = true; + rainbow-delimiters.enable = true; + nvim-scrollbar = { + enable = false; + }; }; git = { enable = true; diff --git a/home-manager/modules/zathura.nix b/home-manager/modules/zathura.nix index 35f3842..8e12a8f 100644 --- a/home-manager/modules/zathura.nix +++ b/home-manager/modules/zathura.nix @@ -3,12 +3,17 @@ pkgs, config, ... -}: { +}: +{ programs.zathura = { enable = true; extraConfig = '' # Open document in fit-width mode by default set adjust-open "best-fit" + set recolor false # optional: just visual + set synctex true # if using with LaTeX/Typst + set adjust-open width # optional: fit width on open + set continuous true # scroll continuously ''; }; } diff --git a/home-manager/modules/zen.nix b/home-manager/modules/zen.nix index 02cc268..9f83f37 100644 --- a/home-manager/modules/zen.nix +++ b/home-manager/modules/zen.nix @@ -1,87 +1,27 @@ +# Zen is a minimalistic web browser. +{ inputs, ... }: { - pkgs, - config, - inputs, - ... -}: -let - accent = "#${config.lib.stylix.colors.base0D}"; - background = "#${config.lib.stylix.colors.base00}"; - foreground = "#${config.lib.stylix.colors.base05}"; - muted = "#${config.lib.stylix.colors.base03}"; + imports = [ + inputs.zen-browser.homeModules.beta + ]; - settings = '' - { - "config": { - "title" : "Welcome Home", - "openLinksInNewTab": false, - "locale": "en-US", - "colors": { - "primary": "${accent}", - "background": "${background}", - "foreground": "${foreground}", - "muted": "#${muted}" - }, - "folders": [ - { - "name": "Bookmarks", - "links": [ - {"title": "MyNixOs", "url": "https://mynixos.com", "icon": "󱄅"}, - {"title": "Github", "url": "https://github.com", "icon": ""}, - {"title": "Proton", "url": "https://mail.proton.me/u/0/inbox", "icon": ""}, - {"title": "Chat GPT", "url": "https://chat.openai.com/", "icon": "󰭹"}, - {"title": "Nixvim", "url": "https://nix-community.github.io/nixvim/", "icon": ""}, - {"title": "Hyprland Wiki", "url": "https://wiki.hyprland.org/", "icon": "󰖬"}, - {"title": "Youtube", "url": "https://youtube.com", "icon": "󰗃"} - ] - }, - { - "name": "Uni", - "links": [ - {"title": "Outlook", "url": "https://outlook.office.com/mail/", "icon": "󰴢"}, - {"title": "Office", "url": "https://www.office.com/?auth=2", "icon": "󰏆"}, - {"title": "Teams", "url": "https://teams.microsoft.com/_", "icon": "󰊻"}, - {"title": "Brightspace", "url": "https://carleton.ca/brightspace/_", "icon": "󱨡"} - ] - } - ] - } - } - ''; + programs.zen-browser = { + enable = true; + policies = { + DisableAppUpdate = true; + DisableTelemetry = true; - homepage = pkgs.buildNpmPackage { - pname = "homepage"; - version = "0.0.0"; - - src = pkgs.fetchFromGitHub { - owner = "gwg313"; - repo = "homepage"; - rev = "b77d35ed3596eb451bd2ec78063d7cc6e73c773d"; - hash = "sha256-j/40922kfAh6zqJ4IRYpr66YXNNYsxuXwZ0aiJFJea0="; - }; - - # npmDepsHash = lib.fakeHash; - npmDepsHash = "sha256-bG+CHTq2Rst3JMxsjAC81KhK+G7WwsTVD1eyP87g0z4="; - - buildPhase = '' - npm install - cp ${pkgs.writeText "src/routes/config.json" settings} src/routes/config.json - npm run build - mkdir $out - mv build $out - ''; - - meta = { - description = "homepage"; - homepage = "https://github.com/gwg313/homepage"; + AutofillAddressesEnabled = false; + AutoFillCreditCardEnabled = false; + DisablePocket = true; + DisableProfileImport = true; + DisableSetDesktopBackground = true; + DontCheckDefaultBrowser = true; + HomepageURL = "https://duckduckgo.com"; + StartPage = "homepage"; + NewTabPage = true; + OfferToSaveLogins = false; + # find more options here: https://mozilla.github.io/policy-templates/ }; }; -in -{ - home.file.".config/homepage" = { - source = "${homepage}/build"; - recursive = true; - }; - - home.packages = with pkgs; [ inputs.zen-browser.packages."${system}".default ]; } diff --git a/home-manager/scripts/night-shift/default.nix b/home-manager/scripts/night-shift/default.nix index 2e010cc..0d78f1b 100644 --- a/home-manager/scripts/night-shift/default.nix +++ b/home-manager/scripts/night-shift/default.nix @@ -76,4 +76,42 @@ in night-shift-status night-shift-status-icon ]; + + systemd.user.services.night-shift-on = { + Unit = { + Description = "Enable Night Shift at 8:30PM"; + }; + Service = { + ExecStart = "${night-shift-on}/bin/night-shift-on"; + }; + }; + + systemd.user.timers.night-shift-on = { + Unit = { + Description = "Timer for Night Shift ON"; + }; + Timer = { + OnCalendar = "*-*-* 20:30:00"; + Persistent = true; + }; + }; + + systemd.user.services.night-shift-off = { + Unit = { + Description = "Disable Night Shift at 6:35AM"; + }; + Service = { + ExecStart = "${night-shift-off}/bin/night-shift-off"; + }; + }; + + systemd.user.timers.night-shift-off = { + Unit = { + Description = "Timer for Night Shift OFF"; + }; + Timer = { + OnCalendar = "*-*-* 06:31:00"; + Persistent = true; + }; + }; } diff --git a/hosts/candlekeep/configuration.nix b/hosts/candlekeep/configuration.nix index 425c19e..013da22 100644 --- a/hosts/candlekeep/configuration.nix +++ b/hosts/candlekeep/configuration.nix @@ -19,7 +19,7 @@ ../../common/style/stylix.nix # ../../common/style/vars/candlekeep.nix ../../common/nixos/sysctl - ../../common/nixos/tuigreet.nix + # ../../common/nixos/tuigreet.nix ../../common/networking ../../common/nixos diff --git a/hosts/candlekeep/syncthing.nix b/hosts/candlekeep/syncthing.nix index 327b514..30b05f3 100644 --- a/hosts/candlekeep/syncthing.nix +++ b/hosts/candlekeep/syncthing.nix @@ -62,6 +62,18 @@ }; }; }; + + "zettelkasten" = { + path = "/home/gwg313/zettelkasten/"; + devices = [ "grymforge" ]; + versioning = { + type = "staggered"; + params = { + cleanInterval = "3600"; + maxAge = "15768000"; + }; + }; + }; }; }; }; diff --git a/hosts/grymforge/configuration.nix b/hosts/grymforge/configuration.nix index 23cd22e..fd41a61 100644 --- a/hosts/grymforge/configuration.nix +++ b/hosts/grymforge/configuration.nix @@ -34,7 +34,7 @@ ./sysctl.nix ./earlyoom.nix - ./sleep.nix + # ./sleep.nix # Or modules from other flakes (such as nixos-hardware): # inputs.hardware.nixosModules.common-cpu-amd diff --git a/hosts/grymforge/syncthing.nix b/hosts/grymforge/syncthing.nix index 1b39931..c36ae10 100644 --- a/hosts/grymforge/syncthing.nix +++ b/hosts/grymforge/syncthing.nix @@ -62,6 +62,18 @@ }; }; }; + + "zettelkasten" = { + path = "/home/gwg313/zettelkasten/"; + devices = [ "candlekeep" ]; + versioning = { + type = "staggered"; + params = { + cleanInterval = "3600"; + maxAge = "15768000"; + }; + }; + }; }; }; }; diff --git a/hosts/panopticon/promtail.nix b/hosts/panopticon/promtail.nix index d916e33..3738e00 100644 --- a/hosts/panopticon/promtail.nix +++ b/hosts/panopticon/promtail.nix @@ -25,6 +25,23 @@ host = config.networking.hostName; }; }; + pipeline_stages = [ + { + journal = { + labels = [ "_SYSTEMD_UNIT" ]; + }; + } + ]; + } + { + job_name = "sshd"; + journal = { + labels = { + job = "sshd"; + host = config.networking.hostName; + }; + journal_filters = [ "_SYSTEMD_UNIT=sshd.service" ]; + }; } ]; }; diff --git a/hosts/seikan/routes.nix b/hosts/seikan/routes.nix index b85909d..d272e67 100644 --- a/hosts/seikan/routes.nix +++ b/hosts/seikan/routes.nix @@ -80,6 +80,18 @@ url = "https://uptime.zerotier.gwg313.xyz"; } ]; + + hdoc_zt.loadBalancer.servers = [ + { + url = "https://hdoc.zerotier.gwg313.xyz"; + } + ]; + + cache_zt.loadBalancer.servers = [ + { + url = "https://cache.zerotier.gwg313.xyz"; + } + ]; }; routers = { @@ -185,6 +197,22 @@ tls.certResolver = "le"; middlewares = [ "headers" ]; }; + + hdoc_zt = { + entryPoints = [ "websecure" ]; + rule = "Host(`hdoc.gwg313.xyz`)"; + service = "hdoc_zt"; + tls.certResolver = "le"; + middlewares = [ "headers" ]; + }; + + cache_zt = { + entryPoints = [ "websecure" ]; + rule = "Host(`cache.gwg313.xyz`)"; + service = "hdoc_zt"; + tls.certResolver = "le"; + middlewares = [ "headers" ]; + }; }; }; }; diff --git a/hosts/waypoint/routes.nix b/hosts/waypoint/routes.nix index 5119cd8..3e50065 100644 --- a/hosts/waypoint/routes.nix +++ b/hosts/waypoint/routes.nix @@ -108,6 +108,21 @@ tls.certResolver = "le"; middlewares = [ "headers" ]; }; + hdoc = { + entryPoints = [ "websecure" ]; + rule = "Host(`hdoc.gwg313.xyz`)"; + service = "hdoc_local"; + tls.certResolver = "le"; + middlewares = [ "headers" ]; + }; + + cache = { + entryPoints = [ "websecure" ]; + rule = "Host(`cache.gwg313.xyz`)"; + service = "cache_local"; + tls.certResolver = "le"; + middlewares = [ "headers" ]; + }; }; }; }; diff --git a/hosts/waypoint/routes_zerotier.nix b/hosts/waypoint/routes_zerotier.nix index ea52c68..f93e83d 100644 --- a/hosts/waypoint/routes_zerotier.nix +++ b/hosts/waypoint/routes_zerotier.nix @@ -115,6 +115,14 @@ tls.certResolver = "le"; middlewares = [ "headers" ]; }; + + hdoc_zt = { + entryPoints = [ "websecure" ]; + rule = "Host(`hdoc.zerotier.gwg313.xyz`)"; + service = "hdoc_local"; + tls.certResolver = "le"; + middlewares = [ "headers" ]; + }; }; }; }; diff --git a/hosts/waypoint/services.nix b/hosts/waypoint/services.nix index 48975ff..45da58b 100644 --- a/hosts/waypoint/services.nix +++ b/hosts/waypoint/services.nix @@ -46,18 +46,18 @@ bookmarks_local.loadBalancer.servers = [ { - url = "http://10.1.10.3:30099"; + url = "https://bookmarks.gwg313.xyz"; } ]; pastebin_local.loadBalancer.servers = [ { - url = "http://10.1.10.3:32090"; + url = "https://pastebin.gwg313.xyz"; } ]; snippets_local.loadBalancer.servers = [ { - url = "http://10.1.10.3:31111"; + url = "https://snippets.gwg313.xyz"; } ]; git_local.loadBalancer.servers = [ @@ -95,6 +95,18 @@ url = "https://uptime.gwg313.xyz"; } ]; + + hdoc_local.loadBalancer.servers = [ + { + url = "https://hdoc.gwg313.xyz"; + } + ]; + + cache_local.loadBalancer.servers = [ + { + url = "https://cache.gwg313.xyz"; + } + ]; }; }; }; diff --git a/wallpapers/ign_circuit.png b/wallpapers/ign_circuit.png new file mode 100644 index 0000000..cce40bf Binary files /dev/null and b/wallpapers/ign_circuit.png differ