Update README.md

This commit is contained in:
sadan4 2025-02-27 09:30:39 -05:00 committed by GitHub
parent 581f865097
commit 7fb106130c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -2,48 +2,81 @@
this repo is a bit insane with how things are laid out this repo is a bit insane with how things are laid out
## ./boxes/\<system>/ ## /boxes/\<system>/
has configuration.nix and hardware-configuration.nix as well as any other non-shared modules that are needed for said system has `./configuration.nix` and `./hardware-configuration.nix` as well as any other non-shared modules that are needed for said system
## ./common/ ## /common/
really a src dir really a src dir
### ./common/programs/\<program>.nix ### /common/programs/\<program>.nix
contains programs used used by the system and shared across systems contains programs used used by the system and shared across systems
### ./common/systemModules/\<module>.nix ### /common/systemModules/\<module>.nix
contains modules used by the system, eg ssh, nginx, audio, kernel contains modules used by the system, eg ssh, nginx, audio, kernel
# ./common/users # /common/users
This is where most of the code is This is where most of the code is
## ./common/users/docker/\<service> ## /common/users/docker/\<service>
the full configuration needed to setup and run a docker service, could include sops secrets, docker/docker compose files, and configuration files in clear text the full configuration needed to setup and run a docker service, could include sops secrets, docker/docker compose files, and configuration files in clear text
make sure to enable linger on the user thats running them make sure to enable linger on the user thats running them
### ./common/users/docker/\<service>/default.nix ### /common/users/docker/\<service>/default.nix
a home manager module that installs this service to `~/src/<service>/` a home manager module that installs this service to `~/src/<service>/`
> [!NOTE] > [!NOTE]
> I currently use a mix of `home.file`, `sops.secrets.<secret>.path` and `systemd.user.tmpfiles.rules` to manage needed files, if anyway knows a better way to move away from systed tmpfiles, please reach out and let me know > I currently use a mix of `home.file`, `sops.secrets.<secret>.path` and `systemd.user.tmpfiles.rules` to manage needed files, if anyway knows a better way to move away from systed tmpfiles, please reach out and let me know
### ./common/users/docker/\<service>/nginx.nix ### /common/users/docker/\<service>/nginx.nix
an system module, **not a home manager module** an system module, **not a home manager module**
setus up any nginx config needed for the service as well as any other needed system configuration that cant be done with home manager setus up any nginx config needed for the service as well as any other needed system configuration that cant be done with home manager
> [!WARNING] > [!WARNING]
> This will not enable nginx or setup ssl certs, to do that, see /common/systemModules/nginx.nix > This will not enable nginx or setup ssl certs, to do that, see /common/systemModules/nginx.nix
## ./common/users/homeModules/ ## /common/users/homeModules/
contains all the modules for my configuration **most of the important code is here** contains all the modules for my configuration **most of the important code is here**
**each module should be able to standalone, please let me know if you find that any cant** **each module should be able to standalone, please let me know if you find that any cant**
#### ./common/users/homeModules/dev/\<lang> #### /common/users/homeModules/dev/\<lang>
contains all config needed to run and develop code in that language contains all config needed to run and develop code in that language
#### ./common/users/homeModules/dev/ide/\<editor>.nix #### /common/users/homeModules/dev/ide/\<editor>.nix
contains code for code editors and IDEs contains code for code editors and IDEs
has a default module for all ides has a default module for all ides
*nvim is not an IDE* *nvim is not an IDE*
#### ./common/users/homeModules/dev/ide/jb/\<editor>.nix #### /common/users/homeModules/dev/ide/jb/\<editor>.nix
contains all jet brains or IntelliJ based ides, eg: pycharm, android studio contains all jet brains or IntelliJ based ides, eg: pycharm, android studio
has a default module for all ides has a default module for all ides
### ./common/users/homeModules/scripts ### /common/users/homeModules/scripts
contails shell scripts that are added to bash contails shell scripts that are added to bash
also contains scripts writen in typescript and loaded via a package
see https://github.com/sadan4/scripts
> [!IMPORTANT]
> While the scripts are included as a submodule (at /dotfiles/scripts) for easy editing, that is not what is used to build the system, an input is fetched and that is used
### /common/users/homeModules/jetbrains
> [!CAUTION]
> Unused and probably broken, will be removed in the future
### /common/users/homeModules/media
contains CLI and GUI tools for dealing with media (photo editors, video editors, ffmpeg, imagemagik, etc...)
default.nix just includes ./cli.nix and ./gui.nix
#### /common/users/homeModules/media/cli.nix
CLI tools for handling and managing media (ffmpeg, yt-dlp, ImageMagick, etc.)
#### /common/users/homeModules/media/gui.nix
GUI tools for handling and managing media (shotcut, pinta, gimp, obs, etc.)
#### /common/users/homeModules/media/davinci.nix
Davinci Resolve
> [!WARNING]
> This is seperate because it causes long build times of