feat: Adds hpa configuration, adds global prettierrc and markdownlint

This commit is contained in:
2025-11-04 16:51:48 -05:00
parent 26f2b360e3
commit 1b349b11c3
8 changed files with 106 additions and 41 deletions

View File

@@ -1,2 +1,2 @@
proseWrap: always proseWrap: always
printWidth: 80 printWidth: 120

View File

@@ -1,20 +1,16 @@
# My Dotfiles # My Dotfiles
This is a repository for my dotfiles. Be warned that these may often change and This is a repository for my dotfiles. Be warned that these may often change and that the installation documentation may
that the installation documentation may not always be correct as things not always be correct as things progress. In general the setup process is something that is only done when a new machine
progress. In general the setup process is something that is only done when is purchased or I feel like testing in a virtual machine (which does not happen often). It is helpful to have an
a new machine is purchased or I feel like testing in a virtual machine (which understanding of what these commands do on your own.
does not happen often). It is helpful to have an understanding of what these
commands do on your own.
In general no pull-requests or changes will be accepted, however you can In general no pull-requests or changes will be accepted, however you can generate an issue if you find a problem.
generate an issue if you find a problem.
It currently will install homebrew and the following homebrew formula. It currently will install homebrew and the following homebrew formula.
Most of the functionality is contained in the Most of the functionality is contained in the [dots](https://github.com/m-housh/dots) project, that is a companion to
[dots](https://github.com/m-housh/dots) project, that is a companion to manage manage the dotfiles, which expects the dotfiles directory to be at `~/.dotfiles`.
the dotfiles, which expects the dotfiles directory to be at `~/.dotfiles`.
``` ```
fd fd
@@ -78,15 +74,14 @@ On a fresh system run the following command from the dotfiles root.
make bootstrap make bootstrap
``` ```
This start by installing homebrew, then install the required homebrew formulas and casks. Next it will use This start by installing homebrew, then install the required homebrew formulas and casks. Next it will use `gnu-stow` to
`gnu-stow` to symlink configuration files to the appropriate locations. And finally, it will download symlink configuration files to the appropriate locations. And finally, it will download applications from the
applications from the `App Store`. When the bootstrap command is done it will open up the `~/Downloads` folder `App Store`. When the bootstrap command is done it will open up the `~/Downloads` folder for the few applications that
for the few applications that get downloaded from the internet, so that you can finish the installation of those applications. get downloaded from the internet, so that you can finish the installation of those applications.
### Minimal Setup ### Minimal Setup
If you would like to just setup minimal stuff, link dotfiles, and install brews. If you would like to just setup minimal stuff, link dotfiles, and install brews. Then you can run the following command.
Then you can run the following command.
```bash ```bash
make bootstrap-minimal make bootstrap-minimal
@@ -100,14 +95,13 @@ source scripts/setup_defaults
## Post Installation ## Post Installation
After everything has finished up, you will be able to open `iTerm2` and load After everything has finished up, you will be able to open `iTerm2` and load the profile which should now be symlinked
the profile which should now be symlinked to `~/.config/macOS/iterm/profile.json` to `~/.config/macOS/iterm/profile.json`
## Make commands ## Make commands
It is also possible to not do the full bootstrapping. If you would only like It is also possible to not do the full bootstrapping. If you would only like to install homebrew (without any formula or
to install homebrew (without any formula or casks) then you can run the following casks) then you can run the following command.
command.
``` ```
make bootstrap-homebrew make bootstrap-homebrew
@@ -115,13 +109,12 @@ make bootstrap-homebrew
## Other Make Commands ## Other Make Commands
If you would like to setup any specific `zsh` configuration that is only for If you would like to setup any specific `zsh` configuration that is only for the local machine then you can run the
the local machine then you can run the following command. following command.
```bash ```bash
make zshrc-local make zshrc-local
``` ```
This will generate and symlink a file that you can use to extend the default This will generate and symlink a file that you can use to extend the default `zshrc` configuration. In general, I use
`zshrc` configuration. In general, I use this to set custom location for this to set custom location for homebrew casks to be installed on certain machines.
homebrew casks to be installed on certain machines.

View File

@@ -142,6 +142,8 @@ copy_files $DEV_ENV/env/wallpapers $HOME/wallpapers
mkdir $HOME/Pictures >/dev/null 2>&1 mkdir $HOME/Pictures >/dev/null 2>&1
mkdir -p $XDG_DATA_HOME/clipse/tmp_files mkdir -p $XDG_DATA_HOME/clipse/tmp_files
copy $DEV_ENV/dev-env $HOME/.local/scripts/dev-env copy $DEV_ENV/dev-env $HOME/.local/scripts/dev-env
copy $DEV_ENV/env/.markdownlint.jsonc $HOME/.makrdownlint.jsonc
copy $DEV_ENV/env/.prettierrc.yaml $HOME/.prettierrc.yaml
mkdir -p $XDG_DATA_HOME/applications/icons mkdir -p $XDG_DATA_HOME/applications/icons
copy_files $DEV_ENV/env/.local/share/applications $XDG_DATA_HOME/applications copy_files $DEV_ENV/env/.local/share/applications $XDG_DATA_HOME/applications

72
env/.config/hpa/config.toml vendored Normal file
View File

@@ -0,0 +1,72 @@
# NOTE:
# Configuration settings for the `hpa` command line tool.
# You can delete settings that are not applicable to your use case.
# Default arguments / options that get passed into `ansible-playbook` commands.
# WARNING: Do not put arguments / options that contain spaces in the same string,
# they should be separate strings, for example do not do something like
# ['--tags debug'], instead use ['--tags', 'debug'].
#
args = ['--tags', 'debug']
# Set to true if you want to pass the vault args to `ansible-playbook` commands.
useVaultArgs = true
# NOTE:
# Configuration for running the generate command(s). This allows custimizations
# to the files that get used to generate the final output (generally a pdf).
# See `pandoc --help`. Below are the defaults that get used, which only need
# adjusted if your template does not follow the default template design or if
# you add extra files to your template that need to be included in the final
# output. Also be aware that any of the files specified in the `files` or
# `includeInHeader` options, need to be inside the `buildDirectory` when generating
# the final output file.
# [generate]
# this relative to the project directory.
# buildDirectory = '.build'
# pdfEngine = 'xelatex'
# includeInHeader = [
# 'head.tex',
# 'footer.tex'
# ]
# files = [
# 'Report.md',
# 'Definitions.md'
# ]
# outputFileName = 'Report'
# NOTE:
# These are more for local development of the ansible playbook and should not be needed
# in most cases. Uncomment the lines if you want to customize the playbook and use it
# instead of the provided / default playbook.
[playbook]
directory = '/playbook'
inventory = '/playbook/inventory.ini'
version = 'main'
# NOTE:
# These are to declare where your template files are either on your local system or
# a remote git repository.
[template]
# The directory path on your local system to the template files.
directory = '/template'
# The url to a git repository that contains your template files.
# url = 'https://git.example.com/consult-template.git'
# The version, tag, branch, or sha of the template files to clone from the remote
# template repository. In general it is best practice to use a version instead of a
# branch.
# version = '1.0.0'
# NOTE:
# Holds settings for `ansible-vault` commands.
[vault]
# Arguments to pass to commands that use `ansible-vault`, such as encrypting or decrypting
# files.
args = [ '--vault-password-file=/run/secrets/vault-pass' ]
# An id to use when encrypting `ansible-vault` files.
#encryptId = 'myId'

View File

@@ -2,6 +2,7 @@
# A wrapper script to run swift-hpa in a docker container and # A wrapper script to run swift-hpa in a docker container and
# mount the correct volumes, etc. # mount the correct volumes, etc.
#
DOCKER_IMAGE="git.housh.dev/michael/swift-hpa:latest" DOCKER_IMAGE="git.housh.dev/michael/swift-hpa:latest"
XDG_CONFIG_HOME=${XDG_CONFIG_HOME:-$HOME/.config} XDG_CONFIG_HOME=${XDG_CONFIG_HOME:-$HOME/.config}

8
env/.markdownlint.jsonc vendored Normal file
View File

@@ -0,0 +1,8 @@
{
"default": true,
"MD013": {
"line_length": 120,
"code_blocks": false,
"tables": false,
},
}

2
env/.prettierrc.yaml vendored Normal file
View File

@@ -0,0 +1,2 @@
proseWrap: always
printWidth: 120

View File

@@ -1,13 +0,0 @@
#!/usr/bin/env bash
# Generate login tokens for using work email with neomutt, this only
# needs to be ran once.
/usr/share/neomutt/oauth2/mutt_oauth2.py \
--provider microsoft \
--authorize \
--verbose \
--authflow localhostauthcode \
--client-id='08162f7c-0fd2-4200-a84a-f25a4db0b584' \
--client-secret='TxRBilcHdC6WGBee]fs?QR:SJ8nI[g82' \
"$HOME/.config/mutt/mhoush@houshhomeenergy.com.tokens"