summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--derivations/flash-attn/default.nix75
-rw-r--r--derivations/flash-attn/flake.lock27
-rw-r--r--derivations/flash-attn/flake.nix27
-rw-r--r--derivations/flash-attn/nvidia.nix24
-rw-r--r--flake.lock1945
-rw-r--r--hosts/base.nix8
-rw-r--r--hosts/cloud/span/configuration.nix2
-rw-r--r--hosts/cloud/span/nginx.nix13
-rw-r--r--hosts/local/gui.nix3
-rw-r--r--hosts/local/i3.nix13
-rw-r--r--hosts/local/master/configuration.nix28
-rw-r--r--hosts/local/master/keyboard.nix6
-rw-r--r--hosts/local/nvidia.nix2
-rw-r--r--hosts/pkgs.nix11
-rw-r--r--hosts/unfree.nix3
15 files changed, 2163 insertions, 24 deletions
diff --git a/derivations/flash-attn/default.nix b/derivations/flash-attn/default.nix
new file mode 100644
index 0000000..5cadaff
--- /dev/null
+++ b/derivations/flash-attn/default.nix
@@ -0,0 +1,75 @@
+{
+ lib,
+ python3Packages,
+ fetchFromGitHub,
+ symlinkJoin,
+ pkgs,
+}: let
+ inherit (python3Packages.torch) cudaCapabilities cudaPackages;
+ inherit (cudaPackages) backendStdenv;
+
+ nvidia = pkgs.callPackage ./nvidia.nix {};
+in
+ python3Packages.buildPythonPackage rec {
+ inherit (nvidia) BUILD_CUDA_EXT CUDA_VERSION preBuild;
+ pname = "flash-attn";
+ version = "2.8.2";
+ pyproject = true;
+
+ src = fetchFromGitHub {
+ owner = "Dao-AILab";
+ repo = "flash-attention";
+ rev = "v${version}";
+ hash = "sha256-iHxfDh+rGanhymP5F7g8rQcQUlP0oXliVF+y+ur/iJ0=";
+ fetchSubmodules = true;
+ };
+
+ preConfigure = ''
+ export CC=${lib.getExe' backendStdenv.cc "cc"}
+ export CXX=${lib.getExe' backendStdenv.cc "c++"}
+ export TORCH_CUDA_ARCH_LIST="${lib.concatStringsSep ";" cudaCapabilities}"
+ export FORCE_CUDA=1
+ '';
+
+ build-tools = with python3Packages; [
+ setuptools
+ wheel
+ ];
+
+ nativeBuildInputs = with pkgs; [
+ git
+ which
+ ninja
+ ];
+
+ env.CUDA_HOME = symlinkJoin {
+ name = "cuda-redist";
+ paths = buildInputs;
+ };
+
+ buildInputs = with cudaPackages; [
+ cuda_cudart # cuda_runtime_api.h
+ libcusparse # cusparse.h
+ cuda_cccl # nv/target
+ libcublas # cublas_v2.h
+ libcusolver # cusolverDn.h
+ libcurand # curand_kernel.h
+ cuda_nvcc
+ ];
+
+ dependencies = with python3Packages; [
+ torch
+ psutil
+ ninja
+ einops
+ packaging
+ ];
+
+ pythonImportsCheck = ["flash_attn"];
+
+ meta = with lib; {
+ description = "Fast and memory-efficient exact attention";
+ homepage = "https://github.com/Dao-AILab/flash-attention";
+ license = licenses.bsd3;
+ };
+ }
diff --git a/derivations/flash-attn/flake.lock b/derivations/flash-attn/flake.lock
new file mode 100644
index 0000000..80b4b37
--- /dev/null
+++ b/derivations/flash-attn/flake.lock
@@ -0,0 +1,27 @@
+{
+ "nodes": {
+ "nixpkgs": {
+ "locked": {
+ "lastModified": 1758035966,
+ "narHash": "sha256-qqIJ3yxPiB0ZQTT9//nFGQYn8X/PBoJbofA7hRKZnmE=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "8d4ddb19d03c65a36ad8d189d001dc32ffb0306b",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixos-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "root": {
+ "inputs": {
+ "nixpkgs": "nixpkgs"
+ }
+ }
+ },
+ "root": "root",
+ "version": 7
+}
diff --git a/derivations/flash-attn/flake.nix b/derivations/flash-attn/flake.nix
new file mode 100644
index 0000000..0e09fdf
--- /dev/null
+++ b/derivations/flash-attn/flake.nix
@@ -0,0 +1,27 @@
+# https://github.com/BatteredBunny/nix-ai-stuff/tree/main
+{
+ description = "Gemini CLI flake";
+
+ inputs = {
+ nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
+ };
+
+ outputs = {
+ self,
+ nixpkgs,
+ }: let
+ system = "x86_64-linux";
+ pkgs = import nixpkgs {
+ system = system;
+ config = {
+ allowUnfree = true;
+ cudaSupport = true;
+ };
+ };
+ in {
+ packages.${system}.default = pkgs.callPackage ./default.nix {
+ # inherit (pkgs) lib python3Packages fetchFromGitHub symlinkJoin;
+ # pkgs = pkgs;
+ };
+ };
+}
diff --git a/derivations/flash-attn/nvidia.nix b/derivations/flash-attn/nvidia.nix
new file mode 100644
index 0000000..7b83e84
--- /dev/null
+++ b/derivations/flash-attn/nvidia.nix
@@ -0,0 +1,24 @@
+{
+ symlinkJoin,
+ cudaPackages,
+ pkgs,
+ cudaCapabilities ? pkgs.cudaPackages.flags.cudaCapabilities,
+ lib,
+}: {
+ BUILD_CUDA_EXT = "1";
+
+ CUDA_HOME = symlinkJoin {
+ name = "cuda-redist";
+ paths = with cudaPackages; [
+ cuda_cudart # cuda_runtime.h
+ cuda_nvcc
+ ];
+ };
+
+ CUDA_VERSION = cudaPackages.cudaMajorMinorVersion;
+
+ preBuild = ''
+ export PATH=${pkgs.gcc13Stdenv.cc}/bin:$PATH
+ export TORCH_CUDA_ARCH_LIST="${lib.concatStringsSep ";" cudaCapabilities}"
+ '';
+}
diff --git a/flake.lock b/flake.lock
new file mode 100644
index 0000000..5d4ce03
--- /dev/null
+++ b/flake.lock
@@ -0,0 +1,1945 @@
+{
+ "nodes": {
+ "agenix": {
+ "inputs": {
+ "agenix": "agenix_2",
+ "crane": "crane",
+ "flake-utils": "flake-utils",
+ "nixpkgs": [
+ "nixpkgs"
+ ],
+ "rust-overlay": "rust-overlay"
+ },
+ "locked": {
+ "lastModified": 1744897914,
+ "narHash": "sha256-GIVU92o2TZBnKQXTb76zpQbWR4zjU2rFqWKNIIpXnqA=",
+ "owner": "yaxitech",
+ "repo": "ragenix",
+ "rev": "40f2e17ecaeab4d78ec323e96a04548c0aaa5223",
+ "type": "github"
+ },
+ "original": {
+ "owner": "yaxitech",
+ "repo": "ragenix",
+ "type": "github"
+ }
+ },
+ "agenix_2": {
+ "inputs": {
+ "darwin": "darwin",
+ "home-manager": "home-manager",
+ "nixpkgs": [
+ "agenix",
+ "nixpkgs"
+ ],
+ "systems": "systems"
+ },
+ "locked": {
+ "lastModified": 1736955230,
+ "narHash": "sha256-uenf8fv2eG5bKM8C/UvFaiJMZ4IpUFaQxk9OH5t/1gA=",
+ "owner": "ryantm",
+ "repo": "agenix",
+ "rev": "e600439ec4c273cf11e06fe4d9d906fb98fa097c",
+ "type": "github"
+ },
+ "original": {
+ "owner": "ryantm",
+ "repo": "agenix",
+ "type": "github"
+ }
+ },
+ "blobs": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1604995301,
+ "narHash": "sha256-wcLzgLec6SGJA8fx1OEN1yV/Py5b+U5iyYpksUY/yLw=",
+ "owner": "simple-nixos-mailserver",
+ "repo": "blobs",
+ "rev": "2cccdf1ca48316f2cfd1c9a0017e8de5a7156265",
+ "type": "gitlab"
+ },
+ "original": {
+ "owner": "simple-nixos-mailserver",
+ "repo": "blobs",
+ "type": "gitlab"
+ }
+ },
+ "cachix": {
+ "inputs": {
+ "devenv": [
+ "devenv"
+ ],
+ "flake-compat": [
+ "devenv"
+ ],
+ "git-hooks": [
+ "devenv",
+ "git-hooks"
+ ],
+ "nixpkgs": [
+ "devenv",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1752264895,
+ "narHash": "sha256-1zBPE/PNAkPNUsOWFET4J0cjlvziH8DOekesDmjND+w=",
+ "owner": "cachix",
+ "repo": "cachix",
+ "rev": "47053aef762f452e816e44eb9a23fbc3827b241a",
+ "type": "github"
+ },
+ "original": {
+ "owner": "cachix",
+ "ref": "latest",
+ "repo": "cachix",
+ "type": "github"
+ }
+ },
+ "crane": {
+ "locked": {
+ "lastModified": 1741481578,
+ "narHash": "sha256-JBTSyJFQdO3V8cgcL08VaBUByEU6P5kXbTJN6R0PFQo=",
+ "owner": "ipetkov",
+ "repo": "crane",
+ "rev": "bb1c9567c43e4434f54e9481eb4b8e8e0d50f0b5",
+ "type": "github"
+ },
+ "original": {
+ "owner": "ipetkov",
+ "repo": "crane",
+ "type": "github"
+ }
+ },
+ "crane_2": {
+ "locked": {
+ "lastModified": 1754269165,
+ "narHash": "sha256-0tcS8FHd4QjbCVoxN9jI+PjHgA4vc/IjkUSp+N3zy0U=",
+ "owner": "ipetkov",
+ "repo": "crane",
+ "rev": "444e81206df3f7d92780680e45858e31d2f07a08",
+ "type": "github"
+ },
+ "original": {
+ "owner": "ipetkov",
+ "repo": "crane",
+ "type": "github"
+ }
+ },
+ "darwin": {
+ "inputs": {
+ "nixpkgs": [
+ "agenix",
+ "agenix",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1700795494,
+ "narHash": "sha256-gzGLZSiOhf155FW7262kdHo2YDeugp3VuIFb4/GGng0=",
+ "owner": "lnl7",
+ "repo": "nix-darwin",
+ "rev": "4b9b83d5a92e8c1fbfd8eb27eda375908c11ec4d",
+ "type": "github"
+ },
+ "original": {
+ "owner": "lnl7",
+ "ref": "master",
+ "repo": "nix-darwin",
+ "type": "github"
+ }
+ },
+ "devenv": {
+ "inputs": {
+ "cachix": "cachix",
+ "flake-compat": "flake-compat",
+ "flake-parts": "flake-parts",
+ "git-hooks": "git-hooks",
+ "nix": "nix",
+ "nixpkgs": "nixpkgs"
+ },
+ "locked": {
+ "lastModified": 1760162706,
+ "narHash": "sha256-lt7dxDDMZXmyexzYQpcw9P8orJ3DOBDf6Vgb8btdcw4=",
+ "owner": "cachix",
+ "repo": "devenv",
+ "rev": "0d5ad578728fe4bce66eb4398b8b1e66deceb4e4",
+ "type": "github"
+ },
+ "original": {
+ "owner": "cachix",
+ "repo": "devenv",
+ "type": "github"
+ }
+ },
+ "disko": {
+ "inputs": {
+ "nixpkgs": [
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1758287904,
+ "narHash": "sha256-IGmaEf3Do8o5Cwp1kXBN1wQmZwQN3NLfq5t4nHtVtcU=",
+ "owner": "nix-community",
+ "repo": "disko",
+ "rev": "67ff9807dd148e704baadbd4fd783b54282ca627",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "disko",
+ "type": "github"
+ }
+ },
+ "flake-compat": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1747046372,
+ "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
+ "owner": "edolstra",
+ "repo": "flake-compat",
+ "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
+ "type": "github"
+ },
+ "original": {
+ "owner": "edolstra",
+ "repo": "flake-compat",
+ "type": "github"
+ }
+ },
+ "flake-compat_2": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1747046372,
+ "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
+ "owner": "edolstra",
+ "repo": "flake-compat",
+ "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
+ "type": "github"
+ },
+ "original": {
+ "owner": "edolstra",
+ "repo": "flake-compat",
+ "type": "github"
+ }
+ },
+ "flake-compat_3": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1747046372,
+ "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
+ "owner": "edolstra",
+ "repo": "flake-compat",
+ "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
+ "type": "github"
+ },
+ "original": {
+ "owner": "edolstra",
+ "repo": "flake-compat",
+ "type": "github"
+ }
+ },
+ "flake-compat_4": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1747046372,
+ "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
+ "owner": "edolstra",
+ "repo": "flake-compat",
+ "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
+ "type": "github"
+ },
+ "original": {
+ "owner": "edolstra",
+ "repo": "flake-compat",
+ "type": "github"
+ }
+ },
+ "flake-compat_5": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1747046372,
+ "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
+ "owner": "edolstra",
+ "repo": "flake-compat",
+ "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
+ "type": "github"
+ },
+ "original": {
+ "owner": "edolstra",
+ "repo": "flake-compat",
+ "type": "github"
+ }
+ },
+ "flake-compat_6": {
+ "locked": {
+ "lastModified": 1746162366,
+ "narHash": "sha256-5SSSZ/oQkwfcAz/o/6TlejlVGqeK08wyREBQ5qFFPhM=",
+ "owner": "nix-community",
+ "repo": "flake-compat",
+ "rev": "0f158086a2ecdbb138cd0429410e44994f1b7e4b",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "flake-compat",
+ "type": "github"
+ }
+ },
+ "flake-compat_7": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1747046372,
+ "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
+ "owner": "edolstra",
+ "repo": "flake-compat",
+ "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
+ "type": "github"
+ },
+ "original": {
+ "owner": "edolstra",
+ "repo": "flake-compat",
+ "type": "github"
+ }
+ },
+ "flake-parts": {
+ "inputs": {
+ "nixpkgs-lib": [
+ "devenv",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1756770412,
+ "narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=",
+ "owner": "hercules-ci",
+ "repo": "flake-parts",
+ "rev": "4524271976b625a4a605beefd893f270620fd751",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hercules-ci",
+ "repo": "flake-parts",
+ "type": "github"
+ }
+ },
+ "flake-parts_2": {
+ "inputs": {
+ "nixpkgs-lib": "nixpkgs-lib"
+ },
+ "locked": {
+ "lastModified": 1759362264,
+ "narHash": "sha256-wfG0S7pltlYyZTM+qqlhJ7GMw2fTF4mLKCIVhLii/4M=",
+ "owner": "hercules-ci",
+ "repo": "flake-parts",
+ "rev": "758cf7296bee11f1706a574c77d072b8a7baa881",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hercules-ci",
+ "repo": "flake-parts",
+ "type": "github"
+ }
+ },
+ "flake-parts_3": {
+ "inputs": {
+ "nixpkgs-lib": [
+ "lanzaboote",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1754091436,
+ "narHash": "sha256-XKqDMN1/Qj1DKivQvscI4vmHfDfvYR2pfuFOJiCeewM=",
+ "owner": "hercules-ci",
+ "repo": "flake-parts",
+ "rev": "67df8c627c2c39c41dbec76a1f201929929ab0bd",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hercules-ci",
+ "repo": "flake-parts",
+ "type": "github"
+ }
+ },
+ "flake-parts_4": {
+ "inputs": {
+ "nixpkgs-lib": "nixpkgs-lib_2"
+ },
+ "locked": {
+ "lastModified": 1759362264,
+ "narHash": "sha256-wfG0S7pltlYyZTM+qqlhJ7GMw2fTF4mLKCIVhLii/4M=",
+ "owner": "hercules-ci",
+ "repo": "flake-parts",
+ "rev": "758cf7296bee11f1706a574c77d072b8a7baa881",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hercules-ci",
+ "repo": "flake-parts",
+ "type": "github"
+ }
+ },
+ "flake-parts_5": {
+ "inputs": {
+ "nixpkgs-lib": [
+ "nur",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1733312601,
+ "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
+ "owner": "hercules-ci",
+ "repo": "flake-parts",
+ "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hercules-ci",
+ "repo": "flake-parts",
+ "type": "github"
+ }
+ },
+ "flake-utils": {
+ "inputs": {
+ "systems": "systems_2"
+ },
+ "locked": {
+ "lastModified": 1731533236,
+ "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "type": "github"
+ }
+ },
+ "flake-utils_2": {
+ "inputs": {
+ "systems": "systems_3"
+ },
+ "locked": {
+ "lastModified": 1731533236,
+ "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "type": "github"
+ }
+ },
+ "flake-utils_3": {
+ "inputs": {
+ "systems": "systems_4"
+ },
+ "locked": {
+ "lastModified": 1731533236,
+ "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "type": "github"
+ }
+ },
+ "flake-utils_4": {
+ "locked": {
+ "lastModified": 1638122382,
+ "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=",
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "rev": "74f7e4319258e287b0f9cb95426c9853b282730b",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "type": "github"
+ }
+ },
+ "flake-utils_5": {
+ "inputs": {
+ "systems": "systems_5"
+ },
+ "locked": {
+ "lastModified": 1701680307,
+ "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "type": "github"
+ }
+ },
+ "flake-utils_6": {
+ "inputs": {
+ "systems": "systems_6"
+ },
+ "locked": {
+ "lastModified": 1731533236,
+ "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "type": "github"
+ }
+ },
+ "flake-utils_7": {
+ "inputs": {
+ "systems": "systems_7"
+ },
+ "locked": {
+ "lastModified": 1731533236,
+ "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "type": "github"
+ }
+ },
+ "gemini-cli": {
+ "inputs": {
+ "nixpkgs": [
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1753566031,
+ "narHash": "sha256-ypEepJDaIjQx2Ou813++x5c1Kt11DR8vAWITBlmlgKU=",
+ "path": "/home/y/nixconf/derivations/gemini",
+ "type": "path"
+ },
+ "original": {
+ "path": "/home/y/nixconf/derivations/gemini",
+ "type": "path"
+ }
+ },
+ "git-hooks": {
+ "inputs": {
+ "flake-compat": [
+ "devenv",
+ "flake-compat"
+ ],
+ "gitignore": "gitignore",
+ "nixpkgs": [
+ "devenv",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1758108966,
+ "narHash": "sha256-ytw7ROXaWZ7OfwHrQ9xvjpUWeGVm86pwnEd1QhzawIo=",
+ "owner": "cachix",
+ "repo": "git-hooks.nix",
+ "rev": "54df955a695a84cd47d4a43e08e1feaf90b1fd9b",
+ "type": "github"
+ },
+ "original": {
+ "owner": "cachix",
+ "repo": "git-hooks.nix",
+ "type": "github"
+ }
+ },
+ "git-hooks_2": {
+ "inputs": {
+ "flake-compat": "flake-compat_2",
+ "gitignore": "gitignore_2",
+ "nixpkgs": "nixpkgs_2"
+ },
+ "locked": {
+ "lastModified": 1759523803,
+ "narHash": "sha256-PTod9NG+i3XbbnBKMl/e5uHDBYpwIWivQ3gOWSEuIEM=",
+ "owner": "cachix",
+ "repo": "git-hooks.nix",
+ "rev": "cfc9f7bb163ad8542029d303e599c0f7eee09835",
+ "type": "github"
+ },
+ "original": {
+ "owner": "cachix",
+ "repo": "git-hooks.nix",
+ "type": "github"
+ }
+ },
+ "git-hooks_3": {
+ "inputs": {
+ "flake-compat": [
+ "nixos-mailserver",
+ "flake-compat"
+ ],
+ "gitignore": "gitignore_4",
+ "nixpkgs": [
+ "nixos-mailserver",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1758108966,
+ "narHash": "sha256-ytw7ROXaWZ7OfwHrQ9xvjpUWeGVm86pwnEd1QhzawIo=",
+ "owner": "cachix",
+ "repo": "git-hooks.nix",
+ "rev": "54df955a695a84cd47d4a43e08e1feaf90b1fd9b",
+ "type": "github"
+ },
+ "original": {
+ "owner": "cachix",
+ "repo": "git-hooks.nix",
+ "type": "github"
+ }
+ },
+ "gitignore": {
+ "inputs": {
+ "nixpkgs": [
+ "devenv",
+ "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": [
+ "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": [
+ "lanzaboote",
+ "pre-commit-hooks-nix",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1709087332,
+ "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
+ "owner": "hercules-ci",
+ "repo": "gitignore.nix",
+ "rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hercules-ci",
+ "repo": "gitignore.nix",
+ "type": "github"
+ }
+ },
+ "gitignore_4": {
+ "inputs": {
+ "nixpkgs": [
+ "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_5": {
+ "inputs": {
+ "nixpkgs": [
+ "nixos-rk3588",
+ "pre-commit-hooks",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1660459072,
+ "narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=",
+ "owner": "hercules-ci",
+ "repo": "gitignore.nix",
+ "rev": "a20de23b925fd8264fd7fad6454652e142fd7f73",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hercules-ci",
+ "repo": "gitignore.nix",
+ "type": "github"
+ }
+ },
+ "helix": {
+ "inputs": {
+ "nixpkgs": "nixpkgs_3",
+ "rust-overlay": "rust-overlay_2"
+ },
+ "locked": {
+ "lastModified": 1760362368,
+ "narHash": "sha256-xjcfVPlTeHjE/H9244CmpEibGLfu7leHnQbfFZ/ctBg=",
+ "owner": "helix-editor",
+ "repo": "helix",
+ "rev": "50e4385aefdd1cea80a3a50af62d5eefcb42b4e8",
+ "type": "github"
+ },
+ "original": {
+ "owner": "helix-editor",
+ "repo": "helix",
+ "type": "github"
+ }
+ },
+ "home-manager": {
+ "inputs": {
+ "nixpkgs": [
+ "agenix",
+ "agenix",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1703113217,
+ "narHash": "sha256-7ulcXOk63TIT2lVDSExj7XzFx09LpdSAPtvgtM7yQPE=",
+ "owner": "nix-community",
+ "repo": "home-manager",
+ "rev": "3bfaacf46133c037bb356193bd2f1765d9dc82c1",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "home-manager",
+ "type": "github"
+ }
+ },
+ "homix": {
+ "inputs": {
+ "nixpkgs": "nixpkgs_4"
+ },
+ "locked": {
+ "lastModified": 1720719665,
+ "narHash": "sha256-BKcOoDlMC86zExMKXFXQ04HO99fUNFmtEdvP+gB45Pk=",
+ "owner": "homix-community",
+ "repo": "homix",
+ "rev": "62bc58f2350cbb061e61ac0f3d63018663fbe4cb",
+ "type": "github"
+ },
+ "original": {
+ "owner": "homix-community",
+ "repo": "homix",
+ "type": "github"
+ }
+ },
+ "impermanence": {
+ "locked": {
+ "lastModified": 1737831083,
+ "narHash": "sha256-LJggUHbpyeDvNagTUrdhe/pRVp4pnS6wVKALS782gRI=",
+ "owner": "nix-community",
+ "repo": "impermanence",
+ "rev": "4b3e914cdf97a5b536a889e939fb2fd2b043a170",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "impermanence",
+ "type": "github"
+ }
+ },
+ "kmonad": {
+ "inputs": {
+ "nixpkgs": "nixpkgs_5"
+ },
+ "locked": {
+ "dir": "nix",
+ "lastModified": 1759056911,
+ "narHash": "sha256-as91wURxvgfgdrym+gN6W0H1DLlA7IhHlt0ALwbjmxQ=",
+ "owner": "kmonad",
+ "repo": "kmonad",
+ "rev": "5a763290de4aa8de90d132f11c33327a14856b91",
+ "type": "github"
+ },
+ "original": {
+ "dir": "nix",
+ "owner": "kmonad",
+ "repo": "kmonad",
+ "type": "github"
+ }
+ },
+ "lanzaboote": {
+ "inputs": {
+ "crane": "crane_2",
+ "flake-compat": "flake-compat_3",
+ "flake-parts": "flake-parts_3",
+ "nixpkgs": "nixpkgs_6",
+ "pre-commit-hooks-nix": "pre-commit-hooks-nix",
+ "rust-overlay": "rust-overlay_3"
+ },
+ "locked": {
+ "lastModified": 1756744479,
+ "narHash": "sha256-EyZXusK/wRD3V9vDh00W2Re3Eg8UQ+LjVBQrrH9dq1U=",
+ "owner": "nix-community",
+ "repo": "lanzaboote",
+ "rev": "747b7912f49e2885090c83364d88cf853a020ac1",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "lanzaboote",
+ "type": "github"
+ }
+ },
+ "lib-aggregate": {
+ "inputs": {
+ "flake-utils": "flake-utils_6",
+ "nixpkgs-lib": "nixpkgs-lib_3"
+ },
+ "locked": {
+ "lastModified": 1754828166,
+ "narHash": "sha256-i7c+fpXVsnvj2+63Gl3YfU1hVyxbLeqeFj55ZBZACWI=",
+ "owner": "nix-community",
+ "repo": "lib-aggregate",
+ "rev": "f01c8d121a3100230612be96e4ac668e15eafb77",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "lib-aggregate",
+ "type": "github"
+ }
+ },
+ "microvm": {
+ "inputs": {
+ "flake-utils": "flake-utils_3",
+ "nixpkgs": "nixpkgs_7",
+ "spectrum": "spectrum"
+ },
+ "locked": {
+ "lastModified": 1760236243,
+ "narHash": "sha256-u2HvURFrR6UnPbCltTOWQBvX6N8XSpCE5m0p4c8UOKA=",
+ "owner": "astro",
+ "repo": "microvm.nix",
+ "rev": "67c23f6fc72e78cc4b8e46b8b9b1d3982d27bee4",
+ "type": "github"
+ },
+ "original": {
+ "owner": "astro",
+ "repo": "microvm.nix",
+ "type": "github"
+ }
+ },
+ "nix": {
+ "inputs": {
+ "flake-compat": [
+ "devenv",
+ "flake-compat"
+ ],
+ "flake-parts": [
+ "devenv",
+ "flake-parts"
+ ],
+ "git-hooks-nix": [
+ "devenv",
+ "git-hooks"
+ ],
+ "nixpkgs": [
+ "devenv",
+ "nixpkgs"
+ ],
+ "nixpkgs-23-11": [
+ "devenv"
+ ],
+ "nixpkgs-regression": [
+ "devenv"
+ ]
+ },
+ "locked": {
+ "lastModified": 1758763079,
+ "narHash": "sha256-Bx1A+lShhOWwMuy3uDzZQvYiBKBFcKwy6G6NEohhv6A=",
+ "owner": "cachix",
+ "repo": "nix",
+ "rev": "6f0140527c2b0346df4afad7497baa08decb929f",
+ "type": "github"
+ },
+ "original": {
+ "owner": "cachix",
+ "ref": "devenv-2.30.5",
+ "repo": "nix",
+ "type": "github"
+ }
+ },
+ "nix-darwin": {
+ "inputs": {
+ "nixpkgs": [
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1760338583,
+ "narHash": "sha256-IGwy02SH5K2hzIFrKMRsCmyvwOwWxrcquiv4DbKL1S4=",
+ "owner": "lnl7",
+ "repo": "nix-darwin",
+ "rev": "9a9ab01072f78823ca627ae5e895e40d493c3ecf",
+ "type": "github"
+ },
+ "original": {
+ "owner": "lnl7",
+ "repo": "nix-darwin",
+ "type": "github"
+ }
+ },
+ "nix-gaming": {
+ "inputs": {
+ "flake-parts": "flake-parts_4",
+ "nixpkgs": "nixpkgs_8"
+ },
+ "locked": {
+ "lastModified": 1760234031,
+ "narHash": "sha256-++3Sl4X0kEz/+7P0nOer6FUH0EX0AzuPL9FgNloM2Xk=",
+ "owner": "fufexan",
+ "repo": "nix-gaming",
+ "rev": "019169d0c5e13ffc5d2024ab75f46d5980d5f6bc",
+ "type": "github"
+ },
+ "original": {
+ "owner": "fufexan",
+ "repo": "nix-gaming",
+ "type": "github"
+ }
+ },
+ "nixlib": {
+ "locked": {
+ "lastModified": 1736643958,
+ "narHash": "sha256-tmpqTSWVRJVhpvfSN9KXBvKEXplrwKnSZNAoNPf/S/s=",
+ "owner": "nix-community",
+ "repo": "nixpkgs.lib",
+ "rev": "1418bc28a52126761c02dd3d89b2d8ca0f521181",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "nixpkgs.lib",
+ "type": "github"
+ }
+ },
+ "nixlib_2": {
+ "locked": {
+ "lastModified": 1709426687,
+ "narHash": "sha256-jLBZmwXf0WYHzLkmEMq33bqhX55YtT5edvluFr0RcSA=",
+ "owner": "nix-community",
+ "repo": "nixpkgs.lib",
+ "rev": "7873d84a89ae6e4841528ff7f5697ddcb5bdfe6c",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "nixpkgs.lib",
+ "type": "github"
+ }
+ },
+ "nixos-cn": {
+ "inputs": {
+ "flake-utils": "flake-utils_4",
+ "nixpkgs": [
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1721353155,
+ "narHash": "sha256-OJWzQC04UBDkXJyxoGnhQZwdxITBnN5QfEczY9Ht4gQ=",
+ "owner": "nixos-cn",
+ "repo": "flakes",
+ "rev": "7d6545e2d0d1a2614a3b98f724ea5d6e068649d1",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nixos-cn",
+ "repo": "flakes",
+ "type": "github"
+ }
+ },
+ "nixos-generators": {
+ "inputs": {
+ "nixlib": "nixlib",
+ "nixpkgs": [
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1751903740,
+ "narHash": "sha256-PeSkNMvkpEvts+9DjFiop1iT2JuBpyknmBUs0Un0a4I=",
+ "owner": "nix-community",
+ "repo": "nixos-generators",
+ "rev": "032decf9db65efed428afd2fa39d80f7089085eb",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "nixos-generators",
+ "type": "github"
+ }
+ },
+ "nixos-generators_2": {
+ "inputs": {
+ "nixlib": "nixlib_2",
+ "nixpkgs": [
+ "nixos-rk3588",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1709557527,
+ "narHash": "sha256-PV8oYqhTHX6FGZMQ1m5dhRuS914AhofPwgnAMhUZtwE=",
+ "owner": "nix-community",
+ "repo": "nixos-generators",
+ "rev": "d048d6fc4bada612ff08d4b9d5edc48d45389431",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "nixos-generators",
+ "type": "github"
+ }
+ },
+ "nixos-hardware": {
+ "locked": {
+ "lastModified": 1760106635,
+ "narHash": "sha256-2GoxVaKWTHBxRoeUYSjv0AfSOx4qw5CWSFz2b+VolKU=",
+ "owner": "nixos",
+ "repo": "nixos-hardware",
+ "rev": "9ed85f8afebf2b7478f25db0a98d0e782c0ed903",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nixos",
+ "ref": "master",
+ "repo": "nixos-hardware",
+ "type": "github"
+ }
+ },
+ "nixos-mailserver": {
+ "inputs": {
+ "blobs": "blobs",
+ "flake-compat": "flake-compat_4",
+ "git-hooks": "git-hooks_3",
+ "nixpkgs": [
+ "nixpkgs"
+ ],
+ "nixpkgs-25_05": "nixpkgs-25_05"
+ },
+ "locked": {
+ "lastModified": 1759489698,
+ "narHash": "sha256-2lT2i5ha23I2vrolEaBaAS/63ChgZPh181Awt6q1bDY=",
+ "owner": "simple-nixos-mailserver",
+ "repo": "nixos-mailserver",
+ "rev": "6005d88bed7a5418f9772b4058a73cd0fd1e69a1",
+ "type": "gitlab"
+ },
+ "original": {
+ "owner": "simple-nixos-mailserver",
+ "repo": "nixos-mailserver",
+ "type": "gitlab"
+ }
+ },
+ "nixos-rk3588": {
+ "inputs": {
+ "flake-utils": "flake-utils_5",
+ "nixos-generators": "nixos-generators_2",
+ "nixpkgs": "nixpkgs_9",
+ "pre-commit-hooks": "pre-commit-hooks"
+ },
+ "locked": {
+ "lastModified": 1748879899,
+ "narHash": "sha256-IkEHngpGGzpL133+JXAUebUAu/rn2VoYvxxqBKoa5EY=",
+ "owner": "ryan4yin",
+ "repo": "nixos-rk3588",
+ "rev": "37ca2142a3c6e99e3a4145d235e1e80928c9195a",
+ "type": "github"
+ },
+ "original": {
+ "owner": "ryan4yin",
+ "repo": "nixos-rk3588",
+ "type": "github"
+ }
+ },
+ "nixos-wsl": {
+ "inputs": {
+ "flake-compat": "flake-compat_5",
+ "nixpkgs": "nixpkgs_10"
+ },
+ "locked": {
+ "lastModified": 1759833546,
+ "narHash": "sha256-rOfkgIiiZNPUbf61OqEym60wXEODeDG8XH+gV/SUoUc=",
+ "owner": "nix-community",
+ "repo": "NixOS-WSL",
+ "rev": "7c0c0f4c3a51761434f18209fa9499b8579ff730",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "ref": "main",
+ "repo": "NixOS-WSL",
+ "type": "github"
+ }
+ },
+ "nixpkgs": {
+ "locked": {
+ "lastModified": 1758532697,
+ "narHash": "sha256-bhop0bR3u7DCw9/PtLCwr7GwEWDlBSxHp+eVQhCW9t4=",
+ "owner": "cachix",
+ "repo": "devenv-nixpkgs",
+ "rev": "207a4cb0e1253c7658c6736becc6eb9cace1f25f",
+ "type": "github"
+ },
+ "original": {
+ "owner": "cachix",
+ "ref": "rolling",
+ "repo": "devenv-nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs-25_05": {
+ "locked": {
+ "lastModified": 1759143472,
+ "narHash": "sha256-TvODmeR2W7yX/JmOCmP+lAFNkTT7hAxYcF3Kz8SZV3w=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "5ed4e25ab58fd4c028b59d5611e14ea64de51d23",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixos-25.05",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs-darwin": {
+ "locked": {
+ "lastModified": 1760309387,
+ "narHash": "sha256-e0lvQ7+B1Y8zjykYHAj9tBv10ggLqK0nmxwvMU3J0Eo=",
+ "owner": "nixos",
+ "repo": "nixpkgs",
+ "rev": "6cd95994a9c8f7c6f8c1f1161be94119afdcb305",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nixos",
+ "ref": "nixpkgs-25.05-darwin",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs-lib": {
+ "locked": {
+ "lastModified": 1754788789,
+ "narHash": "sha256-x2rJ+Ovzq0sCMpgfgGaaqgBSwY+LST+WbZ6TytnT9Rk=",
+ "owner": "nix-community",
+ "repo": "nixpkgs.lib",
+ "rev": "a73b9c743612e4244d865a2fdee11865283c04e6",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "nixpkgs.lib",
+ "type": "github"
+ }
+ },
+ "nixpkgs-lib_2": {
+ "locked": {
+ "lastModified": 1754788789,
+ "narHash": "sha256-x2rJ+Ovzq0sCMpgfgGaaqgBSwY+LST+WbZ6TytnT9Rk=",
+ "owner": "nix-community",
+ "repo": "nixpkgs.lib",
+ "rev": "a73b9c743612e4244d865a2fdee11865283c04e6",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "nixpkgs.lib",
+ "type": "github"
+ }
+ },
+ "nixpkgs-lib_3": {
+ "locked": {
+ "lastModified": 1754788789,
+ "narHash": "sha256-x2rJ+Ovzq0sCMpgfgGaaqgBSwY+LST+WbZ6TytnT9Rk=",
+ "owner": "nix-community",
+ "repo": "nixpkgs.lib",
+ "rev": "a73b9c743612e4244d865a2fdee11865283c04e6",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "nixpkgs.lib",
+ "type": "github"
+ }
+ },
+ "nixpkgs-old": {
+ "locked": {
+ "lastModified": 1751274312,
+ "narHash": "sha256-/bVBlRpECLVzjV19t5KMdMFWSwKLtb5RyXdjz3LJT+g=",
+ "owner": "nixos",
+ "repo": "nixpkgs",
+ "rev": "50ab793786d9de88ee30ec4e4c24fb4236fc2674",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nixos",
+ "ref": "nixos-24.11",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs-stable": {
+ "locked": {
+ "lastModified": 1760139962,
+ "narHash": "sha256-4xggC56Rub3WInz5eD7EZWXuLXpNvJiUPahGtMkwtuc=",
+ "owner": "nixos",
+ "repo": "nixpkgs",
+ "rev": "7e297ddff44a3cc93673bb38d0374df8d0ad73e4",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nixos",
+ "ref": "nixos-25.05",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs-unfree": {
+ "inputs": {
+ "nixpkgs": "nixpkgs_12"
+ },
+ "locked": {
+ "lastModified": 1760192498,
+ "narHash": "sha256-rZPILU0OSwJcRYrSfBrOWxkVobCw8JDOF5QErUMyiLY=",
+ "owner": "numtide",
+ "repo": "nixpkgs-unfree",
+ "rev": "6c227e849106cc42fb033e62b4f642e3448f8b69",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "ref": "nixos-unstable",
+ "repo": "nixpkgs-unfree",
+ "type": "github"
+ }
+ },
+ "nixpkgs-wayland": {
+ "inputs": {
+ "flake-compat": "flake-compat_6",
+ "lib-aggregate": "lib-aggregate",
+ "nixpkgs": [
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1760380812,
+ "narHash": "sha256-Q375ZDPLy3LZzVNsf3bBz+jREJJPyMPmEDLnmHDV5Qw=",
+ "owner": "nix-community",
+ "repo": "nixpkgs-wayland",
+ "rev": "b67e8471846592f91c0580096d462c7aaff56b1c",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "nixpkgs-wayland",
+ "type": "github"
+ }
+ },
+ "nixpkgs_10": {
+ "locked": {
+ "lastModified": 1759733170,
+ "narHash": "sha256-TXnlsVb5Z8HXZ6mZoeOAIwxmvGHp1g4Dw89eLvIwKVI=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "8913c168d1c56dc49a7718685968f38752171c3b",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixos-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_11": {
+ "locked": {
+ "lastModified": 1760284886,
+ "narHash": "sha256-TK9Kr0BYBQ/1P5kAsnNQhmWWKgmZXwUQr4ZMjCzWf2c=",
+ "owner": "nixos",
+ "repo": "nixpkgs",
+ "rev": "cf3f5c4def3c7b5f1fc012b3d839575dbe552d43",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nixos",
+ "ref": "nixos-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_12": {
+ "locked": {
+ "lastModified": 1760038930,
+ "narHash": "sha256-Oncbh0UmHjSlxO7ErQDM3KM0A5/Znfofj2BSzlHLeVw=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "0b4defa2584313f3b781240b29d61f6f9f7e0df3",
+ "type": "github"
+ },
+ "original": {
+ "id": "nixpkgs",
+ "type": "indirect"
+ }
+ },
+ "nixpkgs_13": {
+ "locked": {
+ "lastModified": 1760284886,
+ "narHash": "sha256-TK9Kr0BYBQ/1P5kAsnNQhmWWKgmZXwUQr4ZMjCzWf2c=",
+ "owner": "nixos",
+ "repo": "nixpkgs",
+ "rev": "cf3f5c4def3c7b5f1fc012b3d839575dbe552d43",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nixos",
+ "ref": "nixos-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_2": {
+ "locked": {
+ "lastModified": 1759070547,
+ "narHash": "sha256-JVZl8NaVRYb0+381nl7LvPE+A774/dRpif01FKLrYFQ=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "647e5c14cbd5067f44ac86b74f014962df460840",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixpkgs-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_3": {
+ "locked": {
+ "lastModified": 1759381078,
+ "narHash": "sha256-gTrEEp5gEspIcCOx9PD8kMaF1iEmfBcTbO0Jag2QhQs=",
+ "owner": "nixos",
+ "repo": "nixpkgs",
+ "rev": "7df7ff7d8e00218376575f0acdcc5d66741351ee",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nixos",
+ "ref": "nixos-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_4": {
+ "locked": {
+ "lastModified": 1719690277,
+ "narHash": "sha256-0xSej1g7eP2kaUF+JQp8jdyNmpmCJKRpO12mKl/36Kc=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "2741b4b489b55df32afac57bc4bfd220e8bf617e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixos-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_5": {
+ "locked": {
+ "lastModified": 1744157173,
+ "narHash": "sha256-bWSjxDwq7iVePrhmA7tY2dyMWHuNJo8knkO4y+q4ZkY=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "6a39c6e495eefabc935d8ddf66aa45d85b85fa3f",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixpkgs-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_6": {
+ "locked": {
+ "lastModified": 1754243818,
+ "narHash": "sha256-sEPw2W01UPf0xNGnMGNZIaE1XHkk7O+lLLetYEXVZHk=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "c460617dfb709a67d18bb31e15e455390ee4ee1c",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixos-unstable-small",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_7": {
+ "locked": {
+ "lastModified": 1759381078,
+ "narHash": "sha256-gTrEEp5gEspIcCOx9PD8kMaF1iEmfBcTbO0Jag2QhQs=",
+ "owner": "nixos",
+ "repo": "nixpkgs",
+ "rev": "7df7ff7d8e00218376575f0acdcc5d66741351ee",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nixos",
+ "ref": "nixos-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_8": {
+ "locked": {
+ "lastModified": 1760103332,
+ "narHash": "sha256-BMsGVfKl4Q80Pr9T1AkCRljO1bpwCmY8rTBVj8XGuhA=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "870493f9a8cb0b074ae5b411b2f232015db19a65",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixpkgs-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_9": {
+ "locked": {
+ "lastModified": 1729256560,
+ "narHash": "sha256-/uilDXvCIEs3C9l73JTACm4quuHUsIHcns1c+cHUJwA=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "4c2fcb090b1f3e5b47eaa7bd33913b574a11e0a0",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixos-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nur": {
+ "inputs": {
+ "flake-parts": "flake-parts_5",
+ "nixpkgs": "nixpkgs_13"
+ },
+ "locked": {
+ "lastModified": 1760378840,
+ "narHash": "sha256-NtNqbfTFM6r9apTmcnugj8tUbEtxetLlEpMwycEvARE=",
+ "owner": "nix-community",
+ "repo": "NUR",
+ "rev": "d0455015533d7ec90a1d4dfcebbb1d2e109c7f05",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "NUR",
+ "type": "github"
+ }
+ },
+ "openai-codex": {
+ "inputs": {
+ "flake-utils": "flake-utils_7",
+ "nixpkgs": [
+ "nixpkgs"
+ ],
+ "rust-overlay": "rust-overlay_4"
+ },
+ "locked": {
+ "lastModified": 1760142221,
+ "narHash": "sha256-BspG0ZC3mLg1s6pxFjVFf9CPgcXM46jir0uAuvbiQs4=",
+ "owner": "openai",
+ "repo": "codex",
+ "rev": "26f7c46856060f440615645bdf2faf9e62c74e72",
+ "type": "github"
+ },
+ "original": {
+ "owner": "openai",
+ "repo": "codex",
+ "type": "github"
+ }
+ },
+ "polybar-themes": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1753542051,
+ "narHash": "sha256-f/54m7RJnqNW6eC/75IrnFxmSWTY+zd5epm6TQsYeYA=",
+ "owner": "adi1090x",
+ "repo": "polybar-themes",
+ "rev": "e6326ff356b296256b7fac9c5bcc42a1ef4a4d5b",
+ "type": "github"
+ },
+ "original": {
+ "owner": "adi1090x",
+ "repo": "polybar-themes",
+ "type": "github"
+ }
+ },
+ "pre-commit-hooks": {
+ "inputs": {
+ "flake-compat": [
+ "nixos-rk3588"
+ ],
+ "flake-utils": [
+ "nixos-rk3588",
+ "flake-utils"
+ ],
+ "gitignore": "gitignore_5",
+ "nixpkgs": [
+ "nixos-rk3588",
+ "nixpkgs"
+ ],
+ "nixpkgs-stable": [
+ "nixos-rk3588",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1702456155,
+ "narHash": "sha256-I2XhXGAecdGlqi6hPWYT83AQtMgL+aa3ulA85RAEgOk=",
+ "owner": "cachix",
+ "repo": "pre-commit-hooks.nix",
+ "rev": "007a45d064c1c32d04e1b8a0de5ef00984c419bc",
+ "type": "github"
+ },
+ "original": {
+ "owner": "cachix",
+ "repo": "pre-commit-hooks.nix",
+ "type": "github"
+ }
+ },
+ "pre-commit-hooks-nix": {
+ "inputs": {
+ "flake-compat": [
+ "lanzaboote",
+ "flake-compat"
+ ],
+ "gitignore": "gitignore_3",
+ "nixpkgs": [
+ "lanzaboote",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1750779888,
+ "narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=",
+ "owner": "cachix",
+ "repo": "pre-commit-hooks.nix",
+ "rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d",
+ "type": "github"
+ },
+ "original": {
+ "owner": "cachix",
+ "repo": "pre-commit-hooks.nix",
+ "type": "github"
+ }
+ },
+ "root": {
+ "inputs": {
+ "agenix": "agenix",
+ "devenv": "devenv",
+ "disko": "disko",
+ "flake-parts": "flake-parts_2",
+ "flake-utils": "flake-utils_2",
+ "gemini-cli": "gemini-cli",
+ "git-hooks": "git-hooks_2",
+ "helix": "helix",
+ "homix": "homix",
+ "impermanence": "impermanence",
+ "kmonad": "kmonad",
+ "lanzaboote": "lanzaboote",
+ "microvm": "microvm",
+ "nix-darwin": "nix-darwin",
+ "nix-gaming": "nix-gaming",
+ "nixos-cn": "nixos-cn",
+ "nixos-generators": "nixos-generators",
+ "nixos-hardware": "nixos-hardware",
+ "nixos-mailserver": "nixos-mailserver",
+ "nixos-rk3588": "nixos-rk3588",
+ "nixos-wsl": "nixos-wsl",
+ "nixpkgs": "nixpkgs_11",
+ "nixpkgs-darwin": "nixpkgs-darwin",
+ "nixpkgs-old": "nixpkgs-old",
+ "nixpkgs-stable": "nixpkgs-stable",
+ "nixpkgs-unfree": "nixpkgs-unfree",
+ "nixpkgs-wayland": "nixpkgs-wayland",
+ "nur": "nur",
+ "openai-codex": "openai-codex",
+ "polybar-themes": "polybar-themes",
+ "waybar": "waybar",
+ "windsurf": "windsurf",
+ "wrapper-manager": "wrapper-manager",
+ "yek": "yek",
+ "zen-browser": "zen-browser"
+ }
+ },
+ "rust-overlay": {
+ "inputs": {
+ "nixpkgs": [
+ "agenix",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1741400194,
+ "narHash": "sha256-tEpgT+q5KlGjHSm8MnINgTPErEl8YDzX3Eps8PVc09g=",
+ "owner": "oxalica",
+ "repo": "rust-overlay",
+ "rev": "16b6045a232fea0e9e4c69e55a6e269607dd8e3f",
+ "type": "github"
+ },
+ "original": {
+ "owner": "oxalica",
+ "repo": "rust-overlay",
+ "type": "github"
+ }
+ },
+ "rust-overlay_2": {
+ "inputs": {
+ "nixpkgs": [
+ "helix",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1759631821,
+ "narHash": "sha256-V8A1L0FaU/aSXZ1QNJScxC12uP4hANeRBgI4YdhHeRM=",
+ "owner": "oxalica",
+ "repo": "rust-overlay",
+ "rev": "1d7cbdaad90f8a5255a89a6eddd8af24dc89cafe",
+ "type": "github"
+ },
+ "original": {
+ "owner": "oxalica",
+ "repo": "rust-overlay",
+ "type": "github"
+ }
+ },
+ "rust-overlay_3": {
+ "inputs": {
+ "nixpkgs": [
+ "lanzaboote",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1754189623,
+ "narHash": "sha256-fstu5eb30UYwsxow0aQqkzxNxGn80UZjyehQVNVHuBk=",
+ "owner": "oxalica",
+ "repo": "rust-overlay",
+ "rev": "c582ff7f0d8a7ea689ae836dfb1773f1814f472a",
+ "type": "github"
+ },
+ "original": {
+ "owner": "oxalica",
+ "repo": "rust-overlay",
+ "type": "github"
+ }
+ },
+ "rust-overlay_4": {
+ "inputs": {
+ "nixpkgs": [
+ "openai-codex",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1746844454,
+ "narHash": "sha256-GcUWDQUDRYrD34ol90KGUpjbVcOfUNbv0s955jPecko=",
+ "owner": "oxalica",
+ "repo": "rust-overlay",
+ "rev": "be092436d4c0c303b654e4007453b69c0e33009e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "oxalica",
+ "repo": "rust-overlay",
+ "type": "github"
+ }
+ },
+ "spectrum": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1759482047,
+ "narHash": "sha256-H1wiXRQHxxPyMMlP39ce3ROKCwI5/tUn36P8x6dFiiQ=",
+ "ref": "refs/heads/main",
+ "rev": "c5d5786d3dc938af0b279c542d1e43bce381b4b9",
+ "revCount": 996,
+ "type": "git",
+ "url": "https://spectrum-os.org/git/spectrum"
+ },
+ "original": {
+ "type": "git",
+ "url": "https://spectrum-os.org/git/spectrum"
+ }
+ },
+ "systems": {
+ "locked": {
+ "lastModified": 1681028828,
+ "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+ "owner": "nix-systems",
+ "repo": "default",
+ "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-systems",
+ "repo": "default",
+ "type": "github"
+ }
+ },
+ "systems_2": {
+ "locked": {
+ "lastModified": 1681028828,
+ "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+ "owner": "nix-systems",
+ "repo": "default",
+ "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-systems",
+ "repo": "default",
+ "type": "github"
+ }
+ },
+ "systems_3": {
+ "locked": {
+ "lastModified": 1681028828,
+ "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+ "owner": "nix-systems",
+ "repo": "default",
+ "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-systems",
+ "repo": "default",
+ "type": "github"
+ }
+ },
+ "systems_4": {
+ "locked": {
+ "lastModified": 1681028828,
+ "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+ "owner": "nix-systems",
+ "repo": "default",
+ "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-systems",
+ "repo": "default",
+ "type": "github"
+ }
+ },
+ "systems_5": {
+ "locked": {
+ "lastModified": 1681028828,
+ "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+ "owner": "nix-systems",
+ "repo": "default",
+ "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-systems",
+ "repo": "default",
+ "type": "github"
+ }
+ },
+ "systems_6": {
+ "locked": {
+ "lastModified": 1681028828,
+ "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+ "owner": "nix-systems",
+ "repo": "default",
+ "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-systems",
+ "repo": "default",
+ "type": "github"
+ }
+ },
+ "systems_7": {
+ "locked": {
+ "lastModified": 1681028828,
+ "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+ "owner": "nix-systems",
+ "repo": "default",
+ "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-systems",
+ "repo": "default",
+ "type": "github"
+ }
+ },
+ "waybar": {
+ "inputs": {
+ "flake-compat": "flake-compat_7",
+ "nixpkgs": [
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1759654584,
+ "narHash": "sha256-ttmz2FOvDXNgvOMBXwvYY91yfc1v6n+LOfXCj56QdLo=",
+ "owner": "alexays",
+ "repo": "waybar",
+ "rev": "559079e9a6afda77754afaf7c8d3f588c1d6206d",
+ "type": "github"
+ },
+ "original": {
+ "owner": "alexays",
+ "repo": "waybar",
+ "type": "github"
+ }
+ },
+ "windsurf": {
+ "inputs": {
+ "nixpkgs": [
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1740186345,
+ "narHash": "sha256-Qox5x+FI4OhCs/7T/v4hZlR9Rm7ZfpXP7ISy+OrHCyw=",
+ "path": "/home/y/nixconf/derivations/windsurf",
+ "type": "path"
+ },
+ "original": {
+ "path": "/home/y/nixconf/derivations/windsurf",
+ "type": "path"
+ }
+ },
+ "wrapper-manager": {
+ "locked": {
+ "lastModified": 1757156862,
+ "narHash": "sha256-OGXsTE5jWhGiFfK6OwMvjksrYSobsIFUSUzKsexCDxY=",
+ "owner": "viperML",
+ "repo": "wrapper-manager",
+ "rev": "801dd9c876fcada046af45543e8c7e0bbccf20ea",
+ "type": "github"
+ },
+ "original": {
+ "owner": "viperML",
+ "repo": "wrapper-manager",
+ "type": "github"
+ }
+ },
+ "yek": {
+ "inputs": {
+ "nixpkgs": [
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1740469068,
+ "narHash": "sha256-uoitiN9zrv9QaGf8mKIXhRxXtsNi6MupZVK+Zy3jOoA=",
+ "path": "/home/y/nixconf/derivations/yek",
+ "type": "path"
+ },
+ "original": {
+ "path": "/home/y/nixconf/derivations/yek",
+ "type": "path"
+ }
+ },
+ "zen-browser": {
+ "inputs": {
+ "nixpkgs": [
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1759982773,
+ "narHash": "sha256-HlTQoXRytul3jjek7vRV0Qk7voDB3Fy8RSIzDSvHIAQ=",
+ "owner": "youwen5",
+ "repo": "zen-browser-flake",
+ "rev": "f2f8aff94529e763665b807bad23396aed9d1fe8",
+ "type": "github"
+ },
+ "original": {
+ "owner": "youwen5",
+ "repo": "zen-browser-flake",
+ "type": "github"
+ }
+ }
+ },
+ "root": "root",
+ "version": 7
+}
diff --git a/hosts/base.nix b/hosts/base.nix
index 91f90a5..d1d8d59 100644
--- a/hosts/base.nix
+++ b/hosts/base.nix
@@ -23,6 +23,14 @@
experimental-features = nix-command flakes
'';
settings = {
+ substituters = [
+ "https://cache-nixos.org"
+ "https://polwex.cachix.org"
+ ];
+ trusted-public-keys = [
+ "polwex.cachix.org-1:6Qk8lW0wZ9omwmURpPQUEDUHAb6Nsb+f+pdH2hppBZY="
+ ];
+
keep-outputs = true;
keep-derivations = true;
trusted-users = ["root" "y"];
diff --git a/hosts/cloud/span/configuration.nix b/hosts/cloud/span/configuration.nix
index d887d37..01ffddc 100644
--- a/hosts/cloud/span/configuration.nix
+++ b/hosts/cloud/span/configuration.nix
@@ -11,9 +11,9 @@
../../base.nix
./hardware-configuration.nix
./users.nix
- ./mail.nix
../packages.nix
./nginx.nix
+ # ./mail.nix
];
# Bootloader.
diff --git a/hosts/cloud/span/nginx.nix b/hosts/cloud/span/nginx.nix
index 9bfa8ea..1079c7d 100644
--- a/hosts/cloud/span/nginx.nix
+++ b/hosts/cloud/span/nginx.nix
@@ -36,6 +36,19 @@
'';
};
};
+ virtualHosts."uuu.spandrell.ch" = {
+ enableACME = true;
+ forceSSL = true;
+ locations."/" = {
+ proxyPass = "http://127.0.0.1:8080";
+ proxyWebsockets = true; # needed if you need to use WebSocket
+ extraConfig = ''
+ limit_req zone=blog burst=20 nodelay;
+ proxy_set_header Host $Host;
+ proxy_set_header Forwarded for=$remote_addr;
+ '';
+ };
+ };
virtualHosts."s3.spandrell.ch" = {
extraConfig = ''
client_max_body_size 128M;
diff --git a/hosts/local/gui.nix b/hosts/local/gui.nix
index 1bfea32..b22f5bc 100644
--- a/hosts/local/gui.nix
+++ b/hosts/local/gui.nix
@@ -40,7 +40,7 @@
#
easyeffects # audio, cool stuff
# games!
- ryujinx
+ ryubing #ryujinx
wineWowPackages.staging
dosbox
siyuan
@@ -50,5 +50,6 @@
# chat
signal-desktop
telegram-desktop
+ electrum
];
}
diff --git a/hosts/local/i3.nix b/hosts/local/i3.nix
index b9e67a7..d49a9d6 100644
--- a/hosts/local/i3.nix
+++ b/hosts/local/i3.nix
@@ -1,4 +1,13 @@
-{pkgs, ...}: {
+{
+ inputs,
+ pkgs,
+ ...
+}: let
+ old-pkgs = import inputs.nixpkgs-old {
+ system = pkgs.system;
+ config.allowUnfree = true;
+ };
+in {
environment.pathsToLink = ["/libexec"];
services.xserver = {
xkb.options = "compose:ralt";
@@ -23,6 +32,7 @@
];
};
};
+
# Boot to terminal
services.displayManager = {
defaultSession = "none+i3";
@@ -42,6 +52,7 @@
vSync = true;
};
environment.systemPackages = with pkgs; [
+ old-pkgs.vivaldi
#notifications
dunst
polybar
diff --git a/hosts/local/master/configuration.nix b/hosts/local/master/configuration.nix
index 2a3cc8a..7b883d3 100644
--- a/hosts/local/master/configuration.nix
+++ b/hosts/local/master/configuration.nix
@@ -6,10 +6,6 @@
inputs,
...
}: let
- old-pkgs = import inputs.nixpkgs-old {
- system = pkgs.system;
- config.allowUnfree = true;
- };
in {
imports = [
# Include the results of the hardware scan.
@@ -17,8 +13,8 @@ in {
../../linux.nix
../../unfree.nix
#../../android.nix
- ../gui.nix
- ../i3.nix
+ # ../gui.nix
+ # ../i3.nix
# ../gnome.nix
# ../wayland.nix
../nvidia.nix
@@ -39,6 +35,8 @@ in {
networking = {
hostName = "master"; # Define your hostname.
};
+ environment.etc."X11/xorg.conf.d/20-nvidia.conf".source = ./xorg.conf;
+ services.xserver.displayManager.xserverArgs = ["-config ${./xorg.conf}"];
# Set your time zone.
time.timeZone = "Asia/Bangkok";
@@ -52,6 +50,15 @@ in {
services.tailscale = {
enable = true;
};
+ #services.meilisearch = {
+ # enable = true;
+ #};
+
+ zramSwap = {
+ enable = true;
+ # algorithm = "zstd";
+ # memoryPercent = 30;
+ };
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
@@ -61,15 +68,6 @@ in {
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
#
#
- environment.systemPackages = [
- old-pkgs.vivaldi
- # for AI IDE shit
- # pkgs.nodejs
- # pkgs.python312
- # pkgs.openrgb-with-all-plugins
- ];
- environment.etc."X11/xorg.conf.d/20-nvidia.conf".source = ./xorg.conf;
- services.xserver.displayManager.xserverArgs = ["-config ${./xorg.conf}"];
system.stateVersion = "23.11"; # Did you read the comment?
#debugging segfaults
diff --git a/hosts/local/master/keyboard.nix b/hosts/local/master/keyboard.nix
index f148d74..6cdcd98 100644
--- a/hosts/local/master/keyboard.nix
+++ b/hosts/local/master/keyboard.nix
@@ -1,8 +1,8 @@
{pkgs, ...}: {
- services.logind.extraConfig = ''
+ services.logind.settings.Login = {
# don’t shutdown when power button is short-pressed
- HandlePowerKey=ignore
- '';
+ HandlePowerKey = "ignore";
+ };
# config file keeps getting rewritten but I don't know by who
i18n.inputMethod = {
diff --git a/hosts/local/nvidia.nix b/hosts/local/nvidia.nix
index ed505c6..3d6f603 100644
--- a/hosts/local/nvidia.nix
+++ b/hosts/local/nvidia.nix
@@ -27,8 +27,10 @@ in {
nix.settings.substituters = [
"https://cuda-maintainers.cachix.org"
+ "https://nix-community.cachix.org"
];
nix.settings.trusted-public-keys = [
+ "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
"cuda-maintainers.cachix.org-1:0dq3bujKpuEPMCX6U4WylrUDZ9JyUG0VpVZa7CNfq5E="
];
diff --git a/hosts/pkgs.nix b/hosts/pkgs.nix
index bf940f6..66a6ec0 100644
--- a/hosts/pkgs.nix
+++ b/hosts/pkgs.nix
@@ -17,6 +17,8 @@
# terminal basics
htop
+ btop
+ nvitop
rlwrap
bat
gitAndTools.gitFull
@@ -52,9 +54,10 @@
#nixfmt
direnv
nix-direnv
- devenv
+ # devenv
devbox
- # inputs.devenv.packages.${pkgs.system}.default
+ inputs.devenv.packages.${pkgs.system}.default
+ bun
# scraping
python312Packages.yt-dlp
# markdown lsp
@@ -68,10 +71,14 @@
# aider-chat
# inputs.yek.packages.x86_64-linux.default
# python312Packages.google-generativeai
+ yek
claude-code
codex
nushell
# inputs.gemini-cli.packages.x86_64-linux.default
+ #
+ # ai
+ lmstudio
]
++ lib.optionals pkgs.stdenv.isLinux [
# linuxKernel.packages.linux_latest_libre.cpupower
diff --git a/hosts/unfree.nix b/hosts/unfree.nix
index 832e99a..30c4a62 100644
--- a/hosts/unfree.nix
+++ b/hosts/unfree.nix
@@ -42,5 +42,6 @@
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
};
- systemd.extraConfig = "DefaultlimitNOFILE=524288";
+ # systemd.extraConfig = "DefaultlimitNOFILE=524288";
+ systemd.settings.Manager = {DefaultlimitNOFILE = 524288;};
}