nixos-config-master/config.json
jeirmeister e4b85e086f refactor: reorganize program configuration structure
Major structural changes:
- Create modular program organization by category (development, gaming, shell, etc.)
- Consolidate Python environment configurations using python311
- Introduce comprehensive shell configuration hierarchy
- Move utility programs into appropriate categories

Details:
- Migrate to consistent Python 3.11 usage across all Python tools
- Add structured environment management for multiple languages (Python, Rust, Go, JavaScript)
- Organize shell utilities into logical categories (security, network, files, etc.)
- Consolidate development tools and editor configurations
- Move VR configuration to gaming category
- Group productivity apps (Bitwarden, Obsidian, Todoist)

This restructuring aims to make the configuration more maintainable
and easier to extend in preparation for future flake migration.
2024-10-30 21:31:46 -07:00

14 lines
3.5 KiB
JSON

{
"users/jeirmeister/programs/development/env/languages/python/default.nix": "{ config, pkgs, ... }:\n\n{\n imports = [\n ./pipenv.nix\n ./poetry.nix\n ./pyenv.nix\n ];\n\n # Base Python installation\n home.packages = with pkgs; [\n python311\n python311Packages.pip\n python311Packages.setuptools\n python311Packages.wheel\n ];\n\n # Common Python environment variables\n home.sessionVariables = {\n PYTHONDONTWRITEBYTECODE = 1;\n PYTHONIOENCODING = \"UTF-8\";\n PYTHONUSERBASE = \"$HOME/.local/python\";\n PATH = \"$PYTHONUSERBASE/bin:$PATH\";\n };\n\n # Create Python user directory\n home.file.\".local/python/.keep\".text = \"\";\n}",
"users/jeirmeister/programs/development/env/languages/python/pipenv.nix": "{ config, pkgs, ... }:\n\n{\n home.packages = with pkgs; [\n python311Packages.pipenv\n ];\n\n home.sessionVariables = {\n PIPENV_VENV_IN_PROJECT = \"1\";\n WORKON_HOME = \"$HOME/.local/share/virtualenvs\";\n PIP_NO_CACHE_DIR = \"off\";\n PIPENV_SKIP_LOCK = \"1\";\n PIPENV_IGNORE_VIRTUALENVS = \"1\";\n PIPENV_MAX_DEPTH = \"5\";\n };\n\n home.file.\".local/share/virtualenvs/.keep\".text = \"\";\n}",
"users/jeirmeister/programs/development/env/languages/python/poetry.nix": "{ config, pkgs, ... }:\n\n{\n home.packages = with pkgs; [\n python311Packages.poetry\n ];\n\n home.sessionVariables = {\n POETRY_VIRTUALENVS_IN_PROJECT = \"true\";\n POETRY_CACHE_DIR = \"$HOME/.cache/pypoetry\";\n POETRY_IGNORE_ENVIRONMENT_VARIABLES = \"1\";\n };\n\n home.file.\".config/pypoetry/config.toml\".text = ''\n [virtualenvs]\n in-project = true\n path = \"{cache-dir}/virtualenvs\"\n create = true\n clear = false\n \n [repositories]\n '';\n}",
"users/jeirmeister/programs/development/env/languages/python/pyenv.nix": "{ config, pkgs, ... }:\n\n{\n home.packages = with pkgs; [\n pyenv\n ];\n\n home.sessionVariables = {\n PYENV_ROOT = \"$HOME/.pyenv\";\n PATH = \"$PYENV_ROOT/bin:$PATH\";\n PYENV_SHELL = \"zsh\";\n PYENV_VIRTUALENV_INIT = \"1\";\n };\n\n home.file.\".pyenv/version\".text = \"system\";\n \n programs.zsh.initExtra = ''\n eval \"$(pyenv init --path)\"\n eval \"$(pyenv virtualenv-init -)\"\n '';\n}",
"users/jeirmeister/programs/development/tools.nix": "{ config, pkgs, ... }:\n\n{\n home.packages = with pkgs; [\n git\n gh\n gnumake\n gcc\n cmake\n # Python development tools\n python311Packages.black\n python311Packages.pylint\n python311Packages.mypy\n python311Packages.pytest\n python311Packages.pytest-cov\n ];\n}",
"users/jeirmeister/packages/repo-to-text.nix": "{ lib\n, python311Packages\n, fetchPypi\n, tree\n}:\n\npython311Packages.buildPythonPackage rec {\n pname = \"repo_to_text\";\n version = \"0.4.2\";\n format = \"setuptools\";\n\n src = fetchPypi {\n pname = \"repo_to_text\";\n inherit version;\n sha256 = \"d2oydJFP6PNUyPVZlrOtCkyMrFZyc1fkGRa/ZnqsCkQ=\";\n };\n\n propagatedBuildInputs = with python311Packages; [\n pyyaml\n pyperclip\n pathspec\n ];\n\n buildInputs = [\n tree\n ];\n\n pythonImportsCheck = [ \"repo_to_text\" ];\n\n meta = with lib; {\n description = \"Convert directory/repository structure and contents into a single text file\";\n homepage = \"https://github.com/kirill-markin/repo-to-text\";\n license = licenses.mit;\n maintainers = [];\n };\n\n postInstall = ''\n mv $out/bin/repo_to_text $out/bin/repo-to-text || true\n '';\n}"
}