{"id":15051150,"url":"https://github.com/raupulus/debian-developer-conf","last_synced_at":"2025-10-12T16:58:58.719Z","repository":{"id":46903280,"uuid":"104739159","full_name":"raupulus/debian-developer-conf","owner":"raupulus","description":"Conjuntos de Scripts para Debian con el que preparar mi entorno de programación, aplicaciones, repositorios y configuraciones mediante un menú de selección","archived":false,"fork":false,"pushed_at":"2025-08-29T16:07:25.000Z","size":36382,"stargazers_count":17,"open_issues_count":0,"forks_count":4,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-08-29T18:58:20.813Z","etag":null,"topics":["bash","bash-alias","bash-script","bash-scripting","bashrc","debian","debian-linux","debian-scripts","desarrollador","desarrollo","developer-tools","development","development-environment","git","github","gitlab","hacktoberfest","web","zsh","zshrc"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/raupulus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2017-09-25T11:01:29.000Z","updated_at":"2025-08-29T16:07:28.000Z","dependencies_parsed_at":"2023-11-15T10:36:03.321Z","dependency_job_id":"b70be9e7-3a47-48d4-bcc1-b729dee5bd81","html_url":"https://github.com/raupulus/debian-developer-conf","commit_stats":null,"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"purl":"pkg:github/raupulus/debian-developer-conf","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raupulus%2Fdebian-developer-conf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raupulus%2Fdebian-developer-conf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raupulus%2Fdebian-developer-conf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raupulus%2Fdebian-developer-conf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/raupulus","download_url":"https://codeload.github.com/raupulus/debian-developer-conf/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raupulus%2Fdebian-developer-conf/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":276238983,"owners_count":25608527,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-21T02:00:07.055Z","response_time":72,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bash","bash-alias","bash-script","bash-scripting","bashrc","debian","debian-linux","debian-scripts","desarrollador","desarrollo","developer-tools","development","development-environment","git","github","gitlab","hacktoberfest","web","zsh","zshrc"],"created_at":"2024-09-24T21:31:18.550Z","updated_at":"2025-09-21T12:20:41.489Z","avatar_url":"https://github.com/raupulus.png","language":"Shell","readme":"[![Maintainability](https://api.codeclimate.com/v1/badges/a98475bf9c466d5ca815/maintainability)](https://codeclimate.com/github/fryntiz/debian-developer-conf/maintainability)\n\n# Script para Preparar Entorno de Programación en Debian\n\nScript para tener un entorno funcional en poco tiempo y además tener\nsincronizada la configuración de distintos dispositivos con los que trabajo.\n\nEste script prepara completamente el entorno de programación, aplicaciones,\nservidores, comandos personalizados, interfaz gráfica, plantillas y repositorios en Debian Stable.\n\n![Imagen de previsualización](docs/Preview.jpg)\n\nTodas las configuraciones y elecciones se han establecido a mi gusto, puedes\npersonalizar cualquier parte que decidas para este script bajo la misma\nlicencia GPLv3.\n\nSi encuentras algún fallo o detectas que algo podría funcionar mejor, añade un\n**Issue** al que estaré encantado de atender y valorar.\n\nTambién puedes colaborar con los PR que creas oportuno siempre que vaya en la\nlínea del script y no sea necesario darle la vuelta a todo el proyecto.\n\nEn todo caso recomiendo usar la rama **Master** y si quieres colaborar crea un\n**fork** y haz **PR** sobre la rama **dev** para valorar si formará parte de\nla siguiente versión.\n\n## Advertencias y Explicación para decisiones\n\nSi no usas **repositorios oficiales**, mezclas repositorios o tienes otro\nsistema distinto a Debian Stable estarás **experimentando** así que úsalo bajo\ntu riesgo.\n\nEste script está automatizado y puede cambiar configuración sin que te pregunte.\n\nUna buena idea sería que lo ejecutaras tras hacer una copia de seguridad o en\nuna máquina virtual hasta ver que el script completo se adapta a tus\nnecesidades o modificar la parte que prefieras diferente realizando un fork de\neste repositorio.\n\nTrabajo en la modularidad para que puedas ejecutar solo una parte que te\ninterese y no dependas del script al completo.\n\nPara evitar que sea interactivo y estar constantemente preguntando se establece\n\"-y\" como parámetro por defecto en **apt** lo cual puede instalar software en\nforma de dependencia y/o romper en casos muy extremos el sistema, aunque repito\nque con repositorios oficiales no debe ocurrir nada extraño y si es así puedes\nreportarlo para su corrección.\n\n## Objetivos\n\nCrear un entorno de trabajo personalizado para desarrollar aplicaciones web\nsegún las preferencias del autor (https://github.com/raupulus).\n\nSe plantea lo más modular que me ha sido posible para que en algunos casos no\nsea necesario ejecutar el script completo y solo la parte que realmente\nnecesitas (si fuese el caso).\n\nPrevisualización de menú para aplicaciones:\n\n![Imagen de previsualización 1](docs/Apps.jpg)\n\nEstos son los principales objetivos:\n\n- Configurar terminales, bash y zsh\n- Instalar tipografías\n- Instalar editores Intellij, ninja IDE y Vim con sus personalizaciones\n- Instalar IDEs si el usuario lo elige\n- Configurar sistema y variables globales\n- Ampliar repositorios desde fuentes estables y fiables\n- Instalar configuraciones y personalizaciones para el sistema y programas en\nel HOME\n- Instalar atajos y personalizaciones para trabajar con git, GitHub y GitLab\n- Instalar servidores Apache2, PostgreSQL, MariaDB\n- Instalar lenguajes de programación, dependencias y librerías para → php,\npython, nodejs, ruby, bash, zsh\n- Instalar Navegadores WEB para desarrolladores como Firefox Developer y\nFirefox Nightly\n- Instalar herramientas para ayudar a debug en lenguajes web\n- Configurar interfaces gráficas\n\nPrevisualización de menú Personalización:\n\n![Imagen de previsualización 1](docs/Personalización.png)\n\n## Distribución compatible\n\nEstá destinado única y exclusivamente para **Debian 9** (estable) y se irá\nactualizando con esta rama estable.\n\nEn otras ramas y distribuciones puede romper el sistema, para portarlo no hay\ndemasiadas complicaciones y se deberá renombrar la instalación/nombre de\npaquetes si procede y establecer repositorios de acorde a la distribución. El\nresto de los pasos deberían ser idénticos.\n\nTodo el script se basa en funciones.sh por lo que editando este archivo y\nadaptándolo a tu distribución podrás conseguir un cierto nivel de\ncompatibilidad.\n\n## Modularidad\n\nSe ha intentado hacer modular de forma que apenas sea necesario tocar los\nscripts para añadir/quitar funciones.\n\nLa idea es que el script pregunte lo mínimo posible y que esto sean decisiones\nrelevantes.\n\n## Ejecutar script\n\nEs importante realizar todos los pasos desde bash. Si usas **zsh** cambia a\n**bash** antes de ejecutarlo:\n\n```bash\n    bash\n```\n\nPrimero instalamos GIT\n\n```bash\n    sudo apt install git\n```\n\nClonamos el repositorio actual en nuestro equipo\n\n```bash\n    git clone https://github.com/raupulus/debian-developer-conf.git\n```\n\nEntramos y ejecutamos el script principal\n\n```bash\n    cd preparar_entorno\n    ./main.sh\n```\n\n## Personalización\n\nAgrega elementos gráficos al sistema, los configura para el usuario y activa.\n\n- Fondo de pantalla\n- Grub\n- GDM\n- Iconos\n- Cursores crystalblue\n\nAdemás también se añadieron iconos \"paper\", temas \"flatpat\" y la instalación de\ncursores \"**crystal**\"\n\n## Servidores\n\nSe incorporan en la parte servidores instalación para apache2, postregsql,\nmariadb, NodeJS, bind9 y docker.\n\n![Imagen de previsualización 1](docs/Servidores.png)\n\n### Apache 2\n\nSe crean 3 servidores virtuales:\n\n- Por defecto escuchando todo, con ruta /var/www/html\n- Público como publico.local, con ruta /var/www/html/Publico\n- Privado como privado.local, con ruta /var/www/html/Privado y contraseña\ncreada/generada en /var/www/.htpasswd\n\nTodos por el puerto estándar, 80\n\n### PHP\n\nEn este script para seguir rigurosamente la filosofía **Debian** apostando por\nla seguridad que nos acostumbra y sobre todo la estabilidad la cual es bastante\nconocida, optamos a seguir siempre con la versión más alta de sus repositorios\nestables y oficiales libres.\n\nSe instalan los siguientes paquetes básicos desde repositorios:\n\n- php\n- php-cli\n- libapache2-mod-php\n\nSe instalan los siguientes paquetes extras desde repositorios:\n\n- php-gd\n- php-curl\n- php-pgsql\n- php-sqlite3\n- sqlite\n- sqlite3\n- php-intl\n- php-mbstring\n- php-xml\n- php-xdebug\n- php-json\n\nSe instala Composer y algunos paquetes con este:\n\n- composer\n\nSe instalan las siguientes herramientas de fuentes externas:\n\n- psysh → Un intérprete interactivo para aprender o hacer debug, incluyendo su\ndocumentación accesible una vez dentro del mismo intérprete usando la palabra\nreservada **doc** seguido de la función que solicitamos ayuda/información.\n\nSe modifican los archivos de configuración para **Todas** las versiones de\nPHP que se encuentren instaladas en el equipo. Estas modificaciones serán:\n\n- timezone = 'UTC'\n- error_reporting = E_ALL\n- display_errors = On\n- display_startup_errors = On\n- max_execution_time = 180\n- memory_limit = 128M\n- upload_max_filesize = 512M\n- post_max_size = 1024M\n\n### PostgreSQL\n\nSe instala la última versión stable de PostgreSQL (en el futuro se configuran\ntodas las versiones que pudieran estar instalada en el sistema), configura:\n\n- intervalstyle = 'iso_8601\n- timezone = 'UTC'\n\n### MariaDB\n\nInstala el cliente y el servidor para MariaDB (versión libre de MySQL)\n\nTambién instala phpmyadmin para poder manipular/trabajar con estas bases de\ndatos de forma gráfica desde su interfaz web.\n\nUna vez instalado plantea si quieres crear un usuario para desarrollar con el\nnombre \"**dev**\" y con la contraseña en un principio \"**dev**\" dándole todos\nlos permisos de administración y manipulación a este usuario. No debe usarse\nasí en producción y se aconseja una vez finalizado el script cambiar la\ncontraseña de este usuario si habilitamos la posibilidad de conectar fuera de\nlocalhost (para evitar que en sitios públicos puedan acceder, esto aún así es\npoco probable además).\n\n### Python\n\nContempla la instalación de Python2 y Python3 con sus gestores de paquetes\n**pip** y **pip3**.\n\nAdemás se instalan una serie de librerías normalmente recurridas.\n\n### NodeJS\n\nInstala NodeJS (tienen que estar los repositorios agregados) y además contempla\nla instalación de algunos paquetes como ámbito global para poder corregir\nsintaxis javascript en algunos IDE's y/o desde terminal.\n\nTambién instala desde **npm** bower y los siguientes paquetes globales:\n\n- eslint\n- jscs\n- compass\n- stylelint\n- bundled\n\n## Lenguajes de Programación\n\nSe plantea la instalación y configuración de los siguientes lenguajes:\n\n- C\n- C++\n- go\n- php\n- python\n- ruby\n- nodejs\n\n## Directorios\n\n- Accesos_Directos → Contiene los accesos directos individuales para usuario\nque van en ~/.local/share/applications\n- Apache2 → Contenido para la estructura de apache\n- Apps → Contiene scripts y configuraciones especiales para ciertas aplicaciones\n- docs → Directorio con la documentación del proyecto e imágenes.\n- fonts → Contiene un directorio por cada conjunto de fuentes similares\n- Personalizar → Scripts para configurar la estética y comportamientos del sistema, cambiar fondos/temas/iconos/cursores y la instalación opcional de escritorios o window manager.\n- conf → Contiene archivos de configuración o plantillas para generarlos\n- tmp → Directorio donde se descargan los archivos temporales, se crea al\niniciar el script.\n- Servidores → Instala y configura servidores.\n- Lenguajes-Programacion → Instala y configura lenguajes de programación.\n- Repositorios → Contiene las listas de repositorios para añadirlas al sistema\ncuando se elige la opción de agregar repositorios.\n- Desktops → Instala y configura escritorios o window manager\n\n# Scripts\n\n- funciones.sh → Contiene funciones globales y auxiliares para no repetir código\n- configuraciones.sh → Establece aplicaciones determinadas.\n- limpiador.sh → Este script limpia los directorios y archivos que pueden\ncausar más problemas en algún momento, esto existe para depurar principalmente\ny su uso se desaconseja por ser áltamente arriesgado a perder datos.\n- main.sh → Programa principal con menú para elegir paso a realizar\n\nDentro de Apps/\n\n## IDEs\n\n![Previsualización Menú IDEs](docs/IDEs.png)\n\n  - Brackets.sh → Instala y configura Brackets\n  - Ninja-IDE.sh → Instala y configura Ninja IDE\n  - aptanastudio.sh → (No implementado aún, en proceso)\n  - netbeans.sh → (No implementado aún, en proceso)\n  - phpstorm.sh → Instala y configura el IDE PhpStorm para Debian GNU/Linux\n  - pycharm.sh → (No implementado aún, en proceso)\n  - webstorm.sh → (No implementado aún, en proceso)\n- bashit.sh → Instala y configura Bash-it\n- DBeaver.sh → Instala y configura DBeaver\n- Firefox.sh → Instala la versión para desarrolladores **Quantum** y la versión\nen desarrollo principal **Nightly**\n- GitKraken.sh → Instala y configura GitKraken\n- Haroopad.sh → Instala y configura Haroopad\n- i3wm.sh → Instala y configura gestor de ventanas i3wm\n- OhMyZsh.sh → Instala y configura OhMyZsh\n- Pencil-Project.sh → Instala y configura Pencil Project\n- spacevim.sh → Instala y configura SpaceVim\n- vim.sh → Instala y configura Vim\n\nEstructura pendiente de ordenar, alguna información extra:\n\n- Configurar_GIT.sh → Scripts para configurar la integración de GIT, GitHub y\nGitLab\n- Instalar_Software → Instala los programas indicados en la lista\n\"Software.lst\" y algunos extras\n- Personalización_GTK.sh → Genera fondos para grub, escritorio, gdm... y además\niconos, temas y cursores\n- Tipografías.sh → Instala fuentes tipográficas\n- Variables_Entorno.sh → Genera variables de entorno que seran globales en el\nsistema\n\n## Desktops y Windows Manager\n\nSección opcional que permite instalar y dejar configurado automáticamente el\nestcritorio o window manager elegido.\n\nPuedes leer más sobre los escritorios desde aquí:\nhttps://github.com/raupulus/debian-developer-conf/Personalizar/Desktops/README.md\n\n### i3 Window Manager\n\nInstala y configura i3 Window Manager personalizando la barra de estado con i3pystatus y applets autoiniciados.\n\n![Previsualización i3](docs/i3.png)\n\n![Previsualización i3 con dos monitores](docs/i3-Dual_Monitor.png)\n\n### Xmonad\n\n### Openbox\n\n## Comenzar con el script como usuario normal\n\n```bash\ncd $HOME\ngit clone https://github.com/raupulus/debian-developer-conf\n```\n\n## Comenzar con el script como root en vps\n\n```bash\napt install git wget sudo\nwget https://raw.githubusercontent.com/raupulus/debian-developer-conf/master/main-vps.sh -O /tmp/main-vps.sh\ncd /tmp\nchmod ugo+x main-vps.sh\n./main-vps.sh\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraupulus%2Fdebian-developer-conf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraupulus%2Fdebian-developer-conf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraupulus%2Fdebian-developer-conf/lists"}