├── overlays └── .git-keep ├── packages └── .git-keep ├── bin ├── rofi │ ├── networkmenu │ ├── spotifymenu │ ├── windowmenu │ ├── appmenu │ └── filemenu ├── agent_fleet │ ├── __init__.py │ ├── core │ │ ├── __init__.py │ │ └── config.py │ ├── tests │ │ └── __init__.py │ └── commands │ │ └── __init__.py ├── timein ├── autoclicker ├── cleanup_after_start ├── agenda ├── capture ├── rebuild-darwin.sh └── monitor ├── .beads ├── .local_version └── metadata.json ├── templates └── minimal │ ├── hosts │ ├── .git-keep │ └── main │ │ ├── default.nix │ │ └── hardware-configuration.nix │ └── flake.nix ├── modules ├── themes │ ├── functional │ │ ├── README.md │ │ ├── config │ │ │ ├── qutebrowser │ │ │ │ └── userstyles │ │ │ │ │ └── monospace-textareas.scss │ │ │ ├── wallpaper.png │ │ │ ├── rofi │ │ │ │ ├── passmenu.rasi │ │ │ │ ├── appmenu.rasi │ │ │ │ ├── filemenu.rasi │ │ │ │ ├── bookmarkmenu.rasi │ │ │ │ ├── base.cyclemenu.rasi │ │ │ │ └── windowmenu.rasi │ │ │ ├── polybar │ │ │ │ └── run.sh │ │ │ └── bspwmrc │ │ └── browsers-nixos.nix │ ├── alucard │ │ ├── config │ │ │ ├── qutebrowser │ │ │ │ └── userstyles │ │ │ │ │ └── monospace-textareas.scss │ │ │ ├── wallpaper.png │ │ │ ├── rofi │ │ │ │ ├── appmenu.rasi │ │ │ │ ├── passmenu.rasi │ │ │ │ ├── filemenu.rasi │ │ │ │ ├── bookmarkmenu.rasi │ │ │ │ ├── base.cyclemenu.rasi │ │ │ │ └── windowmenu.rasi │ │ │ ├── polybar │ │ │ │ └── run.sh │ │ │ └── bspwmrc │ │ └── browsers-nixos.nix │ └── fonts-nixos.nix ├── editors │ └── default.nix ├── shell │ ├── age.nix │ └── zellij.nix ├── hardware │ ├── sensors.nix │ └── printing.nix ├── desktop │ ├── browsers │ │ └── default.nix │ └── term │ │ └── warp.nix ├── services │ ├── radarr.nix │ ├── sonarr.nix │ ├── prowlarr.nix │ ├── paperless.nix │ └── jellyfin.nix └── dev │ ├── scala.nix │ └── nextflow.nix ├── projects └── agent-fleet │ ├── tests │ └── __init__.py │ └── src │ └── agent_fleet │ ├── core │ ├── __init__.py │ └── config.py │ ├── __init__.py │ └── commands │ └── __init__.py ├── config ├── todo │ ├── .env │ ├── tests │ │ ├── bootstrap.sh │ │ └── example_test.sh │ ├── raycast-backup-20250909-224257.tar.gz │ ├── docs │ │ └── deps-implementation-readme.md │ ├── README.md │ └── raycast │ │ ├── list-todotxt-projects.sh │ │ ├── list-todotxt-tasks-context.sh │ │ ├── do-todotxt-task.sh │ │ └── list-todotxt-tasks.sh ├── git │ ├── fg-config │ └── allowed_signers ├── nvim │ ├── .luarc.json │ ├── neovim.yml │ ├── selene.toml │ ├── .stylua.toml │ ├── lua │ │ ├── polish.lua │ │ └── plugins │ │ │ └── treesitter.lua │ └── .neoconf.json ├── kitty │ ├── sessions │ │ ├── minimal.kitty-session │ │ ├── default.kitty-session │ │ ├── dev.kitty-session │ │ └── project.kitty-session │ └── kitty.conf ├── opencode │ ├── package.json │ └── ast-grep │ │ ├── lib │ │ └── macos-arm64 │ │ │ └── libnextflow.dylib │ │ └── rules │ │ ├── deprecated-set-operator.yaml │ │ ├── deprecated-channel-from.yaml │ │ └── hardcoded-paths.yaml ├── qutebrowser │ └── blockedHosts ├── rofi │ └── bin │ │ ├── rofi-windowmenu │ │ ├── rofi-appmenu │ │ └── rofi-filemenu ├── gh │ └── hosts.yml ├── emacs │ └── aliases.zsh ├── ncmpcpp │ ├── aliases.zsh │ └── env.zsh ├── jj │ └── conf.d │ │ ├── fg.toml │ │ ├── nfcore.toml │ │ └── seqera.toml ├── claude │ ├── plugins │ │ ├── github │ │ │ └── .claude-plugin │ │ │ │ └── plugin.json │ │ └── json-to-toon │ │ │ ├── .gitignore │ │ │ └── package.json │ └── config │ │ └── notification_states.json ├── vale │ └── styles │ │ └── Vocab │ │ └── Base │ │ ├── reject.txt │ │ └── accept.txt ├── zsh │ └── completions │ │ └── _jj_dynamic ├── aerc │ └── templates │ │ └── thanks ├── taskwarrior │ └── shortcut-scripts │ │ ├── taskopen.sh │ │ └── try-workspace.sh ├── docker │ └── aliases.zsh ├── wezterm │ └── wezterm.lua ├── jjui │ └── config.toml ├── jira │ └── aliases.zsh ├── atuin │ └── config.toml ├── bugwarrior │ └── aliases.zsh └── julia │ └── startup.jl ├── .jj-workspaces ├── claude-1759848524 │ ├── modules │ │ ├── themes │ │ │ └── functional │ │ │ │ └── README.md │ │ ├── editors │ │ │ └── default.nix │ │ ├── shell │ │ │ ├── age.nix │ │ │ └── zellij.nix │ │ ├── hardware │ │ │ └── sensors.nix │ │ ├── desktop │ │ │ ├── browsers │ │ │ │ └── default.nix │ │ │ └── term │ │ │ │ ├── warp.nix │ │ │ │ └── default.nix │ │ ├── services │ │ │ ├── radarr.nix │ │ │ ├── sonarr.nix │ │ │ ├── prowlarr.nix │ │ │ ├── paperless.nix │ │ │ ├── calibre.nix │ │ │ └── jellyfin.nix │ │ ├── dev │ │ │ └── scala.nix │ │ └── security.nix │ ├── templates │ │ └── minimal │ │ │ ├── hosts │ │ │ └── main │ │ │ │ ├── default.nix │ │ │ │ └── hardware-configuration.nix │ │ │ └── flake.nix │ ├── config │ │ ├── nvim │ │ │ ├── .luarc.json │ │ │ ├── neovim.yml │ │ │ ├── selene.toml │ │ │ ├── .stylua.toml │ │ │ └── .neoconf.json │ │ ├── nvim.bkup │ │ │ ├── stylua.toml │ │ │ ├── lazyvim.json │ │ │ ├── README.md │ │ │ └── .neoconf.json │ │ ├── gh │ │ │ └── hosts.yml │ │ ├── jj │ │ │ └── conf.d │ │ │ │ ├── fg.toml │ │ │ │ ├── nfcore.toml │ │ │ │ └── seqera.toml │ │ ├── todo │ │ │ ├── docs │ │ │ │ └── deps-implementation-readme.md │ │ │ └── README.md │ │ ├── atuin │ │ │ └── config.toml │ │ └── claude │ │ │ ├── commands │ │ │ └── nf │ │ │ │ ├── workflow.md │ │ │ │ └── subworkflow.md │ │ │ └── config │ │ │ └── notification_states.json │ ├── hosts │ │ ├── meshify │ │ │ └── README.md │ │ ├── unas │ │ │ ├── modules │ │ │ │ └── paperless.nix │ │ │ └── users.nix │ │ └── nuc │ │ │ └── secrets │ │ │ └── secrets.nix │ ├── docs │ │ └── install.md │ ├── lib │ │ ├── paths.nix │ │ ├── options.nix │ │ └── platform.nix │ ├── bin │ │ └── todotxtfmt │ │ │ └── cmd │ │ │ └── todotxtfmt │ │ │ └── main.go │ └── .github │ │ └── workflows │ │ └── ci.yml ├── claude-1759848998 │ ├── modules │ │ ├── themes │ │ │ └── functional │ │ │ │ └── README.md │ │ ├── editors │ │ │ └── default.nix │ │ ├── shell │ │ │ ├── age.nix │ │ │ └── zellij.nix │ │ ├── hardware │ │ │ └── sensors.nix │ │ ├── desktop │ │ │ ├── browsers │ │ │ │ └── default.nix │ │ │ └── term │ │ │ │ ├── warp.nix │ │ │ │ └── default.nix │ │ ├── services │ │ │ ├── radarr.nix │ │ │ ├── sonarr.nix │ │ │ ├── prowlarr.nix │ │ │ ├── paperless.nix │ │ │ ├── calibre.nix │ │ │ └── jellyfin.nix │ │ ├── dev │ │ │ └── scala.nix │ │ └── security.nix │ ├── templates │ │ └── minimal │ │ │ ├── hosts │ │ │ └── main │ │ │ │ ├── default.nix │ │ │ │ └── hardware-configuration.nix │ │ │ └── flake.nix │ ├── config │ │ ├── nvim │ │ │ ├── .luarc.json │ │ │ ├── neovim.yml │ │ │ ├── selene.toml │ │ │ ├── .stylua.toml │ │ │ └── .neoconf.json │ │ ├── nvim.bkup │ │ │ ├── stylua.toml │ │ │ ├── lazyvim.json │ │ │ ├── README.md │ │ │ └── .neoconf.json │ │ ├── gh │ │ │ └── hosts.yml │ │ ├── jj │ │ │ └── conf.d │ │ │ │ ├── fg.toml │ │ │ │ ├── nfcore.toml │ │ │ │ └── seqera.toml │ │ ├── todo │ │ │ ├── docs │ │ │ │ └── deps-implementation-readme.md │ │ │ └── README.md │ │ ├── atuin │ │ │ └── config.toml │ │ └── claude │ │ │ ├── commands │ │ │ └── nf │ │ │ │ ├── workflow.md │ │ │ │ └── subworkflow.md │ │ │ └── config │ │ │ └── notification_states.json │ ├── hosts │ │ ├── meshify │ │ │ └── README.md │ │ ├── unas │ │ │ ├── modules │ │ │ │ └── paperless.nix │ │ │ └── users.nix │ │ └── nuc │ │ │ └── secrets │ │ │ └── secrets.nix │ ├── docs │ │ └── install.md │ ├── lib │ │ ├── paths.nix │ │ ├── options.nix │ │ └── platform.nix │ ├── bin │ │ └── todotxtfmt │ │ │ └── cmd │ │ │ └── todotxtfmt │ │ │ └── main.go │ └── .github │ │ └── workflows │ │ └── ci.yml ├── claude-1759849401 │ ├── modules │ │ ├── themes │ │ │ └── functional │ │ │ │ └── README.md │ │ ├── editors │ │ │ └── default.nix │ │ ├── shell │ │ │ ├── age.nix │ │ │ └── zellij.nix │ │ ├── hardware │ │ │ └── sensors.nix │ │ ├── desktop │ │ │ ├── browsers │ │ │ │ └── default.nix │ │ │ └── term │ │ │ │ ├── warp.nix │ │ │ │ └── default.nix │ │ ├── services │ │ │ ├── radarr.nix │ │ │ ├── sonarr.nix │ │ │ ├── prowlarr.nix │ │ │ ├── paperless.nix │ │ │ ├── calibre.nix │ │ │ └── jellyfin.nix │ │ ├── dev │ │ │ └── scala.nix │ │ └── security.nix │ ├── templates │ │ └── minimal │ │ │ ├── hosts │ │ │ └── main │ │ │ │ ├── default.nix │ │ │ │ └── hardware-configuration.nix │ │ │ └── flake.nix │ ├── config │ │ ├── nvim │ │ │ ├── .luarc.json │ │ │ ├── neovim.yml │ │ │ ├── selene.toml │ │ │ ├── .stylua.toml │ │ │ └── .neoconf.json │ │ ├── nvim.bkup │ │ │ ├── stylua.toml │ │ │ ├── lazyvim.json │ │ │ ├── README.md │ │ │ └── .neoconf.json │ │ ├── gh │ │ │ └── hosts.yml │ │ ├── jj │ │ │ └── conf.d │ │ │ │ ├── fg.toml │ │ │ │ ├── nfcore.toml │ │ │ │ └── seqera.toml │ │ ├── todo │ │ │ ├── docs │ │ │ │ └── deps-implementation-readme.md │ │ │ └── README.md │ │ ├── atuin │ │ │ └── config.toml │ │ └── claude │ │ │ ├── commands │ │ │ └── nf │ │ │ │ ├── workflow.md │ │ │ │ └── subworkflow.md │ │ │ └── config │ │ │ └── notification_states.json │ ├── hosts │ │ ├── meshify │ │ │ └── README.md │ │ ├── unas │ │ │ ├── modules │ │ │ │ └── paperless.nix │ │ │ └── users.nix │ │ └── nuc │ │ │ └── secrets │ │ │ └── secrets.nix │ ├── docs │ │ └── install.md │ ├── lib │ │ ├── paths.nix │ │ ├── options.nix │ │ └── platform.nix │ ├── bin │ │ └── todotxtfmt │ │ │ └── cmd │ │ │ └── todotxtfmt │ │ │ └── main.go │ └── .github │ │ └── workflows │ │ └── ci.yml ├── claude-1759849507 │ ├── modules │ │ ├── themes │ │ │ └── functional │ │ │ │ └── README.md │ │ ├── editors │ │ │ └── default.nix │ │ ├── shell │ │ │ ├── age.nix │ │ │ └── zellij.nix │ │ ├── hardware │ │ │ └── sensors.nix │ │ ├── desktop │ │ │ ├── browsers │ │ │ │ └── default.nix │ │ │ └── term │ │ │ │ ├── warp.nix │ │ │ │ └── default.nix │ │ ├── services │ │ │ ├── radarr.nix │ │ │ ├── sonarr.nix │ │ │ ├── prowlarr.nix │ │ │ ├── paperless.nix │ │ │ ├── calibre.nix │ │ │ └── jellyfin.nix │ │ ├── dev │ │ │ └── scala.nix │ │ └── security.nix │ ├── templates │ │ └── minimal │ │ │ ├── hosts │ │ │ └── main │ │ │ │ ├── default.nix │ │ │ │ └── hardware-configuration.nix │ │ │ └── flake.nix │ ├── config │ │ ├── nvim │ │ │ ├── .luarc.json │ │ │ ├── neovim.yml │ │ │ ├── selene.toml │ │ │ ├── .stylua.toml │ │ │ └── .neoconf.json │ │ ├── nvim.bkup │ │ │ ├── stylua.toml │ │ │ ├── lazyvim.json │ │ │ ├── README.md │ │ │ └── .neoconf.json │ │ ├── gh │ │ │ └── hosts.yml │ │ ├── jj │ │ │ └── conf.d │ │ │ │ ├── fg.toml │ │ │ │ ├── nfcore.toml │ │ │ │ └── seqera.toml │ │ ├── todo │ │ │ ├── docs │ │ │ │ └── deps-implementation-readme.md │ │ │ └── README.md │ │ ├── atuin │ │ │ └── config.toml │ │ └── claude │ │ │ ├── commands │ │ │ └── nf │ │ │ │ ├── workflow.md │ │ │ │ └── subworkflow.md │ │ │ └── config │ │ │ └── notification_states.json │ ├── hosts │ │ ├── meshify │ │ │ └── README.md │ │ ├── unas │ │ │ ├── modules │ │ │ │ └── paperless.nix │ │ │ └── users.nix │ │ └── nuc │ │ │ └── secrets │ │ │ └── secrets.nix │ ├── docs │ │ └── install.md │ ├── lib │ │ ├── paths.nix │ │ ├── options.nix │ │ └── platform.nix │ ├── bin │ │ └── todotxtfmt │ │ │ └── cmd │ │ │ └── todotxtfmt │ │ │ └── main.go │ └── .github │ │ └── workflows │ │ └── ci.yml ├── claude-1759849628 │ ├── modules │ │ ├── themes │ │ │ └── functional │ │ │ │ └── README.md │ │ ├── editors │ │ │ └── default.nix │ │ ├── shell │ │ │ ├── age.nix │ │ │ └── zellij.nix │ │ ├── hardware │ │ │ └── sensors.nix │ │ ├── desktop │ │ │ ├── browsers │ │ │ │ └── default.nix │ │ │ └── term │ │ │ │ ├── warp.nix │ │ │ │ └── default.nix │ │ ├── services │ │ │ ├── radarr.nix │ │ │ ├── sonarr.nix │ │ │ ├── prowlarr.nix │ │ │ ├── paperless.nix │ │ │ ├── calibre.nix │ │ │ └── jellyfin.nix │ │ ├── dev │ │ │ └── scala.nix │ │ └── security.nix │ ├── templates │ │ └── minimal │ │ │ ├── hosts │ │ │ └── main │ │ │ │ ├── default.nix │ │ │ │ └── hardware-configuration.nix │ │ │ └── flake.nix │ ├── config │ │ ├── nvim │ │ │ ├── .luarc.json │ │ │ ├── neovim.yml │ │ │ ├── selene.toml │ │ │ ├── .stylua.toml │ │ │ └── .neoconf.json │ │ ├── nvim.bkup │ │ │ ├── stylua.toml │ │ │ ├── lazyvim.json │ │ │ ├── README.md │ │ │ └── .neoconf.json │ │ ├── gh │ │ │ └── hosts.yml │ │ ├── jj │ │ │ └── conf.d │ │ │ │ ├── fg.toml │ │ │ │ ├── nfcore.toml │ │ │ │ └── seqera.toml │ │ ├── todo │ │ │ ├── docs │ │ │ │ └── deps-implementation-readme.md │ │ │ └── README.md │ │ ├── atuin │ │ │ └── config.toml │ │ └── claude │ │ │ ├── commands │ │ │ └── nf │ │ │ │ ├── workflow.md │ │ │ │ └── subworkflow.md │ │ │ └── config │ │ │ └── notification_states.json │ ├── hosts │ │ ├── meshify │ │ │ └── README.md │ │ ├── unas │ │ │ ├── modules │ │ │ │ └── paperless.nix │ │ │ └── users.nix │ │ └── nuc │ │ │ └── secrets │ │ │ └── secrets.nix │ ├── docs │ │ └── install.md │ ├── lib │ │ ├── paths.nix │ │ ├── options.nix │ │ └── platform.nix │ ├── bin │ │ └── todotxtfmt │ │ │ └── cmd │ │ │ └── todotxtfmt │ │ │ └── main.go │ └── .github │ │ └── workflows │ │ └── ci.yml ├── claude-1759849738 │ ├── modules │ │ ├── themes │ │ │ └── functional │ │ │ │ └── README.md │ │ ├── editors │ │ │ └── default.nix │ │ ├── shell │ │ │ ├── age.nix │ │ │ └── zellij.nix │ │ ├── hardware │ │ │ └── sensors.nix │ │ ├── desktop │ │ │ ├── browsers │ │ │ │ └── default.nix │ │ │ └── term │ │ │ │ ├── warp.nix │ │ │ │ └── default.nix │ │ ├── services │ │ │ ├── radarr.nix │ │ │ ├── sonarr.nix │ │ │ ├── prowlarr.nix │ │ │ ├── paperless.nix │ │ │ └── calibre.nix │ │ ├── dev │ │ │ └── scala.nix │ │ └── security.nix │ ├── templates │ │ └── minimal │ │ │ ├── hosts │ │ │ └── main │ │ │ │ ├── default.nix │ │ │ │ └── hardware-configuration.nix │ │ │ └── flake.nix │ ├── config │ │ ├── nvim │ │ │ ├── .luarc.json │ │ │ ├── neovim.yml │ │ │ ├── selene.toml │ │ │ ├── .stylua.toml │ │ │ └── .neoconf.json │ │ ├── nvim.bkup │ │ │ ├── stylua.toml │ │ │ ├── lazyvim.json │ │ │ ├── README.md │ │ │ └── .neoconf.json │ │ ├── gh │ │ │ └── hosts.yml │ │ ├── jj │ │ │ └── conf.d │ │ │ │ ├── fg.toml │ │ │ │ ├── nfcore.toml │ │ │ │ └── seqera.toml │ │ ├── todo │ │ │ ├── docs │ │ │ │ └── deps-implementation-readme.md │ │ │ └── README.md │ │ ├── atuin │ │ │ └── config.toml │ │ └── claude │ │ │ ├── commands │ │ │ └── nf │ │ │ │ ├── workflow.md │ │ │ │ └── subworkflow.md │ │ │ └── config │ │ │ └── notification_states.json │ ├── hosts │ │ ├── meshify │ │ │ └── README.md │ │ ├── unas │ │ │ └── modules │ │ │ │ └── paperless.nix │ │ └── nuc │ │ │ └── secrets │ │ │ └── secrets.nix │ ├── docs │ │ └── install.md │ ├── lib │ │ ├── paths.nix │ │ ├── options.nix │ │ └── platform.nix │ ├── bin │ │ └── todotxtfmt │ │ │ └── cmd │ │ │ └── todotxtfmt │ │ │ └── main.go │ └── .github │ │ └── workflows │ │ └── ci.yml └── claude-1759849945 │ ├── modules │ ├── themes │ │ └── functional │ │ │ └── README.md │ ├── editors │ │ └── default.nix │ ├── shell │ │ ├── age.nix │ │ └── zellij.nix │ ├── hardware │ │ └── sensors.nix │ ├── desktop │ │ ├── browsers │ │ │ └── default.nix │ │ └── term │ │ │ ├── warp.nix │ │ │ └── default.nix │ ├── services │ │ ├── radarr.nix │ │ ├── sonarr.nix │ │ ├── prowlarr.nix │ │ ├── paperless.nix │ │ └── calibre.nix │ ├── dev │ │ └── scala.nix │ └── security.nix │ ├── templates │ └── minimal │ │ ├── hosts │ │ └── main │ │ │ ├── default.nix │ │ │ └── hardware-configuration.nix │ │ └── flake.nix │ ├── config │ ├── nvim │ │ ├── .luarc.json │ │ ├── neovim.yml │ │ ├── selene.toml │ │ ├── .stylua.toml │ │ └── .neoconf.json │ ├── nvim.bkup │ │ ├── stylua.toml │ │ ├── lazyvim.json │ │ ├── README.md │ │ └── .neoconf.json │ ├── gh │ │ └── hosts.yml │ ├── jj │ │ └── conf.d │ │ │ ├── fg.toml │ │ │ ├── nfcore.toml │ │ │ └── seqera.toml │ ├── todo │ │ ├── docs │ │ │ └── deps-implementation-readme.md │ │ └── README.md │ ├── atuin │ │ └── config.toml │ └── claude │ │ ├── commands │ │ └── nf │ │ │ ├── workflow.md │ │ │ └── subworkflow.md │ │ └── config │ │ └── notification_states.json │ ├── hosts │ ├── meshify │ │ └── README.md │ ├── unas │ │ └── modules │ │ │ └── paperless.nix │ └── nuc │ │ └── secrets │ │ └── secrets.nix │ ├── docs │ └── install.md │ ├── lib │ ├── paths.nix │ ├── options.nix │ └── platform.nix │ ├── bin │ └── todotxtfmt │ │ └── cmd │ │ └── todotxtfmt │ │ └── main.go │ └── .github │ └── workflows │ └── ci.yml ├── .gitattributes ├── hosts ├── meshify │ └── README.md ├── nuc │ └── secrets │ │ ├── restic │ │ ├── repo.age │ │ └── password.age │ │ ├── emiller_password.age │ │ └── secrets.nix ├── unas │ ├── secrets │ │ ├── restic │ │ │ ├── repo.age │ │ │ ├── password.age │ │ │ └── rclone.age │ │ └── secrets.nix │ ├── modules │ │ └── paperless.nix │ └── users.nix ├── shared │ └── secrets │ │ ├── taskchampion-sync.age │ │ └── secrets.nix └── mactraitorpro │ └── notes.org ├── .claude └── settings.json ├── .editorconfig ├── docs └── install.md ├── lib ├── paths.nix ├── options.nix └── platform.nix ├── notes.org ├── .github └── workflows │ └── ci.yml └── .gitignore /overlays/.git-keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/.git-keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bin/rofi/networkmenu: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bin/rofi/spotifymenu: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bin/agent_fleet/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.beads/.local_version: -------------------------------------------------------------------------------- 1 | 0.29.0 2 | -------------------------------------------------------------------------------- /bin/agent_fleet/core/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bin/agent_fleet/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /templates/minimal/hosts/.git-keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /modules/themes/functional/README.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /projects/agent-fleet/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /templates/minimal/hosts/main/default.nix: -------------------------------------------------------------------------------- 1 | { } 2 | -------------------------------------------------------------------------------- /projects/agent-fleet/src/agent_fleet/core/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /config/todo/.env: -------------------------------------------------------------------------------- 1 | BASHUNIT_BOOTSTRAP=tests/bootstrap.sh 2 | -------------------------------------------------------------------------------- /templates/minimal/hosts/main/hardware-configuration.nix: -------------------------------------------------------------------------------- 1 | { } 2 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/modules/themes/functional/README.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/modules/themes/functional/README.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/modules/themes/functional/README.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/modules/themes/functional/README.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/modules/themes/functional/README.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/modules/themes/functional/README.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/modules/themes/functional/README.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /config/git/fg-config: -------------------------------------------------------------------------------- 1 | [user] 2 | email = edmund.miller@utdallas.edu -------------------------------------------------------------------------------- /config/nvim/.luarc.json: -------------------------------------------------------------------------------- 1 | { 2 | "format.enable": false 3 | } 4 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/templates/minimal/hosts/main/default.nix: -------------------------------------------------------------------------------- 1 | { } 2 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/templates/minimal/hosts/main/default.nix: -------------------------------------------------------------------------------- 1 | { } 2 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/templates/minimal/hosts/main/default.nix: -------------------------------------------------------------------------------- 1 | { } 2 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/templates/minimal/hosts/main/default.nix: -------------------------------------------------------------------------------- 1 | { } 2 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/templates/minimal/hosts/main/default.nix: -------------------------------------------------------------------------------- 1 | { } 2 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/templates/minimal/hosts/main/default.nix: -------------------------------------------------------------------------------- 1 | { } 2 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/templates/minimal/hosts/main/default.nix: -------------------------------------------------------------------------------- 1 | { } 2 | -------------------------------------------------------------------------------- /config/nvim/neovim.yml: -------------------------------------------------------------------------------- 1 | --- 2 | base: lua51 3 | 4 | globals: 5 | vim: 6 | any: true 7 | -------------------------------------------------------------------------------- /.beads/metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "database": "beads.db", 3 | "jsonl_export": "issues.jsonl" 4 | } -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | 2 | # Use bd merge for beads JSONL files 3 | .beads/issues.jsonl merge=beads 4 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/config/nvim/.luarc.json: -------------------------------------------------------------------------------- 1 | { 2 | "format.enable": false 3 | } 4 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/templates/minimal/hosts/main/hardware-configuration.nix: -------------------------------------------------------------------------------- 1 | { } 2 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/config/nvim/.luarc.json: -------------------------------------------------------------------------------- 1 | { 2 | "format.enable": false 3 | } 4 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/templates/minimal/hosts/main/hardware-configuration.nix: -------------------------------------------------------------------------------- 1 | { } 2 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/config/nvim/.luarc.json: -------------------------------------------------------------------------------- 1 | { 2 | "format.enable": false 3 | } 4 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/templates/minimal/hosts/main/hardware-configuration.nix: -------------------------------------------------------------------------------- 1 | { } 2 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/config/nvim/.luarc.json: -------------------------------------------------------------------------------- 1 | { 2 | "format.enable": false 3 | } 4 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/templates/minimal/hosts/main/hardware-configuration.nix: -------------------------------------------------------------------------------- 1 | { } 2 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/config/nvim/.luarc.json: -------------------------------------------------------------------------------- 1 | { 2 | "format.enable": false 3 | } 4 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/templates/minimal/hosts/main/hardware-configuration.nix: -------------------------------------------------------------------------------- 1 | { } 2 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/config/nvim/.luarc.json: -------------------------------------------------------------------------------- 1 | { 2 | "format.enable": false 3 | } 4 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/templates/minimal/hosts/main/hardware-configuration.nix: -------------------------------------------------------------------------------- 1 | { } 2 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/config/nvim/.luarc.json: -------------------------------------------------------------------------------- 1 | { 2 | "format.enable": false 3 | } 4 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/templates/minimal/hosts/main/hardware-configuration.nix: -------------------------------------------------------------------------------- 1 | { } 2 | -------------------------------------------------------------------------------- /hosts/meshify/README.md: -------------------------------------------------------------------------------- 1 | ```sh 2 | cp 50-mouseacceleration.conf /etc/X11/xorg.conf.d/. 3 | ``` 4 | -------------------------------------------------------------------------------- /config/kitty/sessions/minimal.kitty-session: -------------------------------------------------------------------------------- 1 | # Minimal single-window session 2 | layout tall 3 | launch 4 | -------------------------------------------------------------------------------- /config/opencode/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "@opencode-ai/plugin": "1.0.143" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /config/qutebrowser/blockedHosts: -------------------------------------------------------------------------------- 1 | www.youtube.com 2 | www.reddit.com 3 | old.reddit.com 4 | libredd.it 5 | twitter.com -------------------------------------------------------------------------------- /config/rofi/bin/rofi-windowmenu: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | rofi -show window -show-icons -theme theme/windowmenu.rasi 3 | -------------------------------------------------------------------------------- /config/todo/tests/bootstrap.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -euo pipefail 3 | # Place your common test setup here 4 | -------------------------------------------------------------------------------- /hosts/nuc/secrets/restic/repo.age: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/edmundmiller/dotfiles/HEAD/hosts/nuc/secrets/restic/repo.age -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/config/nvim.bkup/stylua.toml: -------------------------------------------------------------------------------- 1 | indent_type = "Spaces" 2 | indent_width = 2 3 | column_width = 120 -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/config/nvim/neovim.yml: -------------------------------------------------------------------------------- 1 | --- 2 | base: lua51 3 | 4 | globals: 5 | vim: 6 | any: true 7 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/config/nvim.bkup/stylua.toml: -------------------------------------------------------------------------------- 1 | indent_type = "Spaces" 2 | indent_width = 2 3 | column_width = 120 -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/config/nvim/neovim.yml: -------------------------------------------------------------------------------- 1 | --- 2 | base: lua51 3 | 4 | globals: 5 | vim: 6 | any: true 7 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/config/nvim.bkup/stylua.toml: -------------------------------------------------------------------------------- 1 | indent_type = "Spaces" 2 | indent_width = 2 3 | column_width = 120 -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/config/nvim/neovim.yml: -------------------------------------------------------------------------------- 1 | --- 2 | base: lua51 3 | 4 | globals: 5 | vim: 6 | any: true 7 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/config/nvim.bkup/stylua.toml: -------------------------------------------------------------------------------- 1 | indent_type = "Spaces" 2 | indent_width = 2 3 | column_width = 120 -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/config/nvim/neovim.yml: -------------------------------------------------------------------------------- 1 | --- 2 | base: lua51 3 | 4 | globals: 5 | vim: 6 | any: true 7 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/config/nvim.bkup/stylua.toml: -------------------------------------------------------------------------------- 1 | indent_type = "Spaces" 2 | indent_width = 2 3 | column_width = 120 -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/config/nvim/neovim.yml: -------------------------------------------------------------------------------- 1 | --- 2 | base: lua51 3 | 4 | globals: 5 | vim: 6 | any: true 7 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/config/nvim.bkup/stylua.toml: -------------------------------------------------------------------------------- 1 | indent_type = "Spaces" 2 | indent_width = 2 3 | column_width = 120 -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/config/nvim/neovim.yml: -------------------------------------------------------------------------------- 1 | --- 2 | base: lua51 3 | 4 | globals: 5 | vim: 6 | any: true 7 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/config/nvim.bkup/stylua.toml: -------------------------------------------------------------------------------- 1 | indent_type = "Spaces" 2 | indent_width = 2 3 | column_width = 120 -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/config/nvim/neovim.yml: -------------------------------------------------------------------------------- 1 | --- 2 | base: lua51 3 | 4 | globals: 5 | vim: 6 | any: true 7 | -------------------------------------------------------------------------------- /bin/rofi/windowmenu: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | rofi -show window \ 3 | -show-icons \ 4 | -theme theme/windowmenu.rasi 5 | -------------------------------------------------------------------------------- /hosts/unas/secrets/restic/repo.age: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/edmundmiller/dotfiles/HEAD/hosts/unas/secrets/restic/repo.age -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/hosts/meshify/README.md: -------------------------------------------------------------------------------- 1 | ```sh 2 | cp 50-mouseacceleration.conf /etc/X11/xorg.conf.d/. 3 | ``` 4 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/hosts/meshify/README.md: -------------------------------------------------------------------------------- 1 | ```sh 2 | cp 50-mouseacceleration.conf /etc/X11/xorg.conf.d/. 3 | ``` 4 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/hosts/meshify/README.md: -------------------------------------------------------------------------------- 1 | ```sh 2 | cp 50-mouseacceleration.conf /etc/X11/xorg.conf.d/. 3 | ``` 4 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/hosts/meshify/README.md: -------------------------------------------------------------------------------- 1 | ```sh 2 | cp 50-mouseacceleration.conf /etc/X11/xorg.conf.d/. 3 | ``` 4 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/hosts/meshify/README.md: -------------------------------------------------------------------------------- 1 | ```sh 2 | cp 50-mouseacceleration.conf /etc/X11/xorg.conf.d/. 3 | ``` 4 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/hosts/meshify/README.md: -------------------------------------------------------------------------------- 1 | ```sh 2 | cp 50-mouseacceleration.conf /etc/X11/xorg.conf.d/. 3 | ``` 4 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/hosts/meshify/README.md: -------------------------------------------------------------------------------- 1 | ```sh 2 | cp 50-mouseacceleration.conf /etc/X11/xorg.conf.d/. 3 | ``` 4 | -------------------------------------------------------------------------------- /config/gh/hosts.yml: -------------------------------------------------------------------------------- 1 | github.com: 2 | git_protocol: ssh 3 | users: 4 | edmundmiller: 5 | user: edmundmiller 6 | -------------------------------------------------------------------------------- /hosts/nuc/secrets/emiller_password.age: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/edmundmiller/dotfiles/HEAD/hosts/nuc/secrets/emiller_password.age -------------------------------------------------------------------------------- /hosts/nuc/secrets/restic/password.age: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/edmundmiller/dotfiles/HEAD/hosts/nuc/secrets/restic/password.age -------------------------------------------------------------------------------- /hosts/unas/secrets/restic/password.age: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/edmundmiller/dotfiles/HEAD/hosts/unas/secrets/restic/password.age -------------------------------------------------------------------------------- /hosts/unas/secrets/restic/rclone.age: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/edmundmiller/dotfiles/HEAD/hosts/unas/secrets/restic/rclone.age -------------------------------------------------------------------------------- /modules/themes/alucard/config/qutebrowser/userstyles/monospace-textareas.scss: -------------------------------------------------------------------------------- 1 | textarea { 2 | font-family: monospace; 3 | } 4 | -------------------------------------------------------------------------------- /modules/themes/functional/config/qutebrowser/userstyles/monospace-textareas.scss: -------------------------------------------------------------------------------- 1 | textarea { 2 | font-family: monospace; 3 | } 4 | -------------------------------------------------------------------------------- /config/emacs/aliases.zsh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env zsh 2 | 3 | alias e='emacsclient -n' 4 | ediff() { e --eval "(ediff-files \"$1\" \"$2\")"; } 5 | -------------------------------------------------------------------------------- /hosts/shared/secrets/taskchampion-sync.age: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/edmundmiller/dotfiles/HEAD/hosts/shared/secrets/taskchampion-sync.age -------------------------------------------------------------------------------- /modules/themes/alucard/config/wallpaper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/edmundmiller/dotfiles/HEAD/modules/themes/alucard/config/wallpaper.png -------------------------------------------------------------------------------- /.claude/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "permissions": { 3 | "allow": ["Bash(bunx ccusage:*)"], 4 | "deny": [], 5 | "ask": [] 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /bin/rofi/appmenu: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | rofi -show drun \ 3 | -modi drun,run \ 4 | -show-icons \ 5 | -theme theme/appmenu.rasi 6 | -------------------------------------------------------------------------------- /bin/timein: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | open=open 4 | [[ $OSTYPE == linux* ]] && open=xdg-open 5 | 6 | $open https://time.is/$1 2>/dev/null & 7 | -------------------------------------------------------------------------------- /config/git/allowed_signers: -------------------------------------------------------------------------------- 1 | git@edmundmiller.dev ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPBsb81evtCCcWSZcLbFaXWrAeCWFrPXPjUvjH4ZKbQC edmundmiller 2 | -------------------------------------------------------------------------------- /config/ncmpcpp/aliases.zsh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env zsh 2 | 3 | alias rate=mpd-rate 4 | alias mpcs='mpc search any' 5 | alias mpcsp='mpc searchplay any' 6 | -------------------------------------------------------------------------------- /config/ncmpcpp/env.zsh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env zsh 2 | 3 | export MPD_HOME="$XDG_CONFIG_HOME/mpd" 4 | export NCMPCPP_HOME="$XDG_CONFIG_HOME/ncmpcpp" 5 | -------------------------------------------------------------------------------- /modules/themes/functional/config/wallpaper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/edmundmiller/dotfiles/HEAD/modules/themes/functional/config/wallpaper.png -------------------------------------------------------------------------------- /config/jj/conf.d/fg.toml: -------------------------------------------------------------------------------- 1 | # UTD/FG academic repositories 2 | --when.repositories = ["~/src/fg"] 3 | 4 | [user] 5 | email = "edmund.miller@utdallas.edu" 6 | -------------------------------------------------------------------------------- /config/jj/conf.d/nfcore.toml: -------------------------------------------------------------------------------- 1 | # nf-core community repositories 2 | --when.repositories = ["~/src/nf-core"] 3 | 4 | [user] 5 | email = "edmund@nf-co.re" 6 | -------------------------------------------------------------------------------- /config/kitty/sessions/default.kitty-session: -------------------------------------------------------------------------------- 1 | # Auto-generated default session 2 | # This file is automatically updated when you save with Ctrl+Alt+S > S 3 | -------------------------------------------------------------------------------- /config/todo/raycast-backup-20250909-224257.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/edmundmiller/dotfiles/HEAD/config/todo/raycast-backup-20250909-224257.tar.gz -------------------------------------------------------------------------------- /modules/themes/functional/config/rofi/passmenu.rasi: -------------------------------------------------------------------------------- 1 | /* -*- mode: css; -*- */ 2 | @import "config.rasi" 3 | 4 | textbox-icon { 5 | str: "  "; 6 | } 7 | -------------------------------------------------------------------------------- /projects/agent-fleet/src/agent_fleet/__init__.py: -------------------------------------------------------------------------------- 1 | """agent-fleet: Manage parallel JJ workspaces for AI coding agents.""" 2 | 3 | __version__ = "0.1.0" 4 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/config/gh/hosts.yml: -------------------------------------------------------------------------------- 1 | github.com: 2 | git_protocol: ssh 3 | users: 4 | edmundmiller: 5 | user: edmundmiller 6 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/config/gh/hosts.yml: -------------------------------------------------------------------------------- 1 | github.com: 2 | git_protocol: ssh 3 | users: 4 | edmundmiller: 5 | user: edmundmiller 6 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/config/gh/hosts.yml: -------------------------------------------------------------------------------- 1 | github.com: 2 | git_protocol: ssh 3 | users: 4 | edmundmiller: 5 | user: edmundmiller 6 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/config/gh/hosts.yml: -------------------------------------------------------------------------------- 1 | github.com: 2 | git_protocol: ssh 3 | users: 4 | edmundmiller: 5 | user: edmundmiller 6 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/config/gh/hosts.yml: -------------------------------------------------------------------------------- 1 | github.com: 2 | git_protocol: ssh 3 | users: 4 | edmundmiller: 5 | user: edmundmiller 6 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/config/gh/hosts.yml: -------------------------------------------------------------------------------- 1 | github.com: 2 | git_protocol: ssh 3 | users: 4 | edmundmiller: 5 | user: edmundmiller 6 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/config/gh/hosts.yml: -------------------------------------------------------------------------------- 1 | github.com: 2 | git_protocol: ssh 3 | users: 4 | edmundmiller: 5 | user: edmundmiller 6 | -------------------------------------------------------------------------------- /bin/autoclicker: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | while true; do 4 | xdotool mousedown 1 5 | sleep 0.01 6 | xdotool mouseup 1 7 | sleep 0.01 8 | done 9 | -------------------------------------------------------------------------------- /hosts/mactraitorpro/notes.org: -------------------------------------------------------------------------------- 1 | #+title: Notes 2 | 3 | [[https://github.com/dustinlyons/nixos-config/blob/main/modules/darwin/dock/default.nix][Declarative dock]] 4 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/config/nvim.bkup/lazyvim.json: -------------------------------------------------------------------------------- 1 | { 2 | "extras": [ 3 | 4 | ], 5 | "news": { 6 | "NEWS.md": "11866" 7 | }, 8 | "version": 8 9 | } -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/config/nvim.bkup/lazyvim.json: -------------------------------------------------------------------------------- 1 | { 2 | "extras": [ 3 | 4 | ], 5 | "news": { 6 | "NEWS.md": "11866" 7 | }, 8 | "version": 8 9 | } -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/config/nvim.bkup/lazyvim.json: -------------------------------------------------------------------------------- 1 | { 2 | "extras": [ 3 | 4 | ], 5 | "news": { 6 | "NEWS.md": "11866" 7 | }, 8 | "version": 8 9 | } -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/config/nvim.bkup/lazyvim.json: -------------------------------------------------------------------------------- 1 | { 2 | "extras": [ 3 | 4 | ], 5 | "news": { 6 | "NEWS.md": "11866" 7 | }, 8 | "version": 8 9 | } -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/config/nvim.bkup/lazyvim.json: -------------------------------------------------------------------------------- 1 | { 2 | "extras": [ 3 | 4 | ], 5 | "news": { 6 | "NEWS.md": "11866" 7 | }, 8 | "version": 8 9 | } -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/config/nvim.bkup/lazyvim.json: -------------------------------------------------------------------------------- 1 | { 2 | "extras": [ 3 | 4 | ], 5 | "news": { 6 | "NEWS.md": "11866" 7 | }, 8 | "version": 8 9 | } -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/config/nvim.bkup/lazyvim.json: -------------------------------------------------------------------------------- 1 | { 2 | "extras": [ 3 | 4 | ], 5 | "news": { 6 | "NEWS.md": "11866" 7 | }, 8 | "version": 8 9 | } -------------------------------------------------------------------------------- /config/opencode/ast-grep/lib/macos-arm64/libnextflow.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/edmundmiller/dotfiles/HEAD/config/opencode/ast-grep/lib/macos-arm64/libnextflow.dylib -------------------------------------------------------------------------------- /config/todo/tests/example_test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | function test_bashunit_is_installed() { 4 | assert_same "bashunit is installed" "bashunit is installed" 5 | } 6 | -------------------------------------------------------------------------------- /config/claude/plugins/github/.claude-plugin/plugin.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "github", 3 | "version": "1.0.0", 4 | "description": "GitHub PR review and workflow commands" 5 | } 6 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/config/jj/conf.d/fg.toml: -------------------------------------------------------------------------------- 1 | # UTD/FG academic repositories 2 | --when.repositories = ["~/src/fg"] 3 | 4 | [user] 5 | email = "edmund.miller@utdallas.edu" 6 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/config/jj/conf.d/nfcore.toml: -------------------------------------------------------------------------------- 1 | # nf-core community repositories 2 | --when.repositories = ["~/src/nf-core"] 3 | 4 | [user] 5 | email = "edmund@nf-co.re" 6 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/config/jj/conf.d/fg.toml: -------------------------------------------------------------------------------- 1 | # UTD/FG academic repositories 2 | --when.repositories = ["~/src/fg"] 3 | 4 | [user] 5 | email = "edmund.miller@utdallas.edu" 6 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/config/jj/conf.d/nfcore.toml: -------------------------------------------------------------------------------- 1 | # nf-core community repositories 2 | --when.repositories = ["~/src/nf-core"] 3 | 4 | [user] 5 | email = "edmund@nf-co.re" 6 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/config/jj/conf.d/fg.toml: -------------------------------------------------------------------------------- 1 | # UTD/FG academic repositories 2 | --when.repositories = ["~/src/fg"] 3 | 4 | [user] 5 | email = "edmund.miller@utdallas.edu" 6 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/config/jj/conf.d/nfcore.toml: -------------------------------------------------------------------------------- 1 | # nf-core community repositories 2 | --when.repositories = ["~/src/nf-core"] 3 | 4 | [user] 5 | email = "edmund@nf-co.re" 6 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/config/jj/conf.d/fg.toml: -------------------------------------------------------------------------------- 1 | # UTD/FG academic repositories 2 | --when.repositories = ["~/src/fg"] 3 | 4 | [user] 5 | email = "edmund.miller@utdallas.edu" 6 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/config/jj/conf.d/nfcore.toml: -------------------------------------------------------------------------------- 1 | # nf-core community repositories 2 | --when.repositories = ["~/src/nf-core"] 3 | 4 | [user] 5 | email = "edmund@nf-co.re" 6 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/config/jj/conf.d/fg.toml: -------------------------------------------------------------------------------- 1 | # UTD/FG academic repositories 2 | --when.repositories = ["~/src/fg"] 3 | 4 | [user] 5 | email = "edmund.miller@utdallas.edu" 6 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/config/jj/conf.d/nfcore.toml: -------------------------------------------------------------------------------- 1 | # nf-core community repositories 2 | --when.repositories = ["~/src/nf-core"] 3 | 4 | [user] 5 | email = "edmund@nf-co.re" 6 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/config/jj/conf.d/fg.toml: -------------------------------------------------------------------------------- 1 | # UTD/FG academic repositories 2 | --when.repositories = ["~/src/fg"] 3 | 4 | [user] 5 | email = "edmund.miller@utdallas.edu" 6 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/config/jj/conf.d/nfcore.toml: -------------------------------------------------------------------------------- 1 | # nf-core community repositories 2 | --when.repositories = ["~/src/nf-core"] 3 | 4 | [user] 5 | email = "edmund@nf-co.re" 6 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/config/jj/conf.d/fg.toml: -------------------------------------------------------------------------------- 1 | # UTD/FG academic repositories 2 | --when.repositories = ["~/src/fg"] 3 | 4 | [user] 5 | email = "edmund.miller@utdallas.edu" 6 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/config/jj/conf.d/nfcore.toml: -------------------------------------------------------------------------------- 1 | # nf-core community repositories 2 | --when.repositories = ["~/src/nf-core"] 3 | 4 | [user] 5 | email = "edmund@nf-co.re" 6 | -------------------------------------------------------------------------------- /config/rofi/bin/rofi-appmenu: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | rofi -show drun \ 3 | -modi drun,run \ 4 | -display-drun apps \ 5 | -show-icons \ 6 | -theme theme/appmenu.rasi 7 | -------------------------------------------------------------------------------- /config/vale/styles/Vocab/Base/reject.txt: -------------------------------------------------------------------------------- 1 | # Add terms that Vale should flag as incorrect 2 | # One term per line 3 | # Example misspellings or discouraged terms 4 | teh 5 | recieve 6 | occured -------------------------------------------------------------------------------- /config/zsh/completions/_jj_dynamic: -------------------------------------------------------------------------------- 1 | #compdef jj 2 | # Dynamic JJ completion using the official method from JJ docs 3 | 4 | # Use JJ's built-in dynamic completion engine 5 | eval "$(COMPLETE=zsh jj)" -------------------------------------------------------------------------------- /bin/cleanup_after_start: -------------------------------------------------------------------------------- 1 | sleep 10 2 | hyprctl keyword windowrule "workspace unset,firefox" 3 | hyprctl keyword windowrule "workspace unset,emacs" 4 | hyprctl keyword windowrule "workspace unset,wezterm" 5 | -------------------------------------------------------------------------------- /config/aerc/templates/thanks: -------------------------------------------------------------------------------- 1 | Thanks! 2 | 3 | 4 | {{exec "{ git remote get-url --push origin; git reflog -2 origin/master --pretty=format:%h; } | xargs printf 'To %s\n %s..%s master -> master\n'" ""}} 5 | -------------------------------------------------------------------------------- /modules/themes/alucard/config/rofi/appmenu.rasi: -------------------------------------------------------------------------------- 1 | /* -*- mode: css; -*- */ 2 | @import "config.rasi" 3 | 4 | textbox-icon { 5 | str: "  "; 6 | } 7 | 8 | prompt { 9 | enabled: false; 10 | } 11 | -------------------------------------------------------------------------------- /modules/themes/alucard/config/rofi/passmenu.rasi: -------------------------------------------------------------------------------- 1 | /* -*- mode: css; -*- */ 2 | @import "config.rasi" 3 | 4 | listview { 5 | columns: 1; 6 | } 7 | 8 | textbox-icon { 9 | str: "  "; 10 | } 11 | -------------------------------------------------------------------------------- /modules/themes/alucard/config/rofi/filemenu.rasi: -------------------------------------------------------------------------------- 1 | /* -*- mode: css; -*- */ 2 | 3 | @import "config.rasi" 4 | 5 | textbox-icon { 6 | str: "  "; 7 | } 8 | 9 | prompt { 10 | enabled: true; 11 | } 12 | -------------------------------------------------------------------------------- /modules/themes/functional/config/rofi/appmenu.rasi: -------------------------------------------------------------------------------- 1 | /* -*- mode: css; -*- */ 2 | @import "config.rasi" 3 | 4 | textbox-icon { 5 | str: "  "; 6 | } 7 | 8 | prompt { 9 | enabled: false; 10 | } 11 | -------------------------------------------------------------------------------- /config/taskwarrior/shortcut-scripts/taskopen.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Open annotations for the selected task using taskopen 3 | # Called from taskwarrior-tui with task UUID(s) as arguments 4 | taskopen "$@" 5 | -------------------------------------------------------------------------------- /modules/themes/functional/config/rofi/filemenu.rasi: -------------------------------------------------------------------------------- 1 | /* -*- mode: css; -*- */ 2 | 3 | @import "config.rasi" 4 | 5 | textbox-icon { 6 | str: "  "; 7 | } 8 | 9 | prompt { 10 | enabled: true; 11 | } 12 | -------------------------------------------------------------------------------- /bin/agent_fleet/commands/__init__.py: -------------------------------------------------------------------------------- 1 | """Command modules for agent-fleet.""" 2 | 3 | from agent_fleet.commands import create, list, cleanup, diff, note 4 | 5 | __all__ = ["create", "list", "cleanup", "diff", "note"] 6 | -------------------------------------------------------------------------------- /config/nvim/selene.toml: -------------------------------------------------------------------------------- 1 | std = "neovim" 2 | 3 | [rules] 4 | global_usage = "allow" 5 | if_same_then_else = "allow" 6 | incorrect_standard_library_use = "allow" 7 | mixed_table = "allow" 8 | multiple_statements = "allow" 9 | -------------------------------------------------------------------------------- /config/nvim/.stylua.toml: -------------------------------------------------------------------------------- 1 | column_width = 120 2 | line_endings = "Unix" 3 | indent_type = "Spaces" 4 | indent_width = 2 5 | quote_style = "AutoPreferDouble" 6 | call_parentheses = "None" 7 | collapse_simple_statement = "Always" 8 | -------------------------------------------------------------------------------- /projects/agent-fleet/src/agent_fleet/commands/__init__.py: -------------------------------------------------------------------------------- 1 | """Command modules for agent-fleet.""" 2 | 3 | from agent_fleet.commands import create, list, cleanup, diff, note 4 | 5 | __all__ = ["create", "list", "cleanup", "diff", "note"] 6 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/config/nvim.bkup/README.md: -------------------------------------------------------------------------------- 1 | # 💤 LazyVim 2 | 3 | A starter template for [LazyVim](https://github.com/LazyVim/LazyVim). 4 | Refer to the [documentation](https://lazyvim.github.io/installation) to get started. 5 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/config/nvim.bkup/README.md: -------------------------------------------------------------------------------- 1 | # 💤 LazyVim 2 | 3 | A starter template for [LazyVim](https://github.com/LazyVim/LazyVim). 4 | Refer to the [documentation](https://lazyvim.github.io/installation) to get started. 5 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/config/nvim.bkup/README.md: -------------------------------------------------------------------------------- 1 | # 💤 LazyVim 2 | 3 | A starter template for [LazyVim](https://github.com/LazyVim/LazyVim). 4 | Refer to the [documentation](https://lazyvim.github.io/installation) to get started. 5 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/config/nvim.bkup/README.md: -------------------------------------------------------------------------------- 1 | # 💤 LazyVim 2 | 3 | A starter template for [LazyVim](https://github.com/LazyVim/LazyVim). 4 | Refer to the [documentation](https://lazyvim.github.io/installation) to get started. 5 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/config/nvim.bkup/README.md: -------------------------------------------------------------------------------- 1 | # 💤 LazyVim 2 | 3 | A starter template for [LazyVim](https://github.com/LazyVim/LazyVim). 4 | Refer to the [documentation](https://lazyvim.github.io/installation) to get started. 5 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/config/nvim.bkup/README.md: -------------------------------------------------------------------------------- 1 | # 💤 LazyVim 2 | 3 | A starter template for [LazyVim](https://github.com/LazyVim/LazyVim). 4 | Refer to the [documentation](https://lazyvim.github.io/installation) to get started. 5 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/config/nvim.bkup/README.md: -------------------------------------------------------------------------------- 1 | # 💤 LazyVim 2 | 3 | A starter template for [LazyVim](https://github.com/LazyVim/LazyVim). 4 | Refer to the [documentation](https://lazyvim.github.io/installation) to get started. 5 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | end_of_line = lf 6 | insert_final_newline = true 7 | trim_trailing_whitespace = true 8 | indent_size = 4 9 | indent_style = space 10 | 11 | [*.{md,yml,yaml,cff}] 12 | indent_size = 2 -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/config/nvim/selene.toml: -------------------------------------------------------------------------------- 1 | std = "neovim" 2 | 3 | [rules] 4 | global_usage = "allow" 5 | if_same_then_else = "allow" 6 | incorrect_standard_library_use = "allow" 7 | mixed_table = "allow" 8 | multiple_statements = "allow" 9 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/config/nvim/selene.toml: -------------------------------------------------------------------------------- 1 | std = "neovim" 2 | 3 | [rules] 4 | global_usage = "allow" 5 | if_same_then_else = "allow" 6 | incorrect_standard_library_use = "allow" 7 | mixed_table = "allow" 8 | multiple_statements = "allow" 9 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/config/nvim/selene.toml: -------------------------------------------------------------------------------- 1 | std = "neovim" 2 | 3 | [rules] 4 | global_usage = "allow" 5 | if_same_then_else = "allow" 6 | incorrect_standard_library_use = "allow" 7 | mixed_table = "allow" 8 | multiple_statements = "allow" 9 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/config/nvim/selene.toml: -------------------------------------------------------------------------------- 1 | std = "neovim" 2 | 3 | [rules] 4 | global_usage = "allow" 5 | if_same_then_else = "allow" 6 | incorrect_standard_library_use = "allow" 7 | mixed_table = "allow" 8 | multiple_statements = "allow" 9 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/config/nvim/selene.toml: -------------------------------------------------------------------------------- 1 | std = "neovim" 2 | 3 | [rules] 4 | global_usage = "allow" 5 | if_same_then_else = "allow" 6 | incorrect_standard_library_use = "allow" 7 | mixed_table = "allow" 8 | multiple_statements = "allow" 9 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/config/nvim/selene.toml: -------------------------------------------------------------------------------- 1 | std = "neovim" 2 | 3 | [rules] 4 | global_usage = "allow" 5 | if_same_then_else = "allow" 6 | incorrect_standard_library_use = "allow" 7 | mixed_table = "allow" 8 | multiple_statements = "allow" 9 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/config/nvim/selene.toml: -------------------------------------------------------------------------------- 1 | std = "neovim" 2 | 3 | [rules] 4 | global_usage = "allow" 5 | if_same_then_else = "allow" 6 | incorrect_standard_library_use = "allow" 7 | mixed_table = "allow" 8 | multiple_statements = "allow" 9 | -------------------------------------------------------------------------------- /modules/themes/alucard/config/polybar/run.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | pkill -u $UID -x polybar 4 | while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done 5 | 6 | polybar main >$XDG_DATA_HOME/polybar.log 2>&1 & 7 | echo 'Polybar launched...' 8 | -------------------------------------------------------------------------------- /modules/themes/functional/config/polybar/run.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | pkill -u $UID -x polybar 4 | while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done 5 | 6 | polybar main >$XDG_DATA_HOME/polybar.log 2>&1 & 7 | echo 'Polybar launched...' 8 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/config/nvim/.stylua.toml: -------------------------------------------------------------------------------- 1 | column_width = 120 2 | line_endings = "Unix" 3 | indent_type = "Spaces" 4 | indent_width = 2 5 | quote_style = "AutoPreferDouble" 6 | call_parentheses = "None" 7 | collapse_simple_statement = "Always" 8 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/config/nvim/.stylua.toml: -------------------------------------------------------------------------------- 1 | column_width = 120 2 | line_endings = "Unix" 3 | indent_type = "Spaces" 4 | indent_width = 2 5 | quote_style = "AutoPreferDouble" 6 | call_parentheses = "None" 7 | collapse_simple_statement = "Always" 8 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/config/nvim/.stylua.toml: -------------------------------------------------------------------------------- 1 | column_width = 120 2 | line_endings = "Unix" 3 | indent_type = "Spaces" 4 | indent_width = 2 5 | quote_style = "AutoPreferDouble" 6 | call_parentheses = "None" 7 | collapse_simple_statement = "Always" 8 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/config/nvim/.stylua.toml: -------------------------------------------------------------------------------- 1 | column_width = 120 2 | line_endings = "Unix" 3 | indent_type = "Spaces" 4 | indent_width = 2 5 | quote_style = "AutoPreferDouble" 6 | call_parentheses = "None" 7 | collapse_simple_statement = "Always" 8 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/config/nvim/.stylua.toml: -------------------------------------------------------------------------------- 1 | column_width = 120 2 | line_endings = "Unix" 3 | indent_type = "Spaces" 4 | indent_width = 2 5 | quote_style = "AutoPreferDouble" 6 | call_parentheses = "None" 7 | collapse_simple_statement = "Always" 8 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/config/nvim/.stylua.toml: -------------------------------------------------------------------------------- 1 | column_width = 120 2 | line_endings = "Unix" 3 | indent_type = "Spaces" 4 | indent_width = 2 5 | quote_style = "AutoPreferDouble" 6 | call_parentheses = "None" 7 | collapse_simple_statement = "Always" 8 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/config/nvim/.stylua.toml: -------------------------------------------------------------------------------- 1 | column_width = 120 2 | line_endings = "Unix" 3 | indent_type = "Spaces" 4 | indent_width = 2 5 | quote_style = "AutoPreferDouble" 6 | call_parentheses = "None" 7 | collapse_simple_statement = "Always" 8 | -------------------------------------------------------------------------------- /modules/themes/alucard/config/rofi/bookmarkmenu.rasi: -------------------------------------------------------------------------------- 1 | /* -*- mode: css; -*- */ 2 | @import "config.rasi" 3 | 4 | listview { 5 | columns: 1; 6 | } 7 | 8 | textbox-icon { 9 | str: "  "; 10 | } 11 | 12 | prompt { 13 | enabled: false; 14 | } 15 | -------------------------------------------------------------------------------- /config/nvim/lua/polish.lua: -------------------------------------------------------------------------------- 1 | if true then return end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE 2 | 3 | -- This will run last in the setup process. 4 | -- This is just pure lua so anything that doesn't 5 | -- fit in the normal config locations above can go here 6 | -------------------------------------------------------------------------------- /modules/themes/functional/config/rofi/bookmarkmenu.rasi: -------------------------------------------------------------------------------- 1 | /* -*- mode: css; -*- */ 2 | 3 | @import "config.rasi" 4 | 5 | listview { 6 | columns: 1; 7 | } 8 | 9 | textbox-icon { 10 | str: " 爵 "; 11 | } 12 | 13 | prompt { 14 | enabled: false; 15 | } 16 | -------------------------------------------------------------------------------- /bin/rofi/filemenu: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | cd $HOME 3 | DIR="$(fd -L -d 4 --type d . | rofi -dmenu -i -p "~/" -theme theme/filemenu.rasi)" 4 | if [ -d "$DIR" ]; then 5 | cd "$DIR" 6 | if [[ $1 == "-x" ]]; then 7 | scratch 8 | else 9 | xst 10 | fi 11 | fi 12 | -------------------------------------------------------------------------------- /docs/install.md: -------------------------------------------------------------------------------- 1 | https://nixos.org/manual/nixos/stable/#sec-booting-from-usb-linux 2 | 3 | ```bash 4 | wget https://channels.nixos.org/nixos-24.05/latest-nixos-minimal-x86_64-linux.iso 5 | diskutil unmountDisk diskX 6 | sudo dd if= of=/dev/rdiskX bs=4m 7 | ``` 8 | -------------------------------------------------------------------------------- /config/rofi/bin/rofi-filemenu: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | DIR="$(fd -L --type d . $HOME | rofi -dmenu -i -p files -columns 1 -theme theme/appmenu.rasi)" 3 | if [ -d "$DIR" ]; then 4 | cd "$DIR" 5 | if [[ $1 == "-x" ]]; then 6 | st-scratch 7 | else 8 | xst 9 | fi 10 | fi 11 | -------------------------------------------------------------------------------- /config/todo/docs/deps-implementation-readme.md: -------------------------------------------------------------------------------- 1 | http://github.com/FND/todo.txt-cli/raw/extensions/schedule 2 | https://raw.githubusercontent.com/paulroub/todo.txt-recurring-tasks/refs/heads/master/recur 3 | https://raw.githubusercontent.com/rscircus/todotxt-study-suite/master/.todo.actions.d/addr 4 | -------------------------------------------------------------------------------- /lib/paths.nix: -------------------------------------------------------------------------------- 1 | { lib, ... }: 2 | with builtins; 3 | with lib; 4 | rec { 5 | # ... 6 | dotFilesDir = toString ../.; 7 | modulesDir = "${dotFilesDir}/modules"; 8 | configDir = "${dotFilesDir}/config"; 9 | binDir = "${dotFilesDir}/bin"; 10 | themesDir = "${modulesDir}/themes"; 11 | } 12 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/docs/install.md: -------------------------------------------------------------------------------- 1 | https://nixos.org/manual/nixos/stable/#sec-booting-from-usb-linux 2 | 3 | ```bash 4 | wget https://channels.nixos.org/nixos-24.05/latest-nixos-minimal-x86_64-linux.iso 5 | diskutil unmountDisk diskX 6 | sudo dd if= of=/dev/rdiskX bs=4m 7 | ``` 8 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/docs/install.md: -------------------------------------------------------------------------------- 1 | https://nixos.org/manual/nixos/stable/#sec-booting-from-usb-linux 2 | 3 | ```bash 4 | wget https://channels.nixos.org/nixos-24.05/latest-nixos-minimal-x86_64-linux.iso 5 | diskutil unmountDisk diskX 6 | sudo dd if= of=/dev/rdiskX bs=4m 7 | ``` 8 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/docs/install.md: -------------------------------------------------------------------------------- 1 | https://nixos.org/manual/nixos/stable/#sec-booting-from-usb-linux 2 | 3 | ```bash 4 | wget https://channels.nixos.org/nixos-24.05/latest-nixos-minimal-x86_64-linux.iso 5 | diskutil unmountDisk diskX 6 | sudo dd if= of=/dev/rdiskX bs=4m 7 | ``` 8 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/docs/install.md: -------------------------------------------------------------------------------- 1 | https://nixos.org/manual/nixos/stable/#sec-booting-from-usb-linux 2 | 3 | ```bash 4 | wget https://channels.nixos.org/nixos-24.05/latest-nixos-minimal-x86_64-linux.iso 5 | diskutil unmountDisk diskX 6 | sudo dd if= of=/dev/rdiskX bs=4m 7 | ``` 8 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/docs/install.md: -------------------------------------------------------------------------------- 1 | https://nixos.org/manual/nixos/stable/#sec-booting-from-usb-linux 2 | 3 | ```bash 4 | wget https://channels.nixos.org/nixos-24.05/latest-nixos-minimal-x86_64-linux.iso 5 | diskutil unmountDisk diskX 6 | sudo dd if= of=/dev/rdiskX bs=4m 7 | ``` 8 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/docs/install.md: -------------------------------------------------------------------------------- 1 | https://nixos.org/manual/nixos/stable/#sec-booting-from-usb-linux 2 | 3 | ```bash 4 | wget https://channels.nixos.org/nixos-24.05/latest-nixos-minimal-x86_64-linux.iso 5 | diskutil unmountDisk diskX 6 | sudo dd if= of=/dev/rdiskX bs=4m 7 | ``` 8 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/docs/install.md: -------------------------------------------------------------------------------- 1 | https://nixos.org/manual/nixos/stable/#sec-booting-from-usb-linux 2 | 3 | ```bash 4 | wget https://channels.nixos.org/nixos-24.05/latest-nixos-minimal-x86_64-linux.iso 5 | diskutil unmountDisk diskX 6 | sudo dd if= of=/dev/rdiskX bs=4m 7 | ``` 8 | -------------------------------------------------------------------------------- /config/docker/aliases.zsh: -------------------------------------------------------------------------------- 1 | alias dk=docker 2 | alias dkc=docker-compose 3 | alias dkm=docker-machine 4 | alias dkl='dk logs' 5 | alias dkcl='dkc logs' 6 | 7 | dkclr() { 8 | dk stop $(docker ps -a -q) 9 | dk rm $(docker ps -a -q) 10 | } 11 | 12 | dke() { 13 | dk exec -it "$1" "${@:1}" 14 | } 15 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/config/nvim.bkup/.neoconf.json: -------------------------------------------------------------------------------- 1 | { 2 | "neodev": { 3 | "library": { 4 | "enabled": true, 5 | "plugins": true 6 | } 7 | }, 8 | "neoconf": { 9 | "plugins": { 10 | "lua_ls": { 11 | "enabled": true 12 | } 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/config/nvim.bkup/.neoconf.json: -------------------------------------------------------------------------------- 1 | { 2 | "neodev": { 3 | "library": { 4 | "enabled": true, 5 | "plugins": true 6 | } 7 | }, 8 | "neoconf": { 9 | "plugins": { 10 | "lua_ls": { 11 | "enabled": true 12 | } 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/config/nvim.bkup/.neoconf.json: -------------------------------------------------------------------------------- 1 | { 2 | "neodev": { 3 | "library": { 4 | "enabled": true, 5 | "plugins": true 6 | } 7 | }, 8 | "neoconf": { 9 | "plugins": { 10 | "lua_ls": { 11 | "enabled": true 12 | } 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/config/nvim.bkup/.neoconf.json: -------------------------------------------------------------------------------- 1 | { 2 | "neodev": { 3 | "library": { 4 | "enabled": true, 5 | "plugins": true 6 | } 7 | }, 8 | "neoconf": { 9 | "plugins": { 10 | "lua_ls": { 11 | "enabled": true 12 | } 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/config/nvim.bkup/.neoconf.json: -------------------------------------------------------------------------------- 1 | { 2 | "neodev": { 3 | "library": { 4 | "enabled": true, 5 | "plugins": true 6 | } 7 | }, 8 | "neoconf": { 9 | "plugins": { 10 | "lua_ls": { 11 | "enabled": true 12 | } 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/config/nvim.bkup/.neoconf.json: -------------------------------------------------------------------------------- 1 | { 2 | "neodev": { 3 | "library": { 4 | "enabled": true, 5 | "plugins": true 6 | } 7 | }, 8 | "neoconf": { 9 | "plugins": { 10 | "lua_ls": { 11 | "enabled": true 12 | } 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/config/nvim.bkup/.neoconf.json: -------------------------------------------------------------------------------- 1 | { 2 | "neodev": { 3 | "library": { 4 | "enabled": true, 5 | "plugins": true 6 | } 7 | }, 8 | "neoconf": { 9 | "plugins": { 10 | "lua_ls": { 11 | "enabled": true 12 | } 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /config/wezterm/wezterm.lua: -------------------------------------------------------------------------------- 1 | local wezterm = require 'wezterm' 2 | local config = {} 3 | 4 | config.font = wezterm.font 'Fira Code' 5 | config.font_size = 20.0 6 | 7 | config.color_scheme = 'OneHalfDark' 8 | 9 | config.audible_bell = 'Disabled' 10 | config.enable_tab_bar = false 11 | 12 | return config 13 | -------------------------------------------------------------------------------- /config/jj/conf.d/seqera.toml: -------------------------------------------------------------------------------- 1 | # Seqera/Nextflow work repositories 2 | --when.repositories = [ 3 | "~/src/seqera", 4 | "~/src/nextflow" 5 | ] 6 | 7 | [user] 8 | email = "edmund.miller@seqera.io" 9 | 10 | [signing] 11 | key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKLH5ywipRADaxVcZ/kK2Pg9kwRZyj/ABEurj+5KXHty" 12 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/config/todo/docs/deps-implementation-readme.md: -------------------------------------------------------------------------------- 1 | http://github.com/FND/todo.txt-cli/raw/extensions/schedule 2 | https://raw.githubusercontent.com/paulroub/todo.txt-recurring-tasks/refs/heads/master/recur 3 | https://raw.githubusercontent.com/rscircus/todotxt-study-suite/master/.todo.actions.d/addr 4 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/config/todo/docs/deps-implementation-readme.md: -------------------------------------------------------------------------------- 1 | http://github.com/FND/todo.txt-cli/raw/extensions/schedule 2 | https://raw.githubusercontent.com/paulroub/todo.txt-recurring-tasks/refs/heads/master/recur 3 | https://raw.githubusercontent.com/rscircus/todotxt-study-suite/master/.todo.actions.d/addr 4 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/config/todo/docs/deps-implementation-readme.md: -------------------------------------------------------------------------------- 1 | http://github.com/FND/todo.txt-cli/raw/extensions/schedule 2 | https://raw.githubusercontent.com/paulroub/todo.txt-recurring-tasks/refs/heads/master/recur 3 | https://raw.githubusercontent.com/rscircus/todotxt-study-suite/master/.todo.actions.d/addr 4 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/config/todo/docs/deps-implementation-readme.md: -------------------------------------------------------------------------------- 1 | http://github.com/FND/todo.txt-cli/raw/extensions/schedule 2 | https://raw.githubusercontent.com/paulroub/todo.txt-recurring-tasks/refs/heads/master/recur 3 | https://raw.githubusercontent.com/rscircus/todotxt-study-suite/master/.todo.actions.d/addr 4 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/config/todo/docs/deps-implementation-readme.md: -------------------------------------------------------------------------------- 1 | http://github.com/FND/todo.txt-cli/raw/extensions/schedule 2 | https://raw.githubusercontent.com/paulroub/todo.txt-recurring-tasks/refs/heads/master/recur 3 | https://raw.githubusercontent.com/rscircus/todotxt-study-suite/master/.todo.actions.d/addr 4 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/config/todo/docs/deps-implementation-readme.md: -------------------------------------------------------------------------------- 1 | http://github.com/FND/todo.txt-cli/raw/extensions/schedule 2 | https://raw.githubusercontent.com/paulroub/todo.txt-recurring-tasks/refs/heads/master/recur 3 | https://raw.githubusercontent.com/rscircus/todotxt-study-suite/master/.todo.actions.d/addr 4 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/config/todo/docs/deps-implementation-readme.md: -------------------------------------------------------------------------------- 1 | http://github.com/FND/todo.txt-cli/raw/extensions/schedule 2 | https://raw.githubusercontent.com/paulroub/todo.txt-recurring-tasks/refs/heads/master/recur 3 | https://raw.githubusercontent.com/rscircus/todotxt-study-suite/master/.todo.actions.d/addr 4 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/lib/paths.nix: -------------------------------------------------------------------------------- 1 | { lib, ... }: 2 | with builtins; 3 | with lib; 4 | rec { 5 | # ... 6 | dotFilesDir = toString ../.; 7 | modulesDir = "${dotFilesDir}/modules"; 8 | configDir = "${dotFilesDir}/config"; 9 | binDir = "${dotFilesDir}/bin"; 10 | themesDir = "${modulesDir}/themes"; 11 | } 12 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/lib/paths.nix: -------------------------------------------------------------------------------- 1 | { lib, ... }: 2 | with builtins; 3 | with lib; 4 | rec { 5 | # ... 6 | dotFilesDir = toString ../.; 7 | modulesDir = "${dotFilesDir}/modules"; 8 | configDir = "${dotFilesDir}/config"; 9 | binDir = "${dotFilesDir}/bin"; 10 | themesDir = "${modulesDir}/themes"; 11 | } 12 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/lib/paths.nix: -------------------------------------------------------------------------------- 1 | { lib, ... }: 2 | with builtins; 3 | with lib; 4 | rec { 5 | # ... 6 | dotFilesDir = toString ../.; 7 | modulesDir = "${dotFilesDir}/modules"; 8 | configDir = "${dotFilesDir}/config"; 9 | binDir = "${dotFilesDir}/bin"; 10 | themesDir = "${modulesDir}/themes"; 11 | } 12 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/lib/paths.nix: -------------------------------------------------------------------------------- 1 | { lib, ... }: 2 | with builtins; 3 | with lib; 4 | rec { 5 | # ... 6 | dotFilesDir = toString ../.; 7 | modulesDir = "${dotFilesDir}/modules"; 8 | configDir = "${dotFilesDir}/config"; 9 | binDir = "${dotFilesDir}/bin"; 10 | themesDir = "${modulesDir}/themes"; 11 | } 12 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/lib/paths.nix: -------------------------------------------------------------------------------- 1 | { lib, ... }: 2 | with builtins; 3 | with lib; 4 | rec { 5 | # ... 6 | dotFilesDir = toString ../.; 7 | modulesDir = "${dotFilesDir}/modules"; 8 | configDir = "${dotFilesDir}/config"; 9 | binDir = "${dotFilesDir}/bin"; 10 | themesDir = "${modulesDir}/themes"; 11 | } 12 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/lib/paths.nix: -------------------------------------------------------------------------------- 1 | { lib, ... }: 2 | with builtins; 3 | with lib; 4 | rec { 5 | # ... 6 | dotFilesDir = toString ../.; 7 | modulesDir = "${dotFilesDir}/modules"; 8 | configDir = "${dotFilesDir}/config"; 9 | binDir = "${dotFilesDir}/bin"; 10 | themesDir = "${modulesDir}/themes"; 11 | } 12 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/lib/paths.nix: -------------------------------------------------------------------------------- 1 | { lib, ... }: 2 | with builtins; 3 | with lib; 4 | rec { 5 | # ... 6 | dotFilesDir = toString ../.; 7 | modulesDir = "${dotFilesDir}/modules"; 8 | configDir = "${dotFilesDir}/config"; 9 | binDir = "${dotFilesDir}/bin"; 10 | themesDir = "${modulesDir}/themes"; 11 | } 12 | -------------------------------------------------------------------------------- /bin/agent_fleet/core/config.py: -------------------------------------------------------------------------------- 1 | """Configuration constants for agent-fleet.""" 2 | 3 | # Directory and file paths 4 | WORKTREES_DIR = ".worktrees" 5 | STATE_FILE = ".worktrees/.agent-fleet.json" 6 | WORKSPACE_PREFIX = "agent-" 7 | 8 | # Obsidian vault configuration 9 | OBSIDIAN_VAULT_PATH = "sync/claude-vault/00_Inbox/Agents" 10 | -------------------------------------------------------------------------------- /config/vale/styles/Vocab/Base/accept.txt: -------------------------------------------------------------------------------- 1 | # Add project-specific terms that Vale should accept 2 | # One term per line 3 | Neovim 4 | LazyVim 5 | LSP 6 | nvim 7 | dotfiles 8 | config 9 | CLI 10 | API 11 | GitHub 12 | macOS 13 | NixOS 14 | Nix 15 | Flake 16 | Flakes 17 | darwin 18 | homebrew 19 | jj 20 | jujutsu 21 | Vale 22 | vale-ls -------------------------------------------------------------------------------- /config/jjui/config.toml: -------------------------------------------------------------------------------- 1 | # jjui configuration 2 | # See: https://idursun.github.io/jjui/ 3 | 4 | # Leader key bindings (press \ then the key) 5 | [leader.a] 6 | help = "AI-generated commit message" 7 | send = [":", "aid", "enter"] 8 | 9 | [leader.e] 10 | help = "AI-generated commit message (with edit)" 11 | send = [":", "aide", "enter"] 12 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/config/jj/conf.d/seqera.toml: -------------------------------------------------------------------------------- 1 | # Seqera/Nextflow work repositories 2 | --when.repositories = [ 3 | "~/src/seqera", 4 | "~/src/nextflow" 5 | ] 6 | 7 | [user] 8 | email = "edmund.miller@seqera.io" 9 | 10 | [signing] 11 | key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKLH5ywipRADaxVcZ/kK2Pg9kwRZyj/ABEurj+5KXHty" 12 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/config/jj/conf.d/seqera.toml: -------------------------------------------------------------------------------- 1 | # Seqera/Nextflow work repositories 2 | --when.repositories = [ 3 | "~/src/seqera", 4 | "~/src/nextflow" 5 | ] 6 | 7 | [user] 8 | email = "edmund.miller@seqera.io" 9 | 10 | [signing] 11 | key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKLH5ywipRADaxVcZ/kK2Pg9kwRZyj/ABEurj+5KXHty" 12 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/config/jj/conf.d/seqera.toml: -------------------------------------------------------------------------------- 1 | # Seqera/Nextflow work repositories 2 | --when.repositories = [ 3 | "~/src/seqera", 4 | "~/src/nextflow" 5 | ] 6 | 7 | [user] 8 | email = "edmund.miller@seqera.io" 9 | 10 | [signing] 11 | key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKLH5ywipRADaxVcZ/kK2Pg9kwRZyj/ABEurj+5KXHty" 12 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/config/jj/conf.d/seqera.toml: -------------------------------------------------------------------------------- 1 | # Seqera/Nextflow work repositories 2 | --when.repositories = [ 3 | "~/src/seqera", 4 | "~/src/nextflow" 5 | ] 6 | 7 | [user] 8 | email = "edmund.miller@seqera.io" 9 | 10 | [signing] 11 | key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKLH5ywipRADaxVcZ/kK2Pg9kwRZyj/ABEurj+5KXHty" 12 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/config/jj/conf.d/seqera.toml: -------------------------------------------------------------------------------- 1 | # Seqera/Nextflow work repositories 2 | --when.repositories = [ 3 | "~/src/seqera", 4 | "~/src/nextflow" 5 | ] 6 | 7 | [user] 8 | email = "edmund.miller@seqera.io" 9 | 10 | [signing] 11 | key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKLH5ywipRADaxVcZ/kK2Pg9kwRZyj/ABEurj+5KXHty" 12 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/config/jj/conf.d/seqera.toml: -------------------------------------------------------------------------------- 1 | # Seqera/Nextflow work repositories 2 | --when.repositories = [ 3 | "~/src/seqera", 4 | "~/src/nextflow" 5 | ] 6 | 7 | [user] 8 | email = "edmund.miller@seqera.io" 9 | 10 | [signing] 11 | key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKLH5ywipRADaxVcZ/kK2Pg9kwRZyj/ABEurj+5KXHty" 12 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/config/jj/conf.d/seqera.toml: -------------------------------------------------------------------------------- 1 | # Seqera/Nextflow work repositories 2 | --when.repositories = [ 3 | "~/src/seqera", 4 | "~/src/nextflow" 5 | ] 6 | 7 | [user] 8 | email = "edmund.miller@seqera.io" 9 | 10 | [signing] 11 | key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKLH5ywipRADaxVcZ/kK2Pg9kwRZyj/ABEurj+5KXHty" 12 | -------------------------------------------------------------------------------- /projects/agent-fleet/src/agent_fleet/core/config.py: -------------------------------------------------------------------------------- 1 | """Configuration constants for agent-fleet.""" 2 | 3 | # Directory and file paths 4 | WORKTREES_DIR = ".worktrees" 5 | STATE_FILE = ".worktrees/.agent-fleet.json" 6 | WORKSPACE_PREFIX = "agent-" 7 | 8 | # Obsidian vault configuration 9 | OBSIDIAN_VAULT_PATH = "sync/claude-vault/00_Inbox/Agents" 10 | -------------------------------------------------------------------------------- /config/taskwarrior/shortcut-scripts/try-workspace.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Launch try with task description as initial filter 3 | # Called from taskwarrior-tui with task UUID(s) as arguments 4 | # TODO: Consider spawning in new tmux/kitty window in future 5 | desc=$(task rc.verbose=nothing "$1" _unique description 2>/dev/null | head -1) 6 | try "${desc:-}" 7 | -------------------------------------------------------------------------------- /modules/editors/default.nix: -------------------------------------------------------------------------------- 1 | { 2 | config, 3 | options, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.editors; 11 | in 12 | { 13 | options.modules.editors = { 14 | default = mkOpt types.str "vim"; 15 | }; 16 | 17 | config = mkIf (cfg.default != null) { env.EDITOR = cfg.default; }; 18 | } 19 | -------------------------------------------------------------------------------- /hosts/unas/modules/paperless.nix: -------------------------------------------------------------------------------- 1 | { config, ... }: 2 | { 3 | modules.services.paperless.enable = true; 4 | 5 | services.paperless = { 6 | address = "0.0.0.0"; 7 | mediaDir = "/data/media/docs/paperless"; 8 | consumptionDir = "/data/media/docs/consume"; 9 | passwordFile = config.age.secrets.paperless-adminCredentials.path; 10 | }; 11 | } 12 | -------------------------------------------------------------------------------- /modules/shell/age.nix: -------------------------------------------------------------------------------- 1 | { 2 | config, 3 | options, 4 | lib, 5 | pkgs, 6 | ... 7 | }: 8 | with lib; 9 | with lib.my; 10 | let 11 | cfg = config.modules.shell.age; 12 | in 13 | { 14 | options.modules.shell.age = with types; { 15 | enable = mkBoolOpt false; 16 | }; 17 | 18 | config = mkIf cfg.enable { user.packages = [ pkgs.rage ]; }; 19 | } 20 | -------------------------------------------------------------------------------- /notes.org: -------------------------------------------------------------------------------- 1 | #+title: Notes 2 | 3 | * Mac Emacs install 4 | #+begin_src bash 5 | brew reinstall emacs-plus@30 --with-native-comp --with-imagemagick --with-c9rgreen-sonoma-icon 6 | osascript -e 'tell application "Finder" to make alias file to posix file "/opt/homebrew/opt/emacs-plus@30/Emacs.app" at posix file "/Applications" with properties {name:"Emacs.app"}' 7 | #+end_src 8 | -------------------------------------------------------------------------------- /config/nvim/.neoconf.json: -------------------------------------------------------------------------------- 1 | { 2 | "neodev": { 3 | "library": { 4 | "enabled": true, 5 | "plugins": true 6 | } 7 | }, 8 | "neoconf": { 9 | "plugins": { 10 | "lua_ls": { 11 | "enabled": true 12 | } 13 | } 14 | }, 15 | "lspconfig": { 16 | "lua_ls": { 17 | "Lua.format.enable": false 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/bin/todotxtfmt/cmd/todotxtfmt/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | "os" 6 | 7 | "github.com/emiller/todotxtfmt/internal/cli" 8 | ) 9 | 10 | var version = "dev" 11 | 12 | func main() { 13 | if err := cli.Run(version, os.Args[1:]); err != nil { 14 | fmt.Fprintf(os.Stderr, "Error: %v\n", err) 15 | os.Exit(1) 16 | } 17 | } -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/bin/todotxtfmt/cmd/todotxtfmt/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | "os" 6 | 7 | "github.com/emiller/todotxtfmt/internal/cli" 8 | ) 9 | 10 | var version = "dev" 11 | 12 | func main() { 13 | if err := cli.Run(version, os.Args[1:]); err != nil { 14 | fmt.Fprintf(os.Stderr, "Error: %v\n", err) 15 | os.Exit(1) 16 | } 17 | } -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/bin/todotxtfmt/cmd/todotxtfmt/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | "os" 6 | 7 | "github.com/emiller/todotxtfmt/internal/cli" 8 | ) 9 | 10 | var version = "dev" 11 | 12 | func main() { 13 | if err := cli.Run(version, os.Args[1:]); err != nil { 14 | fmt.Fprintf(os.Stderr, "Error: %v\n", err) 15 | os.Exit(1) 16 | } 17 | } -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/bin/todotxtfmt/cmd/todotxtfmt/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | "os" 6 | 7 | "github.com/emiller/todotxtfmt/internal/cli" 8 | ) 9 | 10 | var version = "dev" 11 | 12 | func main() { 13 | if err := cli.Run(version, os.Args[1:]); err != nil { 14 | fmt.Fprintf(os.Stderr, "Error: %v\n", err) 15 | os.Exit(1) 16 | } 17 | } -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/bin/todotxtfmt/cmd/todotxtfmt/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | "os" 6 | 7 | "github.com/emiller/todotxtfmt/internal/cli" 8 | ) 9 | 10 | var version = "dev" 11 | 12 | func main() { 13 | if err := cli.Run(version, os.Args[1:]); err != nil { 14 | fmt.Fprintf(os.Stderr, "Error: %v\n", err) 15 | os.Exit(1) 16 | } 17 | } -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/bin/todotxtfmt/cmd/todotxtfmt/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | "os" 6 | 7 | "github.com/emiller/todotxtfmt/internal/cli" 8 | ) 9 | 10 | var version = "dev" 11 | 12 | func main() { 13 | if err := cli.Run(version, os.Args[1:]); err != nil { 14 | fmt.Fprintf(os.Stderr, "Error: %v\n", err) 15 | os.Exit(1) 16 | } 17 | } -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/bin/todotxtfmt/cmd/todotxtfmt/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | "os" 6 | 7 | "github.com/emiller/todotxtfmt/internal/cli" 8 | ) 9 | 10 | var version = "dev" 11 | 12 | func main() { 13 | if err := cli.Run(version, os.Args[1:]); err != nil { 14 | fmt.Fprintf(os.Stderr, "Error: %v\n", err) 15 | os.Exit(1) 16 | } 17 | } -------------------------------------------------------------------------------- /modules/hardware/sensors.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | pkgs, 6 | ... 7 | }: 8 | with lib; 9 | with lib.my; 10 | let 11 | cfg = config.modules.hardware.sensors; 12 | in 13 | { 14 | options.modules.hardware.sensors = { 15 | enable = mkBoolOpt false; 16 | }; 17 | 18 | config = mkIf cfg.enable { user.packages = [ pkgs.lm_sensors ]; }; 19 | } 20 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/modules/editors/default.nix: -------------------------------------------------------------------------------- 1 | { 2 | config, 3 | options, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.editors; 11 | in 12 | { 13 | options.modules.editors = { 14 | default = mkOpt types.str "vim"; 15 | }; 16 | 17 | config = mkIf (cfg.default != null) { env.EDITOR = cfg.default; }; 18 | } 19 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/modules/editors/default.nix: -------------------------------------------------------------------------------- 1 | { 2 | config, 3 | options, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.editors; 11 | in 12 | { 13 | options.modules.editors = { 14 | default = mkOpt types.str "vim"; 15 | }; 16 | 17 | config = mkIf (cfg.default != null) { env.EDITOR = cfg.default; }; 18 | } 19 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/modules/editors/default.nix: -------------------------------------------------------------------------------- 1 | { 2 | config, 3 | options, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.editors; 11 | in 12 | { 13 | options.modules.editors = { 14 | default = mkOpt types.str "vim"; 15 | }; 16 | 17 | config = mkIf (cfg.default != null) { env.EDITOR = cfg.default; }; 18 | } 19 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/modules/editors/default.nix: -------------------------------------------------------------------------------- 1 | { 2 | config, 3 | options, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.editors; 11 | in 12 | { 13 | options.modules.editors = { 14 | default = mkOpt types.str "vim"; 15 | }; 16 | 17 | config = mkIf (cfg.default != null) { env.EDITOR = cfg.default; }; 18 | } 19 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/modules/editors/default.nix: -------------------------------------------------------------------------------- 1 | { 2 | config, 3 | options, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.editors; 11 | in 12 | { 13 | options.modules.editors = { 14 | default = mkOpt types.str "vim"; 15 | }; 16 | 17 | config = mkIf (cfg.default != null) { env.EDITOR = cfg.default; }; 18 | } 19 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/modules/editors/default.nix: -------------------------------------------------------------------------------- 1 | { 2 | config, 3 | options, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.editors; 11 | in 12 | { 13 | options.modules.editors = { 14 | default = mkOpt types.str "vim"; 15 | }; 16 | 17 | config = mkIf (cfg.default != null) { env.EDITOR = cfg.default; }; 18 | } 19 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/modules/editors/default.nix: -------------------------------------------------------------------------------- 1 | { 2 | config, 3 | options, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.editors; 11 | in 12 | { 13 | options.modules.editors = { 14 | default = mkOpt types.str "vim"; 15 | }; 16 | 17 | config = mkIf (cfg.default != null) { env.EDITOR = cfg.default; }; 18 | } 19 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/hosts/unas/modules/paperless.nix: -------------------------------------------------------------------------------- 1 | { config, ... }: 2 | { 3 | modules.services.paperless.enable = true; 4 | 5 | services.paperless = { 6 | address = "0.0.0.0"; 7 | mediaDir = "/data/media/docs/paperless"; 8 | consumptionDir = "/data/media/docs/consume"; 9 | passwordFile = config.age.secrets.paperless-adminCredentials.path; 10 | }; 11 | } 12 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/modules/shell/age.nix: -------------------------------------------------------------------------------- 1 | { 2 | config, 3 | options, 4 | lib, 5 | pkgs, 6 | ... 7 | }: 8 | with lib; 9 | with lib.my; 10 | let 11 | cfg = config.modules.shell.age; 12 | in 13 | { 14 | options.modules.shell.age = with types; { 15 | enable = mkBoolOpt false; 16 | }; 17 | 18 | config = mkIf cfg.enable { user.packages = [ pkgs.rage ]; }; 19 | } 20 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/hosts/unas/modules/paperless.nix: -------------------------------------------------------------------------------- 1 | { config, ... }: 2 | { 3 | modules.services.paperless.enable = true; 4 | 5 | services.paperless = { 6 | address = "0.0.0.0"; 7 | mediaDir = "/data/media/docs/paperless"; 8 | consumptionDir = "/data/media/docs/consume"; 9 | passwordFile = config.age.secrets.paperless-adminCredentials.path; 10 | }; 11 | } 12 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/modules/shell/age.nix: -------------------------------------------------------------------------------- 1 | { 2 | config, 3 | options, 4 | lib, 5 | pkgs, 6 | ... 7 | }: 8 | with lib; 9 | with lib.my; 10 | let 11 | cfg = config.modules.shell.age; 12 | in 13 | { 14 | options.modules.shell.age = with types; { 15 | enable = mkBoolOpt false; 16 | }; 17 | 18 | config = mkIf cfg.enable { user.packages = [ pkgs.rage ]; }; 19 | } 20 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/hosts/unas/modules/paperless.nix: -------------------------------------------------------------------------------- 1 | { config, ... }: 2 | { 3 | modules.services.paperless.enable = true; 4 | 5 | services.paperless = { 6 | address = "0.0.0.0"; 7 | mediaDir = "/data/media/docs/paperless"; 8 | consumptionDir = "/data/media/docs/consume"; 9 | passwordFile = config.age.secrets.paperless-adminCredentials.path; 10 | }; 11 | } 12 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/modules/shell/age.nix: -------------------------------------------------------------------------------- 1 | { 2 | config, 3 | options, 4 | lib, 5 | pkgs, 6 | ... 7 | }: 8 | with lib; 9 | with lib.my; 10 | let 11 | cfg = config.modules.shell.age; 12 | in 13 | { 14 | options.modules.shell.age = with types; { 15 | enable = mkBoolOpt false; 16 | }; 17 | 18 | config = mkIf cfg.enable { user.packages = [ pkgs.rage ]; }; 19 | } 20 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/hosts/unas/modules/paperless.nix: -------------------------------------------------------------------------------- 1 | { config, ... }: 2 | { 3 | modules.services.paperless.enable = true; 4 | 5 | services.paperless = { 6 | address = "0.0.0.0"; 7 | mediaDir = "/data/media/docs/paperless"; 8 | consumptionDir = "/data/media/docs/consume"; 9 | passwordFile = config.age.secrets.paperless-adminCredentials.path; 10 | }; 11 | } 12 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/modules/shell/age.nix: -------------------------------------------------------------------------------- 1 | { 2 | config, 3 | options, 4 | lib, 5 | pkgs, 6 | ... 7 | }: 8 | with lib; 9 | with lib.my; 10 | let 11 | cfg = config.modules.shell.age; 12 | in 13 | { 14 | options.modules.shell.age = with types; { 15 | enable = mkBoolOpt false; 16 | }; 17 | 18 | config = mkIf cfg.enable { user.packages = [ pkgs.rage ]; }; 19 | } 20 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/hosts/unas/modules/paperless.nix: -------------------------------------------------------------------------------- 1 | { config, ... }: 2 | { 3 | modules.services.paperless.enable = true; 4 | 5 | services.paperless = { 6 | address = "0.0.0.0"; 7 | mediaDir = "/data/media/docs/paperless"; 8 | consumptionDir = "/data/media/docs/consume"; 9 | passwordFile = config.age.secrets.paperless-adminCredentials.path; 10 | }; 11 | } 12 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/modules/shell/age.nix: -------------------------------------------------------------------------------- 1 | { 2 | config, 3 | options, 4 | lib, 5 | pkgs, 6 | ... 7 | }: 8 | with lib; 9 | with lib.my; 10 | let 11 | cfg = config.modules.shell.age; 12 | in 13 | { 14 | options.modules.shell.age = with types; { 15 | enable = mkBoolOpt false; 16 | }; 17 | 18 | config = mkIf cfg.enable { user.packages = [ pkgs.rage ]; }; 19 | } 20 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/hosts/unas/modules/paperless.nix: -------------------------------------------------------------------------------- 1 | { config, ... }: 2 | { 3 | modules.services.paperless.enable = true; 4 | 5 | services.paperless = { 6 | address = "0.0.0.0"; 7 | mediaDir = "/data/media/docs/paperless"; 8 | consumptionDir = "/data/media/docs/consume"; 9 | passwordFile = config.age.secrets.paperless-adminCredentials.path; 10 | }; 11 | } 12 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/modules/shell/age.nix: -------------------------------------------------------------------------------- 1 | { 2 | config, 3 | options, 4 | lib, 5 | pkgs, 6 | ... 7 | }: 8 | with lib; 9 | with lib.my; 10 | let 11 | cfg = config.modules.shell.age; 12 | in 13 | { 14 | options.modules.shell.age = with types; { 15 | enable = mkBoolOpt false; 16 | }; 17 | 18 | config = mkIf cfg.enable { user.packages = [ pkgs.rage ]; }; 19 | } 20 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/hosts/unas/modules/paperless.nix: -------------------------------------------------------------------------------- 1 | { config, ... }: 2 | { 3 | modules.services.paperless.enable = true; 4 | 5 | services.paperless = { 6 | address = "0.0.0.0"; 7 | mediaDir = "/data/media/docs/paperless"; 8 | consumptionDir = "/data/media/docs/consume"; 9 | passwordFile = config.age.secrets.paperless-adminCredentials.path; 10 | }; 11 | } 12 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/modules/shell/age.nix: -------------------------------------------------------------------------------- 1 | { 2 | config, 3 | options, 4 | lib, 5 | pkgs, 6 | ... 7 | }: 8 | with lib; 9 | with lib.my; 10 | let 11 | cfg = config.modules.shell.age; 12 | in 13 | { 14 | options.modules.shell.age = with types; { 15 | enable = mkBoolOpt false; 16 | }; 17 | 18 | config = mkIf cfg.enable { user.packages = [ pkgs.rage ]; }; 19 | } 20 | -------------------------------------------------------------------------------- /config/todo/README.md: -------------------------------------------------------------------------------- 1 | http://tech.groups.yahoo.com/group/todotxt/message/2296 2 | http://github.com/FND/todo.txt-cli/raw/extensions/schedule 3 | http://github.com/FND/todo.txt-cli/raw/extensions/futureTasks 4 | 5 | https://raw.githubusercontent.com/paulroub/todo.txt-recurring-tasks/refs/heads/master/recur 6 | https://raw.githubusercontent.com/rscircus/todotxt-study-suite/master/.todo.actions.d/addr 7 | -------------------------------------------------------------------------------- /modules/desktop/browsers/default.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.desktop.browsers; 11 | in 12 | { 13 | options.modules.desktop.browsers = { 14 | default = mkOpt (with types; nullOr str) null; 15 | }; 16 | 17 | config = mkIf (cfg.default != null) { env.BROWSER = cfg.default; }; 18 | } 19 | -------------------------------------------------------------------------------- /config/jira/aliases.zsh: -------------------------------------------------------------------------------- 1 | # Jira CLI aliases 2 | alias sdoc='jira issue list -p SDOC -a $(jira me) -s"Open" -s"In Progress" -s"To Do"' 3 | alias sd='jira issue list -p SD -a $(jira me) -s"Open" -s"In Progress" -s"To Do"' 4 | alias ji='jira issue list -q "(assignee = currentUser() OR reporter = currentUser()) AND project NOT IN (SDOC, SD) AND (status IN (\"Open\", \"To Do\", \"In Progress\") OR updated >= -1w)"' 5 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/config/nvim/.neoconf.json: -------------------------------------------------------------------------------- 1 | { 2 | "neodev": { 3 | "library": { 4 | "enabled": true, 5 | "plugins": true 6 | } 7 | }, 8 | "neoconf": { 9 | "plugins": { 10 | "lua_ls": { 11 | "enabled": true 12 | } 13 | } 14 | }, 15 | "lspconfig": { 16 | "lua_ls": { 17 | "Lua.format.enable": false 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/modules/hardware/sensors.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | pkgs, 6 | ... 7 | }: 8 | with lib; 9 | with lib.my; 10 | let 11 | cfg = config.modules.hardware.sensors; 12 | in 13 | { 14 | options.modules.hardware.sensors = { 15 | enable = mkBoolOpt false; 16 | }; 17 | 18 | config = mkIf cfg.enable { user.packages = [ pkgs.lm_sensors ]; }; 19 | } 20 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/config/nvim/.neoconf.json: -------------------------------------------------------------------------------- 1 | { 2 | "neodev": { 3 | "library": { 4 | "enabled": true, 5 | "plugins": true 6 | } 7 | }, 8 | "neoconf": { 9 | "plugins": { 10 | "lua_ls": { 11 | "enabled": true 12 | } 13 | } 14 | }, 15 | "lspconfig": { 16 | "lua_ls": { 17 | "Lua.format.enable": false 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/modules/hardware/sensors.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | pkgs, 6 | ... 7 | }: 8 | with lib; 9 | with lib.my; 10 | let 11 | cfg = config.modules.hardware.sensors; 12 | in 13 | { 14 | options.modules.hardware.sensors = { 15 | enable = mkBoolOpt false; 16 | }; 17 | 18 | config = mkIf cfg.enable { user.packages = [ pkgs.lm_sensors ]; }; 19 | } 20 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/config/nvim/.neoconf.json: -------------------------------------------------------------------------------- 1 | { 2 | "neodev": { 3 | "library": { 4 | "enabled": true, 5 | "plugins": true 6 | } 7 | }, 8 | "neoconf": { 9 | "plugins": { 10 | "lua_ls": { 11 | "enabled": true 12 | } 13 | } 14 | }, 15 | "lspconfig": { 16 | "lua_ls": { 17 | "Lua.format.enable": false 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/modules/hardware/sensors.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | pkgs, 6 | ... 7 | }: 8 | with lib; 9 | with lib.my; 10 | let 11 | cfg = config.modules.hardware.sensors; 12 | in 13 | { 14 | options.modules.hardware.sensors = { 15 | enable = mkBoolOpt false; 16 | }; 17 | 18 | config = mkIf cfg.enable { user.packages = [ pkgs.lm_sensors ]; }; 19 | } 20 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/config/nvim/.neoconf.json: -------------------------------------------------------------------------------- 1 | { 2 | "neodev": { 3 | "library": { 4 | "enabled": true, 5 | "plugins": true 6 | } 7 | }, 8 | "neoconf": { 9 | "plugins": { 10 | "lua_ls": { 11 | "enabled": true 12 | } 13 | } 14 | }, 15 | "lspconfig": { 16 | "lua_ls": { 17 | "Lua.format.enable": false 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/modules/hardware/sensors.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | pkgs, 6 | ... 7 | }: 8 | with lib; 9 | with lib.my; 10 | let 11 | cfg = config.modules.hardware.sensors; 12 | in 13 | { 14 | options.modules.hardware.sensors = { 15 | enable = mkBoolOpt false; 16 | }; 17 | 18 | config = mkIf cfg.enable { user.packages = [ pkgs.lm_sensors ]; }; 19 | } 20 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/config/nvim/.neoconf.json: -------------------------------------------------------------------------------- 1 | { 2 | "neodev": { 3 | "library": { 4 | "enabled": true, 5 | "plugins": true 6 | } 7 | }, 8 | "neoconf": { 9 | "plugins": { 10 | "lua_ls": { 11 | "enabled": true 12 | } 13 | } 14 | }, 15 | "lspconfig": { 16 | "lua_ls": { 17 | "Lua.format.enable": false 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/modules/hardware/sensors.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | pkgs, 6 | ... 7 | }: 8 | with lib; 9 | with lib.my; 10 | let 11 | cfg = config.modules.hardware.sensors; 12 | in 13 | { 14 | options.modules.hardware.sensors = { 15 | enable = mkBoolOpt false; 16 | }; 17 | 18 | config = mkIf cfg.enable { user.packages = [ pkgs.lm_sensors ]; }; 19 | } 20 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/config/nvim/.neoconf.json: -------------------------------------------------------------------------------- 1 | { 2 | "neodev": { 3 | "library": { 4 | "enabled": true, 5 | "plugins": true 6 | } 7 | }, 8 | "neoconf": { 9 | "plugins": { 10 | "lua_ls": { 11 | "enabled": true 12 | } 13 | } 14 | }, 15 | "lspconfig": { 16 | "lua_ls": { 17 | "Lua.format.enable": false 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/modules/hardware/sensors.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | pkgs, 6 | ... 7 | }: 8 | with lib; 9 | with lib.my; 10 | let 11 | cfg = config.modules.hardware.sensors; 12 | in 13 | { 14 | options.modules.hardware.sensors = { 15 | enable = mkBoolOpt false; 16 | }; 17 | 18 | config = mkIf cfg.enable { user.packages = [ pkgs.lm_sensors ]; }; 19 | } 20 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/config/nvim/.neoconf.json: -------------------------------------------------------------------------------- 1 | { 2 | "neodev": { 3 | "library": { 4 | "enabled": true, 5 | "plugins": true 6 | } 7 | }, 8 | "neoconf": { 9 | "plugins": { 10 | "lua_ls": { 11 | "enabled": true 12 | } 13 | } 14 | }, 15 | "lspconfig": { 16 | "lua_ls": { 17 | "Lua.format.enable": false 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/modules/hardware/sensors.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | pkgs, 6 | ... 7 | }: 8 | with lib; 9 | with lib.my; 10 | let 11 | cfg = config.modules.hardware.sensors; 12 | in 13 | { 14 | options.modules.hardware.sensors = { 15 | enable = mkBoolOpt false; 16 | }; 17 | 18 | config = mkIf cfg.enable { user.packages = [ pkgs.lm_sensors ]; }; 19 | } 20 | -------------------------------------------------------------------------------- /config/claude/plugins/json-to-toon/.gitignore: -------------------------------------------------------------------------------- 1 | # Dependencies 2 | node_modules/ 3 | 4 | # Test coverage 5 | coverage/ 6 | .nyc_output/ 7 | 8 | # Build outputs 9 | dist/ 10 | build/ 11 | 12 | # IDE 13 | .vscode/ 14 | .idea/ 15 | 16 | # OS 17 | .DS_Store 18 | Thumbs.db 19 | 20 | # Logs 21 | *.log 22 | npm-debug.log* 23 | yarn-debug.log* 24 | yarn-error.log* 25 | 26 | # Temporary files 27 | *.tmp 28 | .cache/ 29 | -------------------------------------------------------------------------------- /modules/services/radarr.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.services.radarr; 11 | in 12 | { 13 | options.modules.services.radarr = { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | services.radarr.enable = true; 19 | services.radarr.openFirewall = true; 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /modules/services/sonarr.nix: -------------------------------------------------------------------------------- 1 | { 2 | config, 3 | options, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.services.sonarr; 11 | in 12 | { 13 | options.modules.services.sonarr = { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | services.sonarr.enable = true; 19 | services.sonarr.openFirewall = true; 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /config/nvim/lua/plugins/treesitter.lua: -------------------------------------------------------------------------------- 1 | -- Customize Treesitter 2 | 3 | ---@type LazySpec 4 | return { 5 | "nvim-treesitter/nvim-treesitter", 6 | opts = { 7 | ensure_installed = { 8 | "lua", 9 | "vim", 10 | -- add more arguments for adding more treesitter parsers 11 | }, 12 | -- Orgmode handles its own treesitter parser, so ignore it 13 | ignore_install = { "org" }, 14 | }, 15 | } 16 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | on: [push] 2 | 3 | name: Flake Check 4 | 5 | jobs: 6 | check: 7 | name: Flake Check 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: actions/checkout@v3 11 | - uses: DeterminateSystems/nix-installer-action@main 12 | - uses: DeterminateSystems/magic-nix-cache-action@main 13 | - uses: DeterminateSystems/flake-checker-action@main 14 | - run: nix flake check 15 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/config/todo/README.md: -------------------------------------------------------------------------------- 1 | http://tech.groups.yahoo.com/group/todotxt/message/2296 2 | http://github.com/FND/todo.txt-cli/raw/extensions/schedule 3 | http://github.com/FND/todo.txt-cli/raw/extensions/futureTasks 4 | 5 | https://raw.githubusercontent.com/paulroub/todo.txt-recurring-tasks/refs/heads/master/recur 6 | https://raw.githubusercontent.com/rscircus/todotxt-study-suite/master/.todo.actions.d/addr 7 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/modules/desktop/browsers/default.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.desktop.browsers; 11 | in 12 | { 13 | options.modules.desktop.browsers = { 14 | default = mkOpt (with types; nullOr str) null; 15 | }; 16 | 17 | config = mkIf (cfg.default != null) { env.BROWSER = cfg.default; }; 18 | } 19 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/config/todo/README.md: -------------------------------------------------------------------------------- 1 | http://tech.groups.yahoo.com/group/todotxt/message/2296 2 | http://github.com/FND/todo.txt-cli/raw/extensions/schedule 3 | http://github.com/FND/todo.txt-cli/raw/extensions/futureTasks 4 | 5 | https://raw.githubusercontent.com/paulroub/todo.txt-recurring-tasks/refs/heads/master/recur 6 | https://raw.githubusercontent.com/rscircus/todotxt-study-suite/master/.todo.actions.d/addr 7 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/modules/desktop/browsers/default.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.desktop.browsers; 11 | in 12 | { 13 | options.modules.desktop.browsers = { 14 | default = mkOpt (with types; nullOr str) null; 15 | }; 16 | 17 | config = mkIf (cfg.default != null) { env.BROWSER = cfg.default; }; 18 | } 19 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/config/todo/README.md: -------------------------------------------------------------------------------- 1 | http://tech.groups.yahoo.com/group/todotxt/message/2296 2 | http://github.com/FND/todo.txt-cli/raw/extensions/schedule 3 | http://github.com/FND/todo.txt-cli/raw/extensions/futureTasks 4 | 5 | https://raw.githubusercontent.com/paulroub/todo.txt-recurring-tasks/refs/heads/master/recur 6 | https://raw.githubusercontent.com/rscircus/todotxt-study-suite/master/.todo.actions.d/addr 7 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/modules/desktop/browsers/default.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.desktop.browsers; 11 | in 12 | { 13 | options.modules.desktop.browsers = { 14 | default = mkOpt (with types; nullOr str) null; 15 | }; 16 | 17 | config = mkIf (cfg.default != null) { env.BROWSER = cfg.default; }; 18 | } 19 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/config/todo/README.md: -------------------------------------------------------------------------------- 1 | http://tech.groups.yahoo.com/group/todotxt/message/2296 2 | http://github.com/FND/todo.txt-cli/raw/extensions/schedule 3 | http://github.com/FND/todo.txt-cli/raw/extensions/futureTasks 4 | 5 | https://raw.githubusercontent.com/paulroub/todo.txt-recurring-tasks/refs/heads/master/recur 6 | https://raw.githubusercontent.com/rscircus/todotxt-study-suite/master/.todo.actions.d/addr 7 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/modules/desktop/browsers/default.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.desktop.browsers; 11 | in 12 | { 13 | options.modules.desktop.browsers = { 14 | default = mkOpt (with types; nullOr str) null; 15 | }; 16 | 17 | config = mkIf (cfg.default != null) { env.BROWSER = cfg.default; }; 18 | } 19 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/config/todo/README.md: -------------------------------------------------------------------------------- 1 | http://tech.groups.yahoo.com/group/todotxt/message/2296 2 | http://github.com/FND/todo.txt-cli/raw/extensions/schedule 3 | http://github.com/FND/todo.txt-cli/raw/extensions/futureTasks 4 | 5 | https://raw.githubusercontent.com/paulroub/todo.txt-recurring-tasks/refs/heads/master/recur 6 | https://raw.githubusercontent.com/rscircus/todotxt-study-suite/master/.todo.actions.d/addr 7 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/modules/desktop/browsers/default.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.desktop.browsers; 11 | in 12 | { 13 | options.modules.desktop.browsers = { 14 | default = mkOpt (with types; nullOr str) null; 15 | }; 16 | 17 | config = mkIf (cfg.default != null) { env.BROWSER = cfg.default; }; 18 | } 19 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/config/todo/README.md: -------------------------------------------------------------------------------- 1 | http://tech.groups.yahoo.com/group/todotxt/message/2296 2 | http://github.com/FND/todo.txt-cli/raw/extensions/schedule 3 | http://github.com/FND/todo.txt-cli/raw/extensions/futureTasks 4 | 5 | https://raw.githubusercontent.com/paulroub/todo.txt-recurring-tasks/refs/heads/master/recur 6 | https://raw.githubusercontent.com/rscircus/todotxt-study-suite/master/.todo.actions.d/addr 7 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/modules/desktop/browsers/default.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.desktop.browsers; 11 | in 12 | { 13 | options.modules.desktop.browsers = { 14 | default = mkOpt (with types; nullOr str) null; 15 | }; 16 | 17 | config = mkIf (cfg.default != null) { env.BROWSER = cfg.default; }; 18 | } 19 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/config/todo/README.md: -------------------------------------------------------------------------------- 1 | http://tech.groups.yahoo.com/group/todotxt/message/2296 2 | http://github.com/FND/todo.txt-cli/raw/extensions/schedule 3 | http://github.com/FND/todo.txt-cli/raw/extensions/futureTasks 4 | 5 | https://raw.githubusercontent.com/paulroub/todo.txt-recurring-tasks/refs/heads/master/recur 6 | https://raw.githubusercontent.com/rscircus/todotxt-study-suite/master/.todo.actions.d/addr 7 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/modules/desktop/browsers/default.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.desktop.browsers; 11 | in 12 | { 13 | options.modules.desktop.browsers = { 14 | default = mkOpt (with types; nullOr str) null; 15 | }; 16 | 17 | config = mkIf (cfg.default != null) { env.BROWSER = cfg.default; }; 18 | } 19 | -------------------------------------------------------------------------------- /modules/services/prowlarr.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.services.prowlarr; 11 | in 12 | { 13 | options.modules.services.prowlarr = { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | services.prowlarr.enable = true; 19 | services.prowlarr.openFirewall = true; 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /modules/themes/alucard/config/rofi/base.cyclemenu.rasi: -------------------------------------------------------------------------------- 1 | /* -*- mode: css; -*- */ 2 | @import "config.rasi" 3 | 4 | window { 5 | y-offset: 0; 6 | children: [ listview ]; 7 | width: 500px; 8 | } 9 | 10 | listview { 11 | scrollbar: false; 12 | } 13 | 14 | element { 15 | padding: 30px; 16 | background-color: @bg-light; 17 | } 18 | element.selected { 19 | background-color: @accent; 20 | text-color: @bg; 21 | } 22 | -------------------------------------------------------------------------------- /modules/themes/functional/config/rofi/base.cyclemenu.rasi: -------------------------------------------------------------------------------- 1 | /* -*- mode: css; -*- */ 2 | @import "config.rasi" 3 | 4 | window { 5 | y-offset: 0; 6 | children: [ listview ]; 7 | width: 500px; 8 | } 9 | 10 | listview { 11 | scrollbar: false; 12 | } 13 | 14 | element { 15 | padding: 30px; 16 | background-color: @bg-light; 17 | } 18 | element.selected { 19 | background-color: @accent; 20 | text-color: @bg; 21 | } 22 | -------------------------------------------------------------------------------- /config/todo/raycast/list-todotxt-projects.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Required parameters: 4 | # @raycast.schemaVersion 1 5 | # @raycast.title List projects 6 | # @raycast.mode fullOutput 7 | 8 | # Optional parameters: 9 | # @raycast.icon ./todotxt_logo_2012.png 10 | # @raycast.packageName Todo 11 | 12 | # Documentation: 13 | # @raycast.description List all projects 14 | # @raycast.author Martin Stemplinger 15 | 16 | todo.sh lsprj -------------------------------------------------------------------------------- /hosts/shared/secrets/secrets.nix: -------------------------------------------------------------------------------- 1 | let 2 | # Edmund's SSH keys - used for encrypting shared secrets 3 | # MacTraitor-Pro 4 | mactraitor = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPBsb81evtCCcWSZcLbFaXWrAeCWFrPXPjUvjH4ZKbQC"; 5 | # Seqeratop 6 | seqeratop = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKLH5ywipRADaxVcZ/kK2Pg9kwRZyj/ABEurj+5KXHty"; 7 | in 8 | { 9 | "taskchampion-sync.age".publicKeys = [ mactraitor seqeratop ]; 10 | } 11 | -------------------------------------------------------------------------------- /modules/desktop/term/warp.nix: -------------------------------------------------------------------------------- 1 | # modules/desktop/term/warp.nix 2 | { 3 | options, 4 | config, 5 | lib, 6 | pkgs, 7 | ... 8 | }: 9 | with lib; 10 | with lib.my; 11 | let 12 | cfg = config.modules.desktop.term.warp; 13 | in 14 | { 15 | options.modules.desktop.term.warp = { 16 | enable = mkBoolOpt false; 17 | }; 18 | 19 | config = mkIf cfg.enable { user.packages = with pkgs; [ unstable.warp-terminal ]; }; 20 | } 21 | -------------------------------------------------------------------------------- /modules/dev/scala.nix: -------------------------------------------------------------------------------- 1 | { 2 | config, 3 | options, 4 | lib, 5 | pkgs, 6 | my, 7 | ... 8 | }: 9 | with lib; 10 | with lib.my; 11 | let 12 | cfg = config.modules.dev.scala; 13 | in 14 | { 15 | options.modules.dev.scala = { 16 | enable = mkBoolOpt false; 17 | }; 18 | 19 | config = mkIf cfg.enable { 20 | user.packages = with pkgs; [ 21 | scala 22 | jdk 23 | sbt 24 | ]; 25 | }; 26 | } 27 | -------------------------------------------------------------------------------- /lib/options.nix: -------------------------------------------------------------------------------- 1 | { lib, ... }: 2 | let 3 | inherit (lib) mkOption types; 4 | in 5 | rec { 6 | mkOpt = type: default: mkOption { inherit type default; }; 7 | 8 | mkOpt' = 9 | type: default: description: 10 | mkOption { inherit type default description; }; 11 | 12 | mkBoolOpt = 13 | default: 14 | mkOption { 15 | inherit default; 16 | type = types.bool; 17 | example = true; 18 | }; 19 | } 20 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/modules/services/radarr.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.services.radarr; 11 | in 12 | { 13 | options.modules.services.radarr = { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | services.radarr.enable = true; 19 | services.radarr.openFirewall = true; 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/modules/services/sonarr.nix: -------------------------------------------------------------------------------- 1 | { 2 | config, 3 | options, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.services.sonarr; 11 | in 12 | { 13 | options.modules.services.sonarr = { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | services.sonarr.enable = true; 19 | services.sonarr.openFirewall = true; 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/modules/services/radarr.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.services.radarr; 11 | in 12 | { 13 | options.modules.services.radarr = { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | services.radarr.enable = true; 19 | services.radarr.openFirewall = true; 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/modules/services/sonarr.nix: -------------------------------------------------------------------------------- 1 | { 2 | config, 3 | options, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.services.sonarr; 11 | in 12 | { 13 | options.modules.services.sonarr = { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | services.sonarr.enable = true; 19 | services.sonarr.openFirewall = true; 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/modules/services/radarr.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.services.radarr; 11 | in 12 | { 13 | options.modules.services.radarr = { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | services.radarr.enable = true; 19 | services.radarr.openFirewall = true; 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/modules/services/sonarr.nix: -------------------------------------------------------------------------------- 1 | { 2 | config, 3 | options, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.services.sonarr; 11 | in 12 | { 13 | options.modules.services.sonarr = { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | services.sonarr.enable = true; 19 | services.sonarr.openFirewall = true; 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/modules/services/radarr.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.services.radarr; 11 | in 12 | { 13 | options.modules.services.radarr = { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | services.radarr.enable = true; 19 | services.radarr.openFirewall = true; 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/modules/services/sonarr.nix: -------------------------------------------------------------------------------- 1 | { 2 | config, 3 | options, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.services.sonarr; 11 | in 12 | { 13 | options.modules.services.sonarr = { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | services.sonarr.enable = true; 19 | services.sonarr.openFirewall = true; 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/modules/services/radarr.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.services.radarr; 11 | in 12 | { 13 | options.modules.services.radarr = { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | services.radarr.enable = true; 19 | services.radarr.openFirewall = true; 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/modules/services/sonarr.nix: -------------------------------------------------------------------------------- 1 | { 2 | config, 3 | options, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.services.sonarr; 11 | in 12 | { 13 | options.modules.services.sonarr = { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | services.sonarr.enable = true; 19 | services.sonarr.openFirewall = true; 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/modules/services/radarr.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.services.radarr; 11 | in 12 | { 13 | options.modules.services.radarr = { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | services.radarr.enable = true; 19 | services.radarr.openFirewall = true; 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/modules/services/sonarr.nix: -------------------------------------------------------------------------------- 1 | { 2 | config, 3 | options, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.services.sonarr; 11 | in 12 | { 13 | options.modules.services.sonarr = { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | services.sonarr.enable = true; 19 | services.sonarr.openFirewall = true; 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/modules/services/radarr.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.services.radarr; 11 | in 12 | { 13 | options.modules.services.radarr = { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | services.radarr.enable = true; 19 | services.radarr.openFirewall = true; 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/modules/services/sonarr.nix: -------------------------------------------------------------------------------- 1 | { 2 | config, 3 | options, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.services.sonarr; 11 | in 12 | { 13 | options.modules.services.sonarr = { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | services.sonarr.enable = true; 19 | services.sonarr.openFirewall = true; 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /config/atuin/config.toml: -------------------------------------------------------------------------------- 1 | invert = true 2 | # use systemd timer instead 3 | auto_sync = false 4 | # nixpkgs 5 | update_check = false 6 | 7 | style = "auto" 8 | 9 | keymap_mode = "auto" 10 | 11 | common_subcommands = [ 12 | "cargo", 13 | "go", 14 | "git", 15 | "npm", 16 | "yarn", 17 | "pnpm", 18 | "kubectl", 19 | "nextflow", 20 | "nf-test", 21 | ] 22 | 23 | [sync] 24 | records = true 25 | 26 | [daemon] 27 | enabled = true 28 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | result 2 | todotxtfmt/todotxtfmt 3 | 4 | # Home-manager managed files (prevent symlink issues) 5 | config/jj/config.toml 6 | 7 | # JJ workspaces and git worktrees 8 | .workspaces/ 9 | workspaces/ 10 | .worktrees/ 11 | worktrees/ 12 | 13 | # Node.js dependencies 14 | node_modules/ 15 | 16 | # Nextflow 17 | .nextflow/ 18 | .nextflow.log* 19 | work/ 20 | results/ 21 | .lineage 22 | 23 | # bv (beads viewer) local config and caches 24 | .bv/ 25 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/modules/services/prowlarr.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.services.prowlarr; 11 | in 12 | { 13 | options.modules.services.prowlarr = { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | services.prowlarr.enable = true; 19 | services.prowlarr.openFirewall = true; 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/modules/services/prowlarr.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.services.prowlarr; 11 | in 12 | { 13 | options.modules.services.prowlarr = { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | services.prowlarr.enable = true; 19 | services.prowlarr.openFirewall = true; 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/modules/services/prowlarr.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.services.prowlarr; 11 | in 12 | { 13 | options.modules.services.prowlarr = { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | services.prowlarr.enable = true; 19 | services.prowlarr.openFirewall = true; 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/modules/services/prowlarr.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.services.prowlarr; 11 | in 12 | { 13 | options.modules.services.prowlarr = { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | services.prowlarr.enable = true; 19 | services.prowlarr.openFirewall = true; 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/modules/services/prowlarr.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.services.prowlarr; 11 | in 12 | { 13 | options.modules.services.prowlarr = { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | services.prowlarr.enable = true; 19 | services.prowlarr.openFirewall = true; 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/modules/services/prowlarr.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.services.prowlarr; 11 | in 12 | { 13 | options.modules.services.prowlarr = { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | services.prowlarr.enable = true; 19 | services.prowlarr.openFirewall = true; 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/modules/services/prowlarr.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.services.prowlarr; 11 | in 12 | { 13 | options.modules.services.prowlarr = { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | services.prowlarr.enable = true; 19 | services.prowlarr.openFirewall = true; 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /config/opencode/ast-grep/rules/deprecated-set-operator.yaml: -------------------------------------------------------------------------------- 1 | id: deprecated-set-operator 2 | language: nextflow 3 | severity: warning 4 | message: "The .set{} operator is deprecated in DSL2. Use variable assignment or emit: block." 5 | note: | 6 | In DSL2, instead of: 7 | channel.set { my_channel } 8 | Use direct assignment: 9 | my_channel = channel 10 | Or in workflows, use the emit: block for outputs. 11 | rule: 12 | pattern: .set { ___ } 13 | -------------------------------------------------------------------------------- /config/todo/raycast/list-todotxt-tasks-context.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Required parameters: 4 | # @raycast.schemaVersion 1 5 | # @raycast.title List tasks by context 6 | # @raycast.mode fullOutput 7 | 8 | # Optional parameters: 9 | # @raycast.icon ./todotxt_logo_2012.png 10 | # @raycast.packageName Todo 11 | 12 | # Documentation: 13 | # @raycast.description List all projects 14 | # @raycast.author Martin Stemplinger 15 | 16 | 17 | todo.sh view context -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | on: [push] 2 | 3 | name: Flake Check 4 | 5 | jobs: 6 | check: 7 | name: Flake Check 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: actions/checkout@v3 11 | - uses: DeterminateSystems/nix-installer-action@main 12 | - uses: DeterminateSystems/magic-nix-cache-action@main 13 | - uses: DeterminateSystems/flake-checker-action@main 14 | - run: nix flake check 15 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | on: [push] 2 | 3 | name: Flake Check 4 | 5 | jobs: 6 | check: 7 | name: Flake Check 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: actions/checkout@v3 11 | - uses: DeterminateSystems/nix-installer-action@main 12 | - uses: DeterminateSystems/magic-nix-cache-action@main 13 | - uses: DeterminateSystems/flake-checker-action@main 14 | - run: nix flake check 15 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | on: [push] 2 | 3 | name: Flake Check 4 | 5 | jobs: 6 | check: 7 | name: Flake Check 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: actions/checkout@v3 11 | - uses: DeterminateSystems/nix-installer-action@main 12 | - uses: DeterminateSystems/magic-nix-cache-action@main 13 | - uses: DeterminateSystems/flake-checker-action@main 14 | - run: nix flake check 15 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | on: [push] 2 | 3 | name: Flake Check 4 | 5 | jobs: 6 | check: 7 | name: Flake Check 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: actions/checkout@v3 11 | - uses: DeterminateSystems/nix-installer-action@main 12 | - uses: DeterminateSystems/magic-nix-cache-action@main 13 | - uses: DeterminateSystems/flake-checker-action@main 14 | - run: nix flake check 15 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | on: [push] 2 | 3 | name: Flake Check 4 | 5 | jobs: 6 | check: 7 | name: Flake Check 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: actions/checkout@v3 11 | - uses: DeterminateSystems/nix-installer-action@main 12 | - uses: DeterminateSystems/magic-nix-cache-action@main 13 | - uses: DeterminateSystems/flake-checker-action@main 14 | - run: nix flake check 15 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | on: [push] 2 | 3 | name: Flake Check 4 | 5 | jobs: 6 | check: 7 | name: Flake Check 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: actions/checkout@v3 11 | - uses: DeterminateSystems/nix-installer-action@main 12 | - uses: DeterminateSystems/magic-nix-cache-action@main 13 | - uses: DeterminateSystems/flake-checker-action@main 14 | - run: nix flake check 15 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | on: [push] 2 | 3 | name: Flake Check 4 | 5 | jobs: 6 | check: 7 | name: Flake Check 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: actions/checkout@v3 11 | - uses: DeterminateSystems/nix-installer-action@main 12 | - uses: DeterminateSystems/magic-nix-cache-action@main 13 | - uses: DeterminateSystems/flake-checker-action@main 14 | - run: nix flake check 15 | -------------------------------------------------------------------------------- /bin/agenda: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Required parameters: 4 | # @raycast.schemaVersion 1 5 | # @raycast.title Agenda 6 | # @raycast.mode silent 7 | 8 | # Optional parameters: 9 | # @raycast.icon 📅 10 | 11 | # Documentation: 12 | # @raycast.description Show Org mode agenda 13 | # @raycast.author Matthew Kennard 14 | # @raycast.authorURL https://mken.weblog.lol/2023/01/showing-my-org-mode-agenda-using-raycast 15 | 16 | emacsclient -e "(+emiller/show-agenda)" 17 | -------------------------------------------------------------------------------- /templates/minimal/flake.nix: -------------------------------------------------------------------------------- 1 | { 2 | description = "A grossly incandescent nixos config."; 3 | 4 | inputs = { 5 | dotfiles.url = "github:hlissner/dotfiles"; 6 | }; 7 | 8 | outputs = 9 | { dotfiles, ... }: 10 | { 11 | nixosConfigurations = dotfiles.lib.mapHosts ./hosts { 12 | imports = [ 13 | # If this is a linode machine 14 | # "${dotfiles}/hosts/linode.nix" 15 | ]; 16 | }; 17 | }; 18 | } 19 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/lib/options.nix: -------------------------------------------------------------------------------- 1 | { lib, ... }: 2 | let 3 | inherit (lib) mkOption types; 4 | in 5 | rec { 6 | mkOpt = type: default: mkOption { inherit type default; }; 7 | 8 | mkOpt' = 9 | type: default: description: 10 | mkOption { inherit type default description; }; 11 | 12 | mkBoolOpt = 13 | default: 14 | mkOption { 15 | inherit default; 16 | type = types.bool; 17 | example = true; 18 | }; 19 | } 20 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/modules/desktop/term/warp.nix: -------------------------------------------------------------------------------- 1 | # modules/desktop/term/warp.nix 2 | { 3 | options, 4 | config, 5 | lib, 6 | pkgs, 7 | ... 8 | }: 9 | with lib; 10 | with lib.my; 11 | let 12 | cfg = config.modules.desktop.term.warp; 13 | in 14 | { 15 | options.modules.desktop.term.warp = { 16 | enable = mkBoolOpt false; 17 | }; 18 | 19 | config = mkIf cfg.enable { user.packages = with pkgs; [ unstable.warp-terminal ]; }; 20 | } 21 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/modules/dev/scala.nix: -------------------------------------------------------------------------------- 1 | { 2 | config, 3 | options, 4 | lib, 5 | pkgs, 6 | my, 7 | ... 8 | }: 9 | with lib; 10 | with lib.my; 11 | let 12 | cfg = config.modules.dev.scala; 13 | in 14 | { 15 | options.modules.dev.scala = { 16 | enable = mkBoolOpt false; 17 | }; 18 | 19 | config = mkIf cfg.enable { 20 | user.packages = with pkgs; [ 21 | scala 22 | jdk 23 | sbt 24 | ]; 25 | }; 26 | } 27 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/lib/options.nix: -------------------------------------------------------------------------------- 1 | { lib, ... }: 2 | let 3 | inherit (lib) mkOption types; 4 | in 5 | rec { 6 | mkOpt = type: default: mkOption { inherit type default; }; 7 | 8 | mkOpt' = 9 | type: default: description: 10 | mkOption { inherit type default description; }; 11 | 12 | mkBoolOpt = 13 | default: 14 | mkOption { 15 | inherit default; 16 | type = types.bool; 17 | example = true; 18 | }; 19 | } 20 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/modules/desktop/term/warp.nix: -------------------------------------------------------------------------------- 1 | # modules/desktop/term/warp.nix 2 | { 3 | options, 4 | config, 5 | lib, 6 | pkgs, 7 | ... 8 | }: 9 | with lib; 10 | with lib.my; 11 | let 12 | cfg = config.modules.desktop.term.warp; 13 | in 14 | { 15 | options.modules.desktop.term.warp = { 16 | enable = mkBoolOpt false; 17 | }; 18 | 19 | config = mkIf cfg.enable { user.packages = with pkgs; [ unstable.warp-terminal ]; }; 20 | } 21 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/modules/dev/scala.nix: -------------------------------------------------------------------------------- 1 | { 2 | config, 3 | options, 4 | lib, 5 | pkgs, 6 | my, 7 | ... 8 | }: 9 | with lib; 10 | with lib.my; 11 | let 12 | cfg = config.modules.dev.scala; 13 | in 14 | { 15 | options.modules.dev.scala = { 16 | enable = mkBoolOpt false; 17 | }; 18 | 19 | config = mkIf cfg.enable { 20 | user.packages = with pkgs; [ 21 | scala 22 | jdk 23 | sbt 24 | ]; 25 | }; 26 | } 27 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/lib/options.nix: -------------------------------------------------------------------------------- 1 | { lib, ... }: 2 | let 3 | inherit (lib) mkOption types; 4 | in 5 | rec { 6 | mkOpt = type: default: mkOption { inherit type default; }; 7 | 8 | mkOpt' = 9 | type: default: description: 10 | mkOption { inherit type default description; }; 11 | 12 | mkBoolOpt = 13 | default: 14 | mkOption { 15 | inherit default; 16 | type = types.bool; 17 | example = true; 18 | }; 19 | } 20 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/modules/desktop/term/warp.nix: -------------------------------------------------------------------------------- 1 | # modules/desktop/term/warp.nix 2 | { 3 | options, 4 | config, 5 | lib, 6 | pkgs, 7 | ... 8 | }: 9 | with lib; 10 | with lib.my; 11 | let 12 | cfg = config.modules.desktop.term.warp; 13 | in 14 | { 15 | options.modules.desktop.term.warp = { 16 | enable = mkBoolOpt false; 17 | }; 18 | 19 | config = mkIf cfg.enable { user.packages = with pkgs; [ unstable.warp-terminal ]; }; 20 | } 21 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/modules/dev/scala.nix: -------------------------------------------------------------------------------- 1 | { 2 | config, 3 | options, 4 | lib, 5 | pkgs, 6 | my, 7 | ... 8 | }: 9 | with lib; 10 | with lib.my; 11 | let 12 | cfg = config.modules.dev.scala; 13 | in 14 | { 15 | options.modules.dev.scala = { 16 | enable = mkBoolOpt false; 17 | }; 18 | 19 | config = mkIf cfg.enable { 20 | user.packages = with pkgs; [ 21 | scala 22 | jdk 23 | sbt 24 | ]; 25 | }; 26 | } 27 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/lib/options.nix: -------------------------------------------------------------------------------- 1 | { lib, ... }: 2 | let 3 | inherit (lib) mkOption types; 4 | in 5 | rec { 6 | mkOpt = type: default: mkOption { inherit type default; }; 7 | 8 | mkOpt' = 9 | type: default: description: 10 | mkOption { inherit type default description; }; 11 | 12 | mkBoolOpt = 13 | default: 14 | mkOption { 15 | inherit default; 16 | type = types.bool; 17 | example = true; 18 | }; 19 | } 20 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/modules/desktop/term/warp.nix: -------------------------------------------------------------------------------- 1 | # modules/desktop/term/warp.nix 2 | { 3 | options, 4 | config, 5 | lib, 6 | pkgs, 7 | ... 8 | }: 9 | with lib; 10 | with lib.my; 11 | let 12 | cfg = config.modules.desktop.term.warp; 13 | in 14 | { 15 | options.modules.desktop.term.warp = { 16 | enable = mkBoolOpt false; 17 | }; 18 | 19 | config = mkIf cfg.enable { user.packages = with pkgs; [ unstable.warp-terminal ]; }; 20 | } 21 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/modules/dev/scala.nix: -------------------------------------------------------------------------------- 1 | { 2 | config, 3 | options, 4 | lib, 5 | pkgs, 6 | my, 7 | ... 8 | }: 9 | with lib; 10 | with lib.my; 11 | let 12 | cfg = config.modules.dev.scala; 13 | in 14 | { 15 | options.modules.dev.scala = { 16 | enable = mkBoolOpt false; 17 | }; 18 | 19 | config = mkIf cfg.enable { 20 | user.packages = with pkgs; [ 21 | scala 22 | jdk 23 | sbt 24 | ]; 25 | }; 26 | } 27 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/lib/options.nix: -------------------------------------------------------------------------------- 1 | { lib, ... }: 2 | let 3 | inherit (lib) mkOption types; 4 | in 5 | rec { 6 | mkOpt = type: default: mkOption { inherit type default; }; 7 | 8 | mkOpt' = 9 | type: default: description: 10 | mkOption { inherit type default description; }; 11 | 12 | mkBoolOpt = 13 | default: 14 | mkOption { 15 | inherit default; 16 | type = types.bool; 17 | example = true; 18 | }; 19 | } 20 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/modules/desktop/term/warp.nix: -------------------------------------------------------------------------------- 1 | # modules/desktop/term/warp.nix 2 | { 3 | options, 4 | config, 5 | lib, 6 | pkgs, 7 | ... 8 | }: 9 | with lib; 10 | with lib.my; 11 | let 12 | cfg = config.modules.desktop.term.warp; 13 | in 14 | { 15 | options.modules.desktop.term.warp = { 16 | enable = mkBoolOpt false; 17 | }; 18 | 19 | config = mkIf cfg.enable { user.packages = with pkgs; [ unstable.warp-terminal ]; }; 20 | } 21 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/modules/dev/scala.nix: -------------------------------------------------------------------------------- 1 | { 2 | config, 3 | options, 4 | lib, 5 | pkgs, 6 | my, 7 | ... 8 | }: 9 | with lib; 10 | with lib.my; 11 | let 12 | cfg = config.modules.dev.scala; 13 | in 14 | { 15 | options.modules.dev.scala = { 16 | enable = mkBoolOpt false; 17 | }; 18 | 19 | config = mkIf cfg.enable { 20 | user.packages = with pkgs; [ 21 | scala 22 | jdk 23 | sbt 24 | ]; 25 | }; 26 | } 27 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/lib/options.nix: -------------------------------------------------------------------------------- 1 | { lib, ... }: 2 | let 3 | inherit (lib) mkOption types; 4 | in 5 | rec { 6 | mkOpt = type: default: mkOption { inherit type default; }; 7 | 8 | mkOpt' = 9 | type: default: description: 10 | mkOption { inherit type default description; }; 11 | 12 | mkBoolOpt = 13 | default: 14 | mkOption { 15 | inherit default; 16 | type = types.bool; 17 | example = true; 18 | }; 19 | } 20 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/modules/desktop/term/warp.nix: -------------------------------------------------------------------------------- 1 | # modules/desktop/term/warp.nix 2 | { 3 | options, 4 | config, 5 | lib, 6 | pkgs, 7 | ... 8 | }: 9 | with lib; 10 | with lib.my; 11 | let 12 | cfg = config.modules.desktop.term.warp; 13 | in 14 | { 15 | options.modules.desktop.term.warp = { 16 | enable = mkBoolOpt false; 17 | }; 18 | 19 | config = mkIf cfg.enable { user.packages = with pkgs; [ unstable.warp-terminal ]; }; 20 | } 21 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/modules/dev/scala.nix: -------------------------------------------------------------------------------- 1 | { 2 | config, 3 | options, 4 | lib, 5 | pkgs, 6 | my, 7 | ... 8 | }: 9 | with lib; 10 | with lib.my; 11 | let 12 | cfg = config.modules.dev.scala; 13 | in 14 | { 15 | options.modules.dev.scala = { 16 | enable = mkBoolOpt false; 17 | }; 18 | 19 | config = mkIf cfg.enable { 20 | user.packages = with pkgs; [ 21 | scala 22 | jdk 23 | sbt 24 | ]; 25 | }; 26 | } 27 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/lib/options.nix: -------------------------------------------------------------------------------- 1 | { lib, ... }: 2 | let 3 | inherit (lib) mkOption types; 4 | in 5 | rec { 6 | mkOpt = type: default: mkOption { inherit type default; }; 7 | 8 | mkOpt' = 9 | type: default: description: 10 | mkOption { inherit type default description; }; 11 | 12 | mkBoolOpt = 13 | default: 14 | mkOption { 15 | inherit default; 16 | type = types.bool; 17 | example = true; 18 | }; 19 | } 20 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/modules/desktop/term/warp.nix: -------------------------------------------------------------------------------- 1 | # modules/desktop/term/warp.nix 2 | { 3 | options, 4 | config, 5 | lib, 6 | pkgs, 7 | ... 8 | }: 9 | with lib; 10 | with lib.my; 11 | let 12 | cfg = config.modules.desktop.term.warp; 13 | in 14 | { 15 | options.modules.desktop.term.warp = { 16 | enable = mkBoolOpt false; 17 | }; 18 | 19 | config = mkIf cfg.enable { user.packages = with pkgs; [ unstable.warp-terminal ]; }; 20 | } 21 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/modules/dev/scala.nix: -------------------------------------------------------------------------------- 1 | { 2 | config, 3 | options, 4 | lib, 5 | pkgs, 6 | my, 7 | ... 8 | }: 9 | with lib; 10 | with lib.my; 11 | let 12 | cfg = config.modules.dev.scala; 13 | in 14 | { 15 | options.modules.dev.scala = { 16 | enable = mkBoolOpt false; 17 | }; 18 | 19 | config = mkIf cfg.enable { 20 | user.packages = with pkgs; [ 21 | scala 22 | jdk 23 | sbt 24 | ]; 25 | }; 26 | } 27 | -------------------------------------------------------------------------------- /config/claude/config/notification_states.json: -------------------------------------------------------------------------------- 1 | { 2 | "switch_to_custom": { 3 | "triggered": false, 4 | "timestamp": null 5 | }, 6 | "exceed_max_limit": { 7 | "triggered": true, 8 | "timestamp": "2025-07-18T13:59:10.556626" 9 | }, 10 | "tokens_will_run_out": { 11 | "triggered": false, 12 | "timestamp": null 13 | }, 14 | "cost_will_exceed": { 15 | "triggered": true, 16 | "timestamp": "2025-07-19T10:45:11.312576" 17 | } 18 | } -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/modules/services/paperless.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.services.paperless; 11 | in 12 | { 13 | options.modules.services.paperless = { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | services.paperless.enable = true; 19 | networking.firewall.allowedTCPPorts = [ 28981 ]; 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/modules/services/paperless.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.services.paperless; 11 | in 12 | { 13 | options.modules.services.paperless = { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | services.paperless.enable = true; 19 | networking.firewall.allowedTCPPorts = [ 28981 ]; 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/modules/services/paperless.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.services.paperless; 11 | in 12 | { 13 | options.modules.services.paperless = { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | services.paperless.enable = true; 19 | networking.firewall.allowedTCPPorts = [ 28981 ]; 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/modules/services/paperless.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.services.paperless; 11 | in 12 | { 13 | options.modules.services.paperless = { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | services.paperless.enable = true; 19 | networking.firewall.allowedTCPPorts = [ 28981 ]; 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/modules/services/paperless.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.services.paperless; 11 | in 12 | { 13 | options.modules.services.paperless = { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | services.paperless.enable = true; 19 | networking.firewall.allowedTCPPorts = [ 28981 ]; 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/modules/services/paperless.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.services.paperless; 11 | in 12 | { 13 | options.modules.services.paperless = { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | services.paperless.enable = true; 19 | networking.firewall.allowedTCPPorts = [ 28981 ]; 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/modules/services/paperless.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.services.paperless; 11 | in 12 | { 13 | options.modules.services.paperless = { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | services.paperless.enable = true; 19 | networking.firewall.allowedTCPPorts = [ 28981 ]; 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /config/opencode/ast-grep/rules/deprecated-channel-from.yaml: -------------------------------------------------------------------------------- 1 | id: deprecated-channel-from 2 | language: nextflow 3 | severity: warning 4 | message: "Channel.from() is deprecated. Use Channel.of() or Channel.fromList() instead." 5 | note: | 6 | Channel.from() was deprecated in Nextflow DSL2. 7 | - Use Channel.of() for individual items: Channel.of(1, 2, 3) 8 | - Use Channel.fromList() for lists: Channel.fromList([1, 2, 3]) 9 | rule: 10 | pattern: Channel.from(___) 11 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/config/atuin/config.toml: -------------------------------------------------------------------------------- 1 | invert = true 2 | # use systemd timer instead 3 | auto_sync = false 4 | # nixpkgs 5 | update_check = false 6 | 7 | style = "auto" 8 | 9 | keymap_mode = "auto" 10 | 11 | common_subcommands = [ 12 | "cargo", 13 | "go", 14 | "git", 15 | "npm", 16 | "yarn", 17 | "pnpm", 18 | "kubectl", 19 | "nextflow", 20 | "nf-test", 21 | ] 22 | 23 | [sync] 24 | records = true 25 | 26 | [daemon] 27 | enabled = true 28 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/config/atuin/config.toml: -------------------------------------------------------------------------------- 1 | invert = true 2 | # use systemd timer instead 3 | auto_sync = false 4 | # nixpkgs 5 | update_check = false 6 | 7 | style = "auto" 8 | 9 | keymap_mode = "auto" 10 | 11 | common_subcommands = [ 12 | "cargo", 13 | "go", 14 | "git", 15 | "npm", 16 | "yarn", 17 | "pnpm", 18 | "kubectl", 19 | "nextflow", 20 | "nf-test", 21 | ] 22 | 23 | [sync] 24 | records = true 25 | 26 | [daemon] 27 | enabled = true 28 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/config/atuin/config.toml: -------------------------------------------------------------------------------- 1 | invert = true 2 | # use systemd timer instead 3 | auto_sync = false 4 | # nixpkgs 5 | update_check = false 6 | 7 | style = "auto" 8 | 9 | keymap_mode = "auto" 10 | 11 | common_subcommands = [ 12 | "cargo", 13 | "go", 14 | "git", 15 | "npm", 16 | "yarn", 17 | "pnpm", 18 | "kubectl", 19 | "nextflow", 20 | "nf-test", 21 | ] 22 | 23 | [sync] 24 | records = true 25 | 26 | [daemon] 27 | enabled = true 28 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/config/atuin/config.toml: -------------------------------------------------------------------------------- 1 | invert = true 2 | # use systemd timer instead 3 | auto_sync = false 4 | # nixpkgs 5 | update_check = false 6 | 7 | style = "auto" 8 | 9 | keymap_mode = "auto" 10 | 11 | common_subcommands = [ 12 | "cargo", 13 | "go", 14 | "git", 15 | "npm", 16 | "yarn", 17 | "pnpm", 18 | "kubectl", 19 | "nextflow", 20 | "nf-test", 21 | ] 22 | 23 | [sync] 24 | records = true 25 | 26 | [daemon] 27 | enabled = true 28 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/config/atuin/config.toml: -------------------------------------------------------------------------------- 1 | invert = true 2 | # use systemd timer instead 3 | auto_sync = false 4 | # nixpkgs 5 | update_check = false 6 | 7 | style = "auto" 8 | 9 | keymap_mode = "auto" 10 | 11 | common_subcommands = [ 12 | "cargo", 13 | "go", 14 | "git", 15 | "npm", 16 | "yarn", 17 | "pnpm", 18 | "kubectl", 19 | "nextflow", 20 | "nf-test", 21 | ] 22 | 23 | [sync] 24 | records = true 25 | 26 | [daemon] 27 | enabled = true 28 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/config/atuin/config.toml: -------------------------------------------------------------------------------- 1 | invert = true 2 | # use systemd timer instead 3 | auto_sync = false 4 | # nixpkgs 5 | update_check = false 6 | 7 | style = "auto" 8 | 9 | keymap_mode = "auto" 10 | 11 | common_subcommands = [ 12 | "cargo", 13 | "go", 14 | "git", 15 | "npm", 16 | "yarn", 17 | "pnpm", 18 | "kubectl", 19 | "nextflow", 20 | "nf-test", 21 | ] 22 | 23 | [sync] 24 | records = true 25 | 26 | [daemon] 27 | enabled = true 28 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/config/atuin/config.toml: -------------------------------------------------------------------------------- 1 | invert = true 2 | # use systemd timer instead 3 | auto_sync = false 4 | # nixpkgs 5 | update_check = false 6 | 7 | style = "auto" 8 | 9 | keymap_mode = "auto" 10 | 11 | common_subcommands = [ 12 | "cargo", 13 | "go", 14 | "git", 15 | "npm", 16 | "yarn", 17 | "pnpm", 18 | "kubectl", 19 | "nextflow", 20 | "nf-test", 21 | ] 22 | 23 | [sync] 24 | records = true 25 | 26 | [daemon] 27 | enabled = true 28 | -------------------------------------------------------------------------------- /config/kitty/sessions/dev.kitty-session: -------------------------------------------------------------------------------- 1 | # Development session with editor, shell, and test runner 2 | new_tab Development 3 | layout splits 4 | 5 | # Main editor window 6 | launch --title="Editor" --var window=editor 7 | focus 8 | 9 | # Shell on the right 10 | launch --location=vsplit --title="Shell" 11 | 12 | # Bottom test/log panel 13 | launch --location=hsplit --bias=30 --title="Tests/Logs" 14 | 15 | # Focus back to editor 16 | focus_matching_window var:window=editor 17 | -------------------------------------------------------------------------------- /config/kitty/sessions/project.kitty-session: -------------------------------------------------------------------------------- 1 | # Multi-tab project template 2 | # Tab 1: Editor + Shell 3 | new_tab Editor 4 | layout splits 5 | launch --title="Editor" --var window=main 6 | launch --location=vsplit --title="Shell" 7 | focus_matching_window var:window=main 8 | 9 | # Tab 2: Tests 10 | new_tab Tests 11 | launch --title="Test Runner" 12 | 13 | # Tab 3: Logs 14 | new_tab Logs 15 | launch --title="Application Logs" 16 | 17 | # Return to first tab 18 | focus_tab 1 19 | -------------------------------------------------------------------------------- /modules/shell/zellij.nix: -------------------------------------------------------------------------------- 1 | { 2 | config, 3 | options, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.shell.zellij; 11 | in 12 | { 13 | options.modules.shell.zellij = with types; { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | home-manager.users.${config.user.name}.programs.zellij = { 19 | enable = true; 20 | enableZshIntegration = true; 21 | }; 22 | }; 23 | } 24 | -------------------------------------------------------------------------------- /hosts/nuc/secrets/secrets.nix: -------------------------------------------------------------------------------- 1 | let 2 | edmundmiller = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPBsb81evtCCcWSZcLbFaXWrAeCWFrPXPjUvjH4ZKbQC edmundmiller"; 3 | nuc = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICBPG2vvh8XkVObXANO9/CBfczftZrmpbjg2w5onK/Tv"; 4 | in 5 | { 6 | "restic/repo.age".publicKeys = [ 7 | edmundmiller 8 | nuc 9 | ]; 10 | "restic/password.age".publicKeys = [ 11 | edmundmiller 12 | nuc 13 | ]; 14 | "emiller_password.age".publicKeys = [ nuc ]; 15 | } 16 | -------------------------------------------------------------------------------- /modules/themes/alucard/browsers-nixos.nix: -------------------------------------------------------------------------------- 1 | # browsers-nixos.nix - Browser customizations for alucard theme (NixOS only) 2 | { 3 | config, 4 | lib, 5 | isDarwin, 6 | ... 7 | }: 8 | with lib; 9 | let 10 | cfg = config.modules.theme; 11 | in 12 | { 13 | config = mkIf (!isDarwin && cfg.active == "alucard") { 14 | modules.desktop.browsers = { 15 | firefox.userChrome = concatMapStringsSep "\n" readFile [ ./config/firefox/userChrome.css ]; 16 | }; 17 | }; 18 | } 19 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/modules/desktop/term/default.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.desktop.term; 11 | in 12 | { 13 | options.modules.desktop.term = { 14 | default = mkOpt types.str "xterm"; 15 | }; 16 | 17 | config = { 18 | services.xserver.desktopManager.xterm.enable = mkDefault (cfg.default == "xterm"); 19 | 20 | env.TERMINAL = cfg.default; 21 | }; 22 | } 23 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/modules/desktop/term/default.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.desktop.term; 11 | in 12 | { 13 | options.modules.desktop.term = { 14 | default = mkOpt types.str "xterm"; 15 | }; 16 | 17 | config = { 18 | services.xserver.desktopManager.xterm.enable = mkDefault (cfg.default == "xterm"); 19 | 20 | env.TERMINAL = cfg.default; 21 | }; 22 | } 23 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/modules/desktop/term/default.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.desktop.term; 11 | in 12 | { 13 | options.modules.desktop.term = { 14 | default = mkOpt types.str "xterm"; 15 | }; 16 | 17 | config = { 18 | services.xserver.desktopManager.xterm.enable = mkDefault (cfg.default == "xterm"); 19 | 20 | env.TERMINAL = cfg.default; 21 | }; 22 | } 23 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/modules/desktop/term/default.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.desktop.term; 11 | in 12 | { 13 | options.modules.desktop.term = { 14 | default = mkOpt types.str "xterm"; 15 | }; 16 | 17 | config = { 18 | services.xserver.desktopManager.xterm.enable = mkDefault (cfg.default == "xterm"); 19 | 20 | env.TERMINAL = cfg.default; 21 | }; 22 | } 23 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/modules/desktop/term/default.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.desktop.term; 11 | in 12 | { 13 | options.modules.desktop.term = { 14 | default = mkOpt types.str "xterm"; 15 | }; 16 | 17 | config = { 18 | services.xserver.desktopManager.xterm.enable = mkDefault (cfg.default == "xterm"); 19 | 20 | env.TERMINAL = cfg.default; 21 | }; 22 | } 23 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/modules/desktop/term/default.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.desktop.term; 11 | in 12 | { 13 | options.modules.desktop.term = { 14 | default = mkOpt types.str "xterm"; 15 | }; 16 | 17 | config = { 18 | services.xserver.desktopManager.xterm.enable = mkDefault (cfg.default == "xterm"); 19 | 20 | env.TERMINAL = cfg.default; 21 | }; 22 | } 23 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/modules/desktop/term/default.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.desktop.term; 11 | in 12 | { 13 | options.modules.desktop.term = { 14 | default = mkOpt types.str "xterm"; 15 | }; 16 | 17 | config = { 18 | services.xserver.desktopManager.xterm.enable = mkDefault (cfg.default == "xterm"); 19 | 20 | env.TERMINAL = cfg.default; 21 | }; 22 | } 23 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/modules/security.nix: -------------------------------------------------------------------------------- 1 | _: { 2 | ## System security tweaks 3 | boot.tmp.useTmpfs = true; 4 | security.protectKernelImage = true; 5 | 6 | # Fix a security hole in place for backwards compatibility. See desc in 7 | # nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix 8 | boot.loader.systemd-boot.editor = false; 9 | 10 | # Change me later! 11 | user.initialPassword = "nix"; 12 | users.users.root.initialPassword = "nix"; 13 | } 14 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/templates/minimal/flake.nix: -------------------------------------------------------------------------------- 1 | { 2 | description = "A grossly incandescent nixos config."; 3 | 4 | inputs = { 5 | dotfiles.url = "github:hlissner/dotfiles"; 6 | }; 7 | 8 | outputs = 9 | { dotfiles, ... }: 10 | { 11 | nixosConfigurations = dotfiles.lib.mapHosts ./hosts { 12 | imports = [ 13 | # If this is a linode machine 14 | # "${dotfiles}/hosts/linode.nix" 15 | ]; 16 | }; 17 | }; 18 | } 19 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/modules/security.nix: -------------------------------------------------------------------------------- 1 | _: { 2 | ## System security tweaks 3 | boot.tmp.useTmpfs = true; 4 | security.protectKernelImage = true; 5 | 6 | # Fix a security hole in place for backwards compatibility. See desc in 7 | # nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix 8 | boot.loader.systemd-boot.editor = false; 9 | 10 | # Change me later! 11 | user.initialPassword = "nix"; 12 | users.users.root.initialPassword = "nix"; 13 | } 14 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/templates/minimal/flake.nix: -------------------------------------------------------------------------------- 1 | { 2 | description = "A grossly incandescent nixos config."; 3 | 4 | inputs = { 5 | dotfiles.url = "github:hlissner/dotfiles"; 6 | }; 7 | 8 | outputs = 9 | { dotfiles, ... }: 10 | { 11 | nixosConfigurations = dotfiles.lib.mapHosts ./hosts { 12 | imports = [ 13 | # If this is a linode machine 14 | # "${dotfiles}/hosts/linode.nix" 15 | ]; 16 | }; 17 | }; 18 | } 19 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/modules/security.nix: -------------------------------------------------------------------------------- 1 | _: { 2 | ## System security tweaks 3 | boot.tmp.useTmpfs = true; 4 | security.protectKernelImage = true; 5 | 6 | # Fix a security hole in place for backwards compatibility. See desc in 7 | # nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix 8 | boot.loader.systemd-boot.editor = false; 9 | 10 | # Change me later! 11 | user.initialPassword = "nix"; 12 | users.users.root.initialPassword = "nix"; 13 | } 14 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/templates/minimal/flake.nix: -------------------------------------------------------------------------------- 1 | { 2 | description = "A grossly incandescent nixos config."; 3 | 4 | inputs = { 5 | dotfiles.url = "github:hlissner/dotfiles"; 6 | }; 7 | 8 | outputs = 9 | { dotfiles, ... }: 10 | { 11 | nixosConfigurations = dotfiles.lib.mapHosts ./hosts { 12 | imports = [ 13 | # If this is a linode machine 14 | # "${dotfiles}/hosts/linode.nix" 15 | ]; 16 | }; 17 | }; 18 | } 19 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/modules/security.nix: -------------------------------------------------------------------------------- 1 | _: { 2 | ## System security tweaks 3 | boot.tmp.useTmpfs = true; 4 | security.protectKernelImage = true; 5 | 6 | # Fix a security hole in place for backwards compatibility. See desc in 7 | # nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix 8 | boot.loader.systemd-boot.editor = false; 9 | 10 | # Change me later! 11 | user.initialPassword = "nix"; 12 | users.users.root.initialPassword = "nix"; 13 | } 14 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/templates/minimal/flake.nix: -------------------------------------------------------------------------------- 1 | { 2 | description = "A grossly incandescent nixos config."; 3 | 4 | inputs = { 5 | dotfiles.url = "github:hlissner/dotfiles"; 6 | }; 7 | 8 | outputs = 9 | { dotfiles, ... }: 10 | { 11 | nixosConfigurations = dotfiles.lib.mapHosts ./hosts { 12 | imports = [ 13 | # If this is a linode machine 14 | # "${dotfiles}/hosts/linode.nix" 15 | ]; 16 | }; 17 | }; 18 | } 19 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/modules/security.nix: -------------------------------------------------------------------------------- 1 | _: { 2 | ## System security tweaks 3 | boot.tmp.useTmpfs = true; 4 | security.protectKernelImage = true; 5 | 6 | # Fix a security hole in place for backwards compatibility. See desc in 7 | # nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix 8 | boot.loader.systemd-boot.editor = false; 9 | 10 | # Change me later! 11 | user.initialPassword = "nix"; 12 | users.users.root.initialPassword = "nix"; 13 | } 14 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/templates/minimal/flake.nix: -------------------------------------------------------------------------------- 1 | { 2 | description = "A grossly incandescent nixos config."; 3 | 4 | inputs = { 5 | dotfiles.url = "github:hlissner/dotfiles"; 6 | }; 7 | 8 | outputs = 9 | { dotfiles, ... }: 10 | { 11 | nixosConfigurations = dotfiles.lib.mapHosts ./hosts { 12 | imports = [ 13 | # If this is a linode machine 14 | # "${dotfiles}/hosts/linode.nix" 15 | ]; 16 | }; 17 | }; 18 | } 19 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/modules/security.nix: -------------------------------------------------------------------------------- 1 | _: { 2 | ## System security tweaks 3 | boot.tmp.useTmpfs = true; 4 | security.protectKernelImage = true; 5 | 6 | # Fix a security hole in place for backwards compatibility. See desc in 7 | # nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix 8 | boot.loader.systemd-boot.editor = false; 9 | 10 | # Change me later! 11 | user.initialPassword = "nix"; 12 | users.users.root.initialPassword = "nix"; 13 | } 14 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/templates/minimal/flake.nix: -------------------------------------------------------------------------------- 1 | { 2 | description = "A grossly incandescent nixos config."; 3 | 4 | inputs = { 5 | dotfiles.url = "github:hlissner/dotfiles"; 6 | }; 7 | 8 | outputs = 9 | { dotfiles, ... }: 10 | { 11 | nixosConfigurations = dotfiles.lib.mapHosts ./hosts { 12 | imports = [ 13 | # If this is a linode machine 14 | # "${dotfiles}/hosts/linode.nix" 15 | ]; 16 | }; 17 | }; 18 | } 19 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/modules/security.nix: -------------------------------------------------------------------------------- 1 | _: { 2 | ## System security tweaks 3 | boot.tmp.useTmpfs = true; 4 | security.protectKernelImage = true; 5 | 6 | # Fix a security hole in place for backwards compatibility. See desc in 7 | # nixpkgs/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix 8 | boot.loader.systemd-boot.editor = false; 9 | 10 | # Change me later! 11 | user.initialPassword = "nix"; 12 | users.users.root.initialPassword = "nix"; 13 | } 14 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/templates/minimal/flake.nix: -------------------------------------------------------------------------------- 1 | { 2 | description = "A grossly incandescent nixos config."; 3 | 4 | inputs = { 5 | dotfiles.url = "github:hlissner/dotfiles"; 6 | }; 7 | 8 | outputs = 9 | { dotfiles, ... }: 10 | { 11 | nixosConfigurations = dotfiles.lib.mapHosts ./hosts { 12 | imports = [ 13 | # If this is a linode machine 14 | # "${dotfiles}/hosts/linode.nix" 15 | ]; 16 | }; 17 | }; 18 | } 19 | -------------------------------------------------------------------------------- /bin/capture: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Required parameters: 4 | # @raycast.schemaVersion 1 5 | # @raycast.title org-capture 6 | # @raycast.mode silent 7 | 8 | # Optional parameters: 9 | # @raycast.icon 🎣 10 | 11 | # Documentation: 12 | # @raycast.description Invoking the org-capture frame from outside Emacs 13 | # @raycast.author Edmund Miller 14 | # @raycast.authorURL https://edmundmiller.dev 15 | 16 | # TODO Add "" and argument for initial capture 17 | sh ~/.config/emacs/bin/org-capture -k m 18 | -------------------------------------------------------------------------------- /config/kitty/kitty.conf: -------------------------------------------------------------------------------- 1 | # Kitty Configuration 2 | # NOTE: Most settings are managed by Nix in modules/desktop/term/kitty.nix 3 | # This file is kept for reference and non-Nix systems only. 4 | # 5 | # Visual settings synced from Ghostty config/ghostty/ui.conf: 6 | # - Font: Maple Mono NF, size 14, ligatures enabled 7 | # - Theme: Catppuccin Mocha (dark) / Latte (light) 8 | # - Window padding: 8px 9 | # - Colorspace: Display P3 10 | # - Window decorations: enabled 11 | # - Initial size: 1200x800 12 | -------------------------------------------------------------------------------- /modules/themes/alucard/config/rofi/windowmenu.rasi: -------------------------------------------------------------------------------- 1 | /* -*- mode: css; -*- */ 2 | 3 | @import "config.rasi" 4 | 5 | listview { 6 | columns: 1; 7 | } 8 | 9 | inputbar { 10 | width: 1100px; 11 | } 12 | 13 | textbox-icon { 14 | str: "  "; 15 | } 16 | 17 | prompt { 18 | enabled: false; 19 | } 20 | 21 | /** 22 | * Elements are tab-delimited, which look weird in the default variable-pitch 23 | * font, so use a monospace one. 24 | */ 25 | element { 26 | font: "Fira Code 12"; 27 | } 28 | -------------------------------------------------------------------------------- /modules/themes/functional/browsers-nixos.nix: -------------------------------------------------------------------------------- 1 | # browsers-nixos.nix - Browser customizations for functional theme (NixOS only) 2 | { 3 | config, 4 | lib, 5 | isDarwin, 6 | ... 7 | }: 8 | with lib; 9 | let 10 | cfg = config.modules.theme; 11 | in 12 | { 13 | config = mkIf (!isDarwin && cfg.active == "functional") { 14 | modules.desktop.browsers = { 15 | firefox.userChrome = concatMapStringsSep "\n" readFile [ ./config/firefox/userChrome.css ]; 16 | }; 17 | }; 18 | } 19 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/config/claude/commands/nf/workflow.md: -------------------------------------------------------------------------------- 1 | Create a Nextflow DSL2 workflow for: $ARGUMENTS 2 | 3 | Generate: 4 | - **Main workflow** structure 5 | - **Channel creation** and data flow 6 | - **Process/subworkflow calls** 7 | - **Output collection** and publishing 8 | - **Workflow completion** handling 9 | 10 | Include: 11 | - Entry point definition 12 | - Channel operators (map, filter, combine, etc.) 13 | - Proper workflow orchestration 14 | - Output organization 15 | 16 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/config/claude/config/notification_states.json: -------------------------------------------------------------------------------- 1 | { 2 | "switch_to_custom": { 3 | "triggered": false, 4 | "timestamp": null 5 | }, 6 | "exceed_max_limit": { 7 | "triggered": true, 8 | "timestamp": "2025-07-18T13:59:10.556626" 9 | }, 10 | "tokens_will_run_out": { 11 | "triggered": false, 12 | "timestamp": null 13 | }, 14 | "cost_will_exceed": { 15 | "triggered": true, 16 | "timestamp": "2025-07-19T10:45:11.312576" 17 | } 18 | } -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/config/claude/commands/nf/workflow.md: -------------------------------------------------------------------------------- 1 | Create a Nextflow DSL2 workflow for: $ARGUMENTS 2 | 3 | Generate: 4 | - **Main workflow** structure 5 | - **Channel creation** and data flow 6 | - **Process/subworkflow calls** 7 | - **Output collection** and publishing 8 | - **Workflow completion** handling 9 | 10 | Include: 11 | - Entry point definition 12 | - Channel operators (map, filter, combine, etc.) 13 | - Proper workflow orchestration 14 | - Output organization 15 | 16 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/config/claude/config/notification_states.json: -------------------------------------------------------------------------------- 1 | { 2 | "switch_to_custom": { 3 | "triggered": false, 4 | "timestamp": null 5 | }, 6 | "exceed_max_limit": { 7 | "triggered": true, 8 | "timestamp": "2025-07-18T13:59:10.556626" 9 | }, 10 | "tokens_will_run_out": { 11 | "triggered": false, 12 | "timestamp": null 13 | }, 14 | "cost_will_exceed": { 15 | "triggered": true, 16 | "timestamp": "2025-07-19T10:45:11.312576" 17 | } 18 | } -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/config/claude/commands/nf/workflow.md: -------------------------------------------------------------------------------- 1 | Create a Nextflow DSL2 workflow for: $ARGUMENTS 2 | 3 | Generate: 4 | - **Main workflow** structure 5 | - **Channel creation** and data flow 6 | - **Process/subworkflow calls** 7 | - **Output collection** and publishing 8 | - **Workflow completion** handling 9 | 10 | Include: 11 | - Entry point definition 12 | - Channel operators (map, filter, combine, etc.) 13 | - Proper workflow orchestration 14 | - Output organization 15 | 16 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/config/claude/config/notification_states.json: -------------------------------------------------------------------------------- 1 | { 2 | "switch_to_custom": { 3 | "triggered": false, 4 | "timestamp": null 5 | }, 6 | "exceed_max_limit": { 7 | "triggered": true, 8 | "timestamp": "2025-07-18T13:59:10.556626" 9 | }, 10 | "tokens_will_run_out": { 11 | "triggered": false, 12 | "timestamp": null 13 | }, 14 | "cost_will_exceed": { 15 | "triggered": true, 16 | "timestamp": "2025-07-19T10:45:11.312576" 17 | } 18 | } -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/config/claude/commands/nf/workflow.md: -------------------------------------------------------------------------------- 1 | Create a Nextflow DSL2 workflow for: $ARGUMENTS 2 | 3 | Generate: 4 | - **Main workflow** structure 5 | - **Channel creation** and data flow 6 | - **Process/subworkflow calls** 7 | - **Output collection** and publishing 8 | - **Workflow completion** handling 9 | 10 | Include: 11 | - Entry point definition 12 | - Channel operators (map, filter, combine, etc.) 13 | - Proper workflow orchestration 14 | - Output organization 15 | 16 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/config/claude/config/notification_states.json: -------------------------------------------------------------------------------- 1 | { 2 | "switch_to_custom": { 3 | "triggered": false, 4 | "timestamp": null 5 | }, 6 | "exceed_max_limit": { 7 | "triggered": true, 8 | "timestamp": "2025-07-18T13:59:10.556626" 9 | }, 10 | "tokens_will_run_out": { 11 | "triggered": false, 12 | "timestamp": null 13 | }, 14 | "cost_will_exceed": { 15 | "triggered": true, 16 | "timestamp": "2025-07-19T10:45:11.312576" 17 | } 18 | } -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/config/claude/commands/nf/workflow.md: -------------------------------------------------------------------------------- 1 | Create a Nextflow DSL2 workflow for: $ARGUMENTS 2 | 3 | Generate: 4 | - **Main workflow** structure 5 | - **Channel creation** and data flow 6 | - **Process/subworkflow calls** 7 | - **Output collection** and publishing 8 | - **Workflow completion** handling 9 | 10 | Include: 11 | - Entry point definition 12 | - Channel operators (map, filter, combine, etc.) 13 | - Proper workflow orchestration 14 | - Output organization 15 | 16 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/config/claude/config/notification_states.json: -------------------------------------------------------------------------------- 1 | { 2 | "switch_to_custom": { 3 | "triggered": false, 4 | "timestamp": null 5 | }, 6 | "exceed_max_limit": { 7 | "triggered": true, 8 | "timestamp": "2025-07-18T13:59:10.556626" 9 | }, 10 | "tokens_will_run_out": { 11 | "triggered": false, 12 | "timestamp": null 13 | }, 14 | "cost_will_exceed": { 15 | "triggered": true, 16 | "timestamp": "2025-07-19T10:45:11.312576" 17 | } 18 | } -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/config/claude/commands/nf/workflow.md: -------------------------------------------------------------------------------- 1 | Create a Nextflow DSL2 workflow for: $ARGUMENTS 2 | 3 | Generate: 4 | - **Main workflow** structure 5 | - **Channel creation** and data flow 6 | - **Process/subworkflow calls** 7 | - **Output collection** and publishing 8 | - **Workflow completion** handling 9 | 10 | Include: 11 | - Entry point definition 12 | - Channel operators (map, filter, combine, etc.) 13 | - Proper workflow orchestration 14 | - Output organization 15 | 16 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/config/claude/config/notification_states.json: -------------------------------------------------------------------------------- 1 | { 2 | "switch_to_custom": { 3 | "triggered": false, 4 | "timestamp": null 5 | }, 6 | "exceed_max_limit": { 7 | "triggered": true, 8 | "timestamp": "2025-07-18T13:59:10.556626" 9 | }, 10 | "tokens_will_run_out": { 11 | "triggered": false, 12 | "timestamp": null 13 | }, 14 | "cost_will_exceed": { 15 | "triggered": true, 16 | "timestamp": "2025-07-19T10:45:11.312576" 17 | } 18 | } -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/config/claude/commands/nf/workflow.md: -------------------------------------------------------------------------------- 1 | Create a Nextflow DSL2 workflow for: $ARGUMENTS 2 | 3 | Generate: 4 | - **Main workflow** structure 5 | - **Channel creation** and data flow 6 | - **Process/subworkflow calls** 7 | - **Output collection** and publishing 8 | - **Workflow completion** handling 9 | 10 | Include: 11 | - Entry point definition 12 | - Channel operators (map, filter, combine, etc.) 13 | - Proper workflow orchestration 14 | - Output organization 15 | 16 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/config/claude/config/notification_states.json: -------------------------------------------------------------------------------- 1 | { 2 | "switch_to_custom": { 3 | "triggered": false, 4 | "timestamp": null 5 | }, 6 | "exceed_max_limit": { 7 | "triggered": true, 8 | "timestamp": "2025-07-18T13:59:10.556626" 9 | }, 10 | "tokens_will_run_out": { 11 | "triggered": false, 12 | "timestamp": null 13 | }, 14 | "cost_will_exceed": { 15 | "triggered": true, 16 | "timestamp": "2025-07-19T10:45:11.312576" 17 | } 18 | } -------------------------------------------------------------------------------- /modules/themes/functional/config/rofi/windowmenu.rasi: -------------------------------------------------------------------------------- 1 | /* -*- mode: css; -*- */ 2 | 3 | @import "config.rasi" 4 | 5 | listview { 6 | columns: 1; 7 | } 8 | 9 | inputbar { 10 | width: 1100px; 11 | } 12 | 13 | textbox-icon { 14 | str: " 缾 "; 15 | } 16 | 17 | prompt { 18 | enabled: false; 19 | } 20 | 21 | /** 22 | * Elements are tab-delimited, which look weird in the default variable-pitch 23 | * font, so use a monospace one. 24 | */ 25 | element { 26 | font: "Fira Code 12"; 27 | } 28 | -------------------------------------------------------------------------------- /config/bugwarrior/aliases.zsh: -------------------------------------------------------------------------------- 1 | # Bugwarrior aliases for zsh 2 | 3 | # Main bugwarrior commands 4 | alias bw="bugwarrior-pull" 5 | alias bw-dry="bugwarrior-pull --dry-run" 6 | 7 | # Show bugwarrior-related tasks in taskwarrior 8 | alias bw-tasks="task +bw list" 9 | alias bw-linear="task +linear list" 10 | alias bw-github="task +github list" 11 | 12 | # Bugwarrior logs 13 | alias bw-log="tail -f ~/.local/share/bugwarrior/pull.log" 14 | alias bw-errors="tail -f ~/.local/share/bugwarrior/pull-error.log" 15 | -------------------------------------------------------------------------------- /lib/platform.nix: -------------------------------------------------------------------------------- 1 | { 2 | lib, 3 | pkgs, 4 | inputs, 5 | ... 6 | }: 7 | with lib; 8 | let 9 | system = pkgs.stdenv.hostPlatform.system or "x86_64-linux"; 10 | isDarwin = hasSuffix "darwin" system; 11 | isLinux = hasSuffix "linux" system; 12 | isNixOS = isLinux; # For clarity when we specifically mean NixOS 13 | in 14 | { 15 | inherit isDarwin isLinux isNixOS system; 16 | 17 | # Helper to get the correct home base directory 18 | homeBase = if isDarwin then "/Users" else "/home"; 19 | } -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/modules/shell/zellij.nix: -------------------------------------------------------------------------------- 1 | { 2 | config, 3 | options, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.shell.zellij; 11 | in 12 | { 13 | options.modules.shell.zellij = with types; { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | home-manager.users.${config.user.name}.programs.zellij = { 19 | enable = true; 20 | enableZshIntegration = true; 21 | }; 22 | }; 23 | } 24 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/modules/shell/zellij.nix: -------------------------------------------------------------------------------- 1 | { 2 | config, 3 | options, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.shell.zellij; 11 | in 12 | { 13 | options.modules.shell.zellij = with types; { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | home-manager.users.${config.user.name}.programs.zellij = { 19 | enable = true; 20 | enableZshIntegration = true; 21 | }; 22 | }; 23 | } 24 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/modules/shell/zellij.nix: -------------------------------------------------------------------------------- 1 | { 2 | config, 3 | options, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.shell.zellij; 11 | in 12 | { 13 | options.modules.shell.zellij = with types; { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | home-manager.users.${config.user.name}.programs.zellij = { 19 | enable = true; 20 | enableZshIntegration = true; 21 | }; 22 | }; 23 | } 24 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/modules/shell/zellij.nix: -------------------------------------------------------------------------------- 1 | { 2 | config, 3 | options, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.shell.zellij; 11 | in 12 | { 13 | options.modules.shell.zellij = with types; { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | home-manager.users.${config.user.name}.programs.zellij = { 19 | enable = true; 20 | enableZshIntegration = true; 21 | }; 22 | }; 23 | } 24 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/modules/shell/zellij.nix: -------------------------------------------------------------------------------- 1 | { 2 | config, 3 | options, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.shell.zellij; 11 | in 12 | { 13 | options.modules.shell.zellij = with types; { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | home-manager.users.${config.user.name}.programs.zellij = { 19 | enable = true; 20 | enableZshIntegration = true; 21 | }; 22 | }; 23 | } 24 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/modules/shell/zellij.nix: -------------------------------------------------------------------------------- 1 | { 2 | config, 3 | options, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.shell.zellij; 11 | in 12 | { 13 | options.modules.shell.zellij = with types; { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | home-manager.users.${config.user.name}.programs.zellij = { 19 | enable = true; 20 | enableZshIntegration = true; 21 | }; 22 | }; 23 | } 24 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/modules/shell/zellij.nix: -------------------------------------------------------------------------------- 1 | { 2 | config, 3 | options, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.shell.zellij; 11 | in 12 | { 13 | options.modules.shell.zellij = with types; { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | home-manager.users.${config.user.name}.programs.zellij = { 19 | enable = true; 20 | enableZshIntegration = true; 21 | }; 22 | }; 23 | } 24 | -------------------------------------------------------------------------------- /config/claude/plugins/json-to-toon/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "json-to-toon-plugin", 3 | "version": "1.0.0", 4 | "description": "Claude Code plugin for converting JSON to TOON format", 5 | "type": "module", 6 | "scripts": { 7 | "test": "bun test", 8 | "test:watch": "bun test --watch" 9 | }, 10 | "keywords": [ 11 | "claude-code", 12 | "plugin", 13 | "json", 14 | "toon", 15 | "token-optimization" 16 | ], 17 | "author": "edmundmiller", 18 | "license": "MIT" 19 | } 20 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/lib/platform.nix: -------------------------------------------------------------------------------- 1 | { 2 | lib, 3 | pkgs, 4 | inputs, 5 | ... 6 | }: 7 | with lib; 8 | let 9 | system = pkgs.system or "x86_64-linux"; 10 | isDarwin = hasSuffix "darwin" system; 11 | isLinux = hasSuffix "linux" system; 12 | isNixOS = isLinux; # For clarity when we specifically mean NixOS 13 | in 14 | { 15 | inherit isDarwin isLinux isNixOS system; 16 | 17 | # Helper to get the correct home base directory 18 | homeBase = if isDarwin then "/Users" else "/home"; 19 | } -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/lib/platform.nix: -------------------------------------------------------------------------------- 1 | { 2 | lib, 3 | pkgs, 4 | inputs, 5 | ... 6 | }: 7 | with lib; 8 | let 9 | system = pkgs.system or "x86_64-linux"; 10 | isDarwin = hasSuffix "darwin" system; 11 | isLinux = hasSuffix "linux" system; 12 | isNixOS = isLinux; # For clarity when we specifically mean NixOS 13 | in 14 | { 15 | inherit isDarwin isLinux isNixOS system; 16 | 17 | # Helper to get the correct home base directory 18 | homeBase = if isDarwin then "/Users" else "/home"; 19 | } -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/lib/platform.nix: -------------------------------------------------------------------------------- 1 | { 2 | lib, 3 | pkgs, 4 | inputs, 5 | ... 6 | }: 7 | with lib; 8 | let 9 | system = pkgs.system or "x86_64-linux"; 10 | isDarwin = hasSuffix "darwin" system; 11 | isLinux = hasSuffix "linux" system; 12 | isNixOS = isLinux; # For clarity when we specifically mean NixOS 13 | in 14 | { 15 | inherit isDarwin isLinux isNixOS system; 16 | 17 | # Helper to get the correct home base directory 18 | homeBase = if isDarwin then "/Users" else "/home"; 19 | } -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/lib/platform.nix: -------------------------------------------------------------------------------- 1 | { 2 | lib, 3 | pkgs, 4 | inputs, 5 | ... 6 | }: 7 | with lib; 8 | let 9 | system = pkgs.system or "x86_64-linux"; 10 | isDarwin = hasSuffix "darwin" system; 11 | isLinux = hasSuffix "linux" system; 12 | isNixOS = isLinux; # For clarity when we specifically mean NixOS 13 | in 14 | { 15 | inherit isDarwin isLinux isNixOS system; 16 | 17 | # Helper to get the correct home base directory 18 | homeBase = if isDarwin then "/Users" else "/home"; 19 | } -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/lib/platform.nix: -------------------------------------------------------------------------------- 1 | { 2 | lib, 3 | pkgs, 4 | inputs, 5 | ... 6 | }: 7 | with lib; 8 | let 9 | system = pkgs.system or "x86_64-linux"; 10 | isDarwin = hasSuffix "darwin" system; 11 | isLinux = hasSuffix "linux" system; 12 | isNixOS = isLinux; # For clarity when we specifically mean NixOS 13 | in 14 | { 15 | inherit isDarwin isLinux isNixOS system; 16 | 17 | # Helper to get the correct home base directory 18 | homeBase = if isDarwin then "/Users" else "/home"; 19 | } -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/lib/platform.nix: -------------------------------------------------------------------------------- 1 | { 2 | lib, 3 | pkgs, 4 | inputs, 5 | ... 6 | }: 7 | with lib; 8 | let 9 | system = pkgs.system or "x86_64-linux"; 10 | isDarwin = hasSuffix "darwin" system; 11 | isLinux = hasSuffix "linux" system; 12 | isNixOS = isLinux; # For clarity when we specifically mean NixOS 13 | in 14 | { 15 | inherit isDarwin isLinux isNixOS system; 16 | 17 | # Helper to get the correct home base directory 18 | homeBase = if isDarwin then "/Users" else "/home"; 19 | } -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/lib/platform.nix: -------------------------------------------------------------------------------- 1 | { 2 | lib, 3 | pkgs, 4 | inputs, 5 | ... 6 | }: 7 | with lib; 8 | let 9 | system = pkgs.system or "x86_64-linux"; 10 | isDarwin = hasSuffix "darwin" system; 11 | isLinux = hasSuffix "linux" system; 12 | isNixOS = isLinux; # For clarity when we specifically mean NixOS 13 | in 14 | { 15 | inherit isDarwin isLinux isNixOS system; 16 | 17 | # Helper to get the correct home base directory 18 | homeBase = if isDarwin then "/Users" else "/home"; 19 | } -------------------------------------------------------------------------------- /bin/rebuild-darwin.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Rebuild helper for darwin when not in a terminal 3 | 4 | set -e 5 | 6 | echo "Building darwin configuration..." 7 | nix build .#darwinConfigurations.MacTraitor-Pro.system 8 | 9 | if [[ -f ./result/sw/bin/darwin-rebuild ]]; then 10 | echo "Build succeeded! To complete activation, run:" 11 | echo "sudo ./result/sw/bin/darwin-rebuild --flake .#MacTraitor-Pro switch" 12 | else 13 | echo "Error: darwin-rebuild not found in build result" 14 | exit 1 15 | fi -------------------------------------------------------------------------------- /modules/services/paperless.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | isDarwin, 6 | ... 7 | }: 8 | with lib; 9 | with lib.my; 10 | let 11 | cfg = config.modules.services.paperless; 12 | in 13 | { 14 | options.modules.services.paperless = { 15 | enable = mkBoolOpt false; 16 | }; 17 | 18 | # NixOS-only service 19 | config = mkIf cfg.enable (optionalAttrs (!isDarwin) { 20 | services.paperless.enable = true; 21 | 22 | networking.firewall.allowedTCPPorts = [ 28981 ]; 23 | }); 24 | } 25 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/hosts/nuc/secrets/secrets.nix: -------------------------------------------------------------------------------- 1 | let 2 | edmundmiller = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPBsb81evtCCcWSZcLbFaXWrAeCWFrPXPjUvjH4ZKbQC edmundmiller"; 3 | nuc = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICBPG2vvh8XkVObXANO9/CBfczftZrmpbjg2w5onK/Tv"; 4 | in 5 | { 6 | "restic/repo.age".publicKeys = [ 7 | edmundmiller 8 | nuc 9 | ]; 10 | "restic/password.age".publicKeys = [ 11 | edmundmiller 12 | nuc 13 | ]; 14 | "emiller_password.age".publicKeys = [ nuc ]; 15 | } 16 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/hosts/nuc/secrets/secrets.nix: -------------------------------------------------------------------------------- 1 | let 2 | edmundmiller = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPBsb81evtCCcWSZcLbFaXWrAeCWFrPXPjUvjH4ZKbQC edmundmiller"; 3 | nuc = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICBPG2vvh8XkVObXANO9/CBfczftZrmpbjg2w5onK/Tv"; 4 | in 5 | { 6 | "restic/repo.age".publicKeys = [ 7 | edmundmiller 8 | nuc 9 | ]; 10 | "restic/password.age".publicKeys = [ 11 | edmundmiller 12 | nuc 13 | ]; 14 | "emiller_password.age".publicKeys = [ nuc ]; 15 | } 16 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/hosts/nuc/secrets/secrets.nix: -------------------------------------------------------------------------------- 1 | let 2 | edmundmiller = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPBsb81evtCCcWSZcLbFaXWrAeCWFrPXPjUvjH4ZKbQC edmundmiller"; 3 | nuc = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICBPG2vvh8XkVObXANO9/CBfczftZrmpbjg2w5onK/Tv"; 4 | in 5 | { 6 | "restic/repo.age".publicKeys = [ 7 | edmundmiller 8 | nuc 9 | ]; 10 | "restic/password.age".publicKeys = [ 11 | edmundmiller 12 | nuc 13 | ]; 14 | "emiller_password.age".publicKeys = [ nuc ]; 15 | } 16 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/hosts/nuc/secrets/secrets.nix: -------------------------------------------------------------------------------- 1 | let 2 | edmundmiller = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPBsb81evtCCcWSZcLbFaXWrAeCWFrPXPjUvjH4ZKbQC edmundmiller"; 3 | nuc = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICBPG2vvh8XkVObXANO9/CBfczftZrmpbjg2w5onK/Tv"; 4 | in 5 | { 6 | "restic/repo.age".publicKeys = [ 7 | edmundmiller 8 | nuc 9 | ]; 10 | "restic/password.age".publicKeys = [ 11 | edmundmiller 12 | nuc 13 | ]; 14 | "emiller_password.age".publicKeys = [ nuc ]; 15 | } 16 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/hosts/nuc/secrets/secrets.nix: -------------------------------------------------------------------------------- 1 | let 2 | edmundmiller = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPBsb81evtCCcWSZcLbFaXWrAeCWFrPXPjUvjH4ZKbQC edmundmiller"; 3 | nuc = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICBPG2vvh8XkVObXANO9/CBfczftZrmpbjg2w5onK/Tv"; 4 | in 5 | { 6 | "restic/repo.age".publicKeys = [ 7 | edmundmiller 8 | nuc 9 | ]; 10 | "restic/password.age".publicKeys = [ 11 | edmundmiller 12 | nuc 13 | ]; 14 | "emiller_password.age".publicKeys = [ nuc ]; 15 | } 16 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/hosts/nuc/secrets/secrets.nix: -------------------------------------------------------------------------------- 1 | let 2 | edmundmiller = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPBsb81evtCCcWSZcLbFaXWrAeCWFrPXPjUvjH4ZKbQC edmundmiller"; 3 | nuc = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICBPG2vvh8XkVObXANO9/CBfczftZrmpbjg2w5onK/Tv"; 4 | in 5 | { 6 | "restic/repo.age".publicKeys = [ 7 | edmundmiller 8 | nuc 9 | ]; 10 | "restic/password.age".publicKeys = [ 11 | edmundmiller 12 | nuc 13 | ]; 14 | "emiller_password.age".publicKeys = [ nuc ]; 15 | } 16 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/hosts/nuc/secrets/secrets.nix: -------------------------------------------------------------------------------- 1 | let 2 | edmundmiller = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPBsb81evtCCcWSZcLbFaXWrAeCWFrPXPjUvjH4ZKbQC edmundmiller"; 3 | nuc = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICBPG2vvh8XkVObXANO9/CBfczftZrmpbjg2w5onK/Tv"; 4 | in 5 | { 6 | "restic/repo.age".publicKeys = [ 7 | edmundmiller 8 | nuc 9 | ]; 10 | "restic/password.age".publicKeys = [ 11 | edmundmiller 12 | nuc 13 | ]; 14 | "emiller_password.age".publicKeys = [ nuc ]; 15 | } 16 | -------------------------------------------------------------------------------- /bin/monitor: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env zsh 2 | 3 | if [[ $1 == game ]]; then 4 | echo "game" 5 | xrandr --output DP-0 --mode 1920x1080 --rate 279 --dpi 82 --primary \ 6 | --output HDMI-0 --off \ 7 | --output DP-2 --off 8 | else 9 | echo "work" 10 | xrandr --output DP-0 --off \ 11 | --output HDMI-0 --mode 3840x2160 --rate 60 --dpi 163 --right-of DP-2 --rotate right \ 12 | --output DP-2 --mode 3840x2160 --rate 144 --dpi 140 --primary 13 | fi 14 | 15 | source ~/.config/bspwm/bspwmrc 16 | -------------------------------------------------------------------------------- /config/todo/raycast/do-todotxt-task.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Required parameters: 4 | # @raycast.schemaVersion 1 5 | # @raycast.title Do task 6 | # @raycast.mode compact 7 | 8 | # Optional parameters: 9 | # @raycast.icon ./todotxt_logo_2012.png 10 | # @raycast.argument1 { "type": "text", "placeholder": "task id", "percentEncoded": false } 11 | # @raycast.packageName Todo 12 | 13 | # Documentation: 14 | # @raycast.description Mark task with taskId done 15 | # @raycast.author Martin Stemplinger 16 | 17 | todo.sh done "$1" -------------------------------------------------------------------------------- /config/todo/raycast/list-todotxt-tasks.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Required parameters: 4 | # @raycast.schemaVersion 1 5 | # @raycast.title List tasks 6 | # @raycast.mode fullOutput 7 | 8 | # Optional parameters: 9 | # @raycast.icon ./todotxt_logo_2012.png 10 | # @raycast.argument1 { "type": "text", "placeholder": "Project", "percentEncoded": false } 11 | # @raycast.packageName Todo 12 | 13 | # Documentation: 14 | # @raycast.description List all tasks 15 | # @raycast.author Martin Stemplinger 16 | 17 | todo.sh ls "+$1" -------------------------------------------------------------------------------- /modules/themes/alucard/config/bspwmrc: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | bspc config borderless_monocle true 4 | bspc config gapless_monocle true 5 | 6 | bspc config border_width 1 7 | bspc config window_gap 0 8 | 9 | bspc config normal_border_color "#181a23" 10 | bspc config active_border_color "#181a23" 11 | bspc config focused_border_color "#bd93f9" 12 | bspc config presel_feedback_color "#bd93f9" 13 | 14 | # Extra padding for polybar 15 | bspc config -m primary top_padding 0 16 | bspc config -m primary bottom_padding 34 17 | -------------------------------------------------------------------------------- /hosts/unas/users.nix: -------------------------------------------------------------------------------- 1 | { pkgs, ... }: 2 | { 3 | users.users = { 4 | # FIXME https://superuser.com/questions/1352477/nixos-nixops-declarative-group-management-and-services 5 | # Add KAH group 568 6 | emiller.extraGroups = [ "568" ]; 7 | monimiller = { 8 | isNormalUser = true; 9 | createHome = true; 10 | shell = pkgs.zsh; 11 | }; 12 | 13 | tdmiller = { 14 | isNormalUser = true; 15 | createHome = true; 16 | shell = pkgs.bashInteractive; 17 | }; 18 | }; 19 | } 20 | -------------------------------------------------------------------------------- /modules/services/jellyfin.nix: -------------------------------------------------------------------------------- 1 | # Finally, a decent open alternative to Plex! 2 | { 3 | options, 4 | config, 5 | lib, 6 | ... 7 | }: 8 | with lib; 9 | with lib.my; 10 | let 11 | cfg = config.modules.services.jellyfin; 12 | in 13 | { 14 | options.modules.services.jellyfin = { 15 | enable = mkBoolOpt false; 16 | }; 17 | 18 | config = mkIf cfg.enable { 19 | services.jellyfin.enable = true; 20 | services.jellyfin.openFirewall = true; 21 | 22 | user.extraGroups = [ "jellyfin" ]; 23 | }; 24 | } 25 | -------------------------------------------------------------------------------- /modules/themes/functional/config/bspwmrc: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | bspc config borderless_monocle true 4 | bspc config gapless_monocle true 5 | 6 | bspc config border_width 1 7 | bspc config window_gap 0 8 | 9 | bspc config normal_border_color "#181a23" 10 | bspc config active_border_color "#181a23" 11 | bspc config focused_border_color "#bd93f9" 12 | bspc config presel_feedback_color "#bd93f9" 13 | 14 | # Extra padding for polybar 15 | bspc config -m primary top_padding 0 16 | bspc config -m primary bottom_padding 34 17 | -------------------------------------------------------------------------------- /modules/themes/fonts-nixos.nix: -------------------------------------------------------------------------------- 1 | # fonts-nixos.nix 2 | # NixOS-specific font configuration for themes 3 | # This file is filtered out on Darwin (see default.nix module loading) 4 | { 5 | config, 6 | lib, 7 | isDarwin, 8 | ... 9 | }: 10 | with lib; 11 | let 12 | cfg = config.modules.theme; 13 | in 14 | { 15 | config = mkIf (!isDarwin && cfg.active != null) { 16 | fonts.fontconfig.defaultFonts = { 17 | sansSerif = [ cfg.fonts.sans.name ]; 18 | monospace = [ cfg.fonts.mono.name ]; 19 | }; 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/config/claude/commands/nf/subworkflow.md: -------------------------------------------------------------------------------- 1 | Create a Nextflow DSL2 subworkflow for: $ARGUMENTS 2 | 3 | Generate: 4 | - **Subworkflow definition** with input/output 5 | - **Process calls** and channel connections 6 | - **Take/emit blocks** properly structured 7 | - **Error handling** across processes 8 | - **Reusable component** design 9 | 10 | Show: 11 | - How to import and use in main workflow 12 | - Input validation 13 | - Channel transformations between processes 14 | - Proper naming conventions 15 | 16 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/config/claude/commands/nf/subworkflow.md: -------------------------------------------------------------------------------- 1 | Create a Nextflow DSL2 subworkflow for: $ARGUMENTS 2 | 3 | Generate: 4 | - **Subworkflow definition** with input/output 5 | - **Process calls** and channel connections 6 | - **Take/emit blocks** properly structured 7 | - **Error handling** across processes 8 | - **Reusable component** design 9 | 10 | Show: 11 | - How to import and use in main workflow 12 | - Input validation 13 | - Channel transformations between processes 14 | - Proper naming conventions 15 | 16 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/config/claude/commands/nf/subworkflow.md: -------------------------------------------------------------------------------- 1 | Create a Nextflow DSL2 subworkflow for: $ARGUMENTS 2 | 3 | Generate: 4 | - **Subworkflow definition** with input/output 5 | - **Process calls** and channel connections 6 | - **Take/emit blocks** properly structured 7 | - **Error handling** across processes 8 | - **Reusable component** design 9 | 10 | Show: 11 | - How to import and use in main workflow 12 | - Input validation 13 | - Channel transformations between processes 14 | - Proper naming conventions 15 | 16 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/config/claude/commands/nf/subworkflow.md: -------------------------------------------------------------------------------- 1 | Create a Nextflow DSL2 subworkflow for: $ARGUMENTS 2 | 3 | Generate: 4 | - **Subworkflow definition** with input/output 5 | - **Process calls** and channel connections 6 | - **Take/emit blocks** properly structured 7 | - **Error handling** across processes 8 | - **Reusable component** design 9 | 10 | Show: 11 | - How to import and use in main workflow 12 | - Input validation 13 | - Channel transformations between processes 14 | - Proper naming conventions 15 | 16 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/config/claude/commands/nf/subworkflow.md: -------------------------------------------------------------------------------- 1 | Create a Nextflow DSL2 subworkflow for: $ARGUMENTS 2 | 3 | Generate: 4 | - **Subworkflow definition** with input/output 5 | - **Process calls** and channel connections 6 | - **Take/emit blocks** properly structured 7 | - **Error handling** across processes 8 | - **Reusable component** design 9 | 10 | Show: 11 | - How to import and use in main workflow 12 | - Input validation 13 | - Channel transformations between processes 14 | - Proper naming conventions 15 | 16 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/config/claude/commands/nf/subworkflow.md: -------------------------------------------------------------------------------- 1 | Create a Nextflow DSL2 subworkflow for: $ARGUMENTS 2 | 3 | Generate: 4 | - **Subworkflow definition** with input/output 5 | - **Process calls** and channel connections 6 | - **Take/emit blocks** properly structured 7 | - **Error handling** across processes 8 | - **Reusable component** design 9 | 10 | Show: 11 | - How to import and use in main workflow 12 | - Input validation 13 | - Channel transformations between processes 14 | - Proper naming conventions 15 | 16 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/config/claude/commands/nf/subworkflow.md: -------------------------------------------------------------------------------- 1 | Create a Nextflow DSL2 subworkflow for: $ARGUMENTS 2 | 3 | Generate: 4 | - **Subworkflow definition** with input/output 5 | - **Process calls** and channel connections 6 | - **Take/emit blocks** properly structured 7 | - **Error handling** across processes 8 | - **Reusable component** design 9 | 10 | Show: 11 | - How to import and use in main workflow 12 | - Input validation 13 | - Channel transformations between processes 14 | - Proper naming conventions 15 | 16 | -------------------------------------------------------------------------------- /hosts/unas/secrets/secrets.nix: -------------------------------------------------------------------------------- 1 | let 2 | edmundmiller = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPBsb81evtCCcWSZcLbFaXWrAeCWFrPXPjUvjH4ZKbQC edmundmiller"; 3 | unas = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPBsb81evtCCcWSZcLbFaXWrAeCWFrPXPjUvjH4ZKbQC edmundmiller"; 4 | in 5 | { 6 | "restic/rclone.age".publicKeys = [ 7 | edmundmiller 8 | unas 9 | ]; 10 | "restic/repo.age".publicKeys = [ 11 | edmundmiller 12 | unas 13 | ]; 14 | "restic/password.age".publicKeys = [ 15 | edmundmiller 16 | unas 17 | ]; 18 | } 19 | -------------------------------------------------------------------------------- /config/julia/startup.jl: -------------------------------------------------------------------------------- 1 | atreplinit() do repl 2 | try 3 | @eval using OhMyREPL 4 | catch e 5 | @warn "error while importing OhMyREPL" e 6 | end 7 | end 8 | 9 | try 10 | using Revise 11 | catch e 12 | @warn "Error initializing Revise" exception=(e, catch_backtrace()) 13 | end 14 | 15 | # Auto start the local project 16 | # https://bkamins.github.io/julialang/2020/05/10/julia-project-environments.html 17 | using Pkg 18 | if isfile("Project.toml") && isfile("Manifest.toml") 19 | Pkg.activate(".") 20 | end 21 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/modules/services/calibre.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.services.calibre; 11 | in 12 | { 13 | options.modules.services.calibre = { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | services.calibre-server.enable = true; 19 | services.calibre-server.libraries = [ "/home/emiller/calibre" ]; 20 | 21 | networking.firewall.allowedTCPPorts = [ 8080 ]; 22 | }; 23 | } 24 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/modules/services/calibre.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.services.calibre; 11 | in 12 | { 13 | options.modules.services.calibre = { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | services.calibre-server.enable = true; 19 | services.calibre-server.libraries = [ "/home/emiller/calibre" ]; 20 | 21 | networking.firewall.allowedTCPPorts = [ 8080 ]; 22 | }; 23 | } 24 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/modules/services/calibre.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.services.calibre; 11 | in 12 | { 13 | options.modules.services.calibre = { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | services.calibre-server.enable = true; 19 | services.calibre-server.libraries = [ "/home/emiller/calibre" ]; 20 | 21 | networking.firewall.allowedTCPPorts = [ 8080 ]; 22 | }; 23 | } 24 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/modules/services/calibre.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.services.calibre; 11 | in 12 | { 13 | options.modules.services.calibre = { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | services.calibre-server.enable = true; 19 | services.calibre-server.libraries = [ "/home/emiller/calibre" ]; 20 | 21 | networking.firewall.allowedTCPPorts = [ 8080 ]; 22 | }; 23 | } 24 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/modules/services/calibre.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.services.calibre; 11 | in 12 | { 13 | options.modules.services.calibre = { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | services.calibre-server.enable = true; 19 | services.calibre-server.libraries = [ "/home/emiller/calibre" ]; 20 | 21 | networking.firewall.allowedTCPPorts = [ 8080 ]; 22 | }; 23 | } 24 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849738/modules/services/calibre.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.services.calibre; 11 | in 12 | { 13 | options.modules.services.calibre = { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | services.calibre-server.enable = true; 19 | services.calibre-server.libraries = [ "/home/emiller/calibre" ]; 20 | 21 | networking.firewall.allowedTCPPorts = [ 8080 ]; 22 | }; 23 | } 24 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849945/modules/services/calibre.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | ... 6 | }: 7 | with lib; 8 | with lib.my; 9 | let 10 | cfg = config.modules.services.calibre; 11 | in 12 | { 13 | options.modules.services.calibre = { 14 | enable = mkBoolOpt false; 15 | }; 16 | 17 | config = mkIf cfg.enable { 18 | services.calibre-server.enable = true; 19 | services.calibre-server.libraries = [ "/home/emiller/calibre" ]; 20 | 21 | networking.firewall.allowedTCPPorts = [ 8080 ]; 22 | }; 23 | } 24 | -------------------------------------------------------------------------------- /config/opencode/ast-grep/rules/hardcoded-paths.yaml: -------------------------------------------------------------------------------- 1 | id: hardcoded-paths 2 | language: nextflow 3 | severity: warning 4 | message: "Avoid hardcoded absolute paths. Use params, projectDir, or launchDir instead." 5 | note: | 6 | Hardcoded paths reduce portability. Use: 7 | - params.input for user-configurable paths 8 | - projectDir for paths relative to the pipeline 9 | - launchDir for paths relative to where pipeline was launched 10 | - workDir for work directory paths 11 | rule: 12 | regex: '"/(?:home|usr|opt|data|scratch|tmp)/[^"]*"' 13 | -------------------------------------------------------------------------------- /modules/dev/nextflow.nix: -------------------------------------------------------------------------------- 1 | { 2 | config, 3 | options, 4 | lib, 5 | pkgs, 6 | ... 7 | }: 8 | with lib; 9 | with lib.my; 10 | let 11 | cfg = config.modules.dev.nextflow; 12 | in 13 | { 14 | options.modules.dev.nextflow = { 15 | enable = mkBoolOpt false; 16 | }; 17 | 18 | config = mkIf cfg.enable { 19 | user.packages = with pkgs; [ 20 | jdk19 21 | # my.nf-core 22 | my.gxf2bed 23 | my.snakefmt 24 | ]; 25 | 26 | environment.shellAliases = { 27 | nf = "nextflow"; 28 | }; 29 | }; 30 | } 31 | -------------------------------------------------------------------------------- /modules/hardware/printing.nix: -------------------------------------------------------------------------------- 1 | { 2 | options, 3 | config, 4 | lib, 5 | pkgs, 6 | ... 7 | }: 8 | with lib; 9 | with lib.my; 10 | let 11 | cfg = config.modules.hardware.printing; 12 | in 13 | { 14 | options.modules.hardware.printing = { 15 | enable = mkBoolOpt false; 16 | }; 17 | 18 | config = mkIf cfg.enable { 19 | services.printing.enable = true; 20 | services.printing.drivers = [ pkgs.brlaser ]; 21 | # Network discovery 22 | services.avahi.enable = true; 23 | services.avahi.nssmdns4 = true; 24 | }; 25 | } 26 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/hosts/unas/users.nix: -------------------------------------------------------------------------------- 1 | { pkgs, ... }: 2 | { 3 | users.users = { 4 | # FIXME https://superuser.com/questions/1352477/nixos-nixops-declarative-group-management-and-services 5 | # Add KAH group 568 6 | emiller.extraGroups = [ "568" ]; 7 | monimiller = { 8 | isNormalUser = true; 9 | createHome = true; 10 | shell = pkgs.zsh; 11 | }; 12 | 13 | tdmiller = { 14 | isNormalUser = true; 15 | createHome = true; 16 | shell = pkgs.bashInteractive; 17 | }; 18 | }; 19 | } 20 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848524/modules/services/jellyfin.nix: -------------------------------------------------------------------------------- 1 | # Finally, a decent open alternative to Plex! 2 | { 3 | options, 4 | config, 5 | lib, 6 | ... 7 | }: 8 | with lib; 9 | with lib.my; 10 | let 11 | cfg = config.modules.services.jellyfin; 12 | in 13 | { 14 | options.modules.services.jellyfin = { 15 | enable = mkBoolOpt false; 16 | }; 17 | 18 | config = mkIf cfg.enable { 19 | services.jellyfin.enable = true; 20 | services.jellyfin.openFirewall = true; 21 | 22 | user.extraGroups = [ "jellyfin" ]; 23 | }; 24 | } 25 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/hosts/unas/users.nix: -------------------------------------------------------------------------------- 1 | { pkgs, ... }: 2 | { 3 | users.users = { 4 | # FIXME https://superuser.com/questions/1352477/nixos-nixops-declarative-group-management-and-services 5 | # Add KAH group 568 6 | emiller.extraGroups = [ "568" ]; 7 | monimiller = { 8 | isNormalUser = true; 9 | createHome = true; 10 | shell = pkgs.zsh; 11 | }; 12 | 13 | tdmiller = { 14 | isNormalUser = true; 15 | createHome = true; 16 | shell = pkgs.bashInteractive; 17 | }; 18 | }; 19 | } 20 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759848998/modules/services/jellyfin.nix: -------------------------------------------------------------------------------- 1 | # Finally, a decent open alternative to Plex! 2 | { 3 | options, 4 | config, 5 | lib, 6 | ... 7 | }: 8 | with lib; 9 | with lib.my; 10 | let 11 | cfg = config.modules.services.jellyfin; 12 | in 13 | { 14 | options.modules.services.jellyfin = { 15 | enable = mkBoolOpt false; 16 | }; 17 | 18 | config = mkIf cfg.enable { 19 | services.jellyfin.enable = true; 20 | services.jellyfin.openFirewall = true; 21 | 22 | user.extraGroups = [ "jellyfin" ]; 23 | }; 24 | } 25 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/hosts/unas/users.nix: -------------------------------------------------------------------------------- 1 | { pkgs, ... }: 2 | { 3 | users.users = { 4 | # FIXME https://superuser.com/questions/1352477/nixos-nixops-declarative-group-management-and-services 5 | # Add KAH group 568 6 | emiller.extraGroups = [ "568" ]; 7 | monimiller = { 8 | isNormalUser = true; 9 | createHome = true; 10 | shell = pkgs.zsh; 11 | }; 12 | 13 | tdmiller = { 14 | isNormalUser = true; 15 | createHome = true; 16 | shell = pkgs.bashInteractive; 17 | }; 18 | }; 19 | } 20 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849401/modules/services/jellyfin.nix: -------------------------------------------------------------------------------- 1 | # Finally, a decent open alternative to Plex! 2 | { 3 | options, 4 | config, 5 | lib, 6 | ... 7 | }: 8 | with lib; 9 | with lib.my; 10 | let 11 | cfg = config.modules.services.jellyfin; 12 | in 13 | { 14 | options.modules.services.jellyfin = { 15 | enable = mkBoolOpt false; 16 | }; 17 | 18 | config = mkIf cfg.enable { 19 | services.jellyfin.enable = true; 20 | services.jellyfin.openFirewall = true; 21 | 22 | user.extraGroups = [ "jellyfin" ]; 23 | }; 24 | } 25 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/hosts/unas/users.nix: -------------------------------------------------------------------------------- 1 | { pkgs, ... }: 2 | { 3 | users.users = { 4 | # FIXME https://superuser.com/questions/1352477/nixos-nixops-declarative-group-management-and-services 5 | # Add KAH group 568 6 | emiller.extraGroups = [ "568" ]; 7 | monimiller = { 8 | isNormalUser = true; 9 | createHome = true; 10 | shell = pkgs.zsh; 11 | }; 12 | 13 | tdmiller = { 14 | isNormalUser = true; 15 | createHome = true; 16 | shell = pkgs.bashInteractive; 17 | }; 18 | }; 19 | } 20 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849507/modules/services/jellyfin.nix: -------------------------------------------------------------------------------- 1 | # Finally, a decent open alternative to Plex! 2 | { 3 | options, 4 | config, 5 | lib, 6 | ... 7 | }: 8 | with lib; 9 | with lib.my; 10 | let 11 | cfg = config.modules.services.jellyfin; 12 | in 13 | { 14 | options.modules.services.jellyfin = { 15 | enable = mkBoolOpt false; 16 | }; 17 | 18 | config = mkIf cfg.enable { 19 | services.jellyfin.enable = true; 20 | services.jellyfin.openFirewall = true; 21 | 22 | user.extraGroups = [ "jellyfin" ]; 23 | }; 24 | } 25 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/hosts/unas/users.nix: -------------------------------------------------------------------------------- 1 | { pkgs, ... }: 2 | { 3 | users.users = { 4 | # FIXME https://superuser.com/questions/1352477/nixos-nixops-declarative-group-management-and-services 5 | # Add KAH group 568 6 | emiller.extraGroups = [ "568" ]; 7 | monimiller = { 8 | isNormalUser = true; 9 | createHome = true; 10 | shell = pkgs.zsh; 11 | }; 12 | 13 | tdmiller = { 14 | isNormalUser = true; 15 | createHome = true; 16 | shell = pkgs.bashInteractive; 17 | }; 18 | }; 19 | } 20 | -------------------------------------------------------------------------------- /.jj-workspaces/claude-1759849628/modules/services/jellyfin.nix: -------------------------------------------------------------------------------- 1 | # Finally, a decent open alternative to Plex! 2 | { 3 | options, 4 | config, 5 | lib, 6 | ... 7 | }: 8 | with lib; 9 | with lib.my; 10 | let 11 | cfg = config.modules.services.jellyfin; 12 | in 13 | { 14 | options.modules.services.jellyfin = { 15 | enable = mkBoolOpt false; 16 | }; 17 | 18 | config = mkIf cfg.enable { 19 | services.jellyfin.enable = true; 20 | services.jellyfin.openFirewall = true; 21 | 22 | user.extraGroups = [ "jellyfin" ]; 23 | }; 24 | } 25 | --------------------------------------------------------------------------------