commit 7c07902392cc53101d910d5ad8f10e40bd8058ea Author: Patrick Neff Date: Sat Mar 9 15:41:01 2024 +0100 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..335ec95 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.tar.gz diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..358f602 --- /dev/null +++ b/flake.lock @@ -0,0 +1,1188 @@ +{ + "nodes": { + "competitest-nvim": { + "flake": false, + "locked": { + "lastModified": 1706007708, + "narHash": "sha256-ABxdZ98W5W6K0rz0z/1I5lXzLCBnth6ozUUQ1W1nvpo=", + "owner": "xeluxee", + "repo": "competitest.nvim", + "rev": "c3cb0e2b0916a879c4d3dcb5737e6c046dd0afc5", + "type": "github" + }, + "original": { + "owner": "xeluxee", + "repo": "competitest.nvim", + "type": "github" + } + }, + "competitest-nvim_2": { + "flake": false, + "locked": { + "lastModified": 1706007708, + "narHash": "sha256-ABxdZ98W5W6K0rz0z/1I5lXzLCBnth6ozUUQ1W1nvpo=", + "owner": "xeluxee", + "repo": "competitest.nvim", + "rev": "c3cb0e2b0916a879c4d3dcb5737e6c046dd0afc5", + "type": "github" + }, + "original": { + "owner": "xeluxee", + "repo": "competitest.nvim", + "type": "github" + } + }, + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_2": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_3": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_4": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": [ + "home-manager-flake", + "neovim", + "neovim-nightly-overlay", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1706830856, + "narHash": "sha256-a0NYyp+h9hlb7ddVz4LUn1vT/PLwqfrWYcHMvFB1xYg=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "b253292d9c0a5ead9bc98c4e9a26c6312e27d69f", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_2": { + "inputs": { + "nixpkgs-lib": [ + "home-manager-flake", + "neovim", + "neovim-nightly-overlay", + "hercules-ci-effects", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1701473968, + "narHash": "sha256-YcVE5emp1qQ8ieHUnxt1wCZCC3ZfAS+SRRWZ2TMda7E=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "34fed993f1674c8d06d58b37ce1e0fe5eebcb9f5", + "type": "github" + }, + "original": { + "id": "flake-parts", + "type": "indirect" + } + }, + "flake-parts_3": { + "inputs": { + "nixpkgs-lib": [ + "home-manager-flake", + "neovim-nightly-overlay", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1706830856, + "narHash": "sha256-a0NYyp+h9hlb7ddVz4LUn1vT/PLwqfrWYcHMvFB1xYg=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "b253292d9c0a5ead9bc98c4e9a26c6312e27d69f", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_4": { + "inputs": { + "nixpkgs-lib": [ + "home-manager-flake", + "neovim-nightly-overlay", + "hercules-ci-effects", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1701473968, + "narHash": "sha256-YcVE5emp1qQ8ieHUnxt1wCZCC3ZfAS+SRRWZ2TMda7E=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "34fed993f1674c8d06d58b37ce1e0fe5eebcb9f5", + "type": "github" + }, + "original": { + "id": "flake-parts", + "type": "indirect" + } + }, + "flake-parts_5": { + "inputs": { + "nixpkgs-lib": [ + "neovim-flake", + "neovim-nightly-overlay", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709336216, + "narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_6": { + "inputs": { + "nixpkgs-lib": [ + "neovim-flake", + "neovim-nightly-overlay", + "hercules-ci-effects", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1701473968, + "narHash": "sha256-YcVE5emp1qQ8ieHUnxt1wCZCC3ZfAS+SRRWZ2TMda7E=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "34fed993f1674c8d06d58b37ce1e0fe5eebcb9f5", + "type": "github" + }, + "original": { + "id": "flake-parts", + "type": "indirect" + } + }, + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1709126324, + "narHash": "sha256-q6EQdSeUZOG26WelxqkmR7kArjgWCdw5sfJVHPH/7j8=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "d465f4819400de7c8d874d50b982301f28a84605", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_2": { + "inputs": { + "systems": "systems_2" + }, + "locked": { + "lastModified": 1705309234, + "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_3": { + "inputs": { + "systems": "systems_3" + }, + "locked": { + "lastModified": 1705309234, + "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_4": { + "inputs": { + "systems": "systems_4" + }, + "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_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": { + "locked": { + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_7": { + "inputs": { + "systems": "systems_6" + }, + "locked": { + "lastModified": 1705309234, + "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_8": { + "inputs": { + "systems": "systems_7" + }, + "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_9": { + "inputs": { + "systems": "systems_8" + }, + "locked": { + "lastModified": 1705309234, + "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "gopher-nvim": { + "flake": false, + "locked": { + "lastModified": 1696856053, + "narHash": "sha256-8arSYelWObRnzNQ1F4wh/U44USy5aQFIGA9Aa7p9XXM=", + "owner": "olexsmir", + "repo": "gopher.nvim", + "rev": "ac27f4b6794c872140fb205313d79ab166892fe9", + "type": "github" + }, + "original": { + "owner": "olexsmir", + "repo": "gopher.nvim", + "type": "github" + } + }, + "gopher-nvim_2": { + "flake": false, + "locked": { + "lastModified": 1696856053, + "narHash": "sha256-8arSYelWObRnzNQ1F4wh/U44USy5aQFIGA9Aa7p9XXM=", + "owner": "olexsmir", + "repo": "gopher.nvim", + "rev": "ac27f4b6794c872140fb205313d79ab166892fe9", + "type": "github" + }, + "original": { + "owner": "olexsmir", + "repo": "gopher.nvim", + "type": "github" + } + }, + "hercules-ci-effects": { + "inputs": { + "flake-parts": "flake-parts_2", + "nixpkgs": [ + "home-manager-flake", + "neovim", + "neovim-nightly-overlay", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1704029560, + "narHash": "sha256-a4Iu7x1OP+uSYpqadOu8VCPY+MPF3+f6KIi+MAxlgyw=", + "owner": "hercules-ci", + "repo": "hercules-ci-effects", + "rev": "d5cbf433a6ae9cae05400189a8dbc6412a03ba16", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "hercules-ci-effects", + "type": "github" + } + }, + "hercules-ci-effects_2": { + "inputs": { + "flake-parts": "flake-parts_4", + "nixpkgs": [ + "home-manager-flake", + "neovim-nightly-overlay", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1704029560, + "narHash": "sha256-a4Iu7x1OP+uSYpqadOu8VCPY+MPF3+f6KIi+MAxlgyw=", + "owner": "hercules-ci", + "repo": "hercules-ci-effects", + "rev": "d5cbf433a6ae9cae05400189a8dbc6412a03ba16", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "hercules-ci-effects", + "type": "github" + } + }, + "hercules-ci-effects_3": { + "inputs": { + "flake-parts": "flake-parts_6", + "nixpkgs": [ + "neovim-flake", + "neovim-nightly-overlay", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1708547820, + "narHash": "sha256-xU/KC1PWqq5zL9dQ9wYhcdgxAwdeF/dJCLPH3PNZEBg=", + "owner": "hercules-ci", + "repo": "hercules-ci-effects", + "rev": "0ca27bd58e4d5be3135a4bef66b582e57abe8f4a", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "hercules-ci-effects", + "type": "github" + } + }, + "home-manager": { + "inputs": { + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1709988192, + "narHash": "sha256-qxwIkl85P0I1/EyTT+NJwzbXdOv86vgZxcv4UKicjK8=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "b0b0c3d94345050a7f86d1ebc6c56eea4389d030", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "home-manager-flake": { + "inputs": { + "flake-utils": "flake-utils_2", + "home-manager": "home-manager_2", + "neovim": "neovim", + "neovim-nightly-overlay": "neovim-nightly-overlay_2", + "nixgl": "nixgl", + "nixpkgs": "nixpkgs_8", + "nixpkgs-unstable": "nixpkgs-unstable", + "nur": "nur" + }, + "locked": { + "lastModified": 1709993437, + "narHash": "sha256-32l5eAL5u52I3Knm9jPGnQuwOd4zUnhwOAUoMJDNYtY=", + "ref": "refs/heads/master", + "rev": "c7a5193f80d05839bb69252aef6a7f3d4550ce73", + "revCount": 11, + "type": "git", + "url": "ssh://gitea@pi1.odie.intranet/odie/home-manager-flake.git" + }, + "original": { + "type": "git", + "url": "ssh://gitea@pi1.odie.intranet/odie/home-manager-flake.git" + } + }, + "home-manager_2": { + "inputs": { + "nixpkgs": "nixpkgs_2" + }, + "locked": { + "lastModified": 1706981411, + "narHash": "sha256-cLbLPTL1CDmETVh4p0nQtvoF+FSEjsnJTFpTxhXywhQ=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "652fda4ca6dafeb090943422c34ae9145787af37", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "release-23.11", + "repo": "home-manager", + "type": "github" + } + }, + "home-manager_3": { + "inputs": { + "nixpkgs": "nixpkgs_3" + }, + "locked": { + "lastModified": 1708294481, + "narHash": "sha256-DZtxmeb4OR7iCaKUUuq05ADV2rX8WReZEF7Tq//W0+Y=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "a54e05bc12d88ff2df941d0dc1183cb5235fa438", + "type": "github" + }, + "original": { + "id": "home-manager", + "type": "indirect" + } + }, + "home-manager_4": { + "inputs": { + "nixpkgs": "nixpkgs_9" + }, + "locked": { + "lastModified": 1708294481, + "narHash": "sha256-DZtxmeb4OR7iCaKUUuq05ADV2rX8WReZEF7Tq//W0+Y=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "a54e05bc12d88ff2df941d0dc1183cb5235fa438", + "type": "github" + }, + "original": { + "id": "home-manager", + "type": "indirect" + } + }, + "neovim": { + "inputs": { + "competitest-nvim": "competitest-nvim", + "flake-utils": "flake-utils_3", + "gopher-nvim": "gopher-nvim", + "home-manager": "home-manager_3", + "neovim-nightly-overlay": "neovim-nightly-overlay", + "nixpkgs": "nixpkgs_5" + }, + "locked": { + "lastModified": 1709674014, + "narHash": "sha256-JUEESYa5u5pLjBNqy7mN3pFv6176skfYBixtC+1Ph0Q=", + "ref": "refs/heads/master", + "rev": "1f3ba170caa4dfd8d09b07d8f1a3dc4ff3bf76d1", + "revCount": 26, + "type": "git", + "url": "ssh://gitea@pi1.odie.intranet/odie/neovim-flake.git" + }, + "original": { + "type": "git", + "url": "ssh://gitea@pi1.odie.intranet/odie/neovim-flake.git" + } + }, + "neovim-flake": { + "inputs": { + "flake-utils": "flake-utils_4", + "nixpkgs": [ + "home-manager-flake", + "neovim", + "neovim-nightly-overlay", + "nixpkgs" + ] + }, + "locked": { + "dir": "contrib", + "lastModified": 1708374065, + "narHash": "sha256-1g4X7Iztb3a6ILAGIZmfoNTpHc1FjTLrO+sFYrNllEI=", + "owner": "neovim", + "repo": "neovim", + "rev": "8952a89db588db10a9dba16356f9bbd35ca5fabb", + "type": "github" + }, + "original": { + "dir": "contrib", + "owner": "neovim", + "repo": "neovim", + "type": "github" + } + }, + "neovim-flake_2": { + "inputs": { + "flake-utils": "flake-utils_5", + "nixpkgs": [ + "home-manager-flake", + "neovim-nightly-overlay", + "nixpkgs" + ] + }, + "locked": { + "dir": "contrib", + "lastModified": 1708374065, + "narHash": "sha256-1g4X7Iztb3a6ILAGIZmfoNTpHc1FjTLrO+sFYrNllEI=", + "owner": "neovim", + "repo": "neovim", + "rev": "8952a89db588db10a9dba16356f9bbd35ca5fabb", + "type": "github" + }, + "original": { + "dir": "contrib", + "owner": "neovim", + "repo": "neovim", + "type": "github" + } + }, + "neovim-flake_3": { + "inputs": { + "competitest-nvim": "competitest-nvim_2", + "flake-utils": "flake-utils_7", + "gopher-nvim": "gopher-nvim_2", + "home-manager": "home-manager_4", + "neovim-nightly-overlay": "neovim-nightly-overlay_3", + "nixpkgs": "nixpkgs_11" + }, + "locked": { + "lastModified": 1709674014, + "narHash": "sha256-JUEESYa5u5pLjBNqy7mN3pFv6176skfYBixtC+1Ph0Q=", + "ref": "refs/heads/master", + "rev": "1f3ba170caa4dfd8d09b07d8f1a3dc4ff3bf76d1", + "revCount": 26, + "type": "git", + "url": "ssh://gitea@pi1.odie.intranet/odie/neovim-flake.git" + }, + "original": { + "type": "git", + "url": "ssh://gitea@pi1.odie.intranet/odie/neovim-flake.git" + } + }, + "neovim-flake_4": { + "inputs": { + "flake-utils": "flake-utils_8", + "nixpkgs": [ + "neovim-flake", + "neovim-nightly-overlay", + "nixpkgs" + ] + }, + "locked": { + "dir": "contrib", + "lastModified": 1709508789, + "narHash": "sha256-sfSg3bsRryBClhHwb9Fi7cAPRxVRsyvdMsCdhep9Hlc=", + "owner": "neovim", + "repo": "neovim", + "rev": "3df1211ebc4c7ec4562d0ad0fa51a24569b81e15", + "type": "github" + }, + "original": { + "dir": "contrib", + "owner": "neovim", + "repo": "neovim", + "type": "github" + } + }, + "neovim-nightly-overlay": { + "inputs": { + "flake-compat": "flake-compat", + "flake-parts": "flake-parts", + "hercules-ci-effects": "hercules-ci-effects", + "neovim-flake": "neovim-flake", + "nixpkgs": "nixpkgs_4" + }, + "locked": { + "lastModified": 1708387422, + "narHash": "sha256-gnqSo7XHPNPzl6RZmkFcW5dX7v4K+QYO2E7PMuBn7z8=", + "owner": "nix-community", + "repo": "neovim-nightly-overlay", + "rev": "2977f72bfa978bcd77492225ad08a46a5a4c9dc0", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "neovim-nightly-overlay", + "type": "github" + } + }, + "neovim-nightly-overlay_2": { + "inputs": { + "flake-compat": "flake-compat_2", + "flake-parts": "flake-parts_3", + "hercules-ci-effects": "hercules-ci-effects_2", + "neovim-flake": "neovim-flake_2", + "nixpkgs": "nixpkgs_6" + }, + "locked": { + "lastModified": 1708387422, + "narHash": "sha256-gnqSo7XHPNPzl6RZmkFcW5dX7v4K+QYO2E7PMuBn7z8=", + "owner": "nix-community", + "repo": "neovim-nightly-overlay", + "rev": "2977f72bfa978bcd77492225ad08a46a5a4c9dc0", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "neovim-nightly-overlay", + "type": "github" + } + }, + "neovim-nightly-overlay_3": { + "inputs": { + "flake-compat": "flake-compat_3", + "flake-parts": "flake-parts_5", + "hercules-ci-effects": "hercules-ci-effects_3", + "neovim-flake": "neovim-flake_4", + "nixpkgs": "nixpkgs_10" + }, + "locked": { + "lastModified": 1709512572, + "narHash": "sha256-8w8sIncwZd4xvDs+lAPNK2KZasQhL6lw3QCGFhREELI=", + "owner": "nix-community", + "repo": "neovim-nightly-overlay", + "rev": "e0a344407ddf9b4d2b1e2e78725efbd68d724cef", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "neovim-nightly-overlay", + "type": "github" + } + }, + "nixgl": { + "inputs": { + "flake-utils": "flake-utils_6", + "nixpkgs": "nixpkgs_7" + }, + "locked": { + "lastModified": 1685908677, + "narHash": "sha256-E4zUPEUFyVWjVm45zICaHRpfGepfkE9Z2OECV9HXfA4=", + "owner": "nix-community", + "repo": "nixGL", + "rev": "489d6b095ab9d289fe11af0219a9ff00fe87c7c5", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixGL", + "type": "github" + } + }, + "nixos-wsl": { + "inputs": { + "flake-compat": "flake-compat_4", + "flake-utils": "flake-utils_9", + "nixpkgs": "nixpkgs_12" + }, + "locked": { + "lastModified": 1709980437, + "narHash": "sha256-rp1MwfRaZl7TPM4E5i1HxQGJCCfMcIa7dOzTX3SW7ro=", + "owner": "nix-community", + "repo": "NixOS-WSL", + "rev": "e0b9e6c8ff35c7a28cb6baa02d85a9737a2ee4e9", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "NixOS-WSL", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1709479366, + "narHash": "sha256-n6F0n8UV6lnTZbYPl1A9q1BS0p4hduAv1mGAP17CVd0=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "b8697e57f10292a6165a20f03d2f42920dfaf973", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-unstable": { + "locked": { + "lastModified": 1708296515, + "narHash": "sha256-FyF489fYNAUy7b6dkYV6rGPyzp+4tThhr80KNAaF/yY=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "b98a4e1746acceb92c509bc496ef3d0e5ad8d4aa", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_10": { + "locked": { + "lastModified": 1709386671, + "narHash": "sha256-VPqfBnIJ+cfa78pd4Y5Cr6sOWVW8GYHRVucxJGmRf8Q=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "fa9a51752f1b5de583ad5213eb621be071806663", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_11": { + "locked": { + "lastModified": 1709237383, + "narHash": "sha256-cy6ArO4k5qTx+l5o+0mL9f5fa86tYUX3ozE1S+Txlds=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "1536926ef5621b09bba54035ae2bb6d806d72ac8", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_12": { + "locked": { + "lastModified": 1707514827, + "narHash": "sha256-Y+wqFkvikpE1epCx57PsGw+M1hX5aY5q/xgk+ebDwxI=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "20f65b86b6485decb43c5498780c223571dd56ef", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-23.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_13": { + "locked": { + "lastModified": 1709703039, + "narHash": "sha256-6hqgQ8OK6gsMu1VtcGKBxKQInRLHtzulDo9Z5jxHEFY=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "9df3e30ce24fd28c7b3e2de0d986769db5d6225d", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1705331948, + "narHash": "sha256-qjQXfvrAT1/RKDFAMdl8Hw3m4tLVvMCc8fMqzJv0pP4=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "b8dd8be3c790215716e7c12b247f45ca525867e2", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-23.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1708118438, + "narHash": "sha256-kk9/0nuVgA220FcqH/D2xaN6uGyHp/zoxPNUmPCMmEE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "5863c27340ba4de8f83e7e3c023b9599c3cb3c80", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_4": { + "locked": { + "lastModified": 1708341091, + "narHash": "sha256-3R7doGV1AoB5VKFifEd5elj8t4cld6VpJRpn9NaYr1Y=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "86ef6bd96b6279e1a4a53236d341f5df1ede3803", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_5": { + "locked": { + "lastModified": 1708296515, + "narHash": "sha256-FyF489fYNAUy7b6dkYV6rGPyzp+4tThhr80KNAaF/yY=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "b98a4e1746acceb92c509bc496ef3d0e5ad8d4aa", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_6": { + "locked": { + "lastModified": 1708341091, + "narHash": "sha256-3R7doGV1AoB5VKFifEd5elj8t4cld6VpJRpn9NaYr1Y=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "86ef6bd96b6279e1a4a53236d341f5df1ede3803", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_7": { + "locked": { + "lastModified": 1660551188, + "narHash": "sha256-a1LARMMYQ8DPx1BgoI/UN4bXe12hhZkCNqdxNi6uS0g=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "441dc5d512153039f19ef198e662e4f3dbb9fd65", + "type": "github" + }, + "original": { + "owner": "nixos", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_8": { + "locked": { + "lastModified": 1708294118, + "narHash": "sha256-evZzmLW7qoHXf76VCepvun1esZDxHfVRFUJtumD7L2M=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "e0da498ad77ac8909a980f07eff060862417ccf7", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-23.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_9": { + "locked": { + "lastModified": 1708118438, + "narHash": "sha256-kk9/0nuVgA220FcqH/D2xaN6uGyHp/zoxPNUmPCMmEE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "5863c27340ba4de8f83e7e3c023b9599c3cb3c80", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nur": { + "locked": { + "lastModified": 1708422279, + "narHash": "sha256-WuBt+axaRt0vnUXeMcgPS9ePSvWc4Cv3Q2deYkFL17o=", + "owner": "nix-community", + "repo": "NUR", + "rev": "034cf7dc073f5d18921016cf9bbfec436b97eff2", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "NUR", + "type": "github" + } + }, + "root": { + "inputs": { + "flake-utils": "flake-utils", + "home-manager": "home-manager", + "home-manager-flake": "home-manager-flake", + "neovim-flake": "neovim-flake_3", + "nixos-wsl": "nixos-wsl", + "nixpkgs": "nixpkgs_13" + } + }, + "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" + } + }, + "systems_8": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..c9f5219 --- /dev/null +++ b/flake.nix @@ -0,0 +1,42 @@ +{ + description = "A very basic flake"; + + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + flake-utils.url = "github:numtide/flake-utils"; + nixos-wsl.url = "github:nix-community/NixOS-WSL"; + home-manager.url = "github:nix-community/home-manager"; + home-manager-flake.url = "git+ssh://gitea@pi1.odie.intranet/odie/home-manager-flake.git"; + neovim-flake.url = "git+ssh://gitea@pi1.odie.intranet/odie/neovim-flake.git"; + }; + + outputs = inputs@{ self, nixpkgs, flake-utils, nixos-wsl, home-manager, ... }: + let + vars = rec { + name = "Patrick Neff"; + username = "odie"; + homeDirectory = "/home/${username}"; + locale = "de_DE.UTF-8"; + email = "odie86@gmail.com"; + timeZone = "Europe/Berlin"; + }; + mkSystem = system: hostName: { + ${hostName} = + nixpkgs.lib.nixosSystem { + inherit system; + specialArgs = { + inherit inputs; + vars = vars // { + inherit hostName; + }; + }; + modules = [ + ./hosts/${hostName} + ]; + }; + }; + in + { + nixosConfigurations = mkSystem "x86_64-linux" "wsl-dev" // { }; + }; +} diff --git a/hosts/wsl-dev/default.nix b/hosts/wsl-dev/default.nix new file mode 100644 index 0000000..4a3e798 --- /dev/null +++ b/hosts/wsl-dev/default.nix @@ -0,0 +1,19 @@ +{ vars, inputs, ... }: +{ + imports = [ + ../../modules + ../../modules/wsl + ]; + + home-manager.users.odie = _: { + imports = [ + inputs.home-manager-flake.homeModules.base + inputs.home-manager-flake.homeModules.shell + inputs.neovim-flake.homeModules.default + ]; + + programs.neovim-ide.enable = true; + }; + + system.stateVersion = "23.11"; +} diff --git a/modules/default.nix b/modules/default.nix new file mode 100644 index 0000000..ab07562 --- /dev/null +++ b/modules/default.nix @@ -0,0 +1,10 @@ +_: { + imports = [ + ./user + ./network + ./i18n + ./nixos + ./programs + ./home-manager + ]; +} diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix new file mode 100644 index 0000000..64d8d98 --- /dev/null +++ b/modules/home-manager/default.nix @@ -0,0 +1,11 @@ +{ inputs, vars, ... }: { + imports = [ + inputs.home-manager.nixosModules.home-manager + ]; + + home-manager = { + useGlobalPkgs = true; + useUserPackages = true; + extraSpecialArgs = { inherit vars; }; + }; +} diff --git a/modules/i18n/default.nix b/modules/i18n/default.nix new file mode 100644 index 0000000..60d834f --- /dev/null +++ b/modules/i18n/default.nix @@ -0,0 +1,8 @@ +{ config, lib, pkgs, vars, ... }: +let + inherit (vars) locale timeZone; +in +{ + i18n.defaultLocale = locale; + time.timeZone = timeZone; +} diff --git a/modules/network/default.nix b/modules/network/default.nix new file mode 100644 index 0000000..7e46f59 --- /dev/null +++ b/modules/network/default.nix @@ -0,0 +1,7 @@ +{ config, lib, pkgs, vars, ... }: +let + inherit (vars) hostName; +in +{ + networking.hostName = hostName; +} diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix new file mode 100644 index 0000000..c7fc3f7 --- /dev/null +++ b/modules/nixos/default.nix @@ -0,0 +1,3 @@ +_: { + nix.settings.experimental-features = [ "nix-command" "flakes" ]; +} diff --git a/modules/programs/default.nix b/modules/programs/default.nix new file mode 100644 index 0000000..d50255d --- /dev/null +++ b/modules/programs/default.nix @@ -0,0 +1,13 @@ +{ config, lib, pkgs, vars, ... }: +{ + environment.systemPackages = with pkgs; [ + vim + git + openssh + ]; + + programs = { + zsh.enable = true; + command-not-found.enable = false; + }; +} diff --git a/modules/user/default.nix b/modules/user/default.nix new file mode 100644 index 0000000..ca7ba93 --- /dev/null +++ b/modules/user/default.nix @@ -0,0 +1,22 @@ +{ config, lib, pkgs, vars, ... }: +let + inherit (vars) username name locale hostname; +in +{ + users = { + defaultUserShell = pkgs.zsh; + groups.odie = { }; + users = { + ${username} = { + name = username; + uid = 1000; + isNormalUser = true; + home = "/home/${username}"; + description = name; + extraGroups = [ "wheel" ]; + packages = with pkgs; [ wslu wsl-open home-manager ]; + }; + }; + }; +} + diff --git a/modules/wsl/default.nix b/modules/wsl/default.nix new file mode 100644 index 0000000..4d538a8 --- /dev/null +++ b/modules/wsl/default.nix @@ -0,0 +1,17 @@ +{ config, lib, pkgs, vars, inputs, ... }: +let + inherit (vars) username hostName; +in +{ + imports = [ + inputs.nixos-wsl.nixosModules.wsl + ]; + + wsl = { + enable = true; + defaultUser = username; + nativeSystemd = true; + useWindowsDriver = true; + wslConf = { network.hostname = hostName; }; + }; +}