Compare commits

...

3 Commits

7 changed files with 85 additions and 24 deletions

View File

@ -89,11 +89,11 @@
"utils": "utils" "utils": "utils"
}, },
"locked": { "locked": {
"lastModified": 1672349765, "lastModified": 1672688183,
"narHash": "sha256-Ul3lSGglgHXhgU3YNqsNeTlRH1pqxbR64h+2hM+HtnM=", "narHash": "sha256-3sNEWKTg3XXVDnvzVatdyetiUQWL+ibJ1YkvxSk3PuM=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "dd99675ee81fef051809bc87d67eb07f5ba022e8", "rev": "c1a830c8fabb13f95f51ecf48552f0a794d8718a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -154,11 +154,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1672262501, "lastModified": 1672525397,
"narHash": "sha256-ZNXqX9lwYo1tOFAqrVtKTLcJ2QMKCr3WuIvpN8emp7I=", "narHash": "sha256-WASDnyxHKWVrEe0dIzkpH+jzKlCKAk0husv0f/9pyxg=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "e182da8622a354d44c39b3d7a542dc12cd7baa5f", "rev": "8ba56d7c0d7490680f2d51ba46a141eca7c46afa",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -201,11 +201,11 @@
"nixpkgs": "nixpkgs_3" "nixpkgs": "nixpkgs_3"
}, },
"locked": { "locked": {
"lastModified": 1672367043, "lastModified": 1672712534,
"narHash": "sha256-4/40kfJysfDEfSpXJ3inuMetn40czz5Mh73SjxsKTX0=", "narHash": "sha256-8S0DdMPcbITnlOu0uA81mTo3hgX84wK8S9wS34HEFY4=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "e6b2214363f5e18576a3b2ca0e0483d8f42fe531", "rev": "69fb7bf0a8c40e6c4c197fa1816773774c8ac59f",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@ -56,9 +56,5 @@ in
KEEPASSDB_TIMEOUT = cfg.copy_timeout_secs; KEEPASSDB_TIMEOUT = cfg.copy_timeout_secs;
}; };
}); });
# xdg.dataFile."keepass.kdbx".path =
# base.shells.shellAliases = {
# kp = "kpcli --kdb=${cfg.path}";
# };
}; };
} }

View File

@ -77,6 +77,11 @@ in
vimAlias = true; vimAlias = true;
withPython3 = true; withPython3 = true;
withNodeJs = true; withNodeJs = true;
# Attempt 4: Correct way to make neovim aware of packages
# homeConfigurations.config.programs.neovim takes UNWRAPPED neovim
# and wraps it.
# Ideally, we build our own neovim and add that to config.home.packages
# to share it with nixOS. But we don't really need to share
extraPackages = nvim_pkgs; extraPackages = nvim_pkgs;
# only for here for archive-documentation # only for here for archive-documentation
# extraPython3Packages = (pypkgs: [ # extraPython3Packages = (pypkgs: [

View File

@ -69,11 +69,11 @@
"utils": "utils" "utils": "utils"
}, },
"locked": { "locked": {
"lastModified": 1672349765, "lastModified": 1672688183,
"narHash": "sha256-Ul3lSGglgHXhgU3YNqsNeTlRH1pqxbR64h+2hM+HtnM=", "narHash": "sha256-3sNEWKTg3XXVDnvzVatdyetiUQWL+ibJ1YkvxSk3PuM=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "dd99675ee81fef051809bc87d67eb07f5ba022e8", "rev": "c1a830c8fabb13f95f51ecf48552f0a794d8718a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -106,11 +106,11 @@
"locked": { "locked": {
"lastModified": 1, "lastModified": 1,
"narHash": "sha256-KP+2qdZlhmRkrafuuEofg7YnNdVmGV95ipvpuqmJneI=", "narHash": "sha256-KP+2qdZlhmRkrafuuEofg7YnNdVmGV95ipvpuqmJneI=",
"path": "/nix/store/qcm4676fqkcdrizjkn4j0796ybddwlxm-source/out-of-tree/nixGL", "path": "/nix/store/zcawhhz89smqvmyqp985cmlsh6y81789-source/out-of-tree/nixGL",
"type": "path" "type": "path"
}, },
"original": { "original": {
"path": "/nix/store/qcm4676fqkcdrizjkn4j0796ybddwlxm-source/out-of-tree/nixGL", "path": "/nix/store/zcawhhz89smqvmyqp985cmlsh6y81789-source/out-of-tree/nixGL",
"type": "path" "type": "path"
} }
}, },
@ -131,11 +131,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1672262501, "lastModified": 1672525397,
"narHash": "sha256-ZNXqX9lwYo1tOFAqrVtKTLcJ2QMKCr3WuIvpN8emp7I=", "narHash": "sha256-WASDnyxHKWVrEe0dIzkpH+jzKlCKAk0husv0f/9pyxg=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "e182da8622a354d44c39b3d7a542dc12cd7baa5f", "rev": "8ba56d7c0d7490680f2d51ba46a141eca7c46afa",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -178,11 +178,11 @@
"nixpkgs": "nixpkgs_3" "nixpkgs": "nixpkgs_3"
}, },
"locked": { "locked": {
"lastModified": 1672367043, "lastModified": 1672712534,
"narHash": "sha256-4/40kfJysfDEfSpXJ3inuMetn40czz5Mh73SjxsKTX0=", "narHash": "sha256-8S0DdMPcbITnlOu0uA81mTo3hgX84wK8S9wS34HEFY4=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "e6b2214363f5e18576a3b2ca0e0483d8f42fe531", "rev": "69fb7bf0a8c40e6c4c197fa1816773774c8ac59f",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@ -7,6 +7,9 @@ echo "SCRIPT_DIR: ${SCRIPT_DIR}"
HOME_MANAGER_DIR="${SCRIPT_DIR}/../nix-conf/home-manager" HOME_MANAGER_DIR="${SCRIPT_DIR}/../nix-conf/home-manager"
# Mason is bad: it puts binaries onto xdg.data
rm -rf ~/.local/share/nvim/mason
# test if we have home-manager, if not, attempt to use nix to put home-manager to # test if we have home-manager, if not, attempt to use nix to put home-manager to
# our environment # our environment
if [ $(home-manager >/dev/null 2>&1) ]; then if [ $(home-manager >/dev/null 2>&1) ]; then

View File

@ -12,4 +12,8 @@
path = ./rust-monorepo; path = ./rust-monorepo;
description = "Opinionated Rust monorepo, extended from ./rust, using Cargo workspace"; description = "Opinionated Rust monorepo, extended from ./rust, using Cargo workspace";
}; };
ts-turborepo = {
path = ./ts/turborepo;
description = "Typescript monorepo with tsconfig, eslint, but with minimal framework attached";
};
} }

View File

@ -0,0 +1,53 @@
{
description = "Provides devShell for Nodejs + pnpm";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
# https://github.com/vercel/turbo/issues/2293#issuecomment-1296094236
# work-around for turbo-repo on nix
turbo.url = "github:dlip/turbo";
};
outputs = { self, turbo, flake-utils, nixpkgs }:
with flake-utils; lib.eachSystem lib.defaultSystems (sys:
let
overlays = [ turbo.overlay ];
# pkgs is our tweaked nixpkgs
pkgs = import nixpkgs { system = sys; overlays = overlays; };
shellMsg = ''
echo "Hello from nix ${sys}"
echo "Local development may use our remote planetscale database (pscale login && pnpm dev:infra; pnpm dev)"
echo "Or from the specified docker-compose.yml (pnpm dev:local_infra && pnpm dev)"
echo "See more on CONTRIBUTING.md"
'';
in
{
devShell = pkgs.mkShell {
nativeBuildInputs = [ pkgs.bashInteractive ];
buildInputs = [
pkgs.nodejs-18_x
pkgs.nodePackages.pnpm
pkgs.nodePackages.prisma
pkgs.prisma-engines
pkgs.turbo
# pkgs.turbo-tooling
pkgs.jq
pkgs.pscale
pkgs.act # Github workflow
];
shellHook =
# https://github.com/prisma/prisma/issues/3026#issuecomment-927258138
# nix-direnv is required (impure build?) https://github.com/nix-community/nix-direnv
''
export PRISMA_MIGRATION_ENGINE_BINARY="${pkgs.prisma-engines}/bin/migration-engine"
export PRISMA_QUERY_ENGINE_BINARY="${pkgs.prisma-engines}/bin/query-engine"
export PRISMA_QUERY_ENGINE_LIBRARY="${pkgs.prisma-engines}/lib/libquery_engine.node"
export PRISMA_INTROSPECTION_ENGINE_BINARY="${pkgs.prisma-engines}/bin/introspection-engine"
export PRISMA_FMT_BINARY="${pkgs.prisma-engines}/bin/prisma-fmt"
export TURBO_BINARY_PATH="${pkgs.turbo}/bin/turbo"
pnpm install
'' + shellMsg;
};
});
}