diff --git a/disko/wheatley/default.nix b/disko/wheatley/default.nix deleted file mode 100644 index 0e892ff..0000000 --- a/disko/wheatley/default.nix +++ /dev/null @@ -1,47 +0,0 @@ -{ - disko = { - devices = { - disk = { - disk1 = { - imageSize = "20G"; - type = "disk"; - device = "/dev/mmcblk0"; - content = { - type = "gpt"; - partitions = { - firmware = { - size = "30M"; - priority = 1; - type = "0700"; - content = { - type = "filesystem"; - format = "vfat"; - mountpoint = "/firmware"; - }; - }; - boot = { - size = "1G"; - type = "EF00"; - content = { - type = "filesystem"; - format = "vfat"; - mountpoint = "/boot"; - }; - }; - root = { - name = "root"; - size = "100%"; - content = { - type = "filesystem"; - extraArgs = []; - format = "ext4"; - mountpoint = "/"; - }; - }; - }; - }; - }; - }; - }; - }; -} diff --git a/flake.lock b/flake.lock index 2c20b2e..63d14af 100644 --- a/flake.lock +++ b/flake.lock @@ -1,69 +1,53 @@ { "nodes": { - "base16": { + "attic": { "inputs": { - "fromYaml": "fromYaml" + "crane": "crane_2", + "flake-compat": "flake-compat_2", + "flake-parts": "flake-parts", + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs", + "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1746562888, - "narHash": "sha256-YgNJQyB5dQiwavdDFBMNKk1wyS77AtdgDk/VtU6wEaI=", - "owner": "SenchoPens", - "repo": "base16.nix", - "rev": "806a1777a5db2a1ef9d5d6f493ef2381047f2b89", + "lastModified": 1725300620, + "narHash": "sha256-IdM+pZ6BnmD3o1fTJZ2BD43k7dwi1BbVfLDLpM1nE5s=", + "owner": "zhaofengli", + "repo": "attic", + "rev": "bea72d75b6165dfb529ba0c39cc6c7e9c7f0d234", "type": "github" }, "original": { - "owner": "SenchoPens", - "repo": "base16.nix", + "owner": "zhaofengli", + "ref": "main", + "repo": "attic", "type": "github" } }, - "base16-fish": { - "flake": false, + "bcachefs-tools": { + "inputs": { + "crane": "crane", + "fenix": "fenix", + "flake-compat": "flake-compat", + "flake-parts": [ + "flake-parts" + ], + "nixpkgs": [ + "nixpkgs" + ], + "treefmt-nix": "treefmt-nix" + }, "locked": { - "lastModified": 1622559957, - "narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=", - "owner": "tomyun", - "repo": "base16-fish", - "rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe", + "lastModified": 1728525495, + "narHash": "sha256-dsI85smVkHkv0sXlskE7EzBT7aR2jZYs3sCKhLu48NE=", + "owner": "koverstreet", + "repo": "bcachefs-tools", + "rev": "571ca8b8ce27d35cb7be3442dc55d64814dad11f", "type": "github" }, "original": { - "owner": "tomyun", - "repo": "base16-fish", - "type": "github" - } - }, - "base16-helix": { - "flake": false, - "locked": { - "lastModified": 1748408240, - "narHash": "sha256-9M2b1rMyMzJK0eusea0x3lyh3mu5nMeEDSc4RZkGm+g=", - "owner": "tinted-theming", - "repo": "base16-helix", - "rev": "6c711ab1a9db6f51e2f6887cc3345530b33e152e", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "base16-helix", - "type": "github" - } - }, - "base16-vim": { - "flake": false, - "locked": { - "lastModified": 1732806396, - "narHash": "sha256-e0bpPySdJf0F68Ndanwm+KWHgQiZ0s7liLhvJSWDNsA=", - "owner": "tinted-theming", - "repo": "base16-vim", - "rev": "577fe8125d74ff456cf942c733a85d769afe58b7", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "base16-vim", - "rev": "577fe8125d74ff456cf942c733a85d769afe58b7", + "owner": "koverstreet", + "repo": "bcachefs-tools", "type": "github" } }, @@ -83,16 +67,71 @@ "type": "gitlab" } }, - "catppuccin": { + "cachix": { "inputs": { - "nixpkgs": "nixpkgs" + "devenv": "devenv", + "flake-compat": "flake-compat_4", + "git-hooks": "git-hooks", + "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1751705516, - "narHash": "sha256-Y099OGYWYHtpYFP4offuV6rldBnpUv4CYk+HwuaQwLU=", + "lastModified": 1724232775, + "narHash": "sha256-6u2DycIEgrgNYlLxyGqdFVmBNiKIitnQKJ1pbRP5oko=", + "owner": "cachix", + "repo": "cachix", + "rev": "03b6cb3f953097bff378fb8b9ea094bd091a4ec7", + "type": "github" + }, + "original": { + "owner": "cachix", + "ref": "master", + "repo": "cachix", + "type": "github" + } + }, + "cachix_2": { + "inputs": { + "devenv": "devenv_2", + "flake-compat": [ + "conduwuit", + "cachix", + "devenv", + "flake-compat" + ], + "nixpkgs": [ + "conduwuit", + "cachix", + "devenv", + "nixpkgs" + ], + "pre-commit-hooks": [ + "conduwuit", + "cachix", + "devenv", + "pre-commit-hooks" + ] + }, + "locked": { + "lastModified": 1712055811, + "narHash": "sha256-7FcfMm5A/f02yyzuavJe06zLa9hcMHsagE28ADcmQvk=", + "owner": "cachix", + "repo": "cachix", + "rev": "02e38da89851ec7fec3356a5c04bc8349cae0e30", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "cachix", + "type": "github" + } + }, + "catppuccin": { + "locked": { + "lastModified": 1728407414, + "narHash": "sha256-B8LaxUP93eh+it8RW1pGq4SsU2kj7f0ipzFuhBvpON8=", "owner": "catppuccin", "repo": "nix", - "rev": "719bb50ca2c99bc9c077669a48bfd9815493a11d", + "rev": "96cf8b4a05fb23a53c027621b1147b5cf9e5439f", "type": "github" }, "original": { @@ -101,13 +140,66 @@ "type": "github" } }, - "crane": { + "complement": { + "flake": false, "locked": { - "lastModified": 1750266157, - "narHash": "sha256-tL42YoNg9y30u7zAqtoGDNdTyXTi8EALDeCB13FtbQA=", + "lastModified": 1724347376, + "narHash": "sha256-y0e/ULDJ92IhNQZsS/06g0s+AYZ82aJfrIO9qEse94c=", + "owner": "matrix-org", + "repo": "complement", + "rev": "39733c1b2f8314800776748cc7164f9a34650686", + "type": "github" + }, + "original": { + "owner": "matrix-org", + "ref": "main", + "repo": "complement", + "type": "github" + } + }, + "conduwuit": { + "inputs": { + "attic": "attic", + "cachix": "cachix", + "complement": "complement", + "crane": "crane_3", + "fenix": "fenix_2", + "flake-compat": "flake-compat_5", + "flake-utils": "flake-utils_3", + "liburing": "liburing", + "nix-filter": "nix-filter", + "nixpkgs": [ + "nixpkgs" + ], + "rocksdb": "rocksdb" + }, + "locked": { + "lastModified": 1728182038, + "narHash": "sha256-H6QiZWG95OgV+/T4hIguk7QtS5REVHtdNPObQL5R6bM=", + "owner": "girlbossceo", + "repo": "conduwuit", + "rev": "e589464954ff88bf817b8bdff4c803cc3bf18a28", + "type": "github" + }, + "original": { + "owner": "girlbossceo", + "repo": "conduwuit", + "type": "github" + } + }, + "crane": { + "inputs": { + "nixpkgs": [ + "bcachefs-tools", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1721842668, + "narHash": "sha256-k3oiD2z2AAwBFLa4+xfU+7G5fisRXfkvrMTCJrjZzXo=", "owner": "ipetkov", "repo": "crane", - "rev": "e37c943371b73ed87faf33f7583860f81f1d5a48", + "rev": "529c1a0b1f29f0d78fa3086b8f6a134c71ef3aaf", "type": "github" }, "original": { @@ -117,12 +209,19 @@ } }, "crane_2": { + "inputs": { + "nixpkgs": [ + "conduwuit", + "attic", + "nixpkgs" + ] + }, "locked": { - "lastModified": 1750266157, - "narHash": "sha256-tL42YoNg9y30u7zAqtoGDNdTyXTi8EALDeCB13FtbQA=", + "lastModified": 1722960479, + "narHash": "sha256-NhCkJJQhD5GUib8zN9JrmYGMwt4lCRp6ZVNzIiYCl0Y=", "owner": "ipetkov", "repo": "crane", - "rev": "e37c943371b73ed87faf33f7583860f81f1d5a48", + "rev": "4c6c77920b8d44cd6660c1621dea6b3fc4b4c4f4", "type": "github" }, "original": { @@ -131,6 +230,127 @@ "type": "github" } }, + "crane_3": { + "locked": { + "lastModified": 1725409566, + "narHash": "sha256-PrtLmqhM6UtJP7v7IGyzjBFhbG4eOAHT6LPYOFmYfbk=", + "owner": "ipetkov", + "repo": "crane", + "rev": "7e4586bad4e3f8f97a9271def747cf58c4b68f3c", + "type": "github" + }, + "original": { + "owner": "ipetkov", + "ref": "master", + "repo": "crane", + "type": "github" + } + }, + "crane_4": { + "inputs": { + "nixpkgs": [ + "lanzaboote", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1721842668, + "narHash": "sha256-k3oiD2z2AAwBFLa4+xfU+7G5fisRXfkvrMTCJrjZzXo=", + "owner": "ipetkov", + "repo": "crane", + "rev": "529c1a0b1f29f0d78fa3086b8f6a134c71ef3aaf", + "type": "github" + }, + "original": { + "owner": "ipetkov", + "repo": "crane", + "type": "github" + } + }, + "crane_5": { + "locked": { + "lastModified": 1727974419, + "narHash": "sha256-WD0//20h+2/yPGkO88d2nYbb23WMWYvnRyDQ9Dx4UHg=", + "owner": "ipetkov", + "repo": "crane", + "rev": "37e4f9f0976cb9281cd3f0c70081e5e0ecaee93f", + "type": "github" + }, + "original": { + "owner": "ipetkov", + "repo": "crane", + "type": "github" + } + }, + "devenv": { + "inputs": { + "cachix": "cachix_2", + "flake-compat": [ + "conduwuit", + "cachix", + "flake-compat" + ], + "nix": "nix_2", + "nixpkgs": [ + "conduwuit", + "cachix", + "nixpkgs" + ], + "pre-commit-hooks": [ + "conduwuit", + "cachix", + "git-hooks" + ] + }, + "locked": { + "lastModified": 1723156315, + "narHash": "sha256-0JrfahRMJ37Rf1i0iOOn+8Z4CLvbcGNwa2ChOAVrp/8=", + "owner": "cachix", + "repo": "devenv", + "rev": "ff5eb4f2accbcda963af67f1a1159e3f6c7f5f91", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "devenv", + "type": "github" + } + }, + "devenv_2": { + "inputs": { + "flake-compat": [ + "conduwuit", + "cachix", + "devenv", + "cachix", + "flake-compat" + ], + "nix": "nix", + "nixpkgs": "nixpkgs_2", + "poetry2nix": "poetry2nix", + "pre-commit-hooks": [ + "conduwuit", + "cachix", + "devenv", + "cachix", + "pre-commit-hooks" + ] + }, + "locked": { + "lastModified": 1708704632, + "narHash": "sha256-w+dOIW60FKMaHI1q5714CSibk99JfYxm0CzTinYWr+Q=", + "owner": "cachix", + "repo": "devenv", + "rev": "2ee4450b0f4b95a1b90f2eb5ffea98b90e48c196", + "type": "github" + }, + "original": { + "owner": "cachix", + "ref": "python-rewrite", + "repo": "devenv", + "type": "github" + } + }, "disko": { "inputs": { "nixpkgs": [ @@ -138,11 +358,11 @@ ] }, "locked": { - "lastModified": 1751607816, - "narHash": "sha256-5PtrwjqCIJ4DKQhzYdm8RFePBuwb+yTzjV52wWoGSt4=", + "lastModified": 1728334376, + "narHash": "sha256-CTKEKPzD/j8FK6H4DO3EjyixZd3HHvgAgfnCwpGFP5c=", "owner": "nix-community", "repo": "disko", - "rev": "da6109c917b48abc1f76dd5c9bf3901c8c80f662", + "rev": "d39ee334984fcdae6244f5a8e6ab857479cbaefe", "type": "github" }, "original": { @@ -151,30 +371,59 @@ "type": "github" } }, - "firefox-gnome-theme": { - "flake": false, + "fenix": { + "inputs": { + "nixpkgs": [ + "bcachefs-tools", + "nixpkgs" + ], + "rust-analyzer-src": "rust-analyzer-src" + }, "locked": { - "lastModified": 1748383148, - "narHash": "sha256-pGvD/RGuuPf/4oogsfeRaeMm6ipUIznI2QSILKjKzeA=", - "owner": "rafaelmardojai", - "repo": "firefox-gnome-theme", - "rev": "4eb2714fbed2b80e234312611a947d6cb7d70caf", + "lastModified": 1722320953, + "narHash": "sha256-DfGaJtgrzcwPQYLTvjL1KaVIjpvi85b2MpM6yEGvJzM=", + "owner": "nix-community", + "repo": "fenix", + "rev": "483df76def3e5010d709aa3a0418ba2088503994", "type": "github" }, "original": { - "owner": "rafaelmardojai", - "repo": "firefox-gnome-theme", + "owner": "nix-community", + "repo": "fenix", + "type": "github" + } + }, + "fenix_2": { + "inputs": { + "nixpkgs": [ + "conduwuit", + "nixpkgs" + ], + "rust-analyzer-src": "rust-analyzer-src_2" + }, + "locked": { + "lastModified": 1725690497, + "narHash": "sha256-5fT+96rV7Hx29HG+4/oBbr3V+yExKuLN2vcBcPbVBlU=", + "owner": "nix-community", + "repo": "fenix", + "rev": "4b8d964df93d1f918ee6c4f003b3548c432cc866", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "main", + "repo": "fenix", "type": "github" } }, "flake-compat": { "flake": false, "locked": { - "lastModified": 1747046372, - "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", "owner": "edolstra", "repo": "flake-compat", - "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", "type": "github" }, "original": { @@ -186,11 +435,11 @@ "flake-compat_2": { "flake": false, "locked": { - "lastModified": 1747046372, - "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", "owner": "edolstra", "repo": "flake-compat", - "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", "type": "github" }, "original": { @@ -200,12 +449,78 @@ } }, "flake-compat_3": { + "flake": false, "locked": { - "lastModified": 1747046372, - "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", + "lastModified": 1673956053, + "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", "owner": "edolstra", "repo": "flake-compat", - "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", + "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_4": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_5": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "ref": "master", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_6": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_7": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", "type": "github" }, "original": { @@ -217,15 +532,17 @@ "flake-parts": { "inputs": { "nixpkgs-lib": [ + "conduwuit", + "attic", "nixpkgs" ] }, "locked": { - "lastModified": 1751413152, - "narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=", + "lastModified": 1722555600, + "narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "77826244401ea9de6e3bac47c2db46005e1f30b5", + "rev": "8471fe90ad337a8074e957b69ca4d0089218391d", "type": "github" }, "original": { @@ -237,16 +554,15 @@ "flake-parts_2": { "inputs": { "nixpkgs-lib": [ - "lanzaboote", "nixpkgs" ] }, "locked": { - "lastModified": 1749398372, - "narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=", + "lastModified": 1727826117, + "narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569", + "rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1", "type": "github" }, "original": { @@ -258,16 +574,16 @@ "flake-parts_3": { "inputs": { "nixpkgs-lib": [ - "stylix", + "lanzaboote", "nixpkgs" ] }, "locked": { - "lastModified": 1743550720, - "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", + "lastModified": 1719994518, + "narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "c621e8422220273271f52058f618c94e405bb0f5", + "rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7", "type": "github" }, "original": { @@ -281,11 +597,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "type": "github" }, "original": { @@ -296,14 +612,14 @@ }, "flake-utils_2": { "inputs": { - "systems": "systems_3" + "systems": "systems_2" }, "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "lastModified": 1689068808, + "narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=", "owner": "numtide", "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4", "type": "github" }, "original": { @@ -312,66 +628,82 @@ "type": "github" } }, - "fromYaml": { - "flake": false, + "flake-utils_3": { + "inputs": { + "systems": "systems_3" + }, "locked": { - "lastModified": 1731966426, - "narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=", - "owner": "SenchoPens", - "repo": "fromYaml", - "rev": "106af9e2f715e2d828df706c386a685698f3223b", + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "type": "github" }, "original": { - "owner": "SenchoPens", - "repo": "fromYaml", + "owner": "numtide", + "ref": "main", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_4": { + "inputs": { + "systems": "systems_4" + }, + "locked": { + "lastModified": 1726560853, + "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_5": { + "inputs": { + "systems": "systems_5" + }, + "locked": { + "lastModified": 1726560853, + "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", "type": "github" } }, "git-hooks": { "inputs": { "flake-compat": [ - "simple-nixos-mailserver", + "conduwuit", + "cachix", "flake-compat" ], - "gitignore": "gitignore_2", + "gitignore": "gitignore", "nixpkgs": [ - "simple-nixos-mailserver", + "conduwuit", + "cachix", "nixpkgs" - ] - }, - "locked": { - "lastModified": 1749636823, - "narHash": "sha256-WUaIlOlPLyPgz9be7fqWJA5iG6rHcGRtLERSCfUDne4=", - "owner": "cachix", - "repo": "git-hooks.nix", - "rev": "623c56286de5a3193aa38891a6991b28f9bab056", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "git-hooks.nix", - "type": "github" - } - }, - "git-hooks_2": { - "inputs": { - "flake-compat": [ - "stylix", - "flake-compat" ], - "gitignore": "gitignore_3", - "nixpkgs": [ - "stylix", - "nixpkgs" - ] + "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1747372754, - "narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=", + "lastModified": 1723202784, + "narHash": "sha256-qbhjc/NEGaDbyy0ucycubq4N3//gDFFH3DOmp1D3u1Q=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46", + "rev": "c7012d0c18567c889b948781bc74a501e92275d1", "type": "github" }, "original": { @@ -381,6 +713,29 @@ } }, "gitignore": { + "inputs": { + "nixpkgs": [ + "conduwuit", + "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": [ "lanzaboote", @@ -402,67 +757,6 @@ "type": "github" } }, - "gitignore_2": { - "inputs": { - "nixpkgs": [ - "simple-nixos-mailserver", - "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": [ - "stylix", - "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" - } - }, - "gnome-shell": { - "flake": false, - "locked": { - "lastModified": 1748186689, - "narHash": "sha256-UaD7Y9f8iuLBMGHXeJlRu6U1Ggw5B9JnkFs3enZlap0=", - "owner": "GNOME", - "repo": "gnome-shell", - "rev": "8c88f917db0f1f0d80fa55206c863d3746fa18d0", - "type": "github" - }, - "original": { - "owner": "GNOME", - "ref": "48.2", - "repo": "gnome-shell", - "type": "github" - } - }, "home-manager": { "inputs": { "nixpkgs": [ @@ -470,11 +764,11 @@ ] }, "locked": { - "lastModified": 1751693185, - "narHash": "sha256-+LKghTO5wWBcR/MJAeoSarWR7c7dO6GyA8+jM8DHV08=", + "lastModified": 1728337164, + "narHash": "sha256-VdRTjJFyq4Q9U7Z/UoC2Q5jK8vSo6E86lHc2OanXtvc=", "owner": "nix-community", "repo": "home-manager", - "rev": "36c57c6a1d03a5efbf5e23c04dbe21259d25f992", + "rev": "038630363e7de57c36c417fd2f5d7c14773403e4", "type": "github" }, "original": { @@ -484,38 +778,17 @@ "type": "github" } }, - "home-manager_2": { - "inputs": { - "nixpkgs": [ - "stylix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1751146119, - "narHash": "sha256-gvjG95TCnUVJkvQvLMlnC4NqiqFyBdJk3o8/RwuHeaU=", - "owner": "nix-community", - "repo": "home-manager", - "rev": "76d0c31fce2aa0c71409de953e2f9113acd5b656", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "home-manager", - "type": "github" - } - }, "jovian": { "inputs": { - "nix-github-actions": "nix-github-actions", - "nixpkgs": "nixpkgs_2" + "nix-github-actions": "nix-github-actions_2", + "nixpkgs": "nixpkgs_4" }, "locked": { - "lastModified": 1751529406, - "narHash": "sha256-jwKDHyUycp678zDYa5Hyfq3msO73YMXdZPxp96dU7po=", + "lastModified": 1728410210, + "narHash": "sha256-vn6qupt1U0M6Hf3eXhK3/K4Du0Z7A60qYS1G14QsRY8=", "owner": "Jovian-Experiments", "repo": "Jovian-NixOS", - "rev": "b2e5ce654e4f5bf8905c2e07a96dcf4966e6277d", + "rev": "a25f915ec05196d15e3f7f8555ffb612d4f1045d", "type": "github" }, "original": { @@ -526,19 +799,19 @@ }, "lanzaboote": { "inputs": { - "crane": "crane", - "flake-compat": "flake-compat", - "flake-parts": "flake-parts_2", - "nixpkgs": "nixpkgs_3", + "crane": "crane_4", + "flake-compat": "flake-compat_6", + "flake-parts": "flake-parts_3", + "nixpkgs": "nixpkgs_5", "pre-commit-hooks-nix": "pre-commit-hooks-nix", "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1751381593, - "narHash": "sha256-js1XwtJpYhvQrrTaVzViybpztkHJVZ63aXOlFAcTENM=", + "lastModified": 1728199407, + "narHash": "sha256-x4G0ja//3pT/epOvwxKR1XB7GAW7Yuwiy6RYCOgRjuQ=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "f4eb75540307c2b33521322c04b7fea74e48a66f", + "rev": "0bc127c631999c9555cae2b0cdad2128ff058259", "type": "github" }, "original": { @@ -547,7 +820,94 @@ "type": "github" } }, + "liburing": { + "flake": false, + "locked": { + "lastModified": 1725659644, + "narHash": "sha256-WjnpmopfvFoUbubIu9bki+Y6P4YXDfvnW4+72hniq3g=", + "owner": "axboe", + "repo": "liburing", + "rev": "0fe5c09195c0918f89582dd6ff098a58a0bdf62a", + "type": "github" + }, + "original": { + "owner": "axboe", + "ref": "master", + "repo": "liburing", + "type": "github" + } + }, + "nix": { + "inputs": { + "flake-compat": "flake-compat_3", + "nixpkgs": [ + "conduwuit", + "cachix", + "devenv", + "cachix", + "devenv", + "nixpkgs" + ], + "nixpkgs-regression": "nixpkgs-regression" + }, + "locked": { + "lastModified": 1712911606, + "narHash": "sha256-BGvBhepCufsjcUkXnEEXhEVjwdJAwPglCC2+bInc794=", + "owner": "domenkozar", + "repo": "nix", + "rev": "b24a9318ea3f3600c1e24b4a00691ee912d4de12", + "type": "github" + }, + "original": { + "owner": "domenkozar", + "ref": "devenv-2.21", + "repo": "nix", + "type": "github" + } + }, + "nix-filter": { + "locked": { + "lastModified": 1710156097, + "narHash": "sha256-1Wvk8UP7PXdf8bCCaEoMnOT1qe5/Duqgj+rL8sRQsSM=", + "owner": "numtide", + "repo": "nix-filter", + "rev": "3342559a24e85fc164b295c3444e8a139924675b", + "type": "github" + }, + "original": { + "owner": "numtide", + "ref": "main", + "repo": "nix-filter", + "type": "github" + } + }, "nix-github-actions": { + "inputs": { + "nixpkgs": [ + "conduwuit", + "cachix", + "devenv", + "cachix", + "devenv", + "poetry2nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1688870561, + "narHash": "sha256-4UYkifnPEw1nAzqqPOTL2MvWtm3sNGw1UTYTalkTcGY=", + "owner": "nix-community", + "repo": "nix-github-actions", + "rev": "165b1650b753316aa7f1787f3005a8d2da0f5301", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nix-github-actions", + "type": "github" + } + }, + "nix-github-actions_2": { "inputs": { "nixpkgs": [ "jovian", @@ -555,11 +915,11 @@ ] }, "locked": { - "lastModified": 1729697500, - "narHash": "sha256-VFTWrbzDlZyFHHb1AlKRiD/qqCJIripXKiCSFS8fAOY=", + "lastModified": 1690328911, + "narHash": "sha256-fxtExYk+aGf2YbjeWQ8JY9/n9dwuEt+ma1eUFzF8Jeo=", "owner": "zhaofengli", "repo": "nix-github-actions", - "rev": "e418aeb728b6aa5ca8c5c71974e7159c2df1d8cf", + "rev": "96df4a39c52f53cb7098b923224d8ce941b64747", "type": "github" }, "original": { @@ -576,11 +936,11 @@ ] }, "locked": { - "lastModified": 1751170039, - "narHash": "sha256-3EKpUmyGmHYA/RuhZjINTZPU+OFWko0eDwazUOW64nw=", + "lastModified": 1728263287, + "narHash": "sha256-GJDtsxz2/zw6g/Nrp4XVWBS5IaZ7ZUkuvxPOBEDe7pg=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "9c932ae632d6b5150515e5749b198c175d8565db", + "rev": "5fce10c871bab6d7d5ac9e5e7efbb3a2783f5259", "type": "github" }, "original": { @@ -589,13 +949,44 @@ "type": "github" } }, + "nix_2": { + "inputs": { + "flake-compat": [ + "conduwuit", + "cachix", + "devenv", + "flake-compat" + ], + "nixpkgs": [ + "conduwuit", + "cachix", + "devenv", + "nixpkgs" + ], + "nixpkgs-regression": "nixpkgs-regression_2" + }, + "locked": { + "lastModified": 1712911606, + "narHash": "sha256-BGvBhepCufsjcUkXnEEXhEVjwdJAwPglCC2+bInc794=", + "owner": "domenkozar", + "repo": "nix", + "rev": "b24a9318ea3f3600c1e24b4a00691ee912d4de12", + "type": "github" + }, + "original": { + "owner": "domenkozar", + "ref": "devenv-2.21", + "repo": "nix", + "type": "github" + } + }, "nixlib": { "locked": { - "lastModified": 1736643958, - "narHash": "sha256-tmpqTSWVRJVhpvfSN9KXBvKEXplrwKnSZNAoNPf/S/s=", + "lastModified": 1728176478, + "narHash": "sha256-px3Q0W//c+mZ4kPMXq4poztsjtXM1Ja1rN+825YMDUQ=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "1418bc28a52126761c02dd3d89b2d8ca0f521181", + "rev": "b61309c3c1b6013d36299bc8285612865b3b9e4c", "type": "github" }, "original": { @@ -612,11 +1003,11 @@ ] }, "locked": { - "lastModified": 1747663185, - "narHash": "sha256-Obh50J+O9jhUM/FgXtI3he/QRNiV9+J53+l+RlKSaAk=", + "lastModified": 1728522165, + "narHash": "sha256-UQpsJ0Ev6JBGsCYRlS2oOVvb+eWcDD0xTV3RVlqbeVU=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "ee07ba0d36c38e9915c55d2ac5a8fb0f05f2afcc", + "rev": "40c8d30c490414910fc63626ad1b67af7db40cd3", "type": "github" }, "original": { @@ -627,11 +1018,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1751432711, - "narHash": "sha256-136MeWtckSHTN9Z2WRNRdZ8oRP3vyx3L8UxeBYE+J9w=", + "lastModified": 1728269138, + "narHash": "sha256-oKxDImsOvgUZMY4NwXVyUc/c1HiU2qInX+b5BU0yXls=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "497ae1357f1ac97f1aea31a4cb74ad0d534ef41f", + "rev": "ecfcd787f373f43307d764762e139a7cdeb9c22b", "type": "github" }, "original": { @@ -643,43 +1034,42 @@ }, "nixpkgs": { "locked": { - "lastModified": 1750776420, - "narHash": "sha256-/CG+w0o0oJ5itVklOoLbdn2dGB0wbZVOoDm4np6w09A=", + "lastModified": 1724999960, + "narHash": "sha256-LB3jqSGW5u1ZcUcX6vO/qBOq5oXHlmOCxsTXGMEitp4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "30a61f056ac492e3b7cdcb69c1e6abdcf00e39cf", + "rev": "b96f849e725333eb2b1c7f1cb84ff102062468ba", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-unstable", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs-25_05": { + "nixpkgs-24_05": { "locked": { - "lastModified": 1749727998, - "narHash": "sha256-mHv/yeUbmL91/TvV95p+mBVahm9mdQMJoqaTVTALaFw=", + "lastModified": 1717144377, + "narHash": "sha256-F/TKWETwB5RaR8owkPPi+SPJh83AQsm6KrQAlJ8v/uA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fd487183437963a59ba763c0cc4f27e3447dd6dd", + "rev": "805a384895c696f802a9bf5bf4720f37385df547", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixos-25.05", - "repo": "nixpkgs", - "type": "github" + "id": "nixpkgs", + "ref": "nixos-24.05", + "type": "indirect" } }, "nixpkgs-edge": { "locked": { - "lastModified": 1751716659, - "narHash": "sha256-J2JSKWFx1mHQSlWwzy6e6YGn2u0EX7CFn0PeVHwJnv8=", + "lastModified": 1728565888, + "narHash": "sha256-PslcBWpcB0IDe9yxYosT2G/rrsXmAgxrTlEoVFolAPM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a2024a38422a2cf4cc9d3548759573381076dfe4", + "rev": "262f0e36d5e5fd4afc695a9ec368fe0704e5252a", "type": "github" }, "original": { @@ -688,13 +1078,109 @@ "type": "indirect" } }, + "nixpkgs-regression": { + "locked": { + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "github" + } + }, + "nixpkgs-regression_2": { + "locked": { + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "github" + } + }, + "nixpkgs-stable": { + "locked": { + "lastModified": 1724316499, + "narHash": "sha256-Qb9MhKBUTCfWg/wqqaxt89Xfi6qTD3XpTzQ9eXi3JmE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "797f7dc49e0bc7fab4b57c021cdf68f595e47841", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-24.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-stable_2": { + "locked": { + "lastModified": 1720386169, + "narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "194846768975b7ad2c4988bdb82572c00222c0d7", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-24.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-stable_3": { + "locked": { + "lastModified": 1720386169, + "narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "194846768975b7ad2c4988bdb82572c00222c0d7", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-24.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-stable_4": { + "locked": { + "lastModified": 1728156290, + "narHash": "sha256-uogSvuAp+1BYtdu6UWuObjHqSbBohpyARXDWqgI12Ss=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "17ae88b569bb15590549ff478bab6494dde4a907", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "release-24.05", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-unstable": { "locked": { - "lastModified": 1751271578, - "narHash": "sha256-P/SQmKDu06x8yv7i0s8bvnnuJYkxVGBWLWHaU+tt4YY=", + "lastModified": 1728492678, + "narHash": "sha256-9UTxR8eukdg+XZeHgxW5hQA9fIKHsKCdOIUycTryeVw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3016b4b15d13f3089db8a41ef937b13a9e33a8df", + "rev": "5633bcff0c6162b9e4b5f1264264611e950c8ec7", "type": "github" }, "original": { @@ -706,11 +1192,27 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1747744144, - "narHash": "sha256-W7lqHp0qZiENCDwUZ5EX/lNhxjMdNapFnbErcbnP11Q=", + "lastModified": 1692808169, + "narHash": "sha256-x9Opq06rIiwdwGeK2Ykj69dNc2IvUH1fY55Wm7atwrE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2795c506fe8fb7b03c36ccb51f75b6df0ab2553f", + "rev": "9201b5ff357e781bf014d0330d18555695df7ba8", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1722813957, + "narHash": "sha256-IAoYyYnED7P8zrBFMnmp7ydaJfwTnwcnqxUElC1I26Y=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "cb9a96f23c491c081b38eab96d22fa958043c9fa", "type": "github" }, "original": { @@ -720,13 +1222,29 @@ "type": "github" } }, - "nixpkgs_3": { + "nixpkgs_4": { "locked": { - "lastModified": 1751203939, - "narHash": "sha256-omYD+H5LlSihz2DRfv90I8Oeo7JNEwvcHPHX+6nMIM4=", + "lastModified": 1727802920, + "narHash": "sha256-HP89HZOT0ReIbI7IJZJQoJgxvB2Tn28V6XS3MNKnfLs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "650e71cbf76de8dd16f5648a96981b726c4ef8fe", + "rev": "27e30d177e57d912d614c88c622dcfdb2e6e6515", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_5": { + "locked": { + "lastModified": 1722264024, + "narHash": "sha256-gomyYQrlOltr2/prDRikRDQoPz+J5Qq6SEJrqVC5x2c=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "fc5e08c73022f96cfeaefa2e087e8b713d47d201", "type": "github" }, "original": { @@ -736,77 +1254,44 @@ "type": "github" } }, - "nixpkgs_4": { - "locked": { - "lastModified": 1751271578, - "narHash": "sha256-P/SQmKDu06x8yv7i0s8bvnnuJYkxVGBWLWHaU+tt4YY=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "3016b4b15d13f3089db8a41ef937b13a9e33a8df", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_5": { - "locked": { - "lastModified": 1749285348, - "narHash": "sha256-frdhQvPbmDYaScPFiCnfdh3B/Vh81Uuoo0w5TkWmmjU=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "3e3afe5174c561dee0df6f2c2b2236990146329f", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs_6": { "locked": { - "lastModified": 1744868846, - "narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=", - "owner": "NixOS", + "lastModified": 1728492678, + "narHash": "sha256-9UTxR8eukdg+XZeHgxW5hQA9fIKHsKCdOIUycTryeVw=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c", + "rev": "5633bcff0c6162b9e4b5f1264264611e950c8ec7", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", + "owner": "nixos", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_7": { "locked": { - "lastModified": 1748460289, - "narHash": "sha256-7doLyJBzCllvqX4gszYtmZUToxKvMUrg45EUWaUYmBg=", + "lastModified": 1717602782, + "narHash": "sha256-pL9jeus5QpX5R+9rsp3hhZ+uplVHscNJh8n8VpqscM0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "96ec055edbe5ee227f28cdbc3f1ddf1df5965102", + "rev": "e8057b67ebf307f01bdcc8fba94d94f75039d1f6", "type": "github" }, "original": { - "owner": "NixOS", + "id": "nixpkgs", "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" + "type": "indirect" } }, "nixpkgs_8": { "locked": { - "lastModified": 1750865895, - "narHash": "sha256-p2dWAQcLVzquy9LxYCZPwyUdugw78Qv3ChvnX755qHA=", + "lastModified": 1728093190, + "narHash": "sha256-CAZF2NRuHmqTtRTNAruWpHA43Gg2UvuCNEIzabP0l6M=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "61c0f513911459945e2cb8bf333dc849f1b976ff", + "rev": "e2f08f4d8b3ecb5cf5c9fd9cb2d53bb3c71807da", "type": "github" }, "original": { @@ -816,29 +1301,19 @@ "type": "github" } }, - "nur": { - "inputs": { - "flake-parts": [ - "stylix", - "flake-parts" - ], - "nixpkgs": [ - "stylix", - "nixpkgs" - ], - "treefmt-nix": "treefmt-nix" - }, + "nixpkgs_9": { "locked": { - "lastModified": 1748730660, - "narHash": "sha256-5LKmRYKdPuhm8j5GFe3AfrJL8dd8o57BQ34AGjJl1R0=", - "owner": "nix-community", - "repo": "NUR", - "rev": "2c0bc52fe14681e9ef60e3553888c4f086e46ecb", + "lastModified": 1728061008, + "narHash": "sha256-qjyJDtwmJckqDyXHmBIiN04kzby/TX/kPYmclBXlROA=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "8bca501bf31b54ae2022fe5065ab475d75f7560e", "type": "github" }, "original": { - "owner": "nix-community", - "repo": "NUR", + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", "type": "github" } }, @@ -852,11 +1327,11 @@ ] }, "locked": { - "lastModified": 1748196248, - "narHash": "sha256-1iHjsH6/5UOerJEoZKE+Gx1BgAoge/YcnUsOA4wQ/BU=", + "lastModified": 1727917089, + "narHash": "sha256-XWNBGf8Z03sqA5/m99X6XTFbHGNuVx1gMaMQJbdDIrY=", "owner": "pjones", "repo": "plasma-manager", - "rev": "b7697abe89967839b273a863a3805345ea54ab56", + "rev": "bc14b17bff1557de8f103172508f896a87bb9cdb", "type": "github" }, "original": { @@ -865,24 +1340,52 @@ "type": "github" } }, + "poetry2nix": { + "inputs": { + "flake-utils": "flake-utils_2", + "nix-github-actions": "nix-github-actions", + "nixpkgs": [ + "conduwuit", + "cachix", + "devenv", + "cachix", + "devenv", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1692876271, + "narHash": "sha256-IXfZEkI0Mal5y1jr6IRWMqK8GW2/f28xJenZIPQqkY0=", + "owner": "nix-community", + "repo": "poetry2nix", + "rev": "d5006be9c2c2417dafb2e2e5034d83fabd207ee3", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "poetry2nix", + "type": "github" + } + }, "pre-commit-hooks-nix": { "inputs": { "flake-compat": [ "lanzaboote", "flake-compat" ], - "gitignore": "gitignore", + "gitignore": "gitignore_2", "nixpkgs": [ "lanzaboote", "nixpkgs" - ] + ], + "nixpkgs-stable": "nixpkgs-stable_3" }, "locked": { - "lastModified": 1750779888, - "narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=", + "lastModified": 1721042469, + "narHash": "sha256-6FPUl7HVtvRHCCBQne7Ylp4p+dpP3P/OYuzjztZ4s70=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d", + "rev": "f451c19376071a90d8c58ab1a953c6e9840527fd", "type": "github" }, "original": { @@ -891,28 +1394,80 @@ "type": "github" } }, + "rocksdb": { + "flake": false, + "locked": { + "lastModified": 1725811807, + "narHash": "sha256-k6aubvLSJwW7CtIxBRSlM6Z8UiJDCdFUgDWPYLV47Qk=", + "owner": "girlbossceo", + "repo": "rocksdb", + "rev": "347d50e212b24d98b5ad9841404ff80c1bb873f0", + "type": "github" + }, + "original": { + "owner": "girlbossceo", + "ref": "v9.6.1", + "repo": "rocksdb", + "type": "github" + } + }, "root": { "inputs": { + "bcachefs-tools": "bcachefs-tools", "catppuccin": "catppuccin", + "conduwuit": "conduwuit", "disko": "disko", - "flake-parts": "flake-parts", - "flake-utils": "flake-utils", + "flake-parts": "flake-parts_2", + "flake-utils": "flake-utils_4", "home-manager": "home-manager", "jovian": "jovian", "lanzaboote": "lanzaboote", "nix-index-database": "nix-index-database", "nixos-generators": "nixos-generators", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_4", + "nixpkgs": "nixpkgs_6", "nixpkgs-edge": "nixpkgs-edge", "nixpkgs-unstable": "nixpkgs-unstable", "plasma-manager": "plasma-manager", "simple-nixos-mailserver": "simple-nixos-mailserver", "sops-nix": "sops-nix", - "stylix": "stylix", "zjstatus": "zjstatus" } }, + "rust-analyzer-src": { + "flake": false, + "locked": { + "lastModified": 1722262053, + "narHash": "sha256-KxjkPVn9rQqYam6DhiN/V2NcMXtYW25maxkJoiVMpmE=", + "owner": "rust-lang", + "repo": "rust-analyzer", + "rev": "a021b85be57d34b1eed687fcafd5d5ec64b2d853", + "type": "github" + }, + "original": { + "owner": "rust-lang", + "ref": "nightly", + "repo": "rust-analyzer", + "type": "github" + } + }, + "rust-analyzer-src_2": { + "flake": false, + "locked": { + "lastModified": 1725630423, + "narHash": "sha256-gNCLk3Zg7JlAwmWbVHTH6f3+iqdeQ4fheOotCZy8x5M=", + "owner": "rust-lang", + "repo": "rust-analyzer", + "rev": "08c7bbc2dbe4dcc8968484f1a0e1e6fe7a1d4f6d", + "type": "github" + }, + "original": { + "owner": "rust-lang", + "ref": "nightly", + "repo": "rust-analyzer", + "type": "github" + } + }, "rust-overlay": { "inputs": { "nixpkgs": [ @@ -921,11 +1476,11 @@ ] }, "locked": { - "lastModified": 1751165203, - "narHash": "sha256-3QhlpAk2yn+ExwvRLtaixWsVW1q3OX3KXXe0l8VMLl4=", + "lastModified": 1722219664, + "narHash": "sha256-xMOJ+HW4yj6e69PvieohUJ3dBSdgCfvI0nnCEe6/yVc=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "90f547b90e73d3c6025e66c5b742d6db51c418c3", + "rev": "a6fbda5d9a14fb5f7c69b8489d24afeb349c7bb4", "type": "github" }, "original": { @@ -942,11 +1497,11 @@ ] }, "locked": { - "lastModified": 1750905536, - "narHash": "sha256-Mo7yXM5IvMGNvJPiNkFsVT2UERmnvjsKgnY6UyDdySQ=", + "lastModified": 1728095260, + "narHash": "sha256-X62hA5ivYLY5G5+mXI6l9eUDkgi6Wu/7QUrwXhJ09oo=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "2fa7c0aabd15fa0ccc1dc7e675a4fcf0272ad9a1", + "rev": "d1d2532ab267cfe6e40dff73fbaf34436c406d26", "type": "github" }, "original": { @@ -958,17 +1513,16 @@ "simple-nixos-mailserver": { "inputs": { "blobs": "blobs", - "flake-compat": "flake-compat_2", - "git-hooks": "git-hooks", - "nixpkgs": "nixpkgs_5", - "nixpkgs-25_05": "nixpkgs-25_05" + "flake-compat": "flake-compat_7", + "nixpkgs": "nixpkgs_7", + "nixpkgs-24_05": "nixpkgs-24_05" }, "locked": { - "lastModified": 1750949569, - "narHash": "sha256-dTWYv7EPfS5fM+61AUGUd7CD/8DGYdVw/KzGY7XgKq0=", + "lastModified": 1722877200, + "narHash": "sha256-qgKDNJXs+od+1UbRy62uk7dYal3h98I4WojfIqMoGcg=", "owner": "simple-nixos-mailserver", "repo": "nixos-mailserver", - "rev": "b10c54606bb5293158c37b1fac3909dc3a26449f", + "rev": "af7d3bf5daeba3fc28089b015c0dd43f06b176f2", "type": "gitlab" }, "original": { @@ -980,14 +1534,15 @@ }, "sops-nix": { "inputs": { - "nixpkgs": "nixpkgs_6" + "nixpkgs": "nixpkgs_8", + "nixpkgs-stable": "nixpkgs-stable_4" }, "locked": { - "lastModified": 1751606940, - "narHash": "sha256-KrDPXobG7DFKTOteqdSVeL1bMVitDcy7otpVZWDE6MA=", + "lastModified": 1728345710, + "narHash": "sha256-lpunY1+bf90ts+sA2/FgxVNIegPDKCpEoWwOPu4ITTQ=", "owner": "Mic92", "repo": "sops-nix", - "rev": "3633fc4acf03f43b260244d94c71e9e14a2f6e0d", + "rev": "06535d0e3d0201e6a8080dd32dbfde339b94f01b", "type": "github" }, "original": { @@ -996,41 +1551,6 @@ "type": "github" } }, - "stylix": { - "inputs": { - "base16": "base16", - "base16-fish": "base16-fish", - "base16-helix": "base16-helix", - "base16-vim": "base16-vim", - "firefox-gnome-theme": "firefox-gnome-theme", - "flake-compat": "flake-compat_3", - "flake-parts": "flake-parts_3", - "git-hooks": "git-hooks_2", - "gnome-shell": "gnome-shell", - "home-manager": "home-manager_2", - "nixpkgs": "nixpkgs_7", - "nur": "nur", - "systems": "systems_2", - "tinted-foot": "tinted-foot", - "tinted-kitty": "tinted-kitty", - "tinted-schemes": "tinted-schemes", - "tinted-tmux": "tinted-tmux", - "tinted-zed": "tinted-zed" - }, - "locked": { - "lastModified": 1751656637, - "narHash": "sha256-x1uJ6wQ7C+N/Zx9liQzjyVOEwGf5tcKogSoGgxASZOg=", - "owner": "danth", - "repo": "stylix", - "rev": "606944b16862d43934fec3311f9cb9f478b7f99b", - "type": "github" - }, - "original": { - "owner": "danth", - "repo": "stylix", - "type": "github" - } - }, "systems": { "locked": { "lastModified": 1681028828, @@ -1076,101 +1596,49 @@ "type": "github" } }, - "tinted-foot": { - "flake": false, + "systems_4": { "locked": { - "lastModified": 1726913040, - "narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=", - "owner": "tinted-theming", - "repo": "tinted-foot", - "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4", + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", "type": "github" }, "original": { - "owner": "tinted-theming", - "repo": "tinted-foot", - "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4", + "owner": "nix-systems", + "repo": "default", "type": "github" } }, - "tinted-kitty": { - "flake": false, + "systems_5": { "locked": { - "lastModified": 1735730497, - "narHash": "sha256-4KtB+FiUzIeK/4aHCKce3V9HwRvYaxX+F1edUrfgzb8=", - "owner": "tinted-theming", - "repo": "tinted-kitty", - "rev": "de6f888497f2c6b2279361bfc790f164bfd0f3fa", + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", "type": "github" }, "original": { - "owner": "tinted-theming", - "repo": "tinted-kitty", - "type": "github" - } - }, - "tinted-schemes": { - "flake": false, - "locked": { - "lastModified": 1748180480, - "narHash": "sha256-7n0XiZiEHl2zRhDwZd/g+p38xwEoWtT0/aESwTMXWG4=", - "owner": "tinted-theming", - "repo": "schemes", - "rev": "87d652edd26f5c0c99deda5ae13dfb8ece2ffe31", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "schemes", - "type": "github" - } - }, - "tinted-tmux": { - "flake": false, - "locked": { - "lastModified": 1748740859, - "narHash": "sha256-OEM12bg7F4N5WjZOcV7FHJbqRI6jtCqL6u8FtPrlZz4=", - "owner": "tinted-theming", - "repo": "tinted-tmux", - "rev": "57d5f9683ff9a3b590643beeaf0364da819aedda", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "tinted-tmux", - "type": "github" - } - }, - "tinted-zed": { - "flake": false, - "locked": { - "lastModified": 1725758778, - "narHash": "sha256-8P1b6mJWyYcu36WRlSVbuj575QWIFZALZMTg5ID/sM4=", - "owner": "tinted-theming", - "repo": "base16-zed", - "rev": "122c9e5c0e6f27211361a04fae92df97940eccf9", - "type": "github" - }, - "original": { - "owner": "tinted-theming", - "repo": "base16-zed", + "owner": "nix-systems", + "repo": "default", "type": "github" } }, "treefmt-nix": { "inputs": { "nixpkgs": [ - "stylix", - "nur", + "bcachefs-tools", "nixpkgs" ] }, "locked": { - "lastModified": 1733222881, - "narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=", + "lastModified": 1722330636, + "narHash": "sha256-uru7JzOa33YlSRwf9sfXpJG+UAV+bnBEYMjrzKrQZFw=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "49717b5af6f80172275d47a418c9719a31a78b53", + "rev": "768acdb06968e53aa1ee8de207fd955335c754b7", "type": "github" }, "original": { @@ -1181,17 +1649,17 @@ }, "zjstatus": { "inputs": { - "crane": "crane_2", - "flake-utils": "flake-utils_2", - "nixpkgs": "nixpkgs_8", + "crane": "crane_5", + "flake-utils": "flake-utils_5", + "nixpkgs": "nixpkgs_9", "rust-overlay": "rust-overlay_2" }, "locked": { - "lastModified": 1750957292, - "narHash": "sha256-2CYTG+jxP5e7GHAj1t5aMsgb0Rom4jdOb3rsdLKpVNA=", + "lastModified": 1728141581, + "narHash": "sha256-+wg0Avbw/MC2x3CQK4LyJHCPf+oPllJZzU2p+S/B7MU=", "owner": "dj95", "repo": "zjstatus", - "rev": "abd848f23eff00d21ec09278072111d97dfd7fe6", + "rev": "6d13e481aceacd3efe583fb6c442f30e8909f555", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 9382a34..95a8488 100644 --- a/flake.nix +++ b/flake.nix @@ -13,11 +13,11 @@ disko.url = "github:nix-community/disko"; disko.inputs.nixpkgs.follows = "nixpkgs"; - # bcachefs-tools = { - # url = "github:koverstreet/bcachefs-tools"; - # inputs.nixpkgs.follows = "nixpkgs"; - # inputs.flake-parts.follows = "flake-parts"; - # }; + bcachefs-tools = { + url = "github:koverstreet/bcachefs-tools"; + inputs.nixpkgs.follows = "nixpkgs"; + inputs.flake-parts.follows = "flake-parts"; + }; flake-parts = { url = "github:hercules-ci/flake-parts"; # Flake parts for easy flake management @@ -33,7 +33,11 @@ # catpuccin theme catppuccin.url = "github:catppuccin/nix"; - # Conduwuit fork after it shut down + # Conduit fork without all the fuss and drama + conduwuit = { + url = "github:girlbossceo/conduwuit"; + inputs.nixpkgs.follows = "nixpkgs"; + }; # Nix index database files nix-index-database.url = "github:nix-community/nix-index-database"; @@ -74,8 +78,6 @@ # Add any other flake you might need # hardware.url = "github:nixos/nixos-hardware"; - # Stylix theming engine - stylix.url = "github:danth/stylix"; }; outputs = { @@ -95,21 +97,14 @@ jovian, nixos-hardware, nix-index-database, - stylix, + conduwuit, ... } @ inputs: let - supportedSystems = ["x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin"]; - forEachSupportedSystem = f: - nixpkgs.lib.genAttrs supportedSystems (system: - f { - pkgs = import nixpkgs {inherit system;}; - }); inherit (self) outputs; inherit (inputs) nixpkgs-edge; # Supported systems for your flake packages, shell, etc. systems = [ "x86_64-linux" - "aarch64-linux" ]; # This is a function that generates an attribute by calling a function you # pass to it, with each system as an argument @@ -121,41 +116,7 @@ allowUnfreePredicate = _: true; }; }; - - sharedModules = [ - ./nixos/shared - sops-nix.nixosModules.sops - disko.nixosModules.disko - home-manager.nixosModules.home-manager - catppuccin.nixosModules.catppuccin - stylix.nixosModules.stylix - nix-index-database.nixosModules.nix-index - {programs.nix-index-database.comma.enable = true;} - { - home-manager.sharedModules = [ - catppuccin.homeModules.catppuccin - ./home-manager/shared - sops-nix.homeManagerModules.sops - ]; - } - ]; - - desktopModules = [ - ./nixos/desktop - { - home-manager.sharedModules = [ - inputs.plasma-manager.homeManagerModules.plasma-manager - ./home-manager/desktop - ]; - } - ]; in { - devShells = forEachSupportedSystem ({pkgs}: { - default = pkgs.mkShell { - packages = with pkgs; [nom just git]; - }; - }); - # Your custom packages # Accessible through 'nix build', 'nix shell', etc packages = forAllSystems (system: @@ -172,7 +133,7 @@ nixosModules = import ./modules/nixos; # Reusable home-manager modules you might want to export # These are usually stuff you would upstream into home-manager - # homeManagerModules = import ./modules/home-manager; + homeManagerModules = import ./modules/home-manager; # Your custom packages and modifications, exported as overlays overlays = import ./overlays {inherit inputs;}; @@ -183,74 +144,129 @@ EDI = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = {inherit inputs outputs;}; - modules = - sharedModules - ++ desktopModules - ++ [ - {_module.args = {inherit pkgs-edge;};} - nixos-hardware.nixosModules.dell-xps-13-7390 - lanzaboote.nixosModules.lanzaboote - # > Our main nixos configuration file < - ./nixos/hosts/EDI/configuration.nix - ]; + modules = [ + {_module.args = {inherit pkgs-edge;};} + nixos-hardware.nixosModules.dell-xps-13-7390 + # > Our main nixos configuration file < + ./nixos/hosts/EDI/configuration.nix + sops-nix.nixosModules.sops + lanzaboote.nixosModules.lanzaboote + disko.nixosModules.disko + home-manager.nixosModules.home-manager + nix-index-database.nixosModules.nix-index + catppuccin.nixosModules.catppuccin + { + home-manager.sharedModules = [ + inputs.catppuccin.homeManagerModules.catppuccin + inputs.plasma-manager.homeManagerModules.plasma-manager + ]; + } + ]; }; GLaDOS = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = {inherit inputs outputs;}; - modules = - sharedModules - ++ desktopModules - ++ [ - {_module.args = {inherit pkgs-edge;};} - jovian.nixosModules.jovian - # > Our main nixos configuration file < - ./nixos/hosts/GLaDOS/configuration.nix - lanzaboote.nixosModules.lanzaboote - ]; + modules = [ + {_module.args = {inherit pkgs-edge;};} + # > Our main nixos configuration file < + ./nixos/hosts/GLaDOS/configuration.nix + sops-nix.nixosModules.sops + #lanzaboote.nixosModules.lanzaboote + disko.nixosModules.disko + home-manager.nixosModules.home-manager + nix-index-database.nixosModules.nix-index + catppuccin.nixosModules.catppuccin + { + home-manager.sharedModules = [ + inputs.catppuccin.homeManagerModules.catppuccin + inputs.plasma-manager.homeManagerModules.plasma-manager + ]; + } + ]; }; queen = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = {inherit inputs outputs;}; - modules = - sharedModules - ++ [ - {_module.args = {inherit pkgs-edge;};} - simple-nixos-mailserver.nixosModule - # > Our main nixos configuration file < - ./nixos/hosts/queen/configuration.nix - ]; + modules = [ + {_module.args = {inherit pkgs-edge;};} + # > Our main nixos configuration file < + ./nixos/hosts/queen/configuration.nix + sops-nix.nixosModules.sops + disko.nixosModules.disko + simple-nixos-mailserver.nixosModule + catppuccin.nixosModules.catppuccin + { + home-manager.sharedModules = [ + inputs.catppuccin.homeManagerModules.catppuccin + ]; + } + ]; }; shodan = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = {inherit inputs outputs;}; - modules = - sharedModules - ++ [ - {_module.args = {inherit pkgs-edge;};} - # > Our main nixos configuration file < - ./nixos/hosts/shodan/configuration.nix - lanzaboote.nixosModules.lanzaboote - jovian.nixosModules.jovian - { - home-manager.sharedModules = [ - inputs.plasma-manager.homeManagerModules.plasma-manager - ]; - } - ]; + modules = [ + {_module.args = {inherit pkgs-edge;};} + # > Our main nixos configuration file < + ./nixos/hosts/shodan/configuration.nix + sops-nix.nixosModules.sops + lanzaboote.nixosModules.lanzaboote + disko.nixosModules.disko + jovian.nixosModules.jovian + home-manager.nixosModules.home-manager + catppuccin.nixosModules.catppuccin + { + home-manager.sharedModules = [ + inputs.catppuccin.homeManagerModules.catppuccin + inputs.plasma-manager.homeManagerModules.plasma-manager + ]; + } + ]; }; - wheatley = nixpkgs.lib.nixosSystem { - system = "aarch64-linux"; - specialArgs = {inherit inputs outputs;}; - modules = - sharedModules - ++ [ - ./nixos/hosts/wheatley/configuration.nix - ]; - }; + # ISO = nixpkgs.lib.nixosSystem { + # system = "x86_64-linux"; + # specialArgs = {inherit inputs outputs;}; + # modules = [ + # {_module.args = {inherit pkgs-edge;};} + # "${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-plasma6.nix" + # "${nixpkgs}/nixos/modules/installer/cd-dvd/channel.nix" + # ./nixos/hosts/iso/configuration.nix + # sops-nix.nixosModules.sops + # home-manager.nixosModules.home-manager + # nix-index-database.nixosModules.nix-index + # catppuccin.nixosModules.catppuccin + # { + # home-manager.sharedModules = [ + # inputs.plasma-manager.homeManagerModules.plasma-manager + # inputs.catppuccin.homeManagerModules.catppuccin + # ]; + # } + # ]; + # }; + + # iso_server = nixpkgs.lib.nixosSystem { + # system = "x86_64-linux"; + # specialArgs = {inherit inputs outputs;}; + # modules = [ + # {_module.args = {inherit pkgs-edge;};} + # "${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix" + # "${nixpkgs}/nixos/modules/installer/cd-dvd/channel.nix" + # ./nixos/hosts/iso_server/configuration.nix + # sops-nix.nixosModules.sops + # home-manager.nixosModules.home-manager + # nix-index-database.nixosModules.nix-index + # catppuccin.nixosModules.catppuccin + # { + # home-manager.sharedModules = [ + # inputs.catppuccin.homeManagerModules.catppuccin + # ]; + # } + # ]; + # }; }; }; } diff --git a/home-manager/desktop/default.nix b/home-manager/desktop/default.nix index 9ae465b..947d6dd 100644 --- a/home-manager/desktop/default.nix +++ b/home-manager/desktop/default.nix @@ -1,6 +1,9 @@ { - pkgs, + inputs, + outputs, + lib, config, + pkgs, ... }: { # You can import other home-manager modules here @@ -17,10 +20,9 @@ ./package-configs/firefox.nix ./package-configs/konsole ./package-configs/foot - ./package-configs/freetube - ./package-configs/vesktop ]; nixpkgs = { + config.permittedInsecurePackages = ["cinny-4.2.2" "cinny-unwrapped-4.2.2" "cinny-4.2.1" "cinny-unwrapped-4.2.1"]; # You can add overlays here overlays = [ # You can also add overlays exported from other flakes: @@ -32,244 +34,178 @@ # patches = [ ./change-hello-to-hi.patch ]; # }); # }) - # (final: prev: { - # catppuccin-vsc = final.catppuccin-vsc.overrideAttrs (oldAttrs: { - # accent = "mauve"; - # boldKeywords = true; - # italicComments = true; - # italicKeywords = true; - # extraBordersEnabled = false; - # workbenchMode = "default"; - # bracketMode = "rainbow"; - # colorOverrides = {}; - # customUIColors = {}; - # }); - # }) - # (final: prev: { - # catppuccin-vsc = final.catppuccin-vsc.overrideAttrs (oldAttrs: { - # accent = "mauve"; - # boldKeywords = true; - # italicComments = true; - # italicKeywords = true; - # extraBordersEnabled = false; - # workbenchMode = "default"; - # bracketMode = "rainbow"; - # colorOverrides = {}; - # customUIColors = {}; - # }); - # }) + (final: prev: { + catppuccin-vsc = final.catppuccin-vsc.overrideAttrs (oldAttrs: { + accent = "mauve"; + boldKeywords = true; + italicComments = true; + italicKeywords = true; + extraBordersEnabled = false; + workbenchMode = "default"; + bracketMode = "rainbow"; + colorOverrides = {}; + customUIColors = {}; + }); + }) + (final: prev: { + catppuccin-vsc = final.catppuccin-vsc.overrideAttrs (oldAttrs: { + accent = "mauve"; + boldKeywords = true; + italicComments = true; + italicKeywords = true; + extraBordersEnabled = false; + workbenchMode = "default"; + bracketMode = "rainbow"; + colorOverrides = {}; + customUIColors = {}; + }); + }) ]; + # Configure your nixpkgs instance config = { - permittedInsecurePackages = ["cinny-4.2.3" "cinny-unwrapped-4.2.3" "cinny-4.2.2" "cinny-unwrapped-4.2.2"]; - # Configure your nixpkgs instance - # Disable if you don't want unfree packages allowUnfree = true; }; }; - systemd.user = { - # services."nextcloud-autosync@" = { - # Unit = { - # Description = "Auto sync Nextcloud"; - # After = "network-online.target"; - # PartOf = ["nextcloud-autosyncs.target"]; - # }; - # Service = { - # Type = "simple"; - # ExecStart = "${pkgs.nextcloud-client}/bin/nextcloudcmd -h -n --path /%i /home/lillian/%i https://nextcloud.gladtherescake.eu"; - # TimeoutStopSec = "180"; - # KillMode = "process"; - # KillSignal = "SIGINT"; - # }; - # Install.WantedBy = ["multi-user.target"]; - # }; - # targets.nextcloud-autosyncs = { - # Unit = { - # Description = "workers"; - # Requires = ["nextcloud-autosync@Music" "nextcloud-autosync@Pictures" "nextcloud-autosync@Scripts" "nextcloud-autosync@Videos" "nextcloud-autosync@Documents"]; - # PartOf = "nextcloud-autosyncs.target"; - # }; - # Install.WantedBy = ["multi-user.target"]; - # }; - # timers.nextcloud-autosyncs = { - # Unit.Description = "Automatic sync files with Nextcloud when booted up after 5 minutes then rerun every 60 minutes"; - # Timer.OnBootSec = "5min"; - # Timer.OnUnitActiveSec = "60min"; - # Install.WantedBy = ["multi-user.target" "timers.target"]; - # }; - - # Nicely reload system units when changing configs - startServices = "sd-switch"; - }; home = { username = "lillian"; homeDirectory = "/home/lillian"; + }; - file = { - Music = { - source = config.lib.file.mkOutOfStoreSymlink "/home/lillian/Nextcloud/Music"; - target = "Music"; - }; - Pictures = { - source = config.lib.file.mkOutOfStoreSymlink "/home/lillian/Nextcloud/Pictures"; - target = "Pictures"; - }; - Screenshots = { - source = config.lib.file.mkOutOfStoreSymlink "/home/lillian/Nextcloud/Pictures/Screenshots"; - target = "Screenshots"; - }; - Scripts = { - source = config.lib.file.mkOutOfStoreSymlink "/home/lillian/Nextcloud/Scripts"; - target = "Scripts"; - }; - Videos = { - source = config.lib.file.mkOutOfStoreSymlink "/home/lillian/Nextcloud/Videos"; - target = "Videos"; - }; - Documents = { - source = config.lib.file.mkOutOfStoreSymlink "/home/lillian/Nextcloud/Documents"; - target = "Documents"; - }; - floorp = { - source = config.lib.file.mkOutOfStoreSymlink "/home/lillian/.mozilla/firefox"; - target = ".floorp"; - }; - librewolf = { - source = config.lib.file.mkOutOfStoreSymlink "/home/lillian/.mozilla/firefox"; - target = ".librewolf"; - }; - }; + # Add stuff for your user as you see fit: + # programs.neovim.enable = true; + # home.packages = with pkgs; [ steam ]; + qt.style.catppuccin.apply = true; + programs.freetube.catppuccin.flavor = "macchiato"; - # Add stuff for your user as you see fit: - # programs.neovim.enable = true; - # home.packages = with pkgs; [ steam ]; + home.packages = with pkgs; [ + # Coding: + direnv + git + git-credential-manager + git-credential-manager + ruff + kate - packages = with pkgs; [ - # Coding: - direnv - git - git-credential-manager - git-credential-manager - ruff - devtoolbox + # Chat applications: + signal-desktop + vesktop + cinny-desktop - # Chat applications: - signal-desktop - vesktop - cinny-desktop + # Gaming: + prismlauncher + steam + gamescope - # Gaming: - prismlauncher - steam - gamescope + # Multimedia: + freetube + vlc - # Multimedia: - vlc - fcast-receiver - fcast-client + # Office applications: + onlyoffice-bin + gimp + thunderbird - # Office applications: - onlyoffice-bin - gimp - thunderbird + # System tools: + rage + flameshot + fzf + nextcloud-client + nitrokey-app + protonvpn-gui + virtualbox + #watchmate + qbittorrent - # System tools: - rage - flameshot - fzf - nextcloud-client - nitrokey-app - # protonvpn-gui - virtualbox - #watchmate - qbittorrent + # Theming: + catppuccin-cursors + (catppuccin-kde.override { + flavour = ["macchiato"]; + accents = ["mauve"]; + }) + catppuccin-sddm-corners - # Theming: - catppuccin-cursors - (catppuccin-kde.override { - flavour = ["macchiato"]; - accents = ["mauve"]; - }) - catppuccin-sddm-corners + # Theming: + catppuccin-cursors + (catppuccin-kde.override { + flavour = ["macchiato"]; + accents = ["mauve"]; + }) + catppuccin-sddm-corners - # Theming: - catppuccin-cursors - (catppuccin-kde.override { - flavour = ["macchiato"]; - accents = ["mauve"]; - }) - catppuccin-sddm-corners + # Web browsing: + firefoxpwa + firefoxpwa + ungoogled-chromium + ]; - # Web browsing: - firefoxpwa - firefoxpwa - ungoogled-chromium + programs.vscode = { + enable = true; + package = pkgs.vscodium; + extensions = with pkgs.vscode-extensions; [ + catppuccin.catppuccin-vsc + catppuccin.catppuccin-vsc-icons + charliermarsh.ruff + eamodio.gitlens + github.vscode-pull-request-github + jnoortheen.nix-ide + kamadorueda.alejandra + mkhl.direnv + ms-toolsai.jupyter + ms-pyright.pyright + oderwat.indent-rainbow + rust-lang.rust-analyzer + yzhang.markdown-all-in-one ]; }; - programs = { - # vscode = { - # enable = true; - # package = pkgs.vscodium; - # extensions = with pkgs.vscode-extensions; [ - # catppuccin.catppuccin-vsc - # catppuccin.catppuccin-vsc-icons - # charliermarsh.ruff - # eamodio.gitlens - # github.vscode-pull-request-github - # jnoortheen.nix-ide - # kamadorueda.alejandra - # mkhl.direnv - # ms-toolsai.jupyter - # ms-pyright.pyright - # oderwat.indent-rainbow - # rust-lang.rust-analyzer - # yzhang.markdown-all-in-one - # ]; - # }; - obs-studio.enable = true; - obs-studio.plugins = with pkgs.obs-studio-plugins; [ + programs.obs-studio = { + enable = true; + plugins = with pkgs.obs-studio-plugins; [ wlrobs obs-backgroundremoval obs-pipewire-audio-capture ]; + }; - # Enable home-manager and git - home-manager.enable = true; - git = { - enable = true; - userEmail = "git@lillianviolet.dev"; - userName = "Lillian-Violet"; - extraConfig = { - init = { - defaultBranch = "main"; - }; + # Enable home-manager and git + programs.home-manager.enable = true; + programs.git = { + enable = true; + userEmail = "git@lillianviolet.dev"; + userName = "Lillian-Violet"; + extraConfig = { + init = { + defaultBranch = "main"; }; - ignores = [ - "*.direnv" - "*.vscode" - ".envrc" - "venv" - "venv" - ]; - signing.format = "ssh"; }; + ignores = [ + "*.direnv" + "*.vscode" + ".envrc" + "venv" + "venv" + ]; + }; - gpg.enable = true; - gpg.settings = { - default-key = "0d43 5407 034c 2ad9 2d42 799d 280e 061d ff60 0f0d"; - default-recipient-self = true; - auto-key-locate = "local,wkd,keyserver"; - keyserver = "hkps://keys.openpgp.org"; - auto-key-retrieve = true; - auto-key-import = true; - keyserver-options = "honor-keyserver-url"; - no-autostart = true; - }; + programs.gpg.enable = true; + programs.gpg.settings = { + default-key = "0d43 5407 034c 2ad9 2d42 799d 280e 061d ff60 0f0d"; + default-recipient-self = true; + auto-key-locate = "local,wkd,keyserver"; + keyserver = "hkps://keys.openpgp.org"; + auto-key-retrieve = true; + auto-key-import = true; + keyserver-options = "honor-keyserver-url"; + no-autostart = true; }; - services = { - kdeconnect.package = pkgs.kdePackages.kdeconnect-kde; - kdeconnect.enable = true; + + services.kdeconnect = { + package = pkgs.kdePackages.kdeconnect-kde; + enable = true; }; + + # Nicely reload system units when changing configs + systemd.user.startServices = "sd-switch"; } diff --git a/home-manager/desktop/package-configs/firefox.nix b/home-manager/desktop/package-configs/firefox.nix index 8049699..16ad709 100644 --- a/home-manager/desktop/package-configs/firefox.nix +++ b/home-manager/desktop/package-configs/firefox.nix @@ -1,16 +1,11 @@ {pkgs, ...}: { - stylix.targets.firefox.profileNames = ["lillian"]; programs.firefox = { enable = true; nativeMessagingHosts = [pkgs.firefoxpwa]; package = pkgs.floorp; - profiles.default = {isDefault = false;}; profiles.lillian = { isDefault = true; - id = 1; settings = { - "sidebar.verticalTabs" = true; - "sidebar.visibility" = "expand-on-hover"; "browser.aboutConfig.showWarning" = false; "browser.bookmarks.addedImportButton" = true; "browser.bookmarks.restore_default_bookmarks" = false; @@ -29,70 +24,29 @@ "toolkit.legacyUserProfileCustomizations.stylesheets" = true; "browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts.searchEngines" = "DuckDuckGo"; }; - bookmarks = { - force = true; - settings = [ - { - name = "DIY HRT"; - toolbar = false; - bookmarks = [ - { - name = "estrogen production"; - tags = ["chemistry" "oestrogen" "estrogen" "diy"]; - url = "https://crimethinc.com/2022/12/15/producing-transdermal-estrogen-a-do-it-yourself-guide"; - } - { - name = "DIY HRT info"; - tags = ["guides" "wiki" "information" "DIY" "HRT" "estrogen" "testosterone"]; - url = "https://diyhrt.info/"; - } - ]; - } - { - name = "repair resources"; - toolbar = false; - bookmarks = [ - { - name = "manuals library"; - tags = ["repair" "manuals" "documentation"]; - url = "https://manualslib.com/"; - } - ]; - } - { - name = "Nix sites"; - toolbar = false; - bookmarks = [ - { - name = "packages"; - tags = ["packages" "basic" "nix"]; - url = "https://search.nixos.org/"; - } - { - name = "settings"; - tags = ["settings" "services" "packages" "nix"]; - url = "https://mynixos.com"; - } - ]; - } - { - name = "Games"; - toolbar = false; - bookmarks = [ - { - name = "PoE2 build sorceres"; - tags = ["PoE" "PoE2" "path of exile" "path of exile 2" "games" "guides" "build" "sorcerer" "sorceres"]; - url = "https://maxroll.gg/poe2/planner/caeye0hz"; - } - { - name = "PoE2 build ranger"; - tags = ["PoE" "PoE2" "path of exile" "path of exile 2" "games" "guides" "build" "bow" "ranger"]; - url = "https://maxroll.gg/poe2/build-guides/deadeye-gas-arrow-leveling-guide"; - } - ]; - } - ]; - }; + bookmarks = [ + { + name = "estrogen production"; + tags = ["chemistry" "oestrogen" "estrogen" "diy"]; + url = "https://crimethinc.com/2022/12/15/producing-transdermal-estrogen-a-do-it-yourself-guide"; + } + { + name = "Nix sites"; + toolbar = false; + bookmarks = [ + { + name = "packages"; + tags = ["packages" "basic" "nix"]; + url = "https://search.nixos.org/"; + } + { + name = "settings"; + tags = ["settings" "services" "packages" "nix"]; + url = "https://mynixos.com"; + } + ]; + } + ]; }; }; } diff --git a/home-manager/desktop/package-configs/foot/default.nix b/home-manager/desktop/package-configs/foot/default.nix index aada26e..f1839dc 100644 --- a/home-manager/desktop/package-configs/foot/default.nix +++ b/home-manager/desktop/package-configs/foot/default.nix @@ -1,9 +1,10 @@ {...}: { programs.foot = { enable = true; - # catppuccin.enable = true; + catppuccin.enable = true; settings = { main = { + font = "Fira Code:size=11"; }; mouse = { diff --git a/home-manager/desktop/package-configs/freetube/default.nix b/home-manager/desktop/package-configs/freetube/default.nix deleted file mode 100644 index 34a27a0..0000000 --- a/home-manager/desktop/package-configs/freetube/default.nix +++ /dev/null @@ -1,7 +0,0 @@ -{...}: { - home.file."settings.db" = { - source = ./settings.db; - target = ".config/freetube/settings.db"; - force = true; - }; -} diff --git a/home-manager/desktop/package-configs/freetube/settings.db b/home-manager/desktop/package-configs/freetube/settings.db deleted file mode 100644 index e3dcbc4..0000000 --- a/home-manager/desktop/package-configs/freetube/settings.db +++ /dev/null @@ -1,24 +0,0 @@ -{"_id":"allowDashAv1Formats","value":true} -{"_id":"barColor","value":true} -{"_id":"baseTheme","value":"catppuccinMocha"} -{"_id":"bounds","value":{"x":0,"y":66,"width":2560,"height":1374,"maximized":true,"fullScreen":false}} -{"_id":"defaultQuality","value":"1080"} -{"_id":"fetchSubscriptionsAutomatically","value":false} -{"_id":"generalAutoLoadMorePaginatedItemsEnabled","value":true} -{"_id":"hideActiveSubscriptions","value":true} -{"_id":"hidePopularVideos","value":true} -{"_id":"hideRecommendedVideos","value":true} -{"_id":"hideSubscriptionsCommunity","value":true} -{"_id":"hideSubscriptionsLive","value":true} -{"_id":"hideSubscriptionsShorts","value":true} -{"_id":"hideSubscriptionsVideos","value":true} -{"_id":"hideTrendingVideos","value":true} -{"_id":"landingPage","value":"history"} -{"_id":"mainColor","value":"CatppuccinMochaMauve"} -{"_id":"playNextVideo","value":false} -{"_id":"quickBookmarkTargetPlaylistId","value":"favorites"} -{"_id":"secColor","value":"CatppuccinMochaMauve"} -{"_id":"showDistractionFreeTitles","value":true} -{"_id":"useDeArrowThumbnails","value":true} -{"_id":"useDeArrowTitles","value":true} -{"_id":"useSponsorBlock","value":true} diff --git a/home-manager/desktop/package-configs/plasma-desktop.nix b/home-manager/desktop/package-configs/plasma-desktop.nix index 42bb24f..b1f5c6a 100644 --- a/home-manager/desktop/package-configs/plasma-desktop.nix +++ b/home-manager/desktop/package-configs/plasma-desktop.nix @@ -1,45 +1,7 @@ -{osConfig, ...}: { - home.file.".config/kdeconnect/config" = { - text = '' - [General] - keyAlgorithm=EC - name=${osConfig.networking.hostName} - customDevices=10.0.0.2,10.0.0.3,10.0.0.4,10.0.0.5 - ''; - target = ".config/kdeconnect/config"; - force = true; - }; - +{ programs.plasma = { enable = true; desktop.mouseActions.verticalScroll = "switchVirtualDesktop"; - kscreenlocker.appearance.wallpaper = "${osConfig.stylix.image}"; - fonts = { - fixedWidth = { - pointSize = 11; - family = "${osConfig.stylix.fonts.monospace.name}"; - }; - general = { - pointSize = 11; - family = "${osConfig.stylix.fonts.serif.name}"; - }; - menu = { - pointSize = 11; - family = "${osConfig.stylix.fonts.sansSerif.name}"; - }; - small = { - pointSize = 11; - family = "${osConfig.stylix.fonts.sansSerif.name}"; - }; - toolbar = { - pointSize = 11; - family = "${osConfig.stylix.fonts.sansSerif.name}"; - }; - windowTitle = { - pointSize = 11; - family = "${osConfig.stylix.fonts.sansSerif.name}"; - }; - }; panels = [ { alignment = "left"; @@ -81,7 +43,6 @@ "Nitrokey App" "qBittorrent" "vlc" - "obs" "steam" ]; }; @@ -118,18 +79,18 @@ config = { General = { launchers = [ - "applications:librewolf.desktop" + "applications:floorp.desktop" "applications:systemsettings.desktop" "applications:org.kde.dolphin.desktop" - "applications:signal.desktop" + "applications:signal-desktop.desktop" "applications:vesktop.desktop" - "applications:thunderbird.desktop" "applications:cinny.desktop" "applications:steam.desktop" "applications:noisetorch.desktop" "applications:org.kde.plasma-systemmonitor.desktop" - "applications:foot.desktop" + "applications:org.codeberg.dnkl.foot.desktop" "applications:nitrokey-app.desktop" + "applications:codium.desktop" "applications:freetube.desktop" ]; }; @@ -167,15 +128,24 @@ "ksmserver"."Reboot Without Confirmation" = "none,,Reboot Without Confirmation"; "ksmserver"."Shut Down" = "none,,Shut Down"; "kwin"."Activate Window Demanding Attention" = "Meta+Ctrl+A"; + "kwin"."Cycle Overview" = []; + "kwin"."Cycle Overview Opposite" = []; + "kwin"."Decrease Opacity" = "none,,Decrease Opacity of Active Window by 5%"; "kwin"."Edit Tiles" = "Meta+T"; "kwin"."Expose" = "Ctrl+F9"; "kwin"."ExposeAll" = ["Ctrl+F10" "Launch (C),Ctrl+F10" "Launch (C),Toggle Present Windows (All desktops)"]; "kwin"."ExposeClass" = "Ctrl+F7"; + "kwin"."ExposeClassCurrentDesktop" = []; "kwin"."Grid View" = "Meta+G"; "kwin"."Increase Opacity" = "none,,Increase Opacity of Active Window by 5%"; "kwin"."Kill Window" = "Meta+Ctrl+Esc"; + "kwin"."Move Tablet to Next Output" = []; "kwin"."MoveMouseToCenter" = "Meta+F6"; "kwin"."MoveMouseToFocus" = "Meta+F5"; + "kwin"."MoveZoomDown" = []; + "kwin"."MoveZoomLeft" = []; + "kwin"."MoveZoomRight" = []; + "kwin"."MoveZoomUp" = []; "kwin"."Overview" = "Meta+W"; "kwin"."Setup Window Shortcut" = "none,,Setup Window Shortcut"; "kwin"."Show Desktop" = "Meta+D"; @@ -188,47 +158,151 @@ "kwin"."Switch Window Right" = "Meta+Alt+Right"; "kwin"."Switch Window Up" = "Meta+Alt+Up"; "kwin"."Switch to Desktop 1" = "Ctrl+F1"; + "kwin"."Switch to Desktop 10" = "none,,Switch to Desktop 10"; + "kwin"."Switch to Desktop 11" = "none,,Switch to Desktop 11"; + "kwin"."Switch to Desktop 12" = "none,,Switch to Desktop 12"; + "kwin"."Switch to Desktop 13" = "none,,Switch to Desktop 13"; + "kwin"."Switch to Desktop 14" = "none,,Switch to Desktop 14"; + "kwin"."Switch to Desktop 15" = "none,,Switch to Desktop 15"; + "kwin"."Switch to Desktop 16" = "none,,Switch to Desktop 16"; + "kwin"."Switch to Desktop 17" = "none,,Switch to Desktop 17"; + "kwin"."Switch to Desktop 18" = "none,,Switch to Desktop 18"; + "kwin"."Switch to Desktop 19" = "none,,Switch to Desktop 19"; "kwin"."Switch to Desktop 2" = "Ctrl+F2"; + "kwin"."Switch to Desktop 20" = "none,,Switch to Desktop 20"; "kwin"."Switch to Desktop 3" = "Ctrl+F3"; "kwin"."Switch to Desktop 4" = "Ctrl+F4"; + "kwin"."Switch to Desktop 5" = "none,,Switch to Desktop 5"; + "kwin"."Switch to Desktop 6" = "none,,Switch to Desktop 6"; + "kwin"."Switch to Desktop 7" = "none,,Switch to Desktop 7"; + "kwin"."Switch to Desktop 8" = "none,,Switch to Desktop 8"; + "kwin"."Switch to Desktop 9" = "none,,Switch to Desktop 9"; + "kwin"."Switch to Next Desktop" = "none,,Switch to Next Desktop"; + "kwin"."Switch to Next Screen" = "none,,Switch to Next Screen"; + "kwin"."Switch to Previous Desktop" = "none,,Switch to Previous Desktop"; + "kwin"."Switch to Previous Screen" = "none,,Switch to Previous Screen"; + "kwin"."Switch to Screen 0" = "none,,Switch to Screen 0"; + "kwin"."Switch to Screen 1" = "none,,Switch to Screen 1"; + "kwin"."Switch to Screen 2" = "none,,Switch to Screen 2"; + "kwin"."Switch to Screen 3" = "none,,Switch to Screen 3"; + "kwin"."Switch to Screen 4" = "none,,Switch to Screen 4"; + "kwin"."Switch to Screen 5" = "none,,Switch to Screen 5"; + "kwin"."Switch to Screen 6" = "none,,Switch to Screen 6"; + "kwin"."Switch to Screen 7" = "none,,Switch to Screen 7"; + "kwin"."Switch to Screen Above" = "none,,Switch to Screen Above"; + "kwin"."Switch to Screen Below" = "none,,Switch to Screen Below"; + "kwin"."Switch to Screen to the Left" = "none,,Switch to Screen to the Left"; + "kwin"."Switch to Screen to the Right" = "none,,Switch to Screen to the Right"; + "kwin"."Toggle Night Color" = []; + "kwin"."Toggle Window Raise/Lower" = "none,,Toggle Window Raise/Lower"; + "kwin"."Walk Through Desktop List" = []; + "kwin"."Walk Through Desktop List (Reverse)" = []; + "kwin"."Walk Through Desktops" = []; + "kwin"."Walk Through Desktops (Reverse)" = []; "kwin"."Walk Through Windows" = "Alt+Tab"; "kwin"."Walk Through Windows (Reverse)" = "Alt+Shift+Tab"; + "kwin"."Walk Through Windows Alternative" = "none,,Walk Through Windows Alternative"; + "kwin"."Walk Through Windows Alternative (Reverse)" = "none,,Walk Through Windows Alternative (Reverse)"; "kwin"."Walk Through Windows of Current Application" = "Alt+`"; "kwin"."Walk Through Windows of Current Application (Reverse)" = "Alt+~"; + "kwin"."Walk Through Windows of Current Application Alternative" = "none,,Walk Through Windows of Current Application Alternative"; + "kwin"."Walk Through Windows of Current Application Alternative (Reverse)" = "none,,Walk Through Windows of Current Application Alternative (Reverse)"; + "kwin"."Window Above Other Windows" = "none,,Keep Window Above Others"; + "kwin"."Window Below Other Windows" = "none,,Keep Window Below Others"; "kwin"."Window Close" = "Alt+F4"; + "kwin"."Window Fullscreen" = "none,,Make Window Fullscreen"; + "kwin"."Window Grow Horizontal" = "none,,Expand Window Horizontally"; + "kwin"."Window Grow Vertical" = "none,,Expand Window Vertically"; + "kwin"."Window Lower" = "none,,Lower Window"; "kwin"."Window Maximize" = "Meta+PgUp"; + "kwin"."Window Maximize Horizontal" = "none,,Maximize Window Horizontally"; + "kwin"."Window Maximize Vertical" = "none,,Maximize Window Vertically"; "kwin"."Window Minimize" = "Meta+PgDown"; + "kwin"."Window Move" = "none,,Move Window"; + "kwin"."Window Move Center" = "none,,Move Window to the Center"; + "kwin"."Window No Border" = "none,,Toggle Window Titlebar and Frame"; + "kwin"."Window On All Desktops" = "none,,Keep Window on All Desktops"; "kwin"."Window One Desktop Down" = "Meta+Ctrl+Shift+Down"; "kwin"."Window One Desktop Up" = "Meta+Ctrl+Shift+Up"; "kwin"."Window One Desktop to the Left" = "Meta+Ctrl+Shift+Left"; "kwin"."Window One Desktop to the Right" = "Meta+Ctrl+Shift+Right"; + "kwin"."Window One Screen Down" = "none,,Move Window One Screen Down"; + "kwin"."Window One Screen Up" = "none,,Move Window One Screen Up"; + "kwin"."Window One Screen to the Left" = "none,,Move Window One Screen to the Left"; + "kwin"."Window One Screen to the Right" = "none,,Move Window One Screen to the Right"; "kwin"."Window Operations Menu" = "Alt+F3"; + "kwin"."Window Pack Down" = "none,,Move Window Down"; + "kwin"."Window Pack Left" = "none,,Move Window Left"; + "kwin"."Window Pack Right" = "none,,Move Window Right"; + "kwin"."Window Pack Up" = "none,,Move Window Up"; "kwin"."Window Quick Tile Bottom" = "Meta+Down"; + "kwin"."Window Quick Tile Bottom Left" = "none,,Quick Tile Window to the Bottom Left"; + "kwin"."Window Quick Tile Bottom Right" = "none,,Quick Tile Window to the Bottom Right"; "kwin"."Window Quick Tile Left" = "Meta+Left"; "kwin"."Window Quick Tile Right" = "Meta+Right"; "kwin"."Window Quick Tile Top" = "Meta+Up"; + "kwin"."Window Quick Tile Top Left" = "none,,Quick Tile Window to the Top Left"; + "kwin"."Window Quick Tile Top Right" = "none,,Quick Tile Window to the Top Right"; + "kwin"."Window Raise" = "none,,Raise Window"; + "kwin"."Window Resize" = "none,,Resize Window"; + "kwin"."Window Shade" = "none,,Shade Window"; + "kwin"."Window Shrink Horizontal" = "none,,Shrink Window Horizontally"; + "kwin"."Window Shrink Vertical" = "none,,Shrink Window Vertically"; + "kwin"."Window to Desktop 1" = "none,,Window to Desktop 1"; + "kwin"."Window to Desktop 10" = "none,,Window to Desktop 10"; + "kwin"."Window to Desktop 11" = "none,,Window to Desktop 11"; + "kwin"."Window to Desktop 12" = "none,,Window to Desktop 12"; + "kwin"."Window to Desktop 13" = "none,,Window to Desktop 13"; + "kwin"."Window to Desktop 14" = "none,,Window to Desktop 14"; + "kwin"."Window to Desktop 15" = "none,,Window to Desktop 15"; + "kwin"."Window to Desktop 16" = "none,,Window to Desktop 16"; + "kwin"."Window to Desktop 17" = "none,,Window to Desktop 17"; + "kwin"."Window to Desktop 18" = "none,,Window to Desktop 18"; + "kwin"."Window to Desktop 19" = "none,,Window to Desktop 19"; + "kwin"."Window to Desktop 2" = "none,,Window to Desktop 2"; + "kwin"."Window to Desktop 20" = "none,,Window to Desktop 20"; + "kwin"."Window to Desktop 3" = "none,,Window to Desktop 3"; + "kwin"."Window to Desktop 4" = "none,,Window to Desktop 4"; + "kwin"."Window to Desktop 5" = "none,,Window to Desktop 5"; + "kwin"."Window to Desktop 6" = "none,,Window to Desktop 6"; + "kwin"."Window to Desktop 7" = "none,,Window to Desktop 7"; + "kwin"."Window to Desktop 8" = "none,,Window to Desktop 8"; + "kwin"."Window to Desktop 9" = "none,,Window to Desktop 9"; + "kwin"."Window to Next Desktop" = "none,,Window to Next Desktop"; "kwin"."Window to Next Screen" = "Meta+Shift+Right"; "kwin"."Window to Previous Desktop" = "none,,Window to Previous Desktop"; "kwin"."Window to Previous Screen" = "Meta+Shift+Left"; + "kwin"."Window to Screen 0" = "none,,Move Window to Screen 0"; + "kwin"."Window to Screen 1" = "none,,Move Window to Screen 1"; + "kwin"."Window to Screen 2" = "none,,Move Window to Screen 2"; + "kwin"."Window to Screen 3" = "none,,Move Window to Screen 3"; + "kwin"."Window to Screen 4" = "none,,Move Window to Screen 4"; + "kwin"."Window to Screen 5" = "none,,Move Window to Screen 5"; + "kwin"."Window to Screen 6" = "none,,Move Window to Screen 6"; + "kwin"."Window to Screen 7" = "none,,Move Window to Screen 7"; "kwin"."view_actual_size" = "\\, Meta+0\\, ,Meta+0,Zoom to Actual Size"; "kwin"."view_zoom_in" = ["Meta++" "Meta+=,Meta++" "Meta+=,Zoom In"]; "kwin"."view_zoom_out" = "Meta+-"; + "mediacontrol"."mediavolumedown" = []; + "mediacontrol"."mediavolumeup" = "none,,Media volume up"; "mediacontrol"."nextmedia" = "Media Next"; "mediacontrol"."pausemedia" = "Media Pause"; + "mediacontrol"."playmedia" = "none,,Play media playback"; "mediacontrol"."playpausemedia" = "Media Play"; "mediacontrol"."previousmedia" = "Media Previous"; "mediacontrol"."stopmedia" = "Media Stop"; "org_kde_powerdevil"."Decrease Keyboard Brightness" = "Keyboard Brightness Down"; - "org_kde_powerdevil"."Decrease Screen Brightness" = ["Monitor Brightness Down" "Ctrl+Volume Down"]; - "org_kde_powerdevil"."Decrease Screen Brightness Small" = ["Monitor Brightness Down" "Ctrl+Shift+Volume Down"]; + "org_kde_powerdevil"."Decrease Screen Brightness" = "Monitor Brightness Down"; + "org_kde_powerdevil"."Decrease Screen Brightness Small" = "Shift+Monitor Brightness Down"; "org_kde_powerdevil"."Hibernate" = "Hibernate"; "org_kde_powerdevil"."Increase Keyboard Brightness" = "Keyboard Brightness Up"; - "org_kde_powerdevil"."Increase Screen Brightness" = ["Monitor Brightness Up" "Ctrl+Volume Up"]; - "org_kde_powerdevil"."Increase Screen Brightness Small" = ["Shift+Monitor Brightness Up" "Ctrl+Shift+Volume Up"]; + "org_kde_powerdevil"."Increase Screen Brightness" = "Monitor Brightness Up"; + "org_kde_powerdevil"."Increase Screen Brightness Small" = "Shift+Monitor Brightness Up"; "org_kde_powerdevil"."PowerDown" = "Power Down"; "org_kde_powerdevil"."PowerOff" = "Power Off"; "org_kde_powerdevil"."Sleep" = "Sleep"; "org_kde_powerdevil"."Toggle Keyboard Backlight" = "Keyboard Light On/Off"; + "org_kde_powerdevil"."Turn Off Screen" = []; "org_kde_powerdevil"."powerProfile" = ["Battery" "Meta+B,Battery" "Meta+B,Switch Power Profile"]; "plasmashell"."activate application launcher" = ["Meta" "Alt+F1,Meta" "Alt+F1,Activate Application Launcher"]; "plasmashell"."activate task manager entry 1" = "Meta+1"; @@ -244,18 +318,29 @@ "plasmashell"."clear-history" = "none,,Clear Clipboard History"; "plasmashell"."clipboard_action" = "Meta+Ctrl+X"; "plasmashell"."cycle-panels" = "Meta+Alt+P"; + "plasmashell"."cycleNextAction" = "none,,Next History Item"; + "plasmashell"."cyclePrevAction" = "none,,Previous History Item"; "plasmashell"."edit_clipboard" = []; "plasmashell"."manage activities" = "Meta+Q"; + "plasmashell"."next activity" = "\\, \\, ,none,Walk through activities"; + "plasmashell"."previous activity" = ",none,Walk through activities (Reverse)"; "plasmashell"."repeat_action" = "Meta+Ctrl+R"; "plasmashell"."show dashboard" = "Ctrl+F12"; + "plasmashell"."show-barcode" = "none,,Show Barcode…"; "plasmashell"."show-on-mouse-pos" = "Meta+V"; "plasmashell"."stop current activity" = "Meta+S"; + "plasmashell"."switch to next activity" = "none,,Switch to Next Activity"; + "plasmashell"."switch to previous activity" = "none,,Switch to Previous Activity"; + "plasmashell"."toggle do not disturb" = "none,,Toggle do not disturb"; "services/org.kde.krunner.desktop"."_launch" = ["Alt+Space" "Alt+F2" "Ctrl+Shift+Space" "Search"]; "services/org.kde.plasma-systemmonitor.desktop"."_launch" = "Ctrl+Esc"; "services/org.kde.spectacle.desktop"."ActiveWindowScreenShot" = ["Meta+Print" "Ctrl+!"]; "services/org.kde.spectacle.desktop"."CurrentMonitorScreenShot" = "Ctrl+#"; "services/org.kde.spectacle.desktop"."FullScreenScreenShot" = ["Ctrl+$" "Shift+Print"]; "services/org.kde.spectacle.desktop"."OpenWithoutScreenshot" = "Ctrl+^"; + "services/org.kde.spectacle.desktop"."RecordRegion" = []; + "services/org.kde.spectacle.desktop"."RecordScreen" = []; + "services/org.kde.spectacle.desktop"."RecordWindow" = []; "services/org.kde.spectacle.desktop"."RectangularRegionScreenShot" = ["Ctrl+@" "Meta+Shift+Print"]; "services/org.kde.spectacle.desktop"."WindowUnderCursorScreenShot" = ["Meta+Ctrl+Print" "Ctrl+%"]; "services/org.kde.spectacle.desktop"."_launch" = "Print"; @@ -1026,7 +1111,7 @@ "kwinrc"."NightColor"."LatitudeFixed" = 52.31865273558926; "kwinrc"."NightColor"."LongitudeFixed" = 5.44; "kwinrc"."NightColor"."Mode" = "Location"; - "kwinrc"."NightColor"."NightTemperature" = 2000; + "kwinrc"."NightColor"."NightTemperature" = 1400; "kwinrc"."Plugins"."diminactiveEnabled" = true; "kwinrc"."Plugins"."dimscreenEnabled" = true; "kwinrc"."Plugins"."wobblywindowsEnabled" = true; diff --git a/home-manager/desktop/package-configs/vesktop/default.nix b/home-manager/desktop/package-configs/vesktop/default.nix deleted file mode 100644 index b02afec..0000000 --- a/home-manager/desktop/package-configs/vesktop/default.nix +++ /dev/null @@ -1,7 +0,0 @@ -{...}: { - home.file."settings.json" = { - source = ./settings.json; - target = ".config/vesktop/settings/settings.json"; - force = true; - }; -} diff --git a/home-manager/desktop/package-configs/vesktop/settings.json b/home-manager/desktop/package-configs/vesktop/settings.json deleted file mode 100644 index 5531e9b..0000000 --- a/home-manager/desktop/package-configs/vesktop/settings.json +++ /dev/null @@ -1,602 +0,0 @@ -{ - "autoUpdate": true, - "autoUpdateNotification": false, - "useQuickCss": true, - "themeLinks": [], - "enabledThemes": [ - "stylix.theme.css" - ], - "enableReactDevtools": false, - "frameless": false, - "transparent": false, - "winCtrlQ": false, - "disableMinSize": false, - "winNativeTitleBar": false, - "plugins": { - "ChatInputButtonAPI": { - "enabled": true - }, - "CommandsAPI": { - "enabled": true - }, - "MemberListDecoratorsAPI": { - "enabled": false - }, - "MessageAccessoriesAPI": { - "enabled": true - }, - "MessageDecorationsAPI": { - "enabled": false - }, - "MessageEventsAPI": { - "enabled": true - }, - "MessagePopoverAPI": { - "enabled": false - }, - "MessageUpdaterAPI": { - "enabled": false - }, - "ServerListAPI": { - "enabled": false - }, - "UserSettingsAPI": { - "enabled": true - }, - "AccountPanelServerProfile": { - "enabled": false - }, - "AlwaysAnimate": { - "enabled": false - }, - "AlwaysExpandRoles": { - "enabled": false - }, - "AlwaysTrust": { - "enabled": true, - "domain": true, - "file": true - }, - "AnonymiseFileNames": { - "enabled": true, - "anonymiseByDefault": true, - "method": 0, - "randomisedLength": 7 - }, - "AppleMusicRichPresence": { - "enabled": false - }, - "WebRichPresence (arRPC)": { - "enabled": false - }, - "BANger": { - "enabled": false - }, - "BetterFolders": { - "enabled": false - }, - "BetterGifAltText": { - "enabled": false - }, - "BetterGifPicker": { - "enabled": false - }, - "BetterNotesBox": { - "enabled": false - }, - "BetterRoleContext": { - "enabled": false - }, - "BetterRoleDot": { - "enabled": false - }, - "BetterSessions": { - "enabled": false - }, - "BetterSettings": { - "enabled": false - }, - "BetterUploadButton": { - "enabled": false - }, - "BiggerStreamPreview": { - "enabled": false - }, - "BlurNSFW": { - "enabled": false - }, - "CallTimer": { - "enabled": false - }, - "ClearURLs": { - "enabled": false - }, - "ClientTheme": { - "enabled": false - }, - "ColorSighted": { - "enabled": false - }, - "ConsoleJanitor": { - "enabled": false - }, - "ConsoleShortcuts": { - "enabled": false - }, - "CopyEmojiMarkdown": { - "enabled": false - }, - "CopyFileContents": { - "enabled": false - }, - "CopyUserURLs": { - "enabled": false - }, - "CrashHandler": { - "enabled": true - }, - "CtrlEnterSend": { - "enabled": false - }, - "CustomRPC": { - "enabled": false - }, - "CustomIdle": { - "enabled": false - }, - "Dearrow": { - "enabled": false - }, - "Decor": { - "enabled": false - }, - "DisableCallIdle": { - "enabled": false - }, - "DontRoundMyTimestamps": { - "enabled": false - }, - "EmoteCloner": { - "enabled": false - }, - "Experiments": { - "enabled": false - }, - "F8Break": { - "enabled": false - }, - "FakeNitro": { - "enabled": true, - "enableEmojiBypass": true, - "emojiSize": 48, - "transformEmojis": true, - "enableStickerBypass": true, - "stickerSize": 160, - "transformStickers": true, - "transformCompoundSentence": false, - "enableStreamQualityBypass": true, - "useHyperLinks": true, - "hyperLinkText": "{{NAME}}", - "disableEmbedPermissionCheck": false - }, - "FakeProfileThemes": { - "enabled": false - }, - "FavoriteEmojiFirst": { - "enabled": false - }, - "FavoriteGifSearch": { - "enabled": false - }, - "FixCodeblockGap": { - "enabled": false - }, - "FixSpotifyEmbeds": { - "enabled": false - }, - "FixYoutubeEmbeds": { - "enabled": false - }, - "ForceOwnerCrown": { - "enabled": false - }, - "FriendInvites": { - "enabled": false - }, - "FriendsSince": { - "enabled": false - }, - "FullSearchContext": { - "enabled": false - }, - "GameActivityToggle": { - "enabled": false - }, - "GifPaste": { - "enabled": false - }, - "GreetStickerPicker": { - "enabled": false - }, - "HideAttachments": { - "enabled": false - }, - "iLoveSpam": { - "enabled": false - }, - "IgnoreActivities": { - "enabled": false - }, - "ImageLink": { - "enabled": false - }, - "ImageZoom": { - "enabled": false - }, - "ImplicitRelationships": { - "enabled": false - }, - "InvisibleChat": { - "enabled": false - }, - "KeepCurrentChannel": { - "enabled": false - }, - "LastFMRichPresence": { - "enabled": false - }, - "LoadingQuotes": { - "enabled": false - }, - "MemberCount": { - "enabled": true, - "memberList": true, - "toolTip": true - }, - "MentionAvatars": { - "enabled": false - }, - "MessageClickActions": { - "enabled": false - }, - "MessageLatency": { - "enabled": false - }, - "MessageLinkEmbeds": { - "enabled": false - }, - "MessageLogger": { - "enabled": false - }, - "MessageTags": { - "enabled": false - }, - "MoreCommands": { - "enabled": false - }, - "MoreKaomoji": { - "enabled": true - }, - "MoreUserTags": { - "enabled": false - }, - "Moyai": { - "enabled": false - }, - "MutualGroupDMs": { - "enabled": false - }, - "NewGuildSettings": { - "enabled": false - }, - "NoBlockedMessages": { - "enabled": false - }, - "NoDevtoolsWarning": { - "enabled": false - }, - "NoF1": { - "enabled": false - }, - "NoMaskedUrlPaste": { - "enabled": false - }, - "NoMosaic": { - "enabled": false - }, - "NoOnboardingDelay": { - "enabled": false - }, - "NoPendingCount": { - "enabled": false - }, - "NoProfileThemes": { - "enabled": false - }, - "NoReplyMention": { - "enabled": false - }, - "NoScreensharePreview": { - "enabled": false - }, - "NoServerEmojis": { - "enabled": false - }, - "NoTypingAnimation": { - "enabled": false - }, - "NoUnblockToJump": { - "enabled": false - }, - "NormalizeMessageLinks": { - "enabled": false - }, - "NotificationVolume": { - "enabled": false - }, - "NSFWGateBypass": { - "enabled": false - }, - "OnePingPerDM": { - "enabled": false - }, - "oneko": { - "enabled": false - }, - "OpenInApp": { - "enabled": false - }, - "OverrideForumDefaults": { - "enabled": false - }, - "PartyMode": { - "enabled": false - }, - "PauseInvitesForever": { - "enabled": false - }, - "PermissionFreeWill": { - "enabled": false - }, - "PermissionsViewer": { - "enabled": false - }, - "petpet": { - "enabled": true - }, - "PictureInPicture": { - "enabled": false - }, - "PinDMs": { - "enabled": false - }, - "PlainFolderIcon": { - "enabled": false - }, - "PlatformIndicators": { - "enabled": false - }, - "PreviewMessage": { - "enabled": false - }, - "QuickMention": { - "enabled": false - }, - "QuickReply": { - "enabled": false - }, - "ReactErrorDecoder": { - "enabled": false - }, - "ReadAllNotificationsButton": { - "enabled": false - }, - "RelationshipNotifier": { - "enabled": false - }, - "ReplaceGoogleSearch": { - "enabled": false - }, - "ReplyTimestamp": { - "enabled": false - }, - "RevealAllSpoilers": { - "enabled": false - }, - "ReverseImageSearch": { - "enabled": false - }, - "ReviewDB": { - "enabled": false - }, - "RoleColorEverywhere": { - "enabled": false - }, - "SecretRingToneEnabler": { - "enabled": false - }, - "Summaries": { - "enabled": false - }, - "SendTimestamps": { - "enabled": true, - "replaceMessageContents": true - }, - "ServerInfo": { - "enabled": false - }, - "ServerListIndicators": { - "enabled": false - }, - "ShikiCodeblocks": { - "enabled": true, - "useDevIcon": "COLOR", - "theme": "https://raw.githubusercontent.com/shikijs/shiki/0b28ad8ccfbf2615f2d9d38ea8255416b8ac3043/packages/shiki/themes/dracula.json", - "tryHljs": "SECONDARY", - "bgOpacity": 100 - }, - "ShowAllMessageButtons": { - "enabled": false - }, - "ShowConnections": { - "enabled": false - }, - "ShowHiddenChannels": { - "enabled": false - }, - "ShowHiddenThings": { - "enabled": false - }, - "ShowMeYourName": { - "enabled": false - }, - "ShowTimeoutDuration": { - "enabled": false - }, - "SilentMessageToggle": { - "enabled": false - }, - "SilentTyping": { - "enabled": false - }, - "SortFriendRequests": { - "enabled": false - }, - "SpotifyControls": { - "enabled": false - }, - "SpotifyCrack": { - "enabled": false - }, - "SpotifyShareCommands": { - "enabled": false - }, - "StartupTimings": { - "enabled": false - }, - "StickerPaste": { - "enabled": false - }, - "StreamerModeOnStream": { - "enabled": false - }, - "SuperReactionTweaks": { - "enabled": false - }, - "TextReplace": { - "enabled": false - }, - "ThemeAttributes": { - "enabled": false - }, - "Translate": { - "enabled": false - }, - "TypingIndicator": { - "enabled": false - }, - "TypingTweaks": { - "enabled": false - }, - "Unindent": { - "enabled": false - }, - "UnlockedAvatarZoom": { - "enabled": false - }, - "UnsuppressEmbeds": { - "enabled": false - }, - "UserVoiceShow": { - "enabled": false - }, - "USRBG": { - "enabled": false - }, - "ValidReply": { - "enabled": false - }, - "ValidUser": { - "enabled": false - }, - "VoiceChatDoubleClick": { - "enabled": false - }, - "VcNarrator": { - "enabled": false - }, - "VencordToolbox": { - "enabled": false - }, - "ViewIcons": { - "enabled": false - }, - "ViewRaw": { - "enabled": false - }, - "VoiceDownload": { - "enabled": false - }, - "VoiceMessages": { - "enabled": false - }, - "VolumeBooster": { - "enabled": false - }, - "WebKeybinds": { - "enabled": true - }, - "WebScreenShareFixes": { - "enabled": true - }, - "WhoReacted": { - "enabled": false - }, - "XSOverlay": { - "enabled": false - }, - "YoutubeAdblock": { - "enabled": true - }, - "NoTrack": { - "enabled": true, - "disableAnalytics": true - }, - "WebContextMenus": { - "enabled": true, - "addBack": true - }, - "Settings": { - "enabled": true, - "settingsLocation": "aboveNitro" - }, - "SupportHelper": { - "enabled": true - }, - "UserMessagesPronouns": { - "enabled": true, - "showInMessages": true, - "showSelf": true, - "pronounSource": 0, - "pronounsFormat": "LOWERCASE" - }, - "DynamicImageModalAPI": { - "enabled": false - }, - "FixImagesQuality": { - "enabled": false - } - }, - "notifications": { - "timeout": 5000, - "position": "bottom-right", - "useNative": "not-focused", - "logLimit": 50 - }, - "cloud": { - "authenticated": false, - "url": "https://api.vencord.dev/", - "settingsSync": false, - "settingsSyncVersion": 1734993730812 - } -} \ No newline at end of file diff --git a/home-manager/hosts/EDI/id_ed25519.pub b/home-manager/hosts/EDI/id_ed25519.pub deleted file mode 100644 index 9c0c307..0000000 --- a/home-manager/hosts/EDI/id_ed25519.pub +++ /dev/null @@ -1 +0,0 @@ -ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILhwA+ZdP2tEBYQNdzLHZzFHxocyeqzhXI6tFpaZA3PZ lillian@EDI diff --git a/home-manager/hosts/EDI/lillian.nix b/home-manager/hosts/EDI/lillian.nix index 1922c62..f0cd853 100644 --- a/home-manager/hosts/EDI/lillian.nix +++ b/home-manager/hosts/EDI/lillian.nix @@ -19,5 +19,5 @@ ]; # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion - home.stateVersion = "25.05"; + home.stateVersion = "24.11"; } diff --git a/home-manager/hosts/GLaDOS/id_ed25519.pub b/home-manager/hosts/GLaDOS/id_ed25519.pub deleted file mode 100644 index 6f641a9..0000000 --- a/home-manager/hosts/GLaDOS/id_ed25519.pub +++ /dev/null @@ -1 +0,0 @@ -ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH30G2PJOnI6jnAtxOQV0SpLFUva0adarLZLvaoZvjGE lillian@GLaDOS diff --git a/home-manager/hosts/GLaDOS/lillian.nix b/home-manager/hosts/GLaDOS/lillian.nix index ce63b26..0841ff3 100644 --- a/home-manager/hosts/GLaDOS/lillian.nix +++ b/home-manager/hosts/GLaDOS/lillian.nix @@ -16,11 +16,8 @@ ]; home.packages = with pkgs; [ + heroic r2modman - ryujinx - lutris - vscodium - intiface-central ]; programs.mangohud = { @@ -29,5 +26,5 @@ }; # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion - home.stateVersion = "25.05"; + home.stateVersion = "24.11"; } diff --git a/home-manager/hosts/iso/lillian.nix b/home-manager/hosts/iso/lillian.nix index 1922c62..f0cd853 100644 --- a/home-manager/hosts/iso/lillian.nix +++ b/home-manager/hosts/iso/lillian.nix @@ -19,5 +19,5 @@ ]; # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion - home.stateVersion = "25.05"; + home.stateVersion = "24.11"; } diff --git a/home-manager/hosts/iso_server/lillian.nix b/home-manager/hosts/iso_server/lillian.nix index 2b344a4..278806e 100644 --- a/home-manager/hosts/iso_server/lillian.nix +++ b/home-manager/hosts/iso_server/lillian.nix @@ -18,5 +18,5 @@ ]; # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion - home.stateVersion = "25.05"; + home.stateVersion = "24.11"; } diff --git a/home-manager/hosts/queen/id_ed25519.pub b/home-manager/hosts/queen/id_ed25519.pub deleted file mode 100644 index bf8d43c..0000000 --- a/home-manager/hosts/queen/id_ed25519.pub +++ /dev/null @@ -1 +0,0 @@ -ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGtwcWXnwOOI8G3NqAMfTeuSuDk9ly5xqwQDH2Iey3u+ lillian@queen diff --git a/home-manager/hosts/queen/lillian.nix b/home-manager/hosts/queen/lillian.nix index 9bd29f7..5acc4b0 100644 --- a/home-manager/hosts/queen/lillian.nix +++ b/home-manager/hosts/queen/lillian.nix @@ -35,5 +35,5 @@ }; # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion - home.stateVersion = "25.05"; + home.stateVersion = "24.11"; } diff --git a/home-manager/hosts/shodan/id_ed25519.pub b/home-manager/hosts/shodan/id_ed25519.pub deleted file mode 100644 index 2f2ee8f..0000000 --- a/home-manager/hosts/shodan/id_ed25519.pub +++ /dev/null @@ -1 +0,0 @@ -ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL279XPFj1nzLDozFclntPh8rOcn3d1B5iJNGds9Ray6 lillian@shodan diff --git a/home-manager/hosts/shodan/lillian.nix b/home-manager/hosts/shodan/lillian.nix index e3e8ffb..52f1d3d 100644 --- a/home-manager/hosts/shodan/lillian.nix +++ b/home-manager/hosts/shodan/lillian.nix @@ -16,8 +16,6 @@ ../../desktop/package-configs/firefox.nix ../../desktop/package-configs/konsole ../../desktop/package-configs/foot - ../../desktop/package-configs/freetube - ../../desktop/package-configs/vesktop ../../shared ]; nixpkgs = { @@ -52,22 +50,21 @@ #Gaming: prismlauncher r2modman - ryubing + ryujinx # Multimedia: freetube obs-studio vlc - fcast-receiver - fcast-client # System tools: rage + discover flameshot fzf nextcloud-client nitrokey-app - # protonvpn-gui + protonvpn-gui sops #watchmate qbittorrent @@ -86,29 +83,24 @@ firefox ungoogled-chromium ]; - programs = { - # # Automount services for user - # programs.bashmount.enable = true; - # services.udiskie = { - # enable = true; - # automount = true; - # notify = false; - # tray = "never"; - # }; - # Enable home-manager and git - home-manager.enable = true; - git = { - enable = true; - userEmail = "git@lillianviolet.dev"; - userName = "Lillian-Violet"; - signing.format = "ssh"; - }; + # # Automount services for user + # programs.bashmount.enable = true; + # services.udiskie = { + # enable = true; + # automount = true; + # notify = false; + # tray = "never"; + # }; + + # Enable home-manager and git + programs.home-manager.enable = true; + programs.git = { + enable = true; + userEmail = "git@lillianviolet.dev"; + userName = "Lillian-Violet"; }; - # Make the kde screenlock not require a password :) - programs.plasma.kscreenlocker.passwordRequired = false; - # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion - home.stateVersion = "25.05"; + home.stateVersion = "24.11"; } diff --git a/home-manager/hosts/wheatley/id_ed25519.pub b/home-manager/hosts/wheatley/id_ed25519.pub deleted file mode 100644 index dbfe237..0000000 --- a/home-manager/hosts/wheatley/id_ed25519.pub +++ /dev/null @@ -1 +0,0 @@ -ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILxXVL6QAiMLwvUYBtXCbkHEh6ENgaEO/rkZWSPJrjLJ lillian@wheatley diff --git a/home-manager/hosts/wheatley/lillian.nix b/home-manager/hosts/wheatley/lillian.nix index 9bd29f7..afb1b42 100644 --- a/home-manager/hosts/wheatley/lillian.nix +++ b/home-manager/hosts/wheatley/lillian.nix @@ -11,7 +11,8 @@ # You can also split up your configuration and import pieces of it here: # ./nvim.nix - ../../shared + ../../package-configs/zsh.nix + ../../package-configs/helix.nix ]; nixpkgs = { @@ -35,5 +36,5 @@ }; # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion - home.stateVersion = "25.05"; + home.stateVersion = "24.05"; } diff --git a/home-manager/shared/background.jpg b/home-manager/shared/background.jpg deleted file mode 100644 index 2ad658c..0000000 Binary files a/home-manager/shared/background.jpg and /dev/null differ diff --git a/home-manager/shared/default.nix b/home-manager/shared/default.nix index 5889b96..07f7fde 100644 --- a/home-manager/shared/default.nix +++ b/home-manager/shared/default.nix @@ -1,10 +1,5 @@ -{ - pkgs, - osConfig, - ... -}: { +{pkgs, ...}: { imports = [ - ./ssh ./shell/helix ./shell/zellij ./shell/zsh.nix @@ -12,78 +7,28 @@ ./shell/eza.nix ./shell/hyfetch.nix ]; - home = { username = "lillian"; homeDirectory = "/home/lillian"; - file."id_ed25519.pub" = { - source = ../hosts/${osConfig.networking.hostName}/id_ed25519.pub; - target = ".ssh/id_ed25519.pub"; - force = true; - }; - - packages = with pkgs; [ - # System tools: - vscode-langservers-extracted - sops - zsh - bat - btop - broot - lazygit - navi - nil - gh - ]; }; catppuccin = { + enable = true; flavor = "macchiato"; - btop.enable = true; - cache.enable = true; - chromium.enable = true; - freetube.enable = true; - freetube.flavor = "macchiato"; }; - programs = { - navi.enable = true; - yazi = { - enable = true; - # package = pkgs.yazi.override { - # _7zz = pkgs._7zz.override {useUasm = true;}; - # }; - }; - }; - # stylix.enable = true; - # qt.platformTheme.name = lib.mkForce "kvantum"; - # qt.style.name = lib.mkForce "kvantum"; - # stylix = { - # enable = true; - # autoEnable = true; - # base16Scheme = { - # scheme = "Catppuccin Macchiato"; - # author = "https://github.com/catppuccin/catppuccin"; - # base00 = "24273a"; - # base01 = "1e2030"; - # base02 = "363a4f"; - # base03 = "494d64"; - # base04 = "5b6078"; - # base05 = "cad3f5"; - # base06 = "f4dbd6"; - # base07 = "b7bdf8"; - # base08 = "ed8796"; - # base09 = "f5a97f"; - # base0A = "eed49f"; - # base0B = "a6da95"; - # base0C = "8bd5ca"; - # base0D = "8aadf4"; - # base0E = "c6a0f6"; - # base0F = "f0c6c6"; - # }; - # image = ./background.jpg; - # cursor.package = pkgs.catppuccin-cursors; - # cursor.name = "catppuccin-macchiato-mauve-cursors"; - # cursor.size = 16; - # }; + home.packages = with pkgs; [ + # System tools: + vscode-langservers-extracted + sops + zsh + bat + btop + broot + lazygit + navi + yazi + nil + ]; + programs.navi.enable = true; } diff --git a/home-manager/shared/kde-connect-commands.json b/home-manager/shared/kde-connect-commands.json deleted file mode 100644 index ebe234e..0000000 --- a/home-manager/shared/kde-connect-commands.json +++ /dev/null @@ -1,50 +0,0 @@ -[ - { - "command": "systemctl poweroff", - "name": "shutdown" - }, - { - "command": "systemctl reboot", - "name": "reboot" - }, - { - "command": "systemctl suspend", - "name": "suspend" - }, - { - "command": "systemctl hibernate", - "name": "hibernate" - }, - { - "command": "loginctl lock-session", - "name": "lock" - }, - { - "command": "loginctl unlock-session", - "name": "unlock" - }, - { - "command": "qdbus org.kde.kglobalaccel /component/kmix invokeShortcut \"mute\"", - "name": "mute" - }, - { - "command": "qdbus org.kde.kglobalaccel /component/kmix invokeShortcut \"mic_mute\"", - "name": "mute mic" - }, - { - "command": "file=/tmp/$(hostname)_$(date \"+%Y%m%d_%H%M%S\").png; spectacle -bo \"${file}\" && while ! [ -f \"${file}\" ]; do sleep 0.5; done && kdeconnect-cli -d $(kdeconnect-cli -a --id-only) --share \"${file}\"", - "name": "screenshot to phone" - }, - { - "command": "file=\"$HOME/Images/WebcamImage_$(date \"+%Y%m%d_%H%M%S\").jpg\"; ffmpeg -f video4linux2 -s 1280x720 -i /dev/video0 -ss 0:0:2 -frames 1 \"${file}\" && kdeconnect-cli -d $(kdeconnect-cli -a --id-only) --share \"${file}\"", - "name": "webcam to phone" - }, - { - "command": "bluetoothctl connect 38:18:4C:11:56:99", - "name": "connect headset" - }, - { - "command": "bluetoothctl disconnect 38:18:4C:11:56:99", - "name": "disconnect headset" - } -] \ No newline at end of file diff --git a/home-manager/shared/shell/bat.nix b/home-manager/shared/shell/bat.nix index 8658a54..2afdce3 100644 --- a/home-manager/shared/shell/bat.nix +++ b/home-manager/shared/shell/bat.nix @@ -2,6 +2,6 @@ programs.bat = { enable = true; extraPackages = with pkgs.bat-extras; [batdiff batman batgrep batwatch]; - # catppuccin.enable = true; + catppuccin.enable = true; }; } diff --git a/home-manager/shared/shell/helix/default.nix b/home-manager/shared/shell/helix/default.nix index 249254b..bba04a9 100644 --- a/home-manager/shared/shell/helix/default.nix +++ b/home-manager/shared/shell/helix/default.nix @@ -16,21 +16,24 @@ '' #! ~/.nix-profile/bin/zsh is_new() { - new=0; - mkdir -p /tmp/rjh; - if [[ -a "/tmp/rjh/$(pwd | tr \"/\" -).json" ]]; then - new=1 - fi - return $new + new=1; + touch /tmp/rjh; + while IFS="" read -r p || [ -n "$p" ]; do + if [ $(pwd) = $p ]; then + new=0; + fi + done < /tmp/rjh + return $new } - is_new && zellij run -f -n "jupyter console" -- direnv exec . jupyter console --kernel="$1" -f="/tmp/rjh/$(pwd | tr \"/\" -).json" --ZMQTerminalInteractiveShell.include_other_output=True --ZMQTerminalInteractiveShell.other_output_prefix=''' && sleep 3 - rm -f /tmp/pipe-rjh - mkfifo /tmp/pipe-rjh - cat > /tmp/pipe-rjh - zellij run -f -n "REPL" -- direnv exec . just send < /tmp/pipe-rjh - rm /tmp/pipe-rjh - + send_to_jupyter() { + is_new && zellij run -f -n "jupyter console" -- direnv exec . jupyter console --kernel="$1" -f="/tmp/rjh-$(pwd | tr \"/\" -).json" --ZMQTerminalInteractiveShell.include_other_output=True --ZMQTerminalInteractiveShell.other_output_prefix=''' && zellij action write 29 25 && zellij action write 17 + pwd >> /tmp/rjh + zellij action write 29 25 + zellij action write 17 + cat | just send + } + send_to_jupyter ''; in { programs.helix = { @@ -48,11 +51,6 @@ in { j = ":pipe-to just jupyter"; }; editor = { - auto-save = { - focus-lost = true; - after-delay.enable = true; - after-delay.timeout = 3000; - }; line-number = "relative"; lsp.display-messages = true; lsp.display-inlay-hints = true; diff --git a/home-manager/shared/shell/helix/helix.nix b/home-manager/shared/shell/helix/helix.nix deleted file mode 100644 index bbadd82..0000000 --- a/home-manager/shared/shell/helix/helix.nix +++ /dev/null @@ -1,46 +0,0 @@ -{ - fetchzip, - lib, - rustPlatform, - git, - installShellFiles, -}: -rustPlatform.buildRustPackage rec { - pname = "helix"; - version = "25.01.1"; - - # This release tarball includes source code for the tree-sitter grammars, - # which is not ordinarily part of the repository. - src = fetchzip { - url = "https://github.com/helix-editor/helix/releases/download/${version}/helix-${version}-source.tar.xz"; - hash = ""; - stripRoot = false; - }; - - useFetchCargoVendor = true; - cargoHash = ""; - - nativeBuildInputs = [git installShellFiles]; - - env.HELIX_DEFAULT_RUNTIME = "${placeholder "out"}/lib/runtime"; - - postInstall = '' - # not needed at runtime - rm -r runtime/grammars/sources - - mkdir -p $out/lib - cp -r runtime $out/lib - installShellCompletion contrib/completion/hx.{bash,fish,zsh} - mkdir -p $out/share/{applications,icons/hicolor/256x256/apps} - cp contrib/Helix.desktop $out/share/applications - cp contrib/helix.png $out/share/icons/hicolor/256x256/apps - ''; - - meta = with lib; { - description = "Post-modern modal text editor"; - homepage = "https://helix-editor.com"; - license = licenses.mpl20; - mainProgram = "hx"; - maintainers = with maintainers; [danth yusdacra zowoq]; - }; -} diff --git a/home-manager/shared/shell/starship.nix b/home-manager/shared/shell/starship.nix index 90dda44..4cbba8e 100644 --- a/home-manager/shared/shell/starship.nix +++ b/home-manager/shared/shell/starship.nix @@ -35,6 +35,7 @@ git_branch.style = "bold blue"; directory.style = "bold blue"; direnv.disabled = false; + palette = "catppuccin_${flavor}"; } // builtins.fromTOML (builtins.readFile (pkgs.fetchFromGitHub diff --git a/home-manager/shared/shell/zellij/default.nix b/home-manager/shared/shell/zellij/default.nix index d8bebaf..6e154ec 100644 --- a/home-manager/shared/shell/zellij/default.nix +++ b/home-manager/shared/shell/zellij/default.nix @@ -174,7 +174,7 @@ in { enableZshIntegration = true; settings = { session_serialization = true; - # theme = "catppuccin-macchiato"; + theme = "catppuccin-macchiato"; themes = { catppuccin-mocha = { @@ -206,12 +206,14 @@ in { }; }; }; + home.file = { "layout" = { source = "${layout}"; target = ".config/zellij/layouts/default.kdl"; }; - + }; + home.file = { "helix_zellij" = { source = "${helix_zellij}"; target = ".config/zellij/layouts/helix.kdl"; diff --git a/home-manager/shared/shell/zsh.nix b/home-manager/shared/shell/zsh.nix index 7579669..3c814c1 100644 --- a/home-manager/shared/shell/zsh.nix +++ b/home-manager/shared/shell/zsh.nix @@ -1,71 +1,70 @@ {pkgs, ...}: { - programs = { - zoxide = { - enable = true; + programs.zoxide = { + enable = true; + }; + + programs.zsh = { + enable = true; + shellAliases = { + cd = "z"; + code = "codium ./"; + ls = "eza"; + lh = "ls -lah"; + cat = "bat"; + tree = "tre"; + neofetch = "hyfetch"; + shutdown = "shutdown 0"; + reboot = "reboot 0"; }; - zsh = { + plugins = [ + { + name = "zsh-nix-shell"; + file = "nix-shell.plugin.zsh"; + src = pkgs.fetchFromGitHub { + owner = "chisui"; + repo = "zsh-nix-shell"; + rev = "v0.8.0"; + sha256 = "sha256-Z6EYQdasvpl1P78poj9efnnLj7QQg13Me8x1Ryyw+dM="; + }; + } + { + name = "terraform"; + src = pkgs.fetchFromGitHub { + owner = "macunha1"; + repo = "zsh-terraform"; + rev = "fd1471d3757f8ed13f56c4426f88616111de2a87"; + sha256 = "0z6i9wjjklb4lvr7zjhbphibsyx51psv50gm07mbb0kj9058j6kc"; + }; + } + ]; + autosuggestion.enable = true; + enableCompletion = true; + historySubstringSearch.enable = true; + syntaxHighlighting.enable = true; + #zsh-abbr.enable = true; + oh-my-zsh = { enable = true; - shellAliases = { - cd = "z"; - code = "codium ./"; - ls = "eza"; - lh = "ls -lah"; - cat = "bat"; - tree = "tre"; - neofetch = "hyfetch"; - shutdown = "shutdown 0"; - reboot = "reboot 0"; - }; plugins = [ - { - name = "zsh-nix-shell"; - file = "nix-shell.plugin.zsh"; - src = pkgs.fetchFromGitHub { - owner = "chisui"; - repo = "zsh-nix-shell"; - rev = "v0.8.0"; - sha256 = "sha256-Z6EYQdasvpl1P78poj9efnnLj7QQg13Me8x1Ryyw+dM="; - }; - } - { - name = "terraform"; - src = pkgs.fetchFromGitHub { - owner = "macunha1"; - repo = "zsh-terraform"; - rev = "fd1471d3757f8ed13f56c4426f88616111de2a87"; - sha256 = "0z6i9wjjklb4lvr7zjhbphibsyx51psv50gm07mbb0kj9058j6kc"; - }; - } + "git" + "colored-man-pages" + "colorize" + "dirhistory" + "dirpersist" + "history" + "history-substring-search" + "fancy-ctrl-z" + "git-flow" + "isodate" + "z" + "zsh-interactive-cd" + "zsh-navigation-tools" ]; - autosuggestion.enable = true; - enableCompletion = true; - historySubstringSearch.enable = true; - syntaxHighlighting.enable = true; - #zsh-abbr.enable = true; - oh-my-zsh = { - enable = true; - plugins = [ - "git" - "colored-man-pages" - "colorize" - "dirhistory" - "dirpersist" - "history" - "history-substring-search" - "fancy-ctrl-z" - "git-flow" - "isodate" - "z" - "zsh-interactive-cd" - "zsh-navigation-tools" - ]; - }; - # Extra commands that take more complex forms - initContent = '' - eval "$(zoxide init --cmd cd zsh)" - tre() { command tre "$@" -e && source "/tmp/tre_aliases_$USER" 2>/dev/null; } - zhx() { command zellij action new-tab --layout $HOME/.config/zellij/layouts/helix.kdl; } - ''; }; + # Extra commands that take more complex forms + initExtra = '' + eval "$(zoxide init --cmd cd zsh)" + tre() { command tre "$@" -e && source "/tmp/tre_aliases_$USER" 2>/dev/null; } + zhx() { command zellij action new-tab --layout $HOME/.config/zellij/layouts/helix.kdl; } + ''; }; } diff --git a/home-manager/shared/ssh/config b/home-manager/shared/ssh/config deleted file mode 100644 index 9469604..0000000 --- a/home-manager/shared/ssh/config +++ /dev/null @@ -1,25 +0,0 @@ -Host wheatley -HostName 10.0.0.1 -User lillian -Port 22 - -Host GLaDOS -HostName 10.0.0.2 -User lillian -Port 22 - -Host EDI -HostName 10.0.0.3 -User lillian -Port 22 - -Host shodan -HostName 10.0.0.4 -User lillian -Port 22 - -Host queen -HostName gladtherescake.eu -User lillian -Port 22 - diff --git a/home-manager/shared/ssh/default.nix b/home-manager/shared/ssh/default.nix deleted file mode 100644 index aef7a98..0000000 --- a/home-manager/shared/ssh/default.nix +++ /dev/null @@ -1,7 +0,0 @@ -{...}: { - home.file."sshconfig" = { - source = ./config; - target = ".config/ssh/config"; - force = true; - }; -} diff --git a/justfile b/justfile index 60f43e4..a6da660 100644 --- a/justfile +++ b/justfile @@ -1,24 +1,15 @@ build: - sudo echo "sudo check..." && sudo nixos-rebuild --log-format internal-json -v switch --flake .# --show-trace |& nom --json + sudo nixos-rebuild switch --flake .# --show-trace run: nix-repl -f flake:nixpkgs test: - sudo echo "sudo check..." && sudo nix flake check --show-trace --log-format internal-json -v |& nom --json + sudo nix flake check --show-trace update: - nix flake update --log-format internal-json -v |& nom --json && zsh + nix flake update clean: sudo nix-collect-garbage sudo nix-store --optimise - -setup: - echo "just test" >> ./.git/hooks/pre-commit && chmod +x ./.git/hooks/pre-commit - -push: - git pull - git add * - read -p "Commit message: " -r message && git commit -m "$message" - git push diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index 4be86f1..8685807 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -1,5 +1,6 @@ # Add your reusable NixOS modules to this directory, on their own file (https://nixos.wiki/wiki/Module). # These should be stuff you would like to share with others, not your personal configurations. { - vpn-ip = import ./vpn-ip; + # List your module files here + contabo.wan = import ./contabo/wan; } diff --git a/modules/nixos/vpn-ip/default.nix b/modules/nixos/vpn-ip/default.nix deleted file mode 100644 index 71d56a6..0000000 --- a/modules/nixos/vpn-ip/default.nix +++ /dev/null @@ -1,18 +0,0 @@ -{lib, ...}: -with lib; { - # Declare what settings a user of this "hello.nix" module CAN SET. - options.services.vpn-ip = { - enable = mkOption { - type = types.bool; - default = true; - }; - ip = mkOption { - type = types.str; - default = "0"; - }; - publicKey = mkOption { - type = types.str; - default = ""; - }; - }; -} diff --git a/nixos/desktop/default.nix b/nixos/desktop/default.nix index ac4febd..44e3892 100644 --- a/nixos/desktop/default.nix +++ b/nixos/desktop/default.nix @@ -29,6 +29,11 @@ }; }; + # Allow executing of anything on the system with a , eg: , python executes python from the nix store even if not in $PATH currently + programs.command-not-found.enable = lib.mkForce false; + programs.nix-index.enable = true; + programs.nix-index-database.comma.enable = true; + environment.systemPackages = (with pkgs; [ # Custom tools @@ -58,6 +63,7 @@ # waydroid waypipe wayland-utils + xwaylandvideobridge yubikey-personalization zsh @@ -77,10 +83,6 @@ kdePackages.sddm-kcm kdePackages.dolphin-plugins kdePackages.qtstyleplugin-kvantum - kdePackages.krdc - kdePackages.krfb - kdePackages.kate - kdePackages.xwaylandvideobridge libportal-qt5 libportal @@ -91,137 +93,104 @@ #rustdesk ]) ++ (with pkgs-edge; [ - freetube # list of latest packages from nixpkgs master # Can be used to install latest version of some packages ]); - sops = { - secrets."nextcloud-password" = { - mode = "0600"; - owner = config.users.users.lillian.name; - path = "/home/lillian/.netrc"; - }; - }; - programs = { - # Allow executing of anything on the system with a , eg: , python executes python from the nix store even if not in $PATH currently - command-not-found.enable = lib.mkForce false; - # nix-index.enable = true; - # nix-index-database.comma.enable = true; - - direnv = { - enable = true; - }; - - steam = { - enable = true; - remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play - dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server - extest.enable = true; - }; - kdeconnect.enable = true; - - noisetorch = { - enable = true; - }; + programs.direnv = { + enable = true; }; # Enable networking - networking.networkmanager.enable = true; # Enables support for 32bit libs that steam uses + networking.networkmanager.enable = true; + + programs.steam = { + enable = true; + remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play + dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server + extest.enable = true; + }; + hardware.graphics.enable32Bit = true; # Enables support for 32bit libs that steam uses # Set your time zone. time.timeZone = "Europe/Amsterdam"; - services = { - # Enable the X11 windowing system. - xserver.enable = true; - # Enable the KDE Plasma Desktop Environment. - displayManager.sddm = { - enable = true; - wayland.enable = true; - }; - displayManager.defaultSession = "plasma"; - desktopManager.plasma6.enable = true; - desktopManager.plasma6.notoPackage = pkgs.atkinson-hyperlegible; + # Enable the X11 windowing system. + services.xserver.enable = true; - # Enable flatpak support - flatpak.enable = true; - packagekit.enable = true; - - # Configure keymap in X11 - xserver.xkb = { - layout = "us"; - variant = ""; - options = "terminate:ctrl_alt_bksp,compose:caps_toggle"; - }; - - # Enable CUPS to print documents. - printing.enable = true; - - # Enable fwupd daemon and user space client - fwupd.enable = true; - pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - jack.enable = true; - wireplumber.enable = true; - }; - - avahi = { - nssmdns4 = true; - enable = true; - ipv4 = true; - ipv6 = true; - publish = { - enable = true; - addresses = true; - workstation = true; - }; - }; + # Enable the KDE Plasma Desktop Environment. + services.displayManager.sddm = { + enable = true; + wayland.enable = true; }; - hardware = { - graphics.enable32Bit = true; + services.displayManager.defaultSession = "plasma"; + services.desktopManager.plasma6.enable = true; + programs.kdeconnect.enable = true; - # Enable bluetooth hardware - bluetooth.enable = true; + # Enable flatpak support + services.flatpak.enable = true; + services.packagekit.enable = true; + + # Configure keymap in X11 + services.xserver.xkb = { + layout = "us"; + variant = ""; + options = "terminate:ctrl_alt_bksp,compose:caps_toggle"; }; + + # Enable CUPS to print documents. + services.printing.enable = true; + + # Enable bluetooth hardware + hardware.bluetooth.enable = true; + + # Enable fwupd daemon and user space client + services.fwupd.enable = true; + + # Enable sound with pipewire. + hardware.pulseaudio.enable = false; security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + jack.enable = true; + wireplumber.enable = true; + }; + + programs.noisetorch = { + enable = true; + }; - services.pulseaudio.enable = false; virtualisation.podman = { enable = true; dockerCompat = true; }; - security.tpm2 = { - enable = true; - pkcs11.enable = true; # expose /run/current-system/sw/lib/libtpm2_pkcs11.so - tctiEnvironment.enable = true; - }; # TPM2TOOLS_TCTI and TPM2_PKCS11_TCTI env variables - users.users.lillian.extraGroups = ["tss"]; - boot = { - # tss group has access to TPM devices - bootspec.enable = true; - binfmt.emulatedSystems = ["aarch64-linux"]; - #boot.kernelPackages = lib.mkForce pkgs.linuxPackages_latest; - #boot.supportedFilesystems = ["bcachefs"]; - extraModulePackages = with config.boot.kernelPackages; [v4l2loopback.out]; - kernelModules = [ - # Virtual Camera - "v4l2loopback" - # Virtual Microphone, built-in - "snd-aloop" - ]; - # Set initial kernel module settings - extraModprobeConfig = '' - # exclusive_caps: Skype, Zoom, Teams etc. will only show device when actually streaming - # card_label: Name of virtual camera, how it'll show up in Skype, Zoom, Teams - # https://github.com/umlaeute/v4l2loopback - options v4l2loopback exclusive_caps=1 card_label="Virtual Camera" - ''; - loader.systemd-boot.configurationLimit = 3; - loader.efi.canTouchEfiVariables = true; - }; + security.tpm2.enable = true; + security.tpm2.pkcs11.enable = true; # expose /run/current-system/sw/lib/libtpm2_pkcs11.so + security.tpm2.tctiEnvironment.enable = true; # TPM2TOOLS_TCTI and TPM2_PKCS11_TCTI env variables + users.users.lillian.extraGroups = ["tss"]; # tss group has access to TPM devices + + # FIXME: re-enable virtual camera loopback when it build again. + boot.bootspec.enable = true; + #boot.kernelPackages = lib.mkForce pkgs.linuxPackages_latest; + #boot.supportedFilesystems = ["bcachefs"]; + boot.extraModulePackages = with config.boot.kernelPackages; [v4l2loopback.out]; + boot.kernelModules = [ + # Virtual Camera + "v4l2loopback" + # Virtual Microphone, built-in + "snd-aloop" + ]; + # Set initial kernel module settings + boot.extraModprobeConfig = '' + # exclusive_caps: Skype, Zoom, Teams etc. will only show device when actually streaming + # card_label: Name of virtual camera, how it'll show up in Skype, Zoom, Teams + # https://github.com/umlaeute/v4l2loopback + options v4l2loopback exclusive_caps=1 card_label="Virtual Camera" + ''; + boot.loader.systemd-boot.configurationLimit = 3; + boot.loader.efi.canTouchEfiVariables = true; } diff --git a/nixos/desktop/package-configs/firefox/default.nix b/nixos/desktop/package-configs/firefox/default.nix index c57887f..432111e 100644 --- a/nixos/desktop/package-configs/firefox/default.nix +++ b/nixos/desktop/package-configs/firefox/default.nix @@ -1,7 +1,11 @@ -{pkgs, ...}: { +{ + config, + pkgs, + ... +}: { programs.firefox = { enable = true; - package = pkgs.librewolf; + package = pkgs.floorp; policies = { DisableTelemetry = true; DisableFirefoxStudies = true; @@ -114,16 +118,6 @@ install_url = "https://addons.mozilla.org/firefox/downloads/file/4047136/wayback_machine_new-3.2.xpi"; installation_mode = "force_installed"; }; - # Tree Style Tabs - # "treestyletab@piro.sakura.ne.jp" = { - # install_url = "https://addons.mozilla.org/firefox/downloads/latest/tree-style-tab/latest.xpi"; - # installation_mode = "force_installed"; - # }; - # Adaptive Tab Bar Colour - "ATBC@EasonWong" = { - install_url = "https://addons.mozilla.org/firefox/downloads/latest/Adaptive-Tab-Bar-Colour/latest.xpi"; - installation_mode = "force_installed"; - }; }; FirefoxHome = { Search = true; @@ -156,8 +150,6 @@ "floorp.tabbar.style" = 2; "floorp.browser.user.interface" = 8; "signon.rememberSignons" = true; - "browser.ml.chat.enabled" = false; - "browser.ml.chat.shortcuts" = false; }; # TODO: switch to ManagedBookmarks as this will be dropped at some point https://mozilla.github.io/policy-templates/#managedbookmarks # Bookmarks = [ diff --git a/nixos/hosts/EDI/configuration.nix b/nixos/hosts/EDI/configuration.nix index d52551f..a71f2fb 100644 --- a/nixos/hosts/EDI/configuration.nix +++ b/nixos/hosts/EDI/configuration.nix @@ -1,6 +1,7 @@ # This is your system's configuration file. # Use this to configure your system environment (it replaces /etc/nixos/configuration.nix) { + inputs, outputs, lib, pkgs, @@ -8,6 +9,8 @@ }: { # You can import other NixOS modules here imports = [ + # Import home-manager's NixOS module + inputs.home-manager.nixosModules.home-manager # If you want to use modules your own flake exports (from modules/nixos): # outputs.nixosModules.example @@ -18,44 +21,41 @@ # You can also split up your configuration and import pieces of it here: # ./users.nix - outputs.nixosModules.vpn-ip + ../../desktop ../../../disko/EDI + + # Import your generated (nixos-generate-config) hardware configuration + ./hardware-configuration.nix ]; + sops.defaultSopsFile = ./secrets/sops.yaml; + + home-manager = { + extraSpecialArgs = {inherit inputs outputs;}; + users = { + # Import your home-manager configuration + lillian = import ../../../home-manager/hosts/EDI; + }; + }; + environment.systemPackages = with pkgs; [ ]; - services.vpn-ip = { - ip = "3"; - }; + networking.hostName = "EDI"; - networking = { - hostName = "EDI"; - networkmanager.enable = true; - }; + # Lanzaboote currently replaces the systemd-boot module. + # This setting is usually set to true in configuration.nix + # generated at installation time. So we force it to false + # for now. + boot.loader.systemd-boot.enable = lib.mkForce false; + boot.initrd.systemd.enable = true; - hardware.enableAllFirmware = true; - hardware.enableRedistributableFirmware = true; - - boot = { - # Lanzaboote currently replaces the systemd-boot module. - # This setting is usually set to true in configuration.nix - # generated at installation time. So we force it to false - # for now. - loader.systemd-boot.enable = lib.mkForce false; - initrd.systemd.enable = true; - - lanzaboote = { - enable = true; - pkiBundle = "/etc/secureboot"; - }; - kernelModules = [ - "iwlmvm" - "iwlwifi" - ]; + boot.lanzaboote = { + enable = true; + pkiBundle = "/etc/secureboot"; }; # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion - system.stateVersion = "25.05"; + system.stateVersion = "24.11"; } diff --git a/nixos/hosts/EDI/secrets/sops.yaml b/nixos/hosts/EDI/secrets/sops.yaml index 4db54a6..195607f 100644 --- a/nixos/hosts/EDI/secrets/sops.yaml +++ b/nixos/hosts/EDI/secrets/sops.yaml @@ -1,7 +1,4 @@ lillian-password: ENC[AES256_GCM,data:0mwqnvA+xrDD/m6uQtPbo9MpcFsOoqHE+Cg2gF6xZzNsqM3i/OmvAe7syp+mGBacZ3avoIHowLSWgXUkMcuFPeYa6XRkrX4LhA==,iv:f1kB54k6ZYWKlZ0Zowu8fOD0cf2WvNlX3GSpy1sUMdA=,tag:dsusc45E1BmYsNmiPzNccg==,type:str] -wg-private-key: ENC[AES256_GCM,data:CqXlIN0gKzMrZRJycAf96LUVNw9yCZpHtE8XP+JwV2Ftip46iUksg1uExxQ=,iv:LdcopSz8Hx5hO1M00B8r+C7XViwpjGOpvmoXUHIkFtc=,tag:rbskx98YjcYV1lB8OO2VxQ==,type:str] -nextcloud-password: ENC[AES256_GCM,data:h93FmVY3XZdRZECEzz5ArBPnuRYyp0kJ6UUoxKmWVuVeFVkOzxQ5dGra6R/jZg8ofjhu+WosoDso3S/i,iv:J1K2NMAjv7Y26q91V/f11gNs82/UD6jbrMy0hVh81pw=,tag:/mQFulslQ3Mqabnc0mb1lQ==,type:str] -ssh-private-key: ENC[AES256_GCM,data:AYyOFlqcNrlTnKSewgb8B/XzegkJGB79gUT419n6aYiH0xom+DmxfRqQm46x/fldlSeN8u2mmzisC6xcRt3fnK4+0gN5Ywvr6hQEtKKxu2N6Pj7+tFLvFmbYPFplecyGBs1S092UXL65ozQs8aYbogoXxVTVu6/MuCsks9UO1JQWq5utCAyU8VGc0/Ft4OZN2qUbS+VZ0ONZ0WzBA+s+CFZ1FNKsr4tvltLXf8fgpsiSHLUigS4rojlxm84+w8omE1IwpAOxOa9n9X1EDuPxrQvZ+LvcJcgwqrtU2HVGis1GfytPM6vRAoVdBKX37enXelPBX2z9W7wPtmTxippD7yzcEJOggJ6ETMUessNKm3yBsMzTcojSWYzHo4v3San1I+ZiNxjvykuHmomRhXdzdM/2RsBpev8q2sC9YU4euzjzCQdwfoNqhbqyN/1X2BOkJMceMqw8fD8nLc3mIbczMFNO6ByVocZ+iC9BvaBYeLrFd3gncqGRRCJdBCD5CYiOYcdIAipNGL7NQVhM1tcv,iv:RZKsKCENIKhIWo4aKyDVj9xx0GfdjhYLP0B2Rad2LSM=,tag:XOOxsyGidnKWzgGlUPmvXw==,type:str] sops: kms: [] gcp_kms: [] @@ -17,8 +14,8 @@ sops: eUZ6b09pYlRVWFBuUm1Ua2l6Z0dacW8KeQdAVsxXsDiDMtFA2koSpDsw7Ib63vA0 GE/ubWDwwRc7wMPFGuofIe6TaDSFgtVXza+yo+i4y51+BOpwqxlYYA== -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-01-09T23:59:45Z" - mac: ENC[AES256_GCM,data:DQ8uXsVkbzc1JrMDaTGHb9ijRB//6I6GN4bAU1LWnhyxGA2QjYEk5xwEI1950kroXVf1hDTw5fdh+MXvvEcNUL6BZOc4Ecl5lPliZ4aemjhz+O8FCkSbnW2o5JnV4m/rFe9CP6KaoFdr/tgSBVklzaUE4Qdo1DUWCfF7XssXECw=,iv:gb1b569ar5wlc2XMkLXnYfyVp/ZMsLjh9cXM85GrUz0=,tag:MGFgFcF4jIdJxteiFp2n/Q==,type:str] + lastmodified: "2024-02-21T10:15:11Z" + mac: ENC[AES256_GCM,data:AnQfufrAVvN2f2kr2KLM8toFj4BUxM1xvwH48DE1OcoenBlzQHu76R35cc9q0rJjOBWXYnZPLEHncE46XyXt56HPboH/blIEZwa9aL1pwDOV5UwbaqZTuSy7/Ylnn0ZoZtcD4gFnavWBT9iUgu3VjRso1i6eXm0Lc1mvwRbH63M=,iv:zJW4Bzm+IGzgxsFE7QP+E4RY5UoPWTUeo9RfoLpbSt8=,tag:E29Pnjtp0w05hdEQCmkj7A==,type:str] pgp: [] unencrypted_suffix: _unencrypted - version: 3.9.2 + version: 3.8.1 diff --git a/nixos/hosts/GLaDOS/configuration.nix b/nixos/hosts/GLaDOS/configuration.nix index f225830..f4e7041 100644 --- a/nixos/hosts/GLaDOS/configuration.nix +++ b/nixos/hosts/GLaDOS/configuration.nix @@ -10,8 +10,6 @@ imports = [ # Import home-manager's NixOS module inputs.home-manager.nixosModules.home-manager - outputs.nixosModules.vpn-ip - inputs.jovian.nixosModules.jovian # If you want to use modules your own flake exports (from modules/nixos): # outputs.nixosModules.example @@ -30,74 +28,63 @@ ./hardware-configuration.nix ]; + sops.defaultSopsFile = ./secrets/sops.yaml; + environment.systemPackages = with pkgs; [ ]; - services.vpn-ip = { - ip = "2"; - }; - - networking.hostName = "GLaDOS"; - services.xserver.videoDrivers = ["amdgpu"]; - hardware = { - # Add vulkan support to GPU - graphics.extraPackages = with pkgs; [ - amdvlk - ]; - # For 32 bit applications - graphics.extraPackages32 = with pkgs; [ - driversi686Linux.amdvlk - ]; - }; - programs = { - # gamemode.enable = false; - # gamemode.settings = { - # general = { - # renice = 10; - # }; - # # Warning: GPU optimisations have the potential to damage hardware - # # gpu = { - # # apply_gpu_optimisations = "accept-responsibility"; - # # gpu_device = 0; - # # amd_performance_level = "high"; - # # }; + # Add vulkan support to GPU + hardware.graphics.extraPackages = with pkgs; [ + amdvlk + ]; + # For 32 bit applications + hardware.graphics.extraPackages32 = with pkgs; [ + driversi686Linux.amdvlk + ]; - # custom = { - # start = "${pkgs.libnotify}/bin/notify-send 'GameMode started'"; - # end = "${pkgs.libnotify}/bin/notify-send 'GameMode ended'"; - # }; - # }; - }; + programs.gamemode = { + enable = true; + settings = { + general = { + renice = 10; + }; - jovian = { - steam = { - enable = true; - autoStart = false; - user = "lillian"; - desktopSession = "plasma"; - }; - decky-loader = { - enable = true; - package = pkgs.decky-loader-prerelease; - extraPackages = [pkgs.python3]; - }; - hardware.has.amd.gpu = true; - }; - boot = { - loader.systemd-boot.enable = false; + # Warning: GPU optimisations have the potential to damage hardware + gpu = { + apply_gpu_optimisations = "accept-responsibility"; + gpu_device = 0; + amd_performance_level = "high"; + }; - binfmt.emulatedSystems = ["aarch64-linux"]; - - lanzaboote = { - enable = true; - pkiBundle = "/var/lib/sbctl"; + custom = { + start = "${pkgs.libnotify}/bin/notify-send 'GameMode started'"; + end = "${pkgs.libnotify}/bin/notify-send 'GameMode ended'"; + }; }; }; + boot.loader.systemd-boot.enable = true; + + # boot.lanzaboote = { + # enable = true; + # pkiBundle = "/etc/secureboot"; + # }; + users.users.lillian.extraGroups = ["gamemode"]; + home-manager = { + extraSpecialArgs = {inherit inputs outputs;}; + users = { + # Import your home-manager configuration + lillian = import ../../../home-manager/hosts/GLaDOS; + }; + }; + + # virtualisation.waydroid.enable = false; + networking.hostName = "GLaDOS"; + # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion - system.stateVersion = "25.05"; + system.stateVersion = "24.11"; } diff --git a/nixos/hosts/GLaDOS/secrets/sops.yaml b/nixos/hosts/GLaDOS/secrets/sops.yaml index d2521b7..66274e0 100644 --- a/nixos/hosts/GLaDOS/secrets/sops.yaml +++ b/nixos/hosts/GLaDOS/secrets/sops.yaml @@ -1,7 +1,4 @@ lillian-password: ENC[AES256_GCM,data:aHJCYmnpGIWJMsNZ8aw51Rquuv4F7kgGvfIxHMELuDlEqgjkg+SAhh+UQEpv16F0WVxrYZ/EwxKFMBpfPv9M2NLZC98bav0D9g==,iv:uzYLfmxG46ubmgeFsfW7aqXZbcL+TQw0VdDcklV0/ZI=,tag:Ozcf5qXC7xh0VcsBzhyo2g==,type:str] -wg-private-key: ENC[AES256_GCM,data:em6sci3eefw5TJHpzgTaGGuQp8UuvOmkHRsQltg0TKpMb1Lrcxicb23cQxo=,iv:VEeGmzncHyAgP5toTOwDK6qw0OT4/6Etxh8Zr4uYQD4=,tag:nvse11zMhzukzClx5ub4dw==,type:str] -ssh-private-key: ENC[AES256_GCM,data:YM8GTH6EEXLt1ZC1ZdyLWVJyGUykS0DulTL0QgOFCTztRA+5JoA6Af42MIEMm4sMSatOt9pbGE9BXh5T53uNkx87cS8pfb714N8EKrMTYmtWi2M2TatEM6+qMRpP777GalB3v2HnfTfwhx+TfQ+iSCEo45Unsumzr+/9uZ/b4vYBxbd82UKO1tmlTw3R7aEpesJuJe/I3sAg0ZXTWti0e2MYfFawlSXtgQo382bFnV/mi9JkNx62AUFI6Q0a09V2C3FU4e4qP9jeP+COfCuCjRuaf8eu0VYczy4vVkN5NNBhkuLCZl0xANfqM5tDt8q+meYHmYWq1ceyeZ9OdZhKA7lMJi2K1DgTmgbD356itEtjXb7KF7VWIVnR0Gm+vVHx90Bv6eQp4n2I5mWbCVy8wqiIlacxuH8PO6jAPUM1Q8E+SVJb2HcLPdlURHyyK0fLVWaFhtFH4rwyKAv/2yEO2iNfZd9zFqvX5/JdyUPRCpMKkjxQgZN+raVHok0SwvPfXA9wvRpQyYSD4SUqCYsRcs6JugW8a14bZrvg,iv:L9ACOUFtAxkWsXW+tDKGwKn1ZHYNv7WmBty5krayVu8=,tag:hbrgscOczukqLBU/Y+6aLA==,type:str] -nextcloud-password: ENC[AES256_GCM,data:ClQk7M7BTeIhgWTWsgjTFb0Um8qZ901530dI9xnbs63ZGIni4+bWjLPetOmM3+PPsg33vF6r0xiwu0Ff,iv:jDy8miUoPcua3sraRQWOHWrhNacKEgf6nGsi8PVTYaY=,tag:ldGta+DdUmoajtAE6HLtkw==,type:str] sops: kms: [] gcp_kms: [] @@ -17,8 +14,8 @@ sops: MUZWTVh0dVdMZlRzelJ4WlROUlIyNmcKphNuMN9Wh8h/gvmtUxQWjPKtgjWriLRD +DpEEVGrmu0RJ8/wUqjxGoL4GzLAlZm4EnKlyUyA0tw8sbLZ2Lnl/w== -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-01-01T15:48:15Z" - mac: ENC[AES256_GCM,data:64DmkqcYlLtzL+9WcgvnSOjF25MiZFkbEsgKP/xLrBBvhqqqm4ev9tk8QGoA5NJPHen+GItX7D3lJgfTyjX6LXn6vLFQWemrEP2+A9hZxnwvtdBjSD5dEl6wHGgY4mvqTJupmpv6Gg8zXP1kh5vsO82Un03TcfyPHVVgmfagpOw=,iv:j/6jJjRoiTUfTW2SJ0Ui6dAVQO9Ij8zN2mrKEhIt7fY=,tag:6r/GNnG/lw42KbWgIBoIzQ==,type:str] + lastmodified: "2024-02-22T11:58:42Z" + mac: ENC[AES256_GCM,data:TuNvE51hpHvOjB3G2y7UCT8BvlI1ulc8aeeBihtnGiGDjwU1Eze1bdA47hZYCZsCYdo3Tow1gY0gCkJACKeWqUXMLT8jxcUfiUWqQicQhBm/TT9m+oqLQiAqJCkh1Ez8XuaftqIg+oJstyy4wZyvMK8Bg+9EsSYiBnMrKfrgLBs=,iv:GXy93l1BBkkeKXJ1ntFI6Rw6QZmSbzDlWClJ16/Csv4=,tag:jBYynl6tLL/xN61ypMwvrw==,type:str] pgp: [] unencrypted_suffix: _unencrypted - version: 3.9.2 + version: 3.8.1 diff --git a/nixos/hosts/queen/configuration.nix b/nixos/hosts/queen/configuration.nix index 2a3bd54..8ba1916 100644 --- a/nixos/hosts/queen/configuration.nix +++ b/nixos/hosts/queen/configuration.nix @@ -13,8 +13,6 @@ # Or modules exported from other flakes (such as nix-colors): # inputs.nix-colors.homeManagerModules.default - outputs.nixosModules.vpn-ip - # You can also split up your configuration and import pieces of it here: # ./nvim.nix ./hardware-configuration.nix @@ -28,17 +26,16 @@ # Import disko # ../../../disko/queen ]; + + boot.tmp.cleanOnBoot = true; zramSwap.enable = false; - services = { - openssh = { - enable = true; - settings = { - # require public key authentication for better security - PasswordAuthentication = false; - KbdInteractiveAuthentication = false; - PermitRootLogin = "no"; - }; - }; + networking.domain = ""; + services.openssh = { + enable = true; + # require public key authentication for better security + settings.PasswordAuthentication = false; + settings.KbdInteractiveAuthentication = false; + settings.PermitRootLogin = "no"; }; nixpkgs = { @@ -53,8 +50,12 @@ }; }; + #Set up sops config, and configure where the keyfile is, then set the mode for the unencrypted keys + sops.defaultSopsFile = ./secrets/sops.yaml; + environment.systemPackages = with pkgs; [ fzf + matrix-conduit docker docker-compose gitea @@ -67,12 +68,14 @@ #jellyfin #jellyfin-web #jellyfin-ffmpeg + nextcloud28 nginx onlyoffice-documentserver openssl + phanpy postgresql_16 python310 - # python310Packages.nbconvert + python310Packages.nbconvert jupyter rabbitmq-server roundcube @@ -81,72 +84,62 @@ roundcubePlugins.custom_from roundcubePlugins.persistent_login roundcubePlugins.thunderbird_labels + youtube-dl sqlite + rocksdb ]; - services.vpn-ip = { - enable = false; + + # Create an auto-update systemd service that runs every day + # system.autoUpgrade = { + # flake = "git+https://git.lillianviolet.dev/Lillian-Violet/NixOS-Config.git"; + # dates = "daily"; + # enable = true; + # }; + + # systemd.services.systemd-networkd.serviceConfig.Environment = "SYSTEMD_LOG_LEVEL=debug"; + # Enable networking + # networking.networkmanager.enable = true; + # networking.nat.enable = true; + # networking.nat.internalInterfaces = ["ve-+"]; + # networking.nat.externalInterface = "ens18"; + networking.enableIPv6 = lib.mkForce true; + networking.nameservers = ["2a02:c207::1:53" "2a02:c207::2:53"]; + + # networking.interfaces.ens18.ipv4.addresses = [ + # { + # address = "62.171.160.195"; + # prefixLength = 32; + # } + # ]; + + networking.interfaces.ens18.ipv6.addresses = [ + { + address = "2a02:c207:2063:2448::1"; + prefixLength = 64; + } + ]; + networking.defaultGateway6 = { + address = "fe80::1"; + interface = "ens18"; }; - networking = { - domain = ""; - - # Create an auto-update systemd service that runs every day - # system.autoUpgrade = { - # flake = "git+https://git.lillianviolet.dev/Lillian-Violet/NixOS-Config.git"; - # dates = "daily"; - # enable = true; - # }; - - # systemd.services.systemd-networkd.serviceConfig.Environment = "SYSTEMD_LOG_LEVEL=debug"; - # Enable networking - # networking.networkmanager.enable = true; - # networking.nat.enable = true; - # networking.nat.internalInterfaces = ["ve-+"]; - # networking.nat.externalInterface = "ens18"; - enableIPv6 = lib.mkForce true; - nameservers = ["2a02:c207::1:53" "2a02:c207::2:53"]; - - # networking.interfaces.ens18.ipv4.addresses = [ - # { - # address = "62.171.160.195"; - # prefixLength = 32; - # } - # ]; - - interfaces.ens18.ipv6.addresses = [ - { - address = "2a02:c207:2063:2448::1"; - prefixLength = 64; - } + # Open ports in the firewall. + networking.firewall = { + enable = true; + allowPing = false; + allowedTCPPorts = [ + 22 # SSH + 5349 # STUN tls + 5350 # STUN tls alt + 80 # http + 443 # https + ]; + allowedUDPPortRanges = [ + { + from = 49152; + to = 49999; + } # TURN relay ]; - defaultGateway6 = { - address = "fe80::1"; - interface = "ens18"; - }; - firewall = { - # Open ports in the firewall. - - enable = true; - allowPing = false; - allowedTCPPorts = [ - 22 # SSH - 5349 # STUN tls - 5350 # STUN tls alt - 80 # http - 443 # https - ]; - allowedUDPPortRanges = [ - { - from = 49152; - to = 49999; - } # TURN relay - ]; - }; - - hostName = "queen"; - - # Disable the server going through wireguard vpn for now - wireguard.enable = lib.mkForce false; }; # networking.useNetworkd = true; @@ -179,15 +172,20 @@ # Enable completion of system packages by zsh environment.pathsToLink = ["/share/zsh"]; - boot = { - tmp.cleanOnBoot = true; - loader.grub = { - enable = true; - configurationLimit = 3; + home-manager = { + extraSpecialArgs = {inherit inputs outputs;}; + users = { + # Import your home-manager configuration + lillian = import ../../../home-manager/hosts/queen; }; - loader.efi.canTouchEfiVariables = true; }; + networking.hostName = "queen"; + + boot.loader.grub.enable = true; + boot.loader.grub.configurationLimit = 3; + boot.loader.efi.canTouchEfiVariables = true; + # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion - system.stateVersion = "25.05"; + system.stateVersion = "24.11"; } diff --git a/nixos/hosts/queen/secrets/sops.yaml b/nixos/hosts/queen/secrets/sops.yaml index dcd0abb..2213774 100644 --- a/nixos/hosts/queen/secrets/sops.yaml +++ b/nixos/hosts/queen/secrets/sops.yaml @@ -6,15 +6,13 @@ releaseCookie: ENC[AES256_GCM,data:oG8DcUP+gIm5xPzIJdmjrtX/TdrcS8IgeGJeu0oOmZb0/ mssqlpass: ENC[AES256_GCM,data:XEu4bQC5qM5Cm8UDVX3qAzTuL/t3xbx+qcEbZM4h3Hg=,iv:jgpZ93THYBlUvJDC5+YZiIxu/14e7nFSy76J0vc8Hek=,tag:iKsEDp/KZ5juqzmUgtP8iA==,type:str] mailpassunhash: ENC[AES256_GCM,data:q/P3nrNLy3hCISDmalw94nzWIFhoCdCTyflj27D2Ltr8,iv:oAFna87l3sL/42ljUF1QsRL0xBrP82uYdKLxK/8HcQE=,tag:liFFGHbNPOpOHyMsjnvMOQ==,type:str] rpcSecret: ENC[AES256_GCM,data:gOuQSY2RI6rnSnG1,iv:xz1ueq4/UOKYBs5r9Tk4jL0+GyX8uo8I8ZymVgIMKLI=,tag:Fr8rWIttLz7X8Pri6FBJBQ==,type:str] -wg-private-key: ENC[AES256_GCM,data:mq8QWoQ4tE4eYaFbwCzQnRREUFI2qrnmDnwurKMu6qdKkDylqc65E7jgGDI=,iv:r5RdcmfW4OaKlbbzUCPahONvpLcfZ7X7KcEEYFIYFDk=,tag:e93C4lByJV75JMHLJ02PfA==,type:str] +wg-private: ENC[AES256_GCM,data:6BEuNqqG//p5UhRmQ4RPEze6jZdvzK4PEXxlbX2ANYIhFpacj0aZnCr9o/A=,iv:tPlwYdV4I5oA8qG+bfVi1Dpbf7xedByantqsmylZXKQ=,tag:k1BqKqlayOWz5QW1XiAjqQ==,type:str] lillian-password: ENC[AES256_GCM,data:tc+Romv2fL+tdqLLmbwqaF4IHrNZ0VEpnECmW/66FW7IUpjHMyS7YP+pmmvDCzM9afIXMxyPFHGNRwiCmxqstiiNeSeLdo6rDw==,iv:sGeu9aNTgdpThv+0Z/nZKIrat1xNgM0t/KTGPaFbsdI=,tag:kZBHF4X0KO9znog61NwU+Q==,type:str] coturn-auth-secret: ENC[AES256_GCM,data:RYxyATuYIcrGd8h8Gc4CP9ZQ80ekuuwHehnOPYisHejmycgT8a2mWpk+5r3HkFmBNcLDeNlfnhIif5oLHGuHyw==,iv:M2GdNDxP4xpP35FJPTgljbcKpOm6DmEEnIYRItAxDVI=,tag:IiiNXeTi6Yja5PrnKRkhdA==,type:str] grafana-telegraf-key: ENC[AES256_GCM,data:agpUzG1/n2NAKDt45IgelmDf0CUlC82fmD4f7JdcszNuUg7uCNA7XeaJ6PZtHQ==,iv:keo3i+qSbtXkA5fyCr2S5z9nJS9bXUn5WDiPgWocPU8=,tag:p/nDff10PRhi9pOszp1PnA==,type:str] sync-secrets: ENC[AES256_GCM,data:AwCgqfSXmYVGnCV5PJ5Ql44IiutTS76F1H7Ow7gB4mQQ8PtiAsmArzpAXd7LzsXedm55X04U+GvkcbM9cwPcF+psyb3Zi8EnI/mjnI9MgFyySSEcosJZVAtCpXGIMyYgRXtF5OBh5CzupAG059d1TDAqrSpLXMuSDdypTaOMHxnlq5q1swfpzhhY3PVgUKVFXdjZLX8aF3JTE9ceVxFsB+traLzOQsl+QKty0x0mpuqR97zkMCchX7bTwgUgbl7phzTvmwV8Qw==,iv:gkZs5NB9+CLfz4kfV4ha2llZQPP81uuXRKqUlASgpiA=,tag:DXkiG0ZFHLHlVhwLwtv/XQ==,type:str] writefreely: ENC[AES256_GCM,data:QOj5h/rHCxmgpPNhu3IS4eyruhQokHTJxW6yQM9YDgQ=,iv:qAd+/rAAanzL9FTIX22M+2kwI0WI2d3i86cJrn8MFBo=,tag:3zvpqnovDEoJdvK/qcFDuQ==,type:str] writefreelymysql: ENC[AES256_GCM,data:1JZwIX04O3DBAo7JvEkeNrFcSdcmk/u4WUf/kkbr2JA=,iv:8H8MR8w1iLfl2r62EbxPnLzs4qWFmwB5gNKEaly8q6c=,tag:K01oKMXkeMOFs3u7frMs0Q==,type:str] -ssh-private-key: ENC[AES256_GCM,data:DK/ggskAyhvotRkf36oZBoPw3hGvVlXneqaJZRPwX2a3YVMy4zgDE3iN65UeR6mfkp9J3OmLejOHeWFB/bRCHY3oTW6GUuZljTe2rI1/x/d2s4zX5UPPEWcy3cXH25d72DzElQBEMDKuZyDe0OZ0/NkR//vEeXgoA2Nr/NKHlTWrq/t26DMD2Vt+kQ+S9b0hh4tgh3OP1lwRu9/mTJOmInd/86gKB9+aD9V0oFvNbMEmgbwIah+ZjQBHB7GEIwjUc/lLmc+3RSn9J0rICIhnhL7NTzHUDHkYd93Tm0L9UHIyi9Oco2sK8tuV5mTDM1OK8CbDg/5FICTQ0H4sstCrDNZd2wE4E1kaZuwYOyxpzQpWJY8jOxxw5oIE0IccvvptM/9vp+0f1F2RIDrkIdHSLpFbGZGvXNVAWlXyv+0qOYS7BGzD0KAh9f74GcAvULq36vdzBahb5e+CqT3JXESne8qhkpsP0G9Z1I1Fy0xpADx/9cTnAm5RmXTw/KBPmBA5IZYZBRbR/C+N7Xyxr7u9RcwFJdIbSpAeT/ew,iv:pHT7DtX1ab7boPboXRaSg9w/4sMgNraEswtEf2tBPkw=,tag:Fbw2/Evf4ZsLFMBPflf9CA==,type:str] -mollysocket-vapid-key: ENC[AES256_GCM,data:8N2hxY6WN6mCcjMIFsw/Vt1RoGvUbYxkVPOOn4WRjXZtEEkkVCIaNevozF4xCnBUEWIukNg8lZk8ake/pHAq,iv:+NHm3hSotcRPRjrwEe9xKnEeYbnUZqJEB1sd5B+tWIE=,tag:Pd2pnJqj771XqdqBREGzJQ==,type:str] sops: kms: [] gcp_kms: [] @@ -30,8 +28,8 @@ sops: KzNBMCtUaS9sU21Xc1JUd1FSR29tSkEKyqaDM/WUWjK2l+ahE6sIFYsQ6Qtkf7yz NWFTzsDZBmm9kpSIjchf+PuBuoRHeEKbEH8jnMlYB3J8boEnUnXMlw== -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-01-14T13:43:37Z" - mac: ENC[AES256_GCM,data:GK+WcmMgDbZ5xeqMK06CuquR6/ptd2oXzVJ9V74+n6lBx4XsyPu17puKGKgsGsIHeRYdbwtQh8tm42/XJ0tK8qJz1yGvfQxPasd+ibRBHatWWHzQ/czR3NIRWYqGF9/mxi2uHrftaKtku1/huxjzjb69blopMzn2LEH0vCzXCkc=,iv:K6Fbhmz9FAzLd8KcjDSriVre8MhCYrGTVXh+u6oGLaQ=,tag:4Ylrs+Mm54vAKFQyyo8Njg==,type:str] + lastmodified: "2024-08-16T13:34:43Z" + mac: ENC[AES256_GCM,data:IdQmx7/Y2fdQ9gBgKYCUZQuAVRqbP5KWG4EplO6pYqA8b5xzGnmCSCwyYIXU+3NExEZCEKEfX68mdYlWPRTKUdamOBdN+fQrGXwr5lw5dpKe03ccGw7Hayi0B4O8WbLEjw1RU50v2eoK9MpD5FPrUu1AzGz3+txxzV3hoxg6Sp0=,iv:WXvxAvg+sAKYbzjaz1QKDgVrnMraO3EtIgC12zb9Xi0=,tag:FmH84rGBotouvjCOq+xL8w==,type:str] pgp: [] unencrypted_suffix: _unencrypted - version: 3.9.2 + version: 3.9.0 diff --git a/nixos/hosts/shodan/configuration.nix b/nixos/hosts/shodan/configuration.nix index 851c69a..6120091 100644 --- a/nixos/hosts/shodan/configuration.nix +++ b/nixos/hosts/shodan/configuration.nix @@ -14,9 +14,8 @@ # Or modules exported from other flakes (such as nix-colors): # inputs.nix-colors.homeManagerModules.default - outputs.nixosModules.vpn-ip - # Import the shared settings + ../../shared ../../desktop/package-configs/firefox # You can also split up your configuration and import pieces of it here: @@ -25,105 +24,13 @@ ../../../disko/shodan - # ./auto-mount.nix + ./auto-mount.nix ]; - boot = { - tmp.cleanOnBoot = true; - loader = { - # TPM2TOOLS_TCTI and TPM2_PKCS11_TCTI env variables - # tss group has access to TPM devices - # Lanzaboote currently replaces the systemd-boot module. - # This setting is usually set to true in configuration.nix - # generated at installation time. So we force it to false - # for now. - systemd-boot.enable = lib.mkForce false; - systemd-boot.configurationLimit = 3; - timeout = 0; - efi.canTouchEfiVariables = true; - }; - initrd.systemd.enable = true; - - lanzaboote = { - enable = true; - pkiBundle = "/etc/secureboot"; - }; - consoleLogLevel = 0; - kernelParams = ["quiet" "udev.log_priority=0" "fbcon=vc:2-6" "console=tty0"]; - plymouth.enable = true; - }; + boot.tmp.cleanOnBoot = true; zramSwap.enable = false; - networking = { - domain = ""; - - # Enable networking - networkmanager.enable = true; - - firewall.enable = true; - firewall.interfaces."wg0".allowedTCPPorts = [8080]; - firewall.interfaces."wg0".allowedUDPPorts = [8080]; - firewall.allowedTCPPorts = [22 8080 9090 9777]; - firewall.allowedUDPPorts = [22 8080 9090 9777]; - - hostName = "shodan"; - }; - services.vpn-ip = { - ip = "4"; - }; - - services = { - openssh.enable = true; # Enables support for 32bit libs that steam uses - - # Enable the X11 windowing system. - xserver.enable = true; - - # Enable the KDE Plasma Desktop Environment. - desktopManager.plasma6.enable = true; - - avahi = { - nssmdns4 = true; - enable = true; - ipv4 = true; - ipv6 = true; - publish = { - enable = true; - addresses = true; - workstation = true; - }; - }; - displayManager = { - defaultSession = "plasma"; - sddm.wayland.enable = lib.mkForce true; - sddm.settings = { - Autologin = { - Session = "plasma.desktop"; - User = "lillian"; - }; - }; - }; - - # Enable flatpak support - flatpak.enable = true; - packagekit.enable = true; - - # Configure keymap in X11 - xserver = { - xkb.layout = "us"; - xkb.variant = ""; - }; - - # Enable CUPS to print documents. - printing.enable = true; - - # Enable fwupd daemon and user space client - fwupd.enable = true; - # pipewire = { - # enable = true; - # alsa.enable = true; - # alsa.support32Bit = true; - # pulse.enable = true; - # }; - }; + networking.domain = ""; + services.openssh.enable = true; nixpkgs = { # You can add overlays here @@ -135,6 +42,10 @@ allowUnfree = true; }; }; + + #Set up sops config, and configure where the keyfile is, then set the mode for the unencrypted keys + sops.defaultSopsFile = ./secrets/sops.yaml; + environment.systemPackages = with pkgs; [ # Custom tools auto-mount @@ -147,9 +58,6 @@ noto-fonts noto-fonts-emoji-blob-bin noto-fonts-emoji - qjackctl - jellyfin-media-player - #rustdesk sbctl udisks @@ -160,7 +68,7 @@ #KDE: krunner-translator - # kdePackages.discover + kdePackages.discover kdePackages.kcalc kdePackages.kdepim-addons kdePackages.kirigami @@ -169,8 +77,6 @@ # kdePackages.krunner-symbols kdePackages.qtvirtualkeyboard kdePackages.packagekit-qt - kdePackages.krdc - kdePackages.krfb libportal #Gaming: @@ -178,30 +84,6 @@ legendary-gl protontricks rare - lutris - - (kodi.withPackages (kodiPkgs: - with kodiPkgs; [ - steam-controller - invidious - youtube - netflix - upnext - sponsorblock - sendtokodi - jellyfin - inputstream-adaptive - inputstreamhelper - inputstream-ffmpegdirect - upnext - sponsorblock - sendtokodi - routing - requests-cache - requests - plugin-cache - a4ksubtitles - ])) ]; jovian = { @@ -214,35 +96,56 @@ decky-loader = { enable = true; package = pkgs.decky-loader-prerelease; - extraPackages = [pkgs.python3 pkgs.flatpak pkgs.uutils-findutils]; + extraPackages = [pkgs.python3]; }; devices.steamdeck = { enable = true; autoUpdate = true; - }; - steamos = { - enableAutoMountUdevRules = true; - enableMesaPatches = true; + enableGyroDsuService = true; }; }; - programs = { - steam = lib.mkForce { - enable = true; - remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play - dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server - extest.enable = true; - }; - kdeconnect.enable = true; - noisetorch = { - enable = true; - }; + programs.steam = lib.mkForce { + enable = true; + remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play + dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server + extest.enable = true; + }; + hardware.graphics.enable32Bit = true; # Enables support for 32bit libs that steam uses - git = { - enable = true; + # Enable the X11 windowing system. + services.xserver.enable = true; + + # Enable the KDE Plasma Desktop Environment. + services.desktopManager.plasma6.enable = true; + programs.kdeconnect.enable = true; + + services.displayManager.defaultSession = "plasma"; + services.displayManager.sddm.wayland.enable = lib.mkForce true; + services.displayManager.sddm.settings = { + Autologin = { + Session = "plasma.desktop"; + User = "lillian"; }; }; + # Enable flatpak support + services.flatpak.enable = true; + services.packagekit.enable = true; + + # Configure keymap in X11 + services.xserver = { + xkb.layout = "us"; + xkb.variant = ""; + }; + + # Enable networking + networking.networkmanager.enable = true; + + networking.firewall.enable = true; + + networking.firewall.allowedTCPPorts = [22]; + # # Enable automounting of removable media # services.udisks2.enable = true; # services.devmon.enable = true; @@ -251,30 +154,72 @@ # Set your time zone. time.timeZone = "Europe/Amsterdam"; - hardware = { - graphics.enable32Bit = true; - # Enable bluetooth hardware - bluetooth.enable = true; + # Enable CUPS to print documents. + services.printing.enable = true; - # Enable sound with pipewire. + # Enable bluetooth hardware + hardware.bluetooth.enable = true; + + # Enable fwupd daemon and user space client + services.fwupd.enable = true; + + # Enable sound with pipewire. + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + + programs.noisetorch = { + enable = true; + }; + + programs.git = { + enable = true; }; - services.pulseaudio.enable = false; users.users.lillian.extraGroups = ["decky" "tss" "input"]; # Enable completion of system packages by zsh environment.pathsToLink = ["/share/zsh"]; - security = { - rtkit.enable = true; - tpm2 = { - enable = true; - pkcs11.enable = true; # expose /run/current-system/sw/lib/libtpm2_pkcs11.so - tctiEnvironment.enable = true; + home-manager = { + extraSpecialArgs = {inherit inputs outputs;}; + users = { + # Import your home-manager configuration + lillian = import ../../../home-manager/hosts/shodan; }; }; + networking.hostName = "shodan"; + + security.tpm2.enable = true; + security.tpm2.pkcs11.enable = true; # expose /run/current-system/sw/lib/libtpm2_pkcs11.so + security.tpm2.tctiEnvironment.enable = true; # TPM2TOOLS_TCTI and TPM2_PKCS11_TCTI env variables + # tss group has access to TPM devices + + # Lanzaboote currently replaces the systemd-boot module. + # This setting is usually set to true in configuration.nix + # generated at installation time. So we force it to false + # for now. + boot.loader.systemd-boot.enable = lib.mkForce false; + boot.initrd.systemd.enable = true; + + boot.lanzaboote = { + enable = true; + pkiBundle = "/etc/secureboot"; + }; + boot.loader.systemd-boot.configurationLimit = 3; + boot.loader.timeout = 0; + boot.loader.efi.canTouchEfiVariables = true; + boot.consoleLogLevel = 0; + boot.kernelParams = ["quiet" "udev.log_priority=0" "fbcon=vc:2-6" "console=tty0"]; + boot.plymouth.enable = true; + # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion - system.stateVersion = "25.05"; + system.stateVersion = "24.11"; } diff --git a/nixos/hosts/shodan/secrets/sops.yaml b/nixos/hosts/shodan/secrets/sops.yaml index 3c8e216..f203c8e 100644 --- a/nixos/hosts/shodan/secrets/sops.yaml +++ b/nixos/hosts/shodan/secrets/sops.yaml @@ -1,6 +1,4 @@ lillian-password: ENC[AES256_GCM,data:uPNBvMyhkiX3eedduFlsFUIcas/VBVSYrsmGTlgGUOzTQST59CYZRoq0ArphIJ3+Usy6KbR5tA5FCp4PoB3qVYBfjlAq6dhZIw==,iv:TiUIo2lvdL6SiDuW4gWn0TeJXkz5MldzqGxuK3MNPnE=,tag:d3p/h+q50JxygDtk2qxIeQ==,type:str] -wg-private-key: ENC[AES256_GCM,data:PeuKeYRHfOzGlekLI95EH3qq+blntZrrboPKaKC0ghD5zIyaCYrFHYWLkug=,iv:BcugGYW7+i7d04H4EKn+BdJJPqwMVVvlHBETO0x0kQM=,tag:Z/ammSrFpWTIbVfi4VJZ9w==,type:str] -ssh-private-key: ENC[AES256_GCM,data:7K3p6Lu4je2fNmvtKpLY2z7MG5E0gg3486PCLTlm/NzWpiH0FO8KO2yPkPPVurXfUWj7ig3eiP+bc6+kufRQ8+MCHaR+JA056cdMch0MMK92FyPvJjNKzwB4W3BpdvOKipaZvuvSfgdrEdpz6rWRwBb9KaUW5aHBjW5eQNm+q0yP2uZjW6Ncp/zrdevjlRJyXGnNJD8CBDQgLILvqlvziRO4xBnSZOmFpdCKM9jMkxwHIQUND4ic71G6cheN+kIsgsa67DlJjfrngGWxKrlC3Q2DC+30vHtW8f18oa+g7eu9eTz8+bSLxYJf9TADwE+UYe2Hakib1ju67yxBkcomIjBvqgo+zEr0jC2qYmOvlKfqn64gSbAE7zEVCbavz6gA2EMb0g47twtAdgGUyzppGQ4LXjZXv6lyYov2gdXP7bzAcXXfzDh92BuTUOp9HXOTsLh7XC7cPKziowwwT+oUeOaSujMT9tgqkazgcVR3ne+PjxduptV75gxOwxeu6F2Zm+4Y4xJBdJeyP1Baq0yj4HNY/gv3pxEEXgU5,iv:TJ3AsSvXeUmBsKd6xy+Kc1ws+Yc9ZQ5Q4A8UFHI7Wsg=,tag:egCYoe3Mkbvkup0itszm4w==,type:str] sops: kms: [] gcp_kms: [] @@ -16,8 +14,8 @@ sops: KzNBMCtUaS9sU21Xc1JUd1FSR29tSkEKyqaDM/WUWjK2l+ahE6sIFYsQ6Qtkf7yz NWFTzsDZBmm9kpSIjchf+PuBuoRHeEKbEH8jnMlYB3J8boEnUnXMlw== -----END AGE ENCRYPTED FILE----- - lastmodified: "2024-12-22T22:35:15Z" - mac: ENC[AES256_GCM,data:olqDdjgOF7MsYXibawEn4bou6LPof25j231+Vwr+pSGCO19Sj44OkZpS0YmNBi+Uym+X6RGM5uV3fg4JYVgThnALI9JFyFuZ41gjPRyNBXJ16RnogKykHK5XNjQEogYho5bgLA8DTDeOvSfFHW2ENM052z6lJyAaPWJLa4ADlEY=,iv:YXGKcHQfqZCnK9Z3Nw/JxcTmZR++0iKUc7PDbLBqahY=,tag:UbHZvFZjaYjrC51Q1f/oyg==,type:str] + lastmodified: "2024-03-19T00:42:59Z" + mac: ENC[AES256_GCM,data:WuwpvgM5WCmtsb9WH6us1dn0+qQuV/6+ooI8K7Wp+VFlMWLA4g509TgOFHG+cxWJeN2cRtilnHM1INv1U6uadjWis0LrjrqbHaMRJ5aAr3/zKoTXWTG4pRNykoYmCkwHLnx0gJi6hm4PbKOIFVM+6V5m9JCLKRVO6eqyW15SVww=,iv:xVR5ZGs2Ww+J57qreIlHSW8A+ADAOjzM7B+KLRFrRLw=,tag:6KTaeX8+Txz4j1UJUWRj+w==,type:str] pgp: [] unencrypted_suffix: _unencrypted - version: 3.9.2 + version: 3.8.1 diff --git a/nixos/hosts/wheatley/configuration.nix b/nixos/hosts/wheatley/configuration.nix index b39a571..b609001 100644 --- a/nixos/hosts/wheatley/configuration.nix +++ b/nixos/hosts/wheatley/configuration.nix @@ -1,356 +1,127 @@ +# Edit this configuration file to define what should be installed on +# your system. Help is available in the configuration.nix(5) man page +# and in the NixOS manual (accessible by running ‘nixos-help’). { - lib, - pkgs, + inputs, outputs, + lib, config, - modulesPath, + pkgs, ... }: { imports = [ - # inputs.nixos-hardware.nixosModules.raspberry-pi-4 - (modulesPath + "/installer/sd-card/sd-image-aarch64.nix") - outputs.nixosModules.vpn-ip + inputs.home-manager.nixosModules.home-manager + ./armv7l.nix ./hardware-configuration.nix - # Import shared settings + # Import shared configurations + ../../shared ]; - hardware.enableRedistributableFirmware = true; - powerManagement.cpuFreqGovernor = "ondemand"; - hardware.graphics.enable = true; + boot.loader.generic-extlinux-compatible.enable = true; + boot.loader.generic-extlinux-compatible.configurationLimit = 5; + boot.loader.grub.enable = false; + boot.tmp.cleanOnBoot = true; - nixpkgs.overlays = [ - (final: super: { - makeModulesClosure = x: - super.makeModulesClosure (x // {allowMissing = true;}); - }) - ]; - programs = { - # Allow executing of anything on the system with a , eg: , python executes python from the nix store even if not in $PATH currently - command-not-found.enable = lib.mkForce false; - nix-index.enable = true; - nix-index-database.comma.enable = true; - }; - services = { - automatic-timezoned.enable = true; - - # stubby = { - # enable = true; - # settings = - # pkgs.stubby.passthru.settingsExample - # // { - # upstream_recursive_servers = [ - # { - # address_data = "94.140.14.49"; - # tls_auth_name = "4b921896.d.adguard-dns.com"; - # tls_pubkey_pinset = [ - # { - # digest = "sha256"; - # value = "19HOzAWb2bgl7bo/b4Soag+5luf7bo6vlDN8W812k4U="; - # } - # ]; - # } - # { - # address_data = "94.140.14.59"; - # tls_auth_name = "4b921896.d.adguard-dns.com"; - # tls_pubkey_pinset = [ - # { - # digest = "sha256"; - # value = "19HOzAWb2bgl7bo/b4Soag+5luf7bo6vlDN8W812k4U="; - # } - # ]; - # } - # { - # address_data = "2a10:50c0:0:0:0:0:ded:ff"; - # tls_auth_name = "4b921896.d.adguard-dns.com"; - # tls_pubkey_pinset = [ - # { - # digest = "sha256"; - # value = "19HOzAWb2bgl7bo/b4Soag+5luf7bo6vlDN8W812k4U="; - # } - # ]; - # } - # { - # address_data = "2a10:50c0:0:0:0:0:dad:ff"; - # tls_auth_name = "4b921896.d.adguard-dns.com"; - # tls_pubkey_pinset = [ - # { - # digest = "sha256"; - # value = "19HOzAWb2bgl7bo/b4Soag+5luf7bo6vlDN8W812k4U="; - # } - # ]; - # } - # ]; - # }; - # }; - - openssh = { - enable = true; - # require public key authentication for better security - settings.PasswordAuthentication = false; - settings.KbdInteractiveAuthentication = false; - settings.PermitRootLogin = "no"; - }; - - davfs2.enable = true; - - aria2 = { - enable = true; - settings = { - dir = "/var/lib/media"; - rpc-listen-port = 6969; - }; - rpcSecretFile = config.sops.secrets."rpcSecret".path; - }; - dnsmasq = { - enable = true; - settings = { - interface = "wg1"; - }; - }; - }; - - sops = { - # users.users = { - # ombi.extraGroups = ["radarr" "sonarr" "aria2"]; - # }; - # services.ombi = { - # enable = true; - # port = 2368; - # }; - - # users.users = { - # radarr.extraGroups = ["aria2"]; - # sonarr.extraGroups = ["aria2"]; - # }; - - # services = { - # #uses port 7878 - # radarr.enable = true; - # #uses port 8989 - # sonarr.enable = true; - # prowlarr.enable = true; - # }; - - secrets."webdav-secret" = { - mode = "0600"; - path = "/etc/davfs2/secrets"; - owner = config.users.users.root.name; - }; - - secrets."rpcSecret".mode = "0440"; - secrets."rpcSecret".owner = config.users.users.aria2.name; - - secrets."protonvpn-priv-key".mode = "0440"; - secrets."protonvpn-priv-key".owner = config.users.users.root.name; - }; - boot = { - kernelPackages = lib.mkForce pkgs.linuxPackages_latest; - - initrd.kernelModules = ["vc4" "bcm2835_dma" "i2c_bcm2835" "cma=256M" "console=tty0" "reset-raspberrypi"]; - kernelParams = ["video=HDMI-A-1:1920x1080@60D"]; - kernel.sysctl = { - "net.ipv4.ip_forward" = 1; - "net.ipv6.conf.all.forwarding" = 1; - }; - }; - - sdImage.compressImage = false; - - services.vpn-ip = { - enable = false; - }; - - networking = { - hostName = "wheatley"; - - networkmanager.enable = true; - - # Disable NetworkManager's internal DNS resolution - networkmanager.dns = "none"; - - # These options are unnecessary when managing DNS ourselves - useDHCP = false; - dhcpcd.enable = false; - - # Configure DNS servers manually (this example uses Cloudflare and Google DNS) - # IPv6 DNS servers can be used here as well. - nameservers = [ - # "127.0.0.1" - # "::1" - "94.140.14.49" - "94.140.14.59" - "2a10:50c0:0:0:0:0:ded:ff" - "2a10:50c0:0:0:0:0:ded:ff" + # boot.extraModulePackages = [ + # (pkgs.callPackage ./rtl8189es.nix { + # kernel = config.boot.kernelPackages.kernel; + # }) + # ]; + nixpkgs = { + # You can add overlays here + overlays = [ ]; - - wireguard.enable = true; - - wg-quick.interfaces = { - # # "wg0" is the network interface name. You can name the interface arbitrarily. - # wg0 = { - # autostart = true; - # # Determines the IP address and subnet of the server's end of the tunnel interface. - # address = ["10.2.0.2/32"]; - - # # The port that WireGuard listens to. Must be accessible by the client. - # listenPort = 51820; - - # dns = ["10.2.0.1"]; - # # Path to the private key file. - # # - # # Note: The private key can also be included inline via the privateKey option, - # # but this makes the private key world-readable; thus, using privateKeyFile is - # # recommended. - # privateKeyFile = config.sops.secrets."protonvpn-priv-key".path; - - # peers = [ - # # List of allowed peers. - # { - # # Feel free to give a meaning full name - # # Public key of the peer (not a file path). - # publicKey = "/i7jCNpcqVBUkY07gVlILN4nFdvZHmxvreAOgLGoZGg="; - # # List of IPs assigned to this peer within the tunnel subnet. Used to configure routing. - # allowedIPs = ["0.0.0.0/0"]; - # endpoint = "146.70.86.114:51820"; - # } - # ]; - # }; - - # wg public key for host: A02sO7uLdgflhPIRd0cbJONIaPP4z8HTxDkmX4NegFg= - # TODO: generate this dynamically based on other hosts - wg1 = { - # Determines the IP address and subnet of the server's end of the tunnel interface. - address = ["10.0.0.1/24" "fdc9:281f:04d7:9ee9::1/64"]; - - # The port that WireGuard listens to. Must be accessible by the client. - listenPort = 51821; - - # This allows the wireguard server to route your traffic to the internet and hence be like a VPN - postUp = '' - ${pkgs.iptables}/bin/iptables -A FORWARD -i wg0 -j ACCEPT - ${pkgs.iptables}/bin/iptables -t nat -A POSTROUTING -s 10.0.0.1/24 -o eth0 -j MASQUERADE - ${pkgs.iptables}/bin/ip6tables -A FORWARD -i wg0 -j ACCEPT - ${pkgs.iptables}/bin/ip6tables -t nat -A POSTROUTING -s fdc9:281f:04d7:9ee9::1/64 -o eth0 -j MASQUERADE - ''; - - # Undo the above - preDown = '' - ${pkgs.iptables}/bin/iptables -D FORWARD -i wg0 -j ACCEPT - ${pkgs.iptables}/bin/iptables -t nat -D POSTROUTING -s 10.0.0.1/24 -o eth0 -j MASQUERADE - ${pkgs.iptables}/bin/ip6tables -D FORWARD -i wg0 -j ACCEPT - ${pkgs.iptables}/bin/ip6tables -t nat -D POSTROUTING -s fdc9:281f:04d7:9ee9::1/64 -o eth0 -j MASQUERADE - ''; - - privateKeyFile = lib.mkForce config.sops.secrets."wg-private-key".path; - - peers = [ - { - #GLaDOS public key - publicKey = "yieF2yQptaE3jStoaGytUnN+HLxyVhFBZIUOGUNAV38="; - allowedIPs = ["10.0.0.2/32" "fdc9:281f:04d7:9ee9::2/128"]; - } - { - #EDI public key - publicKey = "i4nDZbU+a2k5C20tFJRNPVE1vhYKJwhoqGHEdeC4704="; - allowedIPs = ["10.0.0.3/32" "fdc9:281f:04d7:9ee9::3/128"]; - } - { - #Shodan public key - publicKey = "Zah2nZDaHF8jpP5AtMA5bhE7t38fMB2UHzbXAc96/jw="; - allowedIPs = ["10.0.0.4/32" "fdc9:281f:04d7:9ee9::3/128"]; - } - { - #ADA public key - publicKey = "SHu7xxRVWuqp4U4uipMoITKrFPWZATGsJevUeqBSzWo="; - allowedIPs = ["10.0.0.5/32" "fdc9:281f:04d7:9ee9::3/128"]; - } - #Queen public key: FVTrYM7S2Ev2rGrYrHsG2et1/SU3UjEBQH2AOen4+04= - ]; - }; - }; - nat = { - # enable NAT - enable = true; - externalInterface = "end0"; - internalInterfaces = ["wg1"]; - }; - firewall = { - enable = true; - allowPing = false; - allowedTCPPorts = [ - 22 # SSH - 5349 # STUN tls - 5350 # STUN tls alt - 80 # http - 443 # https - 51821 # wg - 7878 - 53 # dnsmasq - ]; - allowedUDPPorts = [ - 53 #dnsmasq - ]; - allowedUDPPortRanges = [ - { - from = 51820; - to = 51822; # wg - } - { - from = 49152; - to = 49999; - } # TURN relay - ]; + # Configure your nixpkgs instance + config = { + # Disable if you don't want unfree packages + allowUnfree = true; }; }; - systemd.mounts = [ - { - enable = true; - description = "Webdav mount point"; - after = ["network-online.target"]; - wants = ["network-online.target"]; - what = "https://nextcloud.gladtherescake.eu/remote.php/dav/files/GLaDTheresCake"; - where = "/home/kodi/nextcloud"; - options = "uid=1002,gid=100,file_mode=0664,dir_mode=2775"; - type = "davfs"; - } + sops.defaultSopsFile = ./secrets/sops.yaml; + + sops.secrets."wireless.env".mode = "0440"; + sops.secrets."wireless.env".owner = config.users.users.root.name; + + environment.systemPackages = with pkgs; [ + age + git + htop ]; - environment.systemPackages = [ - pkgs.mpv-unwrapped - # (pkgs.kodi.withPackages (kodiPkgs: - # with kodiPkgs; [ - # steam-controller - # invidious - # youtube - # netflix - # upnext - # sponsorblock - # sendtokodi - # jellyfin - # inputstream-adaptive - # inputstreamhelper - # inputstream-ffmpegdirect - # upnext - # sponsorblock - # sendtokodi - # routing - # requests-cache - # requests - # plugin-cache - # a4ksubtitles - # ])) - pkgs.iptables + boot.kernelParams = [ + "console=ttyS0,115200n8" ]; - users.extraUsers.kodi.isNormalUser = true; - services.cage.user = "kodi"; - services.cage.program = "${pkgs.kodi-wayland}/bin/kodi-standalone"; - services.cage.enable = true; - nixpkgs.config.kodi.enableAdvancedLauncher = true; + nix = { + gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 7d"; + }; + # This will add each flake input as a registry + # To make nix3 commands consistent with your flake + registry = lib.mapAttrs (_: value: {flake = value;}) inputs; - system.stateVersion = "25.05"; - nixpkgs.hostPlatform = lib.mkForce "aarch64-linux"; + # This will additionally add your inputs to the system's legacy channels + # Making legacy nix commands consistent as well, awesome! + nixPath = lib.mapAttrsToList (key: value: "${key}=${value.to.path}") config.nix.registry; + + settings = { + # Enable flakes and new 'nix' command + experimental-features = "nix-command flakes"; + # Deduplicate and optimize nix store + auto-optimise-store = true; + }; + }; + + networking.wireless.enable = true; + networking.wireless.environmentFile = config.sops.secrets."wireless.env".path; + networking.wireless.networks."KPNAA6306" = { + hidden = true; + auth = '' + key_mgmt=WPA-PSK + password="@PSK_HOME@" + ''; + }; + + networking.firewall.enable = true; + + networking.firewall = { + allowedTCPPorts = [22 80 443 5335 8080]; + allowedUDPPorts = [5335]; + }; + # Set your time zone. + time.timeZone = "Europe/Amsterdam"; + + programs.zsh = { + enable = true; + }; + + programs.git = { + enable = true; + }; + + home-manager = { + extraSpecialArgs = {inherit inputs outputs;}; + users = { + # Import your home-manager configuration + lillian = import ../../../home-manager/hosts/wheatley; + }; + }; + + networking.hostName = "wheatley"; # Define your hostname + + networking.wireless.interfaces = ["enu1u1"]; + + # powerManagement.cpuFreqGovernor = "powersave"; + powerManagement.cpufreq.max = 648000; + + # This value determines the NixOS release with which your system is to be + # compatible, in order to avoid breaking some software such as database + # servers. You should change this only after NixOS release notes say you + # should. + system.stateVersion = "unstable"; # Did you read the comment? } diff --git a/nixos/hosts/wheatley/hardware-configuration.nix b/nixos/hosts/wheatley/hardware-configuration.nix index 3f0b8dc..efbc691 100644 --- a/nixos/hosts/wheatley/hardware-configuration.nix +++ b/nixos/hosts/wheatley/hardware-configuration.nix @@ -10,26 +10,40 @@ (modulesPath + "/installer/scan/not-detected.nix") ]; - boot.initrd.availableKernelModules = ["xhci_pci"]; + boot.initrd.availableKernelModules = ["usbhid"]; boot.initrd.kernelModules = []; boot.kernelModules = []; boot.extraModulePackages = []; - boot.supportedFilesystems = lib.mkForce ["btrfs" "cifs" "f2fs" "jfs" "ntfs" "reiserfs" "vfat" "xfs"]; - swapDevices = [ - { - device = "/swapfile"; - size = 16 * 1024; - } - ]; + fileSystems = { + # Prior to 19.09, the boot partition was hosted on the smaller first partition + # Starting with 19.09, the /boot folder is on the main bigger partition. + # The following is to be used only with older images. Note such old images should not be considered supported anymore whatsoever, but if you installed back then, this might be needed + + # "/boot" = { + # device = "/dev/disk/by-label/FIRMWARE"; + # fsType = "vfat"; + # }; + + "/" = { + device = "/dev/disk/by-label/NIXOS_SD"; + fsType = "ext4"; + }; + }; + + swapDevices = [{device = "/dev/disk/by-uuid/b299ad0d-37a0-43d6-9647-5f717aca7b3";}]; # Enables DHCP on each ethernet and wireless interface. In case of scripted networking # (the default) this is the recommended approach. When using systemd-networkd it's # still possible to use this option, but it's recommended to use it in conjunction # with explicit per-interface declarations with `networking.interfaces..useDHCP`. networking.useDHCP = lib.mkDefault true; - # networking.interfaces.end0.useDHCP = lib.mkDefault true; + # networking.interfaces.enu1u1.useDHCP = lib.mkDefault true; + # networking.interfaces.ip6tnl0.useDHCP = lib.mkDefault true; + # networking.interfaces.sit0.useDHCP = lib.mkDefault true; # networking.interfaces.wlan0.useDHCP = lib.mkDefault true; - nixpkgs.hostPlatform = lib.mkDefault "aarch64-linux"; + nixpkgs.hostPlatform = lib.mkDefault "armv7l-linux"; + + powerManagement.cpuFreqGovernor = lib.mkDefault "ondemand"; } diff --git a/nixos/hosts/wheatley/secrets/sops.yaml b/nixos/hosts/wheatley/secrets/sops.yaml index 6fcd84c..5594a50 100644 --- a/nixos/hosts/wheatley/secrets/sops.yaml +++ b/nixos/hosts/wheatley/secrets/sops.yaml @@ -1,10 +1,5 @@ wireless.env: ENC[AES256_GCM,data:a5sUW0Lc4GRd9aUJwHbmQvzvRB8WaRjMSQ==,iv:+3ncL38E3aqbejoCzzeBtMukLk4n/AQBJELlqhXDqSA=,tag:buY9Mp10DAEEEKqSyHwB3g==,type:str] lillian-password: ENC[AES256_GCM,data:GY7WyfLRc/q4fecnazWzfoZsruN/F0ar7mJ9RaqTHSb9K6xhEmifmJeqpR5xGIJYW6MYciCsZ9YmRsJbuSHTIlo9PrCTYBGvXg==,iv:bzml3abPox3RdvtKBQiBAcVXHUdGAn0ETMsDpBtT8T0=,tag:2iaBJ4hFFBUbonslTvQH5Q==,type:str] -protonvpn-priv-key: ENC[AES256_GCM,data:s4LAq1Rqm+jGaK3OKcjIBCQYXPs3oEuTKJMAM+gFxIpZdwcJCIU7uyoCy6c=,iv:zoWv5u0xgJHldwdRGRv3bXI1kasaWQz1YD7wt0J890I=,tag:cFXnayZRq13UqP+XWuHnWw==,type:str] -rpcSecret: ENC[AES256_GCM,data:3tCZk2csB/ofxPc6,iv:NwT6k1hh73moH6eErT23/Dvwgb1wP/qIuoxXnCgNSao=,tag:nh0mFsh9I4R1baCL1oH+AA==,type:str] -webdav-secret: ENC[AES256_GCM,data:SDFyHaE+HprkguOmDfnzwQ/n5OYgbTpxcVl4FGiLcsItefbSDOIQg5l01fqVB8zv+rRGlPcyRrIn7KTPrTpBx7X4RNHfFK4FKKvAANt6z0e5pu1+wnoObWxTShCFjfFoRCLkoh/j/CmLFyFIafrI7rzZUhs=,iv:stygLmNVWXkZL5A0J83CKPefRr7TqXeygQVLszr28eY=,tag:9hss2c77JELSASnwUyAF4w==,type:str] -wg-private-key: ENC[AES256_GCM,data:5WGAAst0qVqn1siX3snkAhsSDhZaS33XHT44BfViWLZqvzw+OhPB/jkSr4U=,iv:yXfN50SM3OWdycINB8iWXtvCSS01NBTrGBs1kxd1j0M=,tag:yhjDY1AM5aQ6DFeFEjo2Mw==,type:str] -ssh-private-key: ENC[AES256_GCM,data:zbCR/+REHSN4BIQIXSOQjSRKYWhaXutdn4AE2zxmN44qHPzMI98c7/aX2KFhHOL+vKpgyhhR6JAGVTF5Jk72lmIHwDvwvwx+gLXgpZH1KEK3nTUdwUVcqBDsVB4Na5rTsHMWmRH+NxV7n+3nSQo/Byi0Jb602IPXRNREL+0toCbHon27/o2uIy4uzbsEWZu6N2hadzQCtXmHJM2dqmbKvpADt04TQ4wAcZ6wB0538g5WdtOSU6T1xcBBSDU7MNEVP7e7dUPKJWK79cI+RrzpGIh/da7cM6exSBRas711oL6woH4Hi3G6Yjd1rPxBPt1+/qq45gm/4UvjQywn/1s7BInCe9/5vJLn3TEzuUd96CsT36vEsxMeOekXf50Ntu6Xr02bnFRwUBm76BVGAggwGf/khRNJuLw0xHsCdeKzHsPD0efe5mHTJw8mB3M6vDhO6e3g6E3uRjjBaDnrPuHuD4NE1kCjQTTJh3NbuT2Ab55lhpSOEK+f0Ik2qZgKzALvJhn+MILjXSfP/hXgiwBeP4dkTY3fOcpmnPyS,iv:ojh2hzVzJFy1kvvo/WvaIpMpGT+b9aSC+L8L0iwhF1o=,tag:bHOj/fxDn/qUmp1eijLPuw==,type:str] sops: kms: [] gcp_kms: [] @@ -20,8 +15,8 @@ sops: Vm9mWk5JRGtZNVVhN1JQWTBlb2kySkEKoLI1MzS3uGNUbyn7kI5DylKZiPtc1div bKIboWoobTfDt0EURfmZ5+JrX6DlZxRyNQyl9dsKmZT6pLdaIppStA== -----END AGE ENCRYPTED FILE----- - lastmodified: "2024-12-22T22:37:02Z" - mac: ENC[AES256_GCM,data:T31z1/pngI6Wa3HMyOxS5ofb2Y5YqK0v5m96mn7n5dQ0d992ooEpoNyE7r8qHsD+tXiHvLIybWUMiMlDLI7Gq8op9GLEYYnFNDfc24k7lQPPuQK/iraJFUQwiRBbK063Rmfa6q6S3P2YN58+oxUJUiKuAy4yUIJTNaHeCCH8HMc=,iv:uLbAtSNbUcsejWdE1oBvCQVOtuaHL7A3R0sT/ispjhU=,tag:t3D7h0B0dDDZ18qo8G8wiA==,type:str] + lastmodified: "2024-02-22T11:57:45Z" + mac: ENC[AES256_GCM,data:V9vscu55woZjJGFV3aDgdHKqmIopYw6cajdOHG1/45Qel6l5YJkt8VyLMzYlUOlFGatXBlfTB7VC9zhhaY4lduww2XLrARcTk61BT+GSHp5sawND+RIDghY6CJBuoPUbtsfmmlmg+J2DljBlSbrcVmvfjMV12Ql6Zb8PEPM9K68=,iv:TFrDt1XpuIFLUyDN6+8n+0OypBkr1OrZOmXWvnY9ApI=,tag:EfsFhToEGFCZJSXh0WBrIw==,type:str] pgp: [] unencrypted_suffix: _unencrypted - version: 3.9.2 + version: 3.8.1 diff --git a/nixos/server/package-configs/caddy/default.nix b/nixos/server/package-configs/caddy/default.nix deleted file mode 100644 index 029c590..0000000 --- a/nixos/server/package-configs/caddy/default.nix +++ /dev/null @@ -1,56 +0,0 @@ -{config, ...}: { - services.phpfpm.pools.nextcloud.settings = { - "listen.owner" = config.services.caddy.user; - "listen.group" = config.services.caddy.group; - }; - - users.users.caddy.extraGroups = ["nextcloud"]; - - services.caddy = { - enable = true; - - # Setup Nextcloud virtual host to listen on ports - virtualHosts = { - "${config.services.nextcloud.hostName}" = { - useACMEHost = "${config.services.nextcloud.hostName}"; - extraConfig = '' - redir /.well-known/carddav /remote.php/dav 301 - redir /.well-known/caldav /remote.php/dav 301 - redir /.well-known/webfinger /index.php/.well-known/webfinger 301 - redir /.well-known/nodeinfo /index.php/.well-known/nodeinfo 301 - - encode gzip - reverse_proxy localhost:9000 - header Strict-Transport-Security max-age=31536000; - @forbidden { - path /.htaccess - path /data/* - path /config/* - path /db_structure - path /.xml - path /README - path /3rdparty/* - path /lib/* - path /templates/* - path /occ - path /console.php - } - handle @forbidden { - respond 404 - } - - handle { - root * /var/www/html - php_fastcgi 127.0.0.1:9000 { - # Tells nextcloud to remove /index.php from URLs in links - env front_controller_active true - } - file_server - } - ''; - }; - "onlyoffice.gladtherescake.eu" = { - }; - }; - }; -} diff --git a/nixos/server/package-configs/conduit/default.nix b/nixos/server/package-configs/conduit/default.nix index 17424c4..b9debce 100644 --- a/nixos/server/package-configs/conduit/default.nix +++ b/nixos/server/package-configs/conduit/default.nix @@ -1,6 +1,7 @@ { config, pkgs, + inputs, ... }: let # You'll need to edit these values @@ -29,13 +30,17 @@ ''; in { # Configure Conduit itself - services.matrix-continuwuity = { + services.matrix-conduit = { enable = true; + # This causes NixOS to use the flake defined in this repository instead of + # the build of Conduit built into nixpkgs. + package = inputs.conduwuit.packages.${pkgs.system}.default; + settings.global = { inherit server_name; + database_backend = "rocksdb"; allow_registration = false; - # emergency_password = "testpassword"; turn_uris = ["turn:turn.gladtherescake.eu.url?transport=udp" "turn:turn.gladtherescake.eu?transport=tcp"]; turn_secret = "cPKWEn4Fo5TAJoE7iX3xeVOaMVE4afeRN1iRGWYfbkWbkaZMxTpnmazHyH6c6yXT"; well_known = { @@ -111,7 +116,6 @@ in { locations."=/.well-known/matrix/client" = { # Use the contents of the derivation built previously alias = "${well_known_client}"; - return = "200 '{\"m.homeserver\": {\"base_url\": \"https://${server_name}\"}, \"org.matrix.msc3575.proxy\": {\"url\": \"https://${server_name}\"}}'"; extraConfig = '' # Set the header since by default NGINX thinks it's just bytes @@ -125,7 +129,6 @@ in { proxyPass = "http://matrix.gladtherescake.eu/client/unstable/org.matrix.msc3575/sync"; proxyWebsockets = true; recommendedProxySettings = false; - return = "200 '{\"contacts\": [{\"matrix_id\": \"@admin:server.name\", \"email_address\": \"admin@server.name\", \"role\": \"m.role.admin\"}]}'"; extraConfig = '' proxy_set_header Host $host; proxy_buffering off; diff --git a/nixos/server/package-configs/dashboard/grafana/default.nix b/nixos/server/package-configs/dashboard/grafana/default.nix index 41f696e..2ea84c6 100644 --- a/nixos/server/package-configs/dashboard/grafana/default.nix +++ b/nixos/server/package-configs/dashboard/grafana/default.nix @@ -18,13 +18,13 @@ url = "http://localhost:${toString config.services.prometheus.port}"; isDefault = true; } - { - name = "Loki"; - type = "loki"; - access = "proxy"; - url = "http://localhost:3100"; - isDefault = true; - } + # { + # name = "Loki"; + # type = "loki"; + # access = "proxy"; + # url = "http://localhost:${config.services.loki.port}"; + # isDefault = true; + # } ]; }; }; diff --git a/nixos/server/package-configs/dashboard/prometheus/default.nix b/nixos/server/package-configs/dashboard/prometheus/default.nix index fd08b3e..36710a1 100644 --- a/nixos/server/package-configs/dashboard/prometheus/default.nix +++ b/nixos/server/package-configs/dashboard/prometheus/default.nix @@ -1,4 +1,4 @@ -{config, ...}: { +{...}: { services.prometheus = { enable = true; port = 9001; @@ -16,19 +16,19 @@ job_name = "GrafanaService system"; static_configs = [ { - targets = ["127.0.0.1:${toString config.services.prometheus.exporters.node.port}"]; + targets = ["127.0.0.1:9002"]; } ]; } # Scrape the Loki service - { - job_name = "Loki service"; - static_configs = [ - { - targets = ["127.0.0.1:3100"]; - } - ]; - } + # { + # job_name = "Loki service"; + # static_configs = [ + # { + # targets = ["127.0.0.1:3100"]; + # } + # ]; + # } ]; }; } diff --git a/nixos/server/package-configs/default.nix b/nixos/server/package-configs/default.nix index 91ff838..4dd970f 100644 --- a/nixos/server/package-configs/default.nix +++ b/nixos/server/package-configs/default.nix @@ -13,6 +13,5 @@ #./cinny #./firefox-sync ./writefreely - ./mollysocket ]; } diff --git a/nixos/server/package-configs/mail-server/default.nix b/nixos/server/package-configs/mail-server/default.nix index 5bad2ac..878be36 100644 --- a/nixos/server/package-configs/mail-server/default.nix +++ b/nixos/server/package-configs/mail-server/default.nix @@ -3,10 +3,9 @@ sops.secrets."mailpass".owner = config.users.users.virtualMail.name; #Fix for the dovecot update - # services.dovecot2.sieve.extensions = ["fileinto"]; + services.dovecot2.sieve.extensions = ["fileinto"]; mailserver = { - stateVersion = 3; enable = true; enableImap = true; enableSubmission = true; @@ -15,21 +14,11 @@ "nextcloud.gladtherescake.eu" "akkoma.gladtherescake.eu" "social.gladtherescake.eu" - "gladtherescake.eu" "lillianviolet.dev" "git.lillianviolet.dev" ]; loginAccounts = { - "me@gladtherescake.eu" = { - hashedPasswordFile = config.sops.secrets."mailpass".path; - aliases = [ - "@gladtherescake.eu" - ]; - catchAll = [ - "gladtherescake.eu" - ]; - }; "no-reply@nextcloud.gladtherescake.eu" = { hashedPasswordFile = config.sops.secrets."mailpass".path; }; @@ -85,7 +74,6 @@ "no-reply@akkoma.gladtherescake.eu" "no-reply@social.gladtherescake.eu" "no-reply@git.lillianviolet.dev" - "ongebonden@gladtherescake.eu" ]; certificateScheme = "acme-nginx"; certificateDomains = [ @@ -93,7 +81,6 @@ "mail.lillianviolet.dev" "pop3.lillianviolet.dev" "lillianviolet.dev" - "gladtherescake.eu" "mail.gladtherescake.eu" ]; }; diff --git a/nixos/server/package-configs/mollysocket/default.nix b/nixos/server/package-configs/mollysocket/default.nix deleted file mode 100644 index 1d445ea..0000000 --- a/nixos/server/package-configs/mollysocket/default.nix +++ /dev/null @@ -1,25 +0,0 @@ -{config, ...}: { - sops.secrets."mollysocket-vapid-key".mode = "0440"; - - services.mollysocket = { - enable = true; - environmentFile = config.sops.secrets."mollysocket-vapid-key".path; - settings = { - port = 4381; - allowed_endpoints = ["https://molly.gladtherescake.eu" "https://nextcloud.gladtherescake.eu"]; - allowed_uuids = ["db639f29-b7e7-431a-9c75-bcdcb87b6bdf"]; - webserver = true; - }; - }; - services.nginx = { - virtualHosts = { - "molly.gladtherescake.eu" = { - forceSSL = true; - enableACME = true; - locations."/" = { - proxyPass = "http://localhost:4381"; - }; - }; - }; - }; -} diff --git a/nixos/server/package-configs/nextcloud/default.nix b/nixos/server/package-configs/nextcloud/default.nix index 3367dbd..a3ed25a 100644 --- a/nixos/server/package-configs/nextcloud/default.nix +++ b/nixos/server/package-configs/nextcloud/default.nix @@ -7,14 +7,13 @@ sops.secrets."nextcloudadmin".owner = config.users.users.nextcloud.name; sops.secrets."nextclouddb".mode = "0440"; sops.secrets."nextclouddb".owner = config.users.users.nextcloud.name; - # sops.secrets."local.json".mode = "0440"; - # sops.secrets."local.json".owner = config.users.users.onlyoffice.name; + sops.secrets."local.json".mode = "0440"; + sops.secrets."local.json".owner = config.users.users.onlyoffice.name; users.users = { - # nextcloud.extraGroups = [config.users.groups.keys.name config.users.users.onlyoffice.name]; - nextcloud.extraGroups = [config.users.groups.keys.name]; + nextcloud.extraGroups = [config.users.groups.keys.name config.users.users.onlyoffice.name]; #aria2.extraGroups = ["nextcloud"]; - # onlyoffice.extraGroups = [config.users.users.nextcloud.name]; + onlyoffice.extraGroups = [config.users.users.nextcloud.name]; }; # Enable Nginx @@ -50,7 +49,7 @@ enable = true; hostName = "nextcloud.gladtherescake.eu"; - package = pkgs.nextcloud31; + package = pkgs.nextcloud30; # Use HTTPS for links https = true; @@ -91,15 +90,15 @@ }; }; - # services.onlyoffice = { - # port = 16783; - # enable = true; - # hostname = "onlyoffice.gladtherescake.eu"; - # #postgresHost = "/run/postgesql"; - # #postgresUser = "onlyoffice"; - # #postgresName = "onlyoffice"; - # #jwtSecretFile = config.sops.secrets."local.json".path; - # }; + services.onlyoffice = { + port = 16783; + enable = true; + hostname = "onlyoffice.gladtherescake.eu"; + #postgresHost = "/run/postgesql"; + #postgresUser = "onlyoffice"; + #postgresName = "onlyoffice"; + #jwtSecretFile = config.sops.secrets."local.json".path; + }; services.rabbitmq = { enable = true; diff --git a/nixos/shared/background.jpg b/nixos/shared/background.jpg deleted file mode 100644 index 2ad658c..0000000 Binary files a/nixos/shared/background.jpg and /dev/null differ diff --git a/nixos/shared/default.nix b/nixos/shared/default.nix index d63d9ba..b664165 100644 --- a/nixos/shared/default.nix +++ b/nixos/shared/default.nix @@ -1,6 +1,5 @@ { inputs, - outputs, lib, config, pkgs, @@ -9,28 +8,14 @@ imports = [ ./locale ./packages - inputs.home-manager.nixosModules.home-manager - #../hosts/${config.networking.hostName}/hardware-configuration.nix ]; - sops = { - age.keyFile = ../../../../../../var/secrets/keys.txt; - secrets."lillian-password".neededForUsers = true; + sops.age.keyFile = ../../../../../../var/secrets/keys.txt; + sops.secrets."lillian-password".neededForUsers = true; - defaultSopsFile = ../hosts/${config.networking.hostName}/secrets/sops.yaml; - - secrets."wg-private-key".mode = "0440"; - secrets."wg-private-key".owner = config.users.users.root.name; - - secrets."ssh-private-key" = { - mode = "0600"; - owner = config.users.users.lillian.name; - path = "/home/lillian/.ssh/id_ed25519"; - }; - }; #TODO: remove this when unneeded for freetube nixpkgs.config.permittedInsecurePackages = [ + "python3.12-youtube-dl-2021.12.17" ]; - nix = { package = pkgs.lix; gc = { @@ -47,7 +32,6 @@ nixPath = lib.mapAttrsToList (key: value: "${key}=${value.to.path}") config.nix.registry; settings = { - trusted-users = ["root" "lillian"]; # Enable flakes and new 'nix' command experimental-features = "nix-command flakes"; # Deduplicate and optimize nix store @@ -57,175 +41,46 @@ "https://nix-community.cachix.org" "https://nixpkgs-unfree.cachix.org" "https://0uptime.cachix.org" + "https://attic.kennel.juneis.dog/conduit" ]; trusted-public-keys = [ "cache.lix.systems:aBnZUw8zA7H35Cz2RyKFVs3H4PlGTLawyY5KRbvJR8o=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" "nixpkgs-unfree.cachix.org-1:hqvoInulhbV4nJ9yJOEr+4wxhDV4xq2d1DK7S6Nj6rs=" "0uptime.cachix.org-1:ctw8yknBLg9cZBdqss+5krAem0sHYdISkw/IFdRbYdE=" + "conduit:eEKoUwlQGDdYmAI/Q/0slVlegqh/QmAvQd7HBSm21Wk=" ]; }; }; - #TODO: ugly hardcoded delete, if it ever becomes a problem fix this, else just leave it I guess - system.userActivationScripts = { - removeConflictingFiles = { - text = '' - rm -f /home/lillian/.config/gtk-3.0/settings.ini.backup - rm -f /home/lillian/.config/gtk-3.0/gtk.css.backup - rm -f /home/lillian/.config/gtk-4.0/settings.ini.backup - rm -f /home/lillian/.config/gtk-4.0/gtk.css.backup - ''; - }; - }; + catppuccin.flavor = "macchiato"; + catppuccin.enable = true; - catppuccin = { - flavor = "macchiato"; - tty.enable = true; - sddm.enable = true; - sddm.flavor = "macchiato"; - forgejo.enable = true; - forgejo.flavor = "macchiato"; - # plymouth.enable = false; - # grub.enable = false; + console.catppuccin.enable = true; + + home-manager.backupFileExtension = "backup"; + + users.users.lillian = { + isNormalUser = true; + extraGroups = ["sudo" "networkmanager" "wheel" "vboxsf" "docker"]; + shell = pkgs.zsh; + hashedPasswordFile = config.sops.secrets."lillian-password".path; + openssh.authorizedKeys.keys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILhwA+ZdP2tEBYQNdzLHZzFHxocyeqzhXI6tFpaZA3PZ lillian@EDI" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH30G2PJOnI6jnAtxOQV0SpLFUva0adarLZLvaoZvjGE lillian@GLaDOS" + ]; }; programs.zsh = { enable = true; }; - programs.gnupg.agent = { - enable = true; - enableBrowserSocket = true; - }; + # Enable completion of system packages by zsh + environment.pathsToLink = ["/share/zsh"]; - stylix = { - enable = true; - # targets.qt.platform = "kde6"; - autoEnable = true; - base16Scheme = { - scheme = "Catppuccin Macchiato"; - author = "https://github.com/catppuccin/catppuccin"; - base00 = "24273a"; - base01 = "1e2030"; - base02 = "363a4f"; - base03 = "494d64"; - base04 = "5b6078"; - base05 = "cad3f5"; - base06 = "f4dbd6"; - base07 = "b7bdf8"; - base08 = "ed8796"; - base09 = "f5a97f"; - base0A = "eed49f"; - base0B = "a6da95"; - base0C = "8bd5ca"; - base0D = "8aadf4"; - base0E = "c6a0f6"; - base0F = "f0c6c6"; - }; - image = ./background.jpg; - cursor.package = pkgs.catppuccin-cursors.macchiatoMauve; - cursor.name = "catppuccin-macchiato-mauve-cursors"; - cursor.size = 24; - homeManagerIntegration.followSystem = true; - fonts = { - serif = { - package = pkgs.atkinson-hyperlegible; - name = "Atkinson Hyperlegible"; - }; + users.mutableUsers = false; - monospace = { - package = pkgs.atkinson-monolegible; - name = "Atkinson Monolegible"; - }; - - sansSerif = { - package = pkgs.atkinson-hyperlegible; - name = "Atkinson Hyperlegible"; - }; - - emoji = { - package = pkgs.noto-fonts-emoji-blob-bin; - name = "Blobmoji"; - }; - }; - }; - - fonts.packages = [ - pkgs.atkinson-hyperlegible - pkgs.atkinson-monolegible - pkgs.noto-fonts - pkgs.nerd-fonts.fira-mono - pkgs.font-awesome - ]; - - # fonts.fontconfig.defaultFonts = { - # emoji = ["Blobmoji"]; - # monospace = ["Atkinson Monolegible"]; - # sansSerif = ["Atkinson Hyperlegible"]; - # }; - - networking = - if config.services.vpn-ip.enable - then { - wireguard.enable = true; - - wg-quick.interfaces = { - wg0 = { - autostart = true; - address = ["10.0.0.${config.services.vpn-ip.ip}/24" "fdc9:281f:04d7:9ee9::${config.services.vpn-ip.ip}/64"]; - dns = ["10.0.0.1" "fdc9:281f:04d7:9ee9::1"]; - listenPort = 51821; - privateKeyFile = config.sops.secrets."wg-private-key".path; - peers = [ - { - publicKey = "A02sO7uLdgflhPIRd0cbJONIaPP4z8HTxDkmX4NegFg="; - endpoint = "84.87.146.85:51821"; - allowedIPs = ["0.0.0.0/0" "::/0"]; - persistentKeepalive = 25; - } - ]; - }; - }; - } - else {}; - - environment = { - systemPackages = with pkgs; [ - nix-output-monitor - ]; - - # Enable completion of system packages by zsh - pathsToLink = ["/share/zsh"]; - }; - - home-manager = { - backupFileExtension = "backup"; - extraSpecialArgs = { - inputs = inputs; - outputs = outputs; - }; - users = { - # Import your home-manager configuration - lillian = import ../../home-manager/hosts/${config.networking.hostName}; - }; - }; - - users = { - users.lillian = { - isNormalUser = true; - extraGroups = ["sudo" "networkmanager" "wheel" "vboxsf" "docker"]; - shell = pkgs.zsh; - hashedPasswordFile = config.sops.secrets."lillian-password".path; - openssh.authorizedKeys.keys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILhwA+ZdP2tEBYQNdzLHZzFHxocyeqzhXI6tFpaZA3PZ lillian@EDI" - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH30G2PJOnI6jnAtxOQV0SpLFUva0adarLZLvaoZvjGE lillian@GLaDOS" - ]; - }; - mutableUsers = false; - - users.root = { - hashedPassword = "*"; - }; + users.users.root = { + hashedPassword = "*"; }; } diff --git a/nixos/shared/packages/default.nix b/nixos/shared/packages/default.nix index d82be3b..b59dcc2 100644 --- a/nixos/shared/packages/default.nix +++ b/nixos/shared/packages/default.nix @@ -22,16 +22,14 @@ install-nix-no-inhibit update upgrade - simple-completion-language-server + # simple-completion-language-server # System tools age alejandra e2fsprogs - uutils-findutils git git-filter-repo - pre-commit helix home-manager htop @@ -51,24 +49,24 @@ # Can be used to install latest version of some packages ]); - # fonts = { - # packages = with pkgs; [ - # noto-fonts-emoji-blob-bin - # cantarell-fonts - # dejavu_fonts - # fira-code - # noto-fonts - # noto-fonts-cjk-sans - # noto-fonts-cjk-serif - # paratype-pt-sans - # paratype-pt-mono - # paratype-pt-serif - # roboto - # twemoji-color-font - # font-awesome - # atkinson-hyperlegible - # fira-code-nerdfont - # ]; - # enableDefaultPackages = false; - # }; + fonts = { + packages = with pkgs; [ + noto-fonts-emoji-blob-bin + cantarell-fonts + dejavu_fonts + fira-code + noto-fonts + noto-fonts-cjk-sans + noto-fonts-cjk-serif + paratype-pt-sans + paratype-pt-mono + paratype-pt-serif + roboto + twemoji-color-font + font-awesome + atkinson-hyperlegible + fira-code-nerdfont + ]; + enableDefaultPackages = false; + }; } diff --git a/pkgs/fcast/default.nix b/pkgs/fcast/default.nix new file mode 100644 index 0000000..3919a72 --- /dev/null +++ b/pkgs/fcast/default.nix @@ -0,0 +1,202 @@ +{ + lib, + buildNpmPackage, + cargo, + copyDesktopItems, + dbus, + electron_28, + fetchFromGitLab, + glib, + gnome, + gtk3, + jq, + libsecret, + makeDesktopItem, + makeWrapper, + moreutils, + napi-rs-cli, + nodejs_18, + patchutils_0_4_2, + pkg-config, + python3, + runCommand, + rustc, + rustPlatform, +}: let + description = "A secure and free password manager for all of your devices"; + icon = "bitwarden"; + electron = electron_28; +in + buildNpmPackage rec { + pname = "bitwarden-desktop"; + version = "2024.3.0"; + + src = fetchFromGitLab { + owner = "videostreaming"; + repo = "fcast"; + rev = "b13d0f7e8150c279d377a78f89d338b7fc0f5539"; + hash = "sha256-XEZB95GnfSy/wtTWpF8KlUQwyephUZmSLtbOwbcvd7g="; + }; + + patches = [ + ./electron-builder-package-lock.patch + ]; + + # The nested package-lock.json from upstream is out-of-date, so copy the + # lock metadata from the root package-lock.json. + postPatch = '' + cat {,apps/desktop/src/}package-lock.json \ + | ${lib.getExe jq} -s ' + .[1].packages."".dependencies.argon2 = .[0].packages."".dependencies.argon2 + | .[0].packages."" = .[1].packages."" + | .[1].packages = .[0].packages + | .[1] + ' \ + | ${moreutils}/bin/sponge apps/desktop/src/package-lock.json + ''; + + nodejs = nodejs_18; + + makeCacheWritable = true; + npmFlags = ["--legacy-peer-deps"]; + npmWorkspace = "apps/desktop"; + npmDepsHash = "sha256-EpZXA+GkmHl5eqwIPTGHJZqrpr6k8gXneJG+GXumlkc="; + + cargoDeps = rustPlatform.fetchCargoTarball { + name = "${pname}-${version}"; + inherit src; + patches = + map + ( + patch: + runCommand + (builtins.baseNameOf patch) + {nativeBuildInputs = [patchutils_0_4_2];} + '' + < ${patch} filterdiff -p1 --include=${lib.escapeShellArg cargoRoot}'/*' > $out + '' + ) + patches; + patchFlags = ["-p4"]; + sourceRoot = "${src.name}/${cargoRoot}"; + hash = "sha256-qAqEFlUzT28fw6kLB8d7U8yXWevAU+q03zjN2xWsGyI="; + }; + cargoRoot = "apps/desktop/desktop_native"; + + env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; + + nativeBuildInputs = [ + cargo + copyDesktopItems + jq + makeWrapper + moreutils + napi-rs-cli + pkg-config + python3 + rustc + rustPlatform.cargoCheckHook + rustPlatform.cargoSetupHook + ]; + + buildInputs = [ + glib + gtk3 + libsecret + ]; + + preBuild = '' + if [[ $(jq --raw-output '.devDependencies.electron' < package.json | grep -E --only-matching '^[0-9]+') != ${lib.escapeShellArg (lib.versions.major electron.version)} ]]; then + echo 'ERROR: electron version mismatch' + exit 1 + fi + ''; + + postBuild = '' + pushd apps/desktop + + # desktop_native/index.js loads a file of that name regarldess of the libc being used + mv desktop_native/desktop_native.* desktop_native/desktop_native.linux-x64-musl.node + + npm exec electron-builder -- \ + --dir \ + -c.electronDist=${electron}/libexec/electron \ + -c.electronVersion=${electron.version} + + popd + ''; + + doCheck = true; + + nativeCheckInputs = [ + dbus + (gnome.gnome-keyring.override {useWrappedDaemon = false;}) + ]; + + checkFlags = [ + "--skip=password::password::tests::test" + ]; + + checkPhase = '' + runHook preCheck + + pushd ${cargoRoot} + export HOME=$(mktemp -d) + export -f cargoCheckHook runHook _eval _callImplicitHook + export cargoCheckType=release + dbus-run-session \ + --config-file=${dbus}/share/dbus-1/session.conf \ + -- bash -e -c cargoCheckHook + popd + + runHook postCheck + ''; + + installPhase = '' + runHook preInstall + + mkdir $out + + pushd apps/desktop/dist/linux-unpacked + mkdir -p $out/opt/Bitwarden + cp -r locales resources{,.pak} $out/opt/Bitwarden + popd + + makeWrapper '${electron}/bin/electron' "$out/bin/bitwarden" \ + --add-flags $out/opt/Bitwarden/resources/app.asar \ + --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \ + --set-default ELECTRON_IS_DEV 0 \ + --inherit-argv0 + + pushd apps/desktop/resources/icons + for icon in *.png; do + dir=$out/share/icons/hicolor/"''${icon%.png}"/apps + mkdir -p "$dir" + cp "$icon" "$dir"/${icon}.png + done + popd + + runHook postInstall + ''; + + desktopItems = [ + (makeDesktopItem { + name = "bitwarden"; + exec = "bitwarden %U"; + inherit icon; + comment = description; + desktopName = "Bitwarden"; + categories = ["Utility"]; + }) + ]; + + meta = { + changelog = "https://github.com/bitwarden/clients/releases/tag/${src.rev}"; + inherit description; + homepage = "https://bitwarden.com"; + license = lib.licenses.gpl3; + maintainers = with lib.maintainers; [amarshall kiwi]; + platforms = ["x86_64-linux"]; + mainProgram = "bitwarden"; + }; + } diff --git a/pkgs/install-nix-no-inhibit/default.nix b/pkgs/install-nix-no-inhibit/default.nix index a1dff9e..622170a 100644 --- a/pkgs/install-nix-no-inhibit/default.nix +++ b/pkgs/install-nix-no-inhibit/default.nix @@ -1,6 +1,5 @@ { git, - nix-output-monitor, gum, writeShellApplication, }: @@ -8,7 +7,7 @@ writeShellApplication { name = "install-nix-no-inhibit"; - runtimeInputs = [git gum nix-output-monitor]; + runtimeInputs = [git gum]; text = '' # An install script for NixOS installation to /tmp @@ -37,8 +36,8 @@ writeShellApplication --mode zap_create_mount \ "./disko/''${dir}/default.nix" echo "NixOS Installing..." - sudo nixos-install --flake .#"''${dir}" --show-trace --log-format internal-json -v |& nom --json - sudo nixos-install --flake .#"''${dir}" --show-trace --log-format internal-json -v |& nom --json + sudo nixos-install --flake .#"''${dir}" + sudo nixos-install --flake .#"''${dir}" popd > /dev/null echo "Cleaning up repository in '/tmp/install-nix'..." rm -rf ./install-nix diff --git a/pkgs/rebuild-no-inhibit/default.nix b/pkgs/rebuild-no-inhibit/default.nix index ab38581..e4bd280 100644 --- a/pkgs/rebuild-no-inhibit/default.nix +++ b/pkgs/rebuild-no-inhibit/default.nix @@ -1,13 +1,9 @@ -{ - writeShellApplication, - nix-output-monitor, - just, -}: +{writeShellApplication}: writeShellApplication { name = "rebuild-no-inhibit"; - runtimeInputs = [nix-output-monitor just]; + runtimeInputs = []; text = '' # A rebuild script for NixOS @@ -18,7 +14,7 @@ writeShellApplication git clone https://codeberg.org/Lillian-Violet/NixOS-Config.git ./rebuild pushd ./rebuild > /dev/null echo "NixOS Rebuilding..." - just build + sudo nixos-rebuild switch --flake .# popd > /dev/null echo "Cleaning up repository in '/tmp/rebuild'..." rm -rf ./rebuild diff --git a/pkgs/simple-completion-language-server/default.nix b/pkgs/simple-completion-language-server/default.nix index 474f9f3..00d16a2 100644 --- a/pkgs/simple-completion-language-server/default.nix +++ b/pkgs/simple-completion-language-server/default.nix @@ -5,17 +5,16 @@ }: rustPlatform.buildRustPackage rec { pname = "simple-completion-language-server"; - version = "6c797949ad5a6e9548b60b5475d1c9977f26c811"; + version = "ff9f90bc96c347f284571bc6310bc31f95508d55"; src = fetchFromGitHub { owner = "estin"; repo = pname; rev = version; - hash = "sha256-cITZdlDB03i7gOYbahV99wZOQ7tisnqdT/N2Z12oLFM="; + hash = "sha256-qybbZXjKzKcc6UXfAjwmkkB+qEUuGQXABRbMj7bNksM="; }; - useFetchCargoVendor = true; - cargoHash = "sha256-nannF4BKRLCcsS7VznzEHqrhLHYvN4X22t8jud87XEM="; + cargoHash = "sha256-VTz2Fm+PRUPM5+u9D+2TzGGIEQwb1j0Lz0WRaQ5/Yzo="; meta = with lib; { description = "Language server to enable word completion and snippets for Helix editor"; homepage = "https://github.com/estin/simple-completion-language-server"; diff --git a/pkgs/simple-completion-language-server/result b/pkgs/simple-completion-language-server/result new file mode 120000 index 0000000..5a7c687 --- /dev/null +++ b/pkgs/simple-completion-language-server/result @@ -0,0 +1 @@ +/nix/store/3l0wgxsvf5sz2q9sgyj0blc1ivzg808b-simple-completion-language-server-ff9f90bc96c347f284571bc6310bc31f95508d55 \ No newline at end of file diff --git a/temp.nix b/temp.nix deleted file mode 100644 index e69de29..0000000