diff --git a/.forgejo/workflows/build_nixos_configs.yml b/.forgejo/workflows/build_nixos_configs.yml index 563c980..650718e 100644 --- a/.forgejo/workflows/build_nixos_configs.yml +++ b/.forgejo/workflows/build_nixos_configs.yml @@ -1,4 +1,4 @@ -name: Build NixOS Configurations +name: Buill NixOS Configurations on: [push] jobs: @@ -12,7 +12,6 @@ jobs: matrix: system: - "carbon" - - "framework" - "git" - "gospel" - "node" @@ -28,4 +27,4 @@ jobs: nix --extra-experimental-features nix-command --extra-experimental-features flakes run nixpkgs#attic-client \ -- login gospel https://attic.kilonull.com ${{ secrets.ATTIC_PUSH_SECRET }} nix --extra-experimental-features nix-command --extra-experimental-features flakes run nixpkgs#attic-client \ - -- push --ignore-upstream-cache-filter gospel:nixosConfigs ./result + -- push gospel:nixosConfigs ./result diff --git a/flake.lock b/flake.lock index f4658fc..0f4d688 100644 --- a/flake.lock +++ b/flake.lock @@ -44,69 +44,11 @@ ] }, "locked": { - "lastModified": 1767714506, - "narHash": "sha256-WaTs0t1CxhgxbIuvQ97OFhDTVUGd1HA+KzLZUZBhe0s=", + "lastModified": 1760971495, + "narHash": "sha256-IwnNtbNVrlZIHh7h4Wz6VP0Furxg9Hh0ycighvL5cZc=", "owner": "cachix", "repo": "cachix", - "rev": "894c649f0daaa38bbcfb21de64be47dfa7cd0ec9", - "type": "github" - }, - "original": { - "owner": "cachix", - "ref": "latest", - "repo": "cachix", - "type": "github" - } - }, - "cachix_2": { - "inputs": { - "devenv": [ - "devenv", - "crate2nix" - ], - "flake-compat": [ - "devenv", - "crate2nix" - ], - "git-hooks": "git-hooks", - "nixpkgs": "nixpkgs_3" - }, - "locked": { - "lastModified": 1767714506, - "narHash": "sha256-WaTs0t1CxhgxbIuvQ97OFhDTVUGd1HA+KzLZUZBhe0s=", - "owner": "cachix", - "repo": "cachix", - "rev": "894c649f0daaa38bbcfb21de64be47dfa7cd0ec9", - "type": "github" - }, - "original": { - "owner": "cachix", - "ref": "latest", - "repo": "cachix", - "type": "github" - } - }, - "cachix_3": { - "inputs": { - "devenv": [ - "devenv", - "crate2nix", - "crate2nix_stable" - ], - "flake-compat": [ - "devenv", - "crate2nix", - "crate2nix_stable" - ], - "git-hooks": "git-hooks_2", - "nixpkgs": "nixpkgs_4" - }, - "locked": { - "lastModified": 1767714506, - "narHash": "sha256-WaTs0t1CxhgxbIuvQ97OFhDTVUGd1HA+KzLZUZBhe0s=", - "owner": "cachix", - "repo": "cachix", - "rev": "894c649f0daaa38bbcfb21de64be47dfa7cd0ec9", + "rev": "c5bfd933d1033672f51a863c47303fc0e093c2d2", "type": "github" }, "original": { @@ -121,11 +63,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1776681486, - "narHash": "sha256-akO/L6Jt4341uBnf3CIpJOTTYyCBQsSvP2hnikV2oMY=", + "lastModified": 1770551880, + "narHash": "sha256-+cS5yXWsSLiK36+PP/+dcQdxpXSclx2d65p7l6Dis+A=", "owner": "catppuccin", "repo": "nix", - "rev": "b85b328ecc9874f4e7424db2820333c148e8dd66", + "rev": "db4dfe3f2a80e9c33492d839accd49f75c7324c2", "type": "github" }, "original": { @@ -155,65 +97,6 @@ "url": "https://git.alejandr0angul0.dev/alejandro-angulo/catppuccin-nix-palette" } }, - "crate2nix": { - "inputs": { - "cachix": "cachix_2", - "crate2nix_stable": "crate2nix_stable", - "devshell": "devshell_2", - "flake-compat": "flake-compat_3", - "flake-parts": "flake-parts_2", - "nix-test-runner": "nix-test-runner_2", - "nixpkgs": [ - "devenv", - "nixpkgs" - ], - "pre-commit-hooks": "pre-commit-hooks_2" - }, - "locked": { - "lastModified": 1772186516, - "narHash": "sha256-8s28pzmQ6TOIUzznwFibtW1CMieMUl1rYJIxoQYor58=", - "owner": "rossng", - "repo": "crate2nix", - "rev": "ba5dd398e31ee422fbe021767eb83b0650303a6e", - "type": "github" - }, - "original": { - "owner": "rossng", - "repo": "crate2nix", - "rev": "ba5dd398e31ee422fbe021767eb83b0650303a6e", - "type": "github" - } - }, - "crate2nix_stable": { - "inputs": { - "cachix": "cachix_3", - "crate2nix_stable": [ - "devenv", - "crate2nix", - "crate2nix_stable" - ], - "devshell": "devshell", - "flake-compat": "flake-compat_2", - "flake-parts": "flake-parts", - "nix-test-runner": "nix-test-runner", - "nixpkgs": "nixpkgs_5", - "pre-commit-hooks": "pre-commit-hooks" - }, - "locked": { - "lastModified": 1769627083, - "narHash": "sha256-SUuruvw1/moNzCZosHaa60QMTL+L9huWdsCBN6XZIic=", - "owner": "nix-community", - "repo": "crate2nix", - "rev": "7c33e664668faecf7655fa53861d7a80c9e464a2", - "type": "github" - }, - "original": { - "owner": "nix-community", - "ref": "0.15.0", - "repo": "crate2nix", - "type": "github" - } - }, "deploy-rs": { "inputs": { "flake-compat": "flake-compat", @@ -239,23 +122,21 @@ "devenv": { "inputs": { "cachix": "cachix", - "crate2nix": "crate2nix", - "flake-compat": "flake-compat_4", - "flake-parts": "flake-parts_3", - "git-hooks": "git-hooks_3", + "flake-compat": "flake-compat_2", + "flake-parts": "flake-parts", + "git-hooks": "git-hooks", "nix": "nix", "nixd": "nixd", "nixpkgs": [ "nixpkgs" - ], - "rust-overlay": "rust-overlay" + ] }, "locked": { - "lastModified": 1776537207, - "narHash": "sha256-CmDPLGo5rK02AV8d0SegYwQA+6aWPFWym6mYKqOzRT0=", + "lastModified": 1770744655, + "narHash": "sha256-n8U5fggqvdAUJ6Ydd7uEG1aEsZBuRgUJnA++dtsmpYQ=", "owner": "cachix", "repo": "devenv", - "rev": "878c73c0b232d47b5fb79b4c6dbc2cdf3aaa3f76", + "rev": "d8bd7b74d0604227220074ac0bc934c4efb2b8fb", "type": "github" }, "original": { @@ -264,51 +145,6 @@ "type": "github" } }, - "devshell": { - "inputs": { - "nixpkgs": [ - "devenv", - "crate2nix", - "crate2nix_stable", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1768818222, - "narHash": "sha256-460jc0+CZfyaO8+w8JNtlClB2n4ui1RbHfPTLkpwhU8=", - "owner": "numtide", - "repo": "devshell", - "rev": "255a2b1725a20d060f566e4755dbf571bbbb5f76", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "devshell", - "type": "github" - } - }, - "devshell_2": { - "inputs": { - "nixpkgs": [ - "devenv", - "crate2nix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1768818222, - "narHash": "sha256-460jc0+CZfyaO8+w8JNtlClB2n4ui1RbHfPTLkpwhU8=", - "owner": "numtide", - "repo": "devshell", - "rev": "255a2b1725a20d060f566e4755dbf571bbbb5f76", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "devshell", - "type": "github" - } - }, "flake-compat": { "flake": false, "locked": { @@ -326,50 +162,22 @@ } }, "flake-compat_2": { + "flake": false, "locked": { - "lastModified": 1733328505, - "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", - "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", - "revCount": 69, - "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz" + "lastModified": 1761588595, + "narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5", + "type": "github" }, "original": { - "type": "tarball", - "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" } }, "flake-compat_3": { - "locked": { - "lastModified": 1733328505, - "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", - "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", - "revCount": 69, - "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz" - }, - "original": { - "type": "tarball", - "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" - } - }, - "flake-compat_4": { - "flake": false, - "locked": { - "lastModified": 1767039857, - "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_5": { "flake": false, "locked": { "lastModified": 1650374568, @@ -389,17 +197,15 @@ "inputs": { "nixpkgs-lib": [ "devenv", - "crate2nix", - "crate2nix_stable", "nixpkgs" ] }, "locked": { - "lastModified": 1768135262, - "narHash": "sha256-PVvu7OqHBGWN16zSi6tEmPwwHQ4rLPU9Plvs8/1TUBY=", + "lastModified": 1760948891, + "narHash": "sha256-TmWcdiUUaWk8J4lpjzu4gCGxWY6/Ok7mOK4fIFfBuU4=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "80daad04eddbbf5a4d883996a73f3f542fa437ac", + "rev": "864599284fc7c0ba6357ed89ed5e2cd5040f0c04", "type": "github" }, "original": { @@ -410,11 +216,7 @@ }, "flake-parts_2": { "inputs": { - "nixpkgs-lib": [ - "devenv", - "crate2nix", - "nixpkgs" - ] + "nixpkgs-lib": "nixpkgs-lib" }, "locked": { "lastModified": 1768135262, @@ -431,45 +233,6 @@ } }, "flake-parts_3": { - "inputs": { - "nixpkgs-lib": [ - "devenv", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1772408722, - "narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-parts_4": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib" - }, - "locked": { - "lastModified": 1768135262, - "narHash": "sha256-PVvu7OqHBGWN16zSi6tEmPwwHQ4rLPU9Plvs8/1TUBY=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "80daad04eddbbf5a4d883996a73f3f542fa437ac", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-parts_5": { "inputs": { "nixpkgs-lib": [ "nixvim", @@ -491,6 +254,21 @@ "type": "github" } }, + "flake-root": { + "locked": { + "lastModified": 1723604017, + "narHash": "sha256-rBtQ8gg+Dn4Sx/s+pvjdq3CB2wQNzx9XGFq/JVGCB6k=", + "owner": "srid", + "repo": "flake-root", + "rev": "b759a56851e10cb13f6b8e5698af7b59c44be26e", + "type": "github" + }, + "original": { + "owner": "srid", + "repo": "flake-root", + "type": "github" + } + }, "flake-utils": { "inputs": { "systems": "systems_5" @@ -532,82 +310,20 @@ "inputs": { "flake-compat": [ "devenv", - "crate2nix", - "cachix", "flake-compat" ], "gitignore": "gitignore", "nixpkgs": [ "devenv", - "crate2nix", - "cachix", "nixpkgs" ] }, "locked": { - "lastModified": 1765404074, - "narHash": "sha256-+ZDU2d+vzWkEJiqprvV5PR26DVFN2vgddwG5SnPZcUM=", + "lastModified": 1760663237, + "narHash": "sha256-BflA6U4AM1bzuRMR8QqzPXqh8sWVCNDzOdsxXEguJIc=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "2d6f58930fbcd82f6f9fd59fb6d13e37684ca529", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "git-hooks.nix", - "type": "github" - } - }, - "git-hooks_2": { - "inputs": { - "flake-compat": [ - "devenv", - "crate2nix", - "crate2nix_stable", - "cachix", - "flake-compat" - ], - "gitignore": "gitignore_2", - "nixpkgs": [ - "devenv", - "crate2nix", - "crate2nix_stable", - "cachix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1765404074, - "narHash": "sha256-+ZDU2d+vzWkEJiqprvV5PR26DVFN2vgddwG5SnPZcUM=", - "owner": "cachix", - "repo": "git-hooks.nix", - "rev": "2d6f58930fbcd82f6f9fd59fb6d13e37684ca529", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "git-hooks.nix", - "type": "github" - } - }, - "git-hooks_3": { - "inputs": { - "flake-compat": [ - "devenv", - "flake-compat" - ], - "gitignore": "gitignore_5", - "nixpkgs": [ - "devenv", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1772893680, - "narHash": "sha256-JDqZMgxUTCq85ObSaFw0HhE+lvdOre1lx9iI6vYyOEs=", - "owner": "cachix", - "repo": "git-hooks.nix", - "rev": "8baab586afc9c9b57645a734c820e4ac0a604af9", + "rev": "ca5b894d3e3e151ffc1db040b6ce4dcc75d31c37", "type": "github" }, "original": { @@ -617,102 +333,6 @@ } }, "gitignore": { - "inputs": { - "nixpkgs": [ - "devenv", - "crate2nix", - "cachix", - "git-hooks", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, - "gitignore_2": { - "inputs": { - "nixpkgs": [ - "devenv", - "crate2nix", - "crate2nix_stable", - "cachix", - "git-hooks", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, - "gitignore_3": { - "inputs": { - "nixpkgs": [ - "devenv", - "crate2nix", - "crate2nix_stable", - "pre-commit-hooks", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, - "gitignore_4": { - "inputs": { - "nixpkgs": [ - "devenv", - "crate2nix", - "pre-commit-hooks", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, - "gitignore_5": { "inputs": { "nixpkgs": [ "devenv", @@ -741,11 +361,11 @@ ] }, "locked": { - "lastModified": 1776701552, - "narHash": "sha256-CCRzOEFg6JwCdZIR5dLD0ypah5/e2JQVuWQ/l3rYrPY=", + "lastModified": 1770779995, + "narHash": "sha256-Evbc+u49wYQ5uyEi/HHxVFEt3g/w4MZxkMXMe7McjRM=", "owner": "nix-community", "repo": "home-manager", - "rev": "c81775b640d4507339d127f5adb4105f6015edf2", + "rev": "b3f43db171474132528be57610bfa5fb3b766879", "type": "github" }, "original": { @@ -781,58 +401,27 @@ ] }, "locked": { - "lastModified": 1776511668, - "narHash": "sha256-g2KEBuHpc3a56c+jPcg0+w6LSuIj6f+zzdztLCOyIhc=", + "lastModified": 1770395975, + "narHash": "sha256-zg0AEZn8d4rqIIsw5XrkVL5p1y6fBj2L57awfUg+gNA=", "owner": "cachix", "repo": "nix", - "rev": "42d4b7de21c15f28c568410f4383fa06a8458a40", + "rev": "ccb6019ce2bd11f5de5fe4617c0079d8cb1ed057", "type": "github" }, "original": { "owner": "cachix", - "ref": "devenv-2.34", + "ref": "devenv-2.32", "repo": "nix", "type": "github" } }, - "nix-test-runner": { - "flake": false, - "locked": { - "lastModified": 1588761593, - "narHash": "sha256-FKJykltAN/g3eIceJl4SfDnnyuH2jHImhMrXS2KvGIs=", - "owner": "stoeffel", - "repo": "nix-test-runner", - "rev": "c45d45b11ecef3eb9d834c3b6304c05c49b06ca2", - "type": "github" - }, - "original": { - "owner": "stoeffel", - "repo": "nix-test-runner", - "type": "github" - } - }, - "nix-test-runner_2": { - "flake": false, - "locked": { - "lastModified": 1588761593, - "narHash": "sha256-FKJykltAN/g3eIceJl4SfDnnyuH2jHImhMrXS2KvGIs=", - "owner": "stoeffel", - "repo": "nix-test-runner", - "rev": "c45d45b11ecef3eb9d834c3b6304c05c49b06ca2", - "type": "github" - }, - "original": { - "owner": "stoeffel", - "repo": "nix-test-runner", - "type": "github" - } - }, "nixd": { "inputs": { "flake-parts": [ "devenv", "flake-parts" ], + "flake-root": "flake-root", "nixpkgs": [ "devenv", "nixpkgs" @@ -840,11 +429,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1773634079, - "narHash": "sha256-49qb4QNMv77VOeEux+sMd0uBhPvvHgVc0r938Bulvbo=", + "lastModified": 1763964548, + "narHash": "sha256-JTRoaEWvPsVIMFJWeS4G2isPo15wqXY/otsiHPN0zww=", "owner": "nix-community", "repo": "nixd", - "rev": "8ecf93d4d93745e05ea53534e8b94f5e9506e6bd", + "rev": "d4bf15e56540422e2acc7bc26b20b0a0934e3f5e", "type": "github" }, "original": { @@ -891,11 +480,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1775490113, - "narHash": "sha256-2ZBhDNZZwYkRmefK5XLOusCJHnoeKkoN95hoSGgMxWM=", + "lastModified": 1770631810, + "narHash": "sha256-b7iK/x+zOXbjhRqa+XBlYla4zFvPZyU5Ln2HJkiSnzc=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "c775c2772ba56e906cbeb4e0b2db19079ef11ff7", + "rev": "2889685785848de940375bf7fea5e7c5a3c8d502", "type": "github" }, "original": { @@ -907,11 +496,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1776169885, - "narHash": "sha256-l/iNYDZ4bGOAFQY2q8y5OAfBBtrDAaPuRQqWaFHVRXM=", + "lastModified": 1770197578, + "narHash": "sha256-AYqlWrX09+HvGs8zM6ebZ1pwUqjkfpnv8mewYwAo+iM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4bd9165a9165d7b5e33ae57f3eecbcb28fb231c9", + "rev": "00c21e4c93d963c50d4c0c89bfa84ed6e0694df2", "type": "github" }, "original": { @@ -938,11 +527,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1776434932, - "narHash": "sha256-gyqXNMgk3sh+ogY5svd2eNLJ6oEwzbAeaoBrrxD0lKk=", + "lastModified": 1770617025, + "narHash": "sha256-1jZvgZoAagZZB6NwGRv2T2ezPy+X6EFDsJm+YSlsvEs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c7f47036d3df2add644c46d712d14262b7d86c0c", + "rev": "2db38e08fdadcc0ce3232f7279bab59a15b94482", "type": "github" }, "original": { @@ -970,11 +559,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1765186076, - "narHash": "sha256-hM20uyap1a0M9d344I692r+ik4gTMyj60cQWO+hAYP8=", + "lastModified": 1770562336, + "narHash": "sha256-ub1gpAONMFsT/GU2hV6ZWJjur8rJ6kKxdm9IlCT0j84=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "addf7cf5f383a3101ecfba091b98d0a1263dc9b8", + "rev": "d6c71932130818840fc8fe9509cf50be8c64634f", "type": "github" }, "original": { @@ -985,54 +574,6 @@ } }, "nixpkgs_4": { - "locked": { - "lastModified": 1765186076, - "narHash": "sha256-hM20uyap1a0M9d344I692r+ik4gTMyj60cQWO+hAYP8=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "addf7cf5f383a3101ecfba091b98d0a1263dc9b8", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_5": { - "locked": { - "lastModified": 1769433173, - "narHash": "sha256-Gf1dFYgD344WZ3q0LPlRoWaNdNQq8kSBDLEWulRQSEs=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "13b0f9e6ac78abbbb736c635d87845c4f4bee51b", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_6": { - "locked": { - "lastModified": 1776169885, - "narHash": "sha256-l/iNYDZ4bGOAFQY2q8y5OAfBBtrDAaPuRQqWaFHVRXM=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "4bd9165a9165d7b5e33ae57f3eecbcb28fb231c9", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_7": { "locked": { "lastModified": 1768875095, "narHash": "sha256-dYP3DjiL7oIiiq3H65tGIXXIT1Waiadmv93JS0sS+8A=", @@ -1048,7 +589,7 @@ "type": "github" } }, - "nixpkgs_8": { + "nixpkgs_5": { "locked": { "lastModified": 1767026758, "narHash": "sha256-7fsac/f7nh/VaKJ/qm3I338+wAJa/3J57cOGpXi0Sbg=", @@ -1064,31 +605,18 @@ "type": "github" } }, - "nixpkgs_9": { - "locked": { - "lastModified": 1776169885, - "narHash": "sha256-Gk2T0tDDDAs319hp/ak+bAIUG5bPMvnNEjPV8CS86Fg=", - "rev": "4bd9165a9165d7b5e33ae57f3eecbcb28fb231c9", - "type": "tarball", - "url": "https://releases.nixos.org/nixos/unstable/nixos-26.05pre980183.4bd9165a9165/nixexprs.tar.xz" - }, - "original": { - "type": "tarball", - "url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz" - } - }, "nixvim": { "inputs": { - "flake-parts": "flake-parts_4", - "nixpkgs": "nixpkgs_7", + "flake-parts": "flake-parts_2", + "nixpkgs": "nixpkgs_4", "nixvim": "nixvim_2" }, "locked": { - "lastModified": 1770835587, - "narHash": "sha256-D0LVQRMGA0xJpdpykxXaoHC3vGrkYG461jbJ5TfUzEM=", + "lastModified": 1770233182, + "narHash": "sha256-p6AN4IoRzITMYHt4OlPqWE9L80bbEHOh60Ek3OgMSJ4=", "ref": "main", - "rev": "72767c9aee71b0e5cec6dde7c2de92d3edb93dc4", - "revCount": 59, + "rev": "5a55725bd5de3f0640ccfcbf38600fc79b3f92fd", + "revCount": 58, "type": "git", "url": "https://git.alejandr0angul0.dev/alejandro-angulo/nixvim-config" }, @@ -1100,8 +628,8 @@ }, "nixvim_2": { "inputs": { - "flake-parts": "flake-parts_5", - "nixpkgs": "nixpkgs_8", + "flake-parts": "flake-parts_3", + "nixpkgs": "nixpkgs_5", "systems": "systems_4" }, "locked": { @@ -1137,11 +665,11 @@ "powerlevel10k": { "flake": false, "locked": { - "lastModified": 1773468431, - "narHash": "sha256-J8qKLkKYd62LuUY2y6Hy+AaokKVDSTucCNQwVQeAaxo=", + "lastModified": 1769621797, + "narHash": "sha256-xiUNt2zomP3TNiCW/PZn6rS/3pv+uW17YjkzEPc227I=", "owner": "romkatv", "repo": "powerlevel10k", - "rev": "604f19a9eaa18e76db2e60b8d446d5f879065f90", + "rev": "8ed1f58e082e1cce85e1d69235d1a906cf3c643e", "type": "github" }, "original": { @@ -1151,64 +679,6 @@ "type": "github" } }, - "pre-commit-hooks": { - "inputs": { - "flake-compat": [ - "devenv", - "crate2nix", - "crate2nix_stable", - "flake-compat" - ], - "gitignore": "gitignore_3", - "nixpkgs": [ - "devenv", - "crate2nix", - "crate2nix_stable", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1769069492, - "narHash": "sha256-Efs3VUPelRduf3PpfPP2ovEB4CXT7vHf8W+xc49RL/U=", - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "rev": "a1ef738813b15cf8ec759bdff5761b027e3e1d23", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "type": "github" - } - }, - "pre-commit-hooks_2": { - "inputs": { - "flake-compat": [ - "devenv", - "crate2nix", - "flake-compat" - ], - "gitignore": "gitignore_4", - "nixpkgs": [ - "devenv", - "crate2nix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1769069492, - "narHash": "sha256-Efs3VUPelRduf3PpfPP2ovEB4CXT7vHf8W+xc49RL/U=", - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "rev": "a1ef738813b15cf8ec759bdff5761b027e3e1d23", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "type": "github" - } - }, "root": { "inputs": { "agenix": "agenix", @@ -1219,39 +689,17 @@ "home-manager": "home-manager", "nixos-generators": "nixos-generators", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_6", + "nixpkgs": "nixpkgs_3", "nixpkgs-stable": "nixpkgs-stable", "nixvim": "nixvim", "powerlevel10k": "powerlevel10k", "snowfall-lib": "snowfall-lib", - "spicetify-nix": "spicetify-nix", "zsh-syntax-highlighting": "zsh-syntax-highlighting" } }, - "rust-overlay": { - "inputs": { - "nixpkgs": [ - "devenv", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1773630837, - "narHash": "sha256-zJhgAGnbVKeBMJOb9ctZm4BGS/Rnrz+5lfSXTVah4HQ=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "f600ea449c7b5bb596fa1cf21c871cc5b9e31316", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "type": "github" - } - }, "snowfall-lib": { "inputs": { - "flake-compat": "flake-compat_5", + "flake-compat": "flake-compat_3", "flake-utils-plus": "flake-utils-plus", "nixpkgs": [ "nixpkgs" @@ -1271,25 +719,6 @@ "type": "github" } }, - "spicetify-nix": { - "inputs": { - "nixpkgs": "nixpkgs_9", - "systems": "systems_6" - }, - "locked": { - "lastModified": 1776578704, - "narHash": "sha256-4+JHYCweZ/SSrMcu2nJ5gc7gop2scBk0JIIfaUKuTaQ=", - "owner": "Gerg-L", - "repo": "spicetify-nix", - "rev": "73f6d24b4f5bdacc3b41ddcf9965bef2781f97dd", - "type": "github" - }, - "original": { - "owner": "Gerg-L", - "repo": "spicetify-nix", - "type": "github" - } - }, "systems": { "locked": { "lastModified": 1681028828, @@ -1365,21 +794,6 @@ "type": "github" } }, - "systems_6": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, "treefmt-nix": { "inputs": { "nixpkgs": [ @@ -1389,11 +803,11 @@ ] }, "locked": { - "lastModified": 1772660329, - "narHash": "sha256-IjU1FxYqm+VDe5qIOxoW+pISBlGvVApRjiw/Y/ttJzY=", + "lastModified": 1734704479, + "narHash": "sha256-MMi74+WckoyEWBRcg/oaGRvXC9BVVxDZNRMpL+72wBI=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "3710e0e1218041bbad640352a0440114b1e10428", + "rev": "65712f5af67234dad91a5a4baee986a8b62dbf8f", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index fd223db..ec75400 100644 --- a/flake.nix +++ b/flake.nix @@ -27,12 +27,11 @@ nixos-hardware.url = "github:NixOS/nixos-hardware/master"; nixvim.url = "git+https://git.alejandr0angul0.dev/alejandro-angulo/nixvim-config?ref=main"; + # nixvim.inputs.nixpkgs.follows = "nixpkgs"; devenv.url = "github:cachix/devenv"; devenv.inputs.nixpkgs.follows = "nixpkgs"; - spicetify-nix.url = "github:Gerg-L/spicetify-nix"; - zsh-syntax-highlighting.url = "github:zsh-users/zsh-syntax-highlighting/master"; zsh-syntax-highlighting.flake = false; @@ -60,10 +59,7 @@ catppuccin.nixosModules.catppuccin ]; - homes.modules = with inputs; [ - catppuccin.homeModules.catppuccin - spicetify-nix.homeManagerModules.spicetify - ]; + homes.modules = with inputs; [ catppuccin.homeModules.catppuccin ]; outputs-builder = channels: { devShells.default = inputs.devenv.lib.mkShell { @@ -148,10 +144,9 @@ hydraJobs = let systems_to_build = [ - "carbon" - "framework" "gospel" "node" + "carbon" ]; in { diff --git a/homes/x86_64-linux/alejandro@carbon/default.nix b/homes/x86_64-linux/alejandro@carbon/default.nix index 7729c52..2f502d4 100644 --- a/homes/x86_64-linux/alejandro@carbon/default.nix +++ b/homes/x86_64-linux/alejandro@carbon/default.nix @@ -4,6 +4,7 @@ let internal_display_settings = "eDP-1,preferred,auto,1.6"; clamshell_script = pkgs.writeShellScriptBin "clamshell" '' if ${pkgs.hyprland}/bin/hyprctl monitors | ${pkgs.ripgrep}/bin/rg -q '\sDP-'; then + echo "Detected external monitor..." if [[ "$1" == "open" ]]; then ${pkgs.hyprland}/bin/hyprctl keyword monitor ${internal_display_settings} else @@ -20,20 +21,14 @@ in enable = true; monitor = [ "eDP-1,preferred,auto,1.6" - "desc:Dell Inc. DELL U4025QW BH2F734,preferred,auto,1.25" + "desc:Dell Inc. DELL U4025QW BH2F734,3440x1440,auto,1" ",preferred,auto,1" ]; }; - aa.services.hypridle.suspendInhibitWhenPluggedIn = true; aa.windowManagers.sway.enable = lib.mkForce false; - aa.spicetify.enable = true; - wayland.windowManager.hyprland.settings.bindl = [ ", switch:off:Lid Switch, exec, ${clamshell_script}/bin/clamshell open" ", switch:on:Lid Switch, exec, ${clamshell_script}/bin/clamshell close" ]; - - catppuccin.zathura.enable = true; - programs.zathura.enable = true; } diff --git a/homes/x86_64-linux/alejandro@framework/default.nix b/homes/x86_64-linux/alejandro@framework/default.nix deleted file mode 100644 index 310fae1..0000000 --- a/homes/x86_64-linux/alejandro@framework/default.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ lib, pkgs, ... }: -let - - internal_display_settings = "eDP-1,preferred,auto,2"; - clamshell_script = pkgs.writeShellScriptBin "clamshell" '' - if ${pkgs.hyprland}/bin/hyprctl monitors | ${pkgs.ripgrep}/bin/rg -q '\sDP-'; then - if [[ "$1" == "open" ]]; then - ${pkgs.hyprland}/bin/hyprctl keyword monitor ${internal_display_settings} - else - ${pkgs.hyprland}/bin/hyprctl keyword monitor "eDP-1,disable" - fi - fi - ''; -in -{ - aa.isHeadless = false; - aa.windowManagers.sway.clamshell.enable = true; - aa.programs.opencode.enable = true; - aa.windowManagers.hyprland = { - enable = true; - monitor = [ - internal_display_settings - "desc:Dell Inc. DELL U4025QW BH2F734,5120x2160@120,auto,2" - ",preferred,auto,1" - ]; - }; - aa.services.hypridle.suspendInhibitWhenPluggedIn = true; - aa.windowManagers.sway.enable = lib.mkForce false; - - wayland.windowManager.hyprland.settings.bindl = [ - ", switch:off:Lid Switch, exec, ${clamshell_script}/bin/clamshell open" - ", switch:on:Lid Switch, exec, ${clamshell_script}/bin/clamshell close" - ]; - - aa.programs.spicetify.enable = true; - - catppuccin.zathura.enable = true; - programs.zathura.enable = true; -} diff --git a/modules/home/apps/tmux/default.nix b/modules/home/apps/tmux/default.nix index fb8ac52..63120c4 100644 --- a/modules/home/apps/tmux/default.nix +++ b/modules/home/apps/tmux/default.nix @@ -75,53 +75,44 @@ in tmuxPlugins.vim-tmux-navigator ]; - extraConfig = '' - # Scrolling with mouse wheel scrolls output instead of previous commands - setw -g mouse on + extraConfig = + '' + # Scrolling with mouse wheel scrolls output instead of previous commands + setw -g mouse on - # Open panes in the same directory - bind c new-window -c "#{pane_current_path}" - bind '"' split-window -c "#{pane_current_path}" - bind % split-window -h -c "#{pane_current_path}" + # Open panes in the same directory + bind c new-window -c "#{pane_current_path}" + bind '"' split-window -c "#{pane_current_path}" + bind % split-window -h -c "#{pane_current_path}" - # sessionizer - bind C-o display-popup -E "${pkgs.tmux-sessionizer}/bin/tms" - bind C-j display-popup -E "${pkgs.tmux-sessionizer}/bin/tms switch" - bind C-w display-popup -E "${pkgs.tmux-sessionizer}/bin/tms windows" - bind C-s command-prompt -p "Rename active session to:" "run-shell '${pkgs.tmux-sessionizer}/bin/tms rename %1'" + # sessionizer + bind C-o display-popup -E "${pkgs.tmux-sessionizer}/bin/tms" + bind C-j display-popup -E "${pkgs.tmux-sessionizer}/bin/tms switch" + bind C-w display-popup -E "${pkgs.tmux-sessionizer}/bin/tms windows" + bind C-s command-prompt -p "Rename active session to:" "run-shell '${pkgs.tmux-sessionizer}/bin/tms rename %1'" - '' - + lib.strings.optionalString config.programs.lazygit.enable '' - # Open lazygit in a popup - # Spins up a new session with a '-lg' suffix (hitting the shortcut - # toggles between attaching and detaching) - bind C-g if-shell "[[ $(tmux display-message -p '#S') == *-lg ]]" { - detach-client - } { - display-popup -h 90% -w 90% -E "tmux new-session -A -s $(tmux display-message -p '#S')-lg ${pkgs.lazygit}/bin/lazygit" - } - '' - + lib.strings.optionalString config.programs.btop.enable '' - # Open btop in a popup - # Spins up a new session named `btop` (hitting the shortcut - # toggles between attaching and detaching) - # NOTE: This overrides the default C-t shortcut (shows time by default) - bind C-t if-shell "[[ $(tmux display-message -p '#S') == btop ]]" { - detach-client - } { - display-popup -h 90% -w 90% -E "tmux new-session -A -s btop ${pkgs.btop}/bin/btop" - } - '' - + lib.strings.optionalString config.programs.yazi.enable '' - # Open yazi in a popup - # Spins up a new session with a '-yazi' suffix (hitting the shortcut - # toggles between attaching and detaching) - bind C-y if-shell "[[ $(tmux display-message -p '#S') == *-yazi ]]" { - detach-client - } { - display-popup -h 90% -w 90% -E "tmux new-session -A -s $(tmux display-message -p '#S')-yazi ${pkgs.yazi}/bin/yazi" - } - ''; + '' + + lib.strings.optionalString config.programs.lazygit.enable '' + # Open lazygit in a popup + # Spins up a new session with a '-lg' suffix (hitting the shortcut + # toggles between attaching and detaching) + bind C-g if-shell "[[ $(tmux display-message -p '#S') == *-lg ]]" { + detach-client + } { + display-popup -h 90% -w 90% -E "tmux new-session -A -s $(tmux display-message -p '#S')-lg ${pkgs.lazygit}/bin/lazygit" + } + '' + + lib.strings.optionalString config.programs.btop.enable '' + # Open btop in a popup + # Spins up a new session named `btop` (hitting the shortcut + # toggles between attaching and detaching) + # NOTE: This overrides the default C-t shortcut (shows time by default) + bind C-t if-shell "[[ $(tmux display-message -p '#S') == btop ]]" { + detach-client + } { + display-popup -h 90% -w 90% -E "tmux new-session -A -s btop ${pkgs.btop}/bin/btop" + } + ''; }; xdg.configFile."tms/config.toml".source = (pkgs.formats.toml { }).generate "tms-config" tmsConfig; diff --git a/modules/home/programs/opencode/default.nix b/modules/home/programs/opencode/default.nix index eae0792..b52b59b 100644 --- a/modules/home/programs/opencode/default.nix +++ b/modules/home/programs/opencode/default.nix @@ -24,14 +24,12 @@ in config = lib.mkIf cfg.enable { programs.opencode = { enable = true; - tui = { + settings = { theme = "catppuccin"; keybinds = { app_exit = "ctrl+d,q"; session_interrupt = "ctrl+c"; }; - }; - settings = { mcp = { context7 = { type = "local"; diff --git a/modules/home/programs/spicetify/default.nix b/modules/home/programs/spicetify/default.nix deleted file mode 100644 index 410bcbc..0000000 --- a/modules/home/programs/spicetify/default.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ - config, - lib, - namespace, - inputs, - pkgs, - ... -}: -let - cfg = config.${namespace}.programs.spicetify; - spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.stdenv.hostPlatform.system}; -in -{ - options.${namespace}.programs.spicetify = { - enable = lib.mkEnableOption "spicetify"; - }; - - config = lib.mkIf cfg.enable { - programs.spicetify = { - enable = true; - colorScheme = "mocha"; - theme = spicePkgs.themes.catppuccin; - enabledExtensions = with spicePkgs.extensions; [ - keyboardShortcut - shuffle - ]; - }; - }; -} diff --git a/modules/home/programs/yazi/default.nix b/modules/home/programs/yazi/default.nix index 4867baf..c44c998 100644 --- a/modules/home/programs/yazi/default.nix +++ b/modules/home/programs/yazi/default.nix @@ -13,10 +13,7 @@ in }; config = lib.mkIf cfg.enable { - programs.yazi = { - enable = true; - shellWrapperName = "y"; - }; + programs.yazi.enable = true; catppuccin.yazi.enable = true; }; } diff --git a/modules/home/services/hypridle/default.nix b/modules/home/services/hypridle/default.nix index d73a8c5..50e792d 100644 --- a/modules/home/services/hypridle/default.nix +++ b/modules/home/services/hypridle/default.nix @@ -14,15 +14,6 @@ let ; cfg = config.${namespace}.services.hypridle; - - # Script that suspends only when not docked (no external monitors). - suspendScript = pkgs.writeShellScript "hypridle-suspend" '' - mon_count=$(${pkgs.hyprland}/bin/hyprctl monitors all 2>/dev/null | ${pkgs.gnugrep}/bin/grep -c '^Monitor' || echo "0") - # If only 1 monitor (builtin), suspend. If 2+ monitors, assume docked - don't suspend. - if [ "$mon_count" -le 1 ]; then - ${pkgs.systemd}/bin/systemctl suspend - fi - ''; in { options.${namespace}.services.hypridle = { @@ -58,14 +49,6 @@ in Whether or not to automatically suspend ''; }; - suspendInhibitWhenPluggedIn = mkOption { - type = types.bool; - default = false; - description = '' - Whether to inhibit suspend when AC power is connected. - Useful for laptops that should only suspend on battery. - ''; - }; brightnessTimeout = mkOption { type = types.int; @@ -125,11 +108,7 @@ in # Suspend system (lib.mkIf cfg.suspendEnable { timeout = cfg.suspendTimeout; - on-timeout = - if cfg.suspendInhibitWhenPluggedIn then - "${suspendScript}" - else - "${pkgs.systemd}/bin/systemctl suspend"; + on-timeout = "systemctl suspend"; }) ]; }; diff --git a/modules/home/services/swaync/default.nix b/modules/home/services/swaync/default.nix index 0d42cd9..49b84c2 100644 --- a/modules/home/services/swaync/default.nix +++ b/modules/home/services/swaync/default.nix @@ -16,19 +16,7 @@ in }; config = mkIf cfg.enable { - home.packages = [ - pkgs.libnotify - pkgs.dconf - ]; - - gtk = { - enable = true; - gtk4.theme = null; - iconTheme = { - name = lib.mkForce "Adwaita"; - package = lib.mkForce pkgs.adwaita-icon-theme; - }; - }; + home.packages = [ pkgs.libnotify ]; services.swaync = { enable = true; diff --git a/modules/home/windowManagers/hyprland/default.nix b/modules/home/windowManagers/hyprland/default.nix index acbe34a..aba89ff 100644 --- a/modules/home/windowManagers/hyprland/default.nix +++ b/modules/home/windowManagers/hyprland/default.nix @@ -246,17 +246,15 @@ in # Media keys bindl = [ - ", XF86AudioRaiseVolume, exec, ${pkgs.swayosd}/bin/swayosd-client --output-volume 5" - ", XF86AudioLowerVolume, exec, ${pkgs.swayosd}/bin/swayosd-client --output-volume -5" - ", XF86AudioMute, exec, ${pkgs.swayosd}/bin/swayosd-client --output-volume mute-toggle" - ", XF86AudioPrev, exec, ${pkgs.swayosd}/bin/swayosd-client --playerctl previous" - ", XF86AudioNext, exec, ${pkgs.swayosd}/bin/swayosd-client --playerctl next" - ", XF86AudioPlay, exec, ${pkgs.swayosd}/bin/swayosd-client --playerctl play-pause" - ", XF86MonBrightnessDown, exec, ${pkgs.swayosd}/bin/swayosd-client --brightness lower" - ", XF86MonBrightnessUp, exec, ${pkgs.swayosd}/bin/swayosd-client --brightness raise" + ", XF86AudioRaiseVolume, exec, ${pkgs.pamixer}/bin/pamixer --increase 5" + ", XF86AudioLowerVolume, exec, ${pkgs.pamixer}/bin/pamixer --decrease 5" + ", XF86AudioMute, exec, ${pkgs.pamixer}/bin/pamixer --toggle-mute" + ", XF86AudioPrev, exec, ${pkgs.playerctl}/bin/playerctl previous" + ", XF86AudioNext, exec, ${pkgs.playerctl}/bin/playerctl next" + ", XF86AudioPlay, exec, ${pkgs.playerctl}/bin/playerctl play-pause" + ", XF86MonBrightnessDown, exec, ${pkgs.light}/bin/light -U 5" + ", XF86MonBrightnessUp, exec, ${pkgs.light}/bin/light -A 5" ]; - - gesture = "3, horizontal, workspace"; }; }; @@ -274,47 +272,5 @@ in ]; }; }; - - xdg.configFile."swayosd/style.css".text = '' - window#osd { - border-radius: 999px; - border: none; - background: rgba(30, 30, 46, 0.8); } - window#osd #container { - margin: 16px; } - window#osd image, - window#osd label { - color: #cdd6f4; } - window#osd progressbar:disabled, - window#osd image:disabled { - opacity: 0.5; } - window#osd progressbar, - window#osd segmentedprogress { - min-height: 6px; - border-radius: 999px; - background: transparent; - border: none; } - window#osd trough, - window#osd segment { - min-height: inherit; - border-radius: inherit; - border: none; - background: rgba(49, 50, 68, 0.8); } - window#osd progress, - window#osd segment.active { - min-height: inherit; - border-radius: inherit; - border: none; - background: #9399b2; } - window#osd segment { - margin-left: 8px; } - window#osd segment:first-child { - margin-left: 0; } - ''; - - services.swayosd = { - enable = true; - stylePath = "${config.xdg.configHome}/${config.xdg.configFile."swayosd/style.css".target}"; - }; }; } diff --git a/modules/home/windowManagers/sway/default.nix b/modules/home/windowManagers/sway/default.nix index 4a122b8..358f299 100644 --- a/modules/home/windowManagers/sway/default.nix +++ b/modules/home/windowManagers/sway/default.nix @@ -320,8 +320,8 @@ in "${modifier}+Left" = "exec 'playerctl previous'"; # Backlight keys - "XF86MonBrightnessDown" = "exec '${pkgs.brightnessctl}/bin/brightnessctl set -n10 10%-'"; - "XF86MonBrightnessUp" = "exec '${pkgs.brightnessctl}/bin/brightnessctl set 10%+'"; + "XF86MonBrightnessDown" = "exec '${pkgs.light}/bin/light -U 5'"; + "XF86MonBrightnessUp" = "exec '${pkgs.light}/bin/light -A 5'"; # Navigation diff --git a/modules/nixos/services/adguardhome/default.nix b/modules/nixos/services/adguardhome/default.nix index 1f1f778..00c369c 100644 --- a/modules/nixos/services/adguardhome/default.nix +++ b/modules/nixos/services/adguardhome/default.nix @@ -38,15 +38,16 @@ in services.nginx = { enable = true; recommendedProxySettings = true; - virtualHosts."adguardhome.kilonull.com" = { - locations."/" = { - proxyPass = "http://127.0.0.1:3000"; + virtualHosts."adguardhome.kilonull.com" = + { + locations."/" = { + proxyPass = "http://127.0.0.1:3000"; + }; + } + // lib.optionalAttrs (cfg.acmeCertName != "") { + forceSSL = true; + useACMEHost = cfg.acmeCertName; }; - } - // lib.optionalAttrs (cfg.acmeCertName != "") { - forceSSL = true; - useACMEHost = cfg.acmeCertName; - }; }; networking.firewall = { diff --git a/modules/nixos/services/atticd/default.nix b/modules/nixos/services/atticd/default.nix index 1a41dd5..8843c6d 100644 --- a/modules/nixos/services/atticd/default.nix +++ b/modules/nixos/services/atticd/default.nix @@ -37,6 +37,7 @@ in # openssl genrsa -traditional 4096 | base64 -w0 environmentFile = config.age.secrets.atticd.path; settings = { + allowed-hosts = [ "attic.kilonull.com" ]; api-endpoint = "https://attic.kilonull.com/"; listen = "[::]:8080"; garbage-collection.retention-period = "30d"; diff --git a/modules/nixos/services/grafana/default.nix b/modules/nixos/services/grafana/default.nix index 1841cd7..1a83bc2 100644 --- a/modules/nixos/services/grafana/default.nix +++ b/modules/nixos/services/grafana/default.nix @@ -113,17 +113,18 @@ in services.nginx = { enable = true; - virtualHosts."${server_settings.domain}" = { - locations."/" = { - proxyPass = "http://${server_settings.http_addr}:${toString server_settings.http_port}"; - proxyWebsockets = true; - recommendedProxySettings = true; + virtualHosts."${server_settings.domain}" = + { + locations."/" = { + proxyPass = "http://${server_settings.http_addr}:${toString server_settings.http_port}"; + proxyWebsockets = true; + recommendedProxySettings = true; + }; + } + // lib.optionalAttrs (cfg.acmeCertName != "") { + forceSSL = true; + useACMEHost = cfg.acmeCertName; }; - } - // lib.optionalAttrs (cfg.acmeCertName != "") { - forceSSL = true; - useACMEHost = cfg.acmeCertName; - }; }; networking.firewall = { diff --git a/modules/nixos/services/minio/default.nix b/modules/nixos/services/minio/default.nix index a998f4b..074396c 100644 --- a/modules/nixos/services/minio/default.nix +++ b/modules/nixos/services/minio/default.nix @@ -33,62 +33,63 @@ in services.nginx = { enable = true; virtualHosts = { - "minio.kilonull.com" = { - extraConfig = '' - # Allow special characters in headers - ignore_invalid_headers off; - # Allow any size file to be uploaded. - # Set to a value such as 1000m; to restrict file size to a specific value - client_max_body_size 0; - # Disable buffering - proxy_buffering off; - proxy_request_buffering off; - ''; + "minio.kilonull.com" = + { + extraConfig = '' + # Allow special characters in headers + ignore_invalid_headers off; + # Allow any size file to be uploaded. + # Set to a value such as 1000m; to restrict file size to a specific value + client_max_body_size 0; + # Disable buffering + proxy_buffering off; + proxy_request_buffering off; + ''; - locations."/".extraConfig = '' - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; + locations."/".extraConfig = '' + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; - proxy_connect_timeout 300; - # Default is HTTP/1, keepalive is only enabled in HTTP/1.1 - proxy_http_version 1.1; - proxy_set_header Connection ""; - chunked_transfer_encoding off; + proxy_connect_timeout 300; + # Default is HTTP/1, keepalive is only enabled in HTTP/1.1 + proxy_http_version 1.1; + proxy_set_header Connection ""; + chunked_transfer_encoding off; - proxy_pass http://localhost:9000; - ''; - locations."/ui".extraConfig = '' - rewrite ^/ui/(.*) /$1 break; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-NginX-Proxy true; + proxy_pass http://localhost:9000; + ''; + locations."/ui".extraConfig = '' + rewrite ^/ui/(.*) /$1 break; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-NginX-Proxy true; - # This is necessary to pass the correct IP to be hashed - real_ip_header X-Real-IP; + # This is necessary to pass the correct IP to be hashed + real_ip_header X-Real-IP; - proxy_connect_timeout 300; + proxy_connect_timeout 300; - # To support websockets in MinIO versions released after January 2023 - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - # Some environments may encounter CORS errors (Kubernetes + Nginx Ingress) - # Uncomment the following line to set the Origin request to an empty string - proxy_set_header Origin ""; + # To support websockets in MinIO versions released after January 2023 + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + # Some environments may encounter CORS errors (Kubernetes + Nginx Ingress) + # Uncomment the following line to set the Origin request to an empty string + proxy_set_header Origin ""; - chunked_transfer_encoding off; + chunked_transfer_encoding off; - proxy_pass http://localhost:9001; - ''; - } - // lib.optionalAttrs (cfg.acmeCertName != "") { - forceSSL = true; - useACMEHost = cfg.acmeCertName; - }; + proxy_pass http://localhost:9001; + ''; + } + // lib.optionalAttrs (cfg.acmeCertName != "") { + forceSSL = true; + useACMEHost = cfg.acmeCertName; + }; }; }; }; diff --git a/modules/nixos/services/nix-serve/default.nix b/modules/nixos/services/nix-serve/default.nix index 3e3b61d..80f0dce 100644 --- a/modules/nixos/services/nix-serve/default.nix +++ b/modules/nixos/services/nix-serve/default.nix @@ -45,19 +45,20 @@ in nginx = { enable = true; - virtualHosts."${cfg.subdomain_name}.${cfg.domain_name}" = { - serverAliases = [ "${cfg.subdomain_name}" ]; - locations."/".extraConfig = '' - proxy_pass http://localhost:${toString config.services.nix-serve.port}; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - ''; - } - // lib.optionalAttrs (cfg.acmeCertName != "") { - forceSSL = true; - useACMEHost = cfg.acmeCertName; - }; + virtualHosts."${cfg.subdomain_name}.${cfg.domain_name}" = + { + serverAliases = [ "${cfg.subdomain_name}" ]; + locations."/".extraConfig = '' + proxy_pass http://localhost:${toString config.services.nix-serve.port}; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + ''; + } + // lib.optionalAttrs (cfg.acmeCertName != "") { + forceSSL = true; + useACMEHost = cfg.acmeCertName; + }; }; }; diff --git a/modules/nixos/services/octoprint/default.nix b/modules/nixos/services/octoprint/default.nix index 451cfd9..35cde36 100644 --- a/modules/nixos/services/octoprint/default.nix +++ b/modules/nixos/services/octoprint/default.nix @@ -25,19 +25,20 @@ in services.nginx = { enable = true; recommendedProxySettings = true; - virtualHosts."octoprint.kilonull.com" = { - locations."/" = { - proxyPass = "http://127.0.0.1:${toString config.services.octoprint.port}"; - proxyWebsockets = true; - extraConfig = '' - client_max_body_size 512m; - ''; + virtualHosts."octoprint.kilonull.com" = + { + locations."/" = { + proxyPass = "http://127.0.0.1:${toString config.services.octoprint.port}"; + proxyWebsockets = true; + extraConfig = '' + client_max_body_size 512m; + ''; + }; + } + // lib.optionalAttrs (cfg.acmeCertName != "") { + forceSSL = true; + useACMEHost = cfg.acmeCertName; }; - } - // lib.optionalAttrs (cfg.acmeCertName != "") { - forceSSL = true; - useACMEHost = cfg.acmeCertName; - }; }; networking.firewall.allowedTCPPorts = [ diff --git a/modules/nixos/services/sunshine/default.nix b/modules/nixos/services/sunshine/default.nix index db6afc4..3d73849 100644 --- a/modules/nixos/services/sunshine/default.nix +++ b/modules/nixos/services/sunshine/default.nix @@ -30,22 +30,23 @@ in services.nginx = { enable = true; - virtualHosts."sunshine.kilonull.com" = { - locations."/" = { - recommendedProxySettings = true; - # NOTE: Sunshine is a little weird since it requires multiple - # ports. You configure it with a base port and the web UI +1 from - # the base port. - proxyPass = "https://127.0.0.1:${toString (config.services.sunshine.settings.port + 1)}"; - extraConfig = '' - proxy_ssl_verify off; - ''; + virtualHosts."sunshine.kilonull.com" = + { + locations."/" = { + recommendedProxySettings = true; + # NOTE: Sunshine is a little weird since it requires multiple + # ports. You configure it with a base port and the web UI +1 from + # the base port. + proxyPass = "https://127.0.0.1:${toString (config.services.sunshine.settings.port + 1)}"; + extraConfig = '' + proxy_ssl_verify off; + ''; + }; + } + // lib.optionalAttrs (cfg.acmeCertName != "") { + forceSSL = true; + useACMEHost = cfg.acmeCertName; }; - } - // lib.optionalAttrs (cfg.acmeCertName != "") { - forceSSL = true; - useACMEHost = cfg.acmeCertName; - }; }; }; } diff --git a/modules/nixos/services/teslamate/default.nix b/modules/nixos/services/teslamate/default.nix index cb0c188..4c35ff4 100644 --- a/modules/nixos/services/teslamate/default.nix +++ b/modules/nixos/services/teslamate/default.nix @@ -147,18 +147,19 @@ in services.nginx = { enable = true; - virtualHosts."teslamate.kilonull.com" = { - locations."/" = { - recommendedProxySettings = true; - proxyWebsockets = true; - # TODO: Make port configurable. - proxyPass = "http://127.0.0.1:4000"; + virtualHosts."teslamate.kilonull.com" = + { + locations."/" = { + recommendedProxySettings = true; + proxyWebsockets = true; + # TODO: Make port configurable. + proxyPass = "http://127.0.0.1:4000"; + }; + } + // lib.optionalAttrs (cfg.acmeCertName != "") { + forceSSL = true; + useACMEHost = cfg.acmeCertName; }; - } - // lib.optionalAttrs (cfg.acmeCertName != "") { - forceSSL = true; - useACMEHost = cfg.acmeCertName; - }; }; networking.firewall.allowedTCPPorts = [ 4000 ]; diff --git a/modules/nixos/user/default.nix b/modules/nixos/user/default.nix index 7810ec5..67bea25 100644 --- a/modules/nixos/user/default.nix +++ b/modules/nixos/user/default.nix @@ -58,7 +58,6 @@ in shell = pkgs.zsh; extraGroups = [ "wheel" ] ++ cfg.extraGroups; - } - // cfg.extraOptions; + } // cfg.extraOptions; }; } diff --git a/overlays/signal-desktop/default.nix b/overlays/signal-desktop-bin/default.nix similarity index 79% rename from overlays/signal-desktop/default.nix rename to overlays/signal-desktop-bin/default.nix index 7941eec..be1b4c3 100644 --- a/overlays/signal-desktop/default.nix +++ b/overlays/signal-desktop-bin/default.nix @@ -1,6 +1,6 @@ { ... }: (final: prev: { - signal-desktop = prev.signal-desktop.overrideAttrs (oldAttrs: { + signal-desktop-bin = prev.signal-desktop-bin.overrideAttrs (oldAttrs: { nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ prev.makeWrapper ]; postInstall = oldAttrs.postInstall or "" + '' wrapProgram $out/bin/signal-desktop \ diff --git a/systems/x86_64-linux/carbon/default.nix b/systems/x86_64-linux/carbon/default.nix index 7d3ae69..41e05a9 100644 --- a/systems/x86_64-linux/carbon/default.nix +++ b/systems/x86_64-linux/carbon/default.nix @@ -75,21 +75,21 @@ wireguard-tools - chromium prusa-slicer traceroute gnumake hugo nixos-generators vlc - signal-desktop - zoom-us + signal-desktop-bin ]; environment.pathsToLink = [ "/share/applications" "/share/xdg-desktop-portal" ]; + programs.light.enable = true; + # This value determines the NixOS release from which the default # settings for stateful data, like file locations and database versions # on your system were taken. It‘s perfectly fine and recommended to leave diff --git a/systems/x86_64-linux/framework/default.nix b/systems/x86_64-linux/framework/default.nix deleted file mode 100644 index df5899e..0000000 --- a/systems/x86_64-linux/framework/default.nix +++ /dev/null @@ -1,122 +0,0 @@ -{ - inputs, - pkgs, - lib, - ... -}: -{ - imports = [ - # Include the results of the hardware scan. - # ./hardware-configuration-zfs.nix - # ./zfs.nix - ./hardware-configuration.nix - inputs.nixos-hardware.nixosModules.framework-13-7040-amd - ]; - - aa = { - nix = { - enable = true; - useSelfhostedCache = true; - remoteBuilder.client.enable = false; - }; - - archetypes.workstation.enable = true; - - # services.printing.enable = true; - services.tailscale = { - enable = true; - configureClientRouting = true; - }; - - hardware.audio.enable = true; - hardware.bluetooth.enable = true; - - # system.zfs.enable = true; - apps.yubikey.enable = true; - - user.extraGroups = [ - "dialout" - "video" - ]; - }; - - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - boot.kernelPackages = pkgs.linuxPackages_latest; - - services.fwupd.enable = true; - services.gvfs.enable = true; - services.logind.settings.Login = { - HandleLidSwitchDocked = "ignore"; - HandleLidSwitchExternalPower = "ignore"; - HandleLidSwitch = "suspend"; - KillUserProcesses = false; - }; - - virtualisation = { - docker = { - enable = true; - storageDriver = "overlay2"; - rootless = { - enable = true; - setSocketVariable = true; - }; - }; - }; - - networking = { - hostName = "framework"; - networkmanager.enable = true; # Enables wireless support via wpa_supplicant. - }; - - # This service is problematic - # See: https://github.com/NixOS/nixpkgs/issues/180175 - systemd.services.NetworkManager-wait-online.enable = false; - - services.tlp.enable = false; - services.power-profiles-daemon.enable = false; - services.tuned.enable = true; - # services.tlp.settings = { - # USB_DENYLIST = "0000:1111 2222:3333 4444:5555"; - # }; - # Still need to run `nix run nixpkgs#bolt -- enroll DEVICE_UUID` - services.hardware.bolt.enable = true; - - time.timeZone = "America/Los_Angeles"; - - # List packages installed in system profile. To search, run: - # $ nix search wget - environment.systemPackages = with pkgs; [ - pavucontrol - # android-tools - # sanoid - # # Below 3 installed for sanoid - # pv - # lzop - # mbuffer - - # wireguard-tools - - chromium - # prusa-slicer - traceroute - gnumake - hugo - nixos-generators - vlc - signal-desktop - # zoom-us - ]; - environment.pathsToLink = [ - "/share/applications" - "/share/xdg-desktop-portal" - ]; - - # This value determines the NixOS release from which the default - # settings for stateful data, like file locations and database versions - # on your system were taken. It‘s perfectly fine and recommended to leave - # this value at the release version of the first install of this system. - # Before changing this value read the documentation for this option - # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). - system.stateVersion = "25.11"; # Did you read the comment? -} diff --git a/systems/x86_64-linux/framework/hardware-configuration.nix b/systems/x86_64-linux/framework/hardware-configuration.nix deleted file mode 100644 index 4400243..0000000 --- a/systems/x86_64-linux/framework/hardware-configuration.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ - config, - lib, - modulesPath, - ... -}: - -{ - imports = [ - (modulesPath + "/installer/scan/not-detected.nix") - ]; - - boot.initrd.availableKernelModules = [ - "nvme" - "xhci_pci" - "thunderbolt" - "usb_storage" - "sd_mod" - ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-amd" ]; - boot.extraModulePackages = [ ]; - - fileSystems."/" = { - device = "UUID=00a14ad6-5635-4b54-b7e2-a35943639bb8"; - fsType = "bcachefs"; - }; - - fileSystems."/boot" = { - device = "/dev/disk/by-uuid/66E9-291D"; - fsType = "vfat"; - options = [ - "fmask=0077" - "dmask=0077" - ]; - }; - - swapDevices = [ { device = "/dev/disk/by-label/SWAP"; } ]; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; -} diff --git a/systems/x86_64-linux/gospel/default.nix b/systems/x86_64-linux/gospel/default.nix index f1376a3..40a1475 100644 --- a/systems/x86_64-linux/gospel/default.nix +++ b/systems/x86_64-linux/gospel/default.nix @@ -47,8 +47,7 @@ services.prometheus.enable = true; services.promtail.enable = true; services.hydra = { - # Intentionally disabled for now - enable = false; + enable = true; acmeCertName = "kilonull.com"; secretKeyPath = "/var/gospelCache"; s3Bucket = "nix-store"; @@ -112,14 +111,6 @@ "ubuntu-20.04:docker://node:16-bullseye" "ubuntu-18.04:docker://node:16-buster" ]; - settings.container = { - options = '' - -e PATH=:${pkgs.nix}/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin - -e NIX_PATH=nixpkgs=flake:nixpkgs:/nix/var/nix/profiles/per-user/root/channels - -e NIX_REMOTE=daemon - ''; - valid_volumes = [ "/nix" ]; - }; }; }; }; @@ -202,7 +193,7 @@ prusa-slicer esptool minicom - signal-desktop + signal-desktop-bin ncdu cntr