https://github.com/knutkirkhorn/dotfiles
My personal dotfiles
https://github.com/knutkirkhorn/dotfiles
bash dotfiles macos npm shell zsh
Last synced: 3 months ago
JSON representation
My personal dotfiles
- Host: GitHub
- URL: https://github.com/knutkirkhorn/dotfiles
- Owner: knutkirkhorn
- License: mit
- Created: 2023-03-12T13:12:31.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-03-19T07:05:15.000Z (over 1 year ago)
- Last Synced: 2025-03-19T08:22:16.370Z (over 1 year ago)
- Topics: bash, dotfiles, macos, npm, shell, zsh
- Language: Shell
- Homepage:
- Size: 21.5 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# dotfiles
> My personal dotfiles
## Install
Run this command when installing or refreshing the dotfiles
```sh
source bootstrap.sh
```
### npm
Scripts live under [`npm/`](npm/).
Run [`npm/npm.sh`](npm/npm.sh) to install global npm CLIs.
```sh
./npm/npm.sh
```
[`npm/npm-security-hardening.sh`](npm/npm-security-hardening.sh) sets minimum release age for npm, pnpm, Yarn, and Bun (supply-chain hardening).
```sh
./npm/npm-security-hardening.sh
```
### macOS
Run this script to install some apps for macOS.
```sh
./macos.sh
```
Touch ID for `sudo`: the PAM snippet lives in [`macos/pam.d/sudo_local`](macos/pam.d/sudo_local). Install or refresh it on a Mac with:
```sh
./macos/sync-sudo-touchid.sh
```
This copies that file to `/etc/pam.d/sudo_local` (requires `sudo`). Your OS `/etc/pam.d/sudo` must include `sudo_local` (current macOS does by default).
### Windows
Windows setup scripts live under [`windows/`](windows/). Run [`windows/windows.ps1`](windows/windows.ps1) in PowerShell to install GUI and CLI apps via `winget` (run from the repo root, or adjust the path).
```powershell
.\windows\windows.ps1
```
## ClickUp weekly init
`scripts/init-clickup-week.ts` creates weekday (Mon-Fri) 30m time entries at 09:00 for the configured ClickUp task(s) in the current week.
### Required env vars
Set these in `.env`:
```sh
CLICKUP_API_KEY=...
CLICKUP_TASK_IDENTIFIER=ENET-1149
```
For multiple tasks, use a comma-separated list in `CLICKUP_TASK_IDENTIFIERS`, or the same format in `CLICKUP_TASK_IDENTIFIER` (or pass multiple arguments when running manually):
```sh
CLICKUP_TASK_IDENTIFIERS=ENET-1149,ENET-2001
```
Optional:
```sh
CLICKUP_TEAM_ID=...
```
### Run manually
```sh
bun run scripts/init-clickup-week.ts
```
Override task(s) from CLI (one or more):
```sh
bun run scripts/init-clickup-week.ts ENET-1149 ENET-2001
```
### Automation
The launchd job is stored in [`scripts/launchd/com.knut.clickup-init-week.plist`](scripts/launchd/com.knut.clickup-init-week.plist) and symlinked to `~/Library/LaunchAgents` by `bootstrap.sh`.
## Inspiration and thanks
- [Mathias Bynens](https://github.com/mathiasbynens/dotfiles)
- [Zach Holman](https://github.com/holman/dotfiles)
- [Paul Irish](https://github.com/paulirish/dotfiles)
- [Kent C. Dodds](https://github.com/kentcdodds/dotfiles)
## Related
- My [Windows aliases](https://github.com/knutkirkhorn/windows-aliases)