From 0983b8509b5595c8214f0df9264ccfb34af50ad7 Mon Sep 17 00:00:00 2001 From: polwex Date: Tue, 14 Oct 2025 06:35:29 +0700 Subject: m --- derivations/fw-ectool/default.nix | 45 + devenv.lock | 103 -- flake.lock | 1753 +++++++++++++++++++++++++++ flake.nix | 13 +- hosts/base.nix | 12 + hosts/local/fw11/configuration.nix | 12 +- hosts/local/fw11/hardware-configuration.bkp | 40 + hosts/local/fw11/hardware-configuration.nix | 19 +- hosts/local/fw11/keyboard.nix | 8 +- hosts/local/gui.nix | 5 +- hosts/local/thinkpad.kbd | 105 ++ hosts/local/wayland.nix | 4 +- hosts/pkgs.nix | 5 + hosts/unfree.nix | 2 +- result | 1 - 15 files changed, 1992 insertions(+), 135 deletions(-) create mode 100644 derivations/fw-ectool/default.nix delete mode 100644 devenv.lock create mode 100644 flake.lock create mode 100644 hosts/local/fw11/hardware-configuration.bkp create mode 100644 hosts/local/thinkpad.kbd delete mode 120000 result diff --git a/derivations/fw-ectool/default.nix b/derivations/fw-ectool/default.nix new file mode 100644 index 0000000..68aac91 --- /dev/null +++ b/derivations/fw-ectool/default.nix @@ -0,0 +1,45 @@ +{ + stdenv, + lib, + fetchFromGitHub, + cmake, + pkg-config, + libusb1, + libftdi1, +}: +stdenv.mkDerivation { + pname = "fw-ectool"; + version = "0-unstable-2024-04-23"; + + src = fetchFromGitHub { + owner = "polwex"; + repo = "ectool"; + rev = "abdd574ebe3640047988cb928bb6789a15dd1390"; + hash = "sha256-j0Z2Uo1LBXlHZVHPm4Xjx3LZaI6Qq0nSdViyC/CjWC8="; + }; + + nativeBuildInputs = [ + cmake + pkg-config + ]; + + buildInputs = [ + libusb1 + libftdi1 + ]; + + installPhase = '' + runHook preInstall + install -Dm555 src/ectool "$out/bin/ectool" + runHook postInstall + ''; + + meta = with lib; { + description = "EC-Tool adjusted for usage with framework embedded controller"; + homepage = "https://gitlab.howett.net/DHowett/ectool"; + license = licenses.bsd3; + maintainers = [maintainers.mkg20001]; + platforms = platforms.linux; + mainProgram = "ectool"; + }; +} diff --git a/devenv.lock b/devenv.lock deleted file mode 100644 index 0b61657..0000000 --- a/devenv.lock +++ /dev/null @@ -1,103 +0,0 @@ -{ - "nodes": { - "devenv": { - "locked": { - "dir": "src/modules", - "lastModified": 1743783972, - "owner": "cachix", - "repo": "devenv", - "rev": "2f53e2f867e0c2ba18b880e66169366e5f8ca554", - "type": "github" - }, - "original": { - "dir": "src/modules", - "owner": "cachix", - "repo": "devenv", - "type": "github" - } - }, - "flake-compat": { - "flake": false, - "locked": { - "lastModified": 1733328505, - "owner": "edolstra", - "repo": "flake-compat", - "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "git-hooks": { - "inputs": { - "flake-compat": "flake-compat", - "gitignore": "gitignore", - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1742649964, - "owner": "cachix", - "repo": "git-hooks.nix", - "rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "git-hooks.nix", - "type": "github" - } - }, - "gitignore": { - "inputs": { - "nixpkgs": [ - "git-hooks", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1709087332, - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, - "nixpkgs": { - "locked": { - "lastModified": 1733477122, - "owner": "cachix", - "repo": "devenv-nixpkgs", - "rev": "7bd9e84d0452f6d2e63b6e6da29fe73fac951857", - "type": "github" - }, - "original": { - "owner": "cachix", - "ref": "rolling", - "repo": "devenv-nixpkgs", - "type": "github" - } - }, - "root": { - "inputs": { - "devenv": "devenv", - "git-hooks": "git-hooks", - "nixpkgs": "nixpkgs", - "pre-commit-hooks": [ - "git-hooks" - ] - } - } - }, - "root": "root", - "version": 7 -} diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..5d5806d --- /dev/null +++ b/flake.lock @@ -0,0 +1,1753 @@ +{ + "nodes": { + "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": 1754269165, + "narHash": "sha256-0tcS8FHd4QjbCVoxN9jI+PjHgA4vc/IjkUSp+N3zy0U=", + "owner": "ipetkov", + "repo": "crane", + "rev": "444e81206df3f7d92780680e45858e31d2f07a08", + "type": "github" + }, + "original": { + "owner": "ipetkov", + "repo": "crane", + "type": "github" + } + }, + "devenv": { + "inputs": { + "cachix": "cachix", + "flake-compat": "flake-compat", + "flake-parts": "flake-parts", + "git-hooks": "git-hooks", + "nix": "nix", + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1760394278, + "narHash": "sha256-AibI6iJtlD+y532sLIitI1xZ5G6PEw+qsJ2o8vflma4=", + "owner": "cachix", + "repo": "devenv", + "rev": "d786b5f55ad14a7078057779e7bf016e38311e66", + "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" + }, + "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_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_3": { + "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_4": { + "inputs": { + "systems": "systems_3" + }, + "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_5": { + "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_6": { + "inputs": { + "systems": "systems_5" + }, + "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": 1753566056, + "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": 1760392170, + "narHash": "sha256-WftxJgr2MeDDFK47fQKywzC72L2jRc/PWcyGdjaDzkw=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "46d55f0aeb1d567a78223e69729734f3dca25a85", + "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" + }, + "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" + } + }, + "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" + ] + }, + "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", + "flake-compat": "flake-compat_3", + "flake-parts": "flake-parts_3", + "nixpkgs": "nixpkgs_5", + "pre-commit-hooks-nix": "pre-commit-hooks-nix", + "rust-overlay": "rust-overlay_2" + }, + "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_5", + "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_2", + "nixpkgs": "nixpkgs_6", + "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_7" + }, + "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_3", + "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_4", + "nixos-generators": "nixos-generators_2", + "nixpkgs": "nixpkgs_8", + "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_9" + }, + "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_11" + }, + "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": 1760284886, + "narHash": "sha256-TK9Kr0BYBQ/1P5kAsnNQhmWWKgmZXwUQr4ZMjCzWf2c=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "cf3f5c4def3c7b5f1fc012b3d839575dbe552d43", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_11": { + "locked": { + "lastModified": 1760038930, + "narHash": "sha256-Oncbh0UmHjSlxO7ErQDM3KM0A5/Znfofj2BSzlHLeVw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "0b4defa2584313f3b781240b29d61f6f9f7e0df3", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "type": "indirect" + } + }, + "nixpkgs_12": { + "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": 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_6": { + "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_7": { + "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_8": { + "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" + } + }, + "nixpkgs_9": { + "locked": { + "lastModified": 1759733170, + "narHash": "sha256-TXnlsVb5Z8HXZ6mZoeOAIwxmvGHp1g4Dw89eLvIwKVI=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "8913c168d1c56dc49a7718685968f38752171c3b", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nur": { + "inputs": { + "flake-parts": "flake-parts_5", + "nixpkgs": "nixpkgs_12" + }, + "locked": { + "lastModified": 1760395640, + "narHash": "sha256-LNTOhGQRViS0a5Uf9Ak7VEtg8PLx1P9UD7Ft4JlJAJc=", + "owner": "nix-community", + "repo": "NUR", + "rev": "5b3857ad47c7b4447120bb6d5d712e6101c908e3", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "NUR", + "type": "github" + } + }, + "openai-codex": { + "inputs": { + "flake-utils": "flake-utils_6", + "nixpkgs": [ + "nixpkgs" + ], + "rust-overlay": "rust-overlay_3" + }, + "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": { + "devenv": "devenv", + "disko": "disko", + "flake-parts": "flake-parts_2", + "flake-utils": "flake-utils", + "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_10", + "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": [ + "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_2": { + "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_3": { + "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" + } + }, + "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": 1741246078, + "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": 1747476774, + "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/flake.nix b/flake.nix index f0f8d37..85a7535 100644 --- a/flake.nix +++ b/flake.nix @@ -33,10 +33,10 @@ # inputs.nixpkgs.follows = "nixpkgs"; # inputs.flake-utils.follows = "flake-utils"; # }; - agenix = { - url = "github:yaxitech/ragenix"; - inputs.nixpkgs.follows = "nixpkgs"; - }; + # agenix = { + # url = "github:yaxitech/ragenix"; + # inputs.nixpkgs.follows = "nixpkgs"; + # }; nix-gaming.url = "github:fufexan/nix-gaming"; disko = { url = "github:nix-community/disko"; @@ -65,7 +65,10 @@ homix = { url = "github:homix-community/homix"; }; - kmonad.url = "github:kmonad/kmonad?dir=nix"; + kmonad = { + url = "github:kmonad/kmonad?dir=nix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; helix.url = "github:helix-editor/helix"; waybar = { url = "github:alexays/waybar"; diff --git a/hosts/base.nix b/hosts/base.nix index 91f90a5..43103c5 100644 --- a/hosts/base.nix +++ b/hosts/base.nix @@ -23,6 +23,18 @@ experimental-features = nix-command flakes ''; settings = { + substituters = [ + "https://cache-nixos.org" + "https://cuda-maintainers.cachix.org" + "https://nix-community.cachix.org" + "https://nix-gaming.cachix.org" + ]; + trusted-public-keys = [ + "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" + "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" + "cuda-maintainers.cachix.org-1:0dq3bujKpuEPMCX6U4WylrUDZ9JyUG0VpVZa7CNfq5E=" + "nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4=" + ]; keep-outputs = true; keep-derivations = true; trusted-users = ["root" "y"]; diff --git a/hosts/local/fw11/configuration.nix b/hosts/local/fw11/configuration.nix index 11c09d1..354e441 100644 --- a/hosts/local/fw11/configuration.nix +++ b/hosts/local/fw11/configuration.nix @@ -25,9 +25,10 @@ ../../base.nix ../../linux.nix # ../../syncthing.nix - # ../../unfree.nix - # ../wayland.nix - # ./keyboard.nix + ../../unfree.nix + ../wayland.nix + ../gui.nix + ./keyboard.nix # ../android.nix ]; @@ -52,13 +53,14 @@ boot.loader.efi.canTouchEfiVariables = true; # boot.supportedFilesystems = ["ntfs"]; # boot.kernelPackages = lib.mkForce unfreePkgs.linuxKernel.packages.linux_xanmod_latest; - # boot.kernelPackages = pkgs.linuxPackages_latest; - boot.kernelPackages = pkgs.linuxPackages_6_12; + boot.kernelPackages = pkgs.linuxPackages_latest; + # boot.kernelPackages = pkgs.linuxPackages_6_12; services.fprintd.enable = true; networking = { hostName = "fw-nixos"; # Define your hostname. firewall.enable = false; + nameservers = ["8.8.8.8" "8.8.4.4"]; }; nix.settings.trusted-users = ["root" "y"]; diff --git a/hosts/local/fw11/hardware-configuration.bkp b/hosts/local/fw11/hardware-configuration.bkp new file mode 100644 index 0000000..359ff8f --- /dev/null +++ b/hosts/local/fw11/hardware-configuration.bkp @@ -0,0 +1,40 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ "i915" "8821cu"]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ config.boot.kernelPackages.rtl8821cu ]; + # to modeswitch usb dongle sudo usb_modeswitch -KW -v 0bda -p 1a2b + + fileSystems."/" = + { device = "/dev/disk/by-uuid/176785ba-cd35-4d09-b7df-37e8b9843c33"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/043D-21E3"; + fsType = "vfat"; + options = ["fmask=0077" "dmask=0077"]; + }; + + swapDevices = + [ + ]; + + # The global useDHCP flag is deprecated, therefore explicitly set to false here. + # Per-interface useDHCP will be mandatory in the future, so this generated config + # replicates the default behaviour. + networking.useDHCP = lib.mkDefault false; + networking.interfaces.wlp170s0.useDHCP = lib.mkDefault true; + + powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/hosts/local/fw11/hardware-configuration.nix b/hosts/local/fw11/hardware-configuration.nix index 359ff8f..049c395 100644 --- a/hosts/local/fw11/hardware-configuration.nix +++ b/hosts/local/fw11/hardware-configuration.nix @@ -8,11 +8,10 @@ [ (modulesPath + "/installer/scan/not-detected.nix") ]; - boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ]; - boot.initrd.kernelModules = [ "i915" "8821cu"]; + boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usbhid" ]; + boot.initrd.kernelModules = [ ]; boot.kernelModules = [ "kvm-intel" ]; - boot.extraModulePackages = [ config.boot.kernelPackages.rtl8821cu ]; - # to modeswitch usb dongle sudo usb_modeswitch -KW -v 0bda -p 1a2b + boot.extraModulePackages = [ ]; fileSystems."/" = { device = "/dev/disk/by-uuid/176785ba-cd35-4d09-b7df-37e8b9843c33"; @@ -22,19 +21,13 @@ fileSystems."/boot" = { device = "/dev/disk/by-uuid/043D-21E3"; fsType = "vfat"; - options = ["fmask=0077" "dmask=0077"]; + options = [ "fmask=0077" "dmask=0077" ]; }; swapDevices = - [ + [ { device = "/dev/disk/by-uuid/643ac019-fac1-4dad-84d9-e50380baff2b"; } ]; - # The global useDHCP flag is deprecated, therefore explicitly set to false here. - # Per-interface useDHCP will be mandatory in the future, so this generated config - # replicates the default behaviour. - networking.useDHCP = lib.mkDefault false; - networking.interfaces.wlp170s0.useDHCP = lib.mkDefault true; - - powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; } diff --git a/hosts/local/fw11/keyboard.nix b/hosts/local/fw11/keyboard.nix index ce875dd..f078258 100644 --- a/hosts/local/fw11/keyboard.nix +++ b/hosts/local/fw11/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 = { @@ -36,7 +36,7 @@ usbThinkpad = { # device = "/dev/input/by-id/usb-Lenovo_ThinkPad_Compact_USB_Keyboard_with_TrackPoint-event-kbd"; device = "/dev/input/by-id/usb-Lenovo_TrackPoint_Keyboard_II-event-kbd"; - config = builtins.readFile ./thinkpad.kbd; + config = builtins.readFile ../thinkpad.kbd; }; }; }; diff --git a/hosts/local/gui.nix b/hosts/local/gui.nix index 1bfea32..548b3ea 100644 --- a/hosts/local/gui.nix +++ b/hosts/local/gui.nix @@ -40,7 +40,7 @@ # easyeffects # audio, cool stuff # games! - ryujinx + # ryujinx wineWowPackages.staging dosbox siyuan @@ -50,5 +50,8 @@ # chat signal-desktop telegram-desktop + # llms + lmstudio + cherry-studio ]; } diff --git a/hosts/local/thinkpad.kbd b/hosts/local/thinkpad.kbd new file mode 100644 index 0000000..82de2e2 --- /dev/null +++ b/hosts/local/thinkpad.kbd @@ -0,0 +1,105 @@ +;; one liner comments ';;' +#| Multiline + comments |# + +(defcfg ;; For linux & by-id lists pluggable devices +;; If a key is not bound/left_empty(_) then it will fall back to the previous +;; layer's binding if not then default. +fallthrough true +;; To run system commands. You MIGHT face issues with tiling window managers due to command helpers. +;; allow-cmd true +;; use 'ls /dev/input/by-id/' for detachable keyboards and +;; 'ls /dev/input/by-path/' for builtin keyboards location' +input (device-file "/dev/input/by-id/usb-Lenovo_ThinkPad_Compact_USB_Keyboard_with_TrackPoint-event-kbd") +;; Not sure what this does. Please check the docs. +output (uinput-sink "My KMonad output") +) + +;; This is the real representation of your actual keyboard. We haven't started +;; customizing layouts yet. +(defsrc + esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 home end ins del + ` 1 2 3 4 5 6 7 8 9 0 - = bspc + tab q w e r t y u i o p [ ] \ + caps a s d f g h j k l ; ' ret + lsft z x c v b n m , . / rsft + lctl lmet lalt spc ralt rctl pgup up pgdn + left down right +) +;; Aliases + +(defalias +;; Layer toggles +sym (layer-toggle syms) +sym2 (layer-toggle syms2) +cords (sticky-key 1000 (layer-toggle mods)) +;; +hrt (layer-switch homerowmods) +back (layer-switch qwerty) + +;; Homerow keys +a (tap-hold-next-release 280 a lctl) +s (tap-hold-next-release 280 s lalt) +d (tap-hold-next-release 280 d lmet) +f (tap-hold-next-release 280 f lsft) +;; +j (tap-hold-next-release 280 j rsft) +k (tap-hold-next-release 280 k lmet) +l (tap-hold-next-release 280 l lalt) +semi (tap-hold-next-release 280 ; rctl) + +;; button to launch brave browser +;; veeb (cmd-button "brave") +;; ssf (sticky-key 500 (layer-toggle rshift)) +;; rsf (layer-toggle rshift) +) + +;; The first custom layer is the one that gets activated when kmonad is started +(deflayer qwerty ;; The default layer that'd be read when you launch kmonad + esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 home end ins del + ` 1 2 3 4 5 6 7 8 9 0 - = bspc + tab q w e r t y u i o p [ ] \ + esc a s d f g h j k l ; ' ret + lsft z x c v b n m , . / rsft + lctl lmet @sym spc @cords @hrt left up right + left down right +) +(deflayer homerowmods + esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 home end ins del + ` 1 2 3 4 5 6 7 8 9 0 - = bspc + tab q w e r t y u i o p [ ] \ + esc @a @s @d @f g h @j @k @l @semi ' ret + lsft z x c v b n m , . / rsft + lctl lmet @sym spc lalt @back left up right + left down right +) +(deflayer mods + esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 pgup pgdn ins del + ` 1 2 3 4 5 6 7 8 9 0 - = bspc + tab q w e r t y u i o p [ ] h + esc lctl lalt lmet lsft g h rsft rmet ralt rctl ' ret + lsft z x c v b n m , . / rsft + lctl lmet @sym spc lalt @back left up right + left down right +) + +;; A layer dedicated to symbols +(deflayer syms + esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 pgup pgdn ins del + _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ up _ _ ! @ # $ % _ _ _ + _ _ left down right @sym2 ' ^ & - = _ ret + _ _ _ _ _ _ \( [ { < \ _ _ + _ _ _ _ _ _ _ _ _ _ _ +) + + +;; More symbols +(deflayer syms2 + esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 pgup pgdn ins del + _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ ` ~ * \_ + _ ret + _ _ _ _ _ _ \) ] } > | _ _ + _ _ _ _ _ _ _ _ _ _ _ +) diff --git a/hosts/local/wayland.nix b/hosts/local/wayland.nix index c33bf23..e881fec 100644 --- a/hosts/local/wayland.nix +++ b/hosts/local/wayland.nix @@ -11,7 +11,7 @@ enable = true; enable32Bit = true; extraPackages = [ - pkgs.mesa.drivers + pkgs.mesa pkgs.vaapiVdpau pkgs.libvdpau-va-gl ]; @@ -43,7 +43,7 @@ playerctl blueman wdisplays - inputs.nixpkgs-wayland.packages.x86_64-linux.waybar + inputs.waybar.packages.x86_64-linux.default glxinfo vulkan-tools glmark2 diff --git a/hosts/pkgs.nix b/hosts/pkgs.nix index bf940f6..06a7f38 100644 --- a/hosts/pkgs.nix +++ b/hosts/pkgs.nix @@ -7,6 +7,7 @@ environment.systemPackages = with pkgs; [ # networking + lynx minio minio-client curlFull @@ -68,9 +69,12 @@ # aider-chat # inputs.yek.packages.x86_64-linux.default # python312Packages.google-generativeai + bun claude-code codex nushell + ast-grep + diffsitter # inputs.gemini-cli.packages.x86_64-linux.default ] ++ lib.optionals pkgs.stdenv.isLinux [ @@ -106,4 +110,5 @@ gnumake bun ]; + # ++ (with pkgs; [devenv]); } diff --git a/hosts/unfree.nix b/hosts/unfree.nix index 832e99a..5a140a4 100644 --- a/hosts/unfree.nix +++ b/hosts/unfree.nix @@ -42,5 +42,5 @@ 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"; } diff --git a/result b/result deleted file mode 120000 index 7d154f4..0000000 --- a/result +++ /dev/null @@ -1 +0,0 @@ -/nix/store/8drkdhll600qa5ky3j98fchc97h9mj2h-nixos-system-spanmail-25.11.20250725.7fd36ee \ No newline at end of file -- cgit v1.2.3 From f11a2b69c2fb5ef6111af107deba37114f7ab2ff Mon Sep 17 00:00:00 2001 From: polwex Date: Wed, 22 Oct 2025 13:59:25 +0700 Subject: niri on fw --- flake.lock | 36 +++--- hosts/base.nix | 2 +- hosts/local/fw11/configuration.nix | 2 +- hosts/local/fw11/thinkpad.kbd | 101 ----------------- hosts/local/gui.nix | 1 + hosts/local/niri.nix | 224 +++++++++++++++++++++++++++++++++++++ hosts/local/sway.nix | 197 ++++++++++++++++++++++++++++++++ hosts/local/thinkpad.kbd | 15 +-- hosts/local/wayland.nix | 197 -------------------------------- 9 files changed, 450 insertions(+), 325 deletions(-) delete mode 100644 hosts/local/fw11/thinkpad.kbd create mode 100644 hosts/local/niri.nix create mode 100644 hosts/local/sway.nix delete mode 100644 hosts/local/wayland.nix diff --git a/flake.lock b/flake.lock index 5d5806d..4bafbf7 100644 --- a/flake.lock +++ b/flake.lock @@ -625,11 +625,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1760362368, - "narHash": "sha256-xjcfVPlTeHjE/H9244CmpEibGLfu7leHnQbfFZ/ctBg=", + "lastModified": 1760446779, + "narHash": "sha256-UzJHuqTgfwtnh34zbGq6NUe5i8wv3wg6B9njykBAddc=", "owner": "helix-editor", "repo": "helix", - "rev": "50e4385aefdd1cea80a3a50af62d5eefcb42b4e8", + "rev": "6e07bcc04dd5a0bb5ae04677823a5b3821f622c5", "type": "github" }, "original": { @@ -821,11 +821,11 @@ "nixpkgs": "nixpkgs_7" }, "locked": { - "lastModified": 1760234031, - "narHash": "sha256-++3Sl4X0kEz/+7P0nOer6FUH0EX0AzuPL9FgNloM2Xk=", + "lastModified": 1760406533, + "narHash": "sha256-ViYpiGv0w+TXpBCFXPXWlEP3dVNHeGgvpsKDbQMY6UE=", "owner": "fufexan", "repo": "nix-gaming", - "rev": "019169d0c5e13ffc5d2024ab75f46d5980d5f6bc", + "rev": "f8f51dd445f7b0dbb3429a3e31994bb0f2908010", "type": "github" }, "original": { @@ -995,11 +995,11 @@ "nixpkgs": "nixpkgs_9" }, "locked": { - "lastModified": 1759833546, - "narHash": "sha256-rOfkgIiiZNPUbf61OqEym60wXEODeDG8XH+gV/SUoUc=", + "lastModified": 1760441980, + "narHash": "sha256-HLO1uUa1DJWT6bXD+RigrSthZmxY6JHlbn+zhMizzBo=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "7c0c0f4c3a51761434f18209fa9499b8579ff730", + "rev": "3534ac7ff39683da15dbf3adb2a950841a6d58d4", "type": "github" }, "original": { @@ -1162,11 +1162,11 @@ ] }, "locked": { - "lastModified": 1760380812, - "narHash": "sha256-Q375ZDPLy3LZzVNsf3bBz+jREJJPyMPmEDLnmHDV5Qw=", + "lastModified": 1760407932, + "narHash": "sha256-zmsb21trMZ2N1OQoVa9h0PVjSRbYME3CkfV7vRF34vE=", "owner": "nix-community", "repo": "nixpkgs-wayland", - "rev": "b67e8471846592f91c0580096d462c7aaff56b1c", + "rev": "ed8e74536c2d3f460a3590925b0e1c65754a9c40", "type": "github" }, "original": { @@ -1355,11 +1355,11 @@ "nixpkgs": "nixpkgs_12" }, "locked": { - "lastModified": 1760395640, - "narHash": "sha256-LNTOhGQRViS0a5Uf9Ak7VEtg8PLx1P9UD7Ft4JlJAJc=", + "lastModified": 1760443374, + "narHash": "sha256-zrCb/Ck+8Li9fhNbAr8eP2+X3qUwqnmSuoacD+x4Msc=", "owner": "nix-community", "repo": "NUR", - "rev": "5b3857ad47c7b4447120bb6d5d712e6101c908e3", + "rev": "c41298dba5d86cca70bf285662760e186c59b70f", "type": "github" }, "original": { @@ -1377,11 +1377,11 @@ "rust-overlay": "rust-overlay_3" }, "locked": { - "lastModified": 1760142221, - "narHash": "sha256-BspG0ZC3mLg1s6pxFjVFf9CPgcXM46jir0uAuvbiQs4=", + "lastModified": 1760431640, + "narHash": "sha256-Cb/DKkZaQ6IJ2huaXqSK4XNpv85sEIUr+oYvCqn7g/w=", "owner": "openai", "repo": "codex", - "rev": "26f7c46856060f440615645bdf2faf9e62c74e72", + "rev": "5346cc422dd053717c6f22ab20ffbd0aa5c6594b", "type": "github" }, "original": { diff --git a/hosts/base.nix b/hosts/base.nix index 43103c5..31bed5a 100644 --- a/hosts/base.nix +++ b/hosts/base.nix @@ -24,7 +24,7 @@ ''; settings = { substituters = [ - "https://cache-nixos.org" + "https://cache.nixos.org" "https://cuda-maintainers.cachix.org" "https://nix-community.cachix.org" "https://nix-gaming.cachix.org" diff --git a/hosts/local/fw11/configuration.nix b/hosts/local/fw11/configuration.nix index 354e441..71eef5d 100644 --- a/hosts/local/fw11/configuration.nix +++ b/hosts/local/fw11/configuration.nix @@ -26,7 +26,7 @@ ../../linux.nix # ../../syncthing.nix ../../unfree.nix - ../wayland.nix + ../niri.nix ../gui.nix ./keyboard.nix # ../android.nix diff --git a/hosts/local/fw11/thinkpad.kbd b/hosts/local/fw11/thinkpad.kbd deleted file mode 100644 index 7fb53d2..0000000 --- a/hosts/local/fw11/thinkpad.kbd +++ /dev/null @@ -1,101 +0,0 @@ -;; one liner comments ';;' -#| Multiline - comments |# - -(defcfg ;; For linux & by-id lists pluggable devices -;; If a key is not bound/left_empty(_) then it will fall back to the previous -;; layer's binding if not then default. -fallthrough true -;; To run system commands. You MIGHT face issues with tiling window managers due to command helpers. -;; allow-cmd true -;; use 'ls /dev/input/by-id/' for detachable keyboards and -;; 'ls /dev/input/by-path/' for builtin keyboards location' -input (device-file "/dev/input/by-id/usb-Lenovo_ThinkPad_Compact_USB_Keyboard_with_TrackPoint-event-kbd") -;; Not sure what this does. Please check the docs. -output (uinput-sink "My KMonad output") -) - -;; This is the real representation of your actual keyboard. We haven't started -;; customizing layouts yet. -(defsrc - esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 del - ` 1 2 3 4 5 6 7 8 9 0 - = bspc - tab q w e r t y u i o p [ ] \ - caps a s d f g h j k l ; ' ret - lsft z x c v b n m , . / rsft up - lctl lmet lalt spc ralt rctl left down right -) -;; Aliases - -(defalias -;; Layer toggles -sym (layer-toggle syms) -sym2 (layer-toggle syms2) -cords (sticky-key 1000 (layer-toggle mods)) -;; -hrt (layer-switch homerowmods) -back (layer-switch qwerty) - -;; Homerow keys -a (tap-hold-next-release 280 a lctl) -s (tap-hold-next-release 280 s lalt) -d (tap-hold-next-release 280 d lmet) -f (tap-hold-next-release 280 f lsft) -;; -j (tap-hold-next-release 280 j rsft) -k (tap-hold-next-release 280 k lmet) -l (tap-hold-next-release 280 l lalt) -semi (tap-hold-next-release 280 ; rctl) - -;; button to launch brave browser -;; veeb (cmd-button "brave") -;; ssf (sticky-key 500 (layer-toggle rshift)) -;; rsf (layer-toggle rshift) -) - -;; The first custom layer is the one that gets activated when kmonad is started -(deflayer qwerty ;; The default layer that'd be read when you launch kmonad - esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 del - ` 1 2 3 4 5 6 7 8 9 0 - = bspc - tab q w e r t y u i o p [ ] \ - esc a s d f g h j k l ; ' ret - @sym z x c v b n m , . / rsft up - lctl lmet @sym spc @cords @hrt left down right -) -(deflayer homerowmods - esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 del - ` 1 2 3 4 5 6 7 8 9 0 - = bspc - tab q w e r t y u i o p [ ] \ - esc @a @s @d @f g h @j @k @l @semi ' ret - @sym z x c v b n m , . / rsft up - lctl lmet @sym spc lalt @back left down right -) -(deflayer mods - esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 del - ` 1 2 3 4 5 6 7 8 9 0 - = bspc - tab q w e r t y u i o p [ ] h - esc lctl lalt lmet lsft g h rsft rmet ralt rctl ' ret - @sym z x c v b n m , . / rsft up - lctl lmet @sym spc lalt @back left down right -) - -;; A layer dedicated to symbols -(deflayer syms - _ _ _ _ _ _ _ _ _ _ _ _ _ _ - _ _ _ _ _ _ _ _ _ _ _ _ _ _ - _ _ _ up _ _ ! @ # $ % _ _ _ - _ _ left down right @sym2 ' ^ & - = _ ret - _ _ _ _ _ _ \( [ { < \ _ _ - _ _ _ _ _ _ _ _ _ -) - - -;; More symbols -(deflayer syms2 - _ _ _ _ _ _ _ _ _ _ _ _ _ _ - _ _ _ _ _ _ _ _ _ _ _ _ _ _ - _ _ _ _ _ _ _ _ _ _ _ _ _ _ - _ _ _ _ _ _ ` ~ * \_ + _ ret - _ _ _ _ _ _ \) ] } > | _ _ - _ _ _ _ _ _ _ _ _ -) diff --git a/hosts/local/gui.nix b/hosts/local/gui.nix index 548b3ea..81f97b1 100644 --- a/hosts/local/gui.nix +++ b/hosts/local/gui.nix @@ -4,6 +4,7 @@ ... }: { environment.systemPackages = with pkgs; [ + pavucontrol #terminals kitty alacritty diff --git a/hosts/local/niri.nix b/hosts/local/niri.nix new file mode 100644 index 0000000..7db141e --- /dev/null +++ b/hosts/local/niri.nix @@ -0,0 +1,224 @@ +{ + inputs, + pkgs, + ... +}: { + nixpkgs.config.packageOVerrides = pkgs: { + intel-vaapi-driver = pkgs.intel-vaapi-driver.override {enableHybridCodec = true;}; + vaapiIntel = pkgs.vaapiIntel.override {enableHybridCodec = true;}; + }; + hardware.graphics = { + enable = true; + enable32Bit = true; + extraPackages = [ + pkgs.mesa + pkgs.vaapiVdpau + pkgs.libvdpau-va-gl + ]; + }; + programs.niri = { + enable = true; + }; + + environment.variables = { + WLR_NO_HARDWARE_CURSOR = "1"; + }; + environment.sessionVariables = { + WLR_NO_HARDWARE_CURSOR = "1"; + NIXOS_OZONE_WL = "1"; + SDL_VIDEODRIVER = "wayland"; + QT_QPA_PLATFORM = "wayland"; + QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; + _JAVA_AWT_WM_NONREPARENTING = "1"; + MOZ_ENABLE_WAYLAND = "1"; + + # GTK_IM_MODULE = "fcitx"; + # QT_IM_MODULE = "fcitx"; + # SDL_IM_MODULE = "fcitx"; + + XDG_CURRENT_DESKTOP = "sway"; + GDK_BACKEND = "wayland"; + XDG_SESSION_TYPE = "wayland"; + XMODIFIERS = "@im=fcitx"; + }; + + xdg.portal = { + enable = true; + extraPortals = with pkgs; [ + # xdg-desktop-portal-hyprland + # xdg-desktop-portal-cosmic + xdg-desktop-portal-gtk + xdg-desktop-portal-gnome + ]; + config = { + common = { + default = [ + "gnome" + "gtk" + ]; + "org.freedesktop.impl.portal.Access" = ["gtk"]; + "org.freedesktop.impl.portal.Notification" = ["gtk"]; + "org.freedesktop.impl.portal.Secret" = ["gnome-keyring"]; + "org.freedesktop.impl.portal.FileChooser" = ["gtk"]; + }; + }; + }; + environment.systemPackages = with pkgs; [ + quickshell + cosmic-panel + fuzzel + # + cliphist + hypridle + hyprlock + networkmanagerapplet + playerctl + qalculate-gtk + swaynotificationcenter + swayosd + syncthingtray + wl-clipboard + wl-clip-persist + wl-color-picker + wofi-power-menu + + # xdg-utils + # xdg-desktop-portal + # xdg-desktop-portal-wlr + # xdg-desktop-portal-gtk + # # calibre + # # nyxt + # wofi + # imv + # swaylock + # brightnessctl + # swayidle + # foot + # mako + # kanshi + # grim + # slurp + # wl-clipboard + # wf-recorder + # viewnior + # playerctl + # blueman + # wdisplays + # inputs.waybar.packages.x86_64-linux.default + # glxinfo + # vulkan-tools + # glmark2 + # intel-media-driver + # intel-vaapi-driver + # pavucontrol + # # icons + # polkit_gnome + # gnome-themes-extra + # gtk-engine-murrine + # gtk_engines + # gsettings-desktop-schemas + # lxappearance + # adwaita-qt + # adwaita-icon-theme + # libcamera # pipewire seems to want this + # easyeffects + # tigervnc + # foliate + # # code + # kdePackages.kompare + # meld + # # tmp + # # browser TTS + # # speechd + # # espeak-ng + # # espeak-ng-data + # wineWowPackages.waylandFull + # libcamera # pipewire seems to want this + # tracy # cool system watcher + ]; + services.speechd.enable = true; + + # cjk input + + i18n.inputMethod = { + type = "fcitx5"; + enable = true; + fcitx5 = { + # enabled = true; + addons = with pkgs; [ + rime-data + fcitx5-rime + fcitx5-mozc + fcitx5-configtool + fcitx5-chinese-addons + fcitx5-gtk + ]; + waylandFrontend = true; + }; + }; + services.xserver.desktopManager.runXdgAutostartIfNone = true; + + fonts = { + enableDefaultPackages = true; + fontconfig = { + defaultFonts.emoji = ["Noto Color Emoji"]; + defaultFonts.monospace = ["Hack" "Sarasa Mono SC"]; + defaultFonts.sansSerif = ["DejaVu Sans"]; + defaultFonts.serif = ["DejaVu Serif" "Source Han Serif SC"]; + }; + packages = with pkgs; + [ + fira-code + fira + cooper-hewitt + ibm-plex + jetbrains-mono + iosevka + spleen + fira-code-symbols + powerline-fonts + arphic-ukai + arphic-uming + dejavu_fonts + font-awesome + inconsolata # monospaced + noto-fonts + noto-fonts-cjk-sans + noto-fonts-emoji + noto-fonts-extra + powerline-fonts + source-han-sans-japanese + source-han-sans-korean + source-han-sans-simplified-chinese + source-han-sans-traditional-chinese + source-sans-pro + ubuntu_font_family + wqy_microhei + wqy_zenhei + ] + ++ builtins.filter lib.attrsets.isDerivation (builtins.attrValues pkgs.nerd-fonts); + }; + + # screen capture + # + + services.dbus.enable = true; + ## Remove sound.enable or set it to false if you had it set previously, as sound.enable is only meant for ALSA-based configurations + + # rtkit is optional but recommended + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + wireplumber.enable = true; + # If you want to use JACK applications, uncomment this + jack.enable = true; + }; + + # pipewire requires these off + # sound.enable = true; + # hardware.pulseaudio.enable = true; + # hardware.bluetooth.enable = true; +} diff --git a/hosts/local/sway.nix b/hosts/local/sway.nix new file mode 100644 index 0000000..e881fec --- /dev/null +++ b/hosts/local/sway.nix @@ -0,0 +1,197 @@ +{ + inputs, + pkgs, + ... +}: { + nixpkgs.config.packageOVerrides = pkgs: { + intel-vaapi-driver = pkgs.intel-vaapi-driver.override {enableHybridCodec = true;}; + vaapiIntel = pkgs.vaapiIntel.override {enableHybridCodec = true;}; + }; + hardware.graphics = { + enable = true; + enable32Bit = true; + extraPackages = [ + pkgs.mesa + pkgs.vaapiVdpau + pkgs.libvdpau-va-gl + ]; + }; + programs.sway = { + enable = true; + wrapperFeatures.gtk = true; + # extraOptions = ["unsupported-gpu" "--verbose" "--debug"]; + extraPackages = with pkgs; [ + xdg-utils + xdg-desktop-portal + xdg-desktop-portal-wlr + xdg-desktop-portal-gtk + # calibre + # nyxt + wofi + imv + swaylock + brightnessctl + swayidle + foot + mako + kanshi + grim + slurp + wl-clipboard + wf-recorder + viewnior + playerctl + blueman + wdisplays + inputs.waybar.packages.x86_64-linux.default + glxinfo + vulkan-tools + glmark2 + ]; + extraSessionCommands = '' + ''; + }; + # environment.loginShellInit = '' + # if [ -z $DISPLAY ] && [ "$(tty)" = "/dev/tty1" ]; then + # exec swayc + # fi + #''; + environment.variables = { + WLR_NO_HARDWARE_CURSOR = "1"; + }; + environment.sessionVariables = { + WLR_NO_HARDWARE_CURSOR = "1"; + NIXOS_OZONE_WL = "1"; + SDL_VIDEODRIVER = "wayland"; + QT_QPA_PLATFORM = "wayland"; + QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; + _JAVA_AWT_WM_NONREPARENTING = "1"; + MOZ_ENABLE_WAYLAND = "1"; + + # GTK_IM_MODULE = "fcitx"; + # QT_IM_MODULE = "fcitx"; + # SDL_IM_MODULE = "fcitx"; + + XDG_CURRENT_DESKTOP = "sway"; + GDK_BACKEND = "wayland"; + XDG_SESSION_TYPE = "wayland"; + XMODIFIERS = "@im=fcitx"; + }; + + environment.systemPackages = with pkgs; [ + intel-media-driver + intel-vaapi-driver + pavucontrol + # icons + polkit_gnome + gnome-themes-extra + gtk-engine-murrine + gtk_engines + gsettings-desktop-schemas + lxappearance + adwaita-qt + adwaita-icon-theme + libcamera # pipewire seems to want this + easyeffects + tigervnc + foliate + # code + kdePackages.kompare + meld + # tmp + # browser TTS + # speechd + # espeak-ng + # espeak-ng-data + wineWowPackages.waylandFull + libcamera # pipewire seems to want this + tracy # cool system watcher + ]; + services.speechd.enable = true; + + # cjk input + + i18n.inputMethod = { + type = "fcitx5"; + enable = true; + fcitx5 = { + # enabled = true; + addons = with pkgs; [ + rime-data + fcitx5-rime + fcitx5-mozc + fcitx5-configtool + fcitx5-chinese-addons + fcitx5-gtk + ]; + waylandFrontend = true; + }; + }; + services.xserver.desktopManager.runXdgAutostartIfNone = true; + + fonts = { + enableDefaultPackages = true; + fontconfig = { + defaultFonts.emoji = ["Noto Color Emoji"]; + defaultFonts.monospace = ["Hack" "Sarasa Mono SC"]; + defaultFonts.sansSerif = ["DejaVu Sans"]; + defaultFonts.serif = ["DejaVu Serif" "Source Han Serif SC"]; + }; + packages = with pkgs; + [ + fira-code + fira + cooper-hewitt + ibm-plex + jetbrains-mono + iosevka + spleen + fira-code-symbols + powerline-fonts + arphic-ukai + arphic-uming + dejavu_fonts + font-awesome + inconsolata # monospaced + noto-fonts + noto-fonts-cjk-sans + noto-fonts-emoji + noto-fonts-extra + powerline-fonts + source-han-sans-japanese + source-han-sans-korean + source-han-sans-simplified-chinese + source-han-sans-traditional-chinese + source-sans-pro + ubuntu_font_family + wqy_microhei + wqy_zenhei + ] + ++ builtins.filter lib.attrsets.isDerivation (builtins.attrValues pkgs.nerd-fonts); + }; + + # screen capture + # + + xdg.portal.enable = true; + xdg.portal.wlr.enable = true; + services.dbus.enable = true; + ## Remove sound.enable or set it to false if you had it set previously, as sound.enable is only meant for ALSA-based configurations + + # rtkit is optional but recommended + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + wireplumber.enable = true; + # If you want to use JACK applications, uncomment this + jack.enable = true; + }; + + # pipewire requires these off + # sound.enable = true; + # hardware.pulseaudio.enable = true; + # hardware.bluetooth.enable = true; +} diff --git a/hosts/local/thinkpad.kbd b/hosts/local/thinkpad.kbd index 82de2e2..e7bb184 100644 --- a/hosts/local/thinkpad.kbd +++ b/hosts/local/thinkpad.kbd @@ -61,7 +61,7 @@ semi (tap-hold-next-release 280 ; rctl) tab q w e r t y u i o p [ ] \ esc a s d f g h j k l ; ' ret lsft z x c v b n m , . / rsft - lctl lmet @sym spc @cords @hrt left up right + lctl lmet @sym spc @cords @hrt pgup up pgdn left down right ) (deflayer homerowmods @@ -70,7 +70,7 @@ semi (tap-hold-next-release 280 ; rctl) tab q w e r t y u i o p [ ] \ esc @a @s @d @f g h @j @k @l @semi ' ret lsft z x c v b n m , . / rsft - lctl lmet @sym spc lalt @back left up right + lctl lmet @sym spc lalt @back pgup up pgdn left down right ) (deflayer mods @@ -79,18 +79,19 @@ semi (tap-hold-next-release 280 ; rctl) tab q w e r t y u i o p [ ] h esc lctl lalt lmet lsft g h rsft rmet ralt rctl ' ret lsft z x c v b n m , . / rsft - lctl lmet @sym spc lalt @back left up right + lctl lmet @sym spc lalt @back pgup up pgdn left down right -) +) ;; A layer dedicated to symbols (deflayer syms esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 pgup pgdn ins del _ _ _ _ _ _ _ _ _ _ _ _ _ _ - _ _ _ up _ _ ! @ # $ % _ _ _ - _ _ left down right @sym2 ' ^ & - = _ ret + _ _ _ up _ _ ! @ # $ % pgup _ _ + _ _ left down right @sym2 ' ^ & - = pgdn ret _ _ _ _ _ _ \( [ { < \ _ _ - _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ pgup pgup pgdn + l pgdn l ) diff --git a/hosts/local/wayland.nix b/hosts/local/wayland.nix deleted file mode 100644 index e881fec..0000000 --- a/hosts/local/wayland.nix +++ /dev/null @@ -1,197 +0,0 @@ -{ - inputs, - pkgs, - ... -}: { - nixpkgs.config.packageOVerrides = pkgs: { - intel-vaapi-driver = pkgs.intel-vaapi-driver.override {enableHybridCodec = true;}; - vaapiIntel = pkgs.vaapiIntel.override {enableHybridCodec = true;}; - }; - hardware.graphics = { - enable = true; - enable32Bit = true; - extraPackages = [ - pkgs.mesa - pkgs.vaapiVdpau - pkgs.libvdpau-va-gl - ]; - }; - programs.sway = { - enable = true; - wrapperFeatures.gtk = true; - # extraOptions = ["unsupported-gpu" "--verbose" "--debug"]; - extraPackages = with pkgs; [ - xdg-utils - xdg-desktop-portal - xdg-desktop-portal-wlr - xdg-desktop-portal-gtk - # calibre - # nyxt - wofi - imv - swaylock - brightnessctl - swayidle - foot - mako - kanshi - grim - slurp - wl-clipboard - wf-recorder - viewnior - playerctl - blueman - wdisplays - inputs.waybar.packages.x86_64-linux.default - glxinfo - vulkan-tools - glmark2 - ]; - extraSessionCommands = '' - ''; - }; - # environment.loginShellInit = '' - # if [ -z $DISPLAY ] && [ "$(tty)" = "/dev/tty1" ]; then - # exec swayc - # fi - #''; - environment.variables = { - WLR_NO_HARDWARE_CURSOR = "1"; - }; - environment.sessionVariables = { - WLR_NO_HARDWARE_CURSOR = "1"; - NIXOS_OZONE_WL = "1"; - SDL_VIDEODRIVER = "wayland"; - QT_QPA_PLATFORM = "wayland"; - QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; - _JAVA_AWT_WM_NONREPARENTING = "1"; - MOZ_ENABLE_WAYLAND = "1"; - - # GTK_IM_MODULE = "fcitx"; - # QT_IM_MODULE = "fcitx"; - # SDL_IM_MODULE = "fcitx"; - - XDG_CURRENT_DESKTOP = "sway"; - GDK_BACKEND = "wayland"; - XDG_SESSION_TYPE = "wayland"; - XMODIFIERS = "@im=fcitx"; - }; - - environment.systemPackages = with pkgs; [ - intel-media-driver - intel-vaapi-driver - pavucontrol - # icons - polkit_gnome - gnome-themes-extra - gtk-engine-murrine - gtk_engines - gsettings-desktop-schemas - lxappearance - adwaita-qt - adwaita-icon-theme - libcamera # pipewire seems to want this - easyeffects - tigervnc - foliate - # code - kdePackages.kompare - meld - # tmp - # browser TTS - # speechd - # espeak-ng - # espeak-ng-data - wineWowPackages.waylandFull - libcamera # pipewire seems to want this - tracy # cool system watcher - ]; - services.speechd.enable = true; - - # cjk input - - i18n.inputMethod = { - type = "fcitx5"; - enable = true; - fcitx5 = { - # enabled = true; - addons = with pkgs; [ - rime-data - fcitx5-rime - fcitx5-mozc - fcitx5-configtool - fcitx5-chinese-addons - fcitx5-gtk - ]; - waylandFrontend = true; - }; - }; - services.xserver.desktopManager.runXdgAutostartIfNone = true; - - fonts = { - enableDefaultPackages = true; - fontconfig = { - defaultFonts.emoji = ["Noto Color Emoji"]; - defaultFonts.monospace = ["Hack" "Sarasa Mono SC"]; - defaultFonts.sansSerif = ["DejaVu Sans"]; - defaultFonts.serif = ["DejaVu Serif" "Source Han Serif SC"]; - }; - packages = with pkgs; - [ - fira-code - fira - cooper-hewitt - ibm-plex - jetbrains-mono - iosevka - spleen - fira-code-symbols - powerline-fonts - arphic-ukai - arphic-uming - dejavu_fonts - font-awesome - inconsolata # monospaced - noto-fonts - noto-fonts-cjk-sans - noto-fonts-emoji - noto-fonts-extra - powerline-fonts - source-han-sans-japanese - source-han-sans-korean - source-han-sans-simplified-chinese - source-han-sans-traditional-chinese - source-sans-pro - ubuntu_font_family - wqy_microhei - wqy_zenhei - ] - ++ builtins.filter lib.attrsets.isDerivation (builtins.attrValues pkgs.nerd-fonts); - }; - - # screen capture - # - - xdg.portal.enable = true; - xdg.portal.wlr.enable = true; - services.dbus.enable = true; - ## Remove sound.enable or set it to false if you had it set previously, as sound.enable is only meant for ALSA-based configurations - - # rtkit is optional but recommended - security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - wireplumber.enable = true; - # If you want to use JACK applications, uncomment this - jack.enable = true; - }; - - # pipewire requires these off - # sound.enable = true; - # hardware.pulseaudio.enable = true; - # hardware.bluetooth.enable = true; -} -- cgit v1.2.3