Add devenv setup

This commit is contained in:
Lan Quil 2024-06-11 23:03:25 +02:00
parent 1ce8b47e51
commit 8d48cb6454
5 changed files with 225 additions and 0 deletions

3
.envrc Normal file
View File

@ -0,0 +1,3 @@
source_url "https://raw.githubusercontent.com/cachix/devenv/d1f7b48e35e6dee421cfd0f51481d17f77586997/direnvrc" "sha256-YBzqskFZxmNb3kYVoKD9ZixoPXJh1C9ZvTLGFRkauZ0="
use devenv

5
.gitignore vendored Normal file
View File

@ -0,0 +1,5 @@
# Devenv
.devenv*
devenv.local.nix
/.direnv
.pre-commit-config.yaml

174
devenv.lock Normal file
View File

@ -0,0 +1,174 @@
{
"nodes": {
"devenv": {
"locked": {
"dir": "src/modules",
"lastModified": 1718120801,
"owner": "cachix",
"repo": "devenv",
"rev": "a04f29f6412e5829ee7774c672233f3ef17771bc",
"treeHash": "c75398c2d196caa306b583e44b37f735a455237e",
"type": "github"
},
"original": {
"dir": "src/modules",
"owner": "cachix",
"repo": "devenv",
"type": "github"
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"treeHash": "2addb7b71a20a25ea74feeaf5c2f6a6b30898ecb",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_2": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"treeHash": "2addb7b71a20a25ea74feeaf5c2f6a6b30898ecb",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
"pre-commit-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"treeHash": "ca14199cabdfe1a06a7b1654c76ed49100a689f9",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1718089647,
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "f7207adcc68d9cafa29e3cd252a18743ae512c6a",
"treeHash": "1eabeb4cad65cd84d077e9cf28b3be697a5e579b",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-python": {
"inputs": {
"flake-compat": "flake-compat",
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1717766341,
"owner": "cachix",
"repo": "nixpkgs-python",
"rev": "d996260c2dfb1e4e6a68bb99121dd87adb40c2eb",
"treeHash": "d6bb915bafaac1f4b2bedeb18acda30e6b5d798f",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "nixpkgs-python",
"type": "github"
}
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1718060059,
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a3c8d64ba846725f040582b2d3b875466d2115bd",
"treeHash": "4378720d991b2af92b2e078b80bff5ec363a11c5",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-23.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1718060059,
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a3c8d64ba846725f040582b2d3b875466d2115bd",
"treeHash": "4378720d991b2af92b2e078b80bff5ec363a11c5",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-23.11",
"repo": "nixpkgs",
"type": "github"
}
},
"pre-commit-hooks": {
"inputs": {
"flake-compat": "flake-compat_2",
"gitignore": "gitignore",
"nixpkgs": [
"nixpkgs"
],
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1717664902,
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"rev": "cc4d466cb1254af050ff7bdf47f6d404a7c646d1",
"treeHash": "def977583217aad11744d144c1f7fc216ce450bf",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"type": "github"
}
},
"root": {
"inputs": {
"devenv": "devenv",
"nixpkgs": "nixpkgs",
"nixpkgs-python": "nixpkgs-python",
"pre-commit-hooks": "pre-commit-hooks"
}
}
},
"root": "root",
"version": 7
}

38
devenv.nix Normal file
View File

@ -0,0 +1,38 @@
# https://devenv.sh/
#
{pkgs, ...}: {
packages = with pkgs; [
ansible
codespell
just
onefetch
];
pre-commit.hooks = {
# Files
check-symlinks.enable = true;
# Nix
alejandra.enable = true;
deadnix.enable = true;
statix.enable = true;
# Shell
shellcheck.enable = true;
shfmt.enable = true; # alternative: beautysh
# Misc. formats
check-json.enable = true;
check-toml.enable = true;
check-yaml.enable = true;
denofmt.enable = true;
markdownlint.enable = true; # alternative: mdl
# Hyperlinks
check-vcs-permalinks.enable = true;
end-of-file-fixer.enable = true;
trim-trailing-whitespace.enable = true;
# Git
check-merge-conflicts.enable = true;
};
enterShell = ''
onefetch --no-color-palette
'';
}

5
devenv.yaml Normal file
View File

@ -0,0 +1,5 @@
inputs:
nixpkgs:
url: github:NixOS/nixpkgs/nixpkgs-unstable
nixpkgs-python:
url: github:cachix/nixpkgs-python